@murphai/murph 0.2.6 → 0.2.7
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 +104 -0
- package/README.md +1 -1
- package/config.schema.json +4 -12
- package/dist/commands/export-intake-read-helpers.d.ts +1 -1
- package/dist/commands/knowledge.js +1 -1
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js +5 -5
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/route.js +4 -4
- package/dist/commands/route.js.map +1 -1
- package/dist/incur.generated.d.ts +0 -2
- package/dist/incur.generated.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/mapbox-route-client.d.ts +17 -0
- package/dist/mapbox-route-client.d.ts.map +1 -0
- package/dist/mapbox-route-client.js +51 -0
- package/dist/mapbox-route-client.js.map +1 -0
- package/dist/mapbox-route-contracts.d.ts +277 -0
- package/dist/mapbox-route-contracts.d.ts.map +1 -0
- package/dist/mapbox-route-contracts.js +145 -0
- package/dist/mapbox-route-contracts.js.map +1 -0
- package/dist/mapbox-route-directions.d.ts +11 -0
- package/dist/mapbox-route-directions.d.ts.map +1 -0
- package/dist/mapbox-route-directions.js +55 -0
- package/dist/mapbox-route-directions.js.map +1 -0
- package/dist/mapbox-route-elevation.d.ts +10 -0
- package/dist/mapbox-route-elevation.d.ts.map +1 -0
- package/dist/mapbox-route-elevation.js +186 -0
- package/dist/mapbox-route-elevation.js.map +1 -0
- package/dist/mapbox-route-points.d.ts +14 -0
- package/dist/mapbox-route-points.d.ts.map +1 -0
- package/dist/mapbox-route-points.js +236 -0
- package/dist/mapbox-route-points.js.map +1 -0
- package/dist/mapbox-route.d.ts +13 -0
- package/dist/mapbox-route.d.ts.map +1 -0
- package/dist/mapbox-route.js +119 -0
- package/dist/mapbox-route.js.map +1 -0
- package/dist/vault-cli-command-manifest.d.ts +20 -13
- package/dist/vault-cli-command-manifest.d.ts.map +1 -1
- package/dist/vault-cli-command-manifest.js +4 -4
- package/dist/vault-cli-command-manifest.js.map +1 -1
- package/dist/vault-cli.d.ts.map +1 -1
- package/dist/vault-cli.js +7 -1
- package/dist/vault-cli.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +15 -3
- package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js +1 -0
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/commands/assistant.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js +10 -15
- package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts +32 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js +93 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/auto-reply-channels.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +6 -25
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +19 -23
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/runtime-lock.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/runtime-lock.js +17 -11
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/runtime-lock.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts +5 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js +86 -48
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/startup-recovery.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js +2 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +20 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts +1 -13
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js +6 -111
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-binding.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js +11 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-config.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts +0 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js +13 -82
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js +26 -9
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-turn-runner.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js +133 -32
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/openai-compatible.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js +6 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/registry.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts +14 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js +51 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/rich-content-routing.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js +0 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts +13 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js +7 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js +1 -36
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.js +8 -9
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +14 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js +9 -11
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.d.ts +45 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.js +112 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/config.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.d.ts +22 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.js +136 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/content.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.d.ts +12 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.js +248 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/html.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.d.ts +10 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.js +280 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/network.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.d.ts +18 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.js +221 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch/response.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.d.ts +5 -58
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.js +11 -859
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-fetch.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-pdf-read.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-pdf-read.js +5 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/web-pdf-read.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts +19 -25
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js +14 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/capability-definitions.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js +88 -20
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/execution-adapters.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/policy-wrappers.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/policy-wrappers.js +87 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/policy-wrappers.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-state.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-state.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-state.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts +0 -2
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.js +0 -2
- package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts +1 -2
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js +0 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js +124 -104
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge.d.ts +7 -3
- package/node_modules/@murphai/assistant-engine/dist/knowledge.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge.js +7 -2
- package/node_modules/@murphai/assistant-engine/dist/knowledge.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/model-harness.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/model-harness.js +31 -14
- package/node_modules/@murphai/assistant-engine/dist/model-harness.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/package.json +2 -2
- package/node_modules/@murphai/assistantd/README.md +1 -1
- package/node_modules/@murphai/assistantd/dist/config.d.ts.map +1 -1
- package/node_modules/@murphai/assistantd/dist/config.js +5 -6
- package/node_modules/@murphai/assistantd/dist/config.js.map +1 -1
- package/node_modules/@murphai/assistantd/dist/http.d.ts +6 -1
- package/node_modules/@murphai/assistantd/dist/http.d.ts.map +1 -1
- package/node_modules/@murphai/assistantd/dist/http.js +28 -24
- package/node_modules/@murphai/assistantd/dist/http.js.map +1 -1
- package/node_modules/@murphai/assistantd/dist/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistantd/dist/service.js +2 -1
- package/node_modules/@murphai/assistantd/dist/service.js.map +1 -1
- package/node_modules/@murphai/assistantd/package.json +1 -1
- package/node_modules/@murphai/core/dist/audit.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/audit.js +10 -4
- package/node_modules/@murphai/core/dist/audit.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/vault-summary.js +48 -38
- package/node_modules/@murphai/core/dist/domains/vault-summary.js.map +1 -1
- package/node_modules/@murphai/core/dist/index.d.ts +2 -2
- package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/index.js +1 -1
- package/node_modules/@murphai/core/dist/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/jsonl.d.ts +0 -5
- package/node_modules/@murphai/core/dist/jsonl.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/jsonl.js +1 -12
- package/node_modules/@murphai/core/dist/jsonl.js.map +1 -1
- package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/memory.js +83 -63
- package/node_modules/@murphai/core/dist/memory.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.d.ts +38 -0
- package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.js +221 -0
- package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.js.map +1 -0
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts +1 -0
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js +48 -2
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/index.d.ts +3 -1
- package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/operations/index.js +2 -1
- package/node_modules/@murphai/core/dist/operations/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/write-batch.js +2 -2
- package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
- package/node_modules/@murphai/core/dist/preferences.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/preferences.js +71 -86
- package/node_modules/@murphai/core/dist/preferences.js.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.d.ts +3 -3
- package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.js +103 -65
- package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
- package/node_modules/@murphai/core/dist/raw.d.ts +1 -1
- package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -1
- package/node_modules/@murphai/core/package.json +1 -1
- package/node_modules/@murphai/device-syncd/README.md +2 -0
- package/node_modules/@murphai/device-syncd/dist/bin.js +73 -15
- package/node_modules/@murphai/device-syncd/dist/bin.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.js +18 -9
- package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +2 -26
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +5 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +48 -8
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/http.d.ts +0 -1
- package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/http.js +65 -52
- package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js +1 -9
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +1 -12
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +2 -3
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js +83 -48
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.js +4 -2
- package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/shared.d.ts +1 -0
- package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/shared.js +3 -0
- package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +31 -0
- package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store/jobs.js +207 -0
- package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +9 -0
- package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store/schema.js +116 -0
- package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.d.ts +10 -0
- package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js +76 -0
- package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store.d.ts +2 -6
- package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.js +29 -363
- package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.d.ts +19 -5
- package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.js +4 -1
- package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
- package/node_modules/@murphai/gateway-local/dist/store/schema.d.ts +1 -1
- package/node_modules/@murphai/gateway-local/dist/store/schema.js +1 -1
- package/node_modules/@murphai/gateway-local/package.json +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/garmin.js +9 -4
- package/node_modules/@murphai/importers/dist/device-providers/garmin.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/oura.js +10 -6
- package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts +8 -1
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +94 -3
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js +9 -3
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -1
- package/node_modules/@murphai/importers/package.json +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js +4 -4
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js.map +1 -1
- package/node_modules/@murphai/inbox-services/package.json +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js +2 -1
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist.js +31 -29
- package/node_modules/@murphai/inboxd/dist/indexing/persist.js.map +1 -1
- package/node_modules/@murphai/inboxd/package.json +1 -1
- package/node_modules/@murphai/messaging-ingress/README.md +6 -0
- package/node_modules/@murphai/messaging-ingress/dist/index.d.ts +0 -1
- package/node_modules/@murphai/messaging-ingress/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/index.js +0 -1
- package/node_modules/@murphai/messaging-ingress/dist/index.js.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/telegram-types.d.ts +116 -0
- package/node_modules/@murphai/messaging-ingress/dist/telegram-types.d.ts.map +1 -0
- package/node_modules/@murphai/messaging-ingress/dist/telegram-types.js +2 -0
- package/node_modules/@murphai/messaging-ingress/dist/telegram-types.js.map +1 -0
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.d.ts +2 -116
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.d.ts.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.js +21 -10
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook.js.map +1 -1
- package/node_modules/@murphai/messaging-ingress/package.json +4 -4
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +68 -0
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js +1 -0
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts +13 -1
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js +63 -14
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/shared.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/shared.js +5 -13
- package/node_modules/@murphai/operator-config/dist/assistant/shared.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +45 -0
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts.map +1 -0
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js +198 -0
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js.map +1 -0
- package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts +26 -0
- package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-backend.js +6 -0
- package/node_modules/@murphai/operator-config/dist/assistant-backend.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +736 -26
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js +58 -9
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-daemon/paths.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-daemon/paths.js +43 -5
- package/node_modules/@murphai/operator-config/dist/device-daemon/paths.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts +2 -0
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js +50 -5
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/index.d.ts +0 -1
- package/node_modules/@murphai/operator-config/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/index.js +0 -1
- package/node_modules/@murphai/operator-config/dist/index.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +53 -1
- package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts +40 -2
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js +2 -1
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +53 -33
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +26 -42
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/package.json +7 -7
- package/node_modules/@murphai/parsers/dist/shared.d.ts +1 -0
- package/node_modules/@murphai/parsers/dist/shared.d.ts.map +1 -1
- package/node_modules/@murphai/parsers/dist/shared.js +44 -3
- package/node_modules/@murphai/parsers/dist/shared.js.map +1 -1
- package/node_modules/@murphai/query/dist/index.d.ts +2 -1
- package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/index.js +2 -1
- package/node_modules/@murphai/query/dist/index.js.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts +1 -1
- package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-graph.d.ts +0 -29
- package/node_modules/@murphai/query/dist/knowledge-graph.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-graph.js +1 -7
- package/node_modules/@murphai/query/dist/knowledge-graph.js.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-search.d.ts +29 -1
- package/node_modules/@murphai/query/dist/knowledge-search.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-search.js +5 -0
- package/node_modules/@murphai/query/dist/knowledge-search.js.map +1 -1
- package/node_modules/@murphai/query/package.json +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +0 -4
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +0 -4
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js +1 -1
- package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/local-state-files.js +20 -8
- package/node_modules/@murphai/runtime-state/dist/local-state-files.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/locks.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/locks.js +234 -87
- package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts +19 -0
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js +106 -9
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +1 -0
- package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/node/index.js +1 -0
- package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.js +20 -0
- package/node_modules/@murphai/runtime-state/dist/node/loopback-control-plane-auth.js.map +1 -0
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js +2 -0
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant.js +34 -14
- package/node_modules/@murphai/setup-cli/dist/setup-assistant.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-cli.js +8 -17
- package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js +30 -97
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.js +7 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts +11 -1
- package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js +18 -3
- package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts +5 -5
- package/node_modules/@murphai/vault-usecases/dist/health-cli-method-types.d.ts +2 -2
- package/node_modules/@murphai/vault-usecases/dist/health-cli-method-types.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts +5 -5
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +5 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +2 -36
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js +15 -3
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js +86 -5
- package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts +1 -14
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +3 -3
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +2 -34
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +18 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts +1 -14
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +3 -3
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts +10 -11
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +44 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +7 -7
- package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +1 -44
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.js +28 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts +5 -5
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js +5 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/package.json +1 -1
- package/package.json +4 -4
- package/dist/knowledge-cli-contracts.d.ts +0 -3
- package/dist/knowledge-cli-contracts.d.ts.map +0 -1
- package/dist/knowledge-cli-contracts.js +0 -2
- package/dist/knowledge-cli-contracts.js.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.d.ts +0 -2
- package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.d.ts.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.js +0 -2
- package/node_modules/@murphai/assistant-engine/dist/knowledge/contracts.js.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/mapbox-route.d.ts +0 -142
- package/node_modules/@murphai/assistant-engine/dist/mapbox-route.d.ts.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/mapbox-route.js +0 -670
- package/node_modules/@murphai/assistant-engine/dist/mapbox-route.js.map +0 -1
- package/node_modules/@murphai/operator-config/dist/knowledge-contracts.d.ts +0 -86
- package/node_modules/@murphai/operator-config/dist/knowledge-contracts.d.ts.map +0 -1
- package/node_modules/@murphai/operator-config/dist/knowledge-contracts.js +0 -2
- package/node_modules/@murphai/operator-config/dist/knowledge-contracts.js.map +0 -1
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { lookup } from 'node:dns/promises';
|
|
2
|
+
import { VaultCliError } from '@murphai/operator-config/vault-cli-errors';
|
|
3
|
+
import { normalizeNullableString } from '../shared.js';
|
|
4
|
+
export const assistantWebFetchExtractModeValues = [
|
|
5
|
+
'markdown',
|
|
6
|
+
'text',
|
|
7
|
+
];
|
|
8
|
+
export const assistantWebFetchEnvKeys = [
|
|
9
|
+
'MURPH_WEB_FETCH_ENABLED',
|
|
10
|
+
'MURPH_WEB_FETCH_MAX_CHARS',
|
|
11
|
+
'MURPH_WEB_FETCH_MAX_RESPONSE_BYTES',
|
|
12
|
+
'MURPH_WEB_FETCH_TIMEOUT_MS',
|
|
13
|
+
'MURPH_WEB_FETCH_MAX_REDIRECTS',
|
|
14
|
+
];
|
|
15
|
+
const ASSISTANT_WEB_FETCH_DEFAULT_MAX_CHARS = 12_000;
|
|
16
|
+
const ASSISTANT_WEB_FETCH_MAX_CHARS = 40_000;
|
|
17
|
+
const ASSISTANT_WEB_FETCH_DEFAULT_MAX_RESPONSE_BYTES = 1_000_000;
|
|
18
|
+
const ASSISTANT_WEB_FETCH_MAX_RESPONSE_BYTES = 5_000_000;
|
|
19
|
+
const ASSISTANT_WEB_FETCH_DEFAULT_TIMEOUT_MS = 15_000;
|
|
20
|
+
const ASSISTANT_WEB_FETCH_MIN_TIMEOUT_MS = 1_000;
|
|
21
|
+
const ASSISTANT_WEB_FETCH_MAX_TIMEOUT_MS = 60_000;
|
|
22
|
+
const ASSISTANT_WEB_FETCH_DEFAULT_MAX_REDIRECTS = 5;
|
|
23
|
+
const ASSISTANT_WEB_FETCH_MAX_REDIRECTS = 10;
|
|
24
|
+
export function resolveAssistantWebFetchEnabled(env = process.env) {
|
|
25
|
+
if (typeof globalThis.Headers !== 'function' || typeof globalThis.Response !== 'function') {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const raw = normalizeNullableString(env.MURPH_WEB_FETCH_ENABLED);
|
|
29
|
+
if (!raw) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return ['1', 'true', 'yes', 'on', 'enabled'].includes(raw.toLowerCase());
|
|
33
|
+
}
|
|
34
|
+
export function resolveAssistantWebFetchMaxChars(env) {
|
|
35
|
+
return readAssistantBoundedIntegerEnv({
|
|
36
|
+
env,
|
|
37
|
+
key: 'MURPH_WEB_FETCH_MAX_CHARS',
|
|
38
|
+
fallback: ASSISTANT_WEB_FETCH_DEFAULT_MAX_CHARS,
|
|
39
|
+
min: 1,
|
|
40
|
+
max: ASSISTANT_WEB_FETCH_MAX_CHARS,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export function createAssistantWebFetchRuntimeContext(env) {
|
|
44
|
+
if (!resolveAssistantWebFetchEnabled(env)) {
|
|
45
|
+
throw new VaultCliError('WEB_FETCH_DISABLED', 'web.fetch is disabled in this runtime.');
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
lookupImplementation: lookup,
|
|
49
|
+
timeoutMs: resolveAssistantWebFetchTimeoutMs(env),
|
|
50
|
+
maxResponseBytes: resolveAssistantWebFetchMaxResponseBytes(env),
|
|
51
|
+
maxRedirects: resolveAssistantWebFetchMaxRedirects(env),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export function normalizeAssistantWebRequestUrl(url) {
|
|
55
|
+
const parsedUrl = new URL(url);
|
|
56
|
+
parsedUrl.hash = '';
|
|
57
|
+
const normalizedHostname = normalizeAssistantWebHostname(parsedUrl.hostname);
|
|
58
|
+
if (normalizedHostname) {
|
|
59
|
+
parsedUrl.hostname = normalizedHostname;
|
|
60
|
+
}
|
|
61
|
+
return parsedUrl;
|
|
62
|
+
}
|
|
63
|
+
export function normalizeAssistantWebHostname(value) {
|
|
64
|
+
const normalized = normalizeNullableString(value)?.toLowerCase();
|
|
65
|
+
if (!normalized) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
const unwrapped = normalized.startsWith('[') && normalized.endsWith(']')
|
|
69
|
+
? normalized.slice(1, -1)
|
|
70
|
+
: normalized;
|
|
71
|
+
const trimmed = unwrapped.replace(/\.+$/u, '');
|
|
72
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
73
|
+
}
|
|
74
|
+
function resolveAssistantWebFetchMaxResponseBytes(env) {
|
|
75
|
+
return readAssistantBoundedIntegerEnv({
|
|
76
|
+
env,
|
|
77
|
+
key: 'MURPH_WEB_FETCH_MAX_RESPONSE_BYTES',
|
|
78
|
+
fallback: ASSISTANT_WEB_FETCH_DEFAULT_MAX_RESPONSE_BYTES,
|
|
79
|
+
min: 16_384,
|
|
80
|
+
max: ASSISTANT_WEB_FETCH_MAX_RESPONSE_BYTES,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function resolveAssistantWebFetchTimeoutMs(env) {
|
|
84
|
+
return readAssistantBoundedIntegerEnv({
|
|
85
|
+
env,
|
|
86
|
+
key: 'MURPH_WEB_FETCH_TIMEOUT_MS',
|
|
87
|
+
fallback: ASSISTANT_WEB_FETCH_DEFAULT_TIMEOUT_MS,
|
|
88
|
+
min: ASSISTANT_WEB_FETCH_MIN_TIMEOUT_MS,
|
|
89
|
+
max: ASSISTANT_WEB_FETCH_MAX_TIMEOUT_MS,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function resolveAssistantWebFetchMaxRedirects(env) {
|
|
93
|
+
return readAssistantBoundedIntegerEnv({
|
|
94
|
+
env,
|
|
95
|
+
key: 'MURPH_WEB_FETCH_MAX_REDIRECTS',
|
|
96
|
+
fallback: ASSISTANT_WEB_FETCH_DEFAULT_MAX_REDIRECTS,
|
|
97
|
+
min: 0,
|
|
98
|
+
max: ASSISTANT_WEB_FETCH_MAX_REDIRECTS,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function readAssistantBoundedIntegerEnv(input) {
|
|
102
|
+
const raw = normalizeNullableString(input.env[input.key]);
|
|
103
|
+
if (!raw) {
|
|
104
|
+
return input.fallback;
|
|
105
|
+
}
|
|
106
|
+
const numeric = Number(raw);
|
|
107
|
+
if (!Number.isFinite(numeric)) {
|
|
108
|
+
return input.fallback;
|
|
109
|
+
}
|
|
110
|
+
return Math.max(input.min, Math.min(Math.trunc(numeric), input.max));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/assistant/web-fetch/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AssistantWebFetchExtractMode, AssistantWebFetchResponse } from './config.js';
|
|
2
|
+
export declare function extractAssistantWebResponse(input: {
|
|
3
|
+
contentType: string | null;
|
|
4
|
+
extractMode: AssistantWebFetchExtractMode;
|
|
5
|
+
finalUrl: URL;
|
|
6
|
+
maxChars: number;
|
|
7
|
+
maxResponseBytes: number;
|
|
8
|
+
response: Response;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
extractor: AssistantWebFetchResponse['extractor'];
|
|
11
|
+
text: string;
|
|
12
|
+
title: string | null;
|
|
13
|
+
truncated: boolean;
|
|
14
|
+
warnings: string[];
|
|
15
|
+
}>;
|
|
16
|
+
export declare function truncateAssistantWebText(input: string, maxChars: number): {
|
|
17
|
+
text: string;
|
|
18
|
+
truncated: boolean;
|
|
19
|
+
};
|
|
20
|
+
export declare function resolveAssistantWebMediaType(contentType: string | null): string | null;
|
|
21
|
+
export declare function isAssistantWebPdfContentType(contentType: string | null): boolean;
|
|
22
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../src/assistant/web-fetch/content.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,aAAa,CAAA;AAOpB,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,4BAA4B,CAAA;IACzC,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,QAAQ,CAAA;CACnB,GAAG,OAAO,CAAC;IACV,SAAS,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAA;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAC,CA2DD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,CAYA;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM,GAAG,IAAI,CAOf;AAkCD,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAET"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { VaultCliError } from '@murphai/operator-config/vault-cli-errors';
|
|
2
|
+
import { cancelAssistantWebResponseBody, readAssistantWebResponseText, } from './response.js';
|
|
3
|
+
import { extractAssistantWebHtml } from './html.js';
|
|
4
|
+
export async function extractAssistantWebResponse(input) {
|
|
5
|
+
if (isAssistantWebPdfContentType(input.contentType)) {
|
|
6
|
+
await cancelAssistantWebResponseBody(input.response);
|
|
7
|
+
throw new VaultCliError('WEB_FETCH_PDF_UNSUPPORTED', 'web.fetch does not parse PDFs. Use web.pdf.read for PDF content.');
|
|
8
|
+
}
|
|
9
|
+
if (isAssistantWebLikelyBinaryContentType(input.contentType)) {
|
|
10
|
+
await cancelAssistantWebResponseBody(input.response);
|
|
11
|
+
throw new VaultCliError('WEB_FETCH_CONTENT_TYPE_UNSUPPORTED', `web.fetch cannot extract readable text from ${input.contentType}.`);
|
|
12
|
+
}
|
|
13
|
+
const responseText = await readAssistantWebResponseText({
|
|
14
|
+
response: input.response,
|
|
15
|
+
maxResponseBytes: input.maxResponseBytes,
|
|
16
|
+
});
|
|
17
|
+
const warnings = [...responseText.warnings];
|
|
18
|
+
let title = null;
|
|
19
|
+
let text = responseText.text;
|
|
20
|
+
let extractor = 'raw-text';
|
|
21
|
+
if (isAssistantWebHtmlContentType(input.contentType)) {
|
|
22
|
+
const extractedHtml = extractAssistantWebHtml({
|
|
23
|
+
baseUrl: input.finalUrl,
|
|
24
|
+
extractMode: input.extractMode,
|
|
25
|
+
html: responseText.text,
|
|
26
|
+
});
|
|
27
|
+
title = extractedHtml.title;
|
|
28
|
+
text = extractedHtml.text;
|
|
29
|
+
extractor = extractedHtml.extractor;
|
|
30
|
+
warnings.push(...extractedHtml.warnings);
|
|
31
|
+
}
|
|
32
|
+
else if (isAssistantWebJsonContentType(input.contentType)) {
|
|
33
|
+
extractor = 'json';
|
|
34
|
+
const normalizedJson = normalizeAssistantWebJsonText(responseText.text);
|
|
35
|
+
text = normalizedJson.text;
|
|
36
|
+
warnings.push(...normalizedJson.warnings);
|
|
37
|
+
}
|
|
38
|
+
const truncated = responseText.truncated;
|
|
39
|
+
const bounded = truncateAssistantWebText(text, input.maxChars);
|
|
40
|
+
if (bounded.truncated) {
|
|
41
|
+
warnings.push(`Trimmed extracted content to ${input.maxChars} characters for model safety.`);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
extractor,
|
|
45
|
+
title,
|
|
46
|
+
text: bounded.text,
|
|
47
|
+
truncated: truncated || bounded.truncated,
|
|
48
|
+
warnings,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function truncateAssistantWebText(input, maxChars) {
|
|
52
|
+
if (input.length <= maxChars) {
|
|
53
|
+
return {
|
|
54
|
+
text: input,
|
|
55
|
+
truncated: false,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
text: input.slice(0, maxChars).trimEnd(),
|
|
60
|
+
truncated: true,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export function resolveAssistantWebMediaType(contentType) {
|
|
64
|
+
const normalized = contentType?.trim();
|
|
65
|
+
if (!normalized) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
return normalized.split(';', 1)[0]?.trim().toLowerCase() ?? null;
|
|
69
|
+
}
|
|
70
|
+
function normalizeAssistantWebJsonText(input) {
|
|
71
|
+
try {
|
|
72
|
+
return {
|
|
73
|
+
text: `${JSON.stringify(JSON.parse(input), null, 2)}\n`,
|
|
74
|
+
warnings: [],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return {
|
|
79
|
+
text: normalizeAssistantWebText(input),
|
|
80
|
+
warnings: [
|
|
81
|
+
'Response declared JSON but could not be parsed cleanly; returning normalized text instead.',
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function isAssistantWebHtmlContentType(contentType) {
|
|
87
|
+
return contentType === 'text/html' || contentType === 'application/xhtml+xml';
|
|
88
|
+
}
|
|
89
|
+
function isAssistantWebJsonContentType(contentType) {
|
|
90
|
+
return contentType === 'application/json' ||
|
|
91
|
+
Boolean(contentType?.endsWith('+json'));
|
|
92
|
+
}
|
|
93
|
+
export function isAssistantWebPdfContentType(contentType) {
|
|
94
|
+
return contentType === 'application/pdf' || contentType === 'application/x-pdf';
|
|
95
|
+
}
|
|
96
|
+
function isAssistantWebLikelyBinaryContentType(contentType) {
|
|
97
|
+
if (!contentType) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
if (isAssistantWebSupportedTextContentType(contentType)) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
return contentType.startsWith('image/') ||
|
|
104
|
+
contentType.startsWith('audio/') ||
|
|
105
|
+
contentType.startsWith('video/') ||
|
|
106
|
+
contentType.startsWith('font/') ||
|
|
107
|
+
contentType.startsWith('model/') ||
|
|
108
|
+
contentType.startsWith('multipart/') ||
|
|
109
|
+
contentType.startsWith('application/');
|
|
110
|
+
}
|
|
111
|
+
function isAssistantWebSupportedTextContentType(contentType) {
|
|
112
|
+
return contentType.startsWith('text/') ||
|
|
113
|
+
isAssistantWebHtmlContentType(contentType) ||
|
|
114
|
+
isAssistantWebJsonContentType(contentType) ||
|
|
115
|
+
contentType === 'application/ecmascript' ||
|
|
116
|
+
contentType === 'application/graphql' ||
|
|
117
|
+
contentType === 'application/javascript' ||
|
|
118
|
+
contentType === 'application/xml' ||
|
|
119
|
+
contentType === 'application/x-javascript' ||
|
|
120
|
+
contentType === 'application/x-toml' ||
|
|
121
|
+
contentType === 'application/x-www-form-urlencoded' ||
|
|
122
|
+
contentType === 'application/x-yaml' ||
|
|
123
|
+
contentType === 'application/yaml' ||
|
|
124
|
+
contentType === 'application/toml' ||
|
|
125
|
+
contentType.endsWith('+xml') ||
|
|
126
|
+
contentType === 'image/svg+xml';
|
|
127
|
+
}
|
|
128
|
+
function normalizeAssistantWebText(input) {
|
|
129
|
+
return input
|
|
130
|
+
.replace(/\r\n?/gu, '\n')
|
|
131
|
+
.replace(/[ \t]+\n/gu, '\n')
|
|
132
|
+
.replace(/\n{3,}/gu, '\n\n')
|
|
133
|
+
.replace(/[ \t]{2,}/gu, ' ')
|
|
134
|
+
.trim();
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/assistant/web-fetch/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AssistantWebFetchExtractMode, AssistantWebFetchResponse } from './config.js';
|
|
2
|
+
export declare function extractAssistantWebHtml(input: {
|
|
3
|
+
baseUrl?: URL | null;
|
|
4
|
+
extractMode: AssistantWebFetchExtractMode;
|
|
5
|
+
html: string;
|
|
6
|
+
}): {
|
|
7
|
+
extractor: AssistantWebFetchResponse['extractor'];
|
|
8
|
+
text: string;
|
|
9
|
+
title: string | null;
|
|
10
|
+
warnings: string[];
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=html.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/assistant/web-fetch/html.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,aAAa,CAAA;AAuBpB,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI,CAAA;IACpB,WAAW,EAAE,4BAA4B,CAAA;IACzC,IAAI,EAAE,MAAM,CAAA;CACb,GAAG;IACF,SAAS,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAA;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CA0DA"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { Readability } from '@mozilla/readability';
|
|
2
|
+
import { DOMParser } from 'linkedom';
|
|
3
|
+
import { normalizeNullableString } from '../shared.js';
|
|
4
|
+
import { normalizeAssistantWebRequestUrl } from './config.js';
|
|
5
|
+
const ASSISTANT_WEB_FETCH_TEXT_NODE = 3;
|
|
6
|
+
const ASSISTANT_WEB_FETCH_ELEMENT_NODE = 1;
|
|
7
|
+
export function extractAssistantWebHtml(input) {
|
|
8
|
+
const document = parseAssistantHtmlDocument(input.html);
|
|
9
|
+
const renderContext = {
|
|
10
|
+
baseUrl: input.baseUrl ?? null,
|
|
11
|
+
};
|
|
12
|
+
const article = parseAssistantHtmlWithReadability(document);
|
|
13
|
+
const warnings = [];
|
|
14
|
+
if (article) {
|
|
15
|
+
const articleText = normalizeAssistantText(article.textContent ?? '');
|
|
16
|
+
const markdownText = normalizeAssistantMarkdown(renderAssistantHtmlToMarkdown(parseAssistantHtmlFragment(normalizeNullableString(article.content) ?? ''), renderContext));
|
|
17
|
+
if (input.extractMode === 'markdown' && markdownText.length === 0 && articleText.length > 0) {
|
|
18
|
+
warnings.push('Readable article markdown conversion was empty; falling back to normalized article text.');
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
extractor: 'readability',
|
|
22
|
+
title: normalizeNullableString(article.title) ??
|
|
23
|
+
resolveAssistantHtmlDocumentTitle(document),
|
|
24
|
+
text: input.extractMode === 'markdown'
|
|
25
|
+
? (markdownText || articleText)
|
|
26
|
+
: articleText,
|
|
27
|
+
warnings,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
warnings.push('Readable article extraction failed; falling back to a simpler HTML cleanup path.');
|
|
31
|
+
const fallbackText = normalizeAssistantText(document.body?.textContent ?? '');
|
|
32
|
+
const fallbackMarkdown = normalizeAssistantMarkdown(renderAssistantHtmlToMarkdown(document, renderContext));
|
|
33
|
+
if (input.extractMode === 'markdown' && fallbackMarkdown.length === 0 && fallbackText.length > 0) {
|
|
34
|
+
warnings.push('Fallback HTML markdown conversion was empty; returning normalized page text instead.');
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
extractor: 'raw-html',
|
|
38
|
+
title: resolveAssistantHtmlDocumentTitle(document),
|
|
39
|
+
text: input.extractMode === 'markdown'
|
|
40
|
+
? (fallbackMarkdown || fallbackText)
|
|
41
|
+
: fallbackText,
|
|
42
|
+
warnings,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function parseAssistantHtmlDocument(html) {
|
|
46
|
+
const document = new DOMParser().parseFromString(html, 'text/html');
|
|
47
|
+
for (const element of document.querySelectorAll('script, style, noscript, iframe, svg, canvas, form')) {
|
|
48
|
+
element.remove();
|
|
49
|
+
}
|
|
50
|
+
return document;
|
|
51
|
+
}
|
|
52
|
+
function parseAssistantHtmlFragment(htmlFragment) {
|
|
53
|
+
return parseAssistantHtmlDocument(`<!doctype html><html><body>${htmlFragment}</body></html>`);
|
|
54
|
+
}
|
|
55
|
+
function renderAssistantHtmlToMarkdown(document, context) {
|
|
56
|
+
return normalizeAssistantMarkdown(renderAssistantNodeToMarkdown(document.body, context));
|
|
57
|
+
}
|
|
58
|
+
function renderAssistantNodeToMarkdown(node, context) {
|
|
59
|
+
if (!node) {
|
|
60
|
+
return '';
|
|
61
|
+
}
|
|
62
|
+
if (node.nodeType === ASSISTANT_WEB_FETCH_TEXT_NODE) {
|
|
63
|
+
return escapeAssistantMarkdownText(node.textContent ?? '');
|
|
64
|
+
}
|
|
65
|
+
if (node.nodeType !== ASSISTANT_WEB_FETCH_ELEMENT_NODE) {
|
|
66
|
+
return '';
|
|
67
|
+
}
|
|
68
|
+
const tagName = node.nodeName.toLowerCase();
|
|
69
|
+
const childText = renderAssistantChildrenToMarkdown(node, context);
|
|
70
|
+
switch (tagName) {
|
|
71
|
+
case 'body':
|
|
72
|
+
case 'main':
|
|
73
|
+
case 'article':
|
|
74
|
+
case 'section':
|
|
75
|
+
case 'header':
|
|
76
|
+
case 'footer':
|
|
77
|
+
case 'nav':
|
|
78
|
+
case 'aside':
|
|
79
|
+
case 'div':
|
|
80
|
+
return `${childText}\n\n`;
|
|
81
|
+
case 'h1':
|
|
82
|
+
case 'h2':
|
|
83
|
+
case 'h3':
|
|
84
|
+
case 'h4':
|
|
85
|
+
case 'h5':
|
|
86
|
+
case 'h6': {
|
|
87
|
+
const level = Math.max(1, Math.min(Number(tagName.slice(1)) || 1, 6));
|
|
88
|
+
const heading = normalizeAssistantText(childText);
|
|
89
|
+
return heading ? `${'#'.repeat(level)} ${heading}\n\n` : '';
|
|
90
|
+
}
|
|
91
|
+
case 'p':
|
|
92
|
+
return childText.trim() ? `${childText.trim()}\n\n` : '';
|
|
93
|
+
case 'br':
|
|
94
|
+
return '\n';
|
|
95
|
+
case 'hr':
|
|
96
|
+
return '\n---\n\n';
|
|
97
|
+
case 'ul':
|
|
98
|
+
case 'ol':
|
|
99
|
+
return `${renderAssistantListToMarkdown(node, tagName === 'ol', context)}\n`;
|
|
100
|
+
case 'li': {
|
|
101
|
+
const text = normalizeAssistantMarkdownInline(childText);
|
|
102
|
+
return text ? `${text}\n` : '';
|
|
103
|
+
}
|
|
104
|
+
case 'pre': {
|
|
105
|
+
const code = normalizeTrailingWhitespace(node.textContent ?? '');
|
|
106
|
+
return code ? `\n\`\`\`\n${code}\n\`\`\`\n\n` : '';
|
|
107
|
+
}
|
|
108
|
+
case 'code': {
|
|
109
|
+
const text = normalizeAssistantText(node.textContent ?? '');
|
|
110
|
+
return text ? `\`${text}\`` : '';
|
|
111
|
+
}
|
|
112
|
+
case 'a': {
|
|
113
|
+
const text = normalizeAssistantMarkdownInline(childText);
|
|
114
|
+
const href = resolveAssistantMarkdownHref(node.getAttribute?.('href') ?? null, context.baseUrl);
|
|
115
|
+
if (!text) {
|
|
116
|
+
return '';
|
|
117
|
+
}
|
|
118
|
+
if (!href) {
|
|
119
|
+
return text;
|
|
120
|
+
}
|
|
121
|
+
return `[${text}](${href})`;
|
|
122
|
+
}
|
|
123
|
+
case 'strong':
|
|
124
|
+
case 'b': {
|
|
125
|
+
const text = normalizeAssistantMarkdownInline(childText);
|
|
126
|
+
return text ? `**${text}**` : '';
|
|
127
|
+
}
|
|
128
|
+
case 'em':
|
|
129
|
+
case 'i': {
|
|
130
|
+
const text = normalizeAssistantMarkdownInline(childText);
|
|
131
|
+
return text ? `_${text}_` : '';
|
|
132
|
+
}
|
|
133
|
+
case 'blockquote': {
|
|
134
|
+
const lines = normalizeAssistantText(childText)
|
|
135
|
+
.split('\n')
|
|
136
|
+
.filter((line) => line.length > 0);
|
|
137
|
+
return lines.length > 0
|
|
138
|
+
? `${lines.map((line) => `> ${line}`).join('\n')}\n\n`
|
|
139
|
+
: '';
|
|
140
|
+
}
|
|
141
|
+
case 'table':
|
|
142
|
+
return `${normalizeAssistantText(childText)}\n\n`;
|
|
143
|
+
default:
|
|
144
|
+
return childText;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function renderAssistantChildrenToMarkdown(node, context) {
|
|
148
|
+
if (!node.childNodes || node.childNodes.length === 0) {
|
|
149
|
+
return '';
|
|
150
|
+
}
|
|
151
|
+
let markdown = '';
|
|
152
|
+
for (const childNode of Array.from(node.childNodes)) {
|
|
153
|
+
markdown += renderAssistantNodeToMarkdown(childNode, context);
|
|
154
|
+
}
|
|
155
|
+
return markdown;
|
|
156
|
+
}
|
|
157
|
+
function renderAssistantListToMarkdown(node, ordered, context) {
|
|
158
|
+
if (!node.childNodes || node.childNodes.length === 0) {
|
|
159
|
+
return '';
|
|
160
|
+
}
|
|
161
|
+
let markdown = '';
|
|
162
|
+
let orderedListIndex = 1;
|
|
163
|
+
for (const childNode of Array.from(node.childNodes)) {
|
|
164
|
+
if (childNode.nodeType !== ASSISTANT_WEB_FETCH_ELEMENT_NODE) {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (childNode.nodeName.toLowerCase() !== 'li') {
|
|
168
|
+
markdown += renderAssistantNodeToMarkdown(childNode, context);
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const itemText = normalizeAssistantMarkdownInline(renderAssistantChildrenToMarkdown(childNode, context));
|
|
172
|
+
if (!itemText) {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
markdown += ordered
|
|
176
|
+
? `${orderedListIndex}. ${itemText}\n`
|
|
177
|
+
: `- ${itemText}\n`;
|
|
178
|
+
orderedListIndex += 1;
|
|
179
|
+
}
|
|
180
|
+
return markdown;
|
|
181
|
+
}
|
|
182
|
+
function normalizeAssistantText(input) {
|
|
183
|
+
return input
|
|
184
|
+
.replace(/\r\n?/gu, '\n')
|
|
185
|
+
.replace(/[ \t]+\n/gu, '\n')
|
|
186
|
+
.replace(/\n{3,}/gu, '\n\n')
|
|
187
|
+
.replace(/[ \t]{2,}/gu, ' ')
|
|
188
|
+
.trim();
|
|
189
|
+
}
|
|
190
|
+
function normalizeAssistantMarkdown(input) {
|
|
191
|
+
return input
|
|
192
|
+
.replace(/\r\n?/gu, '\n')
|
|
193
|
+
.replace(/[ \t]+\n/gu, '\n')
|
|
194
|
+
.replace(/\n{3,}/gu, '\n\n')
|
|
195
|
+
.trim();
|
|
196
|
+
}
|
|
197
|
+
function normalizeAssistantMarkdownInline(input) {
|
|
198
|
+
return normalizeAssistantText(input).replace(/\n+/gu, ' ');
|
|
199
|
+
}
|
|
200
|
+
function resolveAssistantMarkdownHref(href, baseUrl) {
|
|
201
|
+
const normalized = normalizeNullableString(href);
|
|
202
|
+
if (!normalized) {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
const resolvedUrl = baseUrl
|
|
207
|
+
? new URL(normalized, baseUrl)
|
|
208
|
+
: new URL(normalized);
|
|
209
|
+
if (resolvedUrl.username || resolvedUrl.password) {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
const protocol = resolvedUrl.protocol.toLowerCase();
|
|
213
|
+
if (protocol !== 'http:' && protocol !== 'https:') {
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
return normalizeAssistantWebRequestUrl(resolvedUrl.toString()).toString();
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function parseAssistantHtmlWithReadability(document) {
|
|
223
|
+
const ReadabilityConstructor = Readability;
|
|
224
|
+
return new ReadabilityConstructor(document).parse();
|
|
225
|
+
}
|
|
226
|
+
function resolveAssistantHtmlDocumentTitle(document) {
|
|
227
|
+
if (typeof document.title === 'string') {
|
|
228
|
+
return normalizeNullableString(document.title);
|
|
229
|
+
}
|
|
230
|
+
if (document.title &&
|
|
231
|
+
typeof document.title === 'object' &&
|
|
232
|
+
'textContent' in document.title) {
|
|
233
|
+
const textContent = document.title.textContent;
|
|
234
|
+
return typeof textContent === 'string'
|
|
235
|
+
? normalizeNullableString(textContent)
|
|
236
|
+
: null;
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
function normalizeTrailingWhitespace(input) {
|
|
241
|
+
return input
|
|
242
|
+
.replace(/\r\n?/gu, '\n')
|
|
243
|
+
.replace(/\s+$/u, '');
|
|
244
|
+
}
|
|
245
|
+
function escapeAssistantMarkdownText(input) {
|
|
246
|
+
return input.replace(/([\\`*_{}\[\]()#+!|>~-])/gu, '\\$1');
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/assistant/web-fetch/html.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type AssistantWebFetchedResponse, type AssistantWebFetchRuntimeContext } from './config.js';
|
|
2
|
+
export declare function fetchAssistantWebResponse(input: {
|
|
3
|
+
acceptHeader?: string;
|
|
4
|
+
runtime: AssistantWebFetchRuntimeContext;
|
|
5
|
+
signal: AbortSignal;
|
|
6
|
+
toolName: string;
|
|
7
|
+
url: URL;
|
|
8
|
+
}): Promise<AssistantWebFetchedResponse>;
|
|
9
|
+
export declare function redactAssistantWebFetchUrl(url: URL): string;
|
|
10
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/assistant/web-fetch/network.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EAGrC,MAAM,aAAa,CAAA;AAyBpB,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,+BAA+B,CAAA;IACxC,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;CACT,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA4DvC;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAE3D"}
|