@elaraai/east-plugin 1.0.89 → 1.0.90

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 CHANGED
@@ -2,26 +2,30 @@
2
2
 
3
3
  The common implementation used by [`east-claude-plugin`](../east-claude-plugin) and [`east-codex-plugin`](../east-codex-plugin), published as `@elaraai/east-plugin` for a Claude Code or Codex plugin that builds on East's (see [Building on East's plugin](#building-on-easts-plugin)). It is not an agent plugin itself.
4
4
 
5
- - `lib/`: project detection, search, review and deduplication, daemon client, Python diagnostics, status, transcript helpers, the stdio LSP client, the search-first guidance and hooks (Claude Code's in `search-hooks.ts`, Codex's in `codex-hook.ts`), and the Codex skill adapter (`codex-skills.ts`).
5
+ - `lib/`: project detection, search, review and deduplication, daemon client, Python diagnostics, status, transcript helpers, the stdio LSP client, the search-first guidance and hooks (Claude Code's in `search-hooks.ts`, Codex's in `codex-hook.ts`), the Codex skill adapter (`codex-skills.ts`), and the plugin assembler (`package.ts`).
6
6
  - `hooks/`: common lifecycle and Claude tool adapters. Codex's one tool hook is `east-codex-plugin/hooks/codex-tools.ts`, over `lib/codex-hook.ts` and `lib/codex-tools.ts` (patch and shell normalization).
7
7
  - `daemon/`: TypeScript/TSX LSP, Python LSP launcher and resident diagnostics server.
8
8
  - `mcp/`: example search, retrieval, status and the real LSP bridge; the search and retrieval tools are `example-tools.ts`'s, for any server.
9
- - `skills/`: the four plugin-native skills plus symlinks to package-owned skills.
10
- - `scripts/`: the sole index generator, Python renderer, asset sync and CLI installation/update implementations.
11
- - `index.json`: canonical generated corpus. Both plugins ship generated copies for independent installation, and the published package ships it for a plugin that serves East's corpus beside its own.
9
+ - `skills/`: the one skill catalog — the four plugin-native skills plus symlinks to the package-owned skills.
10
+ - `scripts/`: the sole index generator, Python renderer, the assembler driver (`package.ts`) and CLI installation/update implementations.
11
+ - `index.json`: the canonical generated corpus, the one committed artifact. Each assembled plugin ships a copy, and the published package ships it for a plugin that serves East's corpus beside its own.
12
+ - `marketplace/` (ignored): both plugins assembled as the hosts install them, `east-claude-plugin/` and `east-codex-plugin/`, with marketplace files naming them — a local marketplace for Claude Code and Codex under the catalog's names (`elaraai`, `elaraai-codex`), so a maintainer points either name at the checkout or at the catalog.
12
13
 
13
- Host runtime files are thin package re-exports, inlined by esbuild. They must not grow independent copies of shared behavior. `hostText` translates host-facing tool and skill names at the output boundary. Generated host bundles and indexes intentionally contain duplicated bytes so installed plugins do not depend on this workspace package.
14
+ Host runtime files are thin package re-exports, inlined by esbuild. They must not grow independent copies of shared behavior. `hostText` translates host-facing tool and skill names at the output boundary. The assembled plugins intentionally contain duplicated bytes so an installed plugin does not depend on this workspace package.
14
15
 
15
16
  ```bash
16
17
  pnpm --filter @elaraai/east-plugin run build
17
- pnpm --filter @elaraai/east-plugin run generate-index
18
- pnpm --filter @elaraai/east-claude-plugin run bundle
19
- pnpm --filter @elaraai/east-codex-plugin run bundle
18
+ pnpm --filter @elaraai/east-plugin run generate-index # → index.json (commit it)
19
+ make -C libs/east-plugin package # both hosts' bundles + the assembled plugins under marketplace/
20
20
  ```
21
21
 
22
- Index generation requires built examples and the Python environment, as documented in either host README. After runtime changes, build this package before bundling hosts. Codex `build` and Claude `build` do that automatically; a root recursive build follows the workspace dependency graph.
22
+ Index generation requires built examples and the Python environment, as documented in either host README. After runtime changes, build this package before bundling hosts. Codex `build` and Claude `build` do that automatically, and assemble their own plugin; a root recursive build follows the workspace dependency graph.
23
23
 
24
- Edit the skill's owning library, or its native source here. Claude skill links resolve here or directly to their owning packages. Codex materializes and adapts the same sources at bundle time. Run both host test suites after changes to shared behavior.
24
+ Edit the skill's owning library, or its native source here. Claude Code's plugin copies the catalog through its links at package time; Codex's materializes and adapts the same sources then. Nothing generated is committed under either host. Run both host test suites after changes to shared behavior: they run over the assembled plugins.
25
+
26
+ ### Publishing
27
+
28
+ The release publishes the assembled directories as they are — `@elaraai/east-claude-plugin` and `@elaraai/east-codex-plugin` on the lockstep version, with `scripts/publish-plugins.mjs` — and the public catalog [elaraai/plugins](https://github.com/elaraai/plugins) lists each as an `npm` source pinned at its released version, for both hosts. A new package name is bootstrapped once by hand (`scripts/bootstrap-plugins-npm.mjs`) before trusted publishing can be configured for it.
25
29
 
26
30
  ## Building on East's plugin
27
31
 
@@ -73,6 +77,19 @@ The search and fetch tools register on any MCP server with `registerExampleTools
73
77
 
74
78
  `EAST_INDEX_PATH` names the installed package's `index.json`. A bundled server, as East's plugins bundle theirs, copies that file into the plugin at build time and reads it from there.
75
79
 
80
+ ### The package
81
+
82
+ A plugin a host installs is one directory with every file real and nothing depended on. `assemblePlugin` (`@elaraai/east-plugin/lib/package`) writes it from your plugin's source — its manifest directory, its esbuild `.build/`, and each of `hooks/hooks.json`, `.mcp.json`, `.lsp.json`, README, LICENSE and (Claude Code) `commands/` and `agents/` it has — your skills catalog (symlinks followed, a linked skill directory's included; adapted in your names for Codex), and your index, with a generated `package.json` that has no dependency. It is staged beside `out` and moved into place once complete, so a failure leaves an earlier assembly as it was; an `out` holding anything but an earlier assembly, or overlapping the source, is refused:
83
+
84
+ ```ts
85
+ import { assemblePlugin } from "@elaraai/east-plugin/lib/package";
86
+
87
+ await assemblePlugin({ host: "claude", source: "packages/acme-claude-plugin", skills: "packages/acme-plugin/skills", index: "packages/acme-plugin/index.json", out: "marketplace/acme-claude-plugin" });
88
+ await assemblePlugin({ host: "codex", source: "packages/acme-codex-plugin", skills: "packages/acme-plugin/skills", index: "packages/acme-plugin/index.json", out: "marketplace/acme-codex-plugin", names: ACME });
89
+ ```
90
+
91
+ Publish each directory with `npm publish <dir> --access public` on your release, and list the packages in the [elaraai/plugins](https://github.com/elaraai/plugins) catalog, which pins each at its released version for both hosts. The same directories, beside a `.claude-plugin/marketplace.json` and `.agents/plugins/marketplace.json` with relative sources, are a local marketplace for development, as East's `scripts/package.ts` writes one.
92
+
76
93
  ### The hooks
77
94
 
78
95
  Claude Code runs a hook per event. Each is the shared function, configured with your names:
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The value after `flag` in `args`, if the flag is given.
3
+ *
4
+ * @param args - The command line, without the program
5
+ * @param flag - The flag, `--out` say
6
+ * @returns The value after the flag, or undefined when the flag is absent
7
+ * @throws {Error} When the flag is given with no value after it
8
+ */
9
+ export declare function argument(args: string[], flag: string): string | undefined;
10
+ //# sourceMappingURL=args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../lib/args.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMzE"}
@@ -0,0 +1,19 @@
1
+ // The one command-line convention of this package's scripts: `--flag value`.
2
+ /**
3
+ * The value after `flag` in `args`, if the flag is given.
4
+ *
5
+ * @param args - The command line, without the program
6
+ * @param flag - The flag, `--out` say
7
+ * @returns The value after the flag, or undefined when the flag is absent
8
+ * @throws {Error} When the flag is given with no value after it
9
+ */
10
+ export function argument(args, flag) {
11
+ const idx = args.indexOf(flag);
12
+ if (idx === -1)
13
+ return undefined;
14
+ const value = args[idx + 1];
15
+ if (value === undefined)
16
+ throw new Error(`${flag} needs a value`);
17
+ return value;
18
+ }
19
+ //# sourceMappingURL=args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../lib/args.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAc,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -26,8 +26,8 @@ export declare const EAST_SKILL_NAMES: SkillNames;
26
26
  export declare function adaptSkill(text: string, names?: SkillNames): string;
27
27
  /**
28
28
  * Writes a Codex plugin's skills as real files: every skill directory under
29
- * `sources`, its Markdown adapted and every other file copied through any
30
- * symlink.
29
+ * `sources` (a linked one included), its Markdown adapted and every other
30
+ * file copied through any symlink.
31
31
  *
32
32
  * @param sources - The directory of skill directories, as written for Claude Code
33
33
  * @param target - The Codex plugin's `skills` directory
@@ -35,4 +35,15 @@ export declare function adaptSkill(text: string, names?: SkillNames): string;
35
35
  * @returns The skills written, by directory name
36
36
  */
37
37
  export declare function materializeSkills(sources: string, target: string, names?: SkillNames): Promise<string[]>;
38
+ /**
39
+ * Writes a Claude Code plugin's skills as real files: every skill directory
40
+ * under `sources` (a linked one included), every file copied as it is through
41
+ * any symlink — a plugin is installed by copying, and a link that leaves it
42
+ * is dropped.
43
+ *
44
+ * @param sources - The directory of skill directories, as written for Claude Code
45
+ * @param target - The plugin's `skills` directory
46
+ * @returns The skills written, by directory name
47
+ */
48
+ export declare function copySkills(sources: string, target: string): Promise<string[]>;
38
49
  //# sourceMappingURL=codex-skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex-skills.d.ts","sourceRoot":"","sources":["../../lib/codex-skills.ts"],"names":[],"mappings":"AASA,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,uGAAuG;IACvG,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oBAAoB;AACpB,eAAO,MAAM,gBAAgB,EAAE,UAM9B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,UAA6B,GAAG,MAAM,CA0BrF;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,UAA6B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBhI"}
1
+ {"version":3,"file":"codex-skills.d.ts","sourceRoot":"","sources":["../../lib/codex-skills.ts"],"names":[],"mappings":"AASA,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,uGAAuG;IACvG,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oBAAoB;AACpB,eAAO,MAAM,gBAAgB,EAAE,UAM9B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,UAA6B,GAAG,MAAM,CA0BrF;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,UAA6B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEhI;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnF"}
@@ -1,4 +1,4 @@
1
- import { readdir, readFile, mkdir, writeFile, cp } from "node:fs/promises";
1
+ import { readdir, readFile, mkdir, writeFile, cp, stat } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  /** East's names. */
4
4
  export const EAST_SKILL_NAMES = {
@@ -49,8 +49,8 @@ export function adaptSkill(text, names = EAST_SKILL_NAMES) {
49
49
  }
50
50
  /**
51
51
  * Writes a Codex plugin's skills as real files: every skill directory under
52
- * `sources`, its Markdown adapted and every other file copied through any
53
- * symlink.
52
+ * `sources` (a linked one included), its Markdown adapted and every other
53
+ * file copied through any symlink.
54
54
  *
55
55
  * @param sources - The directory of skill directories, as written for Claude Code
56
56
  * @param target - The Codex plugin's `skills` directory
@@ -58,18 +58,35 @@ export function adaptSkill(text, names = EAST_SKILL_NAMES) {
58
58
  * @returns The skills written, by directory name
59
59
  */
60
60
  export async function materializeSkills(sources, target, names = EAST_SKILL_NAMES) {
61
+ return writeSkills(sources, target, (text) => adaptSkill(text, names));
62
+ }
63
+ /**
64
+ * Writes a Claude Code plugin's skills as real files: every skill directory
65
+ * under `sources` (a linked one included), every file copied as it is through
66
+ * any symlink — a plugin is installed by copying, and a link that leaves it
67
+ * is dropped.
68
+ *
69
+ * @param sources - The directory of skill directories, as written for Claude Code
70
+ * @param target - The plugin's `skills` directory
71
+ * @returns The skills written, by directory name
72
+ */
73
+ export async function copySkills(sources, target) {
74
+ return writeSkills(sources, target, null);
75
+ }
76
+ async function writeSkills(sources, target, adapt) {
61
77
  const written = [];
62
78
  for (const entry of await readdir(sources, { withFileTypes: true })) {
63
- if (!entry.isDirectory())
64
- continue;
65
79
  const source = join(sources, entry.name);
80
+ // Through a link: a catalog may link a whole skill directory, not only its files.
81
+ if (!(await stat(source)).isDirectory())
82
+ continue;
66
83
  const skill = join(target, entry.name);
67
84
  await mkdir(skill, { recursive: true });
68
85
  for (const file of await readdir(source, { withFileTypes: true })) {
69
86
  const input = join(source, file.name);
70
87
  const output = join(skill, file.name);
71
- if (file.name.endsWith('.md'))
72
- await writeFile(output, adaptSkill(await readFile(input, 'utf8'), names));
88
+ if (adapt !== null && file.name.endsWith('.md'))
89
+ await writeFile(output, adapt(await readFile(input, 'utf8')));
73
90
  else
74
91
  await cp(input, output, { recursive: true, dereference: true });
75
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-skills.js","sourceRoot":"","sources":["../../lib/codex-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-skills.js","sourceRoot":"","sources":["../../lib/codex-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsBjC,oBAAoB;AACpB,MAAM,CAAC,MAAM,gBAAgB,GAAe;IAC1C,gBAAgB,EAAE,yBAAyB;IAC3C,iBAAiB,EAAE,QAAQ;IAC3B,gBAAgB,EAAE,qBAAqB;IACvC,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE,mBAAmB;CACjC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,QAAoB,gBAAgB;IAC3E,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC/C,UAAU,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,CAAC;SAC3D,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC;SACjD,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;SAClC,UAAU,CAAC,qCAAqC,EAAE,yCAAyC,CAAC;SAC5F,UAAU,CAAC,uBAAuB,EAAE,kDAAkD,CAAC;SACvF,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC;SAC3C,UAAU,CAAC,4BAA4B,EAAE,sBAAsB,CAAC;SAChE,OAAO,CAAC,sEAAsE,EAAE,0EAA0E,CAAC;SAC3J,UAAU,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/D,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QACxF,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAW,CAAC;QAC7C,IAAI,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrE,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YAC9B,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,iCAAiC,CAAC;QACrG,CAAC;QACD,IAAI,WAAW,KAAK,QAAQ;YAAE,OAAO,GAAG,gCAAgC,QAAQ,IAAI,CAAC;QACrF,OAAO,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,mFAAmF;IACnF,OAAO,WAAW,CAAC,CAAC,CAAE,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAc,EAAE,QAAoB,gBAAgB;IAC3G,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,MAAc;IAC9D,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,MAAc,EAAE,KAAwC;IAClG,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,kFAAkF;QAClF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;;gBAC1G,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { type SkillNames } from "./codex-skills.js";
2
+ /** The host a plugin is assembled for. */
3
+ export type PluginHost = "claude" | "codex";
4
+ /** The `package.json` written into an assembled plugin. */
5
+ export interface AssembledManifest {
6
+ name: string;
7
+ version: string;
8
+ description?: string;
9
+ license?: string;
10
+ type: "module";
11
+ author?: unknown;
12
+ homepage?: string;
13
+ repository?: {
14
+ type: "git";
15
+ url: string;
16
+ directory?: string;
17
+ };
18
+ keywords?: string[];
19
+ engines: {
20
+ node: string;
21
+ };
22
+ files: string[];
23
+ }
24
+ /** How a plugin is assembled. */
25
+ export interface AssembleOptions {
26
+ /** The host the plugin is for: which manifest directory it has, and how its skills are written. */
27
+ host: PluginHost;
28
+ /**
29
+ * The plugin's source directory: its manifest directory (`.claude-plugin`
30
+ * or `.codex-plugin`), its bundled `.build/`, the `package.json` whose
31
+ * `name` the package takes, and — each when it has one — `hooks/hooks.json`,
32
+ * `.mcp.json`, `.lsp.json`, `README.md`, `LICENSE.md`, and for Claude Code
33
+ * its `commands/` and `agents/`.
34
+ */
35
+ source: string;
36
+ /** The directory of skill directories, as written for Claude Code (symlinks into the owning packages allowed, a whole skill directory's included). */
37
+ skills: string;
38
+ /** The example index to ship as the plugin's `index.json`, when it serves one. */
39
+ index?: string;
40
+ /**
41
+ * The directory written. An earlier assembly there is replaced, anything
42
+ * else is refused, and so is a directory that overlaps the source, the
43
+ * skills or the index. It is written whole or not at all: the plugin is
44
+ * staged beside it and moved into place once complete.
45
+ */
46
+ out: string;
47
+ /** The names a Codex plugin's skills are adapted in (default East's). Ignored for Claude Code. */
48
+ names?: SkillNames;
49
+ /** The npm package name (default the source `package.json`'s). */
50
+ packageName?: string;
51
+ }
52
+ /** The manifest directory of each host. */
53
+ export declare const MANIFEST_DIR: Record<PluginHost, string>;
54
+ /**
55
+ * Every path under `dir` that is a symbolic link, relative to it — an
56
+ * assembled plugin must hold none, since a host copies it without following
57
+ * links that leave it.
58
+ *
59
+ * @param dir - The directory walked
60
+ * @returns The links found, relative paths, in walk order
61
+ */
62
+ export declare function symlinksUnder(dir: string): Promise<string[]>;
63
+ /**
64
+ * Assembles a plugin directory a host installs: the source's manifests and
65
+ * bundles, the skills as real files (adapted for Codex), the index, and a
66
+ * generated `package.json` with no dependency, so the directory publishes to
67
+ * npm as it is and serves from a local marketplace as it is. The plugin is
68
+ * staged beside `out` and moved into place once complete, so a failure
69
+ * leaves the earlier assembly as it was and nothing half-written.
70
+ *
71
+ * @param options - The plugin's source, skills, index and destination
72
+ * @returns The `package.json` written
73
+ * @throws {Error} When the source lacks its manifest or its `.build/`, when `out` holds something that is not an earlier assembly, or when `out` overlaps the source, the skills or the index
74
+ */
75
+ export declare function assemblePlugin(options: AssembleOptions): Promise<AssembledManifest>;
76
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../lib/package.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQnF,0CAA0C;AAC1C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAqB5C,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,mGAAmG;IACnG,IAAI,EAAE,UAAU,CAAC;IACjB;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,sJAAsJ;IACtJ,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,kGAAkG;IAClG,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAYD,2CAA2C;AAC3C,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAGnD,CAAC;AAYF;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyCzF"}
@@ -0,0 +1,180 @@
1
+ import { cp, mkdir, readdir, readFile, rename, rm, writeFile } from "node:fs/promises";
2
+ import { existsSync } from "node:fs";
3
+ import { isAbsolute, join, relative, resolve } from "node:path";
4
+ import { copySkills, materializeSkills } from "./codex-skills.js";
5
+ /**
6
+ * What a host's plugin directory may hold beyond its manifest directory, its
7
+ * bundles and its skills, each copied when the source has it: a file at the
8
+ * root, or a directory of the host's own content.
9
+ */
10
+ const OPTIONAL_PARTS = {
11
+ claude: [".mcp.json", ".lsp.json", "commands", "agents"],
12
+ codex: [".mcp.json", ".lsp.json"],
13
+ };
14
+ /** The manifest directory of each host. */
15
+ export const MANIFEST_DIR = {
16
+ claude: ".claude-plugin",
17
+ codex: ".codex-plugin",
18
+ };
19
+ async function readJson(path) {
20
+ return JSON.parse(await readFile(path, "utf8"));
21
+ }
22
+ /** Whether `child` is `parent` or lies under it. */
23
+ function within(parent, child) {
24
+ const rel = relative(parent, child);
25
+ return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel));
26
+ }
27
+ /**
28
+ * Every path under `dir` that is a symbolic link, relative to it — an
29
+ * assembled plugin must hold none, since a host copies it without following
30
+ * links that leave it.
31
+ *
32
+ * @param dir - The directory walked
33
+ * @returns The links found, relative paths, in walk order
34
+ */
35
+ export async function symlinksUnder(dir) {
36
+ const found = [];
37
+ const walk = async (at) => {
38
+ for (const entry of await readdir(at, { withFileTypes: true })) {
39
+ const path = join(at, entry.name);
40
+ if (entry.isSymbolicLink())
41
+ found.push(relative(dir, path));
42
+ else if (entry.isDirectory())
43
+ await walk(path);
44
+ }
45
+ };
46
+ await walk(dir);
47
+ return found;
48
+ }
49
+ /**
50
+ * Assembles a plugin directory a host installs: the source's manifests and
51
+ * bundles, the skills as real files (adapted for Codex), the index, and a
52
+ * generated `package.json` with no dependency, so the directory publishes to
53
+ * npm as it is and serves from a local marketplace as it is. The plugin is
54
+ * staged beside `out` and moved into place once complete, so a failure
55
+ * leaves the earlier assembly as it was and nothing half-written.
56
+ *
57
+ * @param options - The plugin's source, skills, index and destination
58
+ * @returns The `package.json` written
59
+ * @throws {Error} When the source lacks its manifest or its `.build/`, when `out` holds something that is not an earlier assembly, or when `out` overlaps the source, the skills or the index
60
+ */
61
+ export async function assemblePlugin(options) {
62
+ const { host, skills, index } = options;
63
+ const source = resolve(options.source);
64
+ const out = resolve(options.out);
65
+ const manifestDir = MANIFEST_DIR[host];
66
+ const manifestPath = join(source, manifestDir, "plugin.json");
67
+ if (!existsSync(manifestPath))
68
+ throw new Error(`${source} has no ${manifestDir}/plugin.json`);
69
+ if (!existsSync(join(source, ".build")))
70
+ throw new Error(`${source} has no .build/ — bundle the plugin first (pnpm run bundle)`);
71
+ for (const [what, path] of [["source", source], ["skills", resolve(skills)], ...(index === undefined ? [] : [["index", resolve(index)]])]) {
72
+ if (within(out, path) || within(path, out))
73
+ throw new Error(`Refusing to assemble into ${out}: it overlaps the ${what} ${path}`);
74
+ }
75
+ const plugin = await readJson(manifestPath);
76
+ const sourcePkg = existsSync(join(source, "package.json")) ? await readJson(join(source, "package.json")) : {};
77
+ const name = options.packageName ?? sourcePkg.name;
78
+ if (name === undefined)
79
+ throw new Error(`${source}: no package name — give packageName or a package.json with a name`);
80
+ if (plugin.version === undefined)
81
+ throw new Error(`${manifestPath} has no version`);
82
+ // Refused before anything is written, so a wrong `out` loses nothing.
83
+ if (existsSync(out)) {
84
+ const earlier = join(out, "package.json");
85
+ const assembled = existsSync(earlier) && (await readJson(earlier)).name === name;
86
+ if (!assembled && (await readdir(out)).length > 0) {
87
+ throw new Error(`Refusing to replace ${out}: it is not an earlier assembly of ${name}`);
88
+ }
89
+ }
90
+ // Staged beside `out` (the same file system, so the move is a rename); a
91
+ // run that died mid-way left its staging directory, which is ours to drop.
92
+ const staging = `${out}.assembling`;
93
+ await rm(staging, { recursive: true, force: true });
94
+ await mkdir(staging, { recursive: true });
95
+ let manifest;
96
+ try {
97
+ manifest = await writePlugin(options, source, staging, name, plugin.version, plugin, sourcePkg);
98
+ }
99
+ catch (error) {
100
+ await rm(staging, { recursive: true, force: true });
101
+ throw error;
102
+ }
103
+ await rm(out, { recursive: true, force: true });
104
+ await rename(staging, out);
105
+ return manifest;
106
+ }
107
+ /** Writes the plugin into `out` (the staging directory) and returns its manifest. */
108
+ async function writePlugin(options, source, out, name, version, plugin, sourcePkg) {
109
+ const { host, skills, index } = options;
110
+ const manifestDir = MANIFEST_DIR[host];
111
+ const files = [manifestDir, ".build"];
112
+ await cp(join(source, manifestDir), join(out, manifestDir), { recursive: true, dereference: true });
113
+ await cp(join(source, ".build"), join(out, ".build"), { recursive: true, dereference: true });
114
+ if (existsSync(join(source, "hooks", "hooks.json"))) {
115
+ await mkdir(join(out, "hooks"));
116
+ await cp(join(source, "hooks", "hooks.json"), join(out, "hooks", "hooks.json"), { dereference: true });
117
+ files.push("hooks");
118
+ }
119
+ files.push("skills");
120
+ if (host === "codex")
121
+ await materializeSkills(skills, join(out, "skills"), options.names);
122
+ else
123
+ await copySkills(skills, join(out, "skills"));
124
+ for (const part of OPTIONAL_PARTS[host]) {
125
+ if (!existsSync(join(source, part)))
126
+ continue;
127
+ await cp(join(source, part), join(out, part), { recursive: true, dereference: true });
128
+ files.push(part);
129
+ }
130
+ for (const file of ["README.md", "LICENSE.md"]) {
131
+ if (existsSync(join(source, file)))
132
+ await cp(join(source, file), join(out, file), { dereference: true });
133
+ }
134
+ if (index !== undefined) {
135
+ await cp(index, join(out, "index.json"), { dereference: true });
136
+ files.push("index.json");
137
+ }
138
+ const repository = plugin.repository ?? sourcePkg.repository;
139
+ const manifest = {
140
+ name,
141
+ version,
142
+ ...(plugin.description !== undefined && { description: plugin.description }),
143
+ ...((sourcePkg.license ?? plugin.license) !== undefined && { license: sourcePkg.license ?? plugin.license }),
144
+ type: "module",
145
+ ...(plugin.author !== undefined && { author: plugin.author }),
146
+ ...(plugin.homepage !== undefined && { homepage: plugin.homepage }),
147
+ ...(repository !== undefined && { repository: gitRepository(repository) }),
148
+ ...(plugin.keywords !== undefined && { keywords: plugin.keywords }),
149
+ engines: { node: ">=22.0.0" },
150
+ files,
151
+ };
152
+ await writeFile(join(out, "package.json"), `${JSON.stringify(manifest, null, 2)}\n`);
153
+ const links = await symlinksUnder(out);
154
+ if (links.length > 0)
155
+ throw new Error(`${options.out} would hold symbolic links: ${links.join(", ")}`);
156
+ return manifest;
157
+ }
158
+ /**
159
+ * A manifest's repository as npm expects it: a GitHub shorthand
160
+ * (`owner/repo`, `github:owner/repo`) and an `https` URL become the
161
+ * `git+https://github.com/owner/repo.git` form npm's provenance matches
162
+ * against; any other form (`git+ssh://`, `git@host:`, `gitlab:`) is npm's
163
+ * own and passes through as written.
164
+ */
165
+ function gitRepository(repository) {
166
+ if (typeof repository === "string") {
167
+ const shorthand = /^(?:github:)?([\w.-]+\/[\w.-]+?)(?:\.git)?$/.exec(repository);
168
+ if (shorthand)
169
+ return { type: "git", url: `git+https://github.com/${shorthand[1]}.git` };
170
+ if (/^(git\+)?https?:\/\//.test(repository)) {
171
+ const url = repository.startsWith("git+") ? repository : `git+${repository}`;
172
+ return { type: "git", url: `${url.replace(/\.git$/, "")}.git` };
173
+ }
174
+ return { type: "git", url: repository };
175
+ }
176
+ if (repository.url === undefined)
177
+ throw new Error("a repository object needs a url");
178
+ return { type: "git", url: repository.url, ...(repository.directory !== undefined && { directory: repository.directory }) };
179
+ }
180
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../lib/package.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-index.d.ts","sourceRoot":"","sources":["../../scripts/generate-index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAYH,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,2IAA2I;IAC3I,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,qJAAqJ;IACrJ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,sJAAsJ;AACtJ,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;IAClD,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qFAAqF;IACrF,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;CACzB;AAqHD,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACjC,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,MAAM,EAAE,WAAW,CAAC;IACpB,sFAAsF;IACtF,aAAa,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyGvF"}
1
+ {"version":3,"file":"generate-index.d.ts","sourceRoot":"","sources":["../../scripts/generate-index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAaH,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,2IAA2I;IAC3I,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,qJAAqJ;IACrJ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,sJAAsJ;AACtJ,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;OAKG;IACH,SAAS,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;IAClD,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qFAAqF;IACrF,SAAS,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACjE,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;CACzB;AAqHD,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACjC,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,MAAM,EAAE,WAAW,CAAC;IACpB,sFAAsF;IACtF,aAAa,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyGvF"}
@@ -41,6 +41,7 @@ import * as path from "node:path";
41
41
  import { fileURLToPath, pathToFileURL } from "node:url";
42
42
  import { Expr, IRType, toJSONFor, toEastTypeValue, toSource, typeSource } from "@elaraai/east";
43
43
  import { parseExamplesFile } from "./examples-file.js";
44
+ import { argument } from "../lib/args.js";
44
45
  // ---------------------------------------------------------------------------
45
46
  // Glob-style pattern matching (minimal, supports * and **)
46
47
  // ---------------------------------------------------------------------------
@@ -264,16 +265,6 @@ export async function generateIndex(options) {
264
265
  // ---------------------------------------------------------------------------
265
266
  // CLI
266
267
  // ---------------------------------------------------------------------------
267
- /** The value after `flag`, if given. */
268
- function argument(args, flag) {
269
- const idx = args.indexOf(flag);
270
- if (idx === -1)
271
- return undefined;
272
- const value = args[idx + 1];
273
- if (value === undefined)
274
- throw new Error(`${flag} needs a value`);
275
- return value;
276
- }
277
268
  async function main() {
278
269
  const args = process.argv.slice(2);
279
270
  const baseDir = argument(args, "--base-dir");
@@ -1 +1 @@
1
- {"version":3,"file":"generate-index.js","sourceRoot":"","sources":["../../scripts/generate-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-index.js","sourceRoot":"","sources":["../../scripts/generate-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../scripts/package.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Assembles East's plugins as the hosts install them — the directories a
4
+ * release publishes as `@elaraai/east-claude-plugin` and
5
+ * `@elaraai/east-codex-plugin` — under `libs/east-plugin/marketplace/`, and
6
+ * writes that directory's marketplace files, so a checkout is a local
7
+ * marketplace for both hosts, under the catalog's names — a maintainer swaps
8
+ * the source of `elaraai` between the catalog and a checkout with one
9
+ * `marketplace add`, and `east@elaraai` stays the plugin (#1309):
10
+ *
11
+ * claude plugin marketplace add <checkout>/libs/east-plugin/marketplace
12
+ * codex plugin marketplace add <checkout>/libs/east-plugin/marketplace
13
+ *
14
+ * Usage: node dist/scripts/package.js [--host claude|codex] [--out <dir>]
15
+ * --host assemble one host's plugin (default both)
16
+ * --out the marketplace directory (default libs/east-plugin/marketplace);
17
+ * a directory this script wrote before, or an empty or absent one —
18
+ * anything else there is refused, since the plugins and the
19
+ * marketplace files replace what they find
20
+ *
21
+ * Each host's `.build/` must exist (pnpm --filter <host> run bundle).
22
+ */
23
+ import { existsSync } from "node:fs";
24
+ import { mkdir, readdir, writeFile } from "node:fs/promises";
25
+ import { dirname, join, resolve } from "node:path";
26
+ import { fileURLToPath } from "node:url";
27
+ import { argument } from "../lib/args.js";
28
+ import { assemblePlugin } from "../lib/package.js";
29
+ // dist/scripts/package.js → libs/east-plugin
30
+ const root = resolve(dirname(fileURLToPath(import.meta.url)), "..", "..");
31
+ const libs = resolve(root, "..");
32
+ /** East's plugins: the host, its source package, and the package it is published as. */
33
+ const PLUGINS = {
34
+ claude: { source: join(libs, "east-claude-plugin"), dir: "east-claude-plugin", plugin: "east" },
35
+ codex: { source: join(libs, "east-codex-plugin"), dir: "east-codex-plugin", plugin: "east-codex-plugin" },
36
+ };
37
+ /** What this script writes under the marketplace directory: the plugins and the marketplace files, and nothing else may be there. */
38
+ const WRITTEN = new Set([PLUGINS.claude.dir, PLUGINS.codex.dir, `${PLUGINS.claude.dir}.assembling`, `${PLUGINS.codex.dir}.assembling`, ".claude-plugin", ".agents"]);
39
+ const OWNER = { name: "Elara AI", email: "support@elara.ai", url: "https://elaraai.com" };
40
+ const DESCRIPTION = "East programming language ecosystem - types, expressions, Node.js/Python runtimes, UI components, and durable execution";
41
+ const args = process.argv.slice(2);
42
+ const host = argument(args, "--host");
43
+ if (host !== undefined && host !== "claude" && host !== "codex") {
44
+ console.error(`--host takes claude or codex, not ${host}`);
45
+ process.exit(2);
46
+ }
47
+ const out = resolve(argument(args, "--out") ?? join(root, "marketplace"));
48
+ const hosts = host === undefined ? ["claude", "codex"] : [host];
49
+ // Refused before anything is written: a plugin source, a package, the repo
50
+ // root — each holds what no assembly wrote, and would lose it.
51
+ if (existsSync(out)) {
52
+ const foreign = (await readdir(out)).filter((name) => !WRITTEN.has(name));
53
+ if (foreign.length > 0) {
54
+ console.error(`Refusing to write a marketplace into ${out}: it holds ${foreign.join(", ")}, which no assembly wrote`);
55
+ process.exit(2);
56
+ }
57
+ }
58
+ for (const which of hosts) {
59
+ const { source, dir } = PLUGINS[which];
60
+ const manifest = await assemblePlugin({
61
+ host: which,
62
+ source,
63
+ skills: join(root, "skills"),
64
+ index: join(root, "index.json"),
65
+ out: join(out, dir),
66
+ });
67
+ console.log(`assembled ${manifest.name}@${manifest.version} → ${join(out, dir)}`);
68
+ }
69
+ // The marketplace files name every plugin assembled here, so a host added to
70
+ // this directory installs what is on disk, under the published catalog's
71
+ // names (elaraai, elaraai-codex): one name registers once, and a maintainer
72
+ // points it at a checkout or at the catalog.
73
+ const present = (which) => existsSync(join(out, PLUGINS[which].dir, "package.json"));
74
+ await mkdir(join(out, ".claude-plugin"), { recursive: true });
75
+ await writeFile(join(out, ".claude-plugin", "marketplace.json"), `${JSON.stringify({
76
+ name: "elaraai",
77
+ description: "East's agent plugins, assembled from this checkout",
78
+ owner: OWNER,
79
+ plugins: present("claude") ? [{ name: PLUGINS.claude.plugin, source: `./${PLUGINS.claude.dir}`, description: DESCRIPTION }] : [],
80
+ }, null, 2)}\n`);
81
+ await mkdir(join(out, ".agents", "plugins"), { recursive: true });
82
+ await writeFile(join(out, ".agents", "plugins", "marketplace.json"), `${JSON.stringify({
83
+ name: "elaraai-codex",
84
+ interface: { displayName: "Elara AI (this checkout)" },
85
+ plugins: present("codex") ? [{
86
+ name: PLUGINS.codex.plugin,
87
+ source: { source: "local", path: `./${PLUGINS.codex.dir}` },
88
+ policy: { installation: "AVAILABLE", authentication: "ON_INSTALL" },
89
+ category: "Productivity",
90
+ }] : [],
91
+ }, null, 2)}\n`);
92
+ console.log(`marketplace: ${out} (elaraai, elaraai-codex)`);
93
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../scripts/package.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/east-plugin",
3
- "version": "1.0.89",
3
+ "version": "1.0.90",
4
4
  "license": "AGPL-3.0-or-later",
5
5
  "type": "module",
6
6
  "description": "East's agent plugin runtime — the example index generator, the example search and its MCP tools, the search-first hooks and the Codex skill adapter — for a Claude Code or Codex plugin that builds on East's.",
@@ -43,8 +43,8 @@
43
43
  "@modelcontextprotocol/sdk": "^1.12.1",
44
44
  "minisearch": "^7.1.2",
45
45
  "zod": "^3.0.0",
46
- "@elaraai/east": "1.0.89",
47
- "@elaraai/east-diagnostics": "1.0.89"
46
+ "@elaraai/east": "1.0.90",
47
+ "@elaraai/east-diagnostics": "1.0.90"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "^22.18.1",
@@ -62,7 +62,8 @@
62
62
  },
63
63
  "scripts": {
64
64
  "build": "tsc",
65
- "generate-index": "npm run build && node dist/scripts/generate-index.js --base-dir .. && uv run --project ../east-py python scripts/render-python.py index.json && node scripts/sync-assets.mjs",
66
- "test": "npm run build && node --enable-source-maps --test dist/test/*.spec.js"
65
+ "generate-index": "npm run build && node dist/scripts/generate-index.js --base-dir .. && uv run --project ../east-py python scripts/render-python.py index.json",
66
+ "test": "npm run build && node --enable-source-maps --test dist/test/*.spec.js",
67
+ "package": "node dist/scripts/package.js"
67
68
  }
68
69
  }