create-codemodekit 0.2.0 → 0.3.0
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/README.md +22 -3
- package/dist/agent-plugin.d.ts.map +1 -1
- package/dist/agent-plugin.js +1 -2
- package/dist/agent-plugin.js.map +1 -1
- package/dist/authoring-skill.d.ts +7 -0
- package/dist/authoring-skill.d.ts.map +1 -0
- package/dist/authoring-skill.js +42 -0
- package/dist/authoring-skill.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +60 -6
- package/dist/cli.js.map +1 -1
- package/dist/cursor-plugin.d.ts +25 -0
- package/dist/cursor-plugin.d.ts.map +1 -0
- package/dist/cursor-plugin.js +177 -0
- package/dist/cursor-plugin.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin-build.d.ts +19 -0
- package/dist/plugin-build.d.ts.map +1 -0
- package/dist/plugin-build.js +177 -0
- package/dist/plugin-build.js.map +1 -0
- package/dist/plugin-cli.d.ts +3 -0
- package/dist/plugin-cli.d.ts.map +1 -0
- package/dist/plugin-cli.js +102 -0
- package/dist/plugin-cli.js.map +1 -0
- package/dist/scaffold.d.ts +5 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +87 -2
- package/dist/scaffold.js.map +1 -1
- package/package.json +21 -6
- package/skills/build-codemodekit-plugin/SKILL.md +44 -0
- package/skills/build-codemodekit-plugin/agents/openai.yaml +4 -0
- package/skills/build-codemodekit-plugin/references/generator.md +42 -0
- package/skills/build-codemodekit-plugin/references/plugin-layout.md +38 -0
- package/skills/build-codemodekit-plugin/references/programmatic-api.md +48 -0
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ cd my-code-mode
|
|
|
11
11
|
npm start
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
The command is parsed directly into an executable and argument array. Shell operators, shell expansion, and leading environment assignments are rejected; no shell is invoked. Dependency installation is automatic unless `--no-install` is supplied.
|
|
14
|
+
The command is parsed directly into an executable and argument array. Shell operators, shell expansion, and leading environment assignments are rejected; no shell is invoked. Dependency installation is automatic unless `--no-install` is supplied. A project-level CodeModeKit authoring skill is installed at `.agents/skills/build-codemodekit-plugin` by default; use `--no-authoring-skill` to omit it.
|
|
15
15
|
|
|
16
16
|
Generated servers use `--policy allow-all` by default so the project runs immediately. Use `--policy deny-all` when you want the generated server to start closed while you define a narrower tool policy.
|
|
17
17
|
|
|
@@ -26,12 +26,31 @@ npm create codemodekit@latest my-code-mode -- \
|
|
|
26
26
|
--agent-plugin
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
This adds root `plugin.json` and `mcp.json` files plus `skills/use-upstream-codemode/`. The companion skill teaches
|
|
29
|
+
This adds root `plugin.json` and `mcp.json` files plus `skills/use-upstream-codemode/`. The companion skill teaches a runtime agent to compose calls through `run_typescript`; its `references/tools.d.ts` is generated from CodeModeKit's live normalized catalog. After installation, the generator also builds a self-contained `dist/plugin` artifact containing the server bundle, QuickJS WASM, manifests, and runtime skill.
|
|
30
30
|
|
|
31
31
|
The generator attempts catalog sync after dependency installation. If the upstream MCP still needs credentials or connectivity, the project remains valid with pending references. Configure the source and run:
|
|
32
32
|
|
|
33
33
|
```sh
|
|
34
34
|
npm run plugin:sync
|
|
35
|
+
npm run plugin:build
|
|
35
36
|
```
|
|
36
37
|
|
|
37
|
-
Use `--no-sync` to skip the initial attempt intentionally.
|
|
38
|
+
Use `--no-sync` to skip the initial attempt intentionally. The artifact deliberately excludes `node_modules`, `.env`, source files, and the development-time authoring skill.
|
|
39
|
+
|
|
40
|
+
## Cursor lifecycle
|
|
41
|
+
|
|
42
|
+
Cursor currently requires concrete executable and server paths for local plugins. The generated commands handle that adapter without changing the portable artifact:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
npm run plugin:install:cursor
|
|
46
|
+
npm run plugin:status:cursor
|
|
47
|
+
npm run plugin:uninstall:cursor
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Installation rebuilds first, copies the artifact beneath `~/.cursor/plugins/local`, resolves the active Node executable, and reports that Cursor should be reloaded. Reinstall after source, policy, metadata, or catalog changes.
|
|
51
|
+
|
|
52
|
+
## Plugin metadata
|
|
53
|
+
|
|
54
|
+
Use `--plugin-name`, `--skill-name`, `--plugin-description`, and `--plugin-license` with `--agent-plugin` to override the portable defaults.
|
|
55
|
+
|
|
56
|
+
Programmatic consumers can call `scaffoldCodeModeMcp`, `scaffoldAgentPlugin`, `syncAgentPluginSkill`, `buildAgentPlugin`, `installProjectAuthoringSkill`, and the Cursor lifecycle functions directly.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-plugin.d.ts","sourceRoot":"","sources":["../src/agent-plugin.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC/D,oBAAoB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-plugin.d.ts","sourceRoot":"","sources":["../src/agent-plugin.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC/D,oBAAoB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC,CAkFpC;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC,CAqDrC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAS,GAAG,MAAM,CAU3E;AAED,UAAU,2BAA2B;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,MAAM,CAuBR"}
|
package/dist/agent-plugin.js
CHANGED
package/dist/agent-plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-plugin.js","sourceRoot":"","sources":["../src/agent-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,aAAa,GACjB,4DAA4D,CAAC;AAC/D,MAAM,UAAU,GACd,yDAAyD,CAAC;AAC5D,MAAM,aAAa,GAAG,6BAA6B,CAAC;AA6DpD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAmC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC;IAC1D,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,KAAK,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;QACnB,OAAO,UAAU,sDAAsD,CAAC;IAC1E,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,WAAW;QACX,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS;YAC/B,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC7D,QAAQ,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,aAAa,CAAC;KAC9C,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE;YACV,CAAC,UAAU,CAAC,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-plugin.js","sourceRoot":"","sources":["../src/agent-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface InstallProjectAuthoringSkillOptions {
|
|
2
|
+
readonly root: string;
|
|
3
|
+
readonly overwrite?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** Installs CodeModeKit's development-time skill into the universal project path. */
|
|
6
|
+
export declare function installProjectAuthoringSkill(options: InstallProjectAuthoringSkillOptions): Promise<string>;
|
|
7
|
+
//# sourceMappingURL=authoring-skill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authoring-skill.d.ts","sourceRoot":"","sources":["../src/authoring-skill.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qFAAqF;AACrF,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,MAAM,CAAC,CAuBjB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { cp, lstat, mkdir, rename, rm } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
const AUTHORING_SKILL_NAME = "build-codemodekit-plugin";
|
|
5
|
+
const BUNDLED_SKILL_DIRECTORY = fileURLToPath(new URL(`../skills/${AUTHORING_SKILL_NAME}`, import.meta.url));
|
|
6
|
+
/** Installs CodeModeKit's development-time skill into the universal project path. */
|
|
7
|
+
export async function installProjectAuthoringSkill(options) {
|
|
8
|
+
const root = path.resolve(options.root);
|
|
9
|
+
const skillsRoot = path.join(root, ".agents", "skills");
|
|
10
|
+
const destination = path.join(skillsRoot, AUTHORING_SKILL_NAME);
|
|
11
|
+
const staging = path.join(skillsRoot, `.${AUTHORING_SKILL_NAME}.${String(process.pid)}.${String(Date.now())}.tmp`);
|
|
12
|
+
if ((await pathExists(destination)) && options.overwrite !== true) {
|
|
13
|
+
throw new Error(`Authoring skill already exists: ${destination}`);
|
|
14
|
+
}
|
|
15
|
+
await mkdir(skillsRoot, { recursive: true });
|
|
16
|
+
await rm(staging, { recursive: true, force: true });
|
|
17
|
+
await cp(BUNDLED_SKILL_DIRECTORY, staging, { recursive: true });
|
|
18
|
+
try {
|
|
19
|
+
await rm(destination, { recursive: true, force: true });
|
|
20
|
+
await rename(staging, destination);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
await rm(staging, { recursive: true, force: true });
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
return destination;
|
|
27
|
+
}
|
|
28
|
+
async function pathExists(file) {
|
|
29
|
+
try {
|
|
30
|
+
await lstat(file);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (error instanceof Error &&
|
|
35
|
+
"code" in error &&
|
|
36
|
+
error.code === "ENOENT") {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=authoring-skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authoring-skill.js","sourceRoot":"","sources":["../src/authoring-skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AACxD,MAAM,uBAAuB,GAAG,aAAa,CAC3C,IAAI,GAAG,CAAC,aAAa,oBAAoB,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAC9D,CAAC;AAOF,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAA4C;IAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,UAAU,EACV,IAAI,oBAAoB,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAC5E,CAAC;IACF,IAAI,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,uBAAuB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,KAAK;YACtB,MAAM,IAAI,KAAK;YACd,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAsBA,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DnE"}
|
package/dist/cli.js
CHANGED
|
@@ -15,6 +15,7 @@ export async function runCli(args) {
|
|
|
15
15
|
? {}
|
|
16
16
|
: { serverName: options.serverName }),
|
|
17
17
|
policy: options.policy,
|
|
18
|
+
authoringSkill: options.authoringSkill,
|
|
18
19
|
install: options.install,
|
|
19
20
|
...(options.codemodekitVersion === undefined
|
|
20
21
|
? {}
|
|
@@ -23,18 +24,36 @@ export async function runCli(args) {
|
|
|
23
24
|
? {}
|
|
24
25
|
: { createCodemodekitVersion: options.createCodemodekitVersion }),
|
|
25
26
|
...(options.agentPlugin
|
|
26
|
-
? {
|
|
27
|
+
? {
|
|
28
|
+
agentPlugin: {
|
|
29
|
+
sync: options.sync && options.install,
|
|
30
|
+
...(options.pluginName === undefined
|
|
31
|
+
? {}
|
|
32
|
+
: { pluginName: options.pluginName }),
|
|
33
|
+
...(options.skillName === undefined
|
|
34
|
+
? {}
|
|
35
|
+
: { skillName: options.skillName }),
|
|
36
|
+
...(options.pluginDescription === undefined
|
|
37
|
+
? {}
|
|
38
|
+
: { description: options.pluginDescription }),
|
|
39
|
+
...(options.pluginLicense === undefined
|
|
40
|
+
? {}
|
|
41
|
+
: { license: options.pluginLicense }),
|
|
42
|
+
},
|
|
43
|
+
}
|
|
27
44
|
: {}),
|
|
28
45
|
});
|
|
29
46
|
const pluginSummary = result.agentPlugin === undefined
|
|
30
47
|
? ""
|
|
31
|
-
: result.agentPlugin.
|
|
32
|
-
?
|
|
33
|
-
: `
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
: `Agent Plugin: ${result.agentPlugin.built ? "built" : "scaffolded"} (${result.agentPlugin.skillName})\n` +
|
|
49
|
+
`${result.agentPlugin.synced ? "Catalog: synchronized\n" : "Catalog: pending\n"}` +
|
|
50
|
+
`${result.agentPlugin.syncError === undefined ? "" : `Catalog sync pending: ${result.agentPlugin.syncError}\n`}` +
|
|
51
|
+
`${result.agentPlugin.synced ? "" : " npm run plugin:sync\n"}` +
|
|
52
|
+
`${result.agentPlugin.built ? "" : " npm run plugin:build\n"}` +
|
|
53
|
+
" npm run plugin:install:cursor\n";
|
|
36
54
|
process.stdout.write(`\nCreated ${options.serverName ?? `${options.mcpName}-code-mode`} in ${result.directory}\n\n` +
|
|
37
55
|
`${result.installed ? "" : " npm install\n"} npm start\n\n` +
|
|
56
|
+
`${result.authoringSkillDirectory === undefined ? "" : "Authoring skill: .agents/skills/build-codemodekit-plugin\n"}` +
|
|
38
57
|
pluginSummary +
|
|
39
58
|
`Tool policy: ${options.policy}\n`);
|
|
40
59
|
}
|
|
@@ -43,8 +62,13 @@ function parseOptions(args) {
|
|
|
43
62
|
let mcpName;
|
|
44
63
|
let mcpCommand;
|
|
45
64
|
let serverName;
|
|
65
|
+
let pluginName;
|
|
66
|
+
let skillName;
|
|
67
|
+
let pluginDescription;
|
|
68
|
+
let pluginLicense;
|
|
46
69
|
let policy = "allow-all";
|
|
47
70
|
let agentPlugin = false;
|
|
71
|
+
let authoringSkill = true;
|
|
48
72
|
let sync = true;
|
|
49
73
|
let install = true;
|
|
50
74
|
let codemodekitVersion;
|
|
@@ -68,6 +92,10 @@ function parseOptions(args) {
|
|
|
68
92
|
agentPlugin = true;
|
|
69
93
|
continue;
|
|
70
94
|
}
|
|
95
|
+
if (argument === "--no-authoring-skill") {
|
|
96
|
+
authoringSkill = false;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
71
99
|
if (argument === "--no-sync") {
|
|
72
100
|
sync = false;
|
|
73
101
|
continue;
|
|
@@ -87,6 +115,18 @@ function parseOptions(args) {
|
|
|
87
115
|
case "--server-name":
|
|
88
116
|
serverName = value;
|
|
89
117
|
break;
|
|
118
|
+
case "--plugin-name":
|
|
119
|
+
pluginName = value;
|
|
120
|
+
break;
|
|
121
|
+
case "--skill-name":
|
|
122
|
+
skillName = value;
|
|
123
|
+
break;
|
|
124
|
+
case "--plugin-description":
|
|
125
|
+
pluginDescription = value;
|
|
126
|
+
break;
|
|
127
|
+
case "--plugin-license":
|
|
128
|
+
pluginLicense = value;
|
|
129
|
+
break;
|
|
90
130
|
case "--policy":
|
|
91
131
|
if (value !== "allow-all" && value !== "deny-all") {
|
|
92
132
|
throw new TypeError("--policy must be allow-all or deny-all");
|
|
@@ -112,13 +152,22 @@ function parseOptions(args) {
|
|
|
112
152
|
if (mcpCommand === undefined) {
|
|
113
153
|
throw new TypeError("--mcp-command is required");
|
|
114
154
|
}
|
|
155
|
+
if (!agentPlugin &&
|
|
156
|
+
[pluginName, skillName, pluginDescription, pluginLicense].some((value) => value !== undefined)) {
|
|
157
|
+
throw new TypeError("Plugin metadata options require --agent-plugin");
|
|
158
|
+
}
|
|
115
159
|
return {
|
|
116
160
|
targetDirectory,
|
|
117
161
|
mcpName,
|
|
118
162
|
mcpCommand,
|
|
119
163
|
...(serverName === undefined ? {} : { serverName }),
|
|
164
|
+
...(pluginName === undefined ? {} : { pluginName }),
|
|
165
|
+
...(skillName === undefined ? {} : { skillName }),
|
|
166
|
+
...(pluginDescription === undefined ? {} : { pluginDescription }),
|
|
167
|
+
...(pluginLicense === undefined ? {} : { pluginLicense }),
|
|
120
168
|
policy,
|
|
121
169
|
agentPlugin,
|
|
170
|
+
authoringSkill,
|
|
122
171
|
sync,
|
|
123
172
|
install,
|
|
124
173
|
...(codemodekitVersion === undefined ? {} : { codemodekitVersion }),
|
|
@@ -140,6 +189,11 @@ Options:
|
|
|
140
189
|
--policy allow-all Allow every discovered upstream tool (default)
|
|
141
190
|
--policy deny-all Deny every upstream tool until policy is edited
|
|
142
191
|
--agent-plugin Add plugin.json, mcp.json, and a companion Agent Skill
|
|
192
|
+
--plugin-name <name> Override the portable plugin name
|
|
193
|
+
--skill-name <name> Override the runtime companion skill name
|
|
194
|
+
--plugin-description <s> Override the plugin manifest description
|
|
195
|
+
--plugin-license <SPDX> Add a license identifier to plugin.json
|
|
196
|
+
--no-authoring-skill Omit the project-local CodeModeKit authoring skill
|
|
143
197
|
--no-sync Do not snapshot tool types during Agent Plugin creation
|
|
144
198
|
--no-install Generate files without running npm install
|
|
145
199
|
--codemodekit-version <v> Override the generated runtime dependency
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAoBpD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAuB;IAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;QACvC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,wBAAwB,KAAK,SAAS;YAChD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC;gBACE,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO;oBACrC,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS;wBAClC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;wBACjC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;oBACrC,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS;wBACzC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;oBAC/C,GAAG,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;wBACrC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;iBACxC;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,aAAa,GACjB,MAAM,CAAC,WAAW,KAAK,SAAS;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,iBAAiB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,KAAK,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK;YACxG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,oBAAoB,EAAE;YACjF,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE;YAChH,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,EAAE;YAC/D,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAA0B,EAAE;YAC/D,mCAAmC,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,OAAO,CAAC,UAAU,IAAI,GAAG,OAAO,CAAC,OAAO,YAAY,OAAO,MAAM,CAAC,SAAS,MAAM;QAC5F,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,iBAAiB;QAC7D,GAAG,MAAM,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4DAA4D,EAAE;QACrH,aAAa;QACb,gBAAgB,OAAO,CAAC,MAAM,IAAI,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB;IAC3C,IAAI,eAAmC,CAAC;IACxC,IAAI,OAA2B,CAAC;IAChC,IAAI,UAA8B,CAAC;IACnC,IAAI,UAA8B,CAAC;IACnC,IAAI,UAA8B,CAAC;IACnC,IAAI,SAA6B,CAAC;IAClC,IAAI,iBAAqC,CAAC;IAC1C,IAAI,aAAiC,CAAC;IACtC,IAAI,MAAM,GAA6B,WAAW,CAAC;IACnD,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,kBAAsC,CAAC;IAC3C,IAAI,wBAA4C,CAAC;IAEjD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS;YAAE,SAAS;QACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,IAAI,SAAS,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,eAAe,GAAG,QAAQ,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAChC,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClC,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,sBAAsB,EAAE,CAAC;YACxC,cAAc,GAAG,KAAK,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,IAAI,GAAG,KAAK,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,SAAS,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,IAAI,CAAC,CAAC;QAEX,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,KAAK,eAAe;gBAClB,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM;YACR,KAAK,eAAe;gBAClB,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM;YACR,KAAK,eAAe;gBAClB,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM;YACR,KAAK,cAAc;gBACjB,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM;YACR,KAAK,sBAAsB;gBACzB,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,kBAAkB;gBACrB,aAAa,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;oBAClD,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;gBAChE,CAAC;gBACD,MAAM,GAAG,KAAK,CAAC;gBACf,MAAM;YACR,KAAK,uBAAuB;gBAC1B,kBAAkB,GAAG,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,8BAA8B;gBACjC,wBAAwB,GAAG,KAAK,CAAC;gBACjC,MAAM;YACR;gBACE,MAAM,IAAI,SAAS,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IACD,IACE,CAAC,WAAW;QACZ,CAAC,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC,IAAI,CAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAC/B,EACD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,eAAe;QACf,OAAO;QACP,UAAU;QACV,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,MAAM;QACN,WAAW;QACX,cAAc;QACd,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC;QACnE,GAAG,CAAC,wBAAwB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,wBAAwB,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,KAAK;IACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface InstallCursorPluginOptions {
|
|
2
|
+
readonly root: string;
|
|
3
|
+
readonly cursorHome?: string;
|
|
4
|
+
readonly nodePath?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface CursorPluginInstallation {
|
|
7
|
+
readonly pluginName: string;
|
|
8
|
+
readonly destination: string;
|
|
9
|
+
readonly artifactDirectory: string;
|
|
10
|
+
readonly nodePath: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CursorPluginStatusOptions {
|
|
13
|
+
readonly root: string;
|
|
14
|
+
readonly cursorHome?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CursorPluginStatus {
|
|
17
|
+
readonly pluginName: string;
|
|
18
|
+
readonly destination: string;
|
|
19
|
+
readonly installed: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Builds and installs a concrete copy under Cursor's local plugin directory. */
|
|
22
|
+
export declare function installCursorPlugin(options: InstallCursorPluginOptions): Promise<CursorPluginInstallation>;
|
|
23
|
+
export declare function getCursorPluginStatus(options: CursorPluginStatusOptions): Promise<CursorPluginStatus>;
|
|
24
|
+
export declare function uninstallCursorPlugin(options: CursorPluginStatusOptions): Promise<CursorPluginStatus>;
|
|
25
|
+
//# sourceMappingURL=cursor-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-plugin.d.ts","sourceRoot":"","sources":["../src/cursor-plugin.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,iFAAiF;AACjF,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAwCnC;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAY7B;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,kBAAkB,CAAC,CAM7B"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { cp, lstat, mkdir, readFile, rename, rm, writeFile, } from "node:fs/promises";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { buildAgentPlugin } from "./plugin-build.js";
|
|
5
|
+
const INSTALL_MARKER = ".codemodekit-install.json";
|
|
6
|
+
/** Builds and installs a concrete copy under Cursor's local plugin directory. */
|
|
7
|
+
export async function installCursorPlugin(options) {
|
|
8
|
+
const root = path.resolve(options.root);
|
|
9
|
+
const build = await buildAgentPlugin({ root });
|
|
10
|
+
const pluginName = await readPluginName(build.artifactDirectory);
|
|
11
|
+
const nodePath = path.resolve(options.nodePath ?? process.execPath);
|
|
12
|
+
await assertRegularFile(nodePath, "Node executable");
|
|
13
|
+
const localRoot = cursorLocalPluginRoot(options.cursorHome);
|
|
14
|
+
const destination = path.join(localRoot, pluginName);
|
|
15
|
+
const staging = path.join(localRoot, `.${pluginName}.${String(process.pid)}.${String(Date.now())}.tmp`);
|
|
16
|
+
const backup = `${destination}.${String(process.pid)}.backup`;
|
|
17
|
+
await mkdir(localRoot, { recursive: true });
|
|
18
|
+
await rm(staging, { recursive: true, force: true });
|
|
19
|
+
await cp(build.artifactDirectory, staging, { recursive: true });
|
|
20
|
+
try {
|
|
21
|
+
await adaptCursorMcpConfig(staging, destination, nodePath);
|
|
22
|
+
await writeJson(path.join(staging, INSTALL_MARKER), {
|
|
23
|
+
schemaVersion: 1,
|
|
24
|
+
pluginName,
|
|
25
|
+
sourceRoot: root,
|
|
26
|
+
artifactDirectory: build.artifactDirectory,
|
|
27
|
+
nodePath,
|
|
28
|
+
});
|
|
29
|
+
await replaceInstallation({ destination, staging, backup, pluginName });
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
await rm(staging, { recursive: true, force: true });
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
pluginName,
|
|
37
|
+
destination,
|
|
38
|
+
artifactDirectory: build.artifactDirectory,
|
|
39
|
+
nodePath,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export async function getCursorPluginStatus(options) {
|
|
43
|
+
const root = path.resolve(options.root);
|
|
44
|
+
const pluginName = await readPluginName(root);
|
|
45
|
+
const destination = path.join(cursorLocalPluginRoot(options.cursorHome), pluginName);
|
|
46
|
+
return {
|
|
47
|
+
pluginName,
|
|
48
|
+
destination,
|
|
49
|
+
installed: await pathExists(destination),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export async function uninstallCursorPlugin(options) {
|
|
53
|
+
const status = await getCursorPluginStatus(options);
|
|
54
|
+
if (!status.installed)
|
|
55
|
+
return status;
|
|
56
|
+
await assertMatchingInstalledPlugin(status.destination, status.pluginName);
|
|
57
|
+
await rm(status.destination, { recursive: true, force: true });
|
|
58
|
+
return { ...status, installed: false };
|
|
59
|
+
}
|
|
60
|
+
async function adaptCursorMcpConfig(staging, destination, nodePath) {
|
|
61
|
+
const file = path.join(staging, "mcp.json");
|
|
62
|
+
const config = await readJsonObject(file, "mcp.json");
|
|
63
|
+
const rawServers = config.mcpServers;
|
|
64
|
+
if (!isRecord(rawServers)) {
|
|
65
|
+
throw new TypeError("mcp.json must contain an mcpServers object");
|
|
66
|
+
}
|
|
67
|
+
const stdioEntries = Object.entries(rawServers).filter(([, value]) => isRecord(value) && value.type === "stdio");
|
|
68
|
+
if (stdioEntries.length !== 1) {
|
|
69
|
+
throw new TypeError("Cursor installation currently requires one stdio server");
|
|
70
|
+
}
|
|
71
|
+
const entry = stdioEntries[0];
|
|
72
|
+
if (entry === undefined || !isRecord(entry[1])) {
|
|
73
|
+
throw new TypeError("Cursor installation could not resolve the stdio server");
|
|
74
|
+
}
|
|
75
|
+
const [serverName, server] = entry;
|
|
76
|
+
const { cwd: _cwd, ...serverWithoutCwd } = server;
|
|
77
|
+
await writeJson(file, {
|
|
78
|
+
...config,
|
|
79
|
+
mcpServers: {
|
|
80
|
+
...rawServers,
|
|
81
|
+
[serverName]: {
|
|
82
|
+
...serverWithoutCwd,
|
|
83
|
+
type: "stdio",
|
|
84
|
+
command: nodePath,
|
|
85
|
+
args: [path.join(destination, "server.mjs")],
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
async function replaceInstallation(options) {
|
|
91
|
+
const existing = await pathExists(options.destination);
|
|
92
|
+
if (!existing) {
|
|
93
|
+
await rename(options.staging, options.destination);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
await assertMatchingInstalledPlugin(options.destination, options.pluginName);
|
|
97
|
+
await rm(options.backup, { recursive: true, force: true });
|
|
98
|
+
await rename(options.destination, options.backup);
|
|
99
|
+
try {
|
|
100
|
+
await rename(options.staging, options.destination);
|
|
101
|
+
await rm(options.backup, { recursive: true, force: true });
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
if (!(await pathExists(options.destination))) {
|
|
105
|
+
await rename(options.backup, options.destination);
|
|
106
|
+
}
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async function assertMatchingInstalledPlugin(destination, expectedName) {
|
|
111
|
+
const actualName = await readPluginName(destination);
|
|
112
|
+
if (actualName !== expectedName) {
|
|
113
|
+
throw new Error(`Refusing to replace Cursor plugin ${destination}; expected ${expectedName}, found ${actualName}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function readPluginName(root) {
|
|
117
|
+
const manifest = await readJsonObject(path.join(root, "plugin.json"), "plugin.json");
|
|
118
|
+
const name = manifest.name;
|
|
119
|
+
if (typeof name !== "string" ||
|
|
120
|
+
!/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(name) ||
|
|
121
|
+
path.basename(name) !== name) {
|
|
122
|
+
throw new TypeError("plugin.json contains an invalid portable plugin name");
|
|
123
|
+
}
|
|
124
|
+
return name;
|
|
125
|
+
}
|
|
126
|
+
function cursorLocalPluginRoot(cursorHome) {
|
|
127
|
+
const home = path.resolve(cursorHome ?? path.join(homedir(), ".cursor"));
|
|
128
|
+
return path.join(home, "plugins", "local");
|
|
129
|
+
}
|
|
130
|
+
async function pathExists(file) {
|
|
131
|
+
try {
|
|
132
|
+
await lstat(file);
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (isMissing(error))
|
|
137
|
+
return false;
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async function assertRegularFile(file, label) {
|
|
142
|
+
let details;
|
|
143
|
+
try {
|
|
144
|
+
details = await lstat(file);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
throw new TypeError(`${label} does not exist: ${file}`, { cause: error });
|
|
148
|
+
}
|
|
149
|
+
if (!details.isFile() && !details.isSymbolicLink()) {
|
|
150
|
+
throw new TypeError(`${label} must be a file: ${file}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async function readJsonObject(file, label) {
|
|
154
|
+
let value;
|
|
155
|
+
try {
|
|
156
|
+
value = JSON.parse(await readFile(file, "utf8"));
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
throw new TypeError(`Could not read ${label}`, { cause: error });
|
|
160
|
+
}
|
|
161
|
+
if (!isRecord(value)) {
|
|
162
|
+
throw new TypeError(`${label} must contain a JSON object`);
|
|
163
|
+
}
|
|
164
|
+
return value;
|
|
165
|
+
}
|
|
166
|
+
async function writeJson(file, value) {
|
|
167
|
+
await writeFile(file, `${JSON.stringify(value, null, 2)}\n`, "utf8");
|
|
168
|
+
}
|
|
169
|
+
function isRecord(value) {
|
|
170
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
171
|
+
}
|
|
172
|
+
function isMissing(error) {
|
|
173
|
+
return (error instanceof Error &&
|
|
174
|
+
"code" in error &&
|
|
175
|
+
error.code === "ENOENT");
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=cursor-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-plugin.js","sourceRoot":"","sources":["../src/cursor-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { parseMcpCommand, type ParsedCommand } from "./command.js";
|
|
2
|
+
export { installProjectAuthoringSkill, type InstallProjectAuthoringSkillOptions, } from "./authoring-skill.js";
|
|
2
3
|
export { normalizePortableName, renderCompanionSkill, scaffoldAgentPlugin, syncAgentPluginSkill, type AgentPluginCatalogSource, type AgentPluginSourceReport, type AgentPluginStartupReport, type AgentPluginTypeScriptCatalog, type ScaffoldAgentPluginOptions, type ScaffoldAgentPluginResult, type SyncAgentPluginSkillOptions, type SyncAgentPluginSkillResult, } from "./agent-plugin.js";
|
|
3
4
|
export { renderServer, scaffoldCodeModeMcp, type AgentPluginScaffoldOptions, type GeneratedAgentPluginResult, type ScaffoldCodeModeMcpOptions, type ScaffoldResult, } from "./scaffold.js";
|
|
5
|
+
export { buildAgentPlugin, type BuildAgentPluginOptions, type BuildAgentPluginResult, } from "./plugin-build.js";
|
|
6
|
+
export { getCursorPluginStatus, installCursorPlugin, uninstallCursorPlugin, type CursorPluginInstallation, type CursorPluginStatus, type CursorPluginStatusOptions, type InstallCursorPluginOptions, } from "./cursor-plugin.js";
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,4BAA4B,EAC5B,KAAK,mCAAmC,GACzC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { parseMcpCommand } from "./command.js";
|
|
2
|
+
export { installProjectAuthoringSkill, } from "./authoring-skill.js";
|
|
2
3
|
export { normalizePortableName, renderCompanionSkill, scaffoldAgentPlugin, syncAgentPluginSkill, } from "./agent-plugin.js";
|
|
3
4
|
export { renderServer, scaffoldCodeModeMcp, } from "./scaffold.js";
|
|
5
|
+
export { buildAgentPlugin, } from "./plugin-build.js";
|
|
6
|
+
export { getCursorPluginStatus, installCursorPlugin, uninstallCursorPlugin, } from "./cursor-plugin.js";
|
|
4
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GASrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,mBAAmB,GAKpB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EACL,4BAA4B,GAE7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GASrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,mBAAmB,GAKpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GAKtB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface BuildAgentPluginOptions {
|
|
2
|
+
readonly root: string;
|
|
3
|
+
readonly entrypoint?: string;
|
|
4
|
+
readonly artifactDirectory?: string;
|
|
5
|
+
readonly serverName?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BuildAgentPluginResult {
|
|
8
|
+
readonly root: string;
|
|
9
|
+
readonly artifactDirectory: string;
|
|
10
|
+
readonly entrypoint: string;
|
|
11
|
+
readonly server: string;
|
|
12
|
+
readonly bytes: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Bundles a generated CodeModeKit server and copies its portable Agent Plugin
|
|
16
|
+
* components into a dependency-free distribution directory.
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildAgentPlugin(options: BuildAgentPluginOptions): Promise<BuildAgentPluginResult>;
|
|
19
|
+
//# sourceMappingURL=plugin-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-build.d.ts","sourceRoot":"","sources":["../src/plugin-build.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CA6FjC"}
|