agentix-cli 0.135.1 → 0.136.1

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 (173) hide show
  1. package/dist/{App-4UVAI5C5.js → App-D6W6IV2L.js} +2 -2
  2. package/dist/{ChatApp-COO67WIR.js → ChatApp-X7TNCFGW.js} +2 -2
  3. package/dist/{absorb-eval-YT5TOTC7.js → absorb-eval-COPVH2M2.js} +2 -2
  4. package/dist/{agent-DRUIMWF5.js → agent-TMTYLAOV.js} +2 -2
  5. package/dist/{board-dashboard-2524GN5N.js → board-dashboard-OSI4X5ZJ.js} +4 -4
  6. package/dist/{board-dashboard-2524GN5N.js.map → board-dashboard-OSI4X5ZJ.js.map} +1 -1
  7. package/dist/{chunk-SN7YH4E4.js → chunk-4AFA6LQZ.js} +2 -2
  8. package/dist/chunk-4ZWZ42YE.js +5 -0
  9. package/dist/{chunk-KXR6GVL7.js.map → chunk-4ZWZ42YE.js.map} +1 -1
  10. package/dist/{chunk-DYGQF3MI.js → chunk-54OORW5I.js} +2 -2
  11. package/dist/chunk-54OORW5I.js.map +1 -0
  12. package/dist/{chunk-TTG3ZW3W.js → chunk-5J5USW2O.js} +2 -2
  13. package/dist/{chunk-3XVST5XX.js → chunk-5X37CXJF.js} +2 -2
  14. package/dist/{chunk-3D5XUOBL.js → chunk-63LV77EG.js} +2 -2
  15. package/dist/{chunk-4XMALK7X.js → chunk-66DPMVUC.js} +2 -2
  16. package/dist/{chunk-SSQMFHSM.js → chunk-AK3XOA5N.js} +2 -2
  17. package/dist/chunk-AKWBDCMU.js +4 -0
  18. package/dist/chunk-AKWBDCMU.js.map +1 -0
  19. package/dist/{chunk-3F4GPRGQ.js → chunk-EGDY762K.js} +2 -2
  20. package/dist/{chunk-ZEAT2B5B.js → chunk-EVTTAM7S.js} +2 -2
  21. package/dist/{chunk-K445URSN.js → chunk-FQLSV2C4.js} +2 -2
  22. package/dist/{chunk-UXOGNBGL.js → chunk-FRTELYZ4.js} +2 -2
  23. package/dist/chunk-G26UHWS4.js +105 -0
  24. package/dist/chunk-G26UHWS4.js.map +1 -0
  25. package/dist/{chunk-FWDRBUMS.js → chunk-GL3H7XMI.js} +2 -2
  26. package/dist/{chunk-XOUO4XNA.js → chunk-HEJTE7OC.js} +2 -2
  27. package/dist/{chunk-QDWEM4DG.js → chunk-HZZW35FY.js} +2 -2
  28. package/dist/{chunk-RRGITX5B.js → chunk-IPMXIPTS.js} +2 -2
  29. package/dist/{chunk-UTW56K5I.js → chunk-KZXQD6ZK.js} +2 -2
  30. package/dist/{chunk-P3I7AATX.js → chunk-M5AHI2PZ.js} +2 -2
  31. package/dist/{chunk-WYEWNN76.js → chunk-NVZ66ITP.js} +6 -6
  32. package/dist/{chunk-ERULJ2ZL.js → chunk-OW5EXDVY.js} +2 -2
  33. package/dist/chunk-OWNQ2FD4.js +3 -0
  34. package/dist/chunk-OWNQ2FD4.js.map +1 -0
  35. package/dist/chunk-PE5V2LI7.js +2 -0
  36. package/dist/chunk-PE5V2LI7.js.map +1 -0
  37. package/dist/{chunk-32LIPTHM.js → chunk-PV623BLN.js} +3 -3
  38. package/dist/{chunk-R6ECKZLE.js → chunk-QHZFMO6M.js} +2 -2
  39. package/dist/{chunk-R6KLH34H.js → chunk-QW3L5IIC.js} +2 -2
  40. package/dist/chunk-U6EJ53DA.js +16 -0
  41. package/dist/chunk-U6EJ53DA.js.map +1 -0
  42. package/dist/{chunk-WEPON4FP.js → chunk-UNIXYV3U.js} +2 -2
  43. package/dist/{chunk-SMAI7U6H.js → chunk-VA24JS2S.js} +2 -2
  44. package/dist/{chunk-LUYN6RAC.js → chunk-WRJFKA43.js} +2 -2
  45. package/dist/{chunk-NG72DYJR.js → chunk-XXIZGNLT.js} +227 -227
  46. package/dist/chunk-XXIZGNLT.js.map +1 -0
  47. package/dist/cli.js +1 -1
  48. package/dist/{client-NFPBE6L4.js → client-SMOWSRJY.js} +2 -2
  49. package/dist/{config-GHMRBRDL.js → config-OGUDWYAA.js} +2 -2
  50. package/dist/{config-mutate-2XV27EFV.js → config-mutate-BH27TMWK.js} +2 -2
  51. package/dist/config-mutator-Q62AS2TR.js +2 -0
  52. package/dist/{contributions-ZD6ZGTJR.js → contributions-H6T65TCY.js} +2 -2
  53. package/dist/{contributions-ZD6ZGTJR.js.map → contributions-H6T65TCY.js.map} +1 -1
  54. package/dist/{doctor-UBXVMGJG.js → doctor-ZOXHT7ZQ.js} +2 -2
  55. package/dist/enrich-R2LIDLPZ.js +2 -0
  56. package/dist/event-levels-WOYYEWSZ.js +3 -0
  57. package/dist/event-levels-WOYYEWSZ.js.map +1 -0
  58. package/dist/fact-proposals-X2O4W7VN.js +2 -0
  59. package/dist/{follow-up-tool-EARVITTS.js → follow-up-tool-GUBBXNEZ.js} +2 -2
  60. package/dist/{grants-HIFE6L5N.js → grants-CEUGZBQ4.js} +2 -2
  61. package/dist/hub-7AMS6ADP.js +2 -0
  62. package/dist/index.d.ts +18 -1
  63. package/dist/index.js +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/ledger-P62U3FHT.js +2 -0
  66. package/dist/{program-WOQXOAYQ.js → program-IUUHETTV.js} +240 -238
  67. package/dist/program-IUUHETTV.js.map +1 -0
  68. package/dist/promote-VCNVE5JD.js +2 -0
  69. package/dist/{query-RRHYPXOM.js → query-6G27CBZQ.js} +2 -2
  70. package/dist/query-runs-VXS572PQ.js +6 -0
  71. package/dist/query-runs-VXS572PQ.js.map +1 -0
  72. package/dist/{query-settings-WKVLQEVZ.js → query-settings-G4M75LVQ.js} +2 -2
  73. package/dist/registry-MMNG5VZ6.js +2 -0
  74. package/dist/{request-planner-MFAIVLUQ.js → request-planner-T3VCZVVQ.js} +2 -2
  75. package/dist/{review-candidates-6WMDVVIZ.js → review-candidates-C3O3CENL.js} +2 -2
  76. package/dist/rotation-memo-store-Z4D5KRA6.js +2 -0
  77. package/dist/{rotation-memo-store-A4YW6FSK.js.map → rotation-memo-store-Z4D5KRA6.js.map} +1 -1
  78. package/dist/{routing-OPCLHIYW.js → routing-LD35TJM5.js} +2 -2
  79. package/dist/rules-UVUJTVOE.js +24 -0
  80. package/dist/rules-UVUJTVOE.js.map +1 -0
  81. package/dist/schedule-tool-46TVGEYU.js +2 -0
  82. package/dist/{scheduler-G3WWYETY.js → scheduler-I3QB4GI3.js} +2 -2
  83. package/dist/{seat-3HM4J7IX.js → seat-4Y3EW3KU.js} +2 -2
  84. package/dist/{select-VEFE2ESF.js → select-LZKN3FER.js} +2 -2
  85. package/dist/{set-enabled-US5BYKFZ.js → set-enabled-WSTOHJDE.js} +2 -2
  86. package/dist/{tool-HUSCHORN.js → tool-AKXO2EJU.js} +2 -2
  87. package/dist/tool-NLMIUOHR.js +4 -0
  88. package/dist/tool-NLMIUOHR.js.map +1 -0
  89. package/dist/wiki-ZQMDUXTE.js +2 -0
  90. package/dist/wiki-enrich-NPNOSTRM.js +2 -0
  91. package/dist/wiki-enrich-NPNOSTRM.js.map +1 -0
  92. package/package.json +1 -1
  93. package/dist/chunk-AKLZ4YO2.js +0 -4
  94. package/dist/chunk-AKLZ4YO2.js.map +0 -1
  95. package/dist/chunk-DYGQF3MI.js.map +0 -1
  96. package/dist/chunk-KA2UIZXG.js +0 -3
  97. package/dist/chunk-KA2UIZXG.js.map +0 -1
  98. package/dist/chunk-KXR6GVL7.js +0 -5
  99. package/dist/chunk-MUVE3UAS.js +0 -105
  100. package/dist/chunk-MUVE3UAS.js.map +0 -1
  101. package/dist/chunk-NG72DYJR.js.map +0 -1
  102. package/dist/config-mutator-6ITNU5DT.js +0 -2
  103. package/dist/enrich-EFIPWA3P.js +0 -16
  104. package/dist/enrich-EFIPWA3P.js.map +0 -1
  105. package/dist/event-levels-7CY7AJLY.js +0 -3
  106. package/dist/event-levels-7CY7AJLY.js.map +0 -1
  107. package/dist/fact-proposals-LZWS5KFO.js +0 -2
  108. package/dist/hub-MVX3U6A2.js +0 -2
  109. package/dist/ledger-CH7R756S.js +0 -2
  110. package/dist/program-WOQXOAYQ.js.map +0 -1
  111. package/dist/promote-X2XQEEQP.js +0 -2
  112. package/dist/query-runs-WYRNBLLC.js +0 -6
  113. package/dist/query-runs-WYRNBLLC.js.map +0 -1
  114. package/dist/registry-VXK36CCL.js +0 -2
  115. package/dist/rotation-memo-store-A4YW6FSK.js +0 -2
  116. package/dist/schedule-tool-KPVTMYL3.js +0 -2
  117. package/dist/tool-XLWLXGB5.js +0 -4
  118. package/dist/tool-XLWLXGB5.js.map +0 -1
  119. package/dist/wiki-QZ7XNAMJ.js +0 -2
  120. package/dist/wiki-enrich-PMG4T6PP.js +0 -2
  121. /package/dist/{App-4UVAI5C5.js.map → App-D6W6IV2L.js.map} +0 -0
  122. /package/dist/{ChatApp-COO67WIR.js.map → ChatApp-X7TNCFGW.js.map} +0 -0
  123. /package/dist/{absorb-eval-YT5TOTC7.js.map → absorb-eval-COPVH2M2.js.map} +0 -0
  124. /package/dist/{agent-DRUIMWF5.js.map → agent-TMTYLAOV.js.map} +0 -0
  125. /package/dist/{chunk-SN7YH4E4.js.map → chunk-4AFA6LQZ.js.map} +0 -0
  126. /package/dist/{chunk-TTG3ZW3W.js.map → chunk-5J5USW2O.js.map} +0 -0
  127. /package/dist/{chunk-3XVST5XX.js.map → chunk-5X37CXJF.js.map} +0 -0
  128. /package/dist/{chunk-3D5XUOBL.js.map → chunk-63LV77EG.js.map} +0 -0
  129. /package/dist/{chunk-4XMALK7X.js.map → chunk-66DPMVUC.js.map} +0 -0
  130. /package/dist/{chunk-SSQMFHSM.js.map → chunk-AK3XOA5N.js.map} +0 -0
  131. /package/dist/{chunk-3F4GPRGQ.js.map → chunk-EGDY762K.js.map} +0 -0
  132. /package/dist/{chunk-ZEAT2B5B.js.map → chunk-EVTTAM7S.js.map} +0 -0
  133. /package/dist/{chunk-K445URSN.js.map → chunk-FQLSV2C4.js.map} +0 -0
  134. /package/dist/{chunk-UXOGNBGL.js.map → chunk-FRTELYZ4.js.map} +0 -0
  135. /package/dist/{chunk-FWDRBUMS.js.map → chunk-GL3H7XMI.js.map} +0 -0
  136. /package/dist/{chunk-XOUO4XNA.js.map → chunk-HEJTE7OC.js.map} +0 -0
  137. /package/dist/{chunk-QDWEM4DG.js.map → chunk-HZZW35FY.js.map} +0 -0
  138. /package/dist/{chunk-RRGITX5B.js.map → chunk-IPMXIPTS.js.map} +0 -0
  139. /package/dist/{chunk-UTW56K5I.js.map → chunk-KZXQD6ZK.js.map} +0 -0
  140. /package/dist/{chunk-P3I7AATX.js.map → chunk-M5AHI2PZ.js.map} +0 -0
  141. /package/dist/{chunk-WYEWNN76.js.map → chunk-NVZ66ITP.js.map} +0 -0
  142. /package/dist/{chunk-ERULJ2ZL.js.map → chunk-OW5EXDVY.js.map} +0 -0
  143. /package/dist/{chunk-32LIPTHM.js.map → chunk-PV623BLN.js.map} +0 -0
  144. /package/dist/{chunk-R6ECKZLE.js.map → chunk-QHZFMO6M.js.map} +0 -0
  145. /package/dist/{chunk-R6KLH34H.js.map → chunk-QW3L5IIC.js.map} +0 -0
  146. /package/dist/{chunk-WEPON4FP.js.map → chunk-UNIXYV3U.js.map} +0 -0
  147. /package/dist/{chunk-SMAI7U6H.js.map → chunk-VA24JS2S.js.map} +0 -0
  148. /package/dist/{chunk-LUYN6RAC.js.map → chunk-WRJFKA43.js.map} +0 -0
  149. /package/dist/{client-NFPBE6L4.js.map → client-SMOWSRJY.js.map} +0 -0
  150. /package/dist/{config-GHMRBRDL.js.map → config-OGUDWYAA.js.map} +0 -0
  151. /package/dist/{config-mutate-2XV27EFV.js.map → config-mutate-BH27TMWK.js.map} +0 -0
  152. /package/dist/{config-mutator-6ITNU5DT.js.map → config-mutator-Q62AS2TR.js.map} +0 -0
  153. /package/dist/{doctor-UBXVMGJG.js.map → doctor-ZOXHT7ZQ.js.map} +0 -0
  154. /package/dist/{fact-proposals-LZWS5KFO.js.map → enrich-R2LIDLPZ.js.map} +0 -0
  155. /package/dist/{grants-HIFE6L5N.js.map → fact-proposals-X2O4W7VN.js.map} +0 -0
  156. /package/dist/{follow-up-tool-EARVITTS.js.map → follow-up-tool-GUBBXNEZ.js.map} +0 -0
  157. /package/dist/{hub-MVX3U6A2.js.map → grants-CEUGZBQ4.js.map} +0 -0
  158. /package/dist/{ledger-CH7R756S.js.map → hub-7AMS6ADP.js.map} +0 -0
  159. /package/dist/{promote-X2XQEEQP.js.map → ledger-P62U3FHT.js.map} +0 -0
  160. /package/dist/{query-RRHYPXOM.js.map → promote-VCNVE5JD.js.map} +0 -0
  161. /package/dist/{registry-VXK36CCL.js.map → query-6G27CBZQ.js.map} +0 -0
  162. /package/dist/{query-settings-WKVLQEVZ.js.map → query-settings-G4M75LVQ.js.map} +0 -0
  163. /package/dist/{routing-OPCLHIYW.js.map → registry-MMNG5VZ6.js.map} +0 -0
  164. /package/dist/{request-planner-MFAIVLUQ.js.map → request-planner-T3VCZVVQ.js.map} +0 -0
  165. /package/dist/{review-candidates-6WMDVVIZ.js.map → review-candidates-C3O3CENL.js.map} +0 -0
  166. /package/dist/{schedule-tool-KPVTMYL3.js.map → routing-LD35TJM5.js.map} +0 -0
  167. /package/dist/{scheduler-G3WWYETY.js.map → schedule-tool-46TVGEYU.js.map} +0 -0
  168. /package/dist/{seat-3HM4J7IX.js.map → scheduler-I3QB4GI3.js.map} +0 -0
  169. /package/dist/{wiki-QZ7XNAMJ.js.map → seat-4Y3EW3KU.js.map} +0 -0
  170. /package/dist/{select-VEFE2ESF.js.map → select-LZKN3FER.js.map} +0 -0
  171. /package/dist/{set-enabled-US5BYKFZ.js.map → set-enabled-WSTOHJDE.js.map} +0 -0
  172. /package/dist/{tool-HUSCHORN.js.map → tool-AKXO2EJU.js.map} +0 -0
  173. /package/dist/{wiki-enrich-PMG4T6PP.js.map → wiki-ZQMDUXTE.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t}from"./chunk-3D5XUOBL.js";import"./chunk-2AXFYDWF.js";import"./chunk-AQASR6KR.js";import"./chunk-MEFPXHQJ.js";import"./chunk-MUVE3UAS.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-ERULJ2ZL.js";import"./chunk-WPNRDEHW.js";import"./chunk-4XMALK7X.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-DYGQF3MI.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as DEFAULT_PROMOTE_TYPES,a as PROMOTER_OWNER,c as PROMOTION_LEDGER_FILE,j as appendPromotionLedger,s as approveProposal,n as callPromotionLlm,p as estimateTokens,r as evidenceFor,m as getUnpromotedMemories,k as groupCandidates,h as listAllAgentMemories,d as memoryKey,e as memoryStamp,g as mergeSources,f as parseMemoryStamp,l as parsePromotionResponse,i as readPromotionLedger,t as rejectProposal,o as runPromotion,q as sourceKind};
2
- //# sourceMappingURL=promote-X2XQEEQP.js.map
@@ -1,6 +0,0 @@
1
- import"./chunk-QIJLFPWE.js";import{appendFileSync as c,readFileSync as l,renameSync as y,statSync as m,writeFileSync as p}from"fs";var R="_query-runs.jsonl",g=1e6;function S(e){return e==="error"||e==="no-catalog"}function f(e,u,n=g){try{c(e,`${JSON.stringify(u)}
2
- `),m(e).size>n&&d(e,Math.floor(n/2))}catch{}}function d(e,u){let n=l(e,"utf-8").split(`
3
- `).filter(Boolean),a=[],i=0;for(let t=n.length-1;t>=0&&(i+=Buffer.byteLength(n[t])+1,!(i>u));t--)a.push(n[t]);let o=`${e}.${process.pid}.tmp`;p(o,a.reverse().map(t=>`${t}
4
- `).join("")),y(o,e)}async function b(e,u,n,a){let i=Date.now(),o=(t,r)=>f(e,{at:new Date().toISOString(),agent:u,status:t,method:r,source:n,wallMs:Date.now()-i});try{let t=await a();return o(t.status,t.method),t}catch(t){throw o("error"),t}}function h(e,u){let n=e.split(`
5
- `).filter(Boolean).flatMap(r=>{try{let s=JSON.parse(r);return s&&typeof s.status=="string"&&typeof s.at=="string"?[s]:[]}catch{return[]}}).filter(r=>!u||r.at>=u),a={},i={};for(let r of n){a[r.status]=(a[r.status]??0)+1;let s=r.source??"cli";i[s]=(i[s]??0)+1}let o=n.map(r=>Number(r.wallMs)||0).sort((r,s)=>r-s),t=r=>o.length?o[Math.min(o.length-1,Math.floor(r*o.length))]:0;return{total:n.length,failed:n.filter(r=>S(r.status)).length,byStatus:a,bySource:i,wallMsP50:t(.5),wallMsP95:t(.95)}}export{R as QUERY_RUNS_FILE,g as QUERY_RUNS_MAX_BYTES,S as queryFailed,f as recordQueryRun,h as summariseQueryRuns,b as timedQuery};
6
- //# sourceMappingURL=query-runs-WYRNBLLC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wiki/query-runs.ts"],"sourcesContent":["/**\n * `wiki query` outcomes, one line per query in `_query-runs.jsonl` (#603).\n *\n * A failed query used to print plain text and exit 0, so nothing counted\n * it. Each query now appends its status and timing here, and\n * `wiki query-runs` counts them. No question, answer or error text goes\n * in the file.\n */\nimport { appendFileSync, readFileSync, renameSync, statSync, writeFileSync } from \"fs\"\nimport type { AgenticQueryResult } from \"./query\"\n\nexport const QUERY_RUNS_FILE = \"_query-runs.jsonl\"\n\n/** Past this size the file is cut to its newest half, so it never grows without a limit. */\nexport const QUERY_RUNS_MAX_BYTES = 1_000_000\n\nexport type QueryStatus = AgenticQueryResult[\"status\"]\n\n/** Where the query came from: the `wiki query` command or the `agentx_wiki_query` tool. */\nexport type QuerySource = \"cli\" | \"tool\"\n\nexport interface QueryRunRecord {\n at: string\n agent: string\n status: QueryStatus\n method?: string\n /** Missing on lines written before the tool was counted; those came from the CLI. */\n source?: QuerySource\n wallMs: number\n}\n\n/** Statuses that mean the query could not run, not that the wiki had no answer. */\nexport function queryFailed(status: QueryStatus): boolean {\n return status === \"error\" || status === \"no-catalog\"\n}\n\n/** Append one record. Never throws: logging must not fail a query. */\nexport function recordQueryRun(file: string, record: QueryRunRecord, maxBytes = QUERY_RUNS_MAX_BYTES): void {\n try {\n appendFileSync(file, `${JSON.stringify(record)}\\n`)\n if (statSync(file).size > maxBytes) trimToNewest(file, Math.floor(maxBytes / 2))\n } catch {\n // best-effort\n }\n}\n\n/** Keep the newest whole lines that fit in `bytes`. Written to a temp file and renamed, so a reader never sees half a file. */\nfunction trimToNewest(file: string, bytes: number): void {\n const lines = readFileSync(file, \"utf-8\").split(\"\\n\").filter(Boolean)\n const kept: string[] = []\n let size = 0\n for (let i = lines.length - 1; i >= 0; i--) {\n size += Buffer.byteLength(lines[i]) + 1\n if (size > bytes) break\n kept.push(lines[i])\n }\n const tmp = `${file}.${process.pid}.tmp`\n writeFileSync(tmp, kept.reverse().map((l) => `${l}\\n`).join(\"\"))\n renameSync(tmp, file)\n}\n\n/**\n * Run one query and record how it ended. A query that throws is recorded\n * as `error` and the error is thrown on, so no query goes uncounted.\n */\nexport async function timedQuery<T extends { status: QueryStatus; method?: string }>(\n file: string,\n agent: string,\n source: QuerySource,\n run: () => Promise<T>,\n): Promise<T> {\n const start = Date.now()\n const record = (status: QueryStatus, method?: string) =>\n recordQueryRun(file, { at: new Date().toISOString(), agent, status, method, source, wallMs: Date.now() - start })\n try {\n const result = await run()\n record(result.status, result.method)\n return result\n } catch (e) {\n record(\"error\")\n throw e\n }\n}\n\nexport interface QueryRunSummary {\n total: number\n failed: number\n byStatus: Record<string, number>\n bySource: Record<string, number>\n wallMsP50: number\n wallMsP95: number\n}\n\n/** Count queries by status, on or after `since` (an ISO date or time) when given. */\nexport function summariseQueryRuns(text: string, since?: string): QueryRunSummary {\n const records: QueryRunRecord[] = text.split(\"\\n\").filter(Boolean).flatMap((l) => {\n try {\n const r = JSON.parse(l)\n return r && typeof r.status === \"string\" && typeof r.at === \"string\" ? [r] : []\n } catch { return [] }\n }).filter((r) => !since || r.at >= since)\n const byStatus: Record<string, number> = {}\n const bySource: Record<string, number> = {}\n for (const r of records) {\n byStatus[r.status] = (byStatus[r.status] ?? 0) + 1\n const source = r.source ?? \"cli\"\n bySource[source] = (bySource[source] ?? 0) + 1\n }\n const ms = records.map((r) => Number(r.wallMs) || 0).sort((a, b) => a - b)\n const pick = (q: number) => (ms.length ? ms[Math.min(ms.length - 1, Math.floor(q * ms.length))] : 0)\n return {\n total: records.length,\n failed: records.filter((r) => queryFailed(r.status)).length,\n byStatus,\n bySource,\n wallMsP50: pick(0.5),\n wallMsP95: pick(0.95),\n }\n}\n"],"mappings":"4BAQA,OAAS,kBAAAA,EAAgB,gBAAAC,EAAc,cAAAC,EAAY,YAAAC,EAAU,iBAAAC,MAAqB,KAG3E,IAAMC,EAAkB,oBAGlBC,EAAuB,IAkB7B,SAASC,EAAYC,EAA8B,CACxD,OAAOA,IAAW,SAAWA,IAAW,YAC1C,CAGO,SAASC,EAAeC,EAAcC,EAAwBC,EAAWN,EAA4B,CAC1G,GAAI,CACFN,EAAeU,EAAM,GAAG,KAAK,UAAUC,CAAM;AAAA,CAAK,EAC9CR,EAASO,CAAI,EAAE,KAAOE,GAAUC,EAAaH,EAAM,KAAK,MAAME,EAAW,CAAC,CAAC,CACjF,MAAE,CAEF,CACF,CAGA,SAASC,EAAaH,EAAcI,EAAqB,CACvD,IAAMC,EAAQd,EAAaS,EAAM,OAAO,EAAE,MAAM;AAAA,CAAI,EAAE,OAAO,OAAO,EAC9DM,EAAiB,CAAC,EACpBC,EAAO,EACX,QAASC,EAAIH,EAAM,OAAS,EAAGG,GAAK,IAClCD,GAAQ,OAAO,WAAWF,EAAMG,CAAC,CAAC,EAAI,EAClC,EAAAD,EAAOH,IAF0BI,IAGrCF,EAAK,KAAKD,EAAMG,CAAC,CAAC,EAEpB,IAAMC,EAAM,GAAGT,KAAQ,QAAQ,UAC/BN,EAAce,EAAKH,EAAK,QAAQ,EAAE,IAAKI,GAAM,GAAGA;AAAA,CAAK,EAAE,KAAK,EAAE,CAAC,EAC/DlB,EAAWiB,EAAKT,CAAI,CACtB,CAMA,eAAsBW,EACpBX,EACAY,EACAC,EACAC,EACY,CACZ,IAAMC,EAAQ,KAAK,IAAI,EACjBd,EAAS,CAACH,EAAqBkB,IACnCjB,EAAeC,EAAM,CAAE,GAAI,IAAI,KAAK,EAAE,YAAY,EAAG,MAAAY,EAAO,OAAAd,EAAQ,OAAAkB,EAAQ,OAAAH,EAAQ,OAAQ,KAAK,IAAI,EAAIE,CAAM,CAAC,EAClH,GAAI,CACF,IAAME,EAAS,MAAMH,EAAI,EACzB,OAAAb,EAAOgB,EAAO,OAAQA,EAAO,MAAM,EAC5BA,CACT,OAASC,EAAP,CACA,MAAAjB,EAAO,OAAO,EACRiB,CACR,CACF,CAYO,SAASC,EAAmBC,EAAcC,EAAiC,CAChF,IAAMC,EAA4BF,EAAK,MAAM;AAAA,CAAI,EAAE,OAAO,OAAO,EAAE,QAASV,GAAM,CAChF,GAAI,CACF,IAAMa,EAAI,KAAK,MAAMb,CAAC,EACtB,OAAOa,GAAK,OAAOA,EAAE,QAAW,UAAY,OAAOA,EAAE,IAAO,SAAW,CAACA,CAAC,EAAI,CAAC,CAChF,MAAE,CAAQ,MAAO,CAAC,CAAE,CACtB,CAAC,EAAE,OAAQ,GAAM,CAACF,GAAS,EAAE,IAAMA,CAAK,EAClCG,EAAmC,CAAC,EACpCC,EAAmC,CAAC,EAC1C,QAAW,KAAKH,EAAS,CACvBE,EAAS,EAAE,MAAM,GAAKA,EAAS,EAAE,MAAM,GAAK,GAAK,EACjD,IAAMX,EAAS,EAAE,QAAU,MAC3BY,EAASZ,CAAM,GAAKY,EAASZ,CAAM,GAAK,GAAK,EAE/C,IAAMa,EAAKJ,EAAQ,IAAK,GAAM,OAAO,EAAE,MAAM,GAAK,CAAC,EAAE,KAAK,CAACK,EAAGC,IAAMD,EAAIC,CAAC,EACnEC,EAAQC,GAAeJ,EAAG,OAASA,EAAG,KAAK,IAAIA,EAAG,OAAS,EAAG,KAAK,MAAMI,EAAIJ,EAAG,MAAM,CAAC,CAAC,EAAI,EAClG,MAAO,CACL,MAAOJ,EAAQ,OACf,OAAQA,EAAQ,OAAQ,GAAMzB,EAAY,EAAE,MAAM,CAAC,EAAE,OACrD,SAAA2B,EACA,SAAAC,EACA,UAAWI,EAAK,EAAG,EACnB,UAAWA,EAAK,GAAI,CACtB,CACF","names":["appendFileSync","readFileSync","renameSync","statSync","writeFileSync","QUERY_RUNS_FILE","QUERY_RUNS_MAX_BYTES","queryFailed","status","recordQueryRun","file","record","maxBytes","trimToNewest","bytes","lines","kept","size","i","tmp","l","timedQuery","agent","source","run","start","method","result","e","summariseQueryRuns","text","since","records","r","byStatus","bySource","ms","a","b","pick","q"]}
@@ -1,2 +0,0 @@
1
- import{$ as j,S as a,T as b,U as c,V as d,W as e,X as f,Y as g,Z as h,_ as i,aa as k,ba as l,ca as m,da as n}from"./chunk-WYEWNN76.js";import"./chunk-QDWEM4DG.js";import"./chunk-QSKG754X.js";import"./chunk-MEFPXHQJ.js";import"./chunk-SZDACK6O.js";import"./chunk-W4YR2RO2.js";import"./chunk-AFRHKA7B.js";import"./chunk-SSQMFHSM.js";import"./chunk-LUYN6RAC.js";import"./chunk-3UOTLMXD.js";import"./chunk-36AXN6ZB.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-J3SOEFRE.js";import"./chunk-SIU6STB2.js";import"./chunk-X5C5W3E4.js";import"./chunk-GV7S5BAX.js";import"./chunk-GSX4NK2N.js";import"./chunk-VWTBHLMX.js";import"./chunk-SN7YH4E4.js";import"./chunk-MUVE3UAS.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import"./chunk-32LIPTHM.js";import"./chunk-SKSYII3K.js";import"./chunk-ERULJ2ZL.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-K445URSN.js";import"./chunk-4XMALK7X.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-MYVHVJWZ.js";import"./chunk-6TURWSMN.js";import"./chunk-AV7T3SYT.js";import"./chunk-Y5MFVVTM.js";import"./chunk-QD6IICK7.js";import"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-DSYKYZMT.js";import"./chunk-DYGQF3MI.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{m as AgentRegistry,a as EDIT_TOOL_INSTRUCTION,h as TRACE_STEP_SUMMARY_BYTES,e as buildEntryMeta,f as buildEventDigest,g as buildWikiContext,i as clipForTrace,b as codingInstructions,l as emitTraceStepsFromStreamEvent,k as firstMissingRequiredTool,d as getGlobalRegistry,n as richReplyPrompt,c as setGlobalRegistry,j as tallyToolUses};
2
- //# sourceMappingURL=registry-VXK36CCL.js.map
@@ -1,2 +0,0 @@
1
- import{f as o}from"./chunk-KXR6GVL7.js";import"./chunk-KA2UIZXG.js";import"./chunk-GQ76J72O.js";import"./chunk-ILEC3IAV.js";import"./chunk-QIJLFPWE.js";function s(r,n,t){let e=o(t.wikiDir,t.memo,{agentId:t.agentId,origin:t.reason==="continuity"?"continuity-memo":`rotation-memo:${t.reason}`,chat:`${t.channel}:${t.chatId}`});if(e.workState.trim()){let a=t.chatId.split(/[:@.]/).filter(Boolean).slice(0,4);r.addMemory(t.agentId,{agentId:t.agentId,category:"task-state",content:`[Rotation memo \xB7 ${t.reason}] ${e.workState}`,keywords:["rotation-memo",t.channel,...a],source:{channel:t.channel,chatId:t.chatId,sender:"system:rotation",date:new Date().toISOString().slice(0,10)}})}return n.setRotationMemo(t.agentId,t.channel,t.chatId,e.pinned,t.reason),{proposals:e.proposals.length,...e.error?{error:e.error}:{}}}export{s as storeRotationMemo};
2
- //# sourceMappingURL=rotation-memo-store-A4YW6FSK.js.map
@@ -1,2 +0,0 @@
1
- import{a,b}from"./chunk-RRGITX5B.js";import"./chunk-RKPAVWXF.js";import"./chunk-FWDRBUMS.js";import"./chunk-SSQMFHSM.js";import"./chunk-LUYN6RAC.js";import"./chunk-3UOTLMXD.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-DYGQF3MI.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";export{b as resolveScheduleCaller,a as runScheduleTool};
2
- //# sourceMappingURL=schedule-tool-KPVTMYL3.js.map
@@ -1,4 +0,0 @@
1
- import{b as h}from"./chunk-RRGITX5B.js";import"./chunk-RKPAVWXF.js";import{f}from"./chunk-Y4CYQV7G.js";import{b as u}from"./chunk-LLNPKE7H.js";import"./chunk-SHEUCITK.js";import"./chunk-FWDRBUMS.js";import"./chunk-SSQMFHSM.js";import"./chunk-LUYN6RAC.js";import"./chunk-3UOTLMXD.js";import"./chunk-FCPTN6NF.js";import"./chunk-7I7IEX4S.js";import"./chunk-DYGQF3MI.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-QIJLFPWE.js";var m=new Set(["cron","heartbeat","api","a2a","mesh","approvals","requests"]);function y(e){return typeof e=="string"?e.trim():""}async function A(e,i){let c=i.fetch??fetch,d=i.daemonUrl.replace(/\/$/,""),s=(y(e.action)||"create").toLowerCase(),r=h(e,i.env??process.env);if(s==="status"){let o=y(e.id);if(!o)return"Error: `id` is required for status (the card id you got when you raised it).";try{let n=await c(`${d}/approvals/${encodeURIComponent(o)}`,{signal:AbortSignal.timeout(1e4)}),a=await n.json().catch(()=>({}));if(!n.ok)return`Error: ${a?.error||`HTTP ${n.status}`}`;let t=a.card;if(r&&t.raised_by!==r.agentId)return`Error: card "${o}" was raised by another agent.`;if(t.status==="pending")return`Card ${t.id} is still waiting for the operator. It expires ${t.expires}; then "${t.if_silent}" applies.`;if(t.status==="decided"){let p=t.verdict==="yes"?f(t).join(`
2
- `):"";return`Card ${t.id}: the operator said ${String(t.verdict).toUpperCase()}.${t.note?` Note: ${t.note}`:""}${p?`
3
- ${p}`:""}`}return`Card ${t.id} expired unanswered; the default applied: ${t.outcome??t.if_silent}.`}catch(n){return`Error: couldn't reach the daemon (${n?.message??n}).`}}if(s!=="create")return`Error: unknown action "${s}". Use create or status.`;if(!r)return"Error: couldn't tell which agent you are. Pass callerAgentId.";let l=r.channel&&r.chatId&&!m.has(r.channel)?{channel:r.channel,chatId:r.chatId,...r.accountId?{accountId:r.accountId}:{}}:void 0,$={title:e.title,ask:e.ask,recommend:e.recommend,if_silent:e.if_silent,expires:e.expires,source:e.source,choices:e.choices,draft:e.draft,say:e.say,context:e.context,raised_by:r.agentId,...l?{reply:l}:{}};try{let o=await c(`${d}/approvals`,{method:"POST",headers:{"Content-Type":"application/json",...u(i.env??process.env)},body:JSON.stringify($),signal:AbortSignal.timeout(1e4)}),n=await o.json().catch(()=>({}));if(!o.ok)return`Error: ${n?.error||`HTTP ${o.status}`}`;let a=n.card;return[`Decision card ${a.id} is in the operator's Approvals inbox.`,`If nobody answers by ${a.expires}, "${a.if_silent}" applies.`,"You will get a message with the result. Tell the requester it is waiting for approval; don't ask the operator again in chat."].join(" ")}catch(o){return`Error: couldn't reach the daemon (${o?.message??o}).`}}export{A as runApprovalTool};
4
- //# sourceMappingURL=tool-XLWLXGB5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/approvals/tool.ts"],"sourcesContent":["import { resolveScheduleCaller } from \"@/crons/schedule-tool\"\nimport { callerHeaders } from \"@/calls/service\"\nimport { answerLines } from \"./choices\"\n\n// --- Agent-facing `agentx_approval` tool ---\n//\n// Lets an agent raise a decision card instead of asking the operator in\n// chat, and check what happened to one. It talks to the daemon's\n// /approvals endpoints, which never decide: there is no action here that\n// approves or rejects anything.\n\nexport type ApprovalToolAction = \"create\" | \"status\"\n\nexport interface ApprovalToolDeps {\n daemonUrl: string\n fetch?: typeof fetch\n env?: NodeJS.ProcessEnv\n}\n\nconst NON_CHAT_CHANNELS = new Set([\"cron\", \"heartbeat\", \"api\", \"a2a\", \"mesh\", \"approvals\", \"requests\"])\n\nfunction str(v: unknown): string {\n return typeof v === \"string\" ? v.trim() : \"\"\n}\n\n/** Returns the text the agent sees. Every refusal is text, never a throw. */\nexport async function runApprovalTool(args: Record<string, unknown>, deps: ApprovalToolDeps): Promise<string> {\n const doFetch = deps.fetch ?? fetch\n const base = deps.daemonUrl.replace(/\\/$/, \"\")\n const action = (str(args.action) || \"create\").toLowerCase() as ApprovalToolAction\n const caller = resolveScheduleCaller(args, deps.env ?? process.env)\n\n if (action === \"status\") {\n const id = str(args.id)\n if (!id) return \"Error: `id` is required for status (the card id you got when you raised it).\"\n try {\n const res = await doFetch(`${base}/approvals/${encodeURIComponent(id)}`, { signal: AbortSignal.timeout(10_000) })\n const data = await res.json().catch(() => ({})) as any\n if (!res.ok) return `Error: ${data?.error || `HTTP ${res.status}`}`\n const c = data.card\n if (caller && c.raised_by !== caller.agentId) return `Error: card \"${id}\" was raised by another agent.`\n if (c.status === \"pending\") return `Card ${c.id} is still waiting for the operator. It expires ${c.expires}; then \"${c.if_silent}\" applies.`\n if (c.status === \"decided\") {\n const picked = c.verdict === \"yes\" ? answerLines(c).join(\"\\n\") : \"\"\n return `Card ${c.id}: the operator said ${String(c.verdict).toUpperCase()}.${c.note ? ` Note: ${c.note}` : \"\"}${picked ? `\\n${picked}` : \"\"}`\n }\n return `Card ${c.id} expired unanswered; the default applied: ${c.outcome ?? c.if_silent}.`\n } catch (e: any) {\n return `Error: couldn't reach the daemon (${e?.message ?? e}).`\n }\n }\n\n if (action !== \"create\") return `Error: unknown action \"${action}\". Use create or status.`\n if (!caller) return \"Error: couldn't tell which agent you are. Pass callerAgentId.\"\n\n const reply = caller.channel && caller.chatId && !NON_CHAT_CHANNELS.has(caller.channel)\n ? { channel: caller.channel, chatId: caller.chatId, ...(caller.accountId ? { accountId: caller.accountId } : {}) }\n : undefined\n const payload = {\n title: args.title,\n ask: args.ask,\n recommend: args.recommend,\n if_silent: args.if_silent,\n expires: args.expires,\n source: args.source,\n choices: args.choices,\n draft: args.draft,\n say: args.say,\n context: args.context,\n raised_by: caller.agentId,\n ...(reply ? { reply } : {}),\n }\n try {\n const res = await doFetch(`${base}/approvals`, {\n method: \"POST\",\n // The headers name this run: a card moves a request to \"waiting on\n // the owner\" only when it comes from the turn of that request.\n headers: { \"Content-Type\": \"application/json\", ...callerHeaders(deps.env ?? process.env) },\n body: JSON.stringify(payload),\n signal: AbortSignal.timeout(10_000),\n })\n const data = await res.json().catch(() => ({})) as any\n if (!res.ok) return `Error: ${data?.error || `HTTP ${res.status}`}`\n const c = data.card\n return [\n `Decision card ${c.id} is in the operator's Approvals inbox.`,\n `If nobody answers by ${c.expires}, \"${c.if_silent}\" applies.`,\n \"You will get a message with the result. Tell the requester it is waiting for approval; don't ask the operator again in chat.\",\n ].join(\" \")\n } catch (e: any) {\n return `Error: couldn't reach the daemon (${e?.message ?? e}).`\n }\n}\n"],"mappings":"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","names":["NON_CHAT_CHANNELS","str","v","runApprovalTool","args","deps","doFetch","base","action","caller","resolveScheduleCaller","id","res","data","c","picked","answerLines","e","reply","payload","callerHeaders"]}
@@ -1,2 +0,0 @@
1
- import"./chunk-VWTBHLMX.js";import{a as b}from"./chunk-SN7YH4E4.js";import{a}from"./chunk-MUVE3UAS.js";import"./chunk-KEXBEUSU.js";import"./chunk-ROLSSYXE.js";import{d as c}from"./chunk-32LIPTHM.js";import"./chunk-SKSYII3K.js";import"./chunk-ERULJ2ZL.js";import"./chunk-WPNRDEHW.js";import"./chunk-MWNCS57L.js";import"./chunk-4LWFJ4MZ.js";import"./chunk-BIJHMWXK.js";import"./chunk-4XMALK7X.js";import"./chunk-72SZI2UW.js";import"./chunk-FCPTN6NF.js";import"./chunk-MCI3DIWW.js";import"./chunk-6TURWSMN.js";import"./chunk-QD6IICK7.js";import"./chunk-QOYAX2FT.js";import"./chunk-2PJKGZWP.js";import"./chunk-7I7IEX4S.js";import"./chunk-DYGQF3MI.js";import"./chunk-BRK6M6LA.js";import"./chunk-UIBUZ2N3.js";import"./chunk-2QNT5JDS.js";import"./chunk-RGDKHYY2.js";import"./chunk-QIJLFPWE.js";export{b as WikiHub,a as WikiStore,c as agenticQuery};
2
- //# sourceMappingURL=wiki-QZ7XNAMJ.js.map
@@ -1,2 +0,0 @@
1
- import{a,b}from"./chunk-R6KLH34H.js";import"./chunk-QIJLFPWE.js";export{a as claudeCall,b as registerWikiEnrich};
2
- //# sourceMappingURL=wiki-enrich-PMG4T6PP.js.map