@askexenow/exe-os 0.9.280 → 0.9.281

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 (436) hide show
  1. package/deploy/compose/.env.customer.example +1 -1
  2. package/deploy/compose/.env.default +2 -1
  3. package/deploy/compose/.env.example +1 -1
  4. package/deploy/compose/docker-compose.yml +74 -13
  5. package/deploy/compose/erp-nginx/nginx.conf +52 -0
  6. package/deploy/compose/generate-env.ts +1 -1
  7. package/deploy/compose/init-db.sql +13 -2
  8. package/deploy/stack-manifests/v0.9.json +11 -31
  9. package/dist/active-agent-6ZBHGHXF.js +26 -0
  10. package/dist/active-agent-E23SCYER.js +27 -0
  11. package/dist/active-agent-KMZT44S4.js +26 -0
  12. package/dist/active-agent-LFFTVROM.js +27 -0
  13. package/dist/agentic-ontology-PCZB5HV5.js +25 -0
  14. package/dist/agentic-ontology-PGGJN2ES.js +25 -0
  15. package/dist/assets/tmux.conf +2 -0
  16. package/dist/backfill-metadata-KQ4FEVUR.js +599 -0
  17. package/dist/backfill-metadata-Y3YWCHKJ.js +599 -0
  18. package/dist/behaviors-H4DZECKL.js +39 -0
  19. package/dist/behaviors-WIUTIJF6.js +39 -0
  20. package/dist/bin/agentic-ontology-backfill.js +5 -5
  21. package/dist/bin/agentic-reflection-backfill.js +6 -6
  22. package/dist/bin/agentic-semantic-label.js +5 -5
  23. package/dist/bin/backfill-conversations.js +4 -4
  24. package/dist/bin/backfill-responses.js +4 -4
  25. package/dist/bin/backfill-vectors.js +5 -5
  26. package/dist/bin/bulk-sync-postgres.js +7 -7
  27. package/dist/bin/cc-doctor.js +4 -4
  28. package/dist/bin/cleanup-stale-review-tasks.js +10 -10
  29. package/dist/bin/cli.js +15 -15
  30. package/dist/bin/exe-agent-config.js +2 -2
  31. package/dist/bin/exe-agent.js +4 -4
  32. package/dist/bin/exe-assign.js +5 -5
  33. package/dist/bin/exe-boot.js +17 -17
  34. package/dist/bin/exe-call.js +4 -4
  35. package/dist/bin/exe-cloud.js +5 -5
  36. package/dist/bin/exe-dispatch.js +10 -10
  37. package/dist/bin/exe-doctor.js +1 -1
  38. package/dist/bin/exe-export-behaviors.js +7 -7
  39. package/dist/bin/exe-forget.js +6 -6
  40. package/dist/bin/exe-gateway.js +7 -7
  41. package/dist/bin/exe-healthcheck.js +4 -4
  42. package/dist/bin/exe-heartbeat.js +10 -10
  43. package/dist/bin/exe-kill.js +13 -13
  44. package/dist/bin/exe-launch-agent.js +17 -17
  45. package/dist/bin/exe-new-employee.js +7 -7
  46. package/dist/bin/exe-pending-messages.js +11 -11
  47. package/dist/bin/exe-pending-notifications.js +10 -10
  48. package/dist/bin/exe-pending-reviews.js +10 -10
  49. package/dist/bin/exe-rename.js +4 -4
  50. package/dist/bin/exe-review.js +12 -12
  51. package/dist/bin/exe-search.js +5 -5
  52. package/dist/bin/exe-session-cleanup.js +15 -15
  53. package/dist/bin/exe-settings.js +5 -5
  54. package/dist/bin/exe-start-codex.js +11 -11
  55. package/dist/bin/exe-start-opencode.js +8 -8
  56. package/dist/bin/exe-status.js +11 -11
  57. package/dist/bin/exe-support.js +2 -2
  58. package/dist/bin/exe-team.js +3 -3
  59. package/dist/bin/exe-watchdog.js +17 -2
  60. package/dist/bin/git-sweep.js +11 -11
  61. package/dist/bin/graph-backfill.js +4 -4
  62. package/dist/bin/graph-export.js +5 -5
  63. package/dist/bin/import-history.js +7 -7
  64. package/dist/bin/install.js +8 -7
  65. package/dist/bin/intercom-check.js +4 -4
  66. package/dist/bin/mcp-sessions.js +2 -2
  67. package/dist/bin/orchestration-metrics.js +4 -4
  68. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  69. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  70. package/dist/bin/scan-tasks.js +10 -10
  71. package/dist/bin/setup.js +1 -1
  72. package/dist/bin/shard-migrate.js +4 -4
  73. package/dist/bin/stack-update.js +3 -3
  74. package/dist/bin/vps-health-gate.js +1 -1
  75. package/dist/capability-cards-F22XWGLB.js +88 -0
  76. package/dist/capability-cards-KCKITXXZ.js +88 -0
  77. package/dist/capacity-monitor-CHXGKVEO.js +50 -0
  78. package/dist/capacity-monitor-L3M5KB6T.js +50 -0
  79. package/dist/catchup-brief-BVZANLRZ.js +154 -0
  80. package/dist/catchup-brief-LDUGMC7S.js +154 -0
  81. package/dist/catchup-brief-NZDLL7SA.js +154 -0
  82. package/dist/catchup-brief-OOIXVGBA.js +154 -0
  83. package/dist/catchup-brief-UPXHDYTB.js +154 -0
  84. package/dist/chunk-2BI3FQKL.js +1876 -0
  85. package/dist/chunk-2CJUQGHH.js +362 -0
  86. package/dist/chunk-2EVYBMBJ.js +128 -0
  87. package/dist/chunk-2NQOZOXG.js +2113 -0
  88. package/dist/chunk-2QK5E3LB.js +128 -0
  89. package/dist/chunk-2VTCG4ZU.js +1352 -0
  90. package/dist/chunk-2YGI36DV.js +1119 -0
  91. package/dist/chunk-32BQN2QN.js +185 -0
  92. package/dist/chunk-33JMO4UV.js +157 -0
  93. package/dist/chunk-3DZAYLXY.js +377 -0
  94. package/dist/chunk-3MGBE7GR.js +76 -0
  95. package/dist/chunk-3MTV4FJL.js +271 -0
  96. package/dist/chunk-3NN7VQ27.js +1352 -0
  97. package/dist/chunk-4533HNOG.js +70 -0
  98. package/dist/chunk-456UW3MT.js +731 -0
  99. package/dist/chunk-4AU56XV2.js +58 -0
  100. package/dist/chunk-4MRP6EBR.js +280 -0
  101. package/dist/chunk-4MRWW52U.js +14219 -0
  102. package/dist/chunk-4WWECNAY.js +50 -0
  103. package/dist/chunk-4ZJDDR6L.js +171 -0
  104. package/dist/chunk-522EOPM6.js +382 -0
  105. package/dist/chunk-52UDAVZE.js +3208 -0
  106. package/dist/chunk-5FAMUB4X.js +204 -0
  107. package/dist/chunk-5PGZJQUI.js +58 -0
  108. package/dist/chunk-67TZJXNZ.js +262 -0
  109. package/dist/chunk-6FEZ7GN2.js +123 -0
  110. package/dist/chunk-6MOGND7S.js +14219 -0
  111. package/dist/chunk-6TRSVY7L.js +181 -0
  112. package/dist/chunk-6WCS7ZNK.js +85 -0
  113. package/dist/chunk-6WRYDREW.js +539 -0
  114. package/dist/chunk-72UA2FB3.js +181 -0
  115. package/dist/chunk-77DMFEOL.js +30 -0
  116. package/dist/chunk-7COXVQ5W.js +214 -0
  117. package/dist/chunk-7HLWBYH7.js +60 -0
  118. package/dist/chunk-ALSTZCWT.js +204 -0
  119. package/dist/chunk-ARUTDXZX.js +280 -0
  120. package/dist/chunk-AU47B4QY.js +129 -0
  121. package/dist/chunk-AXOREWVL.js +836 -0
  122. package/dist/chunk-B5MNC54V.js +127 -0
  123. package/dist/chunk-B74VSMKX.js +1350 -0
  124. package/dist/chunk-BHWLH44J.js +362 -0
  125. package/dist/chunk-BUPZ3HD2.js +85 -0
  126. package/dist/chunk-BWVLMA53.js +2113 -0
  127. package/dist/chunk-C5WLBKMJ.js +50 -0
  128. package/dist/chunk-C62T6R2A.js +97 -0
  129. package/dist/chunk-CV5KBAIK.js +33 -0
  130. package/dist/chunk-DAYSDWXA.js +1068 -0
  131. package/dist/chunk-DI4URIUB.js +227 -0
  132. package/dist/chunk-DNTCYFJ6.js +76 -0
  133. package/dist/chunk-DPDRRS7T.js +103 -0
  134. package/dist/chunk-DT3EV6CW.js +103 -0
  135. package/dist/chunk-DX45HDWY.js +1076 -0
  136. package/dist/chunk-E72BD6MG.js +284 -0
  137. package/dist/chunk-EAPUSVKS.js +375 -0
  138. package/dist/chunk-EFUANRRT.js +85 -0
  139. package/dist/chunk-EG2SCT5R.js +1352 -0
  140. package/dist/chunk-EJD2JU77.js +58 -0
  141. package/dist/chunk-EMXYUAVP.js +81 -0
  142. package/dist/chunk-ENM2TAAM.js +14219 -0
  143. package/dist/chunk-EPDRTPVP.js +1876 -0
  144. package/dist/chunk-EW6XDHID.js +221 -0
  145. package/dist/chunk-EYEGSAWZ.js +1094 -0
  146. package/dist/chunk-F6L33PAQ.js +231 -0
  147. package/dist/chunk-FC2SCTVE.js +38 -0
  148. package/dist/chunk-FSRKIZGZ.js +630 -0
  149. package/dist/chunk-FTG7I5CB.js +81 -0
  150. package/dist/chunk-GVFRLWX7.js +30 -0
  151. package/dist/chunk-H3XMZOWW.js +1119 -0
  152. package/dist/chunk-HAKXE6LN.js +123 -0
  153. package/dist/chunk-HLP3ZDTW.js +448 -0
  154. package/dist/chunk-HOYWKQAA.js +510 -0
  155. package/dist/chunk-HWDD64IW.js +712 -0
  156. package/dist/chunk-HWMCULHY.js +127 -0
  157. package/dist/chunk-HZZHRZPK.js +210 -0
  158. package/dist/chunk-ICRWTYNW.js +103 -0
  159. package/dist/chunk-J5MWPC33.js +167 -0
  160. package/dist/chunk-JBXANNNB.js +70 -0
  161. package/dist/chunk-JPBMIYWF.js +1352 -0
  162. package/dist/chunk-JY6EXBFI.js +373 -0
  163. package/dist/chunk-JZLIBXI7.js +14219 -0
  164. package/dist/chunk-JZPTKXJ6.js +668 -0
  165. package/dist/chunk-KEYMA4ZP.js +510 -0
  166. package/dist/chunk-KHGNN6GL.js +2078 -0
  167. package/dist/chunk-KVLB2PD6.js +97 -0
  168. package/dist/chunk-L3YBRBKL.js +1076 -0
  169. package/dist/chunk-L7VZ32NA.js +89 -0
  170. package/dist/chunk-LEHLADW4.js +221 -0
  171. package/dist/chunk-LPD4HILQ.js +262 -0
  172. package/dist/chunk-LSJ3ADDI.js +51 -0
  173. package/dist/chunk-LUMS2MAS.js +58 -0
  174. package/dist/chunk-LV4SEC6C.js +394 -0
  175. package/dist/chunk-LXXBEI4A.js +284 -0
  176. package/dist/chunk-M4NPCAIH.js +456 -0
  177. package/dist/chunk-MFJ62LQ5.js +157 -0
  178. package/dist/chunk-MGEZNKOD.js +836 -0
  179. package/dist/chunk-MJ7X5IBW.js +227 -0
  180. package/dist/chunk-MLGRWCY4.js +54 -0
  181. package/dist/chunk-MQZX57IY.js +348 -0
  182. package/dist/chunk-MY7MFF6J.js +103 -0
  183. package/dist/chunk-MYA2X5OY.js +185 -0
  184. package/dist/chunk-MYEABW5Z.js +630 -0
  185. package/dist/chunk-MZ2TDCAL.js +402 -0
  186. package/dist/chunk-NF3FRB7Z.js +271 -0
  187. package/dist/chunk-NXYIFEPV.js +539 -0
  188. package/dist/chunk-O2GVE5B5.js +58 -0
  189. package/dist/chunk-O5GUCDR2.js +456 -0
  190. package/dist/chunk-OBZNRECA.js +128 -0
  191. package/dist/chunk-OMZ2RLJG.js +214 -0
  192. package/dist/chunk-ORDHJRWN.js +299 -0
  193. package/dist/chunk-OSPIJMCD.js +210 -0
  194. package/dist/chunk-OUGWEH4J.js +240 -0
  195. package/dist/chunk-OV5MJQGC.js +1876 -0
  196. package/dist/chunk-PC635OAG.js +4318 -0
  197. package/dist/chunk-PH46R4J6.js +348 -0
  198. package/dist/chunk-PJP2EP7P.js +394 -0
  199. package/dist/chunk-PODFWH3V.js +333 -0
  200. package/dist/chunk-PPWH3SHR.js +1068 -0
  201. package/dist/chunk-PWPJK7KB.js +4318 -0
  202. package/dist/chunk-PXONZVG4.js +377 -0
  203. package/dist/chunk-QAOGJRZD.js +369 -0
  204. package/dist/chunk-QC3LAEI7.js +197 -0
  205. package/dist/chunk-QDWQDUWI.js +668 -0
  206. package/dist/chunk-QKJFD6BH.js +1350 -0
  207. package/dist/chunk-QNYVJGFM.js +345 -0
  208. package/dist/chunk-QQF3XGQ5.js +14219 -0
  209. package/dist/chunk-QRPFQNI3.js +150 -0
  210. package/dist/chunk-QSSU5XWD.js +731 -0
  211. package/dist/chunk-QXZAGVAV.js +2078 -0
  212. package/dist/chunk-RA54MW64.js +244 -0
  213. package/dist/chunk-RF7PUWXI.js +197 -0
  214. package/dist/chunk-S3INDYSO.js +244 -0
  215. package/dist/chunk-SLQVTHH5.js +369 -0
  216. package/dist/chunk-SY2B74KL.js +345 -0
  217. package/dist/chunk-T6QPXXXW.js +712 -0
  218. package/dist/chunk-TO5M5YCT.js +41 -0
  219. package/dist/chunk-TQ4VXUAF.js +129 -0
  220. package/dist/chunk-UAB7RQC4.js +41 -0
  221. package/dist/chunk-UMEIBDYW.js +97 -0
  222. package/dist/chunk-UXW5TB7Y.js +240 -0
  223. package/dist/chunk-VB2N5WOX.js +150 -0
  224. package/dist/chunk-VLZEMRG3.js +167 -0
  225. package/dist/chunk-VM3V6VK7.js +230 -0
  226. package/dist/chunk-VMCGKBHB.js +1352 -0
  227. package/dist/chunk-VNIYZAR5.js +128 -0
  228. package/dist/chunk-VYV4KOD2.js +85 -0
  229. package/dist/chunk-W4SRJBAT.js +171 -0
  230. package/dist/chunk-W5W3LZ3Q.js +54 -0
  231. package/dist/chunk-WDNZEOM3.js +38 -0
  232. package/dist/chunk-WUKEXVOR.js +3208 -0
  233. package/dist/chunk-X3Z35Q6L.js +373 -0
  234. package/dist/chunk-X4VOU6BQ.js +382 -0
  235. package/dist/chunk-X6EEVSVG.js +290 -0
  236. package/dist/chunk-XFHGWGNB.js +1094 -0
  237. package/dist/chunk-XKOLRWYA.js +33 -0
  238. package/dist/chunk-XMMIL3UD.js +402 -0
  239. package/dist/chunk-XWILC6VA.js +290 -0
  240. package/dist/chunk-Y4OQCX4C.js +97 -0
  241. package/dist/chunk-Y67VYYOA.js +231 -0
  242. package/dist/chunk-YGQCQTQH.js +230 -0
  243. package/dist/chunk-YGWFBN5A.js +299 -0
  244. package/dist/chunk-YMKUXZIG.js +379 -0
  245. package/dist/chunk-YOMLMT7E.js +230 -0
  246. package/dist/chunk-YPESIZOB.js +14219 -0
  247. package/dist/chunk-Z2CGCIU2.js +89 -0
  248. package/dist/chunk-ZLAWNHQR.js +448 -0
  249. package/dist/chunk-ZME5UQSN.js +333 -0
  250. package/dist/co-activation-NUEQYXE5.js +73 -0
  251. package/dist/co-activation-ZG5HLBCZ.js +73 -0
  252. package/dist/co-occurrence-7S5KWQB2.js +94 -0
  253. package/dist/co-occurrence-X5SWDXT2.js +94 -0
  254. package/dist/core-memory-GOPBRGGZ.js +110 -0
  255. package/dist/core-memory-XLCU6L5M.js +110 -0
  256. package/dist/crdt-sync-EPKHPGRZ.js +33 -0
  257. package/dist/crdt-sync-UIQJ5U7T.js +33 -0
  258. package/dist/crm-webhook-MKN23JNU.js +10 -0
  259. package/dist/crm-webhook-SM63BPXO.js +10 -0
  260. package/dist/cto-delegation-gate-PQY5TOVZ.js +279 -0
  261. package/dist/cto-delegation-gate-V5VVUR3G.js +279 -0
  262. package/dist/daemon-orchestration-C7AAS67Q.js +138 -0
  263. package/dist/daemon-orchestration-OBCAJB2H.js +138 -0
  264. package/dist/db-backup-F7VP4QRH.js +33 -0
  265. package/dist/db-backup-KVYC57W7.js +33 -0
  266. package/dist/doc-graph-extractor-H2ETEINP.js +132 -0
  267. package/dist/doc-graph-extractor-PCUZEYCH.js +132 -0
  268. package/dist/dreaming-4OZXSLE3.js +33 -0
  269. package/dist/dreaming-Z2RYEYNT.js +33 -0
  270. package/dist/exe-drift-GEWNIK7A.js +69 -0
  271. package/dist/exe-drift-XCGH7AFO.js +69 -0
  272. package/dist/exe-export-7DKAU5IP.js +75 -0
  273. package/dist/exe-export-BCHH6OE6.js +75 -0
  274. package/dist/exe-import-PDRIZVYF.js +78 -0
  275. package/dist/exe-import-ZCKUDFKL.js +78 -0
  276. package/dist/exe-key-FUWLLI3U.js +580 -0
  277. package/dist/exe-key-RKKNVUMP.js +580 -0
  278. package/dist/exe-snapshot-G4I5FQMK.js +337 -0
  279. package/dist/exe-snapshot-GWU7QTZK.js +337 -0
  280. package/dist/fast-db-init-6QG6YQNT.js +7 -0
  281. package/dist/fast-db-init-X2QDQUA4.js +7 -0
  282. package/dist/founder-context-TOMNUBGJ.js +96 -0
  283. package/dist/founder-context-UU3V6MAS.js +96 -0
  284. package/dist/gateway/index.js +8 -8
  285. package/dist/git-staleness-FEPFMZKF.js +111 -0
  286. package/dist/git-staleness-HYVYLCW3.js +111 -0
  287. package/dist/git-task-sweep-IRV52JIM.js +41 -0
  288. package/dist/git-task-sweep-T6BSM3GS.js +41 -0
  289. package/dist/global-procedures-3AURRMKO.js +21 -0
  290. package/dist/global-procedures-JPCYBZYC.js +21 -0
  291. package/dist/graph-auto-extract-OC3AOSMW.js +182 -0
  292. package/dist/graph-auto-extract-PVDYEJBY.js +182 -0
  293. package/dist/hooks/bug-report-worker.js +12 -12
  294. package/dist/hooks/codex-stop-task-finalizer.js +12 -12
  295. package/dist/hooks/commit-complete.js +12 -12
  296. package/dist/hooks/error-recall.js +6 -6
  297. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  298. package/dist/hooks/ingest.js +6 -6
  299. package/dist/hooks/instructions-loaded.js +4 -4
  300. package/dist/hooks/manifest.json +19 -19
  301. package/dist/hooks/notification.js +4 -4
  302. package/dist/hooks/post-compact.js +11 -11
  303. package/dist/hooks/post-tool-combined.js +5 -5
  304. package/dist/hooks/pre-compact.js +12 -12
  305. package/dist/hooks/pre-tool-use.js +15 -15
  306. package/dist/hooks/prompt-submit.js +22 -22
  307. package/dist/hooks/session-end.js +16 -16
  308. package/dist/hooks/session-start.js +10 -10
  309. package/dist/hooks/stop.js +15 -15
  310. package/dist/hooks/subagent-stop.js +11 -11
  311. package/dist/hooks/summary-worker.js +15 -15
  312. package/dist/index.js +18 -18
  313. package/dist/installer-72XXLBRP.js +39 -0
  314. package/dist/installer-HDXG2BZN.js +343 -0
  315. package/dist/installer-JALMKPCS.js +297 -0
  316. package/dist/installer-Q46SNNLU.js +39 -0
  317. package/dist/installer-W7PIPRCX.js +343 -0
  318. package/dist/installer-Z7WQEOS7.js +297 -0
  319. package/dist/lib/cloud-sync.js +5 -5
  320. package/dist/lib/consolidation.js +5 -5
  321. package/dist/lib/database.js +2 -2
  322. package/dist/lib/db.js +2 -2
  323. package/dist/lib/employee-templates.js +4 -4
  324. package/dist/lib/employees.js +2 -2
  325. package/dist/lib/exe-daemon.js +45 -41
  326. package/dist/lib/hybrid-search.js +5 -5
  327. package/dist/lib/identity.js +2 -2
  328. package/dist/lib/license.js +1 -1
  329. package/dist/lib/messaging.js +10 -10
  330. package/dist/lib/reminders.js +3 -3
  331. package/dist/lib/schedules.js +5 -5
  332. package/dist/lib/session-registry.js +4 -4
  333. package/dist/lib/skill-learning.js +6 -6
  334. package/dist/lib/store.js +4 -4
  335. package/dist/lib/task-router.js +3 -3
  336. package/dist/lib/tasks.js +11 -11
  337. package/dist/lib/tmux-routing.js +9 -9
  338. package/dist/lib/token-spend.js +3 -3
  339. package/dist/license-gate-7JZCHOAG.js +14 -0
  340. package/dist/license-gate-OP4SKL4P.js +14 -0
  341. package/dist/mcp/register-tools.js +58 -58
  342. package/dist/mcp/server.js +59 -59
  343. package/dist/mcp/tools/complete-reminder.js +4 -4
  344. package/dist/mcp/tools/create-reminder.js +4 -4
  345. package/dist/mcp/tools/create-task.js +13 -13
  346. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  347. package/dist/mcp/tools/list-reminders.js +4 -4
  348. package/dist/mcp/tools/list-tasks.js +13 -13
  349. package/dist/mcp/tools/send-message.js +12 -12
  350. package/dist/mcp/tools/update-task.js +12 -12
  351. package/dist/mcp-health-VULNT722.js +17 -0
  352. package/dist/mcp-health-WDOB6XUB.js +19 -0
  353. package/dist/mcp-http-config-2OZ7N74D.js +28 -0
  354. package/dist/mcp-http-config-4VXA5K73.js +28 -0
  355. package/dist/memory-cards-2K6QRZU6.js +179 -0
  356. package/dist/memory-cards-KSJF5OH2.js +179 -0
  357. package/dist/memory-graph-extractor-IJD5HWYT.js +21 -0
  358. package/dist/memory-graph-extractor-O4GAXOK5.js +21 -0
  359. package/dist/memory-poisoning-defense-2JRPWT5V.js +223 -0
  360. package/dist/memory-poisoning-defense-DH4A25NU.js +223 -0
  361. package/dist/memory-reflection-ISY2BBDB.js +243 -0
  362. package/dist/memory-reflection-Z5AQRR6H.js +243 -0
  363. package/dist/notifications-2VSWK2UJ.js +46 -0
  364. package/dist/notifications-4S253VQM.js +46 -0
  365. package/dist/oauth-server-D7D4574D.js +437 -0
  366. package/dist/oauth-server-MACN54SJ.js +437 -0
  367. package/dist/orchestration-events-BGP5RYQI.js +26 -0
  368. package/dist/orchestration-events-MDXUEVRZ.js +26 -0
  369. package/dist/orchestrator-DHK7RSSH.js +34 -0
  370. package/dist/orchestrator-R75WHQVA.js +34 -0
  371. package/dist/pipeline-router-4WUKQQEC.js +14 -0
  372. package/dist/pipeline-router-GWB2XK2Q.js +14 -0
  373. package/dist/plan-limits-NNJRAESF.js +27 -0
  374. package/dist/plan-limits-YTQW4UR4.js +27 -0
  375. package/dist/project-boot-46GZJTEX.js +299 -0
  376. package/dist/project-boot-PPHBBGIF.js +299 -0
  377. package/dist/projection-worker-UPAWXI7P.js +1034 -0
  378. package/dist/projection-worker-ZIKDYBW5.js +1034 -0
  379. package/dist/reranker-5ZBP2RRN.js +19 -0
  380. package/dist/reranker-E2MQIMJL.js +19 -0
  381. package/dist/reranker-GLSDJT3V.js +19 -0
  382. package/dist/reranker-LBBXWNOD.js +19 -0
  383. package/dist/reranker-XZ2EF4OH.js +19 -0
  384. package/dist/retrieval-health-JYRKPSII.js +7 -0
  385. package/dist/retrieval-health-OUV25J6S.js +7 -0
  386. package/dist/retrieval-health-U73JUAZL.js +7 -0
  387. package/dist/retrieval-health-WSZ7TYFF.js +7 -0
  388. package/dist/review-polling-62JV55ZT.js +125 -0
  389. package/dist/review-polling-CJXLWFWK.js +125 -0
  390. package/dist/runtime/index.js +12 -12
  391. package/dist/session-events-2ADD54VI.js +37 -0
  392. package/dist/session-events-QIJVBSKS.js +37 -0
  393. package/dist/session-kill-telemetry-HS6HD2YE.js +30 -0
  394. package/dist/session-kill-telemetry-MRT5FVSM.js +30 -0
  395. package/dist/session-scope-7ICYPC33.js +87 -0
  396. package/dist/session-scope-KMXD6EE6.js +87 -0
  397. package/dist/setup-wizard-B6GIT7YC.js +12 -0
  398. package/dist/setup-wizard-JUIJ4UZO.js +12 -0
  399. package/dist/skill-refinement-HIOX4VMC.js +158 -0
  400. package/dist/skill-refinement-T7JXRYUW.js +158 -0
  401. package/dist/stack-update-5KE6BZKQ.js +74 -0
  402. package/dist/stack-update-OP2RHP7N.js +74 -0
  403. package/dist/stack-update-VGCWDJEE.js +74 -0
  404. package/dist/steward-gate-L22WE3SY.js +14 -0
  405. package/dist/steward-gate-YKD2LUWN.js +14 -0
  406. package/dist/task-enforcement-5AOKXTY4.js +439 -0
  407. package/dist/task-enforcement-VO3YEGIO.js +439 -0
  408. package/dist/task-scope-YV2WPKRD.js +36 -0
  409. package/dist/task-scope-ZSXDZBRE.js +36 -0
  410. package/dist/tasks-crud-C6KADACT.js +78 -0
  411. package/dist/tasks-crud-NV6JEWGL.js +78 -0
  412. package/dist/tasks-notify-E22HSN6O.js +39 -0
  413. package/dist/tasks-notify-RPSEQ4WV.js +39 -0
  414. package/dist/tasks-review-V4ZLXOAZ.js +48 -0
  415. package/dist/tasks-review-ZVRI73JE.js +48 -0
  416. package/dist/telemetry-upload-LXUH7SKI.js +740 -0
  417. package/dist/telemetry-upload-TCDAZTUQ.js +740 -0
  418. package/dist/token-budget-OFBEZJTA.js +85 -0
  419. package/dist/token-budget-WAN57V6S.js +85 -0
  420. package/dist/tool-telemetry-UA3N32PK.js +17 -0
  421. package/dist/tool-telemetry-XXZJ35RR.js +17 -0
  422. package/dist/tui/App.js +17 -17
  423. package/dist/tui-data-46QLCJUE.js +259 -0
  424. package/dist/tui-data-ZDB7BLP2.js +259 -0
  425. package/dist/wiki-acl-HHSIBPF3.js +111 -0
  426. package/dist/wiki-acl-O65GZ2ZF.js +111 -0
  427. package/dist/worker-gate-27I4GAEZ.js +21 -0
  428. package/dist/worker-gate-DXU4HEPY.js +21 -0
  429. package/dist/workflow-engine-63EOEJ5Q.js +28 -0
  430. package/dist/workflow-engine-C6F2RMPN.js +28 -0
  431. package/dist/worktree-SFKKOMFD.js +27 -0
  432. package/dist/worktree-SVCE3S7X.js +27 -0
  433. package/dist/worktree-sweep-S3JHJTVP.js +20 -0
  434. package/dist/worktree-sweep-U3TIQ7WL.js +20 -0
  435. package/package.json +1 -1
  436. package/release-notes.json +88 -26
@@ -0,0 +1,132 @@
1
+ import {
2
+ EXTRACT_TOOL,
3
+ storeExtraction
4
+ } from "./chunk-I7GRBEFS.js";
5
+ import "./chunk-I7AW4237.js";
6
+ import "./chunk-GUMRIUI5.js";
7
+ import {
8
+ getClient
9
+ } from "./chunk-52UDAVZE.js";
10
+ import "./chunk-2I23RPSI.js";
11
+ import "./chunk-YGWFBN5A.js";
12
+ import "./chunk-5DNJPRDW.js";
13
+ import "./chunk-FXU7JOXK.js";
14
+ import "./chunk-T3B5RK4H.js";
15
+ import "./chunk-LYH5HE24.js";
16
+ import "./chunk-MLKGABMK.js";
17
+
18
+ // src/lib/doc-graph-extractor.ts
19
+ var CHUNK_CONTENT_LIMIT = 3e3;
20
+ var MAX_CHUNKS_PER_CALL = 8;
21
+ var DOC_GRAPH_MEMORY_PREFIX = "doc-graph:";
22
+ async function extractConceptsFromChunks(chunks, model = "claude-haiku-4-5-20251001") {
23
+ if (chunks.length === 0) {
24
+ return { entities: [], relationships: [], hyperedges: [] };
25
+ }
26
+ const selectedChunks = chunks.slice(0, MAX_CHUNKS_PER_CALL);
27
+ const combinedText = selectedChunks.map((chunk, i) => `--- Chunk ${i + 1} ---
28
+ ${chunk.slice(0, CHUNK_CONTENT_LIMIT)}`).join("\n\n");
29
+ try {
30
+ const Anthropic = (await import("@anthropic-ai/sdk")).default;
31
+ const client = new Anthropic();
32
+ const response = await client.messages.create({
33
+ model,
34
+ max_tokens: 1024,
35
+ system: `You are extracting a knowledge graph from document content. Identify all key entities (people, companies, concepts, locations, projects, tools, decisions, products) and the relationships between them. Focus on explicitly stated facts \u2014 don't over-infer. Use the simplest canonical form for entity names (e.g., "Anthropic" not "Anthropic, PBC"). For relationships, prefer specific types (depends_on, created, uses, part_of, located_at, manages, supplies) over generic related_to.`,
36
+ messages: [{ role: "user", content: combinedText }],
37
+ tools: [EXTRACT_TOOL],
38
+ tool_choice: { type: "tool", name: "extract_entities_and_relationships" }
39
+ });
40
+ const toolBlock = response.content.find((b) => b.type === "tool_use");
41
+ if (toolBlock && toolBlock.type === "tool_use") {
42
+ const input = toolBlock.input;
43
+ const rawEntities = input.entities ?? [];
44
+ const rawRels = input.relationships ?? [];
45
+ const rawHyperedges = input.hyperedges ?? [];
46
+ return {
47
+ entities: rawEntities.map((e) => ({ name: e.name ?? "", type: e.type ?? "concept" })).filter((e) => e.name.length > 0),
48
+ relationships: rawRels.map((r) => ({
49
+ source: r.source ?? "",
50
+ sourceType: r.source_type ?? "concept",
51
+ target: r.target ?? "",
52
+ targetType: r.target_type ?? "concept",
53
+ relationship: r.relationship ?? "related_to",
54
+ confidence: Number(r.confidence ?? 0.8),
55
+ confidenceLabel: String(r.confidence_label ?? "extracted")
56
+ })).filter((r) => r.source.length > 0 && r.target.length > 0),
57
+ hyperedges: rawHyperedges.map((h) => ({
58
+ label: String(h.label ?? ""),
59
+ relation: String(h.relation ?? ""),
60
+ entityNames: h.entity_names ?? [],
61
+ confidence: Number(h.confidence ?? 1)
62
+ })).filter((h) => h.label.length > 0 && h.entityNames.length >= 3)
63
+ };
64
+ }
65
+ } catch (err) {
66
+ process.stderr.write(
67
+ `[doc-graph-extractor] LLM extraction failed: ${err instanceof Error ? err.message : String(err)}
68
+ `
69
+ );
70
+ }
71
+ return { entities: [], relationships: [], hyperedges: [] };
72
+ }
73
+ async function extractAndStoreDocumentGraph(documentId, chunks, model = "claude-haiku-4-5-20251001") {
74
+ if (chunks.length === 0) {
75
+ return { entitiesStored: 0, relationshipsStored: 0, chunksProcessed: 0 };
76
+ }
77
+ try {
78
+ let totalEntities = 0;
79
+ let totalRelationships = 0;
80
+ let totalChunks = 0;
81
+ for (let i = 0; i < chunks.length; i += MAX_CHUNKS_PER_CALL) {
82
+ const batch = chunks.slice(i, i + MAX_CHUNKS_PER_CALL);
83
+ const extraction = await extractConceptsFromChunks(batch, model);
84
+ if (extraction.entities.length > 0 || extraction.relationships.length > 0) {
85
+ const client = getClient();
86
+ const now = (/* @__PURE__ */ new Date()).toISOString();
87
+ const syntheticMemoryId = `${DOC_GRAPH_MEMORY_PREFIX}${documentId}:${i}`;
88
+ const stored = await storeExtraction(client, extraction, syntheticMemoryId, now);
89
+ totalEntities += stored.entitiesStored;
90
+ totalRelationships += stored.relationshipsStored;
91
+ }
92
+ totalChunks += batch.length;
93
+ }
94
+ return {
95
+ entitiesStored: totalEntities,
96
+ relationshipsStored: totalRelationships,
97
+ chunksProcessed: totalChunks
98
+ };
99
+ } catch (err) {
100
+ process.stderr.write(
101
+ `[doc-graph-extractor] extractAndStoreDocumentGraph failed for ${documentId}: ${err instanceof Error ? err.message : String(err)}
102
+ `
103
+ );
104
+ return { entitiesStored: 0, relationshipsStored: 0, chunksProcessed: 0 };
105
+ }
106
+ }
107
+ async function extractGraphFromExistingDocument(documentId, model = "claude-haiku-4-5-20251001") {
108
+ const client = getClient();
109
+ const docResult = await client.execute({
110
+ sql: "SELECT id FROM documents WHERE id = ?",
111
+ args: [documentId]
112
+ });
113
+ if (docResult.rows.length === 0) {
114
+ throw new Error(`Document not found: ${documentId}`);
115
+ }
116
+ const chunksResult = await client.execute({
117
+ sql: `SELECT raw_text FROM memories
118
+ WHERE document_id = ? AND COALESCE(status, 'active') = 'active'
119
+ ORDER BY char_offset ASC, timestamp ASC`,
120
+ args: [documentId]
121
+ });
122
+ if (chunksResult.rows.length === 0) {
123
+ return { entitiesStored: 0, relationshipsStored: 0, chunksProcessed: 0 };
124
+ }
125
+ const chunkTexts = chunksResult.rows.map((row) => String(row.raw_text));
126
+ return extractAndStoreDocumentGraph(documentId, chunkTexts, model);
127
+ }
128
+ export {
129
+ extractAndStoreDocumentGraph,
130
+ extractConceptsFromChunks,
131
+ extractGraphFromExistingDocument
132
+ };
@@ -0,0 +1,132 @@
1
+ import {
2
+ EXTRACT_TOOL,
3
+ storeExtraction
4
+ } from "./chunk-I7GRBEFS.js";
5
+ import "./chunk-I7AW4237.js";
6
+ import "./chunk-GUMRIUI5.js";
7
+ import {
8
+ getClient
9
+ } from "./chunk-WUKEXVOR.js";
10
+ import "./chunk-2I23RPSI.js";
11
+ import "./chunk-ORDHJRWN.js";
12
+ import "./chunk-5DNJPRDW.js";
13
+ import "./chunk-FXU7JOXK.js";
14
+ import "./chunk-T3B5RK4H.js";
15
+ import "./chunk-LYH5HE24.js";
16
+ import "./chunk-MLKGABMK.js";
17
+
18
+ // src/lib/doc-graph-extractor.ts
19
+ var CHUNK_CONTENT_LIMIT = 3e3;
20
+ var MAX_CHUNKS_PER_CALL = 8;
21
+ var DOC_GRAPH_MEMORY_PREFIX = "doc-graph:";
22
+ async function extractConceptsFromChunks(chunks, model = "claude-haiku-4-5-20251001") {
23
+ if (chunks.length === 0) {
24
+ return { entities: [], relationships: [], hyperedges: [] };
25
+ }
26
+ const selectedChunks = chunks.slice(0, MAX_CHUNKS_PER_CALL);
27
+ const combinedText = selectedChunks.map((chunk, i) => `--- Chunk ${i + 1} ---
28
+ ${chunk.slice(0, CHUNK_CONTENT_LIMIT)}`).join("\n\n");
29
+ try {
30
+ const Anthropic = (await import("@anthropic-ai/sdk")).default;
31
+ const client = new Anthropic();
32
+ const response = await client.messages.create({
33
+ model,
34
+ max_tokens: 1024,
35
+ system: `You are extracting a knowledge graph from document content. Identify all key entities (people, companies, concepts, locations, projects, tools, decisions, products) and the relationships between them. Focus on explicitly stated facts \u2014 don't over-infer. Use the simplest canonical form for entity names (e.g., "Anthropic" not "Anthropic, PBC"). For relationships, prefer specific types (depends_on, created, uses, part_of, located_at, manages, supplies) over generic related_to.`,
36
+ messages: [{ role: "user", content: combinedText }],
37
+ tools: [EXTRACT_TOOL],
38
+ tool_choice: { type: "tool", name: "extract_entities_and_relationships" }
39
+ });
40
+ const toolBlock = response.content.find((b) => b.type === "tool_use");
41
+ if (toolBlock && toolBlock.type === "tool_use") {
42
+ const input = toolBlock.input;
43
+ const rawEntities = input.entities ?? [];
44
+ const rawRels = input.relationships ?? [];
45
+ const rawHyperedges = input.hyperedges ?? [];
46
+ return {
47
+ entities: rawEntities.map((e) => ({ name: e.name ?? "", type: e.type ?? "concept" })).filter((e) => e.name.length > 0),
48
+ relationships: rawRels.map((r) => ({
49
+ source: r.source ?? "",
50
+ sourceType: r.source_type ?? "concept",
51
+ target: r.target ?? "",
52
+ targetType: r.target_type ?? "concept",
53
+ relationship: r.relationship ?? "related_to",
54
+ confidence: Number(r.confidence ?? 0.8),
55
+ confidenceLabel: String(r.confidence_label ?? "extracted")
56
+ })).filter((r) => r.source.length > 0 && r.target.length > 0),
57
+ hyperedges: rawHyperedges.map((h) => ({
58
+ label: String(h.label ?? ""),
59
+ relation: String(h.relation ?? ""),
60
+ entityNames: h.entity_names ?? [],
61
+ confidence: Number(h.confidence ?? 1)
62
+ })).filter((h) => h.label.length > 0 && h.entityNames.length >= 3)
63
+ };
64
+ }
65
+ } catch (err) {
66
+ process.stderr.write(
67
+ `[doc-graph-extractor] LLM extraction failed: ${err instanceof Error ? err.message : String(err)}
68
+ `
69
+ );
70
+ }
71
+ return { entities: [], relationships: [], hyperedges: [] };
72
+ }
73
+ async function extractAndStoreDocumentGraph(documentId, chunks, model = "claude-haiku-4-5-20251001") {
74
+ if (chunks.length === 0) {
75
+ return { entitiesStored: 0, relationshipsStored: 0, chunksProcessed: 0 };
76
+ }
77
+ try {
78
+ let totalEntities = 0;
79
+ let totalRelationships = 0;
80
+ let totalChunks = 0;
81
+ for (let i = 0; i < chunks.length; i += MAX_CHUNKS_PER_CALL) {
82
+ const batch = chunks.slice(i, i + MAX_CHUNKS_PER_CALL);
83
+ const extraction = await extractConceptsFromChunks(batch, model);
84
+ if (extraction.entities.length > 0 || extraction.relationships.length > 0) {
85
+ const client = getClient();
86
+ const now = (/* @__PURE__ */ new Date()).toISOString();
87
+ const syntheticMemoryId = `${DOC_GRAPH_MEMORY_PREFIX}${documentId}:${i}`;
88
+ const stored = await storeExtraction(client, extraction, syntheticMemoryId, now);
89
+ totalEntities += stored.entitiesStored;
90
+ totalRelationships += stored.relationshipsStored;
91
+ }
92
+ totalChunks += batch.length;
93
+ }
94
+ return {
95
+ entitiesStored: totalEntities,
96
+ relationshipsStored: totalRelationships,
97
+ chunksProcessed: totalChunks
98
+ };
99
+ } catch (err) {
100
+ process.stderr.write(
101
+ `[doc-graph-extractor] extractAndStoreDocumentGraph failed for ${documentId}: ${err instanceof Error ? err.message : String(err)}
102
+ `
103
+ );
104
+ return { entitiesStored: 0, relationshipsStored: 0, chunksProcessed: 0 };
105
+ }
106
+ }
107
+ async function extractGraphFromExistingDocument(documentId, model = "claude-haiku-4-5-20251001") {
108
+ const client = getClient();
109
+ const docResult = await client.execute({
110
+ sql: "SELECT id FROM documents WHERE id = ?",
111
+ args: [documentId]
112
+ });
113
+ if (docResult.rows.length === 0) {
114
+ throw new Error(`Document not found: ${documentId}`);
115
+ }
116
+ const chunksResult = await client.execute({
117
+ sql: `SELECT raw_text FROM memories
118
+ WHERE document_id = ? AND COALESCE(status, 'active') = 'active'
119
+ ORDER BY char_offset ASC, timestamp ASC`,
120
+ args: [documentId]
121
+ });
122
+ if (chunksResult.rows.length === 0) {
123
+ return { entitiesStored: 0, relationshipsStored: 0, chunksProcessed: 0 };
124
+ }
125
+ const chunkTexts = chunksResult.rows.map((row) => String(row.raw_text));
126
+ return extractAndStoreDocumentGraph(documentId, chunkTexts, model);
127
+ }
128
+ export {
129
+ extractAndStoreDocumentGraph,
130
+ extractConceptsFromChunks,
131
+ extractGraphFromExistingDocument
132
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ DreamingEngine
3
+ } from "./chunk-T6QPXXXW.js";
4
+ import "./chunk-PWPJK7KB.js";
5
+ import "./chunk-4MRP6EBR.js";
6
+ import "./chunk-4FVVJ7ME.js";
7
+ import "./chunk-4JERP7NT.js";
8
+ import "./chunk-F6L33PAQ.js";
9
+ import "./chunk-MVW62NIZ.js";
10
+ import "./chunk-OYNKIAVW.js";
11
+ import "./chunk-SSTLTIF3.js";
12
+ import "./chunk-MYEABW5Z.js";
13
+ import "./chunk-PMVOUPTY.js";
14
+ import "./chunk-NGP6LSV2.js";
15
+ import "./chunk-AU47B4QY.js";
16
+ import "./chunk-CVYC6DUW.js";
17
+ import "./chunk-OPU3NYOO.js";
18
+ import "./chunk-GJV3WDWM.js";
19
+ import "./chunk-MP2AFCGL.js";
20
+ import "./chunk-4533HNOG.js";
21
+ import "./chunk-HYZV25LY.js";
22
+ import "./chunk-WUKEXVOR.js";
23
+ import "./chunk-2I23RPSI.js";
24
+ import "./chunk-ORDHJRWN.js";
25
+ import "./chunk-5DNJPRDW.js";
26
+ import "./chunk-FXU7JOXK.js";
27
+ import "./chunk-YMKUXZIG.js";
28
+ import "./chunk-T3B5RK4H.js";
29
+ import "./chunk-LYH5HE24.js";
30
+ import "./chunk-MLKGABMK.js";
31
+ export {
32
+ DreamingEngine
33
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ DreamingEngine
3
+ } from "./chunk-HWDD64IW.js";
4
+ import "./chunk-PC635OAG.js";
5
+ import "./chunk-ARUTDXZX.js";
6
+ import "./chunk-4FVVJ7ME.js";
7
+ import "./chunk-4JERP7NT.js";
8
+ import "./chunk-Y67VYYOA.js";
9
+ import "./chunk-MVW62NIZ.js";
10
+ import "./chunk-OYNKIAVW.js";
11
+ import "./chunk-SSTLTIF3.js";
12
+ import "./chunk-FSRKIZGZ.js";
13
+ import "./chunk-PMVOUPTY.js";
14
+ import "./chunk-NGP6LSV2.js";
15
+ import "./chunk-TQ4VXUAF.js";
16
+ import "./chunk-CVYC6DUW.js";
17
+ import "./chunk-OPU3NYOO.js";
18
+ import "./chunk-GJV3WDWM.js";
19
+ import "./chunk-MP2AFCGL.js";
20
+ import "./chunk-JBXANNNB.js";
21
+ import "./chunk-HYZV25LY.js";
22
+ import "./chunk-52UDAVZE.js";
23
+ import "./chunk-2I23RPSI.js";
24
+ import "./chunk-YGWFBN5A.js";
25
+ import "./chunk-5DNJPRDW.js";
26
+ import "./chunk-FXU7JOXK.js";
27
+ import "./chunk-EAPUSVKS.js";
28
+ import "./chunk-T3B5RK4H.js";
29
+ import "./chunk-LYH5HE24.js";
30
+ import "./chunk-MLKGABMK.js";
31
+ export {
32
+ DreamingEngine
33
+ };
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runDriftProbes
4
+ } from "./chunk-PH46R4J6.js";
5
+ import "./chunk-52UDAVZE.js";
6
+ import "./chunk-2I23RPSI.js";
7
+ import "./chunk-YGWFBN5A.js";
8
+ import "./chunk-5DNJPRDW.js";
9
+ import "./chunk-FXU7JOXK.js";
10
+ import "./chunk-T3B5RK4H.js";
11
+ import "./chunk-LYH5HE24.js";
12
+ import "./chunk-MLKGABMK.js";
13
+
14
+ // src/bin/exe-drift.ts
15
+ var AXES = ["continuity", "consistency", "role-fidelity", "world-model"];
16
+ var AXIS_HEADERS = {
17
+ continuity: "Cont.",
18
+ consistency: "Consist.",
19
+ "role-fidelity": "Role",
20
+ "world-model": "World"
21
+ };
22
+ function statusIcon(overall) {
23
+ if (overall >= 80) return "\x1B[32m\u{1F7E2} OK\x1B[0m";
24
+ if (overall >= 60) return "\x1B[33m\u{1F7E0} WARN\x1B[0m";
25
+ return "\x1B[31m\u{1F534} DRIFTING\x1B[0m";
26
+ }
27
+ function padRight(str, len) {
28
+ return str.length >= len ? str.slice(0, len) : str + " ".repeat(len - str.length);
29
+ }
30
+ function padLeft(str, len) {
31
+ return str.length >= len ? str : " ".repeat(len - str.length) + str;
32
+ }
33
+ function formatTable(results) {
34
+ const lines = [];
35
+ const header = padRight("Agent", 10) + AXES.map((a) => padLeft(AXIS_HEADERS[a], 9)).join("") + padLeft("Overall", 9) + " Status";
36
+ lines.push(header);
37
+ lines.push("-".repeat(header.length + 10));
38
+ for (const r of results) {
39
+ const line = padRight(r.agent, 10) + AXES.map((a) => padLeft(String(r.scores[a]), 9)).join("") + padLeft(String(r.overall), 9) + " " + statusIcon(r.overall);
40
+ lines.push(line);
41
+ }
42
+ return lines.join("\n");
43
+ }
44
+ async function runDrift(args) {
45
+ const agentIdx = args.indexOf("--agent");
46
+ const agentId = agentIdx >= 0 ? args[agentIdx + 1] : void 0;
47
+ console.log("\nexe-os doctor --drift\n");
48
+ const results = await runDriftProbes({ agentId });
49
+ if (results.length === 0) {
50
+ console.log("No agents found. Run /exe-team to see available employees.");
51
+ return;
52
+ }
53
+ console.log(formatTable(results));
54
+ console.log();
55
+ const flagged = results.filter((r) => r.flags.length > 0);
56
+ if (flagged.length > 0) {
57
+ for (const r of flagged) {
58
+ for (const flag of r.flags) {
59
+ console.log(`\u26A0 ${r.agent}: ${flag}`);
60
+ }
61
+ }
62
+ console.log();
63
+ } else {
64
+ console.log("All agents within role-fidelity thresholds.\n");
65
+ }
66
+ }
67
+ export {
68
+ runDrift
69
+ };
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ runDriftProbes
4
+ } from "./chunk-MQZX57IY.js";
5
+ import "./chunk-WUKEXVOR.js";
6
+ import "./chunk-2I23RPSI.js";
7
+ import "./chunk-ORDHJRWN.js";
8
+ import "./chunk-5DNJPRDW.js";
9
+ import "./chunk-FXU7JOXK.js";
10
+ import "./chunk-T3B5RK4H.js";
11
+ import "./chunk-LYH5HE24.js";
12
+ import "./chunk-MLKGABMK.js";
13
+
14
+ // src/bin/exe-drift.ts
15
+ var AXES = ["continuity", "consistency", "role-fidelity", "world-model"];
16
+ var AXIS_HEADERS = {
17
+ continuity: "Cont.",
18
+ consistency: "Consist.",
19
+ "role-fidelity": "Role",
20
+ "world-model": "World"
21
+ };
22
+ function statusIcon(overall) {
23
+ if (overall >= 80) return "\x1B[32m\u{1F7E2} OK\x1B[0m";
24
+ if (overall >= 60) return "\x1B[33m\u{1F7E0} WARN\x1B[0m";
25
+ return "\x1B[31m\u{1F534} DRIFTING\x1B[0m";
26
+ }
27
+ function padRight(str, len) {
28
+ return str.length >= len ? str.slice(0, len) : str + " ".repeat(len - str.length);
29
+ }
30
+ function padLeft(str, len) {
31
+ return str.length >= len ? str : " ".repeat(len - str.length) + str;
32
+ }
33
+ function formatTable(results) {
34
+ const lines = [];
35
+ const header = padRight("Agent", 10) + AXES.map((a) => padLeft(AXIS_HEADERS[a], 9)).join("") + padLeft("Overall", 9) + " Status";
36
+ lines.push(header);
37
+ lines.push("-".repeat(header.length + 10));
38
+ for (const r of results) {
39
+ const line = padRight(r.agent, 10) + AXES.map((a) => padLeft(String(r.scores[a]), 9)).join("") + padLeft(String(r.overall), 9) + " " + statusIcon(r.overall);
40
+ lines.push(line);
41
+ }
42
+ return lines.join("\n");
43
+ }
44
+ async function runDrift(args) {
45
+ const agentIdx = args.indexOf("--agent");
46
+ const agentId = agentIdx >= 0 ? args[agentIdx + 1] : void 0;
47
+ console.log("\nexe-os doctor --drift\n");
48
+ const results = await runDriftProbes({ agentId });
49
+ if (results.length === 0) {
50
+ console.log("No agents found. Run /exe-team to see available employees.");
51
+ return;
52
+ }
53
+ console.log(formatTable(results));
54
+ console.log();
55
+ const flagged = results.filter((r) => r.flags.length > 0);
56
+ if (flagged.length > 0) {
57
+ for (const r of flagged) {
58
+ for (const flag of r.flags) {
59
+ console.log(`\u26A0 ${r.agent}: ${flag}`);
60
+ }
61
+ }
62
+ console.log();
63
+ } else {
64
+ console.log("All agents within role-fidelity thresholds.\n");
65
+ }
66
+ }
67
+ export {
68
+ runDrift
69
+ };
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ exportOrchestration
4
+ } from "./chunk-JY6EXBFI.js";
5
+ import "./chunk-VUH67PT4.js";
6
+ import {
7
+ disposeStore,
8
+ initStore
9
+ } from "./chunk-AXOREWVL.js";
10
+ import "./chunk-CHCA3ZM2.js";
11
+ import "./chunk-OTVEIJUQ.js";
12
+ import "./chunk-OSPIJMCD.js";
13
+ import "./chunk-Y25OJWOQ.js";
14
+ import "./chunk-MP2AFCGL.js";
15
+ import "./chunk-WUKEXVOR.js";
16
+ import "./chunk-2I23RPSI.js";
17
+ import "./chunk-ORDHJRWN.js";
18
+ import "./chunk-5DNJPRDW.js";
19
+ import "./chunk-FXU7JOXK.js";
20
+ import "./chunk-Z42MXYWW.js";
21
+ import "./chunk-T3B5RK4H.js";
22
+ import "./chunk-LYH5HE24.js";
23
+ import {
24
+ isMainModule
25
+ } from "./chunk-6Y4B3QF6.js";
26
+ import "./chunk-MLKGABMK.js";
27
+
28
+ // src/bin/exe-export.ts
29
+ import { mkdirSync, writeFileSync } from "fs";
30
+ import path from "path";
31
+ var OUTPUT_FLAG = "--output";
32
+ function printUsage() {
33
+ process.stdout.write("Usage: exe-os export --output <path>\n");
34
+ }
35
+ function parseOutputPath(argv) {
36
+ if (argv.includes("--help") || argv.includes("-h")) {
37
+ printUsage();
38
+ return null;
39
+ }
40
+ const flagIndex = argv.indexOf(OUTPUT_FLAG);
41
+ if (flagIndex === -1 || !argv[flagIndex + 1]) {
42
+ throw new Error("Missing required --output <path> argument");
43
+ }
44
+ return argv[flagIndex + 1];
45
+ }
46
+ async function runExeExport(argv = process.argv.slice(2)) {
47
+ const outputPath = parseOutputPath(argv);
48
+ if (outputPath == null) return;
49
+ await initStore();
50
+ try {
51
+ const pkg = await exportOrchestration("cli");
52
+ mkdirSync(path.dirname(outputPath), { recursive: true });
53
+ writeFileSync(outputPath, `${JSON.stringify(pkg, null, 2)}
54
+ `, "utf-8");
55
+ process.stdout.write(
56
+ `Exported ${pkg.roster.length} roster entries, ${Object.keys(pkg.identities).length} identities, ${pkg.behaviors.length} behaviors, ${pkg.procedures.length} procedures to ${outputPath}
57
+ `
58
+ );
59
+ } finally {
60
+ try {
61
+ await disposeStore();
62
+ } catch {
63
+ }
64
+ }
65
+ }
66
+ if (isMainModule(import.meta.url) && (process.argv[1] ?? "").includes("exe-export")) {
67
+ runExeExport().catch((err) => {
68
+ process.stderr.write(`exe-os export failed: ${err instanceof Error ? err.message : String(err)}
69
+ `);
70
+ process.exit(1);
71
+ });
72
+ }
73
+ export {
74
+ runExeExport
75
+ };
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ exportOrchestration
4
+ } from "./chunk-X3Z35Q6L.js";
5
+ import "./chunk-VUH67PT4.js";
6
+ import {
7
+ disposeStore,
8
+ initStore
9
+ } from "./chunk-MGEZNKOD.js";
10
+ import "./chunk-CHCA3ZM2.js";
11
+ import "./chunk-OTVEIJUQ.js";
12
+ import "./chunk-HZZHRZPK.js";
13
+ import "./chunk-Y25OJWOQ.js";
14
+ import "./chunk-MP2AFCGL.js";
15
+ import "./chunk-52UDAVZE.js";
16
+ import "./chunk-2I23RPSI.js";
17
+ import "./chunk-YGWFBN5A.js";
18
+ import "./chunk-5DNJPRDW.js";
19
+ import "./chunk-FXU7JOXK.js";
20
+ import "./chunk-Z42MXYWW.js";
21
+ import "./chunk-T3B5RK4H.js";
22
+ import "./chunk-LYH5HE24.js";
23
+ import {
24
+ isMainModule
25
+ } from "./chunk-6Y4B3QF6.js";
26
+ import "./chunk-MLKGABMK.js";
27
+
28
+ // src/bin/exe-export.ts
29
+ import { mkdirSync, writeFileSync } from "fs";
30
+ import path from "path";
31
+ var OUTPUT_FLAG = "--output";
32
+ function printUsage() {
33
+ process.stdout.write("Usage: exe-os export --output <path>\n");
34
+ }
35
+ function parseOutputPath(argv) {
36
+ if (argv.includes("--help") || argv.includes("-h")) {
37
+ printUsage();
38
+ return null;
39
+ }
40
+ const flagIndex = argv.indexOf(OUTPUT_FLAG);
41
+ if (flagIndex === -1 || !argv[flagIndex + 1]) {
42
+ throw new Error("Missing required --output <path> argument");
43
+ }
44
+ return argv[flagIndex + 1];
45
+ }
46
+ async function runExeExport(argv = process.argv.slice(2)) {
47
+ const outputPath = parseOutputPath(argv);
48
+ if (outputPath == null) return;
49
+ await initStore();
50
+ try {
51
+ const pkg = await exportOrchestration("cli");
52
+ mkdirSync(path.dirname(outputPath), { recursive: true });
53
+ writeFileSync(outputPath, `${JSON.stringify(pkg, null, 2)}
54
+ `, "utf-8");
55
+ process.stdout.write(
56
+ `Exported ${pkg.roster.length} roster entries, ${Object.keys(pkg.identities).length} identities, ${pkg.behaviors.length} behaviors, ${pkg.procedures.length} procedures to ${outputPath}
57
+ `
58
+ );
59
+ } finally {
60
+ try {
61
+ await disposeStore();
62
+ } catch {
63
+ }
64
+ }
65
+ }
66
+ if (isMainModule(import.meta.url) && (process.argv[1] ?? "").includes("exe-export")) {
67
+ runExeExport().catch((err) => {
68
+ process.stderr.write(`exe-os export failed: ${err instanceof Error ? err.message : String(err)}
69
+ `);
70
+ process.exit(1);
71
+ });
72
+ }
73
+ export {
74
+ runExeExport
75
+ };