@soleri/core 2.1.0 → 2.5.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 (377) hide show
  1. package/dist/brain/brain.d.ts +10 -1
  2. package/dist/brain/brain.d.ts.map +1 -1
  3. package/dist/brain/brain.js +116 -13
  4. package/dist/brain/brain.js.map +1 -1
  5. package/dist/brain/intelligence.d.ts +36 -1
  6. package/dist/brain/intelligence.d.ts.map +1 -1
  7. package/dist/brain/intelligence.js +119 -14
  8. package/dist/brain/intelligence.js.map +1 -1
  9. package/dist/brain/types.d.ts +34 -2
  10. package/dist/brain/types.d.ts.map +1 -1
  11. package/dist/cognee/client.d.ts +3 -0
  12. package/dist/cognee/client.d.ts.map +1 -1
  13. package/dist/cognee/client.js +17 -0
  14. package/dist/cognee/client.js.map +1 -1
  15. package/dist/cognee/sync-manager.d.ts +94 -0
  16. package/dist/cognee/sync-manager.d.ts.map +1 -0
  17. package/dist/cognee/sync-manager.js +293 -0
  18. package/dist/cognee/sync-manager.js.map +1 -0
  19. package/dist/control/identity-manager.d.ts +22 -0
  20. package/dist/control/identity-manager.d.ts.map +1 -0
  21. package/dist/control/identity-manager.js +233 -0
  22. package/dist/control/identity-manager.js.map +1 -0
  23. package/dist/control/intent-router.d.ts +32 -0
  24. package/dist/control/intent-router.d.ts.map +1 -0
  25. package/dist/control/intent-router.js +242 -0
  26. package/dist/control/intent-router.js.map +1 -0
  27. package/dist/control/types.d.ts +68 -0
  28. package/dist/control/types.d.ts.map +1 -0
  29. package/dist/control/types.js +9 -0
  30. package/dist/control/types.js.map +1 -0
  31. package/dist/curator/curator.d.ts +37 -1
  32. package/dist/curator/curator.d.ts.map +1 -1
  33. package/dist/curator/curator.js +199 -1
  34. package/dist/curator/curator.js.map +1 -1
  35. package/dist/errors/classify.d.ts +13 -0
  36. package/dist/errors/classify.d.ts.map +1 -0
  37. package/dist/errors/classify.js +97 -0
  38. package/dist/errors/classify.js.map +1 -0
  39. package/dist/errors/index.d.ts +6 -0
  40. package/dist/errors/index.d.ts.map +1 -0
  41. package/dist/errors/index.js +4 -0
  42. package/dist/errors/index.js.map +1 -0
  43. package/dist/errors/retry.d.ts +40 -0
  44. package/dist/errors/retry.d.ts.map +1 -0
  45. package/dist/errors/retry.js +97 -0
  46. package/dist/errors/retry.js.map +1 -0
  47. package/dist/errors/types.d.ts +48 -0
  48. package/dist/errors/types.d.ts.map +1 -0
  49. package/dist/errors/types.js +59 -0
  50. package/dist/errors/types.js.map +1 -0
  51. package/dist/facades/types.d.ts +1 -1
  52. package/dist/governance/governance.d.ts +42 -0
  53. package/dist/governance/governance.d.ts.map +1 -0
  54. package/dist/governance/governance.js +488 -0
  55. package/dist/governance/governance.js.map +1 -0
  56. package/dist/governance/index.d.ts +3 -0
  57. package/dist/governance/index.d.ts.map +1 -0
  58. package/dist/governance/index.js +2 -0
  59. package/dist/governance/index.js.map +1 -0
  60. package/dist/governance/types.d.ts +102 -0
  61. package/dist/governance/types.d.ts.map +1 -0
  62. package/dist/governance/types.js +3 -0
  63. package/dist/governance/types.js.map +1 -0
  64. package/dist/index.d.ts +52 -3
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +47 -1
  67. package/dist/index.js.map +1 -1
  68. package/dist/intake/content-classifier.d.ts +14 -0
  69. package/dist/intake/content-classifier.d.ts.map +1 -0
  70. package/dist/intake/content-classifier.js +125 -0
  71. package/dist/intake/content-classifier.js.map +1 -0
  72. package/dist/intake/dedup-gate.d.ts +17 -0
  73. package/dist/intake/dedup-gate.d.ts.map +1 -0
  74. package/dist/intake/dedup-gate.js +66 -0
  75. package/dist/intake/dedup-gate.js.map +1 -0
  76. package/dist/intake/intake-pipeline.d.ts +63 -0
  77. package/dist/intake/intake-pipeline.d.ts.map +1 -0
  78. package/dist/intake/intake-pipeline.js +373 -0
  79. package/dist/intake/intake-pipeline.js.map +1 -0
  80. package/dist/intake/types.d.ts +65 -0
  81. package/dist/intake/types.d.ts.map +1 -0
  82. package/dist/intake/types.js +3 -0
  83. package/dist/intake/types.js.map +1 -0
  84. package/dist/intelligence/loader.js +1 -1
  85. package/dist/intelligence/loader.js.map +1 -1
  86. package/dist/intelligence/types.d.ts +3 -1
  87. package/dist/intelligence/types.d.ts.map +1 -1
  88. package/dist/logging/logger.d.ts +37 -0
  89. package/dist/logging/logger.d.ts.map +1 -0
  90. package/dist/logging/logger.js +145 -0
  91. package/dist/logging/logger.js.map +1 -0
  92. package/dist/logging/types.d.ts +19 -0
  93. package/dist/logging/types.d.ts.map +1 -0
  94. package/dist/logging/types.js +2 -0
  95. package/dist/logging/types.js.map +1 -0
  96. package/dist/loop/loop-manager.d.ts +100 -0
  97. package/dist/loop/loop-manager.d.ts.map +1 -0
  98. package/dist/loop/loop-manager.js +379 -0
  99. package/dist/loop/loop-manager.js.map +1 -0
  100. package/dist/loop/types.d.ts +103 -0
  101. package/dist/loop/types.d.ts.map +1 -0
  102. package/dist/loop/types.js +11 -0
  103. package/dist/loop/types.js.map +1 -0
  104. package/dist/persistence/index.d.ts +3 -0
  105. package/dist/persistence/index.d.ts.map +1 -0
  106. package/dist/persistence/index.js +2 -0
  107. package/dist/persistence/index.js.map +1 -0
  108. package/dist/persistence/sqlite-provider.d.ts +25 -0
  109. package/dist/persistence/sqlite-provider.d.ts.map +1 -0
  110. package/dist/persistence/sqlite-provider.js +59 -0
  111. package/dist/persistence/sqlite-provider.js.map +1 -0
  112. package/dist/persistence/types.d.ts +36 -0
  113. package/dist/persistence/types.d.ts.map +1 -0
  114. package/dist/persistence/types.js +8 -0
  115. package/dist/persistence/types.js.map +1 -0
  116. package/dist/planning/gap-analysis.d.ts +72 -0
  117. package/dist/planning/gap-analysis.d.ts.map +1 -0
  118. package/dist/planning/gap-analysis.js +442 -0
  119. package/dist/planning/gap-analysis.js.map +1 -0
  120. package/dist/planning/gap-types.d.ts +29 -0
  121. package/dist/planning/gap-types.d.ts.map +1 -0
  122. package/dist/planning/gap-types.js +28 -0
  123. package/dist/planning/gap-types.js.map +1 -0
  124. package/dist/planning/planner.d.ts +421 -4
  125. package/dist/planning/planner.d.ts.map +1 -1
  126. package/dist/planning/planner.js +949 -21
  127. package/dist/planning/planner.js.map +1 -1
  128. package/dist/playbooks/generic/brainstorming.d.ts +9 -0
  129. package/dist/playbooks/generic/brainstorming.d.ts.map +1 -0
  130. package/dist/playbooks/generic/brainstorming.js +105 -0
  131. package/dist/playbooks/generic/brainstorming.js.map +1 -0
  132. package/dist/playbooks/generic/code-review.d.ts +11 -0
  133. package/dist/playbooks/generic/code-review.d.ts.map +1 -0
  134. package/dist/playbooks/generic/code-review.js +176 -0
  135. package/dist/playbooks/generic/code-review.js.map +1 -0
  136. package/dist/playbooks/generic/subagent-execution.d.ts +9 -0
  137. package/dist/playbooks/generic/subagent-execution.d.ts.map +1 -0
  138. package/dist/playbooks/generic/subagent-execution.js +68 -0
  139. package/dist/playbooks/generic/subagent-execution.js.map +1 -0
  140. package/dist/playbooks/generic/systematic-debugging.d.ts +9 -0
  141. package/dist/playbooks/generic/systematic-debugging.d.ts.map +1 -0
  142. package/dist/playbooks/generic/systematic-debugging.js +87 -0
  143. package/dist/playbooks/generic/systematic-debugging.js.map +1 -0
  144. package/dist/playbooks/generic/tdd.d.ts +9 -0
  145. package/dist/playbooks/generic/tdd.d.ts.map +1 -0
  146. package/dist/playbooks/generic/tdd.js +70 -0
  147. package/dist/playbooks/generic/tdd.js.map +1 -0
  148. package/dist/playbooks/generic/verification.d.ts +9 -0
  149. package/dist/playbooks/generic/verification.d.ts.map +1 -0
  150. package/dist/playbooks/generic/verification.js +74 -0
  151. package/dist/playbooks/generic/verification.js.map +1 -0
  152. package/dist/playbooks/index.d.ts +4 -0
  153. package/dist/playbooks/index.d.ts.map +1 -0
  154. package/dist/playbooks/index.js +5 -0
  155. package/dist/playbooks/index.js.map +1 -0
  156. package/dist/playbooks/playbook-registry.d.ts +42 -0
  157. package/dist/playbooks/playbook-registry.d.ts.map +1 -0
  158. package/dist/playbooks/playbook-registry.js +227 -0
  159. package/dist/playbooks/playbook-registry.js.map +1 -0
  160. package/dist/playbooks/playbook-seeder.d.ts +47 -0
  161. package/dist/playbooks/playbook-seeder.d.ts.map +1 -0
  162. package/dist/playbooks/playbook-seeder.js +104 -0
  163. package/dist/playbooks/playbook-seeder.js.map +1 -0
  164. package/dist/playbooks/playbook-types.d.ts +132 -0
  165. package/dist/playbooks/playbook-types.d.ts.map +1 -0
  166. package/dist/playbooks/playbook-types.js +12 -0
  167. package/dist/playbooks/playbook-types.js.map +1 -0
  168. package/dist/project/project-registry.d.ts +79 -0
  169. package/dist/project/project-registry.d.ts.map +1 -0
  170. package/dist/project/project-registry.js +274 -0
  171. package/dist/project/project-registry.js.map +1 -0
  172. package/dist/project/types.d.ts +28 -0
  173. package/dist/project/types.d.ts.map +1 -0
  174. package/dist/project/types.js +5 -0
  175. package/dist/project/types.js.map +1 -0
  176. package/dist/prompts/index.d.ts +4 -0
  177. package/dist/prompts/index.d.ts.map +1 -0
  178. package/dist/prompts/index.js +3 -0
  179. package/dist/prompts/index.js.map +1 -0
  180. package/dist/prompts/parser.d.ts +17 -0
  181. package/dist/prompts/parser.d.ts.map +1 -0
  182. package/dist/prompts/parser.js +47 -0
  183. package/dist/prompts/parser.js.map +1 -0
  184. package/dist/prompts/template-manager.d.ts +25 -0
  185. package/dist/prompts/template-manager.d.ts.map +1 -0
  186. package/dist/prompts/template-manager.js +71 -0
  187. package/dist/prompts/template-manager.js.map +1 -0
  188. package/dist/prompts/types.d.ts +26 -0
  189. package/dist/prompts/types.d.ts.map +1 -0
  190. package/dist/prompts/types.js +5 -0
  191. package/dist/prompts/types.js.map +1 -0
  192. package/dist/runtime/admin-extra-ops.d.ts +15 -0
  193. package/dist/runtime/admin-extra-ops.d.ts.map +1 -0
  194. package/dist/runtime/admin-extra-ops.js +595 -0
  195. package/dist/runtime/admin-extra-ops.js.map +1 -0
  196. package/dist/runtime/admin-ops.d.ts +15 -0
  197. package/dist/runtime/admin-ops.d.ts.map +1 -0
  198. package/dist/runtime/admin-ops.js +329 -0
  199. package/dist/runtime/admin-ops.js.map +1 -0
  200. package/dist/runtime/capture-ops.d.ts +15 -0
  201. package/dist/runtime/capture-ops.d.ts.map +1 -0
  202. package/dist/runtime/capture-ops.js +363 -0
  203. package/dist/runtime/capture-ops.js.map +1 -0
  204. package/dist/runtime/cognee-sync-ops.d.ts +12 -0
  205. package/dist/runtime/cognee-sync-ops.d.ts.map +1 -0
  206. package/dist/runtime/cognee-sync-ops.js +55 -0
  207. package/dist/runtime/cognee-sync-ops.js.map +1 -0
  208. package/dist/runtime/core-ops.d.ts +9 -3
  209. package/dist/runtime/core-ops.d.ts.map +1 -1
  210. package/dist/runtime/core-ops.js +693 -10
  211. package/dist/runtime/core-ops.js.map +1 -1
  212. package/dist/runtime/curator-extra-ops.d.ts +9 -0
  213. package/dist/runtime/curator-extra-ops.d.ts.map +1 -0
  214. package/dist/runtime/curator-extra-ops.js +71 -0
  215. package/dist/runtime/curator-extra-ops.js.map +1 -0
  216. package/dist/runtime/domain-ops.d.ts.map +1 -1
  217. package/dist/runtime/domain-ops.js +61 -15
  218. package/dist/runtime/domain-ops.js.map +1 -1
  219. package/dist/runtime/grading-ops.d.ts +14 -0
  220. package/dist/runtime/grading-ops.d.ts.map +1 -0
  221. package/dist/runtime/grading-ops.js +105 -0
  222. package/dist/runtime/grading-ops.js.map +1 -0
  223. package/dist/runtime/intake-ops.d.ts +14 -0
  224. package/dist/runtime/intake-ops.d.ts.map +1 -0
  225. package/dist/runtime/intake-ops.js +110 -0
  226. package/dist/runtime/intake-ops.js.map +1 -0
  227. package/dist/runtime/loop-ops.d.ts +14 -0
  228. package/dist/runtime/loop-ops.d.ts.map +1 -0
  229. package/dist/runtime/loop-ops.js +251 -0
  230. package/dist/runtime/loop-ops.js.map +1 -0
  231. package/dist/runtime/memory-cross-project-ops.d.ts +12 -0
  232. package/dist/runtime/memory-cross-project-ops.d.ts.map +1 -0
  233. package/dist/runtime/memory-cross-project-ops.js +165 -0
  234. package/dist/runtime/memory-cross-project-ops.js.map +1 -0
  235. package/dist/runtime/memory-extra-ops.d.ts +13 -0
  236. package/dist/runtime/memory-extra-ops.d.ts.map +1 -0
  237. package/dist/runtime/memory-extra-ops.js +173 -0
  238. package/dist/runtime/memory-extra-ops.js.map +1 -0
  239. package/dist/runtime/orchestrate-ops.d.ts +17 -0
  240. package/dist/runtime/orchestrate-ops.d.ts.map +1 -0
  241. package/dist/runtime/orchestrate-ops.js +246 -0
  242. package/dist/runtime/orchestrate-ops.js.map +1 -0
  243. package/dist/runtime/planning-extra-ops.d.ts +25 -0
  244. package/dist/runtime/planning-extra-ops.d.ts.map +1 -0
  245. package/dist/runtime/planning-extra-ops.js +663 -0
  246. package/dist/runtime/planning-extra-ops.js.map +1 -0
  247. package/dist/runtime/playbook-ops.d.ts +14 -0
  248. package/dist/runtime/playbook-ops.d.ts.map +1 -0
  249. package/dist/runtime/playbook-ops.js +141 -0
  250. package/dist/runtime/playbook-ops.js.map +1 -0
  251. package/dist/runtime/project-ops.d.ts +15 -0
  252. package/dist/runtime/project-ops.d.ts.map +1 -0
  253. package/dist/runtime/project-ops.js +186 -0
  254. package/dist/runtime/project-ops.js.map +1 -0
  255. package/dist/runtime/runtime.d.ts.map +1 -1
  256. package/dist/runtime/runtime.js +65 -3
  257. package/dist/runtime/runtime.js.map +1 -1
  258. package/dist/runtime/types.d.ts +29 -0
  259. package/dist/runtime/types.d.ts.map +1 -1
  260. package/dist/runtime/vault-extra-ops.d.ts +10 -0
  261. package/dist/runtime/vault-extra-ops.d.ts.map +1 -0
  262. package/dist/runtime/vault-extra-ops.js +536 -0
  263. package/dist/runtime/vault-extra-ops.js.map +1 -0
  264. package/dist/telemetry/telemetry.d.ts +48 -0
  265. package/dist/telemetry/telemetry.d.ts.map +1 -0
  266. package/dist/telemetry/telemetry.js +87 -0
  267. package/dist/telemetry/telemetry.js.map +1 -0
  268. package/dist/vault/playbook.d.ts +34 -0
  269. package/dist/vault/playbook.d.ts.map +1 -0
  270. package/dist/vault/playbook.js +60 -0
  271. package/dist/vault/playbook.js.map +1 -0
  272. package/dist/vault/vault.d.ts +97 -4
  273. package/dist/vault/vault.d.ts.map +1 -1
  274. package/dist/vault/vault.js +424 -65
  275. package/dist/vault/vault.js.map +1 -1
  276. package/package.json +7 -3
  277. package/src/__tests__/admin-extra-ops.test.ts +467 -0
  278. package/src/__tests__/admin-ops.test.ts +271 -0
  279. package/src/__tests__/brain-intelligence.test.ts +205 -0
  280. package/src/__tests__/brain.test.ts +134 -3
  281. package/src/__tests__/capture-ops.test.ts +509 -0
  282. package/src/__tests__/cognee-integration.test.ts +80 -0
  283. package/src/__tests__/cognee-sync-manager.test.ts +103 -0
  284. package/src/__tests__/core-ops.test.ts +292 -2
  285. package/src/__tests__/curator-extra-ops.test.ts +381 -0
  286. package/src/__tests__/domain-ops.test.ts +66 -0
  287. package/src/__tests__/errors.test.ts +388 -0
  288. package/src/__tests__/governance.test.ts +522 -0
  289. package/src/__tests__/grading-ops.test.ts +361 -0
  290. package/src/__tests__/identity-manager.test.ts +243 -0
  291. package/src/__tests__/intake-pipeline.test.ts +162 -0
  292. package/src/__tests__/intent-router.test.ts +222 -0
  293. package/src/__tests__/logger.test.ts +200 -0
  294. package/src/__tests__/loop-ops.test.ts +469 -0
  295. package/src/__tests__/memory-cross-project-ops.test.ts +248 -0
  296. package/src/__tests__/memory-extra-ops.test.ts +352 -0
  297. package/src/__tests__/orchestrate-ops.test.ts +289 -0
  298. package/src/__tests__/persistence.test.ts +225 -0
  299. package/src/__tests__/planner.test.ts +416 -7
  300. package/src/__tests__/planning-extra-ops.test.ts +706 -0
  301. package/src/__tests__/playbook-registry.test.ts +326 -0
  302. package/src/__tests__/playbook-seeder.test.ts +163 -0
  303. package/src/__tests__/playbook.test.ts +389 -0
  304. package/src/__tests__/project-ops.test.ts +381 -0
  305. package/src/__tests__/template-manager.test.ts +222 -0
  306. package/src/__tests__/vault-extra-ops.test.ts +482 -0
  307. package/src/brain/brain.ts +185 -16
  308. package/src/brain/intelligence.ts +179 -10
  309. package/src/brain/types.ts +40 -2
  310. package/src/cognee/client.ts +18 -0
  311. package/src/cognee/sync-manager.ts +389 -0
  312. package/src/control/identity-manager.ts +354 -0
  313. package/src/control/intent-router.ts +326 -0
  314. package/src/control/types.ts +102 -0
  315. package/src/curator/curator.ts +295 -1
  316. package/src/errors/classify.ts +102 -0
  317. package/src/errors/index.ts +5 -0
  318. package/src/errors/retry.ts +132 -0
  319. package/src/errors/types.ts +81 -0
  320. package/src/governance/governance.ts +698 -0
  321. package/src/governance/index.ts +18 -0
  322. package/src/governance/types.ts +111 -0
  323. package/src/index.ts +213 -2
  324. package/src/intake/content-classifier.ts +146 -0
  325. package/src/intake/dedup-gate.ts +92 -0
  326. package/src/intake/intake-pipeline.ts +503 -0
  327. package/src/intake/types.ts +69 -0
  328. package/src/intelligence/loader.ts +1 -1
  329. package/src/intelligence/types.ts +3 -1
  330. package/src/logging/logger.ts +154 -0
  331. package/src/logging/types.ts +21 -0
  332. package/src/loop/loop-manager.ts +448 -0
  333. package/src/loop/types.ts +115 -0
  334. package/src/persistence/index.ts +7 -0
  335. package/src/persistence/sqlite-provider.ts +62 -0
  336. package/src/persistence/types.ts +44 -0
  337. package/src/planning/gap-analysis.ts +775 -0
  338. package/src/planning/gap-types.ts +61 -0
  339. package/src/planning/planner.ts +1273 -24
  340. package/src/playbooks/generic/brainstorming.ts +110 -0
  341. package/src/playbooks/generic/code-review.ts +181 -0
  342. package/src/playbooks/generic/subagent-execution.ts +74 -0
  343. package/src/playbooks/generic/systematic-debugging.ts +92 -0
  344. package/src/playbooks/generic/tdd.ts +75 -0
  345. package/src/playbooks/generic/verification.ts +79 -0
  346. package/src/playbooks/index.ts +27 -0
  347. package/src/playbooks/playbook-registry.ts +284 -0
  348. package/src/playbooks/playbook-seeder.ts +119 -0
  349. package/src/playbooks/playbook-types.ts +162 -0
  350. package/src/project/project-registry.ts +370 -0
  351. package/src/project/types.ts +31 -0
  352. package/src/prompts/index.ts +3 -0
  353. package/src/prompts/parser.ts +59 -0
  354. package/src/prompts/template-manager.ts +77 -0
  355. package/src/prompts/types.ts +28 -0
  356. package/src/runtime/admin-extra-ops.ts +652 -0
  357. package/src/runtime/admin-ops.ts +340 -0
  358. package/src/runtime/capture-ops.ts +404 -0
  359. package/src/runtime/cognee-sync-ops.ts +63 -0
  360. package/src/runtime/core-ops.ts +787 -9
  361. package/src/runtime/curator-extra-ops.ts +85 -0
  362. package/src/runtime/domain-ops.ts +67 -15
  363. package/src/runtime/grading-ops.ts +130 -0
  364. package/src/runtime/intake-ops.ts +126 -0
  365. package/src/runtime/loop-ops.ts +277 -0
  366. package/src/runtime/memory-cross-project-ops.ts +191 -0
  367. package/src/runtime/memory-extra-ops.ts +186 -0
  368. package/src/runtime/orchestrate-ops.ts +278 -0
  369. package/src/runtime/planning-extra-ops.ts +718 -0
  370. package/src/runtime/playbook-ops.ts +169 -0
  371. package/src/runtime/project-ops.ts +202 -0
  372. package/src/runtime/runtime.ts +77 -3
  373. package/src/runtime/types.ts +29 -0
  374. package/src/runtime/vault-extra-ops.ts +606 -0
  375. package/src/telemetry/telemetry.ts +118 -0
  376. package/src/vault/playbook.ts +87 -0
  377. package/src/vault/vault.ts +575 -98
@@ -0,0 +1,595 @@
1
+ /**
2
+ * Extended admin operations — 23 ops for production readiness.
3
+ *
4
+ * Groups: telemetry (3), permissions (1), vault analytics (1),
5
+ * search insights (1), module status (1), env (1), gc (1), export config (1),
6
+ * key pool (4), profiles (5), plugins (2), instruction validation (1),
7
+ * hot reload (1).
8
+ */
9
+ import { z } from 'zod';
10
+ import { readFileSync, existsSync } from 'node:fs';
11
+ /**
12
+ * Create 23 extended admin operations for production observability.
13
+ */
14
+ export function createAdminExtraOps(runtime) {
15
+ const { vault, brain, cognee, telemetry } = runtime;
16
+ // In-memory permission level — default 'moderate'
17
+ let permissionLevel = 'moderate';
18
+ return [
19
+ // ─── Telemetry ──────────────────────────────────────────────────
20
+ {
21
+ name: 'admin_telemetry',
22
+ description: 'Get telemetry stats — call counts, success rate, durations, slowest ops.',
23
+ auth: 'read',
24
+ handler: async () => {
25
+ return telemetry.getStats();
26
+ },
27
+ },
28
+ {
29
+ name: 'admin_telemetry_recent',
30
+ description: 'Get recent facade calls — newest first.',
31
+ auth: 'read',
32
+ schema: z.object({
33
+ limit: z.number().optional().default(50),
34
+ }),
35
+ handler: async (params) => {
36
+ const limit = params.limit ?? 50;
37
+ return telemetry.getRecent(limit);
38
+ },
39
+ },
40
+ {
41
+ name: 'admin_telemetry_reset',
42
+ description: 'Reset telemetry counters — clears all recorded calls.',
43
+ auth: 'write',
44
+ handler: async () => {
45
+ telemetry.reset();
46
+ return { reset: true, message: 'Telemetry counters cleared.' };
47
+ },
48
+ },
49
+ // ─── Permissions ────────────────────────────────────────────────
50
+ {
51
+ name: 'admin_permissions',
52
+ description: 'Get or set auth enforcement policy (strict, moderate, permissive).',
53
+ auth: 'write',
54
+ schema: z.object({
55
+ action: z.enum(['get', 'set']),
56
+ level: z.enum(['strict', 'moderate', 'permissive']).optional(),
57
+ }),
58
+ handler: async (params) => {
59
+ const action = params.action;
60
+ if (action === 'set') {
61
+ const level = params.level;
62
+ if (level) {
63
+ permissionLevel = level;
64
+ }
65
+ }
66
+ return { level: permissionLevel };
67
+ },
68
+ },
69
+ // ─── Vault Analytics ────────────────────────────────────────────
70
+ {
71
+ name: 'admin_vault_analytics',
72
+ description: 'Vault usage analytics — entries by domain, type, age, tag coverage.',
73
+ auth: 'read',
74
+ handler: async () => {
75
+ try {
76
+ const db = vault.getDb();
77
+ const now = Math.floor(Date.now() / 1000);
78
+ const DAY = 86400;
79
+ // Entries by domain
80
+ const byDomain = db
81
+ .prepare('SELECT domain, COUNT(*) as count FROM entries GROUP BY domain')
82
+ .all();
83
+ // Entries by type
84
+ const byType = db
85
+ .prepare('SELECT type, COUNT(*) as count FROM entries GROUP BY type')
86
+ .all();
87
+ // Entries by age bucket
88
+ const ageBuckets = {
89
+ '0-7d': 0,
90
+ '7-30d': 0,
91
+ '30-90d': 0,
92
+ '90d+': 0,
93
+ };
94
+ const rows = db.prepare('SELECT created_at FROM entries').all();
95
+ for (const row of rows) {
96
+ const ageSeconds = now - row.created_at;
97
+ if (ageSeconds <= 7 * DAY)
98
+ ageBuckets['0-7d']++;
99
+ else if (ageSeconds <= 30 * DAY)
100
+ ageBuckets['7-30d']++;
101
+ else if (ageSeconds <= 90 * DAY)
102
+ ageBuckets['30-90d']++;
103
+ else
104
+ ageBuckets['90d+']++;
105
+ }
106
+ // Average tags per entry
107
+ const tagRows = db.prepare('SELECT tags FROM entries').all();
108
+ let totalTags = 0;
109
+ let noTags = 0;
110
+ let noDescription = 0;
111
+ for (const row of tagRows) {
112
+ try {
113
+ const tags = JSON.parse(row.tags);
114
+ totalTags += tags.length;
115
+ if (tags.length === 0)
116
+ noTags++;
117
+ }
118
+ catch {
119
+ noTags++;
120
+ }
121
+ }
122
+ // Entries without descriptions
123
+ const noDescResult = db
124
+ .prepare("SELECT COUNT(*) as count FROM entries WHERE description IS NULL OR description = ''")
125
+ .get();
126
+ noDescription = noDescResult?.count ?? 0;
127
+ const totalEntries = tagRows.length;
128
+ return {
129
+ totalEntries,
130
+ byDomain: Object.fromEntries(byDomain.map((r) => [r.domain, r.count])),
131
+ byType: Object.fromEntries(byType.map((r) => [r.type, r.count])),
132
+ byAge: ageBuckets,
133
+ avgTagsPerEntry: totalEntries > 0 ? Math.round((totalTags / totalEntries) * 10) / 10 : 0,
134
+ entriesWithoutTags: noTags,
135
+ entriesWithoutDescription: noDescription,
136
+ };
137
+ }
138
+ catch (err) {
139
+ return {
140
+ error: 'Failed to compute vault analytics',
141
+ detail: err instanceof Error ? err.message : String(err),
142
+ };
143
+ }
144
+ },
145
+ },
146
+ // ─── Search Insights ────────────────────────────────────────────
147
+ {
148
+ name: 'admin_search_insights',
149
+ description: 'Search miss tracking — feedback stats, miss rate, top missed queries.',
150
+ auth: 'read',
151
+ handler: async () => {
152
+ try {
153
+ const feedbackStats = brain.getFeedbackStats();
154
+ const total = feedbackStats.total;
155
+ const rejected = feedbackStats.byAction.dismissed ?? 0;
156
+ const failed = feedbackStats.byAction.failed ?? 0;
157
+ const missCount = rejected + failed;
158
+ const missRate = total > 0 ? Math.round((missCount / total) * 1000) / 1000 : 0;
159
+ // Top missed queries — get recent feedback with 'dismissed' or 'failed' action
160
+ const db = vault.getDb();
161
+ const missedQueries = db
162
+ .prepare("SELECT query, COUNT(*) as count FROM brain_feedback WHERE action IN ('dismissed', 'failed') GROUP BY query ORDER BY count DESC LIMIT 10")
163
+ .all();
164
+ return {
165
+ totalFeedback: total,
166
+ missRate,
167
+ missCount,
168
+ topMissedQueries: missedQueries,
169
+ byAction: feedbackStats.byAction,
170
+ };
171
+ }
172
+ catch {
173
+ return {
174
+ totalFeedback: 0,
175
+ missRate: 0,
176
+ missCount: 0,
177
+ topMissedQueries: [],
178
+ byAction: {},
179
+ note: 'No feedback data available',
180
+ };
181
+ }
182
+ },
183
+ },
184
+ // ─── Module Status ──────────────────────────────────────────────
185
+ {
186
+ name: 'admin_module_status',
187
+ description: 'Status of all runtime modules — check each is initialized.',
188
+ auth: 'read',
189
+ handler: async () => {
190
+ const cogneeStatus = cognee.getStatus();
191
+ const llmAvailable = runtime.llmClient.isAvailable();
192
+ const loopStatus = runtime.loop.getStatus();
193
+ return {
194
+ vault: true,
195
+ brain: true,
196
+ planner: true,
197
+ curator: runtime.curator.getStatus().initialized,
198
+ governance: true,
199
+ cognee: { available: cogneeStatus?.available ?? false },
200
+ loop: { active: loopStatus !== null },
201
+ llm: {
202
+ openai: llmAvailable.openai,
203
+ anthropic: llmAvailable.anthropic,
204
+ },
205
+ };
206
+ },
207
+ },
208
+ // ─── Environment ────────────────────────────────────────────────
209
+ {
210
+ name: 'admin_env',
211
+ description: 'Safe environment info — node version, platform, memory usage. No secrets.',
212
+ auth: 'read',
213
+ handler: async () => {
214
+ return {
215
+ nodeVersion: process.version,
216
+ platform: process.platform,
217
+ arch: process.arch,
218
+ pid: process.pid,
219
+ memoryUsage: process.memoryUsage(),
220
+ cwd: process.cwd(),
221
+ };
222
+ },
223
+ },
224
+ // ─── Garbage Collection ─────────────────────────────────────────
225
+ {
226
+ name: 'admin_gc',
227
+ description: 'Trigger garbage collection on in-memory caches — brain, cognee, telemetry.',
228
+ auth: 'write',
229
+ handler: async () => {
230
+ const cleared = [];
231
+ try {
232
+ brain.rebuildVocabulary();
233
+ cleared.push('brain');
234
+ }
235
+ catch {
236
+ // Brain rebuild failed — graceful degradation
237
+ }
238
+ try {
239
+ cognee.resetPendingCognify();
240
+ cleared.push('cognee');
241
+ }
242
+ catch {
243
+ // Cognee reset failed — graceful degradation
244
+ }
245
+ try {
246
+ telemetry.reset();
247
+ cleared.push('telemetry');
248
+ }
249
+ catch {
250
+ // Telemetry reset failed — graceful degradation
251
+ }
252
+ return { cleared };
253
+ },
254
+ },
255
+ // ─── Export Config ──────────────────────────────────────────────
256
+ {
257
+ name: 'admin_export_config',
258
+ description: 'Export full runtime config — agent ID, paths, log level. No secrets.',
259
+ auth: 'read',
260
+ handler: async () => {
261
+ const { agentId, vaultPath, plansPath, logLevel } = runtime.config;
262
+ return {
263
+ agentId,
264
+ vaultPath: vaultPath ?? null,
265
+ plansPath: plansPath ?? null,
266
+ logLevel: logLevel ?? 'info',
267
+ modules: [
268
+ 'vault',
269
+ 'brain',
270
+ 'brainIntelligence',
271
+ 'planner',
272
+ 'curator',
273
+ 'governance',
274
+ 'cognee',
275
+ 'loop',
276
+ 'identityManager',
277
+ 'intentRouter',
278
+ 'llmClient',
279
+ 'telemetry',
280
+ ],
281
+ };
282
+ },
283
+ },
284
+ // ─── Key Pool (#157) ──────────────────────────────────────────
285
+ {
286
+ name: 'admin_key_pool_status',
287
+ description: 'LLM key pool status — pool size, active key index, per-key circuit breaker state (open/closed/half-open).',
288
+ auth: 'read',
289
+ handler: async () => {
290
+ const available = runtime.llmClient.isAvailable();
291
+ return {
292
+ openai: {
293
+ available: available.openai,
294
+ },
295
+ anthropic: {
296
+ available: available.anthropic,
297
+ },
298
+ };
299
+ },
300
+ },
301
+ {
302
+ name: 'admin_create_token',
303
+ description: 'Create a named API token with role-based access.',
304
+ auth: 'admin',
305
+ schema: z.object({
306
+ name: z.string().describe('Token name (unique identifier)'),
307
+ role: z.enum(['read', 'write', 'admin']).describe('Access role'),
308
+ }),
309
+ handler: async (params) => {
310
+ const token = {
311
+ name: params.name,
312
+ role: params.role,
313
+ createdAt: Date.now(),
314
+ };
315
+ // Store in vault metadata
316
+ vault.add({
317
+ id: `api-token-${token.name}`,
318
+ type: 'rule',
319
+ domain: 'admin',
320
+ title: `API Token: ${token.name}`,
321
+ severity: 'suggestion',
322
+ description: `API token with ${token.role} access`,
323
+ tags: ['api-token', token.role],
324
+ });
325
+ return { created: true, name: token.name, role: token.role };
326
+ },
327
+ },
328
+ {
329
+ name: 'admin_revoke_token',
330
+ description: 'Revoke (delete) a named API token.',
331
+ auth: 'admin',
332
+ schema: z.object({
333
+ name: z.string().describe('Token name to revoke'),
334
+ }),
335
+ handler: async (params) => {
336
+ const removed = vault.remove(`api-token-${params.name}`);
337
+ return { revoked: removed, name: params.name };
338
+ },
339
+ },
340
+ {
341
+ name: 'admin_list_tokens',
342
+ description: 'List all API tokens (names and roles only, no secrets).',
343
+ auth: 'read',
344
+ handler: async () => {
345
+ const entries = vault.list({ domain: 'admin' });
346
+ const tokens = entries
347
+ .filter((e) => e.id.startsWith('api-token-'))
348
+ .map((e) => ({
349
+ name: e.id.replace('api-token-', ''),
350
+ role: e.tags?.find((t) => ['read', 'write', 'admin'].includes(t)) ?? 'unknown',
351
+ }));
352
+ return { tokens, count: tokens.length };
353
+ },
354
+ },
355
+ // ─── Account Profiles (#158) ─────────────────────────────────
356
+ {
357
+ name: 'admin_add_account',
358
+ description: 'Add an API account profile. Keys are stored in vault, never exposed.',
359
+ auth: 'admin',
360
+ schema: z.object({
361
+ name: z.string().describe('Profile name'),
362
+ provider: z.enum(['openai', 'anthropic']).describe('API provider'),
363
+ }),
364
+ handler: async (params) => {
365
+ const profile = {
366
+ name: params.name,
367
+ provider: params.provider,
368
+ active: false,
369
+ addedAt: Date.now(),
370
+ };
371
+ vault.add({
372
+ id: `account-profile-${profile.name}`,
373
+ type: 'rule',
374
+ domain: 'admin',
375
+ title: `Account: ${profile.name} (${profile.provider})`,
376
+ severity: 'suggestion',
377
+ description: `API account profile for ${profile.provider}`,
378
+ tags: ['account-profile', profile.provider],
379
+ });
380
+ return { added: true, name: profile.name, provider: profile.provider };
381
+ },
382
+ },
383
+ {
384
+ name: 'admin_remove_account',
385
+ description: 'Remove an API account profile.',
386
+ auth: 'admin',
387
+ schema: z.object({
388
+ name: z.string().describe('Profile name to remove'),
389
+ }),
390
+ handler: async (params) => {
391
+ const removed = vault.remove(`account-profile-${params.name}`);
392
+ return { removed, name: params.name };
393
+ },
394
+ },
395
+ {
396
+ name: 'admin_rotate_account',
397
+ description: 'Rotate to a different API account profile.',
398
+ auth: 'admin',
399
+ schema: z.object({
400
+ name: z.string().describe('Profile name to activate'),
401
+ }),
402
+ handler: async (params) => {
403
+ const entry = vault.get(`account-profile-${params.name}`);
404
+ if (!entry)
405
+ return { error: `Account profile not found: ${params.name}` };
406
+ return {
407
+ rotated: true,
408
+ name: params.name,
409
+ note: 'Profile activated (key rotation requires restart)',
410
+ };
411
+ },
412
+ },
413
+ {
414
+ name: 'admin_list_accounts',
415
+ description: 'List all account profiles (names and providers only, no keys).',
416
+ auth: 'read',
417
+ handler: async () => {
418
+ const entries = vault.list({ domain: 'admin' });
419
+ const accounts = entries
420
+ .filter((e) => e.id.startsWith('account-profile-'))
421
+ .map((e) => ({
422
+ name: e.id.replace('account-profile-', ''),
423
+ provider: e.tags?.find((t) => ['openai', 'anthropic'].includes(t)) ?? 'unknown',
424
+ }));
425
+ return { accounts, count: accounts.length };
426
+ },
427
+ },
428
+ {
429
+ name: 'admin_account_status',
430
+ description: 'Get current active account profile status.',
431
+ auth: 'read',
432
+ handler: async () => {
433
+ const available = runtime.llmClient.isAvailable();
434
+ return {
435
+ openai: { available: available.openai },
436
+ anthropic: { available: available.anthropic },
437
+ };
438
+ },
439
+ },
440
+ // ─── Plugins (#159) ──────────────────────────────────────────
441
+ {
442
+ name: 'admin_list_plugins',
443
+ description: 'List all registered domain plugins and their status.',
444
+ auth: 'read',
445
+ handler: async () => {
446
+ // Plugins are domain facades — discover via vault domains
447
+ const domains = vault.getDomains();
448
+ const plugins = domains
449
+ .filter((d) => d.domain !== 'admin' && d.domain !== 'planning')
450
+ .map((d) => ({
451
+ id: d.domain,
452
+ name: d.domain,
453
+ status: 'active',
454
+ opsCount: 5, // standard domain ops: get_patterns, search, get_entry, capture, remove
455
+ }));
456
+ return { plugins, count: plugins.length };
457
+ },
458
+ },
459
+ {
460
+ name: 'admin_plugin_status',
461
+ description: 'Get detailed status of a specific plugin (domain facade).',
462
+ auth: 'read',
463
+ schema: z.object({
464
+ pluginId: z.string().describe('Plugin/domain ID'),
465
+ }),
466
+ handler: async (params) => {
467
+ const domainId = params.pluginId;
468
+ const domainEntries = vault.list({ domain: domainId });
469
+ if (domainEntries.length === 0) {
470
+ return { error: `Plugin not found or empty: ${domainId}` };
471
+ }
472
+ return {
473
+ id: domainId,
474
+ status: 'active',
475
+ entryCount: domainEntries.length,
476
+ opsCount: 5,
477
+ ops: ['get_patterns', 'search', 'get_entry', 'capture', 'remove'],
478
+ };
479
+ },
480
+ },
481
+ // ─── Hot Reload (#63) ──────────────────────────────────────
482
+ {
483
+ name: 'admin_hot_reload',
484
+ description: 'Hot-reload runtime caches — rebuilds brain vocabulary, vault FTS index, and prompt templates. Use after bulk vault changes.',
485
+ auth: 'write',
486
+ handler: async () => {
487
+ const reloaded = [];
488
+ let brainTerms = 0;
489
+ let templateCount = 0;
490
+ try {
491
+ brain.rebuildVocabulary();
492
+ brainTerms = brain.getStats().vocabularySize;
493
+ reloaded.push('brain');
494
+ }
495
+ catch {
496
+ // Graceful degradation
497
+ }
498
+ try {
499
+ vault.rebuildFtsIndex();
500
+ reloaded.push('vault_fts');
501
+ }
502
+ catch {
503
+ // Graceful degradation
504
+ }
505
+ try {
506
+ runtime.templateManager.load();
507
+ templateCount = runtime.templateManager.listTemplates().length;
508
+ reloaded.push('templates');
509
+ }
510
+ catch {
511
+ // Graceful degradation
512
+ }
513
+ return { reloaded, brainTerms, templateCount };
514
+ },
515
+ },
516
+ // ─── Instruction Validation (#160) ───────────────────────────
517
+ {
518
+ name: 'admin_validate_instructions',
519
+ description: 'Validate instruction files (CLAUDE.md, SKILL.md) for governance and quality — checks structure, required fields, formatting.',
520
+ auth: 'read',
521
+ schema: z.object({
522
+ filePath: z.string().describe('Path to the instruction file to validate'),
523
+ }),
524
+ handler: async (params) => {
525
+ try {
526
+ const filePath = params.filePath;
527
+ if (!existsSync(filePath)) {
528
+ return { valid: false, errors: [{ line: 0, issue: 'File not found' }] };
529
+ }
530
+ const content = readFileSync(filePath, 'utf-8');
531
+ const errors = [];
532
+ const warnings = [];
533
+ // Check for YAML frontmatter (SKILL.md files)
534
+ if (filePath.endsWith('SKILL.md') || filePath.includes('/skills/')) {
535
+ if (!content.startsWith('---')) {
536
+ errors.push({ line: 1, issue: 'SKILL.md must start with YAML frontmatter (---)' });
537
+ }
538
+ else {
539
+ const fmEnd = content.indexOf('---', 3);
540
+ if (fmEnd === -1) {
541
+ errors.push({
542
+ line: 1,
543
+ issue: 'YAML frontmatter not closed (missing closing ---)',
544
+ });
545
+ }
546
+ else {
547
+ const fm = new Set(content.slice(3, fmEnd));
548
+ if (!fm.has('name:'))
549
+ errors.push({ line: 1, issue: 'Missing required field: name' });
550
+ if (!fm.has('description:'))
551
+ errors.push({ line: 1, issue: 'Missing required field: description' });
552
+ }
553
+ }
554
+ }
555
+ // General checks for any instruction file
556
+ const lines = content.split('\n');
557
+ for (let i = 0; i < lines.length; i++) {
558
+ const line = lines[i];
559
+ // Check for extremely long lines
560
+ if (line.length > 500) {
561
+ warnings.push({ line: i + 1, issue: `Line too long (${line.length} chars)` });
562
+ }
563
+ }
564
+ // Check for conflicting instructions
565
+ if (content.includes('ALWAYS') && content.includes('NEVER')) {
566
+ const alwaysLines = lines.filter((l) => l.includes('ALWAYS'));
567
+ const neverLines = lines.filter((l) => l.includes('NEVER'));
568
+ if (alwaysLines.length > 5 && neverLines.length > 5) {
569
+ warnings.push({
570
+ line: 0,
571
+ issue: 'Many ALWAYS/NEVER directives — check for contradictions',
572
+ });
573
+ }
574
+ }
575
+ // Check for empty content
576
+ if (content.trim().length < 10) {
577
+ errors.push({ line: 1, issue: 'File is essentially empty' });
578
+ }
579
+ return {
580
+ valid: errors.length === 0,
581
+ filePath,
582
+ errors,
583
+ warnings,
584
+ lineCount: lines.length,
585
+ charCount: content.length,
586
+ };
587
+ }
588
+ catch (err) {
589
+ return { error: err.message };
590
+ }
591
+ },
592
+ },
593
+ ];
594
+ }
595
+ //# sourceMappingURL=admin-extra-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-extra-ops.js","sourceRoot":"","sources":["../../src/runtime/admin-extra-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Admin / infrastructure operations — 8 ops for agent self-management.
3
+ *
4
+ * These ops let agents introspect their own health, configuration, and
5
+ * runtime state. No new modules needed — uses existing runtime parts.
6
+ */
7
+ import type { OpDefinition } from '../facades/types.js';
8
+ import type { AgentRuntime } from './types.js';
9
+ /**
10
+ * Create the 8 admin/infrastructure operations for an agent runtime.
11
+ *
12
+ * Groups: health (1), introspection (4), diagnostics (2), mutation (1).
13
+ */
14
+ export declare function createAdminOps(runtime: AgentRuntime): OpDefinition[];
15
+ //# sourceMappingURL=admin-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-ops.d.ts","sourceRoot":"","sources":["../../src/runtime/admin-ops.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0B/C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,CAmRpE"}