@scotthuang/agent-knock-knock 0.13.3 → 0.13.4
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.
- package/CHANGELOG.md +14 -0
- package/README.md +13 -5
- package/dist/src/callback-outbox-policy.js +27 -6
- package/dist/src/callback-outbox-policy.js.map +1 -1
- package/dist/src/callback-outbox-service.d.ts +4 -30
- package/dist/src/callback-outbox-service.js +21 -154
- package/dist/src/callback-outbox-service.js.map +1 -1
- package/dist/src/callback-outbox-settlement.js +13 -8
- package/dist/src/callback-outbox-settlement.js.map +1 -1
- package/dist/src/callback-route-service.d.ts +46 -0
- package/dist/src/callback-route-service.js +155 -0
- package/dist/src/callback-route-service.js.map +1 -0
- package/dist/src/codex-process-incarnation.d.ts +8 -0
- package/dist/src/codex-process-incarnation.js +36 -0
- package/dist/src/codex-process-incarnation.js.map +1 -0
- package/dist/src/deferred-foreground-conflict-policy.d.ts +22 -0
- package/dist/src/deferred-foreground-conflict-policy.js +52 -0
- package/dist/src/deferred-foreground-conflict-policy.js.map +1 -0
- package/dist/src/durable-notification-kernel.d.ts +94 -0
- package/dist/src/durable-notification-kernel.js +68 -0
- package/dist/src/durable-notification-kernel.js.map +1 -0
- package/dist/src/herdr-socket-transport.d.ts +43 -0
- package/dist/src/herdr-socket-transport.js +170 -0
- package/dist/src/herdr-socket-transport.js.map +1 -0
- package/dist/src/herdr-terminal-control-provider.d.ts +2 -45
- package/dist/src/herdr-terminal-control-provider.js +2 -172
- package/dist/src/herdr-terminal-control-provider.js.map +1 -1
- package/dist/src/host-adapter-capabilities.d.ts +35 -0
- package/dist/src/host-adapter-capabilities.js +146 -0
- package/dist/src/host-adapter-capabilities.js.map +1 -0
- package/dist/src/host-adapter.d.ts +9 -3
- package/dist/src/host-adapter.js +33 -9
- package/dist/src/host-adapter.js.map +1 -1
- package/dist/src/host-bridge-tools.d.ts +3 -4
- package/dist/src/host-bridge-tools.js +49 -92
- package/dist/src/host-bridge-tools.js.map +1 -1
- package/dist/src/host-bridge.js +5 -5
- package/dist/src/host-bridge.js.map +1 -1
- package/dist/src/host-monitor-reconciliation.d.ts +6 -0
- package/dist/src/host-monitor-reconciliation.js +96 -0
- package/dist/src/host-monitor-reconciliation.js.map +1 -0
- package/dist/src/native-thread-lifecycle-cli-adapter.js +116 -60
- package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
- package/dist/src/openclaw-list-projection.d.ts +2 -0
- package/dist/src/openclaw-list-projection.js +3 -0
- package/dist/src/openclaw-list-projection.js.map +1 -0
- package/dist/src/openclaw-model-facing-field-policy.d.ts +2 -0
- package/dist/src/openclaw-model-facing-field-policy.js +3 -0
- package/dist/src/openclaw-model-facing-field-policy.js.map +1 -0
- package/dist/src/openclaw-plugin-command-adapter.d.ts +6 -29
- package/dist/src/openclaw-plugin-command-adapter.js +7 -2660
- package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
- package/dist/src/openclaw-plugin-helpers.d.ts +2 -148
- package/dist/src/openclaw-plugin-helpers.js +2 -1844
- package/dist/src/openclaw-plugin-helpers.js.map +1 -1
- package/dist/src/openclaw-plugin-schemas.d.ts +2 -563
- package/dist/src/openclaw-plugin-schemas.js +2 -572
- package/dist/src/openclaw-plugin-schemas.js.map +1 -1
- package/dist/src/openclaw-plugin-supervisor.d.ts +4 -5
- package/dist/src/openclaw-plugin-supervisor.js +5 -94
- package/dist/src/openclaw-plugin-supervisor.js.map +1 -1
- package/dist/src/openclaw-plugin-value-helpers.d.ts +2 -0
- package/dist/src/openclaw-plugin-value-helpers.js +3 -0
- package/dist/src/openclaw-plugin-value-helpers.js.map +1 -0
- package/dist/src/openclaw-private-authority-offers.d.ts +4 -39
- package/dist/src/openclaw-private-authority-offers.js +3 -258
- package/dist/src/openclaw-private-authority-offers.js.map +1 -1
- package/dist/src/semantic-private-authority-offers.d.ts +41 -0
- package/dist/src/semantic-private-authority-offers.js +261 -0
- package/dist/src/semantic-private-authority-offers.js.map +1 -0
- package/dist/src/semantic-tool-arguments.d.ts +9 -0
- package/dist/src/semantic-tool-arguments.js +64 -0
- package/dist/src/semantic-tool-arguments.js.map +1 -0
- package/dist/src/semantic-tool-catalog.d.ts +48 -0
- package/dist/src/semantic-tool-catalog.js +105 -0
- package/dist/src/semantic-tool-catalog.js.map +1 -0
- package/dist/src/semantic-tool-command-helpers.d.ts +145 -0
- package/dist/src/semantic-tool-command-helpers.js +1272 -0
- package/dist/src/semantic-tool-command-helpers.js.map +1 -0
- package/dist/src/semantic-tool-list-projection.d.ts +10 -0
- package/dist/src/semantic-tool-list-projection.js +497 -0
- package/dist/src/semantic-tool-list-projection.js.map +1 -0
- package/dist/src/semantic-tool-model-facing-field-policy.d.ts +3 -0
- package/dist/src/semantic-tool-model-facing-field-policy.js +66 -0
- package/dist/src/semantic-tool-model-facing-field-policy.js.map +1 -0
- package/dist/src/semantic-tool-presentation.d.ts +37 -0
- package/dist/src/semantic-tool-presentation.js +680 -0
- package/dist/src/semantic-tool-presentation.js.map +1 -0
- package/dist/src/semantic-tool-private-authority.d.ts +39 -0
- package/dist/src/semantic-tool-private-authority.js +602 -0
- package/dist/src/semantic-tool-private-authority.js.map +1 -0
- package/dist/src/semantic-tool-relay.d.ts +16 -0
- package/dist/src/semantic-tool-relay.js +175 -0
- package/dist/src/semantic-tool-relay.js.map +1 -0
- package/dist/src/semantic-tool-runtime.d.ts +10 -0
- package/dist/src/semantic-tool-runtime.js +1157 -0
- package/dist/src/semantic-tool-runtime.js.map +1 -0
- package/dist/src/semantic-tool-schemas.d.ts +563 -0
- package/dist/src/semantic-tool-schemas.js +573 -0
- package/dist/src/semantic-tool-schemas.js.map +1 -0
- package/dist/src/semantic-tool-value-helpers.d.ts +5 -0
- package/dist/src/semantic-tool-value-helpers.js +27 -0
- package/dist/src/semantic-tool-value-helpers.js.map +1 -0
- package/dist/src/store-event-presentation.d.ts +17 -0
- package/dist/src/store-event-presentation.js +33 -0
- package/dist/src/store-event-presentation.js.map +1 -0
- package/dist/src/store.d.ts +3 -16
- package/dist/src/store.js +2 -30
- package/dist/src/store.js.map +1 -1
- package/dist/src/terminal-action-projection.d.ts +2 -98
- package/dist/src/terminal-action-projection.js +13 -215
- package/dist/src/terminal-action-projection.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +14 -340
- package/dist/src/terminal-agent-bridge.js +155 -3226
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-approval-cli-adapter.d.ts +17 -0
- package/dist/src/terminal-approval-cli-adapter.js +921 -0
- package/dist/src/terminal-approval-cli-adapter.js.map +1 -0
- package/dist/src/terminal-command-cli-adapter.d.ts +2 -429
- package/dist/src/terminal-command-cli-adapter.js +344 -6061
- package/dist/src/terminal-command-cli-adapter.js.map +1 -1
- package/dist/src/terminal-command-cli-ports.d.ts +443 -0
- package/dist/src/terminal-command-cli-ports.js +2 -0
- package/dist/src/terminal-command-cli-ports.js.map +1 -0
- package/dist/src/terminal-command-dispatch-preparation.d.ts +81 -0
- package/dist/src/terminal-command-dispatch-preparation.js +209 -0
- package/dist/src/terminal-command-dispatch-preparation.js.map +1 -0
- package/dist/src/terminal-command-dispatch-transport.d.ts +35 -0
- package/dist/src/terminal-command-dispatch-transport.js +859 -0
- package/dist/src/terminal-command-dispatch-transport.js.map +1 -0
- package/dist/src/terminal-command-foreground-proof.d.ts +32 -0
- package/dist/src/terminal-command-foreground-proof.js +72 -0
- package/dist/src/terminal-command-foreground-proof.js.map +1 -0
- package/dist/src/terminal-command-send-preflight.d.ts +41 -0
- package/dist/src/terminal-command-send-preflight.js +86 -0
- package/dist/src/terminal-command-send-preflight.js.map +1 -0
- package/dist/src/terminal-composer-classifier.d.ts +55 -0
- package/dist/src/terminal-composer-classifier.js +638 -0
- package/dist/src/terminal-composer-classifier.js.map +1 -0
- package/dist/src/terminal-dispatch-recovery-authority.d.ts +56 -0
- package/dist/src/terminal-dispatch-recovery-authority.js +251 -0
- package/dist/src/terminal-dispatch-recovery-authority.js.map +1 -0
- package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +1 -9
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js +5 -240
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
- package/dist/src/terminal-handoff-cli-adapter.d.ts +1 -11
- package/dist/src/terminal-handoff-cli-adapter.js +2 -39
- package/dist/src/terminal-handoff-cli-adapter.js.map +1 -1
- package/dist/src/terminal-human-explicit-send-cli-adapter.d.ts +25 -0
- package/dist/src/terminal-human-explicit-send-cli-adapter.js +903 -0
- package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -0
- package/dist/src/terminal-identity-authority-cli-adapter.d.ts +1 -6
- package/dist/src/terminal-identity-authority-cli-adapter.js +3 -33
- package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
- package/dist/src/terminal-interaction-cli-adapter.js +209 -210
- package/dist/src/terminal-interaction-cli-adapter.js.map +1 -1
- package/dist/src/terminal-interaction-core.d.ts +0 -2
- package/dist/src/terminal-interaction-core.js +4 -3
- package/dist/src/terminal-interaction-core.js.map +1 -1
- package/dist/src/terminal-interaction-protocol.d.ts +21 -0
- package/dist/src/terminal-interaction-protocol.js +74 -0
- package/dist/src/terminal-interaction-protocol.js.map +1 -1
- package/dist/src/terminal-interaction-response-bridge.d.ts +126 -0
- package/dist/src/terminal-interaction-response-bridge.js +579 -0
- package/dist/src/terminal-interaction-response-bridge.js.map +1 -0
- package/dist/src/terminal-interaction-response-transaction.d.ts +44 -0
- package/dist/src/terminal-interaction-response-transaction.js +56 -0
- package/dist/src/terminal-interaction-response-transaction.js.map +1 -0
- package/dist/src/terminal-list-action-policy.d.ts +43 -0
- package/dist/src/terminal-list-action-policy.js +164 -0
- package/dist/src/terminal-list-action-policy.js.map +1 -0
- package/dist/src/terminal-list-cli-adapter.d.ts +6 -36
- package/dist/src/terminal-list-cli-adapter.js +241 -1946
- package/dist/src/terminal-list-cli-adapter.js.map +1 -1
- package/dist/src/terminal-list-facts.d.ts +129 -0
- package/dist/src/terminal-list-facts.js +179 -0
- package/dist/src/terminal-list-facts.js.map +1 -0
- package/dist/src/terminal-list-inventory.d.ts +59 -0
- package/dist/src/terminal-list-inventory.js +194 -0
- package/dist/src/terminal-list-inventory.js.map +1 -0
- package/dist/src/terminal-list-ownership-service.d.ts +118 -0
- package/dist/src/terminal-list-ownership-service.js +1003 -0
- package/dist/src/terminal-list-ownership-service.js.map +1 -0
- package/dist/src/terminal-list-projection-service.d.ts +49 -0
- package/dist/src/terminal-list-projection-service.js +407 -0
- package/dist/src/terminal-list-projection-service.js.map +1 -0
- package/dist/src/terminal-list-renderer.d.ts +11 -11
- package/dist/src/terminal-list-renderer.js +168 -119
- package/dist/src/terminal-list-renderer.js.map +1 -1
- package/dist/src/terminal-managed-send-cli-adapter.d.ts +33 -0
- package/dist/src/terminal-managed-send-cli-adapter.js +994 -0
- package/dist/src/terminal-managed-send-cli-adapter.js.map +1 -0
- package/dist/src/terminal-managed-turn-list-action-policy.d.ts +47 -0
- package/dist/src/terminal-managed-turn-list-action-policy.js +64 -0
- package/dist/src/terminal-managed-turn-list-action-policy.js.map +1 -0
- package/dist/src/terminal-model-control-action-policy.d.ts +60 -0
- package/dist/src/terminal-model-control-action-policy.js +96 -0
- package/dist/src/terminal-model-control-action-policy.js.map +1 -0
- package/dist/src/terminal-model-control-availability.d.ts +68 -0
- package/dist/src/terminal-model-control-availability.js +157 -0
- package/dist/src/terminal-model-control-availability.js.map +1 -0
- package/dist/src/terminal-model-control-bridge.d.ts +48 -0
- package/dist/src/terminal-model-control-bridge.js +259 -0
- package/dist/src/terminal-model-control-bridge.js.map +1 -0
- package/dist/src/terminal-model-control-profile.d.ts +55 -0
- package/dist/src/terminal-model-control-profile.js +137 -0
- package/dist/src/terminal-model-control-profile.js.map +1 -0
- package/dist/src/terminal-model-control-subject.d.ts +34 -0
- package/dist/src/terminal-model-control-subject.js +58 -0
- package/dist/src/terminal-model-control-subject.js.map +1 -0
- package/dist/src/terminal-model-control-transaction.d.ts +19 -0
- package/dist/src/terminal-model-control-transaction.js +39 -0
- package/dist/src/terminal-model-control-transaction.js.map +1 -0
- package/dist/src/terminal-model-control.d.ts +37 -18
- package/dist/src/terminal-model-control.js +285 -194
- package/dist/src/terminal-model-control.js.map +1 -1
- package/dist/src/terminal-monitor-application-service.js +50 -17
- package/dist/src/terminal-monitor-application-service.js.map +1 -1
- package/dist/src/terminal-native-inspection-bridge.d.ts +211 -0
- package/dist/src/terminal-native-inspection-bridge.js +1127 -0
- package/dist/src/terminal-native-inspection-bridge.js.map +1 -0
- package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -2
- package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
- package/dist/src/terminal-submission-retry-application.d.ts +24 -0
- package/dist/src/terminal-submission-retry-application.js +402 -0
- package/dist/src/terminal-submission-retry-application.js.map +1 -0
- package/dist/src/terminal-submission-retry-ports.d.ts +30 -0
- package/dist/src/terminal-submission-retry-ports.js +2 -0
- package/dist/src/terminal-submission-retry-ports.js.map +1 -0
- package/dist/src/terminal-submission-retry-reconciliation.d.ts +236 -0
- package/dist/src/terminal-submission-retry-reconciliation.js +1130 -0
- package/dist/src/terminal-submission-retry-reconciliation.js.map +1 -0
- package/dist/src/terminal-submission-retry-transport.d.ts +58 -0
- package/dist/src/terminal-submission-retry-transport.js +675 -0
- package/dist/src/terminal-submission-retry-transport.js.map +1 -0
- package/dist/src/terminal-text-submission-bridge.d.ts +200 -0
- package/dist/src/terminal-text-submission-bridge.js +632 -0
- package/dist/src/terminal-text-submission-bridge.js.map +1 -0
- package/dist/src/terminal-user-explicit-send-policy.d.ts +29 -0
- package/dist/src/terminal-user-explicit-send-policy.js +46 -0
- package/dist/src/terminal-user-explicit-send-policy.js.map +1 -0
- package/dist/src/terminal-watch-cli-adapter.js +91 -143
- package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
- package/dist/src/terminal-watch-codec.d.ts +9 -0
- package/dist/src/terminal-watch-codec.js +1051 -0
- package/dist/src/terminal-watch-codec.js.map +1 -0
- package/dist/src/terminal-watch-interaction-response-store.d.ts +19 -0
- package/dist/src/terminal-watch-interaction-response-store.js +87 -0
- package/dist/src/terminal-watch-interaction-response-store.js.map +1 -0
- package/dist/src/terminal-watch-record.d.ts +319 -0
- package/dist/src/terminal-watch-record.js +742 -0
- package/dist/src/terminal-watch-record.js.map +1 -0
- package/dist/src/terminal-watch-service.js +48 -27
- package/dist/src/terminal-watch-service.js.map +1 -1
- package/dist/src/terminal-watch-store.d.ts +3 -279
- package/dist/src/terminal-watch-store.js +5 -1779
- package/dist/src/terminal-watch-store.js.map +1 -1
- package/package.json +7 -2
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-text-submission-bridge.js","sourceRoot":"","sources":["../../src/terminal-text-submission-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,iCAAiC,EAIlC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MACzC,gCAAgC,CAAC;AAEnC,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,uBAAuB;AACvB,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,8EAA8E;AAC9E,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,MAAM,iCAAiC,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAAG,CAAC;AAE3D,4EAA4E;AAC5E,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC5C,IAAI,GAAG,gCAAgC,CAAC;IAEjD,YAAY,OAAe,EAAE,OAAO,GAAwB,EAAE;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,sCAAuC,SAAQ,KAAK;IACtD,IAAI,GAAG,2CAA2C,CAAC;IACnD,KAAK,GAAG,qBAAqB,CAAC;IAEvC,YAAY,OAAe,EAAE,OAAO,GAAwB,EAAE;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,wCAAwC,CAAC;IACvD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAClD,IAAI,GAAG,sCAAsC,CAAC;IAC9C,KAAK,GAAG,gBAAgB,CAAC;IACzB,UAAU,GAAG,IAAI,CAAC;IAE3B,YAAY,OAAe,EAAE,OAAO,GAAwB,EAAE;QAC5D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAqMD,SAAS,gCAAgC,CACvC,KAAmB,EACnB,SAAkB,EAClB,OAA4B;IAQ5B,MAAM,wBAAwB,GAC5B,OAAO,CAAC,wCAAwC,CAAC;IACnD,MAAM,mCAAmC,GACvC,OAAO,CAAC,mCAAmC,KAAK,IAAI,CAAC;IACvD,MAAM,6CAA6C,GACjD,OAAO,CAAC,6CAA6C,KAAK,IAAI,CAAC;IACjE,IACE,6CAA6C;QAC7C,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,mCAAmC,CAAC,EAC3D,CAAC;QACD,MAAM,IAAI,4BAA4B,CACpC,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,MAAM,oBAAoB,GACxB,CAAC,6CAA6C;QAC9C,CACE,CAAC,KAAK,KAAK,OAAO,IAAI,SAAS,CAAC;YAChC,OAAO,CAAC,+BAA+B,KAAK,IAAI;YAChD,mCAAmC;YACnC,wBAAwB,KAAK,SAAS,CACvC,CAAC;IACJ,IACE,wBAAwB,KAAK,SAAS;QACtC,CACE,KAAK,KAAK,OAAO;YACjB,OAAO,CAAC,UAAU,KAAK,SAAS;YAChC,CAAC,iBAAiB,CAAC,IAAI,CACrB,wBAAwB,CAAC,yBAAyB,CACnD,CACF,EACD,CAAC;QACD,MAAM,IAAI,4BAA4B,CACpC,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,OAAO;QACL,wBAAwB;QACxB,mCAAmC;QACnC,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAA4B,EAC5B,KAAkC,EAClC,iBAA0B,EAC1B,aAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB;YAAE,MAAM,KAAK,CAAC;QACpC,OAAO,aAAa,IAAI,KAAK,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAA4B,EAC5B,OAAoC,EACpC,iBAA0B,EAC1B,aAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,aAAa,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,iBAAiB;YAAE,MAAM,KAAK,CAAC;QACpC,OAAO,aAAa,IAAI,KAAK,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,KAK5C;IACC,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO;IAC3B,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CACxB,CAAC,EACD,2BAA2B;QACzB,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CACzC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sCAAsC,CAC7C,OAAgB,EAChB,KAAc;IAEd,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAC5C,MAAM,IAAI,kCAAkC,CAC1C,yFAAyF,EACzF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,4BAA4B;IACtB,OAAO,CAAqC;IAC5C,WAAW,CAAwC;IAEpE,YAAY,KAA8C;QACxD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAA6B,EAC7B,eAAmC,EACnC,IAAY,EACZ,OAAO,GAAwB,EAAE;QAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,EACJ,wBAAwB,EACxB,mCAAmC,EACnC,oBAAoB,EACrB,GAAG,gCAAgC,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,CACpB,eAAe,EACf,oBAAoB,IAAI,wBAAwB;gBAC9C,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,MAAM,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,4BAA4B,CACpC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,4BAA4B,CAAC,2BAA2B,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,eAAmC,CAAC;QACxC,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CACjD,OAAO,CAAC,KAAK,EACb,eAAe,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,4BAA4B,CACpC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,4BAA4B,CACpC,GAAG,OAAO,CAAC,WAAW,qDAAqD,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,qCAAqC,GAAG,KAAK,CAAC;QAClD,IAAI,wBAAwB,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;oBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,eAAe,EAAE,eAAe;oBAChC,SAAS;oBACT,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACxD,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,CAAC,OAAO,CAChB,CAAC;gBACF,IACE,UAAU,CAAC,KAAK,KAAK,aAAa;oBAClC,UAAU,CAAC,MAAM;wBACf,wBAAwB,CAAC,yBAAyB;oBACpD,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAC5B,eAAe,EACf,UAAU,CAAC,eAAe,CAC3B,EACD,CAAC;oBACD,MAAM,MAAM,GAAG,QAAQ,IAAI,UAAU;wBACnC,CAAC,CAAC,UAAU,CAAC,MAAM;wBACnB,CAAC,CAAC,qBAAqB,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CACb,6DAA6D,MAAM,EAAE,CACtE,CAAC;gBACJ,CAAC;gBACD,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,kCAAkC,CAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;oBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,eAAe,EAAE,eAAe;oBAChC,SAAS;oBACT,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,4BAA4B,CACpC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YACD,IAAI,mCAAmC,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAC7D,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,mCAAmC,KAAK,IAAI,CACrD,CAAC;oBACF,qCAAqC,GAAG,IAAI,CAAC;gBAC/C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,4BAA4B,CACpC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,qCAAqC,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CACzD,OAAO,CAAC,KAAK,EACb,eAAe,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAChC,eAAe,EACf,iBAAiB,CAClB,EAAE,CAAC;oBACF,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;gBACJ,CAAC;gBACD,eAAe,GAAG,iBAAiB,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,wBAAwB,EAAE,CAAC;oBAC7B,MAAM,IAAI,kCAAkC,CAAC,OAAO,EAAE;wBACpD,KAAK,EAAE,KAAK;qBACb,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,IAAI,4BAA4B,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,MAAM,IAAI,kCAAkC,CAC1C,6EAA6E,EAC7E,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,YAAY,gCAAgC,EAAE,CAAC;gBACtD,MAAM,IAAI,4BAA4B,CAAC,KAAK,CAAC,OAAO,EAAE;oBACpD,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GACrB,OAAO,CAAC,6CAA6C,KAAK,IAAI,CAAC;QACjE,MAAM,mCAAmC,GACvC,gCAAgC,CAAC;YAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS;YACT,qCAAqC;YACrC,eAAe,EAAE,eAAe;SACjC,CAAC,CAAC;QACL,IAAI,iBAA0B,CAAC;QAC/B,IAAI,gBAAoC,CAAC;QACzC,IAAI,mBAA+D,CAAC;QACpE,IAAI,CAAC;YACH,iBAAiB,GAAG,MAAM,uBAAuB,CAC/C,OAAO,EACP;gBACE,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,eAAe,EAAE,eAAe;gBAChC,SAAS;aACV,EACD,iBAAiB,CAClB,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,IAAI,oBAAoB,EAAE,CAAC;gBACtD,gBAAgB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACxD,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,CAAC,OAAO,EACf;oBACE,gCAAgC,EAC9B,wBAAwB,KAAK,SAAS;oBACxC,oBAAoB,EAClB,OAAO,CAAC,mCAAmC,KAAK,IAAI;iBACvD,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,mCAAmC,EAAE,CAAC;gBAC/C,mBAAmB,GAAG,MAAM,iCAAiC,CAAC;oBAC5D,eAAe,EAAE,eAAe;oBAChC,YAAY,EAAE,UAAU;oBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,oBAAoB,EAClB,OAAO,CAAC,mCAAmC,KAAK,IAAI;oBACtD,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC;iBACnD,CAAC,CAAC;gBACH,gBAAgB,GAAG,mBAAmB,CAAC,eAAe,CAAC;YACzD,CAAC;iBAAM,IAAI,oBAAoB,EAAE,CAAC;gBAChC,gBAAgB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC1D,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,mCAAmC,KAAK,IAAI,CACrD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,6BAA6B,CAAC;oBAClC,OAAO,EAAE,iBAAiB;oBAC1B,cAAc;oBACd,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;oBACzB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;iBAC1B,CAAC,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAClD,OAAO,CAAC,KAAK,EACb,eAAe,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC;YACD,iBAAiB,GAAG,MAAM,0BAA0B,CAClD,OAAO,EACP;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,eAAe,EAAE,gBAAgB;gBACjC,SAAS;gBACT,IAAI,EAAE,UAAU;aACjB,EACD,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;YACF,IAAI,oBAAoB,EAAE,CAAC;gBACzB,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAC9B,gBAAgB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACxD,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,CAAC,OAAO,EACf;wBACE,gCAAgC,EAC9B,wBAAwB,KAAK,SAAS;wBACxC,oBAAoB,EAClB,OAAO,CAAC,mCAAmC,KAAK,IAAI;qBACvD,CACF,CAAC;gBACJ,CAAC;qBAAM,IACL,mCAAmC,IAAI,mBAAmB,EAC1D,CAAC;oBACD,gBAAgB,GAAG,MAAM,6BAA6B,CAAC;wBACrD,KAAK,EAAE,mBAAmB;wBAC1B,YAAY,EAAE,UAAU;wBACxB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,oBAAoB,EAClB,OAAO,CAAC,mCAAmC,KAAK,IAAI;wBACtD,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC;qBACnD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,gBAAgB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC1D,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,mCAAmC,KAAK,IAAI,CACrD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC/B,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAClD,OAAO,CAAC,KAAK,EACb,eAAe,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,IAAI,KAAK,YAAY,kCAAkC,EAAE,CAAC;oBACxD,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,kCAAkC,CAC1C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,YAAY,sCAAsC,EAAE,CAAC;gBAC5D,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,sCAAsC,CAC9C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACnD,iBAAiB,GAAG,MAAM,uBAAuB,CAC/C,OAAO,EACP;gBACE,KAAK,EAAE,kBAAkB;gBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,eAAe,EAAE,gBAAgB;gBACjC,SAAS;aACV,EACD,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;YACF,sCAAsC,CACpC,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,MAAM,IAAI,kCAAkC,CAC1C,kEAAkE,EAClE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO;YACL,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,eAAe,EAAE,gBAAgB;YACjC,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA6B,EAC7B,eAAmC,EACnC,YAAoB,EACpB,OAAiC;QAEjC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,+BAA+B;aACxC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,8BAA8B,CACxC,OAAO,EACP,eAAe,EACf,UAAU,EACV,OAAO,EACP,EAAE,eAAe,EAAE,8BAA8B,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,8BAA8B,CAClC,OAA6B,EAC7B,eAAmC,EACnC,YAAoB,EACpB,OAA4C,EAC5C,OAMC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,SAGS,CAAC;QACd,IAAI,WAA+B,CAAC;QACpC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,4BAA4B,GAAG,KAAK,CAAC;QACzC,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,eAAe,CAAC;QAE9B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACtD,OAAO,EACP,OAAO,EACP,YAAY,EACZ,OAAO,EACP;gBACE,gCAAgC,EAC9B,OAAO,CAAC,gCAAgC,KAAK,IAAI;gBACnD,mCAAmC,EACjC,OAAO,CAAC,mCAAmC,KAAK,IAAI;gBACtD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,KAAK,IAAI;aAC5D,CACF,CAAC;YACF,IACE,QAAQ,CAAC,KAAK,KAAK,gBAAgB;gBACnC,CAAC,QAAQ,CAAC,KAAK,KAAK,aAAa,IAAI,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,EACjE,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IACE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,SAAS;gBAC9B,iCAAiC,EACnC,CAAC;gBACD,sBAAsB,IAAI,CAAC,CAAC;gBAC5B,IACE,sBAAsB,GAAG,oCAAoC,EAC7D,CAAC;oBACD,OAAO;wBACL,KAAK,EAAE,aAAa;wBACpB,MAAM,EAAE,yEAAyE;qBAClF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;YACnC,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS;gBAC3C,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;gBAClC,SAAS,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;gBACpC,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,SAAS,CAAC,eAAe,EACzB,QAAQ,CAAC,eAAe,CACzB,CAAC;YACJ,IAAI,aAAa,EAAE,CAAC;gBAClB,cAAc,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,QAAQ,CAAC;gBACrB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnC,cAAc,GAAG,CAAC,CAAC;gBACnB,4BAA4B,GAAG,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC;YAClE,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS;gBAC3C,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC;YACvC,IACE,cAAc,IAAI,+BAA+B;gBACjD,WAAW,IAAI,OAAO,CAAC,eAAe;gBACtC,QAAQ,CAAC,KAAK,KAAK,aAAa;gBAChC,CACE,OAAO,CAAC,aAAa,KAAK,SAAS;oBACnC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa;oBACxC,QAAQ,CAAC,KAAK,KAAK,SAAS;oBAC5B,QAAQ,CAAC,KAAK,KAAK,mBAAmB,CACvC,EACD,CAAC;gBACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAC3D,OAAO,EACP,QAAQ,CAAC,eAAe,EACxB,YAAY,EACZ,OAAO,EACP;oBACE,gCAAgC,EAC9B,OAAO,CAAC,gCAAgC,KAAK,IAAI;oBACnD,mCAAmC,EACjC,OAAO,CAAC,mCAAmC,KAAK,IAAI;oBACtD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,KAAK,IAAI;iBAC5D,CACF,CAAC;gBACF,IACE,aAAa,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;oBACtC,QAAQ,IAAI,aAAa;oBACzB,aAAa,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;oBACxC,IAAI,CAAC,WAAW,CAAC,YAAY,CAC3B,QAAQ,CAAC,eAAe,EACxB,aAAa,CAAC,eAAe,CAC9B,EACD,CAAC;oBACD,OAAO;wBACL,GAAG,aAAa;wBAChB,cAAc,EAAE,cAAc,GAAG,CAAC;qBACnC,CAAC;gBACJ,CAAC;gBACD,IACE,aAAa,CAAC,KAAK,KAAK,gBAAgB;oBACxC,CACE,aAAa,CAAC,KAAK,KAAK,aAAa;wBACrC,aAAa,CAAC,SAAS,KAAK,IAAI,CACjC,EACD,CAAC;oBACD,OAAO,aAAa,CAAC;gBACvB,CAAC;gBACD,IACE,OAAO,CAAC,aAAa,KAAK,SAAS;oBACnC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa,EACxC,CAAC;oBACD,OAAO;wBACL,KAAK,EAAE,aAAa;wBACpB,MAAM,EAAE,yDAAyD;qBAClE,CAAC;gBACJ,CAAC;gBACD,SAAS,GAAG,aAAa,CAAC;gBAC1B,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC;gBACxC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnC,cAAc,GAAG,CAAC,CAAC;gBACnB,4BAA4B,GAAG,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC;YACvE,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC;YACjD,IACE,OAAO,GAAG,iCAAiC;gBAC3C,CAAC,4BAA4B,EAC7B,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE,OAAO,CAAC,aAAa;wBAC3B,CAAC,CAAC,iCAAiC,OAAO,CAAC,aAAa,0CAA0C;wBAClG,CAAC,CAAC,8EAA8E;iBACnF,CAAC;YACJ,CAAC;YACD,IACE,OAAO,GAAG,iCAAiC;gBAC3C,OAAO,CAAC,aAAa,KAAK,SAAS;gBACnC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,aAAa,EACxC,CAAC;gBACD,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;oBACrC,OAAO;wBACL,GAAG,QAAQ;wBACX,cAAc;qBACf,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC;YACJ,CAAC;YAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,WAAW,CAAC;YAChE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAC/B,CAAC,EACD,IAAI,CAAC,GAAG,CACN,8BAA8B,EAC9B,iBAAiB,GAAG,CAAC;gBACnB,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,8BAA8B,CACnC,CACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,OAA6B,EAC7B,eAAmC,EACnC,YAAoB,EACpB,OAAiC,EACjC,OAAO,GAIH,EAAE;QAEN,IAAI,cAAkC,CAAC;QACvC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAChD,OAAO,CAAC,KAAK,EACb,eAAe,EACf,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,UAAoC,CAAC;QACzC,IAAI,CAAC;YACH,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC/C,OAAO,CAAC,KAAK,EACb,cAAc,EACd,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC/D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC;YAClE,OAAO;gBACL,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,qEAAqE;aAC9E,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC;aACtC,MAAM,CAAC,YAAY,CAAC;aACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QACjB,IACE,UAAU,CAAC,QAAQ,CAAC,OAAO;YAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,mBAAmB;YACjD,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAClD,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,mBAAmB;gBAC1B,eAAe,EAAE,aAAa;gBAC9B,MAAM,EAAE,YAAY;aACrB,CAAC;QACJ,CAAC;QACD,IACE,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS;YACvC,OAAO,CAAC,oBAAoB,KAAK,IAAI,EACrC,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,eAAe,EAAE,aAAa;gBAC9B,MAAM,EAAE,YAAY;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACpD,YAAY,EACZ,YAAY,EACZ,OAAO,CAAC,gCAAgC,KAAK,IAAI,EACjD,OAAO,CAAC,mCAAmC,KAAK,IAAI,CACrD,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,qDAAqD;gBAC7D,SAAS,EAAE,IAAI;gBACf,eAAe,EAAE,aAAa;gBAC9B,MAAM,EAAE,YAAY;aACrB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,OAA6B,EAC7B,eAAmC,EACnC,YAAoB,EACpB,OAAiC,EACjC,OAAO,GAGH,EAAE;QAEN,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC3D,OAAO,EACP,eAAe,EACf,YAAY,EACZ,OAAO,EACP;YACE,eAAe,EAAE,2BAA2B;YAC5C,aAAa,EAAE,aAAa;YAC5B,gCAAgC,EAC9B,OAAO,CAAC,gCAAgC,KAAK,IAAI;YACnD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,KAAK,IAAI;SAC5D,CACF,CAAC;QACF,IAAI,WAAW,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YACxC,OAAO,WAAW,CAAC,eAAe,CAAC;QACrC,CAAC;QACD,IACE,WAAW,CAAC,KAAK,KAAK,SAAS;YAC/B,WAAW,CAAC,KAAK,KAAK,mBAAmB,EACzC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,oGAAoG,CACrG,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,OAA6B,EAC7B,eAAmC,EACnC,YAAoB,EACpB,OAAiC,EACjC,oBAAoB,GAAG,KAAK;QAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACnD,OAAO,EACP,eAAe,EACf;YACE,OAAO;YACP,eAAe,EAAE,uCAAuC;SACzD,CACF,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAC1D,OAAO,CAAC,KAAK,EACb,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;QACF,IACE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;YACpC,CAAC,CACC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAChE,CACE,oBAAoB;oBACpB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CACjD,CACF;YACD,CAAC,aAAa,EACd,CAAC;YACD,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,WAAW,2DAA2D,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,8BAA8B,GAClC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC/B,OAAO,CAAC,KAAK,EACb,QAAQ,CAAC,eAAe,EACxB,OAAO,CACR,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAChC,QAAQ,CAAC,eAAe,EACxB,8BAA8B,CAC/B,EAAE,CAAC;YACF,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,8BAA8B,CAAC;IACxC,CAAC;IAEO,6BAA6B,CACnC,OAA6B;QAE7B,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CACpC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE;gBACvD,OAAO;gBACP,eAAe,EAAE,uCAAuC;aACzD,CAAC;YACJ,cAAc,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CAC3C,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC;YACtE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,mBAAmB;YAChD,6BAA6B,EAC3B,IAAI,CAAC,WAAW,CAAC,mCAAmC;SACvD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAC9C,OAA6B,EAC7B,eAAmC,EACnC,YAAoB,EACpB,OAAiC,EACjC,oBAAoB,GAAG,KAAK;QAE5B,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACtD,OAAO,EACP,eAAe,EACf,YAAY,EACZ,OAAO,CACR,CAAC;YACF,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ;oBACjC,CAAC,CAAC,QAAQ,CAAC,MAAM;oBACjB,CAAC,CAAC,qBAAqB,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,iEAAiE,MAAM,EAAE,CAC1E,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,eAAe,CAAC;QAClC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACnD,OAAO,EACP,eAAe,EACf;YACE,OAAO;YACP,eAAe,EAAE,uCAAuC;SACzD,CACF,CAAC;QACF,IACE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO;YACpC,CAAC,CACC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAChE,CACE,oBAAoB;oBACpB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CACjD,CACF;YACD,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAC3E,CAAC;YACD,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,WAAW,yDAAyD,CAChF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAChD,OAAO,CAAC,KAAK,EACb,QAAQ,CAAC,eAAe,EACxB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAChC,QAAQ,CAAC,eAAe,EACxB,QAAQ,CACT,EAAE,CAAC;YACF,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ExecutorKind } from "./executors.js";
|
|
2
|
+
import { type TerminalControlRef } from "./terminal-control-ref.js";
|
|
3
|
+
export interface TerminalUserExplicitSendFacts {
|
|
4
|
+
readonly exactTerminalRow: boolean;
|
|
5
|
+
readonly terminalId?: string;
|
|
6
|
+
readonly processState?: string;
|
|
7
|
+
readonly terminalControl?: TerminalControlRef;
|
|
8
|
+
readonly agent?: ExecutorKind;
|
|
9
|
+
readonly pid?: number;
|
|
10
|
+
readonly processUuid?: string;
|
|
11
|
+
readonly processBirth?: string;
|
|
12
|
+
readonly approvalScanned: boolean;
|
|
13
|
+
readonly approvalBlocked: boolean;
|
|
14
|
+
readonly userExplicitComposerReady: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type TerminalUserExplicitSendEligibility = {
|
|
17
|
+
readonly eligible: false;
|
|
18
|
+
} | {
|
|
19
|
+
readonly eligible: true;
|
|
20
|
+
readonly terminalId: string;
|
|
21
|
+
readonly terminalControl: TerminalControlRef;
|
|
22
|
+
readonly agent: ExecutorKind;
|
|
23
|
+
readonly pid: number;
|
|
24
|
+
readonly workspace: string;
|
|
25
|
+
readonly processUuid: string;
|
|
26
|
+
readonly processBirth: string;
|
|
27
|
+
};
|
|
28
|
+
/** Decide physical user-Send eligibility without generating private authority. */
|
|
29
|
+
export declare function decideTerminalUserExplicitSendEligibility(facts: TerminalUserExplicitSendFacts): TerminalUserExplicitSendEligibility;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { hasCanonicalTerminalEndpoint, terminalEndpointFromControlRef } from "./terminal-control-ref.js";
|
|
2
|
+
/** Decide physical user-Send eligibility without generating private authority. */
|
|
3
|
+
export function decideTerminalUserExplicitSendEligibility(facts) {
|
|
4
|
+
const terminalId = nonBlank(facts.terminalId);
|
|
5
|
+
const control = facts.terminalControl;
|
|
6
|
+
const processUuid = nonBlank(facts.processUuid);
|
|
7
|
+
const processBirth = nonBlank(facts.processBirth);
|
|
8
|
+
if (!facts.exactTerminalRow ||
|
|
9
|
+
!terminalId ||
|
|
10
|
+
facts.processState !== "active" ||
|
|
11
|
+
!control ||
|
|
12
|
+
!hasCanonicalTerminalEndpoint(control) ||
|
|
13
|
+
!control.capabilities.includes("send_keys") ||
|
|
14
|
+
!control.capabilities.includes("screen_status") ||
|
|
15
|
+
!facts.approvalScanned ||
|
|
16
|
+
facts.approvalBlocked ||
|
|
17
|
+
!facts.agent ||
|
|
18
|
+
(facts.agent !== "codex" && !facts.userExplicitComposerReady) ||
|
|
19
|
+
!Number.isSafeInteger(facts.pid) ||
|
|
20
|
+
Number(facts.pid) <= 1 ||
|
|
21
|
+
!processUuid ||
|
|
22
|
+
!processBirth) {
|
|
23
|
+
return { eligible: false };
|
|
24
|
+
}
|
|
25
|
+
const endpoint = terminalEndpointFromControlRef(control);
|
|
26
|
+
if (!Number.isSafeInteger(endpoint.processAnchorPid) ||
|
|
27
|
+
Number(endpoint.processAnchorPid) <= 1) {
|
|
28
|
+
return { eligible: false };
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
eligible: true,
|
|
32
|
+
terminalId,
|
|
33
|
+
terminalControl: control,
|
|
34
|
+
agent: facts.agent,
|
|
35
|
+
pid: Number(facts.pid),
|
|
36
|
+
workspace: control.currentPath ?? "",
|
|
37
|
+
processUuid,
|
|
38
|
+
processBirth
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function nonBlank(value) {
|
|
42
|
+
return typeof value === "string" && value.trim().length > 0
|
|
43
|
+
? value.trim()
|
|
44
|
+
: undefined;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=terminal-user-explicit-send-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-user-explicit-send-policy.js","sourceRoot":"","sources":["../../src/terminal-user-explicit-send-policy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAE/B,MAAM,2BAA2B,CAAC;AA6BnC,kFAAkF;AAClF,MAAM,UAAU,yCAAyC,CACvD,KAAoC;IAEpC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC;IACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,IACE,CAAC,KAAK,CAAC,gBAAgB;QACvB,CAAC,UAAU;QACX,KAAK,CAAC,YAAY,KAAK,QAAQ;QAC/B,CAAC,OAAO;QACR,CAAC,4BAA4B,CAAC,OAAO,CAAC;QACtC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3C,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC/C,CAAC,KAAK,CAAC,eAAe;QACtB,KAAK,CAAC,eAAe;QACrB,CAAC,KAAK,CAAC,KAAK;QACZ,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;QAC7D,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;QAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB,CAAC,WAAW;QACZ,CAAC,YAAY,EACb,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACzD,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACtC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,UAAU;QACV,eAAe,EAAE,OAAO;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACpC,WAAW;QACX,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;QACd,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
|
|
@@ -12,6 +12,8 @@ import { captureCodexCandidateSetRolloutAcceptanceAnchor, captureCodexRolloutAcc
|
|
|
12
12
|
import { createTerminalInteractionAggregate, hashTerminalInteractionResponse, reduceTerminalInteractionAggregate } from "./terminal-interaction-core.js";
|
|
13
13
|
import { selectTerminalInteractionResponder } from "./terminal-interaction-authority.js";
|
|
14
14
|
import { validateAnyTerminalInteractionProjection, validateTerminalInteractionSubjectResponse } from "./terminal-interaction-protocol.js";
|
|
15
|
+
import { executeTerminalInteractionResponseTransaction } from "./terminal-interaction-response-transaction.js";
|
|
16
|
+
import { consumeWatchInteractionResponse, settleWatchInteractionResponseFailure } from "./terminal-watch-interaction-response-store.js";
|
|
15
17
|
import { sameTerminalControlEvidenceIncarnation, terminalControlEvidence } from "./terminal-control-ref.js";
|
|
16
18
|
import { createTerminalWatchCallbackCliAdapter, resolveTerminalWatchOpenClawCallback, resolveTerminalWatchOpenClawCallbackContext } from "./terminal-watch-callback-cli-adapter.js";
|
|
17
19
|
import { createTerminalWatchService, terminalWatchObservationFence } from "./terminal-watch-service.js";
|
|
@@ -464,112 +466,106 @@ function createTerminalWatchInteractionResponder(dependencies, serviceFor) {
|
|
|
464
466
|
}
|
|
465
467
|
const attemptId = dependencies.randomUUID();
|
|
466
468
|
const responseHash = hashTerminalInteractionResponse(response);
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
469
|
+
const reservation = { attemptId, responseHash };
|
|
470
|
+
const result = await executeTerminalInteractionResponseTransaction({
|
|
471
|
+
reservationFailureFence: "confirmed",
|
|
472
|
+
dispatch: (hooks) => bridge.respondInteraction(current.agent, terminalControl, response, {
|
|
471
473
|
agentVersion: version,
|
|
472
474
|
expectedFingerprint,
|
|
473
475
|
expectedExpiresAt,
|
|
474
476
|
scrollbackLines: Number(options.scrollbackLines ?? 120),
|
|
475
477
|
runtime,
|
|
476
|
-
authorize:
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
const latest = scope.load(watchId);
|
|
499
|
-
const interaction = requiredExecutableWatchInteraction(latest, interactionId, expectedFingerprint);
|
|
500
|
-
if (projection.interaction_id !== interactionId ||
|
|
501
|
-
fingerprint !== expectedFingerprint ||
|
|
502
|
-
interaction.aggregate.state !== "pending") {
|
|
503
|
-
throw new Error("terminal Watch interaction authority changed before dispatch");
|
|
504
|
-
}
|
|
505
|
-
const dispatchDecision = terminalWatchResponseDecision(latest, exact.rawTerminal, interaction.projection.surface_id, interaction.projection.prompt_fingerprint, options, dependencies);
|
|
506
|
-
if (!dispatchDecision.executable ||
|
|
507
|
-
dispatchDecision.suppress) {
|
|
508
|
-
throw new TerminalInteractionInputNotStartedError("terminal Watch interaction ownership changed before dispatch");
|
|
509
|
-
}
|
|
510
|
-
const reservedAt = dependencies.now().toISOString();
|
|
511
|
-
const aggregate = reduceTerminalInteractionAggregate(interaction.aggregate, {
|
|
512
|
-
type: "reserve",
|
|
513
|
-
attempt_id: attemptId,
|
|
514
|
-
response_hash: responseHash,
|
|
515
|
-
at: reservedAt
|
|
516
|
-
});
|
|
517
|
-
const saved = scope.save({
|
|
518
|
-
...latest,
|
|
519
|
-
current_interaction: {
|
|
520
|
-
projection: interaction.projection,
|
|
521
|
-
aggregate
|
|
522
|
-
},
|
|
523
|
-
updated_at: reservedAt
|
|
524
|
-
}, { expectedRevision: terminalWatchRevision(latest) });
|
|
525
|
-
reserved = true;
|
|
526
|
-
return saved;
|
|
527
|
-
}));
|
|
528
|
-
}
|
|
529
|
-
});
|
|
530
|
-
}
|
|
531
|
-
catch (error) {
|
|
532
|
-
if (reserved) {
|
|
533
|
-
const state = error instanceof TerminalInteractionInputNotStartedError
|
|
534
|
-
? "release"
|
|
535
|
-
: "response_uncertain";
|
|
478
|
+
authorize: hooks.authorize,
|
|
479
|
+
beforeDispatch: hooks.beforeDispatch
|
|
480
|
+
}),
|
|
481
|
+
authorize: ({ projection, fingerprint }) => {
|
|
482
|
+
const latest = repository.load(watchId);
|
|
483
|
+
const interaction = requiredExecutableWatchInteraction(latest, interactionId, expectedFingerprint);
|
|
484
|
+
const latestDecision = terminalWatchResponseDecision(latest, exact.rawTerminal, interaction.projection.surface_id, interaction.projection.prompt_fingerprint, options, dependencies);
|
|
485
|
+
return projection.interaction_id === interactionId &&
|
|
486
|
+
fingerprint === expectedFingerprint &&
|
|
487
|
+
interaction.projection.subject.kind === "terminal_watch" &&
|
|
488
|
+
projection.version === 2 &&
|
|
489
|
+
projection.subject.kind === "terminal_watch" &&
|
|
490
|
+
projection.subject.watch_id === watchId &&
|
|
491
|
+
latestDecision.executable && !latestDecision.suppress
|
|
492
|
+
? { approved: true }
|
|
493
|
+
: {
|
|
494
|
+
approved: false,
|
|
495
|
+
reason: "terminal Watch interaction authority changed before response"
|
|
496
|
+
};
|
|
497
|
+
},
|
|
498
|
+
createReservation: () => reservation,
|
|
499
|
+
reserve: ({ projection, fingerprint }, receipt, confirm) => {
|
|
536
500
|
current = repository.withWriterLease((scope) => scope.withWatchLock(watchId, () => {
|
|
537
501
|
const latest = scope.load(watchId);
|
|
538
|
-
const interaction = latest
|
|
539
|
-
if (
|
|
540
|
-
|
|
541
|
-
interaction.aggregate.state !== "
|
|
542
|
-
interaction
|
|
543
|
-
throw new Error("terminal Watch interaction reservation changed while settling failure");
|
|
502
|
+
const interaction = requiredExecutableWatchInteraction(latest, interactionId, expectedFingerprint);
|
|
503
|
+
if (projection.interaction_id !== interactionId ||
|
|
504
|
+
fingerprint !== expectedFingerprint ||
|
|
505
|
+
interaction.aggregate.state !== "pending") {
|
|
506
|
+
throw new Error("terminal Watch interaction authority changed before dispatch");
|
|
544
507
|
}
|
|
545
|
-
const
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
state: "response_uncertain",
|
|
558
|
-
capabilities: {
|
|
559
|
-
...interaction.projection.capabilities,
|
|
560
|
-
respond: false
|
|
561
|
-
}
|
|
562
|
-
};
|
|
563
|
-
return scope.save({
|
|
508
|
+
const dispatchDecision = terminalWatchResponseDecision(latest, exact.rawTerminal, interaction.projection.surface_id, interaction.projection.prompt_fingerprint, options, dependencies);
|
|
509
|
+
if (!dispatchDecision.executable || dispatchDecision.suppress) {
|
|
510
|
+
throw new TerminalInteractionInputNotStartedError("terminal Watch interaction ownership changed before dispatch");
|
|
511
|
+
}
|
|
512
|
+
const reservedAt = dependencies.now().toISOString();
|
|
513
|
+
const aggregate = reduceTerminalInteractionAggregate(interaction.aggregate, {
|
|
514
|
+
type: "reserve",
|
|
515
|
+
attempt_id: receipt.attemptId,
|
|
516
|
+
response_hash: receipt.responseHash,
|
|
517
|
+
at: reservedAt
|
|
518
|
+
});
|
|
519
|
+
const saved = scope.save({
|
|
564
520
|
...latest,
|
|
565
|
-
current_interaction: {
|
|
566
|
-
|
|
521
|
+
current_interaction: {
|
|
522
|
+
projection: interaction.projection,
|
|
523
|
+
aggregate
|
|
524
|
+
},
|
|
525
|
+
updated_at: reservedAt
|
|
567
526
|
}, { expectedRevision: terminalWatchRevision(latest) });
|
|
527
|
+
// Match the predecessor's commit boundary: a later lock
|
|
528
|
+
// release failure must still settle this durable receipt.
|
|
529
|
+
confirm();
|
|
530
|
+
return saved;
|
|
568
531
|
}));
|
|
569
|
-
}
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
532
|
+
},
|
|
533
|
+
release: (receipt) => {
|
|
534
|
+
current = settleWatchInteractionResponseFailure(repository, {
|
|
535
|
+
watchId,
|
|
536
|
+
interactionId,
|
|
537
|
+
reservation: receipt,
|
|
538
|
+
state: "release",
|
|
539
|
+
now: dependencies.now
|
|
540
|
+
});
|
|
541
|
+
},
|
|
542
|
+
releaseFailure: (_receipt, _error, releaseError) => releaseError,
|
|
543
|
+
markUncertain: (receipt) => {
|
|
544
|
+
current = settleWatchInteractionResponseFailure(repository, {
|
|
545
|
+
watchId,
|
|
546
|
+
interactionId,
|
|
547
|
+
reservation: receipt,
|
|
548
|
+
state: "response_uncertain",
|
|
549
|
+
now: dependencies.now
|
|
550
|
+
});
|
|
551
|
+
},
|
|
552
|
+
consume: (receipt) => {
|
|
553
|
+
current = consumeWatchInteractionResponse(repository, {
|
|
554
|
+
watchId,
|
|
555
|
+
interactionId,
|
|
556
|
+
reservation: receipt,
|
|
557
|
+
now: dependencies.now,
|
|
558
|
+
notificationFingerprint: sha256
|
|
559
|
+
});
|
|
560
|
+
},
|
|
561
|
+
responded: (execution) => execution.responded,
|
|
562
|
+
isInputNotStarted: (error) => error instanceof TerminalInteractionInputNotStartedError,
|
|
563
|
+
duplicateReservationError: () => new Error("terminal Watch interaction response was already reserved"),
|
|
564
|
+
inputNotStartedError: (error) => error,
|
|
565
|
+
missingReservationError: () => new TerminalInteractionDispatchReservedError("reservation_uncertain", "terminal Watch response was dispatched without a durable reservation")
|
|
566
|
+
});
|
|
567
|
+
const execution = result.execution;
|
|
568
|
+
if (result.state === "blocked") {
|
|
573
569
|
dependencies.printJson({
|
|
574
570
|
watch: publicTerminalWatch(current, [], true),
|
|
575
571
|
interaction_id: interactionId,
|
|
@@ -579,54 +575,6 @@ function createTerminalWatchInteractionResponder(dependencies, serviceFor) {
|
|
|
579
575
|
});
|
|
580
576
|
return;
|
|
581
577
|
}
|
|
582
|
-
if (!reserved) {
|
|
583
|
-
throw new TerminalInteractionDispatchReservedError("reservation_uncertain", "terminal Watch response was dispatched without a durable reservation");
|
|
584
|
-
}
|
|
585
|
-
current = repository.withWriterLease((scope) => scope.withWatchLock(watchId, () => {
|
|
586
|
-
const latest = scope.load(watchId);
|
|
587
|
-
const interaction = latest.current_interaction;
|
|
588
|
-
if (!interaction ||
|
|
589
|
-
interaction.projection.interaction_id !== interactionId ||
|
|
590
|
-
interaction.aggregate.state !== "reserved" ||
|
|
591
|
-
interaction.aggregate.reservation?.attempt_id !== attemptId) {
|
|
592
|
-
throw new Error("terminal Watch interaction reservation changed after dispatch");
|
|
593
|
-
}
|
|
594
|
-
const answeredAt = dependencies.now().toISOString();
|
|
595
|
-
const aggregate = reduceTerminalInteractionAggregate(interaction.aggregate, {
|
|
596
|
-
type: "consume",
|
|
597
|
-
at: answeredAt,
|
|
598
|
-
reason_code: "terminal_response_dispatched"
|
|
599
|
-
});
|
|
600
|
-
return scope.save({
|
|
601
|
-
...latest,
|
|
602
|
-
current_interaction: {
|
|
603
|
-
projection: interaction.projection,
|
|
604
|
-
aggregate
|
|
605
|
-
},
|
|
606
|
-
updated_at: answeredAt,
|
|
607
|
-
last_activity_at: answeredAt,
|
|
608
|
-
notification_outbox: latest.notification_outbox.map((notification) => notification.kind === "interaction_required" &&
|
|
609
|
-
notification.evidence_fingerprint ===
|
|
610
|
-
sha256({
|
|
611
|
-
schema: "agent-knock-knock/terminal-watch-interaction-event",
|
|
612
|
-
version: 1,
|
|
613
|
-
watch_id: watchId,
|
|
614
|
-
interaction_id: interactionId,
|
|
615
|
-
surface_id: interaction.projection.surface_id
|
|
616
|
-
}) &&
|
|
617
|
-
(notification.status === "pending" ||
|
|
618
|
-
notification.status === "failed")
|
|
619
|
-
? {
|
|
620
|
-
...notification,
|
|
621
|
-
status: "superseded",
|
|
622
|
-
superseded_at: answeredAt,
|
|
623
|
-
next_attempt_at: undefined,
|
|
624
|
-
failed_at: undefined,
|
|
625
|
-
last_error_code: undefined
|
|
626
|
-
}
|
|
627
|
-
: notification)
|
|
628
|
-
}, { expectedRevision: terminalWatchRevision(latest) });
|
|
629
|
-
}));
|
|
630
578
|
dependencies.printJson({
|
|
631
579
|
watch: publicTerminalWatch(current, [], true),
|
|
632
580
|
interaction_id: interactionId,
|