openmeld 0.3.246 → 0.3.248

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 (104) hide show
  1. package/dist/{add-me-membership-C7dYkfPz.js → add-me-membership-zSJAa2ET.js} +2 -2
  2. package/dist/{add-me-membership-C7dYkfPz.js.map → add-me-membership-zSJAa2ET.js.map} +1 -1
  3. package/dist/{agents-QisYIlFS.js → agents-DLjDbkLV.js} +10 -10
  4. package/dist/{agents-QisYIlFS.js.map → agents-DLjDbkLV.js.map} +1 -1
  5. package/dist/{api-client-foundation-CYbEdm9o.js → api-client-foundation-BZvzqIeX.js} +3 -3
  6. package/dist/{api-client-foundation-CYbEdm9o.js.map → api-client-foundation-BZvzqIeX.js.map} +1 -1
  7. package/dist/{api-client-foundation-B1aTRrIy.js → api-client-foundation-DE_UqE2s.js} +1 -1
  8. package/dist/auth-session-BOi-tZ2y.js +4 -0
  9. package/dist/{auth-session-JhILeJRO.js → auth-session-DywRZLBr.js} +4 -4
  10. package/dist/{auth-session-JhILeJRO.js.map → auth-session-DywRZLBr.js.map} +1 -1
  11. package/dist/{channel-C6tm9T7P.js → channel-40SR2b5S.js} +3 -3
  12. package/dist/{channel-C6tm9T7P.js.map → channel-40SR2b5S.js.map} +1 -1
  13. package/dist/{cloud-computer-J2tdcTPm.js → cloud-computer-BqFhsHhC.js} +4 -4
  14. package/dist/{cloud-computer-J2tdcTPm.js.map → cloud-computer-BqFhsHhC.js.map} +1 -1
  15. package/dist/{command-BXJ-OwBD.js → command-DBfu-GeG.js} +15 -15
  16. package/dist/{command-BXJ-OwBD.js.map → command-DBfu-GeG.js.map} +1 -1
  17. package/dist/{computer-connection-BKtrn0d2.js → computer-connection-CVyM42a0.js} +2 -2
  18. package/dist/{computer-connection-BKtrn0d2.js.map → computer-connection-CVyM42a0.js.map} +1 -1
  19. package/dist/{computer-connection-review-bUqNKi6q.js → computer-connection-review-B5qKu2C9.js} +5 -5
  20. package/dist/{computer-connection-review-bUqNKi6q.js.map → computer-connection-review-B5qKu2C9.js.map} +1 -1
  21. package/dist/{computer-disconnect-D_Apsn9P.js → computer-disconnect-BxhAjQQx.js} +7 -7
  22. package/dist/{computer-disconnect-D_Apsn9P.js.map → computer-disconnect-BxhAjQQx.js.map} +1 -1
  23. package/dist/{computer-setup-continuation-occq0LmS.js → computer-setup-continuation-V40ov5FS.js} +3 -3
  24. package/dist/{computer-setup-continuation-occq0LmS.js.map → computer-setup-continuation-V40ov5FS.js.map} +1 -1
  25. package/dist/{context-M7dvalCp.js → context-BEgBhfbb.js} +4 -4
  26. package/dist/{context-M7dvalCp.js.map → context-BEgBhfbb.js.map} +1 -1
  27. package/dist/{daemon-device-id-C3gKch4E.js → daemon-device-id-CmykIapy.js} +4 -4
  28. package/dist/{daemon-device-id-C3gKch4E.js.map → daemon-device-id-CmykIapy.js.map} +1 -1
  29. package/dist/{daemon-lifecycle-journal-CGUuJshv.js → daemon-lifecycle-journal-2dzGUSWU.js} +3 -3
  30. package/dist/{daemon-lifecycle-journal-CGUuJshv.js.map → daemon-lifecycle-journal-2dzGUSWU.js.map} +1 -1
  31. package/dist/{daemon-service-runtime-CktU3ER4.js → daemon-service-runtime-pECs8jVc.js} +2 -2
  32. package/dist/{daemon-service-runtime-CktU3ER4.js.map → daemon-service-runtime-pECs8jVc.js.map} +1 -1
  33. package/dist/{daemon-service-update-coordinator-D0-15tZW.js → daemon-service-update-coordinator-DJKBTEjx.js} +14 -14
  34. package/dist/daemon-service-update-coordinator-DJKBTEjx.js.map +1 -0
  35. package/dist/{dispatch-owned-runtime-gOluDX5_.js → dispatch-owned-runtime-QhxDRdNr.js} +191 -52
  36. package/dist/dispatch-owned-runtime-QhxDRdNr.js.map +1 -0
  37. package/dist/{dist-KibLweLD.js → dist-BQcUIyf6.js} +747 -529
  38. package/dist/dist-BQcUIyf6.js.map +1 -0
  39. package/dist/dist-C8M8nzJ2.js +4 -0
  40. package/dist/{dual-view-guide-catalog-0kSizTFt.js → dual-view-guide-catalog-DDsnLpIT.js} +3 -3
  41. package/dist/{dual-view-guide-catalog-0kSizTFt.js.map → dual-view-guide-catalog-DDsnLpIT.js.map} +1 -1
  42. package/dist/{elapsed-time-Bo1CJczC.js → elapsed-time-DTb6L36x.js} +3 -3
  43. package/dist/{elapsed-time-Bo1CJczC.js.map → elapsed-time-DTb6L36x.js.map} +1 -1
  44. package/dist/{entry-B11DkH2I.js → entry-B3w4ZTC5.js} +7 -7
  45. package/dist/{entry-B11DkH2I.js.map → entry-B3w4ZTC5.js.map} +1 -1
  46. package/dist/{installation-inventory-BZgQmVup.js → installation-inventory-CCkKix8R.js} +3 -3
  47. package/dist/{installation-inventory-BZgQmVup.js.map → installation-inventory-CCkKix8R.js.map} +1 -1
  48. package/dist/{installer-k2gOOs58.js → installer-BiZM-o_y.js} +2 -2
  49. package/dist/{installer-k2gOOs58.js.map → installer-BiZM-o_y.js.map} +1 -1
  50. package/dist/{meta-api-DruuiAx-.js → meta-api-9iqkG_MP.js} +5 -5
  51. package/dist/{meta-api-DruuiAx-.js.map → meta-api-9iqkG_MP.js.map} +1 -1
  52. package/dist/{open-code-permission-DHFJYc_o.js → open-code-permission-B5f1e5an.js} +2 -31
  53. package/dist/open-code-permission-B5f1e5an.js.map +1 -0
  54. package/dist/{openmeld-DUdN78WD.js → openmeld-C70uo4ON.js} +215 -71
  55. package/dist/openmeld-C70uo4ON.js.map +1 -0
  56. package/dist/{openmeld-maintenance-worker-DwkvZD0q.js → openmeld-maintenance-worker-BFPEm1rE.js} +9 -9
  57. package/dist/{openmeld-maintenance-worker-DwkvZD0q.js.map → openmeld-maintenance-worker-BFPEm1rE.js.map} +1 -1
  58. package/dist/{openmeld-tools-update-join-BNUIw_Lo.js → openmeld-tools-update-join-Bki3ugUW.js} +4 -4
  59. package/dist/{openmeld-tools-update-join-BNUIw_Lo.js.map → openmeld-tools-update-join-Bki3ugUW.js.map} +1 -1
  60. package/dist/openmeld.js +4 -4
  61. package/dist/{prepare-provider-runtime-_XRIioDp.js → prepare-provider-runtime-CWZOcEF7.js} +85 -23
  62. package/dist/prepare-provider-runtime-CWZOcEF7.js.map +1 -0
  63. package/dist/{prepare-session-executor-B5AjN0qz.js → prepare-session-executor-B8XSTQdx.js} +18 -18
  64. package/dist/{prepare-session-executor-B5AjN0qz.js.map → prepare-session-executor-B8XSTQdx.js.map} +1 -1
  65. package/dist/{process-channel-CTXWjlBP.js → process-channel-DLXPiGRF.js} +2 -2
  66. package/dist/{process-channel-CTXWjlBP.js.map → process-channel-DLXPiGRF.js.map} +1 -1
  67. package/dist/{runtime-DCBc6YOq.js → runtime-DzToUfqW.js} +115 -32
  68. package/dist/{runtime-DCBc6YOq.js.map → runtime-DzToUfqW.js.map} +1 -1
  69. package/dist/{runtime-agent-controller-reporting-submission-CGa3GGL6.js → runtime-agent-controller-reporting-submission-BszHi0S1.js} +8 -8
  70. package/dist/{runtime-agent-controller-reporting-submission-CGa3GGL6.js.map → runtime-agent-controller-reporting-submission-BszHi0S1.js.map} +1 -1
  71. package/dist/{runtime-transport-BzCp9hM3.js → runtime-transport-DFBYm5Re.js} +214 -21
  72. package/dist/runtime-transport-DFBYm5Re.js.map +1 -0
  73. package/dist/{service-BEH6-P8U.js → service-8EozP77B.js} +546 -21
  74. package/dist/service-8EozP77B.js.map +1 -0
  75. package/dist/{service-account-authorization-CtvSn02O.js → service-account-authorization-CqUcNoD1.js} +2 -2
  76. package/dist/{service-account-authorization-CtvSn02O.js.map → service-account-authorization-CqUcNoD1.js.map} +1 -1
  77. package/dist/{service-account-control-BUPiFEGo.js → service-account-control-CzPgo-Iy.js} +9 -9
  78. package/dist/{service-account-control-BUPiFEGo.js.map → service-account-control-CzPgo-Iy.js.map} +1 -1
  79. package/dist/{service-control-capabilities-PMvSlaJj.js → service-control-capabilities-C5hd37o9.js} +3 -3
  80. package/dist/{service-control-capabilities-PMvSlaJj.js.map → service-control-capabilities-C5hd37o9.js.map} +1 -1
  81. package/dist/{service-control-capabilities-D-Nhqqgo.js → service-control-capabilities-CcwdbQf3.js} +1 -1
  82. package/dist/{state-C_iJAzKh.js → state-Fskb-utn.js} +2 -2
  83. package/dist/{state-C_iJAzKh.js.map → state-Fskb-utn.js.map} +1 -1
  84. package/dist/{updates-api-s2-QB929.js → updates-api-JM7f1ZDQ.js} +43 -146
  85. package/dist/updates-api-JM7f1ZDQ.js.map +1 -0
  86. package/dist/{upgrade-JmhCNmvs.js → upgrade-CDW-7zvb.js} +8 -8
  87. package/dist/{upgrade-JmhCNmvs.js.map → upgrade-CDW-7zvb.js.map} +1 -1
  88. package/dist/upgrade-r6W5TzOo.js +4 -0
  89. package/package.json +11 -11
  90. package/skills/openmeld-cli/SKILL.md +2 -0
  91. package/skills/openmeld-cli/playbooks/computer.md +55 -0
  92. package/skills/openmeld-cli/playbooks/plugins.md +37 -0
  93. package/dist/auth-session-DUYOBXO3.js +0 -4
  94. package/dist/daemon-service-update-coordinator-D0-15tZW.js.map +0 -1
  95. package/dist/dispatch-owned-runtime-gOluDX5_.js.map +0 -1
  96. package/dist/dist-DMlKqjUf.js +0 -4
  97. package/dist/dist-KibLweLD.js.map +0 -1
  98. package/dist/open-code-permission-DHFJYc_o.js.map +0 -1
  99. package/dist/openmeld-DUdN78WD.js.map +0 -1
  100. package/dist/prepare-provider-runtime-_XRIioDp.js.map +0 -1
  101. package/dist/runtime-transport-BzCp9hM3.js.map +0 -1
  102. package/dist/service-BEH6-P8U.js.map +0 -1
  103. package/dist/updates-api-s2-QB929.js.map +0 -1
  104. package/dist/upgrade-Dikfgr8z.js +0 -4
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ExecutionHostError } from "./channel-C6tm9T7P.js";
3
+ import { t as ExecutionHostError } from "./channel-40SR2b5S.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-CTXWjlBP.js.map
64
+ //# sourceMappingURL=process-channel-DLXPiGRF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-channel-CTXWjlBP.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-DLXPiGRF.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 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-_XRIioDp.js";
3
+ import { $ as canManageRegistryAgentSkillTargets, $t as createPendingAgentInteractionRegistry, Bn as appendLedgerHistoryEntry, Bt as createMutableRouteCatalogState, Cn as resolveInstalledCodexLaunchCandidates, Dn as verifyCodexAppServerThread, E as resolveProfileWorkspaceRuntime, En as resolveCodexAppServerCompletedTurn, Gn as seedLegacyAgentContext, Gt as normalizeDispatchThreadAction, Hn as loadLedgerState, Ht as replaceMutableRouteCatalogState, In as DaemonServiceRunError, Jn as withLedgerStateTransaction, Jt as SPACE_ACTION_TARGET_GUIDANCE_LINES, Kn as settleInflightTask, Kt as syncRuntimeEventToInflightTaskControlRegistry, L as manageAgentRegistrationInstallation, Ln as runRuntimeTask, Or as renderTaskKnowledgeIndex, Qt as normalizeDispatchPostMessageAction, Rn as buildRuntimeWorkspaceFingerprint, Sn as resolveCodexTimeoutMs, U as setAgentRegistrationEnabled, Un as removeConversationExecutionState, Vn as commitResolvedAgentContext, Vt as createRouteCatalogFromMutableState, Wn as resolveConversationExecutionStateByLookupKey, Xn as assertLegacyAgentContextAssociation, Xt as createSerialAgentInteractionCallback, Zn as buildAgentContextLookupKey, _ as loadDaemonRouteCatalog, _n as resolveInstalledOpenCodeLaunchCandidates, a as buildOpenClawSpaceSessionKey, an as resolveDispatchQueueLogMeta, b as resolveLocalController, cn as resolveCompatibleConversationExecutionState, cr as DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS, dn as createLocalAdapterContainer, en as mergeOpenClawGatewayVisibility, fn as createLocalAdapterEntries, ft as listProjectBindings, g as writeDaemonRouteCatalogCache, h as readDaemonRouteCatalogCache, hn as forkOpenCodeServerSession, in as createInflightTaskControlRegistry, kt as resolveRegistryRuntimeAdapterContractByAgentControllerRef, ln as resolveLatestScopedConversationExecutionState, lr as TASK_KNOWLEDGE_GUIDANCE, o as normalizeOpenClawSpaceIdPrefix, on as resolveDispatchContinuityObservation, or as DISPATCH_SPACE_ACTION_DELIVERY_ONLY_ENV, qn as upsertConversationExecutionState, qt as SPACE_ACTION_CONTEXT_GUIDANCE_LINES, rn as createLocalExecutionSlots, rt as resolveBuiltinAgentControllerDefinition, s as slugifyOpenClawNamePart, sn as resolveCompatibleAgentContextMatch, t as prepareProviderRuntime, tn as createLocalTaskInterruptSender, tt as resolveSkillsAgentRegistry, v as buildRuntimeRouteTargets, w as resolveCurrentEffectiveProfileWorkingFolderRuntime, wn as forkCodexAppServerThread, x as resolveLocalRuntimeControllerSupport, y as readLocalEnabledControllers, z as reconcileNewRunnableBuiltinAgentRegistrations, zn as buildTaskResultEnvelope } from "./prepare-provider-runtime-CWZOcEF7.js";
4
4
  import { F as resolveOpenMeldRootDir } from "./paths-De9xdA2h.js";
5
- import { B as runtimeTransportResumeControllerConversationResultFramePayloadSchema, D as runtimeTransportLocalAgentControlForkSessionFramePayloadSchema, E as runtimeTransportLocalAgentControlCancelFramePayloadSchema, Hn as AGENT_INTERACTION_DEFAULT_TIMEOUT_MS, O as runtimeTransportLocalAgentControlInterruptFramePayloadSchema, S as runtimeTransportForkAgentSessionResultSchema, U as runtimeTransportSubmitTaskResultRequestSchema, Wn as agentInteractionRequestSchema, Z as openMeldDaemonTaskResultPayloadSchema, Zt as spaceWorkSelectionSchema, _ as runtimeTransportDispatchProgressRequestSchema, _r as localAgentReasoningPreferencesSchema, b as runtimeTransportDispatchToolActivityRequestSchema, d as runtimeTransportDispatchInteractionRequestSchema, f as runtimeTransportDispatchInteractionResponseFramePayloadSchema, g as runtimeTransportDispatchPreviewRequestSchema, h as runtimeTransportDispatchPreviewEndRequestSchema, hr as LOCAL_AGENT_REASONING_MAX_CHARS, j as runtimeTransportLocalAgentControlSetEnabledFramePayloadSchema, k as runtimeTransportLocalAgentControlManageInstallationFramePayloadSchema, l as runtimeTransportDeliverDispatchRequestSchema, m as runtimeTransportDispatchLifecycleRequestSchema, nr as runtimeCoordinatorExecutionTokenEnvelopeSchema, p as runtimeTransportDispatchLifecycleAcknowledgementSchema, rr as runtimeTransportDeliveryExecutionIdentitySchema, u as runtimeTransportDispatchInteractionDeliveredRequestSchema, v as runtimeTransportDispatchReasoningRequestSchema, y as runtimeTransportDispatchRuntimeEvidenceRequestSchema, z as runtimeTransportResumeControllerConversationFramePayloadSchema } from "./runtime-transport-BzCp9hM3.js";
5
+ import { B as runtimeTransportResumeControllerConversationResultFramePayloadSchema, D as runtimeTransportLocalAgentControlForkSessionFramePayloadSchema, E as runtimeTransportLocalAgentControlCancelFramePayloadSchema, Jn as agentInteractionRequestSchema, Kn as AGENT_INTERACTION_DEFAULT_TIMEOUT_MS, O as runtimeTransportLocalAgentControlInterruptFramePayloadSchema, S as runtimeTransportForkAgentSessionResultSchema, Sr as localAgentReasoningPreferencesSchema, U as runtimeTransportSubmitTaskResultRequestSchema, Yn as agentInteractionResolutionSchema, Z as openMeldDaemonTaskResultPayloadSchema, Zt as spaceWorkSelectionSchema, _ as runtimeTransportDispatchProgressRequestSchema, b as runtimeTransportDispatchToolActivityRequestSchema, br as LOCAL_AGENT_REASONING_MAX_CHARS, cr as runtimeTransportDeliveryExecutionIdentitySchema, d as runtimeTransportDispatchInteractionRequestSchema, f as runtimeTransportDispatchInteractionResponseFramePayloadSchema, g as runtimeTransportDispatchPreviewRequestSchema, h as runtimeTransportDispatchPreviewEndRequestSchema, j as runtimeTransportLocalAgentControlSetEnabledFramePayloadSchema, k as runtimeTransportLocalAgentControlManageInstallationFramePayloadSchema, l as runtimeTransportDeliverDispatchRequestSchema, m as runtimeTransportDispatchLifecycleRequestSchema, p as runtimeTransportDispatchLifecycleAcknowledgementSchema, sr as runtimeCoordinatorExecutionTokenEnvelopeSchema, u as runtimeTransportDispatchInteractionDeliveredRequestSchema, v as runtimeTransportDispatchReasoningRequestSchema, y as runtimeTransportDispatchRuntimeEvidenceRequestSchema, z as runtimeTransportResumeControllerConversationFramePayloadSchema } from "./runtime-transport-DFBYm5Re.js";
6
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, Fr as SPACE_DISPATCH_TRACE_PROMPT_PREVIEW_MAX_CHARS, ca as toCompatibleSpaceAddressingRequestWireValue, hn as createSpaceApi, in as createOrganizationSkillsApi, ta as COMPUTER_FILE_ACCESS_OWNER_CANCELLED_REASON_CODE } from "./dist-KibLweLD.js";
7
+ import { At as buildSpaceAttachmentDownloadPath, Kr as SPACE_DISPATCH_TRACE_PROMPT_PREVIEW_MAX_CHARS, _n as createSpaceApi, an as createOrganizationSkillsApi, ga as toCompatibleSpaceAddressingRequestWireValue, la as COMPUTER_FILE_ACCESS_OWNER_CANCELLED_REASON_CODE } from "./dist-BQcUIyf6.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-JhILeJRO.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-C3gKch4E.js";
11
- import { a as serviceExecutionHostCatalogSchema, i as SERVICE_EXECUTION_HOST_PROTOCOL, t as ExecutionHostError } from "./channel-C6tm9T7P.js";
12
- import { f as withSkillsInstallLock, h as OFFICIAL_CLI_SKILL_URL, r as ensureLocalSkills, t as resolveSkillInstallStateForTarget } from "./state-C_iJAzKh.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-gOluDX5_.js";
14
- import { m as createCliSpaceApi } from "./meta-api-DruuiAx-.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-s2-QB929.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-0kSizTFt.js";
9
+ import { d as getAuthSessionState } from "./auth-session-DywRZLBr.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-CmykIapy.js";
11
+ import { a as serviceExecutionHostCatalogSchema, i as SERVICE_EXECUTION_HOST_PROTOCOL, t as ExecutionHostError } from "./channel-40SR2b5S.js";
12
+ import { f as withSkillsInstallLock, h as OFFICIAL_CLI_SKILL_URL, r as ensureLocalSkills, t as resolveSkillInstallStateForTarget } from "./state-Fskb-utn.js";
13
+ import { $t as getSpaceAccessRequestContext, Ht as buildSpaceRoundSignalPublication, Kt as createDispatchContinuationSpaceAccessContext, Q as emitDaemonDispatchJournalEvent, Qt as getSpaceAccessPassword, S as readOpenCodeSessionRows, V as consumeArmedAgentControllerInterfaceReprobe, _ as sendDaemonFrame$1, at as buildDispatchBootstrapTemplateFacts, c as createDispatchSpaceActionContext, ct as buildDispatchSessionTitle, d as readDispatchSpaceActionRecord, dt as resolveBootstrapTargetProfileContext, f as supersedeDispatchSpaceActionRecordForReconsideration, ft as resolveDispatchMentionSourceContext, g as parseDaemonFrame, it as isSameOrDescendantPath, l as readDispatchSpaceActionContextForReceiptFromEnv, lt as parseDispatchTask, mn as DISPATCH_SPACE_ACTION_CLI_FALLBACK_COMMAND, nn as isWakeClosingSystemNoticeType, nt as resolveComputerFileAccessStorePath, ot as buildDispatchCorrelation, r as buildDispatchOwnedRuntimeEnv, rn as listSpaceMemberDirectorySendTargets, s as OPENMELD_SPACE_ACTION_CONTEXT_PATH_ENV, st as buildDispatchPromptPlan, tt as readComputerFileAccessPolicy, ut as resolveBootstrapSpaceOwnerProfileId, w as resolveOpenCodeDatabasePath } from "./dispatch-owned-runtime-QhxDRdNr.js";
14
+ import { m as createCliSpaceApi } from "./meta-api-9iqkG_MP.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-JM7f1ZDQ.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-DDsnLpIT.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-CYbEdm9o.js";
19
- import { t as emitDaemonLifecycleEvent } from "./daemon-lifecycle-journal-CGUuJshv.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-CGa3GGL6.js";
21
- import { t as installSkillsToTargets } from "./installer-k2gOOs58.js";
18
+ import { a as buildOpenMeldProfileIdentityRequestHeadersWithAuth, f as buildOpenMeldRequestContextFromProfileIdentity, n as fetchSpaceRequestWithTimeout, t as createCliApiClientFoundation } from "./api-client-foundation-BZvzqIeX.js";
19
+ import { t as emitDaemonLifecycleEvent } from "./daemon-lifecycle-journal-2dzGUSWU.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-BszHi0S1.js";
21
+ import { t as installSkillsToTargets } from "./installer-BiZM-o_y.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
@@ -8590,13 +8663,23 @@ function handleDispatchInteractionResponse(input) {
8590
8663
  });
8591
8664
  return;
8592
8665
  }
8666
+ if (resolution.status === "resolved") emitRunLine({
8667
+ presenter: input.presenter,
8668
+ code: "daemon.run.interaction_resolved",
8669
+ text: `local agent resumed after user input for interaction ${parsedResponse.data.interactionId}`,
8670
+ payload: {
8671
+ interactionId: parsedResponse.data.interactionId,
8672
+ resolutionStatus: resolution.status,
8673
+ runtimeCoordinatorExecutionId: parsedResponse.data.runtimeCoordinatorExecutionId
8674
+ }
8675
+ });
8593
8676
  const connectionGeneration = input.currentSocketRef.connectionGeneration;
8594
8677
  const leaseEpoch = input.leasesByProfileId.get(authority.targetProfileId);
8595
8678
  if (!(connectionGeneration && leaseEpoch)) {
8596
8679
  emitRunLine({
8597
8680
  presenter: input.presenter,
8598
8681
  code: "daemon.run.interaction_delivery_deferred",
8599
- text: `local agent interaction ${parsedResponse.data.interactionId} resumed locally; delivery acknowledgement is waiting for the active lease`,
8682
+ text: `delivery acknowledgement for local agent interaction ${parsedResponse.data.interactionId} is waiting for the active lease`,
8600
8683
  payload: {
8601
8684
  interactionId: parsedResponse.data.interactionId,
8602
8685
  runtimeCoordinatorExecutionId: parsedResponse.data.runtimeCoordinatorExecutionId
@@ -8621,16 +8704,6 @@ function handleDispatchInteractionResponse(input) {
8621
8704
  code: "daemon.dispatch.interaction_delivered",
8622
8705
  payload: deliveredRequest
8623
8706
  });
8624
- emitRunLine({
8625
- presenter: input.presenter,
8626
- code: "daemon.run.interaction_resolved",
8627
- text: `local agent resumed after user input for interaction ${parsedResponse.data.interactionId}`,
8628
- payload: {
8629
- interactionId: parsedResponse.data.interactionId,
8630
- resolutionStatus: resolution.status,
8631
- runtimeCoordinatorExecutionId: parsedResponse.data.runtimeCoordinatorExecutionId
8632
- }
8633
- });
8634
8707
  }
8635
8708
  function applyReasoningPreference(ref, payload) {
8636
8709
  const preference = localAgentReasoningPreferencesSchema.safeParse(payload);
@@ -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);
@@ -9141,7 +9223,7 @@ function createExecutionHostRuntime(input) {
9141
9223
  if (!catalog || request.catalogRevision < activeCatalogRevision) throw new ExecutionHostError("host.catalog_replaced", "The requested Host catalog is no longer available.");
9142
9224
  const applyRouteFacts = () => {
9143
9225
  activeCatalogRevision = request.catalogRevision;
9144
- Object.assign(routeCatalogState, createMutableRouteCatalogState(catalog));
9226
+ replaceMutableRouteCatalogState(routeCatalogState, catalog);
9145
9227
  leasesByProfileId.clear();
9146
9228
  for (const lease of request.leases) leasesByProfileId.set(lease.profileId, lease.leaseEpoch);
9147
9229
  };
@@ -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-DCBc6YOq.js.map
9444
+ //# sourceMappingURL=runtime-DzToUfqW.js.map