@murphai/murph 1.3.0 → 1.3.2
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 +3885 -0
- package/config.schema.json +731 -60
- package/dist/bin.js +6 -4
- package/dist/bin.js.map +1 -1
- package/dist/cli-entry.d.ts +8 -1
- package/dist/cli-entry.d.ts.map +1 -1
- package/dist/cli-entry.js +80 -4
- package/dist/cli-entry.js.map +1 -1
- package/dist/commands/audit-command-helpers.d.ts.map +1 -1
- package/dist/commands/audit-command-helpers.js +7 -5
- package/dist/commands/audit-command-helpers.js.map +1 -1
- package/dist/commands/automation.d.ts +143 -104
- package/dist/commands/automation.d.ts.map +1 -1
- package/dist/commands/automation.js +71 -13
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/batch.d.ts +7 -4
- package/dist/commands/batch.d.ts.map +1 -1
- package/dist/commands/batch.js +16 -62
- package/dist/commands/batch.js.map +1 -1
- package/dist/commands/clinical-imports.d.ts +103 -103
- package/dist/commands/command-factory-primitives.d.ts +1 -1
- package/dist/commands/command-factory-primitives.d.ts.map +1 -1
- package/dist/commands/command-factory-primitives.js +1 -1
- package/dist/commands/command-factory-primitives.js.map +1 -1
- package/dist/commands/commons.d.ts +59 -0
- package/dist/commands/commons.d.ts.map +1 -1
- package/dist/commands/commons.js +83 -5
- package/dist/commands/commons.js.map +1 -1
- package/dist/commands/document.d.ts.map +1 -1
- package/dist/commands/document.js +31 -1
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/encounter.d.ts +128 -128
- package/dist/commands/event.d.ts.map +1 -1
- package/dist/commands/event.js +7 -1
- package/dist/commands/event.js.map +1 -1
- package/dist/commands/exercise.d.ts.map +1 -1
- package/dist/commands/exercise.js +16 -3
- package/dist/commands/exercise.js.map +1 -1
- package/dist/commands/experiment-progress-card-image.d.ts.map +1 -1
- package/dist/commands/experiment-progress-card-image.js +76 -16
- package/dist/commands/experiment-progress-card-image.js.map +1 -1
- package/dist/commands/experiment.d.ts.map +1 -1
- package/dist/commands/experiment.js +51 -5
- package/dist/commands/experiment.js.map +1 -1
- package/dist/commands/export-intake-read-helpers.d.ts.map +1 -1
- package/dist/commands/export-intake-read-helpers.js +9 -6
- package/dist/commands/export-intake-read-helpers.js.map +1 -1
- package/dist/commands/food.d.ts.map +1 -1
- package/dist/commands/food.js +13 -11
- package/dist/commands/food.js.map +1 -1
- package/dist/commands/habitat.d.ts.map +1 -1
- package/dist/commands/habitat.js +120 -9
- package/dist/commands/habitat.js.map +1 -1
- package/dist/commands/health-blood-test-save.d.ts.map +1 -1
- package/dist/commands/health-blood-test-save.js +42 -8
- package/dist/commands/health-blood-test-save.js.map +1 -1
- package/dist/commands/meal.d.ts.map +1 -1
- package/dist/commands/meal.js +58 -4
- package/dist/commands/meal.js.map +1 -1
- package/dist/commands/measurement.d.ts +1 -0
- package/dist/commands/measurement.d.ts.map +1 -1
- package/dist/commands/measurement.js +51 -2
- package/dist/commands/measurement.js.map +1 -1
- package/dist/commands/medication.d.ts +6 -6
- package/dist/commands/model.js +7 -11
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/murph-age.d.ts +9 -1
- package/dist/commands/murph-age.d.ts.map +1 -1
- package/dist/commands/murph-age.js +132 -7
- package/dist/commands/murph-age.js.map +1 -1
- package/dist/commands/occurred-at-option.d.ts.map +1 -1
- package/dist/commands/occurred-at-option.js +7 -41
- package/dist/commands/occurred-at-option.js.map +1 -1
- package/dist/commands/payload-schema-command.d.ts +2 -2
- package/dist/commands/payload-schema-command.d.ts.map +1 -1
- package/dist/commands/payload-schema-command.js +1 -1
- package/dist/commands/payload-schema-command.js.map +1 -1
- package/dist/commands/public-validation-issue.d.ts +7 -0
- package/dist/commands/public-validation-issue.d.ts.map +1 -0
- package/dist/commands/public-validation-issue.js +7 -0
- package/dist/commands/public-validation-issue.js.map +1 -0
- package/dist/commands/research.d.ts.map +1 -1
- package/dist/commands/research.js +26 -28
- package/dist/commands/research.js.map +1 -1
- package/dist/commands/route.d.ts.map +1 -1
- package/dist/commands/route.js +45 -1
- package/dist/commands/route.js.map +1 -1
- package/dist/commands/scheduled-log.d.ts +142 -124
- package/dist/commands/scheduled-log.d.ts.map +1 -1
- package/dist/commands/scheduled-log.js +456 -106
- package/dist/commands/scheduled-log.js.map +1 -1
- package/dist/commands/wearables.d.ts +1520 -145
- package/dist/commands/wearables.d.ts.map +1 -1
- package/dist/commands/wearables.js +135 -3
- package/dist/commands/wearables.js.map +1 -1
- package/dist/commands/workout-live.d.ts +3 -0
- package/dist/commands/workout-live.d.ts.map +1 -0
- package/dist/commands/workout-live.js +372 -0
- package/dist/commands/workout-live.js.map +1 -0
- package/dist/commands/workout-typed-options.d.ts +38 -0
- package/dist/commands/workout-typed-options.d.ts.map +1 -0
- package/dist/commands/workout-typed-options.js +90 -0
- package/dist/commands/workout-typed-options.js.map +1 -0
- package/dist/commands/workout.d.ts.map +1 -1
- package/dist/commands/workout.js +115 -84
- package/dist/commands/workout.js.map +1 -1
- package/dist/food-labels.d.ts +549 -277
- package/dist/food-labels.d.ts.map +1 -1
- package/dist/food-labels.js +19 -3
- package/dist/food-labels.js.map +1 -1
- package/dist/foreground-terminal-logging.js +0 -2
- package/dist/foreground-terminal-logging.js.map +1 -1
- package/dist/hosted-data-api-labels.d.ts +1683 -871
- package/dist/hosted-data-api-labels.d.ts.map +1 -1
- package/dist/hosted-data-api-labels.js +224 -31
- package/dist/hosted-data-api-labels.js.map +1 -1
- package/dist/incur-error-bridge.d.ts.map +1 -1
- package/dist/incur-error-bridge.js +7 -15
- package/dist/incur-error-bridge.js.map +1 -1
- package/dist/incur.generated.d.ts +158 -3
- package/dist/incur.generated.d.ts.map +1 -1
- package/dist/mapbox-address.d.ts +41 -0
- package/dist/mapbox-address.d.ts.map +1 -0
- package/dist/mapbox-address.js +469 -0
- package/dist/mapbox-address.js.map +1 -0
- package/dist/mapbox-route-client.d.ts +2 -2
- package/dist/mapbox-route-client.d.ts.map +1 -1
- package/dist/mapbox-route-client.js +49 -12
- package/dist/mapbox-route-client.js.map +1 -1
- package/dist/mapbox-route-contracts.d.ts +60 -60
- package/dist/mapbox-route-contracts.d.ts.map +1 -1
- package/dist/mapbox-route-contracts.js +1 -1
- package/dist/mapbox-route-contracts.js.map +1 -1
- package/dist/mapbox-route-directions.d.ts.map +1 -1
- package/dist/mapbox-route-directions.js +1 -2
- package/dist/mapbox-route-directions.js.map +1 -1
- package/dist/mapbox-route-elevation.js +0 -1
- package/dist/mapbox-route-elevation.js.map +1 -1
- package/dist/mapbox-route-points.js +0 -2
- package/dist/mapbox-route-points.js.map +1 -1
- package/dist/mapbox-route.d.ts.map +1 -1
- package/dist/mapbox-route.js +1 -1
- package/dist/mapbox-route.js.map +1 -1
- package/dist/research-scout-client.d.ts +3 -2
- package/dist/research-scout-client.d.ts.map +1 -1
- package/dist/research-scout-client.js +166 -37
- package/dist/research-scout-client.js.map +1 -1
- package/dist/research-scout.d.ts +1 -1
- package/dist/research-scout.d.ts.map +1 -1
- package/dist/research-scout.js +1 -1
- package/dist/research-scout.js.map +1 -1
- package/dist/supplement-labels.d.ts +545 -275
- package/dist/supplement-labels.d.ts.map +1 -1
- package/dist/supplement-labels.js +0 -1
- package/dist/supplement-labels.js.map +1 -1
- package/dist/vault-cli-command-manifest.d.ts +2472 -700
- package/dist/vault-cli-command-manifest.d.ts.map +1 -1
- package/dist/vault-cli-command-manifest.js +35 -10
- package/dist/vault-cli-command-manifest.js.map +1 -1
- package/dist/vault-cli-skill-hash.generated.d.ts +1 -1
- package/dist/vault-cli-skill-hash.generated.js +1 -1
- package/dist/vault-cli-vault-context.js +0 -1
- package/dist/vault-cli-vault-context.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts +9 -0
- package/node_modules/@murphai/assistant-cli/dist/assistant/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js +0 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/chat-controller-models.js.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js +10 -8
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.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 +19 -9
- 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 +20 -56
- package/node_modules/@murphai/assistant-cli/dist/commands/assistant.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/README.md +73 -16
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts +21 -4
- 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 +173 -43
- 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 +75 -70
- 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/active-turn-input-journal.js +44 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-journal.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts +3 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js +28 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js.map +1 -1
- 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 +4 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/attachment-evidence-model.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.d.ts +77 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.js +777 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/cross-session-route-state.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/grouping.js +36 -4
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/input-summary.js +3 -1
- 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 +3 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/operation-scope.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/prompt-builder.d.ts +10 -2
- 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 +33 -13
- 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 +12 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +851 -171
- 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 +2 -0
- 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 +51 -18
- 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 +2 -0
- 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 +59 -30
- 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 +3 -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 +3 -0
- 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 +10 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.js +62 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/target-override.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channel-adapters.d.ts +1 -1
- 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/channels/descriptors.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/channels/descriptors.js +107 -44
- 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 +3 -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 +34 -3
- 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 +22 -14
- 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 +352 -78
- 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 +43 -8
- 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 +1 -0
- 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 +6 -5
- 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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js +14 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-base-instructions.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.d.ts +17 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.js +25 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-runtime.js.map +1 -1
- 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 +9 -9
- 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/planning.d.ts +4 -8
- 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 +284 -59
- 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 +5 -3
- 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 +152 -24
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/content-types.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/content-types.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.d.ts +4 -1
- 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 +76 -24
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.js +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-persistence.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/conversation-ref.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.d.ts +5 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.js +178 -31
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/authoring.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/canonical-jobs.d.ts +32 -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 +147 -31
- 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 +8 -0
- 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 +73 -15
- 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 +8 -1
- 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 +438 -116
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/mutations.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/mutations.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/mutations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.d.ts +11 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.js +153 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/output-history.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts +47 -47
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/runtime-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts +10 -0
- 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 +28 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/store.d.ts +49 -39
- 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 +19 -1
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.js +1 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/targets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/timing-verification.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts +9 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron.js +31 -2
- 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 +8 -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 +38 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.d.ts +2 -1
- 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 +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/device-activity-cron-tags.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +123 -13
- 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 +57 -11
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js +2 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-plan.js.map +1 -1
- 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 +10 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.d.ts +115 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.js +162 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card-schema.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.d.ts +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.js +118 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-response-card.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.d.ts +83 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.js +27 -22
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard-schema.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard.js +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-challenge-scorecard.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-email-outbox.d.ts +20 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-email-outbox.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/{newsletter-outbox.js → group-email-outbox.js} +65 -36
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-email-outbox.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.d.ts +2 -48
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.js +14 -98
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-newsletter-automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.d.ts +22 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.js +87 -28
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-room-model.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.js +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-freshness.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.d.ts +3 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.js +21 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-shared-read-limits.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.d.ts +31 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.js +164 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-image-completion.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts +80 -24
- 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 +191 -62
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-source.d.ts +1 -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 +2 -1
- 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 +273 -269
- 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 +6 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/input-store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js +26 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/issue-reporting.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.d.ts +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.js +20 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/linq-delivery-posture.js.map +1 -0
- 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 +886 -436
- 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 +3 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.js +245 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/maintenance-evidence.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.d.ts +22 -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 +338 -47
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.d.ts +13 -22
- package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.js +8 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/message-target-selection.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +2 -0
- 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 +43 -9
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts +16 -14
- 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 +339 -62
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.d.ts +14 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.js +94 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-first-personal-read-automation.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.d.ts +22 -3
- 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 +81 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.d.ts +25 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.js +72 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-followup-seed.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.js +184 -83
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-goal-checkin-automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js +15 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/automation-authority.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/automation-authority.js +24 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/automation-authority.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.d.ts +15 -3
- 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 +314 -53
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/dispatch-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/intents.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/receipt-repair.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/receipt-repair.js +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/receipt-repair.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/retry-policy.d.ts +4 -1
- 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 +33 -8
- 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 +38 -4
- 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 +1034 -41
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/summary.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/summary.js +7 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/summary.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +65 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +569 -67
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.d.ts +23 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js +294 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.d.ts +12 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.js +38 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/prompt-time.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-catalog.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.d.ts +48 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.js +101 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/provider-start-critical-path.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts +6 -0
- 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 +86 -97
- 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 +16 -5
- 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 +379 -644
- 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 +40 -1
- 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/redaction.d.ts +2 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js +6 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/redaction.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.d.ts +17 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.js +287 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reminder-availability-maintenance.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 +10 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/reply-delivery-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.d.ts +33 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.js +173 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/response-media.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.d.ts +25 -4
- 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 +137 -69
- package/node_modules/@murphai/assistant-engine/dist/assistant/runtime-residue.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts +20 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-turn-routes.js +18 -8
- 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 +5 -2
- 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 +31 -11
- 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 +12 -2
- 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 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js +71 -16
- package/node_modules/@murphai/assistant-engine/dist/assistant/session-resolution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/state-secrets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/persistence.d.ts +11 -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 +410 -139
- 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 +3 -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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +54 -13
- 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 +7 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js +312 -138
- package/node_modules/@murphai/assistant-engine/dist/assistant/system-prompt.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts +10 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js +150 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-digest.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js +74 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-finalizer.d.ts +1 -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 +115 -16
- 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 +3 -2
- 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-progress.d.ts +9 -2
- 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 +49 -6
- 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 +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/turns.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turns.js +62 -22
- 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 +7 -0
- 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 +47 -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 +4 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js +57 -23
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-channel-adapters.d.ts +1 -1
- 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 +13 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.d.ts +8 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.js +136 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-diagnostics.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.d.ts +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.js +36 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/action-outcome.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.d.ts +49 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.js +387 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/analyze-video-tool.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts +59 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js +180 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts +6 -3
- 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 +35 -10
- 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 +3 -4
- 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 +9 -15
- 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/ask-grok-tool.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/ask-grok-tool.js +77 -11
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/ask-grok-tool.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts +21 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js +213 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts +3320 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js +1403 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.d.ts +50 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.js +79 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/analyze-video.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.js +2 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/ask-grok.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.d.ts +15 -32
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.js +11 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/assistant-style.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.js +153 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation-model-input-schema.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts +29 -150
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js +537 -109
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/automation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/clinical-records.js +4 -4
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/clinical-records.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/connected-apps.d.ts +10 -54
- 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 +134 -109
- 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/device.d.ts +6 -13
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js +44 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/device.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts +8 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.js +2 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/dynamic-tool-wrapper.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-song.d.ts +9 -2
- 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 +31 -3
- 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 +7 -6
- 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/generate-voice-memo.js +12 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/generate-voice-memo.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.d.ts +10 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.js +19 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/group-room-model.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.d.ts +2 -16
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/labs.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.d.ts +60 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.js +91 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/member-memory.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.d.ts +65 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.js +214 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/pending-vault-files.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/phone-calls.d.ts +24 -16
- 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 +78 -7
- 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/physical-notes.d.ts +131 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js +275 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts +131 -2427
- 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 +2505 -1575
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/failures.js +39 -95
- 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 +5 -2
- 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 +88 -101
- 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 +58 -13
- 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 +85 -122
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/image-reference-resolver.js +5 -3
- 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/images.d.ts +15 -2
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.js +99 -8
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/images.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.d.ts +17 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.js +12 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/managed-voice-memo-runtime.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.d.ts +7 -11
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/openai-image-generation.js +237 -52
- 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/response-card-validation-feedback.d.ts +3 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.d.ts +19 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.d.ts.map +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.js +203 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/workout-delivery-context.js.map +1 -0
- 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 +189 -486
- 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 +42 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +1196 -339
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.d.ts +1 -1
- 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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-runtime-residue.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-runtime.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.d.ts +24 -24
- 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 +27 -27
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.d.ts +27 -27
- package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/attachment-prompt-contracts.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts +9 -3
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.js +7 -1
- package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js +5 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/documents.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js +16 -2
- package/node_modules/@murphai/assistant-engine/dist/knowledge/service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/outbound-channel.d.ts +5 -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/skills/README.md +29 -0
- package/node_modules/@murphai/assistant-engine/skills/appointment-scheduling/SKILL.md +23 -0
- package/node_modules/@murphai/assistant-engine/skills/automatic-meal-capture/SKILL.md +180 -12
- package/node_modules/@murphai/assistant-engine/skills/behavior-followthrough/SKILL.md +155 -116
- package/node_modules/@murphai/assistant-engine/skills/body-composition/SKILL.md +137 -27
- package/node_modules/@murphai/assistant-engine/skills/body-composition/references/evidence.md +150 -0
- package/node_modules/@murphai/assistant-engine/skills/body-composition/references/fat-loss.md +132 -0
- package/node_modules/@murphai/assistant-engine/skills/body-composition/references/muscle-gain.md +135 -0
- package/node_modules/@murphai/assistant-engine/skills/body-composition/references/safety.md +171 -0
- package/node_modules/@murphai/assistant-engine/skills/body-composition/references/tracking-and-adjustment.md +193 -0
- package/node_modules/@murphai/assistant-engine/skills/cardiometabolic-health/SKILL.md +10 -1
- package/node_modules/@murphai/assistant-engine/skills/computer-use/SKILL.md +0 -4
- package/node_modules/@murphai/assistant-engine/skills/connected-apps/SKILL.md +86 -12
- package/node_modules/@murphai/assistant-engine/skills/connected-apps/references/provider-data-exports.md +209 -0
- package/node_modules/@murphai/assistant-engine/skills/daily-activity/SKILL.md +27 -4
- package/node_modules/@murphai/assistant-engine/skills/experiment-onboarding/SKILL.md +22 -9
- package/node_modules/@murphai/assistant-engine/skills/food-journal/SKILL.md +200 -14
- package/node_modules/@murphai/assistant-engine/skills/group-challenge/SKILL.md +17 -737
- package/node_modules/@murphai/assistant-engine/skills/group-challenge-scorecards/SKILL.md +17 -328
- package/node_modules/@murphai/assistant-engine/skills/group-chat/SKILL.md +18 -912
- package/node_modules/@murphai/assistant-engine/skills/group-newsletter/SKILL.md +16 -237
- package/node_modules/@murphai/assistant-engine/skills/groupchat-comedy/SKILL.md +19 -351
- package/node_modules/@murphai/assistant-engine/skills/hosted-low-usage/SKILL.md +310 -118
- package/node_modules/@murphai/assistant-engine/skills/micronutrients-supplements/SKILL.md +30 -8
- package/node_modules/@murphai/assistant-engine/skills/mobility-posture/SKILL.md +1 -1
- package/node_modules/@murphai/assistant-engine/skills/murph-family/SKILL.md +91 -26
- package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/SKILL.md +75 -751
- package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/references/aspiration-foundation-delegation.md +443 -0
- package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/references/persistence-recovery-follow-up.md +155 -0
- package/node_modules/@murphai/assistant-engine/skills/murph-onboarding/references/return-launch-completion.md +246 -0
- package/node_modules/@murphai/assistant-engine/skills/music-generation/SKILL.md +31 -163
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/SKILL.md +84 -7
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-goals.md +313 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/carnivore-animal-based.md +145 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/dash.md +183 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/intermittent-fasting.md +153 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/ketogenic.md +149 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/low-carbohydrate.md +167 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/mediterranean.md +141 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/vegan-plant-based.md +175 -0
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/named-diets/vegetarian-spectrum.md +131 -0
- package/node_modules/@murphai/assistant-engine/skills/phone-calls/SKILL.md +47 -67
- package/node_modules/@murphai/assistant-engine/skills/physical-notes/SKILL.md +167 -0
- package/node_modules/@murphai/assistant-engine/skills/physical-therapy/SKILL.md +4 -2
- package/node_modules/@murphai/assistant-engine/skills/self-management-experiments/SKILL.md +19 -3
- package/node_modules/@murphai/assistant-engine/skills/shared/exercise-catalog-runtime.md +36 -19
- package/node_modules/@murphai/assistant-engine/skills/signup-link/SKILL.md +30 -0
- package/node_modules/@murphai/assistant-engine/skills/strength-training/SKILL.md +17 -1
- package/node_modules/@murphai/assistant-engine/skills/tracked-table/SKILL.md +292 -0
- package/node_modules/@murphai/assistant-engine/skills/workout-csv-import/SKILL.md +129 -0
- package/node_modules/@murphai/assistantd/dist/client.d.ts +2 -0
- package/node_modules/@murphai/assistantd/dist/client.d.ts.map +1 -1
- package/node_modules/@murphai/assistantd/dist/client.js +33 -0
- package/node_modules/@murphai/assistantd/dist/client.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 +25 -1
- package/node_modules/@murphai/assistantd/dist/http-protocol.js.map +1 -1
- package/node_modules/@murphai/clinical-records/dist/index.d.ts +660 -660
- package/node_modules/@murphai/clinical-records/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/clinical-records/dist/index.js +1 -1
- package/node_modules/@murphai/clinical-records/dist/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/automation-availability.d.ts +51 -0
- package/node_modules/@murphai/core/dist/automation-availability.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/automation-availability.js +226 -0
- package/node_modules/@murphai/core/dist/automation-availability.js.map +1 -0
- package/node_modules/@murphai/core/dist/automation.d.ts +9 -2
- package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/automation.js +121 -19
- package/node_modules/@murphai/core/dist/automation.js.map +1 -1
- package/node_modules/@murphai/core/dist/bank/habitat.d.ts +2 -0
- package/node_modules/@murphai/core/dist/bank/habitat.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/bank/habitat.js +35 -1
- package/node_modules/@murphai/core/dist/bank/habitat.js.map +1 -1
- package/node_modules/@murphai/core/dist/bank/regimens.js +1 -1
- package/node_modules/@murphai/core/dist/bank/regimens.js.map +1 -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 +9 -123
- 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 +33 -0
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.js +119 -0
- package/node_modules/@murphai/core/dist/domains/events/capture-lookup.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.d.ts +24 -0
- package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.js +409 -0
- package/node_modules/@murphai/core/dist/domains/events/generated-image-capture-retention.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/events/ledger.d.ts +34 -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 +188 -15
- package/node_modules/@murphai/core/dist/domains/events/ledger.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events.d.ts +6 -2
- package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events.js +3 -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 +5 -1
- package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -1
- package/node_modules/@murphai/core/dist/history/api.d.ts +8 -5
- package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/history/api.js +268 -20
- package/node_modules/@murphai/core/dist/history/api.js.map +1 -1
- package/node_modules/@murphai/core/dist/index.d.ts +11 -6
- package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/index.js +8 -4
- package/node_modules/@murphai/core/dist/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/memory.js +1 -0
- package/node_modules/@murphai/core/dist/memory.js.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.d.ts +45 -4
- package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.js +2204 -97
- package/node_modules/@murphai/core/dist/mutations.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 +5 -0
- package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/operations/write-batch.js +40 -2
- package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -1
- package/node_modules/@murphai/core/dist/protocols.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/protocols.js +52 -9
- package/node_modules/@murphai/core/dist/protocols.js.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.d.ts +3 -2
- package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.js +9 -4
- package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -1
- package/node_modules/@murphai/core/dist/scheduled-logs.d.ts +3 -0
- package/node_modules/@murphai/core/dist/scheduled-logs.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/scheduled-logs.js +65 -29
- package/node_modules/@murphai/core/dist/scheduled-logs.js.map +1 -1
- package/node_modules/@murphai/device-syncd/README.md +237 -0
- package/node_modules/@murphai/device-syncd/dist/client.d.ts +15 -0
- package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts +29 -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 +78 -2
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-targets.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-targets.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.d.ts +2 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.js +2 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-client-config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.d.ts +1 -0
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.js +9 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js +2 -2
- package/node_modules/@murphai/device-syncd/dist/config/junction-connect-sources.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-configs.d.ts +2 -2
- 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 +2 -2
- 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 +4 -2
- 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 +6 -0
- package/node_modules/@murphai/device-syncd/dist/config/provider-env.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.d.ts +614 -0
- 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 +216 -148
- 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 +11 -0
- 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 +2 -2
- 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.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/serializable-provider-configs.js +2 -0
- 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 +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.d.ts +1 -1
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/configured-provider-runtime-descriptors.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts +1 -1
- package/node_modules/@murphai/device-syncd/dist/connect-config.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/connect-config.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/connect-config.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/fitbit-migration.d.ts +57 -0
- package/node_modules/@murphai/device-syncd/dist/fitbit-migration.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/fitbit-migration.js +166 -0
- package/node_modules/@murphai/device-syncd/dist/fitbit-migration.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +87 -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 +296 -6
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/index.d.ts +1 -1
- 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 +27 -0
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js +464 -9
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.d.ts +17 -2
- package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.js +99 -40
- package/node_modules/@murphai/device-syncd/dist/junction-inline-authority.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-resources.d.ts +16 -0
- package/node_modules/@murphai/device-syncd/dist/junction-resources.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-resources.js +32 -0
- package/node_modules/@murphai/device-syncd/dist/junction-resources.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.d.ts +17 -0
- package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.js +45 -0
- package/node_modules/@murphai/device-syncd/dist/junction-source-reconnect.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts +15 -0
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js +24 -0
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/prepared-webhook.d.ts +29 -0
- package/node_modules/@murphai/device-syncd/dist/prepared-webhook.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/prepared-webhook.js +263 -0
- package/node_modules/@murphai/device-syncd/dist/prepared-webhook.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/provider-configs.d.ts +1 -1
- package/node_modules/@murphai/device-syncd/dist/provider-configs.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/provider-configs.js +1 -1
- package/node_modules/@murphai/device-syncd/dist/provider-configs.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/provider-label.d.ts +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 +4 -2
- 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 +30 -1
- 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 +1005 -193
- package/node_modules/@murphai/device-syncd/dist/providers/junction-client.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts +11 -2
- package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction.js +5033 -310
- package/node_modules/@murphai/device-syncd/dist/providers/junction.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js +2 -1
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +12 -3
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +50 -12
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts +3 -1
- package/node_modules/@murphai/device-syncd/dist/providers/strava.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/strava.js +51 -38
- package/node_modules/@murphai/device-syncd/dist/providers/strava.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +11 -1
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +54 -2
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-account.js +243 -1
- 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 -2
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js +634 -199
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.d.ts +21 -4
- package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.js +728 -68
- package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/source-staleness.d.ts +15 -0
- package/node_modules/@murphai/device-syncd/dist/source-staleness.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/source-staleness.js +25 -1
- package/node_modules/@murphai/device-syncd/dist/source-staleness.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/accounts.d.ts +3 -1
- package/node_modules/@murphai/device-syncd/dist/store/accounts.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/accounts.js +25 -2
- 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.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/hosted-account-hydration.js +7 -1
- 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 +22 -3
- package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.js +266 -21
- 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 +3 -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 +62 -4
- package/node_modules/@murphai/device-syncd/dist/store/oauth-states.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/schema.d.ts +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 +25 -3
- package/node_modules/@murphai/device-syncd/dist/store/schema.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts +25 -2
- package/node_modules/@murphai/device-syncd/dist/store/sources.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/sources.js +268 -58
- package/node_modules/@murphai/device-syncd/dist/store/sources.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/sync-state.d.ts +7 -2
- 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 +82 -28
- package/node_modules/@murphai/device-syncd/dist/store/sync-state.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js +2 -2
- package/node_modules/@murphai/device-syncd/dist/store/webhook-traces.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.d.ts +30 -5
- package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.js +146 -13
- package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.d.ts +260 -8
- package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.js +7 -0
- package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
- package/node_modules/@murphai/device-syncd/package.json +16 -0
- package/node_modules/@murphai/health-commons/content/biomarkers/bilirubin.md +18 -0
- package/node_modules/@murphai/health-commons/content/biomarkers/carbon-dioxide.md +18 -0
- package/node_modules/@murphai/health-commons/content/biomarkers/potassium.md +18 -0
- package/node_modules/@murphai/health-commons/content/biomarkers/sodium.md +18 -0
- package/node_modules/@murphai/health-commons/content/families/general-eye-health.md +190 -0
- package/node_modules/@murphai/health-commons/content/families/photobiomodulation.md +97 -0
- package/node_modules/@murphai/health-commons/content/families/recovery-modalities.md +73 -0
- package/node_modules/@murphai/health-commons/content/protocols/whole-body-photobiomodulation/whole-body-red-and-near-infrared-light-exposure.md +1 -1
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cdc-contact-lens-infection-symptoms.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cdc-contact-lens-prevention.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cdc-stroke-signs.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/cochrane-blue-light-filtering-lenses.md +21 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/fda-buying-contact-lenses.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/fda-eye-drops.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/imi-myopia-interventions.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/medlineplus-eye-emergencies.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/medlineplus-eye-pain.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-angle-closure-glaucoma.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-areds2-faq.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-contact-lenses.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-dry-eye.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-healthy-vision.md +21 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-myopia.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nei-retinal-detachment.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/nih-dream-omega3-dry-eye.md +21 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/osha-computer-monitors.md +20 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmc-9840372.md +22 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmid-35597519.md +21 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmid-36473088.md +21 -0
- package/node_modules/@murphai/health-commons/content/sources/general-eye-health/pmid-37062428.md +21 -0
- package/node_modules/@murphai/health-commons/content/sources/whole-body-photobiomodulation/clinicaltrials-gov-nct07047248-2026-04-23.md +0 -1
- package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.d.ts +3 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.d.ts.map +1 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.js +2 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-fallback-ranges.js.map +1 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.d.ts +17 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.d.ts.map +1 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.js +16 -0
- package/node_modules/@murphai/health-commons/dist/biomarker-runtime-artifacts.js.map +1 -0
- package/node_modules/@murphai/health-commons/dist/build.d.ts.map +1 -1
- package/node_modules/@murphai/health-commons/dist/build.js +41 -7
- package/node_modules/@murphai/health-commons/dist/build.js.map +1 -1
- package/node_modules/@murphai/health-commons/dist/index.d.ts +1 -0
- package/node_modules/@murphai/health-commons/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/health-commons/dist/index.js +1 -0
- package/node_modules/@murphai/health-commons/dist/index.js.map +1 -1
- package/node_modules/@murphai/health-commons/dist/knowledge-index.d.ts +44 -0
- package/node_modules/@murphai/health-commons/dist/knowledge-index.d.ts.map +1 -0
- package/node_modules/@murphai/health-commons/dist/knowledge-index.js +540 -0
- package/node_modules/@murphai/health-commons/dist/knowledge-index.js.map +1 -0
- package/node_modules/@murphai/health-commons/dist/runtime.d.ts +17 -1
- package/node_modules/@murphai/health-commons/dist/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/health-commons/dist/runtime.js +58 -4
- package/node_modules/@murphai/health-commons/dist/runtime.js.map +1 -1
- package/node_modules/@murphai/health-commons/generated/biomarker-desired-directions.json +410 -0
- package/node_modules/@murphai/health-commons/generated/catalog.hash +1 -1
- package/node_modules/@murphai/health-commons/generated/knowledge.sqlite +0 -0
- package/node_modules/@murphai/health-commons/generated/protocol-family-graph.json +187 -46
- package/node_modules/@murphai/health-commons/generated/protocol-index.json +47 -47
- package/node_modules/@murphai/health-commons/generated/protocol-run-specs.json +967 -967
- package/node_modules/@murphai/health-commons/generated/source-artifact-index.json +1 -1
- package/node_modules/@murphai/health-commons/generated/source-identities.ndjson +28 -0
- package/node_modules/@murphai/health-commons/generated/source-index.json +694 -2
- package/node_modules/@murphai/health-commons/generated/web/browse/biomarkers.json +77 -9
- package/node_modules/@murphai/health-commons/generated/web/browse/experiments.json +37 -37
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-basophils.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-eosinophils.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-immature-granulocytes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-lymphocytes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-monocytes.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/absolute-neutrophils.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/adjusted-calcium.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/albumin-globulin-ratio.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/albumin.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/alkaline-phosphatase.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ana-screen.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/anion-gap.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/arachidonic-acid-epa-ratio.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/arachidonic-acid.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/basophil-percentage.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/bedtime-delay.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/bilirubin.json +3 -3
- 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/bun-creatinine-ratio.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/c-peptide.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/calcium.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/carbon-dioxide.json +3 -3
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/chloride.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/cholesterol-hdl-ratio.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/cortisol.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 +4 -4
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dha.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/dhea-sulfate.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/dpa.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/egfr-ckd-epi.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/eosinophil-percentage.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/epa.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/estradiol.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/ferritin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/fib4.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/follicle-stimulating-hormone.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/free-t3.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/free-t4.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/free-testosterone.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gfr-mdrd-af-amer.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/gfr-mdrd-non-af-amer.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ggt.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/hba1c.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/hematocrit.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hemoglobin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/homocysteine.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hrv-rmssd.json +4 -4
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/hs-crp.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/immature-granulocyte-percentage.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/insulin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/iron-saturation.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/iron.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/ldh.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-calculated.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-chol-calc-nih.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/ldl-large-particles.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-medium-particles.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-particle-number.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-pattern.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-peak-size.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/ldl-small-particles.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lead.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/linoleic-acid.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lipoprotein-a.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/luteinizing-hormone.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/lymphocyte-percentage.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/magnesium-rbc.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-corpuscular-hemoglobin-concentration.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-corpuscular-hemoglobin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-corpuscular-volume.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mean-platelet-volume.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/mercury.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/methylmalonic-acid.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/monocyte-percentage.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/neutrophil-percentage.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/omega-3-total-omegacheck.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-6-3-ratio.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omega-6-total.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/omegacheck-total.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/phosphate.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/platelet-count.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/poc-troponin-i.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/potassium.json +3 -3
- 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/prolactin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/psa-free.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/psa-percent-free.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/psa-total.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/red-blood-cell-count.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/red-cell-distribution-width.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 +4 -4
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/rheumatoid-factor.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/sex-hormone-binding-globulin.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 +4 -4
- 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/sodium.json +3 -3
- 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/thyroglobulin-antibodies.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/thyroid-peroxidase-antibodies.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/thyroid-stimulating-hormone.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-globulin.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-iron-binding-capacity.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/total-protein.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/total-testosterone.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/urine-albumin-random-without-creatinine.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/urine-protein.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/vldl-cholesterol-calculated.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-after-sleep-onset.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/biomarker/white-blood-cell-count.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/biomarker/zinc.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/bryan-johnson-blueprint.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/daily-step-floor.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/five-minute-tomorrow-list.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/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/pneumatic-compression-pants.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/bundles/protocol_variant/protein-floor-high-protein-intake.json +3 -3
- 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 +7 -8
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/bryan-johnson-blueprint.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/finnish-sauna.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/shell/experiments/five-minute-tomorrow-list.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/protein-floor-high-protein-intake.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 +3 -3
- 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/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/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/five-minute-tomorrow-list/protocol.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/five-minute-tomorrow-list/research.json +1 -1
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/five-minute-tomorrow-list/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/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/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 +3 -3
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/research.json +3 -3
- package/node_modules/@murphai/health-commons/generated/web/tabs/experiments/whole-body-red-and-near-infrared-light-exposure/results-public.json +5 -5
- package/node_modules/@murphai/health-commons/package.json +5 -0
- package/node_modules/@murphai/health-metrics/dist/catalog.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/catalog.js +22 -2
- package/node_modules/@murphai/health-metrics/dist/catalog.js.map +1 -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 +165 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/body.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/body.js +69 -2
- package/node_modules/@murphai/health-metrics/dist/definitions/body.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/physiology.d.ts +55 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/physiology.d.ts.map +1 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/physiology.js +92 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/physiology.js.map +1 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/vitals.d.ts +1 -1
- package/node_modules/@murphai/health-metrics/dist/index.d.ts +1 -0
- package/node_modules/@murphai/health-metrics/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/index.js +1 -0
- package/node_modules/@murphai/health-metrics/dist/index.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.d.ts +45 -0
- package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.d.ts.map +1 -0
- package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.js +502 -0
- package/node_modules/@murphai/health-metrics/dist/lab-reference-ranges.js.map +1 -0
- package/node_modules/@murphai/health-metrics/dist/normalize.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/normalize.js +5 -0
- package/node_modules/@murphai/health-metrics/dist/normalize.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/selectors.d.ts +3 -0
- package/node_modules/@murphai/health-metrics/dist/selectors.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/selectors.js +52 -6
- package/node_modules/@murphai/health-metrics/dist/selectors.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/types.d.ts +1 -0
- package/node_modules/@murphai/health-metrics/dist/types.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts +12 -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 +34 -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 +79 -0
- 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 +19 -0
- package/node_modules/@murphai/health-metrics/dist/wearable-provider-catalog.js.map +1 -1
- package/node_modules/@murphai/importers/README.md +2 -0
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js +1 -1
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js.map +1 -1
- package/node_modules/@murphai/importers/dist/core-port.d.ts +16 -1
- 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 +9 -1
- package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/create-importers.js +12 -2
- package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -1
- package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts +1 -0
- package/node_modules/@murphai/importers/dist/csv-sample-import-planner.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js +1 -1
- package/node_modules/@murphai/importers/dist/csv-sample-import-planner.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +17 -3
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +103 -9
- 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 +5 -4
- package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/index.js +4 -3
- package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts +37 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js +796 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-origin.d.ts +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-origin.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-origin.js +7 -2
- 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 +7 -12
- 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 +55 -103
- package/node_modules/@murphai/importers/dist/device-providers/junction-resources.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.d.ts +79 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.js +356 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-features.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.d.ts +285 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.js +870 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction-timeseries-fidelity.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts +111 -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 +4058 -306
- package/node_modules/@murphai/importers/dist/device-providers/junction.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/oura.js +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +9 -1
- package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -1
- package/node_modules/@murphai/importers/dist/document-importer.d.ts +1 -0
- package/node_modules/@murphai/importers/dist/document-importer.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/document-importer.js +3 -1
- package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -1
- package/node_modules/@murphai/importers/dist/index.d.ts +3 -2
- package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/index.js +2 -1
- package/node_modules/@murphai/importers/dist/index.js.map +1 -1
- package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/meal-importer.js +2 -1
- package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -1
- package/node_modules/@murphai/importers/dist/preset-registry.js +1 -1
- package/node_modules/@murphai/importers/dist/preset-registry.js.map +1 -1
- package/node_modules/@murphai/importers/dist/shared.d.ts +1 -1
- package/node_modules/@murphai/importers/dist/shared.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/shared.js +1 -1
- package/node_modules/@murphai/importers/dist/shared.js.map +1 -1
- package/node_modules/@murphai/importers/dist/workout-csv-planner.d.ts +49 -0
- package/node_modules/@murphai/importers/dist/workout-csv-planner.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/workout-csv-planner.js +860 -0
- package/node_modules/@murphai/importers/dist/workout-csv-planner.js.map +1 -0
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.d.ts +2 -5
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.js +3 -50
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor-strategies.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/bootstrap-doctor.js +9 -11
- 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.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/environment.js +0 -160
- package/node_modules/@murphai/inbox-services/dist/inbox-app/environment.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.js +2 -4
- package/node_modules/@murphai/inbox-services/dist/inbox-app/runtime.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.d.ts +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js +2 -32
- package/node_modules/@murphai/inbox-services/dist/inbox-app/sources.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts +2 -79
- package/node_modules/@murphai/inbox-services/dist/inbox-app/types.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/types.js +0 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-app/types.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.d.ts +1 -2
- package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.js +15 -37
- package/node_modules/@murphai/inbox-services/dist/inbox-services/connectors.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/promotions.d.ts +21 -21
- 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 +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/shared.d.ts +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.d.ts.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js +0 -1
- package/node_modules/@murphai/inbox-services/dist/inbox-services/shared.js.map +1 -1
- package/node_modules/@murphai/inbox-services/dist/index.d.ts +1 -1
- package/node_modules/@murphai/inbox-services/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/README.md +4 -4
- 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 +56 -5
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize-parsed.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js +8 -0
- package/node_modules/@murphai/inboxd/dist/connectors/linq/normalize.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.d.ts +1 -0
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js +1 -0
- package/node_modules/@murphai/inboxd/dist/connectors/telegram/normalize.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/index.d.ts +0 -5
- package/node_modules/@murphai/inboxd/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/index.js +0 -2
- package/node_modules/@murphai/inboxd/dist/index.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/attachment-storage-normalizer.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/attachment-storage-normalizer.js +141 -4
- package/node_modules/@murphai/inboxd/dist/indexing/attachment-storage-normalizer.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/retention.d.ts +6 -0
- package/node_modules/@murphai/inboxd/dist/indexing/retention.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/indexing/retention.js +64 -18
- package/node_modules/@murphai/inboxd/dist/indexing/retention.js.map +1 -1
- package/node_modules/@murphai/inboxd/dist/retention.d.ts +1 -1
- package/node_modules/@murphai/inboxd/dist/retention.d.ts.map +1 -1
- package/node_modules/@murphai/inboxd/dist/retention.js +1 -1
- package/node_modules/@murphai/inboxd/dist/retention.js.map +1 -1
- package/node_modules/@murphai/messaging-ingress/README.md +5 -1
- package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.d.ts +27 -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 +164 -17
- package/node_modules/@murphai/messaging-ingress/dist/linq-webhook.js.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts +1 -0
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.d.ts.map +1 -1
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.js +2 -0
- package/node_modules/@murphai/messaging-ingress/dist/telegram-webhook-payload.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/codex-resume-state.d.ts +3 -3
- 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 +1 -1
- 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 +1 -1
- 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 +7 -19
- package/node_modules/@murphai/operator-config/dist/assistant/current-delivery-route.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts +31 -33
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js +5 -8
- package/node_modules/@murphai/operator-config/dist/assistant/hosted-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts +1 -15
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js +52 -84
- package/node_modules/@murphai/operator-config/dist/assistant/provider-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant/target-runtime.d.ts +31 -48
- 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 +33 -56
- 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 +11 -11
- package/node_modules/@murphai/operator-config/dist/assistant-backend.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-backend.js +33 -45
- package/node_modules/@murphai/operator-config/dist/assistant-backend.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.d.ts +1714 -1566
- 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 +198 -23
- package/node_modules/@murphai/operator-config/dist/assistant-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts +468 -0
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts.map +1 -0
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js +1051 -0
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js.map +1 -0
- package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts +4 -2
- package/node_modules/@murphai/operator-config/dist/command-helpers.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/command-helpers.js +36 -1
- package/node_modules/@murphai/operator-config/dist/command-helpers.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/device-cli-contracts.d.ts +181 -181
- 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 +1 -1
- package/node_modules/@murphai/operator-config/dist/device-cli-contracts.js.map +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 +2 -6
- package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.d.ts +3 -0
- package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.js +301 -63
- package/node_modules/@murphai/operator-config/dist/elevenlabs-runtime.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.d.ts +3 -2
- 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-constants.js +3 -0
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config-constants.js.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/hosted-assistant-config.js +2 -6
- package/node_modules/@murphai/operator-config/dist/hosted-assistant-config.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/http-json-retry.d.ts +7 -2
- package/node_modules/@murphai/operator-config/dist/http-json-retry.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/http-json-retry.js +33 -14
- package/node_modules/@murphai/operator-config/dist/http-json-retry.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/inbox-cli-contracts.d.ts +427 -462
- 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 +2 -14
- 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 +35 -1
- package/node_modules/@murphai/operator-config/dist/linq-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/linq-runtime.js +1115 -180
- package/node_modules/@murphai/operator-config/dist/linq-runtime.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/message-formatting.d.ts +1 -0
- package/node_modules/@murphai/operator-config/dist/message-formatting.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/message-formatting.js +3 -1
- package/node_modules/@murphai/operator-config/dist/message-formatting.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/message-table-fallback.d.ts +7 -0
- package/node_modules/@murphai/operator-config/dist/message-table-fallback.d.ts.map +1 -0
- package/node_modules/@murphai/operator-config/dist/message-table-fallback.js +109 -0
- package/node_modules/@murphai/operator-config/dist/message-table-fallback.js.map +1 -0
- package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.d.ts +12 -12
- 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/self-delivery-targets.js +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config/self-delivery-targets.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config.d.ts +50 -53
- package/node_modules/@murphai/operator-config/dist/operator-config.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/operator-config.js +4 -5
- 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 +225 -226
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js +2 -2
- package/node_modules/@murphai/operator-config/dist/setup-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-runtime-env.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js +0 -19
- package/node_modules/@murphai/operator-config/dist/setup-runtime-env.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +402 -294
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js +94 -8
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.d.ts +24 -0
- package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.d.ts.map +1 -0
- package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.js +219 -0
- package/node_modules/@murphai/operator-config/dist/vault-cli-error-projection.js.map +1 -0
- package/node_modules/@murphai/operator-config/dist/vault-cli-errors.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-errors.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts +14 -0
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts.map +1 -0
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.js +127 -0
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.js.map +1 -0
- package/node_modules/@murphai/operator-config/package.json +15 -5
- package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.d.ts +2 -0
- package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.d.ts.map +1 -1
- package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.js +18 -0
- package/node_modules/@murphai/parsers/dist/adapters/ffmpeg.js.map +1 -1
- package/node_modules/@murphai/query/README.md +29 -5
- package/node_modules/@murphai/query/dist/automation.d.ts +5 -2
- package/node_modules/@murphai/query/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/automation.js +33 -8
- package/node_modules/@murphai/query/dist/automation.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-biomarkers.d.ts +2 -2
- package/node_modules/@murphai/query/dist/browser-biomarkers.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-biomarkers.js +1 -1
- package/node_modules/@murphai/query/dist/browser-biomarkers.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-experiments.d.ts +2 -2
- package/node_modules/@murphai/query/dist/browser-experiments.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-experiments.js +1 -1
- package/node_modules/@murphai/query/dist/browser-experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-murph-age.d.ts +1 -1
- package/node_modules/@murphai/query/dist/browser-murph-age.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-overview.d.ts +2 -1
- package/node_modules/@murphai/query/dist/browser-overview.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/biomarker-panel.d.ts +2 -2
- package/node_modules/@murphai/query/dist/browser-replica/biomarker-panel.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/build.d.ts +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 +68 -41
- package/node_modules/@murphai/query/dist/browser-replica/build.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/client-overview.d.ts +3 -3
- package/node_modules/@murphai/query/dist/browser-replica/client-overview.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/client-overview.js +3 -0
- package/node_modules/@murphai/query/dist/browser-replica/client-overview.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/device-metrics.d.ts +2 -2
- package/node_modules/@murphai/query/dist/browser-replica/device-metrics.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/device-metrics.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.d.ts +8 -0
- package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.js +548 -0
- package/node_modules/@murphai/query/dist/browser-replica/experiment-run-cards.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/experiments.d.ts +22 -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 +209 -63
- package/node_modules/@murphai/query/dist/browser-replica/experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/json.d.ts +6 -0
- package/node_modules/@murphai/query/dist/browser-replica/json.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/json.js +103 -0
- package/node_modules/@murphai/query/dist/browser-replica/json.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.d.ts +11 -0
- package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.js +233 -0
- package/node_modules/@murphai/query/dist/browser-replica/lab-result-status.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/lab-results.d.ts +4 -3
- package/node_modules/@murphai/query/dist/browser-replica/lab-results.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/lab-results.js +24 -5
- package/node_modules/@murphai/query/dist/browser-replica/lab-results.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.d.ts +14 -0
- package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.js +25 -0
- package/node_modules/@murphai/query/dist/browser-replica/metric-buckets.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/murph-age.d.ts +2 -2
- 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.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/parse.d.ts +8 -0
- package/node_modules/@murphai/query/dist/browser-replica/parse.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/parse.js +327 -7
- package/node_modules/@murphai/query/dist/browser-replica/parse.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/query.d.ts +24 -1
- package/node_modules/@murphai/query/dist/browser-replica/query.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/query.js +246 -41
- package/node_modules/@murphai/query/dist/browser-replica/query.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/search-row.d.ts +3 -0
- package/node_modules/@murphai/query/dist/browser-replica/search-row.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/search-row.js +16 -0
- package/node_modules/@murphai/query/dist/browser-replica/search-row.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/shards.d.ts +76 -0
- package/node_modules/@murphai/query/dist/browser-replica/shards.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/shards.js +232 -0
- package/node_modules/@murphai/query/dist/browser-replica/shards.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts +144 -9
- 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/source.d.ts +13 -0
- package/node_modules/@murphai/query/dist/browser-replica/source.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/source.js +45 -0
- package/node_modules/@murphai/query/dist/browser-replica/source.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/tracked-experiments.d.ts +3 -3
- package/node_modules/@murphai/query/dist/browser-replica/tracked-experiments.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/tracked-experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/training.d.ts +7 -0
- package/node_modules/@murphai/query/dist/browser-replica/training.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/training.js +241 -0
- package/node_modules/@murphai/query/dist/browser-replica/training.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/views.d.ts +5 -5
- package/node_modules/@murphai/query/dist/browser-replica/views.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica/views.js +3 -0
- package/node_modules/@murphai/query/dist/browser-replica/views.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica-client.d.ts +11 -4
- package/node_modules/@murphai/query/dist/browser-replica-client.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica-client.js +7 -3
- package/node_modules/@murphai/query/dist/browser-replica-client.js.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica-server.d.ts +7 -0
- package/node_modules/@murphai/query/dist/browser-replica-server.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica-server.js +7 -0
- package/node_modules/@murphai/query/dist/browser-replica-server.js.map +1 -0
- package/node_modules/@murphai/query/dist/browser-replica.d.ts +13 -5
- package/node_modules/@murphai/query/dist/browser-replica.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica.js +9 -4
- 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-observation-metrics.d.ts +16 -0
- package/node_modules/@murphai/query/dist/canonical-observation-metrics.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/canonical-observation-metrics.js +70 -0
- package/node_modules/@murphai/query/dist/canonical-observation-metrics.js.map +1 -0
- package/node_modules/@murphai/query/dist/experiment-adherence.d.ts +20 -0
- package/node_modules/@murphai/query/dist/experiment-adherence.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-adherence.js +175 -29
- package/node_modules/@murphai/query/dist/experiment-adherence.js.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-progress-card.d.ts +1 -0
- package/node_modules/@murphai/query/dist/experiment-progress-card.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/experiment-progress-card.js +1 -0
- package/node_modules/@murphai/query/dist/experiment-progress-card.js.map +1 -1
- package/node_modules/@murphai/query/dist/experiments.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/experiments.js +46 -22
- package/node_modules/@murphai/query/dist/experiments.js.map +1 -1
- package/node_modules/@murphai/query/dist/group-weekly.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/group-weekly.js +52 -1
- package/node_modules/@murphai/query/dist/group-weekly.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/blood-tests.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/blood-tests.js +3 -2
- package/node_modules/@murphai/query/dist/health/blood-tests.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts +11 -1
- package/node_modules/@murphai/query/dist/health/canonical-collector.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/canonical-collector.js +39 -16
- package/node_modules/@murphai/query/dist/health/canonical-collector.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/entity-slices.d.ts +9 -3
- package/node_modules/@murphai/query/dist/health/entity-slices.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/entity-slices.js +6 -6
- package/node_modules/@murphai/query/dist/health/entity-slices.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/immunizations.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/immunizations.js +14 -11
- package/node_modules/@murphai/query/dist/health/immunizations.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/loaders.d.ts +21 -7
- package/node_modules/@murphai/query/dist/health/loaders.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/loaders.js +53 -15
- package/node_modules/@murphai/query/dist/health/loaders.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/registries.d.ts +1 -0
- package/node_modules/@murphai/query/dist/health/registries.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/health/registries.js.map +1 -1
- package/node_modules/@murphai/query/dist/health/shared.js +1 -1
- package/node_modules/@murphai/query/dist/health/shared.js.map +1 -1
- package/node_modules/@murphai/query/dist/index.d.ts +25 -7
- package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/index.js +18 -6
- package/node_modules/@murphai/query/dist/index.js.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts +78 -75
- package/node_modules/@murphai/query/dist/knowledge-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-contracts.js +2 -1
- package/node_modules/@murphai/query/dist/knowledge-contracts.js.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-graph.d.ts +1 -0
- package/node_modules/@murphai/query/dist/knowledge-graph.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/knowledge-graph.js +17 -1
- package/node_modules/@murphai/query/dist/knowledge-graph.js.map +1 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.d.ts +27 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.js +120 -7
- package/node_modules/@murphai/query/dist/meal-nutrition.js.map +1 -1
- package/node_modules/@murphai/query/dist/metrics/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/metrics/index.js +14 -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 +123 -3
- package/node_modules/@murphai/query/dist/metrics/projection.js.map +1 -1
- package/node_modules/@murphai/query/dist/murph-age.d.ts +5 -1
- package/node_modules/@murphai/query/dist/murph-age.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/murph-age.js +22 -8
- package/node_modules/@murphai/query/dist/murph-age.js.map +1 -1
- package/node_modules/@murphai/query/dist/personal-patterns.d.ts +55 -0
- package/node_modules/@murphai/query/dist/personal-patterns.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/personal-patterns.js +401 -0
- package/node_modules/@murphai/query/dist/personal-patterns.js.map +1 -0
- package/node_modules/@murphai/query/dist/projection/entity-store.js +4 -4
- package/node_modules/@murphai/query/dist/projection/entity-store.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/schema.d.ts +1 -1
- package/node_modules/@murphai/query/dist/projection/schema.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/projection/schema.js +5 -1
- package/node_modules/@murphai/query/dist/projection/schema.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js +8 -0
- package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js +6 -2
- package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-stored-codec.js +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-stored-codec.js.map +1 -1
- package/node_modules/@murphai/query/dist/query-projection.d.ts +14 -0
- package/node_modules/@murphai/query/dist/query-projection.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/query-projection.js +31 -0
- package/node_modules/@murphai/query/dist/query-projection.js.map +1 -1
- package/node_modules/@murphai/query/dist/query-visibility.d.ts +5 -0
- package/node_modules/@murphai/query/dist/query-visibility.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/query-visibility.js +11 -5
- package/node_modules/@murphai/query/dist/query-visibility.js.map +1 -1
- package/node_modules/@murphai/query/dist/read-model.d.ts +8 -0
- package/node_modules/@murphai/query/dist/read-model.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/read-model.js +11 -1
- package/node_modules/@murphai/query/dist/read-model.js.map +1 -1
- package/node_modules/@murphai/query/dist/scheduled-logs.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/scheduled-logs.js +55 -79
- package/node_modules/@murphai/query/dist/scheduled-logs.js.map +1 -1
- package/node_modules/@murphai/query/dist/vault-source.d.ts +22 -4
- package/node_modules/@murphai/query/dist/vault-source.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/vault-source.js +188 -59
- package/node_modules/@murphai/query/dist/vault-source.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/candidates.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/candidates.js +32 -15
- package/node_modules/@murphai/query/dist/wearables/candidates.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 +43 -2
- package/node_modules/@murphai/query/dist/wearables/public-output.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/sleep-pattern.d.ts +5 -1
- package/node_modules/@murphai/query/dist/wearables/sleep-pattern.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/sleep-pattern.js +16 -3
- package/node_modules/@murphai/query/dist/wearables/sleep-pattern.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/source-health.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/source-health.js +31 -4
- package/node_modules/@murphai/query/dist/wearables/source-health.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/types.d.ts +54 -4
- package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/types.js +36 -0
- package/node_modules/@murphai/query/dist/wearables/types.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/workout-features.d.ts +5 -0
- package/node_modules/@murphai/query/dist/wearables/workout-features.d.ts.map +1 -0
- package/node_modules/@murphai/query/dist/wearables/workout-features.js +179 -0
- package/node_modules/@murphai/query/dist/wearables/workout-features.js.map +1 -0
- package/node_modules/@murphai/query/dist/wearables.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables.js +74 -6
- package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
- package/node_modules/@murphai/query/package.json +15 -0
- package/node_modules/@murphai/runtime-state/README.md +3 -3
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +15 -2
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts +4 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js +16 -3
- package/node_modules/@murphai/runtime-state/dist/assistant-runtime-issues.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +2 -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 +76 -20
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.d.ts +32 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.js +327 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-crypto-keyrings.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-domain-crypto.d.ts +3 -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 +23 -3
- 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 +5 -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 +10 -0
- 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 +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-storage.js.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/sqlite.js +22 -6
- package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -1
- package/node_modules/@murphai/setup-cli/README.md +1 -1
- package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.js +6 -15
- package/node_modules/@murphai/setup-cli/dist/incur-error-bridge.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/index.d.ts +0 -1
- package/node_modules/@murphai/setup-cli/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/index.js +0 -1
- package/node_modules/@murphai/setup-cli/dist/index.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-account.js +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.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js +14 -24
- package/node_modules/@murphai/setup-cli/dist/setup-assistant-defaults.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-assistant.js +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 +1 -2
- package/node_modules/@murphai/setup-cli/dist/setup-cli.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-cli.js +2 -4
- package/node_modules/@murphai/setup-cli/dist/setup-cli.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.d.ts +0 -4
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js +126 -420
- package/node_modules/@murphai/setup-cli/dist/setup-services/channels.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts +0 -3
- package/node_modules/@murphai/setup-cli/dist/setup-services.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-services.js +0 -7
- package/node_modules/@murphai/setup-cli/dist/setup-services.js.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.d.ts.map +1 -1
- package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js +0 -7
- package/node_modules/@murphai/setup-cli/dist/setup-wizard-options.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/README.md +9 -0
- package/node_modules/@murphai/vault-usecases/dist/clinical-records.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/clinical-records.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/commands/query-record-command-helpers.d.ts +6 -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 +49 -1
- 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 +3 -3
- package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/experiment-onboarding-options.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/export-packs.d.ts +7 -0
- package/node_modules/@murphai/vault-usecases/dist/export-packs.d.ts.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/export-packs.js +45 -0
- package/node_modules/@murphai/vault-usecases/dist/export-packs.js.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts +28 -28
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/health-cli-descriptors.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/json-input.d.ts +1 -1
- package/node_modules/@murphai/vault-usecases/dist/json-input.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/json-input.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/json-input.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts +5 -1
- package/node_modules/@murphai/vault-usecases/dist/query-runtime.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/query-runtime.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.d.ts +1 -1
- package/node_modules/@murphai/vault-usecases/dist/testing/junction-wearable-fixture.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts +21 -21
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +23 -13
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.d.ts +193 -193
- 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 +2 -4
- 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 +12 -12
- 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 +25 -19
- 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 +130 -130
- package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js +2 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts +9 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js +78 -5
- package/node_modules/@murphai/vault-usecases/dist/usecases/event-record-mutations.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.d.ts +20 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.d.ts.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.js +72 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/exact-event-record.js.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.d.ts +29 -6
- 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 +267 -46
- package/node_modules/@murphai/vault-usecases/dist/usecases/experiment-journal-vault.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js +158 -24
- package/node_modules/@murphai/vault-usecases/dist/usecases/explicit-health-family-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.d.ts +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.js +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food-autolog.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +98 -6
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/integrated-services.js +97 -13
- 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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js +49 -24
- package/node_modules/@murphai/vault-usecases/dist/usecases/intervention-experiment-link.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts +95 -13
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +149 -14
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js +3 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts +4 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +19 -12
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts +3 -3
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +44 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/runtime.js +2 -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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js +1 -3
- package/node_modules/@murphai/vault-usecases/dist/usecases/shared.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/types.d.ts +44 -1
- 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.d.ts +2 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/vault-usecase-helpers.js +24 -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-core.d.ts +7 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-core.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts +4 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-format.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.d.ts +60 -7
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.js +1282 -494
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-import.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts +116 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js +231 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts +36 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js +287 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts +134 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js +744 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js.map +1 -0
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.d.ts +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-model.js +2 -0
- 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 +13 -13
- 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 +22 -19
- 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 +39 -2
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +144 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js.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 +3 -0
- package/node_modules/@murphai/vault-usecases/dist/vault-services.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/workouts.d.ts +1 -0
- package/node_modules/@murphai/vault-usecases/dist/workouts.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/workouts.js +1 -0
- package/node_modules/@murphai/vault-usecases/dist/workouts.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/package.json +4 -0
- package/node_modules/incur/dist/Cli.js +7 -32
- package/node_modules/incur/dist/Errors.d.ts +17 -0
- package/node_modules/incur/dist/Errors.js +23 -0
- package/node_modules/incur/dist/internal/command.d.ts +2 -0
- package/node_modules/incur/dist/internal/command.js +2 -6
- package/node_modules/incur/src/Cli.ts +11 -32
- package/node_modules/incur/src/Errors.ts +36 -0
- package/node_modules/incur/src/internal/command.ts +4 -6
- package/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
- package/node_modules/ink/build/ansi-tokenizer.js +316 -0
- package/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
- package/node_modules/ink/build/apply-styles.js +175 -0
- package/node_modules/ink/build/build-layout.js +77 -0
- package/node_modules/ink/build/calculate-wrapped-text.js +53 -0
- package/node_modules/ink/build/colorize.d.ts +3 -0
- package/node_modules/ink/build/colorize.js +48 -0
- package/node_modules/ink/build/colorize.js.map +1 -0
- package/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
- package/node_modules/ink/build/components/AccessibilityContext.js +5 -0
- package/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
- package/node_modules/ink/build/components/App.d.ts +18 -0
- package/node_modules/ink/build/components/App.js +351 -0
- package/node_modules/ink/build/components/App.js.map +1 -0
- package/node_modules/ink/build/components/AppContext.d.ts +15 -0
- package/node_modules/ink/build/components/AppContext.js +11 -0
- package/node_modules/ink/build/components/AppContext.js.map +1 -0
- package/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
- package/node_modules/ink/build/components/BackgroundContext.js +3 -0
- package/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
- package/node_modules/ink/build/components/Box.d.ts +117 -0
- package/node_modules/ink/build/components/Box.js +34 -0
- package/node_modules/ink/build/components/Box.js.map +1 -0
- package/node_modules/ink/build/components/Color.js +62 -0
- package/node_modules/ink/build/components/Cursor.d.ts +83 -0
- package/node_modules/ink/build/components/Cursor.js +53 -0
- package/node_modules/ink/build/components/Cursor.js.map +1 -0
- package/node_modules/ink/build/components/CursorContext.d.ts +11 -0
- package/node_modules/ink/build/components/CursorContext.js +8 -0
- package/node_modules/ink/build/components/CursorContext.js.map +1 -0
- package/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
- package/node_modules/ink/build/components/ErrorBoundary.js +23 -0
- package/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
- package/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
- package/node_modules/ink/build/components/ErrorOverview.js +84 -0
- package/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
- package/node_modules/ink/build/components/FocusContext.d.ts +16 -0
- package/node_modules/ink/build/components/FocusContext.js +17 -0
- package/node_modules/ink/build/components/FocusContext.js.map +1 -0
- package/node_modules/ink/build/components/Newline.d.ts +13 -0
- package/node_modules/ink/build/components/Newline.js +8 -0
- package/node_modules/ink/build/components/Newline.js.map +1 -0
- package/node_modules/ink/build/components/Spacer.d.ts +7 -0
- package/node_modules/ink/build/components/Spacer.js +11 -0
- package/node_modules/ink/build/components/Spacer.js.map +1 -0
- package/node_modules/ink/build/components/Static.d.ts +24 -0
- package/node_modules/ink/build/components/Static.js +28 -0
- package/node_modules/ink/build/components/Static.js.map +1 -0
- package/node_modules/ink/build/components/StderrContext.d.ts +15 -0
- package/node_modules/ink/build/components/StderrContext.js +13 -0
- package/node_modules/ink/build/components/StderrContext.js.map +1 -0
- package/node_modules/ink/build/components/StdinContext.d.ts +22 -0
- package/node_modules/ink/build/components/StdinContext.js +19 -0
- package/node_modules/ink/build/components/StdinContext.js.map +1 -0
- package/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
- package/node_modules/ink/build/components/StdoutContext.js +13 -0
- package/node_modules/ink/build/components/StdoutContext.js.map +1 -0
- package/node_modules/ink/build/components/Text.d.ts +55 -0
- package/node_modules/ink/build/components/Text.js +50 -0
- package/node_modules/ink/build/components/Text.js.map +1 -0
- package/node_modules/ink/build/components/Transform.d.ts +16 -0
- package/node_modules/ink/build/components/Transform.js +15 -0
- package/node_modules/ink/build/components/Transform.js.map +1 -0
- package/node_modules/ink/build/cursor-helpers.d.ts +38 -0
- package/node_modules/ink/build/cursor-helpers.js +56 -0
- package/node_modules/ink/build/cursor-helpers.js.map +1 -0
- package/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
- package/node_modules/ink/build/devtools-window-polyfill.js +65 -0
- package/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
- package/node_modules/ink/build/devtools.d.ts +1 -0
- package/node_modules/ink/build/devtools.js +11 -0
- package/node_modules/ink/build/devtools.js.map +1 -0
- package/node_modules/ink/build/dom.d.ts +56 -0
- package/node_modules/ink/build/dom.js +124 -0
- package/node_modules/ink/build/dom.js.map +1 -0
- package/node_modules/ink/build/experimental/apply-style.js +140 -0
- package/node_modules/ink/build/experimental/dom.js +123 -0
- package/node_modules/ink/build/experimental/output.js +91 -0
- package/node_modules/ink/build/experimental/reconciler.js +141 -0
- package/node_modules/ink/build/experimental/renderer.js +81 -0
- package/node_modules/ink/build/get-max-width.d.ts +3 -0
- package/node_modules/ink/build/get-max-width.js +10 -0
- package/node_modules/ink/build/get-max-width.js.map +1 -0
- package/node_modules/ink/build/hooks/use-app.d.ts +5 -0
- package/node_modules/ink/build/hooks/use-app.js +8 -0
- package/node_modules/ink/build/hooks/use-app.js.map +1 -0
- package/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
- package/node_modules/ink/build/hooks/use-cursor.js +29 -0
- package/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
- package/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
- package/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
- package/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
- package/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
- package/node_modules/ink/build/hooks/use-focus.js +42 -0
- package/node_modules/ink/build/hooks/use-focus.js.map +1 -0
- package/node_modules/ink/build/hooks/use-input.d.ts +131 -0
- package/node_modules/ink/build/hooks/use-input.js +124 -0
- package/node_modules/ink/build/hooks/use-input.js.map +1 -0
- package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
- package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
- package/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
- package/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
- package/node_modules/ink/build/hooks/use-stderr.js +8 -0
- package/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
- package/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
- package/node_modules/ink/build/hooks/use-stdin.js +8 -0
- package/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
- package/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
- package/node_modules/ink/build/hooks/use-stdout.js +8 -0
- package/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
- package/node_modules/ink/build/hooks/useInput.js +38 -0
- package/node_modules/ink/build/index.d.ts +34 -0
- package/node_modules/ink/build/index.js +20 -0
- package/node_modules/ink/build/index.js.map +1 -0
- package/node_modules/ink/build/ink.d.ts +90 -0
- package/node_modules/ink/build/ink.js +637 -0
- package/node_modules/ink/build/ink.js.map +1 -0
- package/node_modules/ink/build/input-parser.d.ts +7 -0
- package/node_modules/ink/build/input-parser.js +154 -0
- package/node_modules/ink/build/input-parser.js.map +1 -0
- package/node_modules/ink/build/instance.js +205 -0
- package/node_modules/ink/build/instances.d.ts +3 -0
- package/node_modules/ink/build/instances.js +8 -0
- package/node_modules/ink/build/instances.js.map +1 -0
- package/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
- package/node_modules/ink/build/kitty-keyboard.js +32 -0
- package/node_modules/ink/build/kitty-keyboard.js.map +1 -0
- package/node_modules/ink/build/layout.d.ts +7 -0
- package/node_modules/ink/build/layout.js +33 -0
- package/node_modules/ink/build/layout.js.map +1 -0
- package/node_modules/ink/build/log-update.d.ts +19 -0
- package/node_modules/ink/build/log-update.js +242 -0
- package/node_modules/ink/build/log-update.js.map +1 -0
- package/node_modules/ink/build/measure-element.d.ts +16 -0
- package/node_modules/ink/build/measure-element.js +9 -0
- package/node_modules/ink/build/measure-element.js.map +1 -0
- package/node_modules/ink/build/measure-text.d.ts +6 -0
- package/node_modules/ink/build/measure-text.js +21 -0
- package/node_modules/ink/build/measure-text.js.map +1 -0
- package/node_modules/ink/build/options.d.ts +52 -0
- package/node_modules/ink/build/options.js +2 -0
- package/node_modules/ink/build/options.js.map +1 -0
- package/node_modules/ink/build/output.d.ts +35 -0
- package/node_modules/ink/build/output.js +183 -0
- package/node_modules/ink/build/output.js.map +1 -0
- package/node_modules/ink/build/parse-keypress.d.ts +22 -0
- package/node_modules/ink/build/parse-keypress.js +493 -0
- package/node_modules/ink/build/parse-keypress.js.map +1 -0
- package/node_modules/ink/build/reconciler.d.ts +4 -0
- package/node_modules/ink/build/reconciler.js +274 -0
- package/node_modules/ink/build/reconciler.js.map +1 -0
- package/node_modules/ink/build/render-background.d.ts +4 -0
- package/node_modules/ink/build/render-background.js +25 -0
- package/node_modules/ink/build/render-background.js.map +1 -0
- package/node_modules/ink/build/render-border.d.ts +4 -0
- package/node_modules/ink/build/render-border.js +73 -0
- package/node_modules/ink/build/render-border.js.map +1 -0
- package/node_modules/ink/build/render-node-to-output.d.ts +14 -0
- package/node_modules/ink/build/render-node-to-output.js +147 -0
- package/node_modules/ink/build/render-node-to-output.js.map +1 -0
- package/node_modules/ink/build/render-to-string.d.ts +38 -0
- package/node_modules/ink/build/render-to-string.js +115 -0
- package/node_modules/ink/build/render-to-string.js.map +1 -0
- package/node_modules/ink/build/render.d.ts +121 -0
- package/node_modules/ink/build/render.js +55 -0
- package/node_modules/ink/build/render.js.map +1 -0
- package/node_modules/ink/build/renderer.d.ts +8 -0
- package/node_modules/ink/build/renderer.js +55 -0
- package/node_modules/ink/build/renderer.js.map +1 -0
- package/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
- package/node_modules/ink/build/sanitize-ansi.js +27 -0
- package/node_modules/ink/build/sanitize-ansi.js.map +1 -0
- package/node_modules/ink/build/screen-reader-update.d.ts +13 -0
- package/node_modules/ink/build/screen-reader-update.js +38 -0
- package/node_modules/ink/build/screen-reader-update.js.map +1 -0
- package/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
- package/node_modules/ink/build/squash-text-nodes.js +36 -0
- package/node_modules/ink/build/squash-text-nodes.js.map +1 -0
- package/node_modules/ink/build/styles.d.ts +240 -0
- package/node_modules/ink/build/styles.js +232 -0
- package/node_modules/ink/build/styles.js.map +1 -0
- package/node_modules/ink/build/utils.d.ts +2 -0
- package/node_modules/ink/build/utils.js +4 -0
- package/node_modules/ink/build/utils.js.map +1 -0
- package/node_modules/ink/build/wrap-text.d.ts +3 -0
- package/node_modules/ink/build/wrap-text.js +31 -0
- package/node_modules/ink/build/wrap-text.js.map +1 -0
- package/node_modules/ink/build/write-synchronized.d.ts +4 -0
- package/node_modules/ink/build/write-synchronized.js +7 -0
- package/node_modules/ink/build/write-synchronized.js.map +1 -0
- package/node_modules/ink/package.json +126 -0
- package/package.json +35 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.d.ts +0 -24
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.d.ts.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.js +0 -125
- package/node_modules/@murphai/assistant-engine/dist/assistant/group-phone-call-preview-authority.js.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.d.ts +0 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.d.ts.map +0 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/newsletter-outbox.js.map +0 -1
- package/node_modules/@murphai/assistant-engine/skills/general-eye-health/SKILL.md +0 -77
- package/node_modules/@murphai/assistant-engine/skills/general-eye-health/references/evidence-register.md +0 -34
- package/node_modules/@murphai/assistant-engine/skills/general-eye-health/references/triage-and-contact-lenses.md +0 -103
- package/node_modules/@murphai/assistant-engine/skills/recovery-modalities/SKILL.md +0 -57
- package/node_modules/@murphai/assistant-engine/skills/red-light-therapy/SKILL.md +0 -145
- package/node_modules/@murphai/assistant-engine/skills/red-light-therapy/device-seeds.json +0 -259
- package/node_modules/@murphai/inboxd/dist/connectors/email/connector.d.ts +0 -57
- package/node_modules/@murphai/inboxd/dist/connectors/email/connector.d.ts.map +0 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/connector.js +0 -259
- package/node_modules/@murphai/inboxd/dist/connectors/email/connector.js.map +0 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.d.ts +0 -44
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.d.ts.map +0 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.js +0 -212
- package/node_modules/@murphai/inboxd/dist/connectors/email/normalize.js.map +0 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/types.d.ts +0 -69
- package/node_modules/@murphai/inboxd/dist/connectors/email/types.d.ts.map +0 -1
- package/node_modules/@murphai/inboxd/dist/connectors/email/types.js +0 -2
- package/node_modules/@murphai/inboxd/dist/connectors/email/types.js.map +0 -1
- package/node_modules/@murphai/operator-config/dist/agentmail-runtime.d.ts +0 -194
- package/node_modules/@murphai/operator-config/dist/agentmail-runtime.d.ts.map +0 -1
- package/node_modules/@murphai/operator-config/dist/agentmail-runtime.js +0 -385
- package/node_modules/@murphai/operator-config/dist/agentmail-runtime.js.map +0 -1
- package/node_modules/@murphai/setup-cli/dist/setup-agentmail.d.ts +0 -30
- package/node_modules/@murphai/setup-cli/dist/setup-agentmail.d.ts.map +0 -1
- package/node_modules/@murphai/setup-cli/dist/setup-agentmail.js +0 -135
- package/node_modules/@murphai/setup-cli/dist/setup-agentmail.js.map +0 -1
- package/node_modules/incur/src/Cli.test.ts +0 -4808
- package/node_modules/incur/src/Completions.test.ts +0 -543
- package/node_modules/incur/src/Errors.test.ts +0 -100
- package/node_modules/incur/src/Fetch.test.ts +0 -285
- package/node_modules/incur/src/Filter.test.ts +0 -237
- package/node_modules/incur/src/Formatter.test.ts +0 -326
- package/node_modules/incur/src/Help.test.ts +0 -414
- package/node_modules/incur/src/Mcp.test.ts +0 -413
- package/node_modules/incur/src/Openapi.test.ts +0 -389
- package/node_modules/incur/src/Parser.test.ts +0 -378
- package/node_modules/incur/src/Schema.test.ts +0 -167
- package/node_modules/incur/src/Skill.test.ts +0 -441
- package/node_modules/incur/src/Skillgen.test.ts +0 -77
- package/node_modules/incur/src/SyncMcp.test.ts +0 -136
- package/node_modules/incur/src/SyncSkills.test.ts +0 -301
- package/node_modules/incur/src/Typegen.test.ts +0 -205
- package/node_modules/incur/src/bun-compile.test.ts +0 -84
- package/node_modules/incur/src/e2e.test.ts +0 -3441
- package/node_modules/incur/src/internal/configSchema.test.ts +0 -193
- package/node_modules/incur/src/internal/dereference.test.ts +0 -695
- package/node_modules/incur/src/internal/helpers.test.ts +0 -75
- package/node_modules/incur/src/internal/pm.test.ts +0 -38
- package/node_modules/incur/src/internal/utils.test.ts +0 -50
- package/node_modules/incur/src/middleware.test.ts +0 -6
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import {
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
3
|
+
import path, { basename, extname } from 'node:path';
|
|
5
4
|
import { ID_PREFIXES, } from '@murphai/contracts';
|
|
6
5
|
import { VaultCliError } from '@murphai/operator-config/vault-cli-errors';
|
|
7
6
|
import { loadRuntimeModule } from '../runtime-import.js';
|
|
8
|
-
import { compactObject,
|
|
9
|
-
import { inferDurationMinutes } from './text-duration.js';
|
|
7
|
+
import { compactObject, toVaultCliError } from './vault-usecase-helpers.js';
|
|
10
8
|
import { buildStructuredWorkoutActivitySessionDraft } from './workout.js';
|
|
11
|
-
|
|
9
|
+
const DEFAULT_SOURCE = 'strong';
|
|
10
|
+
const DEFAULT_DELIMITER = ',';
|
|
11
|
+
const RESULT_LIST_LIMIT = 10;
|
|
12
|
+
const EXACT_RAW_CANDIDATE_LIMIT = 100;
|
|
13
|
+
const PRIOR_RAW_BATCH_LIMIT = 100;
|
|
14
|
+
const PRIOR_RAW_TOTAL_BYTES_LIMIT = 50 * 1024 * 1024;
|
|
15
|
+
// This version orders importer mapping semantics, not the revisionless CSV.
|
|
16
|
+
// Bump it only when a corrected mapping must supersede prior canonical output.
|
|
17
|
+
const WORKOUT_CSV_MAPPING_REVISION = '2026-08-12T19:00:00.000Z';
|
|
12
18
|
async function loadWorkoutImportCoreRuntime() {
|
|
13
19
|
return loadRuntimeModule('@murphai/core');
|
|
14
20
|
}
|
|
@@ -18,11 +24,6 @@ async function loadWorkoutImportersRuntime() {
|
|
|
18
24
|
async function loadWorkoutImportStateRuntime() {
|
|
19
25
|
return loadRuntimeModule('@murphai/runtime-state');
|
|
20
26
|
}
|
|
21
|
-
const DEFAULT_SOURCE = 'strong';
|
|
22
|
-
const DEFAULT_DELIMITER = ',';
|
|
23
|
-
function normalizeHeaderName(value) {
|
|
24
|
-
return value.trim().toLowerCase().replace(/[^a-z0-9]+/gu, '');
|
|
25
|
-
}
|
|
26
27
|
function sanitizePathSegment(value, fallback) {
|
|
27
28
|
const normalized = value
|
|
28
29
|
.trim()
|
|
@@ -36,561 +37,1348 @@ function sanitizeFileName(fileName) {
|
|
|
36
37
|
const stem = basename(fileName, ext)
|
|
37
38
|
.replace(/[^A-Za-z0-9._-]+/gu, '-')
|
|
38
39
|
.replace(/^-+|-+$/gu, '');
|
|
39
|
-
|
|
40
|
-
return `${safeStem}${ext || '.csv'}`;
|
|
40
|
+
return `${stem.length > 0 ? stem : 'workout-import'}${ext || '.csv'}`;
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
const value = row[index];
|
|
47
|
-
return typeof value === 'string' ? value.trim() : undefined;
|
|
42
|
+
function eventRecordToImportPayload(record) {
|
|
43
|
+
const { schemaVersion: _schemaVersion, id: _id, dayKey: _dayKey, lifecycle: _lifecycle, ...payload } = record;
|
|
44
|
+
return structuredClone(payload);
|
|
48
45
|
}
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return
|
|
46
|
+
function buildWorkoutEventDecisions(plan, rawFile, existingExternalRefs, mappingRevision = WORKOUT_CSV_MAPPING_REVISION, existingPayloads, expectedLatest) {
|
|
47
|
+
let suppressedDeletedCount = 0;
|
|
48
|
+
const decisions = plan.sessions.flatMap((session, index) => {
|
|
49
|
+
const existingPayload = existingPayloads?.[index];
|
|
50
|
+
if (existingPayload === null) {
|
|
51
|
+
suppressedDeletedCount += 1;
|
|
52
|
+
return [];
|
|
56
53
|
}
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
if (existingPayload) {
|
|
55
|
+
return [{
|
|
56
|
+
action: 'upsert',
|
|
57
|
+
payload: existingPayload,
|
|
58
|
+
...(expectedLatest?.[index] ? { expectedLatest: expectedLatest[index] } : {}),
|
|
59
|
+
}];
|
|
60
|
+
}
|
|
61
|
+
const existingExternalRef = existingExternalRefs?.[index];
|
|
62
|
+
const draft = buildStructuredWorkoutActivitySessionDraft({
|
|
63
|
+
payload: compactObject({
|
|
64
|
+
title: session.title,
|
|
65
|
+
occurredAt: session.occurredAt,
|
|
66
|
+
timeZone: plan.timeZone,
|
|
67
|
+
source: 'import',
|
|
68
|
+
activityType: 'strength-training',
|
|
69
|
+
durationMinutes: session.durationMinutes,
|
|
70
|
+
distanceKm: session.distanceKm,
|
|
71
|
+
note: session.note,
|
|
72
|
+
rawRefs: [rawFile],
|
|
73
|
+
externalRef: {
|
|
74
|
+
system: existingExternalRef?.system ?? sanitizePathSegment(plan.source, DEFAULT_SOURCE),
|
|
75
|
+
resourceType: existingExternalRef?.resourceType ?? 'workout-session',
|
|
76
|
+
resourceId: existingExternalRef?.resourceId ?? session.sourceWorkoutId,
|
|
77
|
+
version: mappingRevision,
|
|
78
|
+
...(existingExternalRef?.facet ? { facet: existingExternalRef.facet } : {}),
|
|
79
|
+
},
|
|
80
|
+
workout: session.workout,
|
|
81
|
+
}),
|
|
82
|
+
source: 'import',
|
|
83
|
+
allowUnknownDuration: true,
|
|
84
|
+
});
|
|
85
|
+
const payload = {
|
|
86
|
+
kind: 'activity_session',
|
|
87
|
+
...draft,
|
|
88
|
+
};
|
|
89
|
+
return [{
|
|
90
|
+
action: 'upsert',
|
|
91
|
+
payload,
|
|
92
|
+
}];
|
|
93
|
+
});
|
|
94
|
+
return { decisions, suppressedDeletedCount };
|
|
59
95
|
}
|
|
60
|
-
function
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
96
|
+
function prepareRawWorkoutBatch(input) {
|
|
97
|
+
const safeSource = sanitizePathSegment(input.plan.source, DEFAULT_SOURCE);
|
|
98
|
+
const owner = {
|
|
99
|
+
kind: 'workout_batch',
|
|
100
|
+
id: input.importId,
|
|
101
|
+
partition: safeSource,
|
|
102
|
+
};
|
|
103
|
+
const rawDirectory = input.core.resolveRawAssetDirectory({
|
|
104
|
+
owner,
|
|
105
|
+
occurredAt: input.importedAt,
|
|
106
|
+
});
|
|
107
|
+
const rawFile = path.posix.join(rawDirectory, sanitizeFileName(path.basename(input.file)));
|
|
108
|
+
const manifestFile = path.posix.join(rawDirectory, 'manifest.json');
|
|
109
|
+
const warnings = input.plan.warnings;
|
|
110
|
+
const manifest = input.core.buildRawImportManifest({
|
|
111
|
+
importId: input.importId,
|
|
112
|
+
importKind: 'workout_batch',
|
|
113
|
+
importedAt: input.importedAt,
|
|
114
|
+
owner,
|
|
115
|
+
source: input.plan.source,
|
|
116
|
+
rawDirectory,
|
|
117
|
+
artifacts: [{
|
|
118
|
+
role: 'source',
|
|
119
|
+
relativePath: rawFile,
|
|
120
|
+
originalFileName: path.basename(input.file),
|
|
121
|
+
mediaType: 'text/csv',
|
|
122
|
+
byteSize: new TextEncoder().encode(input.text).byteLength,
|
|
123
|
+
sha256: createHash('sha256').update(input.text).digest('hex'),
|
|
124
|
+
}],
|
|
125
|
+
provenance: {
|
|
126
|
+
sourceFileName: path.basename(input.file),
|
|
127
|
+
delimiter: input.plan.delimiter,
|
|
128
|
+
rowCount: input.plan.rowCount,
|
|
129
|
+
estimatedWorkouts: input.plan.estimatedWorkouts,
|
|
130
|
+
repairedRowCount: input.plan.repairedRowCount,
|
|
131
|
+
ignoredRowCount: input.plan.ignoredRowCount,
|
|
132
|
+
skippedRowCount: input.plan.skippedRowCount,
|
|
133
|
+
skipReasons: input.plan.skipReasons,
|
|
134
|
+
timeZone: input.plan.timeZone,
|
|
135
|
+
weightUnit: input.plan.weightUnit,
|
|
136
|
+
distanceUnit: input.plan.distanceUnit,
|
|
137
|
+
warnings,
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
return {
|
|
141
|
+
importId: input.importId,
|
|
142
|
+
manifest,
|
|
143
|
+
manifestFile,
|
|
144
|
+
rawFile,
|
|
145
|
+
};
|
|
71
146
|
}
|
|
72
|
-
function
|
|
73
|
-
|
|
74
|
-
|
|
147
|
+
async function storeRawWorkoutBatch(input) {
|
|
148
|
+
await input.core.applyCanonicalWriteBatch({
|
|
149
|
+
vaultRoot: input.vault,
|
|
150
|
+
operationType: 'workout_import_csv_raw',
|
|
151
|
+
summary: `Store workout CSV ${path.basename(input.sourceFile)}`,
|
|
152
|
+
audit: {
|
|
153
|
+
action: 'workout_import_csv_raw',
|
|
154
|
+
commandName: 'vaultUsecases.importWorkoutCsv',
|
|
155
|
+
summary: `Stored workout CSV ${path.basename(input.sourceFile)} as immutable raw evidence.`,
|
|
156
|
+
targetIds: [input.batch.importId],
|
|
157
|
+
},
|
|
158
|
+
rawContents: [{
|
|
159
|
+
targetRelativePath: input.batch.rawFile,
|
|
160
|
+
content: input.text,
|
|
161
|
+
originalFileName: path.basename(input.sourceFile),
|
|
162
|
+
mediaType: 'text/csv',
|
|
163
|
+
allowExistingMatch: true,
|
|
164
|
+
}, {
|
|
165
|
+
targetRelativePath: input.batch.manifestFile,
|
|
166
|
+
content: `${JSON.stringify(input.batch.manifest, null, 2)}\n`,
|
|
167
|
+
originalFileName: 'manifest.json',
|
|
168
|
+
mediaType: 'application/json',
|
|
169
|
+
allowExistingMatch: true,
|
|
170
|
+
}],
|
|
171
|
+
});
|
|
75
172
|
}
|
|
76
|
-
function
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
173
|
+
async function loadWorkoutCsvPlan(input) {
|
|
174
|
+
const [text, core, importers] = await Promise.all([
|
|
175
|
+
readFile(input.file, 'utf8'),
|
|
176
|
+
loadWorkoutImportCoreRuntime(),
|
|
177
|
+
loadWorkoutImportersRuntime(),
|
|
178
|
+
]);
|
|
179
|
+
const vault = await core.loadVault({ vaultRoot: input.vault });
|
|
180
|
+
const plan = importers.planWorkoutCsvImport({
|
|
181
|
+
text,
|
|
182
|
+
timeZone: vault.metadata.timezone,
|
|
183
|
+
source: input.source,
|
|
184
|
+
delimiter: input.delimiter,
|
|
185
|
+
weightUnit: input.weightUnit,
|
|
186
|
+
distanceUnit: input.distanceUnit,
|
|
187
|
+
});
|
|
188
|
+
return { text, plan, core, importers };
|
|
82
189
|
}
|
|
83
|
-
function
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return undefined;
|
|
190
|
+
function assertStructuredPlanImportable(plan) {
|
|
191
|
+
if (plan.requiresWeightUnit) {
|
|
192
|
+
throw new VaultCliError('invalid_option', 'This workout CSV contains positive weights without unit metadata. Pass --weight-unit lb or --weight-unit kg; nothing was imported.');
|
|
87
193
|
}
|
|
88
|
-
if (
|
|
89
|
-
|
|
194
|
+
if (plan.requiresDistanceUnit) {
|
|
195
|
+
throw new VaultCliError('invalid_option', 'This workout CSV contains positive distances without unit metadata. Pass --distance-unit m, --distance-unit km, or --distance-unit mi; nothing was imported.');
|
|
90
196
|
}
|
|
91
|
-
if (
|
|
92
|
-
|
|
197
|
+
if (plan.skippedRowCount > 0) {
|
|
198
|
+
throw new VaultCliError('invalid_payload', `${plan.skippedRowCount} workout CSV row(s) could not be mapped safely; nothing was imported. Run workout import inspect for aggregate reasons.`);
|
|
199
|
+
}
|
|
200
|
+
if (plan.detectedSource === null || plan.sessions.length === 0) {
|
|
201
|
+
throw new VaultCliError('invalid_payload', 'Workout CSV does not contain a supported structured workout export; nothing was imported.');
|
|
93
202
|
}
|
|
94
|
-
return undefined;
|
|
95
203
|
}
|
|
96
|
-
function
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
return {};
|
|
204
|
+
function assertSupportedWorkoutSource(plan) {
|
|
205
|
+
if (plan.detectedSource === null) {
|
|
206
|
+
throw new VaultCliError('invalid_payload', 'Workout CSV does not contain a supported structured workout export; nothing was stored.');
|
|
100
207
|
}
|
|
208
|
+
}
|
|
209
|
+
function capList(values) {
|
|
101
210
|
return {
|
|
102
|
-
|
|
103
|
-
|
|
211
|
+
values: values.slice(0, RESULT_LIST_LIMIT),
|
|
212
|
+
truncated: values.length > RESULT_LIST_LIMIT,
|
|
104
213
|
};
|
|
105
214
|
}
|
|
106
|
-
function
|
|
107
|
-
const
|
|
108
|
-
|
|
215
|
+
async function findExactRawWorkoutFiles(input) {
|
|
216
|
+
const expectedBytes = new TextEncoder().encode(input.text).byteLength;
|
|
217
|
+
const expectedHash = createHash('sha256').update(input.text).digest('hex');
|
|
218
|
+
const manifestFiles = (await input.core.walkVaultFiles(input.vault, 'raw/workouts', { extension: '.json' })).filter((relativePath) => path.posix.basename(relativePath) === 'manifest.json');
|
|
219
|
+
const candidates = new Map();
|
|
220
|
+
for (const manifestFile of manifestFiles) {
|
|
221
|
+
const manifestPath = input.core.resolveVaultPath(input.vault, manifestFile).absolutePath;
|
|
222
|
+
const manifest = input.core.parseRawImportManifest(JSON.parse(await readFile(manifestPath, 'utf8')));
|
|
223
|
+
if (manifest.importKind !== 'workout_batch') {
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
const artifacts = manifest.artifacts.filter((artifact) => artifact.role === 'source'
|
|
227
|
+
&& artifact.byteSize === expectedBytes
|
|
228
|
+
&& artifact.sha256 === expectedHash
|
|
229
|
+
&& artifact.relativePath.startsWith(`${manifest.rawDirectory}/`)
|
|
230
|
+
&& artifact.relativePath.startsWith('raw/workouts/'));
|
|
231
|
+
for (const artifact of artifacts) {
|
|
232
|
+
if (candidates.has(artifact.relativePath)) {
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
if (candidates.size >= EXACT_RAW_CANDIDATE_LIMIT) {
|
|
236
|
+
throw new VaultCliError('conflict', `Workout CSV matches more than ${EXACT_RAW_CANDIDATE_LIMIT} prior raw batches; nothing was imported.`);
|
|
237
|
+
}
|
|
238
|
+
const absolutePath = input.core.resolveVaultPath(input.vault, artifact.relativePath).absolutePath;
|
|
239
|
+
let matches = false;
|
|
240
|
+
try {
|
|
241
|
+
if ((await stat(absolutePath)).size === expectedBytes) {
|
|
242
|
+
const existingHash = createHash('sha256').update(await readFile(absolutePath)).digest('hex');
|
|
243
|
+
matches = existingHash === expectedHash;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
matches = false;
|
|
248
|
+
}
|
|
249
|
+
if (matches) {
|
|
250
|
+
const source = manifest.source === 'strong' || manifest.source === 'hevy'
|
|
251
|
+
? manifest.source
|
|
252
|
+
: undefined;
|
|
253
|
+
const delimiter = manifest.provenance.delimiter;
|
|
254
|
+
const weightUnit = manifest.provenance.weightUnit;
|
|
255
|
+
const distanceUnit = manifest.provenance.distanceUnit;
|
|
256
|
+
const timeZone = manifest.provenance.timeZone;
|
|
257
|
+
candidates.set(artifact.relativePath, {
|
|
258
|
+
rawFile: artifact.relativePath,
|
|
259
|
+
...(source ? { source } : {}),
|
|
260
|
+
...(typeof delimiter === 'string' && delimiter.length === 1 ? { delimiter } : {}),
|
|
261
|
+
...(weightUnit === null || weightUnit === 'lb' || weightUnit === 'kg'
|
|
262
|
+
? { weightUnit }
|
|
263
|
+
: {}),
|
|
264
|
+
...(distanceUnit === null || distanceUnit === 'm' || distanceUnit === 'km' || distanceUnit === 'mi'
|
|
265
|
+
? { distanceUnit }
|
|
266
|
+
: {}),
|
|
267
|
+
...(typeof timeZone === 'string' ? { timeZone } : {}),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return [...candidates.values()].sort((left, right) => left.rawFile.localeCompare(right.rawFile));
|
|
273
|
+
}
|
|
274
|
+
async function findPriorRawWorkoutFiles(input) {
|
|
275
|
+
const manifestFiles = (await input.core.walkVaultFiles(input.vault, 'raw/workouts', { extension: '.json' })).filter((relativePath) => path.posix.basename(relativePath) === 'manifest.json');
|
|
276
|
+
const candidates = [];
|
|
277
|
+
let workoutBatchCount = 0;
|
|
278
|
+
let admittedBytes = 0;
|
|
279
|
+
for (const manifestFile of manifestFiles) {
|
|
280
|
+
const manifestPath = input.core.resolveVaultPath(input.vault, manifestFile).absolutePath;
|
|
281
|
+
const manifest = input.core.parseRawImportManifest(JSON.parse(await readFile(manifestPath, 'utf8')));
|
|
282
|
+
if (manifest.importKind !== 'workout_batch')
|
|
283
|
+
continue;
|
|
284
|
+
workoutBatchCount += 1;
|
|
285
|
+
if (workoutBatchCount > PRIOR_RAW_BATCH_LIMIT) {
|
|
286
|
+
throw new VaultCliError('conflict', `Workout history has more than ${PRIOR_RAW_BATCH_LIMIT} prior raw batches; nothing was imported.`);
|
|
287
|
+
}
|
|
288
|
+
const source = manifest.source === 'strong' || manifest.source === 'hevy'
|
|
289
|
+
? manifest.source
|
|
290
|
+
: undefined;
|
|
291
|
+
const delimiter = manifest.provenance.delimiter;
|
|
292
|
+
const weightUnit = manifest.provenance.weightUnit;
|
|
293
|
+
const distanceUnit = manifest.provenance.distanceUnit;
|
|
294
|
+
const timeZone = manifest.provenance.timeZone;
|
|
295
|
+
for (const artifact of manifest.artifacts) {
|
|
296
|
+
if (artifact.role !== 'source'
|
|
297
|
+
|| !artifact.relativePath.startsWith(`${manifest.rawDirectory}/`)
|
|
298
|
+
|| !artifact.relativePath.startsWith('raw/workouts/'))
|
|
299
|
+
continue;
|
|
300
|
+
if (candidates.length >= PRIOR_RAW_BATCH_LIMIT) {
|
|
301
|
+
throw new VaultCliError('conflict', `Workout history has more than ${PRIOR_RAW_BATCH_LIMIT} prior source files; nothing was imported.`);
|
|
302
|
+
}
|
|
303
|
+
admittedBytes += artifact.byteSize;
|
|
304
|
+
if (admittedBytes > PRIOR_RAW_TOTAL_BYTES_LIMIT) {
|
|
305
|
+
throw new VaultCliError('conflict', `Prior workout source files exceed the ${PRIOR_RAW_TOTAL_BYTES_LIMIT}-byte reconciliation limit; nothing was imported.`);
|
|
306
|
+
}
|
|
307
|
+
const absolutePath = input.core.resolveVaultPath(input.vault, artifact.relativePath).absolutePath;
|
|
308
|
+
const text = await readFile(absolutePath, 'utf8');
|
|
309
|
+
const byteSize = new TextEncoder().encode(text).byteLength;
|
|
310
|
+
const hash = createHash('sha256').update(text).digest('hex');
|
|
311
|
+
if (byteSize !== artifact.byteSize || hash !== artifact.sha256) {
|
|
312
|
+
throw new VaultCliError('conflict', 'Prior workout raw evidence does not match its manifest; nothing was imported.');
|
|
313
|
+
}
|
|
314
|
+
candidates.push({
|
|
315
|
+
rawFile: artifact.relativePath,
|
|
316
|
+
text,
|
|
317
|
+
...(source ? { source } : {}),
|
|
318
|
+
...(typeof delimiter === 'string' && delimiter.length === 1 ? { delimiter } : {}),
|
|
319
|
+
...(weightUnit === null || weightUnit === 'lb' || weightUnit === 'kg'
|
|
320
|
+
? { weightUnit }
|
|
321
|
+
: {}),
|
|
322
|
+
...(distanceUnit === null || distanceUnit === 'm' || distanceUnit === 'km' || distanceUnit === 'mi'
|
|
323
|
+
? { distanceUnit }
|
|
324
|
+
: {}),
|
|
325
|
+
...(typeof timeZone === 'string' ? { timeZone } : {}),
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return candidates.sort((left, right) => left.rawFile.localeCompare(right.rawFile));
|
|
330
|
+
}
|
|
331
|
+
function mappingFromAttachedEvents(plan, matches) {
|
|
332
|
+
if (matches.length !== plan.sessions.length) {
|
|
109
333
|
return undefined;
|
|
110
334
|
}
|
|
111
|
-
const
|
|
112
|
-
|
|
335
|
+
const validMatches = matches.every(({ attachment, latest }) => {
|
|
336
|
+
const externalRef = attachment.externalRef;
|
|
337
|
+
return attachment.id === latest.id
|
|
338
|
+
&& attachment.kind === 'activity_session'
|
|
339
|
+
&& latest.kind === 'activity_session'
|
|
340
|
+
&& externalRef?.resourceType === 'workout-session';
|
|
341
|
+
});
|
|
342
|
+
if (!validMatches)
|
|
113
343
|
return undefined;
|
|
344
|
+
const alignedMatches = new Array(plan.sessions.length);
|
|
345
|
+
const unassignedMatches = new Set(matches);
|
|
346
|
+
const unassignedSessionIndexes = new Set(plan.sessions.map((_session, index) => index));
|
|
347
|
+
const indexesBySourceId = new Map();
|
|
348
|
+
plan.sessions.forEach((session, index) => {
|
|
349
|
+
for (const sourceId of [session.sourceWorkoutId, session.workout.sourceWorkoutId]) {
|
|
350
|
+
if (!sourceId)
|
|
351
|
+
continue;
|
|
352
|
+
const indexes = indexesBySourceId.get(sourceId) ?? [];
|
|
353
|
+
indexes.push(index);
|
|
354
|
+
indexesBySourceId.set(sourceId, indexes);
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
for (const match of matches) {
|
|
358
|
+
const sourceIds = [
|
|
359
|
+
match.attachment.kind === 'activity_session'
|
|
360
|
+
? match.attachment.workout.sourceWorkoutId
|
|
361
|
+
: undefined,
|
|
362
|
+
match.attachment.externalRef?.resourceId,
|
|
363
|
+
].filter((sourceId) => typeof sourceId === 'string');
|
|
364
|
+
const matchingIndexes = new Set(sourceIds.flatMap((sourceId) => indexesBySourceId.get(sourceId) ?? []));
|
|
365
|
+
if (matchingIndexes.size > 1)
|
|
366
|
+
return undefined;
|
|
367
|
+
const matchingIndex = matchingIndexes.size === 1 ? [...matchingIndexes][0] : undefined;
|
|
368
|
+
if (matchingIndex === undefined)
|
|
369
|
+
continue;
|
|
370
|
+
if (!unassignedSessionIndexes.has(matchingIndex))
|
|
371
|
+
return undefined;
|
|
372
|
+
alignedMatches[matchingIndex] = match;
|
|
373
|
+
unassignedMatches.delete(match);
|
|
374
|
+
unassignedSessionIndexes.delete(matchingIndex);
|
|
114
375
|
}
|
|
115
|
-
|
|
116
|
-
|
|
376
|
+
const matchesByTitle = new Map();
|
|
377
|
+
for (const match of unassignedMatches) {
|
|
378
|
+
const titleMatches = matchesByTitle.get(match.attachment.title) ?? [];
|
|
379
|
+
titleMatches.push(match);
|
|
380
|
+
matchesByTitle.set(match.attachment.title, titleMatches);
|
|
117
381
|
}
|
|
118
|
-
|
|
119
|
-
|
|
382
|
+
const sessionIndexesByTitle = new Map();
|
|
383
|
+
for (const index of unassignedSessionIndexes) {
|
|
384
|
+
const title = plan.sessions[index].title;
|
|
385
|
+
const indexes = sessionIndexesByTitle.get(title) ?? [];
|
|
386
|
+
indexes.push(index);
|
|
387
|
+
sessionIndexesByTitle.set(title, indexes);
|
|
388
|
+
}
|
|
389
|
+
for (const [title, sessionIndexes] of sessionIndexesByTitle) {
|
|
390
|
+
const titleMatches = matchesByTitle.get(title);
|
|
391
|
+
if (!titleMatches || titleMatches.length !== sessionIndexes.length) {
|
|
392
|
+
return undefined;
|
|
393
|
+
}
|
|
394
|
+
sessionIndexes.sort((left, right) => plan.sessions[left].occurredAt.localeCompare(plan.sessions[right].occurredAt));
|
|
395
|
+
titleMatches.sort((left, right) => left.attachment.occurredAt.localeCompare(right.attachment.occurredAt)
|
|
396
|
+
|| left.attachment.id.localeCompare(right.attachment.id));
|
|
397
|
+
sessionIndexes.forEach((sessionIndex, titleIndex) => {
|
|
398
|
+
alignedMatches[sessionIndex] = titleMatches[titleIndex];
|
|
399
|
+
});
|
|
120
400
|
}
|
|
121
|
-
if (
|
|
122
|
-
|
|
401
|
+
if (alignedMatches.some((match) => match === undefined)
|
|
402
|
+
|| new Set(alignedMatches.map((match) => match.latest.id)).size !== alignedMatches.length) {
|
|
403
|
+
return undefined;
|
|
123
404
|
}
|
|
124
|
-
|
|
405
|
+
const alignedRecords = alignedMatches.map((match) => match.latest);
|
|
406
|
+
const externalRefs = alignedMatches.map(({ attachment, latest }) => {
|
|
407
|
+
const externalRef = latest.externalRef ?? attachment.externalRef;
|
|
408
|
+
if (externalRef.resourceType !== 'workout-session') {
|
|
409
|
+
throw new VaultCliError('conflict', 'Prior workout evidence lost its canonical workout identity; nothing was imported.');
|
|
410
|
+
}
|
|
411
|
+
return {
|
|
412
|
+
system: externalRef.system,
|
|
413
|
+
resourceType: externalRef.resourceType,
|
|
414
|
+
resourceId: externalRef.resourceId,
|
|
415
|
+
...(externalRef.facet ? { facet: externalRef.facet } : {}),
|
|
416
|
+
};
|
|
417
|
+
});
|
|
418
|
+
const revisions = alignedMatches
|
|
419
|
+
.map(({ attachment, latest }) => latest.externalRef?.version ?? attachment.externalRef?.version)
|
|
420
|
+
.filter((revision) => typeof revision === 'string')
|
|
421
|
+
.sort();
|
|
422
|
+
return {
|
|
423
|
+
externalRefs,
|
|
424
|
+
matches: alignedMatches,
|
|
425
|
+
records: alignedRecords,
|
|
426
|
+
canonicalSourceMatches: alignedRecords.every((record) => record.lifecycle?.state === 'deleted'
|
|
427
|
+
|| (record.kind === 'activity_session'
|
|
428
|
+
&& record.workout?.sourceApp === plan.source)),
|
|
429
|
+
currentMappingReplay: alignedRecords.every((record) => record.externalRef?.version === WORKOUT_CSV_MAPPING_REVISION),
|
|
430
|
+
...(revisions.at(-1) ? { latestSourceRevision: revisions.at(-1) } : {}),
|
|
431
|
+
};
|
|
125
432
|
}
|
|
126
|
-
function
|
|
127
|
-
const
|
|
128
|
-
return
|
|
433
|
+
function comparableSourceSession(session) {
|
|
434
|
+
const { sourceApp: _sourceApp, sourceWorkoutId: _sourceWorkoutId, startedAt: _startedAt, endedAt: _endedAt, ...workout } = session.workout;
|
|
435
|
+
return {
|
|
436
|
+
title: session.title,
|
|
437
|
+
sourceEndTimeKey: session.sourceEndTimeKey,
|
|
438
|
+
durationMinutes: session.durationMinutes,
|
|
439
|
+
distanceKm: session.distanceKm,
|
|
440
|
+
note: session.note,
|
|
441
|
+
workout,
|
|
442
|
+
};
|
|
129
443
|
}
|
|
130
|
-
function
|
|
131
|
-
const
|
|
132
|
-
if (
|
|
133
|
-
return
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
444
|
+
async function loadPriorWorkoutSnapshotEvidence(input) {
|
|
445
|
+
const files = await findPriorRawWorkoutFiles(input);
|
|
446
|
+
if (files.length === 0)
|
|
447
|
+
return { files, matchesByFile: [] };
|
|
448
|
+
const matchesByFile = await input.core.findEventsByRawRefs({
|
|
449
|
+
vaultRoot: input.vault,
|
|
450
|
+
rawRefs: files.map((candidate) => candidate.rawFile),
|
|
451
|
+
resourceType: 'workout-session',
|
|
452
|
+
});
|
|
453
|
+
return { files, matchesByFile };
|
|
454
|
+
}
|
|
455
|
+
function resolvePriorSnapshotMatches(input) {
|
|
456
|
+
const allowedRecordSources = new Set(input.allowedRecordSources ?? [input.plan.source]);
|
|
457
|
+
const currentIndexesByKey = new Map(input.plan.sessions.map((session, index) => [session.sourceSessionKey, index]));
|
|
458
|
+
const alignedMatches = new Array(input.plan.sessions.length);
|
|
459
|
+
let exactPartialEvidence = false;
|
|
460
|
+
const admittedCandidates = [];
|
|
461
|
+
for (const [candidateIndex, candidate] of input.evidence.files.entries()) {
|
|
462
|
+
const matches = input.evidence.matchesByFile[candidateIndex] ?? [];
|
|
463
|
+
if (matches.length === 0)
|
|
464
|
+
continue;
|
|
465
|
+
if (candidate.text === input.text)
|
|
466
|
+
exactPartialEvidence = true;
|
|
467
|
+
const recordTimeZones = new Set(matches
|
|
468
|
+
.map((match) => match.attachment.timeZone)
|
|
469
|
+
.filter((timeZone) => typeof timeZone === 'string'));
|
|
470
|
+
const timeZone = recordTimeZones.size === 1
|
|
471
|
+
? [...recordTimeZones][0]
|
|
472
|
+
: candidate.timeZone;
|
|
473
|
+
if (!timeZone) {
|
|
474
|
+
throw new VaultCliError('conflict', 'Prior workout evidence does not prove one parsing timezone; nothing was imported.');
|
|
475
|
+
}
|
|
476
|
+
let priorPlan;
|
|
477
|
+
try {
|
|
478
|
+
priorPlan = input.importers.planWorkoutCsvImport({
|
|
479
|
+
text: candidate.text,
|
|
480
|
+
timeZone,
|
|
481
|
+
source: candidate.source,
|
|
482
|
+
delimiter: candidate.delimiter,
|
|
483
|
+
weightUnit: candidate.weightUnit ?? undefined,
|
|
484
|
+
distanceUnit: candidate.distanceUnit ?? undefined,
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
catch {
|
|
488
|
+
throw new VaultCliError('conflict', 'Prior workout raw evidence cannot be parsed safely for identity reconciliation; nothing was imported.');
|
|
489
|
+
}
|
|
490
|
+
const attachedSources = new Set(matches.flatMap(({ latest }) => latest.kind === 'activity_session' && latest.workout.sourceApp
|
|
491
|
+
? [latest.workout.sourceApp]
|
|
492
|
+
: []));
|
|
493
|
+
const hasCurrentOverlap = priorPlan.sessions.some((session) => currentIndexesByKey.has(session.sourceSessionKey));
|
|
494
|
+
const isCurrentProviderHistory = candidate.source === input.plan.source
|
|
495
|
+
|| (attachedSources.size === 1
|
|
496
|
+
&& attachedSources.has(input.plan.source));
|
|
497
|
+
if (!hasCurrentOverlap && !isCurrentProviderHistory)
|
|
498
|
+
continue;
|
|
499
|
+
if (priorPlan.sessions.some((session) => !currentIndexesByKey.has(session.sourceSessionKey))) {
|
|
500
|
+
throw new VaultCliError('conflict', 'A prior workout source session is missing or changed in the refreshed export; nothing was imported.');
|
|
501
|
+
}
|
|
502
|
+
const directMapping = mappingFromAttachedEvents(priorPlan, matches);
|
|
503
|
+
const partialMatchesByIndex = new Map();
|
|
504
|
+
if (directMapping) {
|
|
505
|
+
directMapping.matches.forEach((match, index) => partialMatchesByIndex.set(index, match));
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
const indexesBySourceId = new Map(priorPlan.sessions.map((session, index) => [session.sourceWorkoutId, index]));
|
|
509
|
+
const indexesByTitleAndTime = new Map(priorPlan.sessions.map((session, index) => [`${session.title}\0${session.occurredAt}`, index]));
|
|
510
|
+
for (const match of matches) {
|
|
511
|
+
const record = match.attachment;
|
|
512
|
+
const matchingIndexes = new Set();
|
|
513
|
+
const nestedSourceId = record.kind === 'activity_session'
|
|
514
|
+
? record.workout.sourceWorkoutId
|
|
515
|
+
: undefined;
|
|
516
|
+
const nestedIndex = nestedSourceId
|
|
517
|
+
? indexesBySourceId.get(nestedSourceId)
|
|
518
|
+
: undefined;
|
|
519
|
+
const externalIndex = record.externalRef
|
|
520
|
+
? indexesBySourceId.get(record.externalRef.resourceId)
|
|
521
|
+
: undefined;
|
|
522
|
+
const titleTimeIndex = indexesByTitleAndTime.get(`${record.title}\0${record.occurredAt}`);
|
|
523
|
+
if (nestedIndex !== undefined)
|
|
524
|
+
matchingIndexes.add(nestedIndex);
|
|
525
|
+
if (externalIndex !== undefined)
|
|
526
|
+
matchingIndexes.add(externalIndex);
|
|
527
|
+
if (titleTimeIndex !== undefined)
|
|
528
|
+
matchingIndexes.add(titleTimeIndex);
|
|
529
|
+
const matchingIndex = matchingIndexes.size === 1 ? [...matchingIndexes][0] : undefined;
|
|
530
|
+
if (matchingIndex === undefined || partialMatchesByIndex.has(matchingIndex)) {
|
|
531
|
+
throw new VaultCliError('conflict', 'Prior workout evidence has partial or ambiguous session attachments; nothing was imported.');
|
|
532
|
+
}
|
|
533
|
+
partialMatchesByIndex.set(matchingIndex, match);
|
|
142
534
|
}
|
|
143
|
-
const [hours, minutes, seconds] = numbers;
|
|
144
|
-
return hours * 3600 + minutes * 60 + seconds;
|
|
145
535
|
}
|
|
536
|
+
priorPlan.sessions.forEach((session, priorIndex) => {
|
|
537
|
+
const currentIndex = currentIndexesByKey.get(session.sourceSessionKey);
|
|
538
|
+
if (currentIndex === undefined)
|
|
539
|
+
return;
|
|
540
|
+
const match = partialMatchesByIndex.get(priorIndex);
|
|
541
|
+
if (!match)
|
|
542
|
+
return;
|
|
543
|
+
const record = match.latest;
|
|
544
|
+
if (record.lifecycle?.state !== 'deleted'
|
|
545
|
+
&& (record.kind !== 'activity_session'
|
|
546
|
+
|| !record.workout.sourceApp
|
|
547
|
+
|| !allowedRecordSources.has(record.workout.sourceApp))) {
|
|
548
|
+
throw new VaultCliError('conflict', 'Prior workout sessions use a different provider dialect; correct the exact prior file first. Nothing was imported.');
|
|
549
|
+
}
|
|
550
|
+
const selected = alignedMatches[currentIndex];
|
|
551
|
+
if (selected && selected.latest.id !== record.id) {
|
|
552
|
+
throw new VaultCliError('conflict', 'Prior workout snapshots map one source session to conflicting event identities; nothing was imported.');
|
|
553
|
+
}
|
|
554
|
+
alignedMatches[currentIndex] = selected ?? match;
|
|
555
|
+
});
|
|
556
|
+
admittedCandidates.push({ candidate, priorPlan, matches });
|
|
146
557
|
}
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
558
|
+
for (const { candidate, priorPlan, matches } of admittedCandidates) {
|
|
559
|
+
const assembledMatches = priorPlan.sessions.map((session) => {
|
|
560
|
+
const currentIndex = currentIndexesByKey.get(session.sourceSessionKey);
|
|
561
|
+
return currentIndex === undefined ? undefined : alignedMatches[currentIndex];
|
|
562
|
+
});
|
|
563
|
+
const fullMapping = assembledMatches.every((match) => match !== undefined)
|
|
564
|
+
? mappingFromAttachedEvents(priorPlan, assembledMatches)
|
|
565
|
+
: mappingFromAttachedEvents(priorPlan, matches);
|
|
566
|
+
const hasPostMappingCorrection = fullMapping?.records.every((record) => {
|
|
567
|
+
if (record.lifecycle?.state === 'deleted')
|
|
568
|
+
return true;
|
|
569
|
+
const revision = Date.parse(record.externalRef?.version ?? '');
|
|
570
|
+
return Number.isFinite(revision) && revision > Date.parse(WORKOUT_CSV_MAPPING_REVISION);
|
|
571
|
+
}) === true;
|
|
572
|
+
const correctedWeightInterpretation = hasPostMappingCorrection
|
|
573
|
+
&& fullMapping.records.every((record, priorIndex) => {
|
|
574
|
+
if (record.lifecycle?.state === 'deleted')
|
|
575
|
+
return true;
|
|
576
|
+
const currentIndex = currentIndexesByKey.get(priorPlan.sessions[priorIndex].sourceSessionKey);
|
|
577
|
+
return currentIndex !== undefined
|
|
578
|
+
&& record.kind === 'activity_session'
|
|
579
|
+
&& JSON.stringify(weightOwnedProjection(record.workout))
|
|
580
|
+
=== JSON.stringify(weightOwnedProjection(input.plan.sessions[currentIndex].workout));
|
|
581
|
+
});
|
|
582
|
+
const correctedDistanceInterpretation = hasPostMappingCorrection
|
|
583
|
+
&& fullMapping.records.every((record, priorIndex) => {
|
|
584
|
+
if (record.lifecycle?.state === 'deleted')
|
|
585
|
+
return true;
|
|
586
|
+
const currentIndex = currentIndexesByKey.get(priorPlan.sessions[priorIndex].sourceSessionKey);
|
|
587
|
+
return currentIndex !== undefined
|
|
588
|
+
&& record.kind === 'activity_session'
|
|
589
|
+
&& JSON.stringify(distanceOwnedProjection(record.workout, record.distanceKm))
|
|
590
|
+
=== JSON.stringify(distanceOwnedProjection(input.plan.sessions[currentIndex].workout, input.plan.sessions[currentIndex].distanceKm));
|
|
591
|
+
});
|
|
592
|
+
const legacyCanonicalWeightInterpretation = candidate.weightUnit === undefined
|
|
593
|
+
&& fullMapping?.records.every((record, priorIndex) => {
|
|
594
|
+
if (record.lifecycle?.state === 'deleted')
|
|
595
|
+
return true;
|
|
596
|
+
const currentIndex = currentIndexesByKey.get(priorPlan.sessions[priorIndex].sourceSessionKey);
|
|
597
|
+
return currentIndex !== undefined
|
|
598
|
+
&& record.kind === 'activity_session'
|
|
599
|
+
&& JSON.stringify(weightOwnedProjection(record.workout))
|
|
600
|
+
=== JSON.stringify(weightOwnedProjection(input.plan.sessions[currentIndex].workout));
|
|
601
|
+
}) === true;
|
|
602
|
+
const legacyCanonicalDistanceInterpretation = candidate.distanceUnit === undefined
|
|
603
|
+
&& fullMapping?.records.every((record, priorIndex) => {
|
|
604
|
+
if (record.lifecycle?.state === 'deleted')
|
|
605
|
+
return true;
|
|
606
|
+
const currentIndex = currentIndexesByKey.get(priorPlan.sessions[priorIndex].sourceSessionKey);
|
|
607
|
+
return currentIndex !== undefined
|
|
608
|
+
&& record.kind === 'activity_session'
|
|
609
|
+
&& JSON.stringify(distanceOwnedProjection(record.workout, record.distanceKm))
|
|
610
|
+
=== JSON.stringify(distanceOwnedProjection(input.plan.sessions[currentIndex].workout, input.plan.sessions[currentIndex].distanceKm));
|
|
611
|
+
}) === true;
|
|
612
|
+
if ((candidate.weightUnit === undefined
|
|
613
|
+
&& input.plan.weightUnit !== null
|
|
614
|
+
&& !legacyCanonicalWeightInterpretation)
|
|
615
|
+
|| (candidate.distanceUnit === undefined
|
|
616
|
+
&& input.plan.distanceUnit !== null
|
|
617
|
+
&& !legacyCanonicalDistanceInterpretation)) {
|
|
618
|
+
throw new VaultCliError('conflict', 'Prior workout evidence does not prove the selected units. Rerun the exact original CSV with --correct-units, then retry this expanded snapshot; nothing was imported.');
|
|
619
|
+
}
|
|
620
|
+
let comparisonPlan;
|
|
621
|
+
try {
|
|
622
|
+
comparisonPlan = input.importers.planWorkoutCsvImport({
|
|
623
|
+
text: candidate.text,
|
|
624
|
+
timeZone: input.plan.timeZone,
|
|
625
|
+
source: input.plan.source,
|
|
626
|
+
delimiter: candidate.delimiter,
|
|
627
|
+
weightUnit: correctedWeightInterpretation || legacyCanonicalWeightInterpretation
|
|
628
|
+
? input.plan.weightUnit ?? undefined
|
|
629
|
+
: candidate.weightUnit === undefined
|
|
630
|
+
? undefined
|
|
631
|
+
: candidate.weightUnit ?? undefined,
|
|
632
|
+
distanceUnit: correctedDistanceInterpretation || legacyCanonicalDistanceInterpretation
|
|
633
|
+
? input.plan.distanceUnit ?? undefined
|
|
634
|
+
: candidate.distanceUnit === undefined
|
|
635
|
+
? undefined
|
|
636
|
+
: candidate.distanceUnit ?? undefined,
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
catch {
|
|
640
|
+
throw new VaultCliError('conflict', 'Prior workout source sessions cannot be compared safely with the current export; nothing was imported.');
|
|
641
|
+
}
|
|
642
|
+
const comparisonByKey = new Map(comparisonPlan.sessions.map((session) => [session.sourceSessionKey, session]));
|
|
643
|
+
for (const priorSession of priorPlan.sessions) {
|
|
644
|
+
const currentIndex = currentIndexesByKey.get(priorSession.sourceSessionKey);
|
|
645
|
+
if (currentIndex === undefined)
|
|
646
|
+
continue;
|
|
647
|
+
const currentSession = input.plan.sessions[currentIndex];
|
|
648
|
+
const comparablePrior = comparisonByKey.get(priorSession.sourceSessionKey);
|
|
649
|
+
if (!comparablePrior
|
|
650
|
+
|| JSON.stringify(comparableSourceSession(comparablePrior))
|
|
651
|
+
!== JSON.stringify(comparableSourceSession(currentSession))) {
|
|
652
|
+
throw new VaultCliError('conflict', 'A prior workout source session changed without an ordered source revision; nothing was imported.');
|
|
653
|
+
}
|
|
654
|
+
}
|
|
157
655
|
}
|
|
158
|
-
if (
|
|
159
|
-
|
|
656
|
+
if (exactPartialEvidence && alignedMatches.some((match) => match === undefined)) {
|
|
657
|
+
throw new VaultCliError('conflict', 'Exact prior workout snapshot cannot resolve every source session identity; nothing was imported.');
|
|
160
658
|
}
|
|
161
|
-
return
|
|
659
|
+
return alignedMatches;
|
|
162
660
|
}
|
|
163
|
-
function
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
return
|
|
171
|
-
}
|
|
172
|
-
const inferredMinutes = inferDurationMinutes(normalized);
|
|
173
|
-
if (typeof inferredMinutes === 'number') {
|
|
174
|
-
return inferredMinutes;
|
|
661
|
+
async function resolveExistingWorkoutEvidence(input) {
|
|
662
|
+
const exactRawFiles = await findExactRawWorkoutFiles({
|
|
663
|
+
core: input.core,
|
|
664
|
+
vault: input.vault,
|
|
665
|
+
text: input.text,
|
|
666
|
+
});
|
|
667
|
+
if (exactRawFiles.length === 0) {
|
|
668
|
+
return {};
|
|
175
669
|
}
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
670
|
+
const eventsByRawFile = await input.core.findEventsByRawRefs({
|
|
671
|
+
vaultRoot: input.vault,
|
|
672
|
+
rawRefs: exactRawFiles.map((candidate) => candidate.rawFile),
|
|
673
|
+
resourceType: 'workout-session',
|
|
674
|
+
});
|
|
675
|
+
let rawOnlyFile;
|
|
676
|
+
let foundAmbiguousCanonicalEvidence = false;
|
|
677
|
+
let priorSnapshotEvidence;
|
|
678
|
+
let selectedEvidence;
|
|
679
|
+
for (const [index, candidate] of exactRawFiles.entries()) {
|
|
680
|
+
const rawFile = candidate.rawFile;
|
|
681
|
+
const matches = eventsByRawFile[index] ?? [];
|
|
682
|
+
if (matches.length === 0) {
|
|
683
|
+
const provenanceMatches = candidate.source === input.plan.source
|
|
684
|
+
&& candidate.delimiter === input.plan.delimiter
|
|
685
|
+
&& candidate.timeZone === input.plan.timeZone
|
|
686
|
+
&& candidate.weightUnit === input.plan.weightUnit
|
|
687
|
+
&& candidate.distanceUnit === input.plan.distanceUnit;
|
|
688
|
+
if (provenanceMatches)
|
|
689
|
+
rawOnlyFile = rawOnlyFile ?? rawFile;
|
|
690
|
+
continue;
|
|
691
|
+
}
|
|
692
|
+
let mapping = mappingFromAttachedEvents(input.plan, matches);
|
|
693
|
+
if (!mapping && matches.length < input.plan.sessions.length) {
|
|
694
|
+
const recordTimeZones = new Set(matches
|
|
695
|
+
.map((match) => match.attachment.timeZone)
|
|
696
|
+
.filter((timeZone) => typeof timeZone === 'string'));
|
|
697
|
+
const originalTimeZone = recordTimeZones.size === 1
|
|
698
|
+
? [...recordTimeZones][0]
|
|
699
|
+
: candidate.timeZone;
|
|
700
|
+
if (!originalTimeZone) {
|
|
701
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence does not prove its original timezone; nothing was imported.');
|
|
702
|
+
}
|
|
703
|
+
let exactPlan;
|
|
704
|
+
try {
|
|
705
|
+
exactPlan = input.importers.planWorkoutCsvImport({
|
|
706
|
+
text: input.text,
|
|
707
|
+
timeZone: originalTimeZone,
|
|
708
|
+
source: candidate.source,
|
|
709
|
+
delimiter: candidate.delimiter,
|
|
710
|
+
weightUnit: candidate.weightUnit ?? undefined,
|
|
711
|
+
distanceUnit: candidate.distanceUnit ?? undefined,
|
|
712
|
+
});
|
|
713
|
+
}
|
|
714
|
+
catch {
|
|
715
|
+
throw new VaultCliError('conflict', 'Exact prior workout raw evidence cannot be parsed safely for identity reconciliation; nothing was imported.');
|
|
716
|
+
}
|
|
717
|
+
priorSnapshotEvidence ??= await loadPriorWorkoutSnapshotEvidence({
|
|
718
|
+
core: input.core,
|
|
719
|
+
vault: input.vault,
|
|
720
|
+
});
|
|
721
|
+
const reconciledMatches = resolvePriorSnapshotMatches({
|
|
722
|
+
importers: input.importers,
|
|
723
|
+
plan: exactPlan,
|
|
724
|
+
text: input.text,
|
|
725
|
+
evidence: priorSnapshotEvidence,
|
|
726
|
+
allowedRecordSources: [exactPlan.source, input.plan.source],
|
|
727
|
+
});
|
|
728
|
+
if (reconciledMatches.every((match) => match !== undefined)) {
|
|
729
|
+
mapping = mappingFromAttachedEvents(input.plan, reconciledMatches);
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
if (mapping) {
|
|
733
|
+
const recordTimeZones = new Set(mapping.matches
|
|
734
|
+
.map((match) => match.attachment.timeZone)
|
|
735
|
+
.filter((timeZone) => typeof timeZone === 'string'));
|
|
736
|
+
const recordTimeZone = recordTimeZones.size === 1 ? [...recordTimeZones][0] : undefined;
|
|
737
|
+
const originalTimeZone = recordTimeZone ?? candidate.timeZone;
|
|
738
|
+
const currentWeightValuesMatch = mapping.records.every((record, sessionIndex) => record.lifecycle?.state === 'deleted'
|
|
739
|
+
|| (record.kind === 'activity_session'
|
|
740
|
+
&& JSON.stringify(weightOwnedProjection(record.workout))
|
|
741
|
+
=== JSON.stringify(weightOwnedProjection(input.plan.sessions[sessionIndex]?.workout))));
|
|
742
|
+
const currentDistanceValuesMatch = mapping.records.every((record, sessionIndex) => record.lifecycle?.state === 'deleted'
|
|
743
|
+
|| (record.kind === 'activity_session'
|
|
744
|
+
&& JSON.stringify(distanceOwnedProjection(record.workout, record.distanceKm))
|
|
745
|
+
=== JSON.stringify(distanceOwnedProjection(input.plan.sessions[sessionIndex]?.workout, input.plan.sessions[sessionIndex]?.distanceKm))));
|
|
746
|
+
const evidence = {
|
|
747
|
+
rawFile,
|
|
748
|
+
...mapping,
|
|
749
|
+
currentWeightValuesMatch,
|
|
750
|
+
currentDistanceValuesMatch,
|
|
751
|
+
currentCorrectedUnitsMatch: currentWeightValuesMatch
|
|
752
|
+
&& currentDistanceValuesMatch
|
|
753
|
+
&& mapping.records.every((record) => {
|
|
754
|
+
if (record.lifecycle?.state === 'deleted')
|
|
755
|
+
return true;
|
|
756
|
+
const revision = Date.parse(record.externalRef?.version ?? '');
|
|
757
|
+
return Number.isFinite(revision)
|
|
758
|
+
&& revision > Date.parse(WORKOUT_CSV_MAPPING_REVISION);
|
|
759
|
+
}),
|
|
760
|
+
currentUnitsMatch: (candidate.weightUnit !== undefined
|
|
761
|
+
? candidate.weightUnit === input.plan.weightUnit
|
|
762
|
+
: currentWeightValuesMatch)
|
|
763
|
+
&& (candidate.distanceUnit !== undefined
|
|
764
|
+
? candidate.distanceUnit === input.plan.distanceUnit
|
|
765
|
+
: currentDistanceValuesMatch),
|
|
766
|
+
...(originalTimeZone ? { originalTimeZone } : {}),
|
|
767
|
+
...(candidate.source ? { originalSource: candidate.source } : {}),
|
|
768
|
+
...(candidate.delimiter ? { originalDelimiter: candidate.delimiter } : {}),
|
|
769
|
+
...(candidate.weightUnit !== undefined ? { originalWeightUnit: candidate.weightUnit } : {}),
|
|
770
|
+
...(candidate.distanceUnit !== undefined ? { originalDistanceUnit: candidate.distanceUnit } : {}),
|
|
771
|
+
};
|
|
772
|
+
if (selectedEvidence
|
|
773
|
+
&& selectedEvidence.records.map((record) => record.id).join('\0')
|
|
774
|
+
!== evidence.records.map((record) => record.id).join('\0')) {
|
|
775
|
+
foundAmbiguousCanonicalEvidence = true;
|
|
776
|
+
}
|
|
777
|
+
else {
|
|
778
|
+
selectedEvidence = selectedEvidence ?? evidence;
|
|
779
|
+
}
|
|
780
|
+
continue;
|
|
781
|
+
}
|
|
179
782
|
}
|
|
180
|
-
if (
|
|
181
|
-
|
|
783
|
+
if (foundAmbiguousCanonicalEvidence) {
|
|
784
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence has an ambiguous canonical event mapping; nothing was imported.');
|
|
182
785
|
}
|
|
183
|
-
if (
|
|
184
|
-
return
|
|
786
|
+
if (selectedEvidence) {
|
|
787
|
+
return selectedEvidence;
|
|
185
788
|
}
|
|
186
|
-
return
|
|
789
|
+
return {
|
|
790
|
+
...(rawOnlyFile ? { rawFile: rawOnlyFile } : {}),
|
|
791
|
+
};
|
|
187
792
|
}
|
|
188
|
-
function
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
793
|
+
function correctionStructure(workout) {
|
|
794
|
+
return workout?.exercises.map((exercise) => ({
|
|
795
|
+
name: exercise.name,
|
|
796
|
+
sourceExerciseId: exercise.sourceExerciseId,
|
|
797
|
+
order: exercise.order,
|
|
798
|
+
sets: exercise.sets.map((set) => ({
|
|
799
|
+
order: set.order,
|
|
800
|
+
})),
|
|
801
|
+
}));
|
|
802
|
+
}
|
|
803
|
+
function unitOwnedProjection(workout, distanceKm) {
|
|
804
|
+
return {
|
|
805
|
+
weight: weightOwnedProjection(workout),
|
|
806
|
+
distance: distanceOwnedProjection(workout, distanceKm),
|
|
807
|
+
};
|
|
808
|
+
}
|
|
809
|
+
function weightOwnedProjection(workout) {
|
|
810
|
+
return workout?.exercises.map((exercise) => ({
|
|
811
|
+
unitOverride: exercise.unitOverride,
|
|
812
|
+
sets: exercise.sets.map((set) => ({
|
|
813
|
+
weight: set.weight,
|
|
814
|
+
weightUnit: set.weightUnit,
|
|
815
|
+
bodyweightKg: set.bodyweightKg,
|
|
816
|
+
assistanceKg: set.assistanceKg,
|
|
817
|
+
addedWeightKg: set.addedWeightKg,
|
|
818
|
+
})),
|
|
819
|
+
}));
|
|
820
|
+
}
|
|
821
|
+
function distanceOwnedProjection(workout, distanceKm) {
|
|
822
|
+
return {
|
|
823
|
+
distanceKm,
|
|
824
|
+
exercises: workout?.exercises.map((exercise) => ({
|
|
825
|
+
sets: exercise.sets.map((set) => ({
|
|
826
|
+
distanceMeters: set.distanceMeters,
|
|
827
|
+
})),
|
|
828
|
+
})),
|
|
829
|
+
};
|
|
830
|
+
}
|
|
831
|
+
function expectedLatestForRecord(record) {
|
|
832
|
+
return {
|
|
833
|
+
eventId: record.id,
|
|
834
|
+
lifecycleRevision: record.lifecycle?.revision ?? 1,
|
|
835
|
+
};
|
|
836
|
+
}
|
|
837
|
+
function assertCorrectionStructure(session, record) {
|
|
838
|
+
if (record.kind !== 'activity_session'
|
|
839
|
+
|| JSON.stringify(correctionStructure(record.workout))
|
|
840
|
+
!== JSON.stringify(correctionStructure(session.workout))) {
|
|
841
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence overlaps edited exercise or set fields; nothing was imported.');
|
|
192
842
|
}
|
|
193
|
-
|
|
194
|
-
|
|
843
|
+
}
|
|
844
|
+
function replaceOptionalSetField(set, key, value) {
|
|
845
|
+
if (value === undefined) {
|
|
846
|
+
delete set[key];
|
|
195
847
|
}
|
|
196
|
-
|
|
197
|
-
|
|
848
|
+
else {
|
|
849
|
+
set[key] = value;
|
|
198
850
|
}
|
|
199
|
-
|
|
200
|
-
|
|
851
|
+
}
|
|
852
|
+
function correctedExternalRef(record, mappingRevision) {
|
|
853
|
+
const externalRef = record.externalRef;
|
|
854
|
+
if (!externalRef) {
|
|
855
|
+
throw new VaultCliError('conflict', 'Exact prior workout event has no authoritative external identity; nothing was imported.');
|
|
201
856
|
}
|
|
202
|
-
return
|
|
857
|
+
return { ...externalRef, version: mappingRevision };
|
|
203
858
|
}
|
|
204
|
-
function
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
859
|
+
function eventRecordPayloadWithRevision(record, mappingRevision) {
|
|
860
|
+
const payload = eventRecordToImportPayload(record);
|
|
861
|
+
payload.externalRef = correctedExternalRef(record, mappingRevision);
|
|
862
|
+
return payload;
|
|
863
|
+
}
|
|
864
|
+
function buildUnitCorrectionPayload(input) {
|
|
865
|
+
const { record } = input;
|
|
866
|
+
assertCorrectionStructure(input.session, record);
|
|
867
|
+
const weightOwnershipMatches = !input.correctWeight || input.ownershipSessions.some((session) => JSON.stringify(weightOwnedProjection(session.workout))
|
|
868
|
+
=== JSON.stringify(weightOwnedProjection(record.workout)));
|
|
869
|
+
const distanceOwnershipMatches = !input.correctDistance || input.ownershipSessions.some((session) => JSON.stringify(distanceOwnedProjection(session.workout, session.distanceKm))
|
|
870
|
+
=== JSON.stringify(distanceOwnedProjection(record.workout, record.distanceKm)));
|
|
871
|
+
if (!weightOwnershipMatches || !distanceOwnershipMatches) {
|
|
872
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence overlaps edited load or distance fields; nothing was imported.');
|
|
213
873
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
return parsed.toISOString();
|
|
874
|
+
const payload = eventRecordToImportPayload(record);
|
|
875
|
+
const workout = structuredClone(record.workout);
|
|
876
|
+
workout.exercises.forEach((exercise, exerciseIndex) => {
|
|
877
|
+
const plannedExercise = input.session.workout.exercises[exerciseIndex];
|
|
878
|
+
if (input.correctWeight) {
|
|
879
|
+
exercise.unitOverride = plannedExercise.unitOverride;
|
|
221
880
|
}
|
|
881
|
+
exercise.sets.forEach((set, setIndex) => {
|
|
882
|
+
const plannedSet = plannedExercise.sets[setIndex];
|
|
883
|
+
if (input.correctWeight) {
|
|
884
|
+
replaceOptionalSetField(set, 'weight', plannedSet.weight);
|
|
885
|
+
replaceOptionalSetField(set, 'weightUnit', plannedSet.weightUnit);
|
|
886
|
+
replaceOptionalSetField(set, 'bodyweightKg', plannedSet.bodyweightKg);
|
|
887
|
+
replaceOptionalSetField(set, 'assistanceKg', plannedSet.assistanceKg);
|
|
888
|
+
replaceOptionalSetField(set, 'addedWeightKg', plannedSet.addedWeightKg);
|
|
889
|
+
}
|
|
890
|
+
if (input.correctDistance) {
|
|
891
|
+
replaceOptionalSetField(set, 'distanceMeters', plannedSet.distanceMeters);
|
|
892
|
+
}
|
|
893
|
+
});
|
|
894
|
+
});
|
|
895
|
+
payload.workout = workout;
|
|
896
|
+
if (input.correctDistance) {
|
|
897
|
+
if (input.session.distanceKm === undefined)
|
|
898
|
+
delete payload.distanceKm;
|
|
899
|
+
else
|
|
900
|
+
payload.distanceKm = input.session.distanceKm;
|
|
222
901
|
}
|
|
223
|
-
|
|
902
|
+
payload.externalRef = correctedExternalRef(record, input.mappingRevision);
|
|
903
|
+
return payload;
|
|
224
904
|
}
|
|
225
|
-
function
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
905
|
+
function buildUnitOwnershipPlans(input) {
|
|
906
|
+
const plans = [];
|
|
907
|
+
const seen = new Set();
|
|
908
|
+
for (const weightUnit of [undefined, 'lb', 'kg']) {
|
|
909
|
+
for (const distanceUnit of [undefined, 'm', 'km', 'mi']) {
|
|
910
|
+
try {
|
|
911
|
+
const plan = input.importers.planWorkoutCsvImport({
|
|
912
|
+
text: input.text,
|
|
913
|
+
timeZone: input.timeZone,
|
|
914
|
+
source: input.source,
|
|
915
|
+
delimiter: input.delimiter,
|
|
916
|
+
weightUnit,
|
|
917
|
+
distanceUnit,
|
|
918
|
+
});
|
|
919
|
+
if (!plan.importable)
|
|
920
|
+
continue;
|
|
921
|
+
const key = JSON.stringify(plan.sessions.map((session) => unitOwnedProjection(session.workout, session.distanceKm)));
|
|
922
|
+
if (!seen.has(key)) {
|
|
923
|
+
seen.add(key);
|
|
924
|
+
plans.push(plan);
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
catch {
|
|
928
|
+
// Conflicting explicit/header unit combinations are not valid ownership candidates.
|
|
929
|
+
}
|
|
930
|
+
}
|
|
236
931
|
}
|
|
237
|
-
return
|
|
932
|
+
return plans;
|
|
238
933
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
934
|
+
function canonicalCsvNote(session) {
|
|
935
|
+
return session.note
|
|
936
|
+
?? session.workout.sessionNote
|
|
937
|
+
?? session.workout.routineName
|
|
938
|
+
?? session.title;
|
|
939
|
+
}
|
|
940
|
+
function dialectOwnedStructure(workout) {
|
|
941
|
+
return workout?.exercises.map((exercise) => ({
|
|
942
|
+
name: exercise.name,
|
|
943
|
+
order: exercise.order,
|
|
944
|
+
note: exercise.note,
|
|
945
|
+
sets: exercise.sets.map((set) => ({ order: set.order, type: set.type })),
|
|
946
|
+
}));
|
|
947
|
+
}
|
|
948
|
+
function buildDialectCorrectionPayload(input) {
|
|
949
|
+
if (input.record.kind !== 'activity_session'
|
|
950
|
+
|| JSON.stringify(dialectOwnedStructure(input.record.workout))
|
|
951
|
+
!== JSON.stringify(dialectOwnedStructure(input.originalSession.workout))) {
|
|
952
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence overlaps edited provider-owned fields; nothing was imported.');
|
|
258
953
|
}
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
954
|
+
const payload = eventRecordToImportPayload(input.record);
|
|
955
|
+
const workout = structuredClone(input.record.workout);
|
|
956
|
+
workout.sourceApp = input.correctedSession.workout.sourceApp;
|
|
957
|
+
workout.sourceWorkoutId = input.correctedSession.workout.sourceWorkoutId;
|
|
958
|
+
workout.exercises.forEach((exercise, exerciseIndex) => {
|
|
959
|
+
const correctedExercise = input.correctedSession.workout.exercises[exerciseIndex];
|
|
960
|
+
exercise.note = correctedExercise.note;
|
|
961
|
+
exercise.sets.forEach((set, setIndex) => {
|
|
962
|
+
const correctedSet = correctedExercise.sets[setIndex];
|
|
963
|
+
set.order = correctedSet.order;
|
|
964
|
+
set.type = correctedSet.type;
|
|
965
|
+
});
|
|
966
|
+
});
|
|
967
|
+
const originalSessionNote = input.originalSession.workout.sessionNote
|
|
968
|
+
?? canonicalCsvNote(input.originalSession);
|
|
969
|
+
const correctedSessionNote = input.correctedSession.workout.sessionNote
|
|
970
|
+
?? canonicalCsvNote(input.correctedSession);
|
|
971
|
+
if (originalSessionNote !== correctedSessionNote) {
|
|
972
|
+
if (workout.sessionNote !== originalSessionNote) {
|
|
973
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence overlaps an edited session note; nothing was imported.');
|
|
974
|
+
}
|
|
975
|
+
workout.sessionNote = correctedSessionNote;
|
|
262
976
|
}
|
|
263
|
-
|
|
264
|
-
|
|
977
|
+
const originalNote = canonicalCsvNote(input.originalSession);
|
|
978
|
+
const correctedNote = canonicalCsvNote(input.correctedSession);
|
|
979
|
+
if (originalNote !== correctedNote) {
|
|
980
|
+
if (input.record.note !== originalNote) {
|
|
981
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence overlaps an edited workout note; nothing was imported.');
|
|
982
|
+
}
|
|
983
|
+
payload.note = correctedNote;
|
|
265
984
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
detectedSource,
|
|
270
|
-
delimiter,
|
|
271
|
-
headers,
|
|
272
|
-
rowCount: dataRows.length,
|
|
273
|
-
estimatedWorkouts: estimatedKeys.size,
|
|
274
|
-
importable: dataRows.length > 0 && headers.length > 0,
|
|
275
|
-
warnings,
|
|
276
|
-
rows,
|
|
277
|
-
};
|
|
985
|
+
payload.workout = workout;
|
|
986
|
+
payload.externalRef = correctedExternalRef(input.record, input.mappingRevision);
|
|
987
|
+
return payload;
|
|
278
988
|
}
|
|
279
|
-
function
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}
|
|
287
|
-
if (sets.some((set) => typeof set.bodyweightKg === 'number')) {
|
|
288
|
-
return 'bodyweight';
|
|
289
|
-
}
|
|
290
|
-
if (sets.some((set) => typeof set.distanceMeters === 'number') && sets.some((set) => typeof set.durationSeconds === 'number')) {
|
|
291
|
-
return 'cardio';
|
|
292
|
-
}
|
|
293
|
-
if (sets.every((set) => typeof set.durationSeconds === 'number' && set.reps === undefined && set.weight === undefined)) {
|
|
294
|
-
return 'duration';
|
|
295
|
-
}
|
|
296
|
-
return 'weight_reps';
|
|
297
|
-
}
|
|
298
|
-
function buildWorkoutSessionsFromCsv(headers, rows) {
|
|
299
|
-
const workoutNameIndex = findHeaderIndex(headers, ['workout name', 'workout', 'routine name', 'routine', 'name']);
|
|
300
|
-
const dateIndex = findHeaderIndex(headers, ['date', 'workout date', 'session date', 'day']);
|
|
301
|
-
const startTimeIndex = findHeaderIndex(headers, ['start time', 'start', 'started at', 'started']);
|
|
302
|
-
const endTimeIndex = findHeaderIndex(headers, ['end time', 'end', 'ended at', 'ended']);
|
|
303
|
-
const durationIndex = findHeaderIndex(headers, ['duration minutes', 'duration min', 'duration']);
|
|
304
|
-
const distanceIndex = findHeaderIndex(headers, ['distance', 'distance km']);
|
|
305
|
-
const workoutNoteIndex = findHeaderIndex(headers, ['note', 'notes', 'workout note', 'session note']);
|
|
306
|
-
const exerciseNameIndex = findHeaderIndex(headers, ['exercise name', 'exercise', 'movement']);
|
|
307
|
-
const exerciseNoteIndex = findHeaderIndex(headers, ['exercise note', 'movement note']);
|
|
308
|
-
const setOrderIndex = findHeaderIndex(headers, ['set order', 'set number', 'set']);
|
|
309
|
-
const repsIndex = findHeaderIndex(headers, ['reps', 'rep']);
|
|
310
|
-
const weightIndex = findHeaderIndex(headers, ['weight', 'load']);
|
|
311
|
-
const weightUnitIndex = findHeaderIndex(headers, ['weight unit', 'load unit', 'unit']);
|
|
312
|
-
const setTypeIndex = findHeaderIndex(headers, ['set type', 'type']);
|
|
313
|
-
const groupIndex = findHeaderIndex(headers, ['group', 'group id', 'superset', 'circuit']);
|
|
314
|
-
const rpeIndex = findHeaderIndex(headers, ['rpe']);
|
|
315
|
-
const durationSecondsIndex = findHeaderIndex(headers, ['duration seconds', 'seconds', 'time']);
|
|
316
|
-
const setDistanceIndex = findHeaderIndex(headers, ['set distance', 'distance meters', 'distance']);
|
|
317
|
-
const bodyweightIndex = findHeaderIndex(headers, ['bodyweight', 'body weight']);
|
|
318
|
-
const assistanceIndex = findHeaderIndex(headers, ['assistance', 'assisted weight']);
|
|
319
|
-
const addedWeightIndex = findHeaderIndex(headers, ['added weight', 'extra weight']);
|
|
320
|
-
const warmupIndex = findHeaderIndex(headers, ['warmup', 'warm up']);
|
|
321
|
-
const dropsetIndex = findHeaderIndex(headers, ['dropset', 'drop set']);
|
|
322
|
-
const failureIndex = findHeaderIndex(headers, ['failure']);
|
|
323
|
-
const sessions = new Map();
|
|
324
|
-
for (let rowIndex = 1; rowIndex < rows.length; rowIndex += 1) {
|
|
325
|
-
const row = rows[rowIndex];
|
|
326
|
-
if (!row || row.every((cell) => cell.trim().length === 0)) {
|
|
327
|
-
continue;
|
|
328
|
-
}
|
|
329
|
-
const workoutName = valueAt(row, workoutNameIndex) ?? 'Workout';
|
|
330
|
-
const occurredAt = normalizeTimestamp(valueAt(row, dateIndex), valueAt(row, startTimeIndex));
|
|
331
|
-
const key = `${occurredAt ?? `row-${rowIndex + 1}`}::${workoutName}`;
|
|
332
|
-
let session = sessions.get(key);
|
|
333
|
-
if (!session) {
|
|
334
|
-
session = {
|
|
335
|
-
key,
|
|
336
|
-
title: workoutName,
|
|
337
|
-
occurredAt,
|
|
338
|
-
startedAt: occurredAt,
|
|
339
|
-
endedAt: normalizeTimestamp(valueAt(row, dateIndex), valueAt(row, endTimeIndex)),
|
|
340
|
-
durationMinutes: parseDurationMinutes(valueAt(row, durationIndex)),
|
|
341
|
-
distanceKm: parseDistanceKm(valueAt(row, distanceIndex)),
|
|
342
|
-
note: valueAt(row, workoutNoteIndex),
|
|
343
|
-
rawRows: [],
|
|
344
|
-
exercises: [],
|
|
345
|
-
};
|
|
346
|
-
sessions.set(key, session);
|
|
347
|
-
}
|
|
348
|
-
session.rawRows.push(rowIndex + 1);
|
|
349
|
-
session.note = session.note ?? valueAt(row, workoutNoteIndex);
|
|
350
|
-
session.durationMinutes = session.durationMinutes ?? parseDurationMinutes(valueAt(row, durationIndex));
|
|
351
|
-
session.distanceKm = session.distanceKm ?? parseDistanceKm(valueAt(row, distanceIndex));
|
|
352
|
-
session.endedAt = session.endedAt ?? normalizeTimestamp(valueAt(row, dateIndex), valueAt(row, endTimeIndex));
|
|
353
|
-
const exerciseName = valueAt(row, exerciseNameIndex);
|
|
354
|
-
if (!exerciseName) {
|
|
355
|
-
continue;
|
|
356
|
-
}
|
|
357
|
-
let exercise = session.exercises.find((entry) => entry.name === exerciseName);
|
|
358
|
-
if (!exercise) {
|
|
359
|
-
exercise = {
|
|
360
|
-
name: exerciseName,
|
|
361
|
-
order: session.exercises.length + 1,
|
|
362
|
-
groupId: valueAt(row, groupIndex),
|
|
363
|
-
note: valueAt(row, exerciseNoteIndex),
|
|
364
|
-
sets: [],
|
|
365
|
-
};
|
|
366
|
-
session.exercises.push(exercise);
|
|
367
|
-
}
|
|
368
|
-
const parsedWeight = parseWeight(valueAt(row, weightIndex));
|
|
369
|
-
const explicitWeightUnit = normalizeLoadUnit(valueAt(row, weightUnitIndex));
|
|
370
|
-
const type = normalizeSetType(valueAt(row, setTypeIndex))
|
|
371
|
-
?? (parseBooleanLike(valueAt(row, warmupIndex))
|
|
372
|
-
? 'warmup'
|
|
373
|
-
: parseBooleanLike(valueAt(row, dropsetIndex))
|
|
374
|
-
? 'dropset'
|
|
375
|
-
: parseBooleanLike(valueAt(row, failureIndex))
|
|
376
|
-
? 'failure'
|
|
377
|
-
: 'normal');
|
|
378
|
-
const set = compactObject({
|
|
379
|
-
order: parseOptionalInteger(valueAt(row, setOrderIndex)) ?? exercise.sets.length + 1,
|
|
380
|
-
type,
|
|
381
|
-
reps: parseOptionalInteger(valueAt(row, repsIndex)),
|
|
382
|
-
weight: parsedWeight.weight,
|
|
383
|
-
weightUnit: explicitWeightUnit ?? parsedWeight.unit,
|
|
384
|
-
durationSeconds: parseDurationSeconds(valueAt(row, durationSecondsIndex)),
|
|
385
|
-
distanceMeters: parseDistanceMeters(valueAt(row, setDistanceIndex)),
|
|
386
|
-
rpe: parseOptionalNumber(valueAt(row, rpeIndex)),
|
|
387
|
-
bodyweightKg: parseOptionalNumber(valueAt(row, bodyweightIndex)),
|
|
388
|
-
assistanceKg: parseOptionalNumber(valueAt(row, assistanceIndex)),
|
|
389
|
-
addedWeightKg: parseOptionalNumber(valueAt(row, addedWeightIndex)),
|
|
390
|
-
});
|
|
391
|
-
if (set.reps === undefined
|
|
392
|
-
&& set.weight === undefined
|
|
393
|
-
&& set.durationSeconds === undefined
|
|
394
|
-
&& set.distanceMeters === undefined
|
|
395
|
-
&& set.rpe === undefined
|
|
396
|
-
&& set.bodyweightKg === undefined
|
|
397
|
-
&& set.assistanceKg === undefined
|
|
398
|
-
&& set.addedWeightKg === undefined) {
|
|
399
|
-
continue;
|
|
400
|
-
}
|
|
401
|
-
exercise.sets.push(set);
|
|
402
|
-
exercise.groupId = exercise.groupId ?? valueAt(row, groupIndex);
|
|
403
|
-
exercise.note = exercise.note ?? valueAt(row, exerciseNoteIndex);
|
|
404
|
-
}
|
|
405
|
-
return [...sessions.values()].map((session) => ({
|
|
406
|
-
...session,
|
|
407
|
-
durationMinutes: session.durationMinutes
|
|
408
|
-
?? (session.startedAt && session.endedAt
|
|
409
|
-
? Math.max(1, Math.round((new Date(session.endedAt).getTime() - new Date(session.startedAt).getTime()) / 60000))
|
|
410
|
-
: undefined),
|
|
411
|
-
exercises: session.exercises
|
|
412
|
-
.map((exercise) => ({
|
|
413
|
-
...exercise,
|
|
414
|
-
mode: resolveExerciseMode(exercise),
|
|
415
|
-
unitOverride: exercise.sets.find((set) => set.weightUnit)?.weightUnit,
|
|
416
|
-
sets: exercise.sets.slice().sort((left, right) => left.order - right.order),
|
|
417
|
-
}))
|
|
418
|
-
.filter((exercise) => exercise.sets.length > 0),
|
|
419
|
-
}));
|
|
989
|
+
function mapBatchError(error) {
|
|
990
|
+
return toVaultCliError(error, {
|
|
991
|
+
EVENT_BATCH_INVALID: { code: 'contract_invalid' },
|
|
992
|
+
EVENT_EXPECTED_LATEST_MISMATCH: { code: 'conflict' },
|
|
993
|
+
EVENT_SOURCE_REVISION_CONFLICT: { code: 'conflict' },
|
|
994
|
+
EVENT_SOURCE_REVISION_UNORDERED: { code: 'conflict' },
|
|
995
|
+
EVENT_KIND_MISMATCH: { code: 'conflict' },
|
|
996
|
+
});
|
|
420
997
|
}
|
|
421
998
|
export async function inspectWorkoutCsvImport(input) {
|
|
422
|
-
const
|
|
423
|
-
const inspection = await inspectWorkoutCsv({
|
|
424
|
-
file: input.file,
|
|
425
|
-
source: input.source,
|
|
426
|
-
delimiter: input.delimiter,
|
|
427
|
-
text,
|
|
428
|
-
});
|
|
999
|
+
const { plan } = await loadWorkoutCsvPlan(input);
|
|
429
1000
|
return {
|
|
430
1001
|
vault: input.vault,
|
|
431
1002
|
sourceFile: input.file,
|
|
432
|
-
source:
|
|
433
|
-
detectedSource:
|
|
434
|
-
delimiter:
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
1003
|
+
source: plan.source,
|
|
1004
|
+
detectedSource: plan.detectedSource,
|
|
1005
|
+
delimiter: plan.delimiter,
|
|
1006
|
+
timeZone: plan.timeZone,
|
|
1007
|
+
weightUnit: plan.weightUnit,
|
|
1008
|
+
distanceUnit: plan.distanceUnit,
|
|
1009
|
+
rowCount: plan.rowCount,
|
|
1010
|
+
repairedRowCount: plan.repairedRowCount,
|
|
1011
|
+
ignoredRowCount: plan.ignoredRowCount,
|
|
1012
|
+
skippedRowCount: plan.skippedRowCount,
|
|
1013
|
+
skipReasons: plan.skipReasons,
|
|
1014
|
+
estimatedWorkouts: plan.estimatedWorkouts,
|
|
1015
|
+
requiresWeightUnit: plan.requiresWeightUnit,
|
|
1016
|
+
requiresDistanceUnit: plan.requiresDistanceUnit,
|
|
1017
|
+
importable: plan.importable,
|
|
1018
|
+
warnings: plan.warnings,
|
|
440
1019
|
};
|
|
441
1020
|
}
|
|
442
1021
|
export async function importWorkoutCsv(input) {
|
|
443
|
-
const
|
|
444
|
-
const
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
1022
|
+
const loaded = await loadWorkoutCsvPlan(input);
|
|
1023
|
+
const { text, core, importers } = loaded;
|
|
1024
|
+
let { plan } = loaded;
|
|
1025
|
+
if (input.correctUnits && input.storeRawOnly) {
|
|
1026
|
+
throw new VaultCliError('invalid_option', '--correct-units cannot be combined with --store-raw-only.');
|
|
1027
|
+
}
|
|
1028
|
+
if (input.correctUnits && !input.weightUnit && !input.distanceUnit) {
|
|
1029
|
+
throw new VaultCliError('invalid_option', '--correct-units requires --weight-unit and/or --distance-unit.');
|
|
1030
|
+
}
|
|
1031
|
+
if (input.storeRawOnly) {
|
|
1032
|
+
assertSupportedWorkoutSource(plan);
|
|
1033
|
+
const { generateUlid } = await loadWorkoutImportStateRuntime();
|
|
1034
|
+
const batch = prepareRawWorkoutBatch({
|
|
1035
|
+
core,
|
|
1036
|
+
file: input.file,
|
|
1037
|
+
text,
|
|
1038
|
+
plan,
|
|
1039
|
+
importId: `${ID_PREFIXES.transform}_${generateUlid()}`,
|
|
1040
|
+
importedAt: new Date().toISOString(),
|
|
1041
|
+
});
|
|
1042
|
+
await storeRawWorkoutBatch({
|
|
1043
|
+
core,
|
|
1044
|
+
vault: input.vault,
|
|
1045
|
+
sourceFile: input.file,
|
|
1046
|
+
text,
|
|
1047
|
+
batch,
|
|
1048
|
+
});
|
|
1049
|
+
return {
|
|
1050
|
+
vault: input.vault,
|
|
1051
|
+
sourceFile: input.file,
|
|
1052
|
+
rawFile: batch.rawFile,
|
|
1053
|
+
manifestFile: batch.manifestFile,
|
|
1054
|
+
rawStored: true,
|
|
1055
|
+
source: plan.source,
|
|
1056
|
+
timeZone: plan.timeZone,
|
|
1057
|
+
weightUnit: plan.weightUnit,
|
|
1058
|
+
distanceUnit: plan.distanceUnit,
|
|
1059
|
+
parsedWorkoutCount: plan.sessions.length,
|
|
1060
|
+
receivedCount: 0,
|
|
1061
|
+
importedCount: 0,
|
|
1062
|
+
createdCount: 0,
|
|
1063
|
+
skippedExistingCount: 0,
|
|
1064
|
+
supersededCount: 0,
|
|
1065
|
+
repairedRowCount: plan.repairedRowCount,
|
|
1066
|
+
ignoredRowCount: plan.ignoredRowCount,
|
|
1067
|
+
skippedRowCount: plan.skippedRowCount,
|
|
1068
|
+
rawOnly: true,
|
|
1069
|
+
lookupIds: [],
|
|
1070
|
+
lookupIdsTruncated: false,
|
|
1071
|
+
ledgerFiles: [],
|
|
1072
|
+
ledgerFilesTruncated: false,
|
|
1073
|
+
warnings: plan.warnings,
|
|
1074
|
+
};
|
|
1075
|
+
}
|
|
1076
|
+
const existingEvidence = await resolveExistingWorkoutEvidence({
|
|
1077
|
+
core,
|
|
1078
|
+
importers,
|
|
1079
|
+
vault: input.vault,
|
|
448
1080
|
text,
|
|
1081
|
+
plan,
|
|
449
1082
|
});
|
|
450
|
-
const
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
const importId = `${ID_PREFIXES.transform}_${generateUlid()}`;
|
|
456
|
-
const importedAt = new Date().toISOString();
|
|
457
|
-
const safeSource = sanitizePathSegment(inspection.source, DEFAULT_SOURCE);
|
|
458
|
-
const rawDirectory = resolveRawAssetDirectory({
|
|
459
|
-
owner: {
|
|
460
|
-
kind: 'workout_batch',
|
|
461
|
-
id: importId,
|
|
462
|
-
partition: safeSource,
|
|
463
|
-
},
|
|
464
|
-
occurredAt: importedAt,
|
|
465
|
-
});
|
|
466
|
-
const safeFileName = sanitizeFileName(path.basename(input.file));
|
|
467
|
-
const rawFile = path.posix.join(rawDirectory, safeFileName);
|
|
468
|
-
const manifestFile = path.posix.join(rawDirectory, 'manifest.json');
|
|
469
|
-
const sessions = buildWorkoutSessionsFromCsv(inspection.headers, inspection.rows);
|
|
470
|
-
const warnings = [...inspection.warnings];
|
|
471
|
-
if (sessions.length === 0 && !input.storeRawOnly) {
|
|
472
|
-
warnings.push('No structured workouts were detected; only the raw CSV was stored.');
|
|
1083
|
+
const sourceDialectCorrection = plan.detectedSource !== null
|
|
1084
|
+
&& existingEvidence.records !== undefined
|
|
1085
|
+
&& existingEvidence.canonicalSourceMatches === false;
|
|
1086
|
+
if (!sourceDialectCorrection) {
|
|
1087
|
+
assertStructuredPlanImportable(plan);
|
|
473
1088
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
1089
|
+
if (existingEvidence.records
|
|
1090
|
+
&& !existingEvidence.currentUnitsMatch
|
|
1091
|
+
&& !existingEvidence.currentCorrectedUnitsMatch
|
|
1092
|
+
&& !input.correctUnits
|
|
1093
|
+
&& !sourceDialectCorrection) {
|
|
1094
|
+
throw new VaultCliError('conflict', 'This exact workout CSV does not match the selected units. Confirm the prior provider and rerun with --correct-units before any provider correction.');
|
|
1095
|
+
}
|
|
1096
|
+
if (((input.correctUnits
|
|
1097
|
+
&& (input.weightUnit === undefined || existingEvidence.currentWeightValuesMatch)
|
|
1098
|
+
&& (input.distanceUnit === undefined || existingEvidence.currentDistanceValuesMatch))
|
|
1099
|
+
|| ((existingEvidence.currentMappingReplay || existingEvidence.currentCorrectedUnitsMatch)
|
|
1100
|
+
&& !input.correctUnits))
|
|
1101
|
+
&& !sourceDialectCorrection) {
|
|
1102
|
+
return {
|
|
1103
|
+
vault: input.vault,
|
|
1104
|
+
sourceFile: input.file,
|
|
1105
|
+
rawFile: null,
|
|
1106
|
+
manifestFile: null,
|
|
1107
|
+
rawStored: false,
|
|
1108
|
+
source: plan.source,
|
|
1109
|
+
timeZone: plan.timeZone,
|
|
1110
|
+
weightUnit: plan.weightUnit,
|
|
1111
|
+
distanceUnit: plan.distanceUnit,
|
|
1112
|
+
parsedWorkoutCount: plan.sessions.length,
|
|
1113
|
+
receivedCount: plan.sessions.length,
|
|
1114
|
+
importedCount: 0,
|
|
1115
|
+
createdCount: 0,
|
|
1116
|
+
skippedExistingCount: plan.sessions.length,
|
|
1117
|
+
supersededCount: 0,
|
|
1118
|
+
repairedRowCount: plan.repairedRowCount,
|
|
1119
|
+
ignoredRowCount: plan.ignoredRowCount,
|
|
1120
|
+
skippedRowCount: plan.skippedRowCount,
|
|
1121
|
+
rawOnly: false,
|
|
1122
|
+
lookupIds: [],
|
|
1123
|
+
lookupIdsTruncated: false,
|
|
1124
|
+
ledgerFiles: [],
|
|
1125
|
+
ledgerFilesTruncated: false,
|
|
1126
|
+
warnings: plan.warnings,
|
|
1127
|
+
};
|
|
1128
|
+
}
|
|
1129
|
+
const requiresEvidenceCorrection = input.correctUnits || sourceDialectCorrection;
|
|
1130
|
+
if (requiresEvidenceCorrection && !existingEvidence.rawFile) {
|
|
1131
|
+
throw new VaultCliError('invalid_option', 'Workout correction requires an exact previously imported workout CSV; nothing was imported.');
|
|
1132
|
+
}
|
|
1133
|
+
let existingExternalRefs = existingEvidence.externalRefs;
|
|
1134
|
+
let originalCorrectionPlan;
|
|
1135
|
+
let correctedRecords;
|
|
1136
|
+
let unitOwnershipPlans = [];
|
|
1137
|
+
if (requiresEvidenceCorrection) {
|
|
1138
|
+
if (!existingEvidence.originalTimeZone || !existingEvidence.records || !existingEvidence.matches) {
|
|
1139
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence does not prove its original timezone; nothing was imported.');
|
|
1140
|
+
}
|
|
1141
|
+
if (input.correctUnits && sourceDialectCorrection) {
|
|
1142
|
+
throw new VaultCliError('invalid_option', 'Correct the workout provider first by rerunning this exact CSV with the confirmed --source and without --correct-units; prior manifest units will be reused. Then run a separate --correct-units command. Nothing was imported.');
|
|
1143
|
+
}
|
|
1144
|
+
const originalSource = existingEvidence.originalSource
|
|
1145
|
+
?? (sourceDialectCorrection ? undefined : plan.source);
|
|
1146
|
+
if (!originalSource) {
|
|
1147
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence does not prove its original provider; nothing was imported.');
|
|
1148
|
+
}
|
|
1149
|
+
originalCorrectionPlan = importers.planWorkoutCsvImport({
|
|
1150
|
+
text,
|
|
1151
|
+
timeZone: existingEvidence.originalTimeZone,
|
|
1152
|
+
source: originalSource,
|
|
1153
|
+
delimiter: existingEvidence.originalDelimiter ?? input.delimiter,
|
|
1154
|
+
weightUnit: existingEvidence.originalWeightUnit ?? undefined,
|
|
1155
|
+
distanceUnit: existingEvidence.originalDistanceUnit ?? undefined,
|
|
1156
|
+
});
|
|
1157
|
+
if (input.correctUnits) {
|
|
1158
|
+
unitOwnershipPlans = buildUnitOwnershipPlans({
|
|
1159
|
+
importers,
|
|
1160
|
+
text,
|
|
1161
|
+
timeZone: existingEvidence.originalTimeZone,
|
|
1162
|
+
source: originalSource,
|
|
1163
|
+
delimiter: existingEvidence.originalDelimiter ?? input.delimiter,
|
|
1164
|
+
});
|
|
1165
|
+
}
|
|
1166
|
+
const correctionPlan = importers.planWorkoutCsvImport({
|
|
1167
|
+
text,
|
|
1168
|
+
timeZone: existingEvidence.originalTimeZone,
|
|
1169
|
+
source: plan.source,
|
|
1170
|
+
delimiter: existingEvidence.originalDelimiter ?? input.delimiter,
|
|
1171
|
+
weightUnit: sourceDialectCorrection
|
|
1172
|
+
? existingEvidence.originalWeightUnit ?? undefined
|
|
1173
|
+
: input.weightUnit,
|
|
1174
|
+
distanceUnit: sourceDialectCorrection
|
|
1175
|
+
? existingEvidence.originalDistanceUnit ?? undefined
|
|
1176
|
+
: input.distanceUnit,
|
|
1177
|
+
});
|
|
1178
|
+
assertStructuredPlanImportable(correctionPlan);
|
|
1179
|
+
const correctedMapping = mappingFromAttachedEvents(correctionPlan, existingEvidence.matches);
|
|
1180
|
+
if (!correctedMapping) {
|
|
1181
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence has an ambiguous correction mapping; nothing was imported.');
|
|
1182
|
+
}
|
|
1183
|
+
plan = correctionPlan;
|
|
1184
|
+
existingExternalRefs = correctedMapping.externalRefs;
|
|
1185
|
+
correctedRecords = correctedMapping.records;
|
|
1186
|
+
}
|
|
1187
|
+
const priorRevisionTimestamp = existingEvidence.latestSourceRevision
|
|
1188
|
+
? Date.parse(existingEvidence.latestSourceRevision)
|
|
1189
|
+
: Number.NaN;
|
|
1190
|
+
const mappingRevision = requiresEvidenceCorrection
|
|
1191
|
+
? new Date(Math.max(Date.now(), Date.parse(WORKOUT_CSV_MAPPING_REVISION) + 1, Number.isFinite(priorRevisionTimestamp) ? priorRevisionTimestamp + 1 : 0)).toISOString()
|
|
1192
|
+
: WORKOUT_CSV_MAPPING_REVISION;
|
|
1193
|
+
const { generateUlid } = await loadWorkoutImportStateRuntime();
|
|
1194
|
+
const batch = prepareRawWorkoutBatch({
|
|
1195
|
+
core,
|
|
1196
|
+
file: input.file,
|
|
1197
|
+
text,
|
|
1198
|
+
plan,
|
|
1199
|
+
importId: `${ID_PREFIXES.transform}_${generateUlid()}`,
|
|
1200
|
+
importedAt: new Date().toISOString(),
|
|
525
1201
|
});
|
|
526
|
-
const
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
1202
|
+
const rawFile = existingEvidence.rawFile ?? batch.rawFile;
|
|
1203
|
+
let existingPayloads;
|
|
1204
|
+
let expectedLatest;
|
|
1205
|
+
if (requiresEvidenceCorrection) {
|
|
1206
|
+
const records = correctedRecords;
|
|
1207
|
+
const originalPlan = originalCorrectionPlan;
|
|
1208
|
+
const originalMapping = mappingFromAttachedEvents(originalPlan, existingEvidence.matches);
|
|
1209
|
+
if (!originalMapping) {
|
|
1210
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence cannot prove its original session mapping; nothing was imported.');
|
|
1211
|
+
}
|
|
1212
|
+
existingPayloads = records.map((record, index) => {
|
|
1213
|
+
if (record.lifecycle?.state === 'deleted')
|
|
1214
|
+
return null;
|
|
1215
|
+
if (originalMapping.records[index]?.id !== record.id) {
|
|
1216
|
+
throw new VaultCliError('conflict', 'Exact prior workout evidence changes session ordering across correction dialects; nothing was imported.');
|
|
533
1217
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
sessionNote: session.note,
|
|
541
|
-
exercises: session.exercises.map((exercise) => ({
|
|
542
|
-
name: exercise.name,
|
|
543
|
-
order: exercise.order,
|
|
544
|
-
groupId: exercise.groupId,
|
|
545
|
-
mode: exercise.mode,
|
|
546
|
-
unitOverride: exercise.unitOverride,
|
|
547
|
-
note: exercise.note,
|
|
548
|
-
sets: exercise.sets,
|
|
549
|
-
})),
|
|
550
|
-
};
|
|
551
|
-
const draft = buildStructuredWorkoutActivitySessionDraft({
|
|
552
|
-
payload: compactObject({
|
|
553
|
-
title: session.title,
|
|
554
|
-
occurredAt: session.occurredAt,
|
|
555
|
-
source: 'import',
|
|
556
|
-
activityType: 'strength-training',
|
|
557
|
-
durationMinutes: session.durationMinutes,
|
|
558
|
-
distanceKm: session.distanceKm,
|
|
559
|
-
note: session.note,
|
|
560
|
-
rawRefs: [rawFile],
|
|
561
|
-
externalRef: {
|
|
562
|
-
system: safeSource,
|
|
563
|
-
resourceType: 'workout-session',
|
|
564
|
-
resourceId: session.key.slice(0, 200),
|
|
565
|
-
},
|
|
566
|
-
workout,
|
|
567
|
-
}),
|
|
568
|
-
source: 'import',
|
|
569
|
-
});
|
|
570
|
-
try {
|
|
571
|
-
const result = await core.addActivitySession({
|
|
572
|
-
vaultRoot: input.vault,
|
|
573
|
-
draft,
|
|
1218
|
+
if (sourceDialectCorrection) {
|
|
1219
|
+
return buildDialectCorrectionPayload({
|
|
1220
|
+
record,
|
|
1221
|
+
originalSession: originalPlan.sessions[index],
|
|
1222
|
+
correctedSession: plan.sessions[index],
|
|
1223
|
+
mappingRevision,
|
|
574
1224
|
});
|
|
575
|
-
lookupIds.push(result.eventId);
|
|
576
|
-
ledgerFiles.add(result.ledgerFile);
|
|
577
|
-
}
|
|
578
|
-
catch (error) {
|
|
579
|
-
throw toEventUpsertVaultCliError(error);
|
|
580
1225
|
}
|
|
1226
|
+
return buildUnitCorrectionPayload({
|
|
1227
|
+
record,
|
|
1228
|
+
session: plan.sessions[index],
|
|
1229
|
+
ownershipSessions: [
|
|
1230
|
+
originalPlan.sessions[index],
|
|
1231
|
+
...unitOwnershipPlans.map((ownershipPlan) => ownershipPlan.sessions[index]),
|
|
1232
|
+
],
|
|
1233
|
+
mappingRevision,
|
|
1234
|
+
correctWeight: input.weightUnit !== undefined,
|
|
1235
|
+
correctDistance: input.distanceUnit !== undefined,
|
|
1236
|
+
});
|
|
1237
|
+
});
|
|
1238
|
+
expectedLatest = records.map(expectedLatestForRecord);
|
|
1239
|
+
}
|
|
1240
|
+
else if (existingEvidence.records) {
|
|
1241
|
+
existingPayloads = existingEvidence.records.map((record) => record.lifecycle?.state === 'deleted'
|
|
1242
|
+
? null
|
|
1243
|
+
: eventRecordPayloadWithRevision(record, mappingRevision));
|
|
1244
|
+
expectedLatest = existingEvidence.records.map(expectedLatestForRecord);
|
|
1245
|
+
}
|
|
1246
|
+
else {
|
|
1247
|
+
const priorEvidence = await loadPriorWorkoutSnapshotEvidence({
|
|
1248
|
+
core,
|
|
1249
|
+
vault: input.vault,
|
|
1250
|
+
});
|
|
1251
|
+
const priorMatches = resolvePriorSnapshotMatches({
|
|
1252
|
+
importers,
|
|
1253
|
+
plan,
|
|
1254
|
+
text,
|
|
1255
|
+
evidence: priorEvidence,
|
|
1256
|
+
});
|
|
1257
|
+
const priorRecords = priorMatches.map((match) => match?.latest.lifecycle?.state === 'deleted' ? null : match?.latest);
|
|
1258
|
+
if (priorRecords.some((record) => record !== undefined)) {
|
|
1259
|
+
existingPayloads = priorRecords.map((record) => record === null ? null : record ? eventRecordToImportPayload(record) : undefined);
|
|
1260
|
+
expectedLatest = priorRecords.map((record) => record ? expectedLatestForRecord(record) : undefined);
|
|
581
1261
|
}
|
|
582
1262
|
}
|
|
1263
|
+
const { decisions, suppressedDeletedCount } = buildWorkoutEventDecisions(plan, rawFile, existingExternalRefs, mappingRevision, existingPayloads, expectedLatest);
|
|
1264
|
+
if (decisions.length === 0) {
|
|
1265
|
+
return {
|
|
1266
|
+
vault: input.vault,
|
|
1267
|
+
sourceFile: input.file,
|
|
1268
|
+
rawFile: null,
|
|
1269
|
+
manifestFile: null,
|
|
1270
|
+
rawStored: false,
|
|
1271
|
+
source: plan.source,
|
|
1272
|
+
timeZone: plan.timeZone,
|
|
1273
|
+
weightUnit: plan.weightUnit,
|
|
1274
|
+
distanceUnit: plan.distanceUnit,
|
|
1275
|
+
parsedWorkoutCount: plan.sessions.length,
|
|
1276
|
+
receivedCount: suppressedDeletedCount,
|
|
1277
|
+
importedCount: 0,
|
|
1278
|
+
createdCount: 0,
|
|
1279
|
+
skippedExistingCount: suppressedDeletedCount,
|
|
1280
|
+
supersededCount: 0,
|
|
1281
|
+
repairedRowCount: plan.repairedRowCount,
|
|
1282
|
+
ignoredRowCount: plan.ignoredRowCount,
|
|
1283
|
+
skippedRowCount: plan.skippedRowCount,
|
|
1284
|
+
rawOnly: false,
|
|
1285
|
+
lookupIds: [],
|
|
1286
|
+
lookupIdsTruncated: false,
|
|
1287
|
+
ledgerFiles: [],
|
|
1288
|
+
ledgerFilesTruncated: false,
|
|
1289
|
+
warnings: plan.warnings,
|
|
1290
|
+
};
|
|
1291
|
+
}
|
|
1292
|
+
let preview;
|
|
1293
|
+
try {
|
|
1294
|
+
preview = await core.importEventBatch({
|
|
1295
|
+
vaultRoot: input.vault,
|
|
1296
|
+
decisions,
|
|
1297
|
+
apply: false,
|
|
1298
|
+
});
|
|
1299
|
+
}
|
|
1300
|
+
catch (error) {
|
|
1301
|
+
throw mapBatchError(error);
|
|
1302
|
+
}
|
|
1303
|
+
const previewChangedCount = preview.createdCount + preview.supersededCount;
|
|
1304
|
+
if (previewChangedCount === 0) {
|
|
1305
|
+
const ledgers = capList(preview.eventShardPaths);
|
|
1306
|
+
return {
|
|
1307
|
+
vault: input.vault,
|
|
1308
|
+
sourceFile: input.file,
|
|
1309
|
+
rawFile: null,
|
|
1310
|
+
manifestFile: null,
|
|
1311
|
+
rawStored: false,
|
|
1312
|
+
source: plan.source,
|
|
1313
|
+
timeZone: plan.timeZone,
|
|
1314
|
+
weightUnit: plan.weightUnit,
|
|
1315
|
+
distanceUnit: plan.distanceUnit,
|
|
1316
|
+
parsedWorkoutCount: plan.sessions.length,
|
|
1317
|
+
receivedCount: preview.receivedCount + suppressedDeletedCount,
|
|
1318
|
+
importedCount: 0,
|
|
1319
|
+
createdCount: 0,
|
|
1320
|
+
skippedExistingCount: preview.skippedExistingCount + suppressedDeletedCount,
|
|
1321
|
+
supersededCount: 0,
|
|
1322
|
+
repairedRowCount: plan.repairedRowCount,
|
|
1323
|
+
ignoredRowCount: plan.ignoredRowCount,
|
|
1324
|
+
skippedRowCount: plan.skippedRowCount,
|
|
1325
|
+
rawOnly: false,
|
|
1326
|
+
lookupIds: [],
|
|
1327
|
+
lookupIdsTruncated: false,
|
|
1328
|
+
ledgerFiles: ledgers.values,
|
|
1329
|
+
ledgerFilesTruncated: ledgers.truncated,
|
|
1330
|
+
warnings: plan.warnings,
|
|
1331
|
+
};
|
|
1332
|
+
}
|
|
1333
|
+
const rawStored = existingEvidence.rawFile === undefined;
|
|
1334
|
+
const manifestFile = rawStored ? batch.manifestFile : null;
|
|
1335
|
+
if (rawStored) {
|
|
1336
|
+
await storeRawWorkoutBatch({
|
|
1337
|
+
core,
|
|
1338
|
+
vault: input.vault,
|
|
1339
|
+
sourceFile: input.file,
|
|
1340
|
+
text,
|
|
1341
|
+
batch,
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
let applied;
|
|
1345
|
+
try {
|
|
1346
|
+
applied = await core.importEventBatch({
|
|
1347
|
+
vaultRoot: input.vault,
|
|
1348
|
+
decisions,
|
|
1349
|
+
apply: true,
|
|
1350
|
+
});
|
|
1351
|
+
}
|
|
1352
|
+
catch (error) {
|
|
1353
|
+
throw mapBatchError(error);
|
|
1354
|
+
}
|
|
1355
|
+
const lookupIds = capList(applied.eventIds);
|
|
1356
|
+
const ledgerFiles = capList(applied.eventShardPaths);
|
|
583
1357
|
return {
|
|
584
1358
|
vault: input.vault,
|
|
585
1359
|
sourceFile: input.file,
|
|
586
1360
|
rawFile,
|
|
587
1361
|
manifestFile,
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
1362
|
+
rawStored,
|
|
1363
|
+
source: plan.source,
|
|
1364
|
+
timeZone: plan.timeZone,
|
|
1365
|
+
weightUnit: plan.weightUnit,
|
|
1366
|
+
distanceUnit: plan.distanceUnit,
|
|
1367
|
+
parsedWorkoutCount: plan.sessions.length,
|
|
1368
|
+
receivedCount: applied.receivedCount + suppressedDeletedCount,
|
|
1369
|
+
importedCount: applied.createdCount + applied.supersededCount,
|
|
1370
|
+
createdCount: applied.createdCount,
|
|
1371
|
+
skippedExistingCount: applied.skippedExistingCount + suppressedDeletedCount,
|
|
1372
|
+
supersededCount: applied.supersededCount,
|
|
1373
|
+
repairedRowCount: plan.repairedRowCount,
|
|
1374
|
+
ignoredRowCount: plan.ignoredRowCount,
|
|
1375
|
+
skippedRowCount: plan.skippedRowCount,
|
|
1376
|
+
rawOnly: false,
|
|
1377
|
+
lookupIds: lookupIds.values,
|
|
1378
|
+
lookupIdsTruncated: lookupIds.truncated,
|
|
1379
|
+
ledgerFiles: ledgerFiles.values,
|
|
1380
|
+
ledgerFilesTruncated: ledgerFiles.truncated,
|
|
1381
|
+
warnings: plan.warnings,
|
|
594
1382
|
};
|
|
595
1383
|
}
|
|
596
1384
|
//# sourceMappingURL=workout-import.js.map
|