@askexenow/exe-os 0.9.235 → 0.9.237

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 (233) hide show
  1. package/dist/{active-agent-JD6BCCFZ.js → active-agent-6WX7GZBH.js} +3 -3
  2. package/dist/{active-agent-RCXBLWQS.js → active-agent-X3GALNAR.js} +3 -3
  3. package/dist/{agentic-ontology-PAYLA3Q6.js → agentic-ontology-NBU3FHEX.js} +1 -1
  4. package/dist/{backfill-metadata-42OHVO74.js → backfill-metadata-NG2L5GUP.js} +4 -4
  5. package/dist/behavior-effectiveness-UP76GMOC.js +344 -0
  6. package/dist/{behaviors-I7JQLV6G.js → behaviors-DH7XFONJ.js} +3 -3
  7. package/dist/bin/agentic-ontology-backfill.js +5 -5
  8. package/dist/bin/agentic-reflection-backfill.js +6 -6
  9. package/dist/bin/agentic-semantic-label.js +5 -5
  10. package/dist/bin/backfill-conversations.js +4 -4
  11. package/dist/bin/backfill-responses.js +4 -4
  12. package/dist/bin/backfill-vectors.js +5 -5
  13. package/dist/bin/bulk-sync-postgres.js +6 -6
  14. package/dist/bin/cleanup-stale-review-tasks.js +9 -9
  15. package/dist/bin/cli.js +15 -15
  16. package/dist/bin/exe-agent-config.js +2 -2
  17. package/dist/bin/exe-agent.js +9 -9
  18. package/dist/bin/exe-assign.js +5 -5
  19. package/dist/bin/exe-boot.js +17 -17
  20. package/dist/bin/exe-call.js +5 -5
  21. package/dist/bin/exe-cloud.js +4 -4
  22. package/dist/bin/exe-dispatch.js +9 -9
  23. package/dist/bin/exe-doctor.js +1 -1
  24. package/dist/bin/exe-export-behaviors.js +7 -7
  25. package/dist/bin/exe-forget.js +6 -6
  26. package/dist/bin/exe-gateway.js +7 -7
  27. package/dist/bin/exe-heartbeat.js +9 -9
  28. package/dist/bin/exe-kill.js +12 -12
  29. package/dist/bin/exe-launch-agent.js +17 -17
  30. package/dist/bin/exe-new-employee.js +7 -7
  31. package/dist/bin/exe-pending-messages.js +10 -10
  32. package/dist/bin/exe-pending-notifications.js +9 -9
  33. package/dist/bin/exe-pending-reviews.js +9 -9
  34. package/dist/bin/exe-rename.js +5 -5
  35. package/dist/bin/exe-review.js +11 -11
  36. package/dist/bin/exe-search.js +5 -5
  37. package/dist/bin/exe-session-cleanup.js +14 -14
  38. package/dist/bin/exe-settings.js +4 -4
  39. package/dist/bin/exe-start-codex.js +11 -11
  40. package/dist/bin/exe-start-opencode.js +8 -8
  41. package/dist/bin/exe-status.js +10 -10
  42. package/dist/bin/exe-team.js +3 -3
  43. package/dist/bin/git-sweep.js +9 -9
  44. package/dist/bin/graph-backfill.js +4 -4
  45. package/dist/bin/graph-export.js +5 -5
  46. package/dist/bin/import-history.js +7 -7
  47. package/dist/bin/install.js +6 -6
  48. package/dist/bin/intercom-check.js +4 -4
  49. package/dist/bin/mcp-sessions.js +2 -2
  50. package/dist/bin/orchestration-metrics.js +4 -4
  51. package/dist/bin/postgres-agentic-reflection-backfill.js +2 -2
  52. package/dist/bin/postgres-agentic-semantic-backfill.js +1 -1
  53. package/dist/bin/pre-publish.js +1 -1
  54. package/dist/bin/scan-tasks.js +9 -9
  55. package/dist/bin/setup.js +1 -1
  56. package/dist/bin/shard-migrate.js +4 -4
  57. package/dist/{capacity-monitor-S5VVRWNX.js → capacity-monitor-KAKNWAA4.js} +10 -10
  58. package/dist/{catchup-brief-QHZWZPDK.js → catchup-brief-RZF7HEYB.js} +11 -11
  59. package/dist/{chunk-VTLUUTWI.js → chunk-2LYJTK47.js} +40 -1
  60. package/dist/{chunk-MJMJMHFC.js → chunk-2O5GJFYQ.js} +1 -1
  61. package/dist/{chunk-G2Q2QELX.js → chunk-2VXHPSIJ.js} +1 -1
  62. package/dist/{chunk-CFHTPEIC.js → chunk-3JVO6X4W.js} +1 -1
  63. package/dist/{chunk-Y2PQS2GI.js → chunk-3NYRIK73.js} +2 -2
  64. package/dist/{chunk-ZKFW6ZV3.js → chunk-4HMKJDPB.js} +3 -3
  65. package/dist/{chunk-5NIUTWV4.js → chunk-5KDROSDV.js} +1 -1
  66. package/dist/{chunk-5SYO2FD7.js → chunk-627ZOPZQ.js} +64 -12
  67. package/dist/{chunk-2V3TDLQ2.js → chunk-7LIXU3TB.js} +8 -8
  68. package/dist/{chunk-4TFOQEM7.js → chunk-7PVUUC3O.js} +5 -5
  69. package/dist/{chunk-2GFZSEST.js → chunk-AYBC6AYP.js} +8 -8
  70. package/dist/{chunk-YVN2WG5T.js → chunk-BTPXNV5W.js} +1 -1
  71. package/dist/{chunk-Z7A6DTIN.js → chunk-CJEVAKKC.js} +2 -2
  72. package/dist/{chunk-J2QQMTCD.js → chunk-COMWI7SO.js} +1 -1
  73. package/dist/{chunk-5GN363L5.js → chunk-ENQIADYO.js} +479 -149
  74. package/dist/{chunk-JQUFMZHI.js → chunk-ENWFSMOS.js} +19 -10
  75. package/dist/{chunk-CKTFH5RQ.js → chunk-ES5JM6V2.js} +2 -2
  76. package/dist/{chunk-NUYXOC4J.js → chunk-FQJWTRCB.js} +1 -1
  77. package/dist/{chunk-XORJOW4J.js → chunk-G67R75DG.js} +1 -1
  78. package/dist/{chunk-LWCQXP6U.js → chunk-GXU3XRI5.js} +3 -3
  79. package/dist/{chunk-5XAAMTTY.js → chunk-HFYCKIVJ.js} +2 -2
  80. package/dist/{chunk-TN4H5D45.js → chunk-HUVSY6NF.js} +2 -2
  81. package/dist/{chunk-CNCTKOX2.js → chunk-IDCJNL7C.js} +1 -1
  82. package/dist/{chunk-ZOPLM7G3.js → chunk-IQNT6KAE.js} +1 -1
  83. package/dist/{chunk-XPRYBSMJ.js → chunk-JBMZS5WO.js} +1 -1
  84. package/dist/{chunk-BWHBPDYB.js → chunk-JBUHOWIV.js} +1 -1
  85. package/dist/{chunk-2QRT6G4V.js → chunk-JHFXCYZP.js} +1 -1
  86. package/dist/{chunk-EYMTIOBH.js → chunk-JLHSEBNQ.js} +3 -3
  87. package/dist/{chunk-5NFBE376.js → chunk-K77WC6HA.js} +12 -0
  88. package/dist/{chunk-LWQ3PFSR.js → chunk-KRLR26L2.js} +2 -2
  89. package/dist/{chunk-2EBKU2XN.js → chunk-KWH6H64R.js} +145 -3
  90. package/dist/{chunk-SAVQLE3L.js → chunk-LUCHTCME.js} +1 -1
  91. package/dist/{chunk-VXVI75ED.js → chunk-LXP6VRFH.js} +1 -1
  92. package/dist/{chunk-OMHTKVHC.js → chunk-MPG2FFQS.js} +1 -1
  93. package/dist/{chunk-T7NGFQNB.js → chunk-N4IJWOIS.js} +2 -2
  94. package/dist/{chunk-PJPPO6EF.js → chunk-NCJNGQUZ.js} +1 -1
  95. package/dist/{chunk-2UD2P2LO.js → chunk-NJS4GRIR.js} +1 -1
  96. package/dist/{chunk-MQVA77HS.js → chunk-NQU2RTCP.js} +8 -8
  97. package/dist/{chunk-LSD6SHBJ.js → chunk-NS7FW3NG.js} +2 -2
  98. package/dist/{chunk-SL7SYDNI.js → chunk-PQBANSH6.js} +2 -2
  99. package/dist/{chunk-KZU2ZG6R.js → chunk-Q4MZN62R.js} +3 -3
  100. package/dist/{chunk-MDE2ZNWZ.js → chunk-QQFZID36.js} +1 -1
  101. package/dist/{chunk-ERZDN63F.js → chunk-QXKWSRUZ.js} +9 -9
  102. package/dist/{chunk-Q4GHOMRW.js → chunk-RM6PJ34R.js} +1 -1
  103. package/dist/{chunk-HLWU3NEV.js → chunk-RXGTA6YQ.js} +3 -3
  104. package/dist/{chunk-IJCGZ36F.js → chunk-T3ASODFG.js} +3 -3
  105. package/dist/{chunk-4CPXB27E.js → chunk-UISUGXJU.js} +1 -1
  106. package/dist/{chunk-4DIB3GXJ.js → chunk-VEU6LVBR.js} +1 -1
  107. package/dist/{chunk-RP7BANLZ.js → chunk-VK5IBXXT.js} +5 -5
  108. package/dist/{chunk-WJH6IM7Q.js → chunk-WQCSGDRG.js} +1 -1
  109. package/dist/{chunk-ALVMBSU3.js → chunk-WQXJIMBO.js} +2 -2
  110. package/dist/{chunk-3I2EA54D.js → chunk-XCGJPZ6H.js} +2 -2
  111. package/dist/{chunk-65AEKCC2.js → chunk-YDG343II.js} +4 -3
  112. package/dist/{chunk-L6LDDOYW.js → chunk-YENDNLAD.js} +1 -1
  113. package/dist/{chunk-QUTBXURR.js → chunk-YUQ7GGAL.js} +4 -3
  114. package/dist/{chunk-LNH5BL3I.js → chunk-YUS7IS3I.js} +8 -8
  115. package/dist/{chunk-4TKI4VW7.js → chunk-ZZBOV6WA.js} +4 -4
  116. package/dist/{co-activation-XS7CDNIK.js → co-activation-OCQPRJ2I.js} +2 -2
  117. package/dist/{co-occurrence-R5D6WB4A.js → co-occurrence-S62AC2BR.js} +2 -2
  118. package/dist/{crdt-sync-NEINCZF7.js → crdt-sync-VS254UOH.js} +1 -1
  119. package/dist/{crm-webhook-MMMSL3YF.js → crm-webhook-CST5WBNY.js} +2 -2
  120. package/dist/{cto-delegation-gate-VBGJULVJ.js → cto-delegation-gate-2PY563OA.js} +8 -8
  121. package/dist/{daemon-orchestration-V7THLPEZ.js → daemon-orchestration-P34RDHTM.js} +11 -11
  122. package/dist/{db-backup-C44Q44WQ.js → db-backup-JEHRFLYW.js} +1 -1
  123. package/dist/{dreaming-YKXGUTVR.js → dreaming-WIBDVAED.js} +3 -3
  124. package/dist/{exe-drift-B5ZMICND.js → exe-drift-DOWP33NY.js} +3 -3
  125. package/dist/{exe-export-6YZOWOON.js → exe-export-QCB5UOXQ.js} +6 -6
  126. package/dist/{exe-import-6SLISBOQ.js → exe-import-JHFIXRB5.js} +6 -6
  127. package/dist/{exe-key-PZBD646Y.js → exe-key-EAQDAUPT.js} +2 -2
  128. package/dist/{exe-snapshot-3BUMC3XW.js → exe-snapshot-RKMMV52M.js} +6 -6
  129. package/dist/{fast-db-init-L66PVC3N.js → fast-db-init-PTUUO2IO.js} +1 -1
  130. package/dist/gateway/index.js +8 -8
  131. package/dist/{git-staleness-DFHISHY2.js → git-staleness-5SFBUMPC.js} +2 -2
  132. package/dist/{git-task-sweep-2QZU6PCS.js → git-task-sweep-XMK5IQXK.js} +9 -9
  133. package/dist/{global-procedures-45Z53UIF.js → global-procedures-W4U257TI.js} +4 -4
  134. package/dist/{graph-auto-extract-I37N7WQN.js → graph-auto-extract-5ZD4AUSB.js} +2 -2
  135. package/dist/hooks/bug-report-worker.js +10 -10
  136. package/dist/hooks/codex-stop-task-finalizer.js +10 -10
  137. package/dist/hooks/commit-complete.js +11 -11
  138. package/dist/hooks/error-recall.js +6 -6
  139. package/dist/hooks/exe-heartbeat-hook.js +3 -3
  140. package/dist/hooks/ingest.js +6 -6
  141. package/dist/hooks/instructions-loaded.js +4 -4
  142. package/dist/hooks/manifest.json +19 -19
  143. package/dist/hooks/notification.js +4 -4
  144. package/dist/hooks/post-compact.js +10 -10
  145. package/dist/hooks/post-tool-combined.js +21 -4
  146. package/dist/hooks/pre-compact.js +11 -11
  147. package/dist/hooks/pre-tool-use.js +18 -30
  148. package/dist/hooks/prompt-submit.js +20 -20
  149. package/dist/hooks/session-end.js +28 -15
  150. package/dist/hooks/session-start.js +10 -10
  151. package/dist/hooks/stop.js +14 -14
  152. package/dist/hooks/subagent-stop.js +10 -10
  153. package/dist/hooks/summary-worker.js +14 -14
  154. package/dist/index.js +18 -18
  155. package/dist/{installer-SCPRAYJN.js → installer-2HULECDJ.js} +5 -5
  156. package/dist/{installer-OSIEPXXH.js → installer-BCOJG2SE.js} +5 -5
  157. package/dist/{installer-3MSU3GSG.js → installer-N5XZAFE4.js} +5 -5
  158. package/dist/investigation-tracker-WSCY4XBP.js +410 -0
  159. package/dist/lib/cloud-sync.js +4 -4
  160. package/dist/lib/consolidation.js +5 -5
  161. package/dist/lib/database.js +2 -2
  162. package/dist/lib/db.js +2 -2
  163. package/dist/lib/employee-templates.js +5 -5
  164. package/dist/lib/employees.js +2 -2
  165. package/dist/lib/exe-daemon.js +30 -30
  166. package/dist/lib/hybrid-search.js +5 -5
  167. package/dist/lib/identity.js +2 -2
  168. package/dist/lib/messaging.js +9 -9
  169. package/dist/lib/reminders.js +3 -3
  170. package/dist/lib/schedules.js +5 -5
  171. package/dist/lib/session-registry.js +4 -4
  172. package/dist/lib/skill-learning.js +4 -4
  173. package/dist/lib/store.js +4 -4
  174. package/dist/lib/task-router.js +3 -3
  175. package/dist/lib/tasks.js +9 -9
  176. package/dist/lib/tmux-routing.js +8 -8
  177. package/dist/lib/token-spend.js +3 -3
  178. package/dist/mcp/register-tools.js +52 -52
  179. package/dist/mcp/server.js +53 -53
  180. package/dist/mcp/tools/complete-reminder.js +4 -4
  181. package/dist/mcp/tools/create-reminder.js +4 -4
  182. package/dist/mcp/tools/create-task.js +11 -11
  183. package/dist/mcp/tools/deactivate-behavior.js +5 -5
  184. package/dist/mcp/tools/list-reminders.js +4 -4
  185. package/dist/mcp/tools/list-tasks.js +11 -11
  186. package/dist/mcp/tools/send-message.js +11 -11
  187. package/dist/mcp/tools/update-task.js +10 -10
  188. package/dist/{mcp-http-config-KBPJ4QNG.js → mcp-http-config-RTXPLRH5.js} +3 -3
  189. package/dist/{memory-cards-ICBAONHA.js → memory-cards-3FBGRV6J.js} +2 -2
  190. package/dist/{memory-graph-extractor-B33AXVOW.js → memory-graph-extractor-5D3FU5N5.js} +3 -3
  191. package/dist/{memory-poisoning-defense-KNQGXMQ2.js → memory-poisoning-defense-P6GL2RMF.js} +2 -2
  192. package/dist/{memory-reflection-H6WTTBDO.js → memory-reflection-5CVV2M3G.js} +2 -2
  193. package/dist/{notifications-KAZF7SNO.js → notifications-NV54INLG.js} +8 -8
  194. package/dist/{orchestration-events-PCGTHJ67.js → orchestration-events-TEYCD6GO.js} +3 -3
  195. package/dist/{orchestrator-GHAI42OK.js → orchestrator-JCNHGP6M.js} +10 -10
  196. package/dist/{pipeline-router-4JKKNJI2.js → pipeline-router-IX635D3U.js} +3 -3
  197. package/dist/{plan-limits-4JH2GWCP.js → plan-limits-H65VL6LC.js} +3 -3
  198. package/dist/{project-boot-QYOQXRZ2.js → project-boot-WMI6CWRX.js} +0 -1
  199. package/dist/{projection-worker-B4TWS2FX.js → projection-worker-JMGAPKH6.js} +1 -1
  200. package/dist/{reranker-EHMLOVRA.js → reranker-Y2RHN7TX.js} +1 -1
  201. package/dist/{review-polling-YEA52GYB.js → review-polling-SAQ24T6L.js} +9 -9
  202. package/dist/runtime/index.js +15 -15
  203. package/dist/{session-events-HMGXVXSQ.js → session-events-JNUK47KH.js} +9 -9
  204. package/dist/{session-kill-telemetry-6FDEUGO5.js → session-kill-telemetry-GLCDARKV.js} +3 -3
  205. package/dist/{session-scope-WKK56DKR.js → session-scope-UR7OFFOB.js} +8 -8
  206. package/dist/{setup-wizard-5O5OQOXH.js → setup-wizard-ZMYO7QKZ.js} +1 -1
  207. package/dist/{skill-refinement-OJVGVSNP.js → skill-refinement-WWWFGTUS.js} +2 -2
  208. package/dist/{steward-gate-H2VKZNW2.js → steward-gate-TAD7GEVL.js} +3 -3
  209. package/dist/{task-enforcement-CIFQHHKV.js → task-enforcement-2LI5KWFE.js} +8 -8
  210. package/dist/{task-scope-EX7IDCJU.js → task-scope-AYK6BVC7.js} +8 -8
  211. package/dist/{tasks-crud-IEKYIELP.js → tasks-crud-OD75EH2G.js} +8 -8
  212. package/dist/{tasks-review-2Y35RIEG.js → tasks-review-CC2EGWBL.js} +8 -8
  213. package/dist/{telemetry-upload-QTBI5CFE.js → telemetry-upload-NXRMUNSW.js} +128 -6
  214. package/dist/{token-budget-OQ6XR5EK.js → token-budget-6TK55BBU.js} +2 -2
  215. package/dist/{tool-telemetry-NKCCCPQJ.js → tool-telemetry-E7NWXX5R.js} +1 -1
  216. package/dist/tui/App.js +17 -17
  217. package/dist/{tui-data-ZTHWN4TU.js → tui-data-ROOXTJQ5.js} +8 -8
  218. package/dist/{worker-gate-PJMTVOTJ.js → worker-gate-MOQZ2D34.js} +1 -1
  219. package/dist/{workflow-engine-4G2GSWJZ.js → workflow-engine-4MQJI5F2.js} +2 -2
  220. package/dist/{worktree-W6OAHIBE.js → worktree-K2GDO4QX.js} +4 -4
  221. package/package.json +1 -1
  222. /package/dist/{chunk-KTZSPK6P.js → chunk-3SVQ5REQ.js} +0 -0
  223. /package/dist/{chunk-QRW3HU7V.js → chunk-A4TPCHMA.js} +0 -0
  224. /package/dist/{chunk-KTIV2FSO.js → chunk-BJOU5MBY.js} +0 -0
  225. /package/dist/{chunk-6HYAEYQ3.js → chunk-CGTWFEXX.js} +0 -0
  226. /package/dist/{chunk-SDKRRTP6.js → chunk-HFF6YG7R.js} +0 -0
  227. /package/dist/{chunk-N345XXAA.js → chunk-IAPFFVYR.js} +0 -0
  228. /package/dist/{chunk-VJ6HKJMQ.js → chunk-NNEYTOUS.js} +0 -0
  229. /package/dist/{chunk-WI7DZU5G.js → chunk-P2JDWX67.js} +0 -0
  230. /package/dist/{chunk-FUVINDE3.js → chunk-RX2KGETT.js} +0 -0
  231. /package/dist/{chunk-ARETQ22D.js → chunk-YGJTKLGM.js} +0 -0
  232. /package/dist/{core-memory-VWEANH4H.js → core-memory-67AVQ3Z7.js} +0 -0
  233. /package/dist/{wiki-acl-RMP5KXYK.js → wiki-acl-AR7RIMRY.js} +0 -0
@@ -6,8 +6,8 @@ import {
6
6
  setupGhostty,
7
7
  setupTmux,
8
8
  setupWezterm
9
- } from "../chunk-LWQ3PFSR.js";
10
- import "../chunk-Q4GHOMRW.js";
9
+ } from "../chunk-KRLR26L2.js";
10
+ import "../chunk-RM6PJ34R.js";
11
11
  import "../chunk-GNHN5HRQ.js";
12
12
  import {
13
13
  generateSessionWrappers
@@ -17,10 +17,10 @@ import {
17
17
  requestDeployRestart,
18
18
  updateMcpVersionMarker
19
19
  } from "../chunk-PWMMIGVQ.js";
20
- import "../chunk-WJH6IM7Q.js";
20
+ import "../chunk-WQCSGDRG.js";
21
21
  import "../chunk-HYZV25LY.js";
22
- import "../chunk-VTLUUTWI.js";
23
- import "../chunk-VJ6HKJMQ.js";
22
+ import "../chunk-2LYJTK47.js";
23
+ import "../chunk-NNEYTOUS.js";
24
24
  import "../chunk-FXU7JOXK.js";
25
25
  import "../chunk-TRZ5KA2R.js";
26
26
  import "../chunk-LYH5HE24.js";
@@ -393,7 +393,7 @@ if (args.includes("--commands-only")) {
393
393
  }
394
394
  try {
395
395
  execSync("which codex", { encoding: "utf8", timeout: 5e3 });
396
- const { runCodexInstaller } = await import("../installer-OSIEPXXH.js");
396
+ const { runCodexInstaller } = await import("../installer-BCOJG2SE.js");
397
397
  await runCodexInstaller();
398
398
  } catch {
399
399
  }
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-WI7DZU5G.js";
4
+ } from "../chunk-P2JDWX67.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
 
7
7
  // src/bin/intercom-check.ts
@@ -17,7 +17,7 @@ async function main() {
17
17
  }
18
18
  if (isCoordinator) {
19
19
  try {
20
- const { listPendingReviews, cleanupOrphanedReviews, formatAge, isStale } = await import("../tasks-review-2Y35RIEG.js");
20
+ const { listPendingReviews, cleanupOrphanedReviews, formatAge, isStale } = await import("../tasks-review-CC2EGWBL.js");
21
21
  const { extractRootExe } = await import("../lib/tmux-routing.js");
22
22
  let sessionScope = process.env.EXE_SESSION ? extractRootExe(process.env.EXE_SESSION) ?? void 0 : void 0;
23
23
  if (!sessionScope) {
@@ -94,7 +94,7 @@ async function main() {
94
94
  }
95
95
  if (!isCoordinator) {
96
96
  try {
97
- const { listBehaviors } = await import("../behaviors-I7JQLV6G.js");
97
+ const { listBehaviors } = await import("../behaviors-DH7XFONJ.js");
98
98
  const sessionStart = process.env.EXE_SESSION_START_ISO ?? "";
99
99
  if (sessionStart) {
100
100
  const behaviors = await listBehaviors(agent);
@@ -113,7 +113,7 @@ async function main() {
113
113
  }
114
114
  }
115
115
  try {
116
- const { readUnreadNotifications, markAsRead } = await import("../notifications-KAZF7SNO.js");
116
+ const { readUnreadNotifications, markAsRead } = await import("../notifications-NV54INLG.js");
117
117
  const { resolveExeSession } = await import("../lib/tmux-routing.js");
118
118
  const sessionScope = resolveExeSession();
119
119
  const notifications = await readUnreadNotifications(agent, sessionScope);
@@ -45,10 +45,10 @@ async function collectSessions() {
45
45
  const registryMap = new Map(registry.map((r) => [r.windowName, r]));
46
46
  const taskMap = /* @__PURE__ */ new Map();
47
47
  try {
48
- const { fastDbInit } = await import("../fast-db-init-L66PVC3N.js");
48
+ const { fastDbInit } = await import("../fast-db-init-PTUUO2IO.js");
49
49
  await fastDbInit();
50
50
  const { getClient } = await import("../lib/database.js");
51
- const { sessionScopeFilter } = await import("../task-scope-EX7IDCJU.js");
51
+ const { sessionScopeFilter } = await import("../task-scope-AYK6BVC7.js");
52
52
  const client = getClient();
53
53
  const scope = sessionScopeFilter();
54
54
  const result = await client.execute({
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  fastDbInit
4
- } from "../chunk-WI7DZU5G.js";
4
+ } from "../chunk-P2JDWX67.js";
5
5
  import {
6
6
  formatOrchestrationMetrics,
7
7
  getOrchestrationMetrics
8
- } from "../chunk-MJMJMHFC.js";
9
- import "../chunk-VTLUUTWI.js";
10
- import "../chunk-VJ6HKJMQ.js";
8
+ } from "../chunk-2O5GJFYQ.js";
9
+ import "../chunk-2LYJTK47.js";
10
+ import "../chunk-NNEYTOUS.js";
11
11
  import "../chunk-FXU7JOXK.js";
12
12
  import "../chunk-TRZ5KA2R.js";
13
13
  import "../chunk-LYH5HE24.js";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  buildReflectionCheckpoint
4
- } from "../chunk-4DIB3GXJ.js";
5
- import "../chunk-SDKRRTP6.js";
4
+ } from "../chunk-VEU6LVBR.js";
5
+ import "../chunk-HFF6YG7R.js";
6
6
  import {
7
7
  pgSslConfig
8
8
  } from "../chunk-EQSQ4HBW.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  inferSemanticLabel,
4
4
  stableId
5
- } from "../chunk-SDKRRTP6.js";
5
+ } from "../chunk-HFF6YG7R.js";
6
6
  import {
7
7
  pgSslConfig
8
8
  } from "../chunk-EQSQ4HBW.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  PLATFORM_PROCEDURES
4
- } from "../chunk-5NFBE376.js";
4
+ } from "../chunk-K77WC6HA.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
 
7
7
  // src/bin/pre-publish.ts
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  queryTaskRows
4
- } from "../chunk-JQUFMZHI.js";
5
- import "../chunk-XORJOW4J.js";
4
+ } from "../chunk-ENWFSMOS.js";
5
+ import "../chunk-G67R75DG.js";
6
6
  import "../chunk-QI4IXJN7.js";
7
7
  import "../chunk-4JERP7NT.js";
8
- import "../chunk-2UD2P2LO.js";
8
+ import "../chunk-NJS4GRIR.js";
9
9
  import "../chunk-MVW62NIZ.js";
10
10
  import "../chunk-OYNKIAVW.js";
11
11
  import "../chunk-CX6GL3ZJ.js";
12
- import "../chunk-MJMJMHFC.js";
12
+ import "../chunk-2O5GJFYQ.js";
13
13
  import "../chunk-6OJJF4WP.js";
14
14
  import "../chunk-NGP6LSV2.js";
15
- import "../chunk-VXVI75ED.js";
15
+ import "../chunk-LXP6VRFH.js";
16
16
  import {
17
17
  getSessionRuntime
18
18
  } from "../chunk-CVYC6DUW.js";
19
19
  import "../chunk-OPU3NYOO.js";
20
20
  import "../chunk-GJV3WDWM.js";
21
21
  import "../chunk-MP2AFCGL.js";
22
- import "../chunk-WJH6IM7Q.js";
22
+ import "../chunk-WQCSGDRG.js";
23
23
  import "../chunk-HYZV25LY.js";
24
- import "../chunk-VTLUUTWI.js";
25
- import "../chunk-VJ6HKJMQ.js";
24
+ import "../chunk-2LYJTK47.js";
25
+ import "../chunk-NNEYTOUS.js";
26
26
  import "../chunk-FXU7JOXK.js";
27
27
  import "../chunk-D5C56WO3.js";
28
28
  import "../chunk-TRZ5KA2R.js";
@@ -73,7 +73,7 @@ function checkMcpHealth() {
73
73
  }
74
74
  }
75
75
  async function scanFromDb(agentId, tmuxSession, projectName) {
76
- const { fastDbInit } = await import("../fast-db-init-L66PVC3N.js");
76
+ const { fastDbInit } = await import("../fast-db-init-PTUUO2IO.js");
77
77
  try {
78
78
  await fastDbInit();
79
79
  } catch (err) {
package/dist/bin/setup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runSetupWizard
4
- } from "../chunk-6HYAEYQ3.js";
4
+ } from "../chunk-CGTWFEXX.js";
5
5
  import "../chunk-KDJRFJDL.js";
6
6
  import "../chunk-TRZ5KA2R.js";
7
7
  import "../chunk-LYH5HE24.js";
@@ -8,15 +8,15 @@ import {
8
8
  import {
9
9
  disposeStore,
10
10
  initStore
11
- } from "../chunk-MQVA77HS.js";
11
+ } from "../chunk-NQU2RTCP.js";
12
12
  import "../chunk-CHCA3ZM2.js";
13
- import "../chunk-N345XXAA.js";
13
+ import "../chunk-IAPFFVYR.js";
14
14
  import "../chunk-F7LU65PQ.js";
15
15
  import "../chunk-MP2AFCGL.js";
16
16
  import {
17
17
  getClient
18
- } from "../chunk-VTLUUTWI.js";
19
- import "../chunk-VJ6HKJMQ.js";
18
+ } from "../chunk-2LYJTK47.js";
19
+ import "../chunk-NNEYTOUS.js";
20
20
  import "../chunk-FXU7JOXK.js";
21
21
  import {
22
22
  getMasterKey
@@ -8,28 +8,28 @@ import {
8
8
  isAtCapacity,
9
9
  isWithinRelaunchCooldown,
10
10
  pollCapacityDead
11
- } from "./chunk-4TFOQEM7.js";
12
- import "./chunk-5NIUTWV4.js";
13
- import "./chunk-JQUFMZHI.js";
14
- import "./chunk-XORJOW4J.js";
11
+ } from "./chunk-7PVUUC3O.js";
12
+ import "./chunk-5KDROSDV.js";
13
+ import "./chunk-ENWFSMOS.js";
14
+ import "./chunk-G67R75DG.js";
15
15
  import "./chunk-QI4IXJN7.js";
16
16
  import "./chunk-4JERP7NT.js";
17
- import "./chunk-2UD2P2LO.js";
17
+ import "./chunk-NJS4GRIR.js";
18
18
  import "./chunk-MVW62NIZ.js";
19
19
  import "./chunk-OYNKIAVW.js";
20
20
  import "./chunk-CX6GL3ZJ.js";
21
- import "./chunk-MJMJMHFC.js";
21
+ import "./chunk-2O5GJFYQ.js";
22
22
  import "./chunk-6OJJF4WP.js";
23
23
  import "./chunk-NGP6LSV2.js";
24
- import "./chunk-VXVI75ED.js";
24
+ import "./chunk-LXP6VRFH.js";
25
25
  import "./chunk-CVYC6DUW.js";
26
26
  import "./chunk-OPU3NYOO.js";
27
27
  import "./chunk-GJV3WDWM.js";
28
28
  import "./chunk-MP2AFCGL.js";
29
- import "./chunk-WJH6IM7Q.js";
29
+ import "./chunk-WQCSGDRG.js";
30
30
  import "./chunk-HYZV25LY.js";
31
- import "./chunk-VTLUUTWI.js";
32
- import "./chunk-VJ6HKJMQ.js";
31
+ import "./chunk-2LYJTK47.js";
32
+ import "./chunk-NNEYTOUS.js";
33
33
  import "./chunk-FXU7JOXK.js";
34
34
  import "./chunk-D5C56WO3.js";
35
35
  import "./chunk-TRZ5KA2R.js";
@@ -1,35 +1,35 @@
1
1
  import {
2
2
  lightweightSearch
3
- } from "./chunk-ERZDN63F.js";
4
- import "./chunk-MQVA77HS.js";
3
+ } from "./chunk-QXKWSRUZ.js";
4
+ import "./chunk-NQU2RTCP.js";
5
5
  import "./chunk-CHCA3ZM2.js";
6
- import "./chunk-N345XXAA.js";
6
+ import "./chunk-IAPFFVYR.js";
7
7
  import "./chunk-F7LU65PQ.js";
8
8
  import {
9
9
  sessionScopeFilter,
10
10
  strictSessionScopeFilter
11
- } from "./chunk-JQUFMZHI.js";
12
- import "./chunk-XORJOW4J.js";
11
+ } from "./chunk-ENWFSMOS.js";
12
+ import "./chunk-G67R75DG.js";
13
13
  import "./chunk-QI4IXJN7.js";
14
14
  import "./chunk-4JERP7NT.js";
15
- import "./chunk-2UD2P2LO.js";
15
+ import "./chunk-NJS4GRIR.js";
16
16
  import "./chunk-MVW62NIZ.js";
17
17
  import "./chunk-OYNKIAVW.js";
18
18
  import "./chunk-CX6GL3ZJ.js";
19
- import "./chunk-MJMJMHFC.js";
19
+ import "./chunk-2O5GJFYQ.js";
20
20
  import "./chunk-6OJJF4WP.js";
21
21
  import "./chunk-NGP6LSV2.js";
22
- import "./chunk-VXVI75ED.js";
22
+ import "./chunk-LXP6VRFH.js";
23
23
  import "./chunk-CVYC6DUW.js";
24
24
  import "./chunk-OPU3NYOO.js";
25
25
  import "./chunk-GJV3WDWM.js";
26
26
  import "./chunk-MP2AFCGL.js";
27
- import "./chunk-WJH6IM7Q.js";
27
+ import "./chunk-WQCSGDRG.js";
28
28
  import "./chunk-HYZV25LY.js";
29
29
  import {
30
30
  getClient
31
- } from "./chunk-VTLUUTWI.js";
32
- import "./chunk-VJ6HKJMQ.js";
31
+ } from "./chunk-2LYJTK47.js";
32
+ import "./chunk-NNEYTOUS.js";
33
33
  import "./chunk-FXU7JOXK.js";
34
34
  import "./chunk-KDJRFJDL.js";
35
35
  import "./chunk-D5C56WO3.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listBackups
3
- } from "./chunk-VJ6HKJMQ.js";
3
+ } from "./chunk-NNEYTOUS.js";
4
4
  import {
5
5
  EMBEDDING_DIM
6
6
  } from "./chunk-FXU7JOXK.js";
@@ -3421,6 +3421,45 @@ async function ensureSchema() {
3421
3421
  logCatchDebug("migration", e);
3422
3422
  }
3423
3423
  }
3424
+ await client.executeMultiple(`
3425
+ CREATE TABLE IF NOT EXISTS investigation_attempts (
3426
+ id TEXT PRIMARY KEY,
3427
+ session_id TEXT NOT NULL,
3428
+ task_id TEXT,
3429
+ agent_id TEXT NOT NULL,
3430
+ project_name TEXT,
3431
+ attempt_number INTEGER NOT NULL,
3432
+ investigation_key TEXT,
3433
+ hypothesis TEXT,
3434
+ confidence REAL,
3435
+ action_type TEXT,
3436
+ action_summary TEXT,
3437
+ verification_type TEXT,
3438
+ result TEXT NOT NULL,
3439
+ error_output TEXT,
3440
+ failure_category TEXT,
3441
+ lesson TEXT,
3442
+ timestamp TEXT NOT NULL,
3443
+ duration_ms INTEGER
3444
+ );
3445
+
3446
+ CREATE INDEX IF NOT EXISTS idx_investigation_session ON investigation_attempts(session_id);
3447
+ CREATE INDEX IF NOT EXISTS idx_investigation_agent ON investigation_attempts(agent_id);
3448
+ CREATE INDEX IF NOT EXISTS idx_investigation_key ON investigation_attempts(investigation_key);
3449
+ CREATE INDEX IF NOT EXISTS idx_investigation_result ON investigation_attempts(result);
3450
+ `);
3451
+ await client.executeMultiple(`
3452
+ CREATE TABLE IF NOT EXISTS behavior_attributions (
3453
+ id TEXT PRIMARY KEY,
3454
+ behavior_id TEXT NOT NULL,
3455
+ agent_id TEXT NOT NULL,
3456
+ investigation_key TEXT,
3457
+ attributed_at TEXT NOT NULL,
3458
+ FOREIGN KEY (behavior_id) REFERENCES behaviors(id)
3459
+ );
3460
+
3461
+ CREATE INDEX IF NOT EXISTS idx_attr_behavior ON behavior_attributions(behavior_id);
3462
+ `);
3424
3463
  try {
3425
3464
  await client.execute({
3426
3465
  sql: `CREATE TABLE IF NOT EXISTS co_activations (
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-VTLUUTWI.js";
3
+ } from "./chunk-2LYJTK47.js";
4
4
 
5
5
  // src/lib/orchestration-events.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  processCRMEvent
3
- } from "./chunk-QRW3HU7V.js";
3
+ } from "./chunk-A4TPCHMA.js";
4
4
 
5
5
  // src/gateway/adapters/crm-webhook.ts
6
6
  function parseTwentyWebhook(payload) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeAction,
3
3
  substituteTemplate
4
- } from "./chunk-QRW3HU7V.js";
4
+ } from "./chunk-A4TPCHMA.js";
5
5
 
6
6
  // src/automation/workflow-engine.ts
7
7
  import { randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-VTLUUTWI.js";
3
+ } from "./chunk-2LYJTK47.js";
4
4
 
5
5
  // src/lib/memory-graph-extractor.ts
6
6
  function entityId(type, name) {
@@ -247,7 +247,7 @@ async function upsertMemoryGraph(result, memoryId) {
247
247
  });
248
248
  }
249
249
  try {
250
- const { createCoOccurrenceEdges } = await import("./co-occurrence-R5D6WB4A.js");
250
+ const { createCoOccurrenceEdges } = await import("./co-occurrence-S62AC2BR.js");
251
251
  await createCoOccurrenceEdges(result.entities, memoryId);
252
252
  } catch {
253
253
  }
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  extractMemoryGraph
3
- } from "./chunk-Y2PQS2GI.js";
3
+ } from "./chunk-3NYRIK73.js";
4
4
  import {
5
5
  flushBatch,
6
6
  writeMemory
7
- } from "./chunk-MQVA77HS.js";
7
+ } from "./chunk-NQU2RTCP.js";
8
8
  import {
9
9
  extractKeywords
10
10
  } from "./chunk-CHCA3ZM2.js";
11
11
  import {
12
12
  getActiveAgent
13
- } from "./chunk-ZOPLM7G3.js";
13
+ } from "./chunk-IQNT6KAE.js";
14
14
 
15
15
  // src/mcp/tools/import-conversations.ts
16
16
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getClient
3
- } from "./chunk-VTLUUTWI.js";
3
+ } from "./chunk-2LYJTK47.js";
4
4
 
5
5
  // src/lib/session-kill-telemetry.ts
6
6
  import crypto from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isCrdtSyncEnabled
3
- } from "./chunk-FUVINDE3.js";
3
+ } from "./chunk-RX2KGETT.js";
4
4
  import {
5
5
  decryptSyncBlob,
6
6
  encryptSyncBlob,
@@ -12,7 +12,7 @@ import {
12
12
  loadEmployees,
13
13
  registerBinSymlinks,
14
14
  saveEmployees
15
- } from "./chunk-VTLUUTWI.js";
15
+ } from "./chunk-2LYJTK47.js";
16
16
  import {
17
17
  loadDeviceId
18
18
  } from "./chunk-D5C56WO3.js";
@@ -506,7 +506,7 @@ async function cloudSync(config) {
506
506
  let pulled = 0;
507
507
  if (pullResult.records.length > 0) {
508
508
  if (isCrdtSyncEnabled()) {
509
- const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-NEINCZF7.js");
509
+ const { initCrdtDoc, importExistingMemories, readAllMemories } = await import("./crdt-sync-VS254UOH.js");
510
510
  initCrdtDoc();
511
511
  importExistingMemories(
512
512
  pullResult.records.map((rec) => ({
@@ -935,7 +935,7 @@ async function cloudSync(config) {
935
935
  }
936
936
  const totalMemories = await countRows("SELECT COUNT(*) as cnt FROM memories WHERE status = 'active' OR status IS NULL");
937
937
  try {
938
- const { getLatestBackup } = await import("./db-backup-C44Q44WQ.js");
938
+ const { getLatestBackup } = await import("./db-backup-JEHRFLYW.js");
939
939
  const latestBackup = getLatestBackup();
940
940
  if (latestBackup) {
941
941
  const backupSize = statSync(latestBackup).size;
@@ -1431,9 +1431,14 @@ async function cloudPullGraphRAG(config) {
1431
1431
  );
1432
1432
  if (!data || data.length === 0) return { pulled: 0 };
1433
1433
  const blob = data[0];
1434
- const client = getClient();
1435
1434
  let pulled = 0;
1436
- if (blob.entities.length > 0) {
1435
+ let client = null;
1436
+ try {
1437
+ client = getClient();
1438
+ } catch {
1439
+ process.stderr.write("[cloud-sync] SQLite unavailable for GraphRAG pull \u2014 using PostgreSQL projection only\n");
1440
+ }
1441
+ if (client && blob.entities.length > 0) {
1437
1442
  const stmts = blob.entities.map((e) => ({
1438
1443
  sql: `INSERT OR IGNORE INTO entities (id, name, type, first_seen, last_seen, properties)
1439
1444
  VALUES (?, ?, ?, ?, ?, ?)`,
@@ -1442,7 +1447,7 @@ async function cloudPullGraphRAG(config) {
1442
1447
  await client.batch(stmts, "write");
1443
1448
  pulled += stmts.length;
1444
1449
  }
1445
- if (blob.relationships.length > 0) {
1450
+ if (client && blob.relationships.length > 0) {
1446
1451
  const stmts = blob.relationships.map((r) => ({
1447
1452
  sql: `INSERT OR IGNORE INTO relationships
1448
1453
  (id, source_entity_id, target_entity_id, type, weight, timestamp, properties, confidence, confidence_label)
@@ -1462,7 +1467,7 @@ async function cloudPullGraphRAG(config) {
1462
1467
  await client.batch(stmts, "write");
1463
1468
  pulled += stmts.length;
1464
1469
  }
1465
- if (blob.entity_aliases.length > 0) {
1470
+ if (client && blob.entity_aliases.length > 0) {
1466
1471
  const stmts = blob.entity_aliases.map((a) => ({
1467
1472
  sql: `INSERT OR IGNORE INTO entity_aliases (alias, canonical_entity_id) VALUES (?, ?)`,
1468
1473
  args: [sqlSafe(a.alias), sqlSafe(a.canonical_entity_id)]
@@ -1470,7 +1475,7 @@ async function cloudPullGraphRAG(config) {
1470
1475
  await client.batch(stmts, "write");
1471
1476
  pulled += stmts.length;
1472
1477
  }
1473
- if (blob.entity_memories.length > 0) {
1478
+ if (client && blob.entity_memories.length > 0) {
1474
1479
  const stmts = blob.entity_memories.map((em) => ({
1475
1480
  sql: `INSERT OR IGNORE INTO entity_memories (entity_id, memory_id) VALUES (?, ?)`,
1476
1481
  args: [sqlSafe(em.entity_id), sqlSafe(em.memory_id)]
@@ -1478,7 +1483,7 @@ async function cloudPullGraphRAG(config) {
1478
1483
  await client.batch(stmts, "write");
1479
1484
  pulled += stmts.length;
1480
1485
  }
1481
- if (blob.relationship_memories.length > 0) {
1486
+ if (client && blob.relationship_memories.length > 0) {
1482
1487
  const stmts = blob.relationship_memories.map((rm) => ({
1483
1488
  sql: `INSERT OR IGNORE INTO relationship_memories (relationship_id, memory_id) VALUES (?, ?)`,
1484
1489
  args: [sqlSafe(rm.relationship_id), sqlSafe(rm.memory_id)]
@@ -1486,7 +1491,7 @@ async function cloudPullGraphRAG(config) {
1486
1491
  await client.batch(stmts, "write");
1487
1492
  pulled += stmts.length;
1488
1493
  }
1489
- if (blob.hyperedges.length > 0) {
1494
+ if (client && blob.hyperedges.length > 0) {
1490
1495
  const stmts = blob.hyperedges.map((h) => ({
1491
1496
  sql: `INSERT OR IGNORE INTO hyperedges (id, label, relation, confidence, timestamp)
1492
1497
  VALUES (?, ?, ?, ?, ?)`,
@@ -1495,7 +1500,7 @@ async function cloudPullGraphRAG(config) {
1495
1500
  await client.batch(stmts, "write");
1496
1501
  pulled += stmts.length;
1497
1502
  }
1498
- if (blob.hyperedge_nodes.length > 0) {
1503
+ if (client && blob.hyperedge_nodes.length > 0) {
1499
1504
  const stmts = blob.hyperedge_nodes.map((hn) => ({
1500
1505
  sql: `INSERT OR IGNORE INTO hyperedge_nodes (hyperedge_id, entity_id) VALUES (?, ?)`,
1501
1506
  args: [sqlSafe(hn.hyperedge_id), sqlSafe(hn.entity_id)]
@@ -1503,6 +1508,53 @@ async function cloudPullGraphRAG(config) {
1503
1508
  await client.batch(stmts, "write");
1504
1509
  pulled += stmts.length;
1505
1510
  }
1511
+ const pgPromise = loadPgClient();
1512
+ if (pgPromise) {
1513
+ try {
1514
+ const pg = await pgPromise;
1515
+ const S = "graph";
1516
+ for (const e of blob.entities) {
1517
+ await pg.$executeRawUnsafe(
1518
+ `INSERT INTO ${S}.entities (id, name, type, first_seen, last_seen, properties)
1519
+ VALUES ($1::uuid, $2, $3, $4::timestamptz, $5::timestamptz, $6::jsonb)
1520
+ ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name, type = EXCLUDED.type,
1521
+ last_seen = EXCLUDED.last_seen, properties = EXCLUDED.properties`,
1522
+ e.id,
1523
+ e.name ?? "unknown",
1524
+ e.type ?? "unknown",
1525
+ e.first_seen ?? (/* @__PURE__ */ new Date()).toISOString(),
1526
+ e.last_seen ?? (/* @__PURE__ */ new Date()).toISOString(),
1527
+ e.properties ?? "{}"
1528
+ );
1529
+ }
1530
+ for (const r of blob.relationships) {
1531
+ await pg.$executeRawUnsafe(
1532
+ `INSERT INTO ${S}.relationships (id, source_entity_id, target_entity_id, type, confidence, properties)
1533
+ VALUES ($1::uuid, $2::uuid, $3::uuid, $4, $5, $6::jsonb)
1534
+ ON CONFLICT (id) DO NOTHING`,
1535
+ r.id,
1536
+ r.source_entity_id,
1537
+ r.target_entity_id,
1538
+ r.type ?? "related_to",
1539
+ r.confidence ?? 0.8,
1540
+ r.properties ?? "{}"
1541
+ );
1542
+ }
1543
+ for (const em of blob.entity_memories) {
1544
+ await pg.$executeRawUnsafe(
1545
+ `INSERT INTO ${S}.entity_memories (entity_id, memory_id)
1546
+ VALUES ($1::uuid, $2::uuid) ON CONFLICT DO NOTHING`,
1547
+ em.entity_id,
1548
+ em.memory_id
1549
+ );
1550
+ }
1551
+ process.stderr.write(`[cloud-sync] Projected ${blob.entities.length} entities + ${blob.relationships.length} relationships to PostgreSQL graph schema
1552
+ `);
1553
+ } catch (pgErr) {
1554
+ process.stderr.write(`[cloud-sync] PostgreSQL graph projection failed: ${pgErr instanceof Error ? pgErr.message : String(pgErr)}
1555
+ `);
1556
+ }
1557
+ }
1506
1558
  return { pulled };
1507
1559
  }
1508
1560
  async function cloudPushTasks(config) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  recordSessionKill
3
- } from "./chunk-5NIUTWV4.js";
3
+ } from "./chunk-5KDROSDV.js";
4
4
  import {
5
5
  updateTask
6
- } from "./chunk-RP7BANLZ.js";
6
+ } from "./chunk-VK5IBXXT.js";
7
7
  import {
8
8
  ensureEmployee,
9
9
  extractRootExe,
@@ -14,13 +14,13 @@ import {
14
14
  sessionScopeFilter,
15
15
  strictSessionScopeFilter,
16
16
  writeNotification
17
- } from "./chunk-JQUFMZHI.js";
17
+ } from "./chunk-ENWFSMOS.js";
18
18
  import {
19
19
  queueIntercom
20
20
  } from "./chunk-QI4IXJN7.js";
21
21
  import {
22
22
  listSessions
23
- } from "./chunk-2UD2P2LO.js";
23
+ } from "./chunk-NJS4GRIR.js";
24
24
  import {
25
25
  getTransport
26
26
  } from "./chunk-MVW62NIZ.js";
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-CX6GL3ZJ.js";
31
31
  import {
32
32
  recordOrchestrationEventBestEffort
33
- } from "./chunk-MJMJMHFC.js";
33
+ } from "./chunk-2O5GJFYQ.js";
34
34
  import {
35
35
  getAgentRuntime
36
36
  } from "./chunk-6OJJF4WP.js";
@@ -38,7 +38,7 @@ import {
38
38
  baseAgentName,
39
39
  isCoordinatorName,
40
40
  shouldAutoInstance
41
- } from "./chunk-VTLUUTWI.js";
41
+ } from "./chunk-2LYJTK47.js";
42
42
  import {
43
43
  loadConfigSync
44
44
  } from "./chunk-TRZ5KA2R.js";
@@ -1655,7 +1655,7 @@ async function reapOrphanedWorktrees(deps, nowMs = Date.now()) {
1655
1655
  }
1656
1656
  async function createWorktreeReaperRealDeps() {
1657
1657
  const { getPaneCwdAsync } = await import("./lib/tmux-status.js");
1658
- const { getGitRoot, isWorktreeDirty: isDirty } = await import("./worktree-W6OAHIBE.js");
1658
+ const { getGitRoot, isWorktreeDirty: isDirty } = await import("./worktree-K2GDO4QX.js");
1659
1659
  const { statSync: statSync2 } = await import("fs");
1660
1660
  const { basename } = await import("path");
1661
1661
  const { promisify } = await import("util");
@@ -1796,7 +1796,7 @@ async function gcStaleCheckpoints() {
1796
1796
  }
1797
1797
  async function pollTaskGroupBarriers() {
1798
1798
  try {
1799
- const { checkAndFireBarriers } = await import("./tasks-crud-IEKYIELP.js");
1799
+ const { checkAndFireBarriers } = await import("./tasks-crud-OD75EH2G.js");
1800
1800
  const firedGroupIds = await checkAndFireBarriers();
1801
1801
  if (firedGroupIds.length === 0) return 0;
1802
1802
  const { getClient } = await import("./lib/database.js");