@harness-mix/cli 0.1.11 → 0.2.0
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 +16 -0
- package/NOTICE +16 -2
- package/README.md +265 -3
- package/docs/cross-platform.md +3 -3
- package/docs/multi-agent-collaboration.md +37 -23
- package/docs/native-acp.md +2 -2
- package/docs/native-codex.md +5 -5
- package/docs/{superpowers/specs → specs}/2026-09-13-native-hardening-design.md +2 -2
- package/docs/storage-verification-design.md +5 -5
- package/licenses/lobe-icons-MIT.txt +21 -0
- package/output/native-build/desktop-controller.mjs +24 -24
- package/output/native-build/harness-mix-secret.exe +0 -0
- package/output/native-build/harness-mix-shim.exe +0 -0
- package/output/native-build/renderer-extension.js +1325 -658
- package/package.json +2 -2
- package/scripts/adapters-test.cjs +9 -1
- package/scripts/antigravity-adapter-test.cjs +381 -284
- package/scripts/build-native.cjs +64 -46
- package/scripts/codex-accounts-test.cjs +1 -1
- package/scripts/codex-accounts-ui-smoke.cjs +1 -1
- package/scripts/collaboration-recovery-test.cjs +11 -2
- package/scripts/collaboration-test.cjs +114 -27
- package/scripts/collaboration-ui-smoke.cjs +45 -8
- package/scripts/concurrency-layers-test.cjs +5 -0
- package/scripts/diagnostics.cjs +1 -1
- package/scripts/e2e-native-host.cjs +13 -13
- package/scripts/error-kind-test.cjs +3 -3
- package/scripts/integrations-test.cjs +2 -2
- package/scripts/integrations-ui-smoke.cjs +6 -6
- package/scripts/native-config-test.cjs +6 -6
- package/scripts/native-job-object-test.cjs +1 -1
- package/scripts/native-protocol-test.cjs +44 -38
- package/scripts/native-rollback-test.cjs +1 -1
- package/scripts/native-secret-test.cjs +1 -1
- package/scripts/native-shim-test.cjs +1 -1
- package/scripts/native-sidebar-test.cjs +4 -4
- package/scripts/native-ui-smoke.cjs +12 -12
- package/scripts/pets-test.cjs +223 -3
- package/scripts/platform-test.cjs +6 -6
- package/scripts/publish-native-package.cjs +1 -1
- package/scripts/test-live-mentions.cjs +2 -2
- package/scripts/workspace-test.cjs +4 -2
- package/src/assets/icons/PROVENANCE.md +92 -0
- package/src/main/adapters/antigravity.js +1415 -1368
- package/src/main/adapters/claude.js +1 -1
- package/src/main/adapters/codex-app-server.js +1 -1
- package/src/main/adapters/dsh.js +1 -1
- package/src/main/adapters/index.js +1 -1
- package/src/main/adapters/pi-usage.js +2 -2
- package/src/main/harness-adapter/error-kind.js +1 -1
- package/src/main/harness-adapter/manifest.js +7 -1
- package/src/main/host/collaboration-tools.js +8 -1
- package/src/main/host/collaboration-worktree.js +27 -1
- package/src/main/host/collaboration.js +348 -15
- package/src/main/host/runtime.js +23 -15
- package/src/main/native/codex-accounts.js +1 -1
- package/src/main/native/config.js +9 -9
- package/src/main/native/host.js +1 -1
- package/src/main/native/launcher.js +10 -8
- package/src/main/native/pets.js +188 -49
- package/src/main/native/platform.js +19 -9
- package/src/main/native/protocol.js +83 -80
- package/src/main/native/rs/crates/appx/Cargo.toml +1 -1
- package/src/main/native/rs/crates/secret/Cargo.toml +1 -1
- package/src/main/native/rs/crates/secret/src/main.rs +3 -3
- package/src/main/native/rs/crates/shim/Cargo.toml +1 -1
- package/src/main/native/rs/crates/shim/src/main.rs +2 -2
- package/src/main/native/thread-list.js +1 -1
- package/src/main/shared-contracts/capability.js +3 -1
- package/src/main/workspace/core-review.js +4 -3
- package/src/native-ui/README.md +2 -2
- package/src/native-ui/desktop-control/dist/contract-audit.js +4 -4
- package/src/native-ui/desktop-control/dist/index.d.ts +1 -1
- package/src/native-ui/desktop-control/dist/index.js +2 -2
- package/src/native-ui/desktop-control/dist/index.js.map +1 -1
- package/src/native-ui/desktop-control/dist/main-process-title-policy.js +5 -5
- package/src/native-ui/desktop-control/dist/main-process-title-policy.js.map +1 -1
- package/src/native-ui/desktop-control/dist/production-controller.js +3 -3
- package/src/native-ui/desktop-control/dist/production-controller.js.map +1 -1
- package/src/native-ui/desktop-control/dist/release-main.js +1 -1
- package/src/native-ui/desktop-control/dist/release-main.js.map +1 -1
- package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.js +1 -1
- package/src/native-ui/desktop-control/dist/renderer-cdp-control-session.js.map +1 -1
- package/src/native-ui/desktop-control/dist/renderer-control-session.js +3 -3
- package/src/native-ui/desktop-control/dist/renderer-control-session.js.map +1 -1
- package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.js +25 -25
- package/src/native-ui/desktop-control/dist/renderer-draft-prewarm-runtime.js.map +1 -1
- package/src/native-ui/desktop-control/dist/tsconfig.tsbuildinfo +1 -1
- package/src/native-ui/desktop-control/package.json +2 -2
- package/src/native-ui/desktop-control/scripts/build-release.mjs +2 -2
- package/src/native-ui/desktop-control/src/contract-audit.ts +4 -4
- package/src/native-ui/desktop-control/src/index.ts +2 -2
- package/src/native-ui/desktop-control/src/main-process-title-policy.ts +5 -5
- package/src/native-ui/desktop-control/src/production-controller.ts +3 -3
- package/src/native-ui/desktop-control/src/release-main.ts +1 -1
- package/src/native-ui/desktop-control/src/renderer-cdp-control-session.ts +1 -1
- package/src/native-ui/desktop-control/src/renderer-control-session.ts +3 -3
- package/src/native-ui/desktop-control/src/renderer-draft-prewarm-runtime.ts +25 -25
- package/src/native-ui/desktop-control/test/index.test.ts +1 -1
- package/src/native-ui/desktop-control/test/production-controller.test.ts +1 -1
- package/src/native-ui/desktop-control/test/renderer-cdp-control-session.test.ts +1 -1
- package/src/native-ui/desktop-control/test/renderer-draft-prewarm-policy.test.ts +43 -43
- package/src/native-ui/renderer-extension/dist/types/agent-group-preference.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/agent-group-preference.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/agent-selection-state.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/agent-selection-state.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/contract-audit.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/contract-audit.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/index.d.ts +3 -1
- package/src/native-ui/renderer-extension/dist/types/index.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/production-entry.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/production-entry.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-agent-picker.d.ts +2 -2
- package/src/native-ui/renderer-extension/dist/types/renderer-agent-picker.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-binding-probe.d.ts +3 -3
- package/src/native-ui/renderer-extension/dist/types/renderer-binding-probe.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-options.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-options.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-state.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-codex-account-state.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-collab-cards.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-collab-cards.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-composer-dom.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-composer-dom.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-credits-control.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-credits-control.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-fork-control.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-fork-control.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-claim.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-claim.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-control.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-command-control.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-handoff.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-handoff.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-localization.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-localization.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-mentions.d.ts +1 -0
- package/src/native-ui/renderer-extension/dist/types/renderer-harness-mentions.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-model-client.d.ts +36 -31
- package/src/native-ui/renderer-extension/dist/types/renderer-model-client.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-model-picker.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-model-picker.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-new-thread-preference.d.ts +2 -2
- package/src/native-ui/renderer-extension/dist/types/renderer-new-thread-preference.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-picker.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-picker.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-preference.d.ts +2 -2
- package/src/native-ui/renderer-extension/dist/types/renderer-permission-mode-preference.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-request-sender.d.ts +18 -2
- package/src/native-ui/renderer-extension/dist/types/renderer-request-sender.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-session-import-client.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-session-import-client.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-sidebar-agent-icons.d.ts +2 -2
- package/src/native-ui/renderer-extension/dist/types/renderer-sidebar-agent-icons.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-team-cards.d.ts +58 -0
- package/src/native-ui/renderer-extension/dist/types/renderer-team-cards.d.ts.map +1 -0
- package/src/native-ui/renderer-extension/dist/types/renderer-transcript-dom.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-trigger-chip-style.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-trigger-chip-style.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-usage-control.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/renderer-usage-control.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/accounts-list.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/accounts-list.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/accounts-page.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/accounts-page.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/accounts-usage.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/accounts-usage.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/connections-page.d.ts +3 -3
- package/src/native-ui/renderer-extension/dist/types/settings/connections-page.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/harness-accounts.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/harness-accounts.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/pages.d.ts +4 -4
- package/src/native-ui/renderer-extension/dist/types/settings/pages.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/pet-market.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/session-import-list-controls.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/session-import-list-controls.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/session-import-page.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/session-import-page.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/shell.d.ts +2 -2
- package/src/native-ui/renderer-extension/dist/types/settings/shell.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/trigger.d.ts +1 -1
- package/src/native-ui/renderer-extension/dist/types/settings/trigger.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/dist/types/tsconfig.tsbuildinfo +1 -1
- package/src/native-ui/renderer-extension/dist/types/versioned-renderer-adapter.d.ts +18 -18
- package/src/native-ui/renderer-extension/dist/types/versioned-renderer-adapter.d.ts.map +1 -1
- package/src/native-ui/renderer-extension/package.json +2 -2
- package/src/native-ui/renderer-extension/src/agent-group-preference.ts +1 -1
- package/src/native-ui/renderer-extension/src/agent-selection-state.ts +31 -16
- package/src/native-ui/renderer-extension/src/audit-entry.ts +1 -1
- package/src/native-ui/renderer-extension/src/contract-audit.ts +4 -4
- package/src/native-ui/renderer-extension/src/index.ts +4 -2
- package/src/native-ui/renderer-extension/src/install-renderer-binding.ts +2 -2
- package/src/native-ui/renderer-extension/src/production-entry.ts +3 -3
- package/src/native-ui/renderer-extension/src/renderer-agent-picker.ts +7 -7
- package/src/native-ui/renderer-extension/src/renderer-binding-probe.ts +112 -89
- package/src/native-ui/renderer-extension/src/renderer-codex-account-options.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-codex-account-state.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-collab-cards.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-composer-dom.ts +12 -12
- package/src/native-ui/renderer-extension/src/renderer-credits-control.ts +7 -7
- package/src/native-ui/renderer-extension/src/renderer-external-steering.ts +3 -3
- package/src/native-ui/renderer-extension/src/renderer-fork-control.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-harness-command-claim.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-harness-command-control.ts +3 -3
- package/src/native-ui/renderer-extension/src/renderer-harness-handoff.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-harness-localization.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-harness-mentions.ts +4 -0
- package/src/native-ui/renderer-extension/src/renderer-integrations-client.ts +5 -5
- package/src/native-ui/renderer-extension/src/renderer-model-client.ts +63 -42
- package/src/native-ui/renderer-extension/src/renderer-model-picker.ts +16 -16
- package/src/native-ui/renderer-extension/src/renderer-new-thread-preference.ts +2 -2
- package/src/native-ui/renderer-extension/src/renderer-permission-mode-picker.ts +3 -3
- package/src/native-ui/renderer-extension/src/renderer-permission-mode-preference.ts +2 -2
- package/src/native-ui/renderer-extension/src/renderer-request-sender.ts +46 -3
- package/src/native-ui/renderer-extension/src/renderer-session-import-client.ts +4 -4
- package/src/native-ui/renderer-extension/src/renderer-sidebar-agent-icons.ts +24 -20
- package/src/native-ui/renderer-extension/src/renderer-team-cards.ts +312 -0
- package/src/native-ui/renderer-extension/src/renderer-transcript-dom.ts +1 -1
- package/src/native-ui/renderer-extension/src/renderer-trigger-chip-style.ts +2 -2
- package/src/native-ui/renderer-extension/src/renderer-usage-control.ts +4 -4
- package/src/native-ui/renderer-extension/src/settings/accounts-list.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/accounts-page.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/accounts-usage.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/connections-page.ts +7 -7
- package/src/native-ui/renderer-extension/src/settings/harness-accounts.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/icons.ts +2 -2
- package/src/native-ui/renderer-extension/src/settings/pages.ts +11 -11
- package/src/native-ui/renderer-extension/src/settings/pet-market.css +33 -0
- package/src/native-ui/renderer-extension/src/settings/pet-market.ts +173 -91
- package/src/native-ui/renderer-extension/src/settings/pets-client.ts +5 -5
- package/src/native-ui/renderer-extension/src/settings/release-notes.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/session-import-list-controls.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/session-import-page.ts +1 -1
- package/src/native-ui/renderer-extension/src/settings/shell.css +15 -15
- package/src/native-ui/renderer-extension/src/settings/shell.ts +11 -11
- package/src/native-ui/renderer-extension/src/settings/skin-runtime.ts +17 -17
- package/src/native-ui/renderer-extension/src/settings/trigger.ts +1 -1
- package/src/native-ui/renderer-extension/src/versioned-renderer-adapter.ts +20 -20
- package/src/native-ui/renderer-extension/test/agent-selection-state.test.ts +60 -1
- package/src/native-ui/renderer-extension/test/codebuddy-migration.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-agent-picker.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-binding-probe-host-catalog.test.ts +15 -9
- package/src/native-ui/renderer-extension/test/renderer-binding-probe.test.ts +15 -15
- package/src/native-ui/renderer-extension/test/renderer-codex-account-state.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-composer-permissions.test.ts +4 -4
- package/src/native-ui/renderer-extension/test/renderer-external-steering-rpc.test.ts +2 -2
- package/src/native-ui/renderer-extension/test/renderer-external-steering.test.ts +3 -3
- package/src/native-ui/renderer-extension/test/renderer-fork-control.test.ts +4 -4
- package/src/native-ui/renderer-extension/test/renderer-harness-command-claim.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-harness-command-control.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-model-client.test.ts +12 -11
- package/src/native-ui/renderer-extension/test/renderer-model-picker.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-native-thread-ownership.test.ts +6 -6
- package/src/native-ui/renderer-extension/test/renderer-new-thread-preference.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-permission-mode-picker.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-permission-mode-preference.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/renderer-request-timeout.test.ts +80 -0
- package/src/native-ui/renderer-extension/test/renderer-settings-lifecycle.test.ts +2 -2
- package/src/native-ui/renderer-extension/test/renderer-sidebar-agent-icons.test.ts +10 -3
- package/src/native-ui/renderer-extension/test/renderer-unsupported-methods.test.ts +1 -1
- package/src/native-ui/renderer-extension/test/settings/pages.test.ts +5 -5
- package/src/native-ui/renderer-extension/test/settings/release-notes.test.ts +9 -9
- package/src/native-ui/renderer-extension/test/versioned-renderer-adapter.test.ts +3 -3
- package/src/native-ui/shared-contracts/dist/errors.d.ts +2 -2
- package/src/native-ui/shared-contracts/dist/errors.d.ts.map +1 -1
- package/src/native-ui/shared-contracts/dist/errors.js +1 -1
- package/src/native-ui/shared-contracts/dist/errors.js.map +1 -1
- package/src/native-ui/shared-contracts/dist/harness-models.d.ts +40 -0
- package/src/native-ui/shared-contracts/dist/harness-models.d.ts.map +1 -1
- package/src/native-ui/shared-contracts/dist/harness-models.js +23 -2
- package/src/native-ui/shared-contracts/dist/harness-models.js.map +1 -1
- package/src/native-ui/shared-contracts/dist/harness-route.d.ts +1 -1
- package/src/native-ui/shared-contracts/dist/harness-route.d.ts.map +1 -1
- package/src/native-ui/shared-contracts/dist/harness-route.js +1 -1
- package/src/native-ui/shared-contracts/dist/harness-route.js.map +1 -1
- package/src/native-ui/shared-contracts/dist/harness-session-import.d.ts +1 -1
- package/src/native-ui/shared-contracts/dist/harness-session-import.d.ts.map +1 -1
- package/src/native-ui/shared-contracts/dist/harness-session-import.js +1 -1
- package/src/native-ui/shared-contracts/dist/harness-session-import.js.map +1 -1
- package/src/native-ui/shared-contracts/dist/index.d.ts +3 -3
- package/src/native-ui/shared-contracts/dist/index.d.ts.map +1 -1
- package/src/native-ui/shared-contracts/dist/index.js +2 -2
- package/src/native-ui/shared-contracts/dist/index.js.map +1 -1
- package/src/native-ui/shared-contracts/dist/tsconfig.tsbuildinfo +1 -1
- package/src/native-ui/shared-contracts/dist/updates.js +1 -1
- package/src/native-ui/shared-contracts/dist/updates.js.map +1 -1
- package/src/native-ui/shared-contracts/package.json +1 -1
- package/src/native-ui/shared-contracts/src/errors.ts +3 -3
- package/src/native-ui/shared-contracts/src/harness-models.ts +23 -2
- package/src/native-ui/shared-contracts/src/harness-route.ts +1 -1
- package/src/native-ui/shared-contracts/src/harness-session-import.ts +1 -1
- package/src/native-ui/shared-contracts/src/index.ts +3 -3
- package/src/native-ui/shared-contracts/src/updates.ts +1 -1
- package/src/native-ui/shared-contracts/test/browser-bundle.test.ts +3 -3
- package/src/native-ui/shared-contracts/test/deepseek-modern-sessions.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/errors.test.ts +9 -9
- package/src/native-ui/shared-contracts/test/harness-commands.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/harness-models.test.ts +3 -3
- package/src/native-ui/shared-contracts/test/harness-permission-modes.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/harness-plugins.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/harness-session-import.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/index.test.ts +3 -3
- package/src/native-ui/shared-contracts/test/json-rpc.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/thread-usage.test.ts +1 -1
- package/src/native-ui/shared-contracts/test/updates.test.ts +4 -4
- /package/licenses/{codex-host-MIT.txt → bytepioneer-MIT.txt} +0 -0
|
@@ -48,7 +48,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
48
48
|
target: DraftPrewarmPolicyTarget,
|
|
49
49
|
prewarmedThreadManager: RendererPrewarmedThreadManager,
|
|
50
50
|
): { state: "ready"; reason: "owned-request-bridge" } {
|
|
51
|
-
const existing = target.
|
|
51
|
+
const existing = target.__harnessmixDraftPrewarmPolicyV1 as
|
|
52
52
|
| {
|
|
53
53
|
owns?: (
|
|
54
54
|
candidateManager: RendererHostRequestManager,
|
|
@@ -83,15 +83,15 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
83
83
|
const knownOfficialThreadIds = new Set<string>();
|
|
84
84
|
const threadOwnershipResolutions = new Map<string, Promise<"external" | "codex">>();
|
|
85
85
|
const createBridgeProcessHandle = (): string =>
|
|
86
|
-
`
|
|
86
|
+
`harnessmix-${
|
|
87
87
|
typeof crypto?.randomUUID === "function"
|
|
88
88
|
? crypto.randomUUID()
|
|
89
89
|
: `${Date.now()}-${Math.random().toString(16).slice(2)}`
|
|
90
90
|
}`;
|
|
91
91
|
let bridgeProcessHandle = createBridgeProcessHandle();
|
|
92
|
-
const bridgeReadyMethod = "
|
|
92
|
+
const bridgeReadyMethod = "harnessmix/remote-control-bridge/ready";
|
|
93
93
|
const bridgeRequests = new Map<unknown, { method: string; parameters: unknown }>();
|
|
94
|
-
const bridgeServerRequestIdPrefix = "
|
|
94
|
+
const bridgeServerRequestIdPrefix = "harnessmix/remote-control-bridge/server-request/";
|
|
95
95
|
const bridgeServerRequests = new Map<string, unknown>();
|
|
96
96
|
let nextBridgeServerRequestOrdinal = 1;
|
|
97
97
|
let outputDecoders = {
|
|
@@ -108,7 +108,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
108
108
|
let writeTail = Promise.resolve();
|
|
109
109
|
|
|
110
110
|
const transportError = (message: string, cause?: unknown): Error => {
|
|
111
|
-
const error = new Error(`
|
|
111
|
+
const error = new Error(`harnessmix Remote Control bridge: ${message}`);
|
|
112
112
|
if (cause !== undefined) Object.assign(error, { cause });
|
|
113
113
|
return error;
|
|
114
114
|
};
|
|
@@ -168,7 +168,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
168
168
|
};
|
|
169
169
|
const rememberExternalThread = (value: unknown): void => {
|
|
170
170
|
if (!isRecord(value) || typeof value.id !== "string") return;
|
|
171
|
-
if (value.modelProvider === "
|
|
171
|
+
if (value.modelProvider === "harnessmix" || value.cliVersion === "harnessmix") {
|
|
172
172
|
knownExternalThreadIds.add(value.id);
|
|
173
173
|
knownOfficialThreadIds.delete(value.id);
|
|
174
174
|
}
|
|
@@ -191,7 +191,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
191
191
|
return;
|
|
192
192
|
}
|
|
193
193
|
if (
|
|
194
|
-
request.method === "
|
|
194
|
+
request.method === "harnessmix/thread/inspect" &&
|
|
195
195
|
isRecord(request.parameters) &&
|
|
196
196
|
typeof request.parameters.threadId === "string"
|
|
197
197
|
) {
|
|
@@ -331,16 +331,16 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
331
331
|
// opaque UTF-16LE argument across the Remote Control process boundary.
|
|
332
332
|
const powershellScript =
|
|
333
333
|
"$ErrorActionPreference = 'Stop'; " +
|
|
334
|
-
"$descriptorPath = Join-Path $env:LOCALAPPDATA '
|
|
334
|
+
"$descriptorPath = Join-Path $env:LOCALAPPDATA 'harnessmix\\remote-control-bridge-v1.json'; " +
|
|
335
335
|
"$descriptor = Get-Content -LiteralPath $descriptorPath -Raw | ConvertFrom-Json; " +
|
|
336
|
-
"if ($descriptor.schemaVersion -ne 1) { throw 'Unsupported
|
|
336
|
+
"if ($descriptor.schemaVersion -ne 1) { throw 'Unsupported harnessmix Remote Control descriptor' }; " +
|
|
337
337
|
"$nodePath = [string]$descriptor.nodePath; " +
|
|
338
338
|
"$runtimePath = [string]$descriptor.runtimePath; " +
|
|
339
|
-
"if (-not [System.IO.Path]::IsPathRooted($nodePath) -or -not [System.IO.Path]::IsPathRooted($runtimePath)) { throw 'Invalid
|
|
339
|
+
"if (-not [System.IO.Path]::IsPathRooted($nodePath) -or -not [System.IO.Path]::IsPathRooted($runtimePath)) { throw 'Invalid harnessmix Remote Control runtime path' }; " +
|
|
340
340
|
"$owner = Get-Process -Id ([int]$descriptor.ownerPid) -ErrorAction SilentlyContinue; " +
|
|
341
|
-
"if ($null -eq $owner) { throw '
|
|
342
|
-
"$env:
|
|
343
|
-
"& $nodePath $runtimePath '--
|
|
341
|
+
"if ($null -eq $owner) { throw 'HarnessMix Remote Control runtime is not running' }; " +
|
|
342
|
+
"$env:HARNESSMIX_REMOTE_CONTROL_BRIDGE_PIPE = [string]$descriptor.pipePath; " +
|
|
343
|
+
"& $nodePath $runtimePath '--harnessmix-remote-control-bridge'; " +
|
|
344
344
|
"exit $LASTEXITCODE";
|
|
345
345
|
const command = [
|
|
346
346
|
"powershell.exe",
|
|
@@ -390,8 +390,8 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
390
390
|
const initializeBridgeProtocol = (): Promise<unknown> => {
|
|
391
391
|
const initialization = enqueueBridgeRequest("initialize", {
|
|
392
392
|
clientInfo: {
|
|
393
|
-
name: "
|
|
394
|
-
title: "
|
|
393
|
+
name: "harnessmix_remote_control_bridge",
|
|
394
|
+
title: "harnessmix Remote Control bridge",
|
|
395
395
|
version: "1",
|
|
396
396
|
},
|
|
397
397
|
capabilities: {
|
|
@@ -440,7 +440,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
440
440
|
const resolution = initializeBridge()
|
|
441
441
|
.then(
|
|
442
442
|
() =>
|
|
443
|
-
enqueueBridgeRequest("
|
|
443
|
+
enqueueBridgeRequest("harnessmix/thread/ownership/list", {
|
|
444
444
|
threadIds: [threadId],
|
|
445
445
|
}) as Promise<unknown>,
|
|
446
446
|
)
|
|
@@ -475,7 +475,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
475
475
|
return resolution;
|
|
476
476
|
};
|
|
477
477
|
const shouldResolveThreadOwnership = (method: string, parameters: unknown): string | null => {
|
|
478
|
-
if (!isRemoteControlHost || method.startsWith("
|
|
478
|
+
if (!isRemoteControlHost || method.startsWith("harnessmix/") || !isThreadScopedMethod(method)) {
|
|
479
479
|
return null;
|
|
480
480
|
}
|
|
481
481
|
const threadId = threadIdFromParameters(parameters);
|
|
@@ -486,13 +486,13 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
486
486
|
};
|
|
487
487
|
const shouldUseBridge = (method: string, parameters: unknown): boolean => {
|
|
488
488
|
if (!isRemoteControlHost) return false;
|
|
489
|
-
if (method.startsWith("
|
|
489
|
+
if (method.startsWith("harnessmix/")) return true;
|
|
490
490
|
if (method === "thread/list") return true;
|
|
491
491
|
if (method === "thread/start") {
|
|
492
492
|
return (
|
|
493
493
|
isRecord(parameters) &&
|
|
494
|
-
((typeof parameters.model === "string" && parameters.model.startsWith("
|
|
495
|
-
typeof parameters.
|
|
494
|
+
((typeof parameters.model === "string" && parameters.model.startsWith("harnessmix/")) ||
|
|
495
|
+
typeof parameters.__harnessmixAccountId === "string")
|
|
496
496
|
);
|
|
497
497
|
}
|
|
498
498
|
const threadId = threadIdFromParameters(parameters);
|
|
@@ -510,7 +510,7 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
510
510
|
const routed = {
|
|
511
511
|
...parameters,
|
|
512
512
|
...(selectedModel === null ? {} : { model: selectedModel }),
|
|
513
|
-
...(selectedCodexAccountId === null ? {} : {
|
|
513
|
+
...(selectedCodexAccountId === null ? {} : { __harnessmixAccountId: selectedCodexAccountId }),
|
|
514
514
|
};
|
|
515
515
|
selectedCodexAccountId = null;
|
|
516
516
|
return routed;
|
|
@@ -610,8 +610,8 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
610
610
|
return manager;
|
|
611
611
|
},
|
|
612
612
|
select(model: string | null): boolean {
|
|
613
|
-
if (model !== null && (typeof model !== "string" || !model.startsWith("
|
|
614
|
-
throw new Error("Draft route Model must be a
|
|
613
|
+
if (model !== null && (typeof model !== "string" || !model.startsWith("harnessmix/"))) {
|
|
614
|
+
throw new Error("Draft route Model must be a harnessmix transport carrier");
|
|
615
615
|
}
|
|
616
616
|
if (selectedModel === model) return false;
|
|
617
617
|
selectedModel = model;
|
|
@@ -662,12 +662,12 @@ export function installDraftPrewarmPolicyBridge(
|
|
|
662
662
|
selectedCodexAccountId = null;
|
|
663
663
|
},
|
|
664
664
|
});
|
|
665
|
-
Object.defineProperty(target, "
|
|
665
|
+
Object.defineProperty(target, "__harnessmixDraftPrewarmPolicyV1", {
|
|
666
666
|
configurable: true,
|
|
667
667
|
value: policy,
|
|
668
668
|
});
|
|
669
669
|
if (typeof target.dispatchEvent === "function" && typeof CustomEvent === "function") {
|
|
670
|
-
target.dispatchEvent(new CustomEvent("
|
|
670
|
+
target.dispatchEvent(new CustomEvent("harnessmix:draft-prewarm-policy-changed"));
|
|
671
671
|
}
|
|
672
672
|
return { state: "ready", reason: "owned-request-bridge" };
|
|
673
673
|
}
|
|
@@ -4,7 +4,7 @@ import { packageMetadata } from "../src/index.js";
|
|
|
4
4
|
describe("desktop-control package", () => {
|
|
5
5
|
it("builds without implementing Desktop integration", () => {
|
|
6
6
|
expect(packageMetadata).toEqual({
|
|
7
|
-
name: "@
|
|
7
|
+
name: "@harnessmix/desktop-control",
|
|
8
8
|
contractVersion: 1,
|
|
9
9
|
});
|
|
10
10
|
});
|
|
@@ -140,7 +140,7 @@ describe("production Desktop Controller", () => {
|
|
|
140
140
|
expect(install).toHaveBeenCalledWith({
|
|
141
141
|
rendererCdpEndpoint: "http://127.0.0.1:43123",
|
|
142
142
|
rendererSource:
|
|
143
|
-
'globalThis.__zod_globalConfig ??= {}; globalThis.__zod_globalConfig.jitless = true;\nObject.defineProperty(window, "
|
|
143
|
+
'globalThis.__zod_globalConfig ??= {}; globalThis.__zod_globalConfig.jitless = true;\nObject.defineProperty(window, "__harnessmixProductionConfigV1", { configurable: true, value: { defaultAgent: "pi" } });\nproduction renderer',
|
|
144
144
|
enabledAgents: [
|
|
145
145
|
"codex",
|
|
146
146
|
"pi",
|
|
@@ -66,7 +66,7 @@ describe("Renderer CDP Control Session", () => {
|
|
|
66
66
|
|
|
67
67
|
it("registers future-document injection before evaluating the current document", async () => {
|
|
68
68
|
const client = rendererClient();
|
|
69
|
-
const source = "globalThis.
|
|
69
|
+
const source = "globalThis.__harnessmixInstalled = true";
|
|
70
70
|
const session = await createRendererCdpControlSession({
|
|
71
71
|
rendererCdpEndpoint: "http://127.0.0.1:43123",
|
|
72
72
|
rendererSource: source,
|
|
@@ -416,7 +416,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
416
416
|
installDraftPrewarmPolicyBridge(manager, bridge, "local", target, {
|
|
417
417
|
discardAllPrewarmedThreads,
|
|
418
418
|
});
|
|
419
|
-
const policy = target.
|
|
419
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as { clear(): Promise<void> };
|
|
420
420
|
|
|
421
421
|
await policy.clear();
|
|
422
422
|
|
|
@@ -430,7 +430,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
430
430
|
let announcedPolicy: unknown;
|
|
431
431
|
const target: DraftPrewarmPolicyTarget = {
|
|
432
432
|
dispatchEvent: vi.fn(() => {
|
|
433
|
-
announcedPolicy = target.
|
|
433
|
+
announcedPolicy = target.__harnessmixDraftPrewarmPolicyV1;
|
|
434
434
|
return true;
|
|
435
435
|
}),
|
|
436
436
|
};
|
|
@@ -439,7 +439,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
439
439
|
discardAllPrewarmedThreads: vi.fn(),
|
|
440
440
|
});
|
|
441
441
|
|
|
442
|
-
const policy = target.
|
|
442
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as {
|
|
443
443
|
requestTarget(): RendererHostRequestManager;
|
|
444
444
|
};
|
|
445
445
|
expect(announcedPolicy).toBe(policy);
|
|
@@ -462,11 +462,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
462
462
|
target,
|
|
463
463
|
prewarmedThreadManager,
|
|
464
464
|
);
|
|
465
|
-
const first = target.
|
|
465
|
+
const first = target.__harnessmixDraftPrewarmPolicyV1 as {
|
|
466
466
|
hostId: string;
|
|
467
467
|
select(model: string | null): boolean;
|
|
468
468
|
};
|
|
469
|
-
first.select("
|
|
469
|
+
first.select("harnessmix/claude-code-native");
|
|
470
470
|
|
|
471
471
|
installDraftPrewarmPolicyBridge(
|
|
472
472
|
manager,
|
|
@@ -476,11 +476,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
476
476
|
prewarmedThreadManager,
|
|
477
477
|
);
|
|
478
478
|
|
|
479
|
-
expect(target.
|
|
479
|
+
expect(target.__harnessmixDraftPrewarmPolicyV1).toBe(first);
|
|
480
480
|
expect(first.hostId).toBe("remote-ssh-discovered:mac");
|
|
481
481
|
void bridge.sendRequest("thread/start", { model: "gpt-5" });
|
|
482
482
|
expect(sendRequest).toHaveBeenCalledWith("thread/start", {
|
|
483
|
-
model: "
|
|
483
|
+
model: "harnessmix/claude-code-native",
|
|
484
484
|
});
|
|
485
485
|
});
|
|
486
486
|
|
|
@@ -495,11 +495,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
495
495
|
installDraftPrewarmPolicyBridge(manager, bridge, "local", target, {
|
|
496
496
|
discardAllPrewarmedThreads: vi.fn(),
|
|
497
497
|
});
|
|
498
|
-
const policy = target.
|
|
498
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as {
|
|
499
499
|
select(model: string | null): boolean;
|
|
500
500
|
};
|
|
501
501
|
|
|
502
|
-
policy.select("
|
|
502
|
+
policy.select("harnessmix/pi-native");
|
|
503
503
|
await bridge.sendRequest("thread/start", { cwd: "/tmp/project", model: "gpt-5" });
|
|
504
504
|
await bridge.prewarmThreadStart?.({ cwd: "/tmp/project", model: "gpt-5" });
|
|
505
505
|
await bridge.prewarmThreadStart?.({ ephemeral: true, model: "gpt-5" });
|
|
@@ -508,11 +508,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
508
508
|
|
|
509
509
|
expect(sendRequest).toHaveBeenCalledWith("thread/start", {
|
|
510
510
|
cwd: "/tmp/project",
|
|
511
|
-
model: "
|
|
511
|
+
model: "harnessmix/pi-native",
|
|
512
512
|
});
|
|
513
513
|
expect(prewarmThreadStart).toHaveBeenNthCalledWith(1, {
|
|
514
514
|
cwd: "/tmp/project",
|
|
515
|
-
model: "
|
|
515
|
+
model: "harnessmix/pi-native",
|
|
516
516
|
ephemeral: true,
|
|
517
517
|
});
|
|
518
518
|
expect(prewarmThreadStart).toHaveBeenNthCalledWith(2, {
|
|
@@ -534,7 +534,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
534
534
|
installDraftPrewarmPolicyBridge(manager, bridge, "local", target, {
|
|
535
535
|
discardAllPrewarmedThreads: vi.fn(),
|
|
536
536
|
});
|
|
537
|
-
const policy = target.
|
|
537
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as {
|
|
538
538
|
selectAccount(accountId: string | null): boolean;
|
|
539
539
|
};
|
|
540
540
|
|
|
@@ -545,7 +545,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
545
545
|
expect(sendRequest).toHaveBeenNthCalledWith(1, "thread/start", {
|
|
546
546
|
cwd: "/tmp/project",
|
|
547
547
|
model: "gpt-5",
|
|
548
|
-
|
|
548
|
+
__harnessmixAccountId: "reviewer",
|
|
549
549
|
});
|
|
550
550
|
expect(sendRequest).toHaveBeenNthCalledWith(2, "thread/start", {
|
|
551
551
|
cwd: "/tmp/next",
|
|
@@ -565,7 +565,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
565
565
|
discardAllPrewarmedThreads: vi.fn(),
|
|
566
566
|
});
|
|
567
567
|
|
|
568
|
-
const inspectPromise = bridge.sendRequest("
|
|
568
|
+
const inspectPromise = bridge.sendRequest("harnessmix/harness/inspect", {
|
|
569
569
|
harnessId: "claude-code",
|
|
570
570
|
}) as Promise<unknown>;
|
|
571
571
|
const spawnParameters = directSend.mock.calls[0]?.[1] as {
|
|
@@ -582,7 +582,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
582
582
|
encodedCommandBytes.charCodeAt(index) | (encodedCommandBytes.charCodeAt(index + 1) << 8),
|
|
583
583
|
);
|
|
584
584
|
}
|
|
585
|
-
expect(decodedCommand).toContain("--
|
|
585
|
+
expect(decodedCommand).toContain("--harnessmix-remote-control-bridge");
|
|
586
586
|
expect(decodedCommand).toContain("remote-control-bridge-v1.json");
|
|
587
587
|
expect(directSend).toHaveBeenCalledWith(
|
|
588
588
|
"process/spawn",
|
|
@@ -595,11 +595,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
595
595
|
timeoutMs: null,
|
|
596
596
|
}),
|
|
597
597
|
);
|
|
598
|
-
expect(directSend).not.toHaveBeenCalledWith("
|
|
598
|
+
expect(directSend).not.toHaveBeenCalledWith("harnessmix/harness/inspect", expect.anything());
|
|
599
599
|
const processHandle = spawnParameters.processHandle;
|
|
600
600
|
|
|
601
601
|
emitRemoteBridgeOutput(notifications, processHandle, {
|
|
602
|
-
method: "
|
|
602
|
+
method: "harnessmix/remote-control-bridge/ready",
|
|
603
603
|
params: { protocolVersion: 1 },
|
|
604
604
|
});
|
|
605
605
|
await vi.waitFor(() => expect(writtenBridgeFrames(directSend)).toHaveLength(1));
|
|
@@ -611,7 +611,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
611
611
|
const frames = writtenBridgeFrames(directSend);
|
|
612
612
|
expect(frames[1]).toEqual({ method: "initialized", params: {} });
|
|
613
613
|
expect(frames[2]).toMatchObject({
|
|
614
|
-
method: "
|
|
614
|
+
method: "harnessmix/harness/inspect",
|
|
615
615
|
params: { harnessId: "claude-code" },
|
|
616
616
|
});
|
|
617
617
|
|
|
@@ -626,10 +626,10 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
626
626
|
|
|
627
627
|
emitRemoteBridgeOutput(notifications, processHandle, {
|
|
628
628
|
method: "thread/started",
|
|
629
|
-
params: { thread: { id: "external-1", modelProvider: "
|
|
629
|
+
params: { thread: { id: "external-1", modelProvider: "harnessmix" } },
|
|
630
630
|
});
|
|
631
631
|
expect(originalNotification).toHaveBeenCalledWith("thread/started", {
|
|
632
|
-
thread: { id: "external-1", modelProvider: "
|
|
632
|
+
thread: { id: "external-1", modelProvider: "harnessmix" },
|
|
633
633
|
});
|
|
634
634
|
|
|
635
635
|
const readPromise = bridge.sendRequest("thread/read", {
|
|
@@ -700,7 +700,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
700
700
|
expect(spawn).toBeDefined();
|
|
701
701
|
const processHandle = (spawn?.[1] as { processHandle: string }).processHandle;
|
|
702
702
|
emitRemoteBridgeOutput(notifications, processHandle, {
|
|
703
|
-
method: "
|
|
703
|
+
method: "harnessmix/remote-control-bridge/ready",
|
|
704
704
|
params: { protocolVersion: 1 },
|
|
705
705
|
});
|
|
706
706
|
await vi.waitFor(() => expect(writtenBridgeFrames(directSend)).toHaveLength(1));
|
|
@@ -709,7 +709,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
709
709
|
await vi.waitFor(() => expect(writtenBridgeFrames(directSend)).toHaveLength(3));
|
|
710
710
|
const ownership = writtenBridgeFrames(directSend)[2];
|
|
711
711
|
expect(ownership).toMatchObject({
|
|
712
|
-
method: "
|
|
712
|
+
method: "harnessmix/thread/ownership/list",
|
|
713
713
|
params: { threadIds: ["external-after-reload"] },
|
|
714
714
|
});
|
|
715
715
|
emitRemoteBridgeOutput(notifications, processHandle, {
|
|
@@ -738,7 +738,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
738
738
|
await expect(archive).resolves.toEqual({});
|
|
739
739
|
expect(directSend).not.toHaveBeenCalledWith("thread/archive", expect.anything());
|
|
740
740
|
expect(
|
|
741
|
-
writtenBridgeFrames(directSend).some(({ method }) => method === "
|
|
741
|
+
writtenBridgeFrames(directSend).some(({ method }) => method === "harnessmix/thread/inspect"),
|
|
742
742
|
).toBe(false);
|
|
743
743
|
});
|
|
744
744
|
|
|
@@ -760,7 +760,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
760
760
|
const spawn = directSend.mock.calls.find(([method]) => method === "process/spawn");
|
|
761
761
|
const processHandle = (spawn?.[1] as { processHandle: string }).processHandle;
|
|
762
762
|
emitRemoteBridgeOutput(notifications, processHandle, {
|
|
763
|
-
method: "
|
|
763
|
+
method: "harnessmix/remote-control-bridge/ready",
|
|
764
764
|
params: { protocolVersion: 1 },
|
|
765
765
|
});
|
|
766
766
|
await vi.waitFor(() => expect(writtenBridgeFrames(directSend)).toHaveLength(1));
|
|
@@ -769,7 +769,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
769
769
|
await vi.waitFor(() => expect(writtenBridgeFrames(directSend)).toHaveLength(3));
|
|
770
770
|
const ownership = writtenBridgeFrames(directSend)[2];
|
|
771
771
|
expect(ownership).toMatchObject({
|
|
772
|
-
method: "
|
|
772
|
+
method: "harnessmix/thread/ownership/list",
|
|
773
773
|
params: { threadIds: ["official-after-reload"] },
|
|
774
774
|
});
|
|
775
775
|
emitRemoteBridgeOutput(notifications, processHandle, {
|
|
@@ -806,11 +806,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
806
806
|
cwd: "C:\\workspace",
|
|
807
807
|
});
|
|
808
808
|
|
|
809
|
-
const pending = bridge.sendRequest("
|
|
809
|
+
const pending = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
810
810
|
void pending.catch(() => undefined);
|
|
811
811
|
const processHandle = (directSend.mock.calls[2]?.[1] as { processHandle: string })
|
|
812
812
|
.processHandle;
|
|
813
|
-
const policy = target.
|
|
813
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as { dispose(): void };
|
|
814
814
|
policy.dispose();
|
|
815
815
|
|
|
816
816
|
expect(directSend).toHaveBeenCalledWith("process/kill", { processHandle });
|
|
@@ -824,11 +824,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
824
824
|
discardAllPrewarmedThreads: vi.fn(),
|
|
825
825
|
});
|
|
826
826
|
|
|
827
|
-
const first = bridge.sendRequest("
|
|
827
|
+
const first = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
828
828
|
const firstStart = directSend.mock.calls.find(([method]) => method === "process/spawn");
|
|
829
829
|
const firstProcessHandle = (firstStart?.[1] as { processHandle: string }).processHandle;
|
|
830
830
|
emitBridgeOutput(manager, firstProcessHandle, {
|
|
831
|
-
method: "
|
|
831
|
+
method: "harnessmix/remote-control-bridge/ready",
|
|
832
832
|
params: { protocolVersion: 99 },
|
|
833
833
|
});
|
|
834
834
|
await expect(first).rejects.toThrow("unsupported protocol version");
|
|
@@ -836,14 +836,14 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
836
836
|
processHandle: firstProcessHandle,
|
|
837
837
|
});
|
|
838
838
|
|
|
839
|
-
const second = bridge.sendRequest("
|
|
839
|
+
const second = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
840
840
|
void second.catch(() => undefined);
|
|
841
841
|
const starts = directSend.mock.calls.filter(([method]) => method === "process/spawn");
|
|
842
842
|
expect(starts).toHaveLength(2);
|
|
843
843
|
const secondProcessHandle = (starts[1]?.[1] as { processHandle: string }).processHandle;
|
|
844
844
|
expect(secondProcessHandle).not.toBe(firstProcessHandle);
|
|
845
845
|
|
|
846
|
-
const policy = target.
|
|
846
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as { dispose(): void };
|
|
847
847
|
policy.dispose();
|
|
848
848
|
});
|
|
849
849
|
|
|
@@ -857,7 +857,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
857
857
|
discardAllPrewarmedThreads: vi.fn(),
|
|
858
858
|
});
|
|
859
859
|
|
|
860
|
-
const first = bridge.sendRequest("
|
|
860
|
+
const first = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
861
861
|
const firstStart = directSend.mock.calls.find(([method]) => method === "process/spawn");
|
|
862
862
|
const firstProcessHandle = (firstStart?.[1] as { processHandle: string }).processHandle;
|
|
863
863
|
notifications.emit("process/exited", {
|
|
@@ -878,7 +878,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
878
878
|
processHandle: firstProcessHandle,
|
|
879
879
|
});
|
|
880
880
|
|
|
881
|
-
const second = bridge.sendRequest("
|
|
881
|
+
const second = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
882
882
|
void second.catch(() => undefined);
|
|
883
883
|
const starts = directSend.mock.calls.filter(([method]) => method === "process/spawn");
|
|
884
884
|
expect(starts).toHaveLength(2);
|
|
@@ -886,7 +886,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
886
886
|
firstProcessHandle,
|
|
887
887
|
);
|
|
888
888
|
|
|
889
|
-
const policy = target.
|
|
889
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as { dispose(): void };
|
|
890
890
|
policy.dispose();
|
|
891
891
|
});
|
|
892
892
|
|
|
@@ -899,11 +899,11 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
899
899
|
discardAllPrewarmedThreads: vi.fn(),
|
|
900
900
|
});
|
|
901
901
|
|
|
902
|
-
const first = bridge.sendRequest("
|
|
902
|
+
const first = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
903
903
|
const firstStart = directSend.mock.calls.find(([method]) => method === "process/spawn");
|
|
904
904
|
const firstProcessHandle = (firstStart?.[1] as { processHandle: string }).processHandle;
|
|
905
905
|
emitRemoteBridgeOutput(notifications, firstProcessHandle, {
|
|
906
|
-
method: "
|
|
906
|
+
method: "harnessmix/remote-control-bridge/ready",
|
|
907
907
|
params: { protocolVersion: 1 },
|
|
908
908
|
});
|
|
909
909
|
await vi.waitFor(() => expect(writtenBridgeFrames(directSend)).toHaveLength(1));
|
|
@@ -920,10 +920,10 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
920
920
|
directSend.mockRejectedValueOnce(
|
|
921
921
|
new Error(`no active process for process handle "${firstProcessHandle}"`),
|
|
922
922
|
);
|
|
923
|
-
const stale = bridge.sendRequest("
|
|
923
|
+
const stale = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
924
924
|
await expect(stale).rejects.toThrow("no active process for process handle");
|
|
925
925
|
|
|
926
|
-
const retry = bridge.sendRequest("
|
|
926
|
+
const retry = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
927
927
|
void retry.catch(() => undefined);
|
|
928
928
|
const starts = directSend.mock.calls.filter(([method]) => method === "process/spawn");
|
|
929
929
|
expect(starts).toHaveLength(2);
|
|
@@ -931,7 +931,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
931
931
|
firstProcessHandle,
|
|
932
932
|
);
|
|
933
933
|
|
|
934
|
-
const policy = target.
|
|
934
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as { dispose(): void };
|
|
935
935
|
policy.dispose();
|
|
936
936
|
});
|
|
937
937
|
|
|
@@ -946,7 +946,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
946
946
|
discardAllPrewarmedThreads: vi.fn(),
|
|
947
947
|
});
|
|
948
948
|
|
|
949
|
-
const first = bridge.sendRequest("
|
|
949
|
+
const first = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
950
950
|
const firstRejected = expect(first).rejects.toThrow("initialization timed out after 15000ms");
|
|
951
951
|
const firstStart = directSend.mock.calls.find(([method]) => method === "process/spawn");
|
|
952
952
|
const firstProcessHandle = (firstStart?.[1] as { processHandle: string }).processHandle;
|
|
@@ -955,7 +955,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
955
955
|
stream: "stdout",
|
|
956
956
|
deltaBase64: Buffer.from(
|
|
957
957
|
`${JSON.stringify({
|
|
958
|
-
method: "
|
|
958
|
+
method: "harnessmix/remote-control-bridge/ready",
|
|
959
959
|
params: { protocolVersion: 1 },
|
|
960
960
|
})}\n`,
|
|
961
961
|
"utf8",
|
|
@@ -971,7 +971,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
971
971
|
processHandle: firstProcessHandle,
|
|
972
972
|
});
|
|
973
973
|
|
|
974
|
-
const second = bridge.sendRequest("
|
|
974
|
+
const second = bridge.sendRequest("harnessmix/harness/inspect", {}) as Promise<unknown>;
|
|
975
975
|
void second.catch(() => undefined);
|
|
976
976
|
const starts = directSend.mock.calls.filter(([method]) => method === "process/spawn");
|
|
977
977
|
expect(starts).toHaveLength(2);
|
|
@@ -979,7 +979,7 @@ describe("Renderer draft prewarm policy", () => {
|
|
|
979
979
|
firstProcessHandle,
|
|
980
980
|
);
|
|
981
981
|
|
|
982
|
-
const policy = target.
|
|
982
|
+
const policy = target.__harnessmixDraftPrewarmPolicyV1 as { dispose(): void };
|
|
983
983
|
policy.dispose();
|
|
984
984
|
} finally {
|
|
985
985
|
vi.useRealTimers();
|
|
@@ -27,7 +27,7 @@ export interface AgentGroupPreferenceStore {
|
|
|
27
27
|
resetToDefault(): void;
|
|
28
28
|
subscribe(listener: () => void): () => void;
|
|
29
29
|
}
|
|
30
|
-
export declare const AGENT_GROUP_PREFERENCE_STORAGE_KEY = "
|
|
30
|
+
export declare const AGENT_GROUP_PREFERENCE_STORAGE_KEY = "harnessmix.agentGroupPreference.v1";
|
|
31
31
|
/**
|
|
32
32
|
* Creates an isolated preference store. Pass an explicit `storage` (or
|
|
33
33
|
* `null`) in tests to avoid touching the real `localStorage` and to keep
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-group-preference.d.ts","sourceRoot":"","sources":["../../src/agent-group-preference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,iFAAiF;IACjF,IAAI,IAAI,SAAS,eAAe,EAAE,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;IAC3D;;;;OAIG;IACH,SAAS,CACP,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI,GACzC,IAAI,CAAC;IACR,cAAc,IAAI,IAAI,CAAC;IACvB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,kCAAkC,
|
|
1
|
+
{"version":3,"file":"agent-group-preference.d.ts","sourceRoot":"","sources":["../../src/agent-group-preference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,iFAAiF;IACjF,IAAI,IAAI,SAAS,eAAe,EAAE,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,qBAAqB,GAAG,iBAAiB,CAAC;IAC3D;;;;OAIG;IACH,SAAS,CACP,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,CAAC,EAAE,qBAAqB,GAAG,IAAI,GACzC,IAAI,CAAC;IACR,cAAc,IAAI,IAAI,CAAC;IACvB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,kCAAkC,uCAAuC,CAAC;AAyDvF;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,OAAO,GAAG,IAAyB,GAC3C,yBAAyB,CAgE3B;AAID,6FAA6F;AAC7F,wBAAgB,kCAAkC,IAAI,yBAAyB,CAG9E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HarnessModelRef, HarnessPermissionModeId, HarnessThinkingOptionId } from "@
|
|
1
|
+
import type { HarnessModelRef, HarnessPermissionModeId, HarnessThinkingOptionId } from "@harnessmix/shared-contracts";
|
|
2
2
|
export declare const KNOWN_RENDERER_AGENTS: readonly ["codex", "pi", "claude-code", "deepseek-harness", "opencode", "grok", "omp", "antigravity", "kiro-cli", "openclaw", "hermes", "qoder", "codebuddy", "zcode", "trae", "cursor-cli", "cline", "codex-harness"];
|
|
3
3
|
export declare const DEFAULT_RENDERER_AGENTS: readonly ["codex", "pi", "omp", "claude-code", "deepseek-harness", "antigravity", "opencode", "grok", "openclaw", "hermes", "qoder", "codebuddy", "zcode", "trae", "cursor-cli", "kiro-cli", "cline", "codex-harness"];
|
|
4
4
|
export type RendererAgent = (typeof KNOWN_RENDERER_AGENTS)[number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-selection-state.d.ts","sourceRoot":"","sources":["../../src/agent-selection-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"agent-selection-state.d.ts","sourceRoot":"","sources":["../../src/agent-selection-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export interface RendererContractAuditInspection {
|
|
|
30
30
|
}
|
|
31
31
|
declare global {
|
|
32
32
|
interface Window {
|
|
33
|
-
|
|
33
|
+
__harnessmixContractAuditV1?: RendererContractAuditApi;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
export declare function inspectRendererContracts(ownerWindow?: Window): RendererContractAuditInspection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-audit.d.ts","sourceRoot":"","sources":["../../src/contract-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kCAAkC,EACxC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,uBAAuB,CAAC;AAM/B,eAAO,MAAM,sCAAsC,EAAG,CAAU,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC,OAAO,IAAI,+BAA+B,CAAC;CAC5C;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,OAAO,sCAAsC,CAAC;IAC7D,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,OAAO,EAAE,iCAAiC,CAAC;IAC3C,UAAU,EAAE,oCAAoC,CAAC;IACjD,IAAI,EAAE,8BAA8B,CAAC;IACrC,UAAU,EAAE;QACV,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;QAChE,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACjD,uBAAuB,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;KACzD,CAAC;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,
|
|
1
|
+
{"version":3,"file":"contract-audit.d.ts","sourceRoot":"","sources":["../../src/contract-audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kCAAkC,EACxC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,uBAAuB,CAAC;AAM/B,eAAO,MAAM,sCAAsC,EAAG,CAAU,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC,OAAO,IAAI,+BAA+B,CAAC;CAC5C;AAED,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,OAAO,sCAAsC,CAAC;IAC7D,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,OAAO,EAAE,iCAAiC,CAAC;IAC3C,UAAU,EAAE,oCAAoC,CAAC;IACjD,IAAI,EAAE,8BAA8B,CAAC;IACrC,UAAU,EAAE;QACV,cAAc,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;QAChE,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACjD,uBAAuB,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;KACzD,CAAC;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,wBAAwB,CAAC;KACxD;CACF;AAgBD,wBAAgB,wBAAwB,CACtC,WAAW,GAAE,MAAe,GAC3B,+BAA+B,CAyBjC"}
|
|
@@ -47,8 +47,10 @@ export { RENDERER_SETTINGS_ICON_NAMES, createRendererSettingsIcon, isRendererSet
|
|
|
47
47
|
export type { RendererSettingsIconName } from "./settings/icons.js";
|
|
48
48
|
export { installCollabCards, formatDiffHtml, parseCollabPayload, } from "./renderer-collab-cards.js";
|
|
49
49
|
export type { CollabCardPayload, CollabCardOptions, } from "./renderer-collab-cards.js";
|
|
50
|
+
export { installTeamCards, parseTeamPayload } from "./renderer-team-cards.js";
|
|
51
|
+
export type { TeamCardPayload, TeamMemberPayload, TeamTaskPayload, TeamMessagePayload } from "./renderer-team-cards.js";
|
|
50
52
|
export declare const rendererBuildMetadata: {
|
|
51
|
-
readonly name: "@
|
|
53
|
+
readonly name: "@harnessmix/renderer-extension";
|
|
52
54
|
readonly target: "browser";
|
|
53
55
|
readonly contractVersion: 1;
|
|
54
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,qBAAqB,EACrB,+BAA+B,EAC/B,8BAA8B,EAC9B,6BAA6B,EAC7B,0BAA0B,EAC1B,oCAAoC,EACpC,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,EACpC,oCAAoC,GACrC,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EACL,kCAAkC,EAClC,uBAAuB,EACvB,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,kCAAkC,EAAE,MAAM,uCAAuC,CAAC;AAC3F,YAAY,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,8BAA8B,EAC9B,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,yCAAyC,EACzC,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,8BAA8B,EAC9B,kCAAkC,EAClC,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,sBAAsB,EACtB,gCAAgC,EAChC,iCAAiC,EACjC,4BAA4B,EAC5B,qCAAqC,EACrC,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,mCAAmC,EACnC,uCAAuC,EACvC,+BAA+B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kCAAkC,GACnC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAC3F,YAAY,EACV,wBAAwB,EACxB,iCAAiC,EACjC,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sCAAsC,EACtC,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qCAAqC,EACrC,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,0CAA0C,CAAC;AAClD,YAAY,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EAClC,qCAAqC,GACtC,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EACrC,yBAAyB,EACzB,uCAAuC,EACvC,iCAAiC,EACjC,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,+BAA+B,EAC/B,iCAAiC,EACjC,sBAAsB,EACtB,wBAAwB,EACxB,yCAAyC,GAC1C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,+BAA+B,EAC/B,oCAAoC,EACpC,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,sBAAsB,EACtB,kCAAkC,EAClC,mCAAmC,EACnC,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAExH,eAAO,MAAM,qBAAqB;;;;CAIxB,CAAC"}
|