Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
"source": {
"source": "url",
"url": "https://github.com/full-aigc-plugins/deckcraft-plugin.git",
"ref": "v0.1.0-dev.20261109.3"
"ref": "v0.1.0-dev.20261109.4"
},
"interface": {
"logo": "https://cdn.jsdelivr.net/gh/full-aigc-plugins/deckcraft-plugin@v0.1.0-dev.20261109.3/assets/official-logo.png",
"logo": "https://cdn.jsdelivr.net/gh/full-aigc-plugins/deckcraft-plugin@v0.1.0-dev.20261109.4/assets/official-logo.png",
"displayName": "DeckCraft · Presentations",
"shortDescription": "Pitches, weekly reports, training decks and option comparisons"
},
"version": "0.1.0-dev.20261109.3",
"icon": "https://cdn.jsdelivr.net/gh/full-aigc-plugins/deckcraft-plugin@v0.1.0-dev.20261109.3/assets/official-logo.png",
"version": "0.1.0-dev.20261109.4",
"icon": "https://cdn.jsdelivr.net/gh/full-aigc-plugins/deckcraft-plugin@v0.1.0-dev.20261109.4/assets/official-logo.png",
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_USE"
Expand Down
4 changes: 2 additions & 2 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Pitch decks, weekly reports, training material, data stories and option comparisons. Masters, layouts and speaker notes stay editable after export.",
"version": "0.1.0-dev.20261109.4",
"description": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。",
"license": "Apache-2.0",
"skills": "./skills/",
"author": {
Expand Down
4 changes: 2 additions & 2 deletions .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"version": "0.1.0-dev.20261109.4",
"skills": "./skills/",
"mcpServers": "./.codex-plugin/mcp.json",
"interface": {
Expand All @@ -11,5 +11,5 @@
"composerIconDark": "./assets/official-logo.png",
"shortDescription": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。"
},
"description": "Pitch decks, weekly reports, training material, data stories and option comparisons. Masters, layouts and speaker notes stay editable after export."
"description": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。"
}
4 changes: 2 additions & 2 deletions .zcode-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Pitch decks, weekly reports, training material, data stories and option comparisons. Masters, layouts and speaker notes stay editable after export.",
"version": "0.1.0-dev.20261109.4",
"description": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。",
"license": "Apache-2.0",
"skills": "./skills/",
"displayName": "DeckCraft",
Expand Down
2 changes: 1 addition & 1 deletion README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> Pitches, weekly reports, training decks and option comparisons

**Version**: 0.1.0-dev.20261109.3 · **License**: Apache-2.0 · **Skills**: 10 · **MCP server**: 1
**Version**: 0.1.0-dev.20261109.4 · **License**: Apache-2.0 · **Skills**: 10 · **MCP server**: 1

[简体中文](README.md) · [Install](#installation) · [Quick start](#quick-start) · [Project layout](#project-layout)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> 路演、周报、课件与方案对比,可编辑演示

**版本**:0.1.0-dev.20261109.3 · **许可证**:Apache-2.0 · **技能**:10 个 · **MCP 服务**:1 个
**版本**:0.1.0-dev.20261109.4 · **许可证**:Apache-2.0 · **技能**:10 个 · **MCP 服务**:1 个

[English](README.en.md) · [安装](#安装) · [快速开始](#快速开始) · [项目结构](#项目结构)

Expand Down
4 changes: 2 additions & 2 deletions docs/verification/release-candidate.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"releaseStatus": "BLOCKED",
"currentVersion": "0.1.0-dev.20261109.3",
"releaseTag": "v0.1.0-dev.20261109.3",
"currentVersion": "0.1.0-dev.20261109.4",
"releaseTag": "v0.1.0-dev.20261109.4",
"installableDevelopmentCandidate": true,
"limitations": [
"Full creative/domain and all-host UI acceptance remains incomplete.",
Expand Down
2 changes: 1 addition & 1 deletion dsh/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"version": "0.1.0-dev.20261109.4",
"description": "通过 DeckCraft 原生 MCP 和技能创建、检查与导出演示文稿。",
"type": "module",
"main": "lib/index.js",
Expand Down
4 changes: 2 additions & 2 deletions kimi.plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Pitch decks, weekly reports, training material, data stories and option comparisons. Masters, layouts and speaker notes stay editable after export.",
"version": "0.1.0-dev.20261109.4",
"description": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。",
"license": "Apache-2.0",
"skills": "./skills/",
"interface": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deckcraft-plugin",
"version": "0.1.0-dev.20261109.3",
"version": "0.1.0-dev.20261109.4",
"private": true,
"type": "module",
"main": "./dsh/lib/index.js",
Expand Down
8 changes: 4 additions & 4 deletions plugin.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Pitch decks, weekly reports, training material, data stories and option comparisons. Masters, layouts and speaker notes stay editable after export.",
"version": "0.1.0-dev.20261109.4",
"description": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。",
"license": "Apache-2.0",
"extensions": {
"com.openai": {
"interface": {
"displayName": "DeckCraft · Presentations",
"displayName": "DeckCraft",
"logo": "./assets/official-logo.png",
"logoDark": "./assets/official-logo.png",
"composerIcon": "./assets/official-logo.png",
"composerIconDark": "./assets/official-logo.png",
"shortDescription": "Pitches, weekly reports, training decks and option comparisons"
"shortDescription": "一句话生成可编辑演示文稿:路演、周报、培训和数据叙事,母版、版式与讲稿都能继续改。"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion ui/bootstrap.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ async function main(){
if(!initParams)throw Error('MCP initialization required');
if(method==='ping'){emit({id,result:{}});return;}
if(method==='tools/list'){emit({id,result:{tools:catalog.tools}});return;}
if(method==='resources/list'){emit({id,result:{resources:catalog.resources||[]}});return;}
if(method==='resources/list'){emit({id,result:alignZcodeResponse(method,params,{resources:catalog.resources||[]},lock.name)});return;}
if(method==='resources/templates/list'){emit({id,result:{resourceTemplates:catalog.resourceTemplates||[]}});return;}
await engine();emit({id,result:alignZcodeResponse(method,params,await send(method,params),lock.name)});
}catch(error){emit({id:request?.id??null,error:error.rpcError||{code:-32603,message:error.message}});}
Expand Down
2 changes: 1 addition & 1 deletion ui/runtime.lock.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "deckcraft",
"version": "0.1.0-dev.20261109.3",
"version": "0.1.0-dev.20261109.4",
"url": "https://github.com/full-aigc-plugins/deckcraft-plugin/releases/download/v0.1.0-dev.20261019.1/deckcraft-runtime.tgz",
"sha256": "60b1cf27cb1da14bb07391584cf50a2660f333a0250d54f533d998d5d5ab102e",
"files": {
Expand Down
43 changes: 43 additions & 0 deletions ui/tests/zcode-bootstrap-resources.test.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { spawn } from 'node:child_process';
import { createInterface } from 'node:readline';
import { readFile } from 'node:fs/promises';
import { dirname, join, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';

const ui = resolve(dirname(fileURLToPath(import.meta.url)), '..');
const root = resolve(ui, '..');
const name = JSON.parse(await readFile(join(root, 'plugin.json'), 'utf8')).name;

test('ZCode 从实际 MCP 资源列表发现可后台保留的 WASM 面板', async () => {
const child = spawn(process.execPath, [join(ui, 'bootstrap.mjs')], {
cwd: root,
env: { ...process.env, ZCODE_PLUGIN_ROOT: root, ZCODE_PROJECT_DIR: root },
stdio: ['pipe', 'pipe', 'pipe'],
});
const pending = new Map();
createInterface({ input: child.stdout }).on('line', line => {
const message = JSON.parse(line);
const waiter = pending.get(message.id);
if (waiter) { pending.delete(message.id); waiter(message); }
});
const request = (id, method, params = {}) => new Promise((resolve, reject) => {
const timer = setTimeout(() => { pending.delete(id); reject(new Error(`${method} timed out`)); }, 10000);
pending.set(id, value => { clearTimeout(timer); resolve(value); });
child.stdin.write(JSON.stringify({ jsonrpc: '2.0', id, method, params }) + '\n');
});
try {
assert.ok((await request(1, 'initialize', {
protocolVersion: '2025-06-18', capabilities: {}, clientInfo: { name: 'zcode-resource-test', version: '1' },
})).result);
const response = await request(2, 'resources/list');
const panel = response.result.resources.find(resource => resource.uri === `ui://${name}/panel.html`);
assert.ok(panel, 'panel resource is discoverable');
assert.equal(panel._meta?.ui?.backgroundRetention, true);
assert.equal(panel._meta?.['zcode/csp']?.wasmUnsafeEval, true);
} finally {
child.kill();
await new Promise(resolve => child.once('exit', resolve));
}
});
Loading