@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
|
@@ -3,23 +3,29 @@ import { createHash } from 'node:crypto';
|
|
|
3
3
|
import { mkdtemp, rm, stat } from 'node:fs/promises';
|
|
4
4
|
import { tmpdir } from 'node:os';
|
|
5
5
|
import path from 'node:path';
|
|
6
|
+
import { MURPH_MEMBER_WORKSPACE_PERMISSION_PROFILE, } from '@murphai/hosted-execution/assistant-permissions';
|
|
6
7
|
import { normalizeNullableString } from '@murphai/operator-config/text/shared';
|
|
7
8
|
import { VaultCliError } from '@murphai/operator-config/vault-cli-errors';
|
|
8
9
|
import { readHostedCanonicalWritePort, withHostedCanonicalWritePort, } from '@murphai/core';
|
|
10
|
+
import { renderAssistantResponseCardText, renderAssistantResponseCardTranscriptText, renderAssistantWorkoutResponseCardText, renderAssistantWorkoutResponseCardTranscriptText, } from '@murphai/operator-config/assistant-response-cards';
|
|
9
11
|
import { registerStopWarmCodexAppServer, registerWaitForWarmCodexBackgroundWork, } from './codex-lifecycle.js';
|
|
10
12
|
import { extractAssistantMessageFallback, extractCodexErrorInfo, extractCodexErrorMessage, extractCodexCompletedFinalAgentMessageTextFromNormalized, extractCodexProgressEventFromNormalized, isCodexCompletedFinalAgentMessageItemFromNormalized, isCodexCompletedUserMessageItemFromNormalized, extractCodexStatusEventFromStderrLine, extractCodexTraceUpdatesFromNormalized, extractCodexContextCompactionProgressTextFromNormalized, normalizeCodexEvent, normalizeStreamingText, } from './assistant-codex-events.js';
|
|
11
|
-
import { buildCodexTurnInterruptParams, buildCodexThreadResumeParams, buildCodexThreadStartParams, buildCodexTurnSteerParams, buildCodexTurnStartParams, mapCodexAppServerApprovalPolicy, mapCodexAppServerSandboxMode, resolveSupportedCodexAppServerApprovalPolicy, } from './assistant-codex/app-server-requests.js';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
13
|
+
import { buildCodexTurnInterruptParams, buildCodexThreadMetadataResumeParams, buildCodexThreadResumeParams, buildCodexThreadStartParams, buildCodexTurnSteerParams, buildCodexTurnStartParams, mapCodexAppServerApprovalPolicy, mapCodexAppServerSandboxMode, resolveSupportedCodexAppServerApprovalPolicy, } from './assistant-codex/app-server-requests.js';
|
|
14
|
+
import { createCodexActionDiagnosticsReducer, createCodexActionRuntimeIssueTracker, } from './assistant-codex/action-diagnostics.js';
|
|
15
|
+
import { createCodexWorkoutDeliveryContextTracker, } from './assistant-codex/workout-delivery-context.js';
|
|
16
|
+
import { MURPH_ASSISTANT_STYLE_TOOL, MURPH_GROUP_ROOM_MODEL_TOOL, MURPH_MEMBER_MEMORY_TOOL, } from './assistant-codex/dynamic-tool-catalog.js';
|
|
14
17
|
import { createAskGrokTurnState, } from './assistant-codex/ask-grok-tool.js';
|
|
18
|
+
import { createAnalyzeVideoTurnState, } from './assistant-codex/analyze-video-tool.js';
|
|
15
19
|
import { attachCodexAppServerProcessExitCleanup, attachCodexAbortListener, consumeCompleteLines, denyUnsupportedCodexServerRequest, rejectCodexServerRequest, readCodexRpcResponseId, readCodexRpcServerRequestId, rejectPendingCodexRpcRequests, resolvePendingCodexRpcRequest, signalCodexAppServerChild, stopCodexAppServerChild, stripUndefinedRpcParams, tryParseJsonLine, waitForCodexSpawn, withCodexRpcTimeout, writeCodexRpcMessage, } from './assistant-codex/app-server-rpc.js';
|
|
20
|
+
import { readCodexNonEmptyString, readCodexRecord, readCodexThreadTokenUsage, } from './assistant-codex/app-server-protocol.js';
|
|
16
21
|
import { resolveCodexChildEnv, withHostedCodexModelCatalogConfigOverride, } from './assistant-codex/config.js';
|
|
17
22
|
import { buildCodexProcessExitError, buildCodexStdinFailureFallback, buildCodexTurnFailedError, extractCodexThreadIdFromMessage, extractCodexThreadIdFromResult, extractCodexThreadPathFromResult, extractCodexTurnErrorMessage, extractCodexTurnIdFromMessage, extractCodexTurnIdFromResult, extractCodexTurnStatus, isFailedCodexTurnStatus, readNodeErrorCode, } from './assistant-codex/failures.js';
|
|
18
|
-
import { extractCodexSubagentUsageDrafts, isAssistantCodexTokenUsageEventType,
|
|
19
|
-
import {
|
|
20
|
-
import { normalizeAssistantResponseMediaList, } from './assistant/response-media.js';
|
|
23
|
+
import { buildCodexSubagentUsageDraft, extractCodexSubagentUsageDrafts, isAssistantCodexTokenUsageEventType, } from './assistant/providers/helpers.js';
|
|
24
|
+
import { materializeCodexImages, normalizeCodexAppServerImageDetails, } from './assistant-codex/images.js';
|
|
25
|
+
import { ASSISTANT_AUTHORED_RESPONSE_MEDIA_MAX_ITEMS, normalizeAssistantResponseMediaList, } from './assistant/response-media.js';
|
|
26
|
+
import { completeAssistantProviderStartCriticalPath, readAssistantProviderStartMonotonicTickMs, stampAssistantProviderStartCriticalPath, } from './assistant/provider-start-critical-path.js';
|
|
21
27
|
export { extractCodexTraceUpdates } from './assistant-codex-events.js';
|
|
22
|
-
export { listMurphDynamicToolNames, resolveMurphDynamicTools, } from './assistant-codex/dynamic-
|
|
28
|
+
export { listMurphDynamicToolNames, resolveMurphDynamicTools, } from './assistant-codex/dynamic-tool-catalog.js';
|
|
23
29
|
export { resolveCodexDisplayOptions } from './assistant-codex/config.js';
|
|
24
30
|
const CODEX_RPC_CLIENT_NAME = 'murph';
|
|
25
31
|
const CODEX_RPC_CLIENT_TITLE = 'Murph';
|
|
@@ -29,6 +35,12 @@ const CODEX_BACKGROUND_WORK_RPC_TIMEOUT_MS = 5_000;
|
|
|
29
35
|
const CODEX_BACKGROUND_WORK_WAIT_TIMEOUT_MS = 120_000;
|
|
30
36
|
const CODEX_BACKGROUND_WORK_POLL_INTERVAL_MS = 50;
|
|
31
37
|
const CODEX_RPC_STEER_TIMEOUT_MS = 15_000;
|
|
38
|
+
let murphDynamicToolRuntimePromise = null;
|
|
39
|
+
function loadMurphDynamicToolRuntime() {
|
|
40
|
+
murphDynamicToolRuntimePromise ??=
|
|
41
|
+
import('./assistant-codex/dynamic-tools.js');
|
|
42
|
+
return murphDynamicToolRuntimePromise;
|
|
43
|
+
}
|
|
32
44
|
const CODEX_APP_SERVER_INTERRUPT_CLEANUP_TIMEOUT_MS = 15_000;
|
|
33
45
|
const CODEX_MANAGED_ACCOUNT_LOGIN_TIMEOUT_MS = 10 * 60 * 1000;
|
|
34
46
|
const CODEX_MANAGED_ACCOUNT_CONFIG_OVERRIDES = [
|
|
@@ -40,10 +52,9 @@ const CODEX_APP_SERVER_TIMING_TRACE_SCHEMA = 'murph.assistant-codex-app-server-t
|
|
|
40
52
|
const CODEX_APP_SERVER_TIMING_TRACE_TYPE = 'assistant.codex.app_server_timing';
|
|
41
53
|
const CODEX_TRANSPORT_DIAGNOSTICS_TRACE_SCHEMA = 'murph.assistant-codex-transport-diagnostics.v1';
|
|
42
54
|
const CODEX_TRANSPORT_DIAGNOSTICS_TRACE_TYPE = 'assistant.codex.transport_diagnostics';
|
|
55
|
+
const CODEX_GENERATED_AUDIO_PHASE_TIMING_TRACE_SCHEMA = 'murph.assistant-codex-generated-audio-phase-timing.v1';
|
|
56
|
+
const CODEX_GENERATED_AUDIO_PHASE_TIMING_TRACE_TYPE = 'assistant.codex.generated_audio_phase_timing';
|
|
43
57
|
const CODEX_APP_SERVER_STARTUP_STDERR_MAX_LENGTH = 16_384;
|
|
44
|
-
// Bound on distinct subagent threads whose token usage is tracked per parent
|
|
45
|
-
// turn. Far above any sane spawn fan-out; threads past the cap are ignored.
|
|
46
|
-
const MAX_CODEX_SUBAGENT_USAGE_THREADS = 32;
|
|
47
58
|
function prepareCodexRpcParams(method, params) {
|
|
48
59
|
const stripped = stripUndefinedRpcParams(params);
|
|
49
60
|
if (method === 'turn/start' &&
|
|
@@ -53,64 +64,56 @@ function prepareCodexRpcParams(method, params) {
|
|
|
53
64
|
}
|
|
54
65
|
return stripped;
|
|
55
66
|
}
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
67
|
+
// Codex emits contextCompaction item lifecycle notifications and also retains
|
|
68
|
+
// the canonical deprecated thread/compacted notification. Both exact pinned
|
|
69
|
+
// protocol shapes are accepted; no dotted or alternate envelope aliases are.
|
|
59
70
|
function isCodexContextCompactionStarted(message) {
|
|
60
|
-
|
|
61
|
-
if (method !== 'item/started' && method !== 'item.started') {
|
|
71
|
+
if (message.method !== 'item/started') {
|
|
62
72
|
return false;
|
|
63
73
|
}
|
|
64
|
-
return
|
|
74
|
+
return readCodexRecord(readCodexRecord(message.params)?.item)?.type
|
|
75
|
+
=== 'contextCompaction';
|
|
65
76
|
}
|
|
66
77
|
function readCodexContextCompactionItemId(message) {
|
|
67
|
-
return
|
|
78
|
+
return readCodexNonEmptyString(readCodexRecord(readCodexRecord(message.params)?.item)?.id);
|
|
68
79
|
}
|
|
69
80
|
function isCodexContextCompactionStartedForThread(message, threadId) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
const messageThreadId = extractCodexThreadIdFromMessage(message);
|
|
74
|
-
return messageThreadId === null || messageThreadId === threadId;
|
|
81
|
+
return isCodexContextCompactionStarted(message)
|
|
82
|
+
&& extractCodexThreadIdFromMessage(message) === threadId;
|
|
75
83
|
}
|
|
76
84
|
function isCodexLegacyContextCompactionCompletion(message) {
|
|
77
|
-
|
|
78
|
-
return method === 'thread/compacted' || method === 'thread.compacted';
|
|
85
|
+
return message.method === 'thread/compacted';
|
|
79
86
|
}
|
|
80
87
|
function isCodexContextCompactionCompletion(message) {
|
|
81
88
|
if (isCodexLegacyContextCompactionCompletion(message)) {
|
|
82
89
|
return true;
|
|
83
90
|
}
|
|
84
|
-
|
|
85
|
-
if (method !== 'item/completed' && method !== 'item.completed') {
|
|
91
|
+
if (message.method !== 'item/completed') {
|
|
86
92
|
return false;
|
|
87
93
|
}
|
|
88
|
-
return
|
|
94
|
+
return readCodexRecord(readCodexRecord(message.params)?.item)?.type
|
|
95
|
+
=== 'contextCompaction';
|
|
89
96
|
}
|
|
90
97
|
function isCodexContextCompactionCompletionForThread(message, threadId) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
const messageThreadId = extractCodexThreadIdFromMessage(message);
|
|
95
|
-
return messageThreadId === null || messageThreadId === threadId;
|
|
98
|
+
return isCodexContextCompactionCompletion(message)
|
|
99
|
+
&& extractCodexThreadIdFromMessage(message) === threadId;
|
|
96
100
|
}
|
|
97
101
|
function isCodexThreadTokenUsageUpdatedMethod(method) {
|
|
98
|
-
return
|
|
99
|
-
method === 'thread/token_usage/updated' ||
|
|
100
|
-
method === 'thread.tokenUsage.updated' ||
|
|
101
|
-
method === 'thread.token.usage.updated' ||
|
|
102
|
-
method === 'thread.token_usage.updated');
|
|
102
|
+
return method === 'thread/tokenUsage/updated';
|
|
103
103
|
}
|
|
104
104
|
function readCodexThreadTokenUsageUpdate(message) {
|
|
105
|
-
|
|
106
|
-
if (!isCodexThreadTokenUsageUpdatedMethod(method)) {
|
|
105
|
+
if (!isCodexThreadTokenUsageUpdatedMethod(readCodexEventMethod(message))) {
|
|
107
106
|
return null;
|
|
108
107
|
}
|
|
109
|
-
const params =
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
const params = readCodexRecord(message.params);
|
|
109
|
+
const threadId = readCodexNonEmptyString(params?.threadId);
|
|
110
|
+
const tokenUsage = readCodexThreadTokenUsage(params?.tokenUsage);
|
|
111
|
+
return threadId && tokenUsage
|
|
112
|
+
? {
|
|
113
|
+
last: tokenUsage.last,
|
|
114
|
+
threadId,
|
|
115
|
+
}
|
|
116
|
+
: null;
|
|
114
117
|
}
|
|
115
118
|
function buildCodexAppServerNotFoundError(codexCommand) {
|
|
116
119
|
return new VaultCliError('ASSISTANT_CODEX_NOT_FOUND', `Codex app-server executable "${codexCommand}" was not found. Install @openai/codex or pass --codexCommand.`);
|
|
@@ -180,51 +183,64 @@ function appendRequiredVaultFileApprovalUrls(message, approvalUrls) {
|
|
|
180
183
|
...approvalUrls,
|
|
181
184
|
].filter((part) => part !== null).join('\n\n');
|
|
182
185
|
}
|
|
186
|
+
function buildRequiredAutomationLocalAtClarificationKey(input) {
|
|
187
|
+
return `${input.targetKey}:${input.resolvedLocalDate}`;
|
|
188
|
+
}
|
|
189
|
+
function buildRequiredAutomationLocalAtClarification(requirement) {
|
|
190
|
+
const reminder = `reminder ${JSON.stringify(requirement.targetLabel)}`;
|
|
191
|
+
return requirement.code === 'local_at_gap'
|
|
192
|
+
? `For ${reminder}, the trusted date is ${requirement.resolvedLocalDate}. What other local time on ${requirement.resolvedLocalDate} should I use?`
|
|
193
|
+
: `For ${reminder}, the trusted date is ${requirement.resolvedLocalDate}. Should I use the earlier or later occurrence on ${requirement.resolvedLocalDate}?`;
|
|
194
|
+
}
|
|
195
|
+
function appendRequiredAutomationLocalAtClarification(message, requirements) {
|
|
196
|
+
if (requirements.length === 0) {
|
|
197
|
+
return message;
|
|
198
|
+
}
|
|
199
|
+
const normalizedMessage = normalizeNullableString(message);
|
|
200
|
+
const missingClarifications = requirements
|
|
201
|
+
.map(buildRequiredAutomationLocalAtClarification)
|
|
202
|
+
.filter((clarification) => !normalizedMessage?.includes(clarification));
|
|
203
|
+
return [normalizedMessage, ...missingClarifications]
|
|
204
|
+
.filter((part) => part !== null)
|
|
205
|
+
.join('\n\n');
|
|
206
|
+
}
|
|
183
207
|
export async function executeCodexAppServerTurn(input) {
|
|
208
|
+
const providerStartCriticalPath = stampAssistantProviderStartCriticalPath(input.providerStartCriticalPath, 'codexAppServerTurnStartedAtMonotonicMs');
|
|
184
209
|
assertCodexAppServerPermissionRequest(input);
|
|
185
210
|
const approvalPolicy = resolveSupportedCodexAppServerApprovalPolicy(input.approvalPolicy);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
});
|
|
192
|
-
const codexCommand = resolveCodexAppServerCommand(input.codexCommand);
|
|
211
|
+
if (input.processLifetime !== 'one-shot' &&
|
|
212
|
+
warmCodexWorkspaceBoundaryActive) {
|
|
213
|
+
throw buildWarmCodexWorkspaceBoundaryBusyError();
|
|
214
|
+
}
|
|
215
|
+
const processInput = await prepareCodexAppServerProcessInput(input);
|
|
193
216
|
const tempRoot = await mkdtemp(path.join(tmpdir(), 'murph-codex-'));
|
|
194
|
-
const
|
|
195
|
-
images:
|
|
217
|
+
const preparedImages = await materializeCodexImages({
|
|
218
|
+
images: normalizeCodexAppServerImageDetails({
|
|
219
|
+
images: input.images,
|
|
220
|
+
model: input.model,
|
|
221
|
+
modelProvider: input.modelProvider,
|
|
222
|
+
turnKind: 'initial',
|
|
223
|
+
}),
|
|
196
224
|
tempRoot,
|
|
197
225
|
});
|
|
198
226
|
const normalizedInput = {
|
|
199
227
|
...input,
|
|
200
228
|
approvalPolicy,
|
|
201
|
-
configOverrides:
|
|
202
|
-
|
|
203
|
-
env: input.env,
|
|
204
|
-
}),
|
|
229
|
+
configOverrides: processInput.configOverrides,
|
|
230
|
+
...(providerStartCriticalPath ? { providerStartCriticalPath } : {}),
|
|
205
231
|
runtimeWorkspaceRoots: input.runtimeWorkspaceRoots?.map((root) => path.resolve(root)),
|
|
206
232
|
};
|
|
207
|
-
const args = buildCodexAppServerArgs(normalizedInput);
|
|
208
|
-
const launchKey = buildCodexAppServerLaunchKey({
|
|
209
|
-
args,
|
|
210
|
-
codexCommand,
|
|
211
|
-
env: childEnv,
|
|
212
|
-
workingDirectory,
|
|
213
|
-
});
|
|
214
233
|
const preparedInput = {
|
|
215
234
|
...normalizedInput,
|
|
216
|
-
|
|
217
|
-
codexCommand,
|
|
218
|
-
env: childEnv,
|
|
235
|
+
...processInput,
|
|
219
236
|
fetchImpl: input.fetchImpl ?? fetch,
|
|
220
237
|
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts ?? null,
|
|
221
|
-
|
|
222
|
-
launchKey,
|
|
238
|
+
preparedImages,
|
|
223
239
|
publicInternetFetch: input.publicInternetFetch ?? null,
|
|
224
240
|
tempRoot,
|
|
225
241
|
voiceMemoRuntime: input.voiceMemoRuntime ?? null,
|
|
242
|
+
analyzeVideoRuntime: input.analyzeVideoRuntime ?? null,
|
|
226
243
|
askGrokRuntime: input.askGrokRuntime ?? null,
|
|
227
|
-
workingDirectory,
|
|
228
244
|
};
|
|
229
245
|
let oneShotProcess = null;
|
|
230
246
|
try {
|
|
@@ -239,8 +255,20 @@ export async function executeCodexAppServerTurn(input) {
|
|
|
239
255
|
oneShotProcess.reserveTurn();
|
|
240
256
|
return await runCodexAppServerTurnOnProcess(oneShotProcess, preparedInput);
|
|
241
257
|
}
|
|
242
|
-
|
|
243
|
-
|
|
258
|
+
let allowPreinitializeFallback = true;
|
|
259
|
+
while (true) {
|
|
260
|
+
const processInstance = await getOrStartWarmCodexProcess(preparedInput);
|
|
261
|
+
try {
|
|
262
|
+
return await runCodexAppServerTurnOnProcess(processInstance, preparedInput);
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
if (!allowPreinitializeFallback ||
|
|
266
|
+
!processInstance.didSpeculativeInitializationFail(error)) {
|
|
267
|
+
throw error;
|
|
268
|
+
}
|
|
269
|
+
allowPreinitializeFallback = false;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
244
272
|
}
|
|
245
273
|
finally {
|
|
246
274
|
try {
|
|
@@ -259,14 +287,23 @@ function assertCodexAppServerPermissionRequest(input) {
|
|
|
259
287
|
if (!permissions) {
|
|
260
288
|
return;
|
|
261
289
|
}
|
|
290
|
+
const residentWorkspacePermissionRequest = permissions === MURPH_MEMBER_WORKSPACE_PERMISSION_PROFILE;
|
|
262
291
|
const invalidFields = [
|
|
263
292
|
...(input.sandbox ? ['sandbox'] : []),
|
|
264
|
-
...(normalizeNullableString(input.resumeSessionId)
|
|
265
|
-
|
|
266
|
-
|
|
293
|
+
...(residentWorkspacePermissionRequest || !normalizeNullableString(input.resumeSessionId)
|
|
294
|
+
? []
|
|
295
|
+
: ['resumeSessionId']),
|
|
296
|
+
...(residentWorkspacePermissionRequest || input.ephemeral === true
|
|
297
|
+
? []
|
|
298
|
+
: ['ephemeral']),
|
|
299
|
+
...(residentWorkspacePermissionRequest || input.processLifetime === 'one-shot'
|
|
300
|
+
? []
|
|
301
|
+
: ['processLifetime']),
|
|
267
302
|
];
|
|
268
303
|
if (invalidFields.length > 0) {
|
|
269
|
-
throw new VaultCliError('ASSISTANT_CODEX_APP_SERVER_REQUEST_INVALID',
|
|
304
|
+
throw new VaultCliError('ASSISTANT_CODEX_APP_SERVER_REQUEST_INVALID', residentWorkspacePermissionRequest
|
|
305
|
+
? 'Named Codex permissions cannot be combined with a legacy sandbox.'
|
|
306
|
+
: 'Restricted named Codex permissions require a fresh ephemeral thread in a one-shot process without a legacy sandbox.', {
|
|
270
307
|
invalidFields,
|
|
271
308
|
retryable: false,
|
|
272
309
|
});
|
|
@@ -297,6 +334,38 @@ async function assertCodexAppServerWorkingDirectory(workingDirectory) {
|
|
|
297
334
|
function resolveCodexAppServerCommand(codexCommand) {
|
|
298
335
|
return codexCommand?.trim() || 'codex';
|
|
299
336
|
}
|
|
337
|
+
async function prepareCodexAppServerProcessInput(input) {
|
|
338
|
+
const workingDirectory = path.resolve(input.workingDirectory);
|
|
339
|
+
await assertCodexAppServerWorkingDirectory(workingDirectory);
|
|
340
|
+
const env = await resolveCodexChildEnv({
|
|
341
|
+
codexHome: input.codexHome,
|
|
342
|
+
env: input.env,
|
|
343
|
+
});
|
|
344
|
+
const codexCommand = resolveCodexAppServerCommand(input.codexCommand);
|
|
345
|
+
const configOverrides = withHostedCodexModelCatalogConfigOverride({
|
|
346
|
+
configOverrides: input.configOverrides,
|
|
347
|
+
env: input.env,
|
|
348
|
+
}) ?? [];
|
|
349
|
+
const args = buildCodexAppServerArgs({
|
|
350
|
+
configOverrides,
|
|
351
|
+
oss: input.oss,
|
|
352
|
+
profile: input.profile,
|
|
353
|
+
});
|
|
354
|
+
const launchKey = buildCodexAppServerLaunchKey({
|
|
355
|
+
args,
|
|
356
|
+
codexCommand,
|
|
357
|
+
env,
|
|
358
|
+
workingDirectory,
|
|
359
|
+
});
|
|
360
|
+
return {
|
|
361
|
+
args,
|
|
362
|
+
codexCommand,
|
|
363
|
+
configOverrides,
|
|
364
|
+
env,
|
|
365
|
+
launchKey,
|
|
366
|
+
workingDirectory,
|
|
367
|
+
};
|
|
368
|
+
}
|
|
300
369
|
function buildCodexAppServerLaunchKey(input) {
|
|
301
370
|
return hashCodexRawString(JSON.stringify({
|
|
302
371
|
args: input.args,
|
|
@@ -337,10 +406,14 @@ class CodexAppServerProcess {
|
|
|
337
406
|
boundThreadModel = null;
|
|
338
407
|
boundThreadServiceTier = null;
|
|
339
408
|
cleanupProcessExitListener;
|
|
409
|
+
completedTurn = false;
|
|
340
410
|
lastThreadTokenUsage = null;
|
|
341
411
|
codexCommand;
|
|
342
412
|
ignoredResponseIds = new Set();
|
|
343
413
|
initialized = false;
|
|
414
|
+
initializationFailure = null;
|
|
415
|
+
initializationPromise = null;
|
|
416
|
+
initializationWasSpeculative = false;
|
|
344
417
|
endReason = null;
|
|
345
418
|
nextRequestId = 1;
|
|
346
419
|
normalShutdown = false;
|
|
@@ -351,13 +424,16 @@ class CodexAppServerProcess {
|
|
|
351
424
|
// reply.
|
|
352
425
|
detachedChildThreadIds = new Set();
|
|
353
426
|
detachedCompletedChildThreadIds = new Set();
|
|
427
|
+
detachedChildMessageHandlers = new Map();
|
|
354
428
|
detachedChildViolation = null;
|
|
355
429
|
detachedRootThreadIds = new Set();
|
|
430
|
+
pendingDetachedUsageReports = new Set();
|
|
356
431
|
stopCompleted = false;
|
|
357
432
|
state = 'idle';
|
|
358
433
|
stderrBuffer = '';
|
|
359
434
|
startupStderr = '';
|
|
360
435
|
startupFailure = null;
|
|
436
|
+
spawnReadyPromise = null;
|
|
361
437
|
stdinFailure = null;
|
|
362
438
|
stdoutBuffer = '';
|
|
363
439
|
stopPromise = null;
|
|
@@ -408,6 +484,12 @@ class CodexAppServerProcess {
|
|
|
408
484
|
get initializedForRpc() {
|
|
409
485
|
return this.initialized;
|
|
410
486
|
}
|
|
487
|
+
get wasPreinitialized() {
|
|
488
|
+
return this.initializationWasSpeculative;
|
|
489
|
+
}
|
|
490
|
+
get hasCompletedTurn() {
|
|
491
|
+
return this.completedTurn;
|
|
492
|
+
}
|
|
411
493
|
get processLifetimeMs() {
|
|
412
494
|
return Math.max(0, Date.now() - this.startedAt);
|
|
413
495
|
}
|
|
@@ -426,6 +508,32 @@ class CodexAppServerProcess {
|
|
|
426
508
|
get isStopped() {
|
|
427
509
|
return this.state === 'stopped';
|
|
428
510
|
}
|
|
511
|
+
get isStoppingOrStopped() {
|
|
512
|
+
return this.state === 'stopping' || this.state === 'stopped';
|
|
513
|
+
}
|
|
514
|
+
get hasUnclaimedSpeculativeInitialization() {
|
|
515
|
+
return (this.initializationWasSpeculative &&
|
|
516
|
+
!this.initialized &&
|
|
517
|
+
!this.hasInFlightTurn);
|
|
518
|
+
}
|
|
519
|
+
canClaimForLaunch(launchKey) {
|
|
520
|
+
return (this.launchKey === launchKey &&
|
|
521
|
+
!this.poisoned &&
|
|
522
|
+
this.state === 'idle' &&
|
|
523
|
+
this.child.exitCode === null &&
|
|
524
|
+
this.child.signalCode === null);
|
|
525
|
+
}
|
|
526
|
+
noteSpeculativeInitialization() {
|
|
527
|
+
this.initializationWasSpeculative = true;
|
|
528
|
+
}
|
|
529
|
+
didSpeculativeInitializationFail(error) {
|
|
530
|
+
return (this.initializationWasSpeculative &&
|
|
531
|
+
this.initializationFailure !== null &&
|
|
532
|
+
this.initializationFailure === error);
|
|
533
|
+
}
|
|
534
|
+
noteTurnCompleted() {
|
|
535
|
+
this.completedTurn = true;
|
|
536
|
+
}
|
|
429
537
|
reserveTurn() {
|
|
430
538
|
if (this.state !== 'idle' ||
|
|
431
539
|
this.activeTurn ||
|
|
@@ -469,6 +577,10 @@ class CodexAppServerProcess {
|
|
|
469
577
|
});
|
|
470
578
|
}
|
|
471
579
|
async waitForSpawn() {
|
|
580
|
+
this.spawnReadyPromise ??= this.runWaitForSpawn();
|
|
581
|
+
await this.spawnReadyPromise;
|
|
582
|
+
}
|
|
583
|
+
async runWaitForSpawn() {
|
|
472
584
|
this.throwStartupFailure();
|
|
473
585
|
try {
|
|
474
586
|
await waitForCodexSpawn(this.child);
|
|
@@ -482,9 +594,18 @@ class CodexAppServerProcess {
|
|
|
482
594
|
this.throwStartupFailure();
|
|
483
595
|
}
|
|
484
596
|
async initialize() {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
597
|
+
this.initializationPromise ??= this.runInitialize().catch((error) => {
|
|
598
|
+
this.initializationFailure = error;
|
|
599
|
+
this.poisoned = true;
|
|
600
|
+
if (error instanceof Error) {
|
|
601
|
+
this.startupFailure ??= error;
|
|
602
|
+
}
|
|
603
|
+
throw error;
|
|
604
|
+
});
|
|
605
|
+
await this.initializationPromise;
|
|
606
|
+
}
|
|
607
|
+
async runInitialize() {
|
|
608
|
+
await this.waitForSpawn();
|
|
488
609
|
await withCodexRpcTimeout(this.sendRequest('initialize', {
|
|
489
610
|
clientInfo: {
|
|
490
611
|
name: CODEX_RPC_CLIENT_NAME,
|
|
@@ -507,9 +628,18 @@ class CodexAppServerProcess {
|
|
|
507
628
|
rejectPendingCodexRpcRequests(this.pendingRequests, error);
|
|
508
629
|
}
|
|
509
630
|
sendRequest(method, params) {
|
|
631
|
+
return this.beginRequest(method, params).promise;
|
|
632
|
+
}
|
|
633
|
+
sendRequestWithTimeout(input) {
|
|
634
|
+
const request = this.beginRequest(input.method, input.params);
|
|
635
|
+
return withCodexRpcTimeout(request.promise, input.timeoutMs, input.timeoutLabel, () => {
|
|
636
|
+
this.pendingRequests.delete(request.id);
|
|
637
|
+
});
|
|
638
|
+
}
|
|
639
|
+
beginRequest(method, params) {
|
|
510
640
|
const id = this.nextRequestId;
|
|
511
641
|
this.nextRequestId += 1;
|
|
512
|
-
|
|
642
|
+
const promise = new Promise((resolve, reject) => {
|
|
513
643
|
this.pendingRequests.set(id, {
|
|
514
644
|
method,
|
|
515
645
|
reject,
|
|
@@ -525,6 +655,7 @@ class CodexAppServerProcess {
|
|
|
525
655
|
reject(failure);
|
|
526
656
|
}
|
|
527
657
|
});
|
|
658
|
+
return { id, promise };
|
|
528
659
|
}
|
|
529
660
|
sendNotification(method, params) {
|
|
530
661
|
void this.writeRpcMessage({
|
|
@@ -549,6 +680,7 @@ class CodexAppServerProcess {
|
|
|
549
680
|
this.assertBackgroundWorkProcessAvailable();
|
|
550
681
|
await this.waitForDetachedChildren(signal);
|
|
551
682
|
this.assertDetachedChildrenQuiescent();
|
|
683
|
+
await this.waitForDetachedUsageReports(signal);
|
|
552
684
|
await this.assertNoBackgroundTerminals(signal);
|
|
553
685
|
throwIfCodexBackgroundWorkWaitAborted(signal);
|
|
554
686
|
this.assertBackgroundWorkProcessAvailable();
|
|
@@ -569,7 +701,8 @@ class CodexAppServerProcess {
|
|
|
569
701
|
!this.poisoned &&
|
|
570
702
|
this.child.exitCode === null &&
|
|
571
703
|
this.child.signalCode === null &&
|
|
572
|
-
this.state === 'idle'
|
|
704
|
+
(this.state === 'idle' ||
|
|
705
|
+
(this.state === 'reserved' && this.activeTurn === null))) {
|
|
573
706
|
return;
|
|
574
707
|
}
|
|
575
708
|
throw new VaultCliError('ASSISTANT_CODEX_BACKGROUND_WORK_UNAVAILABLE', 'Codex app-server background work could not be verified before the workspace boundary.', { retryable: true });
|
|
@@ -605,6 +738,18 @@ class CodexAppServerProcess {
|
|
|
605
738
|
throw new VaultCliError('ASSISTANT_CODEX_BACKGROUND_WORK_FAILED', 'Detached Codex work was still active at the workspace boundary.', { retryable: true });
|
|
606
739
|
}
|
|
607
740
|
}
|
|
741
|
+
trackDetachedUsageReport(report) {
|
|
742
|
+
this.pendingDetachedUsageReports.add(report);
|
|
743
|
+
void report.finally(() => {
|
|
744
|
+
this.pendingDetachedUsageReports.delete(report);
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
async waitForDetachedUsageReports(signal) {
|
|
748
|
+
while (this.pendingDetachedUsageReports.size > 0) {
|
|
749
|
+
throwIfCodexBackgroundWorkWaitAborted(signal);
|
|
750
|
+
await Promise.all([...this.pendingDetachedUsageReports]);
|
|
751
|
+
}
|
|
752
|
+
}
|
|
608
753
|
async assertNoBackgroundTerminals(signal) {
|
|
609
754
|
const threadIds = new Set([
|
|
610
755
|
...this.detachedRootThreadIds,
|
|
@@ -624,6 +769,7 @@ class CodexAppServerProcess {
|
|
|
624
769
|
clearDetachedChildBoundary() {
|
|
625
770
|
this.detachedChildThreadIds.clear();
|
|
626
771
|
this.detachedCompletedChildThreadIds.clear();
|
|
772
|
+
this.detachedChildMessageHandlers.clear();
|
|
627
773
|
this.detachedChildViolation = null;
|
|
628
774
|
this.detachedRootThreadIds.clear();
|
|
629
775
|
}
|
|
@@ -643,6 +789,9 @@ class CodexAppServerProcess {
|
|
|
643
789
|
}
|
|
644
790
|
else {
|
|
645
791
|
this.detachedChildThreadIds.add(activity.agentThreadId);
|
|
792
|
+
if (this.activeTurn?.onSubagentMessage) {
|
|
793
|
+
this.detachedChildMessageHandlers.set(activity.agentThreadId, this.activeTurn.onSubagentMessage);
|
|
794
|
+
}
|
|
646
795
|
}
|
|
647
796
|
}
|
|
648
797
|
else {
|
|
@@ -690,6 +839,10 @@ class CodexAppServerProcess {
|
|
|
690
839
|
this.endReason ??= resolveCodexAppServerEndReason(reason);
|
|
691
840
|
this.normalShutdown = true;
|
|
692
841
|
this.state = 'stopping';
|
|
842
|
+
this.rejectPending(new VaultCliError('ASSISTANT_CODEX_APP_SERVER_STOPPED', 'Codex app-server stopped before its pending RPC completed.', {
|
|
843
|
+
reason,
|
|
844
|
+
retryable: true,
|
|
845
|
+
}));
|
|
693
846
|
let stopped = false;
|
|
694
847
|
try {
|
|
695
848
|
await stopCodexAppServerChild({
|
|
@@ -722,12 +875,9 @@ class CodexAppServerProcess {
|
|
|
722
875
|
await this.stop(reason).catch(() => undefined);
|
|
723
876
|
}
|
|
724
877
|
isReusableFor(launchKey) {
|
|
725
|
-
return (this.launchKey
|
|
878
|
+
return (this.canClaimForLaunch(launchKey) &&
|
|
726
879
|
this.initialized &&
|
|
727
|
-
|
|
728
|
-
this.state === 'idle' &&
|
|
729
|
-
this.child.exitCode === null &&
|
|
730
|
-
this.child.signalCode === null);
|
|
880
|
+
this.initializationFailure === null);
|
|
731
881
|
}
|
|
732
882
|
closeStdin() {
|
|
733
883
|
if (this.stdinFailure) {
|
|
@@ -872,11 +1022,6 @@ class CodexAppServerProcess {
|
|
|
872
1022
|
noteBoundThreadModel(model) {
|
|
873
1023
|
this.boundThreadModel = normalizeNullableString(model);
|
|
874
1024
|
}
|
|
875
|
-
// Exposed so a freshly bound turn can route foreign-thread events before
|
|
876
|
-
// its own thread/start response has produced the new thread id.
|
|
877
|
-
get lastBoundThreadId() {
|
|
878
|
-
return this.boundThreadId;
|
|
879
|
-
}
|
|
880
1025
|
handleIdleServerMessage(message) {
|
|
881
1026
|
const responseId = readCodexRpcResponseId(message);
|
|
882
1027
|
if (responseId !== null) {
|
|
@@ -900,11 +1045,41 @@ class CodexAppServerProcess {
|
|
|
900
1045
|
writeRpcMessage: (payload) => void this.writeRpcMessage(payload),
|
|
901
1046
|
});
|
|
902
1047
|
}
|
|
1048
|
+
routeSubagentMessage(message) {
|
|
1049
|
+
if (readCodexRpcResponseId(message) !== null) {
|
|
1050
|
+
return false;
|
|
1051
|
+
}
|
|
1052
|
+
const threadId = extractCodexThreadIdFromMessage(message);
|
|
1053
|
+
if (!threadId || this.detachedRootThreadIds.has(threadId)) {
|
|
1054
|
+
return false;
|
|
1055
|
+
}
|
|
1056
|
+
let handler = this.detachedChildMessageHandlers.get(threadId);
|
|
1057
|
+
const activeHandler = this.activeTurn?.onSubagentMessage;
|
|
1058
|
+
if (!handler && activeHandler) {
|
|
1059
|
+
// The app-server process is exclusively owned by Assistant Engine. A
|
|
1060
|
+
// foreign thread notification on an active root is therefore enough to
|
|
1061
|
+
// correlate that child with the current turn; parent item shape is not a
|
|
1062
|
+
// billing authorization boundary.
|
|
1063
|
+
handler = activeHandler;
|
|
1064
|
+
this.detachedChildMessageHandlers.set(threadId, handler);
|
|
1065
|
+
}
|
|
1066
|
+
if (!handler) {
|
|
1067
|
+
return false;
|
|
1068
|
+
}
|
|
1069
|
+
if (isCodexTurnStartedMethod(readCodexEventMethod(message))) {
|
|
1070
|
+
this.detachedChildThreadIds.add(threadId);
|
|
1071
|
+
}
|
|
1072
|
+
handler(message);
|
|
1073
|
+
return true;
|
|
1074
|
+
}
|
|
903
1075
|
handleStdoutLine(line) {
|
|
904
1076
|
const parsed = tryParseJsonLine(line);
|
|
905
1077
|
if (parsed.ok) {
|
|
906
1078
|
this.observeDetachedChildLifecycle(parsed.value);
|
|
907
1079
|
this.observeThreadTokenUsage(parsed.value);
|
|
1080
|
+
if (this.routeSubagentMessage(parsed.value)) {
|
|
1081
|
+
return;
|
|
1082
|
+
}
|
|
908
1083
|
if (this.activeTurn) {
|
|
909
1084
|
this.activeTurn.onParsedMessage(parsed.value);
|
|
910
1085
|
}
|
|
@@ -943,6 +1118,7 @@ class CodexAppServerProcess {
|
|
|
943
1118
|
this.state = 'stopped';
|
|
944
1119
|
this.cleanupProcessExitListener();
|
|
945
1120
|
if (this.normalShutdown) {
|
|
1121
|
+
this.rejectPending(new VaultCliError('ASSISTANT_CODEX_APP_SERVER_STOPPED', 'Codex app-server closed before its pending RPC completed.', { retryable: true }));
|
|
946
1122
|
return;
|
|
947
1123
|
}
|
|
948
1124
|
if (this.activeTurn) {
|
|
@@ -1018,7 +1194,7 @@ function readCodexBackgroundTerminalPresence(value) {
|
|
|
1018
1194
|
}
|
|
1019
1195
|
function readCodexSubagentActivity(message) {
|
|
1020
1196
|
const method = typeof message.method === 'string' ? message.method : null;
|
|
1021
|
-
if (method !== 'item/completed'
|
|
1197
|
+
if (method !== 'item/completed') {
|
|
1022
1198
|
return null;
|
|
1023
1199
|
}
|
|
1024
1200
|
const item = asCodexRecord(asCodexRecord(message.params)?.item);
|
|
@@ -1109,6 +1285,13 @@ function resolveCodexAppServerEndReason(reason) {
|
|
|
1109
1285
|
}
|
|
1110
1286
|
let warmCodexProcess = null;
|
|
1111
1287
|
let warmCodexSlotLock = Promise.resolve();
|
|
1288
|
+
let warmCodexWorkspaceBoundaryActive = false;
|
|
1289
|
+
function buildWarmCodexWorkspaceBoundaryBusyError() {
|
|
1290
|
+
return new VaultCliError('ASSISTANT_CODEX_APP_SERVER_BUSY', 'Codex app-server cannot be claimed while a workspace boundary is active.', {
|
|
1291
|
+
retryable: true,
|
|
1292
|
+
state: 'workspace-boundary',
|
|
1293
|
+
});
|
|
1294
|
+
}
|
|
1112
1295
|
async function withWarmCodexSlotLock(operation) {
|
|
1113
1296
|
const previous = warmCodexSlotLock;
|
|
1114
1297
|
let release;
|
|
@@ -1124,15 +1307,17 @@ async function withWarmCodexSlotLock(operation) {
|
|
|
1124
1307
|
}
|
|
1125
1308
|
}
|
|
1126
1309
|
async function getOrStartWarmCodexProcess(input) {
|
|
1310
|
+
if (warmCodexWorkspaceBoundaryActive) {
|
|
1311
|
+
throw buildWarmCodexWorkspaceBoundaryBusyError();
|
|
1312
|
+
}
|
|
1127
1313
|
const launchKey = input.launchKey;
|
|
1128
1314
|
return await withWarmCodexSlotLock(async () => {
|
|
1129
|
-
if (warmCodexProcess?.isReusableFor(launchKey)) {
|
|
1130
|
-
warmCodexProcess.reserveTurn();
|
|
1131
|
-
return warmCodexProcess;
|
|
1132
|
-
}
|
|
1133
1315
|
const previousProcess = warmCodexProcess;
|
|
1134
|
-
let coldStartReason = 'node-process-first-use';
|
|
1135
1316
|
if (previousProcess) {
|
|
1317
|
+
if (previousProcess.canClaimForLaunch(launchKey)) {
|
|
1318
|
+
previousProcess.reserveTurn();
|
|
1319
|
+
return previousProcess;
|
|
1320
|
+
}
|
|
1136
1321
|
if (previousProcess.hasInFlightTurn) {
|
|
1137
1322
|
throw previousProcess.buildBusyError('Codex app-server process is already serving a turn.');
|
|
1138
1323
|
}
|
|
@@ -1144,15 +1329,121 @@ async function getOrStartWarmCodexProcess(input) {
|
|
|
1144
1329
|
? 'launch-identity-changed'
|
|
1145
1330
|
: 'process-unhealthy';
|
|
1146
1331
|
await previousProcess.stop(stopReason);
|
|
1147
|
-
coldStartReason = previousProcess.nextColdStartReason;
|
|
1148
1332
|
}
|
|
1149
1333
|
const processInstance = new CodexAppServerProcess({
|
|
1150
1334
|
...input,
|
|
1151
|
-
coldStartReason,
|
|
1335
|
+
coldStartReason: previousProcess?.nextColdStartReason ?? 'node-process-first-use',
|
|
1152
1336
|
});
|
|
1153
1337
|
warmCodexProcess = processInstance;
|
|
1154
|
-
|
|
1155
|
-
return
|
|
1338
|
+
processInstance.reserveTurn();
|
|
1339
|
+
return processInstance;
|
|
1340
|
+
});
|
|
1341
|
+
}
|
|
1342
|
+
async function stopExactUnclaimedWarmCodexProcess(processInstance, reason) {
|
|
1343
|
+
await withWarmCodexSlotLock(async () => {
|
|
1344
|
+
if (warmCodexProcess !== processInstance ||
|
|
1345
|
+
!processInstance.hasUnclaimedSpeculativeInitialization) {
|
|
1346
|
+
return;
|
|
1347
|
+
}
|
|
1348
|
+
await processInstance.stop(reason);
|
|
1349
|
+
});
|
|
1350
|
+
}
|
|
1351
|
+
function createCodexAppServerPreinitialization(processInstance) {
|
|
1352
|
+
return {
|
|
1353
|
+
async cancelPending() {
|
|
1354
|
+
try {
|
|
1355
|
+
await stopExactUnclaimedWarmCodexProcess(processInstance, 'invocation-release-during-preinitialize');
|
|
1356
|
+
}
|
|
1357
|
+
catch (error) {
|
|
1358
|
+
// An already-proven exit is sufficient for this optional optimization's
|
|
1359
|
+
// invocation-release boundary. Unproven teardown still fails closed.
|
|
1360
|
+
if (!processInstance.isStopped) {
|
|
1361
|
+
throw error;
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
},
|
|
1365
|
+
};
|
|
1366
|
+
}
|
|
1367
|
+
function readCodexPreinitializeAbortReason(signal) {
|
|
1368
|
+
return signal.reason instanceof Error
|
|
1369
|
+
? signal.reason
|
|
1370
|
+
: new DOMException('Codex app-server preinitialization was interrupted.', 'AbortError');
|
|
1371
|
+
}
|
|
1372
|
+
function beginCodexPreinitialize(processInstance, signal) {
|
|
1373
|
+
const readiness = processInstance.initialize();
|
|
1374
|
+
const onAbort = () => {
|
|
1375
|
+
void stopExactUnclaimedWarmCodexProcess(processInstance, 'preinitialize-aborted').catch(() => undefined);
|
|
1376
|
+
};
|
|
1377
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
1378
|
+
if (signal?.aborted) {
|
|
1379
|
+
onAbort();
|
|
1380
|
+
}
|
|
1381
|
+
void readiness.then(() => {
|
|
1382
|
+
signal?.removeEventListener('abort', onAbort);
|
|
1383
|
+
}, () => {
|
|
1384
|
+
signal?.removeEventListener('abort', onAbort);
|
|
1385
|
+
if (processInstance.isStoppingOrStopped) {
|
|
1386
|
+
return;
|
|
1387
|
+
}
|
|
1388
|
+
void stopExactUnclaimedWarmCodexProcess(processInstance, 'preinitialize-failure').catch(() => undefined);
|
|
1389
|
+
});
|
|
1390
|
+
}
|
|
1391
|
+
export async function preinitializeCodexAppServer(input) {
|
|
1392
|
+
const signal = input.signal ?? null;
|
|
1393
|
+
if (signal?.aborted) {
|
|
1394
|
+
throw readCodexPreinitializeAbortReason(signal);
|
|
1395
|
+
}
|
|
1396
|
+
if (warmCodexWorkspaceBoundaryActive) {
|
|
1397
|
+
return null;
|
|
1398
|
+
}
|
|
1399
|
+
const processInput = await prepareCodexAppServerProcessInput(input);
|
|
1400
|
+
if (signal?.aborted) {
|
|
1401
|
+
throw readCodexPreinitializeAbortReason(signal);
|
|
1402
|
+
}
|
|
1403
|
+
if (warmCodexWorkspaceBoundaryActive) {
|
|
1404
|
+
return null;
|
|
1405
|
+
}
|
|
1406
|
+
return await withWarmCodexSlotLock(async () => {
|
|
1407
|
+
if (signal?.aborted) {
|
|
1408
|
+
throw readCodexPreinitializeAbortReason(signal);
|
|
1409
|
+
}
|
|
1410
|
+
const processInstance = warmCodexProcess;
|
|
1411
|
+
if (processInstance) {
|
|
1412
|
+
if (processInstance.canClaimForLaunch(processInput.launchKey)) {
|
|
1413
|
+
if (!processInstance.initializedForRpc) {
|
|
1414
|
+
processInstance.noteSpeculativeInitialization();
|
|
1415
|
+
beginCodexPreinitialize(processInstance, signal);
|
|
1416
|
+
}
|
|
1417
|
+
return createCodexAppServerPreinitialization(processInstance);
|
|
1418
|
+
}
|
|
1419
|
+
if (processInstance.hasInFlightTurn) {
|
|
1420
|
+
return null;
|
|
1421
|
+
}
|
|
1422
|
+
if (processInstance.canClaimForLaunch(processInstance.launchKey)) {
|
|
1423
|
+
return null;
|
|
1424
|
+
}
|
|
1425
|
+
const processExited = processInstance.child.exitCode !== null ||
|
|
1426
|
+
processInstance.child.signalCode !== null;
|
|
1427
|
+
await processInstance.stop(processExited
|
|
1428
|
+
? 'process-exited'
|
|
1429
|
+
: processInstance.launchKey !== processInput.launchKey
|
|
1430
|
+
? 'launch-identity-changed'
|
|
1431
|
+
: 'process-unhealthy');
|
|
1432
|
+
}
|
|
1433
|
+
if (signal?.aborted) {
|
|
1434
|
+
throw readCodexPreinitializeAbortReason(signal);
|
|
1435
|
+
}
|
|
1436
|
+
const preparedProcess = new CodexAppServerProcess({
|
|
1437
|
+
args: processInput.args,
|
|
1438
|
+
codexCommand: processInput.codexCommand,
|
|
1439
|
+
coldStartReason: processInstance?.nextColdStartReason ?? 'node-process-first-use',
|
|
1440
|
+
env: processInput.env,
|
|
1441
|
+
launchKey: processInput.launchKey,
|
|
1442
|
+
});
|
|
1443
|
+
preparedProcess.noteSpeculativeInitialization();
|
|
1444
|
+
warmCodexProcess = preparedProcess;
|
|
1445
|
+
beginCodexPreinitialize(preparedProcess, signal);
|
|
1446
|
+
return createCodexAppServerPreinitialization(preparedProcess);
|
|
1156
1447
|
});
|
|
1157
1448
|
}
|
|
1158
1449
|
export async function stopWarmCodexAppServer(reason = 'external-stop') {
|
|
@@ -1168,13 +1459,43 @@ export async function stopWarmCodexAppServer(reason = 'external-stop') {
|
|
|
1168
1459
|
});
|
|
1169
1460
|
}
|
|
1170
1461
|
export async function waitForWarmCodexBackgroundWork(input = {}) {
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1462
|
+
if (warmCodexWorkspaceBoundaryActive) {
|
|
1463
|
+
throw buildWarmCodexWorkspaceBoundaryBusyError();
|
|
1464
|
+
}
|
|
1465
|
+
warmCodexWorkspaceBoundaryActive = true;
|
|
1466
|
+
try {
|
|
1467
|
+
const processInstance = await withWarmCodexSlotLock(async () => {
|
|
1468
|
+
const processInstance = warmCodexProcess;
|
|
1469
|
+
if (!processInstance || processInstance.isStopped) {
|
|
1470
|
+
return null;
|
|
1471
|
+
}
|
|
1472
|
+
if (processInstance.hasUnclaimedSpeculativeInitialization) {
|
|
1473
|
+
await processInstance.stop('workspace-boundary-during-preinitialize');
|
|
1474
|
+
return null;
|
|
1475
|
+
}
|
|
1476
|
+
if (processInstance.hasInFlightTurn) {
|
|
1477
|
+
throw processInstance.buildBusyError('Codex app-server process is serving a turn and cannot cross a workspace boundary.');
|
|
1478
|
+
}
|
|
1479
|
+
if (!processInstance.isReusableFor(processInstance.launchKey)) {
|
|
1480
|
+
await processInstance.stop('workspace-boundary-process-unhealthy');
|
|
1481
|
+
return null;
|
|
1482
|
+
}
|
|
1483
|
+
processInstance.reserveTurn();
|
|
1484
|
+
return processInstance;
|
|
1485
|
+
});
|
|
1486
|
+
if (!processInstance) {
|
|
1174
1487
|
return;
|
|
1175
1488
|
}
|
|
1176
|
-
|
|
1177
|
-
|
|
1489
|
+
try {
|
|
1490
|
+
await processInstance.waitForBackgroundWork(input);
|
|
1491
|
+
}
|
|
1492
|
+
finally {
|
|
1493
|
+
processInstance.releaseReservation();
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1496
|
+
finally {
|
|
1497
|
+
warmCodexWorkspaceBoundaryActive = false;
|
|
1498
|
+
}
|
|
1178
1499
|
}
|
|
1179
1500
|
registerStopWarmCodexAppServer(stopWarmCodexAppServer);
|
|
1180
1501
|
registerWaitForWarmCodexBackgroundWork(waitForWarmCodexBackgroundWork);
|
|
@@ -1185,6 +1506,9 @@ registerWaitForWarmCodexBackgroundWork(waitForWarmCodexBackgroundWork);
|
|
|
1185
1506
|
* process may write CODEX_HOME at a time.
|
|
1186
1507
|
*/
|
|
1187
1508
|
export async function executeCodexManagedAccountOperation(input) {
|
|
1509
|
+
if (warmCodexWorkspaceBoundaryActive) {
|
|
1510
|
+
throw buildWarmCodexWorkspaceBoundaryBusyError();
|
|
1511
|
+
}
|
|
1188
1512
|
const workingDirectory = path.resolve(input.workingDirectory);
|
|
1189
1513
|
await assertCodexAppServerWorkingDirectory(workingDirectory);
|
|
1190
1514
|
const env = await resolveCodexChildEnv({
|
|
@@ -1405,63 +1729,6 @@ function estimateCodexWarmThreadCompactionUsage(threadContextTokensBefore) {
|
|
|
1405
1729
|
totalTokens: threadContextTokensBefore,
|
|
1406
1730
|
};
|
|
1407
1731
|
}
|
|
1408
|
-
function readCodexCompactionCompletionProviderUsage(message, threadId) {
|
|
1409
|
-
if (!isCodexContextCompactionCompletionForThread(message, threadId)) {
|
|
1410
|
-
return null;
|
|
1411
|
-
}
|
|
1412
|
-
const params = asCodexRecord(message.params);
|
|
1413
|
-
const item = asCodexRecord(params?.item);
|
|
1414
|
-
const candidates = [
|
|
1415
|
-
...readCodexProviderUsageCandidates(params),
|
|
1416
|
-
...readCodexProviderUsageCandidates(item),
|
|
1417
|
-
];
|
|
1418
|
-
for (const candidate of candidates) {
|
|
1419
|
-
const usage = readCodexCompactionProviderUsage(candidate);
|
|
1420
|
-
if (usage) {
|
|
1421
|
-
return usage;
|
|
1422
|
-
}
|
|
1423
|
-
}
|
|
1424
|
-
return null;
|
|
1425
|
-
}
|
|
1426
|
-
function readCodexProviderUsageCandidates(value) {
|
|
1427
|
-
if (!value) {
|
|
1428
|
-
return [];
|
|
1429
|
-
}
|
|
1430
|
-
const providerUsage = asCodexRecord(value.providerUsage)
|
|
1431
|
-
?? asCodexRecord(value.provider_usage);
|
|
1432
|
-
return [providerUsage, asCodexRecord(providerUsage?.last)];
|
|
1433
|
-
}
|
|
1434
|
-
function readCodexCompactionProviderUsage(value) {
|
|
1435
|
-
if (!value) {
|
|
1436
|
-
return null;
|
|
1437
|
-
}
|
|
1438
|
-
const inputTokens = readCodexUsageNumber(value, 'inputTokens', 'input_tokens');
|
|
1439
|
-
const outputTokens = readCodexUsageNumber(value, 'outputTokens', 'output_tokens');
|
|
1440
|
-
const totalTokens = readCodexUsageNumber(value, 'totalTokens', 'total_tokens');
|
|
1441
|
-
if (inputTokens === null || outputTokens === null || totalTokens === null) {
|
|
1442
|
-
return null;
|
|
1443
|
-
}
|
|
1444
|
-
if (inputTokens <= 0 || outputTokens < 0 || totalTokens < inputTokens + outputTokens) {
|
|
1445
|
-
return null;
|
|
1446
|
-
}
|
|
1447
|
-
const cachedInputTokens = readCodexUsageNumber(value, 'cachedInputTokens', 'cached_input_tokens');
|
|
1448
|
-
if (cachedInputTokens !== null && cachedInputTokens > inputTokens) {
|
|
1449
|
-
return null;
|
|
1450
|
-
}
|
|
1451
|
-
return {
|
|
1452
|
-
cachedInputTokens,
|
|
1453
|
-
inputTokens,
|
|
1454
|
-
outputTokens,
|
|
1455
|
-
source: 'provider',
|
|
1456
|
-
totalTokens,
|
|
1457
|
-
};
|
|
1458
|
-
}
|
|
1459
|
-
function readCodexUsageNumber(value, camelKey, snakeKey) {
|
|
1460
|
-
const raw = value[camelKey] ?? value[snakeKey];
|
|
1461
|
-
return typeof raw === 'number' && Number.isSafeInteger(raw) && raw >= 0
|
|
1462
|
-
? raw
|
|
1463
|
-
: null;
|
|
1464
|
-
}
|
|
1465
1732
|
// Non-turn compaction of the warm Codex thread, for idle-time maintenance.
|
|
1466
1733
|
// Modeled on the other warm-slot lifecycle exports above. Failure handling is
|
|
1467
1734
|
// deliberately blunt: any non-success poisons (kills) the warm process. A
|
|
@@ -1509,7 +1776,11 @@ export async function compactWarmCodexThread(input) {
|
|
|
1509
1776
|
};
|
|
1510
1777
|
}
|
|
1511
1778
|
processInstance.reserveTurn();
|
|
1512
|
-
return {
|
|
1779
|
+
return {
|
|
1780
|
+
kind: 'reserved',
|
|
1781
|
+
processInstance,
|
|
1782
|
+
vitals,
|
|
1783
|
+
};
|
|
1513
1784
|
});
|
|
1514
1785
|
if (reservation.kind !== 'reserved') {
|
|
1515
1786
|
return reservation;
|
|
@@ -1520,7 +1791,6 @@ export async function compactWarmCodexThread(input) {
|
|
|
1520
1791
|
let compactRequestAccepted = false;
|
|
1521
1792
|
let compactStartedItemId = null;
|
|
1522
1793
|
let compactCompletionBuffered = false;
|
|
1523
|
-
let providerUsage = null;
|
|
1524
1794
|
let compactionSettleReason = null;
|
|
1525
1795
|
let resolveCompaction;
|
|
1526
1796
|
const compactionSettled = new Promise((resolve) => {
|
|
@@ -1591,8 +1861,6 @@ export async function compactWarmCodexThread(input) {
|
|
|
1591
1861
|
if (!compactRequestAccepted) {
|
|
1592
1862
|
return;
|
|
1593
1863
|
}
|
|
1594
|
-
providerUsage = readCodexCompactionCompletionProviderUsage(message, vitals.threadId)
|
|
1595
|
-
?? providerUsage;
|
|
1596
1864
|
settleCompaction('compacted');
|
|
1597
1865
|
return;
|
|
1598
1866
|
}
|
|
@@ -1605,8 +1873,6 @@ export async function compactWarmCodexThread(input) {
|
|
|
1605
1873
|
if (compactStartedItemId === null || itemId !== compactStartedItemId) {
|
|
1606
1874
|
return;
|
|
1607
1875
|
}
|
|
1608
|
-
providerUsage = readCodexCompactionCompletionProviderUsage(message, vitals.threadId)
|
|
1609
|
-
?? providerUsage;
|
|
1610
1876
|
if (compactRequestAccepted) {
|
|
1611
1877
|
settleCompaction('compacted');
|
|
1612
1878
|
}
|
|
@@ -1658,8 +1924,7 @@ export async function compactWarmCodexThread(input) {
|
|
|
1658
1924
|
threadContextTokensBefore: vitals.lastInputTokens,
|
|
1659
1925
|
threadId: vitals.threadId,
|
|
1660
1926
|
serviceTier: vitals.serviceTier,
|
|
1661
|
-
usage:
|
|
1662
|
-
?? estimateCodexWarmThreadCompactionUsage(vitals.lastInputTokens),
|
|
1927
|
+
usage: estimateCodexWarmThreadCompactionUsage(vitals.lastInputTokens),
|
|
1663
1928
|
};
|
|
1664
1929
|
}
|
|
1665
1930
|
await processInstance.poison('idle-compaction-failed');
|
|
@@ -1694,19 +1959,39 @@ function hashCodexRawString(value) {
|
|
|
1694
1959
|
.digest('hex');
|
|
1695
1960
|
}
|
|
1696
1961
|
function readCodexEventMethod(message) {
|
|
1697
|
-
return typeof message.method === 'string'
|
|
1698
|
-
? message.method
|
|
1699
|
-
: typeof message.type === 'string'
|
|
1700
|
-
? message.type
|
|
1701
|
-
: typeof message.event === 'string'
|
|
1702
|
-
? message.event
|
|
1703
|
-
: null;
|
|
1962
|
+
return typeof message.method === 'string' ? message.method : null;
|
|
1704
1963
|
}
|
|
1705
1964
|
function isCodexTurnStartedMethod(method) {
|
|
1706
|
-
return method === 'turn/started'
|
|
1965
|
+
return method === 'turn/started';
|
|
1966
|
+
}
|
|
1967
|
+
function createCodexSubagentTurnUsageKey(input) {
|
|
1968
|
+
return `${input.threadId}\u0000${input.turnId}`;
|
|
1969
|
+
}
|
|
1970
|
+
function readCodexSubagentEffectiveMetadataResult(input) {
|
|
1971
|
+
if (extractCodexThreadIdFromResult(input.result) !== input.threadId) {
|
|
1972
|
+
return null;
|
|
1973
|
+
}
|
|
1974
|
+
const result = readCodexRecord(input.result);
|
|
1975
|
+
if (!result) {
|
|
1976
|
+
return null;
|
|
1977
|
+
}
|
|
1978
|
+
const model = readCodexNonEmptyString(result.model);
|
|
1979
|
+
const modelProvider = readCodexNonEmptyString(result.modelProvider);
|
|
1980
|
+
const serviceTier = result.serviceTier;
|
|
1981
|
+
if (!model ||
|
|
1982
|
+
!modelProvider ||
|
|
1983
|
+
!Object.hasOwn(result, 'serviceTier') ||
|
|
1984
|
+
(serviceTier !== null && serviceTier !== 'flex')) {
|
|
1985
|
+
return null;
|
|
1986
|
+
}
|
|
1987
|
+
return {
|
|
1988
|
+
model,
|
|
1989
|
+
modelProvider,
|
|
1990
|
+
serviceTier,
|
|
1991
|
+
};
|
|
1707
1992
|
}
|
|
1708
1993
|
function isCodexTurnCompletedMethod(method) {
|
|
1709
|
-
return method === 'turn/completed'
|
|
1994
|
+
return method === 'turn/completed';
|
|
1710
1995
|
}
|
|
1711
1996
|
function buildCodexTransportDiagnosticsTraceEvent(input) {
|
|
1712
1997
|
const source = readCodexTransportDiagnosticSource(input.message, input.method);
|
|
@@ -1839,6 +2124,7 @@ function readCodexDynamicToolKey(message) {
|
|
|
1839
2124
|
return namespace && tool ? `${namespace}.${tool}` : null;
|
|
1840
2125
|
}
|
|
1841
2126
|
async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
2127
|
+
const providerStartCriticalPath = stampAssistantProviderStartCriticalPath(input.providerStartCriticalPath, 'codexAppServerProcessTurnStartedAtMonotonicMs');
|
|
1842
2128
|
const hostedCanonicalWritePort = readHostedCanonicalWritePort();
|
|
1843
2129
|
let stdout = '';
|
|
1844
2130
|
let stderr = '';
|
|
@@ -1851,7 +2137,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
1851
2137
|
const offeredDynamicToolKeys = new Set(input.dynamicTools.map((tool) => `${tool.namespace}.${tool.name}`));
|
|
1852
2138
|
let codexThreadId = null;
|
|
1853
2139
|
let turnId = null;
|
|
1854
|
-
const isReusedWarmProcess = codexProcess.
|
|
2140
|
+
const isReusedWarmProcess = codexProcess.hasCompletedTurn;
|
|
1855
2141
|
// Completed final-phase agent messages that were followed by a steered
|
|
1856
2142
|
// user-message item and then superseded by a newer response segment in the
|
|
1857
2143
|
// same turn. A closed segment is held as a candidate until newer text or
|
|
@@ -1862,9 +2148,14 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
1862
2148
|
let firstAssistantResponseCompleted = false;
|
|
1863
2149
|
let trailingSteerCandidate = null;
|
|
1864
2150
|
let completedUserMessageOrdinal = -1;
|
|
2151
|
+
const workoutDeliveryContext = createCodexWorkoutDeliveryContextTracker({
|
|
2152
|
+
contextReferences: input.trustedContextReferences,
|
|
2153
|
+
});
|
|
1865
2154
|
let lastEventError = null;
|
|
1866
2155
|
let lastEventErrorInfo = null;
|
|
1867
2156
|
let responseMedia = [];
|
|
2157
|
+
let responseCard = null;
|
|
2158
|
+
let responseCardTextFallback = null;
|
|
1868
2159
|
const assistantStyleSettingsOverlay = {
|
|
1869
2160
|
settings: {},
|
|
1870
2161
|
};
|
|
@@ -1876,25 +2167,43 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
1876
2167
|
const reservedNoReplyDeliveryContextOrdinals = new Set();
|
|
1877
2168
|
const additionalUsages = [];
|
|
1878
2169
|
let nextDynamicToolUsageOrdinal = (input.providerRequestOrdinal ?? 0) + 1;
|
|
1879
|
-
// Trusted turn-scoped
|
|
1880
|
-
//
|
|
2170
|
+
// Trusted turn-scoped provider-call ceilings: one counter per assistant turn,
|
|
2171
|
+
// owned here and threaded into the dynamic-tool executor.
|
|
2172
|
+
const analyzeVideoTurnState = createAnalyzeVideoTurnState();
|
|
1881
2173
|
const askGrokTurnState = createAskGrokTurnState();
|
|
1882
|
-
const
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
2174
|
+
const groupSharedReadTurnState = {
|
|
2175
|
+
currentSenderDecisionByMessageRef: new Map(),
|
|
2176
|
+
invalid: false,
|
|
2177
|
+
readProjectionScopeKeyBatches: [],
|
|
2178
|
+
roster: null,
|
|
2179
|
+
};
|
|
2180
|
+
const automationRelativeDateReferenceWindows = [
|
|
2181
|
+
input.automationRelativeDateReferenceWindow
|
|
2182
|
+
? { ...input.automationRelativeDateReferenceWindow }
|
|
2183
|
+
: null,
|
|
2184
|
+
];
|
|
2185
|
+
const generateSongTurnState = input.generateSongPolicy
|
|
2186
|
+
? {
|
|
2187
|
+
attemptCount: 0,
|
|
2188
|
+
policy: input.generateSongPolicy,
|
|
2189
|
+
}
|
|
2190
|
+
: null;
|
|
2191
|
+
const subagentTokenUsageByTurn = new Map();
|
|
1887
2192
|
let rolloutRelativePath = null;
|
|
1888
2193
|
let providerActionCount = 0;
|
|
1889
2194
|
const providerActionItemIds = new Set();
|
|
1890
2195
|
const jsonEvents = [];
|
|
1891
2196
|
const runtimeIssueInputs = [];
|
|
2197
|
+
const actionRuntimeIssueTracker = createCodexActionRuntimeIssueTracker();
|
|
1892
2198
|
let computerToolsLockedAfterUserPause = false;
|
|
2199
|
+
let requiredFinalResponseFallback = null;
|
|
1893
2200
|
const requiredVaultFileApprovalUrls = [];
|
|
2201
|
+
const requiredAutomationLocalAtClarifications = new Map();
|
|
1894
2202
|
const actionDiagnostics = input.onTraceEvent
|
|
1895
2203
|
? createCodexActionDiagnosticsReducer()
|
|
1896
2204
|
: null;
|
|
1897
2205
|
let actionDiagnosticsTraceEmitted = false;
|
|
2206
|
+
let requiredFinalResponseFallbackOutcome = null;
|
|
1898
2207
|
const assistantStreams = new Map();
|
|
1899
2208
|
const assistantStreamOrder = [];
|
|
1900
2209
|
const externallyVisibleAssistantOutputDeliveryContexts = new Set();
|
|
@@ -1907,7 +2216,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
1907
2216
|
let codexTimingTurnStartAckElapsedMs = null;
|
|
1908
2217
|
let codexTimingTurnStartedNotificationElapsedMs = null;
|
|
1909
2218
|
let codexTimingTurnCompletedNotificationElapsedMs = null;
|
|
2219
|
+
let currentTurnStartedNotificationObserved = false;
|
|
1910
2220
|
let liveInterruptRequested = false;
|
|
2221
|
+
let terminalNoReplyInterruptRequested = false;
|
|
1911
2222
|
let completeTurn = null;
|
|
1912
2223
|
let failTurn = null;
|
|
1913
2224
|
let liveTurnOpen = false;
|
|
@@ -1916,6 +2227,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
1916
2227
|
let contextCompactionProgressNotified = false;
|
|
1917
2228
|
let contextCompactionProgressPending = false;
|
|
1918
2229
|
let releaseLiveTurn = () => { };
|
|
2230
|
+
const pendingDynamicToolRequests = new Set();
|
|
1919
2231
|
const pendingProgressDeliveries = new Set();
|
|
1920
2232
|
let dynamicToolExecutionChain = Promise.resolve();
|
|
1921
2233
|
const dynamicToolAbortController = new AbortController();
|
|
@@ -1961,22 +2273,23 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
1961
2273
|
stderr,
|
|
1962
2274
|
});
|
|
1963
2275
|
};
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
subagentTokenUsageByThread,
|
|
1974
|
-
});
|
|
2276
|
+
const buildSubagentUsageDrafts = () => input.onAdditionalUsage
|
|
2277
|
+
? []
|
|
2278
|
+
: extractCodexSubagentUsageDrafts({
|
|
2279
|
+
modelProvider: normalizeNullableString(input.modelProvider) ?? null,
|
|
2280
|
+
ordinalStart: nextDynamicToolUsageOrdinal,
|
|
2281
|
+
parentModel: normalizeNullableString(input.model) ?? null,
|
|
2282
|
+
serviceTier: input.serviceTier ?? null,
|
|
2283
|
+
subagentTokenUsageByTurn,
|
|
2284
|
+
});
|
|
1975
2285
|
const hasNoReplyFinalActionPatch = () => finalActionPatches.some((entry) => entry.patch.kind === 'none');
|
|
1976
2286
|
const listNoReplyFinalActionPatchOrdinals = () => [...new Set(finalActionPatches
|
|
1977
2287
|
.filter((entry) => entry.patch.kind === 'none')
|
|
1978
2288
|
.map((entry) => entry.deliveryContextOrdinal))].sort((left, right) => left - right);
|
|
1979
|
-
const hasRequiredUserVisibleOutput = () => computerToolsLockedAfterUserPause ||
|
|
2289
|
+
const hasRequiredUserVisibleOutput = () => computerToolsLockedAfterUserPause ||
|
|
2290
|
+
requiredFinalResponseFallback !== null ||
|
|
2291
|
+
requiredAutomationLocalAtClarifications.size > 0 ||
|
|
2292
|
+
requiredVaultFileApprovalUrls.length > 0;
|
|
1980
2293
|
const settleNoReplyFinalActions = async () => {
|
|
1981
2294
|
if (hasRequiredUserVisibleOutput() || noReplySettlementStarted) {
|
|
1982
2295
|
return;
|
|
@@ -2083,7 +2396,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2083
2396
|
rawEvent: {
|
|
2084
2397
|
schema: CODEX_APP_SERVER_TIMING_TRACE_SCHEMA,
|
|
2085
2398
|
type: CODEX_APP_SERVER_TIMING_TRACE_TYPE,
|
|
2086
|
-
...(stage === 'initialized'
|
|
2399
|
+
...(stage === 'initialized' || stage === 'preinitialized'
|
|
2087
2400
|
? {
|
|
2088
2401
|
codexTimingColdStartReason: codexProcess.coldStartReason,
|
|
2089
2402
|
}
|
|
@@ -2269,22 +2582,53 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2269
2582
|
if (!trailingSteerCandidate) {
|
|
2270
2583
|
return;
|
|
2271
2584
|
}
|
|
2272
|
-
|
|
2585
|
+
const response = trailingSteerCandidate.card
|
|
2586
|
+
? renderAssistantResponseCardText(trailingSteerCandidate.card)
|
|
2587
|
+
: trailingSteerCandidate.cardTextFallback
|
|
2588
|
+
? renderAssistantWorkoutResponseCardText(trailingSteerCandidate.cardTextFallback)
|
|
2589
|
+
: trailingSteerCandidate.response;
|
|
2590
|
+
const transcriptResponse = trailingSteerCandidate.card
|
|
2591
|
+
? renderAssistantResponseCardTranscriptText(trailingSteerCandidate.card)
|
|
2592
|
+
: trailingSteerCandidate.cardTextFallback
|
|
2593
|
+
? renderAssistantWorkoutResponseCardTranscriptText(trailingSteerCandidate.cardTextFallback)
|
|
2594
|
+
: response;
|
|
2595
|
+
precedingAgentMessageSegments.push({
|
|
2596
|
+
...(trailingSteerCandidate.contextReferences === undefined
|
|
2597
|
+
? {}
|
|
2598
|
+
: {
|
|
2599
|
+
contextReferences: trailingSteerCandidate.contextReferences,
|
|
2600
|
+
}),
|
|
2601
|
+
deliveryContextOrdinal: trailingSteerCandidate.deliveryContextOrdinal,
|
|
2602
|
+
media: [...trailingSteerCandidate.media],
|
|
2603
|
+
response,
|
|
2604
|
+
...(transcriptResponse === response ? {} : { transcriptResponse }),
|
|
2605
|
+
...(trailingSteerCandidate.targetInputId
|
|
2606
|
+
? { targetInputId: trailingSteerCandidate.targetInputId }
|
|
2607
|
+
: {}),
|
|
2608
|
+
});
|
|
2273
2609
|
trailingSteerCandidate = null;
|
|
2274
2610
|
};
|
|
2275
|
-
const notifyProviderRequestStarted = () => {
|
|
2611
|
+
const notifyProviderRequestStarted = (providedStartedAtMonotonicMs) => {
|
|
2276
2612
|
if (providerRequestStartedNotified) {
|
|
2277
2613
|
return;
|
|
2278
2614
|
}
|
|
2279
2615
|
providerRequestStartedNotified = true;
|
|
2616
|
+
const providerStartedAtMonotonicMs = providedStartedAtMonotonicMs
|
|
2617
|
+
?? readAssistantProviderStartMonotonicTickMs();
|
|
2280
2618
|
const startedAtMs = Date.now();
|
|
2281
2619
|
codexProviderRequestStartedAtMs = startedAtMs;
|
|
2620
|
+
const completedProviderStartCriticalPath = input.providerRequestOrdinal === 0
|
|
2621
|
+
? completeAssistantProviderStartCriticalPath(providerStartCriticalPath, providerStartedAtMonotonicMs)
|
|
2622
|
+
: null;
|
|
2282
2623
|
notifyCodexAppServerProviderRequestStartedBestEffort({
|
|
2283
2624
|
hook: input.onProviderRequestStarted ?? null,
|
|
2284
2625
|
startedAt: new Date(startedAtMs).toISOString(),
|
|
2285
2626
|
timing: {
|
|
2286
2627
|
...codexAppServerProviderStartTiming,
|
|
2287
2628
|
codexAppServerPreProviderMs: Math.max(0, startedAtMs - codexAppServerTurnStartedAt),
|
|
2629
|
+
...(completedProviderStartCriticalPath
|
|
2630
|
+
? { providerStartCriticalPath: completedProviderStartCriticalPath }
|
|
2631
|
+
: {}),
|
|
2288
2632
|
},
|
|
2289
2633
|
});
|
|
2290
2634
|
};
|
|
@@ -2312,6 +2656,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2312
2656
|
try {
|
|
2313
2657
|
contextCompactionProgressPending = true;
|
|
2314
2658
|
progressPromise = progressDelivery.send(text, {
|
|
2659
|
+
deliveryContextOrdinal,
|
|
2315
2660
|
required: true,
|
|
2316
2661
|
source: 'system',
|
|
2317
2662
|
});
|
|
@@ -2346,6 +2691,21 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2346
2691
|
});
|
|
2347
2692
|
pendingProgressDeliveries.add(tracked);
|
|
2348
2693
|
};
|
|
2694
|
+
const trackDynamicToolRequest = (promise) => {
|
|
2695
|
+
const tracked = promise
|
|
2696
|
+
.catch((error) => {
|
|
2697
|
+
rejectOnce(error);
|
|
2698
|
+
})
|
|
2699
|
+
.finally(() => {
|
|
2700
|
+
pendingDynamicToolRequests.delete(tracked);
|
|
2701
|
+
});
|
|
2702
|
+
pendingDynamicToolRequests.add(tracked);
|
|
2703
|
+
};
|
|
2704
|
+
const drainPendingDynamicToolRequests = async () => {
|
|
2705
|
+
while (pendingDynamicToolRequests.size > 0) {
|
|
2706
|
+
await Promise.all([...pendingDynamicToolRequests]);
|
|
2707
|
+
}
|
|
2708
|
+
};
|
|
2349
2709
|
const drainPendingProgressDeliveries = async () => {
|
|
2350
2710
|
while (pendingProgressDeliveries.size > 0) {
|
|
2351
2711
|
await waitForCodexProgressDrain([
|
|
@@ -2376,9 +2736,60 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2376
2736
|
if (hasAcceptedNoReplyPatchForDeliveryContext(deliveryContextOrdinal)) {
|
|
2377
2737
|
throw new VaultCliError('ASSISTANT_RESPONSE_MEDIA_AFTER_NO_REPLY', 'Response media cannot be attached after finish_without_reply.');
|
|
2378
2738
|
}
|
|
2379
|
-
|
|
2739
|
+
const nextMedia = patch.op === 'replace'
|
|
2380
2740
|
? patch.media
|
|
2381
2741
|
: normalizeAssistantResponseMediaList([...responseMedia, ...patch.media]);
|
|
2742
|
+
if (nextMedia.length > ASSISTANT_AUTHORED_RESPONSE_MEDIA_MAX_ITEMS) {
|
|
2743
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_MEDIA_LIMIT_EXCEEDED', `Assistant responses may attach at most ${ASSISTANT_AUTHORED_RESPONSE_MEDIA_MAX_ITEMS} media items.`);
|
|
2744
|
+
}
|
|
2745
|
+
if (responseCard !== null && nextMedia.length > 0) {
|
|
2746
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_MEDIA_CONFLICT', 'Response media cannot be combined with a response card.');
|
|
2747
|
+
}
|
|
2748
|
+
if (responseCardTextFallback !== null && nextMedia.length > 0) {
|
|
2749
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_MEDIA_CONFLICT', 'Response media cannot be combined with response card text recovery.');
|
|
2750
|
+
}
|
|
2751
|
+
responseMedia = nextMedia;
|
|
2752
|
+
};
|
|
2753
|
+
const applyResponseCardPatch = (card, deliveryContextOrdinal) => {
|
|
2754
|
+
if (deliveryContextOrdinal !== 0 ||
|
|
2755
|
+
currentDeliveryContextOrdinal() !== deliveryContextOrdinal) {
|
|
2756
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_CONTEXT_ADVANCED', 'A response card cannot attach after accepted input advances the response context.');
|
|
2757
|
+
}
|
|
2758
|
+
if (hasAcceptedNoReplyPatchForDeliveryContext(deliveryContextOrdinal)) {
|
|
2759
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_AFTER_NO_REPLY', 'A response card cannot be attached after finish_without_reply.');
|
|
2760
|
+
}
|
|
2761
|
+
if (responseCard !== null) {
|
|
2762
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_LIMIT_REACHED', 'Only one response card may be attached to a final response.');
|
|
2763
|
+
}
|
|
2764
|
+
if (responseCardTextFallback !== null) {
|
|
2765
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_LIMIT_REACHED', 'Only one response card outcome may be attached to a final response.');
|
|
2766
|
+
}
|
|
2767
|
+
if (responseMedia.length > 0) {
|
|
2768
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_MEDIA_CONFLICT', 'A response card cannot be combined with response media.');
|
|
2769
|
+
}
|
|
2770
|
+
if (requiredVaultFileApprovalUrls.length > 0) {
|
|
2771
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_VAULT_FILE_CONFLICT', 'A response card cannot replace a required vault-file approval link.');
|
|
2772
|
+
}
|
|
2773
|
+
responseCard = card;
|
|
2774
|
+
};
|
|
2775
|
+
const applyResponseCardTextFallbackPatch = (card, deliveryContextOrdinal) => {
|
|
2776
|
+
if (deliveryContextOrdinal !== 0 ||
|
|
2777
|
+
currentDeliveryContextOrdinal() !== deliveryContextOrdinal) {
|
|
2778
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_CONTEXT_ADVANCED', 'Response card text recovery cannot attach after accepted input advances the response context.');
|
|
2779
|
+
}
|
|
2780
|
+
if (hasAcceptedNoReplyPatchForDeliveryContext(deliveryContextOrdinal)) {
|
|
2781
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_AFTER_NO_REPLY', 'Response card text recovery cannot attach after finish_without_reply.');
|
|
2782
|
+
}
|
|
2783
|
+
if (responseCard !== null || responseCardTextFallback !== null) {
|
|
2784
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_LIMIT_REACHED', 'Only one response card outcome may be attached to a final response.');
|
|
2785
|
+
}
|
|
2786
|
+
if (responseMedia.length > 0) {
|
|
2787
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_MEDIA_CONFLICT', 'Response card text recovery cannot be combined with response media.');
|
|
2788
|
+
}
|
|
2789
|
+
if (requiredVaultFileApprovalUrls.length > 0) {
|
|
2790
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_VAULT_FILE_CONFLICT', 'Response card text recovery cannot replace a required vault-file approval link.');
|
|
2791
|
+
}
|
|
2792
|
+
responseCardTextFallback = card;
|
|
2382
2793
|
};
|
|
2383
2794
|
const canApplyNoReplyPatch = (deliveryContextOrdinal) => {
|
|
2384
2795
|
const trailingSteerCandidateOrdinal = trailingSteerCandidate?.deliveryContextOrdinal;
|
|
@@ -2393,6 +2804,12 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2393
2804
|
if (responseMedia.length > 0) {
|
|
2394
2805
|
return false;
|
|
2395
2806
|
}
|
|
2807
|
+
if (responseCard !== null) {
|
|
2808
|
+
return false;
|
|
2809
|
+
}
|
|
2810
|
+
if (responseCardTextFallback !== null) {
|
|
2811
|
+
return false;
|
|
2812
|
+
}
|
|
2396
2813
|
if (precedingAgentMessageSegments.some((segment) => segment.deliveryContextOrdinal < deliveryContextOrdinal)) {
|
|
2397
2814
|
return false;
|
|
2398
2815
|
}
|
|
@@ -2451,6 +2868,17 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2451
2868
|
reservedNoReplyDeliveryContextOrdinals.delete(deliveryContextOrdinal);
|
|
2452
2869
|
return true;
|
|
2453
2870
|
};
|
|
2871
|
+
const applyTerminalExternalEffectNoReplyPatch = (patch, deliveryContextOrdinal) => {
|
|
2872
|
+
// A host-authorized external effect has crossed its delivery boundary.
|
|
2873
|
+
// Its terminal disposition is not a model-requested finish_without_reply
|
|
2874
|
+
// and must not depend on trace callback visibility.
|
|
2875
|
+
finalActionPatches = [
|
|
2876
|
+
...finalActionPatches.filter((action) => action.deliveryContextOrdinal !== deliveryContextOrdinal),
|
|
2877
|
+
{ deliveryContextOrdinal, patch },
|
|
2878
|
+
];
|
|
2879
|
+
replyTargetPatches = replyTargetPatches.filter((entry) => entry.deliveryContextOrdinal !== deliveryContextOrdinal);
|
|
2880
|
+
reservedNoReplyDeliveryContextOrdinals.delete(deliveryContextOrdinal);
|
|
2881
|
+
};
|
|
2454
2882
|
const resolveFinalActionPatch = (deliveryContextOrdinal) => finalActionPatches.find((action) => action.deliveryContextOrdinal === deliveryContextOrdinal)?.patch ?? null;
|
|
2455
2883
|
const resolveReplyTargetPatch = (deliveryContextOrdinal) => replyTargetPatches.find((entry) => entry.deliveryContextOrdinal === deliveryContextOrdinal)?.patch ?? null;
|
|
2456
2884
|
const shouldSuppressDeliveryContext = (deliveryContextOrdinal) => {
|
|
@@ -2463,7 +2891,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2463
2891
|
const acceptJsonEvent = (message) => {
|
|
2464
2892
|
jsonEvents.push(message);
|
|
2465
2893
|
};
|
|
2466
|
-
const handleAcceptedServerRequest = (message, requestId) => {
|
|
2894
|
+
const handleAcceptedServerRequest = async (message, requestId) => {
|
|
2467
2895
|
acceptJsonEvent(message);
|
|
2468
2896
|
if (turnTerminal) {
|
|
2469
2897
|
void tryWriteRpcMessage({
|
|
@@ -2480,7 +2908,40 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2480
2908
|
});
|
|
2481
2909
|
return;
|
|
2482
2910
|
}
|
|
2483
|
-
|
|
2911
|
+
if (message.method !== 'item/tool/call') {
|
|
2912
|
+
denyUnsupportedCodexServerRequest({
|
|
2913
|
+
message,
|
|
2914
|
+
requestId,
|
|
2915
|
+
writeRpcMessage: (payload) => {
|
|
2916
|
+
void tryWriteRpcMessage(payload);
|
|
2917
|
+
},
|
|
2918
|
+
});
|
|
2919
|
+
return;
|
|
2920
|
+
}
|
|
2921
|
+
const dynamicToolRequestDeliveryContextOrdinal = currentDeliveryContextOrdinal();
|
|
2922
|
+
let dynamicToolRuntime;
|
|
2923
|
+
try {
|
|
2924
|
+
dynamicToolRuntime = await loadMurphDynamicToolRuntime();
|
|
2925
|
+
}
|
|
2926
|
+
catch {
|
|
2927
|
+
void tryWriteRpcMessage({
|
|
2928
|
+
id: requestId,
|
|
2929
|
+
error: {
|
|
2930
|
+
code: -32000,
|
|
2931
|
+
message: 'Dynamic tool runtime is unavailable.',
|
|
2932
|
+
},
|
|
2933
|
+
});
|
|
2934
|
+
return;
|
|
2935
|
+
}
|
|
2936
|
+
const { claimCurrentSenderTurnDecision, executeMurphDynamicToolRequest, isComputerDynamicToolRequest, readMurphDynamicToolRequest, } = dynamicToolRuntime;
|
|
2937
|
+
const dynamicToolRequest = readMurphDynamicToolRequest(message, {
|
|
2938
|
+
automationRelativeDateReferenceWindow: automationRelativeDateReferenceWindows[dynamicToolRequestDeliveryContextOrdinal] ?? null,
|
|
2939
|
+
responseCardAudience: input.groupConversation === true
|
|
2940
|
+
? 'group'
|
|
2941
|
+
: input.groupConversation === false
|
|
2942
|
+
? 'private'
|
|
2943
|
+
: null,
|
|
2944
|
+
});
|
|
2484
2945
|
if (!dynamicToolRequest) {
|
|
2485
2946
|
denyUnsupportedCodexServerRequest({
|
|
2486
2947
|
message,
|
|
@@ -2543,6 +3004,26 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2543
3004
|
reason: 'invalid_arguments',
|
|
2544
3005
|
}));
|
|
2545
3006
|
}
|
|
3007
|
+
const currentSenderDecisionClaim = claimCurrentSenderTurnDecision({
|
|
3008
|
+
request: dynamicToolRequest,
|
|
3009
|
+
turnState: groupSharedReadTurnState,
|
|
3010
|
+
});
|
|
3011
|
+
if (currentSenderDecisionClaim === 'conflict'
|
|
3012
|
+
|| currentSenderDecisionClaim === 'unavailable') {
|
|
3013
|
+
void tryWriteRpcMessage({
|
|
3014
|
+
id: requestId,
|
|
3015
|
+
result: {
|
|
3016
|
+
success: false,
|
|
3017
|
+
contentItems: [{
|
|
3018
|
+
type: 'inputText',
|
|
3019
|
+
text: currentSenderDecisionClaim === 'conflict'
|
|
3020
|
+
? 'current-sender request conflicts with an earlier decision for this Message'
|
|
3021
|
+
: 'current-sender decision authority is unavailable for this turn',
|
|
3022
|
+
}],
|
|
3023
|
+
},
|
|
3024
|
+
});
|
|
3025
|
+
return;
|
|
3026
|
+
}
|
|
2546
3027
|
if (input.allowFinishWithoutReply === false &&
|
|
2547
3028
|
(dynamicToolRequest.kind === 'finish-without-reply' ||
|
|
2548
3029
|
dynamicToolRequest.kind === 'invalid-finish-without-reply-arguments')) {
|
|
@@ -2608,7 +3089,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2608
3089
|
});
|
|
2609
3090
|
return;
|
|
2610
3091
|
}
|
|
2611
|
-
const dynamicToolRequestDeliveryContextOrdinal = currentDeliveryContextOrdinal();
|
|
2612
3092
|
const dynamicToolDeliveryContextOrdinal = dynamicToolRequest.kind === 'finish-without-reply' ||
|
|
2613
3093
|
dynamicToolRequest.kind === 'react-to-message' ||
|
|
2614
3094
|
dynamicToolRequest.kind === 'select-reply-target' ||
|
|
@@ -2668,6 +3148,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2668
3148
|
computerToolsLockedAfterUserPause = true;
|
|
2669
3149
|
closeLiveTurn();
|
|
2670
3150
|
}
|
|
3151
|
+
let dynamicToolRequestSettled = false;
|
|
2671
3152
|
const runDynamicTool = () => withHostedCanonicalWritePort(hostedCanonicalWritePort, async () => {
|
|
2672
3153
|
const existingFinalAction = resolveFinalActionPatch(dynamicToolRequestDeliveryContextOrdinal);
|
|
2673
3154
|
const vaultFileOwnsFinalAction = existingFinalAction?.kind === 'none' &&
|
|
@@ -2676,7 +3157,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2676
3157
|
!vaultFileOwnsFinalAction;
|
|
2677
3158
|
if (shouldSuppressDeliveryContext(dynamicToolRequestDeliveryContextOrdinal) &&
|
|
2678
3159
|
!vaultFileMayClassifyAfterGenericNoReply &&
|
|
2679
|
-
|
|
3160
|
+
isResponseAttachmentDynamicToolRequest(dynamicToolRequest)) {
|
|
2680
3161
|
return {
|
|
2681
3162
|
rpcResult: {
|
|
2682
3163
|
contentItems: [{
|
|
@@ -2692,7 +3173,65 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2692
3173
|
};
|
|
2693
3174
|
}
|
|
2694
3175
|
const hostedToolContext = resolveCodexAppServerHostedToolContext(input);
|
|
2695
|
-
await hostedToolContext?.beforeToolExecution?.();
|
|
3176
|
+
await hostedToolContext?.beforeToolExecution?.(dynamicToolRequestDeliveryContextOrdinal);
|
|
3177
|
+
let requestedLocalAtRecovery = null;
|
|
3178
|
+
if ((dynamicToolRequest.kind === 'automation' ||
|
|
3179
|
+
dynamicToolRequest.kind === 'invalid-automation-arguments') &&
|
|
3180
|
+
dynamicToolRequest.localAtRecovery) {
|
|
3181
|
+
requestedLocalAtRecovery = dynamicToolRequest.localAtRecovery;
|
|
3182
|
+
}
|
|
3183
|
+
else if (dynamicToolRequest.kind ===
|
|
3184
|
+
'automation-local-at-recovery-dismissal') {
|
|
3185
|
+
requestedLocalAtRecovery = {
|
|
3186
|
+
recoveryKey: dynamicToolRequest.recoveryKey,
|
|
3187
|
+
resolvedLocalDate: dynamicToolRequest.resolvedLocalDate,
|
|
3188
|
+
};
|
|
3189
|
+
}
|
|
3190
|
+
if (requestedLocalAtRecovery) {
|
|
3191
|
+
const clarificationKey = buildRequiredAutomationLocalAtClarificationKey({
|
|
3192
|
+
resolvedLocalDate: requestedLocalAtRecovery.resolvedLocalDate,
|
|
3193
|
+
targetKey: requestedLocalAtRecovery.recoveryKey,
|
|
3194
|
+
});
|
|
3195
|
+
if (!requiredAutomationLocalAtClarifications.has(clarificationKey)) {
|
|
3196
|
+
return {
|
|
3197
|
+
rpcResult: {
|
|
3198
|
+
contentItems: [{
|
|
3199
|
+
text: 'local-time recovery key or trusted date is not pending in this active root turn',
|
|
3200
|
+
type: 'inputText',
|
|
3201
|
+
}],
|
|
3202
|
+
success: false,
|
|
3203
|
+
},
|
|
3204
|
+
};
|
|
3205
|
+
}
|
|
3206
|
+
if (dynamicToolRequest.kind ===
|
|
3207
|
+
'automation-local-at-recovery-dismissal') {
|
|
3208
|
+
requiredAutomationLocalAtClarifications.delete(clarificationKey);
|
|
3209
|
+
return {
|
|
3210
|
+
rpcResult: {
|
|
3211
|
+
contentItems: [{
|
|
3212
|
+
text: 'local-time reminder recovery dismissed; no automation was changed',
|
|
3213
|
+
type: 'inputText',
|
|
3214
|
+
}],
|
|
3215
|
+
success: true,
|
|
3216
|
+
},
|
|
3217
|
+
};
|
|
3218
|
+
}
|
|
3219
|
+
}
|
|
3220
|
+
if (dynamicToolRequest.kind === 'invalid-automation-arguments' &&
|
|
3221
|
+
(dynamicToolRequest.safeFailureCode === 'local_at_gap' ||
|
|
3222
|
+
dynamicToolRequest.safeFailureCode === 'local_at_fold') &&
|
|
3223
|
+
dynamicToolRequest.resolvedLocalDate &&
|
|
3224
|
+
dynamicToolRequest.localAtTargetKey &&
|
|
3225
|
+
dynamicToolRequest.localAtTargetLabel &&
|
|
3226
|
+
!dynamicToolRequest.localAtRecovery) {
|
|
3227
|
+
const requirement = {
|
|
3228
|
+
code: dynamicToolRequest.safeFailureCode,
|
|
3229
|
+
resolvedLocalDate: dynamicToolRequest.resolvedLocalDate,
|
|
3230
|
+
targetKey: dynamicToolRequest.localAtTargetKey,
|
|
3231
|
+
targetLabel: dynamicToolRequest.localAtTargetLabel,
|
|
3232
|
+
};
|
|
3233
|
+
requiredAutomationLocalAtClarifications.set(buildRequiredAutomationLocalAtClarificationKey(requirement), requirement);
|
|
3234
|
+
}
|
|
2696
3235
|
const result = await executeMurphDynamicToolRequest({
|
|
2697
3236
|
authorizeAcceptedMessageTarget: input.authorizeAcceptedMessageTarget ?? null,
|
|
2698
3237
|
assistantStyleSettingsOverlay,
|
|
@@ -2701,6 +3240,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2701
3240
|
groupRoomModelAvailable: input.dynamicTools.some((tool) => tool.namespace === MURPH_GROUP_ROOM_MODEL_TOOL.namespace &&
|
|
2702
3241
|
tool.name === MURPH_GROUP_ROOM_MODEL_TOOL.name),
|
|
2703
3242
|
groupRoomModelMaintenanceAuthorized: input.groupRoomModelMaintenanceAuthorized === true,
|
|
3243
|
+
memberMemoryAvailable: input.dynamicTools.some((tool) => tool.namespace === MURPH_MEMBER_MEMORY_TOOL.namespace &&
|
|
3244
|
+
tool.name === MURPH_MEMBER_MEMORY_TOOL.name),
|
|
3245
|
+
memberMemoryMaintenanceAuthorized: input.memberMemoryMaintenanceAuthorized === true,
|
|
2704
3246
|
abortSignal: input.abortSignal
|
|
2705
3247
|
? AbortSignal.any([input.abortSignal, dynamicToolAbortController.signal])
|
|
2706
3248
|
: dynamicToolAbortController.signal,
|
|
@@ -2710,30 +3252,71 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2710
3252
|
hostedToolContext,
|
|
2711
3253
|
materializeWorkspaceArtifacts: input.materializeWorkspaceArtifacts ?? null,
|
|
2712
3254
|
currentResponseMedia: responseMedia,
|
|
3255
|
+
currentResponseCard: responseCard ?? responseCardTextFallback,
|
|
3256
|
+
groupChallengeResponseCardAllowed: input.groupConversation === true &&
|
|
3257
|
+
input.dynamicTools.some((tool) => tool.namespace === 'murph' &&
|
|
3258
|
+
tool.name === 'attach_response_card'),
|
|
3259
|
+
groupSharedReadTurnState,
|
|
3260
|
+
privateDirectResponseCardAllowed: input.groupConversation === false,
|
|
3261
|
+
telegramPresentationResponseCardAllowed: input.dynamicTools.some((tool) => tool.namespace === 'murph' &&
|
|
3262
|
+
(tool.name === 'attach_exercise_routine_card' ||
|
|
3263
|
+
tool.name === 'attach_telegram_rich_content')),
|
|
2713
3264
|
deliveryContextOrdinal: dynamicToolRequestDeliveryContextOrdinal,
|
|
2714
3265
|
nextUsageOrdinal: () => nextDynamicToolUsageOrdinal++,
|
|
3266
|
+
onboardingFirstReadCompletionTransitionAvailable: input.onboardingFirstReadCompletionTransitionAvailable ?? false,
|
|
2715
3267
|
productFeedbackRecorder: input.productFeedbackRecorder ?? null,
|
|
2716
3268
|
progressDelivery: dynamicToolRequest.kind === 'send-progress-update'
|
|
2717
3269
|
? dynamicToolProgressDelivery
|
|
2718
|
-
:
|
|
3270
|
+
: dynamicToolRequest.kind === 'group'
|
|
3271
|
+
? resolveCodexAppServerProgressDelivery(input)
|
|
3272
|
+
: null,
|
|
2719
3273
|
publicFetchImpl: input.publicInternetFetch ?? null,
|
|
2720
3274
|
request: dynamicToolRequest,
|
|
2721
3275
|
requireHostedPrivateImageDelivery: input.requireHostedPrivateImageDelivery ?? false,
|
|
2722
3276
|
vaultRoot: input.vaultRoot ?? null,
|
|
3277
|
+
voiceMemoPhaseTimingRecorder: (dynamicToolRequest.kind === 'generate-voice-memo' ||
|
|
3278
|
+
dynamicToolRequest.kind === 'generate-song') &&
|
|
3279
|
+
input.onTraceEvent
|
|
3280
|
+
? (timing) => {
|
|
3281
|
+
emitCodexGeneratedAudioPhaseTimingTrace({
|
|
3282
|
+
codexThreadId,
|
|
3283
|
+
onTraceEvent: input.onTraceEvent,
|
|
3284
|
+
timing,
|
|
3285
|
+
});
|
|
3286
|
+
}
|
|
3287
|
+
: null,
|
|
2723
3288
|
voiceMemoRuntime: dynamicToolRequest.kind === 'generate-voice-memo' ||
|
|
2724
3289
|
dynamicToolRequest.kind === 'generate-song'
|
|
2725
3290
|
? input.voiceMemoRuntime ?? null
|
|
2726
3291
|
: null,
|
|
3292
|
+
analyzeVideoRuntime: dynamicToolRequest.kind === 'analyze-video'
|
|
3293
|
+
? input.analyzeVideoRuntime ?? null
|
|
3294
|
+
: null,
|
|
3295
|
+
analyzeVideoTurnState,
|
|
2727
3296
|
askGrokRuntime: dynamicToolRequest.kind === 'ask-grok'
|
|
2728
3297
|
? input.askGrokRuntime ?? null
|
|
2729
3298
|
: null,
|
|
2730
3299
|
askGrokTurnState,
|
|
3300
|
+
generateSongTurnState,
|
|
2731
3301
|
});
|
|
2732
3302
|
return result;
|
|
2733
3303
|
}).then(async (result) => {
|
|
2734
3304
|
if (dynamicToolRequest.kind === 'send-progress-update') {
|
|
2735
3305
|
releaseDynamicProgressPending?.();
|
|
2736
3306
|
}
|
|
3307
|
+
if (dynamicToolRequest.kind === 'analyze-video') {
|
|
3308
|
+
const analyzeVideoFallback = normalizeNullableString(result.requiredFinalResponseFallback);
|
|
3309
|
+
if (analyzeVideoFallback !== null) {
|
|
3310
|
+
if (result.rpcResult.success) {
|
|
3311
|
+
requiredFinalResponseFallback = analyzeVideoFallback;
|
|
3312
|
+
requiredFinalResponseFallbackOutcome = 'analyze-video-success';
|
|
3313
|
+
}
|
|
3314
|
+
else if (requiredFinalResponseFallbackOutcome !== 'analyze-video-success') {
|
|
3315
|
+
requiredFinalResponseFallback = analyzeVideoFallback;
|
|
3316
|
+
requiredFinalResponseFallbackOutcome = 'analyze-video-failure';
|
|
3317
|
+
}
|
|
3318
|
+
}
|
|
3319
|
+
}
|
|
2737
3320
|
for (const runtimeIssueInput of result.runtimeIssueInputs ?? []) {
|
|
2738
3321
|
pushRuntimeIssueInput(runtimeIssueInput);
|
|
2739
3322
|
}
|
|
@@ -2744,6 +3327,62 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2744
3327
|
!requiredVaultFileApprovalUrls.includes(result.requiredVaultFileApprovalUrl)) {
|
|
2745
3328
|
requiredVaultFileApprovalUrls.push(result.requiredVaultFileApprovalUrl);
|
|
2746
3329
|
}
|
|
3330
|
+
if (result.finalActionPatch?.kind === 'none' &&
|
|
3331
|
+
(result.finalActionPatch.owner === 'group-email'
|
|
3332
|
+
|| result.finalActionPatch.owner === 'current-sender-ask')) {
|
|
3333
|
+
if (result.externallyVisibleOutput) {
|
|
3334
|
+
markExternallyVisibleAssistantOutput(dynamicToolRequestDeliveryContextOrdinal);
|
|
3335
|
+
}
|
|
3336
|
+
applyTerminalExternalEffectNoReplyPatch(result.finalActionPatch, dynamicToolRequestDeliveryContextOrdinal);
|
|
3337
|
+
// Interrupt while the app-server is still waiting on this dynamic
|
|
3338
|
+
// tool request. Returning the tool result first lets Codex start a
|
|
3339
|
+
// follow-up provider request before the interrupt is processed, and
|
|
3340
|
+
// an interrupt racing that continuation can leave the turn open.
|
|
3341
|
+
// TurnAborted resolves the pending server request structurally, so a
|
|
3342
|
+
// terminal external effect must not also write a tool response.
|
|
3343
|
+
dynamicToolRequestSettled = true;
|
|
3344
|
+
await interruptLiveTurnForTerminalNoReply();
|
|
3345
|
+
return;
|
|
3346
|
+
}
|
|
3347
|
+
if (result.externallyVisibleOutput) {
|
|
3348
|
+
markExternallyVisibleAssistantOutput(dynamicToolRequestDeliveryContextOrdinal);
|
|
3349
|
+
}
|
|
3350
|
+
if (result.responseCardPatch) {
|
|
3351
|
+
try {
|
|
3352
|
+
applyResponseCardPatch(result.responseCardPatch.card, dynamicToolRequestDeliveryContextOrdinal);
|
|
3353
|
+
}
|
|
3354
|
+
catch {
|
|
3355
|
+
void tryWriteRpcMessage({
|
|
3356
|
+
id: requestId,
|
|
3357
|
+
result: {
|
|
3358
|
+
success: false,
|
|
3359
|
+
contentItems: [{
|
|
3360
|
+
type: 'inputText',
|
|
3361
|
+
text: 'response card unavailable for this final response',
|
|
3362
|
+
}],
|
|
3363
|
+
},
|
|
3364
|
+
});
|
|
3365
|
+
return;
|
|
3366
|
+
}
|
|
3367
|
+
}
|
|
3368
|
+
if (result.responseCardTextFallbackPatch) {
|
|
3369
|
+
try {
|
|
3370
|
+
applyResponseCardTextFallbackPatch(result.responseCardTextFallbackPatch.card, dynamicToolRequestDeliveryContextOrdinal);
|
|
3371
|
+
}
|
|
3372
|
+
catch {
|
|
3373
|
+
void tryWriteRpcMessage({
|
|
3374
|
+
id: requestId,
|
|
3375
|
+
result: {
|
|
3376
|
+
success: false,
|
|
3377
|
+
contentItems: [{
|
|
3378
|
+
type: 'inputText',
|
|
3379
|
+
text: 'response card unavailable for this final response',
|
|
3380
|
+
}],
|
|
3381
|
+
},
|
|
3382
|
+
});
|
|
3383
|
+
return;
|
|
3384
|
+
}
|
|
3385
|
+
}
|
|
2747
3386
|
if (result.responseMediaPatch) {
|
|
2748
3387
|
try {
|
|
2749
3388
|
applyResponseMediaPatch(result.responseMediaPatch, dynamicToolRequestDeliveryContextOrdinal);
|
|
@@ -2808,14 +3447,33 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2808
3447
|
result.rpcResult.success) {
|
|
2809
3448
|
markExternallyVisibleAssistantOutput(dynamicToolDeliveryContextOrdinal ?? 0);
|
|
2810
3449
|
}
|
|
2811
|
-
|
|
3450
|
+
if (dynamicToolRequest.kind === 'automation' &&
|
|
3451
|
+
result.rpcResult.success &&
|
|
3452
|
+
dynamicToolRequest.localAtRecovery) {
|
|
3453
|
+
const recoveryKey = buildRequiredAutomationLocalAtClarificationKey({
|
|
3454
|
+
resolvedLocalDate: dynamicToolRequest.localAtRecovery.resolvedLocalDate,
|
|
3455
|
+
targetKey: dynamicToolRequest.localAtRecovery.recoveryKey,
|
|
3456
|
+
});
|
|
3457
|
+
if (requiredAutomationLocalAtClarifications.has(recoveryKey)) {
|
|
3458
|
+
requiredAutomationLocalAtClarifications.delete(recoveryKey);
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3461
|
+
const writeFailure = tryWriteRpcMessage({
|
|
2812
3462
|
id: requestId,
|
|
2813
3463
|
result: result.rpcResult,
|
|
2814
3464
|
});
|
|
3465
|
+
if (writeFailure) {
|
|
3466
|
+
return;
|
|
3467
|
+
}
|
|
3468
|
+
dynamicToolRequestSettled = true;
|
|
2815
3469
|
}).catch((error) => {
|
|
2816
3470
|
if (dynamicToolRequest.kind === 'send-progress-update') {
|
|
2817
3471
|
releaseDynamicProgressPending?.();
|
|
2818
3472
|
}
|
|
3473
|
+
if (dynamicToolRequestSettled) {
|
|
3474
|
+
rejectOnce(error);
|
|
3475
|
+
return;
|
|
3476
|
+
}
|
|
2819
3477
|
pushRuntimeIssueInput(createDynamicToolRuntimeIssueInput({
|
|
2820
3478
|
request: dynamicToolRequest,
|
|
2821
3479
|
reason: 'execution_failed',
|
|
@@ -2853,6 +3511,10 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2853
3511
|
const providerRequestStartedAtMs = codexProviderRequestStartedAtMs;
|
|
2854
3512
|
const isTurnStartedNotification = isCodexTurnStartedMethod(method);
|
|
2855
3513
|
const isTurnCompletedNotification = isCodexTurnCompletedMethod(method);
|
|
3514
|
+
if (isTurnStartedNotification) {
|
|
3515
|
+
currentTurnStartedNotificationObserved =
|
|
3516
|
+
turnId !== null && extractCodexTurnIdFromMessage(message) === turnId;
|
|
3517
|
+
}
|
|
2856
3518
|
const shouldCaptureTurnStartedNotification = providerRequestStartedAtMs !== null &&
|
|
2857
3519
|
isTurnStartedNotification &&
|
|
2858
3520
|
codexTimingTurnStartedNotificationElapsedMs === null;
|
|
@@ -2870,13 +3532,11 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2870
3532
|
codexTimingTurnCompletedNotificationElapsedMs = Math.max(0, observedAtMs - providerRequestStartedAtMs);
|
|
2871
3533
|
}
|
|
2872
3534
|
}
|
|
2873
|
-
for (const receiverThreadId of readCodexCollabReceiverThreadIds(message)) {
|
|
2874
|
-
collabReceiverThreadIds.add(receiverThreadId);
|
|
2875
|
-
}
|
|
2876
3535
|
lastEventError = extractCodexErrorMessage(message) ?? lastEventError;
|
|
2877
3536
|
lastEventErrorInfo = extractCodexErrorInfo(message) ?? lastEventErrorInfo;
|
|
2878
3537
|
const normalizedEvent = normalizeCodexEvent(message);
|
|
2879
|
-
const runtimeIssueInput =
|
|
3538
|
+
const runtimeIssueInput = actionRuntimeIssueTracker.recordEvent({
|
|
3539
|
+
activeTurnId: turnId,
|
|
2880
3540
|
normalizedEvent,
|
|
2881
3541
|
rawEvent: message,
|
|
2882
3542
|
});
|
|
@@ -2919,6 +3579,10 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2919
3579
|
providerActionCount += 1;
|
|
2920
3580
|
}
|
|
2921
3581
|
const deliveryContextOrdinal = currentDeliveryContextOrdinal();
|
|
3582
|
+
workoutDeliveryContext.observe({
|
|
3583
|
+
deliveryContextOrdinal,
|
|
3584
|
+
event: normalizedEvent,
|
|
3585
|
+
});
|
|
2922
3586
|
const suppressDeliveryContext = shouldSuppressDeliveryContext(deliveryContextOrdinal);
|
|
2923
3587
|
const isCommentaryAssistantMessage = normalizedEvent.kind === 'assistant_message' &&
|
|
2924
3588
|
normalizedEvent.messagePhase === 'commentary';
|
|
@@ -2937,7 +3601,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2937
3601
|
}
|
|
2938
3602
|
}
|
|
2939
3603
|
if (normalizedEvent.kind !== 'status_item' ||
|
|
2940
|
-
normalizedEvent.itemType !== '
|
|
3604
|
+
normalizedEvent.itemType !== 'contextCompaction') {
|
|
2941
3605
|
input.onTraceEvent?.({
|
|
2942
3606
|
codexThreadId,
|
|
2943
3607
|
rawEvent: message,
|
|
@@ -2959,6 +3623,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2959
3623
|
(completedFinalAgentMessageText !== null ||
|
|
2960
3624
|
responseMedia.length > 0);
|
|
2961
3625
|
if (completedFinalAgentResponse && !suppressDeliveryContext) {
|
|
3626
|
+
workoutDeliveryContext.recordCompletedResponse(deliveryContextOrdinal);
|
|
2962
3627
|
promoteTrailingSteerCandidate();
|
|
2963
3628
|
completedFinalAgentMessage = completedFinalAgentMessageText ?? '';
|
|
2964
3629
|
if (!firstAssistantResponseCompleted) {
|
|
@@ -2970,10 +3635,14 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2970
3635
|
if (completedFinalAgentMessage !== null) {
|
|
2971
3636
|
const completedResponseDeliveryContextOrdinal = Math.max(0, completedUserMessageOrdinal);
|
|
2972
3637
|
const completedResponseTargetInputId = resolveReplyTargetPatch(completedResponseDeliveryContextOrdinal)?.targetInputId ?? null;
|
|
3638
|
+
const contextReferences = workoutDeliveryContext.readReferences(completedResponseDeliveryContextOrdinal);
|
|
2973
3639
|
trailingSteerCandidate = {
|
|
3640
|
+
...(contextReferences === undefined ? {} : { contextReferences }),
|
|
2974
3641
|
deliveryContextOrdinal: completedResponseDeliveryContextOrdinal,
|
|
2975
3642
|
response: completedFinalAgentMessage,
|
|
2976
3643
|
media: [...responseMedia],
|
|
3644
|
+
card: responseCard,
|
|
3645
|
+
cardTextFallback: responseCardTextFallback,
|
|
2977
3646
|
...(completedResponseTargetInputId
|
|
2978
3647
|
? { targetInputId: completedResponseTargetInputId }
|
|
2979
3648
|
: {}),
|
|
@@ -2983,6 +3652,8 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2983
3652
|
assistantStreamOrder.length = 0;
|
|
2984
3653
|
responseMedia = [];
|
|
2985
3654
|
}
|
|
3655
|
+
responseCard = null;
|
|
3656
|
+
responseCardTextFallback = null;
|
|
2986
3657
|
completedUserMessageOrdinal += 1;
|
|
2987
3658
|
}
|
|
2988
3659
|
const progressEvent = extractCodexProgressEventFromNormalized(normalizedEvent);
|
|
@@ -3008,6 +3679,12 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3008
3679
|
return;
|
|
3009
3680
|
}
|
|
3010
3681
|
const status = extractCodexTurnStatus(message);
|
|
3682
|
+
if (status === 'interrupted' &&
|
|
3683
|
+
terminalNoReplyInterruptRequested) {
|
|
3684
|
+
turnTerminal = true;
|
|
3685
|
+
completeTurn?.();
|
|
3686
|
+
return;
|
|
3687
|
+
}
|
|
3011
3688
|
if (isFailedCodexTurnStatus(status)) {
|
|
3012
3689
|
turnTerminal = true;
|
|
3013
3690
|
failTurn?.(buildCodexTurnFailedError({
|
|
@@ -3034,30 +3711,67 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3034
3711
|
});
|
|
3035
3712
|
return;
|
|
3036
3713
|
}
|
|
3037
|
-
|
|
3714
|
+
const eventMethod = readCodexEventMethod(message);
|
|
3715
|
+
const messageTurnId = extractCodexTurnIdFromMessage(message);
|
|
3716
|
+
if (isCodexTurnStartedMethod(eventMethod)) {
|
|
3717
|
+
if (!messageTurnId) {
|
|
3718
|
+
return;
|
|
3719
|
+
}
|
|
3720
|
+
const usageKey = createCodexSubagentTurnUsageKey({
|
|
3721
|
+
threadId,
|
|
3722
|
+
turnId: messageTurnId,
|
|
3723
|
+
});
|
|
3724
|
+
if (subagentTokenUsageByTurn.has(usageKey)) {
|
|
3725
|
+
return;
|
|
3726
|
+
}
|
|
3727
|
+
subagentTokenUsageByTurn.set(usageKey, {
|
|
3728
|
+
firstEvent: null,
|
|
3729
|
+
lastEvent: null,
|
|
3730
|
+
occurredAt: new Date().toISOString(),
|
|
3731
|
+
providerRequestOutcome: 'succeeded',
|
|
3732
|
+
threadId,
|
|
3733
|
+
turnId: messageTurnId,
|
|
3734
|
+
});
|
|
3038
3735
|
return;
|
|
3039
3736
|
}
|
|
3040
|
-
|
|
3041
|
-
if (sample) {
|
|
3042
|
-
sample.lastEvent = message;
|
|
3737
|
+
if (!messageTurnId) {
|
|
3043
3738
|
return;
|
|
3044
3739
|
}
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
if (evictableThreadId === undefined) {
|
|
3740
|
+
const usageKey = createCodexSubagentTurnUsageKey({
|
|
3741
|
+
threadId,
|
|
3742
|
+
turnId: messageTurnId,
|
|
3743
|
+
});
|
|
3744
|
+
const sample = subagentTokenUsageByTurn.get(usageKey);
|
|
3745
|
+
if (isCodexTurnCompletedMethod(eventMethod)) {
|
|
3746
|
+
if (!sample) {
|
|
3053
3747
|
return;
|
|
3054
3748
|
}
|
|
3055
|
-
|
|
3749
|
+
const status = extractCodexTurnStatus(message);
|
|
3750
|
+
sample.providerRequestOutcome = status === 'interrupted'
|
|
3751
|
+
? 'aborted'
|
|
3752
|
+
: isFailedCodexTurnStatus(status)
|
|
3753
|
+
? 'partial'
|
|
3754
|
+
: 'succeeded';
|
|
3755
|
+
if (!input.onAdditionalUsage) {
|
|
3756
|
+
return;
|
|
3757
|
+
}
|
|
3758
|
+
// Removing the terminal sample is the exactly-once fence.
|
|
3759
|
+
subagentTokenUsageByTurn.delete(usageKey);
|
|
3760
|
+
if (sample.firstEvent === null || sample.lastEvent === null) {
|
|
3761
|
+
return;
|
|
3762
|
+
}
|
|
3763
|
+
reportSubagentUsage(sample);
|
|
3764
|
+
return;
|
|
3056
3765
|
}
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3766
|
+
if (!isAssistantCodexTokenUsageEventType(eventMethod)) {
|
|
3767
|
+
return;
|
|
3768
|
+
}
|
|
3769
|
+
if (!sample) {
|
|
3770
|
+
// A child token sample without an observed start has no accounting timestamp.
|
|
3771
|
+
return;
|
|
3772
|
+
}
|
|
3773
|
+
sample.firstEvent ??= message;
|
|
3774
|
+
sample.lastEvent = message;
|
|
3061
3775
|
};
|
|
3062
3776
|
const handleStaleParentTurnMessage = (message) => {
|
|
3063
3777
|
const requestId = readCodexRpcServerRequestId(message);
|
|
@@ -3125,19 +3839,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3125
3839
|
}
|
|
3126
3840
|
return;
|
|
3127
3841
|
}
|
|
3128
|
-
// Codex owns subagent/thread lifecycle. Murph only keeps foreign thread
|
|
3129
|
-
// traffic away from the active parent turn: token usage is buffered for
|
|
3130
|
-
// billing, server requests are denied, and other child events are dropped.
|
|
3131
|
-
// Before a fresh thread/start response produces this turn's thread id, the
|
|
3132
|
-
// previous bound thread id is enough to distinguish late child traffic.
|
|
3133
|
-
const messageThreadId = extractCodexThreadIdFromMessage(message);
|
|
3134
|
-
const knownParentThreadId = codexThreadId ?? requestedResumeThreadId ?? codexProcess.lastBoundThreadId;
|
|
3135
|
-
if (messageThreadId !== null &&
|
|
3136
|
-
knownParentThreadId !== null &&
|
|
3137
|
-
messageThreadId !== knownParentThreadId) {
|
|
3138
|
-
handleSubagentThreadMessage(messageThreadId, message);
|
|
3139
|
-
return;
|
|
3140
|
-
}
|
|
3141
3842
|
const messageTurnId = extractCodexTurnIdFromMessage(message);
|
|
3142
3843
|
const method = readCodexEventMethod(message);
|
|
3143
3844
|
const requestId = readCodexRpcServerRequestId(message);
|
|
@@ -3170,10 +3871,23 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3170
3871
|
rejectPreStartParentTurnRequest(requestId);
|
|
3171
3872
|
return;
|
|
3172
3873
|
}
|
|
3173
|
-
handleAcceptedServerRequest(message, requestId);
|
|
3874
|
+
trackDynamicToolRequest(handleAcceptedServerRequest(message, requestId));
|
|
3174
3875
|
return;
|
|
3175
3876
|
}
|
|
3176
|
-
if (
|
|
3877
|
+
if (messageTurnId === null &&
|
|
3878
|
+
method === 'model/rerouted' &&
|
|
3879
|
+
!currentTurnStartedNotificationObserved) {
|
|
3880
|
+
return;
|
|
3881
|
+
}
|
|
3882
|
+
if (isReusedWarmProcess &&
|
|
3883
|
+
messageTurnId === null &&
|
|
3884
|
+
method !== 'model/rerouted') {
|
|
3885
|
+
return;
|
|
3886
|
+
}
|
|
3887
|
+
if (method === 'rawResponseItem/completed' ||
|
|
3888
|
+
method === 'rawResponse/completed') {
|
|
3889
|
+
// Raw response notifications can contain provider payload content and
|
|
3890
|
+
// do not belong in the parent turn's persisted event surface.
|
|
3177
3891
|
return;
|
|
3178
3892
|
}
|
|
3179
3893
|
handleAcceptedEvent(message, method);
|
|
@@ -3205,6 +3919,31 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3205
3919
|
}
|
|
3206
3920
|
};
|
|
3207
3921
|
const sendRequest = (method, params) => codexProcess.sendRequest(method, params);
|
|
3922
|
+
const readSubagentEffectiveMetadata = (threadId) => codexProcess.sendRequestWithTimeout({
|
|
3923
|
+
method: 'thread/resume',
|
|
3924
|
+
params: buildCodexThreadMetadataResumeParams(threadId),
|
|
3925
|
+
timeoutLabel: 'thread/resume',
|
|
3926
|
+
timeoutMs: CODEX_BACKGROUND_WORK_RPC_TIMEOUT_MS,
|
|
3927
|
+
}).then((result) => readCodexSubagentEffectiveMetadataResult({ result, threadId })).catch(() => null);
|
|
3928
|
+
const reportSubagentUsage = (sample) => {
|
|
3929
|
+
const ordinal = nextDynamicToolUsageOrdinal++;
|
|
3930
|
+
const report = readSubagentEffectiveMetadata(sample.threadId)
|
|
3931
|
+
.then(async (metadata) => {
|
|
3932
|
+
if (!metadata) {
|
|
3933
|
+
return;
|
|
3934
|
+
}
|
|
3935
|
+
const draft = buildCodexSubagentUsageDraft({
|
|
3936
|
+
metadata,
|
|
3937
|
+
ordinal,
|
|
3938
|
+
sample,
|
|
3939
|
+
});
|
|
3940
|
+
if (draft) {
|
|
3941
|
+
await input.onAdditionalUsage?.(draft);
|
|
3942
|
+
}
|
|
3943
|
+
})
|
|
3944
|
+
.catch(() => undefined);
|
|
3945
|
+
codexProcess.trackDetachedUsageReport(report);
|
|
3946
|
+
};
|
|
3208
3947
|
const requireLiveTurnIds = () => {
|
|
3209
3948
|
if (!liveTurnOpen || !codexThreadId || !turnId) {
|
|
3210
3949
|
throw buildLiveTurnInactiveError();
|
|
@@ -3216,15 +3955,31 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3216
3955
|
};
|
|
3217
3956
|
const steerLiveTurn = async (steerInput) => {
|
|
3218
3957
|
const liveTurn = requireLiveTurnIds();
|
|
3219
|
-
const
|
|
3220
|
-
images:
|
|
3958
|
+
const preparedSteerImages = await materializeCodexImages({
|
|
3959
|
+
images: normalizeCodexAppServerImageDetails({
|
|
3960
|
+
images: steerInput.images,
|
|
3961
|
+
model: input.model,
|
|
3962
|
+
modelProvider: input.modelProvider,
|
|
3963
|
+
turnKind: 'steer',
|
|
3964
|
+
}),
|
|
3221
3965
|
tempRoot: input.tempRoot,
|
|
3222
3966
|
});
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3967
|
+
const deliveryContextOrdinal = automationRelativeDateReferenceWindows.length;
|
|
3968
|
+
automationRelativeDateReferenceWindows.push(mergeAutomationRelativeDateReferenceWindows(automationRelativeDateReferenceWindows.at(-1) ?? null, steerInput.relativeDateReferenceWindow ?? null));
|
|
3969
|
+
try {
|
|
3970
|
+
await withCodexRpcTimeout(sendRequest('turn/steer', buildCodexTurnSteerParams({
|
|
3971
|
+
...liveTurn,
|
|
3972
|
+
images: preparedSteerImages,
|
|
3973
|
+
prompt: steerInput.prompt,
|
|
3974
|
+
})), CODEX_RPC_STEER_TIMEOUT_MS, 'turn/steer');
|
|
3975
|
+
}
|
|
3976
|
+
catch (error) {
|
|
3977
|
+
if (automationRelativeDateReferenceWindows.length ===
|
|
3978
|
+
deliveryContextOrdinal + 1) {
|
|
3979
|
+
automationRelativeDateReferenceWindows.pop();
|
|
3980
|
+
}
|
|
3981
|
+
throw error;
|
|
3982
|
+
}
|
|
3228
3983
|
};
|
|
3229
3984
|
const interruptLiveTurn = async () => {
|
|
3230
3985
|
const liveTurn = requireLiveTurnIds();
|
|
@@ -3232,6 +3987,17 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3232
3987
|
scheduleInterruptCleanupTimeout();
|
|
3233
3988
|
await withCodexRpcTimeout(sendRequest('turn/interrupt', buildCodexTurnInterruptParams(liveTurn)), CODEX_RPC_STEER_TIMEOUT_MS, 'turn/interrupt');
|
|
3234
3989
|
};
|
|
3990
|
+
const interruptLiveTurnForTerminalNoReply = async () => {
|
|
3991
|
+
if (!codexThreadId || !turnId || turnTerminal) {
|
|
3992
|
+
throw buildLiveTurnInactiveError();
|
|
3993
|
+
}
|
|
3994
|
+
terminalNoReplyInterruptRequested = true;
|
|
3995
|
+
scheduleInterruptCleanupTimeout();
|
|
3996
|
+
await withCodexRpcTimeout(sendRequest('turn/interrupt', buildCodexTurnInterruptParams({
|
|
3997
|
+
threadId: codexThreadId,
|
|
3998
|
+
turnId,
|
|
3999
|
+
})), CODEX_RPC_STEER_TIMEOUT_MS, 'turn/interrupt');
|
|
4000
|
+
};
|
|
3235
4001
|
const registerLiveTurn = () => {
|
|
3236
4002
|
if (computerToolsLockedAfterUserPause ||
|
|
3237
4003
|
liveTurnOpen ||
|
|
@@ -3278,6 +4044,12 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3278
4044
|
}));
|
|
3279
4045
|
},
|
|
3280
4046
|
onParsedMessage: handleParsedMessage,
|
|
4047
|
+
onSubagentMessage(message) {
|
|
4048
|
+
const threadId = extractCodexThreadIdFromMessage(message);
|
|
4049
|
+
if (threadId) {
|
|
4050
|
+
handleSubagentThreadMessage(threadId, message);
|
|
4051
|
+
}
|
|
4052
|
+
},
|
|
3281
4053
|
onStderrLine(line) {
|
|
3282
4054
|
const progressEvent = extractCodexStatusEventFromStderrLine(line);
|
|
3283
4055
|
if (progressEvent) {
|
|
@@ -3301,7 +4073,11 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3301
4073
|
emitAppServerTimingTrace('spawn-ready');
|
|
3302
4074
|
await codexProcess.initialize();
|
|
3303
4075
|
lifecycleStage = 'initialized';
|
|
3304
|
-
emitAppServerTimingTrace('initialized');
|
|
4076
|
+
emitAppServerTimingTrace(codexProcess.wasPreinitialized ? 'preinitialized' : 'initialized');
|
|
4077
|
+
}
|
|
4078
|
+
else if (!codexProcess.hasCompletedTurn) {
|
|
4079
|
+
lifecycleStage = 'initialized';
|
|
4080
|
+
emitAppServerTimingTrace('preinitialized');
|
|
3305
4081
|
}
|
|
3306
4082
|
else {
|
|
3307
4083
|
lifecycleStage = 'initialized';
|
|
@@ -3323,12 +4099,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3323
4099
|
threadResult,
|
|
3324
4100
|
});
|
|
3325
4101
|
}
|
|
3326
|
-
else if (normalizeNullableString(input.permissions)) {
|
|
3327
|
-
assertCodexThreadStartPermissionAttestation({
|
|
3328
|
-
input,
|
|
3329
|
-
threadResult,
|
|
3330
|
-
});
|
|
3331
|
-
}
|
|
3332
4102
|
codexThreadId = extractCodexThreadIdFromResult(threadResult) ?? codexThreadId;
|
|
3333
4103
|
codexProcess.noteBoundThreadId(codexThreadId);
|
|
3334
4104
|
rolloutRelativePath = resolveCodexRolloutRelativePath({
|
|
@@ -3347,26 +4117,28 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3347
4117
|
codexProcess.noteBoundThreadServiceTier(input.serviceTier ?? null);
|
|
3348
4118
|
const turnStartRequest = sendRequest('turn/start', buildCodexTurnStartParams({
|
|
3349
4119
|
input,
|
|
3350
|
-
|
|
4120
|
+
images: input.preparedImages,
|
|
3351
4121
|
codexThreadId,
|
|
3352
4122
|
}));
|
|
4123
|
+
const providerStartedAtMonotonicMs = readAssistantProviderStartMonotonicTickMs();
|
|
3353
4124
|
// The child can begin executing (including side-effecting commands) as
|
|
3354
4125
|
// soon as the turn/start request is written, so the provider-start
|
|
3355
4126
|
// barrier arms here rather than at the acknowledgement. A death between
|
|
3356
4127
|
// write and response must never be classified as pre-provider work.
|
|
3357
|
-
notifyProviderRequestStarted();
|
|
4128
|
+
notifyProviderRequestStarted(providerStartedAtMonotonicMs);
|
|
3358
4129
|
const turnResult = await withCodexRpcTimeout(turnStartRequest, CODEX_RPC_DEFAULT_TIMEOUT_MS, 'turn/start');
|
|
3359
4130
|
acceptTurnStartResultTurnId(extractCodexTurnIdFromResult(turnResult));
|
|
3360
4131
|
lifecycleStage = 'turn_started';
|
|
3361
4132
|
emitAppServerTimingTrace('turn-started');
|
|
3362
|
-
registerLiveTurn();
|
|
3363
4133
|
lifecycleStage = 'turn_running';
|
|
3364
4134
|
await turnCompleted;
|
|
3365
4135
|
clearInterruptCleanupTimer();
|
|
4136
|
+
await drainPendingDynamicToolRequests();
|
|
3366
4137
|
await drainPendingDynamicToolExecutions();
|
|
3367
4138
|
await drainPendingProgressDeliveries();
|
|
3368
4139
|
emitActionDiagnosticsTrace();
|
|
3369
4140
|
lifecycleStage = 'turn_completed';
|
|
4141
|
+
codexProcess.noteTurnCompleted();
|
|
3370
4142
|
emitAppServerTimingTrace('turn-completed');
|
|
3371
4143
|
closeLiveTurn();
|
|
3372
4144
|
if (stdinFailure) {
|
|
@@ -3412,6 +4184,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3412
4184
|
? (buildRecordedTerminationError(lastEventError) ?? error)
|
|
3413
4185
|
: error;
|
|
3414
4186
|
emitActionDiagnosticsTrace();
|
|
4187
|
+
await drainPendingDynamicToolRequests();
|
|
3415
4188
|
dynamicToolAbortController.abort();
|
|
3416
4189
|
await drainPendingDynamicToolExecutions();
|
|
3417
4190
|
await drainPendingProgressDeliveries();
|
|
@@ -3454,7 +4227,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3454
4227
|
(latestFinalActionPatch?.kind === 'none' ||
|
|
3455
4228
|
(!suppressTrailingSteerCandidateForEarlierNoReply &&
|
|
3456
4229
|
(normalizeNullableString(extractedFinalMessage) !== null ||
|
|
3457
|
-
responseMedia.length > 0
|
|
4230
|
+
responseMedia.length > 0 ||
|
|
4231
|
+
responseCard !== null ||
|
|
4232
|
+
responseCardTextFallback !== null)));
|
|
3458
4233
|
if (shouldPromoteTrailingSteerCandidate) {
|
|
3459
4234
|
promoteTrailingSteerCandidate();
|
|
3460
4235
|
finalTrailingSteerCandidate = null;
|
|
@@ -3465,12 +4240,29 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3465
4240
|
: suppressTrailingSteerCandidateForEarlierNoReply
|
|
3466
4241
|
? responseMedia
|
|
3467
4242
|
: finalTrailingSteerCandidate?.media ?? responseMedia;
|
|
4243
|
+
const finalResponseCard = latestFinalActionPatch?.kind === 'none'
|
|
4244
|
+
? responseCard
|
|
4245
|
+
: suppressTrailingSteerCandidateForEarlierNoReply
|
|
4246
|
+
? responseCard
|
|
4247
|
+
: finalTrailingSteerCandidate?.card ?? responseCard;
|
|
4248
|
+
if (finalResponseCard !== null && finalResponseMedia.length > 0) {
|
|
4249
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_MEDIA_CONFLICT', 'A response card cannot be combined with response media.');
|
|
4250
|
+
}
|
|
3468
4251
|
const finalDeliveryContextOrdinal = latestFinalActionPatch?.kind === 'none'
|
|
3469
4252
|
? latestDeliveryContextOrdinal
|
|
3470
4253
|
: suppressTrailingSteerCandidateForEarlierNoReply
|
|
3471
4254
|
? latestDeliveryContextOrdinal
|
|
3472
4255
|
: finalTrailingSteerCandidate?.deliveryContextOrdinal ??
|
|
3473
4256
|
latestDeliveryContextOrdinal;
|
|
4257
|
+
const finalResponseCardTextFallback = latestFinalActionPatch?.kind === 'none'
|
|
4258
|
+
? responseCardTextFallback
|
|
4259
|
+
: suppressTrailingSteerCandidateForEarlierNoReply
|
|
4260
|
+
? responseCardTextFallback
|
|
4261
|
+
: finalTrailingSteerCandidate?.cardTextFallback
|
|
4262
|
+
?? responseCardTextFallback;
|
|
4263
|
+
if (finalResponseCardTextFallback !== null && finalResponseMedia.length > 0) {
|
|
4264
|
+
throw new VaultCliError('ASSISTANT_RESPONSE_CARD_MEDIA_CONFLICT', 'Response card text recovery cannot be combined with response media.');
|
|
4265
|
+
}
|
|
3474
4266
|
const finalActionPatch = resolveFinalActionPatch(finalDeliveryContextOrdinal);
|
|
3475
4267
|
const requiredUserVisibleOutput = hasRequiredUserVisibleOutput();
|
|
3476
4268
|
const noReplySelected = finalActionPatch?.kind === 'none' && !requiredUserVisibleOutput;
|
|
@@ -3480,7 +4272,30 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3480
4272
|
const modelFinalMessage = noReplySelected || suppressTrailingSteerCandidateForEarlierNoReply
|
|
3481
4273
|
? ''
|
|
3482
4274
|
: selectedFinalMessage;
|
|
3483
|
-
const
|
|
4275
|
+
const semanticFinalMessage = finalResponseCard
|
|
4276
|
+
? renderAssistantResponseCardText(finalResponseCard)
|
|
4277
|
+
: finalResponseCardTextFallback
|
|
4278
|
+
? renderAssistantWorkoutResponseCardText(finalResponseCardTextFallback)
|
|
4279
|
+
: modelFinalMessage;
|
|
4280
|
+
const requiredSemanticFinalMessage = normalizeNullableString(semanticFinalMessage) ??
|
|
4281
|
+
requiredFinalResponseFallback ??
|
|
4282
|
+
semanticFinalMessage;
|
|
4283
|
+
const requiredAutomationLocalAtClarificationsInOrder = [...requiredAutomationLocalAtClarifications.values()];
|
|
4284
|
+
const deliveredFinalResponseCard = requiredAutomationLocalAtClarificationsInOrder.length === 0
|
|
4285
|
+
? finalResponseCard
|
|
4286
|
+
: null;
|
|
4287
|
+
const finalMessage = appendRequiredVaultFileApprovalUrls(appendRequiredAutomationLocalAtClarification(requiredSemanticFinalMessage, requiredAutomationLocalAtClarificationsInOrder), requiredVaultFileApprovalUrls);
|
|
4288
|
+
const semanticTranscriptMessage = finalResponseCard
|
|
4289
|
+
? requiredAutomationLocalAtClarificationsInOrder.length === 0
|
|
4290
|
+
? renderAssistantResponseCardTranscriptText(finalResponseCard)
|
|
4291
|
+
: renderAssistantResponseCardText(finalResponseCard)
|
|
4292
|
+
: finalResponseCardTextFallback
|
|
4293
|
+
? renderAssistantWorkoutResponseCardTranscriptText(finalResponseCardTextFallback)
|
|
4294
|
+
: normalizeNullableString(modelFinalMessage) ??
|
|
4295
|
+
(finalResponseMedia.length > 0 ? '' : null);
|
|
4296
|
+
const transcriptMessage = appendRequiredAutomationLocalAtClarification(normalizeNullableString(semanticTranscriptMessage) ??
|
|
4297
|
+
requiredFinalResponseFallback ??
|
|
4298
|
+
semanticTranscriptMessage, requiredAutomationLocalAtClarificationsInOrder);
|
|
3484
4299
|
if (noReplySelected &&
|
|
3485
4300
|
normalizeNullableString(extractedFinalMessage) !== null) {
|
|
3486
4301
|
emitCodexSuppressedFinalMessageTrace({
|
|
@@ -3493,31 +4308,44 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3493
4308
|
const filteredPrecedingAgentMessageSegments = precedingAgentMessageSegments
|
|
3494
4309
|
.filter((segment) => !shouldSuppressDeliveryContext(segment.deliveryContextOrdinal));
|
|
3495
4310
|
const finalHasDeliverableOutput = normalizeNullableString(finalMessage) !== null ||
|
|
3496
|
-
(!noReplySelected && finalResponseMedia.length > 0
|
|
4311
|
+
(!noReplySelected && (finalResponseMedia.length > 0 ||
|
|
4312
|
+
deliveredFinalResponseCard !== null ||
|
|
4313
|
+
finalResponseCardTextFallback !== null));
|
|
4314
|
+
const finalResponseContextReferences = workoutDeliveryContext.readReferences(finalDeliveryContextOrdinal);
|
|
3497
4315
|
return {
|
|
3498
4316
|
acceptedNoReplyDeliveryContextOrdinals: acceptedNoReplyDeliveryContextOrdinals,
|
|
3499
4317
|
finalAction,
|
|
3500
4318
|
finalActionExplicit: finalActionPatch?.kind === 'none' && !requiredUserVisibleOutput,
|
|
3501
4319
|
finalMessage,
|
|
3502
|
-
|
|
3503
|
-
|
|
4320
|
+
providerAuthoredFinalMessage: modelFinalMessage,
|
|
4321
|
+
transcriptMessage,
|
|
3504
4322
|
reactions: reactionPatches.map((entry) => ({
|
|
3505
4323
|
deliveryContextOrdinal: entry.deliveryContextOrdinal,
|
|
3506
4324
|
reaction: entry.patch.reaction,
|
|
3507
4325
|
targetInputId: entry.patch.targetInputId,
|
|
3508
4326
|
})),
|
|
3509
4327
|
precedingAgentMessageSegments: filteredPrecedingAgentMessageSegments.map((segment) => ({
|
|
4328
|
+
...(segment.contextReferences === undefined
|
|
4329
|
+
? {}
|
|
4330
|
+
: { contextReferences: segment.contextReferences }),
|
|
3510
4331
|
deliveryContextOrdinal: segment.deliveryContextOrdinal,
|
|
3511
4332
|
response: segment.response,
|
|
4333
|
+
...(segment.transcriptResponse === undefined
|
|
4334
|
+
? {}
|
|
4335
|
+
: { transcriptResponse: segment.transcriptResponse }),
|
|
3512
4336
|
media: [...segment.media],
|
|
3513
4337
|
...(segment.targetInputId
|
|
3514
4338
|
? { targetInputId: segment.targetInputId }
|
|
3515
4339
|
: {}),
|
|
3516
4340
|
})),
|
|
3517
4341
|
responseDeliveryContextOrdinal: finalDeliveryContextOrdinal,
|
|
4342
|
+
...(finalResponseContextReferences === undefined
|
|
4343
|
+
? {}
|
|
4344
|
+
: { responseContextReferences: finalResponseContextReferences }),
|
|
3518
4345
|
targetInputId: resolveReplyTargetPatch(finalDeliveryContextOrdinal)?.targetInputId ?? null,
|
|
3519
4346
|
additionalUsages: [...additionalUsages, ...buildSubagentUsageDrafts()],
|
|
3520
4347
|
responseMedia: finalHasDeliverableOutput ? [...finalResponseMedia] : [],
|
|
4348
|
+
responseCard: finalHasDeliverableOutput ? deliveredFinalResponseCard : null,
|
|
3521
4349
|
jsonEvents,
|
|
3522
4350
|
providerActionCount,
|
|
3523
4351
|
runtimeIssueInputs,
|
|
@@ -3529,44 +4357,22 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3529
4357
|
turnId,
|
|
3530
4358
|
};
|
|
3531
4359
|
}
|
|
3532
|
-
function
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
const actualCwd = normalizeNullableString(asCodexString(result?.cwd));
|
|
3536
|
-
const actualRoots = asCodexStringArray(result?.runtimeWorkspaceRoots);
|
|
3537
|
-
const instructionSources = Array.isArray(result?.instructionSources)
|
|
3538
|
-
? result.instructionSources
|
|
3539
|
-
: null;
|
|
3540
|
-
const expectedRoots = input.input.runtimeWorkspaceRoots ?? [];
|
|
3541
|
-
const mismatchedFields = [];
|
|
3542
|
-
const permissionProfileMismatch = normalizeNullableString(asCodexString(activePermissionProfile?.id)) !==
|
|
3543
|
-
normalizeNullableString(input.input.permissions) ||
|
|
3544
|
-
normalizeNullableString(asCodexString(activePermissionProfile?.extends)) !== null;
|
|
3545
|
-
if (permissionProfileMismatch) {
|
|
3546
|
-
mismatchedFields.push('activePermissionProfile');
|
|
3547
|
-
}
|
|
3548
|
-
if (!actualRoots ||
|
|
3549
|
-
actualRoots.length !== expectedRoots.length ||
|
|
3550
|
-
actualRoots.some((root, index) => path.resolve(root) !== path.resolve(expectedRoots[index] ?? ''))) {
|
|
3551
|
-
mismatchedFields.push('runtimeWorkspaceRoots');
|
|
3552
|
-
}
|
|
3553
|
-
if (!actualCwd || path.resolve(actualCwd) !== input.input.workingDirectory) {
|
|
3554
|
-
mismatchedFields.push('cwd');
|
|
3555
|
-
}
|
|
3556
|
-
if (instructionSources === null || instructionSources.length !== 0) {
|
|
3557
|
-
mismatchedFields.push('instructionSources');
|
|
4360
|
+
function mergeAutomationRelativeDateReferenceWindows(preceding, current) {
|
|
4361
|
+
if (current === null) {
|
|
4362
|
+
return null;
|
|
3558
4363
|
}
|
|
3559
|
-
if (
|
|
3560
|
-
|
|
3561
|
-
mismatchedFields.push('approvalPolicy');
|
|
4364
|
+
if (preceding === null) {
|
|
4365
|
+
return { ...current };
|
|
3562
4366
|
}
|
|
3563
|
-
|
|
3564
|
-
|
|
4367
|
+
const earliestAtMs = Math.min(Date.parse(preceding.earliestAt), Date.parse(current.earliestAt));
|
|
4368
|
+
const latestAtMs = Math.max(Date.parse(preceding.latestAt), Date.parse(current.latestAt));
|
|
4369
|
+
if (!Number.isFinite(earliestAtMs) || !Number.isFinite(latestAtMs)) {
|
|
4370
|
+
return null;
|
|
3565
4371
|
}
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
}
|
|
4372
|
+
return {
|
|
4373
|
+
earliestAt: new Date(earliestAtMs).toISOString(),
|
|
4374
|
+
latestAt: new Date(latestAtMs).toISOString(),
|
|
4375
|
+
};
|
|
3570
4376
|
}
|
|
3571
4377
|
function emitCodexSuppressedFinalMessageTrace(input) {
|
|
3572
4378
|
if (!input.onTraceEvent) {
|
|
@@ -3588,6 +4394,36 @@ function emitCodexSuppressedFinalMessageTrace(input) {
|
|
|
3588
4394
|
// Diagnostic-only.
|
|
3589
4395
|
}
|
|
3590
4396
|
}
|
|
4397
|
+
function emitCodexGeneratedAudioPhaseTimingTrace(input) {
|
|
4398
|
+
if (!input.onTraceEvent) {
|
|
4399
|
+
return;
|
|
4400
|
+
}
|
|
4401
|
+
try {
|
|
4402
|
+
input.onTraceEvent({
|
|
4403
|
+
codexThreadId: input.codexThreadId,
|
|
4404
|
+
rawEvent: {
|
|
4405
|
+
schema: CODEX_GENERATED_AUDIO_PHASE_TIMING_TRACE_SCHEMA,
|
|
4406
|
+
type: CODEX_GENERATED_AUDIO_PHASE_TIMING_TRACE_TYPE,
|
|
4407
|
+
generatedAudioDeliveryMode: input.timing.deliveryMode,
|
|
4408
|
+
...(input.timing.generationDurationMs === undefined
|
|
4409
|
+
? {}
|
|
4410
|
+
: {
|
|
4411
|
+
generatedAudioGenerationDurationMs: input.timing.generationDurationMs,
|
|
4412
|
+
}),
|
|
4413
|
+
generatedAudioKind: input.timing.mediaKind,
|
|
4414
|
+
generatedAudioOutcome: input.timing.outcome,
|
|
4415
|
+
generatedAudioTerminalPhase: input.timing.terminalPhase,
|
|
4416
|
+
...(input.timing.uploadDurationMs === undefined
|
|
4417
|
+
? {}
|
|
4418
|
+
: { generatedAudioUploadDurationMs: input.timing.uploadDurationMs }),
|
|
4419
|
+
},
|
|
4420
|
+
updates: [],
|
|
4421
|
+
});
|
|
4422
|
+
}
|
|
4423
|
+
catch {
|
|
4424
|
+
// Phase timing is diagnostic-only and must not block assistant turns.
|
|
4425
|
+
}
|
|
4426
|
+
}
|
|
3591
4427
|
function notifyCodexAppServerProviderRequestStartedBestEffort(input) {
|
|
3592
4428
|
if (!input.hook) {
|
|
3593
4429
|
return;
|
|
@@ -3605,37 +4441,44 @@ function notifyCodexAppServerProviderRequestStartedBestEffort(input) {
|
|
|
3605
4441
|
}
|
|
3606
4442
|
}
|
|
3607
4443
|
function isInvalidDynamicToolRequest(request) {
|
|
3608
|
-
return
|
|
3609
|
-
request.kind === 'invalid-automation-arguments' ||
|
|
3610
|
-
request.kind === 'invalid-assistant-style-arguments' ||
|
|
3611
|
-
request.kind === 'invalid-computer-arguments' ||
|
|
3612
|
-
request.kind === 'invalid-device-arguments' ||
|
|
3613
|
-
request.kind === 'invalid-generate-voice-memo-arguments' ||
|
|
3614
|
-
request.kind === 'invalid-finish-without-reply-arguments' ||
|
|
3615
|
-
request.kind === 'invalid-progress-arguments' ||
|
|
3616
|
-
request.kind === 'invalid-reaction-arguments' ||
|
|
3617
|
-
request.kind === 'invalid-reply-target-arguments' ||
|
|
3618
|
-
request.kind === 'invalid-product-feedback-arguments' ||
|
|
3619
|
-
request.kind === 'invalid-response-media-arguments');
|
|
4444
|
+
return 'validationDigest' in request;
|
|
3620
4445
|
}
|
|
3621
4446
|
function isSerializedDynamicToolRequest(request) {
|
|
3622
4447
|
return request.kind === 'automation' ||
|
|
4448
|
+
request.kind === 'automation-local-at-recovery-dismissal' ||
|
|
4449
|
+
request.kind === 'invalid-automation-arguments' ||
|
|
3623
4450
|
request.kind === 'device' ||
|
|
3624
4451
|
request.kind === 'generate-image' ||
|
|
3625
4452
|
request.kind === 'generate-voice-memo' ||
|
|
3626
4453
|
request.kind === 'generate-song' ||
|
|
4454
|
+
request.kind === 'attach-group-challenge-response-card' ||
|
|
4455
|
+
request.kind === 'attach-response-card' ||
|
|
4456
|
+
request.kind === 'response-card-envelope-too-large' ||
|
|
3627
4457
|
request.kind === 'attach-response-media' ||
|
|
3628
4458
|
request.kind === 'send-vault-file' ||
|
|
4459
|
+
request.kind === 'pending-vault-files-list' ||
|
|
4460
|
+
request.kind === 'pending-vault-files-cancel' ||
|
|
3629
4461
|
request.kind === 'assistant-configuration' ||
|
|
3630
4462
|
request.kind === 'assistant-style' ||
|
|
3631
4463
|
request.kind === 'personalization' ||
|
|
3632
4464
|
request.kind === 'subscription' ||
|
|
4465
|
+
(request.kind === 'group' &&
|
|
4466
|
+
request.request.action === 'ask_current_sender' &&
|
|
4467
|
+
request.request.mode !== 'new') ||
|
|
3633
4468
|
request.kind === 'react-to-message' ||
|
|
3634
4469
|
request.kind === 'select-reply-target' ||
|
|
3635
|
-
|
|
4470
|
+
request.kind === 'computer-open' ||
|
|
4471
|
+
request.kind === 'computer-act' ||
|
|
4472
|
+
request.kind === 'computer-os-control' ||
|
|
4473
|
+
request.kind === 'computer-pause-for-user' ||
|
|
4474
|
+
request.kind === 'computer-finish-run' ||
|
|
4475
|
+
request.kind === 'invalid-computer-arguments';
|
|
3636
4476
|
}
|
|
3637
|
-
function
|
|
3638
|
-
return request.kind === 'attach-response-
|
|
4477
|
+
function isResponseAttachmentDynamicToolRequest(request) {
|
|
4478
|
+
return request.kind === 'attach-group-challenge-response-card' ||
|
|
4479
|
+
request.kind === 'attach-response-card' ||
|
|
4480
|
+
request.kind === 'response-card-envelope-too-large' ||
|
|
4481
|
+
request.kind === 'attach-response-media' ||
|
|
3639
4482
|
request.kind === 'generate-image' ||
|
|
3640
4483
|
request.kind === 'generate-song' ||
|
|
3641
4484
|
request.kind === 'generate-voice-memo' ||
|
|
@@ -3643,9 +4486,13 @@ function isResponseMediaDynamicToolRequest(request) {
|
|
|
3643
4486
|
}
|
|
3644
4487
|
function isInvocationScopedRootToolRequest(request) {
|
|
3645
4488
|
return request.kind === 'automation' ||
|
|
4489
|
+
request.kind === 'automation-local-at-recovery-dismissal' ||
|
|
3646
4490
|
request.kind === 'invalid-automation-arguments' ||
|
|
3647
4491
|
request.kind === 'device' ||
|
|
3648
4492
|
request.kind === 'invalid-device-arguments' ||
|
|
4493
|
+
request.kind === 'pending-vault-files-list' ||
|
|
4494
|
+
request.kind === 'pending-vault-files-cancel' ||
|
|
4495
|
+
request.kind === 'invalid-pending-vault-files-arguments' ||
|
|
3649
4496
|
request.kind === 'react-to-message' ||
|
|
3650
4497
|
request.kind === 'select-reply-target' ||
|
|
3651
4498
|
request.kind === 'invalid-reaction-arguments' ||
|
|
@@ -3726,6 +4573,7 @@ function resolveCodexRolloutRelativePath(input) {
|
|
|
3726
4573
|
function assertCodexResumeContextMatches(input) {
|
|
3727
4574
|
const result = asCodexRecord(input.threadResult);
|
|
3728
4575
|
const actualCwd = normalizeNullableString(asCodexString(result?.cwd));
|
|
4576
|
+
const expectedPermissions = normalizeNullableString(input.input.permissions);
|
|
3729
4577
|
const checks = [
|
|
3730
4578
|
[
|
|
3731
4579
|
'threadId',
|
|
@@ -3745,13 +4593,30 @@ function assertCodexResumeContextMatches(input) {
|
|
|
3745
4593
|
],
|
|
3746
4594
|
[
|
|
3747
4595
|
'sandbox',
|
|
3748
|
-
|
|
4596
|
+
expectedPermissions
|
|
4597
|
+
? null
|
|
4598
|
+
: mapCodexAppServerSandboxMode(input.input.sandbox) ?? null,
|
|
3749
4599
|
readCodexResumeSandboxMode(result?.sandbox),
|
|
3750
4600
|
],
|
|
3751
4601
|
];
|
|
3752
4602
|
const mismatchedFields = checks
|
|
3753
4603
|
.filter(([, expected, actual]) => expected !== null && actual !== expected)
|
|
3754
4604
|
.map(([field]) => field);
|
|
4605
|
+
if (expectedPermissions) {
|
|
4606
|
+
const activePermissionProfile = asCodexRecord(result?.activePermissionProfile);
|
|
4607
|
+
const actualRoots = asCodexStringArray(result?.runtimeWorkspaceRoots);
|
|
4608
|
+
const expectedRoots = input.input.runtimeWorkspaceRoots ?? [];
|
|
4609
|
+
if (normalizeNullableString(asCodexString(activePermissionProfile?.id)) !==
|
|
4610
|
+
expectedPermissions ||
|
|
4611
|
+
normalizeNullableString(asCodexString(activePermissionProfile?.extends)) !== null) {
|
|
4612
|
+
mismatchedFields.push('activePermissionProfile');
|
|
4613
|
+
}
|
|
4614
|
+
if (!actualRoots ||
|
|
4615
|
+
actualRoots.length !== expectedRoots.length ||
|
|
4616
|
+
actualRoots.some((root, index) => path.resolve(root) !== path.resolve(expectedRoots[index] ?? ''))) {
|
|
4617
|
+
mismatchedFields.push('runtimeWorkspaceRoots');
|
|
4618
|
+
}
|
|
4619
|
+
}
|
|
3755
4620
|
if (mismatchedFields.length === 0) {
|
|
3756
4621
|
return;
|
|
3757
4622
|
}
|
|
@@ -3812,14 +4677,13 @@ function normalizeCodexRolloutRelativePath(value, codexThreadId) {
|
|
|
3812
4677
|
return value;
|
|
3813
4678
|
}
|
|
3814
4679
|
function extractCodexProviderActionKey(normalizedEvent, rawEvent) {
|
|
4680
|
+
if (isCodexProductFeedbackDynamicToolEvent(rawEvent)) {
|
|
4681
|
+
return null;
|
|
4682
|
+
}
|
|
3815
4683
|
if (normalizedEvent.kind === 'status_item') {
|
|
3816
|
-
if (normalizedEvent.itemType !== '
|
|
3817
|
-
normalizedEvent.itemType !== '
|
|
3818
|
-
normalizedEvent.itemType !== '
|
|
3819
|
-
return null;
|
|
3820
|
-
}
|
|
3821
|
-
if (normalizedEvent.itemType === 'dynamic.tool.call' &&
|
|
3822
|
-
isCodexProductFeedbackDynamicToolEvent(rawEvent)) {
|
|
4684
|
+
if (normalizedEvent.itemType !== 'commandExecution' &&
|
|
4685
|
+
normalizedEvent.itemType !== 'dynamicToolCall' &&
|
|
4686
|
+
normalizedEvent.itemType !== 'fileChange') {
|
|
3823
4687
|
return null;
|
|
3824
4688
|
}
|
|
3825
4689
|
return (normalizedEvent.itemId ??
|
|
@@ -3833,17 +4697,10 @@ function extractCodexProviderActionKey(normalizedEvent, rawEvent) {
|
|
|
3833
4697
|
providerActionFallbackKeyFromNormalized(normalizedEvent));
|
|
3834
4698
|
}
|
|
3835
4699
|
function isCodexProductFeedbackDynamicToolEvent(event) {
|
|
3836
|
-
const
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
readCodexRecordField(data, 'item');
|
|
3841
|
-
const itemType = readCodexStringField(item, 'type')
|
|
3842
|
-
?.replaceAll(/[._-]/gu, '')
|
|
3843
|
-
.toLowerCase();
|
|
3844
|
-
return (itemType === 'dynamictoolcall' &&
|
|
3845
|
-
readCodexStringField(item, 'namespace') === 'murph' &&
|
|
3846
|
-
readCodexStringField(item, 'tool') === 'submit_product_feedback');
|
|
4700
|
+
const item = readCodexRecord(readCodexRecord(event.params)?.item);
|
|
4701
|
+
return (item?.type === 'dynamicToolCall' &&
|
|
4702
|
+
item.namespace === 'murph' &&
|
|
4703
|
+
item.tool === 'submit_product_feedback');
|
|
3847
4704
|
}
|
|
3848
4705
|
function providerActionFallbackKeyFromNormalized(event) {
|
|
3849
4706
|
switch (event.kind) {
|