@murphai/murph 1.3.1 → 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 +808 -0
- package/config.schema.json +91 -40
- 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 +79 -3
- 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/batch.d.ts +5 -5
- package/dist/commands/batch.d.ts.map +1 -1
- package/dist/commands/batch.js +2 -21
- package/dist/commands/batch.js.map +1 -1
- package/dist/commands/commons.d.ts.map +1 -1
- package/dist/commands/commons.js +2 -4
- package/dist/commands/commons.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 +63 -12
- 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 +45 -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 +2 -3
- 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 +1 -7
- 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 +4 -1
- package/dist/commands/meal.js.map +1 -1
- package/dist/commands/measurement.d.ts.map +1 -1
- package/dist/commands/measurement.js +3 -0
- package/dist/commands/measurement.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/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/scheduled-log.d.ts +12 -0
- 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 +286 -0
- package/dist/commands/wearables.d.ts.map +1 -1
- package/dist/commands/wearables.js +33 -1
- package/dist/commands/wearables.js.map +1 -1
- package/dist/commands/workout-live.d.ts.map +1 -1
- package/dist/commands/workout-live.js +123 -42
- package/dist/commands/workout-live.js.map +1 -1
- 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 +80 -73
- package/dist/commands/workout.js.map +1 -1
- package/dist/hosted-data-api-labels.d.ts.map +1 -1
- package/dist/hosted-data-api-labels.js +161 -30
- 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 +22 -13
- package/dist/incur.generated.d.ts.map +1 -1
- package/dist/mapbox-address.d.ts.map +1 -1
- package/dist/mapbox-address.js +3 -4
- package/dist/mapbox-address.js.map +1 -1
- 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-directions.d.ts.map +1 -1
- package/dist/mapbox-route-directions.js +0 -1
- 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/vault-cli-command-manifest.d.ts +304 -6
- package/dist/vault-cli-command-manifest.d.ts.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/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 +6 -2
- package/node_modules/@murphai/assistant-cli/dist/assistant/ui/ink.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/README.md +4 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant/active-turn-input-controller.d.ts +15 -1
- 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 +121 -24
- 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.js +2 -2
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/ask-continuation.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/reply.js +55 -7
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js +9 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/run-loop.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/automation/shared.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/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 +7 -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-turn/planning.d.ts +1 -1
- 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 +123 -22
- 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.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js +48 -19
- package/node_modules/@murphai/assistant-engine/dist/assistant/codex-turn-runner.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js +3 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/context-snapshot.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.d.ts +5 -0
- 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 +24 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/execution.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.d.ts +2 -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 +12 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/cron/schedule.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts +5 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js +9 -10
- package/node_modules/@murphai/assistant-engine/dist/assistant/delivery-service.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.d.ts +41 -9
- 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 +9 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/execution-context.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js +2 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/experiment-support-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.d.ts +3 -0
- 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 +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/hosted-tool-context.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/local-service.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js +687 -370
- package/node_modules/@murphai/assistant-engine/dist/assistant/local-service.js.map +1 -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 +54 -18
- package/node_modules/@murphai/assistant-engine/dist/assistant/managed-automations.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/model-behavior.d.ts +2 -3
- 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 +10 -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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.js +146 -18
- package/node_modules/@murphai/assistant-engine/dist/assistant/notification-turn.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-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 +14 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/onboarding-state.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js +8 -5
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox/store.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/outbox.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/private-completion-continuity.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/providers/codex-cli.js +25 -2
- 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 +11 -3
- 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 +67 -176
- 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 +17 -0
- 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/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/runtime-residue.d.ts +19 -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 +76 -40
- 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 +3 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-contracts.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.d.ts +4 -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 +8 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/service-usage.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.d.ts +1 -1
- 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 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/shared.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant/store/types.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/store.js +6 -0
- 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 +3 -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 +57 -29
- 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 +1 -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 +17 -3
- 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 +4 -7
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js +21 -6
- package/node_modules/@murphai/assistant-engine/dist/assistant/tool-validation-feedback.js.map +1 -1
- 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 +6 -0
- 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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant/turn-input.d.ts.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-ask.js +8 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-ask.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 +1 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-cli-access.js.map +1 -1
- 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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js +12 -13
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-protocol.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/app-server-requests.d.ts +1 -0
- 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 +16 -5
- 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 +1 -1
- 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 +2 -1
- 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/command-family.d.ts +4 -0
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js +26 -13
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/command-family.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts +1024 -1091
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js +354 -330
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tool-catalog.js.map +1 -1
- 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/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 +4 -1
- 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 +29 -35
- 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/device.d.ts +4 -1
- 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 +43 -9
- 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 +6 -0
- 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.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/physical-notes.d.ts +41 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js +85 -9
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools/physical-notes.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/dynamic-tools.d.ts +25 -2
- 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 +280 -89
- 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.js +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js +1 -3
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex/response-card-validation-feedback.js.map +1 -1
- 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.d.ts +9 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-codex.js +220 -130
- 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-skill-assets.d.ts +1 -1
- 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 +1 -1
- package/node_modules/@murphai/assistant-engine/dist/assistant-skill-assets.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts +2 -1
- package/node_modules/@murphai/assistant-engine/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/assistant-engine/dist/index.js +1 -0
- package/node_modules/@murphai/assistant-engine/dist/index.js.map +1 -1
- package/node_modules/@murphai/assistant-engine/skills/automatic-meal-capture/SKILL.md +111 -68
- package/node_modules/@murphai/assistant-engine/skills/behavior-followthrough/SKILL.md +0 -2
- package/node_modules/@murphai/assistant-engine/skills/daily-activity/SKILL.md +11 -4
- package/node_modules/@murphai/assistant-engine/skills/food-journal/SKILL.md +83 -22
- package/node_modules/@murphai/assistant-engine/skills/hosted-low-usage/SKILL.md +3 -3
- package/node_modules/@murphai/assistant-engine/skills/murph-family/SKILL.md +1 -1
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/SKILL.md +17 -11
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-goals.md +62 -34
- package/node_modules/@murphai/assistant-engine/skills/physical-notes/SKILL.md +47 -0
- package/node_modules/@murphai/assistant-engine/skills/shared/exercise-catalog-runtime.md +6 -0
- package/node_modules/@murphai/assistant-engine/skills/signup-link/SKILL.md +1 -1
- package/node_modules/@murphai/assistant-engine/skills/strength-training/SKILL.md +12 -5
- package/node_modules/@murphai/assistant-engine/skills/tracked-table/SKILL.md +156 -66
- package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/automation.js +17 -9
- 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 +27 -0
- 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/ledger.d.ts +21 -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 +102 -8
- package/node_modules/@murphai/core/dist/domains/events/ledger.js.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events.d.ts +2 -2
- package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/domains/events.js +1 -1
- package/node_modules/@murphai/core/dist/domains/events.js.map +1 -1
- package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/history/api.js +18 -3
- package/node_modules/@murphai/core/dist/history/api.js.map +1 -1
- package/node_modules/@murphai/core/dist/index.d.ts +4 -2
- package/node_modules/@murphai/core/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/index.js +3 -1
- package/node_modules/@murphai/core/dist/index.js.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.d.ts +25 -2
- package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/mutations.js +1588 -78
- 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 +2 -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 +7 -0
- 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 +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -1
- package/node_modules/@murphai/core/dist/public-mutations.js +2 -2
- 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 +140 -46
- package/node_modules/@murphai/device-syncd/dist/client.d.ts +14 -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 +4 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.js +24 -2
- package/node_modules/@murphai/device-syncd/dist/config/connect-routes.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-manifests.d.ts +53 -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 +13 -0
- package/node_modules/@murphai/device-syncd/dist/config/provider-manifests.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 +43 -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 +129 -5
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-historical-backfill-progress.d.ts +3 -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 +36 -16
- 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-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 +8 -1
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js +12 -1
- package/node_modules/@murphai/device-syncd/dist/junction-timeseries-progress.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction-client.d.ts +7 -0
- 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 +285 -46
- 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 +9 -0
- package/node_modules/@murphai/device-syncd/dist/providers/junction.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/providers/junction.js +2045 -367
- package/node_modules/@murphai/device-syncd/dist/providers/junction.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +2 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-account.js +96 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js +6 -4
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.d.ts +6 -2
- package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/service.js +385 -44
- 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/jobs.d.ts +10 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.js +95 -1
- package/node_modules/@murphai/device-syncd/dist/store/jobs.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 +24 -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 +223 -14
- package/node_modules/@murphai/device-syncd/dist/store/sources.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.d.ts +13 -3
- package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/store.js +104 -22
- package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.d.ts +96 -9
- package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -1
- package/node_modules/@murphai/device-syncd/dist/types.js +4 -0
- package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -1
- package/node_modules/@murphai/device-syncd/package.json +8 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.js +66 -0
- package/node_modules/@murphai/health-metrics/dist/definitions/activity.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/definitions/body.js +2 -2
- package/node_modules/@murphai/health-metrics/dist/definitions/body.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/normalize.d.ts.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/normalize.js +3 -0
- package/node_modules/@murphai/health-metrics/dist/normalize.js.map +1 -1
- package/node_modules/@murphai/health-metrics/dist/wearable-metric-catalog.d.ts +3 -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 +5 -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/dist/core-port.d.ts +15 -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/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 +102 -8
- 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 +11 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js +420 -27
- package/node_modules/@murphai/importers/dist/device-providers/junction-bounded-features.js.map +1 -1
- 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 +4 -1
- 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 +42 -1
- 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.d.ts +76 -3
- package/node_modules/@murphai/importers/dist/device-providers/junction.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/device-providers/junction.js +1676 -347
- package/node_modules/@murphai/importers/dist/device-providers/junction.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/index.d.ts +2 -2
- package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/importers/dist/index.js +1 -1
- package/node_modules/@murphai/importers/dist/index.js.map +1 -1
- package/node_modules/@murphai/inboxd/README.md +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/operator-config/dist/assistant-cli-contracts.d.ts +1 -0
- 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 +5 -0
- 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 +175 -152
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.js +62 -41
- package/node_modules/@murphai/operator-config/dist/assistant-response-cards.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 +1 -5
- package/node_modules/@murphai/operator-config/dist/device-sync-client.js.map +1 -1
- package/node_modules/@murphai/operator-config/dist/vault-cli-contracts.d.ts +66 -0
- 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 +58 -0
- 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 +9 -0
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.d.ts.map +1 -1
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.js +48 -5
- package/node_modules/@murphai/operator-config/dist/workout-action-binding.js.map +1 -1
- package/node_modules/@murphai/operator-config/package.json +5 -0
- package/node_modules/@murphai/query/README.md +20 -5
- 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 +25 -16
- package/node_modules/@murphai/query/dist/browser-replica/build.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/shared.d.ts +1 -0
- package/node_modules/@murphai/query/dist/browser-replica/shared.d.ts.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-server.d.ts +2 -0
- package/node_modules/@murphai/query/dist/browser-replica-server.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/browser-replica-server.js +2 -0
- package/node_modules/@murphai/query/dist/browser-replica-server.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/index.d.ts +4 -3
- package/node_modules/@murphai/query/dist/index.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/index.js +4 -3
- package/node_modules/@murphai/query/dist/index.js.map +1 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.d.ts +1 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/meal-nutrition.js +10 -3
- package/node_modules/@murphai/query/dist/meal-nutrition.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 +19 -6
- 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/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 +3 -1
- package/node_modules/@murphai/query/dist/projection/schema.js.map +1 -1
- package/node_modules/@murphai/query/dist/projection/wearable-summary-compose.js +4 -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.js +4 -0
- package/node_modules/@murphai/query/dist/projection/wearable-summary-projector.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 +26 -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 +6 -0
- package/node_modules/@murphai/query/dist/wearables/public-output.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 +4 -0
- package/node_modules/@murphai/query/dist/wearables/source-health.js.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/types.d.ts +41 -4
- package/node_modules/@murphai/query/dist/wearables/types.d.ts.map +1 -1
- package/node_modules/@murphai/query/dist/wearables/types.js +2 -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 +23 -6
- package/node_modules/@murphai/query/dist/wearables.js.map +1 -1
- package/node_modules/@murphai/query/package.json +5 -0
- package/node_modules/@murphai/runtime-state/README.md +1 -1
- package/node_modules/@murphai/runtime-state/dist/assistant-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 +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -1
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +31 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.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/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/vault-usecases/README.md +9 -0
- 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/usecases/capture.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/capture.js +22 -12
- 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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/clinical-imports.js +1 -3
- 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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/document-meal-read.js +24 -18
- 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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/encounter.js +1 -3
- 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 +8 -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 +56 -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 +1 -1
- 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 +42 -9
- 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.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/food.js +98 -5
- 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 +20 -4
- 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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js +13 -11
- package/node_modules/@murphai/vault-usecases/dist/usecases/measurement-read.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/provider-event.js +18 -11
- 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.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.js +43 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/recipe.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/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-format.d.ts +2 -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-live-model.d.ts +36 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js +48 -12
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-model.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts +14 -14
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js +84 -82
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live-state.js.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts +16 -4
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js +316 -79
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout-live.js.map +1 -1
- 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 +19 -17
- 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 +20 -7
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.d.ts.map +1 -1
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js +56 -31
- package/node_modules/@murphai/vault-usecases/dist/usecases/workout.js.map +1 -1
- 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/package.json +4 -4
- package/node_modules/@murphai/assistant-engine/skills/nutrition-strategy/references/daily-nutrition-card-safety.md +0 -211
|
@@ -10,15 +10,17 @@ import { readHostedCanonicalWritePort, withHostedCanonicalWritePort, } from '@mu
|
|
|
10
10
|
import { renderAssistantResponseCardText, renderAssistantResponseCardTranscriptText, renderAssistantWorkoutResponseCardText, renderAssistantWorkoutResponseCardTranscriptText, } from '@murphai/operator-config/assistant-response-cards';
|
|
11
11
|
import { registerStopWarmCodexAppServer, registerWaitForWarmCodexBackgroundWork, } from './codex-lifecycle.js';
|
|
12
12
|
import { extractAssistantMessageFallback, extractCodexErrorInfo, extractCodexErrorMessage, extractCodexCompletedFinalAgentMessageTextFromNormalized, extractCodexProgressEventFromNormalized, isCodexCompletedFinalAgentMessageItemFromNormalized, isCodexCompletedUserMessageItemFromNormalized, extractCodexStatusEventFromStderrLine, extractCodexTraceUpdatesFromNormalized, extractCodexContextCompactionProgressTextFromNormalized, normalizeCodexEvent, normalizeStreamingText, } from './assistant-codex-events.js';
|
|
13
|
-
import { buildCodexTurnInterruptParams, buildCodexThreadResumeParams, buildCodexThreadStartParams, buildCodexTurnSteerParams, buildCodexTurnStartParams, mapCodexAppServerApprovalPolicy, mapCodexAppServerSandboxMode, resolveSupportedCodexAppServerApprovalPolicy, } from './assistant-codex/app-server-requests.js';
|
|
13
|
+
import { buildCodexTurnInterruptParams, buildCodexThreadMetadataResumeParams, buildCodexThreadResumeParams, buildCodexThreadStartParams, buildCodexTurnSteerParams, buildCodexTurnStartParams, mapCodexAppServerApprovalPolicy, mapCodexAppServerSandboxMode, resolveSupportedCodexAppServerApprovalPolicy, } from './assistant-codex/app-server-requests.js';
|
|
14
14
|
import { createCodexActionDiagnosticsReducer, createCodexActionRuntimeIssueTracker, } from './assistant-codex/action-diagnostics.js';
|
|
15
|
-
import {
|
|
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';
|
|
16
17
|
import { createAskGrokTurnState, } from './assistant-codex/ask-grok-tool.js';
|
|
18
|
+
import { createAnalyzeVideoTurnState, } from './assistant-codex/analyze-video-tool.js';
|
|
17
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';
|
|
18
20
|
import { readCodexNonEmptyString, readCodexRecord, readCodexThreadTokenUsage, } from './assistant-codex/app-server-protocol.js';
|
|
19
21
|
import { resolveCodexChildEnv, withHostedCodexModelCatalogConfigOverride, } from './assistant-codex/config.js';
|
|
20
22
|
import { buildCodexProcessExitError, buildCodexStdinFailureFallback, buildCodexTurnFailedError, extractCodexThreadIdFromMessage, extractCodexThreadIdFromResult, extractCodexThreadPathFromResult, extractCodexTurnErrorMessage, extractCodexTurnIdFromMessage, extractCodexTurnIdFromResult, extractCodexTurnStatus, isFailedCodexTurnStatus, readNodeErrorCode, } from './assistant-codex/failures.js';
|
|
21
|
-
import { extractCodexSubagentUsageDrafts, isAssistantCodexTokenUsageEventType,
|
|
23
|
+
import { buildCodexSubagentUsageDraft, extractCodexSubagentUsageDrafts, isAssistantCodexTokenUsageEventType, } from './assistant/providers/helpers.js';
|
|
22
24
|
import { materializeCodexImages, normalizeCodexAppServerImageDetails, } from './assistant-codex/images.js';
|
|
23
25
|
import { ASSISTANT_AUTHORED_RESPONSE_MEDIA_MAX_ITEMS, normalizeAssistantResponseMediaList, } from './assistant/response-media.js';
|
|
24
26
|
import { completeAssistantProviderStartCriticalPath, readAssistantProviderStartMonotonicTickMs, stampAssistantProviderStartCriticalPath, } from './assistant/provider-start-critical-path.js';
|
|
@@ -53,9 +55,6 @@ const CODEX_TRANSPORT_DIAGNOSTICS_TRACE_TYPE = 'assistant.codex.transport_diagno
|
|
|
53
55
|
const CODEX_GENERATED_AUDIO_PHASE_TIMING_TRACE_SCHEMA = 'murph.assistant-codex-generated-audio-phase-timing.v1';
|
|
54
56
|
const CODEX_GENERATED_AUDIO_PHASE_TIMING_TRACE_TYPE = 'assistant.codex.generated_audio_phase_timing';
|
|
55
57
|
const CODEX_APP_SERVER_STARTUP_STDERR_MAX_LENGTH = 16_384;
|
|
56
|
-
// Bound on distinct subagent threads whose token usage is tracked per parent
|
|
57
|
-
// turn. Far above any sane spawn fan-out; threads past the cap are ignored.
|
|
58
|
-
const MAX_CODEX_SUBAGENT_USAGE_THREADS = 32;
|
|
59
58
|
function prepareCodexRpcParams(method, params) {
|
|
60
59
|
const stripped = stripUndefinedRpcParams(params);
|
|
61
60
|
if (method === 'turn/start' &&
|
|
@@ -240,6 +239,7 @@ export async function executeCodexAppServerTurn(input) {
|
|
|
240
239
|
publicInternetFetch: input.publicInternetFetch ?? null,
|
|
241
240
|
tempRoot,
|
|
242
241
|
voiceMemoRuntime: input.voiceMemoRuntime ?? null,
|
|
242
|
+
analyzeVideoRuntime: input.analyzeVideoRuntime ?? null,
|
|
243
243
|
askGrokRuntime: input.askGrokRuntime ?? null,
|
|
244
244
|
};
|
|
245
245
|
let oneShotProcess = null;
|
|
@@ -424,8 +424,10 @@ class CodexAppServerProcess {
|
|
|
424
424
|
// reply.
|
|
425
425
|
detachedChildThreadIds = new Set();
|
|
426
426
|
detachedCompletedChildThreadIds = new Set();
|
|
427
|
+
detachedChildMessageHandlers = new Map();
|
|
427
428
|
detachedChildViolation = null;
|
|
428
429
|
detachedRootThreadIds = new Set();
|
|
430
|
+
pendingDetachedUsageReports = new Set();
|
|
429
431
|
stopCompleted = false;
|
|
430
432
|
state = 'idle';
|
|
431
433
|
stderrBuffer = '';
|
|
@@ -626,9 +628,18 @@ class CodexAppServerProcess {
|
|
|
626
628
|
rejectPendingCodexRpcRequests(this.pendingRequests, error);
|
|
627
629
|
}
|
|
628
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) {
|
|
629
640
|
const id = this.nextRequestId;
|
|
630
641
|
this.nextRequestId += 1;
|
|
631
|
-
|
|
642
|
+
const promise = new Promise((resolve, reject) => {
|
|
632
643
|
this.pendingRequests.set(id, {
|
|
633
644
|
method,
|
|
634
645
|
reject,
|
|
@@ -644,6 +655,7 @@ class CodexAppServerProcess {
|
|
|
644
655
|
reject(failure);
|
|
645
656
|
}
|
|
646
657
|
});
|
|
658
|
+
return { id, promise };
|
|
647
659
|
}
|
|
648
660
|
sendNotification(method, params) {
|
|
649
661
|
void this.writeRpcMessage({
|
|
@@ -668,6 +680,7 @@ class CodexAppServerProcess {
|
|
|
668
680
|
this.assertBackgroundWorkProcessAvailable();
|
|
669
681
|
await this.waitForDetachedChildren(signal);
|
|
670
682
|
this.assertDetachedChildrenQuiescent();
|
|
683
|
+
await this.waitForDetachedUsageReports(signal);
|
|
671
684
|
await this.assertNoBackgroundTerminals(signal);
|
|
672
685
|
throwIfCodexBackgroundWorkWaitAborted(signal);
|
|
673
686
|
this.assertBackgroundWorkProcessAvailable();
|
|
@@ -725,6 +738,18 @@ class CodexAppServerProcess {
|
|
|
725
738
|
throw new VaultCliError('ASSISTANT_CODEX_BACKGROUND_WORK_FAILED', 'Detached Codex work was still active at the workspace boundary.', { retryable: true });
|
|
726
739
|
}
|
|
727
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
|
+
}
|
|
728
753
|
async assertNoBackgroundTerminals(signal) {
|
|
729
754
|
const threadIds = new Set([
|
|
730
755
|
...this.detachedRootThreadIds,
|
|
@@ -744,6 +769,7 @@ class CodexAppServerProcess {
|
|
|
744
769
|
clearDetachedChildBoundary() {
|
|
745
770
|
this.detachedChildThreadIds.clear();
|
|
746
771
|
this.detachedCompletedChildThreadIds.clear();
|
|
772
|
+
this.detachedChildMessageHandlers.clear();
|
|
747
773
|
this.detachedChildViolation = null;
|
|
748
774
|
this.detachedRootThreadIds.clear();
|
|
749
775
|
}
|
|
@@ -763,6 +789,9 @@ class CodexAppServerProcess {
|
|
|
763
789
|
}
|
|
764
790
|
else {
|
|
765
791
|
this.detachedChildThreadIds.add(activity.agentThreadId);
|
|
792
|
+
if (this.activeTurn?.onSubagentMessage) {
|
|
793
|
+
this.detachedChildMessageHandlers.set(activity.agentThreadId, this.activeTurn.onSubagentMessage);
|
|
794
|
+
}
|
|
766
795
|
}
|
|
767
796
|
}
|
|
768
797
|
else {
|
|
@@ -993,11 +1022,6 @@ class CodexAppServerProcess {
|
|
|
993
1022
|
noteBoundThreadModel(model) {
|
|
994
1023
|
this.boundThreadModel = normalizeNullableString(model);
|
|
995
1024
|
}
|
|
996
|
-
// Exposed so a freshly bound turn can route foreign-thread events before
|
|
997
|
-
// its own thread/start response has produced the new thread id.
|
|
998
|
-
get lastBoundThreadId() {
|
|
999
|
-
return this.boundThreadId;
|
|
1000
|
-
}
|
|
1001
1025
|
handleIdleServerMessage(message) {
|
|
1002
1026
|
const responseId = readCodexRpcResponseId(message);
|
|
1003
1027
|
if (responseId !== null) {
|
|
@@ -1021,11 +1045,41 @@ class CodexAppServerProcess {
|
|
|
1021
1045
|
writeRpcMessage: (payload) => void this.writeRpcMessage(payload),
|
|
1022
1046
|
});
|
|
1023
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
|
+
}
|
|
1024
1075
|
handleStdoutLine(line) {
|
|
1025
1076
|
const parsed = tryParseJsonLine(line);
|
|
1026
1077
|
if (parsed.ok) {
|
|
1027
1078
|
this.observeDetachedChildLifecycle(parsed.value);
|
|
1028
1079
|
this.observeThreadTokenUsage(parsed.value);
|
|
1080
|
+
if (this.routeSubagentMessage(parsed.value)) {
|
|
1081
|
+
return;
|
|
1082
|
+
}
|
|
1029
1083
|
if (this.activeTurn) {
|
|
1030
1084
|
this.activeTurn.onParsedMessage(parsed.value);
|
|
1031
1085
|
}
|
|
@@ -1913,6 +1967,29 @@ function isCodexTurnStartedMethod(method) {
|
|
|
1913
1967
|
function createCodexSubagentTurnUsageKey(input) {
|
|
1914
1968
|
return `${input.threadId}\u0000${input.turnId}`;
|
|
1915
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
|
+
};
|
|
1992
|
+
}
|
|
1916
1993
|
function isCodexTurnCompletedMethod(method) {
|
|
1917
1994
|
return method === 'turn/completed';
|
|
1918
1995
|
}
|
|
@@ -2071,6 +2148,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2071
2148
|
let firstAssistantResponseCompleted = false;
|
|
2072
2149
|
let trailingSteerCandidate = null;
|
|
2073
2150
|
let completedUserMessageOrdinal = -1;
|
|
2151
|
+
const workoutDeliveryContext = createCodexWorkoutDeliveryContextTracker({
|
|
2152
|
+
contextReferences: input.trustedContextReferences,
|
|
2153
|
+
});
|
|
2074
2154
|
let lastEventError = null;
|
|
2075
2155
|
let lastEventErrorInfo = null;
|
|
2076
2156
|
let responseMedia = [];
|
|
@@ -2087,8 +2167,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2087
2167
|
const reservedNoReplyDeliveryContextOrdinals = new Set();
|
|
2088
2168
|
const additionalUsages = [];
|
|
2089
2169
|
let nextDynamicToolUsageOrdinal = (input.providerRequestOrdinal ?? 0) + 1;
|
|
2090
|
-
// Trusted turn-scoped
|
|
2091
|
-
//
|
|
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();
|
|
2092
2173
|
const askGrokTurnState = createAskGrokTurnState();
|
|
2093
2174
|
const groupSharedReadTurnState = {
|
|
2094
2175
|
currentSenderDecisionByMessageRef: new Map(),
|
|
@@ -2108,11 +2189,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2108
2189
|
}
|
|
2109
2190
|
: null;
|
|
2110
2191
|
const subagentTokenUsageByTurn = new Map();
|
|
2111
|
-
const trackedSubagentUsageThreadIds = new Set();
|
|
2112
|
-
// Thread ids named by this turn's collab tool calls (spawn/sendInput/...),
|
|
2113
|
-
// collected live so evidenced subagent threads win buffer slots over
|
|
2114
|
-
// stale/unattributed foreign threads when the cap is reached.
|
|
2115
|
-
const collabReceiverThreadIds = new Set();
|
|
2116
2192
|
let rolloutRelativePath = null;
|
|
2117
2193
|
let providerActionCount = 0;
|
|
2118
2194
|
const providerActionItemIds = new Set();
|
|
@@ -2120,12 +2196,14 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2120
2196
|
const runtimeIssueInputs = [];
|
|
2121
2197
|
const actionRuntimeIssueTracker = createCodexActionRuntimeIssueTracker();
|
|
2122
2198
|
let computerToolsLockedAfterUserPause = false;
|
|
2199
|
+
let requiredFinalResponseFallback = null;
|
|
2123
2200
|
const requiredVaultFileApprovalUrls = [];
|
|
2124
2201
|
const requiredAutomationLocalAtClarifications = new Map();
|
|
2125
2202
|
const actionDiagnostics = input.onTraceEvent
|
|
2126
2203
|
? createCodexActionDiagnosticsReducer()
|
|
2127
2204
|
: null;
|
|
2128
2205
|
let actionDiagnosticsTraceEmitted = false;
|
|
2206
|
+
let requiredFinalResponseFallbackOutcome = null;
|
|
2129
2207
|
const assistantStreams = new Map();
|
|
2130
2208
|
const assistantStreamOrder = [];
|
|
2131
2209
|
const externallyVisibleAssistantOutputDeliveryContexts = new Set();
|
|
@@ -2195,22 +2273,21 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2195
2273
|
stderr,
|
|
2196
2274
|
});
|
|
2197
2275
|
};
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
subagentTokenUsageByTurn,
|
|
2208
|
-
});
|
|
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
|
+
});
|
|
2209
2285
|
const hasNoReplyFinalActionPatch = () => finalActionPatches.some((entry) => entry.patch.kind === 'none');
|
|
2210
2286
|
const listNoReplyFinalActionPatchOrdinals = () => [...new Set(finalActionPatches
|
|
2211
2287
|
.filter((entry) => entry.patch.kind === 'none')
|
|
2212
2288
|
.map((entry) => entry.deliveryContextOrdinal))].sort((left, right) => left - right);
|
|
2213
2289
|
const hasRequiredUserVisibleOutput = () => computerToolsLockedAfterUserPause ||
|
|
2290
|
+
requiredFinalResponseFallback !== null ||
|
|
2214
2291
|
requiredAutomationLocalAtClarifications.size > 0 ||
|
|
2215
2292
|
requiredVaultFileApprovalUrls.length > 0;
|
|
2216
2293
|
const settleNoReplyFinalActions = async () => {
|
|
@@ -2516,6 +2593,11 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
2516
2593
|
? renderAssistantWorkoutResponseCardTranscriptText(trailingSteerCandidate.cardTextFallback)
|
|
2517
2594
|
: response;
|
|
2518
2595
|
precedingAgentMessageSegments.push({
|
|
2596
|
+
...(trailingSteerCandidate.contextReferences === undefined
|
|
2597
|
+
? {}
|
|
2598
|
+
: {
|
|
2599
|
+
contextReferences: trailingSteerCandidate.contextReferences,
|
|
2600
|
+
}),
|
|
2519
2601
|
deliveryContextOrdinal: trailingSteerCandidate.deliveryContextOrdinal,
|
|
2520
2602
|
media: [...trailingSteerCandidate.media],
|
|
2521
2603
|
response,
|
|
@@ -3158,6 +3240,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3158
3240
|
groupRoomModelAvailable: input.dynamicTools.some((tool) => tool.namespace === MURPH_GROUP_ROOM_MODEL_TOOL.namespace &&
|
|
3159
3241
|
tool.name === MURPH_GROUP_ROOM_MODEL_TOOL.name),
|
|
3160
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,
|
|
3161
3246
|
abortSignal: input.abortSignal
|
|
3162
3247
|
? AbortSignal.any([input.abortSignal, dynamicToolAbortController.signal])
|
|
3163
3248
|
: dynamicToolAbortController.signal,
|
|
@@ -3204,6 +3289,10 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3204
3289
|
dynamicToolRequest.kind === 'generate-song'
|
|
3205
3290
|
? input.voiceMemoRuntime ?? null
|
|
3206
3291
|
: null,
|
|
3292
|
+
analyzeVideoRuntime: dynamicToolRequest.kind === 'analyze-video'
|
|
3293
|
+
? input.analyzeVideoRuntime ?? null
|
|
3294
|
+
: null,
|
|
3295
|
+
analyzeVideoTurnState,
|
|
3207
3296
|
askGrokRuntime: dynamicToolRequest.kind === 'ask-grok'
|
|
3208
3297
|
? input.askGrokRuntime ?? null
|
|
3209
3298
|
: null,
|
|
@@ -3215,6 +3304,19 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3215
3304
|
if (dynamicToolRequest.kind === 'send-progress-update') {
|
|
3216
3305
|
releaseDynamicProgressPending?.();
|
|
3217
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
|
+
}
|
|
3218
3320
|
for (const runtimeIssueInput of result.runtimeIssueInputs ?? []) {
|
|
3219
3321
|
pushRuntimeIssueInput(runtimeIssueInput);
|
|
3220
3322
|
}
|
|
@@ -3430,9 +3532,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3430
3532
|
codexTimingTurnCompletedNotificationElapsedMs = Math.max(0, observedAtMs - providerRequestStartedAtMs);
|
|
3431
3533
|
}
|
|
3432
3534
|
}
|
|
3433
|
-
for (const receiverThreadId of readCodexCollabReceiverThreadIds(message)) {
|
|
3434
|
-
collabReceiverThreadIds.add(receiverThreadId);
|
|
3435
|
-
}
|
|
3436
3535
|
lastEventError = extractCodexErrorMessage(message) ?? lastEventError;
|
|
3437
3536
|
lastEventErrorInfo = extractCodexErrorInfo(message) ?? lastEventErrorInfo;
|
|
3438
3537
|
const normalizedEvent = normalizeCodexEvent(message);
|
|
@@ -3480,6 +3579,10 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3480
3579
|
providerActionCount += 1;
|
|
3481
3580
|
}
|
|
3482
3581
|
const deliveryContextOrdinal = currentDeliveryContextOrdinal();
|
|
3582
|
+
workoutDeliveryContext.observe({
|
|
3583
|
+
deliveryContextOrdinal,
|
|
3584
|
+
event: normalizedEvent,
|
|
3585
|
+
});
|
|
3483
3586
|
const suppressDeliveryContext = shouldSuppressDeliveryContext(deliveryContextOrdinal);
|
|
3484
3587
|
const isCommentaryAssistantMessage = normalizedEvent.kind === 'assistant_message' &&
|
|
3485
3588
|
normalizedEvent.messagePhase === 'commentary';
|
|
@@ -3520,6 +3623,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3520
3623
|
(completedFinalAgentMessageText !== null ||
|
|
3521
3624
|
responseMedia.length > 0);
|
|
3522
3625
|
if (completedFinalAgentResponse && !suppressDeliveryContext) {
|
|
3626
|
+
workoutDeliveryContext.recordCompletedResponse(deliveryContextOrdinal);
|
|
3523
3627
|
promoteTrailingSteerCandidate();
|
|
3524
3628
|
completedFinalAgentMessage = completedFinalAgentMessageText ?? '';
|
|
3525
3629
|
if (!firstAssistantResponseCompleted) {
|
|
@@ -3531,7 +3635,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3531
3635
|
if (completedFinalAgentMessage !== null) {
|
|
3532
3636
|
const completedResponseDeliveryContextOrdinal = Math.max(0, completedUserMessageOrdinal);
|
|
3533
3637
|
const completedResponseTargetInputId = resolveReplyTargetPatch(completedResponseDeliveryContextOrdinal)?.targetInputId ?? null;
|
|
3638
|
+
const contextReferences = workoutDeliveryContext.readReferences(completedResponseDeliveryContextOrdinal);
|
|
3534
3639
|
trailingSteerCandidate = {
|
|
3640
|
+
...(contextReferences === undefined ? {} : { contextReferences }),
|
|
3535
3641
|
deliveryContextOrdinal: completedResponseDeliveryContextOrdinal,
|
|
3536
3642
|
response: completedFinalAgentMessage,
|
|
3537
3643
|
media: [...responseMedia],
|
|
@@ -3618,33 +3724,17 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3618
3724
|
if (subagentTokenUsageByTurn.has(usageKey)) {
|
|
3619
3725
|
return;
|
|
3620
3726
|
}
|
|
3621
|
-
if (!trackedSubagentUsageThreadIds.has(threadId)
|
|
3622
|
-
&& trackedSubagentUsageThreadIds.size >= MAX_CODEX_SUBAGENT_USAGE_THREADS) {
|
|
3623
|
-
const evictableThreadId = collabReceiverThreadIds.has(threadId)
|
|
3624
|
-
? [...trackedSubagentUsageThreadIds].find((trackedThreadId) => !collabReceiverThreadIds.has(trackedThreadId))
|
|
3625
|
-
: undefined;
|
|
3626
|
-
if (evictableThreadId === undefined) {
|
|
3627
|
-
return;
|
|
3628
|
-
}
|
|
3629
|
-
trackedSubagentUsageThreadIds.delete(evictableThreadId);
|
|
3630
|
-
for (const [trackedUsageKey, sample] of subagentTokenUsageByTurn) {
|
|
3631
|
-
if (sample.threadId === evictableThreadId) {
|
|
3632
|
-
subagentTokenUsageByTurn.delete(trackedUsageKey);
|
|
3633
|
-
}
|
|
3634
|
-
}
|
|
3635
|
-
}
|
|
3636
|
-
trackedSubagentUsageThreadIds.add(threadId);
|
|
3637
3727
|
subagentTokenUsageByTurn.set(usageKey, {
|
|
3638
3728
|
firstEvent: null,
|
|
3639
3729
|
lastEvent: null,
|
|
3640
3730
|
occurredAt: new Date().toISOString(),
|
|
3731
|
+
providerRequestOutcome: 'succeeded',
|
|
3641
3732
|
threadId,
|
|
3642
3733
|
turnId: messageTurnId,
|
|
3643
3734
|
});
|
|
3644
3735
|
return;
|
|
3645
3736
|
}
|
|
3646
|
-
if (!
|
|
3647
|
-
|| !messageTurnId) {
|
|
3737
|
+
if (!messageTurnId) {
|
|
3648
3738
|
return;
|
|
3649
3739
|
}
|
|
3650
3740
|
const usageKey = createCodexSubagentTurnUsageKey({
|
|
@@ -3652,10 +3742,32 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3652
3742
|
turnId: messageTurnId,
|
|
3653
3743
|
});
|
|
3654
3744
|
const sample = subagentTokenUsageByTurn.get(usageKey);
|
|
3745
|
+
if (isCodexTurnCompletedMethod(eventMethod)) {
|
|
3746
|
+
if (!sample) {
|
|
3747
|
+
return;
|
|
3748
|
+
}
|
|
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;
|
|
3765
|
+
}
|
|
3766
|
+
if (!isAssistantCodexTokenUsageEventType(eventMethod)) {
|
|
3767
|
+
return;
|
|
3768
|
+
}
|
|
3655
3769
|
if (!sample) {
|
|
3656
|
-
// A child token sample without an observed start has no
|
|
3657
|
-
// timestamp. Parent collab evidence authorizes the child but cannot
|
|
3658
|
-
// establish when its provider operation began.
|
|
3770
|
+
// A child token sample without an observed start has no accounting timestamp.
|
|
3659
3771
|
return;
|
|
3660
3772
|
}
|
|
3661
3773
|
sample.firstEvent ??= message;
|
|
@@ -3727,19 +3839,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3727
3839
|
}
|
|
3728
3840
|
return;
|
|
3729
3841
|
}
|
|
3730
|
-
// Codex owns subagent/thread lifecycle. Murph only keeps foreign thread
|
|
3731
|
-
// traffic away from the active parent turn: token usage is buffered for
|
|
3732
|
-
// billing, server requests are denied, and other child events are dropped.
|
|
3733
|
-
// Before a fresh thread/start response produces this turn's thread id, the
|
|
3734
|
-
// previous bound thread id is enough to distinguish late child traffic.
|
|
3735
|
-
const messageThreadId = extractCodexThreadIdFromMessage(message);
|
|
3736
|
-
const knownParentThreadId = codexThreadId ?? requestedResumeThreadId ?? codexProcess.lastBoundThreadId;
|
|
3737
|
-
if (messageThreadId !== null &&
|
|
3738
|
-
knownParentThreadId !== null &&
|
|
3739
|
-
messageThreadId !== knownParentThreadId) {
|
|
3740
|
-
handleSubagentThreadMessage(messageThreadId, message);
|
|
3741
|
-
return;
|
|
3742
|
-
}
|
|
3743
3842
|
const messageTurnId = extractCodexTurnIdFromMessage(message);
|
|
3744
3843
|
const method = readCodexEventMethod(message);
|
|
3745
3844
|
const requestId = readCodexRpcServerRequestId(message);
|
|
@@ -3785,6 +3884,12 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3785
3884
|
method !== 'model/rerouted') {
|
|
3786
3885
|
return;
|
|
3787
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.
|
|
3891
|
+
return;
|
|
3892
|
+
}
|
|
3788
3893
|
handleAcceptedEvent(message, method);
|
|
3789
3894
|
}
|
|
3790
3895
|
const emitActionDiagnosticsTrace = () => {
|
|
@@ -3814,6 +3919,31 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3814
3919
|
}
|
|
3815
3920
|
};
|
|
3816
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
|
+
};
|
|
3817
3947
|
const requireLiveTurnIds = () => {
|
|
3818
3948
|
if (!liveTurnOpen || !codexThreadId || !turnId) {
|
|
3819
3949
|
throw buildLiveTurnInactiveError();
|
|
@@ -3914,6 +4044,12 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3914
4044
|
}));
|
|
3915
4045
|
},
|
|
3916
4046
|
onParsedMessage: handleParsedMessage,
|
|
4047
|
+
onSubagentMessage(message) {
|
|
4048
|
+
const threadId = extractCodexThreadIdFromMessage(message);
|
|
4049
|
+
if (threadId) {
|
|
4050
|
+
handleSubagentThreadMessage(threadId, message);
|
|
4051
|
+
}
|
|
4052
|
+
},
|
|
3917
4053
|
onStderrLine(line) {
|
|
3918
4054
|
const progressEvent = extractCodexStatusEventFromStderrLine(line);
|
|
3919
4055
|
if (progressEvent) {
|
|
@@ -3963,12 +4099,6 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
3963
4099
|
threadResult,
|
|
3964
4100
|
});
|
|
3965
4101
|
}
|
|
3966
|
-
else if (normalizeNullableString(input.permissions)) {
|
|
3967
|
-
assertCodexThreadStartPermissionAttestation({
|
|
3968
|
-
input,
|
|
3969
|
-
threadResult,
|
|
3970
|
-
});
|
|
3971
|
-
}
|
|
3972
4102
|
codexThreadId = extractCodexThreadIdFromResult(threadResult) ?? codexThreadId;
|
|
3973
4103
|
codexProcess.noteBoundThreadId(codexThreadId);
|
|
3974
4104
|
rolloutRelativePath = resolveCodexRolloutRelativePath({
|
|
@@ -4147,19 +4277,25 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
4147
4277
|
: finalResponseCardTextFallback
|
|
4148
4278
|
? renderAssistantWorkoutResponseCardText(finalResponseCardTextFallback)
|
|
4149
4279
|
: modelFinalMessage;
|
|
4280
|
+
const requiredSemanticFinalMessage = normalizeNullableString(semanticFinalMessage) ??
|
|
4281
|
+
requiredFinalResponseFallback ??
|
|
4282
|
+
semanticFinalMessage;
|
|
4150
4283
|
const requiredAutomationLocalAtClarificationsInOrder = [...requiredAutomationLocalAtClarifications.values()];
|
|
4151
4284
|
const deliveredFinalResponseCard = requiredAutomationLocalAtClarificationsInOrder.length === 0
|
|
4152
4285
|
? finalResponseCard
|
|
4153
4286
|
: null;
|
|
4154
|
-
const finalMessage = appendRequiredVaultFileApprovalUrls(appendRequiredAutomationLocalAtClarification(
|
|
4155
|
-
const
|
|
4287
|
+
const finalMessage = appendRequiredVaultFileApprovalUrls(appendRequiredAutomationLocalAtClarification(requiredSemanticFinalMessage, requiredAutomationLocalAtClarificationsInOrder), requiredVaultFileApprovalUrls);
|
|
4288
|
+
const semanticTranscriptMessage = finalResponseCard
|
|
4156
4289
|
? requiredAutomationLocalAtClarificationsInOrder.length === 0
|
|
4157
4290
|
? renderAssistantResponseCardTranscriptText(finalResponseCard)
|
|
4158
4291
|
: renderAssistantResponseCardText(finalResponseCard)
|
|
4159
4292
|
: finalResponseCardTextFallback
|
|
4160
4293
|
? renderAssistantWorkoutResponseCardTranscriptText(finalResponseCardTextFallback)
|
|
4161
4294
|
: normalizeNullableString(modelFinalMessage) ??
|
|
4162
|
-
(finalResponseMedia.length > 0 ? '' : null)
|
|
4295
|
+
(finalResponseMedia.length > 0 ? '' : null);
|
|
4296
|
+
const transcriptMessage = appendRequiredAutomationLocalAtClarification(normalizeNullableString(semanticTranscriptMessage) ??
|
|
4297
|
+
requiredFinalResponseFallback ??
|
|
4298
|
+
semanticTranscriptMessage, requiredAutomationLocalAtClarificationsInOrder);
|
|
4163
4299
|
if (noReplySelected &&
|
|
4164
4300
|
normalizeNullableString(extractedFinalMessage) !== null) {
|
|
4165
4301
|
emitCodexSuppressedFinalMessageTrace({
|
|
@@ -4175,6 +4311,7 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
4175
4311
|
(!noReplySelected && (finalResponseMedia.length > 0 ||
|
|
4176
4312
|
deliveredFinalResponseCard !== null ||
|
|
4177
4313
|
finalResponseCardTextFallback !== null));
|
|
4314
|
+
const finalResponseContextReferences = workoutDeliveryContext.readReferences(finalDeliveryContextOrdinal);
|
|
4178
4315
|
return {
|
|
4179
4316
|
acceptedNoReplyDeliveryContextOrdinals: acceptedNoReplyDeliveryContextOrdinals,
|
|
4180
4317
|
finalAction,
|
|
@@ -4188,6 +4325,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
4188
4325
|
targetInputId: entry.patch.targetInputId,
|
|
4189
4326
|
})),
|
|
4190
4327
|
precedingAgentMessageSegments: filteredPrecedingAgentMessageSegments.map((segment) => ({
|
|
4328
|
+
...(segment.contextReferences === undefined
|
|
4329
|
+
? {}
|
|
4330
|
+
: { contextReferences: segment.contextReferences }),
|
|
4191
4331
|
deliveryContextOrdinal: segment.deliveryContextOrdinal,
|
|
4192
4332
|
response: segment.response,
|
|
4193
4333
|
...(segment.transcriptResponse === undefined
|
|
@@ -4199,6 +4339,9 @@ async function runCodexAppServerTurnOnProcess(codexProcess, input) {
|
|
|
4199
4339
|
: {}),
|
|
4200
4340
|
})),
|
|
4201
4341
|
responseDeliveryContextOrdinal: finalDeliveryContextOrdinal,
|
|
4342
|
+
...(finalResponseContextReferences === undefined
|
|
4343
|
+
? {}
|
|
4344
|
+
: { responseContextReferences: finalResponseContextReferences }),
|
|
4202
4345
|
targetInputId: resolveReplyTargetPatch(finalDeliveryContextOrdinal)?.targetInputId ?? null,
|
|
4203
4346
|
additionalUsages: [...additionalUsages, ...buildSubagentUsageDrafts()],
|
|
4204
4347
|
responseMedia: finalHasDeliverableOutput ? [...finalResponseMedia] : [],
|
|
@@ -4231,46 +4374,6 @@ function mergeAutomationRelativeDateReferenceWindows(preceding, current) {
|
|
|
4231
4374
|
latestAt: new Date(latestAtMs).toISOString(),
|
|
4232
4375
|
};
|
|
4233
4376
|
}
|
|
4234
|
-
function assertCodexThreadStartPermissionAttestation(input) {
|
|
4235
|
-
const result = asCodexRecord(input.threadResult);
|
|
4236
|
-
const activePermissionProfile = asCodexRecord(result?.activePermissionProfile);
|
|
4237
|
-
const actualCwd = normalizeNullableString(asCodexString(result?.cwd));
|
|
4238
|
-
const actualRoots = asCodexStringArray(result?.runtimeWorkspaceRoots);
|
|
4239
|
-
const instructionSources = Array.isArray(result?.instructionSources)
|
|
4240
|
-
? result.instructionSources
|
|
4241
|
-
: null;
|
|
4242
|
-
const expectedRoots = input.input.runtimeWorkspaceRoots ?? [];
|
|
4243
|
-
const mismatchedFields = [];
|
|
4244
|
-
const permissionProfileMismatch = normalizeNullableString(asCodexString(activePermissionProfile?.id)) !==
|
|
4245
|
-
normalizeNullableString(input.input.permissions) ||
|
|
4246
|
-
normalizeNullableString(asCodexString(activePermissionProfile?.extends)) !== null;
|
|
4247
|
-
if (permissionProfileMismatch) {
|
|
4248
|
-
mismatchedFields.push('activePermissionProfile');
|
|
4249
|
-
}
|
|
4250
|
-
if (!actualRoots ||
|
|
4251
|
-
actualRoots.length !== expectedRoots.length ||
|
|
4252
|
-
actualRoots.some((root, index) => path.resolve(root) !== path.resolve(expectedRoots[index] ?? ''))) {
|
|
4253
|
-
mismatchedFields.push('runtimeWorkspaceRoots');
|
|
4254
|
-
}
|
|
4255
|
-
if (!actualCwd || path.resolve(actualCwd) !== input.input.workingDirectory) {
|
|
4256
|
-
mismatchedFields.push('cwd');
|
|
4257
|
-
}
|
|
4258
|
-
if (input.input.processLifetime === 'one-shot' &&
|
|
4259
|
-
(instructionSources === null || instructionSources.length !== 0)) {
|
|
4260
|
-
mismatchedFields.push('instructionSources');
|
|
4261
|
-
}
|
|
4262
|
-
if (asCodexString(result?.approvalPolicy) !==
|
|
4263
|
-
mapCodexAppServerApprovalPolicy(input.input.approvalPolicy)) {
|
|
4264
|
-
mismatchedFields.push('approvalPolicy');
|
|
4265
|
-
}
|
|
4266
|
-
if (mismatchedFields.length === 0) {
|
|
4267
|
-
return;
|
|
4268
|
-
}
|
|
4269
|
-
throw new VaultCliError('ASSISTANT_CODEX_APP_SERVER_PERMISSION_ATTESTATION_FAILED', 'Codex app-server did not attest the requested named-permission execution context.', {
|
|
4270
|
-
mismatchedFields,
|
|
4271
|
-
retryable: false,
|
|
4272
|
-
});
|
|
4273
|
-
}
|
|
4274
4377
|
function emitCodexSuppressedFinalMessageTrace(input) {
|
|
4275
4378
|
if (!input.onTraceEvent) {
|
|
4276
4379
|
return;
|
|
@@ -4338,20 +4441,7 @@ function notifyCodexAppServerProviderRequestStartedBestEffort(input) {
|
|
|
4338
4441
|
}
|
|
4339
4442
|
}
|
|
4340
4443
|
function isInvalidDynamicToolRequest(request) {
|
|
4341
|
-
return
|
|
4342
|
-
request.kind === 'invalid-automation-arguments' ||
|
|
4343
|
-
request.kind === 'invalid-assistant-style-arguments' ||
|
|
4344
|
-
request.kind === 'invalid-computer-arguments' ||
|
|
4345
|
-
request.kind === 'invalid-device-arguments' ||
|
|
4346
|
-
request.kind === 'invalid-generate-voice-memo-arguments' ||
|
|
4347
|
-
request.kind === 'invalid-pending-vault-files-arguments' ||
|
|
4348
|
-
request.kind === 'invalid-finish-without-reply-arguments' ||
|
|
4349
|
-
request.kind === 'invalid-progress-arguments' ||
|
|
4350
|
-
request.kind === 'invalid-reaction-arguments' ||
|
|
4351
|
-
request.kind === 'invalid-reply-target-arguments' ||
|
|
4352
|
-
request.kind === 'invalid-product-feedback-arguments' ||
|
|
4353
|
-
request.kind === 'invalid-response-card-arguments' ||
|
|
4354
|
-
request.kind === 'invalid-response-media-arguments');
|
|
4444
|
+
return 'validationDigest' in request;
|
|
4355
4445
|
}
|
|
4356
4446
|
function isSerializedDynamicToolRequest(request) {
|
|
4357
4447
|
return request.kind === 'automation' ||
|