@cleocode/core 2026.3.51 → 2026.3.53
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/bootstrap.d.ts.map +1 -1
- package/dist/index.js +37 -14
- package/dist/index.js.map +3 -3
- package/dist/scaffold.d.ts +1 -1
- package/dist/scaffold.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/bootstrap.ts +9 -10
- package/src/scaffold.ts +37 -13
package/dist/scaffold.d.ts
CHANGED
|
@@ -185,7 +185,7 @@ export declare const REQUIRED_GLOBAL_SUBDIRS: readonly ["logs", "templates"];
|
|
|
185
185
|
* - schemas/ — now read from npm binary at runtime
|
|
186
186
|
* - bin/ — stale dev symlink directory
|
|
187
187
|
*/
|
|
188
|
-
export declare const STALE_GLOBAL_ENTRIES: readonly ["adrs", "rcasd", "agent-outputs", "backups", "sandbox", "tasks.db", "tasks.db-shm", "tasks.db-wal", "brain-worker.pid", "VERSION", "schemas", "bin"];
|
|
188
|
+
export declare const STALE_GLOBAL_ENTRIES: readonly ["adrs", "rcasd", "agent-outputs", "backups", "sandbox", "tasks.db", "tasks.db-shm", "tasks.db-wal", "brain-worker.pid", "VERSION", "schemas", "bin", ".install-state", "templates/templates"];
|
|
189
189
|
/**
|
|
190
190
|
* Ensure the global ~/.cleo/ home directory and its required
|
|
191
191
|
* subdirectories exist. Idempotent: skips directories that already exist.
|
package/dist/scaffold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiBH,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnE,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAID,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,8FAOxB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,mqBAuCnC,CAAC;AAIF;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAgB/B;AAGD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAW5C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAQvC;AAyBD,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyB7D;AAID;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BtF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAiBlF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,cAAc,CAAC,CAuCzB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,cAAc,CAAC,CA6DzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAwDvF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C,OAAO,CAAC,cAAc,CAAC,CA4DzB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBpF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBjF;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAwCnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CA8B/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAmC5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAiDjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,WAAW,CA8D5F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAuBjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAmC9D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0ChF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAmC7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAuBlE;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,gCAAiC,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,yMAevB,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC,CAwDhE;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,cAAc,CAAC,CAmCrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IACpD,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC,CAKD;AAID;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAmC7C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAuBlD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAsB5D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/core",
|
|
3
|
-
"version": "2026.3.
|
|
3
|
+
"version": "2026.3.53",
|
|
4
4
|
"description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@cleocode/caamp": "^1.8.
|
|
26
|
+
"@cleocode/caamp": "^1.8.1",
|
|
27
27
|
"@cleocode/lafs-protocol": "^1.8.0",
|
|
28
28
|
"ajv": "^8.18.0",
|
|
29
29
|
"ajv-formats": "^3.0.1",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"write-file-atomic": "^6.0.0",
|
|
37
37
|
"yaml": "^2.8.2",
|
|
38
38
|
"zod": "^3.25.76",
|
|
39
|
-
"@cleocode/adapters": "2026.3.
|
|
40
|
-
"@cleocode/
|
|
41
|
-
"@cleocode/
|
|
42
|
-
"@cleocode/
|
|
39
|
+
"@cleocode/adapters": "2026.3.53",
|
|
40
|
+
"@cleocode/contracts": "2026.3.53",
|
|
41
|
+
"@cleocode/agents": "2026.3.53",
|
|
42
|
+
"@cleocode/skills": "2026.3.53"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"node": ">=24.0.0"
|
package/src/bootstrap.ts
CHANGED
|
@@ -142,20 +142,19 @@ async function injectAgentsHub(ctx: BootstrapContext): Promise<void> {
|
|
|
142
142
|
if (!ctx.isDryRun) {
|
|
143
143
|
await mkdir(globalAgentsDir, { recursive: true });
|
|
144
144
|
|
|
145
|
-
//
|
|
146
|
-
// then inject a single clean block. CAAMP 1.8.0 idempotency doesn't
|
|
147
|
-
// consolidate pre-existing duplicates — it only prevents new ones.
|
|
145
|
+
// Strip legacy CLEO blocks (versioned markers from pre-CAAMP era)
|
|
148
146
|
if (existsSync(globalAgentsMd)) {
|
|
149
147
|
const content = await readFile(globalAgentsMd, 'utf8');
|
|
150
|
-
const stripped = content
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
148
|
+
const stripped = content.replace(
|
|
149
|
+
/\n?<!-- CLEO:START[^>]*-->[\s\S]*?<!-- CLEO:END -->\n?/g,
|
|
150
|
+
'',
|
|
151
|
+
);
|
|
152
|
+
if (stripped !== content) {
|
|
153
|
+
await writeFile(globalAgentsMd, stripped, 'utf8');
|
|
154
|
+
}
|
|
156
155
|
}
|
|
157
156
|
|
|
158
|
-
//
|
|
157
|
+
// CAAMP 1.8.1: inject() is idempotent AND consolidates duplicates
|
|
159
158
|
const expectedContent = '@~/.cleo/templates/CLEO-INJECTION.md';
|
|
160
159
|
const action = await inject(globalAgentsMd, expectedContent);
|
|
161
160
|
ctx.created.push(`~/.agents/AGENTS.md (${action})`);
|
package/src/scaffold.ts
CHANGED
|
@@ -1076,6 +1076,8 @@ export const STALE_GLOBAL_ENTRIES = [
|
|
|
1076
1076
|
'VERSION',
|
|
1077
1077
|
'schemas',
|
|
1078
1078
|
'bin',
|
|
1079
|
+
'.install-state',
|
|
1080
|
+
'templates/templates',
|
|
1079
1081
|
] as const;
|
|
1080
1082
|
|
|
1081
1083
|
/**
|
|
@@ -1098,19 +1100,41 @@ export async function ensureGlobalHome(): Promise<ScaffoldResult> {
|
|
|
1098
1100
|
await mkdir(join(cleoHome, subdir), { recursive: true });
|
|
1099
1101
|
}
|
|
1100
1102
|
|
|
1101
|
-
//
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1103
|
+
// Create global config.json from template if it doesn't exist
|
|
1104
|
+
const globalConfigPath = join(cleoHome, 'config.json');
|
|
1105
|
+
if (!existsSync(globalConfigPath)) {
|
|
1106
|
+
const templatePath = join(getPackageRoot(), 'templates', 'global-config.template.json');
|
|
1107
|
+
if (existsSync(templatePath)) {
|
|
1108
|
+
const template = readFileSync(templatePath, 'utf-8');
|
|
1109
|
+
const resolved = template.replace('{{SCHEMA_VERSION_GLOBAL_CONFIG}}', '1.0.0');
|
|
1110
|
+
await writeFile(globalConfigPath, resolved);
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
// Remove stale project-level entries from both the current global home
|
|
1115
|
+
// AND the legacy ~/.cleo/ path (old CLEO versions used ~/.cleo/ before
|
|
1116
|
+
// env-paths moved it to the XDG-compliant location).
|
|
1117
|
+
const homedir = (await import('node:os')).homedir();
|
|
1118
|
+
const legacyCleoHome = join(homedir, '.cleo');
|
|
1119
|
+
const cleanupPaths = [cleoHome];
|
|
1120
|
+
if (legacyCleoHome !== cleoHome && existsSync(legacyCleoHome)) {
|
|
1121
|
+
cleanupPaths.push(legacyCleoHome);
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
for (const homeDir of cleanupPaths) {
|
|
1125
|
+
for (const stale of STALE_GLOBAL_ENTRIES) {
|
|
1126
|
+
const stalePath = join(homeDir, stale);
|
|
1127
|
+
if (existsSync(stalePath)) {
|
|
1128
|
+
try {
|
|
1129
|
+
await rm(stalePath, { recursive: true, force: true });
|
|
1130
|
+
// eslint-disable-next-line no-console
|
|
1131
|
+
console.warn(`[CLEO] Removed stale global entry: ${stalePath}`);
|
|
1132
|
+
} catch (err) {
|
|
1133
|
+
// eslint-disable-next-line no-console
|
|
1134
|
+
console.warn(
|
|
1135
|
+
`[CLEO] Could not remove stale global entry ${stalePath}: ${err instanceof Error ? err.message : String(err)}`,
|
|
1136
|
+
);
|
|
1137
|
+
}
|
|
1114
1138
|
}
|
|
1115
1139
|
}
|
|
1116
1140
|
}
|