@skaile/workspaces 0.8.5 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +75 -1
- package/README.md +2 -2
- package/dist/asset-manager/index.js +12 -12
- package/dist/asset-manager/installer.js +10 -10
- package/dist/asset-manager/renderers.js +2 -2
- package/dist/asset-manager/scaffold.js +10 -10
- package/dist/base-assets/connectors/deploy/adapter.d.ts +21 -19
- package/dist/base-assets/connectors/deploy/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/deploy.js +10 -10
- package/dist/base-assets/connectors/devserver/adapter.d.ts +14 -12
- package/dist/base-assets/connectors/devserver/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/devserver.js +10 -10
- package/dist/base-assets/connectors/flow/adapter.d.ts +13 -10
- package/dist/base-assets/connectors/flow/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/flow/adapter.js +10 -10
- package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts +5 -167
- package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts.map +1 -1
- package/dist/base-assets/connectors/flow/engine.js +1 -1
- package/dist/base-assets/connectors/flow/index.d.ts +1 -1
- package/dist/base-assets/connectors/flow/index.d.ts.map +1 -1
- package/dist/base-assets/connectors/flow/run-flow.d.ts.map +1 -1
- package/dist/base-assets/connectors/flow/run-flow.js +12 -12
- package/dist/base-assets/connectors/flow.js +10 -10
- package/dist/base-assets/{mounts → connectors}/git/driver.d.ts +34 -32
- package/dist/base-assets/connectors/git/driver.d.ts.map +1 -0
- package/dist/base-assets/connectors/git.js +20 -0
- package/dist/base-assets/connectors/gmail/adapter.d.ts +16 -15
- package/dist/base-assets/connectors/gmail/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/gmail.js +10 -10
- package/dist/base-assets/connectors/local/driver.d.ts +28 -0
- package/dist/base-assets/connectors/local/driver.d.ts.map +1 -0
- package/dist/base-assets/connectors/local.js +20 -0
- package/dist/base-assets/connectors/mattermost/adapter.d.ts +23 -22
- package/dist/base-assets/connectors/mattermost/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/mattermost.js +10 -10
- package/dist/base-assets/connectors/memory/adapter.d.ts +18 -17
- package/dist/base-assets/connectors/memory/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/memory.js +10 -10
- package/dist/base-assets/connectors/minio/adapter.d.ts +17 -16
- package/dist/base-assets/connectors/minio/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/minio.js +10 -10
- package/dist/base-assets/connectors/postgres/adapter.d.ts +17 -21
- package/dist/base-assets/connectors/postgres/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/postgres.js +10 -10
- package/dist/base-assets/connectors/redis/adapter.d.ts +19 -19
- package/dist/base-assets/connectors/redis/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/redis.js +10 -10
- package/dist/base-assets/connectors/s3/driver.d.ts +46 -0
- package/dist/base-assets/connectors/s3/driver.d.ts.map +1 -0
- package/dist/base-assets/connectors/s3.js +20 -0
- package/dist/base-assets/connectors/sharepoint/driver.d.ts +34 -0
- package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +1 -0
- package/dist/base-assets/connectors/sharepoint.js +20 -0
- package/dist/base-assets/connectors/sqlite/adapter.d.ts +16 -16
- package/dist/base-assets/connectors/sqlite/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/sqlite.js +10 -10
- package/dist/base-assets/connectors/static-server/adapter.d.ts +16 -12
- package/dist/base-assets/connectors/static-server/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/static-server.js +10 -10
- package/dist/base-assets/connectors/tunnel/adapter.d.ts +14 -12
- package/dist/base-assets/connectors/tunnel/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/tunnel.js +10 -10
- package/dist/base-assets/connectors/webdav/driver.d.ts +35 -0
- package/dist/base-assets/connectors/webdav/driver.d.ts.map +1 -0
- package/dist/base-assets/connectors/webdav.js +20 -0
- package/dist/base-assets/connectors/xstate/adapter.d.ts +18 -16
- package/dist/base-assets/connectors/xstate/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/xstate-store/adapter.d.ts +20 -19
- package/dist/base-assets/connectors/xstate-store/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/xstate-store.js +10 -10
- package/dist/base-assets/connectors/xstate.js +10 -10
- package/dist/base-assets/connectors/yjs/adapter.d.ts +22 -21
- package/dist/base-assets/connectors/yjs/adapter.d.ts.map +1 -1
- package/dist/base-assets/connectors/yjs.js +10 -10
- package/dist/base-assets/index.js.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +215 -4
- package/dist/bridge/drivers/claude-sdk.js.map +1 -1
- package/dist/bridge/drivers/codex.js +2 -2
- package/dist/bridge/drivers/echo.js +2 -2
- package/dist/bridge/drivers/omp.js +2 -2
- package/dist/bridge/index.js +3 -3
- package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
- package/dist/bridge/src/drivers/scrub-transcript.d.ts +113 -0
- package/dist/bridge/src/drivers/scrub-transcript.d.ts.map +1 -0
- package/dist/bridge/src/types.d.ts +2 -2
- package/dist/bridge/src/types.d.ts.map +1 -1
- package/dist/{chunk-V37HONL7.js → chunk-24UIWON4.js} +61 -6
- package/dist/chunk-24UIWON4.js.map +1 -0
- package/dist/{chunk-JLPC4YWT.js → chunk-37JKX6D7.js} +3 -4
- package/dist/chunk-37JKX6D7.js.map +1 -0
- package/dist/{chunk-DOMCYP7D.js → chunk-42OQF7UU.js} +227 -21
- package/dist/chunk-42OQF7UU.js.map +1 -0
- package/dist/{chunk-65CYXYUW.js → chunk-4RUVG5GX.js} +50 -5
- package/dist/chunk-4RUVG5GX.js.map +1 -0
- package/dist/{chunk-MJHLQRJJ.js → chunk-5IC6CJL4.js} +11 -29
- package/dist/chunk-5IC6CJL4.js.map +1 -0
- package/dist/{chunk-GVOLEJG5.js → chunk-6DEGWPAR.js} +3 -3
- package/dist/{chunk-GVOLEJG5.js.map → chunk-6DEGWPAR.js.map} +1 -1
- package/dist/{chunk-7HLNUSNE.js → chunk-6FNCZYJY.js} +3 -3
- package/dist/{chunk-7HLNUSNE.js.map → chunk-6FNCZYJY.js.map} +1 -1
- package/dist/{chunk-D5IH3QMH.js → chunk-7R6W5EQR.js} +20 -19
- package/dist/chunk-7R6W5EQR.js.map +1 -0
- package/dist/{chunk-MBBTBKAS.js → chunk-AE6GCXGL.js} +3 -3
- package/dist/{chunk-MBBTBKAS.js.map → chunk-AE6GCXGL.js.map} +1 -1
- package/dist/{chunk-TS6VCR4W.js → chunk-DIKFRNCS.js} +3 -3
- package/dist/{chunk-TS6VCR4W.js.map → chunk-DIKFRNCS.js.map} +1 -1
- package/dist/{chunk-7HCGI2GW.js → chunk-DTL7S57T.js} +37 -29
- package/dist/chunk-DTL7S57T.js.map +1 -0
- package/dist/{chunk-7H7EOIRH.js → chunk-EBMFCF4P.js} +2 -2
- package/dist/{chunk-7H7EOIRH.js.map → chunk-EBMFCF4P.js.map} +1 -1
- package/dist/{chunk-3W7Z74ZP.js → chunk-EPGHAOEU.js} +5856 -5822
- package/dist/chunk-EPGHAOEU.js.map +1 -0
- package/dist/{chunk-CSUBFKAN.js → chunk-GAZINYCS.js} +4 -4
- package/dist/{chunk-CSUBFKAN.js.map → chunk-GAZINYCS.js.map} +1 -1
- package/dist/{chunk-Y46TBPLI.js → chunk-GCJXPUHG.js} +3 -3
- package/dist/{chunk-Y46TBPLI.js.map → chunk-GCJXPUHG.js.map} +1 -1
- package/dist/{chunk-46T37EBP.js → chunk-GKIA2PU5.js} +7 -35
- package/dist/chunk-GKIA2PU5.js.map +1 -0
- package/dist/{chunk-EE3XTJ62.js → chunk-I3S4BAAR.js} +7 -7
- package/dist/{chunk-EE3XTJ62.js.map → chunk-I3S4BAAR.js.map} +1 -1
- package/dist/{chunk-ZUQIXLRJ.js → chunk-ICS76R4T.js} +14 -14
- package/dist/chunk-ICS76R4T.js.map +1 -0
- package/dist/{chunk-CCKGX5AS.js → chunk-K3TMZI6D.js} +3 -3
- package/dist/{chunk-CCKGX5AS.js.map → chunk-K3TMZI6D.js.map} +1 -1
- package/dist/{chunk-AIGWF3TJ.js → chunk-LDUNTZB6.js} +46 -4
- package/dist/chunk-LDUNTZB6.js.map +1 -0
- package/dist/{chunk-UMMBL7SW.js → chunk-M2NLRGIX.js} +5 -5
- package/dist/{chunk-UMMBL7SW.js.map → chunk-M2NLRGIX.js.map} +1 -1
- package/dist/{chunk-Z3RER6YZ.js → chunk-NELZIQ2E.js} +42 -42
- package/dist/chunk-NELZIQ2E.js.map +1 -0
- package/dist/chunk-PBWMV5GM.js +171 -0
- package/dist/chunk-PBWMV5GM.js.map +1 -0
- package/dist/{chunk-NYJKXVG6.js → chunk-QZ6PY73K.js} +160 -188
- package/dist/chunk-QZ6PY73K.js.map +1 -0
- package/dist/chunk-R7FOF242.js +59 -0
- package/dist/chunk-R7FOF242.js.map +1 -0
- package/dist/{chunk-XEGHWFAX.js → chunk-SVNFQSU3.js} +5 -10
- package/dist/chunk-SVNFQSU3.js.map +1 -0
- package/dist/{chunk-44ZICIN4.js → chunk-TODD4VNR.js} +9 -3
- package/dist/chunk-TODD4VNR.js.map +1 -0
- package/dist/{chunk-77CUYYO3.js → chunk-VAJB2UJ5.js} +5 -5
- package/dist/{chunk-77CUYYO3.js.map → chunk-VAJB2UJ5.js.map} +1 -1
- package/dist/{chunk-Q5URN24L.js → chunk-W75ASXH4.js} +23 -27
- package/dist/chunk-W75ASXH4.js.map +1 -0
- package/dist/{chunk-5CSE3QL2.js → chunk-XIVOEUAF.js} +5 -5
- package/dist/{chunk-5CSE3QL2.js.map → chunk-XIVOEUAF.js.map} +1 -1
- package/dist/{chunk-BVHFSUFM.js → chunk-ZHLRRT5D.js} +4 -25
- package/dist/chunk-ZHLRRT5D.js.map +1 -0
- package/dist/{chunk-6UQ66R46.js → chunk-ZWIG55ZX.js} +2 -2
- package/dist/{chunk-6UQ66R46.js.map → chunk-ZWIG55ZX.js.map} +1 -1
- package/dist/cli/index.js +321 -300
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/connector.d.ts +2 -1
- package/dist/cli/src/commands/connector.d.ts.map +1 -1
- package/dist/cli/src/commands/logs.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts +73 -3
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/session-logs/local-query.d.ts +3 -4
- package/dist/cli/src/commands/session-logs/local-query.d.ts.map +1 -1
- package/dist/cli/src/commands/session-logs/local-tail.d.ts +0 -3
- package/dist/cli/src/commands/session-logs/local-tail.d.ts.map +1 -1
- package/dist/cli/src/commands/session-logs/sqlite-row.d.ts +0 -26
- package/dist/cli/src/commands/session-logs/sqlite-row.d.ts.map +1 -1
- package/dist/cli/src/index.d.ts +1 -1
- package/dist/connectors/config.js +7 -7
- package/dist/connectors/index.js +10 -10
- package/dist/connectors/rclone.js +1 -1
- package/dist/connectors/src/config.d.ts +9 -10
- package/dist/connectors/src/config.d.ts.map +1 -1
- package/dist/connectors/src/connector-base.d.ts +23 -0
- package/dist/connectors/src/connector-base.d.ts.map +1 -0
- package/dist/connectors/src/connector-manager.d.ts +158 -58
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/connector-prompt.d.ts +72 -0
- package/dist/connectors/src/connector-prompt.d.ts.map +1 -0
- package/dist/connectors/src/connector-registry.d.ts +34 -35
- package/dist/connectors/src/connector-registry.d.ts.map +1 -1
- package/dist/connectors/src/connector-types.d.ts +147 -60
- package/dist/connectors/src/connector-types.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +17 -23
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors/src/npm-installer.d.ts +2 -2
- package/dist/connectors/src/npm-installer.d.ts.map +1 -1
- package/dist/connectors/src/rclone-process-manager.d.ts +1 -1
- package/dist/connectors/src/secrets.d.ts +3 -3
- package/dist/connectors/src/watcher.d.ts +3 -3
- package/dist/connectors/src/watcher.d.ts.map +1 -1
- package/dist/connectors-PTCSHCHZ.js +5 -0
- package/dist/{connectors-7WS2KOSZ.js.map → connectors-PTCSHCHZ.js.map} +1 -1
- package/dist/core/index.js +6 -6
- package/dist/core/logging.js +1 -1
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.js +1 -1
- package/dist/core/runtime-assets.js +4 -4
- package/dist/core/src/index.d.ts +4 -2
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/logging/index.d.ts +2 -0
- package/dist/core/src/logging/index.d.ts.map +1 -1
- package/dist/core/src/logging/sinks/sqlite-runtime.d.ts +24 -0
- package/dist/core/src/logging/sinks/sqlite-runtime.d.ts.map +1 -0
- package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
- package/dist/core/src/manifest.d.ts +2 -23
- package/dist/core/src/manifest.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +1 -1
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts +12 -13
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/subprocess.d.ts +35 -0
- package/dist/core/src/subprocess.d.ts.map +1 -0
- package/dist/core/src/workspace-config.d.ts +32 -10
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +3 -3
- package/dist/discovery/index.js +4 -4
- package/dist/discovery/src/builtin-providers.d.ts +5 -4
- package/dist/discovery/src/builtin-providers.d.ts.map +1 -1
- package/dist/discovery/src/index.d.ts +1 -1
- package/dist/discovery/src/index.d.ts.map +1 -1
- package/dist/discovery/src/source-config.d.ts +24 -233
- package/dist/discovery/src/source-config.d.ts.map +1 -1
- package/dist/{flows-ZULSVHX5.js → flows-6BNO4GKK.js} +3 -3
- package/dist/{flows-ZULSVHX5.js.map → flows-6BNO4GKK.js.map} +1 -1
- package/dist/library/index.js +6 -5
- package/dist/library/src/config.d.ts +25 -77
- package/dist/library/src/config.d.ts.map +1 -1
- package/dist/library/src/index.d.ts +2 -0
- package/dist/library/src/index.d.ts.map +1 -1
- package/dist/library/src/install/install-from-manifest.d.ts +80 -0
- package/dist/library/src/install/install-from-manifest.d.ts.map +1 -0
- package/dist/library/src/install/source-fetch-github.d.ts +43 -0
- package/dist/library/src/install/source-fetch-github.d.ts.map +1 -0
- package/dist/library/src/knowledge/knowledge-manifest.d.ts +3 -17
- package/dist/library/src/knowledge/knowledge-manifest.d.ts.map +1 -1
- package/dist/library/src/library.d.ts +6 -0
- package/dist/library/src/library.d.ts.map +1 -1
- package/dist/library/src/local/db.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts +41 -0
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/schema.d.ts +19 -0
- package/dist/library/src/local/schema.d.ts.map +1 -1
- package/dist/library/src/remote/remote-catalog-source.d.ts +22 -0
- package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
- package/dist/library/src/user-library.d.ts +1 -2
- package/dist/library/src/user-library.d.ts.map +1 -1
- package/dist/library/src/workspace-config.d.ts +45 -243
- package/dist/library/src/workspace-config.d.ts.map +1 -1
- package/dist/open-library-S6FK4N4S.js +13 -0
- package/dist/{open-library-N5T5HRTS.js.map → open-library-S6FK4N4S.js.map} +1 -1
- package/dist/{provider-QXKEDXWJ.js → provider-GAWKFQ3T.js} +20 -4
- package/dist/provider-GAWKFQ3T.js.map +1 -0
- package/dist/runner/index.js +15 -15
- package/dist/runner/src/builtin-capabilities.d.ts.map +1 -1
- package/dist/runner/src/define-capability.d.ts +1 -1
- package/dist/runner/src/define-capability.d.ts.map +1 -1
- package/dist/runner/src/refresh-flag-dispatcher.d.ts +20 -20
- package/dist/runner/src/refresh-flag-dispatcher.d.ts.map +1 -1
- package/dist/runner/src/resource-handler.d.ts +8 -6
- package/dist/runner/src/resource-handler.d.ts.map +1 -1
- package/dist/runner/src/resources.d.ts +14 -22
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/runner-capabilities.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/session-builder.d.ts +5 -7
- package/dist/runner/src/session-builder.d.ts.map +1 -1
- package/dist/runner/src/workspace-migration.d.ts +2 -2
- package/dist/runner/src/workspace-migration.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +12 -12
- package/dist/sdk/bridge.js +3 -3
- package/dist/sdk/core.js +6 -6
- package/dist/sdk/flow.js +1 -1
- package/dist/sdk/index.js +15 -15
- package/dist/sdk/runner.js +15 -15
- package/dist/sdk/session.js +1 -1
- package/dist/sdk/telemetry.js +1 -1
- package/dist/sdk/transport/ws/server.js +1 -1
- package/dist/sdk/transport/ws.js +1 -1
- package/dist/sdk/transport.js +1 -1
- package/dist/session/index.js +1 -1
- package/dist/session/src/dispatcher.d.ts +4 -1
- package/dist/session/src/dispatcher.d.ts.map +1 -1
- package/dist/{setup-BMTC562F.js → setup-PHFPBDBI.js} +10 -10
- package/dist/{setup-BMTC562F.js.map → setup-PHFPBDBI.js.map} +1 -1
- package/dist/source-fetch-github-QN4LLTL5.js +4 -0
- package/dist/source-fetch-github-QN4LLTL5.js.map +1 -0
- package/dist/store-client-BM3IBDPT.js +14 -0
- package/dist/{store-client-X7Y7D5QX.js.map → store-client-BM3IBDPT.js.map} +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/src/ws/server.d.ts +11 -8
- package/dist/transport/src/ws/server.d.ts.map +1 -1
- package/dist/transport/ws/server.js +1 -1
- package/dist/transport/ws.js +1 -1
- package/dist/tui/index.js +16 -25
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/src/repl.d.ts.map +1 -1
- package/dist/types/manifests.js +1 -1
- package/dist/types/src/events.d.ts +6 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/install-manifest.d.ts +33 -0
- package/dist/types/src/install-manifest.d.ts.map +1 -0
- package/dist/types/src/manifests/_shared.d.ts +39 -100
- package/dist/types/src/manifests/_shared.d.ts.map +1 -1
- package/dist/types/src/manifests/agent.d.ts +43 -248
- package/dist/types/src/manifests/agent.d.ts.map +1 -1
- package/dist/types/src/manifests/connector.d.ts +7 -107
- package/dist/types/src/manifests/connector.d.ts.map +1 -1
- package/dist/types/src/manifests/contract.d.ts +10 -75
- package/dist/types/src/manifests/contract.d.ts.map +1 -1
- package/dist/types/src/manifests/mcp-server.d.ts +9 -29
- package/dist/types/src/manifests/mcp-server.d.ts.map +1 -1
- package/dist/types/src/manifests/mount.d.ts +4 -76
- package/dist/types/src/manifests/mount.d.ts.map +1 -1
- package/dist/types/src/manifests/persona.d.ts +10 -75
- package/dist/types/src/manifests/persona.d.ts.map +1 -1
- package/dist/types/src/manifests/preset.d.ts +82 -642
- package/dist/types/src/manifests/preset.d.ts.map +1 -1
- package/dist/types/src/manifests/prompt.d.ts +10 -75
- package/dist/types/src/manifests/prompt.d.ts.map +1 -1
- package/dist/types/src/manifests/ruleset.d.ts +10 -75
- package/dist/types/src/manifests/ruleset.d.ts.map +1 -1
- package/dist/types/src/manifests/skill.d.ts +46 -2328
- package/dist/types/src/manifests/skill.d.ts.map +1 -1
- package/dist/validator-47SQUW3J.js +5 -0
- package/dist/{validator-764EQNM3.js.map → validator-47SQUW3J.js.map} +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +8 -9
- package/dist/workspace-plugin/adapters/mcp.js.map +1 -1
- package/dist/workspace-plugin/adapters/omp.js +19 -18
- package/dist/workspace-plugin/adapters/omp.js.map +1 -1
- package/dist/workspace-plugin/index.js +2 -2
- package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
- package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
- package/dist/workspace-plugin/src/plugin.d.ts +5 -3
- package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
- package/dist/workspace-plugin/src/tools/connectors.d.ts +38 -0
- package/dist/workspace-plugin/src/tools/connectors.d.ts.map +1 -1
- package/dist/workspace-plugin/src/tools/validator.d.ts +6 -4
- package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
- package/package.json +217 -117
- package/dist/base-assets/mounts/git/driver.d.ts.map +0 -1
- package/dist/base-assets/mounts/git.js +0 -20
- package/dist/base-assets/mounts/local/driver.d.ts +0 -27
- package/dist/base-assets/mounts/local/driver.d.ts.map +0 -1
- package/dist/base-assets/mounts/local.js +0 -20
- package/dist/base-assets/mounts/s3/driver.d.ts +0 -27
- package/dist/base-assets/mounts/s3/driver.d.ts.map +0 -1
- package/dist/base-assets/mounts/s3.js +0 -20
- package/dist/base-assets/mounts/sharepoint/driver.d.ts +0 -31
- package/dist/base-assets/mounts/sharepoint/driver.d.ts.map +0 -1
- package/dist/base-assets/mounts/sharepoint.js +0 -20
- package/dist/base-assets/mounts/webdav/driver.d.ts +0 -32
- package/dist/base-assets/mounts/webdav/driver.d.ts.map +0 -1
- package/dist/base-assets/mounts/webdav.js +0 -20
- package/dist/chunk-3W7Z74ZP.js.map +0 -1
- package/dist/chunk-44ZICIN4.js.map +0 -1
- package/dist/chunk-46T37EBP.js.map +0 -1
- package/dist/chunk-65CYXYUW.js.map +0 -1
- package/dist/chunk-7HCGI2GW.js.map +0 -1
- package/dist/chunk-AIGWF3TJ.js.map +0 -1
- package/dist/chunk-BVHFSUFM.js.map +0 -1
- package/dist/chunk-D5IH3QMH.js.map +0 -1
- package/dist/chunk-DOMCYP7D.js.map +0 -1
- package/dist/chunk-JLPC4YWT.js.map +0 -1
- package/dist/chunk-MJHLQRJJ.js.map +0 -1
- package/dist/chunk-NYJKXVG6.js.map +0 -1
- package/dist/chunk-Q5URN24L.js.map +0 -1
- package/dist/chunk-QT2KQHDT.js +0 -49
- package/dist/chunk-QT2KQHDT.js.map +0 -1
- package/dist/chunk-V37HONL7.js.map +0 -1
- package/dist/chunk-XEGHWFAX.js.map +0 -1
- package/dist/chunk-XOSBNBB6.js +0 -155
- package/dist/chunk-XOSBNBB6.js.map +0 -1
- package/dist/chunk-Z3RER6YZ.js.map +0 -1
- package/dist/chunk-ZUQIXLRJ.js.map +0 -1
- package/dist/cli/src/commands/mount.d.ts +0 -22
- package/dist/cli/src/commands/mount.d.ts.map +0 -1
- package/dist/connectors/src/adapters/base.d.ts +0 -66
- package/dist/connectors/src/adapters/base.d.ts.map +0 -1
- package/dist/connectors/src/connector-tools.d.ts +0 -61
- package/dist/connectors/src/connector-tools.d.ts.map +0 -1
- package/dist/connectors/src/drivers/base.d.ts +0 -44
- package/dist/connectors/src/drivers/base.d.ts.map +0 -1
- package/dist/connectors/src/mount-manager.d.ts +0 -147
- package/dist/connectors/src/mount-manager.d.ts.map +0 -1
- package/dist/connectors/src/mount-prompt.d.ts +0 -13
- package/dist/connectors/src/mount-prompt.d.ts.map +0 -1
- package/dist/connectors/src/mount-registry.d.ts +0 -61
- package/dist/connectors/src/mount-registry.d.ts.map +0 -1
- package/dist/connectors/src/mount-types.d.ts +0 -222
- package/dist/connectors/src/mount-types.d.ts.map +0 -1
- package/dist/connectors-7WS2KOSZ.js +0 -5
- package/dist/mounts-PQLFYD2C.js +0 -5
- package/dist/mounts-PQLFYD2C.js.map +0 -1
- package/dist/open-library-N5T5HRTS.js +0 -12
- package/dist/provider-QXKEDXWJ.js.map +0 -1
- package/dist/store-client-X7Y7D5QX.js +0 -14
- package/dist/validator-764EQNM3.js +0 -5
- package/dist/workspace-plugin/src/tools/mounts.d.ts +0 -51
- package/dist/workspace-plugin/src/tools/mounts.d.ts.map +0 -1
- /package/dist/base-assets/{mounts → connectors}/git.js.map +0 -0
- /package/dist/base-assets/{mounts → connectors}/local.js.map +0 -0
- /package/dist/base-assets/{mounts → connectors}/s3.js.map +0 -0
- /package/dist/base-assets/{mounts → connectors}/sharepoint.js.map +0 -0
- /package/dist/base-assets/{mounts → connectors}/webdav.js.map +0 -0
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* YjsConnector — CRDT-based shared document state via Yjs.
|
|
3
3
|
* Not mountable. Provides real-time collaborative state that merges
|
|
4
4
|
* concurrent edits from multiple agents and UI clients.
|
|
5
5
|
*
|
|
6
6
|
* Requires `yjs` as an optional peer dependency.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import type {
|
|
10
|
-
import type { ConnectorDeclaration, ConnectorHandle, OperationDescriptor } from "@skaile/workspaces/connectors";
|
|
8
|
+
import { AbstractConnector } from "@skaile/workspaces/connectors";
|
|
9
|
+
import type { ConnectContext, ConnectorDeclaration, ConnectorHandle, ToolFace } from "@skaile/workspaces/connectors";
|
|
11
10
|
/**
|
|
12
|
-
* Connector
|
|
11
|
+
* Connector for Yjs CRDT-based shared document state — enables real-time collaborative state that merges concurrent edits from multiple agents and UI clients.
|
|
13
12
|
* Compatible with Hocuspocus and y-websocket provider connections via `getDoc()`. Requires the `yjs` optional peer dependency.
|
|
14
13
|
* @docLink packages/base-assets/concepts#yjs-connector
|
|
15
14
|
*/
|
|
16
|
-
export declare class
|
|
15
|
+
export declare class YjsConnector extends AbstractConnector {
|
|
17
16
|
readonly name = "yjs";
|
|
18
|
-
|
|
17
|
+
tools: ToolFace;
|
|
18
|
+
constructor();
|
|
19
|
+
connect(declaration: ConnectorDeclaration, _ctx: ConnectContext): Promise<ConnectorHandle>;
|
|
19
20
|
disconnect(handle: ConnectorHandle): Promise<void>;
|
|
20
21
|
private s;
|
|
21
22
|
/**
|
|
@@ -26,24 +27,24 @@ export declare class YjsAdapter extends AbstractConnectorAdapter {
|
|
|
26
27
|
* Register a callback fired on every change to the root map.
|
|
27
28
|
*/
|
|
28
29
|
onDocChange(handle: ConnectorHandle, cb: (snapshot: Record<string, unknown>, changedKeys: string[]) => void): void;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
private
|
|
30
|
+
private _read;
|
|
31
|
+
private _write;
|
|
32
|
+
private _delete;
|
|
33
|
+
private _list;
|
|
34
|
+
private _search;
|
|
35
|
+
private _describeOperations;
|
|
36
|
+
private _executeOp;
|
|
37
|
+
private _getY;
|
|
37
38
|
/** Convert a JS value to a Yjs-compatible value. */
|
|
38
|
-
private
|
|
39
|
+
private _toYjsValue;
|
|
39
40
|
/** Convert a Yjs value back to plain JS. */
|
|
40
|
-
private
|
|
41
|
-
private
|
|
41
|
+
private _fromYjsValue;
|
|
42
|
+
private _recordHistory;
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
|
-
* Creates a new
|
|
45
|
-
* @returns Configured
|
|
45
|
+
* Creates a new YjsConnector instance.
|
|
46
|
+
* @returns Configured YjsConnector ready to be registered in the connector registry.
|
|
46
47
|
* @docLink packages/base-assets/api-reference#yjs-connector-factory
|
|
47
48
|
*/
|
|
48
|
-
export declare function
|
|
49
|
+
export declare function createConnector(): YjsConnector;
|
|
49
50
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/yjs/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../base-assets/connectors/yjs/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACT,MAAM,+BAA+B,CAAC;AAiBvC;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,iBAAiB;IACjD,QAAQ,CAAC,IAAI,SAAS;IAEtB,KAAK,EAAE,QAAQ,CAAC;;IAeV,OAAO,CAAC,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAkC1F,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxD,OAAO,CAAC,CAAC;IAIT;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;IAIxC;;OAEG;IACH,WAAW,CACT,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,GACrE,IAAI;YAMO,KAAK;YAQL,MAAM;YAqBN,OAAO;YAQP,KAAK;YAcL,OAAO;IAkBrB,OAAO,CAAC,mBAAmB;YAoEb,UAAU;YAiFV,KAAK;IAKnB,oDAAoD;IACpD,OAAO,CAAC,WAAW;IAenB,4CAA4C;IAC5C,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;CAKvB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAE9C"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export {
|
|
2
|
-
import '../../chunk-
|
|
3
|
-
import '../../chunk-
|
|
1
|
+
export { YjsConnector, createConnector14 as createConnector } from '../../chunk-EPGHAOEU.js';
|
|
2
|
+
import '../../chunk-W75ASXH4.js';
|
|
3
|
+
import '../../chunk-EBMFCF4P.js';
|
|
4
4
|
import '../../chunk-GCRKAFH7.js';
|
|
5
|
-
import '../../chunk-
|
|
5
|
+
import '../../chunk-ICS76R4T.js';
|
|
6
6
|
import '../../chunk-GZWJGNNN.js';
|
|
7
7
|
import '../../chunk-FVTV7M76.js';
|
|
8
|
-
import '../../chunk-
|
|
8
|
+
import '../../chunk-4RUVG5GX.js';
|
|
9
9
|
import '../../chunk-JKNWJ64A.js';
|
|
10
10
|
import '../../chunk-O4JH3KUE.js';
|
|
11
11
|
import '../../chunk-K5GBV4SA.js';
|
|
12
12
|
import '../../chunk-KLNL7QHN.js';
|
|
13
|
-
import '../../chunk-
|
|
14
|
-
import '../../chunk-
|
|
15
|
-
import '../../chunk-
|
|
16
|
-
import '../../chunk-
|
|
17
|
-
import '../../chunk-
|
|
13
|
+
import '../../chunk-SVNFQSU3.js';
|
|
14
|
+
import '../../chunk-GAZINYCS.js';
|
|
15
|
+
import '../../chunk-ZHLRRT5D.js';
|
|
16
|
+
import '../../chunk-37JKX6D7.js';
|
|
17
|
+
import '../../chunk-24UIWON4.js';
|
|
18
18
|
import '../../chunk-NSBPE2FW.js';
|
|
19
19
|
//# sourceMappingURL=yjs.js.map
|
|
20
20
|
//# sourceMappingURL=yjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../base-assets/index.ts"],"names":[],"mappings":";;;AAUA,eAAsB,WAAA,GAA6B;AAEnD","file":"index.js","sourcesContent":["// @skaile/base-assets — Base framework assets\n// Subpath imports: @skaile/workspaces/base-assets/connectors/<name
|
|
1
|
+
{"version":3,"sources":["../../base-assets/index.ts"],"names":[],"mappings":";;;AAUA,eAAsB,WAAA,GAA6B;AAEnD","file":"index.js","sourcesContent":["// @skaile/base-assets — Base framework assets\n// Subpath imports: @skaile/workspaces/base-assets/connectors/<name>\n// This root export provides registerAll() for eager loading of all built-in adapters/drivers.\n\n/**\n * Eagerly loads all built-in connector adapters and mount drivers.\n * Intended for use in environments where lazy loading via subpath imports is not desired.\n * Individual adapters and drivers are normally loaded on demand by the connector and mount registries.\n * @docLink packages/base-assets/api-reference#base-assets\n */\nexport async function registerAll(): Promise<void> {\n // Populated in Phase 3 after implementations are moved here\n}\n"]}
|
|
@@ -1,14 +1,177 @@
|
|
|
1
1
|
import { classifyClaudeSdkError, AuthError } from '../../chunk-EWP5HZBV.js';
|
|
2
2
|
import { fetchProviderModels } from '../../chunk-KOVLSBXK.js';
|
|
3
3
|
import { dispatchCapability } from '../../chunk-RRVQAE5D.js';
|
|
4
|
-
import { registerDriver, DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-
|
|
5
|
-
import '../../chunk-
|
|
4
|
+
import { registerDriver, DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-AE6GCXGL.js';
|
|
5
|
+
import '../../chunk-24UIWON4.js';
|
|
6
6
|
import '../../chunk-NSBPE2FW.js';
|
|
7
7
|
import { spawnSync } from 'child_process';
|
|
8
|
-
import { existsSync } from 'fs';
|
|
8
|
+
import { existsSync, readFileSync, readdirSync, writeFileSync, renameSync } from 'fs';
|
|
9
9
|
import { createRequire } from 'module';
|
|
10
|
+
import { homedir } from 'os';
|
|
11
|
+
import { join } from 'path';
|
|
10
12
|
import * as zNS from 'zod';
|
|
11
13
|
|
|
14
|
+
var STUB_TEXT = "[image removed: unprocessable image data]";
|
|
15
|
+
var STUB_TEXT_OVERSIZED = "[image removed: image too large]";
|
|
16
|
+
var MAX_IMAGE_BYTES = 5 * 1024 * 1024;
|
|
17
|
+
function sniffImageMediaType(base64) {
|
|
18
|
+
let buf;
|
|
19
|
+
try {
|
|
20
|
+
buf = Buffer.from(base64.slice(0, 32), "base64");
|
|
21
|
+
} catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (buf.length < 4) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
if (buf[0] === 255 && buf[1] === 216) {
|
|
28
|
+
return "image/jpeg";
|
|
29
|
+
}
|
|
30
|
+
if (buf[0] === 137 && buf[1] === 80 && buf[2] === 78 && buf[3] === 71) {
|
|
31
|
+
return "image/png";
|
|
32
|
+
}
|
|
33
|
+
if (buf[0] === 71 && buf[1] === 73 && buf[2] === 70 && buf[3] === 56) {
|
|
34
|
+
return "image/gif";
|
|
35
|
+
}
|
|
36
|
+
if (buf.length >= 12 && buf[0] === 82 && buf[1] === 73 && buf[2] === 70 && buf[3] === 70 && buf[8] === 87 && buf[9] === 69 && buf[10] === 66 && buf[11] === 80) {
|
|
37
|
+
return "image/webp";
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
function totalChanges(c) {
|
|
42
|
+
return c.corrected + c.stubbed + c.cacheStripped;
|
|
43
|
+
}
|
|
44
|
+
function scrubBlock(block, counters) {
|
|
45
|
+
if (block.type === "tool_result" && Array.isArray(block.content)) {
|
|
46
|
+
return {
|
|
47
|
+
...block,
|
|
48
|
+
content: block.content.map((inner) => scrubBlock(inner, counters))
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (block.type === "text" && block.cache_control != null) {
|
|
52
|
+
const text = typeof block.text === "string" ? block.text : "";
|
|
53
|
+
if (text.trim() === "") {
|
|
54
|
+
counters.cacheStripped++;
|
|
55
|
+
const clone = { ...block };
|
|
56
|
+
delete clone.cache_control;
|
|
57
|
+
return clone;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (block.type === "image" && block.source?.type === "base64" && typeof block.source.data === "string") {
|
|
61
|
+
const data = block.source.data;
|
|
62
|
+
if (Math.floor(data.length * 3 / 4) > MAX_IMAGE_BYTES) {
|
|
63
|
+
counters.stubbed++;
|
|
64
|
+
return { type: "text", text: STUB_TEXT_OVERSIZED };
|
|
65
|
+
}
|
|
66
|
+
const sniffed = sniffImageMediaType(data);
|
|
67
|
+
if (sniffed === null) {
|
|
68
|
+
counters.stubbed++;
|
|
69
|
+
return { type: "text", text: STUB_TEXT };
|
|
70
|
+
}
|
|
71
|
+
if (sniffed !== block.source.media_type) {
|
|
72
|
+
counters.corrected++;
|
|
73
|
+
return { ...block, source: { ...block.source, media_type: sniffed } };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return block;
|
|
77
|
+
}
|
|
78
|
+
function locateTranscript(configDir, sessionId) {
|
|
79
|
+
const projectsDir = join(configDir, "projects");
|
|
80
|
+
if (!existsSync(projectsDir)) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
let entries;
|
|
84
|
+
try {
|
|
85
|
+
entries = readdirSync(projectsDir);
|
|
86
|
+
} catch {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
for (const entry of entries) {
|
|
90
|
+
const candidate = join(projectsDir, entry, `${sessionId}.jsonl`);
|
|
91
|
+
if (existsSync(candidate)) {
|
|
92
|
+
return candidate;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
function scrubPoisonedTranscript(opts) {
|
|
98
|
+
const { configDir, sessionId, log } = opts;
|
|
99
|
+
const result = {
|
|
100
|
+
filePath: null,
|
|
101
|
+
corrected: 0,
|
|
102
|
+
stubbed: 0,
|
|
103
|
+
cacheStripped: 0,
|
|
104
|
+
changed: false
|
|
105
|
+
};
|
|
106
|
+
const filePath = locateTranscript(configDir, sessionId);
|
|
107
|
+
if (!filePath) {
|
|
108
|
+
log?.warn("scrub-transcript: no transcript found", { configDir, sessionId });
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
111
|
+
result.filePath = filePath;
|
|
112
|
+
let raw;
|
|
113
|
+
try {
|
|
114
|
+
raw = readFileSync(filePath, "utf8");
|
|
115
|
+
} catch (err) {
|
|
116
|
+
log?.warn("scrub-transcript: failed to read transcript", {
|
|
117
|
+
filePath,
|
|
118
|
+
error: err instanceof Error ? err.message : String(err)
|
|
119
|
+
});
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
const counters = { corrected: 0, stubbed: 0, cacheStripped: 0 };
|
|
123
|
+
const lines = raw.split("\n");
|
|
124
|
+
let dirty = false;
|
|
125
|
+
const repaired = lines.map((line) => {
|
|
126
|
+
if (line.trim() === "") {
|
|
127
|
+
return line;
|
|
128
|
+
}
|
|
129
|
+
let entry;
|
|
130
|
+
try {
|
|
131
|
+
entry = JSON.parse(line);
|
|
132
|
+
} catch {
|
|
133
|
+
return line;
|
|
134
|
+
}
|
|
135
|
+
const content = entry.message?.content;
|
|
136
|
+
if (!Array.isArray(content)) {
|
|
137
|
+
return line;
|
|
138
|
+
}
|
|
139
|
+
const before = totalChanges(counters);
|
|
140
|
+
const scrubbed = content.map((block) => scrubBlock(block, counters));
|
|
141
|
+
if (totalChanges(counters) === before) {
|
|
142
|
+
return line;
|
|
143
|
+
}
|
|
144
|
+
dirty = true;
|
|
145
|
+
return JSON.stringify({ ...entry, message: { ...entry.message, content: scrubbed } });
|
|
146
|
+
});
|
|
147
|
+
result.corrected = counters.corrected;
|
|
148
|
+
result.stubbed = counters.stubbed;
|
|
149
|
+
result.cacheStripped = counters.cacheStripped;
|
|
150
|
+
if (!dirty) {
|
|
151
|
+
return result;
|
|
152
|
+
}
|
|
153
|
+
const tmpPath = `${filePath}.scrub-tmp`;
|
|
154
|
+
try {
|
|
155
|
+
writeFileSync(tmpPath, repaired.join("\n"), "utf8");
|
|
156
|
+
renameSync(tmpPath, filePath);
|
|
157
|
+
} catch (err) {
|
|
158
|
+
log?.warn("scrub-transcript: failed to rewrite transcript", {
|
|
159
|
+
filePath,
|
|
160
|
+
error: err instanceof Error ? err.message : String(err)
|
|
161
|
+
});
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
result.changed = true;
|
|
165
|
+
log?.info("scrub-transcript: repaired poisoned transcript", {
|
|
166
|
+
filePath,
|
|
167
|
+
corrected: result.corrected,
|
|
168
|
+
stubbed: result.stubbed,
|
|
169
|
+
cacheStripped: result.cacheStripped
|
|
170
|
+
});
|
|
171
|
+
return result;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// bridge/src/drivers/claude-sdk.ts
|
|
12
175
|
var zStatic = zNS.z ?? zNS.default ?? zNS;
|
|
13
176
|
function jsonSchemaToZodLoose(schema, z2) {
|
|
14
177
|
const props = schema?.properties ?? null;
|
|
@@ -32,7 +195,7 @@ function jsonSchemaToZodLoose(schema, z2) {
|
|
|
32
195
|
zod = z2.array(z2.any());
|
|
33
196
|
break;
|
|
34
197
|
case "object":
|
|
35
|
-
zod = z2.record(z2.any());
|
|
198
|
+
zod = z2.record(z2.string(), z2.any());
|
|
36
199
|
break;
|
|
37
200
|
default:
|
|
38
201
|
zod = z2.any();
|
|
@@ -201,6 +364,54 @@ var ClaudeSdkDriver = class extends AgentDriver {
|
|
|
201
364
|
retrying = true;
|
|
202
365
|
return this.prompt(message, _retryCount + 1);
|
|
203
366
|
}
|
|
367
|
+
const isPoisonedHistory = _retryCount === 0 && /invalid_request_error/i.test(errMsg) && /media[_ ]?type|could not process image|image exceeds|cache_control/i.test(errMsg);
|
|
368
|
+
const poisonSessionId = this.config.resumeSessionId || this.sessionId;
|
|
369
|
+
if (isPoisonedHistory && poisonSessionId) {
|
|
370
|
+
const configDir = this.config.env?.CLAUDE_CONFIG_DIR || process.env.CLAUDE_CONFIG_DIR || join(homedir(), ".claude");
|
|
371
|
+
const scrub = scrubPoisonedTranscript({
|
|
372
|
+
configDir,
|
|
373
|
+
sessionId: poisonSessionId,
|
|
374
|
+
log: this.log
|
|
375
|
+
});
|
|
376
|
+
if (scrub.changed) {
|
|
377
|
+
this.log.warn("scrubbed poisoned Claude Code transcript, retrying resume", {
|
|
378
|
+
sessionId: poisonSessionId,
|
|
379
|
+
corrected: scrub.corrected,
|
|
380
|
+
stubbed: scrub.stubbed,
|
|
381
|
+
cacheStripped: scrub.cacheStripped
|
|
382
|
+
});
|
|
383
|
+
this.emit("agent-event", {
|
|
384
|
+
type: "resume_failed",
|
|
385
|
+
resumeSessionId: poisonSessionId,
|
|
386
|
+
reason: "jsonl_poisoned"
|
|
387
|
+
});
|
|
388
|
+
const plural = (n) => n === 1 ? "" : "s";
|
|
389
|
+
const repairs = [];
|
|
390
|
+
if (scrub.corrected > 0)
|
|
391
|
+
repairs.push(`${scrub.corrected} media type${plural(scrub.corrected)} corrected`);
|
|
392
|
+
if (scrub.stubbed > 0)
|
|
393
|
+
repairs.push(`${scrub.stubbed} image${plural(scrub.stubbed)} removed`);
|
|
394
|
+
if (scrub.cacheStripped > 0)
|
|
395
|
+
repairs.push(
|
|
396
|
+
`${scrub.cacheStripped} malformed block${plural(scrub.cacheStripped)} cleaned`
|
|
397
|
+
);
|
|
398
|
+
this.emit("agent-event", {
|
|
399
|
+
type: "error",
|
|
400
|
+
error: `Recovered corrupt data in the conversation history (${repairs.join(", ")}). Retrying \u2014 earlier context is preserved.`,
|
|
401
|
+
fatal: false
|
|
402
|
+
});
|
|
403
|
+
this.query = null;
|
|
404
|
+
this.turnResolve = null;
|
|
405
|
+
this.turnReject = null;
|
|
406
|
+
this.running = false;
|
|
407
|
+
retrying = true;
|
|
408
|
+
return this.prompt(message, _retryCount + 1);
|
|
409
|
+
}
|
|
410
|
+
this.log.warn("poisoned-transcript error but scrub found nothing to repair", {
|
|
411
|
+
sessionId: poisonSessionId,
|
|
412
|
+
filePath: scrub.filePath
|
|
413
|
+
});
|
|
414
|
+
}
|
|
204
415
|
const isAuthError = err instanceof AuthError && _retryCount === 0;
|
|
205
416
|
if (isAuthError && this.config.onAuthError) {
|
|
206
417
|
this.log.info("auth error caught; invoking onAuthError refresh callback");
|