@desplega.ai/agent-swarm 2.7.0 → 2.7.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 (236) hide show
  1. package/dist/{acp-adapter-ma1js5n7.js → acp-adapter-8dn5tq56.js} +6 -6
  2. package/dist/{actions-1vhmtvg9.js → actions-3r6gw7dy.js} +18 -18
  3. package/dist/{amp-adapter-sxqqvmdk.js → amp-adapter-wjtq413p.js} +3 -3
  4. package/dist/{anthropic-messages-txs190dd.js → anthropic-messages-n4cby1rz.js} +4 -4
  5. package/dist/{app-mwx1d5a9.js → app-d53yhykk.js} +3 -3
  6. package/dist/{assistant-yx1p6g82.js → assistant-ksrawj3k.js} +20 -20
  7. package/dist/{boot-reembed-7h78vmvv.js → boot-reembed-fxfw17m2.js} +10 -3
  8. package/dist/{boot-reembed-5h37a2c2.js → boot-reembed-k5y5xbj0.js} +15 -8
  9. package/dist/{boot-scrub-sweep-8mawd4gw.js → boot-scrub-sweep-se41j9fd.js} +3 -3
  10. package/dist/{boot-seeds-ca84dhnn.js → boot-seeds-r3kwwv8b.js} +4 -4
  11. package/dist/{claude-adapter-wqt4hfkq.js → claude-adapter-ahmyf231.js} +7 -7
  12. package/dist/{claude-managed-adapter-6fjqtr2z.js → claude-managed-adapter-5knamegc.js} +3 -3
  13. package/dist/{claude-managed-setup-rqv98sea.js → claude-managed-setup-mdc7dy6b.js} +2 -2
  14. package/dist/{claude-sdk-session-f29f3b2x.js → claude-sdk-session-n5wen9zk.js} +8728 -8599
  15. package/dist/{cli-m5e802r7.js → cli-0dqtv2jg.js} +2 -2
  16. package/dist/{cli-e1595bgx.js → cli-0tww7dnz.js} +2 -2
  17. package/dist/{cli-2y7v133v.js → cli-0w4e4v58.js} +7 -7
  18. package/dist/{cli-d20qvpr2.js → cli-2sjm3t4r.js} +1 -1
  19. package/dist/{cli-gf2850q7.js → cli-3cywb44q.js} +18 -1
  20. package/dist/{cli-8wkb09q5.js → cli-3k9jej0c.js} +2 -2
  21. package/dist/{cli-twctnkng.js → cli-3v2cyqb8.js} +3 -3
  22. package/dist/{cli-he9gbdx0.js → cli-5qt9vzmq.js} +39 -20
  23. package/dist/{cli-a6ds2epe.js → cli-5rp1w4cr.js} +1 -1
  24. package/dist/{cli-6srv653c.js → cli-6vwjsetx.js} +4 -4
  25. package/dist/{cli-1hhbzkbb.js → cli-6w2yrrc0.js} +8 -8
  26. package/dist/{cli-f12mr20z.js → cli-75tdydgv.js} +1 -1
  27. package/dist/{cli-j3y0x2n4.js → cli-8feswf2v.js} +43 -33
  28. package/dist/{cli-07q03xm2.js → cli-8wd3mbyj.js} +1 -1
  29. package/dist/{cli-ymjpkxgn.js → cli-9csfthbw.js} +8 -6
  30. package/dist/{cli-f1e0ptjj.js → cli-b41p764a.js} +21 -2
  31. package/dist/{cli-kv7sbc2c.js → cli-c1t533hh.js} +3 -3
  32. package/dist/{cli-54sj64fc.js → cli-c28jxpcv.js} +1 -1
  33. package/dist/{cli-8mbc9za9.js → cli-cb50g9cd.js} +1 -1
  34. package/dist/{cli-c668vvcf.js → cli-d8gaphtr.js} +1 -1
  35. package/dist/{cli-86ehn4s5.js → cli-dgtfysne.js} +2 -2
  36. package/dist/{cli-sjctjr48.js → cli-dscnhn18.js} +1 -1
  37. package/dist/{cli-j0ppywdr.js → cli-dv11pgpv.js} +12 -12
  38. package/dist/{cli-1m9x8dr5.js → cli-ekptgk2m.js} +5 -5
  39. package/dist/{cli-9gsm2rzp.js → cli-f3mzy662.js} +17 -17
  40. package/dist/{cli-s0mgx214.js → cli-fk7k8s9x.js} +2 -2
  41. package/dist/{cli-vbhgkw9h.js → cli-h3e7bhvn.js} +3 -3
  42. package/dist/{cli-yd2nreqw.js → cli-hkxqdmnb.js} +2 -2
  43. package/dist/{cli-8wmj18cz.js → cli-hpkvgdad.js} +7 -4
  44. package/dist/{cli-wqr7cea4.js → cli-hq2v4rr5.js} +37 -9
  45. package/dist/{cli-sgqm2582.js → cli-k1zb7raw.js} +5 -5
  46. package/dist/{cli-4rvr7zfx.js → cli-k4awgvzm.js} +5 -0
  47. package/dist/{cli-ay40dnj3.js → cli-k7d3hvya.js} +2 -2
  48. package/dist/{cli-j9bpmykh.js → cli-kbtdftbw.js} +5 -5
  49. package/dist/{cli-x37r7qwf.js → cli-kj69b9tw.js} +25 -5
  50. package/dist/{cli-gsfk58nw.js → cli-kk9jy4nm.js} +1 -1
  51. package/dist/{cli-39aet655.js → cli-m52t4cta.js} +1 -1
  52. package/dist/{cli-h5jeg46p.js → cli-mdadewqp.js} +5 -5
  53. package/dist/{cli-a89zdqz9.js → cli-nf6k60sn.js} +1 -1
  54. package/dist/{cli-v6shg7na.js → cli-nzdf09js.js} +1 -1
  55. package/dist/{cli-rr7zx19j.js → cli-prcyzecg.js} +12 -12
  56. package/dist/{cli-6a9qfa8b.js → cli-pzafyqtk.js} +118 -48
  57. package/dist/{cli-48gxjmcz.js → cli-qvaa1gjp.js} +87 -24
  58. package/dist/{cli-qj442fws.js → cli-rg4b2g6j.js} +1 -1
  59. package/dist/{cli-aypd09nf.js → cli-rm66vqdz.js} +1 -1
  60. package/dist/{cli-9pshx6rd.js → cli-s504c3w7.js} +1 -1
  61. package/dist/{cli-ptfq202x.js → cli-swkx9jm2.js} +3 -3
  62. package/dist/{cli-m30k9777.js → cli-thsaq4pd.js} +16 -16
  63. package/dist/{cli-60sty27p.js → cli-twjnyvs8.js} +2 -2
  64. package/dist/{cli-rd5m70gj.js → cli-typdpe8g.js} +4 -4
  65. package/dist/{cli-yxbsmx56.js → cli-vg8pwmsd.js} +6 -6
  66. package/dist/{cli-s09j9vp5.js → cli-vhpckzvp.js} +1 -1
  67. package/dist/{cli-dv97kdzv.js → cli-wdxgsdz5.js} +2 -2
  68. package/dist/{cli-7a6p4e65.js → cli-wtjg6je3.js} +1 -1
  69. package/dist/{cli-b3yzyc57.js → cli-x3cngb1h.js} +44 -12
  70. package/dist/{cli-6mgdba42.js → cli-xbz6mcg4.js} +2 -2
  71. package/dist/{cli-2pvzmas1.js → cli-y4tdxsqb.js} +3 -3
  72. package/dist/{cli-f4dbh7a5.js → cli-yqrsp3ny.js} +7 -7
  73. package/dist/cli.js +27 -19
  74. package/dist/{codex-adapter-zk59x2zh.js → codex-adapter-7wepzq15.js} +5 -5
  75. package/dist/{codex-hook-xyjhvxwd.js → codex-hook-pbdh4xhx.js} +2 -2
  76. package/dist/{codex-session-runner-kh6s4j3n.js → codex-session-runner-02sb49e4.js} +5 -5
  77. package/dist/{commands-68et1qv2.js → commands-3rcspxct.js} +2 -2
  78. package/dist/{controller-fyrbnzg4.js → controller-8ar4avd6.js} +3 -3
  79. package/dist/{controllers-connect-nep9h2xv.js → controllers-connect-ajvh9h0v.js} +19 -19
  80. package/dist/{cursor-adapter-yss3pg7t.js → cursor-adapter-gd0sa7bh.js} +1 -1
  81. package/dist/{db-28gjyvxj.js → db-dv9j7ts5.js} +2 -2
  82. package/dist/{db-8ftwvzba.js → db-z26vgdvj.js} +3 -3
  83. package/dist/{dispatcher-hayexmkr.js → dispatcher-8m0htjq8.js} +17 -17
  84. package/dist/{dsh-adapter-46wawff9.js → dsh-adapter-y8gyk130.js} +1 -1
  85. package/dist/{e2b-fn3zacvt.js → e2b-74vg9b7e.js} +1 -1
  86. package/dist/{e2b-222hsajc.js → e2b-jyay8wzn.js} +1 -1
  87. package/dist/{easter-egg-3d-8d1e0h4m.js → easter-egg-3d-28f880xx.js} +1 -1
  88. package/dist/{execute-cjrfxfnm.js → execute-9seb79vh.js} +1 -1
  89. package/dist/{external-channel-xbmxcg09.js → external-channel-smz7jyth.js} +2 -2
  90. package/dist/{getMachineId-bsd-brn0xym3.js → getMachineId-bsd-whfre6gr.js} +3 -3
  91. package/dist/{getMachineId-darwin-t339sfxm.js → getMachineId-darwin-5zjynb19.js} +3 -3
  92. package/dist/{getMachineId-linux-5eq95d8b.js → getMachineId-linux-8mksrrsq.js} +3 -3
  93. package/dist/{getMachineId-unsupported-qavrtc7j.js → getMachineId-unsupported-fxtqsdt2.js} +3 -3
  94. package/dist/{getMachineId-win-q7fe1wx7.js → getMachineId-win-nzfmz857.js} +3 -3
  95. package/dist/{grok-adapter-ag4wks2a.js → grok-adapter-z0nnvtbn.js} +7 -7
  96. package/dist/handlers-pspryh6g.js +41 -0
  97. package/dist/{heartbeat-psfvcgwp.js → heartbeat-f928aqyp.js} +20 -20
  98. package/dist/{hook-cyq4mryn.js → hook-d7c605r4.js} +7 -7
  99. package/dist/{hook-8pz04697.js → hook-q9hv5xf9.js} +5 -5
  100. package/dist/{http-haj1nd6k.js → http-q6j4k989.js} +934 -180
  101. package/dist/{index-z5h22pes.js → index-5nb266jr.js} +17 -17
  102. package/dist/{index-ysd45kgc.js → index-8fxt5eah.js} +10 -10
  103. package/dist/{index-zgvqzjsw.js → index-cekzwhez.js} +5 -5
  104. package/dist/{index-zyq8ct52.js → index-ch0c1xff.js} +17 -17
  105. package/dist/{index-syvhnvtw.js → index-ebnjhxh1.js} +1 -1
  106. package/dist/{index-y1ajx04a.js → index-ed8dy8rn.js} +20 -20
  107. package/dist/{index-jwt2bj6f.js → index-ejqdkkqx.js} +11 -10
  108. package/dist/{index-dr94zbnh.js → index-farm1zsn.js} +32661 -29443
  109. package/dist/{index-q52f47pe.js → index-yn1yxg85.js} +1 -1
  110. package/dist/{keepalive-xdvsamvj.js → keepalive-zzc3hks1.js} +3 -3
  111. package/dist/{lead-hqg57kdp.js → lead-c0pjcaw4.js} +36 -36
  112. package/dist/{maintenance-4y2xzh3a.js → maintenance-kqsxzpzx.js} +1 -1
  113. package/dist/{oauth-refresh-sweep-jd4r7zbs.js → oauth-refresh-sweep-7qt0g55z.js} +2 -2
  114. package/dist/{onboard-18447q9q.js → onboard-k7x13fqg.js} +118 -5
  115. package/dist/{opencode-adapter-26b2frdf.js → opencode-adapter-tqvrtter.js} +5 -5
  116. package/dist/{otel-impl-f9tgr8yw.js → otel-impl-sqkf6k3b.js} +97 -97
  117. package/dist/{pi-mono-adapter-qn6qbga1.js → pi-mono-adapter-m2qnafxm.js} +63 -9
  118. package/dist/{pricing-refresh-dw2tgb53.js → pricing-refresh-wkpwhgvs.js} +3 -3
  119. package/dist/{rbac-roles-s4nwj2m3.js → rbac-roles-dpn0c0wj.js} +7 -4
  120. package/dist/{rbac-roles-aygm2760.js → rbac-roles-wk7xd6a6.js} +2 -2
  121. package/dist/{render-v2-yfvdfr0x.js → render-v2-ex2m4g2k.js} +3 -3
  122. package/dist/{resume-1bmvjbf3.js → resume-725g9b0b.js} +7 -7
  123. package/dist/{runtime-f7tpzedy.js → runtime-kajas15g.js} +1 -1
  124. package/dist/{session-access-r5garej6.js → session-access-0j2ezjje.js} +8 -4
  125. package/dist/{session-source-backfill-424wzv0r.js → session-source-backfill-62202awe.js} +2 -2
  126. package/dist/{setup-8tygvxkq.js → setup-9sj11ax6.js} +1 -1
  127. package/dist/{virtual-modules-xsw323b3.js → virtual-modules-c6fcq6zr.js} +2 -2
  128. package/dist/{work-objects-ggnghpgf.js → work-objects-0y07495y.js} +20 -20
  129. package/dist/{worker-sqjd1nqf.js → worker-d4q9sqbc.js} +36 -36
  130. package/openapi.json +1070 -9
  131. package/package.json +3 -3
  132. package/src/be/connector-codes.ts +65 -22
  133. package/src/be/memory/boot-reembed.ts +4 -1
  134. package/src/be/memory/constants.ts +6 -0
  135. package/src/be/memory/embedding-recovery.ts +48 -0
  136. package/src/be/memory/index-content.ts +5 -2
  137. package/src/be/memory/providers/openai-embedding.ts +65 -14
  138. package/src/be/memory/task-learning.ts +110 -8
  139. package/src/be/memory/types.ts +13 -2
  140. package/src/be/migrations/246_connector_code_kind.sql +11 -0
  141. package/src/be/onboarding.ts +125 -15
  142. package/src/be/rbac-roles.ts +4 -1
  143. package/src/be/scripts/embeddings.ts +2 -2
  144. package/src/be/seed/agent-fs-provision.ts +75 -14
  145. package/src/be/swarm-config-guard.ts +3 -0
  146. package/src/cli.tsx +9 -0
  147. package/src/comb/config.ts +6 -1
  148. package/src/commands/onboard/agent-fs-version.ts +5 -0
  149. package/src/commands/onboard/compose-generator.ts +112 -1
  150. package/src/commands/onboard/env-generator.ts +9 -0
  151. package/src/commands/onboard/tei-image.ts +12 -0
  152. package/src/commands/onboard/types.ts +7 -0
  153. package/src/commands/onboard.tsx +11 -1
  154. package/src/commands/runner.ts +14 -1
  155. package/src/http/agentfs-proxy.ts +369 -0
  156. package/src/http/all-routes.ts +1 -0
  157. package/src/http/codex-oauth-device.ts +8 -1
  158. package/src/http/fs.ts +64 -10
  159. package/src/http/inbox-state.ts +27 -1
  160. package/src/http/index.ts +4 -1
  161. package/src/http/memory.ts +7 -4
  162. package/src/http/onboarding.ts +139 -11
  163. package/src/http/session-access.ts +24 -0
  164. package/src/http/sessions.ts +10 -6
  165. package/src/http/tasks.ts +85 -11
  166. package/src/http/telemetry-ui.ts +1 -1
  167. package/src/http/user-roles.ts +4 -1
  168. package/src/http/users.ts +272 -3
  169. package/src/http/utils.ts +22 -3
  170. package/src/prompts/base-prompt.ts +24 -9
  171. package/src/prompts/session-templates.ts +26 -2
  172. package/src/providers/amp-adapter.ts +1 -1
  173. package/src/providers/codex-adapter.ts +6 -1
  174. package/src/providers/cursor-adapter.ts +1 -1
  175. package/src/providers/pi-mono-adapter.ts +58 -3
  176. package/src/rbac/legacy-policy.ts +1 -0
  177. package/src/rbac/permissions.ts +4 -0
  178. package/src/tests/agent-fs-provision-seeder.test.ts +261 -92
  179. package/src/tests/agentfs-proxy.test.ts +1106 -0
  180. package/src/tests/base-prompt.test.ts +69 -2
  181. package/src/tests/codex-adapter.test.ts +46 -8
  182. package/src/tests/codex-oauth-device.test.ts +12 -1
  183. package/src/tests/comb-config-guard.test.ts +20 -0
  184. package/src/tests/comb-links.test.ts +79 -1
  185. package/src/tests/comb-status.test.ts +44 -0
  186. package/src/tests/docs-index-footprint.test.js +3 -3
  187. package/src/tests/fixtures/onboard/baseline-states.ts +68 -0
  188. package/src/tests/fixtures/onboard/content.compose.yml.txt +190 -0
  189. package/src/tests/fixtures/onboard/content.env.txt +29 -0
  190. package/src/tests/fixtures/onboard/dev.compose.yml.txt +155 -0
  191. package/src/tests/fixtures/onboard/dev.env.txt +28 -0
  192. package/src/tests/fixtures/onboard/full-all.compose.yml.txt +582 -0
  193. package/src/tests/fixtures/onboard/full-all.env.txt +59 -0
  194. package/src/tests/fixtures/onboard/full.compose.yml.txt +435 -0
  195. package/src/tests/fixtures/onboard/full.env.txt +36 -0
  196. package/src/tests/fixtures/onboard/research.compose.yml.txt +155 -0
  197. package/src/tests/fixtures/onboard/research.env.txt +28 -0
  198. package/src/tests/fixtures/onboard/solo.compose.yml.txt +85 -0
  199. package/src/tests/fixtures/onboard/solo.env.txt +26 -0
  200. package/src/tests/http-log-scrubbing.test.ts +34 -1
  201. package/src/tests/http-task-write-ownership.test.ts +5 -1
  202. package/src/tests/invites-http.test.ts +464 -0
  203. package/src/tests/memory-embedding-input-cap.test.ts +122 -1
  204. package/src/tests/memory-embedding-recovery.test.ts +137 -0
  205. package/src/tests/onboard-compose.test.ts +142 -0
  206. package/src/tests/onboard-env.test.ts +24 -0
  207. package/src/tests/onboard-non-interactive.test.ts +29 -0
  208. package/src/tests/onboard-tei-image.test.ts +36 -0
  209. package/src/tests/onboarding.test.ts +451 -4
  210. package/src/tests/openai-embedding-provider.test.ts +105 -2
  211. package/src/tests/pi-mono-session-cost-on-abort.test.ts +270 -0
  212. package/src/tests/preload-env.test.ts +4 -0
  213. package/src/tests/preload.ts +4 -0
  214. package/src/tests/prompt-template-session.test.ts +19 -3
  215. package/src/tests/rbac-admission-e2e.test.ts +22 -6
  216. package/src/tests/rbac-admission.test.ts +342 -4
  217. package/src/tests/rbac-engine.test.ts +1 -0
  218. package/src/tests/rbac-roles.test.ts +9 -1
  219. package/src/tests/send-task-requester-gate.test.ts +64 -3
  220. package/src/tests/sessions-move.test.ts +39 -1
  221. package/src/tests/store-progress-learning.test.ts +95 -2
  222. package/src/tests/whoami-route.test.ts +41 -0
  223. package/src/tools/inject-learning.ts +1 -1
  224. package/src/tools/memory-edit.ts +1 -1
  225. package/src/tools/memory-search.ts +1 -1
  226. package/src/tools/store-progress.ts +5 -1
  227. package/src/tools/utils.ts +12 -1
  228. package/src/utils/constants.ts +39 -0
  229. package/src/utils/task-attachment-links.ts +15 -3
  230. package/templates/skills/swarm-docs/content.md +1 -1
  231. package/dist/handlers-tzmevqb5.js +0 -41
  232. package/dist/{azure-openai-responses-9kfwhmn7.js → azure-openai-responses-43asa23s.js} +0 -0
  233. package/dist/{node-vxx896fa.js → node-t28cc56b.js} +0 -0
  234. package/dist/{openai-codex-responses-79s8xnbh.js → openai-codex-responses-jhr3sjtm.js} +3 -3
  235. package/dist/{openai-completions-tdbyts0x.js → openai-completions-gs6yn37k.js} +3 -3
  236. /package/dist/{openai-responses-dm3t5vqp.js → openai-responses-jqm9vwwk.js} +0 -0
@@ -8,11 +8,11 @@ import {
8
8
  resolveConfigValueOrThrow,
9
9
  resolveHeadersOrThrow,
10
10
  FileAuthStorageBackend
11
- } from "./cli-2y7v133v.js";
11
+ } from "./cli-0w4e4v58.js";
12
12
  import {
13
13
  oauthSuccessHtml,
14
14
  oauthErrorHtml
15
- } from "./cli-1m9x8dr5.js";
15
+ } from "./cli-ekptgk2m.js";
16
16
  import {
17
17
  __toESM
18
18
  } from "./cli-242037k3.js";
@@ -10,7 +10,7 @@ import {
10
10
  } from "./cli-0726awxw.js";
11
11
  import {
12
12
  summarizeSession
13
- } from "./cli-c668vvcf.js";
13
+ } from "./cli-d8gaphtr.js";
14
14
  import {
15
15
  getOpenRouterAttributionHeaders,
16
16
  init_openrouter_base_url
@@ -20,7 +20,7 @@ import {
20
20
  resolveTemplateAsync,
21
21
  init_resolver,
22
22
  init_session_templates
23
- } from "./cli-f1e0ptjj.js";
23
+ } from "./cli-b41p764a.js";
24
24
  import {
25
25
  isSessionSummarySkipped,
26
26
  init_env_flag
@@ -34,7 +34,7 @@ import {
34
34
  stream4,
35
35
  streamSimple2,
36
36
  completeSimple
37
- } from "./cli-1m9x8dr5.js";
37
+ } from "./cli-ekptgk2m.js";
38
38
  import {
39
39
  lazyStream,
40
40
  ModelsError,
@@ -54374,7 +54374,7 @@ function loadAllHighlightLanguages() {
54374
54374
  if (!allLanguagesPromise) {
54375
54375
  allLanguagesPromise = new Promise((resolve) => {
54376
54376
  setImmediate(() => {
54377
- import("./index-syvhnvtw.js").then((m)=>__toESM(m.default,1)).then(() => resolve(), () => {
54377
+ import("./index-ebnjhxh1.js").then((m)=>__toESM(m.default,1)).then(() => resolve(), () => {
54378
54378
  resolve();
54379
54379
  });
54380
54380
  });
@@ -60517,7 +60517,7 @@ function getCreateJiti() {
60517
60517
  }
60518
60518
  var virtualModulesPromise;
60519
60519
  function getVirtualModules() {
60520
- virtualModulesPromise ??= import("./virtual-modules-xsw323b3.js").then((module) => module.VIRTUAL_MODULES);
60520
+ virtualModulesPromise ??= import("./virtual-modules-c6fcq6zr.js").then((module) => module.VIRTUAL_MODULES);
60521
60521
  return virtualModulesPromise;
60522
60522
  }
60523
60523
  var _aliases = null;
@@ -80221,7 +80221,7 @@ function parseCodemodeSource(input) {
80221
80221
  }
80222
80222
 
80223
80223
  // node_modules/@earendil-works/pi-coding-agent/dist/extensions/codemode/execute.lazy.js
80224
- var loadCodemodeExecutor = () => import("./execute-cjrfxfnm.js");
80224
+ var loadCodemodeExecutor = () => import("./execute-9seb79vh.js");
80225
80225
 
80226
80226
  // node_modules/@earendil-works/pi-coding-agent/dist/extensions/codemode/renderer.js
80227
80227
  var CODE_PREVIEW_LINES = 10;
@@ -81377,7 +81377,7 @@ function createMcpResourceToolDefinitions(options) {
81377
81377
  }
81378
81378
 
81379
81379
  // node_modules/@earendil-works/pi-coding-agent/dist/extensions/mcp/runtime.lazy.js
81380
- var loadMcpRuntime = () => import("./runtime-f7tpzedy.js");
81380
+ var loadMcpRuntime = () => import("./runtime-kajas15g.js");
81381
81381
 
81382
81382
  // node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.js
81383
81383
  import { randomUUID as randomUUID3 } from "node:crypto";
@@ -86498,7 +86498,7 @@ var builtInExtensions = [
86498
86498
  ];
86499
86499
 
86500
86500
  // node_modules/@earendil-works/pi-coding-agent/dist/extensions/mcp/cli.lazy.js
86501
- var loadMcpCommand = () => import("./cli-ay40dnj3.js");
86501
+ var loadMcpCommand = () => import("./cli-k7d3hvya.js");
86502
86502
 
86503
86503
  // node_modules/@earendil-works/pi-coding-agent/dist/migrations.js
86504
86504
  import { existsSync as existsSync22, mkdirSync as mkdirSync11, readdirSync as readdirSync10, readFileSync as readFileSync17, renameSync as renameSync2, rmSync as rmSync3, writeFileSync as writeFileSync11 } from "fs";
@@ -89025,7 +89025,7 @@ function playEasterEgg3d(tui, egg) {
89025
89025
  if (tui.hasOverlay())
89026
89026
  return true;
89027
89027
  const screen = tui.getScreenLines();
89028
- import("./easter-egg-3d-8d1e0h4m.js").then((module) => module.playEasterEgg3d(tui, screen, egg), () => {});
89028
+ import("./easter-egg-3d-28f880xx.js").then((module) => module.playEasterEgg3d(tui, screen, egg), () => {});
89029
89029
  return true;
89030
89030
  }
89031
89031
  function playPiLogo3d(tui, column, row) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb2,
3
3
  init_db3
4
- } from "./cli-48gxjmcz.js";
4
+ } from "./cli-qvaa1gjp.js";
5
5
  import {
6
6
  openAICompatibleProviderIds,
7
7
  withRegistryCatalogSections,
@@ -25,6 +25,20 @@ function getAgentFsLiveUrl() {
25
25
  const raw = process.env.AGENT_FS_LIVE_URL?.trim();
26
26
  return (raw || DEFAULT_AGENT_FS_LIVE_URL).replace(/\/+$/, "");
27
27
  }
28
+ function readAgentFsLinkTarget() {
29
+ const raw = process.env.AGENT_FS_LINK_TARGET?.trim().toLowerCase();
30
+ return raw === "dashboard" || raw === "live" ? raw : null;
31
+ }
32
+ function resolveAgentFsLinkBase(surface) {
33
+ const target = readAgentFsLinkTarget();
34
+ if (target === null)
35
+ return null;
36
+ if (target === "dashboard" && getConfiguredAppUrls().length > 0) {
37
+ if (surface === "prompt" || isCombEnabled())
38
+ return getAppUrl();
39
+ }
40
+ return getAgentFsLiveUrl();
41
+ }
28
42
  function getAgentFsDefaultOrgId() {
29
43
  const raw = process.env.AGENT_FS_DEFAULT_ORG_ID?.trim();
30
44
  return raw || undefined;
@@ -58,6 +72,9 @@ function isCombEnabled() {
58
72
  const apiUrl = process.env.AGENT_FS_API_URL?.trim().replace(/\/+$/, "");
59
73
  return isEnvFlagEnabled("COMB_ENABLED", false) && Boolean(apiUrl);
60
74
  }
75
+ function isAgentFsProxyEnabled() {
76
+ return isEnvFlagEnabled("AGENT_FS_PROXY", false);
77
+ }
61
78
  function buildCombFileUrl(opts) {
62
79
  if (!isCombEnabled() || getConfiguredAppUrls().length === 0)
63
80
  return null;
@@ -71,4 +88,4 @@ var init_constants2 = __esm(() => {
71
88
  DOT_SEGMENT_RE = /^(?:\.|%2e){1,2}$/i;
72
89
  });
73
90
 
74
- export { MAX_PROFILE_FILE_LENGTH, getConfiguredAppUrls, getAppUrl, getMcpBaseUrl, getPublicMcpBaseUrl, getAgentFsLiveUrl, getAgentFsDefaultOrgId, getAgentFsDefaultDriveId, agentFsFileRoute, buildAgentFsLiveUrl, isCombEnabled, buildCombFileUrl, init_constants2 };
91
+ export { MAX_PROFILE_FILE_LENGTH, DEFAULT_APP_URL, getConfiguredAppUrls, getAppUrl, getMcpBaseUrl, getPublicMcpBaseUrl, getAgentFsLiveUrl, resolveAgentFsLinkBase, getAgentFsDefaultOrgId, getAgentFsDefaultDriveId, agentFsFileRoute, buildAgentFsLiveUrl, isCombEnabled, isAgentFsProxyEnabled, buildCombFileUrl, init_constants2 };
@@ -6961,7 +6961,7 @@ var require_SocketModeClient = __commonJS(function(exports) {
6961
6961
  });
6962
6962
 
6963
6963
  // node_modules/@slack/socket-mode/dist/src/index.js
6964
- var require_src2 = __commonJS(function(exports) {
6964
+ var require_src = __commonJS(function(exports) {
6965
6965
  Object.defineProperty(exports, "__esModule", { value: true });
6966
6966
  exports.UnrecoverableSocketModeStartError = exports.SocketModeClient = exports.LogLevel = exports.ErrorCode = undefined;
6967
6967
  var errors_1 = require_errors2();
@@ -6982,4 +6982,4 @@ var require_src2 = __commonJS(function(exports) {
6982
6982
  } });
6983
6983
  });
6984
6984
 
6985
- export { require_dist5, require_axios, require_is_electron, require_is_stream, require_dist6, require_eventemitter3, require_dist7, require_dist8, require_src2 };
6985
+ export { require_dist5, require_axios, require_is_electron, require_is_stream, require_dist6, require_eventemitter3, require_dist7, require_dist8, require_src };
@@ -33,7 +33,7 @@ import {
33
33
  getPendingWaitsByEvent2,
34
34
  resolveWaitState2,
35
35
  init_db3
36
- } from "./cli-48gxjmcz.js";
36
+ } from "./cli-qvaa1gjp.js";
37
37
  import {
38
38
  BaseExecutor,
39
39
  postApprovalCancellationUpdates,
@@ -61,7 +61,7 @@ import {
61
61
  stepFailureMode,
62
62
  getNextTargets,
63
63
  getSuccessors
64
- } from "./cli-j0ppywdr.js";
64
+ } from "./cli-dv11pgpv.js";
65
65
  import {
66
66
  workflowEventBus2,
67
67
  init_event_bus
@@ -70,7 +70,7 @@ import {
70
70
  RetryPolicySchema,
71
71
  SUPERSEDED_WORKFLOW_TASK_REASON,
72
72
  init_types
73
- } from "./cli-9pshx6rd.js";
73
+ } from "./cli-s504c3w7.js";
74
74
  import {
75
75
  init_zod
76
76
  } from "./cli-4chz1hye.js";
@@ -66,7 +66,7 @@ import {
66
66
  getStaleApprovalRequests2,
67
67
  upsertKv2,
68
68
  init_db3
69
- } from "./cli-48gxjmcz.js";
69
+ } from "./cli-qvaa1gjp.js";
70
70
  import {
71
71
  poolTaskRunsOnHarness,
72
72
  isRuntimePoolWakeable,
@@ -87,34 +87,35 @@ import {
87
87
  createRerouteDecisionTask,
88
88
  createPoolStarvationDecisionTask,
89
89
  canClaim
90
- } from "./cli-6a9qfa8b.js";
90
+ } from "./cli-pzafyqtk.js";
91
91
  import {
92
92
  runtimeStaleThresholdMinutes,
93
93
  countActiveRuntimeInstancesForAgent,
94
94
  agentsWithLiveRuntime,
95
95
  expireStaleRuntimeInstances,
96
96
  createApprovalFollowUpTask
97
- } from "./cli-j0ppywdr.js";
97
+ } from "./cli-dv11pgpv.js";
98
98
  import {
99
99
  listRuntimePools2,
100
100
  init_db
101
- } from "./cli-6srv653c.js";
101
+ } from "./cli-6vwjsetx.js";
102
102
  import {
103
103
  remediateStalledRuntime
104
- } from "./cli-9gsm2rzp.js";
104
+ } from "./cli-f3mzy662.js";
105
105
  import {
106
106
  runScriptWithRunCredential,
107
107
  runSavedScriptAsAgent
108
- } from "./cli-j9bpmykh.js";
108
+ } from "./cli-kbtdftbw.js";
109
109
  import {
110
+ recordIdentityEvent,
110
111
  mintToken,
111
112
  init_users
112
- } from "./cli-a89zdqz9.js";
113
+ } from "./cli-nf6k60sn.js";
113
114
  import {
114
115
  TERMINAL_TASK_STATUSES,
115
116
  SUPERSEDED_WORKFLOW_TASK_REASON,
116
117
  init_types
117
- } from "./cli-9pshx6rd.js";
118
+ } from "./cli-s504c3w7.js";
118
119
  import {
119
120
  DEFAULT_OPENROUTER_BASE_URL,
120
121
  getOpenRouterBaseUrl,
@@ -125,11 +126,11 @@ import {
125
126
  init_registry,
126
127
  resolveTemplate,
127
128
  init_resolver
128
- } from "./cli-f1e0ptjj.js";
129
+ } from "./cli-b41p764a.js";
129
130
  import {
130
131
  init_package,
131
132
  package_default
132
- } from "./cli-ptfq202x.js";
133
+ } from "./cli-swkx9jm2.js";
133
134
  import {
134
135
  isEnvFlagEnabled,
135
136
  init_env_flag
@@ -438,31 +439,49 @@ init_db3();
438
439
  init_users();
439
440
  import { createHash, randomBytes } from "node:crypto";
440
441
  var CONNECTOR_CODE_TTL_MS = 10 * 60 * 1000;
442
+ var INVITE_CODE_TTL_MS = 7 * 24 * 60 * 60 * 1000;
441
443
  var CONNECTOR_CODE_RETENTION_MS = 60 * 60 * 1000;
442
444
  var DEFAULT_CONNECTOR_CODE_LABEL = "ChatGPT connector";
445
+ var DEFAULT_INVITE_CODE_LABEL = "Dashboard invite";
443
446
  function sha256Hex(input) {
444
447
  return createHash("sha256").update(input).digest("hex");
445
448
  }
446
- async function createConnectorCode(userId, label, actor, now = new Date) {
449
+ async function createConnectorCode(userId, label, actor, now = new Date, opts = {}) {
450
+ const kind = opts.kind ?? "connector";
451
+ const ttlMs = opts.ttlMs ?? CONNECTOR_CODE_TTL_MS;
447
452
  const code = randomBytes(32).toString("base64url");
448
- const expiresAt = new Date(now.getTime() + CONNECTOR_CODE_TTL_MS).toISOString();
453
+ const expiresAt = new Date(now.getTime() + ttlMs).toISOString();
449
454
  await getDbClient2().run(`INSERT INTO connector_codes
450
- (code_hash, user_id, label, actor_kind, actor_id, created_at, expires_at)
451
- VALUES (?, ?, ?, ?, ?, ?, ?)`, [sha256Hex(code), userId, label, actor.kind, actor.id, now.toISOString(), expiresAt]);
455
+ (code_hash, user_id, label, actor_kind, actor_id, created_at, expires_at, kind)
456
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [sha256Hex(code), userId, label, actor.kind, actor.id, now.toISOString(), expiresAt, kind]);
452
457
  return { code, expiresAt };
453
458
  }
454
- async function exchangeConnectorCode(code, now = new Date) {
455
- const nowIso = now.toISOString();
459
+ async function exchangeConnectorCode(code, opts = {}) {
460
+ const kind = opts.kind ?? "connector";
461
+ const nowIso = (opts.now ?? new Date).toISOString();
456
462
  return getDbClient2().transaction(async (tx) => {
457
463
  const row = await tx.get(`UPDATE connector_codes SET used_at = ?
458
- WHERE code_hash = ? AND used_at IS NULL AND expires_at > ?
459
- RETURNING user_id, label, actor_kind, actor_id`, [nowIso, sha256Hex(code), nowIso]);
464
+ WHERE code_hash = ? AND used_at IS NULL AND expires_at > ? AND kind = ?
465
+ RETURNING user_id, label, actor_kind, actor_id`, [nowIso, sha256Hex(code), nowIso, kind]);
460
466
  if (!row)
461
467
  return null;
462
- const { plaintext } = await mintToken(row.user_id, row.label, { kind: row.actor_kind, id: row.actor_id }, { source: "connector_exchange" });
468
+ const actor = { kind: row.actor_kind, id: row.actor_id };
469
+ if (kind === "invite") {
470
+ const activated = await tx.run("UPDATE users SET status = 'active', lastUpdatedAt = ? WHERE id = ? AND status = 'invited'", [nowIso, row.user_id]);
471
+ if (activated.changes === 0)
472
+ return null;
473
+ await recordIdentityEvent(row.user_id, "status_changed", actor, { status: "invited" }, { status: "active", source: "invite_exchange" });
474
+ }
475
+ const { plaintext } = await mintToken(row.user_id, row.label, actor, {
476
+ source: kind === "invite" ? "invite_exchange" : "connector_exchange"
477
+ });
463
478
  return { token: plaintext, userId: row.user_id };
464
479
  });
465
480
  }
481
+ async function deleteUnusedInviteCodes(userId) {
482
+ const result = await getDbClient2().run("DELETE FROM connector_codes WHERE user_id = ? AND kind = 'invite' AND used_at IS NULL", [userId]);
483
+ return result.changes;
484
+ }
466
485
  async function deleteExpiredConnectorCodes(now = new Date) {
467
486
  const cutoff = new Date(now.getTime() - CONNECTOR_CODE_RETENTION_MS).toISOString();
468
487
  const result = await getDbClient2().run("DELETE FROM connector_codes WHERE expires_at < ?", [
@@ -1834,4 +1853,4 @@ function stopHeartbeatChecklist() {
1834
1853
  }
1835
1854
  }
1836
1855
 
1837
- export { startPoolRouting, stopPoolRouting, DEFAULT_CONNECTOR_CODE_LABEL, createConnectorCode, exchangeConnectorCode, remediateTaskForDeadRuntime2, getBootEpochMs2, runRebootSweep2, getRebootAffectedTasks2, checkHeartbeatChecklist2, runHeartbeatSweep2, startHeartbeat2, stopHeartbeat2 };
1856
+ export { startPoolRouting, stopPoolRouting, INVITE_CODE_TTL_MS, DEFAULT_CONNECTOR_CODE_LABEL, DEFAULT_INVITE_CODE_LABEL, createConnectorCode, exchangeConnectorCode, deleteUnusedInviteCodes, remediateTaskForDeadRuntime2, getBootEpochMs2, runRebootSweep2, getRebootAffectedTasks2, checkHeartbeatChecklist2, runHeartbeatSweep2, startHeartbeat2, stopHeartbeat2 };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_package,
3
3
  package_default
4
- } from "./cli-ptfq202x.js";
4
+ } from "./cli-swkx9jm2.js";
5
5
 
6
6
  // src/commands/shared/client-config.ts
7
7
  init_package();
@@ -15,17 +15,17 @@ import {
15
15
  init_secret_registry,
16
16
  upsertSwarmConfig2,
17
17
  init_db3
18
- } from "./cli-48gxjmcz.js";
18
+ } from "./cli-qvaa1gjp.js";
19
19
  import {
20
20
  createRuntimeProvider,
21
21
  init_runtime_providers
22
- } from "./cli-39aet655.js";
22
+ } from "./cli-m52t4cta.js";
23
23
  import {
24
24
  closeSessionTokenConnections,
25
25
  init_session_token_connections,
26
26
  insertSessionToken,
27
27
  init_users
28
- } from "./cli-a89zdqz9.js";
28
+ } from "./cli-nf6k60sn.js";
29
29
  import {
30
30
  RuntimeControllerCreateSchema,
31
31
  RuntimeControllerUpdateSchema,
@@ -33,7 +33,7 @@ import {
33
33
  RuntimePoolUpdateSchema,
34
34
  RuntimePoolCreateAgentSchema,
35
35
  init_types
36
- } from "./cli-9pshx6rd.js";
36
+ } from "./cli-s504c3w7.js";
37
37
  import {
38
38
  scrubSecrets,
39
39
  registerVolatileSecret,
@@ -2,10 +2,10 @@ import {
2
2
  contextStatePath,
3
3
  contextBoundNoteMarkerPath,
4
4
  recordContextState
5
- } from "./cli-sjctjr48.js";
5
+ } from "./cli-dscnhn18.js";
6
6
  import {
7
7
  runStopHookSessionSummarySubprocess
8
- } from "./cli-yxbsmx56.js";
8
+ } from "./cli-vg8pwmsd.js";
9
9
  import {
10
10
  redactRateLimitEventLine,
11
11
  SessionErrorTracker,
@@ -29,7 +29,7 @@ import {
29
29
  import {
30
30
  isHarnessOtelEnabled,
31
31
  buildOtelTraceparentEnv
32
- } from "./cli-vbhgkw9h.js";
32
+ } from "./cli-h3e7bhvn.js";
33
33
  import {
34
34
  applyReasoningEffort
35
35
  } from "./cli-c081bj3b.js";
@@ -48,12 +48,12 @@ import {
48
48
  isClaudeBridgeEffective
49
49
  } from "./cli-9fzgd3hg.js";
50
50
  import {
51
- require_src
52
- } from "./cli-dv97kdzv.js";
51
+ require_src2
52
+ } from "./cli-wdxgsdz5.js";
53
53
  import {
54
54
  withFileLock,
55
55
  init_file_lock
56
- } from "./cli-x37r7qwf.js";
56
+ } from "./cli-kj69b9tw.js";
57
57
  import {
58
58
  routeCredentialStatus,
59
59
  deriveDefaultRoute,
@@ -81,7 +81,7 @@ import {
81
81
 
82
82
  // src/providers/claude-adapter.ts
83
83
  init_src();
84
- var import_api = __toESM(require_src(), 1);
84
+ var import_api = __toESM(require_src2(), 1);
85
85
  import { execFile } from "node:child_process";
86
86
  import { randomUUID } from "node:crypto";
87
87
  import {
@@ -1259,7 +1259,7 @@ class ClaudeAdapter2 {
1259
1259
  if (transport === "sdk" && isClaudeBridgeEffective(sourceEnv)) {
1260
1260
  throw new Error("CLAUDE_TRANSPORT=sdk cannot run with an effective Claude Bridge configuration. Select CLI transport or disable the bridge.");
1261
1261
  }
1262
- const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-f29f3b2x.js") : undefined;
1262
+ const claudeSdk = transport === "sdk" ? await import("./claude-sdk-session-n5wen9zk.js") : undefined;
1263
1263
  claudeSdk?.validateClaudeSdkAdditionalArgs([
1264
1264
  ...claudeBinaryArgv.slice(1),
1265
1265
  ...config.additionalArgs ?? []
@@ -2,7 +2,7 @@ import {
2
2
  isGrokOpenRouterModel,
3
3
  grokTargetProfile,
4
4
  ACPAdapter2
5
- } from "./cli-s0mgx214.js";
5
+ } from "./cli-fk7k8s9x.js";
6
6
  import {
7
7
  getOpenRouterBaseUrl,
8
8
  getOpenRouterAttributionHeaders,