@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.
- package/README.md +78 -150
- package/dist/activation.js +6 -6
- package/dist/activation.js.map +1 -1
- package/dist/ccc-status.d.ts +13 -0
- package/dist/ccc-status.d.ts.map +1 -0
- package/dist/ccc-status.js +70 -0
- package/dist/ccc-status.js.map +1 -0
- package/dist/config-schema.d.ts +1 -1
- package/dist/errors.d.ts +3 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -7
- package/dist/errors.js.map +1 -1
- package/dist/fs/file-system-tool.d.ts.map +1 -1
- package/dist/fs/file-system-tool.js +98 -8
- package/dist/fs/file-system-tool.js.map +1 -1
- package/dist/fs/resolve-path.d.ts +8 -8
- package/dist/fs/resolve-path.d.ts.map +1 -1
- package/dist/fs/resolve-path.js +9 -9
- package/dist/fs/resolve-path.js.map +1 -1
- package/dist/hooks/compacting.js +5 -5
- package/dist/hooks/compacting.js.map +1 -1
- package/dist/hooks/shell-env.d.ts +6 -6
- package/dist/hooks/shell-env.d.ts.map +1 -1
- package/dist/hooks/shell-env.js +12 -10
- package/dist/hooks/shell-env.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/init/init-wizard.d.ts +1 -1
- package/dist/init/init-wizard.js +9 -9
- package/dist/init/init-wizard.js.map +1 -1
- package/dist/msm.d.ts +3 -3
- package/dist/msm.d.ts.map +1 -1
- package/dist/msm.js +24 -22
- package/dist/msm.js.map +1 -1
- package/dist/session/session-tool.js +2 -2
- package/dist/session/session-tool.js.map +1 -1
- package/dist/skills/install-skill.js +4 -4
- package/dist/skills/install-skill.js.map +1 -1
- package/dist/skills/template-loader.d.ts +2 -2
- package/dist/skills/template-loader.d.ts.map +1 -1
- package/dist/skills/template-loader.js +4 -3
- package/dist/skills/template-loader.js.map +1 -1
- package/dist/tui.js +5 -5
- package/dist/tui.js.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/util/init.d.ts +6 -6
- package/dist/util/init.d.ts.map +1 -1
- package/dist/util/init.js +9 -9
- package/dist/util/init.js.map +1 -1
- package/dist/util/msm-call.js +3 -3
- package/dist/util/msm-call.js.map +1 -1
- package/dist/util/msm-exec-runtime.d.ts.map +1 -1
- package/dist/util/msm-exec-runtime.js +11 -0
- package/dist/util/msm-exec-runtime.js.map +1 -1
- package/dist/util/path.d.ts +4 -4
- package/dist/util/path.d.ts.map +1 -1
- package/dist/util/path.js +6 -6
- package/dist/util/path.js.map +1 -1
- package/dist/util/serenity-file.d.ts +6 -6
- package/dist/util/serenity-file.d.ts.map +1 -1
- package/dist/util/serenity-file.js +7 -7
- package/dist/util/serenity-file.js.map +1 -1
- 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
|
|
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
|
|
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
|
|
89
|
-
'Use this instead of raw read/edit tools when you need to work with
|
|
90
|
-
'All subcommands validate that paths stay within the
|
|
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":"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"}
|
|
@@ -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
|
-
*
|
|
26
|
-
* @returns
|
|
25
|
+
* readSerenityCccName — 从 .serenity 文件读取 CCC 名
|
|
26
|
+
* @returns CCC 名(如 "home-serenity", "tg-serenity")或 null
|
|
27
27
|
*/
|
|
28
|
-
export declare function
|
|
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,
|
|
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"}
|
package/dist/fs/resolve-path.js
CHANGED
|
@@ -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
|
|
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
|
-
*
|
|
50
|
-
* @returns
|
|
49
|
+
* readSerenityCccName — 从 .serenity 文件读取 CCC 名
|
|
50
|
+
* @returns CCC 名(如 "home-serenity", "tg-serenity")或 null
|
|
51
51
|
*/
|
|
52
|
-
export function
|
|
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,
|
|
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"}
|
package/dist/hooks/compacting.js
CHANGED
|
@@ -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
|
|
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};
|
|
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.
|
|
85
|
+
if (!state.activated || !state.cccName)
|
|
86
86
|
return;
|
|
87
87
|
const context = [
|
|
88
88
|
`=== Serenity System Context ===`,
|
|
89
|
-
`
|
|
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
|
-
` -
|
|
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":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5D,MAAM,mBAAmB,GAA6D,KAAK,EACzF,MAAM,EACN,MAAM,EACN,EAAE;IACF,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,6BAA6B;IAC7B,wCAAwC;IACxC,MAAM,MAAM,GAAG,8BAA8B,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG;YACZ,EAAE;YACF,8BAA8B;YAC9B,SAAS,KAAK,CAAC,OAAO,EAAE;YACxB,mEAAmE;YACnE,
|
|
1
|
+
{"version":3,"file":"compacting.js","sourceRoot":"","sources":["../../src/hooks/compacting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5D,MAAM,mBAAmB,GAA6D,KAAK,EACzF,MAAM,EACN,MAAM,EACN,EAAE;IACF,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,6BAA6B;IAC7B,wCAAwC;IACxC,MAAM,MAAM,GAAG,8BAA8B,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,KAAK,GAAG;YACZ,EAAE;YACF,8BAA8B;YAC9B,SAAS,KAAK,CAAC,OAAO,EAAE;YACxB,mEAAmE;YACnE,sFAAsF;YACtF,qDAAqD;YACrD,yCAAyC;YACzC,4CAA4C;YAC5C,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,CAAE,uBAAuB;IACzD,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QAAE,OAAO;IACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAA0D,KAAK,EACxF,MAAM,EACN,MAAM,EACN,EAAE;IACF,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,OAAO,CAAC,IAAI,CACjB,4BAA4B,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,CACpG,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,kBAAkB,GAA0C,KAAK,EACrE,KAAK,EACL,MAAM,EACN,EAAE;IACF,6BAA6B;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IAEpC,IAAI,CAAC;QACH,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO;IAE/C,MAAM,OAAO,GAAG;QACd,iCAAiC;QACjC,QAAQ,KAAK,CAAC,OAAO,EAAE;QACvB,SAAS,KAAK,CAAC,OAAO,EAAE;QACxB,EAAE;QACF,sDAAsD;QACtD,4DAA4D;QAC5D,EAAE;QACF,2CAA2C;QAC3C,8EAA8E;QAC9E,qBAAqB,KAAK,CAAC,OAAO,oBAAoB;QACtD,gEAAgE;QAChE,+DAA+D;QAC/D,EAAE;QACF,oFAAoF;QACpF,sEAAsE;QACtE,EAAE;QACF,oDAAoD;QACpD,iEAAiE;QACjE,+DAA+D;QAC/D,6DAA6D;QAC7D,iDAAiD;QACjD,EAAE;QACF,0DAA0D;QAC1D,mDAAmD;QACnD,8BAA8B;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,CAAC,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,CAAC,oCAAoC,CAAC,GAAG,cAAc,CAC1D,oCAAoC,EACpC,GAAG,EAAE,CAAC,mBAAmB,EACzB,MAAM,CACP,CAAC;IAEF,KAAK,CAAC,iCAAiC,CAAC,GAAG,cAAc,CACvD,iCAAiC,EACjC,GAAG,EAAE,CAAC,qBAAqB,EAC3B,MAAM,CACP,CAAC;IAEF,KAAK,CAAC,iBAAiB,CAAC,GAAG,cAAc,CACvC,iBAAiB,EACjB,GAAG,EAAE,CAAC,kBAAkB,EACxB,MAAM,CACP,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Shell Environment Hook 工厂
|
|
3
3
|
*
|
|
4
4
|
* 包含:shell.env hook
|
|
5
|
-
* 职责(v0.
|
|
6
|
-
* - 注入
|
|
7
|
-
* - 注入
|
|
8
|
-
* - 注入 SERENITY_PLUGIN_VERSION
|
|
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
|
-
* 注意:
|
|
11
|
-
* shell.env 仍生效到 msm_exec 子进程 +
|
|
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;
|
|
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"}
|
package/dist/hooks/shell-env.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* Shell Environment Hook 工厂
|
|
3
3
|
*
|
|
4
4
|
* 包含:shell.env hook
|
|
5
|
-
* 职责(v0.
|
|
6
|
-
* - 注入
|
|
7
|
-
* - 注入
|
|
8
|
-
* - 注入 SERENITY_PLUGIN_VERSION
|
|
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
|
-
* 注意:
|
|
11
|
-
* shell.env 仍生效到 msm_exec 子进程 +
|
|
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.
|
|
25
|
-
output.env.
|
|
26
|
-
|
|
27
|
-
output.env.
|
|
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;
|
|
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
package/dist/index.d.ts.map
CHANGED
|
@@ -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;;;;;
|
|
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
|
-
* 职责:注册
|
|
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;
|
|
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"}
|
package/dist/init/init-wizard.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 ?? '
|
|
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
|
-
`
|
|
283
|
+
`CCC "${name}" created at ${targetPath}`,
|
|
284
284
|
` prefix: ${prefix}`,
|
|
285
285
|
` description: ${description}`,
|
|
286
286
|
` ${skillSummary}`,
|