@murphai/murph 0.2.6 → 0.2.10
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 +185 -0
- package/README.md +1 -1
- package/config.schema.json +40 -15
- package/dist/cli-entry.d.ts.map +1 -1
- package/dist/cli-entry.js +7 -5
- package/dist/cli-entry.js.map +1 -1
- package/dist/commands/automation.d.ts +4 -8
- package/dist/commands/automation.d.ts.map +1 -1
- package/dist/commands/automation.js +2 -2
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/document.d.ts.map +1 -1
- package/dist/commands/document.js +1 -1
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/export-intake-read-helpers.d.ts +1 -1
- package/dist/commands/intervention.d.ts.map +1 -1
- package/dist/commands/intervention.js +1 -1
- package/dist/commands/intervention.js.map +1 -1
- package/dist/commands/knowledge.js +1 -1
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/meal.d.ts +1 -1
- package/dist/commands/meal.d.ts.map +1 -1
- package/dist/commands/meal.js +53 -3
- package/dist/commands/meal.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.d.ts.map +1 -1
- package/dist/commands/route.js +8 -8
- package/dist/commands/route.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +2 -1
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/workout.d.ts.map +1 -1
- package/dist/commands/workout.js +1 -1
- package/dist/commands/workout.js.map +1 -1
- package/dist/incur.generated.d.ts +9 -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-bootstrap.d.ts +1 -1
- package/dist/vault-cli-bootstrap.d.ts.map +1 -1
- package/dist/vault-cli-bootstrap.js +2 -2
- package/dist/vault-cli-bootstrap.js.map +1 -1
- package/dist/vault-cli-command-manifest.d.ts +23 -13
- package/dist/vault-cli-command-manifest.d.ts.map +1 -1
- package/dist/vault-cli-command-manifest.js +8 -4
- package/dist/vault-cli-command-manifest.js.map +1 -1
- package/dist/vault-cli.d.ts +6 -0
- package/dist/vault-cli.d.ts.map +1 -1
- package/dist/vault-cli.js +20 -3
- 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/channels/descriptors.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js +1 -16
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts +2 -12
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js +23 -43
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js +3 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/registry.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts.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/cron/notification-delivery.d.ts +6 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js +21 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/notification-delivery.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +0 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +67 -43
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.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/notification-turn.d.ts +25 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +201 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +38 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js +215 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js +77 -41
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +4 -201
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.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 +18 -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 +9 -0
- 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 +84 -32
- 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 +95 -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/redaction.d.ts +4 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js +3 -37
- package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js.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 +16 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service.js +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/service.js.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-ids.d.ts +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.js +3 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-ids.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js +9 -15
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.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 +10 -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 +44 -5
- 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 +7 -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 +24 -18
- 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 +22 -28
- 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 +49 -24
- 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/catalog-profiles.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.js +14 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools/catalog-profiles.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 +88 -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-cli-tools.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-tools.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/inbox-model-contracts.d.ts +1 -4
- package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/inbox-model-contracts.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/inbox-model-harness.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 +6 -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 +64 -26
- 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/automation.d.ts +1 -1
- package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/automation.js +13 -16
- package/node_modules/@murphai/core/dist/automation.js.map +1 -1
- package/node_modules/@murphai/core/dist/bank/foods.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/bank/foods.js +29 -0
- package/node_modules/@murphai/core/dist/bank/foods.js.map +1 -1
- package/node_modules/@murphai/core/dist/bank/types.d.ts +3 -1
- package/node_modules/@murphai/core/dist/bank/types.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/bank/types.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/mutations.d.ts +3 -2
- package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.js +6 -3
- package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
- package/node_modules/@murphai/core/dist/nutrition.d.ts +6 -0
- package/node_modules/@murphai/core/dist/nutrition.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/nutrition.js +69 -0
- package/node_modules/@murphai/core/dist/nutrition.js.map +1 -0
- 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 +6 -2
- 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/callback-redirect.d.ts +11 -0
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.js +51 -0
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/client.d.ts +21 -0
- package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/client.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 +27 -6
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/http.d.ts +1 -6
- package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/http.js +75 -78
- package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/index.d.ts +1 -0
- package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/index.js +1 -0
- package/node_modules/@murphai/device-syncd/dist/index.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 +3 -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 +105 -60
- 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 +5 -3
- 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/oauth-states.d.ts +2 -2
- package/node_modules/@murphai/device-syncd/dist/store/oauth-states.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js +20 -4
- package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js.map +1 -1
- 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 +90 -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 +4 -8
- package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.js +31 -365
- package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.d.ts +31 -28
- 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/device-syncd/package.json +4 -0
- 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/README.md +2 -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/index.d.ts +1 -1
- package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/index.js +1 -1
- package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts +2 -26
- package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist.js +269 -263
- package/node_modules/@murphai/inboxd/dist/indexing/persist.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/pipeline.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 +62 -14
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/redaction.d.ts +1 -0
- package/node_modules/@murphai/operator-config/dist/assistant/redaction.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/redaction.js +8 -2
- package/node_modules/@murphai/operator-config/dist/assistant/redaction.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 +203 -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 +742 -42
- 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 +86 -30
- 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/device-sync-client.d.ts +1 -22
- package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-sync-client.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 +12 -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/README.md +2 -0
- package/node_modules/@murphai/query/dist/automation.d.ts +1 -1
- package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/automation.js +7 -8
- package/node_modules/@murphai/query/dist/automation.js.map +1 -1
- package/node_modules/@murphai/query/dist/entity-families.d.ts +2 -0
- package/node_modules/@murphai/query/dist/entity-families.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/entity-families.js +20 -0
- package/node_modules/@murphai/query/dist/entity-families.js.map +1 -0
- package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.d.ts +1 -3
- package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.js +1 -4
- package/node_modules/@murphai/query/dist/health/bank-registry-query-metadata.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/registries.d.ts +6 -1
- package/node_modules/@murphai/query/dist/health/registries.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/registries.js.map +1 -1
- package/node_modules/@murphai/query/dist/index.d.ts +5 -2
- package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/index.js +4 -2
- 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/dist/meal-nutrition.d.ts +31 -0
- package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/meal-nutrition.js +127 -0
- package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -0
- package/node_modules/@murphai/query/dist/model.d.ts +0 -1
- package/node_modules/@murphai/query/dist/model.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/model.js +1 -19
- package/node_modules/@murphai/query/dist/model.js.map +1 -1
- package/node_modules/@murphai/query/package.json +6 -1
- package/node_modules/@murphai/runtime-state/README.md +2 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-ids.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-ids.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-ids.js +14 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-ids.js.map +1 -0
- 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/runtime-state/package.json +4 -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/operator-defaults.d.ts +27 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.d.ts.map +1 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.js +92 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/operator-defaults.js.map +1 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.d.ts +29 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.d.ts.map +1 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.js +306 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services/tool-provisioning.js.map +1 -0
- package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.js +27 -406
- 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/query-runtime.d.ts +10 -3
- package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/query-runtime.js +1 -2
- package/node_modules/@murphai/vault-usecases/dist/query-runtime.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/runtime.d.ts +1 -1
- package/node_modules/@murphai/vault-usecases/dist/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/runtime.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/runtime.js.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 +50 -26
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +23 -7
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +21 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.d.ts +2 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.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 +30 -9
- 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-measurement.d.ts +2 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.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/dist/usecases/workout.d.ts +2 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +73 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.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/dist/runner-vault-cli-bin.d.ts +0 -3
- package/dist/runner-vault-cli-bin.d.ts.map +0 -1
- package/dist/runner-vault-cli-bin.js +0 -8
- package/dist/runner-vault-cli-bin.js.map +0 -1
- package/dist/runner-vault-cli-command-manifest.d.ts +0 -9
- package/dist/runner-vault-cli-command-manifest.d.ts.map +0 -1
- package/dist/runner-vault-cli-command-manifest.js +0 -71
- package/dist/runner-vault-cli-command-manifest.js.map +0 -1
- package/dist/runner-vault-cli.d.ts +0 -10
- package/dist/runner-vault-cli.d.ts.map +0 -1
- package/dist/runner-vault-cli.js +0 -22
- package/dist/runner-vault-cli.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/core/dist/storage-spine.d.ts +0 -3
- package/node_modules/@murphai/core/dist/storage-spine.d.ts.map +0 -1
- package/node_modules/@murphai/core/dist/storage-spine.js +0 -3
- package/node_modules/@murphai/core/dist/storage-spine.js.map +0 -1
- package/node_modules/@murphai/operator-config/dist/assistant/state-ids.d.ts +0 -2
- package/node_modules/@murphai/operator-config/dist/assistant/state-ids.d.ts.map +0 -1
- package/node_modules/@murphai/operator-config/dist/assistant/state-ids.js +0 -7
- package/node_modules/@murphai/operator-config/dist/assistant/state-ids.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
- package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.d.ts +0 -3
- package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.d.ts.map +0 -1
- package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.js +0 -2
- package/node_modules/@murphai/query/dist/health/health-registry-query-metadata.js.map +0 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { NUTRITION_CONFIDENCE_LEVELS, NUTRITION_PROVENANCE_SOURCES, } from "@murphai/contracts";
|
|
2
|
+
import { optionalEnum, optionalString } from "./history/shared.js";
|
|
3
|
+
import { requireObject, optionalFiniteNumber, stripUndefined } from "./bank/shared.js";
|
|
4
|
+
import { VaultError } from "./errors.js";
|
|
5
|
+
export function normalizeNutritionData(value, fieldName) {
|
|
6
|
+
if (value === undefined || value === null) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
const object = requireObject(value, fieldName);
|
|
10
|
+
if (Object.keys(object).length === 0) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const normalized = stripUndefined({
|
|
14
|
+
calories: optionalFiniteNumber(object.calories, `${fieldName}.calories`, 0),
|
|
15
|
+
proteinGrams: optionalFiniteNumber(object.proteinGrams, `${fieldName}.proteinGrams`, 0),
|
|
16
|
+
carbsGrams: optionalFiniteNumber(object.carbsGrams, `${fieldName}.carbsGrams`, 0),
|
|
17
|
+
fatGrams: optionalFiniteNumber(object.fatGrams, `${fieldName}.fatGrams`, 0),
|
|
18
|
+
fiberGrams: optionalFiniteNumber(object.fiberGrams, `${fieldName}.fiberGrams`, 0),
|
|
19
|
+
});
|
|
20
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
21
|
+
}
|
|
22
|
+
export function normalizeNutritionProvenance(value, fieldName) {
|
|
23
|
+
if (value === undefined || value === null) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
const object = requireObject(value, fieldName);
|
|
27
|
+
if (Object.keys(object).length === 0) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const source = optionalEnum(object.source, NUTRITION_PROVENANCE_SOURCES, `${fieldName}.source`);
|
|
31
|
+
if (!source) {
|
|
32
|
+
throw new VaultError("VAULT_INVALID_INPUT", `${fieldName}.source is required.`);
|
|
33
|
+
}
|
|
34
|
+
const normalized = stripUndefined({
|
|
35
|
+
source,
|
|
36
|
+
confidence: optionalEnum(object.confidence, NUTRITION_CONFIDENCE_LEVELS, `${fieldName}.confidence`),
|
|
37
|
+
sourceDetail: optionalString(object.sourceDetail, `${fieldName}.sourceDetail`, 240),
|
|
38
|
+
});
|
|
39
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
40
|
+
}
|
|
41
|
+
function normalizeWrappedNutrition(value, fieldName, metricField) {
|
|
42
|
+
if (value === undefined || value === null) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const object = requireObject(value, fieldName);
|
|
46
|
+
if (Object.keys(object).length === 0) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const provenance = normalizeNutritionProvenance(object.provenance, `${fieldName}.provenance`);
|
|
50
|
+
if (metricField === "perServing") {
|
|
51
|
+
const normalized = stripUndefined({
|
|
52
|
+
perServing: normalizeNutritionData(object.perServing, `${fieldName}.perServing`),
|
|
53
|
+
provenance,
|
|
54
|
+
});
|
|
55
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
56
|
+
}
|
|
57
|
+
const normalized = stripUndefined({
|
|
58
|
+
totals: normalizeNutritionData(object.totals, `${fieldName}.totals`),
|
|
59
|
+
provenance,
|
|
60
|
+
});
|
|
61
|
+
return Object.keys(normalized).length > 0 ? normalized : undefined;
|
|
62
|
+
}
|
|
63
|
+
export function normalizeFoodNutrition(value, fieldName) {
|
|
64
|
+
return normalizeWrappedNutrition(value, fieldName, "perServing");
|
|
65
|
+
}
|
|
66
|
+
export function normalizeMealNutrition(value, fieldName) {
|
|
67
|
+
return normalizeWrappedNutrition(value, fieldName, "totals");
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=nutrition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nutrition.js","sourceRoot":"","sources":["../src/nutrition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const CANONICAL_RESOURCE_LOCK_DIRECTORY = ".runtime/locks/canonical-resources";
|
|
2
|
+
export declare const CANONICAL_RESOURCE_LOCK_METADATA_BASENAME = "owner.json";
|
|
3
|
+
export interface CanonicalMutationResource {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export interface CanonicalResourceLockMetadata {
|
|
8
|
+
command: string;
|
|
9
|
+
host: string;
|
|
10
|
+
pid: number;
|
|
11
|
+
resourceKey: string;
|
|
12
|
+
resourceLabel: string;
|
|
13
|
+
startedAt: string;
|
|
14
|
+
}
|
|
15
|
+
export interface CanonicalResourceLockHandle {
|
|
16
|
+
readonly metadata: CanonicalResourceLockMetadata;
|
|
17
|
+
readonly resource: CanonicalMutationResource;
|
|
18
|
+
release(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
interface AcquireCanonicalResourceLockInput {
|
|
21
|
+
ownerToken?: string;
|
|
22
|
+
timeoutMs?: number;
|
|
23
|
+
resource: CanonicalMutationResource;
|
|
24
|
+
vaultRoot: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function canonicalPathResource(relativePath: string): CanonicalMutationResource;
|
|
27
|
+
export declare function canonicalLogicalResource(key: string, label?: string): CanonicalMutationResource;
|
|
28
|
+
export declare function dedupeCanonicalResources(resources: readonly CanonicalMutationResource[]): CanonicalMutationResource[];
|
|
29
|
+
export declare function isCanonicalResourceLockScopeActive(vaultRoot: string): boolean;
|
|
30
|
+
export declare function withCanonicalResourceLocks<TResult>(input: {
|
|
31
|
+
vaultRoot: string;
|
|
32
|
+
timeoutMs?: number;
|
|
33
|
+
resources: readonly CanonicalMutationResource[];
|
|
34
|
+
run: () => Promise<TResult>;
|
|
35
|
+
}): Promise<TResult>;
|
|
36
|
+
export declare function acquireCanonicalResourceLock(input: AcquireCanonicalResourceLockInput): Promise<CanonicalResourceLockHandle>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=canonical-resource-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical-resource-lock.d.ts","sourceRoot":"","sources":["../../src/operations/canonical-resource-lock.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,yCAAyC,eAAe,CAAC;AAMtE,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,6BAA6B,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,UAAU,iCAAiC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,yBAAyB,CAMrF;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,yBAAyB,CAc5F;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,yBAAyB,EAAE,GAC9C,yBAAyB,EAAE,CAS7B;AAED,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG7E;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAChD,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqCnB;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iCAAiC,GACvC,OAAO,CAAC,2BAA2B,CAAC,CAqFtC"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
3
|
+
import { setTimeout as sleep } from "node:timers/promises";
|
|
4
|
+
import { acquireDirectoryLock, buildProcessCommand, DirectoryLockHeldError, fingerprintHost, hashVaultRoot, isProcessRunning, } from "@murphai/runtime-state/node";
|
|
5
|
+
import { VaultError } from "../errors.js";
|
|
6
|
+
import { normalizeRelativeVaultPath, normalizeVaultRoot, resolveVaultPath, } from "../path-safety.js";
|
|
7
|
+
import { toIsoTimestamp } from "../time.js";
|
|
8
|
+
export const CANONICAL_RESOURCE_LOCK_DIRECTORY = ".runtime/locks/canonical-resources";
|
|
9
|
+
export const CANONICAL_RESOURCE_LOCK_METADATA_BASENAME = "owner.json";
|
|
10
|
+
const DEFAULT_CANONICAL_RESOURCE_LOCK_TIMEOUT_MS = 30_000;
|
|
11
|
+
const MAX_CANONICAL_RESOURCE_LOCK_WAIT_MS = 250;
|
|
12
|
+
const CANONICAL_RESOURCE_LOCK_CLEANUP_RETRIES = 8;
|
|
13
|
+
const CANONICAL_RESOURCE_LOCK_CLEANUP_RETRY_DELAY_MS = 25;
|
|
14
|
+
const canonicalResourceLockContextStorage = new AsyncLocalStorage();
|
|
15
|
+
const processCanonicalResourceQueues = new Map();
|
|
16
|
+
export function canonicalPathResource(relativePath) {
|
|
17
|
+
const normalizedRelativePath = normalizeRelativeVaultPath(relativePath);
|
|
18
|
+
return {
|
|
19
|
+
key: `path:${normalizedRelativePath}`,
|
|
20
|
+
label: normalizedRelativePath,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function canonicalLogicalResource(key, label = key) {
|
|
24
|
+
const normalizedKey = String(key).trim();
|
|
25
|
+
const normalizedLabel = String(label).trim();
|
|
26
|
+
if (normalizedKey.length === 0 || normalizedLabel.length === 0) {
|
|
27
|
+
throw new VaultError("CANONICAL_RESOURCE_INVALID", "Canonical logical resource keys and labels must be non-empty.");
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
key: `logical:${normalizedKey}`,
|
|
31
|
+
label: normalizedLabel,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function dedupeCanonicalResources(resources) {
|
|
35
|
+
const unique = new Map();
|
|
36
|
+
for (const resource of resources) {
|
|
37
|
+
if (!unique.has(resource.key)) {
|
|
38
|
+
unique.set(resource.key, resource);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return [...unique.values()].sort((left, right) => left.key.localeCompare(right.key));
|
|
42
|
+
}
|
|
43
|
+
export function isCanonicalResourceLockScopeActive(vaultRoot) {
|
|
44
|
+
const context = canonicalResourceLockContextStorage.getStore();
|
|
45
|
+
return context?.vaultRoot === normalizeVaultRoot(vaultRoot);
|
|
46
|
+
}
|
|
47
|
+
export async function withCanonicalResourceLocks(input) {
|
|
48
|
+
const vaultRoot = normalizeVaultRoot(input.vaultRoot);
|
|
49
|
+
const resources = dedupeCanonicalResources(input.resources);
|
|
50
|
+
if (resources.length === 0) {
|
|
51
|
+
return await input.run();
|
|
52
|
+
}
|
|
53
|
+
const parentContext = canonicalResourceLockContextStorage.getStore();
|
|
54
|
+
const ownerToken = parentContext?.vaultRoot === vaultRoot ? parentContext.ownerToken : randomUUID().replace(/-/g, "");
|
|
55
|
+
const context = parentContext?.vaultRoot === vaultRoot
|
|
56
|
+
? parentContext
|
|
57
|
+
: {
|
|
58
|
+
ownerToken,
|
|
59
|
+
vaultRoot,
|
|
60
|
+
};
|
|
61
|
+
const acquiredHandles = [];
|
|
62
|
+
try {
|
|
63
|
+
for (const resource of resources) {
|
|
64
|
+
acquiredHandles.push(await acquireCanonicalResourceLock({
|
|
65
|
+
vaultRoot,
|
|
66
|
+
resource,
|
|
67
|
+
timeoutMs: input.timeoutMs,
|
|
68
|
+
ownerToken,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
if (parentContext?.vaultRoot === vaultRoot) {
|
|
72
|
+
return await input.run();
|
|
73
|
+
}
|
|
74
|
+
return await canonicalResourceLockContextStorage.run(context, input.run);
|
|
75
|
+
}
|
|
76
|
+
finally {
|
|
77
|
+
await releaseCanonicalResourceLocks(acquiredHandles);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export async function acquireCanonicalResourceLock(input) {
|
|
81
|
+
const vaultRoot = normalizeVaultRoot(input.vaultRoot);
|
|
82
|
+
const context = canonicalResourceLockContextStorage.getStore();
|
|
83
|
+
const ownerToken = input.ownerToken ??
|
|
84
|
+
context?.ownerToken ??
|
|
85
|
+
randomUUID().replace(/-/g, "");
|
|
86
|
+
const isReentrantOwner = context?.vaultRoot === vaultRoot && context.ownerToken === ownerToken;
|
|
87
|
+
const metadata = buildCanonicalResourceLockMetadata(input.resource);
|
|
88
|
+
const ownerKey = `canonical-resource:${hashVaultRoot(vaultRoot)}:${input.resource.key}:${ownerToken}`;
|
|
89
|
+
const { lockPath, metadataPath } = resolveCanonicalResourceLockPaths(vaultRoot, input.resource);
|
|
90
|
+
const queueKey = `${hashVaultRoot(vaultRoot)}:${input.resource.key}`;
|
|
91
|
+
const releaseQueue = isReentrantOwner
|
|
92
|
+
? null
|
|
93
|
+
: await acquireCanonicalResourceQueueSlot(queueKey);
|
|
94
|
+
const startedAt = Date.now();
|
|
95
|
+
let attempt = 0;
|
|
96
|
+
try {
|
|
97
|
+
while (true) {
|
|
98
|
+
try {
|
|
99
|
+
const handle = await acquireDirectoryLock({
|
|
100
|
+
ownerKey,
|
|
101
|
+
lockPath,
|
|
102
|
+
metadataPath,
|
|
103
|
+
metadata,
|
|
104
|
+
cleanupRetries: CANONICAL_RESOURCE_LOCK_CLEANUP_RETRIES,
|
|
105
|
+
cleanupRetryDelayMs: CANONICAL_RESOURCE_LOCK_CLEANUP_RETRY_DELAY_MS,
|
|
106
|
+
parseMetadata(value) {
|
|
107
|
+
return isCanonicalResourceLockMetadata(value) ? value : null;
|
|
108
|
+
},
|
|
109
|
+
invalidMetadataReason: "Canonical resource lock metadata is malformed.",
|
|
110
|
+
inspectStale(lockMetadata) {
|
|
111
|
+
if (lockMetadata.host === fingerprintHost() && !isProcessRunning(lockMetadata.pid)) {
|
|
112
|
+
return `Process ${lockMetadata.pid} is no longer running.`;
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
let released = false;
|
|
118
|
+
return {
|
|
119
|
+
metadata: handle.metadata,
|
|
120
|
+
resource: input.resource,
|
|
121
|
+
async release() {
|
|
122
|
+
if (released) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
released = true;
|
|
126
|
+
try {
|
|
127
|
+
await handle.release();
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
releaseQueue?.();
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (!(error instanceof DirectoryLockHeldError)) {
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
if (Date.now() - startedAt >= (input.timeoutMs ?? DEFAULT_CANONICAL_RESOURCE_LOCK_TIMEOUT_MS)) {
|
|
140
|
+
throw new VaultError("CANONICAL_RESOURCE_LOCKED", buildCanonicalResourceLockTimeoutMessage(input.resource, error.inspection.metadata), {
|
|
141
|
+
resourceKey: input.resource.key,
|
|
142
|
+
resourceLabel: input.resource.label,
|
|
143
|
+
metadata: error.inspection.metadata ?? null,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const waitMs = Math.min(MAX_CANONICAL_RESOURCE_LOCK_WAIT_MS, 25 * 2 ** Math.min(attempt, 3));
|
|
147
|
+
attempt += 1;
|
|
148
|
+
await sleep(waitMs);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
releaseQueue?.();
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function acquireCanonicalResourceQueueSlot(queueKey) {
|
|
158
|
+
const prior = processCanonicalResourceQueues.get(queueKey) ?? Promise.resolve();
|
|
159
|
+
let releaseQueue;
|
|
160
|
+
const queued = new Promise((resolve) => {
|
|
161
|
+
releaseQueue = resolve;
|
|
162
|
+
});
|
|
163
|
+
const tail = prior.then(() => queued, () => queued);
|
|
164
|
+
processCanonicalResourceQueues.set(queueKey, tail);
|
|
165
|
+
await prior.catch(() => undefined);
|
|
166
|
+
return () => {
|
|
167
|
+
releaseQueue();
|
|
168
|
+
if (processCanonicalResourceQueues.get(queueKey) === tail) {
|
|
169
|
+
processCanonicalResourceQueues.delete(queueKey);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
async function releaseCanonicalResourceLocks(handles) {
|
|
174
|
+
for (const handle of [...handles].reverse()) {
|
|
175
|
+
await handle.release();
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function buildCanonicalResourceLockMetadata(resource) {
|
|
179
|
+
return {
|
|
180
|
+
command: buildProcessCommand(),
|
|
181
|
+
host: fingerprintHost(),
|
|
182
|
+
pid: process.pid,
|
|
183
|
+
resourceKey: resource.key,
|
|
184
|
+
resourceLabel: resource.label,
|
|
185
|
+
startedAt: toIsoTimestamp(new Date(), "startedAt"),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
function resolveCanonicalResourceLockPaths(vaultRoot, resource) {
|
|
189
|
+
const resourceHash = createHash("sha1").update(resource.key).digest("hex");
|
|
190
|
+
const lockRelativePath = `${CANONICAL_RESOURCE_LOCK_DIRECTORY}/${resourceHash}`;
|
|
191
|
+
const lockPath = resolveVaultPath(vaultRoot, lockRelativePath).absolutePath;
|
|
192
|
+
const metadataPath = resolveVaultPath(vaultRoot, `${lockRelativePath}/${CANONICAL_RESOURCE_LOCK_METADATA_BASENAME}`).absolutePath;
|
|
193
|
+
return {
|
|
194
|
+
lockPath,
|
|
195
|
+
metadataPath,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
function buildCanonicalResourceLockTimeoutMessage(resource, metadata) {
|
|
199
|
+
if (!metadata) {
|
|
200
|
+
return `Timed out waiting for canonical resource "${resource.label}".`;
|
|
201
|
+
}
|
|
202
|
+
return `Timed out waiting for canonical resource "${resource.label}" held by pid=${metadata.pid}, startedAt=${metadata.startedAt}, command=${metadata.command}.`;
|
|
203
|
+
}
|
|
204
|
+
function isCanonicalResourceLockMetadata(value) {
|
|
205
|
+
return Boolean(value &&
|
|
206
|
+
typeof value === "object" &&
|
|
207
|
+
"command" in value &&
|
|
208
|
+
typeof value.command === "string" &&
|
|
209
|
+
"host" in value &&
|
|
210
|
+
typeof value.host === "string" &&
|
|
211
|
+
"pid" in value &&
|
|
212
|
+
typeof value.pid === "number" &&
|
|
213
|
+
Number.isInteger(value.pid) &&
|
|
214
|
+
"resourceKey" in value &&
|
|
215
|
+
typeof value.resourceKey === "string" &&
|
|
216
|
+
"resourceLabel" in value &&
|
|
217
|
+
typeof value.resourceLabel === "string" &&
|
|
218
|
+
"startedAt" in value &&
|
|
219
|
+
typeof value.startedAt === "string");
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=canonical-resource-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonical-resource-lock.js","sourceRoot":"","sources":["../../src/operations/canonical-resource-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,5 +25,6 @@ export type CanonicalWriteLockInspection = {
|
|
|
25
25
|
reason: string;
|
|
26
26
|
};
|
|
27
27
|
export declare function inspectCanonicalWriteLock(vaultRoot: string): Promise<CanonicalWriteLockInspection>;
|
|
28
|
+
export declare function withCanonicalWriteLockScope<TResult>(vaultRoot: string, run: () => Promise<TResult>): Promise<TResult>;
|
|
28
29
|
export declare function acquireCanonicalWriteLock(vaultRoot: string): Promise<CanonicalWriteLockHandle>;
|
|
29
30
|
//# sourceMappingURL=canonical-write-lock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-write-lock.d.ts","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canonical-write-lock.d.ts","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAC/E,eAAO,MAAM,kCAAkC,8CAAiD,CAAC;AAEjG,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,OAAO,8BAA8B,CAAC;IAC7D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAOD,MAAM,MAAM,4BAA4B,GACpC;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,OAAO,8BAA8B,CAAC;CACrD,GACD;IACE,KAAK,EAAE,QAAQ,CAAC;IAChB,YAAY,EAAE,OAAO,8BAA8B,CAAC;IACpD,QAAQ,EAAE,0BAA0B,CAAC;CACtC,GACD;IACE,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,8BAA8B,CAAC;IACpD,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAqEN,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CA0CxG;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EACvD,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC1B,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA4FpG"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
1
3
|
import path from "node:path";
|
|
2
4
|
import { acquireDirectoryLock, buildProcessCommand, DirectoryLockHeldError, fingerprintHost, inspectDirectoryLock, isProcessRunning, } from "@murphai/runtime-state/node";
|
|
3
5
|
import { VaultError } from "../errors.js";
|
|
@@ -6,6 +8,8 @@ import { toIsoTimestamp } from "../time.js";
|
|
|
6
8
|
import { isErrnoException, isPlainRecord } from "../types.js";
|
|
7
9
|
export const CANONICAL_WRITE_LOCK_DIRECTORY = ".runtime/locks/canonical-write";
|
|
8
10
|
export const CANONICAL_WRITE_LOCK_METADATA_PATH = `${CANONICAL_WRITE_LOCK_DIRECTORY}/owner.json`;
|
|
11
|
+
const canonicalWriteLockContextStorage = new AsyncLocalStorage();
|
|
12
|
+
const processCanonicalWriteQueues = new Map();
|
|
9
13
|
function buildMetadata() {
|
|
10
14
|
return {
|
|
11
15
|
pid: process.pid,
|
|
@@ -90,13 +94,30 @@ export async function inspectCanonicalWriteLock(vaultRoot) {
|
|
|
90
94
|
metadata: inspection.metadata,
|
|
91
95
|
};
|
|
92
96
|
}
|
|
97
|
+
export async function withCanonicalWriteLockScope(vaultRoot, run) {
|
|
98
|
+
const absoluteRoot = normalizeVaultRoot(vaultRoot);
|
|
99
|
+
const parentContext = canonicalWriteLockContextStorage.getStore();
|
|
100
|
+
if (parentContext?.vaultRoot === absoluteRoot) {
|
|
101
|
+
return await run();
|
|
102
|
+
}
|
|
103
|
+
return await canonicalWriteLockContextStorage.run({
|
|
104
|
+
ownerToken: randomUUID().replace(/-/g, ""),
|
|
105
|
+
vaultRoot: absoluteRoot,
|
|
106
|
+
}, run);
|
|
107
|
+
}
|
|
93
108
|
export async function acquireCanonicalWriteLock(vaultRoot) {
|
|
94
109
|
const absoluteRoot = normalizeVaultRoot(vaultRoot);
|
|
110
|
+
const context = canonicalWriteLockContextStorage.getStore();
|
|
111
|
+
const ownerToken = context?.vaultRoot === absoluteRoot
|
|
112
|
+
? context.ownerToken
|
|
113
|
+
: randomUUID().replace(/-/g, "");
|
|
114
|
+
const isReentrantOwner = context?.vaultRoot === absoluteRoot && context.ownerToken === ownerToken;
|
|
115
|
+
const releaseQueue = isReentrantOwner ? null : await acquireCanonicalWriteQueueSlot(absoluteRoot);
|
|
95
116
|
const lockPath = resolveVaultPath(absoluteRoot, CANONICAL_WRITE_LOCK_DIRECTORY);
|
|
96
117
|
const metadataPath = resolveVaultPath(absoluteRoot, CANONICAL_WRITE_LOCK_METADATA_PATH);
|
|
97
118
|
try {
|
|
98
119
|
const handle = await acquireDirectoryLock({
|
|
99
|
-
ownerKey: `canonical-write:${absoluteRoot}`,
|
|
120
|
+
ownerKey: `canonical-write:${absoluteRoot}:${ownerToken}`,
|
|
100
121
|
lockPath: lockPath.absolutePath,
|
|
101
122
|
metadataPath: metadataPath.absolutePath,
|
|
102
123
|
metadata: buildMetadata(),
|
|
@@ -115,10 +136,18 @@ export async function acquireCanonicalWriteLock(vaultRoot) {
|
|
|
115
136
|
return {
|
|
116
137
|
metadata: handle.metadata,
|
|
117
138
|
relativePath: CANONICAL_WRITE_LOCK_DIRECTORY,
|
|
118
|
-
release
|
|
139
|
+
async release() {
|
|
140
|
+
try {
|
|
141
|
+
await handle.release();
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
releaseQueue?.();
|
|
145
|
+
}
|
|
146
|
+
},
|
|
119
147
|
};
|
|
120
148
|
}
|
|
121
149
|
catch (error) {
|
|
150
|
+
releaseQueue?.();
|
|
122
151
|
if (error instanceof DirectoryLockHeldError) {
|
|
123
152
|
const inspection = mapDirectoryLockInspection(error.inspection.state === "active"
|
|
124
153
|
? {
|
|
@@ -161,4 +190,21 @@ export async function acquireCanonicalWriteLock(vaultRoot) {
|
|
|
161
190
|
throw error;
|
|
162
191
|
}
|
|
163
192
|
}
|
|
193
|
+
async function acquireCanonicalWriteQueueSlot(vaultRoot) {
|
|
194
|
+
const queueKey = `canonical-write:${vaultRoot}`;
|
|
195
|
+
const prior = processCanonicalWriteQueues.get(queueKey) ?? Promise.resolve();
|
|
196
|
+
let releaseQueue;
|
|
197
|
+
const queued = new Promise((resolve) => {
|
|
198
|
+
releaseQueue = resolve;
|
|
199
|
+
});
|
|
200
|
+
const tail = prior.then(() => queued, () => queued);
|
|
201
|
+
processCanonicalWriteQueues.set(queueKey, tail);
|
|
202
|
+
await prior.catch(() => undefined);
|
|
203
|
+
return () => {
|
|
204
|
+
releaseQueue();
|
|
205
|
+
if (processCanonicalWriteQueues.get(queueKey) === tail) {
|
|
206
|
+
processCanonicalWriteQueues.delete(queueKey);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
}
|
|
164
210
|
//# sourceMappingURL=canonical-write-lock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-write-lock.js","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,gCAAgC,CAAC;AAC/E,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,8BAA8B,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"canonical-write-lock.js","sourceRoot":"","sources":["../../src/operations/canonical-write-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { acquireCanonicalResourceLock, CANONICAL_RESOURCE_LOCK_DIRECTORY, CANONICAL_RESOURCE_LOCK_METADATA_BASENAME, canonicalLogicalResource, canonicalPathResource, dedupeCanonicalResources, isCanonicalResourceLockScopeActive, withCanonicalResourceLocks, } from "./canonical-resource-lock.ts";
|
|
2
|
+
export type { CanonicalMutationResource, CanonicalResourceLockHandle, CanonicalResourceLockMetadata, } from "./canonical-resource-lock.ts";
|
|
3
|
+
export { acquireCanonicalWriteLock, CANONICAL_WRITE_LOCK_DIRECTORY, CANONICAL_WRITE_LOCK_METADATA_PATH, inspectCanonicalWriteLock, withCanonicalWriteLockScope, } from "./canonical-write-lock.ts";
|
|
2
4
|
export type { CanonicalWriteLockHandle, CanonicalWriteLockInspection, CanonicalWriteLockMetadata, } from "./canonical-write-lock.ts";
|
|
3
5
|
export { isProtectedCanonicalPath, listProtectedCanonicalPaths, readRecoverableStoredWriteOperation, isTerminalWriteOperationStatus, listWriteOperationMetadataPaths, readStoredWriteOperation, runCanonicalWrite, WriteBatch, WRITE_OPERATION_DIRECTORY, WRITE_OPERATION_SCHEMA_VERSION, } from "./write-batch.ts";
|
|
4
6
|
export type { RecoverableStoredWriteOperation } from "./write-batch.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,yCAAyC,EACzC,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,kCAAkC,EAClC,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,yBAAyB,EACzB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { acquireCanonicalResourceLock, CANONICAL_RESOURCE_LOCK_DIRECTORY, CANONICAL_RESOURCE_LOCK_METADATA_BASENAME, canonicalLogicalResource, canonicalPathResource, dedupeCanonicalResources, isCanonicalResourceLockScopeActive, withCanonicalResourceLocks, } from "./canonical-resource-lock.js";
|
|
2
|
+
export { acquireCanonicalWriteLock, CANONICAL_WRITE_LOCK_DIRECTORY, CANONICAL_WRITE_LOCK_METADATA_PATH, inspectCanonicalWriteLock, withCanonicalWriteLockScope, } from "./canonical-write-lock.js";
|
|
2
3
|
export { isProtectedCanonicalPath, listProtectedCanonicalPaths, readRecoverableStoredWriteOperation, isTerminalWriteOperationStatus, listWriteOperationMetadataPaths, readStoredWriteOperation, runCanonicalWrite, WriteBatch, WRITE_OPERATION_DIRECTORY, WRITE_OPERATION_SCHEMA_VERSION, } from "./write-batch.js";
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,yCAAyC,EACzC,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,kCAAkC,EAClC,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC"}
|
|
@@ -657,7 +657,7 @@ export class WriteBatch {
|
|
|
657
657
|
throw error;
|
|
658
658
|
}
|
|
659
659
|
finally {
|
|
660
|
-
await lock
|
|
660
|
+
await lock?.release();
|
|
661
661
|
}
|
|
662
662
|
}
|
|
663
663
|
async rollback() {
|
|
@@ -672,7 +672,7 @@ export class WriteBatch {
|
|
|
672
672
|
await this.cleanupStageArtifacts();
|
|
673
673
|
}
|
|
674
674
|
finally {
|
|
675
|
-
await lock
|
|
675
|
+
await lock?.release();
|
|
676
676
|
}
|
|
677
677
|
}
|
|
678
678
|
assertMutable() {
|