@soleri/core 7.0.0 → 8.1.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 (294) hide show
  1. package/dist/agency/agency-manager.d.ts +27 -1
  2. package/dist/agency/agency-manager.d.ts.map +1 -1
  3. package/dist/agency/agency-manager.js +180 -9
  4. package/dist/agency/agency-manager.js.map +1 -1
  5. package/dist/agency/default-rules.d.ts +7 -0
  6. package/dist/agency/default-rules.d.ts.map +1 -0
  7. package/dist/agency/default-rules.js +79 -0
  8. package/dist/agency/default-rules.js.map +1 -0
  9. package/dist/agency/types.d.ts +48 -0
  10. package/dist/agency/types.d.ts.map +1 -1
  11. package/dist/brain/brain.d.ts +17 -2
  12. package/dist/brain/brain.d.ts.map +1 -1
  13. package/dist/brain/brain.js +118 -8
  14. package/dist/brain/brain.js.map +1 -1
  15. package/dist/brain/knowledge-synthesizer.d.ts +37 -0
  16. package/dist/brain/knowledge-synthesizer.d.ts.map +1 -0
  17. package/dist/brain/knowledge-synthesizer.js +159 -0
  18. package/dist/brain/knowledge-synthesizer.js.map +1 -0
  19. package/dist/brain/learning-radar.d.ts +96 -0
  20. package/dist/brain/learning-radar.d.ts.map +1 -0
  21. package/dist/brain/learning-radar.js +202 -0
  22. package/dist/brain/learning-radar.js.map +1 -0
  23. package/dist/brain/types.d.ts +15 -0
  24. package/dist/brain/types.d.ts.map +1 -1
  25. package/dist/context/context-engine.d.ts.map +1 -1
  26. package/dist/context/context-engine.js +82 -17
  27. package/dist/context/context-engine.js.map +1 -1
  28. package/dist/context/types.d.ts +5 -0
  29. package/dist/context/types.d.ts.map +1 -1
  30. package/dist/control/intent-router.d.ts +12 -1
  31. package/dist/control/intent-router.d.ts.map +1 -1
  32. package/dist/control/intent-router.js +68 -0
  33. package/dist/control/intent-router.js.map +1 -1
  34. package/dist/control/types.d.ts +17 -0
  35. package/dist/control/types.d.ts.map +1 -1
  36. package/dist/curator/classifier.d.ts +18 -0
  37. package/dist/curator/classifier.d.ts.map +1 -0
  38. package/dist/curator/classifier.js +59 -0
  39. package/dist/curator/classifier.js.map +1 -0
  40. package/dist/curator/quality-gate.d.ts +29 -0
  41. package/dist/curator/quality-gate.d.ts.map +1 -0
  42. package/dist/curator/quality-gate.js +86 -0
  43. package/dist/curator/quality-gate.js.map +1 -0
  44. package/dist/domain-packs/index.d.ts +0 -3
  45. package/dist/domain-packs/index.d.ts.map +1 -1
  46. package/dist/domain-packs/index.js +0 -3
  47. package/dist/domain-packs/index.js.map +1 -1
  48. package/dist/domain-packs/loader.d.ts.map +1 -1
  49. package/dist/domain-packs/loader.js +20 -4
  50. package/dist/domain-packs/loader.js.map +1 -1
  51. package/dist/domain-packs/pack-runtime.d.ts +5 -5
  52. package/dist/domain-packs/pack-runtime.d.ts.map +1 -1
  53. package/dist/domain-packs/pack-runtime.js +2 -2
  54. package/dist/domain-packs/pack-runtime.js.map +1 -1
  55. package/dist/domain-packs/types.d.ts +8 -2
  56. package/dist/domain-packs/types.d.ts.map +1 -1
  57. package/dist/domain-packs/types.js.map +1 -1
  58. package/dist/engine/bin/soleri-engine.js +13 -2
  59. package/dist/engine/bin/soleri-engine.js.map +1 -1
  60. package/dist/engine/index.d.ts +2 -0
  61. package/dist/engine/index.d.ts.map +1 -1
  62. package/dist/engine/index.js +1 -0
  63. package/dist/engine/index.js.map +1 -1
  64. package/dist/engine/module-manifest.d.ts +28 -0
  65. package/dist/engine/module-manifest.d.ts.map +1 -0
  66. package/dist/engine/module-manifest.js +85 -0
  67. package/dist/engine/module-manifest.js.map +1 -0
  68. package/dist/engine/register-engine.d.ts +19 -0
  69. package/dist/engine/register-engine.d.ts.map +1 -1
  70. package/dist/engine/register-engine.js +15 -2
  71. package/dist/engine/register-engine.js.map +1 -1
  72. package/dist/events/event-bus.d.ts +30 -0
  73. package/dist/events/event-bus.d.ts.map +1 -0
  74. package/dist/events/event-bus.js +51 -0
  75. package/dist/events/event-bus.js.map +1 -0
  76. package/dist/flows/chain-runner.d.ts +46 -0
  77. package/dist/flows/chain-runner.d.ts.map +1 -0
  78. package/dist/flows/chain-runner.js +271 -0
  79. package/dist/flows/chain-runner.js.map +1 -0
  80. package/dist/flows/chain-types.d.ts +103 -0
  81. package/dist/flows/chain-types.d.ts.map +1 -0
  82. package/dist/flows/chain-types.js +23 -0
  83. package/dist/flows/chain-types.js.map +1 -0
  84. package/dist/health/doctor-checks.d.ts +15 -0
  85. package/dist/health/doctor-checks.d.ts.map +1 -0
  86. package/dist/health/doctor-checks.js +98 -0
  87. package/dist/health/doctor-checks.js.map +1 -0
  88. package/dist/index.d.ts +0 -1
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +0 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/intake/content-classifier.d.ts.map +1 -1
  93. package/dist/intake/content-classifier.js +0 -2
  94. package/dist/intake/content-classifier.js.map +1 -1
  95. package/dist/intake/text-ingester.d.ts +52 -0
  96. package/dist/intake/text-ingester.d.ts.map +1 -0
  97. package/dist/intake/text-ingester.js +181 -0
  98. package/dist/intake/text-ingester.js.map +1 -0
  99. package/dist/llm/llm-client.d.ts.map +1 -1
  100. package/dist/llm/llm-client.js +45 -5
  101. package/dist/llm/llm-client.js.map +1 -1
  102. package/dist/llm/oauth-discovery.d.ts +18 -0
  103. package/dist/llm/oauth-discovery.d.ts.map +1 -0
  104. package/dist/llm/oauth-discovery.js +130 -0
  105. package/dist/llm/oauth-discovery.js.map +1 -0
  106. package/dist/llm/types.d.ts +4 -2
  107. package/dist/llm/types.d.ts.map +1 -1
  108. package/dist/packs/pack-installer.d.ts +2 -1
  109. package/dist/packs/pack-installer.d.ts.map +1 -1
  110. package/dist/packs/pack-installer.js +10 -1
  111. package/dist/packs/pack-installer.js.map +1 -1
  112. package/dist/persistence/index.d.ts +0 -1
  113. package/dist/persistence/index.d.ts.map +1 -1
  114. package/dist/persistence/index.js +0 -1
  115. package/dist/persistence/index.js.map +1 -1
  116. package/dist/persistence/types.d.ts +2 -6
  117. package/dist/persistence/types.d.ts.map +1 -1
  118. package/dist/planning/evidence-collector.d.ts +41 -0
  119. package/dist/planning/evidence-collector.d.ts.map +1 -0
  120. package/dist/planning/evidence-collector.js +194 -0
  121. package/dist/planning/evidence-collector.js.map +1 -0
  122. package/dist/planning/planner.d.ts +4 -0
  123. package/dist/planning/planner.d.ts.map +1 -1
  124. package/dist/planning/planner.js +11 -0
  125. package/dist/planning/planner.js.map +1 -1
  126. package/dist/plugins/index.d.ts +4 -0
  127. package/dist/plugins/index.d.ts.map +1 -1
  128. package/dist/plugins/index.js +4 -0
  129. package/dist/plugins/index.js.map +1 -1
  130. package/dist/plugins/plugin-registry.d.ts +4 -0
  131. package/dist/plugins/plugin-registry.d.ts.map +1 -1
  132. package/dist/plugins/plugin-registry.js +4 -0
  133. package/dist/plugins/plugin-registry.js.map +1 -1
  134. package/dist/plugins/types.d.ts +32 -27
  135. package/dist/plugins/types.d.ts.map +1 -1
  136. package/dist/plugins/types.js +6 -3
  137. package/dist/plugins/types.js.map +1 -1
  138. package/dist/queue/job-queue.d.ts +92 -0
  139. package/dist/queue/job-queue.d.ts.map +1 -0
  140. package/dist/queue/job-queue.js +180 -0
  141. package/dist/queue/job-queue.js.map +1 -0
  142. package/dist/queue/pipeline-runner.d.ts +62 -0
  143. package/dist/queue/pipeline-runner.d.ts.map +1 -0
  144. package/dist/queue/pipeline-runner.js +126 -0
  145. package/dist/queue/pipeline-runner.js.map +1 -0
  146. package/dist/runtime/admin-setup-ops.d.ts +20 -0
  147. package/dist/runtime/admin-setup-ops.d.ts.map +1 -0
  148. package/dist/runtime/admin-setup-ops.js +583 -0
  149. package/dist/runtime/admin-setup-ops.js.map +1 -0
  150. package/dist/runtime/chain-ops.d.ts +9 -0
  151. package/dist/runtime/chain-ops.d.ts.map +1 -0
  152. package/dist/runtime/chain-ops.js +107 -0
  153. package/dist/runtime/chain-ops.js.map +1 -0
  154. package/dist/runtime/claude-md-helpers.d.ts +56 -0
  155. package/dist/runtime/claude-md-helpers.d.ts.map +1 -0
  156. package/dist/runtime/claude-md-helpers.js +160 -0
  157. package/dist/runtime/claude-md-helpers.js.map +1 -0
  158. package/dist/runtime/curator-extra-ops.d.ts +3 -2
  159. package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
  160. package/dist/runtime/curator-extra-ops.js +81 -3
  161. package/dist/runtime/curator-extra-ops.js.map +1 -1
  162. package/dist/runtime/facades/admin-facade.d.ts.map +1 -1
  163. package/dist/runtime/facades/admin-facade.js +5 -2
  164. package/dist/runtime/facades/admin-facade.js.map +1 -1
  165. package/dist/runtime/facades/agency-facade.d.ts.map +1 -1
  166. package/dist/runtime/facades/agency-facade.js +64 -0
  167. package/dist/runtime/facades/agency-facade.js.map +1 -1
  168. package/dist/runtime/facades/brain-facade.d.ts.map +1 -1
  169. package/dist/runtime/facades/brain-facade.js +122 -1
  170. package/dist/runtime/facades/brain-facade.js.map +1 -1
  171. package/dist/runtime/facades/control-facade.d.ts.map +1 -1
  172. package/dist/runtime/facades/control-facade.js +42 -0
  173. package/dist/runtime/facades/control-facade.js.map +1 -1
  174. package/dist/runtime/facades/memory-facade.d.ts.map +1 -1
  175. package/dist/runtime/facades/memory-facade.js +20 -2
  176. package/dist/runtime/facades/memory-facade.js.map +1 -1
  177. package/dist/runtime/facades/plan-facade.d.ts.map +1 -1
  178. package/dist/runtime/facades/plan-facade.js +2 -0
  179. package/dist/runtime/facades/plan-facade.js.map +1 -1
  180. package/dist/runtime/facades/vault-facade.d.ts.map +1 -1
  181. package/dist/runtime/facades/vault-facade.js +25 -5
  182. package/dist/runtime/facades/vault-facade.js.map +1 -1
  183. package/dist/runtime/intake-ops.d.ts +7 -5
  184. package/dist/runtime/intake-ops.d.ts.map +1 -1
  185. package/dist/runtime/intake-ops.js +98 -5
  186. package/dist/runtime/intake-ops.js.map +1 -1
  187. package/dist/runtime/memory-extra-ops.d.ts +6 -3
  188. package/dist/runtime/memory-extra-ops.d.ts.map +1 -1
  189. package/dist/runtime/memory-extra-ops.js +292 -4
  190. package/dist/runtime/memory-extra-ops.js.map +1 -1
  191. package/dist/runtime/pack-ops.d.ts +3 -0
  192. package/dist/runtime/pack-ops.d.ts.map +1 -1
  193. package/dist/runtime/pack-ops.js +18 -1
  194. package/dist/runtime/pack-ops.js.map +1 -1
  195. package/dist/runtime/planning-extra-ops.d.ts.map +1 -1
  196. package/dist/runtime/planning-extra-ops.js +85 -0
  197. package/dist/runtime/planning-extra-ops.js.map +1 -1
  198. package/dist/runtime/playbook-ops.js +1 -1
  199. package/dist/runtime/playbook-ops.js.map +1 -1
  200. package/dist/runtime/plugin-ops.d.ts.map +1 -1
  201. package/dist/runtime/plugin-ops.js +3 -0
  202. package/dist/runtime/plugin-ops.js.map +1 -1
  203. package/dist/runtime/runtime.d.ts.map +1 -1
  204. package/dist/runtime/runtime.js +143 -2
  205. package/dist/runtime/runtime.js.map +1 -1
  206. package/dist/runtime/session-briefing.d.ts +23 -0
  207. package/dist/runtime/session-briefing.d.ts.map +1 -0
  208. package/dist/runtime/session-briefing.js +154 -0
  209. package/dist/runtime/session-briefing.js.map +1 -0
  210. package/dist/runtime/types.d.ts +23 -0
  211. package/dist/runtime/types.d.ts.map +1 -1
  212. package/dist/runtime/vault-linking-ops.d.ts.map +1 -1
  213. package/dist/runtime/vault-linking-ops.js +3 -7
  214. package/dist/runtime/vault-linking-ops.js.map +1 -1
  215. package/dist/vault/vault.d.ts +34 -0
  216. package/dist/vault/vault.d.ts.map +1 -1
  217. package/dist/vault/vault.js +89 -3
  218. package/dist/vault/vault.js.map +1 -1
  219. package/package.json +6 -4
  220. package/src/__tests__/admin-setup-ops.test.ts +355 -0
  221. package/src/__tests__/async-infrastructure.test.ts +307 -0
  222. package/src/__tests__/cognee-client-gaps.test.ts +6 -2
  223. package/src/__tests__/cognee-hybrid-search.test.ts +49 -35
  224. package/src/__tests__/cognee-sync-manager-deep.test.ts +89 -65
  225. package/src/__tests__/curator-extra-ops.test.ts +6 -2
  226. package/src/__tests__/curator-pipeline-e2e.test.ts +545 -0
  227. package/src/__tests__/memory-extra-ops.test.ts +2 -2
  228. package/src/__tests__/module-manifest-drift.test.ts +59 -0
  229. package/src/__tests__/planning-extra-ops.test.ts +2 -2
  230. package/src/__tests__/second-brain-features.test.ts +583 -0
  231. package/src/agency/agency-manager.ts +217 -9
  232. package/src/agency/default-rules.ts +83 -0
  233. package/src/agency/types.ts +61 -0
  234. package/src/brain/brain.ts +110 -8
  235. package/src/brain/knowledge-synthesizer.ts +216 -0
  236. package/src/brain/learning-radar.ts +340 -0
  237. package/src/brain/types.ts +16 -0
  238. package/src/context/context-engine.ts +114 -15
  239. package/src/context/types.ts +5 -0
  240. package/src/control/intent-router.ts +107 -0
  241. package/src/control/types.ts +10 -0
  242. package/src/curator/classifier.ts +86 -0
  243. package/src/curator/quality-gate.ts +127 -0
  244. package/src/domain-packs/index.ts +0 -6
  245. package/src/domain-packs/loader.ts +25 -5
  246. package/src/domain-packs/pack-runtime.ts +6 -6
  247. package/src/domain-packs/types.ts +8 -2
  248. package/src/engine/bin/soleri-engine.ts +18 -2
  249. package/src/engine/index.ts +2 -0
  250. package/src/engine/module-manifest.ts +99 -0
  251. package/src/engine/register-engine.ts +21 -2
  252. package/src/events/event-bus.ts +58 -0
  253. package/src/flows/chain-runner.ts +369 -0
  254. package/src/flows/chain-types.ts +57 -0
  255. package/src/index.ts +0 -1
  256. package/src/intake/content-classifier.ts +0 -2
  257. package/src/intake/text-ingester.ts +234 -0
  258. package/src/llm/llm-client.ts +50 -7
  259. package/src/llm/oauth-discovery.ts +151 -0
  260. package/src/llm/types.ts +4 -2
  261. package/src/packs/pack-installer.ts +16 -1
  262. package/src/persistence/index.ts +0 -1
  263. package/src/persistence/types.ts +2 -6
  264. package/src/planning/evidence-collector.ts +247 -0
  265. package/src/planning/planner.ts +11 -0
  266. package/src/plugins/index.ts +4 -0
  267. package/src/plugins/plugin-registry.ts +6 -1
  268. package/src/plugins/types.ts +10 -5
  269. package/src/queue/job-queue.ts +281 -0
  270. package/src/queue/pipeline-runner.ts +149 -0
  271. package/src/runtime/admin-setup-ops.ts +664 -0
  272. package/src/runtime/chain-ops.ts +121 -0
  273. package/src/runtime/claude-md-helpers.ts +218 -0
  274. package/src/runtime/curator-extra-ops.ts +86 -3
  275. package/src/runtime/facades/admin-facade.ts +5 -2
  276. package/src/runtime/facades/agency-facade.ts +68 -0
  277. package/src/runtime/facades/brain-facade.ts +142 -1
  278. package/src/runtime/facades/control-facade.ts +45 -0
  279. package/src/runtime/facades/memory-facade.ts +20 -2
  280. package/src/runtime/facades/plan-facade.ts +2 -0
  281. package/src/runtime/facades/vault-facade.ts +28 -5
  282. package/src/runtime/intake-ops.ts +107 -5
  283. package/src/runtime/memory-extra-ops.ts +312 -4
  284. package/src/runtime/pack-ops.ts +26 -1
  285. package/src/runtime/planning-extra-ops.ts +94 -0
  286. package/src/runtime/playbook-ops.ts +1 -1
  287. package/src/runtime/plugin-ops.ts +3 -0
  288. package/src/runtime/runtime.ts +138 -2
  289. package/src/runtime/session-briefing.ts +175 -0
  290. package/src/runtime/types.ts +23 -0
  291. package/src/runtime/vault-linking-ops.ts +3 -7
  292. package/src/vault/vault.ts +105 -4
  293. package/src/__tests__/postgres-provider.test.ts +0 -116
  294. package/src/persistence/postgres-provider.ts +0 -310
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-runner.js","sourceRoot":"","sources":["../../src/queue/pipeline-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Admin setup operations — 4 ops for agent self-installation.
3
+ *
4
+ * inject_claude_md: Inject agent sections into CLAUDE.md
5
+ * admin_setup_global: Install hooks + skills + settings.json lifecycle hooks
6
+ * admin_setup_project: Project-level hook management (analyze/cleanup/install)
7
+ * admin_check_persistence: Diagnostic — check plan/task/check storage status
8
+ *
9
+ * Ported from Salvador MCP. Key adaptations:
10
+ * - Runtime-config-driven (no vault manifest dependency)
11
+ * - Agent-scoped markers for multi-agent coexistence
12
+ * - OpDefinition[] pattern (not standalone tool files)
13
+ */
14
+ import type { OpDefinition } from '../facades/types.js';
15
+ import type { AgentRuntime } from './types.js';
16
+ /**
17
+ * Create 4 admin setup operations.
18
+ */
19
+ export declare function createAdminSetupOps(runtime: AgentRuntime): OpDefinition[];
20
+ //# sourceMappingURL=admin-setup-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-setup-ops.d.ts","sourceRoot":"","sources":["../../src/runtime/admin-setup-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwM/C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,CAgbzE"}
@@ -0,0 +1,583 @@
1
+ /**
2
+ * Admin setup operations — 4 ops for agent self-installation.
3
+ *
4
+ * inject_claude_md: Inject agent sections into CLAUDE.md
5
+ * admin_setup_global: Install hooks + skills + settings.json lifecycle hooks
6
+ * admin_setup_project: Project-level hook management (analyze/cleanup/install)
7
+ * admin_check_persistence: Diagnostic — check plan/task/check storage status
8
+ *
9
+ * Ported from Salvador MCP. Key adaptations:
10
+ * - Runtime-config-driven (no vault manifest dependency)
11
+ * - Agent-scoped markers for multi-agent coexistence
12
+ * - OpDefinition[] pattern (not standalone tool files)
13
+ */
14
+ import { z } from 'zod';
15
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, copyFileSync, readdirSync, unlinkSync, statSync, } from 'node:fs';
16
+ import { join, resolve, dirname } from 'node:path';
17
+ import { homedir } from 'node:os';
18
+ import { hasSections, removeSections, injectAtPosition, buildInjectionContent, injectEngineRulesBlock, } from './claude-md-helpers.js';
19
+ // ─── Helpers ──────────────────────────────────────────────────────────
20
+ /** Find CLAUDE.md in a project — checks root and .claude/ */
21
+ function findClaudeMdPath(projectPath) {
22
+ const candidates = [join(projectPath, 'CLAUDE.md'), join(projectPath, '.claude', 'CLAUDE.md')];
23
+ for (const p of candidates) {
24
+ if (existsSync(p))
25
+ return p;
26
+ }
27
+ return null;
28
+ }
29
+ /** Read settings.json from ~/.claude/ */
30
+ function readSettingsJson() {
31
+ const settingsPath = join(homedir(), '.claude', 'settings.json');
32
+ if (!existsSync(settingsPath))
33
+ return {};
34
+ try {
35
+ return JSON.parse(readFileSync(settingsPath, 'utf-8'));
36
+ }
37
+ catch {
38
+ return {};
39
+ }
40
+ }
41
+ /** Write settings.json to ~/.claude/ */
42
+ function writeSettingsJson(settings) {
43
+ const settingsPath = join(homedir(), '.claude', 'settings.json');
44
+ mkdirSync(dirname(settingsPath), { recursive: true });
45
+ writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
46
+ }
47
+ /** Get file info for persistence diagnostic */
48
+ function getFileInfo(path) {
49
+ if (!existsSync(path)) {
50
+ return { exists: false, size: 0, items: 0 };
51
+ }
52
+ try {
53
+ const stat = statSync(path);
54
+ const content = JSON.parse(readFileSync(path, 'utf-8'));
55
+ const items = content.items
56
+ ? Object.keys(content.items).length
57
+ : content.contexts
58
+ ? content.contexts.length
59
+ : Array.isArray(content)
60
+ ? content.length
61
+ : 0;
62
+ return { exists: true, size: stat.size, items };
63
+ }
64
+ catch {
65
+ return { exists: true, size: 0, items: -1 };
66
+ }
67
+ }
68
+ /** Discover hookify rule files in a directory */
69
+ function discoverHookifyFiles(dir) {
70
+ if (!existsSync(dir))
71
+ return [];
72
+ return readdirSync(dir)
73
+ .filter((f) => f.startsWith('hookify.') && f.endsWith('.local.md'))
74
+ .map((f) => ({ name: f, path: join(dir, f) }));
75
+ }
76
+ /** Discover skill files (SKILL.md) in a skills directory */
77
+ function discoverSkills(skillsDirs) {
78
+ const skills = [];
79
+ for (const dir of skillsDirs) {
80
+ if (!existsSync(dir))
81
+ continue;
82
+ const entries = readdirSync(dir, { withFileTypes: true });
83
+ for (const entry of entries) {
84
+ if (!entry.isDirectory())
85
+ continue;
86
+ const skillPath = join(dir, entry.name, 'SKILL.md');
87
+ if (existsSync(skillPath)) {
88
+ skills.push({ name: entry.name, sourcePath: skillPath });
89
+ }
90
+ }
91
+ }
92
+ return skills;
93
+ }
94
+ /** Default lifecycle hooks for any Soleri agent */
95
+ function getDefaultLifecycleHooks(agentId) {
96
+ const marker = `mcp__${agentId}__${agentId}_`;
97
+ return {
98
+ SessionStart: [
99
+ {
100
+ matcher: '',
101
+ hooks: [
102
+ {
103
+ type: 'prompt',
104
+ prompt: `Call ${marker}admin op:admin_health to verify agent is ready. Do not show the result unless there are errors.`,
105
+ timeout: 15000,
106
+ },
107
+ ],
108
+ },
109
+ ],
110
+ PreCompact: [
111
+ {
112
+ matcher: '',
113
+ hooks: [
114
+ {
115
+ type: 'agent',
116
+ prompt: `Call ${marker}memory op:session_capture with a brief summary of the current session before context is compacted.`,
117
+ timeout: 30000,
118
+ },
119
+ ],
120
+ },
121
+ ],
122
+ Stop: [
123
+ {
124
+ matcher: '',
125
+ hooks: [
126
+ {
127
+ type: 'agent',
128
+ prompt: `Call ${marker}memory op:session_capture with a structured summary of what was accomplished, then check ${marker}loop op:loop_status — if a loop is active, remind the user.`,
129
+ timeout: 30000,
130
+ },
131
+ ],
132
+ },
133
+ ],
134
+ };
135
+ }
136
+ /** Check if a hook group belongs to this agent by inspecting prompts for the marker */
137
+ function isAgentHookGroup(group, agentId) {
138
+ const marker = `mcp__${agentId}__${agentId}_`;
139
+ return group.hooks.some((h) => (h.prompt && h.prompt.includes(marker)) || (h.command && h.command.includes(marker)));
140
+ }
141
+ /** Merge agent hooks into settings.json hooks object */
142
+ function mergeSettingsHooks(currentHooks, agentId) {
143
+ const defaults = getDefaultLifecycleHooks(agentId);
144
+ const merged = { ...currentHooks };
145
+ const installed = [];
146
+ const updated = [];
147
+ const skipped = [];
148
+ for (const [event, groups] of Object.entries(defaults)) {
149
+ if (!merged[event]) {
150
+ merged[event] = groups;
151
+ installed.push(event);
152
+ continue;
153
+ }
154
+ // Check if agent group already exists
155
+ const existingIdx = merged[event].findIndex((g) => isAgentHookGroup(g, agentId));
156
+ if (existingIdx === -1) {
157
+ // Append agent hooks (don't touch non-agent hooks)
158
+ merged[event].push(...groups);
159
+ installed.push(event);
160
+ }
161
+ else {
162
+ // Check if template matches
163
+ const existing = JSON.stringify(merged[event][existingIdx]);
164
+ const template = JSON.stringify(groups[0]);
165
+ if (existing === template) {
166
+ skipped.push(event);
167
+ }
168
+ else {
169
+ merged[event][existingIdx] = groups[0];
170
+ updated.push(event);
171
+ }
172
+ }
173
+ }
174
+ return { hooks: merged, installed, updated, skipped };
175
+ }
176
+ // ─── Op Definitions ───────────────────────────────────────────────────
177
+ /**
178
+ * Create 4 admin setup operations.
179
+ */
180
+ export function createAdminSetupOps(runtime) {
181
+ const { config } = runtime;
182
+ return [
183
+ // ─── inject_claude_md ──────────────────────────────────────────
184
+ {
185
+ name: 'admin_inject_claude_md',
186
+ description: 'Inject agent sections into a project or global CLAUDE.md. Idempotent — updates existing sections or adds new ones.',
187
+ auth: 'write',
188
+ schema: z.object({
189
+ projectPath: z.string().describe('Project path (use "." for current directory)'),
190
+ includeIntegration: z
191
+ .boolean()
192
+ .optional()
193
+ .default(true)
194
+ .describe('Include integration section with tools table'),
195
+ createIfMissing: z
196
+ .boolean()
197
+ .optional()
198
+ .default(false)
199
+ .describe('Create CLAUDE.md if not found'),
200
+ position: z
201
+ .enum(['start', 'end', 'after-title'])
202
+ .optional()
203
+ .default('after-title')
204
+ .describe('Where to inject (default: after first heading)'),
205
+ dryRun: z.boolean().optional().default(false).describe('Preview changes without writing'),
206
+ global: z
207
+ .boolean()
208
+ .optional()
209
+ .default(false)
210
+ .describe('Inject into ~/.claude/CLAUDE.md instead of project'),
211
+ }),
212
+ handler: async (params) => {
213
+ const projectPath = resolve(params.projectPath);
214
+ const includeIntegration = params.includeIntegration;
215
+ const createIfMissing = params.createIfMissing;
216
+ const position = params.position;
217
+ const dryRun = params.dryRun;
218
+ const isGlobal = params.global;
219
+ // Determine target path
220
+ const targetPath = isGlobal
221
+ ? join(homedir(), '.claude', 'CLAUDE.md')
222
+ : findClaudeMdPath(projectPath);
223
+ if (!targetPath && !createIfMissing) {
224
+ return {
225
+ action: 'error',
226
+ error: 'CLAUDE.md not found',
227
+ searchedPaths: [
228
+ join(projectPath, 'CLAUDE.md'),
229
+ join(projectPath, '.claude', 'CLAUDE.md'),
230
+ ],
231
+ hint: 'Set createIfMissing: true to create one',
232
+ };
233
+ }
234
+ const filePath = targetPath ?? join(projectPath, 'CLAUDE.md');
235
+ const existingContent = existsSync(filePath) ? readFileSync(filePath, 'utf-8') : '';
236
+ // Inject engine rules if this is a global injection and agentDir is available
237
+ let contentWithEngineRules = existingContent;
238
+ if (isGlobal && config.agentDir) {
239
+ const enginePath = join(config.agentDir, 'instructions', '_engine.md');
240
+ if (existsSync(enginePath)) {
241
+ const engineRulesContent = readFileSync(enginePath, 'utf-8');
242
+ contentWithEngineRules = injectEngineRulesBlock(existingContent, engineRulesContent);
243
+ }
244
+ }
245
+ // Build injection content
246
+ const injectionContent = buildInjectionContent(config, { includeIntegration });
247
+ // Check if already injected
248
+ if (hasSections(contentWithEngineRules, config.agentId)) {
249
+ // Update existing sections
250
+ const stripped = removeSections(contentWithEngineRules, config.agentId);
251
+ const updated = injectAtPosition(stripped, injectionContent, position);
252
+ if (dryRun) {
253
+ return { action: 'would_update', path: filePath, preview: injectionContent };
254
+ }
255
+ mkdirSync(dirname(filePath), { recursive: true });
256
+ writeFileSync(filePath, updated);
257
+ return { action: 'updated', path: filePath, agentId: config.agentId };
258
+ }
259
+ // New injection
260
+ let result;
261
+ if (contentWithEngineRules) {
262
+ result = injectAtPosition(contentWithEngineRules, injectionContent, position);
263
+ }
264
+ else {
265
+ // Create new file with title
266
+ const projectName = projectPath.split('/').pop() ?? 'Project';
267
+ result = `# ${projectName}\n\n${injectionContent}\n`;
268
+ }
269
+ if (dryRun) {
270
+ return { action: 'would_inject', path: filePath, preview: injectionContent };
271
+ }
272
+ mkdirSync(dirname(filePath), { recursive: true });
273
+ writeFileSync(filePath, result);
274
+ return {
275
+ action: existingContent ? 'injected' : 'created',
276
+ path: filePath,
277
+ agentId: config.agentId,
278
+ };
279
+ },
280
+ },
281
+ // ─── setup_global ──────────────────────────────────────────────
282
+ {
283
+ name: 'admin_setup_global',
284
+ description: 'Install global agent configuration — hookify rules to ~/.claude/, skills to ~/.claude/commands/, lifecycle hooks to settings.json. Dry-run by default.',
285
+ auth: 'admin',
286
+ schema: z.object({
287
+ install: z.boolean().describe('Set true to install, false for dry-run preview'),
288
+ hooksOnly: z
289
+ .boolean()
290
+ .optional()
291
+ .default(false)
292
+ .describe('Only install hookify rules, skip settings.json and skills'),
293
+ settingsJsonOnly: z
294
+ .boolean()
295
+ .optional()
296
+ .default(false)
297
+ .describe('Only install settings.json lifecycle hooks'),
298
+ skillsOnly: z
299
+ .boolean()
300
+ .optional()
301
+ .default(false)
302
+ .describe('Only install skills to ~/.claude/commands/'),
303
+ }),
304
+ handler: async (params) => {
305
+ const install = params.install;
306
+ const hooksOnly = params.hooksOnly;
307
+ const settingsJsonOnly = params.settingsJsonOnly;
308
+ const skillsOnly = params.skillsOnly;
309
+ const globalClaudeDir = join(homedir(), '.claude');
310
+ const commandsDir = join(globalClaudeDir, 'commands');
311
+ // Discover what's available
312
+ const agentDataDir = config.dataDir;
313
+ const hookifySourceDirs = agentDataDir ? [join(agentDataDir, '.claude')] : [];
314
+ const skillsSourceDirs = agentDataDir ? [join(agentDataDir, 'skills')] : [];
315
+ // 1. Hookify rules analysis
316
+ const hookifyResults = {
317
+ installed: [],
318
+ skipped: [],
319
+ failed: [],
320
+ };
321
+ if (!settingsJsonOnly && !skillsOnly) {
322
+ for (const sourceDir of hookifySourceDirs) {
323
+ const rules = discoverHookifyFiles(sourceDir);
324
+ for (const rule of rules) {
325
+ const targetPath = join(globalClaudeDir, rule.name);
326
+ if (existsSync(targetPath)) {
327
+ hookifyResults.skipped.push(rule.name);
328
+ }
329
+ else if (install) {
330
+ try {
331
+ mkdirSync(globalClaudeDir, { recursive: true });
332
+ copyFileSync(rule.path, targetPath);
333
+ hookifyResults.installed.push(rule.name);
334
+ }
335
+ catch {
336
+ hookifyResults.failed.push(rule.name);
337
+ }
338
+ }
339
+ else {
340
+ hookifyResults.installed.push(rule.name); // would install
341
+ }
342
+ }
343
+ }
344
+ }
345
+ // 2. Skills analysis
346
+ const skillsResults = {
347
+ installed: [],
348
+ skipped: [],
349
+ failed: [],
350
+ };
351
+ if (!hooksOnly && !settingsJsonOnly) {
352
+ const skills = discoverSkills(skillsSourceDirs);
353
+ for (const skill of skills) {
354
+ const targetPath = join(commandsDir, `${skill.name}.md`);
355
+ if (existsSync(targetPath)) {
356
+ skillsResults.skipped.push(skill.name);
357
+ }
358
+ else if (install) {
359
+ try {
360
+ mkdirSync(commandsDir, { recursive: true });
361
+ copyFileSync(skill.sourcePath, targetPath);
362
+ skillsResults.installed.push(skill.name);
363
+ }
364
+ catch {
365
+ skillsResults.failed.push(skill.name);
366
+ }
367
+ }
368
+ else {
369
+ skillsResults.installed.push(skill.name); // would install
370
+ }
371
+ }
372
+ }
373
+ // 3. Settings.json lifecycle hooks
374
+ const settingsResults = {
375
+ installed: [],
376
+ updated: [],
377
+ skipped: [],
378
+ };
379
+ if (!hooksOnly && !skillsOnly) {
380
+ const currentSettings = readSettingsJson();
381
+ const currentHooks = (currentSettings.hooks ?? {});
382
+ const merged = mergeSettingsHooks(currentHooks, config.agentId);
383
+ settingsResults.installed = merged.installed;
384
+ settingsResults.updated = merged.updated;
385
+ settingsResults.skipped = merged.skipped;
386
+ if (install && (merged.installed.length > 0 || merged.updated.length > 0)) {
387
+ currentSettings.hooks = merged.hooks;
388
+ writeSettingsJson(currentSettings);
389
+ }
390
+ }
391
+ return {
392
+ dryRun: !install,
393
+ agentId: config.agentId,
394
+ hookifyRules: hookifyResults,
395
+ skills: skillsResults,
396
+ settingsJson: settingsResults,
397
+ ...(install
398
+ ? { message: 'Global setup complete' }
399
+ : { message: 'Dry run — pass install: true to apply' }),
400
+ };
401
+ },
402
+ },
403
+ // ─── setup_project ─────────────────────────────────────────────
404
+ {
405
+ name: 'admin_setup_project',
406
+ description: 'Project hook management — analyze, cleanup duplicates, or install agent hooks. Analysis mode by default.',
407
+ auth: 'write',
408
+ schema: z.object({
409
+ projectPath: z.string().describe('Project root path'),
410
+ cleanup: z
411
+ .boolean()
412
+ .optional()
413
+ .default(false)
414
+ .describe('Remove project hooks that already exist globally'),
415
+ install: z
416
+ .boolean()
417
+ .optional()
418
+ .default(false)
419
+ .describe('Install agent hooks to the project'),
420
+ }),
421
+ handler: async (params) => {
422
+ const projectPath = resolve(params.projectPath);
423
+ const cleanup = params.cleanup;
424
+ const install = params.install;
425
+ if (!existsSync(projectPath)) {
426
+ return { error: 'PROJECT_NOT_FOUND', path: projectPath };
427
+ }
428
+ const globalClaudeDir = join(homedir(), '.claude');
429
+ const projectClaudeDir = join(projectPath, '.claude');
430
+ // Discover existing hooks
431
+ const globalHookify = discoverHookifyFiles(globalClaudeDir);
432
+ const projectHookify = discoverHookifyFiles(projectClaudeDir);
433
+ const globalNames = new Set(globalHookify.map((h) => h.name));
434
+ // Find duplicates (project hooks that also exist globally)
435
+ const duplicates = projectHookify.filter((h) => globalNames.has(h.name));
436
+ // Analyze mode (default)
437
+ if (!cleanup && !install) {
438
+ return {
439
+ mode: 'analyze',
440
+ projectPath,
441
+ globalHooks: globalHookify.length,
442
+ projectHooks: projectHookify.length,
443
+ duplicates: duplicates.map((d) => d.name),
444
+ recommendations: duplicates.length > 0
445
+ ? [`${duplicates.length} project hook(s) duplicate global hooks — consider cleanup`]
446
+ : ['No duplicates found — hooks are clean'],
447
+ };
448
+ }
449
+ // Cleanup mode — remove duplicates
450
+ if (cleanup) {
451
+ const removed = [];
452
+ for (const dup of duplicates) {
453
+ try {
454
+ unlinkSync(dup.path);
455
+ removed.push(dup.name);
456
+ }
457
+ catch {
458
+ // Skip failures silently
459
+ }
460
+ }
461
+ return {
462
+ mode: 'cleanup',
463
+ projectPath,
464
+ removed,
465
+ remaining: projectHookify.length - removed.length,
466
+ };
467
+ }
468
+ // Install mode — copy agent hooks to project
469
+ if (install) {
470
+ const installed = [];
471
+ const skipped = [];
472
+ // Copy hookify rules (skip ones already installed globally)
473
+ const agentDataDir = config.dataDir;
474
+ if (agentDataDir) {
475
+ const sourceRules = discoverHookifyFiles(join(agentDataDir, '.claude'));
476
+ for (const rule of sourceRules) {
477
+ const targetPath = join(projectClaudeDir, rule.name);
478
+ if (globalNames.has(rule.name)) {
479
+ skipped.push(`${rule.name} (exists globally)`);
480
+ }
481
+ else if (existsSync(targetPath)) {
482
+ skipped.push(`${rule.name} (exists in project)`);
483
+ }
484
+ else {
485
+ try {
486
+ mkdirSync(projectClaudeDir, { recursive: true });
487
+ copyFileSync(rule.path, targetPath);
488
+ installed.push(rule.name);
489
+ }
490
+ catch {
491
+ // Skip failures
492
+ }
493
+ }
494
+ }
495
+ }
496
+ return {
497
+ mode: 'install',
498
+ projectPath,
499
+ installed,
500
+ skipped,
501
+ };
502
+ }
503
+ return { error: 'INVALID_MODE' };
504
+ },
505
+ },
506
+ // ─── check_persistence ─────────────────────────────────────────
507
+ {
508
+ name: 'admin_check_persistence',
509
+ description: 'Check agent persistence status — storage directory, plan/task/check files, and active plan lifecycle states.',
510
+ auth: 'read',
511
+ handler: async () => {
512
+ const { agentId, plansPath, vaultPath } = config;
513
+ const storageDir = join(homedir(), `.${agentId}`);
514
+ const storageDirExists = existsSync(storageDir);
515
+ // Check plan storage
516
+ const plansFile = plansPath ?? join(storageDir, 'plans.json');
517
+ const plansInfo = getFileInfo(plansFile);
518
+ // Check vault
519
+ const vaultFile = vaultPath ?? join(storageDir, 'vault.db');
520
+ const vaultExists = existsSync(vaultFile);
521
+ let vaultSize = 0;
522
+ if (vaultExists) {
523
+ try {
524
+ vaultSize = statSync(vaultFile).size;
525
+ }
526
+ catch {
527
+ // Ignore
528
+ }
529
+ }
530
+ // Determine status
531
+ let status;
532
+ if (vaultExists && plansInfo.exists) {
533
+ status = 'PERSISTENCE_ACTIVE';
534
+ }
535
+ else if (storageDirExists) {
536
+ status = 'PERSISTENCE_CONFIGURED_BUT_INCOMPLETE';
537
+ }
538
+ else {
539
+ status = 'NO_STORAGE_DIRECTORY';
540
+ }
541
+ // Check for active plans
542
+ const activePlans = [];
543
+ if (plansInfo.exists) {
544
+ try {
545
+ const plansData = JSON.parse(readFileSync(plansFile, 'utf-8'));
546
+ const items = plansData.items ?? plansData;
547
+ if (typeof items === 'object' && items !== null) {
548
+ for (const [id, plan] of Object.entries(items)) {
549
+ const p = plan;
550
+ const lifecycle = (p.lifecycleStatus ?? p.status);
551
+ if (lifecycle === 'executing' || lifecycle === 'reconciling') {
552
+ activePlans.push({ id, status: lifecycle });
553
+ }
554
+ }
555
+ }
556
+ }
557
+ catch {
558
+ // Parse error — not critical
559
+ }
560
+ }
561
+ const recommendation = activePlans.length > 0
562
+ ? `${activePlans.length} plan(s) need attention — call plan_reconcile or plan_complete_lifecycle`
563
+ : status === 'PERSISTENCE_ACTIVE'
564
+ ? 'All good — persistence is active and no orphaned plans'
565
+ : status === 'NO_STORAGE_DIRECTORY'
566
+ ? `Storage directory not found at ${storageDir} — it will be created on first use`
567
+ : 'Storage directory exists but some files are missing — they will be created on first use';
568
+ return {
569
+ agentId,
570
+ storageDirectory: { path: storageDir, exists: storageDirExists },
571
+ files: {
572
+ plans: { path: plansFile, ...plansInfo },
573
+ vault: { path: vaultFile, exists: vaultExists, sizeBytes: vaultSize },
574
+ },
575
+ status,
576
+ activePlans,
577
+ recommendation,
578
+ };
579
+ },
580
+ },
581
+ ];
582
+ }
583
+ //# sourceMappingURL=admin-setup-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-setup-ops.js","sourceRoot":"","sources":["../../src/runtime/admin-setup-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Chain operations — 5 ops for composable multi-step workflows.
3
+ *
4
+ * Ops: chain_execute, chain_status, chain_resume, chain_list, chain_step_approve
5
+ */
6
+ import type { OpDefinition } from '../facades/types.js';
7
+ import type { AgentRuntime } from './types.js';
8
+ export declare function createChainOps(runtime: AgentRuntime): OpDefinition[];
9
+ //# sourceMappingURL=chain-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-ops.d.ts","sourceRoot":"","sources":["../../src/runtime/chain-ops.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,CA6GpE"}