@excitedjs/agent-runtime-claude-code 0.6.0 → 0.6.1-beta.204

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/dist/runtime.d.ts CHANGED
@@ -14,7 +14,13 @@ export declare class ClaudeCodeRuntime implements AgentRuntime {
14
14
  private readonly bin;
15
15
  private readonly cwd;
16
16
  private readonly mcpConfigJson;
17
- private readonly skillAddDirRoot;
17
+ /**
18
+ * The materialized Claude view of this runtime's skill sources, or null when
19
+ * it has none. The adapter root is keyed by what the sources hold on disk, so
20
+ * it is only known once `startRuntime` has read them; every spawn happens
21
+ * after that.
22
+ */
23
+ private skillAddDirRoot;
18
24
  private readonly stderrLogPath;
19
25
  private readonly logger;
20
26
  private status;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAgBjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAU/D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EAExB,2BAA2B,EAE3B,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAMlC;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAmClD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAlCvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IACH,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAK;gBAE1B,QAAQ,EAAE,oBAAoB,EACb,IAAI,EAAE,qBAAqB;IA4B9C,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAe1C;;;;OAIG;YACW,YAAY;IA6B1B,OAAO,CAAC,YAAY;IAMd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,8EAA8E;IAC9E,OAAO,CAAC,KAAK;IAQb;;;;;OAKG;YACW,sBAAsB;YA2BtB,WAAW;IAiBzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAIvD,WAAW;IA8CzB,OAAO,CAAC,cAAc;YAUR,eAAe;IAM7B,OAAO,CAAC,oBAAoB;YAYd,aAAa;YAwBb,eAAe;IAyB7B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,0EAA0E;YAC5D,aAAa;YAab,aAAa;IA6E3B,gFAAgF;YAClE,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAMxB;;;;;;;;;OASG;YACW,iBAAiB;YAsBjB,aAAa;IAY3B;;;;;;;;;OASG;YACW,YAAY;IAW1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,GAAG;CAOZ"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAejE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAU/D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EAExB,2BAA2B,EAE3B,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAMlC;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IAyClD,OAAO,CAAC,QAAQ,CAAC,IAAI;IAxCvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC;;;;;OAKG;IACH,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IACH,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwC;IAC1E,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAK;gBAE1B,QAAQ,EAAE,oBAAoB,EACb,IAAI,EAAE,qBAAqB;IAsB9C,KAAK,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAe1C;;;;OAIG;YACW,YAAY;IA6B1B,OAAO,CAAC,YAAY;IAMd,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,8EAA8E;IAC9E,OAAO,CAAC,KAAK;IAQb;;;;;OAKG;YACW,sBAAsB;YA2BtB,WAAW;IAiBzB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAIvD,WAAW;IA8CzB,OAAO,CAAC,cAAc;YAUR,eAAe;IAM7B,OAAO,CAAC,oBAAoB;YAYd,aAAa;YAwBb,eAAe;IAyB7B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,mBAAmB;IAI3B,0EAA0E;YAC5D,aAAa;YAab,aAAa;IA2E3B,gFAAgF;YAClE,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAMxB;;;;;;;;;OASG;YACW,iBAAiB;YAsBjB,aAAa;IAY3B;;;;;;;;;OASG;YACW,YAAY;IAW1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,GAAG;CAOZ"}
package/dist/runtime.js CHANGED
@@ -3,7 +3,6 @@ import { randomUUID } from 'node:crypto';
3
3
  import { join } from 'node:path';
4
4
  import { claudeCodeResidentArgs } from './args.js';
5
5
  import { stringifyClaudeCodeMcpConfig } from './mcp-config.js';
6
- import { skillAdapterKey } from './skill-adapter.js';
7
6
  import { materializeClaudeSkillAddDir } from './skill-materializer.js';
8
7
  import { consoleFallbackLogger } from './logger.js';
9
8
  import { ClaudeSteerAdmissionError } from './rpc.js';
@@ -27,7 +26,13 @@ export class ClaudeCodeRuntime {
27
26
  bin;
28
27
  cwd;
29
28
  mcpConfigJson;
30
- skillAddDirRoot;
29
+ /**
30
+ * The materialized Claude view of this runtime's skill sources, or null when
31
+ * it has none. The adapter root is keyed by what the sources hold on disk, so
32
+ * it is only known once `startRuntime` has read them; every spawn happens
33
+ * after that.
34
+ */
35
+ skillAddDirRoot = null;
31
36
  stderrLogPath;
32
37
  logger;
33
38
  status = 'declared';
@@ -61,7 +66,6 @@ export class ClaudeCodeRuntime {
61
66
  this.config = deps.config;
62
67
  this.bin = deps.resolveBinPath(this.config.bin);
63
68
  this.cwd = deps.cwd;
64
- this.skillAddDirRoot = join(deps.paths.cacheDir(), 'claude-code', 'skills', skillAdapterKey(deps.skillSources ?? []));
65
69
  this.mcpConfigJson = stringifyClaudeCodeMcpConfig(deps.mcpServers);
66
70
  // Compose the resident stream-json child's stderr log under the neutral
67
71
  // central logs root (B2): core no longer names a per-runtime log file. The
@@ -98,7 +102,7 @@ export class ClaudeCodeRuntime {
98
102
  this.assertGeneration(generation);
99
103
  await this.publishStatus('starting');
100
104
  try {
101
- await materializeClaudeSkillAddDir(this.skillAddDirRoot, this.deps.skillSources ?? []);
105
+ this.skillAddDirRoot = await materializeClaudeSkillAddDir(this.deps.paths.cacheDir(), this.deps.skillSources ?? []);
102
106
  this.assertGeneration(generation);
103
107
  // Spawn the resident child up front so the runtime is truly resident
104
108
  // (Codex-aligned). A missing/broken `claude` binary fails here and drives
@@ -392,9 +396,7 @@ export class ClaudeCodeRuntime {
392
396
  ? { resumeSessionId: candidateSessionId }
393
397
  : { freshSessionId: candidateSessionId }),
394
398
  systemPromptAppend: this.deps.systemPromptAppend,
395
- skillAddDirs: (this.deps.skillSources ?? []).length === 0
396
- ? []
397
- : [this.skillAddDirRoot],
399
+ skillAddDirs: this.skillAddDirRoot === null ? [] : [this.skillAddDirRoot],
398
400
  disableFeatures: this.deps.disableFeatures,
399
401
  outputSchema: this.deps.outputSchema,
400
402
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,43 @@
1
1
  import type { AgentRuntimeSkillSource } from '@excitedjs/dreamux-types';
2
- interface SkillAdapterManifest {
3
- version: 1;
4
- key: string;
5
- sources: Array<{
2
+ /**
3
+ * One source root as it exists on disk: the root's own name and absolute path,
4
+ * plus the skill directories under it.
5
+ *
6
+ * The adapter root is keyed by the roots alone, so one set of roots always
7
+ * maps to one directory; the children are recorded in the manifest and
8
+ * compared on every start, because package upgrades happen in place:
9
+ * `npm install --global` can rename the skills under a source root whose own
10
+ * name and path never change, and a view validated by its roots alone would
11
+ * keep serving the previous names forever. A mismatch refreshes the same
12
+ * directory instead of opening a new one.
13
+ */
14
+ interface SkillAdapterSource {
15
+ name: string;
16
+ path: string;
17
+ skills: Array<{
6
18
  name: string;
7
19
  path: string;
8
20
  }>;
9
21
  }
10
- export declare function validateSkillAdapter(root: string, sources: readonly AgentRuntimeSkillSource[]): Promise<boolean>;
11
- export declare function skillAdapterKey(sources: readonly AgentRuntimeSkillSource[]): string;
12
- export declare function uniqueSkillSources(sources: readonly AgentRuntimeSkillSource[]): AgentRuntimeSkillSource[];
13
- export declare function skillAdapterManifest(sources: readonly AgentRuntimeSkillSource[]): SkillAdapterManifest;
14
- export declare function skillDirsInRoot(root: string): Promise<Array<{
15
- name: string;
16
- path: string;
17
- }>>;
22
+ export interface SkillAdapterManifest {
23
+ version: 2;
24
+ key: string;
25
+ sources: SkillAdapterSource[];
26
+ }
27
+ /**
28
+ * Whether the directory at `root` is the current view: a plain directory whose
29
+ * manifest is exactly `expected`. Anything else that occupies the path — a
30
+ * view of an earlier inventory, a manifest of the previous format, a
31
+ * half-written tree — is stale and is reported as such so the caller replaces
32
+ * it. Only a path that is not a plain directory at all is refused, because
33
+ * replacing it would delete something this adapter never wrote.
34
+ */
35
+ export declare function validateSkillAdapter(root: string, expected: SkillAdapterManifest): Promise<boolean>;
36
+ /**
37
+ * Read the adapter's identity from disk — the source roots and the skill
38
+ * directories under each. Every adapter root is keyed by this manifest, so a
39
+ * renamed child lands on a new key instead of reusing the stale view.
40
+ */
41
+ export declare function readSkillAdapterManifest(sources: readonly AgentRuntimeSkillSource[]): Promise<SkillAdapterManifest>;
18
42
  export {};
19
43
  //# sourceMappingURL=skill-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-adapter.d.ts","sourceRoot":"","sources":["../src/skill-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,UAAU,oBAAoB;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,OAAO,CAAC,OAAO,CAAC,CAkDlB;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,MAAM,CAUR;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,uBAAuB,EAAE,CAa3B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,oBAAoB,CAStB;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAKhD"}
1
+ {"version":3,"file":"skill-adapter.d.ts","sourceRoot":"","sources":["../src/skill-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAC1C,OAAO,CAAC,oBAAoB,CAAC,CAE/B"}
@@ -1,7 +1,15 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { lstat, readFile, readdir } from 'node:fs/promises';
3
3
  import { isAbsolute, join, resolve } from 'node:path';
4
- export async function validateSkillAdapter(root, sources) {
4
+ /**
5
+ * Whether the directory at `root` is the current view: a plain directory whose
6
+ * manifest is exactly `expected`. Anything else that occupies the path — a
7
+ * view of an earlier inventory, a manifest of the previous format, a
8
+ * half-written tree — is stale and is reported as such so the caller replaces
9
+ * it. Only a path that is not a plain directory at all is refused, because
10
+ * replacing it would delete something this adapter never wrote.
11
+ */
12
+ export async function validateSkillAdapter(root, expected) {
5
13
  let rootInfo;
6
14
  try {
7
15
  rootInfo = await lstat(root);
@@ -14,60 +22,62 @@ export async function validateSkillAdapter(root, sources) {
14
22
  if (!rootInfo.isDirectory() || rootInfo.isSymbolicLink()) {
15
23
  throw new Error(`invalid Claude skill adapter directory at ${root}`);
16
24
  }
17
- const skillsRoot = join(root, '.claude', 'skills');
18
- const manifest = join(root, '.dreamux-skill-adapter.json');
19
25
  let skillsInfo;
20
26
  try {
21
- skillsInfo = await lstat(skillsRoot);
27
+ skillsInfo = await lstat(join(root, '.claude', 'skills'));
22
28
  }
23
- catch (error) {
24
- throw new Error(`invalid Claude skill adapter directory at ${root}`, {
25
- cause: error,
26
- });
27
- }
28
- if (!skillsInfo.isDirectory() || skillsInfo.isSymbolicLink()) {
29
- throw new Error(`invalid Claude skill adapter directory at ${root}`);
30
- }
31
- let raw;
32
- try {
33
- raw = await readFile(manifest, 'utf8');
34
- }
35
- catch (error) {
36
- throw new Error(`invalid Claude skill adapter manifest at ${manifest}`, {
37
- cause: error,
38
- });
29
+ catch {
30
+ return false;
39
31
  }
32
+ if (!skillsInfo.isDirectory() || skillsInfo.isSymbolicLink())
33
+ return false;
40
34
  let value;
41
35
  try {
42
- value = JSON.parse(raw);
36
+ value = JSON.parse(await readFile(join(root, '.dreamux-skill-adapter.json'), 'utf8'));
43
37
  }
44
- catch (error) {
45
- throw new Error(`invalid Claude skill adapter manifest at ${manifest}`, {
46
- cause: error,
47
- });
38
+ catch {
39
+ return false;
48
40
  }
49
- const expected = skillAdapterManifest(sources);
50
- if (value === null ||
51
- typeof value !== 'object' ||
52
- Array.isArray(value) ||
53
- JSON.stringify(value) !== JSON.stringify(expected)) {
54
- throw new Error(`invalid Claude skill adapter manifest at ${manifest}`);
55
- }
56
- return true;
41
+ return (value !== null &&
42
+ typeof value === 'object' &&
43
+ !Array.isArray(value) &&
44
+ JSON.stringify(value) === JSON.stringify(expected));
45
+ }
46
+ /**
47
+ * Read the adapter's identity from disk — the source roots and the skill
48
+ * directories under each. Every adapter root is keyed by this manifest, so a
49
+ * renamed child lands on a new key instead of reusing the stale view.
50
+ */
51
+ export async function readSkillAdapterManifest(sources) {
52
+ return skillAdapterManifest(await readSkillAdapterInventory(sources));
57
53
  }
58
- export function skillAdapterKey(sources) {
59
- if (sources.length === 0)
60
- return 'empty';
61
- const normalized = uniqueSkillSources(sources).map((source) => ({
62
- name: source.name,
63
- path: resolve(source.path),
54
+ async function readSkillAdapterInventory(sources) {
55
+ return Promise.all(uniqueSkillSources(sources).map(async (source) => {
56
+ const path = resolve(source.path);
57
+ return {
58
+ name: source.name,
59
+ path,
60
+ skills: await skillDirsInRoot(source.name, path),
61
+ };
64
62
  }));
63
+ }
64
+ function skillAdapterManifest(inventory) {
65
+ return { version: 2, key: skillAdapterKey(inventory), sources: inventory };
66
+ }
67
+ /**
68
+ * The key names the directory for one set of roots and nothing else, so the
69
+ * same roots always land in the same place and a refreshed view keeps the path
70
+ * a running child was given. It is the key the version-1 manifests used, so a
71
+ * root left by an earlier release is refreshed in place rather than orphaned.
72
+ */
73
+ function skillAdapterKey(inventory) {
74
+ const roots = inventory.map(({ name, path }) => ({ name, path }));
65
75
  return createHash('sha256')
66
- .update(JSON.stringify(normalized))
76
+ .update(JSON.stringify(roots))
67
77
  .digest('hex')
68
78
  .slice(0, 24);
69
79
  }
70
- export function uniqueSkillSources(sources) {
80
+ function uniqueSkillSources(sources) {
71
81
  const byRoot = new Map();
72
82
  for (const source of sources) {
73
83
  if (!isAbsolute(source.path)) {
@@ -76,23 +86,29 @@ export function uniqueSkillSources(sources) {
76
86
  byRoot.set(resolve(source.path), source);
77
87
  }
78
88
  return [...byRoot.entries()]
79
- .sort(([a], [b]) => a.localeCompare(b))
89
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
80
90
  .map(([, source]) => source);
81
91
  }
82
- export function skillAdapterManifest(sources) {
83
- return {
84
- version: 1,
85
- key: skillAdapterKey(sources),
86
- sources: uniqueSkillSources(sources).map((source) => ({
87
- name: source.name,
88
- path: resolve(source.path),
89
- })),
90
- };
91
- }
92
- export async function skillDirsInRoot(root) {
93
- const entries = await readdir(root, { withFileTypes: true });
92
+ /**
93
+ * The child skills of one root in code-point order: the key hashes this list,
94
+ * so the order must not depend on the process locale.
95
+ *
96
+ * The roots are read on every start, so a custom root that was deleted or
97
+ * moved after the Team was created stops the start here; the error names the
98
+ * source so the operator knows which `skill_sources` entry to repair.
99
+ */
100
+ async function skillDirsInRoot(name, root) {
101
+ let entries;
102
+ try {
103
+ entries = await readdir(root, { withFileTypes: true });
104
+ }
105
+ catch (error) {
106
+ throw new Error(`skill source ${JSON.stringify(name)} root ${root} cannot be read: ` +
107
+ (error instanceof Error ? error.message : String(error)), { cause: error });
108
+ }
94
109
  return entries
95
110
  .filter((entry) => entry.isDirectory())
96
- .map((entry) => ({ name: entry.name, path: join(root, entry.name) }));
111
+ .map((entry) => ({ name: entry.name, path: join(root, entry.name) }))
112
+ .sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
97
113
  }
98
114
  //# sourceMappingURL=skill-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-adapter.js","sourceRoot":"","sources":["../src/skill-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-adapter.js","sourceRoot":"","sources":["../src/skill-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
1
  import type { AgentRuntimeSkillSource } from '@excitedjs/dreamux-types';
2
- /** Atomically materialize the Claude-compatible view of role-gated skills. */
3
- export declare function materializeClaudeSkillAddDir(skillAddDirRoot: string, sources: readonly AgentRuntimeSkillSource[], testHooks?: {
2
+ /**
3
+ * Materialize the Claude-compatible view of role-gated skills and return the
4
+ * adapter root the child must be given, or null when this runtime has no
5
+ * skill sources.
6
+ *
7
+ * The root is `<cacheDir>/claude-code/skills/<key>`, one directory per set of
8
+ * source roots. Its manifest records the skill directories under each root as
9
+ * they were when the view was built; a start that reads a different inventory
10
+ * (an in-place package upgrade that renamed skills, a custom root that gained
11
+ * a skill) rebuilds the view beside the root and swaps it into the same path,
12
+ * so the path never changes and no earlier view is left behind.
13
+ */
14
+ export declare function materializeClaudeSkillAddDir(cacheDir: string, sources: readonly AgentRuntimeSkillSource[], testHooks?: {
4
15
  beforePublish?: () => void | Promise<void>;
5
- }): Promise<void>;
16
+ }): Promise<string | null>;
6
17
  //# sourceMappingURL=skill-materializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-materializer.d.ts","sourceRoot":"","sources":["../src/skill-materializer.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AASxE,8EAA8E;AAC9E,wBAAsB,4BAA4B,CAChD,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,SAAS,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAO,GAC7D,OAAO,CAAC,IAAI,CAAC,CAuCf"}
1
+ {"version":3,"file":"skill-materializer.d.ts","sourceRoot":"","sources":["../src/skill-materializer.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAQxE;;;;;;;;;;;GAWG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,SAAS,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAO,GAC7D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqCxB"}
@@ -1,20 +1,33 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { mkdir, rename, rm, symlink, writeFile, } from 'node:fs/promises';
3
3
  import { dirname, join } from 'node:path';
4
- import { skillAdapterManifest, skillDirsInRoot, uniqueSkillSources, validateSkillAdapter, } from './skill-adapter.js';
5
- /** Atomically materialize the Claude-compatible view of role-gated skills. */
6
- export async function materializeClaudeSkillAddDir(skillAddDirRoot, sources, testHooks = {}) {
4
+ import { readSkillAdapterManifest, validateSkillAdapter, } from './skill-adapter.js';
5
+ /**
6
+ * Materialize the Claude-compatible view of role-gated skills and return the
7
+ * adapter root the child must be given, or null when this runtime has no
8
+ * skill sources.
9
+ *
10
+ * The root is `<cacheDir>/claude-code/skills/<key>`, one directory per set of
11
+ * source roots. Its manifest records the skill directories under each root as
12
+ * they were when the view was built; a start that reads a different inventory
13
+ * (an in-place package upgrade that renamed skills, a custom root that gained
14
+ * a skill) rebuilds the view beside the root and swaps it into the same path,
15
+ * so the path never changes and no earlier view is left behind.
16
+ */
17
+ export async function materializeClaudeSkillAddDir(cacheDir, sources, testHooks = {}) {
7
18
  if (sources.length === 0)
8
- return;
9
- if (await validateSkillAdapter(skillAddDirRoot, sources))
10
- return;
11
- const tmpRoot = `${skillAddDirRoot}.${randomUUID()}.tmp`;
19
+ return null;
20
+ const manifest = await readSkillAdapterManifest(sources);
21
+ const root = join(cacheDir, 'claude-code', 'skills', manifest.key);
22
+ if (await validateSkillAdapter(root, manifest))
23
+ return root;
24
+ const tmpRoot = `${root}.${randomUUID()}.tmp`;
12
25
  const tmpSkillsRoot = join(tmpRoot, '.claude', 'skills');
13
26
  try {
14
27
  await mkdir(tmpSkillsRoot, { recursive: true });
15
28
  const linkedNames = new Map();
16
- for (const source of uniqueSkillSources(sources)) {
17
- for (const skill of await skillDirsInRoot(source.path)) {
29
+ for (const source of manifest.sources) {
30
+ for (const skill of source.skills) {
18
31
  const previous = linkedNames.get(skill.name);
19
32
  if (previous !== undefined && previous !== skill.path) {
20
33
  throw new Error(`duplicate Claude skill name ${JSON.stringify(skill.name)} from ` +
@@ -26,20 +39,48 @@ export async function materializeClaudeSkillAddDir(skillAddDirRoot, sources, tes
26
39
  await symlink(skill.path, join(tmpSkillsRoot, skill.name), 'dir');
27
40
  }
28
41
  }
29
- await writeFile(join(tmpRoot, '.dreamux-skill-adapter.json'), `${JSON.stringify(skillAdapterManifest(sources), null, 2)}\n`, { mode: 0o600 });
30
- await mkdir(dirname(skillAddDirRoot), { recursive: true });
42
+ await writeFile(join(tmpRoot, '.dreamux-skill-adapter.json'), `${JSON.stringify(manifest, null, 2)}\n`, { mode: 0o600 });
43
+ await mkdir(dirname(root), { recursive: true });
31
44
  await testHooks.beforePublish?.();
32
- await rename(tmpRoot, skillAddDirRoot);
45
+ await publish(tmpRoot, root, manifest);
33
46
  }
34
47
  catch (err) {
35
- const code = err.code;
36
- if (code === 'EEXIST' || code === 'ENOTEMPTY') {
37
- await rm(tmpRoot, { recursive: true, force: true }).catch(() => undefined);
38
- if (await validateSkillAdapter(skillAddDirRoot, sources))
39
- return;
40
- }
41
48
  await rm(tmpRoot, { recursive: true, force: true }).catch(() => undefined);
42
49
  throw err;
43
50
  }
51
+ return root;
52
+ }
53
+ /**
54
+ * Put the fresh view at `root`: whatever occupies the path (a stale view, a
55
+ * manifest of the previous format, a half-written tree) is moved aside first
56
+ * and removed once the swap is done. Two runtimes starting together may both
57
+ * reach here; each swap leaves a complete view at the path, and the one whose
58
+ * final rename finds the path already taken keeps the other's view when it
59
+ * validates.
60
+ */
61
+ async function publish(tmpRoot, root, manifest) {
62
+ const staleRoot = `${root}.${randomUUID()}.stale`;
63
+ try {
64
+ await rename(root, staleRoot);
65
+ }
66
+ catch (err) {
67
+ if (err.code !== 'ENOENT')
68
+ throw err;
69
+ }
70
+ try {
71
+ await rename(tmpRoot, root);
72
+ }
73
+ catch (err) {
74
+ const code = err.code;
75
+ if (code !== 'EEXIST' && code !== 'ENOTEMPTY')
76
+ throw err;
77
+ await rm(tmpRoot, { recursive: true, force: true }).catch(() => undefined);
78
+ if (!(await validateSkillAdapter(root, manifest))) {
79
+ throw new Error(`invalid Claude skill adapter at ${root} after a concurrent publish`, { cause: err });
80
+ }
81
+ }
82
+ finally {
83
+ await rm(staleRoot, { recursive: true, force: true }).catch(() => undefined);
84
+ }
44
85
  }
45
86
  //# sourceMappingURL=skill-materializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-materializer.js","sourceRoot":"","sources":["../src/skill-materializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-materializer.js","sourceRoot":"","sources":["../src/skill-materializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excitedjs/agent-runtime-claude-code",
3
- "version": "0.6.0",
3
+ "version": "0.6.1-beta.204",
4
4
  "description": "Built-in Claude Code Agent Runtime provider for Dreamux (alias builtin:claude-code). Implements the @excitedjs/dreamux-types AgentRuntimeProvider contract against a resident `claude` stream-json child; depends on @excitedjs/dreamux-types only, never on @excitedjs/dreamux core (issue excitedjs/dreamux#209).",
5
5
  "license": "MIT",
6
6
  "repository": {