@shgroup/opencode-serenity-plugin 0.2.2 → 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.
Files changed (68) hide show
  1. package/README.md +78 -150
  2. package/dist/activation.js +6 -6
  3. package/dist/activation.js.map +1 -1
  4. package/dist/ccc-status.d.ts +13 -0
  5. package/dist/ccc-status.d.ts.map +1 -0
  6. package/dist/ccc-status.js +70 -0
  7. package/dist/ccc-status.js.map +1 -0
  8. package/dist/config-schema.d.ts +1 -1
  9. package/dist/errors.d.ts +3 -3
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +7 -7
  12. package/dist/errors.js.map +1 -1
  13. package/dist/fs/file-system-tool.d.ts.map +1 -1
  14. package/dist/fs/file-system-tool.js +98 -8
  15. package/dist/fs/file-system-tool.js.map +1 -1
  16. package/dist/fs/resolve-path.d.ts +8 -8
  17. package/dist/fs/resolve-path.d.ts.map +1 -1
  18. package/dist/fs/resolve-path.js +9 -9
  19. package/dist/fs/resolve-path.js.map +1 -1
  20. package/dist/hooks/compacting.js +5 -5
  21. package/dist/hooks/compacting.js.map +1 -1
  22. package/dist/hooks/shell-env.d.ts +6 -6
  23. package/dist/hooks/shell-env.d.ts.map +1 -1
  24. package/dist/hooks/shell-env.js +12 -10
  25. package/dist/hooks/shell-env.js.map +1 -1
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/init/init-wizard.d.ts +1 -1
  31. package/dist/init/init-wizard.js +9 -9
  32. package/dist/init/init-wizard.js.map +1 -1
  33. package/dist/msm.d.ts +3 -3
  34. package/dist/msm.d.ts.map +1 -1
  35. package/dist/msm.js +24 -22
  36. package/dist/msm.js.map +1 -1
  37. package/dist/session/session-tool.js +2 -2
  38. package/dist/session/session-tool.js.map +1 -1
  39. package/dist/skills/install-skill.js +4 -4
  40. package/dist/skills/install-skill.js.map +1 -1
  41. package/dist/skills/template-loader.d.ts +2 -2
  42. package/dist/skills/template-loader.d.ts.map +1 -1
  43. package/dist/skills/template-loader.js +4 -3
  44. package/dist/skills/template-loader.js.map +1 -1
  45. package/dist/tui.js +5 -5
  46. package/dist/tui.js.map +1 -1
  47. package/dist/types/index.d.ts +3 -3
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/index.js +1 -1
  50. package/dist/types/index.js.map +1 -1
  51. package/dist/util/init.d.ts +6 -6
  52. package/dist/util/init.d.ts.map +1 -1
  53. package/dist/util/init.js +9 -9
  54. package/dist/util/init.js.map +1 -1
  55. package/dist/util/msm-call.js +3 -3
  56. package/dist/util/msm-call.js.map +1 -1
  57. package/dist/util/msm-exec-runtime.d.ts.map +1 -1
  58. package/dist/util/msm-exec-runtime.js +11 -0
  59. package/dist/util/msm-exec-runtime.js.map +1 -1
  60. package/dist/util/path.d.ts +4 -4
  61. package/dist/util/path.d.ts.map +1 -1
  62. package/dist/util/path.js +6 -6
  63. package/dist/util/path.js.map +1 -1
  64. package/dist/util/serenity-file.d.ts +6 -6
  65. package/dist/util/serenity-file.d.ts.map +1 -1
  66. package/dist/util/serenity-file.js +7 -7
  67. package/dist/util/serenity-file.js.map +1 -1
  68. package/package.json +2 -2
@@ -71,23 +71,23 @@ function assertNotProtected(root, absPath, targetLabel) {
71
71
  // Protect .serenity file from deletion
72
72
  const serenityMarker = resolve(root, '.serenity');
73
73
  if (absPath === serenityMarker) {
74
- throw new FileSystemError(`file-system: refusing to delete protected path: ${targetLabel} (.serenity is the serenity instance marker)`);
74
+ throw new FileSystemError(`file-system: refusing to delete protected path: ${targetLabel} (.serenity is the CCC marker)`);
75
75
  }
76
76
  // Protect the root directory itself
77
77
  if (absPath === root) {
78
- throw new FileSystemError(`file-system: refusing to delete the serenity root directory: ${targetLabel}`);
78
+ throw new FileSystemError(`file-system: refusing to delete the CCC root directory: ${targetLabel}`);
79
79
  }
80
80
  }
81
81
  // ── Tool 定义 ──
82
82
  const SUBCOMMANDS = [
83
83
  'root', 'resolve', 'exists', 'list', 'relative',
84
- 'mkdir', 'rm', 'mv', 'cp', 'touch',
84
+ 'mkdir', 'rm', 'mv', 'cp', 'touch', 'tree', 'append',
85
85
  ];
86
86
  export const fileSystemTool = tool({
87
87
  description: `Serenity file-system utility (v${VERSION}). ` +
88
- 'Resolves paths relative to the serenity instance root (the directory containing .serenity). ' +
89
- 'Use this instead of raw read/edit tools when you need to work with serenity instance paths. ' +
90
- 'All subcommands validate that paths stay within the serenity root.',
88
+ 'Resolves paths relative to the CCC root (the directory containing .serenity). ' +
89
+ 'Use this instead of raw read/edit tools when you need to work with CCC paths. ' +
90
+ 'All subcommands validate that paths stay within the CCC root.',
91
91
  args: {
92
92
  subcommand: z
93
93
  .enum(SUBCOMMANDS)
@@ -101,11 +101,13 @@ export const fileSystemTool = tool({
101
101
  ' rm — Delete files/directories (batch: pass multiple paths via paths arg)\n' +
102
102
  ' mv — Move or rename a file/directory\n' +
103
103
  ' cp — Copy a file or directory\n' +
104
- ' touch — Create empty file or update timestamp'),
104
+ ' touch — Create empty file or update timestamp\n' +
105
+ ' tree — Recursive directory listing, tree-like output as JSON\n' +
106
+ ' append — Append content to a file (like shell >>)'),
105
107
  path: z
106
108
  .string()
107
109
  .optional()
108
- .describe('Single path argument for resolve/exists/list/relative/mkdir/touch subcommands. ' +
110
+ .describe('Single path argument for resolve/exists/list/relative/mkdir/touch/tree/append subcommands. ' +
109
111
  'Can be relative (from serenity root) or absolute (must be inside serenity root for write operations).'),
110
112
  paths: z
111
113
  .array(z.string())
@@ -131,6 +133,28 @@ export const fileSystemTool = tool({
131
133
  .optional()
132
134
  .default(false)
133
135
  .describe('Preview changes without actually modifying files. Supported by rm.'),
136
+ depth: z
137
+ .number()
138
+ .int()
139
+ .min(1)
140
+ .max(10)
141
+ .optional()
142
+ .default(3)
143
+ .describe('Max depth for tree subcommand (1-10, default 3)'),
144
+ 'files-only': z
145
+ .boolean()
146
+ .optional()
147
+ .default(false)
148
+ .describe('With tree: show only files'),
149
+ 'dirs-only': z
150
+ .boolean()
151
+ .optional()
152
+ .default(false)
153
+ .describe('With tree: show only directories'),
154
+ content: z
155
+ .string()
156
+ .optional()
157
+ .describe('Content to append (for append subcommand)'),
134
158
  },
135
159
  execute: async (input, ctx) => {
136
160
  const cwd = ctx.directory;
@@ -312,6 +336,72 @@ export const fileSystemTool = tool({
312
336
  writeFileSync(absPath, '', 'utf8');
313
337
  return `created empty file: ${input.path}`;
314
338
  }
339
+ // ── tree (recursive directory listing) ──
340
+ if (sub === 'tree') {
341
+ if (!input.path)
342
+ throw new FileSystemError('file-system tree: requires a path argument');
343
+ const absPath = input.path.startsWith('/')
344
+ ? input.path
345
+ : resolveRootPath(root, input.path);
346
+ if (!existsSync(absPath)) {
347
+ throw new FileSystemError(`file-system tree: path "${absPath}" does not exist`);
348
+ }
349
+ const maxDepth = input.depth ?? 3;
350
+ const filesOnly = input['files-only'] ?? false;
351
+ const dirsOnly = input['dirs-only'] ?? false;
352
+ function filterTree(entries, keepType) {
353
+ return entries.filter(e => {
354
+ if (e.type === keepType) {
355
+ if (e.children)
356
+ e.children = filterTree(e.children, keepType);
357
+ return true;
358
+ }
359
+ return false;
360
+ });
361
+ }
362
+ function walk(dir, currentDepth) {
363
+ if (currentDepth > maxDepth)
364
+ return [];
365
+ const names = readdirSync(dir).sort();
366
+ return names.map(name => {
367
+ const full = resolve(dir, name);
368
+ const stat = statSync(full);
369
+ const entry = {
370
+ name,
371
+ type: detectFileType(stat),
372
+ size: stat.size,
373
+ sizeHuman: humanSize(stat.size),
374
+ };
375
+ if (stat.isDirectory()) {
376
+ entry.children = walk(full, currentDepth + 1);
377
+ }
378
+ return entry;
379
+ });
380
+ }
381
+ let entries = walk(absPath, 1);
382
+ if (filesOnly) {
383
+ entries = filterTree(entries, 'file');
384
+ }
385
+ if (dirsOnly) {
386
+ entries = filterTree(entries, 'dir');
387
+ }
388
+ return JSON.stringify({ path: absPath, entries, maxDepth }, null, 2);
389
+ }
390
+ // ── append (append content to file) ──
391
+ if (sub === 'append') {
392
+ if (!input.path)
393
+ throw new FileSystemError('file-system append: requires a path argument');
394
+ if (!input.content)
395
+ throw new FileSystemError('file-system append: requires content argument');
396
+ const absPath = validateWritePath(root, input.path);
397
+ const parentDir = dirname(absPath);
398
+ if (!existsSync(parentDir)) {
399
+ mkdirSync(parentDir, { recursive: true });
400
+ }
401
+ const content = input.content;
402
+ writeFileSync(absPath, content, { flag: 'a' });
403
+ return `appended ${Buffer.byteLength(content, 'utf8')} bytes to ${input.path}`;
404
+ }
315
405
  throw new FileSystemError(`file-system: unknown subcommand "${sub}"`);
316
406
  },
317
407
  });
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-tool.js","sourceRoot":"","sources":["../../src/fs/file-system-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-system-tool.js","sourceRoot":"","sources":["../../src/fs/file-system-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,UAAU,EAAE,QAAQ,EAAE,WAAW,EACjC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EACxC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAE9C,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,IAAI,EAAuB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE3D,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC;AAYpC,SAAS,cAAc,CAAC,IAAW;IACjC,IAAI,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,IAAI,CAAC,MAAM,EAAE;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,IAAY;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;SAChC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACtE,CAAC;AACH,CAAC;AAED,gBAAgB;AAEhB,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAc;IACrD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3F,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,eAAe,CACvB,sBAAsB,MAAM,kBAAkB,OAAO,qCAAqC,IAAI,GAAG,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAe,EAAE,WAAmB;IAC5E,uCAAuC;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CACvB,mDAAmD,WAAW,gCAAgC,CAC/F,CAAC;IACJ,CAAC;IACD,oCAAoC;IACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CACvB,2DAA2D,WAAW,EAAE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gBAAgB;AAEhB,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;IAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;CAC5C,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAmB,IAAI,CAAC;IACjD,WAAW,EACT,kCAAkC,OAAO,KAAK;QAC9C,gFAAgF;QAChF,gFAAgF;QAChF,+DAA+D;IACjE,IAAI,EAAE;QACJ,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,WAAW,CAAC;aACjB,QAAQ,CACP,yBAAyB;YACzB,4DAA4D;YAC5D,uEAAuE;YACvE,uCAAuC;YACvC,6DAA6D;YAC7D,mDAAmD;YACnD,4DAA4D;YAC5D,oFAAoF;YACpF,gDAAgD;YAChD,yCAAyC;YACzC,sDAAsD;YACtD,sEAAsE;YACtE,uDAAuD,CACxD;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,6FAA6F;YAC7F,uGAAuG,CACxG;QACH,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,sCAAsC;YACtC,wEAAwE;YACxE,gEAAgE,CACjE;QACH,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,oCAAoC,CAAC;QACjD,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yCAAyC,CAAC;QACtD,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,4EAA4E,CAAC;QACzF,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,oEAAoE,CAAC;QACjF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,OAAO,CAAC,CAAC,CAAC;aACV,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,YAAY,EAAE,CAAC;aACZ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,4BAA4B,CAAC;QACzC,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,2CAA2C,CAAC;KACzD;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;QAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;QAE7B,aAAa;QACb,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gBAAgB;QAChB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,+CAA+C,CAAC,CAAC;YAC5F,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,iBAAiB;QACjB,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,gDAAgD,CAAC,CAAC;YAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,eAAe,CACvB,+BAA+B,KAAK,CAAC,IAAI,kBAAkB,OAAO,qCAAqC,IAAI,GAAG,CAC/G,CAAC;YACJ,CAAC;YACD,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,eAAe;QACf,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,8CAA8C,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAChD,CAAC;QAED,4BAA4B;QAC5B,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,4CAA4C,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,2BAA2B,OAAO,kBAAkB,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAEtF,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,+BAA+B;QAC/B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,WAAW,EAAE;oBAAE,OAAO,6BAA6B,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzE,MAAM,IAAI,eAAe,CAAC,4BAA4B,KAAK,CAAC,IAAI,iCAAiC,CAAC,CAAC;YACrG,CAAC;YAED,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,mBAAmB;QACnB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,cAAc;YACd,MAAM,OAAO,GAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,KAAK,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,qEAAqE,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;YAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAEhD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;oBAC5C,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEjC,oBAAoB;gBACpB,IAAI,CAAC;oBACH,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,IAAI,CAAC,UAAW,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC/C,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAErD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC;oBAC/E,SAAS;gBACX,CAAC;gBAED,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;oBACrC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,OAAO,CAAC,IAAI,CACV,+BAA+B,OAAO,CAAC,MAAM,6BAA6B,QAAQ,EAAE,CACrF,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACjB,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,kBAAkB;QAClB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,yDAAyD,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,eAAe,CAAC,qCAAqC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,eAAe,CAAC,+CAA+C,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,YAAY;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3B,OAAO,UAAU,KAAK,CAAC,GAAG,WAAW,KAAK,CAAC,GAAG,EAAE,CAAC;QACnD,CAAC;QAED,cAAc;QACd,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,eAAe,CAAC,yDAAyD,CAAC,CAAC;YACvF,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,eAAe,CAAC,qCAAqC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,eAAe,CAAC,+CAA+C,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACxF,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,IAAI,eAAe,CACvB,mEAAmE,KAAK,CAAC,GAAG,EAAE,CAC/E,CAAC;YACJ,CAAC;YAED,YAAY;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,WAAW,KAAK,CAAC,GAAG,WAAW,KAAK,CAAC,GAAG,EAAE,CAAC;QACpD,CAAC;QAED,4BAA4B;QAC5B,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAC;YAC1F,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,aAAa;gBACb,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC9B,OAAO,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5C,CAAC;YAED,gBAAgB;YAChB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7C,CAAC;QAED,2CAA2C;QAC3C,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,4CAA4C,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACxC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,2BAA2B,OAAO,kBAAkB,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;YAE7C,SAAS,UAAU,CAAC,OAAc,EAAE,QAAgB;gBAClD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACxB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACxB,IAAI,CAAC,CAAC,QAAQ;4BAAE,CAAC,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAC9D,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC;YAED,SAAS,IAAI,CAAC,GAAW,EAAE,YAAoB;gBAC7C,IAAI,YAAY,GAAG,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5B,MAAM,KAAK,GAAQ;wBACjB,IAAI;wBACJ,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;wBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;qBAChC,CAAC;oBACF,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;wBACvB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;oBAChD,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAE/B,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,wCAAwC;QACxC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,MAAM,IAAI,eAAe,CAAC,8CAA8C,CAAC,CAAC;YAC3F,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,MAAM,IAAI,eAAe,CAAC,+CAA+C,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,OAAO,YAAY,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC;QACjF,CAAC;QAED,MAAM,IAAI,eAAe,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;IACxE,CAAC;CACF,CAAC,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * resolve-path.ts — 宁静号文件系统基础设施
3
3
  *
4
4
  * 核心能力:
5
- * - 向上遍历寻找 .serenity 文件(实例根检测)
6
- * - 基于实例根做路径解析
5
+ * - 向上遍历寻找 .serenity 文件(CCC 根检测)
6
+ * - 基于 CCC 根做路径解析
7
7
  * - 路径安全校验(确保在根内)
8
8
  *
9
9
  * 供 file-system-tool.ts 消费,也可被其他模块复用。
@@ -22,14 +22,14 @@ export declare function findSerenityRoot(cwd: string): string;
22
22
  */
23
23
  export declare function findSerenityRootSafe(cwd: string): string | null;
24
24
  /**
25
- * readSerenityInstanceName — 从 .serenity 文件读取实例名
26
- * @returns 实例名(如 "home-serenity", "tg-serenity")或 null
25
+ * readSerenityCccName — 从 .serenity 文件读取 CCC 名
26
+ * @returns CCC 名(如 "home-serenity", "tg-serenity")或 null
27
27
  */
28
- export declare function readSerenityInstanceName(root: string): string | null;
28
+ export declare function readSerenityCccName(root: string): string | null;
29
29
  /**
30
30
  * resolveRootPath — 将 path 基于宁静号根解析为绝对路径
31
31
  *
32
- * @param root 实例根路径
32
+ * @param root CCC 根路径
33
33
  * @param path 相对路径(如 "AGENT_SESSIONS/")或绝对路径
34
34
  * @returns 解析后的绝对路径
35
35
  */
@@ -37,7 +37,7 @@ export declare function resolveRootPath(root: string, path: string): string;
37
37
  /**
38
38
  * isPathInsideSerenity — 判断路径是否在宁静号根内
39
39
  *
40
- * @param root 实例根路径
40
+ * @param root CCC 根路径
41
41
  * @param target 要检查的路径(绝对路径)
42
42
  * @returns true 当 target 在 root 目录内
43
43
  */
@@ -45,7 +45,7 @@ export declare function isPathInsideSerenity(root: string, target: string): bool
45
45
  /**
46
46
  * serenityPathRelative — 获取 target 相对于宁静号根的路径
47
47
  *
48
- * @param root 实例根路径
48
+ * @param root CCC 根路径
49
49
  * @param target 绝对路径
50
50
  * @returns 相对路径(如 ".opencode/skills/eap/SKILL.md")
51
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-path.d.ts","sourceRoot":"","sources":["../../src/fs/resolve-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQpE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzE"}
1
+ {"version":3,"file":"resolve-path.d.ts","sourceRoot":"","sources":["../../src/fs/resolve-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG1E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzE"}
@@ -2,8 +2,8 @@
2
2
  * resolve-path.ts — 宁静号文件系统基础设施
3
3
  *
4
4
  * 核心能力:
5
- * - 向上遍历寻找 .serenity 文件(实例根检测)
6
- * - 基于实例根做路径解析
5
+ * - 向上遍历寻找 .serenity 文件(CCC 根检测)
6
+ * - 基于 CCC 根做路径解析
7
7
  * - 路径安全校验(确保在根内)
8
8
  *
9
9
  * 供 file-system-tool.ts 消费,也可被其他模块复用。
@@ -28,7 +28,7 @@ export function findSerenityRoot(cwd) {
28
28
  // 到达根目录
29
29
  const parent = dirname(current);
30
30
  if (parent === current) {
31
- throw new Error(`No serenity instance found: no .serenity file found when walking up from "${cwd}"`);
31
+ throw new Error(`No CCC found: no .serenity file found when walking up from "${cwd}"`);
32
32
  }
33
33
  current = parent;
34
34
  }
@@ -46,10 +46,10 @@ export function findSerenityRootSafe(cwd) {
46
46
  }
47
47
  }
48
48
  /**
49
- * readSerenityInstanceName — 从 .serenity 文件读取实例名
50
- * @returns 实例名(如 "home-serenity", "tg-serenity")或 null
49
+ * readSerenityCccName — 从 .serenity 文件读取 CCC 名
50
+ * @returns CCC 名(如 "home-serenity", "tg-serenity")或 null
51
51
  */
52
- export function readSerenityInstanceName(root) {
52
+ export function readSerenityCccName(root) {
53
53
  const marker = resolve(root, '.serenity');
54
54
  try {
55
55
  const content = readFileSync(marker, 'utf8').trim();
@@ -62,7 +62,7 @@ export function readSerenityInstanceName(root) {
62
62
  /**
63
63
  * resolveRootPath — 将 path 基于宁静号根解析为绝对路径
64
64
  *
65
- * @param root 实例根路径
65
+ * @param root CCC 根路径
66
66
  * @param path 相对路径(如 "AGENT_SESSIONS/")或绝对路径
67
67
  * @returns 解析后的绝对路径
68
68
  */
@@ -75,7 +75,7 @@ export function resolveRootPath(root, path) {
75
75
  /**
76
76
  * isPathInsideSerenity — 判断路径是否在宁静号根内
77
77
  *
78
- * @param root 实例根路径
78
+ * @param root CCC 根路径
79
79
  * @param target 要检查的路径(绝对路径)
80
80
  * @returns true 当 target 在 root 目录内
81
81
  */
@@ -86,7 +86,7 @@ export function isPathInsideSerenity(root, target) {
86
86
  /**
87
87
  * serenityPathRelative — 获取 target 相对于宁静号根的路径
88
88
  *
89
- * @param root 实例根路径
89
+ * @param root CCC 根路径
90
90
  * @param target 绝对路径
91
91
  * @returns 相对路径(如 ".opencode/skills/eap/SKILL.md")
92
92
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-path.js","sourceRoot":"","sources":["../../src/fs/resolve-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3B,SAAS;IACT,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,QAAQ;QACR,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,6EAA6E,GAAG,GAAG,CACpF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,+BAA+B,IAAI,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"resolve-path.js","sourceRoot":"","sources":["../../src/fs/resolve-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3B,SAAS;IACT,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,QAAQ;QACR,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,+DAA+D,GAAG,GAAG,CACtE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,+BAA+B,IAAI,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -33,7 +33,7 @@ const systemTransformImpl = async (_input, output) => {
33
33
  '=== Serenity Constraints ===',
34
34
  `Root: ${state.cwdRoot}`,
35
35
  ' • File access → read/edit/write/grep/glob limited to root (RR5)',
36
- ' • Shell → use msm_exec (bash may be disabled)',
36
+ ' • Shell → use msm_exec (bash is high-risk fallback; use msm_exec by default — D19)',
37
37
  ' • Subagent → inherits ALL constraints (no bypass)',
38
38
  ' • SSH → use ssh-connect (not raw ssh)',
39
39
  ' • Multi-step → session-tool create first',
@@ -56,7 +56,7 @@ const sessionCompactingImpl = async (_input, output) => {
56
56
  return;
57
57
  }
58
58
  const state = getState();
59
- output.context.push(`[serenity-state] cwdRoot=${state.cwdRoot}; instanceName=${state.instanceName}; skillPath=${state.skillPath}`);
59
+ output.context.push(`[serenity-state] cwdRoot=${state.cwdRoot}; cccName=${state.cccName}; skillPath=${state.skillPath}`);
60
60
  };
61
61
  /**
62
62
  * tool.definition — 为 task tool(subagent 创建)注入 serenity 上下文。
@@ -82,11 +82,11 @@ const toolDefinitionImpl = async (input, output) => {
82
82
  return;
83
83
  }
84
84
  const state = getState();
85
- if (!state.activated || !state.instanceName)
85
+ if (!state.activated || !state.cccName)
86
86
  return;
87
87
  const context = [
88
88
  `=== Serenity System Context ===`,
89
- `Instance: ${state.instanceName}`,
89
+ `CCC: ${state.cccName}`,
90
90
  `Root: ${state.cwdRoot}`,
91
91
  ``,
92
92
  `WARNING: Subagents inherit ALL serenity constraints.`,
@@ -95,7 +95,7 @@ const toolDefinitionImpl = async (input, output) => {
95
95
  `Constraints that also apply to subagents:`,
96
96
  ` - File access (read/edit/write/grep/glob) is LIMITED to the serenity root.`,
97
97
  ` Paths outside ${state.cwdRoot} will be REJECTED.`,
98
- ` - The \`bash\` tool may be DISABLED. Prefer serenity tools.`,
98
+ ` - bash is high-risk fallback; use msm_exec by default (D19).`,
99
99
  ` - For shell commands, use msm_exec with an appropriate MSM.`,
100
100
  ``,
101
101
  `If the primary agent is blocked by a constraint, the subagent will be blocked too.`,
@@ -1 +1 @@
1
- {"version":3,"file":"compacting.js","sourceRoot":"","sources":["../../src/hooks/compacting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compacting.js","sourceRoot":"","sources":["../../src/hooks/compacting.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
  * Shell Environment Hook 工厂
3
3
  *
4
4
  * 包含:shell.env hook
5
- * 职责(v0.1 增强):
6
- * - 注入 HOME_SERENITY_ROOT = state.cwdRoot(所有 bash 子进程可见)
7
- * - 注入 SERENITY_INSTANCE = state.instanceName
8
- * - 注入 SERENITY_PLUGIN_VERSION(plugin 自报版本,便于 msm 脚本判定)
5
+ * 职责(v0.2 ACC/CCC 对齐):
6
+ * - 注入 SERENITY_ROOT = state.cwdRoot(所有 bash 子进程可见,旧名 HOME_SERENITY_ROOT 保留 deprecated)
7
+ * - 注入 SERENITY_CCC = state.cccName(旧名 SERENITY_INSTANCE 保留 deprecated)
8
+ * - 注入 SERENITY_VERSION = pkg.version(旧名 SERENITY_PLUGIN_VERSION 保留 deprecated)
9
9
  *
10
- * 注意:v0 禁 bash(同名 tool 覆盖 + permission.bash=deny),
11
- * shell.env 仍生效到 msm_exec 子进程 + 用户终端(如 msm 间接调 bash)
10
+ * 注意:bash 是高风险 fallback(D19);msm_exec 为默认执行路径,
11
+ * shell.env 仍生效到 msm_exec 子进程 + 用户终端。
12
12
  */
13
13
  import type { Hooks } from '@opencode-ai/plugin';
14
14
  import { type HookConfig } from './util.js';
@@ -1 +1 @@
1
- {"version":3,"file":"shell-env.d.ts","sourceRoot":"","sources":["../../src/hooks/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAiB5D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAQlE"}
1
+ {"version":3,"file":"shell-env.d.ts","sourceRoot":"","sources":["../../src/hooks/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAmB5D;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAQlE"}
@@ -2,13 +2,13 @@
2
2
  * Shell Environment Hook 工厂
3
3
  *
4
4
  * 包含:shell.env hook
5
- * 职责(v0.1 增强):
6
- * - 注入 HOME_SERENITY_ROOT = state.cwdRoot(所有 bash 子进程可见)
7
- * - 注入 SERENITY_INSTANCE = state.instanceName
8
- * - 注入 SERENITY_PLUGIN_VERSION(plugin 自报版本,便于 msm 脚本判定)
5
+ * 职责(v0.2 ACC/CCC 对齐):
6
+ * - 注入 SERENITY_ROOT = state.cwdRoot(所有 bash 子进程可见,旧名 HOME_SERENITY_ROOT 保留 deprecated)
7
+ * - 注入 SERENITY_CCC = state.cccName(旧名 SERENITY_INSTANCE 保留 deprecated)
8
+ * - 注入 SERENITY_VERSION = pkg.version(旧名 SERENITY_PLUGIN_VERSION 保留 deprecated)
9
9
  *
10
- * 注意:v0 禁 bash(同名 tool 覆盖 + permission.bash=deny),
11
- * shell.env 仍生效到 msm_exec 子进程 + 用户终端(如 msm 间接调 bash)
10
+ * 注意:bash 是高风险 fallback(D19);msm_exec 为默认执行路径,
11
+ * shell.env 仍生效到 msm_exec 子进程 + 用户终端。
12
12
  */
13
13
  import { getState, ensureReady } from '../state.js';
14
14
  import { safeCreateHook } from './util.js';
@@ -21,10 +21,12 @@ const shellEnvImpl = async (_input, output) => {
21
21
  return;
22
22
  }
23
23
  const state = getState();
24
- output.env.HOME_SERENITY_ROOT = state.cwdRoot;
25
- output.env.SERENITY_INSTANCE = state.instanceName;
26
- // v1.18 统一:与 tui.ts 同源 (package.json#version),release 时改一处
27
- output.env.SERENITY_PLUGIN_VERSION = pkg.version;
24
+ output.env.SERENITY_ROOT = state.cwdRoot;
25
+ output.env.HOME_SERENITY_ROOT = state.cwdRoot; // deprecated alias
26
+ output.env.SERENITY_CCC = state.cccName;
27
+ output.env.SERENITY_INSTANCE = state.cccName; // deprecated alias
28
+ output.env.SERENITY_VERSION = pkg.version;
29
+ output.env.SERENITY_PLUGIN_VERSION = pkg.version; // deprecated alias
28
30
  };
29
31
  /** 工厂:返回 shell env 相关的 hooks 集合
30
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"shell-env.js","sourceRoot":"","sources":["../../src/hooks/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAC5D,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE3D,MAAM,YAAY,GAAoC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC7E,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC;IAClD,2DAA2D;IAC3D,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAAC;AACnD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,CAAC,WAAW,CAAC,GAAG,cAAc,CACjC,WAAW,EACX,GAAG,EAAE,CAAC,YAAY,EAClB,MAAM,CACP,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"shell-env.js","sourceRoot":"","sources":["../../src/hooks/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAC5D,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE3D,MAAM,YAAY,GAAoC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;IAC7E,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAG,mBAAmB;IACpE,MAAM,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAK,mBAAmB;IACrE,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,mBAAmB;AACvE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,CAAC,WAAW,CAAC,GAAG,cAAc,CACjC,WAAW,EACX,GAAG,EAAE,CAAC,YAAY,EAClB,MAAM,CACP,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * opencode-serenity-plugin — server entry
3
3
  *
4
- * 职责:注册 5 个自定义工具 + 6 个 system hook,实现 serenity 认知基础设施的
4
+ * 职责:注册 6 个自定义工具 + 6 个 system hook,实现 serenity 认知基础设施的
5
5
  * plugin 层(MSM 框架、文件系统操作、会话管理、路径守卫、skill 注入等)。
6
6
  *
7
7
  * 设计文档见 docs/:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,qBAAqB,CAAC;;;;;AAoDzD,wBAGE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,qBAAqB,CAAC;;;;;AAsDzD,wBAGE"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * opencode-serenity-plugin — server entry
3
3
  *
4
- * 职责:注册 5 个自定义工具 + 6 个 system hook,实现 serenity 认知基础设施的
4
+ * 职责:注册 6 个自定义工具 + 6 个 system hook,实现 serenity 认知基础设施的
5
5
  * plugin 层(MSM 框架、文件系统操作、会话管理、路径守卫、skill 注入等)。
6
6
  *
7
7
  * 设计文档见 docs/:
@@ -21,6 +21,7 @@ import { tryActivateSync } from './activation.js';
21
21
  import { msmListTool, msmExecTool, msmAdminTool, } from './msm.js';
22
22
  import { fileSystemTool } from './fs/file-system-tool.js';
23
23
  import { sessionTool } from './session/session-tool.js';
24
+ import { cccStatusTool } from './ccc-status.js';
24
25
  import { createPermissionGuards } from './hooks/permission-guards.js';
25
26
  import { createCompactingHooks } from './hooks/compacting.js';
26
27
  import { createShellEnv } from './hooks/shell-env.js';
@@ -44,6 +45,7 @@ const plugin = async (input) => {
44
45
  msm_admin: msmAdminTool,
45
46
  file_system: fileSystemTool, // v0.1 D4: 跨实例文件系统工具
46
47
  session_tool: sessionTool, // v0.1 D5: 通用会话管理工具
48
+ ccc_status: cccStatusTool, // v0.3 D18: CCC 三原则状态检查
47
49
  },
48
50
  ...createPermissionGuards(),
49
51
  ...createCompactingHooks(),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,GAEb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,GAAW,KAAK,EAAE,KAAK,EAAE,EAAE;IACrC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9F,+BAA+B;IAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,+CAA+C;IAC/C,8CAA8C;IAE9C,+DAA+D;IAC/D,MAAM,KAAK,GAAU;QACnB,IAAI,EAAE;YACJ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc,EAAE,qBAAqB;YAClD,YAAY,EAAE,WAAW,EAAE,oBAAoB;SAChD;QACD,GAAG,sBAAsB,EAAE;QAC3B,GAAG,qBAAqB,EAAE;QAC1B,GAAG,cAAc,EAAE;QACnB,KAAK,EAAE,gCAAgC,CAAC;YACtC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS;SACpC,CAAC;KACH,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe;IACb,EAAE,EAAE,iCAAiC;IACrC,MAAM,EAAE,MAAM;CACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,GAEb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,MAAM,GAAW,KAAK,EAAE,KAAK,EAAE,EAAE;IACrC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9F,+BAA+B;IAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9D,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,+CAA+C;IAC/C,8CAA8C;IAE9C,+DAA+D;IAC/D,MAAM,KAAK,GAAU;QACnB,IAAI,EAAE;YACJ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,cAAc,EAAE,qBAAqB;YAClD,YAAY,EAAE,WAAW,EAAE,oBAAoB;YAC/C,UAAU,EAAE,aAAa,EAAE,wBAAwB;SACpD;QACD,GAAG,sBAAsB,EAAE;QAC3B,GAAG,qBAAqB,EAAE;QAC1B,GAAG,cAAc,EAAE;QACnB,KAAK,EAAE,gCAAgC,CAAC;YACtC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS;SACpC,CAAC;KACH,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe;IACb,EAAE,EAAE,iCAAiC;IACrC,MAAM,EAAE,MAAM;CACf,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * init-wizard.ts — D1 Init 向导 Phase 1
3
3
  *
4
- * CLI 交互式创建宁静号实例的目录骨架并复制标准技能模板。
4
+ * CLI 交互式创建认知容器 (CCC) 的目录骨架并复制标准技能模板。
5
5
  *
6
6
  * 流程:
7
7
  * 1. 收集基本信息(prefix, description)
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * init-wizard.ts — D1 Init 向导 Phase 1
3
3
  *
4
- * CLI 交互式创建宁静号实例的目录骨架并复制标准技能模板。
4
+ * CLI 交互式创建认知容器 (CCC) 的目录骨架并复制标准技能模板。
5
5
  *
6
6
  * 流程:
7
7
  * 1. 收集基本信息(prefix, description)
@@ -59,10 +59,10 @@ async function askQuestion(prompt, defaultValue) {
59
59
  }
60
60
  async function collectInfo(prefill) {
61
61
  const prefix = await askQuestion('What prefix for skill names? (kebab-case, e.g. "home", "tg", "pg")', prefill);
62
- const description = await askQuestion('Describe this serenity instance in one sentence', '');
62
+ const description = await askQuestion('Describe this cognitive container (CCC) in one sentence', '');
63
63
  return {
64
64
  prefix: prefix || prefill,
65
- description: description || 'A serenity instance',
65
+ description: description || 'A cognitive container (CCC)',
66
66
  };
67
67
  }
68
68
  function buildSkeleton(prefix) {
@@ -139,7 +139,7 @@ function generatePhase2Prompt(prefix) {
139
139
  return [
140
140
  `# Phase 2: Complete ${prefix}-serenity Root Skill`,
141
141
  '',
142
- 'This serenity instance has been initialized with all standard meta-skills.',
142
+ 'This CCC has been initialized with all standard meta-skills.',
143
143
  'Now you need to complete the root skill SKILL.md.',
144
144
  '',
145
145
  '## Interview Questions',
@@ -147,7 +147,7 @@ function generatePhase2Prompt(prefix) {
147
147
  'Answer these questions interactively with the user, then fill in the root skill at',
148
148
  `.opencode/skills/${prefix}-serenity/SKILL.md`,
149
149
  '',
150
- '1. **System description**: What project/system does this serenity manage?',
150
+ ' 1. **System description**: What project/system does this CCC manage?',
151
151
  '2. **Scope**: Single person, small team, or enterprise?',
152
152
  '3. **Key components**: What sub-projects or modules does the system contain?',
153
153
  '4. **Collaboration style**: Structured (formal docs/SOP) or flexible (ad-hoc)?',
@@ -166,7 +166,7 @@ function generatePhase2Prompt(prefix) {
166
166
  '',
167
167
  '## Available Tools',
168
168
  '',
169
- 'The plugin provides these tools that work in any serenity instance:',
169
+ 'The plugin provides these tools that work in any CCC:',
170
170
  '- **file_system**: root/resolve/list (no instance-specific coupling)',
171
171
  '- **session_tool**: list/show/create/health/archive/summary',
172
172
  '- **msm_list / msm_exec / msm_admin**: standard MSM management',
@@ -191,7 +191,7 @@ export async function initWizard(opts) {
191
191
  success: false,
192
192
  prefix: '',
193
193
  name: '',
194
- message: `Target already contains a serenity instance: ${targetPath}. Use --force to overwrite.`,
194
+ message: `Target already contains a CCC: ${targetPath}. Use --force to overwrite.`,
195
195
  createdDirs: [],
196
196
  installedSkills: [],
197
197
  };
@@ -203,7 +203,7 @@ export async function initWizard(opts) {
203
203
  let description;
204
204
  if (opts.nonInteractive) {
205
205
  prefix = prefill;
206
- description = opts.description ?? 'Serenity instance';
206
+ description = opts.description ?? 'Cognitive Container (CCC)';
207
207
  }
208
208
  else {
209
209
  const info = await collectInfo(prefill);
@@ -280,7 +280,7 @@ export async function initWizard(opts) {
280
280
  prefix,
281
281
  name,
282
282
  message: [
283
- `Serenity instance "${name}" created at ${targetPath}`,
283
+ `CCC "${name}" created at ${targetPath}`,
284
284
  ` prefix: ${prefix}`,
285
285
  ` description: ${description}`,
286
286
  ` ${skillSummary}`,