@murphai/murph 1.2.0 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1303 -0
- package/config.schema.json +412 -50
- package/dist/cli-entry.d.ts.map +1 -1
- package/dist/cli-entry.js +13 -20
- package/dist/cli-entry.js.map +1 -1
- package/dist/commands/audit-command-helpers.js.map +1 -1
- package/dist/commands/audit.js +2 -2
- package/dist/commands/automation.d.ts +118 -7
- package/dist/commands/automation.d.ts.map +1 -1
- package/dist/commands/automation.js +140 -54
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/batch.d.ts.map +1 -1
- package/dist/commands/batch.js +12 -4
- package/dist/commands/batch.js.map +1 -1
- package/dist/commands/capture.d.ts +9 -9
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/clinical-imports.d.ts +101 -101
- package/dist/commands/command-factory-primitives.d.ts +3 -3
- package/dist/commands/command-factory-primitives.d.ts.map +1 -1
- package/dist/commands/command-factory-primitives.js +1 -1
- package/dist/commands/commons.d.ts +9 -9
- package/dist/commands/document.d.ts.map +1 -1
- package/dist/commands/document.js +3 -0
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/encounter.d.ts +42 -42
- package/dist/commands/encounter.d.ts.map +1 -1
- package/dist/commands/event.js +1 -1
- package/dist/commands/exercise.js.map +1 -1
- package/dist/commands/experiment.d.ts.map +1 -1
- package/dist/commands/experiment.js +1 -0
- package/dist/commands/experiment.js.map +1 -1
- package/dist/commands/export-intake-read-helpers.d.ts +4 -4
- package/dist/commands/export-intake-read-helpers.d.ts.map +1 -1
- package/dist/commands/export-intake-read-helpers.js +1 -1
- package/dist/commands/export-intake-read-helpers.js.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/food.d.ts +4 -4
- package/dist/commands/food.js +1 -1
- package/dist/commands/group.d.ts +81 -0
- package/dist/commands/group.d.ts.map +1 -0
- package/dist/commands/group.js +242 -0
- package/dist/commands/group.js.map +1 -0
- package/dist/commands/habitat.d.ts +3 -0
- package/dist/commands/habitat.d.ts.map +1 -0
- package/dist/commands/habitat.js +282 -0
- package/dist/commands/habitat.js.map +1 -0
- package/dist/commands/health-allergy-save.d.ts.map +1 -1
- package/dist/commands/health-allergy-save.js +1 -1
- package/dist/commands/health-allergy-save.js.map +1 -1
- package/dist/commands/health-condition-save.d.ts.map +1 -1
- package/dist/commands/health-condition-save.js +1 -1
- package/dist/commands/health-condition-save.js.map +1 -1
- package/dist/commands/health-goal-save.d.ts.map +1 -1
- package/dist/commands/health-goal-save.js +1 -1
- package/dist/commands/health-goal-save.js.map +1 -1
- package/dist/commands/intake.js +1 -1
- package/dist/commands/intervention.d.ts.map +1 -1
- package/dist/commands/intervention.js +10 -0
- package/dist/commands/intervention.js.map +1 -1
- package/dist/commands/knowledge.js +2 -2
- package/dist/commands/measurement.d.ts +7 -7
- package/dist/commands/measurement.d.ts.map +1 -1
- package/dist/commands/medication.d.ts +3 -3
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +26 -2
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/murph-age.d.ts +499 -498
- package/dist/commands/murph-age.d.ts.map +1 -1
- package/dist/commands/murph-age.js +3 -2
- package/dist/commands/murph-age.js.map +1 -1
- package/dist/commands/payload-schema-command.d.ts +1 -1
- package/dist/commands/protocol.js +2 -2
- package/dist/commands/provider.js +1 -1
- package/dist/commands/recipe.js +1 -1
- package/dist/commands/record-mutation-command-helpers.d.ts +3 -3
- package/dist/commands/record-mutation-command-helpers.d.ts.map +1 -1
- package/dist/commands/research.js.map +1 -1
- package/dist/commands/sample-batch-command-helpers.js.map +1 -1
- package/dist/commands/sample-import-command-helpers.d.ts.map +1 -1
- package/dist/commands/sample-query-command-helpers.d.ts +1 -1
- package/dist/commands/sample-query-command-helpers.d.ts.map +1 -1
- package/dist/commands/sample-query-command-helpers.js.map +1 -1
- package/dist/commands/samples.js +2 -2
- package/dist/commands/scheduled-log.d.ts +127 -275
- package/dist/commands/scheduled-log.d.ts.map +1 -1
- package/dist/commands/scheduled-log.js +28 -3
- package/dist/commands/scheduled-log.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/supplement.js +1 -1
- package/dist/commands/vault.d.ts +2 -1
- package/dist/commands/vault.d.ts.map +1 -1
- package/dist/commands/vault.js +111 -1
- package/dist/commands/vault.js.map +1 -1
- package/dist/commands/wearables.d.ts +695 -667
- package/dist/commands/wearables.d.ts.map +1 -1
- package/dist/commands/wearables.js +10 -3
- package/dist/commands/wearables.js.map +1 -1
- package/dist/commands/workout.d.ts.map +1 -1
- package/dist/commands/workout.js +9 -2
- package/dist/commands/workout.js.map +1 -1
- package/dist/device-services.d.ts.map +1 -1
- package/dist/device-services.js +33 -8
- package/dist/device-services.js.map +1 -1
- package/dist/food-labels.d.ts +39 -39
- package/dist/food-labels.js.map +1 -1
- package/dist/foreground-terminal-logging.js.map +1 -1
- package/dist/hosted-data-api-labels.d.ts +117 -117
- package/dist/hosted-data-api-labels.js.map +1 -1
- package/dist/incur.generated.d.ts +93 -0
- package/dist/incur.generated.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/mapbox-route-contracts.d.ts +13 -13
- package/dist/mapbox-route-contracts.d.ts.map +1 -1
- package/dist/mapbox-route.js.map +1 -1
- package/dist/research-scout-client.js.map +1 -1
- package/dist/supplement-labels.d.ts +39 -39
- package/dist/supplement-labels.js.map +1 -1
- package/dist/vault-cli-command-manifest.d.ts +1451 -1478
- package/dist/vault-cli-command-manifest.d.ts.map +1 -1
- package/dist/vault-cli-command-manifest.js +80 -2
- package/dist/vault-cli-command-manifest.js.map +1 -1
- package/dist/vault-cli-command-routing.d.ts.map +1 -1
- package/dist/vault-cli-command-routing.js +79 -2
- package/dist/vault-cli-command-routing.js.map +1 -1
- package/dist/vault-cli-package.d.ts +1 -1
- package/dist/vault-cli-package.d.ts.map +1 -1
- package/dist/vault-cli-package.js.map +1 -1
- package/dist/vault-cli-routing.d.ts +4 -1
- package/dist/vault-cli-routing.d.ts.map +1 -1
- package/dist/vault-cli-routing.js +45 -5
- package/dist/vault-cli-routing.js.map +1 -1
- package/dist/vault-cli-shell.d.ts +3 -1
- package/dist/vault-cli-shell.d.ts.map +1 -1
- package/dist/vault-cli-shell.js +4 -1
- package/dist/vault-cli-shell.js.map +1 -1
- package/dist/vault-cli-skill-hash.generated.d.ts +2 -0
- package/dist/vault-cli-skill-hash.generated.d.ts.map +1 -0
- package/dist/vault-cli-skill-hash.generated.js +3 -0
- package/dist/vault-cli-skill-hash.generated.js.map +1 -0
- package/dist/vault-cli-vault-context.js.map +1 -1
- package/dist/vault-cli.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/automation/run-loop.d.ts +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/doctor-security.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/doctor.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +24 -22
- package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/stop.d.ts +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/store.d.ts +3 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/store.js +5 -2
- package/node_modules/@murphai/assistant-cli/dist/assistant/store.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-composer-panel.d.ts +4 -4
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-composer-panel.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-layout.d.ts +9 -9
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-layout.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-message-text.d.ts +4 -4
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-message-text.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-message-text.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-transcript.d.ts +4 -4
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink-transcript.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/theme.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/view-model.d.ts +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/view-model.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.js +2 -2
- package/node_modules/@murphai/assistant-cli/dist/assistant-daemon-client.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 +52 -7
- package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/run-terminal-logging.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/README.md +55 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.js +36 -24
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-experiment-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts +10 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js +89 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.d.ts +36 -36
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts +32 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js +347 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-artifact-paths.d.ts +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-artifact-paths.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.d.ts +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.js +163 -42
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/evidence.d.ts +3 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/evidence.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/evidence.js +8 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/evidence.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +2 -1
- 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 +11 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.d.ts +11 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts +18 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js +66 -16
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts +26 -8
- 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 +644 -158
- 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 +15 -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 +90 -29
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts +6 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js +18 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/scanner.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +9 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.d.ts +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.js +30 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/turn-envelope.d.ts +4 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/turn-envelope.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/turn-envelope.js +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/turn-envelope.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts +5 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js +3 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/bindings.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/bindings.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/bindings.js +22 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/bindings.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-typing.d.ts +4 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-typing.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-typing.js +51 -18
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-typing.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 +87 -49
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/helpers.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts +2 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js +80 -61
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/runtime.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts +31 -20
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/types.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.d.ts +5 -24
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js +95 -228
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-bootstrap.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-contract.generated.json +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cli-surface-manifest.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-contract-fingerprint.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-resume-binding.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-resume-binding.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-resume-binding.js +24 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-resume-binding.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.js +26 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-thread-route.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/attempt-observability.d.ts +0 -29
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/attempt-observability.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/attempt-observability.js +50 -129
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/attempt-observability.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts +22 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js +186 -109
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn/planning.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.d.ts +9 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js +42 -73
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.d.ts +3 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js +83 -91
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.d.ts +4 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.js +48 -11
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-policy.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.d.ts +3 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.js +33 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.js +38 -31
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/delivery-reconciliation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts +47 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js +881 -117
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js +84 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/scheduled-log.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +4 -1
- 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 +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.d.ts +7 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.js +27 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts +9 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +134 -65
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +131 -22
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-automations.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-automations.js +58 -90
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.js +9 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/diagnostics.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/diagnostics.js +6 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/diagnostics.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +43 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js +79 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.d.ts +5 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js +73 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/fault-injection.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/first-contact-welcome.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/generate-cli-surface-contract.js +1 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/generate-cli-surface-contract.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-context-diagnostics.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-context-diagnostics.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-context-diagnostics.js +0 -27
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-context-diagnostics.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-mailbox-input-items.d.ts +22 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-mailbox-input-items.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-mailbox-input-items.js +78 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-mailbox-input-items.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts +46 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js +47 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-turn-timing.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-turn-timing.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-turn-timing.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-turn-timing.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/inbox-attachment-evidence.js +23 -12
- package/node_modules/@murphai/assistant-engine/dist/assistant/inbox-attachment-evidence.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.d.ts +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.js +37 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.d.ts +109 -44
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.js +46 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.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 +335 -120
- package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.d.ts +7 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.js +101 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts +69 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js +234 -49
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js +3 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.d.ts +12 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.js +294 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +20 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +556 -113
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.js +11 -9
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/operator-authority.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/operator-authority.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js +132 -21
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/ordering.d.ts +7 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/ordering.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/ordering.js +140 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/ordering.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts +3 -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 +79 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +28 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +20 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +154 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/progress-constants.d.ts +7 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/progress-constants.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/progress-constants.js +16 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/progress-constants.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-progress.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-progress.d.ts.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 +55 -173
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js +5 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/helpers.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts +24 -25
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/types.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/receipts.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/receipts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-bubbles.d.ts +6 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-bubbles.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-bubbles.js +47 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-bubbles.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budget-policy.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.js +92 -40
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-budgets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js +107 -37
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-write-lock.js +2 -2
- 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 +15 -3
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +11 -2
- 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 +2 -0
- 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 +9 -1
- 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 +29 -24
- 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 +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 +81 -13
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.d.ts +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 +35 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-write-lock.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/status.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/status.js +36 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant/status.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/paths.d.ts +1 -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 +23 -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 +6 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js +137 -16
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +1 -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.d.ts +6 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +94 -22
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts +16 -6
- 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 +546 -230
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/transcript-audit.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts +16 -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 +58 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-plan.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.d.ts +3 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.js +29 -22
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-progress.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts +7 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js +33 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/usage-attribution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.d.ts +12 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.js +53 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/vault-file-send.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.d.ts +70 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js +218 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-runtime.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js +4 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js +25 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js +12 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-rpc.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.d.ts +82 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.js +190 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.d.ts +18 -18
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.js +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.d.ts +8 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.d.ts +10 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.d.ts +4 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.js +17 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts +1273 -268
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js +1724 -34
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js +4 -13
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.d.ts +3 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.js +352 -74
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-image-tool.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.js +6 -12
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/generate-voice-memo-tool.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.d.ts +2 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.js +89 -39
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.js +4 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.d.ts +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.js +1 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex-events.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts +23 -15
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +868 -533
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-service.d.ts +1 -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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts +140 -48
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js +118 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-env.d.ts +2 -2
- package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.d.ts +17 -17
- package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/codex-lifecycle.d.ts +3 -1
- package/node_modules/@murphai/assistant-engine/dist/codex-lifecycle.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/codex-lifecycle.js +7 -1
- package/node_modules/@murphai/assistant-engine/dist/codex-lifecycle.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/inbox-routing-vision.d.ts +2 -2
- package/node_modules/@murphai/assistant-engine/dist/inbox-routing-vision.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts +3 -2
- package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js +4 -2
- package/node_modules/@murphai/assistant-engine/dist/outbound-channel.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/package.json +4 -0
- package/node_modules/@murphai/assistant-engine/skills/aerobic-fitness/SKILL.md +56 -0
- package/node_modules/@murphai/assistant-engine/skills/appointment-scheduling/SKILL.md +249 -0
- package/node_modules/@murphai/assistant-engine/skills/behavior-followthrough/SKILL.md +18 -9
- package/node_modules/@murphai/assistant-engine/skills/body-composition/SKILL.md +56 -0
- package/node_modules/@murphai/assistant-engine/skills/cardiometabolic-health/SKILL.md +56 -0
- package/node_modules/@murphai/assistant-engine/skills/circadian-rhythm/SKILL.md +57 -0
- package/node_modules/@murphai/assistant-engine/skills/cognitive-focus/SKILL.md +55 -0
- package/node_modules/@murphai/assistant-engine/skills/computer-use/SKILL.md +163 -121
- package/node_modules/@murphai/assistant-engine/skills/computer-use/references/health-browser-playbook.md +16 -9
- package/node_modules/@murphai/assistant-engine/skills/cycle-hormonal-health/SKILL.md +55 -0
- package/node_modules/@murphai/assistant-engine/skills/daily-activity/SKILL.md +55 -0
- package/node_modules/@murphai/assistant-engine/skills/energy-fatigue/SKILL.md +57 -0
- package/node_modules/@murphai/assistant-engine/skills/experiment-onboarding/SKILL.md +24 -10
- package/node_modules/@murphai/assistant-engine/skills/food-journal/SKILL.md +26 -0
- package/node_modules/@murphai/assistant-engine/skills/general-eye-health/SKILL.md +77 -0
- package/node_modules/@murphai/assistant-engine/skills/general-eye-health/references/evidence-register.md +34 -0
- package/node_modules/@murphai/assistant-engine/skills/general-eye-health/references/triage-and-contact-lenses.md +103 -0
- package/node_modules/@murphai/assistant-engine/skills/group-challenge/SKILL.md +346 -0
- package/node_modules/@murphai/assistant-engine/skills/group-chat/SKILL.md +296 -0
- package/node_modules/@murphai/assistant-engine/skills/group-newsletter/SKILL.md +210 -0
- package/node_modules/@murphai/assistant-engine/skills/groupchat-comedy/SKILL.md +182 -0
- package/node_modules/@murphai/assistant-engine/skills/gut-digestion/SKILL.md +57 -0
- package/node_modules/@murphai/assistant-engine/skills/hrv-resting-heart-rate/SKILL.md +55 -0
- package/node_modules/@murphai/assistant-engine/skills/micronutrients-supplements/SKILL.md +80 -0
- package/node_modules/@murphai/assistant-engine/skills/mobility-posture/SKILL.md +56 -0
- package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/SKILL.md +358 -124
- package/node_modules/@murphai/assistant-engine/skills/music-generation/SKILL.md +162 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/SKILL.md +73 -109
- package/node_modules/@murphai/assistant-engine/skills/physical-therapy/SKILL.md +3 -1
- package/node_modules/@murphai/assistant-engine/skills/recovery-modalities/SKILL.md +57 -0
- package/node_modules/@murphai/assistant-engine/skills/red-light-therapy/SKILL.md +145 -0
- package/node_modules/@murphai/assistant-engine/skills/red-light-therapy/device-seeds.json +259 -0
- package/node_modules/@murphai/assistant-engine/skills/shared/exercise-catalog-runtime.md +29 -0
- package/node_modules/@murphai/assistant-engine/skills/shared/murph-character-sheet-v1.png +0 -0
- package/node_modules/@murphai/assistant-engine/skills/sleep-improvement/SKILL.md +60 -0
- package/node_modules/@murphai/assistant-engine/skills/sleep-recovery-readiness/SKILL.md +68 -178
- package/node_modules/@murphai/assistant-engine/skills/strength-training/SKILL.md +1 -1
- package/node_modules/@murphai/assistant-engine/skills/substance-load/SKILL.md +56 -0
- package/node_modules/@murphai/assistantd/dist/client.js.map +1 -1
- package/node_modules/@murphai/assistantd/dist/config.js.map +1 -1
- package/node_modules/@murphai/assistantd/dist/http-protocol.d.ts.map +1 -1
- package/node_modules/@murphai/assistantd/dist/http-protocol.js.map +1 -1
- package/node_modules/@murphai/clinical-records/README.md +82 -0
- package/node_modules/@murphai/clinical-records/dist/index.d.ts +1865 -0
- package/node_modules/@murphai/clinical-records/dist/index.d.ts.map +1 -0
- package/node_modules/@murphai/clinical-records/dist/index.js +488 -0
- package/node_modules/@murphai/clinical-records/dist/index.js.map +1 -0
- package/node_modules/@murphai/clinical-records/package.json +27 -0
- package/node_modules/@murphai/core/dist/atomic-write.d.ts +4 -0
- package/node_modules/@murphai/core/dist/atomic-write.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/atomic-write.js +26 -0
- package/node_modules/@murphai/core/dist/atomic-write.js.map +1 -1
- package/node_modules/@murphai/core/dist/automation.d.ts +8 -2
- package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/automation.js +66 -2
- package/node_modules/@murphai/core/dist/automation.js.map +1 -1
- package/node_modules/@murphai/core/dist/bank/goals.js.map +1 -1
- package/node_modules/@murphai/core/dist/bank/habitat.d.ts +36 -0
- package/node_modules/@murphai/core/dist/bank/habitat.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/habitat.js +179 -0
- package/node_modules/@murphai/core/dist/bank/habitat.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/regimens.js.map +1 -1
- package/node_modules/@murphai/core/dist/constants.d.ts +4 -0
- package/node_modules/@murphai/core/dist/constants.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events/attachment-backed.d.ts +41 -1
- package/node_modules/@murphai/core/dist/domains/events/attachment-backed.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events/attachment-backed.js +311 -5
- package/node_modules/@murphai/core/dist/domains/events/attachment-backed.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.d.ts +6 -0
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.js +7 -0
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events/ledger.js +4 -0
- package/node_modules/@murphai/core/dist/domains/events/ledger.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events.d.ts +2 -2
- package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events.js +1 -1
- package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/experiments.js +9 -3
- package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/shared.js.map +1 -1
- package/node_modules/@murphai/core/dist/errors.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/errors.js.map +1 -1
- package/node_modules/@murphai/core/dist/event-attachments.d.ts +2 -1
- package/node_modules/@murphai/core/dist/event-attachments.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/event-attachments.js +1 -0
- package/node_modules/@murphai/core/dist/event-attachments.js.map +1 -1
- package/node_modules/@murphai/core/dist/experiment-media-repair.d.ts +33 -0
- package/node_modules/@murphai/core/dist/experiment-media-repair.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/experiment-media-repair.js +685 -0
- package/node_modules/@murphai/core/dist/experiment-media-repair.js.map +1 -0
- package/node_modules/@murphai/core/dist/experiment-storage.d.ts +12 -0
- package/node_modules/@murphai/core/dist/experiment-storage.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/experiment-storage.js +70 -0
- package/node_modules/@murphai/core/dist/experiment-storage.js.map +1 -0
- package/node_modules/@murphai/core/dist/frontmatter.js.map +1 -1
- package/node_modules/@murphai/core/dist/fs.d.ts +1 -0
- package/node_modules/@murphai/core/dist/fs.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/fs.js +3 -0
- package/node_modules/@murphai/core/dist/fs.js.map +1 -1
- package/node_modules/@murphai/core/dist/history/api.d.ts +11 -0
- package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/history/api.js +60 -3
- package/node_modules/@murphai/core/dist/history/api.js.map +1 -1
- package/node_modules/@murphai/core/dist/history/types.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/ids.js.map +1 -1
- package/node_modules/@murphai/core/dist/index.d.ts +12 -6
- package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/index.js +6 -4
- package/node_modules/@murphai/core/dist/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/integration-ingest-migration.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/integration-ingest-migration.js +1 -1
- package/node_modules/@murphai/core/dist/integration-ingest-migration.js.map +1 -1
- package/node_modules/@murphai/core/dist/integration-ingests.d.ts +73 -2
- package/node_modules/@murphai/core/dist/integration-ingests.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/integration-ingests.js +1196 -77
- package/node_modules/@murphai/core/dist/integration-ingests.js.map +1 -1
- package/node_modules/@murphai/core/dist/jsonl.d.ts +10 -0
- package/node_modules/@murphai/core/dist/jsonl.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/jsonl.js +63 -12
- package/node_modules/@murphai/core/dist/jsonl.js.map +1 -1
- package/node_modules/@murphai/core/dist/markdown-documents.js.map +1 -1
- package/node_modules/@murphai/core/dist/memory.d.ts +7 -2
- package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/memory.js +36 -1
- package/node_modules/@murphai/core/dist/memory.js.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.d.ts +33 -5
- package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.js +1684 -205
- package/node_modules/@murphai/core/dist/mutations.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/canonical-resource-lock.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/index.d.ts +1 -1
- package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/operations/index.js +1 -1
- package/node_modules/@murphai/core/dist/operations/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +34 -1
- package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/operations/write-batch.js +684 -39
- package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
- package/node_modules/@murphai/core/dist/path-safety.js.map +1 -1
- package/node_modules/@murphai/core/dist/preferences.d.ts +21 -2
- package/node_modules/@murphai/core/dist/preferences.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/preferences.js +249 -12
- package/node_modules/@murphai/core/dist/preferences.js.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.d.ts +13 -2
- package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.js +20 -3
- package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
- package/node_modules/@murphai/core/dist/raw-artifact-integrity.js.map +1 -1
- package/node_modules/@murphai/core/dist/registry/api.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/scheduled-logs.d.ts +1 -0
- package/node_modules/@murphai/core/dist/scheduled-logs.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/scheduled-logs.js +1 -0
- package/node_modules/@murphai/core/dist/scheduled-logs.js.map +1 -1
- package/node_modules/@murphai/core/dist/vault.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/vault.js +174 -11
- package/node_modules/@murphai/core/dist/vault.js.map +1 -1
- package/node_modules/@murphai/core/dist/wearable-receipts.js.map +1 -1
- package/node_modules/@murphai/core/dist/wearable-storage-migration.js.map +1 -1
- package/node_modules/@murphai/core/dist/write-policy.d.ts +3 -0
- package/node_modules/@murphai/core/dist/write-policy.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/write-policy.js +54 -3
- package/node_modules/@murphai/core/dist/write-policy.js.map +1 -1
- package/node_modules/@murphai/device-syncd/README.md +45 -5
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.d.ts +7 -0
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.js +9 -0
- package/node_modules/@murphai/device-syncd/dist/callback-redirect.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata-parser.d.ts +30 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata-parser.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata-parser.js +130 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata-parser.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata.d.ts +18 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata.js +18 -0
- package/node_modules/@murphai/device-syncd/dist/companion-health-metadata.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts +4 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js +39 -4
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/env-keys.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.d.ts +9 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.js +56 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.js +46 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/{providers → config}/junction-connect-sources.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts +3 -5
- package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js +69 -14
- package/node_modules/@murphai/device-syncd/dist/config/provider-configs.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts +2 -3
- package/node_modules/@murphai/device-syncd/dist/config/provider-env.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-env.js +0 -3
- package/node_modules/@murphai/device-syncd/dist/config/provider-env.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-factory.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-factory.js +9 -5
- package/node_modules/@murphai/device-syncd/dist/config/provider-factory.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +26 -16
- package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js +236 -339
- package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts +62 -5
- package/node_modules/@murphai/device-syncd/dist/config/provider-types.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/runtime-config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js +7 -361
- package/node_modules/@murphai/device-syncd/dist/config/runtime-config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts +17 -1
- package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js +104 -11
- package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.d.ts +5 -3
- package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.js +4 -2
- package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/configured-provider-descriptors.d.ts +6 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-descriptors.js +7 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-descriptors.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.js +2 -0
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts +2 -2
- package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/connect-config.js +4 -11
- package/node_modules/@murphai/device-syncd/dist/connect-config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/errors.d.ts +8 -0
- package/node_modules/@murphai/device-syncd/dist/errors.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/errors.js +26 -0
- package/node_modules/@murphai/device-syncd/dist/errors.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +24 -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 +187 -28
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/http.d.ts +2 -9
- package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/http.js +26 -29
- package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/index.d.ts +7 -7
- package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/index.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts +60 -0
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js +382 -0
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/junction-resources.d.ts +17 -0
- package/node_modules/@murphai/device-syncd/dist/junction-resources.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/junction-resources.js +28 -0
- package/node_modules/@murphai/device-syncd/dist/junction-resources.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/metadata.d.ts +1 -0
- package/node_modules/@murphai/device-syncd/dist/metadata.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/metadata.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/metadata.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/provider-configs.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/provider-configs.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-configs.js +2 -0
- package/node_modules/@murphai/device-syncd/dist/provider-configs.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-credential-policy.d.ts +6 -0
- package/node_modules/@murphai/device-syncd/dist/provider-credential-policy.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-credential-policy.js +22 -0
- package/node_modules/@murphai/device-syncd/dist/provider-credential-policy.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-job-definitions.d.ts +7 -0
- package/node_modules/@murphai/device-syncd/dist/provider-job-definitions.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-job-definitions.js +116 -0
- package/node_modules/@murphai/device-syncd/dist/provider-job-definitions.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/provider-label.js +5 -5
- package/node_modules/@murphai/device-syncd/dist/provider-label.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts +22 -5
- package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js +93 -58
- package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction-config.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/providers/junction-config.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/junction-config.js +2 -0
- package/node_modules/@murphai/device-syncd/dist/providers/junction-config.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts +5 -28
- package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction.js +927 -719
- package/node_modules/@murphai/device-syncd/dist/providers/junction.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts +2 -14
- package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js +3 -26
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/provider-diagnostics.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/provider-diagnostics.js +34 -30
- package/node_modules/@murphai/device-syncd/dist/providers/provider-diagnostics.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/strava-webhooks.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts +2 -15
- package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/strava.js +8 -43
- package/node_modules/@murphai/device-syncd/dist/providers/strava.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts +2 -12
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +3 -22
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +25 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-account.js +32 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +9 -4
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js +125 -40
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptor-shared.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptor-shared.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptor-shared.js +4 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptor-shared.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptors.d.ts +10 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptors.js +41 -0
- package/node_modules/@murphai/device-syncd/dist/public-provider-descriptors.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/registry.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.d.ts +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.js +219 -61
- package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/accounts.d.ts +6 -0
- package/node_modules/@murphai/device-syncd/dist/store/accounts.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/accounts.js +129 -40
- package/node_modules/@murphai/device-syncd/dist/store/accounts.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.d.ts +2 -0
- package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.js +80 -6
- package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts +15 -0
- package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.js +119 -39
- package/node_modules/@murphai/device-syncd/dist/store/jobs.js.map +1 -1
- 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 +14 -8
- 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 +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/schema.js +22 -4
- package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/sync-state.d.ts +9 -1
- package/node_modules/@murphai/device-syncd/dist/store/sync-state.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/sync-state.js +57 -52
- package/node_modules/@murphai/device-syncd/dist/store/sync-state.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.d.ts +46 -2
- package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.js +103 -6
- package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.d.ts +24 -1
- package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
- package/node_modules/@murphai/device-syncd/package.json +28 -0
- package/node_modules/@murphai/exercise-library/content/seed/at-home-exercise-strength-addon-250.csv +251 -251
- package/node_modules/@murphai/exercise-library/content/seed/at-home-exercise-stretch-addon-500.csv +359 -359
- package/node_modules/@murphai/exercise-library/content/seed/at-home-exercise-stretch.csv +154 -154
- package/node_modules/@murphai/exercise-library/dist/build.js.map +1 -1
- package/node_modules/@murphai/exercise-library/dist/runtime.js.map +1 -1
- package/node_modules/@murphai/exercise-library/dist/schema.d.ts.map +1 -1
- package/node_modules/@murphai/exercise-library/generated/catalog.hash +1 -1
- package/node_modules/@murphai/exercise-library/generated/exercise-details.json +12082 -764
- package/node_modules/@murphai/exercise-library/generated/exercise-facets.json +1 -1
- package/node_modules/@murphai/exercise-library/generated/exercise-index.json +1 -1
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-11776448.md +60 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-18306161.md +60 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-19817517.md +60 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-19913903.md +60 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-19995444.md +62 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-20662037.md +60 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-24568233.md +62 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-26914684.md +60 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-27141153.md +62 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-28186867.md +62 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-36495670.md +62 -0
- package/node_modules/@murphai/health-commons/content/sources/photobiomodulation-intake/pmid-37760145.md +62 -0
- package/node_modules/@murphai/health-commons/dist/build.js.map +1 -1
- package/node_modules/@murphai/health-commons/dist/catalog.d.ts +4 -4
- package/node_modules/@murphai/health-commons/dist/hash-artifact.js.map +1 -1
- package/node_modules/@murphai/health-commons/dist/runtime.d.ts +3 -7
- package/node_modules/@murphai/health-commons/dist/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/health-commons/dist/runtime.js +59 -47
- package/node_modules/@murphai/health-commons/dist/runtime.js.map +1 -1
- package/node_modules/@murphai/health-commons/dist/sync-cloudflare-r2.js.map +1 -1
- package/node_modules/@murphai/health-commons/generated/catalog.hash +1 -1
- package/node_modules/@murphai/health-commons/generated/protocol-family-graph.json +1 -1
- package/node_modules/@murphai/health-commons/generated/protocol-index.json +1 -1
- package/node_modules/@murphai/health-commons/generated/protocol-run-specs.json +1 -1
- package/node_modules/@murphai/health-commons/generated/source-artifact-index.json +1 -1
- package/node_modules/@murphai/health-commons/generated/source-identities.ndjson +54 -0
- package/node_modules/@murphai/health-commons/generated/source-index.json +727 -1
- package/node_modules/@murphai/health-commons/generated/web/browse/biomarkers.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/browse/experiments.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/added-sugar-intake.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/adherence.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/adverse-symptoms.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alanine-aminotransferase.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-craving.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-free-days.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-intake.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/alcohol-withdrawal-symptoms.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ankle-knee-to-wall-distance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/apolipoprotein-b.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/aspartate-aminotransferase.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/bilirubin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-glucose.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-ketones-beta-hydroxybutyrate.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-oxygen-spo2.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-pressure.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/blood-urea-nitrogen.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/body-fat-percent.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/body-weight.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/chosen-primary-outcome-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/continuous-glucose.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/creatine-kinase.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-energy-intake-kcal.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-protein-g-per-kg.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-protein-grams.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daily-step-count.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/daytime-sleepiness.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/deep-sleep-minutes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dietary-fiber-g-day.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/digestive-comfort.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/egfr.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/estimated-gfr.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/estimated-vo2max.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/fasting-triglycerides.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gi-symptom-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gi-tolerance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hbot-session-tolerability.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hdl-c.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hrv-rmssd.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lateral-knee-pain.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-c.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-cholesterol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lean-body-mass.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lean-mass.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/leg-heaviness-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/liver-enzyme-panel.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/macular-health-safety.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/moderate-to-vigorous-activity-minutes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mood-affect.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/morning-blood-pressure.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/muscle-soreness-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/musculoskeletal-pain.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/non-hdl-c.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/non-hdl-cholesterol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-3-index.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-recovery-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-recovery.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-stiffness.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/perceived-stress.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/periocular-wrinkle-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/postprandial-glucose-excursion.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/pre-sleep-arousal.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/rem-sleep-minutes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/resting-heart-rate.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/running-tolerance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/saturated-fat-g-day.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sedentary-time.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/self-reported-mood.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/serum-25-hydroxyvitamin-d.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/serum-creatinine.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/serum-uric-acid.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/shoulder-reach-distance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sit-and-reach-distance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/skin-texture-roughness-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/skin-tolerability-symptoms.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sleep-efficiency.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sleep-onset-latency.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/sleep-quality.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/standardized-skin-photo-score.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/step-floor-days.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/stretching-adherence-sessions.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/stretching-session-burden.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/stretching-symptoms.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/subjective-eye-strain.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/subjective-satiety.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/supplement-adherence.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/task-performance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/toe-touch-distance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-cholesterol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-sleep-time.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/training-performance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/training-volume.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/triglycerides.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/urine-albumin-creatinine-ratio.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/visual-fatigue.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/visual-performance.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/waist-circumference.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/wake-time-variability.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/walking-bout-minutes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/walking-cadence.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/walking-safety-events.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/measurement_method/clinic-imaging-upgrade.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/measurement_method/home-standardized-photo-roi-analysis.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/measurement_method/standardized-photo-score-workflow.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/at-home-static-stretching-for-flexibility.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/bryan-johnson-blueprint.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/caffeine-curfew-dose-reset.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/cold-plunge.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/consistent-wake-time.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/creatine-monohydrate.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/daily-step-floor.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/daily-vitamin-d3-supplementation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/digital-sunset.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/finnish-sauna.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/hydrolyzed-collagen-peptides.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/hyperbaric-oxygen-therapy.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/it-band-syndrome-rehab-and-return-to-run.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/morning-outdoor-light-exposure.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/no-added-sugar-diet.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/norwegian-4x4.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/oral-epa-dha-supplementation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/pneumatic-compression-pants.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/pre-sleep-resonance-breathing-and-meditation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/pre-sleep-silent-meditation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/prolonged-fasting-24-72-hours.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/protein-floor-high-protein-intake.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/psyllium-husk-for-cholesterol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/red-light-glasses-before-bed.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/red-near-infrared-skin-texture-photoaging.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/red-yeast-rice-for-cholesterol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/short-term-alcohol-abstinence.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/social-media-fast.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/tabata-20-10-interval-training.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/time-restricted-eating-18-6.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/walking-after-every-meal.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/whole-body-red-and-near-infrared-light-exposure.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/zone-2-aerobic-base-block.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/blood-oxygen-spo2/overview.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/blood-oxygen-spo2/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/deep-sleep-minutes/overview.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/deep-sleep-minutes/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/estimated-vo2max/overview.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/estimated-vo2max/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/hrv-rmssd/overview.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/hrv-rmssd/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/rem-sleep-minutes/overview.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/rem-sleep-minutes/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/resting-heart-rate/overview.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/pages/biomarkers/resting-heart-rate/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/routes/index.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/blood-oxygen-spo2.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/deep-sleep-minutes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/estimated-vo2max.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/hrv-rmssd.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/rem-sleep-minutes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/biomarkers/resting-heart-rate.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/at-home-static-stretching-for-flexibility.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/bryan-johnson-blueprint.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/caffeine-curfew-dose-reset.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/cold-plunge.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/consistent-wake-time.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/daily-step-floor.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/digital-sunset.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/finnish-sauna.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/hyperbaric-oxygen-therapy.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/morning-outdoor-light-exposure.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/no-added-sugar-diet.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/norwegian-4x4.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/pneumatic-compression-pants.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/pre-sleep-resonance-breathing-and-meditation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/pre-sleep-silent-meditation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/prolonged-fasting-24-72-hours.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/protein-floor-high-protein-intake.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/red-light-glasses-before-bed.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/red-near-infrared-skin-texture-photoaging.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/short-term-alcohol-abstinence.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/tabata-20-10-interval-training.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/time-restricted-eating-18-6.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/walking-after-every-meal.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/whole-body-red-and-near-infrared-light-exposure.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/zone-2-aerobic-base-block.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/at-home-static-stretching-for-flexibility/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/at-home-static-stretching-for-flexibility/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/at-home-static-stretching-for-flexibility/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/bryan-johnson-blueprint/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/bryan-johnson-blueprint/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/bryan-johnson-blueprint/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/caffeine-curfew-dose-reset/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/caffeine-curfew-dose-reset/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/caffeine-curfew-dose-reset/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/cold-plunge/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/cold-plunge/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/cold-plunge/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/consistent-wake-time/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/consistent-wake-time/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/consistent-wake-time/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/daily-step-floor/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/daily-step-floor/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/daily-step-floor/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/digital-sunset/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/digital-sunset/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/digital-sunset/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/finnish-sauna/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/finnish-sauna/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/finnish-sauna/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/hyperbaric-oxygen-therapy/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/hyperbaric-oxygen-therapy/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/hyperbaric-oxygen-therapy/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/morning-outdoor-light-exposure/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/morning-outdoor-light-exposure/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/morning-outdoor-light-exposure/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/no-added-sugar-diet/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/no-added-sugar-diet/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/no-added-sugar-diet/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/norwegian-4x4/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/norwegian-4x4/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/norwegian-4x4/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pneumatic-compression-pants/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pneumatic-compression-pants/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pneumatic-compression-pants/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pre-sleep-resonance-breathing-and-meditation/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pre-sleep-resonance-breathing-and-meditation/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pre-sleep-resonance-breathing-and-meditation/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pre-sleep-silent-meditation/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pre-sleep-silent-meditation/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/pre-sleep-silent-meditation/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/prolonged-fasting-24-72-hours/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/prolonged-fasting-24-72-hours/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/prolonged-fasting-24-72-hours/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/protein-floor-high-protein-intake/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/protein-floor-high-protein-intake/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/protein-floor-high-protein-intake/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/red-light-glasses-before-bed/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/red-light-glasses-before-bed/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/red-light-glasses-before-bed/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/red-near-infrared-skin-texture-photoaging/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/red-near-infrared-skin-texture-photoaging/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/red-near-infrared-skin-texture-photoaging/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/short-term-alcohol-abstinence/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/short-term-alcohol-abstinence/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/short-term-alcohol-abstinence/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/tabata-20-10-interval-training/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/tabata-20-10-interval-training/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/tabata-20-10-interval-training/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/time-restricted-eating-18-6/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/time-restricted-eating-18-6/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/time-restricted-eating-18-6/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/walking-after-every-meal/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/walking-after-every-meal/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/walking-after-every-meal/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/results-public.json +2 -2
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/zone-2-aerobic-base-block/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/zone-2-aerobic-base-block/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/zone-2-aerobic-base-block/results-public.json +2 -2
- package/node_modules/@murphai/health-metrics/README.md +4 -0
- package/node_modules/@murphai/health-metrics/dist/catalog.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.d.ts +15 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.js +99 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/labs.d.ts +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/recovery.d.ts +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/recovery.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/recovery.js +12 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/recovery.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/sleep.d.ts +1 -1
- package/node_modules/@murphai/health-metrics/dist/format.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/goals.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/index.d.ts +0 -2
- package/node_modules/@murphai/health-metrics/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/index.js +0 -2
- package/node_modules/@murphai/health-metrics/dist/index.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/murph-age-source-routes.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/murph-age-source-routes.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/murph-age.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/murph-age.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/normalize.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/selectors.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.js.map +1 -1
- package/node_modules/@murphai/health-metrics/package.json +10 -0
- package/node_modules/@murphai/importers/README.md +13 -0
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js.map +1 -1
- package/node_modules/@murphai/importers/dist/clinical-records/index.d.ts +19 -0
- package/node_modules/@murphai/importers/dist/clinical-records/index.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/clinical-records/index.js +1523 -0
- package/node_modules/@murphai/importers/dist/clinical-records/index.js.map +1 -0
- package/node_modules/@murphai/importers/dist/core-port.d.ts +1 -0
- package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/core-port.js.map +1 -1
- package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -1
- package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js.map +1 -1
- package/node_modules/@murphai/importers/dist/csv-sample-importer.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/index.js +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-origin.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts +3 -2
- package/node_modules/@murphai/importers/dist/device-providers/junction-resources.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js +12 -20
- package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts +18 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction.js +1026 -123
- package/node_modules/@murphai/importers/dist/device-providers/junction.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts +132 -132
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/registry.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -1
- package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -1
- package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -1
- package/node_modules/@murphai/importers/dist/preset-registry.js.map +1 -1
- package/node_modules/@murphai/importers/package.json +5 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/environment.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.js +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/reads.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/service.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/service.js +2 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/service.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/storage-repair.d.ts +3 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/storage-repair.d.ts.map +1 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/storage-repair.js +37 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/storage-repair.js.map +1 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts +22 -2
- package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/daemon.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/parser.d.ts +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/parser.js +2 -2
- package/node_modules/@murphai/inbox-services/dist/inbox-services/parser.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts +2 -2
- package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/query.d.ts +27 -27
- package/node_modules/@murphai/inbox-services/dist/inbox-services/query.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/query.js +2 -2
- package/node_modules/@murphai/inbox-services/dist/inbox-services/query.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/state.js.map +1 -1
- package/node_modules/@murphai/inboxd/README.md +3 -2
- package/node_modules/@murphai/inboxd/dist/checkpoint.d.ts +2 -0
- package/node_modules/@murphai/inboxd/dist/checkpoint.d.ts.map +1 -0
- package/node_modules/@murphai/inboxd/dist/checkpoint.js +2 -0
- package/node_modules/@murphai/inboxd/dist/checkpoint.js.map +1 -0
- package/node_modules/@murphai/inboxd/dist/connectors/email/directness.d.ts +11 -0
- package/node_modules/@murphai/inboxd/dist/connectors/email/directness.d.ts.map +1 -0
- package/node_modules/@murphai/inboxd/dist/connectors/email/directness.js +67 -0
- package/node_modules/@murphai/inboxd/dist/connectors/email/directness.js.map +1 -0
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.d.ts +3 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js +18 -9
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.d.ts +1 -10
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.js +2 -65
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.d.ts +0 -15
- package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.js +0 -33
- package/node_modules/@murphai/inboxd/dist/connectors/hosted-conversation.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/connector.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/contracts/capture.d.ts +1 -2
- package/node_modules/@murphai/inboxd/dist/contracts/capture.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/contracts/search.d.ts +2 -2
- package/node_modules/@murphai/inboxd/dist/contracts/search.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/index.d.ts +1 -0
- package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/index.js +1 -0
- package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/envelope-migration.d.ts +21 -0
- package/node_modules/@murphai/inboxd/dist/indexing/envelope-migration.d.ts.map +1 -0
- package/node_modules/@murphai/inboxd/dist/indexing/envelope-migration.js +259 -0
- package/node_modules/@murphai/inboxd/dist/indexing/envelope-migration.js.map +1 -0
- package/node_modules/@murphai/inboxd/dist/indexing/parser-derivatives.d.ts +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/parser-derivatives.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/parser-derivatives.js +7 -4
- package/node_modules/@murphai/inboxd/dist/indexing/parser-derivatives.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.d.ts +13 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.js +68 -13
- package/node_modules/@murphai/inboxd/dist/indexing/persist/canonical-records.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts +12 -6
- package/node_modules/@murphai/inboxd/dist/indexing/persist.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/persist.js +226 -73
- package/node_modules/@murphai/inboxd/dist/indexing/persist.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/retention.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js +4 -4
- package/node_modules/@murphai/inboxd/dist/kernel/pipeline.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/registry.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite/rows.d.ts +2 -2
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite/rows.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite/rows.js +3 -3
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite/rows.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite.js +42 -12
- package/node_modules/@murphai/inboxd/dist/kernel/sqlite.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/retention.d.ts +2 -0
- package/node_modules/@murphai/inboxd/dist/retention.d.ts.map +1 -0
- package/node_modules/@murphai/inboxd/dist/retention.js +2 -0
- package/node_modules/@murphai/inboxd/dist/retention.js.map +1 -0
- package/node_modules/@murphai/inboxd/dist/runtime.d.ts +2 -1
- package/node_modules/@murphai/inboxd/dist/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/runtime.js +1 -0
- package/node_modules/@murphai/inboxd/dist/runtime.js.map +1 -1
- package/node_modules/@murphai/inboxd/package.json +12 -0
- package/node_modules/@murphai/messaging-ingress/README.md +1 -5
- package/node_modules/@murphai/messaging-ingress/dist/internal.d.ts.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/internal.js +4 -0
- package/node_modules/@murphai/messaging-ingress/dist/internal.js.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.d.ts.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.js.map +1 -1
- package/node_modules/@murphai/messaging-ingress/package.json +0 -4
- package/node_modules/@murphai/operator-config/dist/agentmail-runtime.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.d.ts +2 -0
- package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.js +5 -0
- package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.d.ts +5 -0
- package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.js +58 -0
- package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/delivery-failure.d.ts +2 -2
- package/node_modules/@murphai/operator-config/dist/assistant/delivery-failure.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/delivery-failure.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +5 -5
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +32 -31
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js +4 -2
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts +2 -2
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +488 -317
- 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 +171 -22
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts +32 -27
- package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js +11 -1
- package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-daemon/paths.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-daemon.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-sync-browser-opener.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-sync-client.d.ts +1 -1
- 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 +6 -2
- package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts +1 -1
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts +138 -93
- package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js +40 -3
- package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts +7 -11
- package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/linq-runtime.js +25 -10
- package/node_modules/@murphai/operator-config/dist/linq-runtime.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/message-formatting.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/message-formatting.js +14 -3
- package/node_modules/@murphai/operator-config/dist/message-formatting.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts +4 -2
- package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config/storage.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +7 -5
- package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts +54 -54
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/telegram-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/telegram-runtime.js +11 -1
- package/node_modules/@murphai/operator-config/dist/telegram-runtime.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +85 -85
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-errors.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/package.json +0 -5
- package/node_modules/@murphai/parsers/README.md +4 -2
- package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/adapters/poppler-pdf.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/adapters/text-file.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/adapters/whisper-cpp.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/adapters/zxing-wasm.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/contracts/parser-output.d.ts +15 -0
- package/node_modules/@murphai/parsers/dist/contracts/parser-output.d.ts.map +1 -0
- package/node_modules/@murphai/parsers/dist/contracts/parser-output.js +368 -0
- package/node_modules/@murphai/parsers/dist/contracts/parser-output.js.map +1 -0
- package/node_modules/@murphai/parsers/dist/index.d.ts +5 -2
- package/node_modules/@murphai/parsers/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/parsers/dist/index.js +3 -1
- package/node_modules/@murphai/parsers/dist/index.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/parser-result.d.ts +2 -0
- package/node_modules/@murphai/parsers/dist/parser-result.d.ts.map +1 -0
- package/node_modules/@murphai/parsers/dist/parser-result.js +2 -0
- package/node_modules/@murphai/parsers/dist/parser-result.js.map +1 -0
- package/node_modules/@murphai/parsers/dist/pipelines/parse-attachment.d.ts.map +1 -1
- package/node_modules/@murphai/parsers/dist/pipelines/parse-attachment.js +2 -245
- package/node_modules/@murphai/parsers/dist/pipelines/parse-attachment.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/pipelines/worker.d.ts +1 -1
- package/node_modules/@murphai/parsers/dist/pipelines/worker.d.ts.map +1 -1
- package/node_modules/@murphai/parsers/dist/pipelines/worker.js +12 -4
- package/node_modules/@murphai/parsers/dist/pipelines/worker.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/publish/legacy-attempt-compactor.d.ts +18 -0
- package/node_modules/@murphai/parsers/dist/publish/legacy-attempt-compactor.d.ts.map +1 -0
- package/node_modules/@murphai/parsers/dist/publish/legacy-attempt-compactor.js +480 -0
- package/node_modules/@murphai/parsers/dist/publish/legacy-attempt-compactor.js.map +1 -0
- package/node_modules/@murphai/parsers/dist/publish/writer.d.ts +26 -8
- package/node_modules/@murphai/parsers/dist/publish/writer.d.ts.map +1 -1
- package/node_modules/@murphai/parsers/dist/publish/writer.js +168 -57
- package/node_modules/@murphai/parsers/dist/publish/writer.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/registry/policy.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/registry/registry.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/shared.js.map +1 -1
- package/node_modules/@murphai/parsers/dist/toolchain/discover.js.map +1 -1
- package/node_modules/@murphai/parsers/package.json +4 -0
- package/node_modules/@murphai/query/dist/automation.d.ts +3 -2
- package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/automation.js +68 -5
- package/node_modules/@murphai/query/dist/automation.js.map +1 -1
- package/node_modules/@murphai/query/dist/biomarker-change-sentiment.d.ts +10 -0
- package/node_modules/@murphai/query/dist/biomarker-change-sentiment.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/biomarker-change-sentiment.js +24 -0
- package/node_modules/@murphai/query/dist/biomarker-change-sentiment.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-experiments.d.ts +4 -0
- package/node_modules/@murphai/query/dist/browser-experiments.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-experiments.js +3 -0
- package/node_modules/@murphai/query/dist/browser-experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/biomarker-panel.js +3 -3
- package/node_modules/@murphai/query/dist/browser-replica/biomarker-panel.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/build.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/build.js +20 -0
- package/node_modules/@murphai/query/dist/browser-replica/build.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/experiments.d.ts +8 -2
- package/node_modules/@murphai/query/dist/browser-replica/experiments.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/experiments.js +128 -26
- package/node_modules/@murphai/query/dist/browser-replica/experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/murph-age.d.ts +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/murph-age.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/murph-age.js +2 -1
- package/node_modules/@murphai/query/dist/browser-replica/murph-age.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/query.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/shared.js +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/shared.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/views.js +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/views.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica.d.ts +1 -3
- package/node_modules/@murphai/query/dist/browser-replica.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica.js +0 -1
- package/node_modules/@murphai/query/dist/browser-replica.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser.d.ts +2 -2
- package/node_modules/@murphai/query/dist/browser.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser.js +1 -1
- package/node_modules/@murphai/query/dist/browser.js.map +1 -1
- package/node_modules/@murphai/query/dist/canonical-entities.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/canonical-entities.js +1 -0
- package/node_modules/@murphai/query/dist/canonical-entities.js.map +1 -1
- package/node_modules/@murphai/query/dist/entity-families.d.ts +1 -1
- package/node_modules/@murphai/query/dist/entity-families.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/entity-families.js +1 -0
- package/node_modules/@murphai/query/dist/entity-families.js.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-adherence.d.ts +55 -2
- package/node_modules/@murphai/query/dist/experiment-adherence.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-adherence.js +367 -13
- package/node_modules/@murphai/query/dist/experiment-adherence.js.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-progress-card.d.ts +6 -1
- package/node_modules/@murphai/query/dist/experiment-progress-card.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-progress-card.js +48 -13
- package/node_modules/@murphai/query/dist/experiment-progress-card.js.map +1 -1
- package/node_modules/@murphai/query/dist/experiments.d.ts +11 -1
- package/node_modules/@murphai/query/dist/experiments.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/experiments.js +265 -36
- package/node_modules/@murphai/query/dist/experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/export-pack.js.map +1 -1
- package/node_modules/@murphai/query/dist/group-weekly.d.ts +32 -0
- package/node_modules/@murphai/query/dist/group-weekly.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/group-weekly.js +166 -0
- package/node_modules/@murphai/query/dist/group-weekly.js.map +1 -0
- package/node_modules/@murphai/query/dist/health/assessments.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/blood-tests.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts +1 -0
- package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/canonical-collector.js +4 -1
- package/node_modules/@murphai/query/dist/health/canonical-collector.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/foods.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/habitat.d.ts +6 -0
- package/node_modules/@murphai/query/dist/health/habitat.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/health/habitat.js +12 -0
- package/node_modules/@murphai/query/dist/health/habitat.js.map +1 -0
- package/node_modules/@murphai/query/dist/health/immunizations.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/index.d.ts +1 -0
- package/node_modules/@murphai/query/dist/health/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/index.js +1 -0
- package/node_modules/@murphai/query/dist/health/index.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/projections.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/projectors/history.d.ts +1 -1
- package/node_modules/@murphai/query/dist/health/providers.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/recipes.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/registries.d.ts +11 -0
- package/node_modules/@murphai/query/dist/health/registries.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/registries.js +18 -2
- package/node_modules/@murphai/query/dist/health/registries.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/supplements.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/workout-formats.js.map +1 -1
- package/node_modules/@murphai/query/dist/id-families.d.ts +1 -13
- package/node_modules/@murphai/query/dist/id-families.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/id-families.js +1 -119
- package/node_modules/@murphai/query/dist/id-families.js.map +1 -1
- package/node_modules/@murphai/query/dist/index.d.ts +10 -15
- package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/index.js +7 -31
- package/node_modules/@murphai/query/dist/index.js.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-format.js +1 -1
- package/node_modules/@murphai/query/dist/knowledge-graph.js +4 -4
- package/node_modules/@murphai/query/dist/knowledge-model.d.ts +1 -1
- package/node_modules/@murphai/query/dist/knowledge-search.js +2 -2
- package/node_modules/@murphai/query/dist/knowledge-search.js.map +1 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -1
- package/node_modules/@murphai/query/dist/memory.d.ts +3 -2
- package/node_modules/@murphai/query/dist/memory.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/memory.js +4 -1
- package/node_modules/@murphai/query/dist/memory.js.map +1 -1
- package/node_modules/@murphai/query/dist/metrics/index.js +23 -1
- package/node_modules/@murphai/query/dist/metrics/index.js.map +1 -1
- package/node_modules/@murphai/query/dist/metrics/projection.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/metrics/projection.js +101 -7
- package/node_modules/@murphai/query/dist/metrics/projection.js.map +1 -1
- package/node_modules/@murphai/query/dist/murph-age.d.ts +1 -1
- package/node_modules/@murphai/query/dist/murph-age.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/murph-age.js +2 -1
- package/node_modules/@murphai/query/dist/murph-age.js.map +1 -1
- package/node_modules/@murphai/query/dist/overview-weekly-stats.js.map +1 -1
- package/node_modules/@murphai/query/dist/overview.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/entity-store.d.ts +2 -0
- package/node_modules/@murphai/query/dist/projection/entity-store.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/projection/entity-store.js +56 -0
- package/node_modules/@murphai/query/dist/projection/entity-store.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/rebuild.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/schema.d.ts +1 -1
- package/node_modules/@murphai/query/dist/projection/schema.js +2 -2
- package/node_modules/@murphai/query/dist/projection/schema.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js +25 -2
- package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js +1 -0
- package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-store.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/protocols.js.map +1 -1
- package/node_modules/@murphai/query/dist/query-projection-types.d.ts +7 -0
- package/node_modules/@murphai/query/dist/query-projection-types.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/query-projection.d.ts +3 -2
- package/node_modules/@murphai/query/dist/query-projection.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/query-projection.js +5 -1
- package/node_modules/@murphai/query/dist/query-projection.js.map +1 -1
- package/node_modules/@murphai/query/dist/read-model.d.ts +4 -0
- package/node_modules/@murphai/query/dist/read-model.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/read-model.js +1 -0
- package/node_modules/@murphai/query/dist/read-model.js.map +1 -1
- package/node_modules/@murphai/query/dist/scheduled-logs.js.map +1 -1
- package/node_modules/@murphai/query/dist/search-shared.js.map +1 -1
- package/node_modules/@murphai/query/dist/search.js.map +1 -1
- package/node_modules/@murphai/query/dist/summaries.js.map +1 -1
- package/node_modules/@murphai/query/dist/timeline.js.map +1 -1
- package/node_modules/@murphai/query/dist/vault-source.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/vault-source.js +39 -3
- package/node_modules/@murphai/query/dist/vault-source.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/candidates.d.ts +5 -2
- package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/candidates.js +305 -7
- package/node_modules/@murphai/query/dist/wearables/candidates.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/dedupe.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/dedupe.js +3 -1
- package/node_modules/@murphai/query/dist/wearables/dedupe.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/observation.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/origin.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/provider-policy.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/public-output.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/public-output.js +6 -79
- package/node_modules/@murphai/query/dist/wearables/public-output.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/selection.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/selection.js +5 -1
- package/node_modules/@murphai/query/dist/wearables/selection.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/sleep-association.d.ts +9 -0
- package/node_modules/@murphai/query/dist/wearables/sleep-association.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/wearables/sleep-association.js +81 -0
- package/node_modules/@murphai/query/dist/wearables/sleep-association.js.map +1 -0
- package/node_modules/@murphai/query/dist/wearables/types.d.ts +29 -4
- package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables.js +50 -50
- package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
- package/node_modules/@murphai/query/package.json +5 -0
- package/node_modules/@murphai/runtime-state/README.md +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-state-fs.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/atomic-write.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/clinical-records-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/clinical-records-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/clinical-records-local-state-descriptors.js +12 -0
- package/node_modules/@murphai/runtime-state/dist/clinical-records-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +65 -31
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.d.ts +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.js +10 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +11 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-email.js +56 -3
- package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-storage.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-storage.js +12 -2
- package/node_modules/@murphai/runtime-state/dist/hosted-storage.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js +2 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/locks.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/process-env.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/process-identity.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts +2 -0
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.js +2 -0
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/shared.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/sqlite-warning-filter.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/ulid.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-agentmail.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-account.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-wizard.js.map +1 -1
- 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 +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services/toolchain.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/README.md +11 -0
- package/node_modules/@murphai/vault-usecases/dist/assistant-vault-paths.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/clinical-records.d.ts +102 -0
- package/node_modules/@murphai/vault-usecases/dist/clinical-records.d.ts.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/clinical-records.js +374 -0
- package/node_modules/@murphai/vault-usecases/dist/clinical-records.js.map +1 -0
- 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 +13 -4
- package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.d.ts +2 -2
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts +3 -3
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/preferences.d.ts +34 -3
- package/node_modules/@murphai/vault-usecases/dist/preferences.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/preferences.js +84 -1
- package/node_modules/@murphai/vault-usecases/dist/preferences.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.d.ts +16 -2
- package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.js +20 -1
- package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing.d.ts +2 -2
- package/node_modules/@murphai/vault-usecases/dist/testing.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts +18 -18
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts +154 -154
- package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js +3 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.d.ts +10 -9
- 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 +2 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.d.ts +35 -35
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +38 -37
- 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 +37 -5
- 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.js +7 -7
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts +2 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.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 +57 -20
- package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.d.ts +20 -10
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.d.ts +6 -6
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts +9 -9
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts +4 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +13 -13
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts +3 -3
- package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +101 -8
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +34 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +33 -33
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-measurement.d.ts +4 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-read.d.ts +8 -8
- 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 +1 -1
- 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 +48 -48
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/vault-services.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/vault-services.js +1 -0
- package/node_modules/@murphai/vault-usecases/dist/vault-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/package.json +8 -0
- package/node_modules/incur/dist/Cli.d.ts +4 -0
- package/node_modules/incur/dist/Cli.js +10 -3
- package/node_modules/incur/dist/SyncSkills.d.ts +2 -0
- package/node_modules/incur/dist/SyncSkills.js +5 -2
- package/node_modules/incur/src/Cli.ts +14 -3
- package/node_modules/incur/src/SyncSkills.ts +9 -2
- package/package.json +6 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/turn-attachment-image-refs.d.ts +0 -15
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/turn-attachment-image-refs.d.ts.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/turn-attachment-image-refs.js +0 -79
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/turn-attachment-image-refs.js.map +0 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction-connect-sources.d.ts.map +0 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction-connect-sources.js.map +0 -1
- package/node_modules/@murphai/messaging-ingress/dist/whatsapp-webhook.d.ts +0 -73
- package/node_modules/@murphai/messaging-ingress/dist/whatsapp-webhook.d.ts.map +0 -1
- package/node_modules/@murphai/messaging-ingress/dist/whatsapp-webhook.js +0 -212
- package/node_modules/@murphai/messaging-ingress/dist/whatsapp-webhook.js.map +0 -1
- package/node_modules/@murphai/operator-config/dist/runtime-errors.d.ts +0 -4
- package/node_modules/@murphai/operator-config/dist/runtime-errors.d.ts.map +0 -1
- package/node_modules/@murphai/operator-config/dist/runtime-errors.js +0 -19
- package/node_modules/@murphai/operator-config/dist/runtime-errors.js.map +0 -1
- package/node_modules/@murphai/operator-config/dist/whatsapp-runtime.d.ts +0 -34
- package/node_modules/@murphai/operator-config/dist/whatsapp-runtime.d.ts.map +0 -1
- package/node_modules/@murphai/operator-config/dist/whatsapp-runtime.js +0 -208
- package/node_modules/@murphai/operator-config/dist/whatsapp-runtime.js.map +0 -1
- package/node_modules/@murphai/vault-usecases/dist/query-id-families.d.ts +0 -4
- package/node_modules/@murphai/vault-usecases/dist/query-id-families.d.ts.map +0 -1
- package/node_modules/@murphai/vault-usecases/dist/query-id-families.js +0 -104
- package/node_modules/@murphai/vault-usecases/dist/query-id-families.js.map +0 -1
- /package/node_modules/@murphai/device-syncd/dist/{providers → config}/junction-connect-sources.d.ts +0 -0
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { assistantTonePreferenceValues, assistantVoiceOptionIdValues, assistantVoiceOptions, MURPH_PRODUCT_ORIGIN, } from '@murphai/contracts';
|
|
3
|
+
import { hostedRuntimeAssistantPersonalizationModelToolRequestSchema, } from '@murphai/hosted-execution/assistant-personalization';
|
|
4
|
+
import { HOSTED_EXECUTION_ASSISTANT_ASK_QUESTION_MAX_CODE_POINTS, HOSTED_EXECUTION_ASSISTANT_ASK_TARGET_LABEL_MAX_CODE_POINTS, } from '@murphai/hosted-execution/contracts';
|
|
5
|
+
import { HOSTED_PLAN_CODES, HOSTED_PRODUCT_FEEDBACK_KINDS, HOSTED_PRODUCT_FEEDBACK_SUMMARY_MAX_LENGTH, HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH, HOSTED_RUNTIME_GROUP_JOIN_OFFER_MESSAGE_TEMPLATE_MAX_LENGTH, HOSTED_RUNTIME_GROUP_KINDS, HOSTED_RUNTIME_NEWSLETTER_HTML_MAX_LENGTH, HOSTED_RUNTIME_NEWSLETTER_SUBJECT_MAX_LENGTH, HOSTED_RUNTIME_NEWSLETTER_TEXT_MAX_LENGTH, sanitizeHostedProductFeedbackSummary, } from '@murphai/hosted-execution/runtime-control';
|
|
6
|
+
import { HOSTED_ASSISTANT_PRODUCT_MODELS, HOSTED_ASSISTANT_REASONING_EFFORTS, HOSTED_ASSISTANT_SOL_MODEL, } from '@murphai/hosted-execution/assistant-model';
|
|
7
|
+
import { HOSTED_VAULT_SHARE_ACTIVITY_DISTANCE_PROJECTION_KIND, HOSTED_VAULT_SHARE_ACTIVITY_DISTANCE_SELECTOR_ACTIVITY_KINDS, HOSTED_VAULT_SHARE_ACTIVITY_MINUTES_PROJECTION_KIND, HOSTED_VAULT_SHARE_ACTIVITY_MINUTES_SELECTOR_ACTIVITY_KINDS, HOSTED_VAULT_SHARE_ACTIVITY_SESSION_COUNT_PROJECTION_KIND, HOSTED_VAULT_SHARE_ACTIVITY_SESSION_COUNT_SELECTOR_ACTIVITY_KINDS, HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_KINDS, HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_SCOPES, buildHostedVaultShareProjectionScopeKey, flattenSharedVaultShareProjectionStore, parseHostedVaultShareProjectionScope, } from '@murphai/hosted-execution/vault-share';
|
|
8
|
+
import { readSharedVaultShareProjectionStore, } from '@murphai/hosted-execution/vault-share-store-node';
|
|
3
9
|
import { buildHostedComputerRunOperationPath, HOSTED_COMPUTER_ACT_CODE_MAX_LENGTH, HOSTED_COMPUTER_ACT_TIMEOUT_MAX_MS, HOSTED_COMPUTER_FINISH_OUTCOMES, HOSTED_COMPUTER_RUNS_PATH, hostedComputerActRequestSchema, hostedComputerOsControlRequestSchema, hostedComputerPauseForUserRequestSchema, } from '@murphai/hosted-execution/computer-use';
|
|
4
10
|
import { assistantMessageReactionSchema, } from '@murphai/operator-config/assistant-cli-contracts';
|
|
5
11
|
import { normalizeNullableString } from '@murphai/operator-config/text/shared';
|
|
12
|
+
import { buildSharedGroupWeeklyMembers, } from '@murphai/query';
|
|
6
13
|
import { normalizeAssistantResponseMediaList } from '../assistant/response-media.js';
|
|
7
14
|
import { buildSafeToolCallValidationDigest, } from '../assistant/tool-validation-digest.js';
|
|
8
15
|
import { executeGenerateImageTool, } from './generate-image-tool.js';
|
|
16
|
+
import { resolveGenerateImageReferences, } from './image-reference-resolver.js';
|
|
9
17
|
import {} from './generate-voice-memo-tool.js';
|
|
10
|
-
import {
|
|
18
|
+
import { executeAssistantStyleDynamicTool, MURPH_ASSISTANT_STYLE_TOOL, readAssistantStyleDynamicToolRequest, } from './dynamic-tools/assistant-style.js';
|
|
19
|
+
export { MURPH_ASSISTANT_STYLE_TOOL } from './dynamic-tools/assistant-style.js';
|
|
20
|
+
import { executeConnectedAppsDynamicTool, MURPH_CONNECTED_APPS_EXECUTE_TOOL, MURPH_CONNECTED_APPS_DYNAMIC_TOOLS, MURPH_CONNECTED_APPS_MANAGE_TOOL, MURPH_CONNECTED_APPS_SEARCH_TOOL, readConnectedAppsDynamicToolRequest, } from './dynamic-tools/connected-apps.js';
|
|
11
21
|
import { executeGenerateVoiceMemoDynamicTool, MURPH_GENERATE_VOICE_MEMO_TOOL, parseGenerateVoiceMemoArguments, } from './dynamic-tools/generate-voice-memo.js';
|
|
12
22
|
import { createPhoneCallRequestKey, MURPH_CREATE_PHONE_CALL_TOOL, readPhoneCallDynamicToolRequest, } from './dynamic-tools/phone-calls.js';
|
|
13
23
|
import { executeGenerateSongDynamicTool, MURPH_GENERATE_SONG_TOOL, parseGenerateSongArguments, } from './dynamic-tools/generate-song.js';
|
|
24
|
+
const MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF = 'skill-assets/murph-character-sheet-v1.png';
|
|
25
|
+
const GENERATE_IMAGE_REFERENCE_IMAGE_REFS_DESCRIPTION = `Optional ordered JPG, PNG, or WebP image refs to use as visual references (up to 16). Refs may be user-sent media under raw/inbox/**, captured media under raw/captures/**, or ${MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF}, Murph's canonical character sheet. Attach ${MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF} whenever Murph itself appears in a generated image. Describe in the prompt how image 1, image 2, etc. should be used.`;
|
|
26
|
+
const GROUP_GENERATED_AVATAR_REFERENCE_IMAGE_REFS_DESCRIPTION = `Optional ordered JPG, PNG, or WebP image refs to use as visual references when action="set_chat_avatar" and avatarSource="generate". Refs may be user-sent media under raw/inbox/**, captured media under raw/captures/**, or ${MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF}, Murph's canonical character sheet. Attach ${MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF} whenever Murph itself appears in a generated avatar.`;
|
|
14
27
|
const HOSTED_COMPUTER_UNKNOWN_OUTCOME_TEXT = 'computer API outcome is unknown after a transport or browser execution failure; call computer_open before retrying Playwright code or taking another step';
|
|
15
28
|
export const MURPH_SEND_PROGRESS_UPDATE_TOOL = {
|
|
16
29
|
namespace: 'murph',
|
|
17
30
|
name: 'send_progress_update',
|
|
18
|
-
description: 'Send a brief, natural user-visible progress update to the current conversation only when longer, tool-heavy, or substantial user-content-inspection work would otherwise leave the user waiting. Use as the first assistant action for genuinely long tasks that require multiple tool steps, involve research or long vault scans, or recover substantial data from PDFs, lab reports, images, screenshots, CSVs, large pasted text, meal/product/supplement labels, workout exports, wearable exports, or health documents. For work likely to finish in about a minute or less, send at most one progress update. If the turn becomes unusually long-running after substantial tool work, you may send
|
|
31
|
+
description: 'Send a brief, natural user-visible progress update to the current conversation only when longer, tool-heavy, or substantial user-content-inspection work would otherwise leave the user waiting. Use as the first assistant action for genuinely long tasks that require multiple tool steps, involve research or long vault scans, or recover substantial data from PDFs, lab reports, images, screenshots, CSVs, large pasted text, meal/product/supplement labels, workout exports, wearable exports, or health documents. For work likely to finish in about a minute or less, send at most one progress update. If the turn becomes unusually long-running after substantial tool work, you may send up to two more brief updates so the user is not left hanging; never send a fourth. Prefer skipping progress updates on quota-sensitive messaging surfaces such as Linq/iMessage unless the update materially improves UX. Skip automatically transcribed voice memo or audio content unless manual media tools or broader long-running work are needed. Do not use for individual tool loops, searches, reads, page checks, clicks, status churn, skill-file reads alone, setup checks, routine single-command vault reads, quick single-step replies, one-shot logging/capture/memory saves that only need a straightforward write, or final conclusions.',
|
|
19
32
|
inputSchema: {
|
|
20
33
|
type: 'object',
|
|
21
34
|
additionalProperties: false,
|
|
@@ -23,7 +36,7 @@ export const MURPH_SEND_PROGRESS_UPDATE_TOOL = {
|
|
|
23
36
|
text: {
|
|
24
37
|
type: 'string',
|
|
25
38
|
minLength: 1,
|
|
26
|
-
description: 'Prefer one short conversational first-person sentence about the immediate next step; use two only when needed to keep the quick note clear. Use contractions when natural. Avoid stiff plan-recitation wording like "I\'m going to..." when a shorter "I\'ll..." or "Taking a look..." works. No markdown links, final answers, lab interpretations, abnormalities, diagnoses, treatment recommendations, or claims not yet verified.',
|
|
39
|
+
description: 'Prefer one short conversational first-person sentence about the immediate next step; use two only when needed to keep the quick note clear. Use contractions when natural. Avoid stiff plan-recitation wording like "I\'m going to..." when a shorter "I\'ll..." or "Taking a look..." works. Write it the way a person would text: everyday words about what the user cares about, never internal mechanics or instruction vocabulary such as "preserving the source", "structured import", "parse", "canonical records", or "delegating" — "Got your labs, pulling the numbers in now" beats "starting the structured lab import". No markdown links, final answers, lab interpretations, abnormalities, diagnoses, treatment recommendations, or claims not yet verified.',
|
|
27
40
|
},
|
|
28
41
|
},
|
|
29
42
|
required: ['text'],
|
|
@@ -79,7 +92,7 @@ export const MURPH_ATTACH_RESPONSE_MEDIA_TOOL = {
|
|
|
79
92
|
export const MURPH_GENERATE_IMAGE_TOOL = {
|
|
80
93
|
namespace: 'murph',
|
|
81
94
|
name: 'generate_image',
|
|
82
|
-
description:
|
|
95
|
+
description: `Generate one image with GPT Image 2, optionally using ordered reference images from vault media or ${MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF}. Attach ${MURPH_CHARACTER_SHEET_REFERENCE_IMAGE_REF}, Murph's canonical character sheet, whenever Murph itself appears in a generated image. When referenceImageRefs is provided, describe in the prompt how image 1, image 2, etc. should be used. When a vault is available, generated images are saved as canonical capture media under raw/captures/** for later reuse. Hosted runs also attach the generated image to the final response; local runs also save it under CODEX_HOME/generated_images.`,
|
|
83
96
|
inputSchema: {
|
|
84
97
|
type: 'object',
|
|
85
98
|
additionalProperties: false,
|
|
@@ -115,7 +128,7 @@ export const MURPH_GENERATE_IMAGE_TOOL = {
|
|
|
115
128
|
type: 'array',
|
|
116
129
|
maxItems: 16,
|
|
117
130
|
default: [],
|
|
118
|
-
description:
|
|
131
|
+
description: GENERATE_IMAGE_REFERENCE_IMAGE_REFS_DESCRIPTION,
|
|
119
132
|
items: {
|
|
120
133
|
type: 'string',
|
|
121
134
|
minLength: 1,
|
|
@@ -160,10 +173,407 @@ export const MURPH_SUBMIT_PRODUCT_FEEDBACK_TOOL = {
|
|
|
160
173
|
required: ['kind', 'summary'],
|
|
161
174
|
},
|
|
162
175
|
};
|
|
176
|
+
export const MURPH_FAMILY_PLAN_TOOL = {
|
|
177
|
+
namespace: 'murph',
|
|
178
|
+
name: 'family_plan',
|
|
179
|
+
description: 'Read the current hosted user\'s Murph Family plan, start Family checkout, or create an invite. Use for Murph Family plan questions, tier/seat status checks, starting Family checkout, and requests to invite a family member on Pulse or Edge. The only supported actions are read_status, start_checkout, and create_invite. For invite cancellation, member removal, member-tier changes, or Family seat/capacity changes, do not invent an action or claim a change; use murph.plan_usage\'s explicit private management handoff. Do not use for family medical history.',
|
|
180
|
+
inputSchema: {
|
|
181
|
+
type: 'object',
|
|
182
|
+
additionalProperties: false,
|
|
183
|
+
properties: {
|
|
184
|
+
action: {
|
|
185
|
+
type: 'string',
|
|
186
|
+
enum: ['read_status', 'start_checkout', 'create_invite'],
|
|
187
|
+
},
|
|
188
|
+
invite: {
|
|
189
|
+
type: 'object',
|
|
190
|
+
additionalProperties: false,
|
|
191
|
+
properties: {
|
|
192
|
+
targetEmail: {
|
|
193
|
+
anyOf: [
|
|
194
|
+
{ type: 'string', minLength: 3, maxLength: 320 },
|
|
195
|
+
{ type: 'null' },
|
|
196
|
+
],
|
|
197
|
+
default: null,
|
|
198
|
+
description: 'Email address for an email-bound web invite when the user provided one.',
|
|
199
|
+
},
|
|
200
|
+
planCode: {
|
|
201
|
+
type: 'string',
|
|
202
|
+
enum: [...HOSTED_PLAN_CODES],
|
|
203
|
+
description: 'Pulse or Edge tier requested for this Family member. Omit for Pulse.',
|
|
204
|
+
},
|
|
205
|
+
targetLabel: {
|
|
206
|
+
anyOf: [
|
|
207
|
+
{ type: 'string', minLength: 1, maxLength: 80 },
|
|
208
|
+
{ type: 'null' },
|
|
209
|
+
],
|
|
210
|
+
default: null,
|
|
211
|
+
description: 'Optional natural label such as mom, dad, brother, or a first name.',
|
|
212
|
+
},
|
|
213
|
+
targetPhoneNumber: {
|
|
214
|
+
anyOf: [
|
|
215
|
+
{ type: 'string', minLength: 1, maxLength: 40 },
|
|
216
|
+
{ type: 'null' },
|
|
217
|
+
],
|
|
218
|
+
default: null,
|
|
219
|
+
description: 'Phone number for a phone-bound invite when the user provided one.',
|
|
220
|
+
},
|
|
221
|
+
targetTelegramUsername: {
|
|
222
|
+
anyOf: [
|
|
223
|
+
{ type: 'string', minLength: 5, maxLength: 32 },
|
|
224
|
+
{ type: 'null' },
|
|
225
|
+
],
|
|
226
|
+
default: null,
|
|
227
|
+
description: 'Telegram username without @ when the user provided one.',
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
description: 'Invite target for create_invite. Optional context for start_checkout when the user mentions the person they want to invite; no invite token is created until Family billing is active.',
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
required: ['action'],
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
export const MURPH_PLAN_USAGE_TOOL = {
|
|
237
|
+
namespace: 'murph',
|
|
238
|
+
name: 'plan_usage',
|
|
239
|
+
description: `Read the current hosted member's cost-weighted included usage, reset or trial-end date, and any server-authorized plan action. Use only for an explicit plan/included-usage question, an explicit request to manage billing or an unsupported Family account change, or a manual 1:1 check. Never call it automatically during onboarding or as a watcher. Cost-weighted included usage is not a literal token count or cash balance. Communicate usage only through usedPercent and remainingPercent; never expose, infer, or format internal currency amounts as usage progress. Percentages, dates, and forecasts are approximate; if forecast is null, invent no estimate, precision, scarcity, or urgency. Never plead, imply Murph will die, use existential guilt, shame, or pressure. Mention server-authorized start or upgrade actions only when recommendedAction is non-null and relevant to the member's request; use its label and URL. For an explicit billing-management or unsupported Family-management request, direct the member to ${MURPH_PRODUCT_ORIGIN}/settings#subscription only after a private result whose status is active or exhausted, or whose reason is trial_conversion_pending; make clear that the tool only read status and made no billing or Family change. Describe this as a neutral Settings browser handoff, not a plan recommendation or billing action. Do not provide that private account-management link for group_not_supported or hosted_access_inactive. This read-only tool does not change billing. It is not a group balance or top-up surface. Never ask a group for money, claim a shared balance, or name a payer.`,
|
|
240
|
+
inputSchema: {
|
|
241
|
+
type: 'object',
|
|
242
|
+
additionalProperties: false,
|
|
243
|
+
properties: {},
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
export const MURPH_PERSONALIZATION_TOOL = {
|
|
247
|
+
namespace: 'murph',
|
|
248
|
+
name: 'personalization',
|
|
249
|
+
description: 'Read the current private hosted member\'s effective Murph tone, voice, and model context, or atomically update tone and voice. Use murph.assistant_configuration for model or reasoning changes.',
|
|
250
|
+
inputSchema: {
|
|
251
|
+
oneOf: [
|
|
252
|
+
{
|
|
253
|
+
type: 'object',
|
|
254
|
+
additionalProperties: false,
|
|
255
|
+
properties: {
|
|
256
|
+
action: {
|
|
257
|
+
type: 'string',
|
|
258
|
+
enum: ['read'],
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
required: ['action'],
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
type: 'object',
|
|
265
|
+
additionalProperties: false,
|
|
266
|
+
properties: {
|
|
267
|
+
action: {
|
|
268
|
+
type: 'string',
|
|
269
|
+
enum: ['update'],
|
|
270
|
+
},
|
|
271
|
+
tone: {
|
|
272
|
+
type: 'string',
|
|
273
|
+
enum: assistantTonePreferenceValues,
|
|
274
|
+
},
|
|
275
|
+
voice: {
|
|
276
|
+
type: 'string',
|
|
277
|
+
enum: assistantVoiceOptionIdValues,
|
|
278
|
+
description: assistantVoiceOptions
|
|
279
|
+
.map((option) => `${option.label}=${option.id}`)
|
|
280
|
+
.join(', '),
|
|
281
|
+
},
|
|
282
|
+
},
|
|
283
|
+
required: ['action'],
|
|
284
|
+
anyOf: [
|
|
285
|
+
{ required: ['tone'] },
|
|
286
|
+
{ required: ['voice'] },
|
|
287
|
+
],
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
export const MURPH_ASSISTANT_CONFIGURATION_TOOL = {
|
|
293
|
+
namespace: 'murph',
|
|
294
|
+
name: 'assistant_configuration',
|
|
295
|
+
description: 'Read the current hosted turn model and reasoning effort plus the models and reasoning efforts available for the next turn, or directly save an explicit user-requested change. Luna is the most usage-efficient model, Terra is the default, and Sol requires an active paid Edge plan. The lowest supported reasoning effort is low; these hosted models do not support none. Use action="read" whenever configuration facts are needed. Use action="update" only when the current user-sourced turn explicitly asks for the exact change. Never switch models or reasoning automatically because usage is low. Do not claim a change is saved unless the result says updated or unchanged. A saved update does not change the running turn and takes effect on the next turn.',
|
|
296
|
+
inputSchema: {
|
|
297
|
+
type: 'object',
|
|
298
|
+
additionalProperties: false,
|
|
299
|
+
properties: {
|
|
300
|
+
action: {
|
|
301
|
+
type: 'string',
|
|
302
|
+
enum: ['read', 'update'],
|
|
303
|
+
},
|
|
304
|
+
model: {
|
|
305
|
+
type: 'string',
|
|
306
|
+
enum: [...HOSTED_ASSISTANT_PRODUCT_MODELS],
|
|
307
|
+
description: 'Optional next-turn model for action="update".',
|
|
308
|
+
},
|
|
309
|
+
reasoningEffort: {
|
|
310
|
+
type: 'string',
|
|
311
|
+
enum: [...HOSTED_ASSISTANT_REASONING_EFFORTS],
|
|
312
|
+
description: 'Optional next-turn reasoning effort for action="update".',
|
|
313
|
+
},
|
|
314
|
+
},
|
|
315
|
+
required: ['action'],
|
|
316
|
+
},
|
|
317
|
+
};
|
|
318
|
+
const GROUP_VAULT_SHARE_FIXED_PROJECTION_SCOPE_SCHEMA = {
|
|
319
|
+
type: 'object',
|
|
320
|
+
additionalProperties: false,
|
|
321
|
+
required: ['projectionKind'],
|
|
322
|
+
properties: {
|
|
323
|
+
projectionKind: {
|
|
324
|
+
type: 'string',
|
|
325
|
+
enum: [...HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_KINDS],
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
};
|
|
329
|
+
const GROUP_VAULT_SHARE_ACTIVITY_MINUTES_PROJECTION_SCOPE_SCHEMA = {
|
|
330
|
+
type: 'object',
|
|
331
|
+
additionalProperties: false,
|
|
332
|
+
required: ['projectionKind', 'selector'],
|
|
333
|
+
properties: {
|
|
334
|
+
projectionKind: {
|
|
335
|
+
type: 'string',
|
|
336
|
+
enum: [HOSTED_VAULT_SHARE_ACTIVITY_MINUTES_PROJECTION_KIND],
|
|
337
|
+
},
|
|
338
|
+
selector: {
|
|
339
|
+
type: 'object',
|
|
340
|
+
additionalProperties: false,
|
|
341
|
+
required: ['activityKind'],
|
|
342
|
+
properties: {
|
|
343
|
+
activityKind: {
|
|
344
|
+
type: 'string',
|
|
345
|
+
enum: [...HOSTED_VAULT_SHARE_ACTIVITY_MINUTES_SELECTOR_ACTIVITY_KINDS],
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
description: 'Required for activity-minutes-days.v1.',
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
};
|
|
352
|
+
const GROUP_VAULT_SHARE_ACTIVITY_DISTANCE_PROJECTION_SCOPE_SCHEMA = {
|
|
353
|
+
type: 'object',
|
|
354
|
+
additionalProperties: false,
|
|
355
|
+
required: ['projectionKind', 'selector'],
|
|
356
|
+
properties: {
|
|
357
|
+
projectionKind: {
|
|
358
|
+
type: 'string',
|
|
359
|
+
enum: [HOSTED_VAULT_SHARE_ACTIVITY_DISTANCE_PROJECTION_KIND],
|
|
360
|
+
},
|
|
361
|
+
selector: {
|
|
362
|
+
type: 'object',
|
|
363
|
+
additionalProperties: false,
|
|
364
|
+
required: ['activityKind'],
|
|
365
|
+
properties: {
|
|
366
|
+
activityKind: {
|
|
367
|
+
type: 'string',
|
|
368
|
+
enum: [...HOSTED_VAULT_SHARE_ACTIVITY_DISTANCE_SELECTOR_ACTIVITY_KINDS],
|
|
369
|
+
},
|
|
370
|
+
},
|
|
371
|
+
description: 'Required for activity-distance-days.v1.',
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
};
|
|
375
|
+
const GROUP_VAULT_SHARE_ACTIVITY_SESSION_COUNT_PROJECTION_SCOPE_SCHEMA = {
|
|
376
|
+
type: 'object',
|
|
377
|
+
additionalProperties: false,
|
|
378
|
+
required: ['projectionKind', 'selector'],
|
|
379
|
+
properties: {
|
|
380
|
+
projectionKind: {
|
|
381
|
+
type: 'string',
|
|
382
|
+
enum: [HOSTED_VAULT_SHARE_ACTIVITY_SESSION_COUNT_PROJECTION_KIND],
|
|
383
|
+
},
|
|
384
|
+
selector: {
|
|
385
|
+
type: 'object',
|
|
386
|
+
additionalProperties: false,
|
|
387
|
+
required: ['activityKind'],
|
|
388
|
+
properties: {
|
|
389
|
+
activityKind: {
|
|
390
|
+
type: 'string',
|
|
391
|
+
enum: [...HOSTED_VAULT_SHARE_ACTIVITY_SESSION_COUNT_SELECTOR_ACTIVITY_KINDS],
|
|
392
|
+
},
|
|
393
|
+
},
|
|
394
|
+
description: 'Required for activity-session-count-days.v1.',
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
};
|
|
398
|
+
const GROUP_VAULT_SHARE_PROJECTION_SCOPE_SCHEMA = {
|
|
399
|
+
oneOf: [
|
|
400
|
+
GROUP_VAULT_SHARE_FIXED_PROJECTION_SCOPE_SCHEMA,
|
|
401
|
+
GROUP_VAULT_SHARE_ACTIVITY_MINUTES_PROJECTION_SCOPE_SCHEMA,
|
|
402
|
+
GROUP_VAULT_SHARE_ACTIVITY_DISTANCE_PROJECTION_SCOPE_SCHEMA,
|
|
403
|
+
GROUP_VAULT_SHARE_ACTIVITY_SESSION_COUNT_PROJECTION_SCOPE_SCHEMA,
|
|
404
|
+
],
|
|
405
|
+
};
|
|
406
|
+
export const MURPH_GROUP_TOOL = {
|
|
407
|
+
namespace: 'murph',
|
|
408
|
+
name: 'group',
|
|
409
|
+
description: 'Use action="ask" only from a personal direct conversation when the member wants an answer from one of their joined group Murphs. Supply the bounded natural-language question and, only when useful for choosing among multiple groups, the visible groupLabel the member would recognize. For this action, the runtime resolves membership and every internal target automatically; never supply or ask the member for membership, group, runtime, mailbox, session, callback, or route identifiers. The result is asynchronous, so an accepted request will return to the personal conversation later. ' +
|
|
410
|
+
'Use action="list_memberships" in a personal Murph conversation to list the current member\'s hosted groups, their opaque membershipId, role, each group\'s requested permissions, the member\'s active grants, and the first-party permissionsUrl when the member owns the group and an owner-authorized join link exists. profile-name.v0 means the group is allowed to receive the member\'s preferred name; group-email.v0 means it is allowed to resolve the member\'s verified email for group email; hrv-days.v0 and other health scopes are separate explicit grants. A grant proves control-plane permission only, not that fresh source data exists or has already reached the group runtime. In a personal Murph conversation, when the current member explicitly asks to leave one of their hosted groups, call list_memberships first and then call action="leave_membership" with the exact nonempty membershipId returned for the chosen group. Never guess a membershipId, accept one supplied by the user, target a group by name alone, or construct, use, or expose a join URL to leave. Do not use leave_membership in a group conversation or for another person. A successful leave ends that member\'s Murph group membership and future sharing; it does not remove them from the iMessage chat or erase historical messages, provider history, backups, or third-party copies. Owners cannot leave their own group. Read the current hosted group and its member roster (member ids, chat handles, and each member\'s granted share kinds) with action="read_current", request an update to both the current hosted group display name and current iMessage group chat title with action="update_display_name", request an update to the current iMessage group avatar with action="set_chat_avatar", mint the shareable group join link with action="create_join_link", or post a server-owned like-to-consent offer into the current group chat with action="post_join_offer". In a connected group-chat turn, if read_current returns status="none", no hosted group record exists yet. When the group asks to create the group, join, or approve sharing, continue with create_join_link or post_join_offer instead of claiming that an external workspace-linking step is required. When an existing group adds a permission, default to post_join_offer; do not tell members to join again or make the link the primary action. update_display_name sends a provider request for the upstream iMessage group chat title on the current route-authorized group chat and stores the same name in Murph after the provider accepts the request. set_chat_avatar sends a provider request for the upstream iMessage group icon on the current route-authorized group chat after the runtime preflights chat authority and prepares a hosted image URL; generated avatar images are saved as capture media under raw/captures/** when a vault is available. A join link grants membership and shares the joiner\'s memory-backed preferred display name with this group runtime; optional permissions stay individually selected on the join page. A group offer uses your short natural messageTemplate and {{share_scope}} to state exactly what liking the offer consents to share, then includes {{join_url}} only as the customize path. Pass displayName on create_join_link or post_join_offer only when it is the name the group chose. Liking grants membership when needed and adds only the posted permission snapshot; existing members keep their membership and other grants. Do not use a fixed script. When these actions are available for the current connected group-chat turn, use action="read_chat_participants" to see who is in the chat and whether each participant already uses Murph; use action="share_contact_card" to drop your contact card so participants can save you and text you directly. Use action="revoke_own_email_share" only when the current sender asks to stop receiving group newsletter email; the runtime identifies the current sender and revokes only that sender\'s group-email.v0 grant. This tool does not otherwise manage members, grant Family billing access, grant private chat access, grant raw vault access, or grant email sharing except through an explicit group-email.v0 join page or offer.',
|
|
411
|
+
inputSchema: {
|
|
412
|
+
type: 'object',
|
|
413
|
+
additionalProperties: false,
|
|
414
|
+
properties: {
|
|
415
|
+
action: {
|
|
416
|
+
type: 'string',
|
|
417
|
+
enum: [
|
|
418
|
+
'ask',
|
|
419
|
+
'read_current',
|
|
420
|
+
'list_memberships',
|
|
421
|
+
'leave_membership',
|
|
422
|
+
'update_display_name',
|
|
423
|
+
'create_join_link',
|
|
424
|
+
'post_join_offer',
|
|
425
|
+
'read_chat_participants',
|
|
426
|
+
'set_chat_avatar',
|
|
427
|
+
'share_contact_card',
|
|
428
|
+
'revoke_own_email_share',
|
|
429
|
+
],
|
|
430
|
+
},
|
|
431
|
+
question: {
|
|
432
|
+
type: 'string',
|
|
433
|
+
minLength: 1,
|
|
434
|
+
maxLength: HOSTED_EXECUTION_ASSISTANT_ASK_QUESTION_MAX_CODE_POINTS,
|
|
435
|
+
description: 'Required only for action="ask". Ask one self-contained natural-language question whose answer may use the joined group\'s read-only context.',
|
|
436
|
+
},
|
|
437
|
+
groupLabel: {
|
|
438
|
+
type: 'string',
|
|
439
|
+
minLength: 1,
|
|
440
|
+
maxLength: HOSTED_EXECUTION_ASSISTANT_ASK_TARGET_LABEL_MAX_CODE_POINTS,
|
|
441
|
+
description: 'Optional only for action="ask". A visible group name the member would recognize, used only to disambiguate among joined groups; never an internal identifier.',
|
|
442
|
+
},
|
|
443
|
+
displayName: {
|
|
444
|
+
type: 'string',
|
|
445
|
+
minLength: 1,
|
|
446
|
+
maxLength: HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH,
|
|
447
|
+
description: 'Group display name. Required for action="update_display_name", which requests the iMessage group chat title update and stores the same hosted group label; optional for action="create_join_link" or action="post_join_offer" only when it is the name the group chose.',
|
|
448
|
+
},
|
|
449
|
+
membershipId: {
|
|
450
|
+
type: 'string',
|
|
451
|
+
minLength: 1,
|
|
452
|
+
description: 'Required only for action="leave_membership". Use the exact opaque membershipId from the immediately preceding list_memberships result; never guess it or take it from the user.',
|
|
453
|
+
},
|
|
454
|
+
avatarSource: {
|
|
455
|
+
type: 'string',
|
|
456
|
+
enum: ['generate', 'image_ref'],
|
|
457
|
+
description: 'Required for action="set_chat_avatar". Use "generate" to create a new square avatar from prompt, or "image_ref" to reuse one user-sent JPG, PNG, or WebP image ref.',
|
|
458
|
+
},
|
|
459
|
+
prompt: {
|
|
460
|
+
type: 'string',
|
|
461
|
+
minLength: 1,
|
|
462
|
+
maxLength: 4000,
|
|
463
|
+
description: 'Required for action="set_chat_avatar" with avatarSource="generate". Prompt for one square group chat avatar image.',
|
|
464
|
+
},
|
|
465
|
+
imageRef: {
|
|
466
|
+
type: 'string',
|
|
467
|
+
minLength: 1,
|
|
468
|
+
maxLength: 1024,
|
|
469
|
+
description: 'Required for action="set_chat_avatar" with avatarSource="image_ref". A user-sent JPG, PNG, or WebP ref under raw/inbox/** or raw/captures/**.',
|
|
470
|
+
},
|
|
471
|
+
size: {
|
|
472
|
+
type: 'string',
|
|
473
|
+
enum: ['1024x1024'],
|
|
474
|
+
default: '1024x1024',
|
|
475
|
+
description: 'For generated group avatars. Group avatars are square.',
|
|
476
|
+
},
|
|
477
|
+
quality: {
|
|
478
|
+
type: 'string',
|
|
479
|
+
enum: ['low', 'medium', 'high'],
|
|
480
|
+
default: 'medium',
|
|
481
|
+
},
|
|
482
|
+
outputFormat: {
|
|
483
|
+
type: 'string',
|
|
484
|
+
enum: ['webp', 'png', 'jpeg'],
|
|
485
|
+
default: 'webp',
|
|
486
|
+
},
|
|
487
|
+
alt: {
|
|
488
|
+
anyOf: [
|
|
489
|
+
{ type: 'string', minLength: 1, maxLength: 500 },
|
|
490
|
+
{ type: 'null' },
|
|
491
|
+
],
|
|
492
|
+
default: null,
|
|
493
|
+
description: 'Optional alt text for the generated or reused avatar image.',
|
|
494
|
+
},
|
|
495
|
+
referenceImageRefs: {
|
|
496
|
+
type: 'array',
|
|
497
|
+
maxItems: 16,
|
|
498
|
+
default: [],
|
|
499
|
+
description: GROUP_GENERATED_AVATAR_REFERENCE_IMAGE_REFS_DESCRIPTION,
|
|
500
|
+
items: {
|
|
501
|
+
type: 'string',
|
|
502
|
+
minLength: 1,
|
|
503
|
+
maxLength: 1024,
|
|
504
|
+
},
|
|
505
|
+
},
|
|
506
|
+
kind: {
|
|
507
|
+
type: 'string',
|
|
508
|
+
enum: [...HOSTED_RUNTIME_GROUP_KINDS],
|
|
509
|
+
description: 'Optional group kind when creating a join link.',
|
|
510
|
+
},
|
|
511
|
+
requestedVaultShareProjectionScopes: {
|
|
512
|
+
type: 'array',
|
|
513
|
+
maxItems: HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_SCOPES.length,
|
|
514
|
+
items: GROUP_VAULT_SHARE_PROJECTION_SCOPE_SCHEMA,
|
|
515
|
+
description: 'Optional bounded health projection scopes the join page may offer joining members. Joining never shares them automatically; each member approves their own selection. Use activity-minutes-days.v1 with a recognized activity alias, activity-distance-days.v1 with a distance-capable movement alias for daily distance plus session count, or activity-session-count-days.v1 with a recognized activity/intervention alias.',
|
|
516
|
+
},
|
|
517
|
+
projectionScopes: {
|
|
518
|
+
type: 'array',
|
|
519
|
+
maxItems: HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_SCOPES.length,
|
|
520
|
+
items: GROUP_VAULT_SHARE_PROJECTION_SCOPE_SCHEMA,
|
|
521
|
+
description: 'Optional bounded health projections that liking the server-owned offer message will add as a fixed permission snapshot. Existing membership and other grants remain unchanged. The server-filled {{share_scope}} placeholder always states that preferred display name is shared too.',
|
|
522
|
+
},
|
|
523
|
+
messageTemplate: {
|
|
524
|
+
type: 'string',
|
|
525
|
+
minLength: 1,
|
|
526
|
+
maxLength: HOSTED_RUNTIME_GROUP_JOIN_OFFER_MESSAGE_TEMPLATE_MAX_LENGTH,
|
|
527
|
+
description: 'Required for action="post_join_offer". Write one short natural group-chat message, not a fixed script. Lead with the exact words "Like this message" and immediately say what liking it consents to share. For an existing group, frame this as opting in to the new permission, never joining or rejoining. Include {{share_scope}} exactly once where the server inserts the exact shared-scope phrase. Include {{join_url}} exactly once as the secondary customize path so members can share more or less. Do not include any other URL.',
|
|
528
|
+
},
|
|
529
|
+
},
|
|
530
|
+
required: ['action'],
|
|
531
|
+
},
|
|
532
|
+
};
|
|
533
|
+
export const MURPH_NEWSLETTER_TOOL = {
|
|
534
|
+
namespace: 'murph',
|
|
535
|
+
name: 'newsletter',
|
|
536
|
+
description: 'Prepare or send the scheduled group health newsletter. `prepare` returns recipient eligibility, the occurrence reference, and current-week shared facts filtered to exact live email and health-share grants; compose only from its members. Each turn allows one prepare attempt and at most one send attempt. `send` durably queues recipient-scoped delivery and may return `accepted` while that outbox work is pending; stop after that result and do not claim provider completion. Start the subject with the exact name in the current scheduled automation instructions, never a generic label. Send the first edition only after the setup notice and opt-out window. This tool sends one shared email thread, never exposes addresses or grant metadata, and does not manage the automation.',
|
|
537
|
+
inputSchema: {
|
|
538
|
+
type: 'object',
|
|
539
|
+
additionalProperties: false,
|
|
540
|
+
properties: {
|
|
541
|
+
action: {
|
|
542
|
+
type: 'string',
|
|
543
|
+
enum: ['prepare', 'send'],
|
|
544
|
+
},
|
|
545
|
+
groupId: {
|
|
546
|
+
type: 'string',
|
|
547
|
+
minLength: 1,
|
|
548
|
+
},
|
|
549
|
+
subject: {
|
|
550
|
+
type: 'string',
|
|
551
|
+
minLength: 1,
|
|
552
|
+
maxLength: HOSTED_RUNTIME_NEWSLETTER_SUBJECT_MAX_LENGTH,
|
|
553
|
+
},
|
|
554
|
+
html: {
|
|
555
|
+
type: 'string',
|
|
556
|
+
minLength: 1,
|
|
557
|
+
maxLength: HOSTED_RUNTIME_NEWSLETTER_HTML_MAX_LENGTH,
|
|
558
|
+
},
|
|
559
|
+
text: {
|
|
560
|
+
anyOf: [
|
|
561
|
+
{
|
|
562
|
+
type: 'string',
|
|
563
|
+
maxLength: HOSTED_RUNTIME_NEWSLETTER_TEXT_MAX_LENGTH,
|
|
564
|
+
},
|
|
565
|
+
{ type: 'null' },
|
|
566
|
+
],
|
|
567
|
+
default: null,
|
|
568
|
+
},
|
|
569
|
+
},
|
|
570
|
+
required: ['action', 'groupId'],
|
|
571
|
+
},
|
|
572
|
+
};
|
|
163
573
|
export const MURPH_SEND_VAULT_FILE_TOOL = {
|
|
164
574
|
namespace: 'murph',
|
|
165
575
|
name: 'send_vault_file',
|
|
166
|
-
description: "Securely prepare one existing file from the user's vault for the current iMessage conversation. Use a normalized vault-relative file path. When approval is pending,
|
|
576
|
+
description: "Securely prepare one existing file from the user's vault for the current iMessage conversation. Use a normalized vault-relative file path. When approval is pending, explain that approval is required; the runtime adds the exact link outside model context. When approval is approved, attach the file through your normal reply path and write a natural acknowledgment instead of reciting internal queue or delivery-status wording. Do not claim final iMessage delivery unless later delivery evidence confirms it. It does not reveal file bytes to the model and does not support arbitrary recipients.",
|
|
167
577
|
inputSchema: {
|
|
168
578
|
type: 'object',
|
|
169
579
|
additionalProperties: false,
|
|
@@ -277,7 +687,7 @@ export const MURPH_COMPUTER_ACT_TOOL = {
|
|
|
277
687
|
export const MURPH_COMPUTER_OS_CONTROL_TOOL = {
|
|
278
688
|
namespace: 'murph',
|
|
279
689
|
name: 'computer_os_control',
|
|
280
|
-
description: 'Fallback only: run one bounded OS-level mouse or keyboard action
|
|
690
|
+
description: 'Fallback only: run one bounded OS-level mouse or keyboard action when computer_act cannot reliably operate the current Kernel page, including a visible enabled control that remains unresponsive after one safe Playwright alternative and a current-state check. Prefer computer_act for normal automation; obtain a fresh bounding box immediately before a coordinate action, and set numClicks to 1 for every fallback click. Never use OS control as a blind second click when a prior attempt may have caused a side effect: use computer_open to prove it did not happen first. After OS control, use computer_open to verify page state, and do not act again if a purchase, booking, submission, or other effect remains ambiguous. Do not use for passwords, payment details, one-time codes, tokens, or sensitive private input.',
|
|
281
691
|
inputSchema: MURPH_COMPUTER_OS_CONTROL_INPUT_SCHEMA,
|
|
282
692
|
};
|
|
283
693
|
export const MURPH_COMPUTER_PAUSE_FOR_USER_TOOL = {
|
|
@@ -334,9 +744,16 @@ export const MURPH_COMPUTER_FINISH_RUN_TOOL = {
|
|
|
334
744
|
};
|
|
335
745
|
const MURPH_BASE_DYNAMIC_TOOLS = [
|
|
336
746
|
MURPH_SEND_PROGRESS_UPDATE_TOOL,
|
|
747
|
+
MURPH_ASSISTANT_STYLE_TOOL,
|
|
337
748
|
MURPH_ATTACH_RESPONSE_MEDIA_TOOL,
|
|
338
749
|
MURPH_GENERATE_IMAGE_TOOL,
|
|
339
750
|
MURPH_GENERATE_VOICE_MEMO_TOOL,
|
|
751
|
+
MURPH_ASSISTANT_CONFIGURATION_TOOL,
|
|
752
|
+
MURPH_PERSONALIZATION_TOOL,
|
|
753
|
+
MURPH_FAMILY_PLAN_TOOL,
|
|
754
|
+
MURPH_PLAN_USAGE_TOOL,
|
|
755
|
+
MURPH_GROUP_TOOL,
|
|
756
|
+
MURPH_NEWSLETTER_TOOL,
|
|
340
757
|
MURPH_GENERATE_SONG_TOOL,
|
|
341
758
|
MURPH_SUBMIT_PRODUCT_FEEDBACK_TOOL,
|
|
342
759
|
MURPH_SEND_VAULT_FILE_TOOL,
|
|
@@ -364,15 +781,24 @@ const defaultOn = (read) => (a) => read(a) !== false;
|
|
|
364
781
|
const defaultOff = (read) => (a) => read(a) === true;
|
|
365
782
|
const TOOL_AVAILABILITY = new Map([
|
|
366
783
|
[MURPH_SEND_PROGRESS_UPDATE_TOOL, defaultOn((a) => a.progressUpdatesAvailable)],
|
|
784
|
+
[MURPH_ASSISTANT_STYLE_TOOL, defaultOff((a) => a.assistantStyleSettingsAvailable)],
|
|
367
785
|
[MURPH_FINISH_WITHOUT_REPLY_TOOL, defaultOn((a) => a.allowFinishWithoutReply)],
|
|
368
786
|
[MURPH_REACT_TO_MESSAGE_TOOL, defaultOff((a) => a.allowMessageReactions)],
|
|
369
787
|
[MURPH_SUBMIT_PRODUCT_FEEDBACK_TOOL, defaultOff((a) => a.productFeedbackAvailable)],
|
|
788
|
+
[MURPH_ASSISTANT_CONFIGURATION_TOOL, defaultOff((a) => a.assistantConfigurationAvailable)],
|
|
789
|
+
[MURPH_FAMILY_PLAN_TOOL, defaultOff((a) => a.familyPlanAvailable)],
|
|
790
|
+
[MURPH_PLAN_USAGE_TOOL, defaultOff((a) => a.planUsageAvailable)],
|
|
791
|
+
[MURPH_GROUP_TOOL, defaultOff((a) => a.groupAvailable)],
|
|
792
|
+
[MURPH_NEWSLETTER_TOOL, defaultOff((a) => a.newsletterAvailable)],
|
|
793
|
+
[MURPH_PERSONALIZATION_TOOL, defaultOff((a) => a.personalizationAvailable)],
|
|
370
794
|
[MURPH_GENERATE_VOICE_MEMO_TOOL, defaultOff((a) => a.voiceMemoGenerationAvailable)],
|
|
371
795
|
[MURPH_GENERATE_SONG_TOOL, defaultOff((a) => a.voiceMemoGenerationAvailable)],
|
|
372
796
|
[MURPH_SEND_VAULT_FILE_TOOL, defaultOff((a) => a.vaultFileSendAvailable)],
|
|
373
797
|
[MURPH_CREATE_PHONE_CALL_TOOL, defaultOff((a) => a.phoneCallsAvailable)],
|
|
374
798
|
...MURPH_COMPUTER_DYNAMIC_TOOLS.map((tool) => [tool, defaultOff((a) => a.computerToolsAvailable)]),
|
|
375
|
-
|
|
799
|
+
[MURPH_CONNECTED_APPS_MANAGE_TOOL, defaultOff((a) => a.connectedAppsAvailable && a.connectedAppsManageAvailable !== false)],
|
|
800
|
+
[MURPH_CONNECTED_APPS_SEARCH_TOOL, defaultOff((a) => a.connectedAppsAvailable)],
|
|
801
|
+
[MURPH_CONNECTED_APPS_EXECUTE_TOOL, defaultOff((a) => a.connectedAppsAvailable)],
|
|
376
802
|
]);
|
|
377
803
|
export function resolveMurphDynamicTools(availability) {
|
|
378
804
|
return MURPH_DYNAMIC_TOOLS.filter((tool) => (TOOL_AVAILABILITY.get(tool) ?? ALWAYS_AVAILABLE)(availability));
|
|
@@ -400,16 +826,194 @@ const generateImageArgumentsSchema = z
|
|
|
400
826
|
referenceImageRefs: z
|
|
401
827
|
.array(z.string().trim().min(1).max(1024))
|
|
402
828
|
.max(16)
|
|
829
|
+
.describe(GENERATE_IMAGE_REFERENCE_IMAGE_REFS_DESCRIPTION)
|
|
403
830
|
.default([]),
|
|
404
831
|
size: z.enum(['1024x1024', '1024x1536', '1536x1024']).default('1024x1024'),
|
|
405
832
|
})
|
|
406
833
|
.strict();
|
|
834
|
+
const GROUP_JOIN_OFFER_JOIN_URL_PLACEHOLDER = '{{join_url}}';
|
|
835
|
+
const GROUP_JOIN_OFFER_SHARE_SCOPE_PLACEHOLDER = '{{share_scope}}';
|
|
836
|
+
function hasUsableGroupJoinOfferPlaceholders(messageTemplate) {
|
|
837
|
+
return hasPlaceholderExactlyOnce(messageTemplate, GROUP_JOIN_OFFER_SHARE_SCOPE_PLACEHOLDER) && hasPlaceholderExactlyOnce(messageTemplate, GROUP_JOIN_OFFER_JOIN_URL_PLACEHOLDER);
|
|
838
|
+
}
|
|
839
|
+
function hasPlaceholderExactlyOnce(messageTemplate, placeholder) {
|
|
840
|
+
return (messageTemplate.includes(placeholder)
|
|
841
|
+
&& messageTemplate.indexOf(placeholder) === messageTemplate.lastIndexOf(placeholder));
|
|
842
|
+
}
|
|
843
|
+
const selectableVaultShareProjectionScopeByKey = new Map(HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_SCOPES.map((scope) => [
|
|
844
|
+
buildHostedVaultShareProjectionScopeKey(scope),
|
|
845
|
+
scope,
|
|
846
|
+
]));
|
|
847
|
+
const groupVaultShareProjectionScopeSchema = z.unknown().transform((value, context) => {
|
|
848
|
+
let parsedScope;
|
|
849
|
+
try {
|
|
850
|
+
parsedScope = parseHostedVaultShareProjectionScope(value, 'murph.group vault share projection scope');
|
|
851
|
+
}
|
|
852
|
+
catch (error) {
|
|
853
|
+
context.addIssue({
|
|
854
|
+
code: z.ZodIssueCode.custom,
|
|
855
|
+
message: error instanceof Error
|
|
856
|
+
? error.message
|
|
857
|
+
: 'Vault share projection scope is not supported.',
|
|
858
|
+
});
|
|
859
|
+
return z.NEVER;
|
|
860
|
+
}
|
|
861
|
+
const scope = selectableVaultShareProjectionScopeByKey.get(buildHostedVaultShareProjectionScopeKey(parsedScope));
|
|
862
|
+
if (!scope) {
|
|
863
|
+
context.addIssue({
|
|
864
|
+
code: z.ZodIssueCode.custom,
|
|
865
|
+
message: 'Vault share projection scope is not selectable.',
|
|
866
|
+
});
|
|
867
|
+
return z.NEVER;
|
|
868
|
+
}
|
|
869
|
+
return scope;
|
|
870
|
+
});
|
|
871
|
+
const groupArgumentsSchema = z.discriminatedUnion('action', [
|
|
872
|
+
z
|
|
873
|
+
.object({
|
|
874
|
+
action: z.literal('ask'),
|
|
875
|
+
groupLabel: z
|
|
876
|
+
.string()
|
|
877
|
+
.trim()
|
|
878
|
+
.min(1)
|
|
879
|
+
.refine((value) => Array.from(value).length
|
|
880
|
+
<= HOSTED_EXECUTION_ASSISTANT_ASK_TARGET_LABEL_MAX_CODE_POINTS, { message: 'groupLabel exceeds the Unicode code-point limit' })
|
|
881
|
+
.optional(),
|
|
882
|
+
question: z
|
|
883
|
+
.string()
|
|
884
|
+
.trim()
|
|
885
|
+
.min(1)
|
|
886
|
+
.refine((value) => Array.from(value).length
|
|
887
|
+
<= HOSTED_EXECUTION_ASSISTANT_ASK_QUESTION_MAX_CODE_POINTS, { message: 'question exceeds the Unicode code-point limit' }),
|
|
888
|
+
})
|
|
889
|
+
.strict(),
|
|
890
|
+
z
|
|
891
|
+
.object({
|
|
892
|
+
action: z.literal('read_current'),
|
|
893
|
+
})
|
|
894
|
+
.strict(),
|
|
895
|
+
z
|
|
896
|
+
.object({
|
|
897
|
+
action: z.literal('list_memberships'),
|
|
898
|
+
})
|
|
899
|
+
.strict(),
|
|
900
|
+
z
|
|
901
|
+
.object({
|
|
902
|
+
action: z.literal('leave_membership'),
|
|
903
|
+
membershipId: z.string().trim().min(1),
|
|
904
|
+
})
|
|
905
|
+
.strict(),
|
|
906
|
+
z
|
|
907
|
+
.object({
|
|
908
|
+
action: z.literal('update_display_name'),
|
|
909
|
+
displayName: z
|
|
910
|
+
.string()
|
|
911
|
+
.trim()
|
|
912
|
+
.min(1)
|
|
913
|
+
.max(HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH),
|
|
914
|
+
})
|
|
915
|
+
.strict(),
|
|
916
|
+
z
|
|
917
|
+
.object({
|
|
918
|
+
action: z.literal('set_chat_avatar'),
|
|
919
|
+
alt: z.string().trim().min(1).max(500).nullable().default(null),
|
|
920
|
+
avatarSource: z.enum(['generate', 'image_ref']),
|
|
921
|
+
imageRef: z.string().trim().min(1).max(1024).optional(),
|
|
922
|
+
outputFormat: z.enum(['webp', 'png', 'jpeg']).default('webp'),
|
|
923
|
+
prompt: z.string().trim().min(1).max(4000).optional(),
|
|
924
|
+
quality: z.enum(['low', 'medium', 'high']).default('medium'),
|
|
925
|
+
referenceImageRefs: z
|
|
926
|
+
.array(z.string().trim().min(1).max(1024))
|
|
927
|
+
.max(16)
|
|
928
|
+
.describe(GROUP_GENERATED_AVATAR_REFERENCE_IMAGE_REFS_DESCRIPTION)
|
|
929
|
+
.default([]),
|
|
930
|
+
size: z.literal('1024x1024').default('1024x1024'),
|
|
931
|
+
})
|
|
932
|
+
.strict(),
|
|
933
|
+
z
|
|
934
|
+
.object({
|
|
935
|
+
action: z.literal('read_chat_participants'),
|
|
936
|
+
})
|
|
937
|
+
.strict(),
|
|
938
|
+
z
|
|
939
|
+
.object({
|
|
940
|
+
action: z.literal('share_contact_card'),
|
|
941
|
+
})
|
|
942
|
+
.strict(),
|
|
943
|
+
z
|
|
944
|
+
.object({
|
|
945
|
+
action: z.literal('post_join_offer'),
|
|
946
|
+
displayName: z
|
|
947
|
+
.string()
|
|
948
|
+
.trim()
|
|
949
|
+
.min(1)
|
|
950
|
+
.max(HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH)
|
|
951
|
+
.optional(),
|
|
952
|
+
messageTemplate: z
|
|
953
|
+
.string()
|
|
954
|
+
.trim()
|
|
955
|
+
.min(1)
|
|
956
|
+
.max(HOSTED_RUNTIME_GROUP_JOIN_OFFER_MESSAGE_TEMPLATE_MAX_LENGTH)
|
|
957
|
+
.refine(hasUsableGroupJoinOfferPlaceholders, {
|
|
958
|
+
message: 'post_join_offer messageTemplate must contain {{share_scope}} exactly once and {{join_url}} exactly once',
|
|
959
|
+
}),
|
|
960
|
+
projectionScopes: z
|
|
961
|
+
.array(groupVaultShareProjectionScopeSchema)
|
|
962
|
+
.max(HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_SCOPES.length)
|
|
963
|
+
.optional(),
|
|
964
|
+
})
|
|
965
|
+
.strict(),
|
|
966
|
+
z
|
|
967
|
+
.object({
|
|
968
|
+
action: z.literal('revoke_own_email_share'),
|
|
969
|
+
})
|
|
970
|
+
.strict(),
|
|
971
|
+
z
|
|
972
|
+
.object({
|
|
973
|
+
action: z.literal('create_join_link'),
|
|
974
|
+
displayName: z
|
|
975
|
+
.string()
|
|
976
|
+
.trim()
|
|
977
|
+
.min(1)
|
|
978
|
+
.max(HOSTED_RUNTIME_GROUP_DISPLAY_NAME_MAX_LENGTH)
|
|
979
|
+
.optional(),
|
|
980
|
+
kind: z.enum(HOSTED_RUNTIME_GROUP_KINDS).optional(),
|
|
981
|
+
requestedVaultShareProjectionScopes: z
|
|
982
|
+
.array(groupVaultShareProjectionScopeSchema)
|
|
983
|
+
.max(HOSTED_VAULT_SHARE_SELECTABLE_PROJECTION_SCOPES.length)
|
|
984
|
+
.optional(),
|
|
985
|
+
})
|
|
986
|
+
.strict(),
|
|
987
|
+
]);
|
|
988
|
+
const newsletterArgumentsSchema = z.discriminatedUnion('action', [
|
|
989
|
+
z
|
|
990
|
+
.object({
|
|
991
|
+
action: z.literal('prepare'),
|
|
992
|
+
groupId: z.string().trim().min(1),
|
|
993
|
+
})
|
|
994
|
+
.strict(),
|
|
995
|
+
z
|
|
996
|
+
.object({
|
|
997
|
+
action: z.literal('send'),
|
|
998
|
+
groupId: z.string().trim().min(1),
|
|
999
|
+
html: z.string().trim().min(1).max(HOSTED_RUNTIME_NEWSLETTER_HTML_MAX_LENGTH),
|
|
1000
|
+
subject: z.string().trim().min(1).max(HOSTED_RUNTIME_NEWSLETTER_SUBJECT_MAX_LENGTH),
|
|
1001
|
+
text: z
|
|
1002
|
+
.string()
|
|
1003
|
+
.trim()
|
|
1004
|
+
.max(HOSTED_RUNTIME_NEWSLETTER_TEXT_MAX_LENGTH)
|
|
1005
|
+
.nullable()
|
|
1006
|
+
.optional(),
|
|
1007
|
+
})
|
|
1008
|
+
.strict(),
|
|
1009
|
+
]);
|
|
407
1010
|
const sendVaultFileArgumentsSchema = z
|
|
408
1011
|
.object({
|
|
409
1012
|
ref: z.string().trim().min(1).max(1024),
|
|
410
1013
|
})
|
|
411
1014
|
.strict();
|
|
412
1015
|
const finishWithoutReplyArgumentsSchema = z.object({}).strict();
|
|
1016
|
+
const planUsageArgumentsSchema = z.object({}).strict();
|
|
413
1017
|
const submitProductFeedbackArgumentsSchema = z
|
|
414
1018
|
.object({
|
|
415
1019
|
kind: z.enum(HOSTED_PRODUCT_FEEDBACK_KINDS),
|
|
@@ -425,6 +1029,61 @@ const submitProductFeedbackArgumentsSchema = z
|
|
|
425
1029
|
.default([]),
|
|
426
1030
|
})
|
|
427
1031
|
.strict();
|
|
1032
|
+
const familyPlanArgumentsSchema = z
|
|
1033
|
+
.discriminatedUnion('action', [
|
|
1034
|
+
z.object({
|
|
1035
|
+
action: z.literal('read_status'),
|
|
1036
|
+
}).strict(),
|
|
1037
|
+
z.object({
|
|
1038
|
+
action: z.literal('start_checkout'),
|
|
1039
|
+
invite: z.object({
|
|
1040
|
+
planCode: z.enum(HOSTED_PLAN_CODES).optional(),
|
|
1041
|
+
targetEmail: z.string().trim().email().max(320).nullable().default(null),
|
|
1042
|
+
targetLabel: z.string().trim().min(1).max(80).nullable().default(null),
|
|
1043
|
+
targetPhoneNumber: z.string().trim().min(1).max(40).nullable().default(null),
|
|
1044
|
+
targetTelegramUsername: z.string().trim().min(5).max(32).nullable().default(null),
|
|
1045
|
+
}).strict().nullable().default(null),
|
|
1046
|
+
}).strict(),
|
|
1047
|
+
z.object({
|
|
1048
|
+
action: z.literal('create_invite'),
|
|
1049
|
+
invite: z.object({
|
|
1050
|
+
planCode: z.enum(HOSTED_PLAN_CODES).optional(),
|
|
1051
|
+
targetEmail: z.string().trim().email().max(320).nullable().default(null),
|
|
1052
|
+
targetLabel: z.string().trim().min(1).max(80).nullable().default(null),
|
|
1053
|
+
targetPhoneNumber: z.string().trim().min(1).max(40).nullable().default(null),
|
|
1054
|
+
targetTelegramUsername: z.string().trim().min(5).max(32).nullable().default(null),
|
|
1055
|
+
}).strict(),
|
|
1056
|
+
}).strict(),
|
|
1057
|
+
])
|
|
1058
|
+
.superRefine((value, context) => {
|
|
1059
|
+
const invite = value.action === 'create_invite'
|
|
1060
|
+
? value.invite
|
|
1061
|
+
: value.action === 'start_checkout'
|
|
1062
|
+
? value.invite
|
|
1063
|
+
: null;
|
|
1064
|
+
if (invite && !invite.targetPhoneNumber && !invite.targetTelegramUsername && !invite.targetEmail) {
|
|
1065
|
+
context.addIssue({
|
|
1066
|
+
code: z.ZodIssueCode.custom,
|
|
1067
|
+
message: 'Family invite requires a phone number, Telegram username, or email.',
|
|
1068
|
+
path: ['invite'],
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
});
|
|
1072
|
+
const assistantConfigurationArgumentsSchema = z
|
|
1073
|
+
.union([
|
|
1074
|
+
z.object({
|
|
1075
|
+
action: z.literal('read'),
|
|
1076
|
+
}).strict(),
|
|
1077
|
+
z.object({
|
|
1078
|
+
action: z.literal('update'),
|
|
1079
|
+
model: z.enum(HOSTED_ASSISTANT_PRODUCT_MODELS),
|
|
1080
|
+
reasoningEffort: z.enum(HOSTED_ASSISTANT_REASONING_EFFORTS).optional(),
|
|
1081
|
+
}).strict(),
|
|
1082
|
+
z.object({
|
|
1083
|
+
action: z.literal('update'),
|
|
1084
|
+
reasoningEffort: z.enum(HOSTED_ASSISTANT_REASONING_EFFORTS),
|
|
1085
|
+
}).strict(),
|
|
1086
|
+
]);
|
|
428
1087
|
const computerRunIdSchema = z.string().trim().min(1);
|
|
429
1088
|
const COMPUTER_OPEN_ARGUMENT_ROOT_KEYS = [
|
|
430
1089
|
'startUrl',
|
|
@@ -574,6 +1233,13 @@ export function readMurphDynamicToolRequest(message) {
|
|
|
574
1233
|
if (connectedAppsRequest) {
|
|
575
1234
|
return connectedAppsRequest;
|
|
576
1235
|
}
|
|
1236
|
+
const assistantStyleRequest = readAssistantStyleDynamicToolRequest({
|
|
1237
|
+
arguments: request.arguments,
|
|
1238
|
+
tool: request.tool,
|
|
1239
|
+
});
|
|
1240
|
+
if (assistantStyleRequest) {
|
|
1241
|
+
return assistantStyleRequest;
|
|
1242
|
+
}
|
|
577
1243
|
const phoneCallRequest = readPhoneCallDynamicToolRequest({
|
|
578
1244
|
arguments: request.arguments,
|
|
579
1245
|
tool: request.tool,
|
|
@@ -619,6 +1285,7 @@ export function readMurphDynamicToolRequest(message) {
|
|
|
619
1285
|
return {
|
|
620
1286
|
kind: 'generate-image',
|
|
621
1287
|
args: parsed.args,
|
|
1288
|
+
...(request.toolCallId ? { toolCallId: request.toolCallId } : {}),
|
|
622
1289
|
};
|
|
623
1290
|
}
|
|
624
1291
|
case MURPH_GENERATE_VOICE_MEMO_TOOL.name: {
|
|
@@ -673,8 +1340,86 @@ export function readMurphDynamicToolRequest(message) {
|
|
|
673
1340
|
feedback: parsed.feedback,
|
|
674
1341
|
};
|
|
675
1342
|
}
|
|
676
|
-
case
|
|
677
|
-
const parsed =
|
|
1343
|
+
case MURPH_FAMILY_PLAN_TOOL.name: {
|
|
1344
|
+
const parsed = parseFamilyPlanArguments(request.arguments);
|
|
1345
|
+
if (!parsed.ok) {
|
|
1346
|
+
return {
|
|
1347
|
+
kind: 'invalid-family-plan-arguments',
|
|
1348
|
+
validationDigest: parsed.validationDigest,
|
|
1349
|
+
};
|
|
1350
|
+
}
|
|
1351
|
+
return {
|
|
1352
|
+
kind: 'family-plan',
|
|
1353
|
+
request: parsed.request,
|
|
1354
|
+
};
|
|
1355
|
+
}
|
|
1356
|
+
case MURPH_PLAN_USAGE_TOOL.name: {
|
|
1357
|
+
const parsed = parsePlanUsageArguments(request.arguments);
|
|
1358
|
+
if (!parsed.ok) {
|
|
1359
|
+
return {
|
|
1360
|
+
kind: 'invalid-plan-usage-arguments',
|
|
1361
|
+
validationDigest: parsed.validationDigest,
|
|
1362
|
+
};
|
|
1363
|
+
}
|
|
1364
|
+
return {
|
|
1365
|
+
kind: 'plan-usage',
|
|
1366
|
+
};
|
|
1367
|
+
}
|
|
1368
|
+
case MURPH_PERSONALIZATION_TOOL.name: {
|
|
1369
|
+
const parsed = parsePersonalizationArguments(request.arguments);
|
|
1370
|
+
if (!parsed.ok) {
|
|
1371
|
+
return {
|
|
1372
|
+
kind: 'invalid-personalization-arguments',
|
|
1373
|
+
validationDigest: parsed.validationDigest,
|
|
1374
|
+
};
|
|
1375
|
+
}
|
|
1376
|
+
return {
|
|
1377
|
+
kind: 'personalization',
|
|
1378
|
+
request: parsed.request,
|
|
1379
|
+
};
|
|
1380
|
+
}
|
|
1381
|
+
case MURPH_ASSISTANT_CONFIGURATION_TOOL.name: {
|
|
1382
|
+
const parsed = parseAssistantConfigurationArguments(request.arguments);
|
|
1383
|
+
if (!parsed.ok) {
|
|
1384
|
+
return {
|
|
1385
|
+
kind: 'invalid-assistant-configuration-arguments',
|
|
1386
|
+
validationDigest: parsed.validationDigest,
|
|
1387
|
+
};
|
|
1388
|
+
}
|
|
1389
|
+
return {
|
|
1390
|
+
kind: 'assistant-configuration',
|
|
1391
|
+
request: parsed.request,
|
|
1392
|
+
};
|
|
1393
|
+
}
|
|
1394
|
+
case MURPH_GROUP_TOOL.name: {
|
|
1395
|
+
const parsed = parseGroupArguments(request.arguments);
|
|
1396
|
+
if (!parsed.ok) {
|
|
1397
|
+
return {
|
|
1398
|
+
kind: 'invalid-group-arguments',
|
|
1399
|
+
validationDigest: parsed.validationDigest,
|
|
1400
|
+
};
|
|
1401
|
+
}
|
|
1402
|
+
return {
|
|
1403
|
+
kind: 'group',
|
|
1404
|
+
request: parsed.request,
|
|
1405
|
+
...(request.toolCallId ? { toolCallId: request.toolCallId } : {}),
|
|
1406
|
+
};
|
|
1407
|
+
}
|
|
1408
|
+
case MURPH_NEWSLETTER_TOOL.name: {
|
|
1409
|
+
const parsed = parseNewsletterArguments(request.arguments);
|
|
1410
|
+
if (!parsed.ok) {
|
|
1411
|
+
return {
|
|
1412
|
+
kind: 'invalid-newsletter-arguments',
|
|
1413
|
+
validationDigest: parsed.validationDigest,
|
|
1414
|
+
};
|
|
1415
|
+
}
|
|
1416
|
+
return {
|
|
1417
|
+
kind: 'newsletter',
|
|
1418
|
+
request: parsed.request,
|
|
1419
|
+
};
|
|
1420
|
+
}
|
|
1421
|
+
case MURPH_FINISH_WITHOUT_REPLY_TOOL.name: {
|
|
1422
|
+
const parsed = parseFinishWithoutReplyArguments(request.arguments);
|
|
678
1423
|
if (!parsed.ok) {
|
|
679
1424
|
return {
|
|
680
1425
|
kind: 'invalid-finish-without-reply-arguments',
|
|
@@ -803,6 +1548,17 @@ function currentHostedMailboxItemId(hostedToolContext) {
|
|
|
803
1548
|
}
|
|
804
1549
|
return null;
|
|
805
1550
|
}
|
|
1551
|
+
function buildGeneratedImageCaptureIdempotencyKey(input) {
|
|
1552
|
+
const toolCallId = normalizeNullableString(input.toolCallId);
|
|
1553
|
+
return toolCallId
|
|
1554
|
+
? `murph.dynamic-tool.${input.scope}:${toolCallId}`
|
|
1555
|
+
: null;
|
|
1556
|
+
}
|
|
1557
|
+
function readGeneratedImageToolCallId(request) {
|
|
1558
|
+
return ('toolCallId' in request)
|
|
1559
|
+
? normalizeNullableString(request.toolCallId)
|
|
1560
|
+
: null;
|
|
1561
|
+
}
|
|
806
1562
|
export async function executeMurphDynamicToolRequest(input) {
|
|
807
1563
|
if (isExecutableComputerDynamicToolRequest(input.request) &&
|
|
808
1564
|
!canExecuteComputerDynamicTools(input.hostedToolContext ?? null)) {
|
|
@@ -811,6 +1567,8 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
811
1567
|
switch (input.request.kind) {
|
|
812
1568
|
case 'invalid-connected-apps-arguments':
|
|
813
1569
|
return toolTextResult(false, 'invalid connected-app arguments');
|
|
1570
|
+
case 'invalid-assistant-style-arguments':
|
|
1571
|
+
return toolTextResult(false, 'invalid assistant style arguments');
|
|
814
1572
|
case 'invalid-generate-image-arguments':
|
|
815
1573
|
return toolTextResult(false, 'invalid image generation arguments');
|
|
816
1574
|
case 'invalid-computer-arguments':
|
|
@@ -825,6 +1583,18 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
825
1583
|
return toolTextResult(false, 'invalid reaction arguments');
|
|
826
1584
|
case 'invalid-product-feedback-arguments':
|
|
827
1585
|
return toolTextResult(false, 'invalid product feedback arguments');
|
|
1586
|
+
case 'invalid-family-plan-arguments':
|
|
1587
|
+
return toolTextResult(false, 'invalid family plan arguments');
|
|
1588
|
+
case 'invalid-personalization-arguments':
|
|
1589
|
+
return toolTextResult(false, 'invalid personalization arguments');
|
|
1590
|
+
case 'invalid-plan-usage-arguments':
|
|
1591
|
+
return toolTextResult(false, 'invalid plan usage arguments');
|
|
1592
|
+
case 'invalid-assistant-configuration-arguments':
|
|
1593
|
+
return toolTextResult(false, 'invalid assistant configuration arguments');
|
|
1594
|
+
case 'invalid-group-arguments':
|
|
1595
|
+
return toolTextResult(false, 'invalid group arguments');
|
|
1596
|
+
case 'invalid-newsletter-arguments':
|
|
1597
|
+
return toolTextResult(false, 'invalid newsletter arguments');
|
|
828
1598
|
case 'invalid-finish-without-reply-arguments':
|
|
829
1599
|
return toolTextResult(false, 'invalid no-reply arguments');
|
|
830
1600
|
case 'invalid-response-media-arguments':
|
|
@@ -854,6 +1624,18 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
854
1624
|
progressDelivery: input.progressDelivery,
|
|
855
1625
|
text: input.request.text,
|
|
856
1626
|
});
|
|
1627
|
+
case 'assistant-style': {
|
|
1628
|
+
const hostedToolContext = input.hostedToolContext ?? null;
|
|
1629
|
+
return await executeAssistantStyleDynamicTool({
|
|
1630
|
+
assistantInputId: hostedToolContext?.currentAssistantPreferenceInputId?.() ?? null,
|
|
1631
|
+
available: input.assistantStyleSettingsAvailable === true,
|
|
1632
|
+
hosted: hostedToolContext != null,
|
|
1633
|
+
hostedPersonalizationTool: hostedToolContext?.personalizationTool ?? null,
|
|
1634
|
+
hostedSettingsOverlay: input.assistantStyleSettingsOverlay ?? null,
|
|
1635
|
+
request: input.request,
|
|
1636
|
+
vaultRoot: input.vaultRoot ?? null,
|
|
1637
|
+
});
|
|
1638
|
+
}
|
|
857
1639
|
case 'send-vault-file': {
|
|
858
1640
|
const hostedToolContext = input.hostedToolContext ?? null;
|
|
859
1641
|
const sendVaultFile = hostedToolContext?.sendVaultFile;
|
|
@@ -870,15 +1652,17 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
870
1652
|
case 'pending':
|
|
871
1653
|
return {
|
|
872
1654
|
...toolTextResult(true, JSON.stringify({
|
|
873
|
-
approvalUrl: result.approvalUrl,
|
|
874
1655
|
filename: result.filename,
|
|
875
1656
|
status: result.status,
|
|
876
1657
|
})),
|
|
1658
|
+
requiredVaultFileApprovalUrl: result.approvalUrl,
|
|
877
1659
|
};
|
|
878
1660
|
case 'approved':
|
|
879
1661
|
return {
|
|
880
1662
|
...toolTextResult(true, JSON.stringify({
|
|
1663
|
+
deliveryStatus: 'queued_with_reply',
|
|
881
1664
|
filename: result.filename,
|
|
1665
|
+
note: 'Approval succeeded. Attach this file through your normal reply path. Do not quote this note or claim final iMessage delivery unless later delivery evidence confirms it.',
|
|
882
1666
|
status: result.status,
|
|
883
1667
|
})),
|
|
884
1668
|
responseMediaPatch: {
|
|
@@ -902,9 +1686,9 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
902
1686
|
if (!hostedToolContext || !phoneCalls) {
|
|
903
1687
|
return toolTextResult(false, 'phone calling is unavailable without hosted phone-call transport');
|
|
904
1688
|
}
|
|
905
|
-
const requestKeyScope = hostedToolContext.
|
|
1689
|
+
const requestKeyScope = hostedToolContext.currentUserActionScope?.() ?? null;
|
|
906
1690
|
if (!requestKeyScope) {
|
|
907
|
-
return toolTextResult(false, 'phone calling requires user-
|
|
1691
|
+
return toolTextResult(false, 'phone calling requires user-sourced input for this turn');
|
|
908
1692
|
}
|
|
909
1693
|
try {
|
|
910
1694
|
const result = await phoneCalls.start({
|
|
@@ -916,7 +1700,12 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
916
1700
|
}, {
|
|
917
1701
|
signal: input.abortSignal ?? null,
|
|
918
1702
|
});
|
|
919
|
-
|
|
1703
|
+
if (result.status === "calling") {
|
|
1704
|
+
return toolTextResult(true, `phone call accepted or placed: ${result.phoneCallId}`);
|
|
1705
|
+
}
|
|
1706
|
+
return toolTextResult(false, result.status === "starting"
|
|
1707
|
+
? `phone call start is still being reconciled: ${result.phoneCallId}`
|
|
1708
|
+
: `phone call attempt was unsuccessful: ${result.phoneCallId}`);
|
|
920
1709
|
}
|
|
921
1710
|
catch {
|
|
922
1711
|
return toolTextResult(false, 'phone call could not be started');
|
|
@@ -927,6 +1716,44 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
927
1716
|
feedback: input.request.feedback,
|
|
928
1717
|
productFeedbackRecorder: input.productFeedbackRecorder ?? null,
|
|
929
1718
|
});
|
|
1719
|
+
case 'family-plan':
|
|
1720
|
+
return await executeFamilyPlanTool({
|
|
1721
|
+
hostedToolContext: input.hostedToolContext ?? null,
|
|
1722
|
+
request: input.request.request,
|
|
1723
|
+
});
|
|
1724
|
+
case 'plan-usage':
|
|
1725
|
+
return await executePlanUsageTool({
|
|
1726
|
+
hostedToolContext: input.hostedToolContext ?? null,
|
|
1727
|
+
});
|
|
1728
|
+
case 'personalization':
|
|
1729
|
+
return await executePersonalizationTool({
|
|
1730
|
+
hostedToolContext: input.hostedToolContext ?? null,
|
|
1731
|
+
request: input.request.request,
|
|
1732
|
+
});
|
|
1733
|
+
case 'assistant-configuration':
|
|
1734
|
+
return await executeAssistantConfigurationTool({
|
|
1735
|
+
hostedToolContext: input.hostedToolContext ?? null,
|
|
1736
|
+
request: input.request.request,
|
|
1737
|
+
});
|
|
1738
|
+
case 'group':
|
|
1739
|
+
return await executeGroupTool({
|
|
1740
|
+
abortSignal: input.abortSignal ?? null,
|
|
1741
|
+
env: input.env,
|
|
1742
|
+
fetchImpl: input.fetchImpl,
|
|
1743
|
+
hostedToolContext: input.hostedToolContext ?? null,
|
|
1744
|
+
hostedGeneratedImageUploader: input.hostedGeneratedImageUploader ?? null,
|
|
1745
|
+
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts ?? null,
|
|
1746
|
+
nextUsageOrdinal: input.nextUsageOrdinal,
|
|
1747
|
+
request: input.request.request,
|
|
1748
|
+
toolCallId: readGeneratedImageToolCallId(input.request),
|
|
1749
|
+
vaultRoot: input.vaultRoot ?? null,
|
|
1750
|
+
});
|
|
1751
|
+
case 'newsletter':
|
|
1752
|
+
return await executeNewsletterTool({
|
|
1753
|
+
hostedToolContext: input.hostedToolContext ?? null,
|
|
1754
|
+
request: input.request.request,
|
|
1755
|
+
vaultRoot: input.vaultRoot ?? null,
|
|
1756
|
+
});
|
|
930
1757
|
case 'finish-without-reply':
|
|
931
1758
|
return {
|
|
932
1759
|
...toolTextResult(true, 'finished without reply'),
|
|
@@ -948,19 +1775,13 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
948
1775
|
if (hasVoiceMemoResponseMedia(input.currentResponseMedia ?? [])) {
|
|
949
1776
|
return toolTextResult(false, 'image generation cannot be combined with a voice memo');
|
|
950
1777
|
}
|
|
951
|
-
// Only resolve the per-turn authority allowlist when the model is
|
|
952
|
-
// actually requesting reference images. A plain no-refs generate_image
|
|
953
|
-
// call must keep working even if the accepted-input journal is
|
|
954
|
-
// transiently unreadable; gating the loader keeps the existing
|
|
955
|
-
// /v1/images/generations path independent of attachment-runtime state.
|
|
956
|
-
const requestedRefs = input.request.args.referenceImageRefs ?? [];
|
|
957
|
-
const authorizedRefs = requestedRefs.length > 0 && input.loadAuthorizedReferenceImageRefs
|
|
958
|
-
? await input.loadAuthorizedReferenceImageRefs()
|
|
959
|
-
: null;
|
|
960
1778
|
const result = await executeGenerateImageTool({
|
|
961
1779
|
abortSignal: input.abortSignal ?? null,
|
|
962
1780
|
args: input.request.args,
|
|
963
|
-
|
|
1781
|
+
captureIdempotencyKey: buildGeneratedImageCaptureIdempotencyKey({
|
|
1782
|
+
toolCallId: readGeneratedImageToolCallId(input.request),
|
|
1783
|
+
scope: 'generate-image',
|
|
1784
|
+
}),
|
|
964
1785
|
codexHome: input.codexHome ?? null,
|
|
965
1786
|
env: input.env,
|
|
966
1787
|
fetchImpl: input.fetchImpl,
|
|
@@ -1065,6 +1886,10 @@ export async function executeMurphDynamicToolRequest(input) {
|
|
|
1065
1886
|
pauseDeliveryContext: currentHostedDeliveryContext(input.hostedToolContext ?? null),
|
|
1066
1887
|
},
|
|
1067
1888
|
fetchImpl: input.fetchImpl,
|
|
1889
|
+
finishPath: buildHostedComputerRunOperationPath({
|
|
1890
|
+
operation: 'finish',
|
|
1891
|
+
runId,
|
|
1892
|
+
}),
|
|
1068
1893
|
path: buildHostedComputerRunOperationPath({
|
|
1069
1894
|
operation: 'pause-for-user',
|
|
1070
1895
|
runId,
|
|
@@ -1108,6 +1933,561 @@ async function executeSubmitProductFeedbackTool(input) {
|
|
|
1108
1933
|
return toolTextResult(false, 'product feedback recording failed');
|
|
1109
1934
|
}
|
|
1110
1935
|
}
|
|
1936
|
+
async function executeFamilyPlanTool(input) {
|
|
1937
|
+
const familyPlanTool = input.hostedToolContext?.familyPlanTool ?? null;
|
|
1938
|
+
if (!familyPlanTool) {
|
|
1939
|
+
return toolTextResult(false, 'family plan tools are unavailable for this turn');
|
|
1940
|
+
}
|
|
1941
|
+
try {
|
|
1942
|
+
const result = await familyPlanTool.request(input.request);
|
|
1943
|
+
return toolTextResult(true, safeToolPayloadText(result));
|
|
1944
|
+
}
|
|
1945
|
+
catch {
|
|
1946
|
+
return toolTextResult(false, 'family plan tool request failed');
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
async function executePlanUsageTool(input) {
|
|
1950
|
+
const planUsageTool = input.hostedToolContext?.planUsageTool ?? null;
|
|
1951
|
+
if (!planUsageTool) {
|
|
1952
|
+
return toolTextResult(false, 'plan usage is unavailable for this turn');
|
|
1953
|
+
}
|
|
1954
|
+
try {
|
|
1955
|
+
return toolTextResult(true, safeToolPayloadText(await planUsageTool.read()));
|
|
1956
|
+
}
|
|
1957
|
+
catch {
|
|
1958
|
+
return toolTextResult(false, 'plan usage could not be read');
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
async function executePersonalizationTool(input) {
|
|
1962
|
+
const personalizationTool = input.hostedToolContext?.personalizationTool ?? null;
|
|
1963
|
+
if (!personalizationTool) {
|
|
1964
|
+
return toolTextResult(false, 'personalization is unavailable for this turn');
|
|
1965
|
+
}
|
|
1966
|
+
const assistantInputId = input.request.action === 'update'
|
|
1967
|
+
? input.hostedToolContext?.currentAssistantPreferenceInputId?.() ?? null
|
|
1968
|
+
: null;
|
|
1969
|
+
if (input.request.action === 'update' && assistantInputId === null) {
|
|
1970
|
+
return toolTextResult(false, 'personalization is unavailable for this turn');
|
|
1971
|
+
}
|
|
1972
|
+
try {
|
|
1973
|
+
const result = await personalizationTool.request(input.request, assistantInputId === null ? undefined : { assistantInputId });
|
|
1974
|
+
return toolTextResult(true, safeToolPayloadText(result));
|
|
1975
|
+
}
|
|
1976
|
+
catch {
|
|
1977
|
+
return toolTextResult(false, 'personalization request failed');
|
|
1978
|
+
}
|
|
1979
|
+
}
|
|
1980
|
+
async function executeAssistantConfigurationTool(input) {
|
|
1981
|
+
const assistantConfigurationTool = input.hostedToolContext?.assistantConfigurationTool ?? null;
|
|
1982
|
+
if (!assistantConfigurationTool) {
|
|
1983
|
+
return toolTextResult(false, 'assistant configuration tools are unavailable for this turn');
|
|
1984
|
+
}
|
|
1985
|
+
try {
|
|
1986
|
+
const currentTurn = input.hostedToolContext?.currentAssistantTarget?.() ?? {
|
|
1987
|
+
model: null,
|
|
1988
|
+
reasoningEffort: null,
|
|
1989
|
+
};
|
|
1990
|
+
if (input.request.action === 'read') {
|
|
1991
|
+
const result = await assistantConfigurationTool.request(input.request);
|
|
1992
|
+
if (result.action !== 'read') {
|
|
1993
|
+
throw new TypeError('Assistant configuration read returned an update response.');
|
|
1994
|
+
}
|
|
1995
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
1996
|
+
currentTurn,
|
|
1997
|
+
savedForNextTurn: result.result,
|
|
1998
|
+
}));
|
|
1999
|
+
}
|
|
2000
|
+
const assistantInputId = input.hostedToolContext?.currentAssistantPreferenceInputId?.() ?? null;
|
|
2001
|
+
if (!assistantInputId) {
|
|
2002
|
+
return toolTextResult(false, 'assistant configuration updates require user-sourced input');
|
|
2003
|
+
}
|
|
2004
|
+
const readResult = await assistantConfigurationTool.request({ action: 'read' });
|
|
2005
|
+
if (readResult.action !== 'read') {
|
|
2006
|
+
throw new TypeError('Assistant configuration read returned an update response.');
|
|
2007
|
+
}
|
|
2008
|
+
const savedForNextTurn = readResult.result;
|
|
2009
|
+
const requestedForNextTurn = {
|
|
2010
|
+
model: input.request.model ?? savedForNextTurn.model,
|
|
2011
|
+
reasoningEffort: input.request.reasoningEffort ?? savedForNextTurn.reasoningEffort,
|
|
2012
|
+
};
|
|
2013
|
+
if (!savedForNextTurn.configurationAvailable) {
|
|
2014
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2015
|
+
currentTurn,
|
|
2016
|
+
savedForNextTurn: {
|
|
2017
|
+
...savedForNextTurn,
|
|
2018
|
+
appliesAt: 'next_turn',
|
|
2019
|
+
requiredPlan: null,
|
|
2020
|
+
status: 'unavailable',
|
|
2021
|
+
},
|
|
2022
|
+
}));
|
|
2023
|
+
}
|
|
2024
|
+
if (requestedForNextTurn.model === HOSTED_ASSISTANT_SOL_MODEL &&
|
|
2025
|
+
!savedForNextTurn.solAvailable) {
|
|
2026
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2027
|
+
currentTurn,
|
|
2028
|
+
savedForNextTurn: {
|
|
2029
|
+
...savedForNextTurn,
|
|
2030
|
+
appliesAt: 'next_turn',
|
|
2031
|
+
requiredPlan: 'edge',
|
|
2032
|
+
status: 'upgrade_required',
|
|
2033
|
+
},
|
|
2034
|
+
}));
|
|
2035
|
+
}
|
|
2036
|
+
const result = input.request.model === undefined
|
|
2037
|
+
? await assistantConfigurationTool.request({
|
|
2038
|
+
action: 'update',
|
|
2039
|
+
assistantInputId,
|
|
2040
|
+
reasoningEffort: requestedForNextTurn.reasoningEffort,
|
|
2041
|
+
})
|
|
2042
|
+
: input.request.reasoningEffort === undefined
|
|
2043
|
+
? await assistantConfigurationTool.request({
|
|
2044
|
+
action: 'update',
|
|
2045
|
+
assistantInputId,
|
|
2046
|
+
model: requestedForNextTurn.model,
|
|
2047
|
+
})
|
|
2048
|
+
: await assistantConfigurationTool.request({
|
|
2049
|
+
action: 'update',
|
|
2050
|
+
assistantInputId,
|
|
2051
|
+
model: requestedForNextTurn.model,
|
|
2052
|
+
reasoningEffort: requestedForNextTurn.reasoningEffort,
|
|
2053
|
+
});
|
|
2054
|
+
if (result.action !== 'update') {
|
|
2055
|
+
throw new TypeError('Assistant configuration update returned a read response.');
|
|
2056
|
+
}
|
|
2057
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2058
|
+
currentTurn,
|
|
2059
|
+
savedForNextTurn: result.result,
|
|
2060
|
+
}));
|
|
2061
|
+
}
|
|
2062
|
+
catch {
|
|
2063
|
+
return toolTextResult(false, 'assistant configuration tool request failed');
|
|
2064
|
+
}
|
|
2065
|
+
}
|
|
2066
|
+
function groupAvatarUnavailableToolResult(unavailableReason) {
|
|
2067
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2068
|
+
action: 'set_chat_avatar',
|
|
2069
|
+
result: {
|
|
2070
|
+
status: 'unavailable',
|
|
2071
|
+
unavailableReason,
|
|
2072
|
+
},
|
|
2073
|
+
}));
|
|
2074
|
+
}
|
|
2075
|
+
async function executeGroupTool(input) {
|
|
2076
|
+
const groupTool = input.hostedToolContext?.groupTool ?? null;
|
|
2077
|
+
if (!groupTool) {
|
|
2078
|
+
return toolTextResult(false, 'group tools are unavailable for this turn');
|
|
2079
|
+
}
|
|
2080
|
+
let request;
|
|
2081
|
+
let usageDraft = null;
|
|
2082
|
+
let generatedAvatarCapture = null;
|
|
2083
|
+
if (isPreparedGroupAvatarRequest(input.request)) {
|
|
2084
|
+
let preflight;
|
|
2085
|
+
try {
|
|
2086
|
+
const preflightResult = await groupTool.request({ action: 'preflight_set_chat_avatar' });
|
|
2087
|
+
if (preflightResult.action !== 'preflight_set_chat_avatar') {
|
|
2088
|
+
return groupAvatarUnavailableToolResult('group_avatar_preflight_unavailable');
|
|
2089
|
+
}
|
|
2090
|
+
preflight = preflightResult;
|
|
2091
|
+
}
|
|
2092
|
+
catch {
|
|
2093
|
+
return groupAvatarUnavailableToolResult('group_avatar_preflight_unavailable');
|
|
2094
|
+
}
|
|
2095
|
+
if (preflight.result.status !== 'ok') {
|
|
2096
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2097
|
+
action: 'set_chat_avatar',
|
|
2098
|
+
result: preflight.result,
|
|
2099
|
+
}));
|
|
2100
|
+
}
|
|
2101
|
+
const prepared = await prepareGroupAvatarRuntimeRequest({
|
|
2102
|
+
abortSignal: input.abortSignal,
|
|
2103
|
+
toolCallId: input.toolCallId,
|
|
2104
|
+
env: input.env,
|
|
2105
|
+
fetchImpl: input.fetchImpl,
|
|
2106
|
+
hostedGeneratedImageUploader: input.hostedGeneratedImageUploader,
|
|
2107
|
+
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts,
|
|
2108
|
+
nextUsageOrdinal: input.nextUsageOrdinal,
|
|
2109
|
+
request: input.request,
|
|
2110
|
+
vaultRoot: input.vaultRoot,
|
|
2111
|
+
});
|
|
2112
|
+
if (!prepared.rpcSuccess) {
|
|
2113
|
+
return {
|
|
2114
|
+
rpcResult: {
|
|
2115
|
+
success: false,
|
|
2116
|
+
contentItems: [{ type: 'inputText', text: prepared.rpcText }],
|
|
2117
|
+
},
|
|
2118
|
+
usageDraft: prepared.usageDraft ?? null,
|
|
2119
|
+
};
|
|
2120
|
+
}
|
|
2121
|
+
request = prepared.request;
|
|
2122
|
+
usageDraft = prepared.usageDraft ?? null;
|
|
2123
|
+
generatedAvatarCapture = prepared.savedImageRef
|
|
2124
|
+
? {
|
|
2125
|
+
savedCaptureId: prepared.savedCaptureId ?? null,
|
|
2126
|
+
savedImageRef: prepared.savedImageRef,
|
|
2127
|
+
}
|
|
2128
|
+
: null;
|
|
2129
|
+
}
|
|
2130
|
+
else if (input.request.action === 'ask') {
|
|
2131
|
+
const userActionScope = input.hostedToolContext?.currentUserActionScope?.() ?? null;
|
|
2132
|
+
if (userActionScope?.conversationScope !== 'direct') {
|
|
2133
|
+
return toolTextResult(false, 'group ask requires a fresh user request in a personal direct conversation');
|
|
2134
|
+
}
|
|
2135
|
+
const originAssistantInputId = userActionScope.acceptedInputIds[userActionScope.acceptedInputIds.length - 1] ?? null;
|
|
2136
|
+
if (!originAssistantInputId) {
|
|
2137
|
+
return toolTextResult(false, 'group ask requires fresh user-sourced input for this turn');
|
|
2138
|
+
}
|
|
2139
|
+
request = {
|
|
2140
|
+
action: 'ask',
|
|
2141
|
+
...(input.request.groupLabel !== undefined
|
|
2142
|
+
? { groupLabel: input.request.groupLabel }
|
|
2143
|
+
: {}),
|
|
2144
|
+
originAssistantInputId,
|
|
2145
|
+
originSessionId: userActionScope.originSessionId,
|
|
2146
|
+
question: input.request.question,
|
|
2147
|
+
};
|
|
2148
|
+
}
|
|
2149
|
+
else {
|
|
2150
|
+
request = input.request;
|
|
2151
|
+
}
|
|
2152
|
+
try {
|
|
2153
|
+
const result = await groupTool.request(request);
|
|
2154
|
+
const payload = generatedAvatarCapture
|
|
2155
|
+
? { ...result, generatedImage: generatedAvatarCapture }
|
|
2156
|
+
: result;
|
|
2157
|
+
return {
|
|
2158
|
+
...toolTextResult(true, safeToolPayloadText(payload)),
|
|
2159
|
+
...(usageDraft ? { usageDraft } : {}),
|
|
2160
|
+
};
|
|
2161
|
+
}
|
|
2162
|
+
catch {
|
|
2163
|
+
return {
|
|
2164
|
+
...toolTextResult(false, 'group tool request failed'),
|
|
2165
|
+
...(usageDraft ? { usageDraft } : {}),
|
|
2166
|
+
};
|
|
2167
|
+
}
|
|
2168
|
+
}
|
|
2169
|
+
function isPreparedGroupAvatarRequest(request) {
|
|
2170
|
+
return request.action === 'set_chat_avatar' && 'avatar' in request;
|
|
2171
|
+
}
|
|
2172
|
+
async function prepareGroupAvatarRuntimeRequest(input) {
|
|
2173
|
+
const avatar = input.request.avatar;
|
|
2174
|
+
if (avatar.source === 'generate') {
|
|
2175
|
+
const generated = await executeGenerateImageTool({
|
|
2176
|
+
abortSignal: input.abortSignal,
|
|
2177
|
+
args: avatar.args,
|
|
2178
|
+
captureIdempotencyKey: buildGeneratedImageCaptureIdempotencyKey({
|
|
2179
|
+
toolCallId: input.toolCallId,
|
|
2180
|
+
scope: 'group-avatar',
|
|
2181
|
+
}),
|
|
2182
|
+
env: input.env,
|
|
2183
|
+
fetchImpl: input.fetchImpl,
|
|
2184
|
+
hostedGeneratedImageUploader: input.hostedGeneratedImageUploader,
|
|
2185
|
+
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts,
|
|
2186
|
+
providerRequestOrdinal: input.nextUsageOrdinal(),
|
|
2187
|
+
requireHostedGeneratedImageUploader: true,
|
|
2188
|
+
vaultRoot: input.vaultRoot,
|
|
2189
|
+
});
|
|
2190
|
+
if (!generated.rpcSuccess) {
|
|
2191
|
+
return {
|
|
2192
|
+
rpcSuccess: false,
|
|
2193
|
+
rpcText: generated.rpcText,
|
|
2194
|
+
usageDraft: generated.usageDraft ?? null,
|
|
2195
|
+
};
|
|
2196
|
+
}
|
|
2197
|
+
const media = generated.responseMedia?.[0] ?? null;
|
|
2198
|
+
if (media?.kind !== 'image') {
|
|
2199
|
+
return {
|
|
2200
|
+
rpcSuccess: false,
|
|
2201
|
+
rpcText: 'generated group avatar did not produce a hosted image URL',
|
|
2202
|
+
usageDraft: generated.usageDraft ?? null,
|
|
2203
|
+
};
|
|
2204
|
+
}
|
|
2205
|
+
return {
|
|
2206
|
+
request: { action: 'set_chat_avatar', groupChatIconUrl: media.url },
|
|
2207
|
+
rpcSuccess: true,
|
|
2208
|
+
savedCaptureId: generated.savedCaptureId ?? null,
|
|
2209
|
+
savedImageRef: generated.savedImageRef ?? null,
|
|
2210
|
+
usageDraft: generated.usageDraft ?? null,
|
|
2211
|
+
};
|
|
2212
|
+
}
|
|
2213
|
+
const uploaded = await uploadGroupAvatarImageReference({
|
|
2214
|
+
alt: avatar.alt,
|
|
2215
|
+
hostedGeneratedImageUploader: input.hostedGeneratedImageUploader,
|
|
2216
|
+
imageRef: avatar.imageRef,
|
|
2217
|
+
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts,
|
|
2218
|
+
vaultRoot: input.vaultRoot,
|
|
2219
|
+
});
|
|
2220
|
+
if (!uploaded.rpcSuccess) {
|
|
2221
|
+
return uploaded;
|
|
2222
|
+
}
|
|
2223
|
+
return {
|
|
2224
|
+
request: { action: 'set_chat_avatar', groupChatIconUrl: uploaded.url },
|
|
2225
|
+
rpcSuccess: true,
|
|
2226
|
+
};
|
|
2227
|
+
}
|
|
2228
|
+
async function uploadGroupAvatarImageReference(input) {
|
|
2229
|
+
if (!input.hostedGeneratedImageUploader) {
|
|
2230
|
+
return {
|
|
2231
|
+
rpcSuccess: false,
|
|
2232
|
+
rpcText: 'hosted image upload is not available for this turn',
|
|
2233
|
+
};
|
|
2234
|
+
}
|
|
2235
|
+
if (!normalizeNullableString(input.vaultRoot)) {
|
|
2236
|
+
return {
|
|
2237
|
+
rpcSuccess: false,
|
|
2238
|
+
rpcText: 'image references are unavailable for this turn',
|
|
2239
|
+
};
|
|
2240
|
+
}
|
|
2241
|
+
let references;
|
|
2242
|
+
try {
|
|
2243
|
+
references = await resolveGenerateImageReferences({
|
|
2244
|
+
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts,
|
|
2245
|
+
refs: [input.imageRef],
|
|
2246
|
+
vaultRoot: input.vaultRoot ?? '',
|
|
2247
|
+
});
|
|
2248
|
+
}
|
|
2249
|
+
catch (error) {
|
|
2250
|
+
if (isAbortError(error)) {
|
|
2251
|
+
throw error;
|
|
2252
|
+
}
|
|
2253
|
+
return {
|
|
2254
|
+
rpcSuccess: false,
|
|
2255
|
+
rpcText: 'group avatar image reference could not be loaded',
|
|
2256
|
+
};
|
|
2257
|
+
}
|
|
2258
|
+
const reference = references[0] ?? null;
|
|
2259
|
+
if (!reference) {
|
|
2260
|
+
return {
|
|
2261
|
+
rpcSuccess: false,
|
|
2262
|
+
rpcText: 'group avatar image reference could not be loaded',
|
|
2263
|
+
};
|
|
2264
|
+
}
|
|
2265
|
+
try {
|
|
2266
|
+
const media = await input.hostedGeneratedImageUploader.uploadGeneratedImage({
|
|
2267
|
+
alt: input.alt ?? 'Group chat avatar',
|
|
2268
|
+
bytes: reference.bytes,
|
|
2269
|
+
contentType: groupAvatarReferenceContentType(reference.mediaType),
|
|
2270
|
+
filename: groupAvatarReferenceFilename(reference.mediaType),
|
|
2271
|
+
metadata: {
|
|
2272
|
+
imageSha256: reference.sha256,
|
|
2273
|
+
schema: 'murph.group-avatar.v1',
|
|
2274
|
+
sourceRefSha256: reference.sourceRefSha256,
|
|
2275
|
+
},
|
|
2276
|
+
source: 'murph.group-avatar',
|
|
2277
|
+
});
|
|
2278
|
+
if (media.kind !== 'image') {
|
|
2279
|
+
return {
|
|
2280
|
+
rpcSuccess: false,
|
|
2281
|
+
rpcText: 'group avatar upload did not produce a hosted image URL',
|
|
2282
|
+
};
|
|
2283
|
+
}
|
|
2284
|
+
return { rpcSuccess: true, url: media.url };
|
|
2285
|
+
}
|
|
2286
|
+
catch {
|
|
2287
|
+
return {
|
|
2288
|
+
rpcSuccess: false,
|
|
2289
|
+
rpcText: 'group avatar image upload failed',
|
|
2290
|
+
};
|
|
2291
|
+
}
|
|
2292
|
+
}
|
|
2293
|
+
function groupAvatarReferenceContentType(mediaType) {
|
|
2294
|
+
return mediaType;
|
|
2295
|
+
}
|
|
2296
|
+
function groupAvatarReferenceFilename(mediaType) {
|
|
2297
|
+
switch (mediaType) {
|
|
2298
|
+
case 'image/jpeg':
|
|
2299
|
+
return 'group-avatar.jpg';
|
|
2300
|
+
case 'image/png':
|
|
2301
|
+
return 'group-avatar.png';
|
|
2302
|
+
case 'image/webp':
|
|
2303
|
+
return 'group-avatar.webp';
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
function isAbortError(error) {
|
|
2307
|
+
return error instanceof Error && error.name === 'AbortError';
|
|
2308
|
+
}
|
|
2309
|
+
async function executeNewsletterTool(input) {
|
|
2310
|
+
const newsletterTool = input.hostedToolContext?.newsletterTool ?? null;
|
|
2311
|
+
if (!newsletterTool) {
|
|
2312
|
+
recordNewsletterUnavailable(input.hostedToolContext, 'newsletter_tool_unavailable');
|
|
2313
|
+
return toolTextResult(false, 'newsletter tools are unavailable for this turn');
|
|
2314
|
+
}
|
|
2315
|
+
try {
|
|
2316
|
+
if (input.request.action === 'send'
|
|
2317
|
+
&& input.vaultRoot
|
|
2318
|
+
&& !await isGroupSharedProjectionAvailable(input.vaultRoot)) {
|
|
2319
|
+
recordNewsletterUnavailable(input.hostedToolContext, 'newsletter_preparation_unavailable');
|
|
2320
|
+
return groupSharedProjectionUnavailableResult(input.request.action);
|
|
2321
|
+
}
|
|
2322
|
+
const scheduledAutomationAuthority = input.hostedToolContext?.currentScheduledAutomationAuthority?.() ??
|
|
2323
|
+
null;
|
|
2324
|
+
let newsletterWeeklySource = null;
|
|
2325
|
+
if (input.request.action === 'prepare') {
|
|
2326
|
+
newsletterWeeklySource = await readNewsletterWeeklySource({
|
|
2327
|
+
referenceAt: scheduledAutomationAuthority?.occurrenceAt ?? null,
|
|
2328
|
+
vaultRoot: input.vaultRoot,
|
|
2329
|
+
});
|
|
2330
|
+
if (newsletterWeeklySource === null) {
|
|
2331
|
+
recordNewsletterUnavailable(input.hostedToolContext, 'newsletter_preparation_unavailable');
|
|
2332
|
+
return groupSharedProjectionUnavailableResult(input.request.action);
|
|
2333
|
+
}
|
|
2334
|
+
}
|
|
2335
|
+
const request = {
|
|
2336
|
+
...input.request,
|
|
2337
|
+
scheduledAutomationAuthority,
|
|
2338
|
+
};
|
|
2339
|
+
const result = await newsletterTool.request(request);
|
|
2340
|
+
if (result.action === 'send') {
|
|
2341
|
+
input.hostedToolContext?.recordNewsletterSendResult?.(result);
|
|
2342
|
+
}
|
|
2343
|
+
else if (result.action === 'prepare' && result.result.status === 'unavailable') {
|
|
2344
|
+
recordNewsletterUnavailable(input.hostedToolContext, result.result.unavailableReason);
|
|
2345
|
+
}
|
|
2346
|
+
const toolSucceeded = !isNewsletterAllRecipientSendFailure(result);
|
|
2347
|
+
if (result.action !== 'prepare' || result.result.status !== 'ok') {
|
|
2348
|
+
return toolTextResult(toolSucceeded, safeToolPayloadText(result));
|
|
2349
|
+
}
|
|
2350
|
+
const skippedNoEmailMemberIds = result.result.participants
|
|
2351
|
+
.filter((participant) => !participant.hasEmail)
|
|
2352
|
+
.map((participant) => participant.memberId);
|
|
2353
|
+
if (skippedNoEmailMemberIds.length === result.result.participants.length) {
|
|
2354
|
+
input.hostedToolContext?.closeNewsletterCapability?.();
|
|
2355
|
+
input.hostedToolContext?.recordNewsletterSendResult?.({
|
|
2356
|
+
action: 'send',
|
|
2357
|
+
result: {
|
|
2358
|
+
participantCount: 0,
|
|
2359
|
+
skippedNoEmailMemberIds,
|
|
2360
|
+
status: 'no_recipients',
|
|
2361
|
+
},
|
|
2362
|
+
});
|
|
2363
|
+
}
|
|
2364
|
+
const referenceAt = scheduledAutomationAuthority?.occurrenceAt ?? null;
|
|
2365
|
+
if (newsletterWeeklySource === null) {
|
|
2366
|
+
recordNewsletterUnavailable(input.hostedToolContext, 'newsletter_preparation_unavailable');
|
|
2367
|
+
return groupSharedProjectionUnavailableResult(input.request.action);
|
|
2368
|
+
}
|
|
2369
|
+
const members = buildEligibleNewsletterWeeklyMembers({
|
|
2370
|
+
participants: result.result.participants,
|
|
2371
|
+
referenceAt,
|
|
2372
|
+
source: newsletterWeeklySource,
|
|
2373
|
+
});
|
|
2374
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2375
|
+
action: 'prepare',
|
|
2376
|
+
result: {
|
|
2377
|
+
groupId: result.result.groupId,
|
|
2378
|
+
missingEmailParticipants: stripNewsletterAuthorizationSnapshot(result.result.missingEmailParticipants),
|
|
2379
|
+
members,
|
|
2380
|
+
participants: stripNewsletterAuthorizationSnapshot(result.result.participants),
|
|
2381
|
+
referenceAt,
|
|
2382
|
+
status: 'ok',
|
|
2383
|
+
},
|
|
2384
|
+
}));
|
|
2385
|
+
}
|
|
2386
|
+
catch {
|
|
2387
|
+
recordNewsletterUnavailable(input.hostedToolContext, 'newsletter_tool_failed');
|
|
2388
|
+
return toolTextResult(false, 'newsletter tool request failed');
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
function recordNewsletterUnavailable(hostedToolContext, unavailableReason) {
|
|
2392
|
+
hostedToolContext?.closeNewsletterCapability?.();
|
|
2393
|
+
hostedToolContext?.recordNewsletterSendResult?.({
|
|
2394
|
+
action: 'send',
|
|
2395
|
+
result: { status: 'unavailable', unavailableReason },
|
|
2396
|
+
});
|
|
2397
|
+
}
|
|
2398
|
+
function isNewsletterAllRecipientSendFailure(result) {
|
|
2399
|
+
return (result.action === 'send' &&
|
|
2400
|
+
(result.result.status === 'unavailable'
|
|
2401
|
+
|| (result.result.status === 'partial_failure'
|
|
2402
|
+
&& result.result.sentRecipientCount === 0)));
|
|
2403
|
+
}
|
|
2404
|
+
async function isGroupSharedProjectionAvailable(vaultRoot) {
|
|
2405
|
+
const read = await readSharedVaultShareProjectionStore(vaultRoot);
|
|
2406
|
+
return read.status === 'loaded' || read.status === 'empty';
|
|
2407
|
+
}
|
|
2408
|
+
async function readNewsletterWeeklySource(input) {
|
|
2409
|
+
if (!input.referenceAt || !input.vaultRoot) {
|
|
2410
|
+
return { status: 'empty' };
|
|
2411
|
+
}
|
|
2412
|
+
const read = await readSharedVaultShareProjectionStore(input.vaultRoot);
|
|
2413
|
+
if (read.status === 'corrupt' || read.status === 'read_failed') {
|
|
2414
|
+
return null;
|
|
2415
|
+
}
|
|
2416
|
+
if (read.status === 'empty') {
|
|
2417
|
+
return { status: 'empty' };
|
|
2418
|
+
}
|
|
2419
|
+
let timeZone;
|
|
2420
|
+
try {
|
|
2421
|
+
const { loadVault } = await import('@murphai/core');
|
|
2422
|
+
timeZone = (await loadVault({ vaultRoot: input.vaultRoot })).metadata.timezone;
|
|
2423
|
+
}
|
|
2424
|
+
catch {
|
|
2425
|
+
return null;
|
|
2426
|
+
}
|
|
2427
|
+
return { status: 'loaded', store: read.store, timeZone };
|
|
2428
|
+
}
|
|
2429
|
+
function buildEligibleNewsletterWeeklyMembers(input) {
|
|
2430
|
+
if (!input.referenceAt || input.source.status === 'empty') {
|
|
2431
|
+
return [];
|
|
2432
|
+
}
|
|
2433
|
+
const authorizedStore = filterNewsletterAuthorizedProjectionStore({
|
|
2434
|
+
participants: input.participants,
|
|
2435
|
+
store: input.source.store,
|
|
2436
|
+
});
|
|
2437
|
+
return buildSharedGroupWeeklyMembers({
|
|
2438
|
+
members: flattenSharedVaultShareProjectionStore(authorizedStore),
|
|
2439
|
+
referenceAt: input.referenceAt,
|
|
2440
|
+
timeZone: input.source.timeZone,
|
|
2441
|
+
});
|
|
2442
|
+
}
|
|
2443
|
+
function filterNewsletterAuthorizedProjectionStore(input) {
|
|
2444
|
+
const authorizedShares = new Set();
|
|
2445
|
+
for (const participant of input.participants) {
|
|
2446
|
+
if (!participant.hasEmail) {
|
|
2447
|
+
continue;
|
|
2448
|
+
}
|
|
2449
|
+
for (const share of participant.authorizedShares) {
|
|
2450
|
+
authorizedShares.add(JSON.stringify([
|
|
2451
|
+
participant.memberId,
|
|
2452
|
+
share.projectionScopeKey,
|
|
2453
|
+
share.shareId,
|
|
2454
|
+
]));
|
|
2455
|
+
}
|
|
2456
|
+
}
|
|
2457
|
+
const projections = {};
|
|
2458
|
+
for (const [projectionScopeKey, projection] of Object.entries(input.store.projections)) {
|
|
2459
|
+
const grantors = {};
|
|
2460
|
+
for (const [memberId, grantor] of Object.entries(projection.grantors)) {
|
|
2461
|
+
if (!authorizedShares.has(JSON.stringify([
|
|
2462
|
+
memberId,
|
|
2463
|
+
projectionScopeKey,
|
|
2464
|
+
grantor.shareId,
|
|
2465
|
+
]))) {
|
|
2466
|
+
continue;
|
|
2467
|
+
}
|
|
2468
|
+
const records = grantor.records.filter((record) => record.shareId === grantor.shareId);
|
|
2469
|
+
if (records.length > 0) {
|
|
2470
|
+
grantors[memberId] = { ...grantor, records };
|
|
2471
|
+
}
|
|
2472
|
+
}
|
|
2473
|
+
if (Object.keys(grantors).length > 0) {
|
|
2474
|
+
projections[projectionScopeKey] = { ...projection, grantors };
|
|
2475
|
+
}
|
|
2476
|
+
}
|
|
2477
|
+
return { ...input.store, projections };
|
|
2478
|
+
}
|
|
2479
|
+
function stripNewsletterAuthorizationSnapshot(participants) {
|
|
2480
|
+
return participants.map(({ hasEmail, memberId }) => ({ hasEmail, memberId }));
|
|
2481
|
+
}
|
|
2482
|
+
function groupSharedProjectionUnavailableResult(action) {
|
|
2483
|
+
return toolTextResult(true, safeToolPayloadText({
|
|
2484
|
+
action,
|
|
2485
|
+
result: {
|
|
2486
|
+
status: 'unavailable',
|
|
2487
|
+
unavailableReason: 'shared_projection_unavailable',
|
|
2488
|
+
},
|
|
2489
|
+
}));
|
|
2490
|
+
}
|
|
1111
2491
|
async function executeProgressUpdateTool(input) {
|
|
1112
2492
|
if (!input.progressDelivery) {
|
|
1113
2493
|
return toolTextResult(false, 'progress updates are not available for this turn');
|
|
@@ -1123,9 +2503,6 @@ async function executeProgressUpdateTool(input) {
|
|
|
1123
2503
|
if (result.reason === 'limit') {
|
|
1124
2504
|
return toolTextResult(false, 'progress update skipped: progress update limit reached');
|
|
1125
2505
|
}
|
|
1126
|
-
if (result.reason === 'too-soon') {
|
|
1127
|
-
return toolTextResult(false, 'progress update skipped: progress update sent too recently');
|
|
1128
|
-
}
|
|
1129
2506
|
if (result.reason === 'duplicate') {
|
|
1130
2507
|
return toolTextResult(false, 'progress update skipped: duplicate progress update');
|
|
1131
2508
|
}
|
|
@@ -1145,13 +2522,12 @@ async function executeHostedComputerPauseForUserTool(input) {
|
|
|
1145
2522
|
});
|
|
1146
2523
|
if (!apiResult.ok) {
|
|
1147
2524
|
if (apiResult.unknownOutcome) {
|
|
1148
|
-
return toolTextResult(false, apiResult.errorText
|
|
1149
|
-
computerRunPausedForUser: true,
|
|
1150
|
-
});
|
|
2525
|
+
return toolTextResult(false, apiResult.errorText);
|
|
1151
2526
|
}
|
|
1152
2527
|
return toolTextResult(false, apiResult.errorText);
|
|
1153
2528
|
}
|
|
1154
|
-
|
|
2529
|
+
const payload = readSanitizedComputerPausePayload(apiResult.payload);
|
|
2530
|
+
return toolTextResult(true, safeToolPayloadText(payload));
|
|
1155
2531
|
}
|
|
1156
2532
|
async function executeHostedComputerOpenTool(input) {
|
|
1157
2533
|
return await executeHostedComputerApiTool({
|
|
@@ -1442,9 +2818,8 @@ function safeToolPayloadText(payload) {
|
|
|
1442
2818
|
}
|
|
1443
2819
|
return `${text.slice(0, 60_000)}...`;
|
|
1444
2820
|
}
|
|
1445
|
-
function toolTextResult(success, text
|
|
2821
|
+
function toolTextResult(success, text) {
|
|
1446
2822
|
return {
|
|
1447
|
-
...extra,
|
|
1448
2823
|
rpcResult: {
|
|
1449
2824
|
success,
|
|
1450
2825
|
contentItems: [{ type: 'inputText', text }],
|
|
@@ -1461,12 +2836,19 @@ function parseDynamicToolCallRequest(message) {
|
|
|
1461
2836
|
arguments: null,
|
|
1462
2837
|
namespace: null,
|
|
1463
2838
|
tool: null,
|
|
2839
|
+
toolCallId: null,
|
|
1464
2840
|
};
|
|
1465
2841
|
}
|
|
1466
2842
|
return {
|
|
1467
2843
|
arguments: params.arguments,
|
|
1468
2844
|
namespace: normalizeNullableStringValue(params.namespace),
|
|
1469
2845
|
tool: normalizeNullableStringValue(params.tool),
|
|
2846
|
+
toolCallId: normalizeNullableStringValue(params.callId) ??
|
|
2847
|
+
normalizeNullableStringValue(params.call_id) ??
|
|
2848
|
+
normalizeNullableStringValue(params.toolCallId) ??
|
|
2849
|
+
normalizeNullableStringValue(params.tool_call_id) ??
|
|
2850
|
+
normalizeNullableStringValue(params.itemId) ??
|
|
2851
|
+
normalizeNullableStringValue(params.item_id),
|
|
1470
2852
|
};
|
|
1471
2853
|
}
|
|
1472
2854
|
function parseSendVaultFileArguments(value) {
|
|
@@ -1545,6 +2927,314 @@ function parseSubmitProductFeedbackArguments(value) {
|
|
|
1545
2927
|
ok: true,
|
|
1546
2928
|
};
|
|
1547
2929
|
}
|
|
2930
|
+
function parseFamilyPlanArguments(value) {
|
|
2931
|
+
const parsed = familyPlanArgumentsSchema.safeParse(value);
|
|
2932
|
+
if (!parsed.success) {
|
|
2933
|
+
return {
|
|
2934
|
+
ok: false,
|
|
2935
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
2936
|
+
error: parsed.error,
|
|
2937
|
+
rawInput: value,
|
|
2938
|
+
schemaName: 'murph.family_plan.input',
|
|
2939
|
+
schemaRootKeys: ['action', 'invite'],
|
|
2940
|
+
toolName: 'murph.family_plan',
|
|
2941
|
+
}),
|
|
2942
|
+
};
|
|
2943
|
+
}
|
|
2944
|
+
if (parsed.data.action === 'read_status') {
|
|
2945
|
+
return {
|
|
2946
|
+
ok: true,
|
|
2947
|
+
request: {
|
|
2948
|
+
action: 'read_status',
|
|
2949
|
+
},
|
|
2950
|
+
};
|
|
2951
|
+
}
|
|
2952
|
+
if (parsed.data.action === 'start_checkout') {
|
|
2953
|
+
return {
|
|
2954
|
+
ok: true,
|
|
2955
|
+
request: parsed.data.invite
|
|
2956
|
+
? {
|
|
2957
|
+
action: 'start_checkout',
|
|
2958
|
+
invite: {
|
|
2959
|
+
...(parsed.data.invite.planCode
|
|
2960
|
+
? { planCode: parsed.data.invite.planCode }
|
|
2961
|
+
: {}),
|
|
2962
|
+
...(parsed.data.invite.targetEmail
|
|
2963
|
+
? { targetEmail: parsed.data.invite.targetEmail }
|
|
2964
|
+
: {}),
|
|
2965
|
+
targetLabel: parsed.data.invite.targetLabel,
|
|
2966
|
+
targetPhoneNumber: parsed.data.invite.targetPhoneNumber,
|
|
2967
|
+
targetTelegramUsername: parsed.data.invite.targetTelegramUsername,
|
|
2968
|
+
},
|
|
2969
|
+
}
|
|
2970
|
+
: {
|
|
2971
|
+
action: 'start_checkout',
|
|
2972
|
+
},
|
|
2973
|
+
};
|
|
2974
|
+
}
|
|
2975
|
+
return {
|
|
2976
|
+
ok: true,
|
|
2977
|
+
request: {
|
|
2978
|
+
action: 'create_invite',
|
|
2979
|
+
invite: {
|
|
2980
|
+
...(parsed.data.invite.planCode
|
|
2981
|
+
? { planCode: parsed.data.invite.planCode }
|
|
2982
|
+
: {}),
|
|
2983
|
+
...(parsed.data.invite.targetEmail
|
|
2984
|
+
? { targetEmail: parsed.data.invite.targetEmail }
|
|
2985
|
+
: {}),
|
|
2986
|
+
targetLabel: parsed.data.invite.targetLabel,
|
|
2987
|
+
targetPhoneNumber: parsed.data.invite.targetPhoneNumber,
|
|
2988
|
+
targetTelegramUsername: parsed.data.invite.targetTelegramUsername,
|
|
2989
|
+
},
|
|
2990
|
+
},
|
|
2991
|
+
};
|
|
2992
|
+
}
|
|
2993
|
+
function parsePlanUsageArguments(value) {
|
|
2994
|
+
const parsed = planUsageArgumentsSchema.safeParse(value);
|
|
2995
|
+
if (!parsed.success) {
|
|
2996
|
+
return {
|
|
2997
|
+
ok: false,
|
|
2998
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
2999
|
+
error: parsed.error,
|
|
3000
|
+
rawInput: value,
|
|
3001
|
+
schemaName: 'murph.plan_usage.input',
|
|
3002
|
+
schemaRootKeys: [],
|
|
3003
|
+
toolName: 'murph.plan_usage',
|
|
3004
|
+
}),
|
|
3005
|
+
};
|
|
3006
|
+
}
|
|
3007
|
+
return { ok: true };
|
|
3008
|
+
}
|
|
3009
|
+
function parsePersonalizationArguments(value) {
|
|
3010
|
+
const parsed = hostedRuntimeAssistantPersonalizationModelToolRequestSchema
|
|
3011
|
+
.safeParse(value);
|
|
3012
|
+
if (!parsed.success) {
|
|
3013
|
+
return {
|
|
3014
|
+
ok: false,
|
|
3015
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
3016
|
+
error: parsed.error,
|
|
3017
|
+
rawInput: value,
|
|
3018
|
+
schemaName: 'murph.personalization.input',
|
|
3019
|
+
schemaRootKeys: ['action', 'tone', 'voice'],
|
|
3020
|
+
toolName: 'murph.personalization',
|
|
3021
|
+
}),
|
|
3022
|
+
};
|
|
3023
|
+
}
|
|
3024
|
+
return {
|
|
3025
|
+
ok: true,
|
|
3026
|
+
request: parsed.data,
|
|
3027
|
+
};
|
|
3028
|
+
}
|
|
3029
|
+
function parseAssistantConfigurationArguments(value) {
|
|
3030
|
+
const parsed = assistantConfigurationArgumentsSchema.safeParse(value);
|
|
3031
|
+
if (!parsed.success) {
|
|
3032
|
+
return {
|
|
3033
|
+
ok: false,
|
|
3034
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
3035
|
+
error: parsed.error,
|
|
3036
|
+
rawInput: value,
|
|
3037
|
+
schemaName: 'murph.assistant_configuration.input',
|
|
3038
|
+
schemaRootKeys: ['action', 'model', 'reasoningEffort'],
|
|
3039
|
+
toolName: 'murph.assistant_configuration',
|
|
3040
|
+
}),
|
|
3041
|
+
};
|
|
3042
|
+
}
|
|
3043
|
+
return {
|
|
3044
|
+
ok: true,
|
|
3045
|
+
request: parsed.data,
|
|
3046
|
+
};
|
|
3047
|
+
}
|
|
3048
|
+
function parseGroupArguments(value) {
|
|
3049
|
+
const parsed = groupArgumentsSchema.safeParse(value);
|
|
3050
|
+
if (!parsed.success) {
|
|
3051
|
+
return {
|
|
3052
|
+
ok: false,
|
|
3053
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
3054
|
+
error: parsed.error,
|
|
3055
|
+
rawInput: value,
|
|
3056
|
+
schemaName: 'murph.group.input',
|
|
3057
|
+
schemaRootKeys: ['action'],
|
|
3058
|
+
toolName: 'murph.group',
|
|
3059
|
+
}),
|
|
3060
|
+
};
|
|
3061
|
+
}
|
|
3062
|
+
if (parsed.data.action === 'ask') {
|
|
3063
|
+
return {
|
|
3064
|
+
ok: true,
|
|
3065
|
+
request: {
|
|
3066
|
+
action: 'ask',
|
|
3067
|
+
...(parsed.data.groupLabel !== undefined
|
|
3068
|
+
? { groupLabel: parsed.data.groupLabel }
|
|
3069
|
+
: {}),
|
|
3070
|
+
question: parsed.data.question,
|
|
3071
|
+
},
|
|
3072
|
+
};
|
|
3073
|
+
}
|
|
3074
|
+
if (parsed.data.action === 'create_join_link') {
|
|
3075
|
+
const joinLink = {
|
|
3076
|
+
...(parsed.data.displayName !== undefined
|
|
3077
|
+
? { displayName: parsed.data.displayName }
|
|
3078
|
+
: {}),
|
|
3079
|
+
...(parsed.data.kind !== undefined ? { kind: parsed.data.kind } : {}),
|
|
3080
|
+
...(parsed.data.requestedVaultShareProjectionScopes !== undefined
|
|
3081
|
+
? {
|
|
3082
|
+
requestedVaultShareProjectionScopes: parsed.data.requestedVaultShareProjectionScopes,
|
|
3083
|
+
}
|
|
3084
|
+
: {}),
|
|
3085
|
+
};
|
|
3086
|
+
return {
|
|
3087
|
+
ok: true,
|
|
3088
|
+
request: Object.keys(joinLink).length > 0
|
|
3089
|
+
? { action: 'create_join_link', joinLink }
|
|
3090
|
+
: { action: 'create_join_link' },
|
|
3091
|
+
};
|
|
3092
|
+
}
|
|
3093
|
+
if (parsed.data.action === 'update_display_name') {
|
|
3094
|
+
return {
|
|
3095
|
+
ok: true,
|
|
3096
|
+
request: {
|
|
3097
|
+
action: 'update_display_name',
|
|
3098
|
+
updateDisplayName: {
|
|
3099
|
+
displayName: parsed.data.displayName,
|
|
3100
|
+
},
|
|
3101
|
+
},
|
|
3102
|
+
};
|
|
3103
|
+
}
|
|
3104
|
+
if (parsed.data.action === 'leave_membership') {
|
|
3105
|
+
return {
|
|
3106
|
+
ok: true,
|
|
3107
|
+
request: {
|
|
3108
|
+
action: 'leave_membership',
|
|
3109
|
+
membershipId: parsed.data.membershipId,
|
|
3110
|
+
},
|
|
3111
|
+
};
|
|
3112
|
+
}
|
|
3113
|
+
if (parsed.data.action === 'set_chat_avatar') {
|
|
3114
|
+
if (parsed.data.avatarSource === 'generate') {
|
|
3115
|
+
if (!parsed.data.prompt) {
|
|
3116
|
+
return {
|
|
3117
|
+
ok: false,
|
|
3118
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
3119
|
+
error: new z.ZodError([
|
|
3120
|
+
{
|
|
3121
|
+
code: z.ZodIssueCode.custom,
|
|
3122
|
+
message: 'set_chat_avatar with avatarSource="generate" requires prompt',
|
|
3123
|
+
path: ['prompt'],
|
|
3124
|
+
},
|
|
3125
|
+
]),
|
|
3126
|
+
rawInput: value,
|
|
3127
|
+
schemaName: 'murph.group.input',
|
|
3128
|
+
schemaRootKeys: ['action'],
|
|
3129
|
+
toolName: 'murph.group',
|
|
3130
|
+
}),
|
|
3131
|
+
};
|
|
3132
|
+
}
|
|
3133
|
+
return {
|
|
3134
|
+
ok: true,
|
|
3135
|
+
request: {
|
|
3136
|
+
action: 'set_chat_avatar',
|
|
3137
|
+
avatar: {
|
|
3138
|
+
source: 'generate',
|
|
3139
|
+
args: {
|
|
3140
|
+
alt: parsed.data.alt,
|
|
3141
|
+
outputFormat: parsed.data.outputFormat,
|
|
3142
|
+
prompt: parsed.data.prompt,
|
|
3143
|
+
quality: parsed.data.quality,
|
|
3144
|
+
referenceImageRefs: parsed.data.referenceImageRefs,
|
|
3145
|
+
size: parsed.data.size,
|
|
3146
|
+
},
|
|
3147
|
+
},
|
|
3148
|
+
},
|
|
3149
|
+
};
|
|
3150
|
+
}
|
|
3151
|
+
if (!parsed.data.imageRef) {
|
|
3152
|
+
return {
|
|
3153
|
+
ok: false,
|
|
3154
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
3155
|
+
error: new z.ZodError([
|
|
3156
|
+
{
|
|
3157
|
+
code: z.ZodIssueCode.custom,
|
|
3158
|
+
message: 'set_chat_avatar with avatarSource="image_ref" requires imageRef',
|
|
3159
|
+
path: ['imageRef'],
|
|
3160
|
+
},
|
|
3161
|
+
]),
|
|
3162
|
+
rawInput: value,
|
|
3163
|
+
schemaName: 'murph.group.input',
|
|
3164
|
+
schemaRootKeys: ['action'],
|
|
3165
|
+
toolName: 'murph.group',
|
|
3166
|
+
}),
|
|
3167
|
+
};
|
|
3168
|
+
}
|
|
3169
|
+
return {
|
|
3170
|
+
ok: true,
|
|
3171
|
+
request: {
|
|
3172
|
+
action: 'set_chat_avatar',
|
|
3173
|
+
avatar: {
|
|
3174
|
+
alt: parsed.data.alt,
|
|
3175
|
+
imageRef: parsed.data.imageRef,
|
|
3176
|
+
source: 'image_ref',
|
|
3177
|
+
},
|
|
3178
|
+
},
|
|
3179
|
+
};
|
|
3180
|
+
}
|
|
3181
|
+
if (parsed.data.action === 'post_join_offer') {
|
|
3182
|
+
const joinOffer = {
|
|
3183
|
+
...(parsed.data.displayName !== undefined
|
|
3184
|
+
? { displayName: parsed.data.displayName }
|
|
3185
|
+
: {}),
|
|
3186
|
+
messageTemplate: parsed.data.messageTemplate,
|
|
3187
|
+
...(parsed.data.projectionScopes !== undefined
|
|
3188
|
+
? { projectionScopes: parsed.data.projectionScopes }
|
|
3189
|
+
: {}),
|
|
3190
|
+
};
|
|
3191
|
+
return {
|
|
3192
|
+
ok: true,
|
|
3193
|
+
request: { action: 'post_join_offer', joinOffer },
|
|
3194
|
+
};
|
|
3195
|
+
}
|
|
3196
|
+
if (parsed.data.action === 'list_memberships'
|
|
3197
|
+
|| parsed.data.action === 'read_chat_participants'
|
|
3198
|
+
|| parsed.data.action === 'share_contact_card'
|
|
3199
|
+
|| parsed.data.action === 'revoke_own_email_share') {
|
|
3200
|
+
return { ok: true, request: { action: parsed.data.action } };
|
|
3201
|
+
}
|
|
3202
|
+
return { ok: true, request: { action: 'read_current' } };
|
|
3203
|
+
}
|
|
3204
|
+
function parseNewsletterArguments(value) {
|
|
3205
|
+
const parsed = newsletterArgumentsSchema.safeParse(value);
|
|
3206
|
+
if (!parsed.success) {
|
|
3207
|
+
return {
|
|
3208
|
+
ok: false,
|
|
3209
|
+
validationDigest: buildDynamicToolValidationDigest({
|
|
3210
|
+
error: parsed.error,
|
|
3211
|
+
rawInput: value,
|
|
3212
|
+
schemaName: 'murph.newsletter.input',
|
|
3213
|
+
schemaRootKeys: ['action', 'groupId'],
|
|
3214
|
+
toolName: 'murph.newsletter',
|
|
3215
|
+
}),
|
|
3216
|
+
};
|
|
3217
|
+
}
|
|
3218
|
+
if (parsed.data.action === 'prepare') {
|
|
3219
|
+
return {
|
|
3220
|
+
ok: true,
|
|
3221
|
+
request: {
|
|
3222
|
+
action: 'prepare',
|
|
3223
|
+
groupId: parsed.data.groupId,
|
|
3224
|
+
},
|
|
3225
|
+
};
|
|
3226
|
+
}
|
|
3227
|
+
return {
|
|
3228
|
+
ok: true,
|
|
3229
|
+
request: {
|
|
3230
|
+
action: 'send',
|
|
3231
|
+
groupId: parsed.data.groupId,
|
|
3232
|
+
html: parsed.data.html,
|
|
3233
|
+
subject: parsed.data.subject,
|
|
3234
|
+
...(parsed.data.text === undefined ? {} : { text: parsed.data.text }),
|
|
3235
|
+
},
|
|
3236
|
+
};
|
|
3237
|
+
}
|
|
1548
3238
|
function parseFinishWithoutReplyArguments(value) {
|
|
1549
3239
|
const parsed = finishWithoutReplyArgumentsSchema.safeParse(value);
|
|
1550
3240
|
if (!parsed.success) {
|