openmeld 0.3.244 → 0.3.247

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 (116) hide show
  1. package/dist/{add-me-membership-CWS97GK8.js → add-me-membership-DUeJA9q4.js} +2 -2
  2. package/dist/{add-me-membership-CWS97GK8.js.map → add-me-membership-DUeJA9q4.js.map} +1 -1
  3. package/dist/{agents-BoapsuRq.js → agents-woAcH0O6.js} +10 -10
  4. package/dist/{agents-BoapsuRq.js.map → agents-woAcH0O6.js.map} +1 -1
  5. package/dist/{api-client-foundation-BYTxVhem.js → api-client-foundation-DMEfIARh.js} +3 -3
  6. package/dist/{api-client-foundation-BYTxVhem.js.map → api-client-foundation-DMEfIARh.js.map} +1 -1
  7. package/dist/{api-client-foundation-DDdQCc2T.js → api-client-foundation-mqLjUunz.js} +1 -1
  8. package/dist/{auth-session-CpKxiYC2.js → auth-session-D7hlE-47.js} +3 -3
  9. package/dist/{auth-session-CpKxiYC2.js.map → auth-session-D7hlE-47.js.map} +1 -1
  10. package/dist/auth-session-DXxmGll1.js +4 -0
  11. package/dist/{channel-BXovlRXN.js → channel-BeUv2bLR.js} +4 -4
  12. package/dist/{channel-BXovlRXN.js.map → channel-BeUv2bLR.js.map} +1 -1
  13. package/dist/{cli-binary-manifest-ETxqCzfS.js → cli-binary-manifest-ChuzORh3.js} +2 -2
  14. package/dist/{cli-binary-manifest-ETxqCzfS.js.map → cli-binary-manifest-ChuzORh3.js.map} +1 -1
  15. package/dist/{cloud-computer-D2VuZov1.js → cloud-computer-C81_vVOV.js} +4 -4
  16. package/dist/{cloud-computer-D2VuZov1.js.map → cloud-computer-C81_vVOV.js.map} +1 -1
  17. package/dist/{command-BZvpjGWe.js → command-qNknO9gl.js} +16 -16
  18. package/dist/{command-BZvpjGWe.js.map → command-qNknO9gl.js.map} +1 -1
  19. package/dist/{computer-connection-Cd5R-jnA.js → computer-connection-WpsIQfkh.js} +2 -2
  20. package/dist/{computer-connection-Cd5R-jnA.js.map → computer-connection-WpsIQfkh.js.map} +1 -1
  21. package/dist/{computer-connection-review-lBDHLC0c.js → computer-connection-review-Df2G8VWY.js} +5 -5
  22. package/dist/{computer-connection-review-lBDHLC0c.js.map → computer-connection-review-Df2G8VWY.js.map} +1 -1
  23. package/dist/{computer-disconnect-C6OH3940.js → computer-disconnect-ttAH9WgN.js} +7 -7
  24. package/dist/{computer-disconnect-C6OH3940.js.map → computer-disconnect-ttAH9WgN.js.map} +1 -1
  25. package/dist/{computer-setup-continuation-BsSM1pzW.js → computer-setup-continuation-tbuUZSe5.js} +3 -3
  26. package/dist/{computer-setup-continuation-BsSM1pzW.js.map → computer-setup-continuation-tbuUZSe5.js.map} +1 -1
  27. package/dist/{context-BbodhIFX.js → context-x0T_qTHp.js} +4 -4
  28. package/dist/{context-BbodhIFX.js.map → context-x0T_qTHp.js.map} +1 -1
  29. package/dist/{control-plane-TOfZ-veG.js → control-plane-B93wmVS6.js} +2 -2
  30. package/dist/{control-plane-TOfZ-veG.js.map → control-plane-B93wmVS6.js.map} +1 -1
  31. package/dist/{daemon-device-id-DwMFWGI5.js → daemon-device-id-DgwvQllt.js} +5 -5
  32. package/dist/{daemon-device-id-DwMFWGI5.js.map → daemon-device-id-DgwvQllt.js.map} +1 -1
  33. package/dist/{daemon-lifecycle-journal-NJaimyPD.js → daemon-lifecycle-journal-C32I8p4n.js} +7 -6
  34. package/dist/{daemon-lifecycle-journal-NJaimyPD.js.map → daemon-lifecycle-journal-C32I8p4n.js.map} +1 -1
  35. package/dist/{daemon-service-runtime-COC1JtWX.js → daemon-service-runtime-DVqzJKke.js} +4 -4
  36. package/dist/{daemon-service-runtime-COC1JtWX.js.map → daemon-service-runtime-DVqzJKke.js.map} +1 -1
  37. package/dist/{daemon-service-update-coordinator-BmZHGGiO.js → daemon-service-update-coordinator-BTlVzU-7.js} +17 -17
  38. package/dist/daemon-service-update-coordinator-BTlVzU-7.js.map +1 -0
  39. package/dist/{dispatch-owned-runtime-dLHDTL7f.js → dispatch-owned-runtime-g2lLeYtx.js} +211 -65
  40. package/dist/dispatch-owned-runtime-g2lLeYtx.js.map +1 -0
  41. package/dist/dist-CXB_bdSS.js +4 -0
  42. package/dist/{dist-Cu_yzOuS.js → dist-DGeoVaIx.js} +521 -288
  43. package/dist/dist-DGeoVaIx.js.map +1 -0
  44. package/dist/{dual-view-guide-catalog-8Pr5QO_z.js → dual-view-guide-catalog-CkcY09Kh.js} +4 -4
  45. package/dist/{dual-view-guide-catalog-8Pr5QO_z.js.map → dual-view-guide-catalog-CkcY09Kh.js.map} +1 -1
  46. package/dist/{elapsed-time-DCufUrLA.js → elapsed-time-BMG1CU23.js} +4 -4
  47. package/dist/{elapsed-time-DCufUrLA.js.map → elapsed-time-BMG1CU23.js.map} +1 -1
  48. package/dist/{entry-CJ289WR7.js → entry-CP7_Vgs4.js} +7 -7
  49. package/dist/{entry-CJ289WR7.js.map → entry-CP7_Vgs4.js.map} +1 -1
  50. package/dist/{installation-inventory-dvcGmUBg.js → installation-inventory-7JOtUjyG.js} +3 -3
  51. package/dist/{installation-inventory-dvcGmUBg.js.map → installation-inventory-7JOtUjyG.js.map} +1 -1
  52. package/dist/{installer-D0fh4fzg.js → installer-BRpAz1X_.js} +2 -2
  53. package/dist/{installer-D0fh4fzg.js.map → installer-BRpAz1X_.js.map} +1 -1
  54. package/dist/{local-components-DJiMS67S.js → local-components-jXECvlEY.js} +3 -2
  55. package/dist/local-components-jXECvlEY.js.map +1 -0
  56. package/dist/{meta-api-BdH7IJMv.js → meta-api-QskBmfuf.js} +5 -5
  57. package/dist/{meta-api-BdH7IJMv.js.map → meta-api-QskBmfuf.js.map} +1 -1
  58. package/dist/{open-code-permission-DHFJYc_o.js → open-code-permission-B5f1e5an.js} +2 -31
  59. package/dist/open-code-permission-B5f1e5an.js.map +1 -0
  60. package/dist/{openmeld-DQPDws0E.js → openmeld-BxTCCHMn.js} +224 -69
  61. package/dist/openmeld-BxTCCHMn.js.map +1 -0
  62. package/dist/{openmeld-maintenance-worker-ALfbSMyQ.js → openmeld-maintenance-worker-BQ2YbwA9.js} +9 -9
  63. package/dist/{openmeld-maintenance-worker-ALfbSMyQ.js.map → openmeld-maintenance-worker-BQ2YbwA9.js.map} +1 -1
  64. package/dist/{openmeld-tools-update-join-Cezc7ARc.js → openmeld-tools-update-join-Dj-MEQW_.js} +4 -4
  65. package/dist/{openmeld-tools-update-join-Cezc7ARc.js.map → openmeld-tools-update-join-Dj-MEQW_.js.map} +1 -1
  66. package/dist/{openmeld-tools-update-process-frame-YLOS82E3.js → openmeld-tools-update-process-frame-BtYOlJXu.js} +2 -2
  67. package/dist/{openmeld-tools-update-process-frame-YLOS82E3.js.map → openmeld-tools-update-process-frame-BtYOlJXu.js.map} +1 -1
  68. package/dist/{openmeld-tools-update-process-frame-Csy2XKUf.js → openmeld-tools-update-process-frame-CINV6Qt3.js} +1 -1
  69. package/dist/openmeld.js +5 -5
  70. package/dist/{prepare-provider-runtime-Cko0dLXN.js → prepare-provider-runtime-B6_dfpiZ.js} +1679 -1018
  71. package/dist/prepare-provider-runtime-B6_dfpiZ.js.map +1 -0
  72. package/dist/{prepare-session-executor-B-TWlSSd.js → prepare-session-executor-DA9saGAk.js} +19 -19
  73. package/dist/{prepare-session-executor-B-TWlSSd.js.map → prepare-session-executor-DA9saGAk.js.map} +1 -1
  74. package/dist/{process-channel-z_4u04-k.js → process-channel-HthE5ehS.js} +2 -2
  75. package/dist/{process-channel-z_4u04-k.js.map → process-channel-HthE5ehS.js.map} +1 -1
  76. package/dist/{runtime-C6SS6jm6.js → runtime-C7lY_Z2r.js} +104 -21
  77. package/dist/{runtime-C6SS6jm6.js.map → runtime-C7lY_Z2r.js.map} +1 -1
  78. package/dist/{runtime-agent-controller-reporting-submission-Cyb5OuVp.js → runtime-agent-controller-reporting-submission-IhxMO4UA.js} +80 -19
  79. package/dist/runtime-agent-controller-reporting-submission-IhxMO4UA.js.map +1 -0
  80. package/dist/{runtime-transport-DYbpUYBL.js → runtime-transport-DRb5__yP.js} +214 -37
  81. package/dist/runtime-transport-DRb5__yP.js.map +1 -0
  82. package/dist/{service-DjqXdt6p.js → service-DveGEdh3.js} +315 -24
  83. package/dist/service-DveGEdh3.js.map +1 -0
  84. package/dist/{service-account-authorization-BZFLy1E7.js → service-account-authorization-CAVkiKSF.js} +2 -2
  85. package/dist/{service-account-authorization-BZFLy1E7.js.map → service-account-authorization-CAVkiKSF.js.map} +1 -1
  86. package/dist/{service-account-control-CsXtCjRi.js → service-account-control-BtE73wcO.js} +9 -9
  87. package/dist/{service-account-control-CsXtCjRi.js.map → service-account-control-BtE73wcO.js.map} +1 -1
  88. package/dist/{service-control-capabilities-Ck-KcBXg.js → service-control-capabilities-BQrqIGBP.js} +3 -3
  89. package/dist/{service-control-capabilities-Ck-KcBXg.js.map → service-control-capabilities-BQrqIGBP.js.map} +1 -1
  90. package/dist/{service-control-capabilities-C4SOrFHN.js → service-control-capabilities-adDptMIH.js} +1 -1
  91. package/dist/{state-BmiyrHe4.js → state-DWwNdCy5.js} +2 -2
  92. package/dist/{state-BmiyrHe4.js.map → state-DWwNdCy5.js.map} +1 -1
  93. package/dist/{updates-api-DD3p5dx5.js → updates-api-9midbUU1.js} +71 -167
  94. package/dist/updates-api-9midbUU1.js.map +1 -0
  95. package/dist/upgrade-BvpBhL0U.js +4 -0
  96. package/dist/{upgrade-DIt6nkyo.js → upgrade-H-_QW75e.js} +9 -9
  97. package/dist/{upgrade-DIt6nkyo.js.map → upgrade-H-_QW75e.js.map} +1 -1
  98. package/package.json +13 -12
  99. package/skills/openmeld-cli/SKILL.md +5 -2
  100. package/skills/openmeld-cli/playbooks/computer.md +55 -0
  101. package/skills/openmeld-cli/playbooks/plugins.md +37 -0
  102. package/skills/openmeld-cli/references/commands.md +20 -0
  103. package/dist/auth-session-EhHX7q2K.js +0 -4
  104. package/dist/daemon-service-update-coordinator-BmZHGGiO.js.map +0 -1
  105. package/dist/dispatch-owned-runtime-dLHDTL7f.js.map +0 -1
  106. package/dist/dist-BDix0nxy.js +0 -4
  107. package/dist/dist-Cu_yzOuS.js.map +0 -1
  108. package/dist/local-components-DJiMS67S.js.map +0 -1
  109. package/dist/open-code-permission-DHFJYc_o.js.map +0 -1
  110. package/dist/openmeld-DQPDws0E.js.map +0 -1
  111. package/dist/prepare-provider-runtime-Cko0dLXN.js.map +0 -1
  112. package/dist/runtime-agent-controller-reporting-submission-Cyb5OuVp.js.map +0 -1
  113. package/dist/runtime-transport-DYbpUYBL.js.map +0 -1
  114. package/dist/service-DjqXdt6p.js.map +0 -1
  115. package/dist/updates-api-DD3p5dx5.js.map +0 -1
  116. package/dist/upgrade-3z755G8g.js +0 -4
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ExecutionHostError } from "./channel-BXovlRXN.js";
3
+ import { t as ExecutionHostError } from "./channel-BeUv2bLR.js";
4
4
  //#region src/local-service/execution-host/process-channel.ts
5
5
  function childExecutionHostChannel(child) {
6
6
  return {
@@ -61,4 +61,4 @@ function parentExecutionHostChannel() {
61
61
  //#endregion
62
62
  export { parentExecutionHostChannel as n, childExecutionHostChannel as t };
63
63
 
64
- //# sourceMappingURL=process-channel-z_4u04-k.js.map
64
+ //# sourceMappingURL=process-channel-HthE5ehS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-channel-z_4u04-k.js","names":[],"sources":["../src/local-service/execution-host/process-channel.ts"],"sourcesContent":["import type { ChildProcess } from \"node:child_process\";\nimport type { ExecutionHostChannel } from \"./channel\";\nimport { ExecutionHostError } from \"./channel\";\n\n// Use inherited Node-compatible IPC with JSON serialization. Provider stdout is\n// not a protocol channel; ordinary logs cannot become control messages.\nexport function childExecutionHostChannel(\n child: ChildProcess\n): ExecutionHostChannel {\n return {\n connected: () => child.connected,\n send: (message, completed) => {\n child.send(message, (error) => completed(error ?? null));\n },\n onMessage: (listener) => {\n child.on(\"message\", listener);\n return () => {\n child.off(\"message\", listener);\n };\n },\n onDisconnect: (listener) => {\n let observed = false;\n const finish = (error?: Error) => {\n if (!observed) {\n observed = true;\n listener(error);\n }\n };\n const exited = (code: number | null, signal: NodeJS.Signals | null) => {\n finish(\n new Error(`Host process exited (${signal ?? code ?? \"unknown\"})`)\n );\n };\n child.on(\"disconnect\", finish);\n child.on(\"exit\", exited);\n // Spawn/send failures must not become unhandled EventEmitter errors.\n child.on(\"error\", finish);\n return () => {\n child.off(\"disconnect\", finish);\n child.off(\"exit\", exited);\n child.off(\"error\", finish);\n };\n },\n };\n}\n\nexport function parentExecutionHostChannel(): ExecutionHostChannel {\n const send = process.send?.bind(process);\n if (!(send && process.connected)) {\n throw new ExecutionHostError(\n \"host.inherited_channel_required\",\n \"The execution host requires its supervisor's inherited IPC channel.\"\n );\n }\n return {\n connected: () => process.connected === true,\n send: (message, completed) => {\n send(message, undefined, undefined, (error) => completed(error ?? null));\n },\n onMessage: (listener) => {\n process.on(\"message\", listener);\n return () => {\n process.off(\"message\", listener);\n };\n },\n onDisconnect: (listener) => {\n process.on(\"disconnect\", listener);\n return () => {\n process.off(\"disconnect\", listener);\n };\n },\n };\n}\n"],"mappings":";;;;AAMA,SAAgB,0BACd,OACsB;CACtB,OAAO;EACL,iBAAiB,MAAM;EACvB,OAAO,SAAS,cAAc;GAC5B,MAAM,KAAK,UAAU,UAAU,UAAU,SAAS,IAAI,CAAC;EACzD;EACA,YAAY,aAAa;GACvB,MAAM,GAAG,WAAW,QAAQ;GAC5B,aAAa;IACX,MAAM,IAAI,WAAW,QAAQ;GAC/B;EACF;EACA,eAAe,aAAa;GAC1B,IAAI,WAAW;GACf,MAAM,UAAU,UAAkB;IAChC,IAAI,CAAC,UAAU;KACb,WAAW;KACX,SAAS,KAAK;IAChB;GACF;GACA,MAAM,UAAU,MAAqB,WAAkC;IACrE,uBACE,IAAI,MAAM,wBAAwB,UAAU,QAAQ,UAAU,EAAE,CAClE;GACF;GACA,MAAM,GAAG,cAAc,MAAM;GAC7B,MAAM,GAAG,QAAQ,MAAM;GAEvB,MAAM,GAAG,SAAS,MAAM;GACxB,aAAa;IACX,MAAM,IAAI,cAAc,MAAM;IAC9B,MAAM,IAAI,QAAQ,MAAM;IACxB,MAAM,IAAI,SAAS,MAAM;GAC3B;EACF;CACF;AACF;AAEA,SAAgB,6BAAmD;CACjE,MAAM,OAAO,QAAQ,MAAM,KAAK,OAAO;CACvC,IAAI,EAAE,QAAQ,QAAQ,YACpB,MAAM,IAAI,mBACR,mCACA,qEACF;CAEF,OAAO;EACL,iBAAiB,QAAQ,cAAc;EACvC,OAAO,SAAS,cAAc;GAC5B,KAAK,SAAS,KAAA,GAAW,KAAA,IAAY,UAAU,UAAU,SAAS,IAAI,CAAC;EACzE;EACA,YAAY,aAAa;GACvB,QAAQ,GAAG,WAAW,QAAQ;GAC9B,aAAa;IACX,QAAQ,IAAI,WAAW,QAAQ;GACjC;EACF;EACA,eAAe,aAAa;GAC1B,QAAQ,GAAG,cAAc,QAAQ;GACjC,aAAa;IACX,QAAQ,IAAI,cAAc,QAAQ;GACpC;EACF;CACF;AACF"}
1
+ {"version":3,"file":"process-channel-HthE5ehS.js","names":[],"sources":["../src/local-service/execution-host/process-channel.ts"],"sourcesContent":["import type { ChildProcess } from \"node:child_process\";\nimport type { ExecutionHostChannel } from \"./channel\";\nimport { ExecutionHostError } from \"./channel\";\n\n// Use inherited Node-compatible IPC with JSON serialization. Provider stdout is\n// not a protocol channel; ordinary logs cannot become control messages.\nexport function childExecutionHostChannel(\n child: ChildProcess\n): ExecutionHostChannel {\n return {\n connected: () => child.connected,\n send: (message, completed) => {\n child.send(message, (error) => completed(error ?? null));\n },\n onMessage: (listener) => {\n child.on(\"message\", listener);\n return () => {\n child.off(\"message\", listener);\n };\n },\n onDisconnect: (listener) => {\n let observed = false;\n const finish = (error?: Error) => {\n if (!observed) {\n observed = true;\n listener(error);\n }\n };\n const exited = (code: number | null, signal: NodeJS.Signals | null) => {\n finish(\n new Error(`Host process exited (${signal ?? code ?? \"unknown\"})`)\n );\n };\n child.on(\"disconnect\", finish);\n child.on(\"exit\", exited);\n // Spawn/send failures must not become unhandled EventEmitter errors.\n child.on(\"error\", finish);\n return () => {\n child.off(\"disconnect\", finish);\n child.off(\"exit\", exited);\n child.off(\"error\", finish);\n };\n },\n };\n}\n\nexport function parentExecutionHostChannel(): ExecutionHostChannel {\n const send = process.send?.bind(process);\n if (!(send && process.connected)) {\n throw new ExecutionHostError(\n \"host.inherited_channel_required\",\n \"The execution host requires its supervisor's inherited IPC channel.\"\n );\n }\n return {\n connected: () => process.connected === true,\n send: (message, completed) => {\n send(message, undefined, undefined, (error) => completed(error ?? null));\n },\n onMessage: (listener) => {\n process.on(\"message\", listener);\n return () => {\n process.off(\"message\", listener);\n };\n },\n onDisconnect: (listener) => {\n process.on(\"disconnect\", listener);\n return () => {\n process.off(\"disconnect\", listener);\n };\n },\n };\n}\n"],"mappings":";;;;AAMA,SAAgB,0BACd,OACsB;CACtB,OAAO;EACL,iBAAiB,MAAM;EACvB,OAAO,SAAS,cAAc;GAC5B,MAAM,KAAK,UAAU,UAAU,UAAU,SAAS,IAAI,CAAC;EACzD;EACA,YAAY,aAAa;GACvB,MAAM,GAAG,WAAW,QAAQ;GAC5B,aAAa;IACX,MAAM,IAAI,WAAW,QAAQ;GAC/B;EACF;EACA,eAAe,aAAa;GAC1B,IAAI,WAAW;GACf,MAAM,UAAU,UAAkB;IAChC,IAAI,CAAC,UAAU;KACb,WAAW;KACX,SAAS,KAAK;IAChB;GACF;GACA,MAAM,UAAU,MAAqB,WAAkC;IACrE,uBACE,IAAI,MAAM,wBAAwB,UAAU,QAAQ,UAAU,EAAE,CAClE;GACF;GACA,MAAM,GAAG,cAAc,MAAM;GAC7B,MAAM,GAAG,QAAQ,MAAM;GAEvB,MAAM,GAAG,SAAS,MAAM;GACxB,aAAa;IACX,MAAM,IAAI,cAAc,MAAM;IAC9B,MAAM,IAAI,QAAQ,MAAM;IACxB,MAAM,IAAI,SAAS,MAAM;GAC3B;EACF;CACF;AACF;AAEA,SAAgB,6BAAmD;CACjE,MAAM,OAAO,QAAQ,MAAM,KAAK,OAAO;CACvC,IAAI,EAAE,QAAQ,QAAQ,YACpB,MAAM,IAAI,mBACR,mCACA,qEACF;CAEF,OAAO;EACL,iBAAiB,QAAQ,cAAc;EACvC,OAAO,SAAS,cAAc;GAC5B,KAAK,SAAS,KAAA,GAAW,KAAA,IAAY,UAAU,UAAU,SAAS,IAAI,CAAC;EACzE;EACA,YAAY,aAAa;GACvB,QAAQ,GAAG,WAAW,QAAQ;GAC9B,aAAa;IACX,QAAQ,IAAI,WAAW,QAAQ;GACjC;EACF;EACA,eAAe,aAAa;GAC1B,QAAQ,GAAG,cAAc,QAAQ;GACjC,aAAa;IACX,QAAQ,IAAI,cAAc,QAAQ;GACpC;EACF;CACF;AACF"}
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $ as canManageRegistryAgentSkillTargets, $t as mergeOpenClawGatewayVisibility, Bn as resolveConversationExecutionStateByLookupKey, Bt as createMutableRouteCatalogState, E as resolveProfileWorkspaceRuntime, Fn as buildTaskResultEnvelope, Gt as syncRuntimeEventToInflightTaskControlRegistry, Hn as settleInflightTask, In as appendLedgerHistoryEntry, Kn as assertLegacyAgentContextAssociation, Kt as SPACE_ACTION_CONTEXT_GUIDANCE_LINES, L as manageAgentRegistrationInstallation, Ln as commitResolvedAgentContext, Mn as DaemonServiceRunError, Nn as runRuntimeTask, Pn as buildRuntimeWorkspaceFingerprint, Qt as createPendingAgentInteractionRegistry, Rn as loadLedgerState, Sn as forkCodexAppServerThread, Tn as verifyCodexAppServerThread, U as setAgentRegistrationEnabled, Un as upsertConversationExecutionState, Vn as seedLegacyAgentContext, Vt as createRouteCatalogFromMutableState, Wn as withLedgerStateTransaction, Wt as normalizeDispatchThreadAction, Yt as createSerialAgentInteractionCallback, Zt as normalizeDispatchPostMessageAction, _ as loadDaemonRouteCatalog, a as buildOpenClawSpaceSessionKey, an as resolveDispatchContinuityObservation, ar as TASK_KNOWLEDGE_GUIDANCE, b as resolveLocalController, bn as resolveCodexTimeoutMs, cn as resolveLatestScopedConversationExecutionState, dn as createLocalAdapterEntries, en as createLocalTaskInterruptSender, ft as listProjectBindings, g as writeDaemonRouteCatalogCache, h as readDaemonRouteCatalogCache, hn as resolveInstalledOpenCodeLaunchCandidates, in as resolveDispatchQueueLogMeta, ir as DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS, kt as resolveRegistryRuntimeAdapterContractByAgentControllerRef, mn as forkOpenCodeServerSession, nn as createLocalExecutionSlots, nr as DISPATCH_SPACE_ACTION_DELIVERY_ONLY_ENV, o as normalizeOpenClawSpaceIdPrefix, on as resolveCompatibleAgentContextMatch, qn as buildAgentContextLookupKey, qt as SPACE_ACTION_TARGET_GUIDANCE_LINES, rn as createInflightTaskControlRegistry, rt as resolveBuiltinAgentControllerDefinition, s as slugifyOpenClawNamePart, sn as resolveCompatibleConversationExecutionState, t as prepareProviderRuntime, tt as resolveSkillsAgentRegistry, un as createLocalAdapterContainer, v as buildRuntimeRouteTargets, w as resolveCurrentEffectiveProfileWorkingFolderRuntime, wn as resolveCodexAppServerCompletedTurn, wr as renderTaskKnowledgeIndex, x as resolveLocalRuntimeControllerSupport, xn as resolveInstalledCodexLaunchCandidates, y as readLocalEnabledControllers, z as reconcileNewRunnableBuiltinAgentRegistrations, zn as removeConversationExecutionState } from "./prepare-provider-runtime-Cko0dLXN.js";
3
+ import { $ as canManageRegistryAgentSkillTargets, $t as mergeOpenClawGatewayVisibility, Bn as commitResolvedAgentContext, Bt as createMutableRouteCatalogState, Cn as forkCodexAppServerThread, Dr as renderTaskKnowledgeIndex, E as resolveProfileWorkspaceRuntime, En as verifyCodexAppServerThread, Fn as DaemonServiceRunError, Gn as settleInflightTask, Gt as syncRuntimeEventToInflightTaskControlRegistry, Hn as removeConversationExecutionState, In as runRuntimeTask, Kn as upsertConversationExecutionState, Kt as SPACE_ACTION_CONTEXT_GUIDANCE_LINES, L as manageAgentRegistrationInstallation, Ln as buildRuntimeWorkspaceFingerprint, Qt as createPendingAgentInteractionRegistry, Rn as buildTaskResultEnvelope, Sn as resolveInstalledCodexLaunchCandidates, Tn as resolveCodexAppServerCompletedTurn, U as setAgentRegistrationEnabled, Un as resolveConversationExecutionStateByLookupKey, Vn as loadLedgerState, Vt as createRouteCatalogFromMutableState, Wn as seedLegacyAgentContext, Wt as normalizeDispatchThreadAction, Xn as buildAgentContextLookupKey, Yn as assertLegacyAgentContextAssociation, Yt as createSerialAgentInteractionCallback, Zt as normalizeDispatchPostMessageAction, _ as loadDaemonRouteCatalog, a as buildOpenClawSpaceSessionKey, an as resolveDispatchContinuityObservation, ar as DISPATCH_SPACE_ACTION_DELIVERY_ONLY_ENV, b as resolveLocalController, cn as resolveLatestScopedConversationExecutionState, cr as TASK_KNOWLEDGE_GUIDANCE, dn as createLocalAdapterEntries, en as createLocalTaskInterruptSender, ft as listProjectBindings, g as writeDaemonRouteCatalogCache, gn as resolveInstalledOpenCodeLaunchCandidates, h as readDaemonRouteCatalogCache, in as resolveDispatchQueueLogMeta, kt as resolveRegistryRuntimeAdapterContractByAgentControllerRef, mn as forkOpenCodeServerSession, nn as createLocalExecutionSlots, o as normalizeOpenClawSpaceIdPrefix, on as resolveCompatibleAgentContextMatch, qn as withLedgerStateTransaction, qt as SPACE_ACTION_TARGET_GUIDANCE_LINES, rn as createInflightTaskControlRegistry, rt as resolveBuiltinAgentControllerDefinition, s as slugifyOpenClawNamePart, sn as resolveCompatibleConversationExecutionState, sr as DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS, t as prepareProviderRuntime, tt as resolveSkillsAgentRegistry, un as createLocalAdapterContainer, v as buildRuntimeRouteTargets, w as resolveCurrentEffectiveProfileWorkingFolderRuntime, x as resolveLocalRuntimeControllerSupport, xn as resolveCodexTimeoutMs, y as readLocalEnabledControllers, z as reconcileNewRunnableBuiltinAgentRegistrations, zn as appendLedgerHistoryEntry } from "./prepare-provider-runtime-B6_dfpiZ.js";
4
4
  import { F as resolveOpenMeldRootDir } from "./paths-De9xdA2h.js";
5
- import { B as runtimeTransportResumeControllerConversationResultFramePayloadSchema, D as runtimeTransportLocalAgentControlForkSessionFramePayloadSchema, E as runtimeTransportLocalAgentControlCancelFramePayloadSchema, O as runtimeTransportLocalAgentControlInterruptFramePayloadSchema, S as runtimeTransportForkAgentSessionResultSchema, U as runtimeTransportSubmitTaskResultRequestSchema, Un as agentInteractionRequestSchema, Vn as AGENT_INTERACTION_DEFAULT_TIMEOUT_MS, Xt as spaceWorkSelectionSchema, Z as openMeldDaemonTaskResultPayloadSchema, _ as runtimeTransportDispatchProgressRequestSchema, b as runtimeTransportDispatchToolActivityRequestSchema, d as runtimeTransportDispatchInteractionRequestSchema, f as runtimeTransportDispatchInteractionResponseFramePayloadSchema, g as runtimeTransportDispatchPreviewRequestSchema, gr as localAgentReasoningPreferencesSchema, h as runtimeTransportDispatchPreviewEndRequestSchema, j as runtimeTransportLocalAgentControlSetEnabledFramePayloadSchema, k as runtimeTransportLocalAgentControlManageInstallationFramePayloadSchema, l as runtimeTransportDeliverDispatchRequestSchema, m as runtimeTransportDispatchLifecycleRequestSchema, mr as LOCAL_AGENT_REASONING_MAX_CHARS, nr as runtimeTransportDeliveryExecutionIdentitySchema, p as runtimeTransportDispatchLifecycleAcknowledgementSchema, tr as runtimeCoordinatorExecutionTokenEnvelopeSchema, u as runtimeTransportDispatchInteractionDeliveredRequestSchema, v as runtimeTransportDispatchReasoningRequestSchema, y as runtimeTransportDispatchRuntimeEvidenceRequestSchema, z as runtimeTransportResumeControllerConversationFramePayloadSchema } from "./runtime-transport-DYbpUYBL.js";
6
- import { D as normalizeOptionalWorkingDirectory, n as OPENMELD_DAEMON_CANCEL_WITHDRAWN_BEFORE_START_REASON_CODE, t as OPENMELD_DAEMON_CANCEL_STOP_REQUESTED_AFTER_START_REASON_CODE } from "./control-plane-TOfZ-veG.js";
7
- import { At as buildSpaceAttachmentDownloadPath, Fr as SPACE_DISPATCH_TRACE_PROMPT_PREVIEW_MAX_CHARS, Zi as COMPUTER_FILE_ACCESS_OWNER_CANCELLED_REASON_CODE, hn as createSpaceApi, ia as toCompatibleSpaceAddressingRequestWireValue, in as createOrganizationSkillsApi } from "./dist-Cu_yzOuS.js";
5
+ import { B as runtimeTransportResumeControllerConversationResultFramePayloadSchema, D as runtimeTransportLocalAgentControlForkSessionFramePayloadSchema, E as runtimeTransportLocalAgentControlCancelFramePayloadSchema, Gn as AGENT_INTERACTION_DEFAULT_TIMEOUT_MS, Jn as agentInteractionResolutionSchema, O as runtimeTransportLocalAgentControlInterruptFramePayloadSchema, S as runtimeTransportForkAgentSessionResultSchema, U as runtimeTransportSubmitTaskResultRequestSchema, Z as openMeldDaemonTaskResultPayloadSchema, Zt as spaceWorkSelectionSchema, _ as runtimeTransportDispatchProgressRequestSchema, b as runtimeTransportDispatchToolActivityRequestSchema, d as runtimeTransportDispatchInteractionRequestSchema, f as runtimeTransportDispatchInteractionResponseFramePayloadSchema, g as runtimeTransportDispatchPreviewRequestSchema, h as runtimeTransportDispatchPreviewEndRequestSchema, j as runtimeTransportLocalAgentControlSetEnabledFramePayloadSchema, k as runtimeTransportLocalAgentControlManageInstallationFramePayloadSchema, l as runtimeTransportDeliverDispatchRequestSchema, m as runtimeTransportDispatchLifecycleRequestSchema, or as runtimeCoordinatorExecutionTokenEnvelopeSchema, p as runtimeTransportDispatchLifecycleAcknowledgementSchema, qn as agentInteractionRequestSchema, sr as runtimeTransportDeliveryExecutionIdentitySchema, u as runtimeTransportDispatchInteractionDeliveredRequestSchema, v as runtimeTransportDispatchReasoningRequestSchema, xr as localAgentReasoningPreferencesSchema, y as runtimeTransportDispatchRuntimeEvidenceRequestSchema, yr as LOCAL_AGENT_REASONING_MAX_CHARS, z as runtimeTransportResumeControllerConversationFramePayloadSchema } from "./runtime-transport-DRb5__yP.js";
6
+ import { D as normalizeOptionalWorkingDirectory, n as OPENMELD_DAEMON_CANCEL_WITHDRAWN_BEFORE_START_REASON_CODE, t as OPENMELD_DAEMON_CANCEL_STOP_REQUESTED_AFTER_START_REASON_CODE } from "./control-plane-B93wmVS6.js";
7
+ import { At as buildSpaceAttachmentDownloadPath, Gr as SPACE_DISPATCH_TRACE_PROMPT_PREVIEW_MAX_CHARS, da as COMPUTER_FILE_ACCESS_OWNER_CANCELLED_REASON_CODE, gn as createSpaceApi, in as createOrganizationSkillsApi, va as toCompatibleSpaceAddressingRequestWireValue } from "./dist-DGeoVaIx.js";
8
8
  import { b as normalizeKnownBuiltinAgentControllerId, d as resolveBuiltinAgentControllerConversationKind, l as buildAgentControllerConversationRef } from "./controller-contract-DAOCaefz.js";
9
- import { d as getAuthSessionState } from "./auth-session-CpKxiYC2.js";
10
- import { S as CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS, U as agentExecutionSteerResponseSchema, _ as toErrorMessage$2, n as ensureDaemonRuntimePaths, s as emitRunLine, t as buildLedgerPaths, u as normalizeOptionalText$3, v as warnDaemonEvent } from "./daemon-device-id-DwMFWGI5.js";
11
- import { a as serviceExecutionHostCatalogSchema, i as SERVICE_EXECUTION_HOST_PROTOCOL, t as ExecutionHostError } from "./channel-BXovlRXN.js";
12
- import { f as withSkillsInstallLock, h as OFFICIAL_CLI_SKILL_URL, r as ensureLocalSkills, t as resolveSkillInstallStateForTarget } from "./state-BmiyrHe4.js";
13
- import { $ as readComputerFileAccessPolicy, Bt as buildSpaceRoundSignalPublication, S as resolveOpenCodeDatabasePath, Wt as createDispatchContinuationSpaceAccessContext, X as emitDaemonDispatchJournalEvent, Xt as getSpaceAccessPassword, Zt as getSpaceAccessRequestContext, at as buildDispatchPromptPlan, b as readOpenCodeSessionRows, c as createDispatchSpaceActionContext, ct as resolveBootstrapSpaceOwnerProfileId, d as readDispatchSpaceActionRecord, en as isWakeClosingSystemNoticeType, et as resolveComputerFileAccessStorePath, f as supersedeDispatchSpaceActionRecordForReconsideration, fn as DISPATCH_SPACE_ACTION_CLI_FALLBACK_COMMAND, g as sendDaemonFrame$1, h as parseDaemonFrame, it as buildDispatchCorrelation, l as readDispatchSpaceActionContextForReceiptFromEnv, lt as resolveBootstrapTargetProfileContext, nt as isSameOrDescendantPath, ot as buildDispatchSessionTitle, r as buildDispatchOwnedRuntimeEnv, rt as buildDispatchBootstrapTemplateFacts, s as OPENMELD_SPACE_ACTION_CONTEXT_PATH_ENV, st as parseDispatchTask, tn as listSpaceMemberDirectorySendTargets, ut as resolveDispatchMentionSourceContext, z as consumeArmedAgentControllerInterfaceReprobe } from "./dispatch-owned-runtime-dLHDTL7f.js";
14
- import { m as createCliSpaceApi } from "./meta-api-BdH7IJMv.js";
15
- import { B as installAgentActivityIntegrations, C as recordRuntimeReportingNotApplicable, E as startLocalAgentActivitySyncLoop, F as registerAgentActivityRoute, O as discoverLocalAgentSessionProviders, S as recordRuntimeReportingFailure, T as createLedgerIo, _ as readExecutionContextWorkspace, a as createDispatchSpaceTools, b as startDispatchSpaceProgressRelay, g as prepareExecutionContextWorkspace, h as markExecutionContextWorkspaceInUse, i as materializeOrganizationSkillRelease, k as recordOpenMeldCreatedLocalAgentSession, n as createSpaceWorkingCopies, r as downloadWorkingCopyFile, s as readTaskKnowledge, t as fetchSpaceUpdates, v as releaseExecutionContextWorkspace, w as recordRuntimeReportingSuccess, y as prepareClaudeProjectContainer, z as defaultManagedIntegrationPaths } from "./updates-api-DD3p5dx5.js";
16
- import { F as SPACE_COLLABORATION_CONTEXT_RULE, I as SPACE_PERSONAL_CONTRIBUTION_RULE, X as resolvePublicAgentFailureReason, Z as resolveSpacePublicationRequirement } from "./dual-view-guide-catalog-8Pr5QO_z.js";
9
+ import { d as getAuthSessionState } from "./auth-session-D7hlE-47.js";
10
+ import { S as CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS, U as agentExecutionSteerResponseSchema, _ as toErrorMessage$2, n as ensureDaemonRuntimePaths, s as emitRunLine, t as buildLedgerPaths, u as normalizeOptionalText$3, v as warnDaemonEvent } from "./daemon-device-id-DgwvQllt.js";
11
+ import { a as serviceExecutionHostCatalogSchema, i as SERVICE_EXECUTION_HOST_PROTOCOL, t as ExecutionHostError } from "./channel-BeUv2bLR.js";
12
+ import { f as withSkillsInstallLock, h as OFFICIAL_CLI_SKILL_URL, r as ensureLocalSkills, t as resolveSkillInstallStateForTarget } from "./state-DWwNdCy5.js";
13
+ import { B as consumeArmedAgentControllerInterfaceReprobe, C as resolveOpenCodeDatabasePath, Gt as createDispatchContinuationSpaceAccessContext, Qt as getSpaceAccessRequestContext, Vt as buildSpaceRoundSignalPublication, Z as emitDaemonDispatchJournalEvent, Zt as getSpaceAccessPassword, _ as sendDaemonFrame$1, at as buildDispatchCorrelation, c as createDispatchSpaceActionContext, ct as parseDispatchTask, d as readDispatchSpaceActionRecord, dt as resolveDispatchMentionSourceContext, et as readComputerFileAccessPolicy, f as supersedeDispatchSpaceActionRecordForReconsideration, g as parseDaemonFrame, it as buildDispatchBootstrapTemplateFacts, l as readDispatchSpaceActionContextForReceiptFromEnv, lt as resolveBootstrapSpaceOwnerProfileId, nn as listSpaceMemberDirectorySendTargets, ot as buildDispatchPromptPlan, pn as DISPATCH_SPACE_ACTION_CLI_FALLBACK_COMMAND, r as buildDispatchOwnedRuntimeEnv, rt as isSameOrDescendantPath, s as OPENMELD_SPACE_ACTION_CONTEXT_PATH_ENV, st as buildDispatchSessionTitle, tn as isWakeClosingSystemNoticeType, tt as resolveComputerFileAccessStorePath, ut as resolveBootstrapTargetProfileContext, x as readOpenCodeSessionRows } from "./dispatch-owned-runtime-g2lLeYtx.js";
14
+ import { m as createCliSpaceApi } from "./meta-api-QskBmfuf.js";
15
+ import { B as installAgentActivityIntegrations, C as recordRuntimeReportingNotApplicable, E as startLocalAgentActivitySyncLoop, F as registerAgentActivityRoute, O as discoverLocalAgentSessionProviders, S as recordRuntimeReportingFailure, T as createLedgerIo, _ as readExecutionContextWorkspace, a as createDispatchSpaceTools, b as startDispatchSpaceProgressRelay, g as prepareExecutionContextWorkspace, h as markExecutionContextWorkspaceInUse, i as materializeOrganizationSkillRelease, k as recordOpenMeldCreatedLocalAgentSession, n as createSpaceWorkingCopies, r as downloadWorkingCopyFile, s as readTaskKnowledge, t as fetchSpaceUpdates, v as releaseExecutionContextWorkspace, w as recordRuntimeReportingSuccess, y as prepareClaudeProjectContainer, z as defaultManagedIntegrationPaths } from "./updates-api-9midbUU1.js";
16
+ import { F as SPACE_COLLABORATION_CONTEXT_RULE, I as SPACE_PERSONAL_CONTRIBUTION_RULE, X as resolvePublicAgentFailureReason, Z as resolveSpacePublicationRequirement } from "./dual-view-guide-catalog-CkcY09Kh.js";
17
17
  import { a as resolveBaseUrl, f as getConfiguredDaemonDispatchLimits, g as getConfiguredSkillsConfig } from "./base-url-0AoeTi3w.js";
18
- import { a as buildOpenMeldProfileIdentityRequestHeadersWithAuth, f as buildOpenMeldRequestContextFromProfileIdentity, n as fetchSpaceRequestWithTimeout, t as createCliApiClientFoundation } from "./api-client-foundation-BYTxVhem.js";
19
- import { t as emitDaemonLifecycleEvent } from "./daemon-lifecycle-journal-NJaimyPD.js";
20
- import { a as submitRuntimeProviderConversationProofs, f as recordRuntimeProviderUsageLimits, i as submitRuntimeAgentControllerReports, l as resolveLocalAgentControllerReportDecision, o as collectLocalAgentControllerInventory, t as notifyRuntimeReportingAttemptObserver, u as probeAgentControllerUsageObservationAuth } from "./runtime-agent-controller-reporting-submission-Cyb5OuVp.js";
21
- import { t as installSkillsToTargets } from "./installer-D0fh4fzg.js";
18
+ import { a as buildOpenMeldProfileIdentityRequestHeadersWithAuth, f as buildOpenMeldRequestContextFromProfileIdentity, n as fetchSpaceRequestWithTimeout, t as createCliApiClientFoundation } from "./api-client-foundation-DMEfIARh.js";
19
+ import { t as emitDaemonLifecycleEvent } from "./daemon-lifecycle-journal-C32I8p4n.js";
20
+ import { a as submitRuntimeProviderConversationProofs, f as recordRuntimeProviderUsageLimits, i as submitRuntimeAgentControllerReports, l as resolveLocalAgentControllerReportDecision, o as collectLocalAgentControllerInventory, t as notifyRuntimeReportingAttemptObserver, u as probeAgentControllerUsageObservationAuth } from "./runtime-agent-controller-reporting-submission-IhxMO4UA.js";
21
+ import { t as installSkillsToTargets } from "./installer-BRpAz1X_.js";
22
22
  import { createHash, randomUUID } from "node:crypto";
23
23
  import { homedir } from "node:os";
24
24
  import { basename, dirname, extname, join } from "node:path";
@@ -1579,9 +1579,22 @@ async function persistRuntimeReportingAttempt(attempt, serviceIdentity) {
1579
1579
  }
1580
1580
  //#endregion
1581
1581
  //#region src/local-service/routing/active-permission-mode-sync.ts
1582
- async function syncActiveTaskPermissionModes(input) {
1582
+ const pendingSyncs = /* @__PURE__ */ new WeakMap();
1583
+ function syncActiveTaskPermissionModes(input) {
1584
+ const previous = pendingSyncs.get(input.inflightTaskControlRegistry);
1585
+ const run = () => applyActiveTaskPermissionModes(input);
1586
+ const current = previous ? previous.then(run, run) : run();
1587
+ pendingSyncs.set(input.inflightTaskControlRegistry, current);
1588
+ const cleanup = () => {
1589
+ if (pendingSyncs.get(input.inflightTaskControlRegistry) === current) pendingSyncs.delete(input.inflightTaskControlRegistry);
1590
+ };
1591
+ current.then(cleanup, cleanup);
1592
+ return current;
1593
+ }
1594
+ async function applyActiveTaskPermissionModes(input) {
1583
1595
  const outcomes = [];
1584
- for (const task of input.inflightTaskControlRegistry.listTasks()) {
1596
+ const tasks = input.inflightTaskControlRegistry.listTasks().filter((task) => !input.taskId || input.taskId === task.taskId);
1597
+ for (const task of tasks) {
1585
1598
  if (!task.targetProfileId) continue;
1586
1599
  const nextPermissionMode = input.catalogState.routeByProfileId.get(task.targetProfileId)?.agentControllerPermissionMode;
1587
1600
  if (!nextPermissionMode || nextPermissionMode === task.agentControllerPermissionMode) continue;
@@ -1613,6 +1626,18 @@ async function syncActiveTaskPermissionModes(input) {
1613
1626
  });
1614
1627
  continue;
1615
1628
  }
1629
+ const currentTask = input.inflightTaskControlRegistry.getTask(task.taskId);
1630
+ if (!currentTask || currentTask.dispatchId !== task.dispatchId || currentTask.attemptId !== task.attemptId) {
1631
+ outcomes.push({
1632
+ adapterId: task.adapterId,
1633
+ agentControllerPermissionMode: nextPermissionMode,
1634
+ reasonCode: "adapter.task_not_active",
1635
+ status: "not_applied",
1636
+ targetProfileId: task.targetProfileId,
1637
+ taskId: task.taskId
1638
+ });
1639
+ continue;
1640
+ }
1616
1641
  input.inflightTaskControlRegistry.updateTaskPermissionMode({
1617
1642
  agentControllerPermissionMode: nextPermissionMode,
1618
1643
  taskId: task.taskId
@@ -8123,6 +8148,7 @@ async function requestDispatchAgentInteraction(input) {
8123
8148
  const requestedAtMs = Date.now();
8124
8149
  const interactionCandidate = {
8125
8150
  ...input.request,
8151
+ ...input.request.kind === "permission" ? { supportsPermissionModeUpdate: true } : {},
8126
8152
  v: 1,
8127
8153
  interactionId: randomUUID(),
8128
8154
  requestedAtMs,
@@ -8538,7 +8564,38 @@ function failMissingCurrentSocket(dispatchId) {
8538
8564
  }
8539
8565
  //#endregion
8540
8566
  //#region src/local-service/execution-host/frame-router.ts
8541
- function handleDispatchInteractionResponse(input) {
8567
+ async function applySavedPermissionModeBeforeResponse(input, pendingInteraction, requestedUpdate) {
8568
+ const deadline = Date.now() + 1e4;
8569
+ while (Date.now() < deadline) {
8570
+ if (input.pendingAgentInteractionRegistry.get(pendingInteraction.request.interactionId) !== pendingInteraction || pendingInteraction.response !== null) return;
8571
+ const route = (input.readRouteByProfileId?.() ?? input.routeByProfileId).get(pendingInteraction.authority.targetProfileId);
8572
+ if (route?.bindingId === requestedUpdate.bindingId && route.agentControllerPermissionMode === requestedUpdate.mode) {
8573
+ const outcomes = await syncActiveTaskPermissionModes({
8574
+ catalogState: { get routeByProfileId() {
8575
+ return input.readRouteByProfileId?.() ?? input.routeByProfileId;
8576
+ } },
8577
+ inflightTaskControlRegistry: input.inflightTaskControlRegistry,
8578
+ localAdapterContainer: input.localAdapterContainer,
8579
+ taskId: pendingInteraction.taskId
8580
+ });
8581
+ for (const outcome of outcomes) emitRunLine({
8582
+ presenter: input.presenter,
8583
+ code: "daemon.run.active_permission_mode_sync",
8584
+ text: `active permission update ${outcome.status} for ${outcome.taskId}`,
8585
+ payload: outcome
8586
+ });
8587
+ return;
8588
+ }
8589
+ await new Promise((resolve) => setTimeout(resolve, 50));
8590
+ }
8591
+ emitRunLine({
8592
+ presenter: input.presenter,
8593
+ code: "daemon.run.permission_mode_sync_pending",
8594
+ text: "The saved permission mode has not reached this execution. Only the selected approval will be applied.",
8595
+ payload: { taskId: pendingInteraction.taskId }
8596
+ });
8597
+ }
8598
+ async function handleDispatchInteractionResponse(input) {
8542
8599
  const parsedResponse = runtimeTransportDispatchInteractionResponseFramePayloadSchema.safeParse(input.payload);
8543
8600
  if (!parsedResponse.success) {
8544
8601
  emitRunLine({
@@ -8574,6 +8631,22 @@ function handleDispatchInteractionResponse(input) {
8574
8631
  });
8575
8632
  return;
8576
8633
  }
8634
+ const requestedUpdate = parsedResponse.data.response.kind === "permission" ? parsedResponse.data.response.permissionModeUpdate : void 0;
8635
+ if (requestedUpdate && pendingInteraction.response === null) {
8636
+ if (!agentInteractionResolutionSchema.safeParse({
8637
+ request: pendingInteraction.request,
8638
+ response: parsedResponse.data.response
8639
+ }).success) {
8640
+ emitRunLine({
8641
+ presenter: input.presenter,
8642
+ code: "daemon.run.interaction_response_invalid",
8643
+ text: "The permission response does not match the pending request.",
8644
+ payload: { interactionId: parsedResponse.data.interactionId }
8645
+ });
8646
+ return;
8647
+ }
8648
+ await applySavedPermissionModeBeforeResponse(input, pendingInteraction, requestedUpdate);
8649
+ }
8577
8650
  const resolution = input.pendingAgentInteractionRegistry.resolve({
8578
8651
  interactionId: parsedResponse.data.interactionId,
8579
8652
  response: parsedResponse.data.response
@@ -8709,6 +8782,10 @@ function handleExecutionHostFrame(input) {
8709
8782
  return;
8710
8783
  case "daemon.dispatch.interaction_response":
8711
8784
  handleDispatchInteractionResponse({
8785
+ readRouteByProfileId: input.readRouteByProfileId,
8786
+ routeByProfileId: input.routeByProfileId,
8787
+ inflightTaskControlRegistry: input.inflightTaskControlRegistry,
8788
+ localAdapterContainer: input.localAdapterContainer,
8712
8789
  currentSocketRef: input.currentSocketRef,
8713
8790
  daemonSessionId: input.daemonSessionId,
8714
8791
  leasesByProfileId: input.leasesByProfileId,
@@ -8716,7 +8793,12 @@ function handleExecutionHostFrame(input) {
8716
8793
  pendingAgentInteractionRegistry: input.pendingAgentInteractionRegistry,
8717
8794
  presenter: input.presenter,
8718
8795
  socket: input.socket
8719
- });
8796
+ }).catch((error) => emitRunLine({
8797
+ presenter: input.presenter,
8798
+ code: "daemon.run.interaction_response_failed",
8799
+ text: "The permission response is still pending after a local update failed.",
8800
+ payload: { error: toErrorMessage$2(error) }
8801
+ }));
8720
8802
  return;
8721
8803
  case "daemon.local_agent_control.cancel": {
8722
8804
  const parsedCancelFrame = runtimeTransportLocalAgentControlCancelFramePayloadSchema.safeParse(input.parsedFrame.payload);
@@ -9227,6 +9309,7 @@ function createExecutionHostRuntime(input) {
9227
9309
  input.onWorkStateChange?.(false);
9228
9310
  }
9229
9311
  handleExecutionHostFrame({
9312
+ readRouteByProfileId: () => routeCatalogState.routeByProfileId,
9230
9313
  computerFileAccessStorePath,
9231
9314
  contextStore,
9232
9315
  currentSocketRef,
@@ -9358,4 +9441,4 @@ function createExecutionHostRuntime(input) {
9358
9441
  //#endregion
9359
9442
  export { createExecutionHostResources, createExecutionHostRuntime };
9360
9443
 
9361
- //# sourceMappingURL=runtime-C6SS6jm6.js.map
9444
+ //# sourceMappingURL=runtime-C7lY_Z2r.js.map