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/gridcraft-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/gridcraft-plugin@v0.1.0-dev.20261109.3/assets/official-logo.png",
"logo": "https://cdn.jsdelivr.net/gh/full-aigc-plugins/gridcraft-plugin@v0.1.0-dev.20261109.4/assets/official-logo.png",
"displayName": "GridCraft · Spreadsheets",
"shortDescription": "Budgets, reconciliation, cleanup and summaries with live formulas"
},
"version": "0.1.0-dev.20261109.3",
"icon": "https://cdn.jsdelivr.net/gh/full-aigc-plugins/gridcraft-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/gridcraft-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": "gridcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Budgets, reconciliation, table cleanup, sales summaries and formula audits. Values keep their units and sources, and formulas stay recalculable.",
"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": "gridcraft",
"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": "Budgets, reconciliation, table cleanup, sales summaries and formula audits. Values keep their units and sources, and formulas stay recalculable."
"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": "gridcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Budgets, reconciliation, table cleanup, sales summaries and formula audits. Values keep their units and sources, and formulas stay recalculable.",
"version": "0.1.0-dev.20261109.4",
"description": "预算、对账、清洗、销售汇总与公式审计:单位和来源保留,公式随时可重算。",
"license": "Apache-2.0",
"skills": "./skills/",
"displayName": "GridCraft",
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 @@

> Budgets, reconciliation, cleanup and summaries with live formulas

**Version**: 0.1.0-dev.20261109.3 · **License**: Apache-2.0 · **Skills**: 11 · **MCP server**: 1
**Version**: 0.1.0-dev.20261109.4 · **License**: Apache-2.0 · **Skills**: 11 · **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 · **技能**:11 个 · **MCP 服务**:1 个
**版本**:0.1.0-dev.20261109.4 · **许可证**:Apache-2.0 · **技能**:11 个 · **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": "gridcraft",
"version": "0.1.0-dev.20261109.3",
"version": "0.1.0-dev.20261109.4",
"description": "gridcraft 工作区编辑器与场景技能,本地开发候选。",
"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": "gridcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Budgets, reconciliation, table cleanup, sales summaries and formula audits. Values keep their units and sources, and formulas stay recalculable.",
"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": "gridcraft-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": "gridcraft",
"version": "0.1.0-dev.20261109.3",
"description": "Budgets, reconciliation, table cleanup, sales summaries and formula audits. Values keep their units and sources, and formulas stay recalculable.",
"version": "0.1.0-dev.20261109.4",
"description": "预算、对账、清洗、销售汇总与公式审计:单位和来源保留,公式随时可重算。",
"license": "Apache-2.0",
"extensions": {
"com.openai": {
"interface": {
"displayName": "GridCraft · Spreadsheets",
"displayName": "GridCraft",
"logo": "./assets/official-logo.png",
"logoDark": "./assets/official-logo.png",
"composerIcon": "./assets/official-logo.png",
"composerIconDark": "./assets/official-logo.png",
"shortDescription": "Budgets, reconciliation, cleanup and summaries with live formulas"
"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": "gridcraft",
"version": "0.1.0-dev.20261109.3",
"version": "0.1.0-dev.20261109.4",
"url": "https://github.com/full-aigc-plugins/gridcraft-plugin/releases/download/v0.1.0-dev.20261019.1/gridcraft-runtime.tgz",
"sha256": "9af1edfa7f02baef2c24159f4010ab63d6655bd848175a61ec03be817ae26edd",
"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