@galaxy-stack/ai-coder-core 0.3.0-alpha.15 → 0.3.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.d/2026-09-26-binary-review-pipe-guidance-finalization-test.md +14 -0
- package/CHANGELOG.d/2026-09-26-cache-capability-and-mcp-reconnect.md +16 -0
- package/CHANGELOG.d/2026-09-26-cache-hit-harness.md +13 -0
- package/CHANGELOG.d/2026-09-26-cache-hit-rate-and-inhistory-option.md +12 -0
- package/CHANGELOG.d/2026-09-26-cumulative-cache-hit.md +13 -0
- package/CHANGELOG.d/2026-09-26-finalization-prefix-and-verified-inhistory.md +12 -0
- package/CHANGELOG.d/2026-09-26-generated-state-and-churn-guard.md +17 -0
- package/CHANGELOG.d/2026-09-26-mcp-reconnect-fixture.md +11 -0
- package/CHANGELOG.d/2026-09-26-memory-hybrid-semantic-consolidation.md +16 -0
- package/CHANGELOG.d/2026-09-26-memory-recall-benchmark.md +12 -0
- package/CHANGELOG.d/2026-09-26-ollama-cache-usage.md +14 -0
- package/CHANGELOG.d/2026-09-26-ollama-embeddings-provider.md +13 -0
- package/CHANGELOG.d/2026-09-26-skill-index-signing.md +11 -0
- package/CHANGELOG.d/2026-09-26-skill-version-and-marketplace.md +14 -0
- package/dist/adapters/node/config/manual-provider-config.d.ts +3 -0
- package/dist/adapters/node/config/manual-provider-config.d.ts.map +1 -1
- package/dist/adapters/node/config/manual-provider-config.js +4 -0
- package/dist/adapters/node/config/manual-provider-config.js.map +1 -1
- package/dist/adapters/node/host/node-workspace-evidence-verifier.d.ts.map +1 -1
- package/dist/adapters/node/host/node-workspace-evidence-verifier.js +10 -13
- package/dist/adapters/node/host/node-workspace-evidence-verifier.js.map +1 -1
- package/dist/adapters/node/host/node-workspace-port.d.ts.map +1 -1
- package/dist/adapters/node/host/node-workspace-port.js +6 -1
- package/dist/adapters/node/host/node-workspace-port.js.map +1 -1
- package/dist/adapters/node/host/node-workspace-snapshot.d.ts.map +1 -1
- package/dist/adapters/node/host/node-workspace-snapshot.js +5 -15
- package/dist/adapters/node/host/node-workspace-snapshot.js.map +1 -1
- package/dist/adapters/node/host/workspace-generated-state.d.ts +22 -0
- package/dist/adapters/node/host/workspace-generated-state.d.ts.map +1 -0
- package/dist/adapters/node/host/workspace-generated-state.js +56 -0
- package/dist/adapters/node/host/workspace-generated-state.js.map +1 -0
- package/dist/adapters/node/mcp/mcp-client.d.ts +7 -2
- package/dist/adapters/node/mcp/mcp-client.d.ts.map +1 -1
- package/dist/adapters/node/mcp/mcp-client.js +41 -6
- package/dist/adapters/node/mcp/mcp-client.js.map +1 -1
- package/dist/adapters/node/memory/ollama-embeddings.d.ts +26 -0
- package/dist/adapters/node/memory/ollama-embeddings.d.ts.map +1 -0
- package/dist/adapters/node/memory/ollama-embeddings.js +98 -0
- package/dist/adapters/node/memory/ollama-embeddings.js.map +1 -0
- package/dist/adapters/node/memory/sqlite-memory.d.ts +16 -3
- package/dist/adapters/node/memory/sqlite-memory.d.ts.map +1 -1
- package/dist/adapters/node/memory/sqlite-memory.js +138 -16
- package/dist/adapters/node/memory/sqlite-memory.js.map +1 -1
- package/dist/adapters/node/provider/ollama-chat-stream.d.ts.map +1 -1
- package/dist/adapters/node/provider/ollama-chat-stream.js +4 -0
- package/dist/adapters/node/provider/ollama-chat-stream.js.map +1 -1
- package/dist/adapters/node/provider/ollama-coding-model.d.ts +9 -0
- package/dist/adapters/node/provider/ollama-coding-model.d.ts.map +1 -1
- package/dist/adapters/node/provider/ollama-coding-model.js +18 -0
- package/dist/adapters/node/provider/ollama-coding-model.js.map +1 -1
- package/dist/adapters/node/skills/directory-skills.d.ts.map +1 -1
- package/dist/adapters/node/skills/directory-skills.js +16 -1
- package/dist/adapters/node/skills/directory-skills.js.map +1 -1
- package/dist/adapters/node/skills/skill-marketplace.d.ts +71 -0
- package/dist/adapters/node/skills/skill-marketplace.d.ts.map +1 -0
- package/dist/adapters/node/skills/skill-marketplace.js +259 -0
- package/dist/adapters/node/skills/skill-marketplace.js.map +1 -0
- package/dist/adapters/node/tools/workspace-review.d.ts.map +1 -1
- package/dist/adapters/node/tools/workspace-review.js +23 -9
- package/dist/adapters/node/tools/workspace-review.js.map +1 -1
- package/dist/agent/index.d.ts +17 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/context/context-manager.d.ts +4 -1
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +25 -5
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/token-ledger.d.ts +9 -0
- package/dist/context/token-ledger.d.ts.map +1 -1
- package/dist/context/token-ledger.js +8 -0
- package/dist/context/token-ledger.js.map +1 -1
- package/dist/ports/capability-port.d.ts +8 -0
- package/dist/ports/capability-port.d.ts.map +1 -1
- package/dist/prompt/prompt-assembler.d.ts +1 -1
- package/dist/prompt/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt/prompt-assembler.js +6 -4
- package/dist/prompt/prompt-assembler.js.map +1 -1
- package/dist/runtime/run-controller.d.ts.map +1 -1
- package/dist/runtime/run-controller.js +57 -8
- package/dist/runtime/run-controller.js.map +1 -1
- package/dist/runtime/runtime-types.d.ts +10 -0
- package/dist/runtime/runtime-types.d.ts.map +1 -1
- package/docs/CACHE_HIT.md +109 -0
- package/docs/GALAXY_AGENT_PLATFORM_TODO.md +1 -0
- package/docs/SKILL_MARKETPLACE.md +59 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama-coding-model.js","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-coding-model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollama-coding-model.js","sourceRoot":"","sources":["../../../../src/adapters/node/provider/ollama-coding-model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,WAAW,GAUZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3C,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,cAAc;IACd,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAkBH;;;;;GAKG;AACH,MAAM,0BAA0B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAClE,2BAA2B;IAC3B,yCAAyC;CAC1C,CAAC,CAAC;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACtG,CAAC;AASD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,KAAsB;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACtF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;YAAE,SAAS;QACjD,OAAO,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAkC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QACrD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAsC;SACtG,CAAC;KACH,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,QAAkC,EAAE,gBAAyB;IAClF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAc,EAAE;QACxD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;wBAC7E,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;qBAC/E,CAAC,CAAC,CAAC;iBACL,CAAC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAgB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC7G,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,mBAAmB,CAAC;IACjE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,qBAAqB,CAAC;IACjD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,mBAAmB,CAAC;IACjE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,aAAa,CAAC;IAC1D,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,gBAAgB,CAAC;IAC9D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,qBAAqB,CAAC;IACjD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAC;IACvD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,MAA0B;IAC5D,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;IAClF,IAAI,MAAM;QAAE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;QAC5C,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,iDAAiD,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC/G,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA0B,EAAE,MAA0B;IACnF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,gBAAgB,CAAC,QAAkB,EAAE,MAAmB;IACtE,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,OAAO;QAAE,KAAK,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;YACvC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YAC/B,IAAI,KAAK,GAAG,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAkB,EAAE,MAAmB;IACxE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAE,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5G,OAAO,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,UAAU,CAAC,QAAkB,EAAE,MAAmB,EAAE,OAAgC;IAClG,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAe,CAAC;QACpB,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACnD,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;YACpB,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC9C,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,CAAC;AAC7D,CAAC;AAED,MAAM,OAAO,iBAAiB;IAaC;IAZpB,QAAQ,CAAgB;IAChB,SAAS,CAAY;IACrB,gBAAgB,CAAS;IAClC,eAAe,GAA6B,IAAI,CAAC;IACjD,YAAY,GAAG,CAAC,CAAC;IACjB,gBAAgB,GAAG,CAAC,CAAC;IACrB,aAAa,GAAG,CAAC,CAAC;IAClB,cAAc,GAAG,CAAC,CAAC;IAC3B,wEAAwE;IACxE,0EAA0E;IACzD,gBAAgB,GAAG,UAAU,EAAE,CAAC;IAEjD,YAA6B,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAC5D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;QACnD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,QAAQ;YAClB,cAAc,EAAE,oBAAoB;SACrC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO;QACb,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,IAAgB,EAAE,OAA4B;QAC/E,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,mBAAmB,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChD,IAAI,SAAS,IAAI,CAAC;YAAE,MAAM,IAAI,mBAAmB,CAAC,SAAS,EAAE,kCAAkC,EAAE,IAAI,CAAC,CAAC;QACvG,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAQ,EAAE;gBACrD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC,SAAS,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC,EACtF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAC/D,CAAC;YACF,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;oBACzC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBACxC,IAAI,MAAM,YAAY,mBAAmB;oBAAE,MAAM,MAAM,CAAC;gBACxD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC3G,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,SAAS,KAAK,SAAS,IAAI,0BAA0B,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAClG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM,IAAI,mBAAmB,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;oBACtG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC7D,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM,IAAI,mBAAmB,CAAC,UAAU,EAAE,8BAA8B,CAAC,CAAC;oBACtG,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,mBAAmB,CAC3B,gBAAgB,EAChB,0BAA0B,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,SAAS,GAAG,KAAK,OAAO,EAAE,EAC9F,IAAI,CACL,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI;YAAE,OAAO,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5E,IAAI,KAAK,GAAyB,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClF,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,OAAO,EAAE,KAAK;aACf,CAAC,EAAE,OAAO,CAAC,CAAC;YACb,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjD,OAAO,WAAW,CAAC;oBACjB,IAAI;oBACJ,OAAO,EAAE,8BAA8B,QAAQ,CAAC,MAAM,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACrG,SAAS,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,mBAAmB;iBAClE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACrF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;gBACjF,CAAC,CAAC,EAAE,CAAC,CAAC;YACR,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,SAAkB,CAAC;YACxG,MAAM,aAAa,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;gBACpC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAmB,CAAC,CAAC,CAAC,UAAmB;gBAC3D,CAAC,CAAC,SAAkB,CAAC;YACvB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;wBACrC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACpC,MAAM,EAAE,cAAuB;wBAC/B,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC,CAAC;gBACJ,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;gBACzD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACnB,IAAI,EAAE,WAAoB;oBAC1B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,SAAkB;oBACtE,KAAK,EAAE,SAAkB;oBACzB,KAAK,EAAE,SAAkB;iBAC1B,CAAC;gBACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC;gBAChF,mBAAmB,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,SAAkB;gBAC5F,gBAAgB,EAAE,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,WAAoB,CAAC,CAAC,CAAC,SAAkB;gBAChH,yEAAyE;gBACzE,2EAA2E;gBAC3E,gEAAgE;gBAChE,WAAW,EAAE,WAAoB;gBACjC,SAAS,EAAE,WAAoB;gBAC/B,sEAAsE;gBACtE,qEAAqE;gBACrE,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,WAAoB;gBACxE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrG,QAAQ;gBACR,aAAa,EAAE,aAAsB;gBACrC,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,IAAI,GAAkB,QAAQ,EAAE,IAAI,KAAK,UAAU;gBACvD,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;oBAC5B,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,gBAAgB,CAAC;YACvB,OAAO,WAAW,CAAC;gBACjB,IAAI;gBACJ,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,KAAK;aACxC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,KAAK,EAAE,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuD,EAAE,OAA4B;QACrG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,qCAAqC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACvI,MAAM,KAAK,GAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpH,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,CAAC,WAAW,CAAC,OAA2B,EAAE,OAA4B;QAC1E,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,UAAU,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvE,IAAI,KAAoB,CAAC;QACzB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBAClF,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC;gBACnE,uEAAuE;gBACvE,uEAAuE;gBACvE,+DAA+D;gBAC/D,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtF,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK;gBAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;oBAC1F,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;iBACnF,CAAC;aACH,CAAC,EAAE,OAAO,CAAC,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACzC,MAAM,MAAM,CAAC,MAAM,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,YAAY,mBAAmB;oBACzC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;aAC5G,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC;YACL,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9D,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACpD,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACzC,MAAM,MAAM,CAAC,MAAM,CAAC;wBAClB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI,mBAAmB,CAC5B,IAAI,EACJ,uBAAuB,QAAQ,CAAC,MAAM,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EACrF,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAC7E;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACzC,MAAM,MAAM,CAAC,MAAM,CAAC;wBAClB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,KAAK,YAAY,mBAAmB;4BACzC,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,IAAI,mBAAmB,CACrB,kBAAkB,EAClB,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClG;qBACN,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,0BAA0B,CAAC;gBAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;gBACvG,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YACnD,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxG,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvF,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC;oBACvC,KAAK,CAAC,CAAC,MAAM,CAAC;oBACd,IAAI,UAAU,CAAC,MAAM;wBAAE,OAAO;gBAChC,CAAC;gBACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC;gBACtC,KAAK,CAAC,CAAC,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,MAAM,CAAC,MAAM,CAAC;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK,YAAY,mBAAmB;wBACzC,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,IAAI,mBAAmB,CACrB,kBAAkB,EAClB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBAC3F,gEAAgE;wBAChE,+DAA+D;wBAC/D,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,CAChC;iBACN,CAAC,CAAC;YACL,CAAC;QACD,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-skills.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/skills/directory-skills.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"directory-skills.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/skills/directory-skills.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAmChF,qBAAa,eAAgB,YAAW,eAAe;IAEzC,OAAO,CAAC,QAAQ,CAAC,KAAK;IADlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqD;gBAChD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,IAAI,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAmB3C,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAOzE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ9D"}
|
|
@@ -27,7 +27,22 @@ function describe(id, source, content) {
|
|
|
27
27
|
const metadata = parse(front[1], { maxAliasCount: 20 });
|
|
28
28
|
if (!metadata || typeof metadata !== "object" || !("name" in metadata) || !("description" in metadata) || typeof metadata.name !== "string" || typeof metadata.description !== "string" || !metadata.name.trim() || !metadata.description.trim() || metadata.description.length > 2048)
|
|
29
29
|
throw new Error(`Invalid skill metadata: ${id}`);
|
|
30
|
-
|
|
30
|
+
const record = metadata;
|
|
31
|
+
const version = record.version;
|
|
32
|
+
if (version !== undefined && (typeof version !== "string" || !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(version)))
|
|
33
|
+
throw new Error(`Invalid skill version: ${id}`);
|
|
34
|
+
const rawTags = record.tags;
|
|
35
|
+
if (rawTags !== undefined && (!Array.isArray(rawTags) || rawTags.some((tag) => typeof tag !== "string" || !tag.trim() || tag.length > 32)))
|
|
36
|
+
throw new Error(`Invalid skill tags: ${id}`);
|
|
37
|
+
return {
|
|
38
|
+
id,
|
|
39
|
+
name: metadata.name,
|
|
40
|
+
description: metadata.description,
|
|
41
|
+
source,
|
|
42
|
+
contentHash: createHash("sha256").update(content).digest("hex"),
|
|
43
|
+
...(version === undefined ? {} : { version: version }),
|
|
44
|
+
...(rawTags === undefined ? {} : { tags: Object.freeze(rawTags.map(tag => tag.trim())) }),
|
|
45
|
+
};
|
|
31
46
|
}
|
|
32
47
|
export class DirectorySkills {
|
|
33
48
|
roots;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory-skills.js","sourceRoot":"","sources":["../../../../src/adapters/node/skills/directory-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAG7B,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,SAAS,MAAM,CAAC,IAAY,EAAE,IAAY,IAAa,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClK,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACpH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,GAAG,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;YAAS,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAAC,CAAC;AACrC,CAAC;AACD,SAAS,QAAQ,CAAC,EAAU,EAAE,MAAc,EAAE,OAAe;IAC3D,MAAM,KAAK,GAAG,yCAAyC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAY,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;IACzU,OAAO,
|
|
1
|
+
{"version":3,"file":"directory-skills.js","sourceRoot":"","sources":["../../../../src/adapters/node/skills/directory-skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export type MarketplaceFetch = (input: string | URL, init?: RequestInit) => Promise<Response>;
|
|
2
|
+
export interface SkillIndexVersion {
|
|
3
|
+
readonly path?: string;
|
|
4
|
+
readonly sha256: string;
|
|
5
|
+
readonly url?: string;
|
|
6
|
+
readonly version: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SkillIndexEntry {
|
|
9
|
+
readonly description: string;
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly tags?: readonly string[];
|
|
13
|
+
readonly versions: readonly SkillIndexVersion[];
|
|
14
|
+
}
|
|
15
|
+
export interface SkillIndex {
|
|
16
|
+
readonly schemaVersion: number;
|
|
17
|
+
readonly skills: readonly SkillIndexEntry[];
|
|
18
|
+
/** Base64 Ed25519 signature over the signature-free canonical index (see signSkillIndex). */
|
|
19
|
+
readonly signature?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface InstalledSkill {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly version: string;
|
|
25
|
+
readonly sha256: string;
|
|
26
|
+
readonly installedAt: string;
|
|
27
|
+
readonly source: string;
|
|
28
|
+
}
|
|
29
|
+
/** Deterministic JSON with sorted object keys, so publisher and verifier agree byte-for-byte. */
|
|
30
|
+
export declare function stableSkillIndexJson(value: unknown): string;
|
|
31
|
+
/** Produce the base64 signature a publisher stores in the index `signature` field. */
|
|
32
|
+
export declare function signSkillIndex(index: unknown, privateKeyPem: string): string;
|
|
33
|
+
export declare function verifySkillIndexSignature(index: unknown, publicKeyPem: string): boolean;
|
|
34
|
+
export declare function compareSkillVersions(left: string, right: string): number;
|
|
35
|
+
export declare function satisfiesSkillRange(version: string, range: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Local-first skill marketplace. The index and skill bodies may be a filesystem
|
|
38
|
+
* path or an HTTP(S) URL; every installed body is verified against the index
|
|
39
|
+
* sha256 and written atomically outside the model-writable workspace.
|
|
40
|
+
*/
|
|
41
|
+
export declare class SkillMarketplace {
|
|
42
|
+
private readonly fetchImpl;
|
|
43
|
+
private readonly installRoot;
|
|
44
|
+
private readonly indexSource;
|
|
45
|
+
private readonly publicKey;
|
|
46
|
+
constructor(options: {
|
|
47
|
+
fetch?: MarketplaceFetch;
|
|
48
|
+
index: string;
|
|
49
|
+
installRoot: string;
|
|
50
|
+
publicKey?: string;
|
|
51
|
+
});
|
|
52
|
+
loadIndex(): Promise<SkillIndex>;
|
|
53
|
+
search(query?: string): Promise<readonly SkillIndexEntry[]>;
|
|
54
|
+
listInstalled(): Promise<readonly InstalledSkill[]>;
|
|
55
|
+
install(id: string, options?: {
|
|
56
|
+
version?: string;
|
|
57
|
+
}): Promise<{
|
|
58
|
+
changed: boolean;
|
|
59
|
+
skill: InstalledSkill;
|
|
60
|
+
}>;
|
|
61
|
+
update(): Promise<readonly {
|
|
62
|
+
changed: boolean;
|
|
63
|
+
skill: InstalledSkill;
|
|
64
|
+
}[]>;
|
|
65
|
+
remove(id: string): Promise<boolean>;
|
|
66
|
+
private validateEntry;
|
|
67
|
+
private loadSkillContent;
|
|
68
|
+
private fetchText;
|
|
69
|
+
private atomicWrite;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=skill-marketplace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-marketplace.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/skills/skill-marketplace.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE9F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD;AACD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAQD,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ3D;AAKD,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAE5E;AACD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAMvF;AAUD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQxE;AACD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAU3E;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBACnC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IASnG,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;IAiBhC,MAAM,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAMvD,aAAa,IAAI,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC;IAWnD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC;IAqB7G,MAAM,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,EAAE,CAAC;IAKzE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ1C,OAAO,CAAC,aAAa;YAsBP,gBAAgB;YAehB,SAAS;YAOT,WAAW;CAK1B"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { createHash, sign as cryptoSign, verify as cryptoVerify } from "node:crypto";
|
|
2
|
+
import { mkdir, readFile, readdir, rename, rm, stat, writeFile } from "node:fs/promises";
|
|
3
|
+
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
4
|
+
const MAX_INDEX_BYTES = 2 * 1024 * 1024;
|
|
5
|
+
const MAX_SKILL_BYTES = 65536;
|
|
6
|
+
const SKILL_ID = /^[a-z0-9][a-z0-9._-]{0,63}$/;
|
|
7
|
+
const VERSION = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
|
|
8
|
+
const SHA256 = /^[a-f0-9]{64}$/;
|
|
9
|
+
/** Deterministic JSON with sorted object keys, so publisher and verifier agree byte-for-byte. */
|
|
10
|
+
export function stableSkillIndexJson(value) {
|
|
11
|
+
if (value === null || typeof value !== "object")
|
|
12
|
+
return value === undefined ? "null" : JSON.stringify(value);
|
|
13
|
+
if (Array.isArray(value))
|
|
14
|
+
return `[${value.map(stableSkillIndexJson).join(",")}]`;
|
|
15
|
+
return `{${Object.entries(value)
|
|
16
|
+
.filter(([, item]) => item !== undefined)
|
|
17
|
+
.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
|
|
18
|
+
.map(([key, item]) => `${JSON.stringify(key)}:${stableSkillIndexJson(item)}`)
|
|
19
|
+
.join(",")}}`;
|
|
20
|
+
}
|
|
21
|
+
function indexSignaturePayload(index) {
|
|
22
|
+
const { signature: _signature, ...rest } = (index ?? {});
|
|
23
|
+
return Buffer.from(stableSkillIndexJson(rest), "utf8");
|
|
24
|
+
}
|
|
25
|
+
/** Produce the base64 signature a publisher stores in the index `signature` field. */
|
|
26
|
+
export function signSkillIndex(index, privateKeyPem) {
|
|
27
|
+
return cryptoSign(null, indexSignaturePayload(index), privateKeyPem).toString("base64");
|
|
28
|
+
}
|
|
29
|
+
export function verifySkillIndexSignature(index, publicKeyPem) {
|
|
30
|
+
const signature = index?.signature;
|
|
31
|
+
if (typeof signature !== "string" || signature.trim().length === 0)
|
|
32
|
+
return false;
|
|
33
|
+
try {
|
|
34
|
+
return cryptoVerify(null, indexSignaturePayload(index), publicKeyPem, Buffer.from(signature, "base64"));
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function isRemote(source) {
|
|
41
|
+
try {
|
|
42
|
+
const url = new URL(source);
|
|
43
|
+
return url.protocol === "http:" || url.protocol === "https:";
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function parseVersion(version) {
|
|
50
|
+
const [core = "", pre = ""] = version.split("-", 2);
|
|
51
|
+
const [major = 0, minor = 0, patch = 0] = core.split(".").map(part => Number(part));
|
|
52
|
+
return [major, minor, patch, pre];
|
|
53
|
+
}
|
|
54
|
+
export function compareSkillVersions(left, right) {
|
|
55
|
+
const a = parseVersion(left);
|
|
56
|
+
const b = parseVersion(right);
|
|
57
|
+
for (let index = 0; index < 3; index += 1)
|
|
58
|
+
if (a[index] !== b[index])
|
|
59
|
+
return a[index] - b[index];
|
|
60
|
+
// A release outranks its prereleases; compare prerelease strings lexically otherwise.
|
|
61
|
+
if (a[3] === b[3])
|
|
62
|
+
return 0;
|
|
63
|
+
if (a[3] === "")
|
|
64
|
+
return 1;
|
|
65
|
+
if (b[3] === "")
|
|
66
|
+
return -1;
|
|
67
|
+
return a[3] < b[3] ? -1 : 1;
|
|
68
|
+
}
|
|
69
|
+
export function satisfiesSkillRange(version, range) {
|
|
70
|
+
const wanted = range.trim();
|
|
71
|
+
if (wanted === "" || wanted === "*" || wanted === "latest")
|
|
72
|
+
return true;
|
|
73
|
+
const target = wanted.replace(/^[\^~]/, "");
|
|
74
|
+
if (!VERSION.test(target))
|
|
75
|
+
throw new Error(`Invalid skill version range: ${range}`);
|
|
76
|
+
if (compareSkillVersions(version, target) < 0)
|
|
77
|
+
return false;
|
|
78
|
+
const [major, minor] = parseVersion(target);
|
|
79
|
+
if (wanted.startsWith("^"))
|
|
80
|
+
return major > 0 ? parseVersion(version)[0] === major : minor > 0 ? parseVersion(version)[1] === minor : parseVersion(version)[2] === parseVersion(target)[2];
|
|
81
|
+
if (wanted.startsWith("~"))
|
|
82
|
+
return parseVersion(version)[0] === major && parseVersion(version)[1] === minor;
|
|
83
|
+
return compareSkillVersions(version, target) === 0;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Local-first skill marketplace. The index and skill bodies may be a filesystem
|
|
87
|
+
* path or an HTTP(S) URL; every installed body is verified against the index
|
|
88
|
+
* sha256 and written atomically outside the model-writable workspace.
|
|
89
|
+
*/
|
|
90
|
+
export class SkillMarketplace {
|
|
91
|
+
fetchImpl;
|
|
92
|
+
installRoot;
|
|
93
|
+
indexSource;
|
|
94
|
+
publicKey;
|
|
95
|
+
constructor(options) {
|
|
96
|
+
if (!options.index.trim())
|
|
97
|
+
throw new Error("A skill index path or URL is required.");
|
|
98
|
+
if (!isAbsolute(options.installRoot))
|
|
99
|
+
throw new Error("The skill install root must be an absolute path.");
|
|
100
|
+
if (options.publicKey !== undefined && !options.publicKey.includes("PUBLIC KEY"))
|
|
101
|
+
throw new Error("The trusted skill index public key must be a PEM public key.");
|
|
102
|
+
this.indexSource = options.index.trim();
|
|
103
|
+
this.installRoot = options.installRoot;
|
|
104
|
+
this.publicKey = options.publicKey;
|
|
105
|
+
this.fetchImpl = options.fetch ?? globalThis.fetch;
|
|
106
|
+
}
|
|
107
|
+
async loadIndex() {
|
|
108
|
+
const raw = isRemote(this.indexSource)
|
|
109
|
+
? await this.fetchText(this.indexSource, MAX_INDEX_BYTES)
|
|
110
|
+
: await readFile(this.indexSource, "utf8");
|
|
111
|
+
let parsed;
|
|
112
|
+
try {
|
|
113
|
+
parsed = JSON.parse(raw);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
throw new Error("Skill index is not valid JSON.");
|
|
117
|
+
}
|
|
118
|
+
if (!parsed || typeof parsed !== "object" || parsed.schemaVersion !== 1 || !Array.isArray(parsed.skills))
|
|
119
|
+
throw new Error("Unsupported skill index schema.");
|
|
120
|
+
if (this.publicKey !== undefined && !verifySkillIndexSignature(parsed, this.publicKey)) {
|
|
121
|
+
throw new Error("Skill index signature is missing or does not match the trusted public key.");
|
|
122
|
+
}
|
|
123
|
+
const skills = parsed.skills.map((entry) => this.validateEntry(entry));
|
|
124
|
+
return Object.freeze({
|
|
125
|
+
schemaVersion: 1,
|
|
126
|
+
skills: Object.freeze(skills),
|
|
127
|
+
...(typeof parsed.signature === "string" ? { signature: parsed.signature } : {}),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
async search(query = "") {
|
|
131
|
+
const index = await this.loadIndex();
|
|
132
|
+
const needle = query.trim().toLowerCase();
|
|
133
|
+
if (!needle)
|
|
134
|
+
return index.skills;
|
|
135
|
+
return index.skills.filter(entry => [entry.id, entry.name, entry.description, ...(entry.tags ?? [])].some(value => value.toLowerCase().includes(needle)));
|
|
136
|
+
}
|
|
137
|
+
async listInstalled() {
|
|
138
|
+
const installed = [];
|
|
139
|
+
for (const entry of await readdir(this.installRoot, { withFileTypes: true }).catch(() => [])) {
|
|
140
|
+
if (!entry.isDirectory())
|
|
141
|
+
continue;
|
|
142
|
+
try {
|
|
143
|
+
const meta = JSON.parse(await readFile(join(this.installRoot, entry.name, ".galaxy-skill.json"), "utf8"));
|
|
144
|
+
if (meta && typeof meta.id === "string" && typeof meta.version === "string")
|
|
145
|
+
installed.push(Object.freeze(meta));
|
|
146
|
+
}
|
|
147
|
+
catch { /* A directory without managed metadata is not a marketplace skill. */ }
|
|
148
|
+
}
|
|
149
|
+
return Object.freeze(installed.sort((left, right) => left.id.localeCompare(right.id)));
|
|
150
|
+
}
|
|
151
|
+
async install(id, options = {}) {
|
|
152
|
+
const index = await this.loadIndex();
|
|
153
|
+
const entry = index.skills.find(candidate => candidate.id === id);
|
|
154
|
+
if (!entry)
|
|
155
|
+
throw new Error(`Unknown skill: ${id}.`);
|
|
156
|
+
const range = options.version ?? "*";
|
|
157
|
+
const candidates = entry.versions.filter(candidate => satisfiesSkillRange(candidate.version, range)).sort((left, right) => compareSkillVersions(right.version, left.version));
|
|
158
|
+
const chosen = candidates[0];
|
|
159
|
+
if (!chosen)
|
|
160
|
+
throw new Error(`No version of ${id} satisfies ${range}.`);
|
|
161
|
+
const content = await this.loadSkillContent(chosen);
|
|
162
|
+
const digest = createHash("sha256").update(content).digest("hex");
|
|
163
|
+
if (digest !== chosen.sha256.toLowerCase())
|
|
164
|
+
throw new Error(`Skill ${id}@${chosen.version} failed integrity verification.`);
|
|
165
|
+
const existing = (await this.listInstalled()).find(skill => skill.id === id);
|
|
166
|
+
if (existing && existing.sha256 === digest)
|
|
167
|
+
return { changed: false, skill: existing };
|
|
168
|
+
if (existing && compareSkillVersions(existing.version, chosen.version) > 0)
|
|
169
|
+
throw new Error(`Installed ${id}@${existing.version} is newer than ${chosen.version}; pass an explicit version to downgrade.`);
|
|
170
|
+
const skillDir = join(this.installRoot, id);
|
|
171
|
+
await mkdir(skillDir, { recursive: true, mode: 0o700 });
|
|
172
|
+
await this.atomicWrite(join(skillDir, "SKILL.md"), content);
|
|
173
|
+
const skill = Object.freeze({ id, name: entry.name, version: chosen.version, sha256: digest, installedAt: new Date().toISOString(), source: chosen.url ?? chosen.path ?? this.indexSource });
|
|
174
|
+
await this.atomicWrite(join(skillDir, ".galaxy-skill.json"), JSON.stringify(skill, null, 2));
|
|
175
|
+
return { changed: true, skill };
|
|
176
|
+
}
|
|
177
|
+
async update() {
|
|
178
|
+
const results = [];
|
|
179
|
+
for (const installed of await this.listInstalled())
|
|
180
|
+
results.push(await this.install(installed.id, { version: "*" }).catch(() => ({ changed: false, skill: installed })));
|
|
181
|
+
return Object.freeze(results);
|
|
182
|
+
}
|
|
183
|
+
async remove(id) {
|
|
184
|
+
if (!SKILL_ID.test(id))
|
|
185
|
+
throw new Error("Invalid skill id.");
|
|
186
|
+
const target = resolve(this.installRoot, id);
|
|
187
|
+
if (dirname(target) !== resolve(this.installRoot))
|
|
188
|
+
throw new Error("Skill id escapes the install root.");
|
|
189
|
+
try {
|
|
190
|
+
await stat(target);
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
await rm(target, { recursive: true, force: true });
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
validateEntry(value) {
|
|
199
|
+
if (!value || typeof value !== "object")
|
|
200
|
+
throw new Error("Invalid skill index entry.");
|
|
201
|
+
const entry = value;
|
|
202
|
+
if (typeof entry.id !== "string" || !SKILL_ID.test(entry.id) || typeof entry.name !== "string" || typeof entry.description !== "string" || !Array.isArray(entry.versions) || entry.versions.length === 0)
|
|
203
|
+
throw new Error("Invalid skill index entry.");
|
|
204
|
+
const tags = Array.isArray(entry.tags) && entry.tags.every(tag => typeof tag === "string") ? Object.freeze(entry.tags) : undefined;
|
|
205
|
+
const seen = new Set();
|
|
206
|
+
const versions = entry.versions.map((raw) => {
|
|
207
|
+
if (!raw || typeof raw !== "object")
|
|
208
|
+
throw new Error(`Invalid version entry for ${entry.id}.`);
|
|
209
|
+
const candidate = raw;
|
|
210
|
+
if (typeof candidate.version !== "string" || !VERSION.test(candidate.version) || typeof candidate.sha256 !== "string" || !SHA256.test(candidate.sha256.toLowerCase()))
|
|
211
|
+
throw new Error(`Invalid version entry for ${entry.id}.`);
|
|
212
|
+
if ((typeof candidate.url !== "string" || !candidate.url) && (typeof candidate.path !== "string" || !candidate.path))
|
|
213
|
+
throw new Error(`Version ${candidate.version} of ${entry.id} needs a url or path.`);
|
|
214
|
+
if (seen.has(candidate.version))
|
|
215
|
+
throw new Error(`Duplicate version ${candidate.version} for ${entry.id}.`);
|
|
216
|
+
seen.add(candidate.version);
|
|
217
|
+
return Object.freeze({
|
|
218
|
+
version: candidate.version,
|
|
219
|
+
sha256: candidate.sha256.toLowerCase(),
|
|
220
|
+
...(typeof candidate.url === "string" && candidate.url ? { url: candidate.url } : {}),
|
|
221
|
+
...(typeof candidate.path === "string" && candidate.path ? { path: candidate.path } : {}),
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
return Object.freeze({ id: entry.id, name: entry.name, description: entry.description, versions: Object.freeze(versions), ...(tags === undefined ? {} : { tags }) });
|
|
225
|
+
}
|
|
226
|
+
async loadSkillContent(version) {
|
|
227
|
+
if (version.url) {
|
|
228
|
+
if (!isRemote(version.url))
|
|
229
|
+
throw new Error("A remote skill index must use absolute HTTP(S) URLs.");
|
|
230
|
+
return (await this.fetchText(version.url, MAX_SKILL_BYTES));
|
|
231
|
+
}
|
|
232
|
+
if (isRemote(this.indexSource)) {
|
|
233
|
+
const base = new URL(this.indexSource);
|
|
234
|
+
return await this.fetchText(new URL(version.path, base).href, MAX_SKILL_BYTES);
|
|
235
|
+
}
|
|
236
|
+
if (isAbsolute(version.path))
|
|
237
|
+
throw new Error("Local skill paths must be relative to the index.");
|
|
238
|
+
const base = dirname(resolve(this.indexSource));
|
|
239
|
+
const target = resolve(base, version.path);
|
|
240
|
+
if (target !== base && !target.startsWith(base + "/"))
|
|
241
|
+
throw new Error("Skill path escapes the index directory.");
|
|
242
|
+
return (await readFile(target, "utf8"));
|
|
243
|
+
}
|
|
244
|
+
async fetchText(url, limit) {
|
|
245
|
+
const response = await this.fetchImpl(url, { redirect: "follow" });
|
|
246
|
+
if (!response.ok)
|
|
247
|
+
throw new Error(`Skill fetch failed (${response.status}) for ${url}.`);
|
|
248
|
+
const text = await response.text();
|
|
249
|
+
if (Buffer.byteLength(text, "utf8") > limit)
|
|
250
|
+
throw new Error(`Skill payload exceeds ${limit} bytes.`);
|
|
251
|
+
return text;
|
|
252
|
+
}
|
|
253
|
+
async atomicWrite(target, content) {
|
|
254
|
+
const temporary = `${target}.tmp-${process.pid}`;
|
|
255
|
+
await writeFile(temporary, content, { encoding: "utf8", mode: 0o600 });
|
|
256
|
+
await rename(temporary, target);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=skill-marketplace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-marketplace.js","sourceRoot":"","sources":["../../../../src/adapters/node/skills/skill-marketplace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-review.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/tools/workspace-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQ/L,qGAAqG;AACrG,qBAAa,2BAA4B,YAAW,0BAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAiB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAA4B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAyB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAlM,OAAO;WACM,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAe3G,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAG5C,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-review.d.ts","sourceRoot":"","sources":["../../../../src/adapters/node/tools/workspace-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQ/L,qGAAqG;AACrG,qBAAa,2BAA4B,YAAW,0BAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAiB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAA4B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAyB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAlM,OAAO;WACM,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAe3G,UAAU,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAG5C,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAiEtG"}
|
|
@@ -44,25 +44,38 @@ export class NodeWorkspaceReviewExecutor {
|
|
|
44
44
|
const current = await this.snapshotter.capture(context);
|
|
45
45
|
const changes = diffNodeWorkspaceSnapshots(this.baseline, current).writes;
|
|
46
46
|
const reviewed = [];
|
|
47
|
+
const opaquePaths = [];
|
|
47
48
|
let bytes = 0;
|
|
48
49
|
let degraded = false;
|
|
49
50
|
for (const change of changes) {
|
|
50
51
|
let before = null;
|
|
51
52
|
let after = null;
|
|
53
|
+
let textReviewed = true;
|
|
52
54
|
if (!["file", "directory", "missing"].includes(change.beforeKind) || !["file", "directory", "missing"].includes(change.afterKind))
|
|
53
55
|
throw new Error(`Cannot fully review special entry ${change.path}; use a Git repository for this workspace.`);
|
|
54
56
|
if (change.beforeKind === "file") {
|
|
55
57
|
before = this.contents.get(change.path) ?? null;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
// A binary or oversized baseline file has no cached text; review it by hash.
|
|
59
|
+
if (before === null) {
|
|
60
|
+
textReviewed = false;
|
|
61
|
+
opaquePaths.push(change.path);
|
|
62
|
+
}
|
|
58
63
|
}
|
|
59
64
|
if (change.afterKind === "file") {
|
|
60
65
|
const read = await this.workspace.readText({ path: change.path, maxBytes: 128 * 1024 }, context);
|
|
61
|
-
if (
|
|
62
|
-
|
|
63
|
-
|
|
66
|
+
if (read.ok && !read.data.truncated && read.data.contentSha256 === change.afterHash)
|
|
67
|
+
after = read.data.content;
|
|
68
|
+
else if (read.ok && !read.data.truncated)
|
|
69
|
+
throw new Error(`Workspace file changed during review: ${change.path}. Run review_changes again.`);
|
|
70
|
+
else {
|
|
71
|
+
// Binary or oversized content: keep hash/kind evidence and disclose text was not reviewed.
|
|
72
|
+
textReviewed = false;
|
|
73
|
+
if (!opaquePaths.includes(change.path))
|
|
74
|
+
opaquePaths.push(change.path);
|
|
75
|
+
}
|
|
64
76
|
}
|
|
65
|
-
const
|
|
77
|
+
const textFlag = textReviewed ? {} : { textReviewed: false };
|
|
78
|
+
const full = { ...change, before, after, ...textFlag };
|
|
66
79
|
// Scaffold-scale changes overflow the 24 KiB full-text cap. Degrade to a
|
|
67
80
|
// bounded per-file summary (hashes + previews) instead of refusing: in a
|
|
68
81
|
// non-Git workspace there is no alternative review evidence path.
|
|
@@ -81,7 +94,7 @@ export class NodeWorkspaceReviewExecutor {
|
|
|
81
94
|
path: change.path,
|
|
82
95
|
beforeKind: change.beforeKind, afterKind: change.afterKind,
|
|
83
96
|
beforeHash: change.beforeHash, afterHash: change.afterHash,
|
|
84
|
-
afterSize, ...beforePreview, ...afterPreview,
|
|
97
|
+
afterSize, ...textFlag, ...beforePreview, ...afterPreview,
|
|
85
98
|
};
|
|
86
99
|
bytes += Buffer.byteLength(JSON.stringify(entry));
|
|
87
100
|
if (bytes > MAX_REVIEW_BYTES)
|
|
@@ -94,8 +107,9 @@ export class NodeWorkspaceReviewExecutor {
|
|
|
94
107
|
}
|
|
95
108
|
if ((await this.snapshotter.capture(context)).stateVersion !== current.stateVersion)
|
|
96
109
|
throw new Error("Workspace changed during review. Run review_changes again.");
|
|
97
|
-
const
|
|
98
|
-
|
|
110
|
+
const mode = degraded ? (opaquePaths.length ? "bounded-summary+opaque" : "bounded-summary") : opaquePaths.length ? "text+opaque" : "full-text";
|
|
111
|
+
const content = JSON.stringify({ comparison: "task-start-to-current", mode, opaquePaths, changes: reviewed });
|
|
112
|
+
return { ok: true, canonicalToolId: "workspace.review", content, summary: `Đã kiểm tra ${changes.length} thay đổi so với đầu tác vụ (không cần Git)${opaquePaths.length ? `; ${opaquePaths.length} tệp nhị phân/lớn chỉ theo hash` : ""}.`, trust: "workspace", effectsAuthority: "host", effects: { inspectedPaths: ["."], diffReview: { diffHash: sha256Text(content) } }, outputLimits: { maxBytes: 32768, maxTokens: 16384 } };
|
|
99
113
|
}
|
|
100
114
|
catch (error) {
|
|
101
115
|
const message = error instanceof Error ? error.message : String(error);
|