@askexenow/exe-os 0.9.294 → 0.9.296

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 (279) hide show
  1. package/deploy/compose/cloudflared/config.yml.example +14 -9
  2. package/deploy/compose/docker-compose.yml +86 -8
  3. package/deploy/compose/sso-edge/default.conf.template +87 -0
  4. package/deploy/compose/sso-edge/entrypoint.sh +23 -0
  5. package/deploy/compose/sso-edge/sso-redirect.conf +63 -0
  6. package/deploy/stack-manifests/v0.9.json +2 -2
  7. package/dist/active-agent-AFX2FODG.js +28 -0
  8. package/dist/active-agent-E2IJA7YX.js +27 -0
  9. package/dist/agentic-ontology-A2YUZK5O.js +25 -0
  10. package/dist/assets/com.askexe.exed.plist +4 -1
  11. package/dist/backfill-metadata-OC7EOD5U.js +600 -0
  12. package/dist/behaviors-H5ZOVHDH.js +46 -0
  13. package/dist/bin/agentic-ontology-backfill.js +5 -5
  14. package/dist/bin/agentic-reflection-backfill.js +6 -6
  15. package/dist/bin/agentic-semantic-label.js +5 -5
  16. package/dist/bin/backfill-conversations.js +6 -6
  17. package/dist/bin/backfill-responses.js +6 -6
  18. package/dist/bin/backfill-vectors.js +8 -8
  19. package/dist/bin/bulk-sync-postgres.js +7 -7
  20. package/dist/bin/cc-doctor.js +4 -4
  21. package/dist/bin/cleanup-stale-review-tasks.js +11 -11
  22. package/dist/bin/cli.js +16 -16
  23. package/dist/bin/deferred-daemon-restart.js +1 -1
  24. package/dist/bin/exe-agent-config.js +2 -2
  25. package/dist/bin/exe-agent.js +4 -4
  26. package/dist/bin/exe-assign.js +8 -8
  27. package/dist/bin/exe-boot.js +21 -18
  28. package/dist/bin/exe-call.js +4 -4
  29. package/dist/bin/exe-cloud.js +7 -7
  30. package/dist/bin/exe-dispatch.js +11 -11
  31. package/dist/bin/exe-doctor.js +3 -2
  32. package/dist/bin/exe-export-behaviors.js +7 -7
  33. package/dist/bin/exe-forget.js +6 -6
  34. package/dist/bin/exe-gateway.js +7 -7
  35. package/dist/bin/exe-healthcheck.js +6 -4
  36. package/dist/bin/exe-heartbeat.js +11 -11
  37. package/dist/bin/exe-kill.js +14 -14
  38. package/dist/bin/exe-launch-agent.js +18 -18
  39. package/dist/bin/exe-new-employee.js +6 -6
  40. package/dist/bin/exe-pending-messages.js +12 -12
  41. package/dist/bin/exe-pending-notifications.js +11 -11
  42. package/dist/bin/exe-pending-reviews.js +11 -11
  43. package/dist/bin/exe-rename.js +4 -4
  44. package/dist/bin/exe-review.js +13 -13
  45. package/dist/bin/exe-search.js +5 -5
  46. package/dist/bin/exe-session-cleanup.js +16 -16
  47. package/dist/bin/exe-settings.js +39 -9
  48. package/dist/bin/exe-start-codex.js +11 -11
  49. package/dist/bin/exe-start-opencode.js +8 -8
  50. package/dist/bin/exe-status.js +12 -12
  51. package/dist/bin/exe-team.js +3 -3
  52. package/dist/bin/git-sweep.js +12 -12
  53. package/dist/bin/graph-backfill.js +4 -4
  54. package/dist/bin/graph-export.js +5 -5
  55. package/dist/bin/import-history.js +7 -7
  56. package/dist/bin/install-launchd.js +13 -6
  57. package/dist/bin/install.js +26 -14
  58. package/dist/bin/intercom-check.js +4 -4
  59. package/dist/bin/mcp-sessions.js +2 -2
  60. package/dist/bin/orchestration-metrics.js +4 -4
  61. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  62. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  63. package/dist/bin/scan-tasks.js +11 -11
  64. package/dist/bin/setup.js +1 -1
  65. package/dist/bin/shard-migrate.js +4 -4
  66. package/dist/bin/stack-update.js +2 -2
  67. package/dist/bin/vps-health-gate.js +1 -1
  68. package/dist/capability-cards-4USI7CUW.js +89 -0
  69. package/dist/capacity-monitor-WLCBTEYR.js +51 -0
  70. package/dist/catchup-brief-ZR3NX6LZ.js +175 -0
  71. package/dist/chunk-22TVSRQQ.js +226 -0
  72. package/dist/chunk-2E43UXRH.js +395 -0
  73. package/dist/chunk-2PIGT6UJ.js +460 -0
  74. package/dist/chunk-3XTMW2MZ.js +535 -0
  75. package/dist/chunk-465PQFTH.js +262 -0
  76. package/dist/chunk-5CCXU2AW.js +129 -0
  77. package/dist/chunk-5D6MPWR7.js +1094 -0
  78. package/dist/chunk-5Q4MR6SL.js +123 -0
  79. package/dist/chunk-6327RBWR.js +345 -0
  80. package/dist/chunk-6MZZREZY.js +199 -0
  81. package/dist/chunk-7DI2Q4O5.js +1186 -0
  82. package/dist/chunk-7PW5VNIY.js +122 -0
  83. package/dist/chunk-7T7Y56HW.js +43 -0
  84. package/dist/chunk-7UHCWCLT.js +128 -0
  85. package/dist/chunk-A2ZUMF6L.js +1350 -0
  86. package/dist/chunk-AKV44JEH.js +185 -0
  87. package/dist/chunk-ANHWGX5N.js +735 -0
  88. package/dist/chunk-BQ3P4TKD.js +97 -0
  89. package/dist/chunk-BUZMT3KZ.js +604 -0
  90. package/dist/chunk-C2SBESBO.js +210 -0
  91. package/dist/chunk-CLSXZUZW.js +51 -0
  92. package/dist/chunk-CONHLVAR.js +1079 -0
  93. package/dist/chunk-D3WTZPFX.js +456 -0
  94. package/dist/chunk-DE6SOIYL.js +197 -0
  95. package/dist/chunk-EIVNMA3Q.js +284 -0
  96. package/dist/chunk-EJIF4FNT.js +12 -0
  97. package/dist/chunk-FDFOW564.js +171 -0
  98. package/dist/chunk-GZUBJ5EC.js +127 -0
  99. package/dist/chunk-HGZITN22.js +105 -0
  100. package/dist/chunk-HSRKDU6X.js +362 -0
  101. package/dist/chunk-IIEN2PHV.js +85 -0
  102. package/dist/chunk-JQ56VLMM.js +567 -0
  103. package/dist/chunk-JVHHXRFY.js +280 -0
  104. package/dist/chunk-JXCXGZ3S.js +55 -0
  105. package/dist/chunk-K5ZO532Q.js +4388 -0
  106. package/dist/chunk-K6CAAMXF.js +97 -0
  107. package/dist/chunk-KA26YTNU.js +81 -0
  108. package/dist/chunk-KMUW5C3R.js +381 -0
  109. package/dist/chunk-KOO3J5PV.js +20 -0
  110. package/dist/chunk-LSV7OFIH.js +290 -0
  111. package/dist/chunk-LSVFDVNY.js +1158 -0
  112. package/dist/chunk-LXDQTW32.js +230 -0
  113. package/dist/chunk-MEP7OUVZ.js +181 -0
  114. package/dist/chunk-MN2B2LKS.js +240 -0
  115. package/dist/chunk-N2EAYPYQ.js +1352 -0
  116. package/dist/chunk-N7I2A667.js +70 -0
  117. package/dist/chunk-NLZHVIOP.js +630 -0
  118. package/dist/chunk-NUH5TRZL.js +227 -0
  119. package/dist/chunk-OAHEIH3G.js +167 -0
  120. package/dist/chunk-OBHRQGCK.js +58 -0
  121. package/dist/chunk-ODFA7B2V.js +54 -0
  122. package/dist/chunk-OSNUP45F.js +731 -0
  123. package/dist/chunk-OTPRHBTO.js +33 -0
  124. package/dist/chunk-P6MUA4QU.js +157 -0
  125. package/dist/chunk-PGIOFKSK.js +2093 -0
  126. package/dist/chunk-PSE7VHWK.js +50 -0
  127. package/dist/chunk-QIFUVZFW.js +331 -0
  128. package/dist/chunk-RDPXKTVK.js +221 -0
  129. package/dist/chunk-RKYTYJGB.js +76 -0
  130. package/dist/chunk-RXLR6EFM.js +348 -0
  131. package/dist/chunk-SDB67PQJ.js +159 -0
  132. package/dist/chunk-SF2T7MP3.js +402 -0
  133. package/dist/chunk-SLU3FRFQ.js +2133 -0
  134. package/dist/chunk-SNDZJ5IV.js +214 -0
  135. package/dist/chunk-STEEAABW.js +448 -0
  136. package/dist/chunk-TUTWNHIQ.js +244 -0
  137. package/dist/chunk-UDP35QBR.js +30 -0
  138. package/dist/chunk-UKFHNJBI.js +85 -0
  139. package/dist/chunk-VC2DTK2X.js +382 -0
  140. package/dist/chunk-VRRAE5JX.js +836 -0
  141. package/dist/chunk-VVJTBQPR.js +38 -0
  142. package/dist/chunk-W3EQ362K.js +581 -0
  143. package/dist/chunk-WHIXIFHC.js +2242 -0
  144. package/dist/chunk-WRNGJJNR.js +377 -0
  145. package/dist/chunk-WUKHLCBE.js +3313 -0
  146. package/dist/chunk-WVPLHGDG.js +150 -0
  147. package/dist/chunk-XJZBSTL5.js +204 -0
  148. package/dist/chunk-Y3PMNUM5.js +304 -0
  149. package/dist/chunk-YHVS4QOV.js +14597 -0
  150. package/dist/chunk-YJ2OYAOC.js +668 -0
  151. package/dist/chunk-YYAD2GXX.js +128 -0
  152. package/dist/chunk-ZQML7EWE.js +333 -0
  153. package/dist/co-activation-XJLH46OX.js +74 -0
  154. package/dist/co-occurrence-GNN2X526.js +95 -0
  155. package/dist/code-context-index-OCPRLFG5.js +30 -0
  156. package/dist/core-memory-J4W2IYOF.js +110 -0
  157. package/dist/crdt-sync-QCBTSHIH.js +33 -0
  158. package/dist/crm-webhook-EM442VUW.js +10 -0
  159. package/dist/cto-delegation-gate-MLJMVHBK.js +280 -0
  160. package/dist/daemon-orchestration-2VNLZVTW.js +139 -0
  161. package/dist/db-backup-VUGFTPJ4.js +43 -0
  162. package/dist/doc-graph-extractor-PNRSFPSS.js +133 -0
  163. package/dist/dreaming-SK5VEQRF.js +34 -0
  164. package/dist/entity-boost-TQWWJUC2.js +375 -0
  165. package/dist/exe-drift-N34UPO7S.js +70 -0
  166. package/dist/exe-export-KACBKGVV.js +77 -0
  167. package/dist/exe-import-GXGDWACG.js +80 -0
  168. package/dist/exe-key-XPDOZBWW.js +673 -0
  169. package/dist/exe-snapshot-32GQKGQ5.js +338 -0
  170. package/dist/fast-db-init-F3TDD5VV.js +7 -0
  171. package/dist/gateway/index.js +8 -8
  172. package/dist/git-staleness-J45WNYRF.js +112 -0
  173. package/dist/git-task-sweep-BTGVQPFB.js +42 -0
  174. package/dist/global-procedures-6JCQWU4D.js +22 -0
  175. package/dist/graph-auto-extract-3ZQNXTPC.js +183 -0
  176. package/dist/hooks/bug-report-worker.js +13 -13
  177. package/dist/hooks/codex-stop-task-finalizer.js +13 -13
  178. package/dist/hooks/commit-complete.js +13 -13
  179. package/dist/hooks/error-recall.js +6 -6
  180. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  181. package/dist/hooks/ingest-worker.js +3 -3
  182. package/dist/hooks/ingest.js +6 -6
  183. package/dist/hooks/instructions-loaded.js +4 -4
  184. package/dist/hooks/manifest.json +20 -20
  185. package/dist/hooks/notification.js +4 -4
  186. package/dist/hooks/post-compact.js +12 -12
  187. package/dist/hooks/post-tool-combined.js +6 -6
  188. package/dist/hooks/pre-compact.js +16 -16
  189. package/dist/hooks/pre-tool-use.js +16 -16
  190. package/dist/hooks/prompt-submit.js +24 -24
  191. package/dist/hooks/session-end.js +21 -21
  192. package/dist/hooks/session-start.js +12 -12
  193. package/dist/hooks/stop.js +19 -19
  194. package/dist/hooks/subagent-stop.js +12 -12
  195. package/dist/hooks/summary-worker.js +19 -19
  196. package/dist/index.js +19 -19
  197. package/dist/installer-5VPFY7SB.js +298 -0
  198. package/dist/installer-OENFPMA2.js +344 -0
  199. package/dist/installer-OIX4QOG5.js +40 -0
  200. package/dist/lib/cloud-sync.js +7 -7
  201. package/dist/lib/consolidation.js +6 -5
  202. package/dist/lib/database.js +2 -2
  203. package/dist/lib/db-daemon-client.js +2 -2
  204. package/dist/lib/db.js +2 -2
  205. package/dist/lib/embed-worker.js +1 -0
  206. package/dist/lib/embedder.js +7 -3
  207. package/dist/lib/employee-templates.js +4 -4
  208. package/dist/lib/employees.js +2 -2
  209. package/dist/lib/exe-daemon-client.js +2 -2
  210. package/dist/lib/exe-daemon.js +160 -79
  211. package/dist/lib/hybrid-search.js +5 -5
  212. package/dist/lib/identity.js +2 -2
  213. package/dist/lib/messaging.js +11 -11
  214. package/dist/lib/reminders.js +3 -3
  215. package/dist/lib/schedules.js +5 -5
  216. package/dist/lib/session-registry.js +4 -4
  217. package/dist/lib/skill-learning.js +6 -6
  218. package/dist/lib/store.js +4 -4
  219. package/dist/lib/task-router.js +3 -3
  220. package/dist/lib/tasks.js +12 -12
  221. package/dist/lib/tmux-routing.js +12 -10
  222. package/dist/lib/tmux-transport.js +1 -1
  223. package/dist/lib/token-spend.js +3 -3
  224. package/dist/lib/transport.js +2 -2
  225. package/dist/mcp/register-tools.js +62 -61
  226. package/dist/mcp/server.js +63 -62
  227. package/dist/mcp/tools/complete-reminder.js +4 -4
  228. package/dist/mcp/tools/create-reminder.js +4 -4
  229. package/dist/mcp/tools/create-task.js +14 -14
  230. package/dist/mcp/tools/deactivate-behavior.js +7 -7
  231. package/dist/mcp/tools/list-reminders.js +4 -4
  232. package/dist/mcp/tools/list-tasks.js +14 -14
  233. package/dist/mcp/tools/send-message.js +13 -13
  234. package/dist/mcp/tools/update-task.js +13 -13
  235. package/dist/mcp-http-config-PQTOLCTP.js +29 -0
  236. package/dist/memory-cards-4RVDZIY2.js +180 -0
  237. package/dist/memory-graph-extractor-L6YC7G4M.js +22 -0
  238. package/dist/memory-poisoning-defense-4YVJYH4G.js +224 -0
  239. package/dist/memory-queue-client-MVAUOZNJ.js +16 -0
  240. package/dist/memory-reflection-SHHDQNOH.js +244 -0
  241. package/dist/message-queue-client-DCKZT6X2.js +92 -0
  242. package/dist/notifications-JFR3G42W.js +47 -0
  243. package/dist/orchestration-events-MGCGPTDN.js +27 -0
  244. package/dist/orchestrator-DAFL2YZB.js +35 -0
  245. package/dist/pipeline-router-WWSZVPCH.js +15 -0
  246. package/dist/plan-limits-C7XCSDZC.js +28 -0
  247. package/dist/project-boot-N3NTBVLE.js +299 -0
  248. package/dist/projection-worker-MTPAPCWX.js +1084 -0
  249. package/dist/prospective-memory-BTIVUJSB.js +232 -0
  250. package/dist/reranker-UA6WVESJ.js +19 -0
  251. package/dist/retrieval-health-7XNZJEBF.js +12 -0
  252. package/dist/review-polling-4ALGMXC3.js +126 -0
  253. package/dist/runtime/index.js +13 -13
  254. package/dist/self-query-router-MROFQLQB.js +192 -0
  255. package/dist/session-events-CK44XOU4.js +38 -0
  256. package/dist/session-kill-telemetry-MT6ITDOG.js +31 -0
  257. package/dist/session-scope-3XDBWV65.js +88 -0
  258. package/dist/setup-wizard-X6DOD7MC.js +12 -0
  259. package/dist/skill-refinement-G2CCY3GM.js +159 -0
  260. package/dist/stack-update-JF7F56AS.js +84 -0
  261. package/dist/steward-gate-YF2CYXE7.js +15 -0
  262. package/dist/task-enforcement-YN6HK7NE.js +506 -0
  263. package/dist/task-scope-CVK6ISCZ.js +37 -0
  264. package/dist/tasks-crud-NTNET4JE.js +79 -0
  265. package/dist/tasks-notify-4LJVFPCV.js +40 -0
  266. package/dist/tasks-review-3V4WOIRG.js +49 -0
  267. package/dist/telemetry-upload-5PNUKGTM.js +741 -0
  268. package/dist/token-budget-E46G7ZAQ.js +86 -0
  269. package/dist/tool-capability-index-JDSMKJER.js +10 -0
  270. package/dist/tool-telemetry-J3NLS3LJ.js +17 -0
  271. package/dist/tui/App.js +18 -18
  272. package/dist/tui-data-6DOMUUCM.js +260 -0
  273. package/dist/wiki-acl-5UK37LKF.js +111 -0
  274. package/dist/worker-gate-FM7AEC7G.js +21 -0
  275. package/dist/workflow-engine-2EDUHUIY.js +28 -0
  276. package/dist/worktree-7YKKJIYR.js +28 -0
  277. package/dist/worktree-sweep-C3ELFGDN.js +21 -0
  278. package/package.json +1 -1
  279. package/release-notes.json +88 -88
@@ -0,0 +1,31 @@
1
+ import {
2
+ IDLE_KILL_MIN_LIVE_SESSIONS,
3
+ IDLE_KILL_STREAK_META_KEY,
4
+ IDLE_KILL_SUSPECT_DAY_THRESHOLD,
5
+ TOKENS_PER_IDLE_MINUTE,
6
+ computeIdleKillSuspectStreak,
7
+ countKillsSince,
8
+ parseStreakState,
9
+ recordSessionKill,
10
+ sumTokensSavedSince
11
+ } from "./chunk-5Q4MR6SL.js";
12
+ import "./chunk-WUKHLCBE.js";
13
+ import "./chunk-2I23RPSI.js";
14
+ import "./chunk-2E43UXRH.js";
15
+ import "./chunk-PNQDP3OA.js";
16
+ import "./chunk-7HLWBYH7.js";
17
+ import "./chunk-FXU7JOXK.js";
18
+ import "./chunk-R36FAN53.js";
19
+ import "./chunk-LYH5HE24.js";
20
+ import "./chunk-MLKGABMK.js";
21
+ export {
22
+ IDLE_KILL_MIN_LIVE_SESSIONS,
23
+ IDLE_KILL_STREAK_META_KEY,
24
+ IDLE_KILL_SUSPECT_DAY_THRESHOLD,
25
+ TOKENS_PER_IDLE_MINUTE,
26
+ computeIdleKillSuspectStreak,
27
+ countKillsSince,
28
+ parseStreakState,
29
+ recordSessionKill,
30
+ sumTokensSavedSince
31
+ };
@@ -0,0 +1,88 @@
1
+ import {
2
+ resolveExeSession
3
+ } from "./chunk-K5ZO532Q.js";
4
+ import "./chunk-JVHHXRFY.js";
5
+ import "./chunk-4JERP7NT.js";
6
+ import "./chunk-4FVVJ7ME.js";
7
+ import {
8
+ listSessions
9
+ } from "./chunk-Y3PMNUM5.js";
10
+ import "./chunk-KOO3J5PV.js";
11
+ import "./chunk-22TVSRQQ.js";
12
+ import "./chunk-SSTLTIF3.js";
13
+ import "./chunk-NLZHVIOP.js";
14
+ import "./chunk-QRTJNSKU.js";
15
+ import "./chunk-NGP6LSV2.js";
16
+ import "./chunk-5CCXU2AW.js";
17
+ import "./chunk-CVYC6DUW.js";
18
+ import {
19
+ getProjectName
20
+ } from "./chunk-OPU3NYOO.js";
21
+ import "./chunk-GJV3WDWM.js";
22
+ import "./chunk-MP2AFCGL.js";
23
+ import "./chunk-N7I2A667.js";
24
+ import "./chunk-HYZV25LY.js";
25
+ import {
26
+ isCoordinatorName
27
+ } from "./chunk-WUKHLCBE.js";
28
+ import "./chunk-2I23RPSI.js";
29
+ import "./chunk-2E43UXRH.js";
30
+ import "./chunk-PNQDP3OA.js";
31
+ import "./chunk-7HLWBYH7.js";
32
+ import "./chunk-FXU7JOXK.js";
33
+ import "./chunk-YTKVJJSU.js";
34
+ import "./chunk-R36FAN53.js";
35
+ import "./chunk-LYH5HE24.js";
36
+ import "./chunk-MLKGABMK.js";
37
+
38
+ // src/lib/session-scope.ts
39
+ function getSessionProject(sessionName) {
40
+ const sessions = listSessions();
41
+ const entry = sessions.find((s) => s.windowName === sessionName);
42
+ if (!entry) return null;
43
+ const parts = entry.projectDir.split("/").filter(Boolean);
44
+ return parts[parts.length - 1] ?? null;
45
+ }
46
+ function findSessionForProject(projectName) {
47
+ const sessions = listSessions();
48
+ for (const s of sessions) {
49
+ const proj = s.projectDir.split("/").filter(Boolean).pop();
50
+ if (proj === projectName && isCoordinatorName(s.agentId)) return s;
51
+ }
52
+ return null;
53
+ }
54
+ function assertSessionScope(actionType, targetProject) {
55
+ try {
56
+ const currentProject = getProjectName();
57
+ const exeSession = resolveExeSession();
58
+ if (!exeSession) {
59
+ return { allowed: true, reason: "no_session" };
60
+ }
61
+ if (currentProject === targetProject) {
62
+ return {
63
+ allowed: true,
64
+ reason: "same_session",
65
+ currentProject,
66
+ targetProject
67
+ };
68
+ }
69
+ process.stderr.write(
70
+ `[session-scope] BLOCKED cross-project ${actionType}: session project="${currentProject}" \u2260 target project="${targetProject}"
71
+ `
72
+ );
73
+ return {
74
+ allowed: false,
75
+ reason: "cross_session_denied",
76
+ currentProject,
77
+ targetProject,
78
+ targetSession: findSessionForProject(targetProject)?.windowName
79
+ };
80
+ } catch {
81
+ return { allowed: true, reason: "no_session" };
82
+ }
83
+ }
84
+ export {
85
+ assertSessionScope,
86
+ findSessionForProject,
87
+ getSessionProject
88
+ };
@@ -0,0 +1,12 @@
1
+ import {
2
+ runSetupWizard,
3
+ validateModel
4
+ } from "./chunk-LSVFDVNY.js";
5
+ import "./chunk-Z42MXYWW.js";
6
+ import "./chunk-R36FAN53.js";
7
+ import "./chunk-LYH5HE24.js";
8
+ import "./chunk-MLKGABMK.js";
9
+ export {
10
+ runSetupWizard,
11
+ validateModel
12
+ };
@@ -0,0 +1,159 @@
1
+ import {
2
+ getClient
3
+ } from "./chunk-WUKHLCBE.js";
4
+ import "./chunk-2I23RPSI.js";
5
+ import "./chunk-2E43UXRH.js";
6
+ import "./chunk-PNQDP3OA.js";
7
+ import "./chunk-7HLWBYH7.js";
8
+ import "./chunk-FXU7JOXK.js";
9
+ import "./chunk-R36FAN53.js";
10
+ import "./chunk-LYH5HE24.js";
11
+ import "./chunk-MLKGABMK.js";
12
+
13
+ // src/lib/skill-refinement.ts
14
+ import crypto from "crypto";
15
+ async function incrementSkillUsage(behaviors) {
16
+ const skills = behaviors.filter((b) => b.domain === "skill");
17
+ if (skills.length === 0) return;
18
+ try {
19
+ const client = getClient();
20
+ const now = (/* @__PURE__ */ new Date()).toISOString();
21
+ for (const skill of skills) {
22
+ await client.execute({
23
+ sql: `UPDATE behaviors SET use_count = use_count + 1, last_used_at = ?, updated_at = ? WHERE id = ?`,
24
+ args: [now, now, skill.id]
25
+ });
26
+ }
27
+ } catch (err) {
28
+ process.stderr.write(
29
+ `[skill-refinement] Failed to increment usage: ${err instanceof Error ? err.message : String(err)}
30
+ `
31
+ );
32
+ }
33
+ }
34
+ async function incrementSkillSuccess(assignedTo, projectName) {
35
+ try {
36
+ const client = getClient();
37
+ const now = (/* @__PURE__ */ new Date()).toISOString();
38
+ const cutoff = new Date(Date.now() - 24 * 60 * 60 * 1e3).toISOString();
39
+ const rows = await client.execute({
40
+ sql: `SELECT id FROM behaviors
41
+ WHERE agent_id = ? AND domain = 'skill' AND active = 1
42
+ AND use_count > 0 AND last_used_at > ?
43
+ ${projectName ? "AND (project_name = ? OR project_name IS NULL)" : ""}`,
44
+ args: projectName ? [assignedTo, cutoff, projectName] : [assignedTo, cutoff]
45
+ });
46
+ for (const row of rows.rows) {
47
+ const id = String(row.id);
48
+ await client.execute({
49
+ sql: `UPDATE behaviors SET success_count = success_count + 1, updated_at = ? WHERE id = ?`,
50
+ args: [now, id]
51
+ });
52
+ }
53
+ if (rows.rows.length > 0) {
54
+ process.stderr.write(
55
+ `[skill-refinement] Incremented success_count for ${rows.rows.length} skill(s) (agent: ${assignedTo})
56
+ `
57
+ );
58
+ }
59
+ } catch (err) {
60
+ process.stderr.write(
61
+ `[skill-refinement] Failed to increment success: ${err instanceof Error ? err.message : String(err)}
62
+ `
63
+ );
64
+ }
65
+ }
66
+ var MIN_USES_FOR_REVIEW = 3;
67
+ var LOW_SUCCESS_RATE = 0.8;
68
+ var HIGH_SUCCESS_RATE = 0.9;
69
+ var MIN_USES_FOR_PROMOTION = 10;
70
+ async function runSkillRefinement() {
71
+ const client = getClient();
72
+ const now = (/* @__PURE__ */ new Date()).toISOString();
73
+ const result = {
74
+ reviewed: 0,
75
+ flaggedLowSuccess: 0,
76
+ boostedConfidence: 0,
77
+ promotedToIdentity: 0
78
+ };
79
+ const rows = await client.execute({
80
+ sql: `SELECT id, agent_id, content, use_count, success_count, last_refined_at, project_name
81
+ FROM behaviors
82
+ WHERE domain = 'skill' AND active = 1 AND use_count >= ?`,
83
+ args: [MIN_USES_FOR_REVIEW]
84
+ });
85
+ for (const rawRow of rows.rows) {
86
+ const row = rawRow;
87
+ result.reviewed++;
88
+ const successRate = row.use_count > 0 ? row.success_count / row.use_count : 0;
89
+ if (successRate < LOW_SUCCESS_RATE) {
90
+ result.flaggedLowSuccess++;
91
+ const { writeMemory } = await import("./lib/store.js");
92
+ await writeMemory({
93
+ id: crypto.randomUUID(),
94
+ agent_id: row.agent_id,
95
+ agent_role: "",
96
+ session_id: "",
97
+ timestamp: now,
98
+ tool_name: "skill-refinement",
99
+ project_name: row.project_name ?? "",
100
+ has_error: false,
101
+ raw_text: `SKILL REVIEW NEEDED: "${row.content.slice(0, 100)}..." has ${Math.round(successRate * 100)}% success rate (${row.success_count}/${row.use_count} uses). Consider revising or deactivating.`,
102
+ vector: null,
103
+ memory_type: "observation"
104
+ });
105
+ await client.execute({
106
+ sql: `UPDATE behaviors SET last_refined_at = ?, updated_at = ? WHERE id = ?`,
107
+ args: [now, now, row.id]
108
+ });
109
+ } else if (row.use_count >= MIN_USES_FOR_PROMOTION && successRate > HIGH_SUCCESS_RATE) {
110
+ result.promotedToIdentity++;
111
+ try {
112
+ const { getIdentity, updateIdentity } = await import("./lib/identity.js");
113
+ const identity = await getIdentity(row.agent_id);
114
+ if (identity) {
115
+ const promotionBlock = `
116
+
117
+ ## Promoted Skill (auto-promoted ${now.split("T")[0]})
118
+ ${row.content}`;
119
+ await updateIdentity(row.agent_id, identity + promotionBlock, "skill-refinement");
120
+ }
121
+ await client.execute({
122
+ sql: `UPDATE behaviors SET active = 0, last_refined_at = ?, updated_at = ? WHERE id = ?`,
123
+ args: [now, now, row.id]
124
+ });
125
+ const { writeMemory: writePromoMemory } = await import("./lib/store.js");
126
+ await writePromoMemory({
127
+ id: crypto.randomUUID(),
128
+ agent_id: row.agent_id,
129
+ agent_role: "",
130
+ session_id: "",
131
+ timestamp: now,
132
+ tool_name: "skill-refinement",
133
+ project_name: row.project_name ?? "",
134
+ has_error: false,
135
+ raw_text: `SKILL PROMOTED TO IDENTITY: "${row.content.slice(0, 100)}..." \u2014 ${row.success_count}/${row.use_count} uses (${Math.round(successRate * 100)}% success). Deactivated as behavior, appended to identity.`,
136
+ vector: null,
137
+ memory_type: "decision"
138
+ });
139
+ } catch (err) {
140
+ process.stderr.write(
141
+ `[skill-refinement] Failed to promote skill ${row.id}: ${err instanceof Error ? err.message : String(err)}
142
+ `
143
+ );
144
+ }
145
+ } else if (successRate > HIGH_SUCCESS_RATE) {
146
+ result.boostedConfidence++;
147
+ await client.execute({
148
+ sql: `UPDATE behaviors SET priority = 'p0', last_refined_at = ?, updated_at = ? WHERE id = ? AND priority != 'p0'`,
149
+ args: [now, now, row.id]
150
+ });
151
+ }
152
+ }
153
+ return result;
154
+ }
155
+ export {
156
+ incrementSkillSuccess,
157
+ incrementSkillUsage,
158
+ runSkillRefinement
159
+ };
@@ -0,0 +1,84 @@
1
+ import {
2
+ ProgressReporter,
3
+ assertBreakingChangesAllowed,
4
+ assertDeploymentScopeAllowed,
5
+ assertHostReadyForApply,
6
+ assertProductionDeployGate,
7
+ bootstrapStackHost,
8
+ buildDefaultServiceSelection,
9
+ canonicalizeStackManifest,
10
+ collectImageAvailabilityIssues,
11
+ collectProductionDeployGateIssues,
12
+ createStackUpdatePlan,
13
+ defaultStackPaths,
14
+ detectDanglingVolumes,
15
+ detectMissingRequiredEnvVars,
16
+ filterServicesBySelection,
17
+ findLatestBackupEnvFile,
18
+ hardenHost,
19
+ listAvailableVersions,
20
+ loadServiceSelection,
21
+ loadStackManifest,
22
+ pairMonitorAgent,
23
+ parseEnv,
24
+ parseRequiredEnvRefs,
25
+ parseStackManifest,
26
+ patchEnv,
27
+ printDanglingVolumes,
28
+ printVolumeCleanupResult,
29
+ readCurrentStackVersion,
30
+ removeDanglingVolumes,
31
+ resolveServiceHealthTimeout,
32
+ rollbackStackUpdate,
33
+ runStackUpdate,
34
+ saveServiceSelection,
35
+ serviceSelectionPath,
36
+ verifyComposeServicesRunning,
37
+ verifyManifestImagesAvailable,
38
+ verifyReleaseHealth,
39
+ verifyStackManifestSignature
40
+ } from "./chunk-WHIXIFHC.js";
41
+ import "./chunk-YTKVJJSU.js";
42
+ import "./chunk-R36FAN53.js";
43
+ import "./chunk-LYH5HE24.js";
44
+ import "./chunk-MLKGABMK.js";
45
+ export {
46
+ ProgressReporter,
47
+ assertBreakingChangesAllowed,
48
+ assertDeploymentScopeAllowed,
49
+ assertHostReadyForApply,
50
+ assertProductionDeployGate,
51
+ bootstrapStackHost,
52
+ buildDefaultServiceSelection,
53
+ canonicalizeStackManifest,
54
+ collectImageAvailabilityIssues,
55
+ collectProductionDeployGateIssues,
56
+ createStackUpdatePlan,
57
+ defaultStackPaths,
58
+ detectDanglingVolumes,
59
+ detectMissingRequiredEnvVars,
60
+ filterServicesBySelection,
61
+ findLatestBackupEnvFile,
62
+ hardenHost,
63
+ listAvailableVersions,
64
+ loadServiceSelection,
65
+ loadStackManifest,
66
+ pairMonitorAgent,
67
+ parseEnv,
68
+ parseRequiredEnvRefs,
69
+ parseStackManifest,
70
+ patchEnv,
71
+ printDanglingVolumes,
72
+ printVolumeCleanupResult,
73
+ readCurrentStackVersion,
74
+ removeDanglingVolumes,
75
+ resolveServiceHealthTimeout,
76
+ rollbackStackUpdate,
77
+ runStackUpdate,
78
+ saveServiceSelection,
79
+ serviceSelectionPath,
80
+ verifyComposeServicesRunning,
81
+ verifyManifestImagesAvailable,
82
+ verifyReleaseHealth,
83
+ verifyStackManifestSignature
84
+ };
@@ -0,0 +1,15 @@
1
+ import {
2
+ StewardGate
3
+ } from "./chunk-MN2B2LKS.js";
4
+ import "./chunk-WUKHLCBE.js";
5
+ import "./chunk-2I23RPSI.js";
6
+ import "./chunk-2E43UXRH.js";
7
+ import "./chunk-PNQDP3OA.js";
8
+ import "./chunk-7HLWBYH7.js";
9
+ import "./chunk-FXU7JOXK.js";
10
+ import "./chunk-R36FAN53.js";
11
+ import "./chunk-LYH5HE24.js";
12
+ import "./chunk-MLKGABMK.js";
13
+ export {
14
+ StewardGate
15
+ };