@murphai/hosted-execution 0.1.15 → 0.1.17
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/LICENSE +201 -674
- package/README.md +15 -14
- package/dist/auth.d.ts +11 -25
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +32 -76
- package/dist/auth.js.map +1 -1
- package/dist/builders.d.ts +3 -4
- package/dist/builders.d.ts.map +1 -1
- package/dist/builders.js +24 -24
- package/dist/builders.js.map +1 -1
- package/dist/bundles.d.ts +3 -13
- package/dist/bundles.d.ts.map +1 -1
- package/dist/bundles.js +1 -16
- package/dist/bundles.js.map +1 -1
- package/dist/client.d.ts +2 -26
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +38 -212
- package/dist/client.js.map +1 -1
- package/dist/contracts.d.ts +49 -118
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +15 -58
- package/dist/contracts.js.map +1 -1
- package/dist/dispatch-ref.d.ts +1 -2
- package/dist/dispatch-ref.d.ts.map +1 -1
- package/dist/dispatch-ref.js +16 -30
- package/dist/dispatch-ref.js.map +1 -1
- package/dist/env.d.ts +0 -38
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +1 -87
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/observability.d.ts +3 -1
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +76 -53
- package/dist/observability.js.map +1 -1
- package/dist/outbox-payload.d.ts +7 -5
- package/dist/outbox-payload.d.ts.map +1 -1
- package/dist/outbox-payload.js +75 -38
- package/dist/outbox-payload.js.map +1 -1
- package/dist/parsers.d.ts +10 -10
- package/dist/parsers.d.ts.map +1 -1
- package/dist/parsers.js +192 -139
- package/dist/parsers.js.map +1 -1
- package/dist/routes.d.ts +4 -9
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +7 -18
- package/dist/routes.js.map +1 -1
- package/node_modules/@murphai/core/README.md +3 -0
- package/node_modules/@murphai/core/dist/assessment/index.d.ts +5 -0
- package/node_modules/@murphai/core/dist/assessment/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/index.js +4 -0
- package/node_modules/@murphai/core/dist/assessment/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/project.d.ts +9 -0
- package/node_modules/@murphai/core/dist/assessment/project.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/project.js +353 -0
- package/node_modules/@murphai/core/dist/assessment/project.js.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/storage.d.ts +13 -0
- package/node_modules/@murphai/core/dist/assessment/storage.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/storage.js +202 -0
- package/node_modules/@murphai/core/dist/assessment/storage.js.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/types.d.ts +112 -0
- package/node_modules/@murphai/core/dist/assessment/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/assessment/types.js +5 -0
- package/node_modules/@murphai/core/dist/assessment/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/atomic-write.d.ts +5 -0
- package/node_modules/@murphai/core/dist/atomic-write.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/atomic-write.js +120 -0
- package/node_modules/@murphai/core/dist/atomic-write.js.map +1 -0
- package/node_modules/@murphai/core/dist/audit.d.ts +27 -0
- package/node_modules/@murphai/core/dist/audit.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/audit.js +94 -0
- package/node_modules/@murphai/core/dist/audit.js.map +1 -0
- package/node_modules/@murphai/core/dist/automation.d.ts +55 -0
- package/node_modules/@murphai/core/dist/automation.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/automation.js +411 -0
- package/node_modules/@murphai/core/dist/automation.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/allergies.d.ts +5 -0
- package/node_modules/@murphai/core/dist/bank/allergies.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/allergies.js +209 -0
- package/node_modules/@murphai/core/dist/bank/allergies.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/conditions.d.ts +5 -0
- package/node_modules/@murphai/core/dist/bank/conditions.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/conditions.js +249 -0
- package/node_modules/@murphai/core/dist/bank/conditions.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/foods.d.ts +8 -0
- package/node_modules/@murphai/core/dist/bank/foods.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/foods.js +255 -0
- package/node_modules/@murphai/core/dist/bank/foods.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/goals.d.ts +5 -0
- package/node_modules/@murphai/core/dist/bank/goals.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/goals.js +289 -0
- package/node_modules/@murphai/core/dist/bank/goals.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/index.d.ts +10 -0
- package/node_modules/@murphai/core/dist/bank/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/index.js +10 -0
- package/node_modules/@murphai/core/dist/bank/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/protocols.d.ts +8 -0
- package/node_modules/@murphai/core/dist/bank/protocols.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/protocols.js +466 -0
- package/node_modules/@murphai/core/dist/bank/protocols.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/providers.d.ts +46 -0
- package/node_modules/@murphai/core/dist/bank/providers.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/providers.js +160 -0
- package/node_modules/@murphai/core/dist/bank/providers.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/recipes.d.ts +8 -0
- package/node_modules/@murphai/core/dist/bank/recipes.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/recipes.js +287 -0
- package/node_modules/@murphai/core/dist/bank/recipes.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/shared.d.ts +39 -0
- package/node_modules/@murphai/core/dist/bank/shared.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/shared.js +150 -0
- package/node_modules/@murphai/core/dist/bank/shared.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/types.d.ts +469 -0
- package/node_modules/@murphai/core/dist/bank/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/types.js +35 -0
- package/node_modules/@murphai/core/dist/bank/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts +5 -0
- package/node_modules/@murphai/core/dist/bank/workout-formats.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/bank/workout-formats.js +204 -0
- package/node_modules/@murphai/core/dist/bank/workout-formats.js.map +1 -0
- package/node_modules/@murphai/core/dist/canonical-mutations.d.ts +54 -0
- package/node_modules/@murphai/core/dist/canonical-mutations.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/canonical-mutations.js +196 -0
- package/node_modules/@murphai/core/dist/canonical-mutations.js.map +1 -0
- package/node_modules/@murphai/core/dist/constants.d.ts +125 -0
- package/node_modules/@murphai/core/dist/constants.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/constants.js +132 -0
- package/node_modules/@murphai/core/dist/constants.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/events.d.ts +100 -0
- package/node_modules/@murphai/core/dist/domains/events.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/events.js +593 -0
- package/node_modules/@murphai/core/dist/domains/events.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/experiments.d.ts +71 -0
- package/node_modules/@murphai/core/dist/domains/experiments.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/experiments.js +275 -0
- package/node_modules/@murphai/core/dist/domains/experiments.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/journal.d.ts +52 -0
- package/node_modules/@murphai/core/dist/domains/journal.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/journal.js +173 -0
- package/node_modules/@murphai/core/dist/domains/journal.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/shared.d.ts +37 -0
- package/node_modules/@murphai/core/dist/domains/shared.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/shared.js +101 -0
- package/node_modules/@murphai/core/dist/domains/shared.js.map +1 -0
- package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts +15 -0
- package/node_modules/@murphai/core/dist/domains/vault-summary.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/domains/vault-summary.js +58 -0
- package/node_modules/@murphai/core/dist/domains/vault-summary.js.map +1 -0
- package/node_modules/@murphai/core/dist/errors.d.ts +8 -0
- package/node_modules/@murphai/core/dist/errors.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/errors.js +14 -0
- package/node_modules/@murphai/core/dist/errors.js.map +1 -0
- package/node_modules/@murphai/core/dist/event-attachments.d.ts +69 -0
- package/node_modules/@murphai/core/dist/event-attachments.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/event-attachments.js +202 -0
- package/node_modules/@murphai/core/dist/event-attachments.js.map +1 -0
- package/node_modules/@murphai/core/dist/event-links.d.ts +15 -0
- package/node_modules/@murphai/core/dist/event-links.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/event-links.js +54 -0
- package/node_modules/@murphai/core/dist/event-links.js.map +1 -0
- package/node_modules/@murphai/core/dist/family/api.d.ts +5 -0
- package/node_modules/@murphai/core/dist/family/api.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/family/api.js +221 -0
- package/node_modules/@murphai/core/dist/family/api.js.map +1 -0
- package/node_modules/@murphai/core/dist/family/index.d.ts +3 -0
- package/node_modules/@murphai/core/dist/family/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/family/index.js +3 -0
- package/node_modules/@murphai/core/dist/family/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/family/types.d.ts +34 -0
- package/node_modules/@murphai/core/dist/family/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/family/types.js +2 -0
- package/node_modules/@murphai/core/dist/family/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/frontmatter.d.ts +4 -0
- package/node_modules/@murphai/core/dist/frontmatter.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/frontmatter.js +99 -0
- package/node_modules/@murphai/core/dist/frontmatter.js.map +1 -0
- package/node_modules/@murphai/core/dist/fs.d.ts +22 -0
- package/node_modules/@murphai/core/dist/fs.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/fs.js +172 -0
- package/node_modules/@murphai/core/dist/fs.js.map +1 -0
- package/node_modules/@murphai/core/dist/genetics/api.d.ts +5 -0
- package/node_modules/@murphai/core/dist/genetics/api.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/genetics/api.js +226 -0
- package/node_modules/@murphai/core/dist/genetics/api.js.map +1 -0
- package/node_modules/@murphai/core/dist/genetics/index.d.ts +3 -0
- package/node_modules/@murphai/core/dist/genetics/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/genetics/index.js +3 -0
- package/node_modules/@murphai/core/dist/genetics/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/genetics/types.d.ts +40 -0
- package/node_modules/@murphai/core/dist/genetics/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/genetics/types.js +4 -0
- package/node_modules/@murphai/core/dist/genetics/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/history/api.d.ts +7 -0
- package/node_modules/@murphai/core/dist/history/api.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/history/api.js +473 -0
- package/node_modules/@murphai/core/dist/history/api.js.map +1 -0
- package/node_modules/@murphai/core/dist/history/event-spine.d.ts +41 -0
- package/node_modules/@murphai/core/dist/history/event-spine.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/history/event-spine.js +111 -0
- package/node_modules/@murphai/core/dist/history/event-spine.js.map +1 -0
- package/node_modules/@murphai/core/dist/history/index.d.ts +3 -0
- package/node_modules/@murphai/core/dist/history/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/history/index.js +3 -0
- package/node_modules/@murphai/core/dist/history/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/history/shared.d.ts +25 -0
- package/node_modules/@murphai/core/dist/history/shared.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/history/shared.js +144 -0
- package/node_modules/@murphai/core/dist/history/shared.js.map +1 -0
- package/node_modules/@murphai/core/dist/history/types.d.ts +127 -0
- package/node_modules/@murphai/core/dist/history/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/history/types.js +8 -0
- package/node_modules/@murphai/core/dist/history/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/ids.d.ts +3 -0
- package/node_modules/@murphai/core/dist/ids.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/ids.js +20 -0
- package/node_modules/@murphai/core/dist/ids.js.map +1 -0
- package/node_modules/@murphai/core/dist/index.d.ts +30 -0
- package/node_modules/@murphai/core/dist/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/index.js +23 -0
- package/node_modules/@murphai/core/dist/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/jsonl.d.ts +12 -0
- package/node_modules/@murphai/core/dist/jsonl.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/jsonl.js +40 -0
- package/node_modules/@murphai/core/dist/jsonl.js.map +1 -0
- package/node_modules/@murphai/core/dist/memory.d.ts +17 -0
- package/node_modules/@murphai/core/dist/memory.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/memory.js +72 -0
- package/node_modules/@murphai/core/dist/memory.js.map +1 -0
- package/node_modules/@murphai/core/dist/mutations.d.ts +150 -0
- package/node_modules/@murphai/core/dist/mutations.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/mutations.js +1109 -0
- package/node_modules/@murphai/core/dist/mutations.js.map +1 -0
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts +29 -0
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js +164 -0
- package/node_modules/@murphai/core/dist/operations/canonical-write-lock.js.map +1 -0
- package/node_modules/@murphai/core/dist/operations/index.d.ts +5 -0
- package/node_modules/@murphai/core/dist/operations/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/operations/index.js +3 -0
- package/node_modules/@murphai/core/dist/operations/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/operations/raw-manifests.d.ts +33 -0
- package/node_modules/@murphai/core/dist/operations/raw-manifests.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/operations/raw-manifests.js +105 -0
- package/node_modules/@murphai/core/dist/operations/raw-manifests.js.map +1 -0
- package/node_modules/@murphai/core/dist/operations/write-batch.d.ts +166 -0
- package/node_modules/@murphai/core/dist/operations/write-batch.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/operations/write-batch.js +886 -0
- package/node_modules/@murphai/core/dist/operations/write-batch.js.map +1 -0
- package/node_modules/@murphai/core/dist/path-safety.d.ts +19 -0
- package/node_modules/@murphai/core/dist/path-safety.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/path-safety.js +193 -0
- package/node_modules/@murphai/core/dist/path-safety.js.map +1 -0
- package/node_modules/@murphai/core/dist/profile/index.d.ts +4 -0
- package/node_modules/@murphai/core/dist/profile/index.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/profile/index.js +3 -0
- package/node_modules/@murphai/core/dist/profile/index.js.map +1 -0
- package/node_modules/@murphai/core/dist/profile/storage.d.ts +41 -0
- package/node_modules/@murphai/core/dist/profile/storage.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/profile/storage.js +225 -0
- package/node_modules/@murphai/core/dist/profile/storage.js.map +1 -0
- package/node_modules/@murphai/core/dist/profile/types.d.ts +29 -0
- package/node_modules/@murphai/core/dist/profile/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/profile/types.js +8 -0
- package/node_modules/@murphai/core/dist/profile/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/public-mutations.d.ts +120 -0
- package/node_modules/@murphai/core/dist/public-mutations.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/public-mutations.js +275 -0
- package/node_modules/@murphai/core/dist/public-mutations.js.map +1 -0
- package/node_modules/@murphai/core/dist/raw.d.ts +28 -0
- package/node_modules/@murphai/core/dist/raw.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/raw.js +107 -0
- package/node_modules/@murphai/core/dist/raw.js.map +1 -0
- package/node_modules/@murphai/core/dist/registry/api.d.ts +80 -0
- package/node_modules/@murphai/core/dist/registry/api.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/registry/api.js +113 -0
- package/node_modules/@murphai/core/dist/registry/api.js.map +1 -0
- package/node_modules/@murphai/core/dist/registry/id-or-slug.d.ts +15 -0
- package/node_modules/@murphai/core/dist/registry/id-or-slug.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/registry/id-or-slug.js +9 -0
- package/node_modules/@murphai/core/dist/registry/id-or-slug.js.map +1 -0
- package/node_modules/@murphai/core/dist/registry/markdown.d.ts +101 -0
- package/node_modules/@murphai/core/dist/registry/markdown.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/registry/markdown.js +136 -0
- package/node_modules/@murphai/core/dist/registry/markdown.js.map +1 -0
- package/node_modules/@murphai/core/dist/shares.d.ts +36 -0
- package/node_modules/@murphai/core/dist/shares.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/shares.js +333 -0
- package/node_modules/@murphai/core/dist/shares.js.map +1 -0
- package/node_modules/@murphai/core/dist/storage-spine.d.ts +3 -0
- package/node_modules/@murphai/core/dist/storage-spine.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/storage-spine.js +3 -0
- package/node_modules/@murphai/core/dist/storage-spine.js.map +1 -0
- package/node_modules/@murphai/core/dist/time.d.ts +11 -0
- package/node_modules/@murphai/core/dist/time.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/time.js +72 -0
- package/node_modules/@murphai/core/dist/time.js.map +1 -0
- package/node_modules/@murphai/core/dist/types.d.ts +18 -0
- package/node_modules/@murphai/core/dist/types.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/types.js +7 -0
- package/node_modules/@murphai/core/dist/types.js.map +1 -0
- package/node_modules/@murphai/core/dist/vault-core-document.d.ts +8 -0
- package/node_modules/@murphai/core/dist/vault-core-document.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/vault-core-document.js +16 -0
- package/node_modules/@murphai/core/dist/vault-core-document.js.map +1 -0
- package/node_modules/@murphai/core/dist/vault-metadata.d.ts +17 -0
- package/node_modules/@murphai/core/dist/vault-metadata.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/vault-metadata.js +44 -0
- package/node_modules/@murphai/core/dist/vault-metadata.js.map +1 -0
- package/node_modules/@murphai/core/dist/vault-upgrade.d.ts +24 -0
- package/node_modules/@murphai/core/dist/vault-upgrade.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/vault-upgrade.js +44 -0
- package/node_modules/@murphai/core/dist/vault-upgrade.js.map +1 -0
- package/node_modules/@murphai/core/dist/vault.d.ts +40 -0
- package/node_modules/@murphai/core/dist/vault.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/vault.js +649 -0
- package/node_modules/@murphai/core/dist/vault.js.map +1 -0
- package/node_modules/@murphai/core/dist/write-policy.d.ts +63 -0
- package/node_modules/@murphai/core/dist/write-policy.d.ts.map +1 -0
- package/node_modules/@murphai/core/dist/write-policy.js +146 -0
- package/node_modules/@murphai/core/dist/write-policy.js.map +1 -0
- package/node_modules/@murphai/core/package.json +27 -0
- package/node_modules/@murphai/device-syncd/README.md +123 -0
- package/node_modules/@murphai/device-syncd/dist/bin.d.ts +2 -0
- package/node_modules/@murphai/device-syncd/dist/bin.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/bin.js +29 -0
- package/node_modules/@murphai/device-syncd/dist/bin.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/client.d.ts +124 -0
- package/node_modules/@murphai/device-syncd/dist/client.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/client.js +199 -0
- package/node_modules/@murphai/device-syncd/dist/client.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config.d.ts +18 -0
- package/node_modules/@murphai/device-syncd/dist/config.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/config.js +279 -0
- package/node_modules/@murphai/device-syncd/dist/config.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/crypto.d.ts +6 -0
- package/node_modules/@murphai/device-syncd/dist/crypto.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/crypto.js +27 -0
- package/node_modules/@murphai/device-syncd/dist/crypto.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/errors.d.ts +21 -0
- package/node_modules/@murphai/device-syncd/dist/errors.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/errors.js +32 -0
- package/node_modules/@murphai/device-syncd/dist/errors.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.js +110 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-hints.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts +139 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js +336 -0
- package/node_modules/@murphai/device-syncd/dist/hosted-runtime.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/http.d.ts +34 -0
- package/node_modules/@murphai/device-syncd/dist/http.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/http.js +644 -0
- package/node_modules/@murphai/device-syncd/dist/http.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/index.d.ts +23 -0
- package/node_modules/@murphai/device-syncd/dist/index.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/index.js +15 -0
- package/node_modules/@murphai/device-syncd/dist/index.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/garmin.d.ts +15 -0
- package/node_modules/@murphai/device-syncd/dist/providers/garmin.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/garmin.js +485 -0
- package/node_modules/@murphai/device-syncd/dist/providers/garmin.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.d.ts +49 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js +401 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura-webhooks.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts +20 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js +804 -0
- package/node_modules/@murphai/device-syncd/dist/providers/oura.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts +104 -0
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js +214 -0
- package/node_modules/@murphai/device-syncd/dist/providers/shared-oauth.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts +15 -0
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js +551 -0
- package/node_modules/@murphai/device-syncd/dist/providers/whoop.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts +4 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.js +13 -0
- package/node_modules/@murphai/device-syncd/dist/public-account.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts +43 -0
- package/node_modules/@murphai/device-syncd/dist/public-ingress.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js +353 -0
- package/node_modules/@murphai/device-syncd/dist/public-ingress.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/registry.d.ts +3 -0
- package/node_modules/@murphai/device-syncd/dist/registry.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/registry.js +5 -0
- package/node_modules/@murphai/device-syncd/dist/registry.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/service.d.ts +61 -0
- package/node_modules/@murphai/device-syncd/dist/service.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/service.js +496 -0
- package/node_modules/@murphai/device-syncd/dist/service.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/shared.d.ts +26 -0
- package/node_modules/@murphai/device-syncd/dist/shared.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/shared.js +182 -0
- package/node_modules/@murphai/device-syncd/dist/shared.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store.d.ts +105 -0
- package/node_modules/@murphai/device-syncd/dist/store.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/store.js +965 -0
- package/node_modules/@murphai/device-syncd/dist/store.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/types.d.ts +287 -0
- package/node_modules/@murphai/device-syncd/dist/types.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/types.js +2 -0
- package/node_modules/@murphai/device-syncd/dist/types.js.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts +14 -0
- package/node_modules/@murphai/device-syncd/dist/webhook-verification.d.ts.map +1 -0
- package/node_modules/@murphai/device-syncd/dist/webhook-verification.js +16 -0
- package/node_modules/@murphai/device-syncd/dist/webhook-verification.js.map +1 -0
- package/node_modules/@murphai/device-syncd/package.json +85 -0
- package/node_modules/@murphai/importers/README.md +34 -0
- package/node_modules/@murphai/importers/dist/assessment/core-port.d.ts +13 -0
- package/node_modules/@murphai/importers/dist/assessment/core-port.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/assessment/core-port.js +13 -0
- package/node_modules/@murphai/importers/dist/assessment/core-port.js.map +1 -0
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.d.ts +15 -0
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js +32 -0
- package/node_modules/@murphai/importers/dist/assessment/import-assessment-response.js.map +1 -0
- package/node_modules/@murphai/importers/dist/assessment/index.d.ts +4 -0
- package/node_modules/@murphai/importers/dist/assessment/index.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/assessment/index.js +2 -0
- package/node_modules/@murphai/importers/dist/assessment/index.js.map +1 -0
- package/node_modules/@murphai/importers/dist/core-port.d.ts +119 -0
- package/node_modules/@murphai/importers/dist/core-port.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/core-port.js +22 -0
- package/node_modules/@murphai/importers/dist/core-port.js.map +1 -0
- package/node_modules/@murphai/importers/dist/create-importers.d.ts +17 -0
- package/node_modules/@murphai/importers/dist/create-importers.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/create-importers.js +68 -0
- package/node_modules/@murphai/importers/dist/create-importers.js.map +1 -0
- package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts +22 -0
- package/node_modules/@murphai/importers/dist/csv-sample-importer.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/csv-sample-importer.js +153 -0
- package/node_modules/@murphai/importers/dist/csv-sample-importer.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts +5 -0
- package/node_modules/@murphai/importers/dist/device-providers/defaults.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/defaults.js +11 -0
- package/node_modules/@murphai/importers/dist/device-providers/defaults.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.d.ts +9 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.js +172 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-activity-normalizers.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.d.ts +12 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.js +619 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-health-normalizers.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.d.ts +40 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.js +295 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin-helpers.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts +19 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin.js +150 -0
- package/node_modules/@murphai/importers/dist/device-providers/garmin.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts +14 -0
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js +37 -0
- package/node_modules/@murphai/importers/dist/device-providers/import-device-provider-snapshot.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/index.d.ts +10 -0
- package/node_modules/@murphai/importers/dist/device-providers/index.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/index.js +8 -0
- package/node_modules/@murphai/importers/dist/device-providers/index.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts +20 -0
- package/node_modules/@murphai/importers/dist/device-providers/oura.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/oura.js +602 -0
- package/node_modules/@murphai/importers/dist/device-providers/oura.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts +491 -0
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js +326 -0
- package/node_modules/@murphai/importers/dist/device-providers/provider-descriptors.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/registry.d.ts +9 -0
- package/node_modules/@murphai/importers/dist/device-providers/registry.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/registry.js +5 -0
- package/node_modules/@murphai/importers/dist/device-providers/registry.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts +81 -0
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js +215 -0
- package/node_modules/@murphai/importers/dist/device-providers/shared-normalization.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/types.d.ts +12 -0
- package/node_modules/@murphai/importers/dist/device-providers/types.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/types.js +2 -0
- package/node_modules/@murphai/importers/dist/device-providers/types.js.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts +16 -0
- package/node_modules/@murphai/importers/dist/device-providers/whoop.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js +410 -0
- package/node_modules/@murphai/importers/dist/device-providers/whoop.js.map +1 -0
- package/node_modules/@murphai/importers/dist/document-importer.d.ts +15 -0
- package/node_modules/@murphai/importers/dist/document-importer.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/document-importer.js +31 -0
- package/node_modules/@murphai/importers/dist/document-importer.js.map +1 -0
- package/node_modules/@murphai/importers/dist/index.d.ts +10 -0
- package/node_modules/@murphai/importers/dist/index.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/index.js +9 -0
- package/node_modules/@murphai/importers/dist/index.js.map +1 -0
- package/node_modules/@murphai/importers/dist/meal-importer.d.ts +15 -0
- package/node_modules/@murphai/importers/dist/meal-importer.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/meal-importer.js +39 -0
- package/node_modules/@murphai/importers/dist/meal-importer.js.map +1 -0
- package/node_modules/@murphai/importers/dist/preset-registry.d.ts +31 -0
- package/node_modules/@murphai/importers/dist/preset-registry.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/preset-registry.js +96 -0
- package/node_modules/@murphai/importers/dist/preset-registry.js.map +1 -0
- package/node_modules/@murphai/importers/dist/shared.d.ts +31 -0
- package/node_modules/@murphai/importers/dist/shared.d.ts.map +1 -0
- package/node_modules/@murphai/importers/dist/shared.js +154 -0
- package/node_modules/@murphai/importers/dist/shared.js.map +1 -0
- package/node_modules/@murphai/importers/package.json +36 -0
- package/node_modules/@murphai/runtime-state/README.md +37 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js +80 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state-security.d.ts +29 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state-security.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js +159 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state-security.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts +33 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state.js +47 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-state.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts +56 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.js +189 -0
- package/node_modules/@murphai/runtime-state/dist/assistant-usage.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/atomic-write.d.ts +7 -0
- package/node_modules/@murphai/runtime-state/dist/atomic-write.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/atomic-write.js +27 -0
- package/node_modules/@murphai/runtime-state/dist/atomic-write.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.js +12 -0
- package/node_modules/@murphai/runtime-state/dist/device-sync-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.js +13 -0
- package/node_modules/@murphai/runtime-state/dist/gateway-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.d.ts +43 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.js +203 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-node.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts +13 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.js +46 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle-ref.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts +67 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js +261 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundle.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts +31 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js +211 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-bundles.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts +50 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-email.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-email.js +191 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-email.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts +14 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-env.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js +59 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-env.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts +83 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js +308 -0
- package/node_modules/@murphai/runtime-state/dist/hosted-user-keys.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.js +18 -0
- package/node_modules/@murphai/runtime-state/dist/inbox-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/index.d.ts +7 -0
- package/node_modules/@murphai/runtime-state/dist/index.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/index.js +7 -0
- package/node_modules/@murphai/runtime-state/dist/index.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.d.ts +31 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js +120 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-helpers.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js +17 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-descriptor-manifests.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts +10 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-files.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-files.js +27 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-files.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.d.ts +29 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.js +82 -0
- package/node_modules/@murphai/runtime-state/dist/local-state-taxonomy.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/locks.d.ts +46 -0
- package/node_modules/@murphai/runtime-state/dist/locks.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/locks.js +187 -0
- package/node_modules/@murphai/runtime-state/dist/locks.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts +4 -0
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js +35 -0
- package/node_modules/@murphai/runtime-state/dist/loopback-control-plane.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/node/index.d.ts +22 -0
- package/node_modules/@murphai/runtime-state/dist/node/index.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/node/index.js +22 -0
- package/node_modules/@murphai/runtime-state/dist/node/index.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.js +12 -0
- package/node_modules/@murphai/runtime-state/dist/parser-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/process-env.d.ts +4 -0
- package/node_modules/@murphai/runtime-state/dist/process-env.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/process-env.js +124 -0
- package/node_modules/@murphai/runtime-state/dist/process-env.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.js +13 -0
- package/node_modules/@murphai/runtime-state/dist/query-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts +48 -0
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.js +93 -0
- package/node_modules/@murphai/runtime-state/dist/runtime-paths.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/shared.d.ts +14 -0
- package/node_modules/@murphai/runtime-state/dist/shared.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/shared.js +46 -0
- package/node_modules/@murphai/runtime-state/dist/shared.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts +26 -0
- package/node_modules/@murphai/runtime-state/dist/sqlite.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/sqlite.js +110 -0
- package/node_modules/@murphai/runtime-state/dist/sqlite.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/ulid.d.ts +5 -0
- package/node_modules/@murphai/runtime-state/dist/ulid.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/ulid.js +31 -0
- package/node_modules/@murphai/runtime-state/dist/ulid.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-files.d.ts +24 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-files.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js +30 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-files.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-state.d.ts +18 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-state.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-state.js +25 -0
- package/node_modules/@murphai/runtime-state/dist/versioned-json-state.js.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.d.ts +3 -0
- package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.d.ts.map +1 -0
- package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.js +12 -0
- package/node_modules/@murphai/runtime-state/dist/write-operation-local-state-descriptors.js.map +1 -0
- package/node_modules/@murphai/runtime-state/package.json +30 -0
- package/package.json +45 -11
- package/dist/.tsbuildinfo +0 -1
- package/dist/callback-hosts.d.ts +0 -19
- package/dist/callback-hosts.d.ts.map +0 -1
- package/dist/callback-hosts.js +0 -19
- package/dist/callback-hosts.js.map +0 -1
- package/dist/web-control-plane.d.ts +0 -105
- package/dist/web-control-plane.d.ts.map +0 -1
- package/dist/web-control-plane.js +0 -358
- package/dist/web-control-plane.js.map +0 -1
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { appendFile, chmod, lstat, mkdir, readdir } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { ASSISTANT_RUNTIME_DIRECTORY_NAME, } from "./shared.js";
|
|
4
|
+
export const ASSISTANT_STATE_DIRECTORY_MODE = 0o700;
|
|
5
|
+
export const ASSISTANT_STATE_FILE_MODE = 0o600;
|
|
6
|
+
export function isAssistantStatePath(targetPath) {
|
|
7
|
+
const absolutePath = path.resolve(targetPath);
|
|
8
|
+
const segments = absolutePath.split(path.sep).filter((segment) => segment.length > 0);
|
|
9
|
+
return hasAssistantRuntimeRootSegments(segments);
|
|
10
|
+
}
|
|
11
|
+
export async function ensureAssistantStateDirectory(directoryPath) {
|
|
12
|
+
await mkdir(directoryPath, { recursive: true });
|
|
13
|
+
if (!isAssistantStatePath(directoryPath)) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
await applyAssistantStateDirectoryModes(directoryPath);
|
|
17
|
+
}
|
|
18
|
+
export async function ensureAssistantStateParentDirectory(filePath) {
|
|
19
|
+
await ensureAssistantStateDirectory(path.dirname(filePath));
|
|
20
|
+
}
|
|
21
|
+
export function resolveAssistantStateFileMode(filePath, explicitMode) {
|
|
22
|
+
if (typeof explicitMode === 'number') {
|
|
23
|
+
return explicitMode;
|
|
24
|
+
}
|
|
25
|
+
return isAssistantStatePath(filePath) ? ASSISTANT_STATE_FILE_MODE : undefined;
|
|
26
|
+
}
|
|
27
|
+
export async function appendTextFileWithMode(filePath, value, options = {}) {
|
|
28
|
+
const fileMode = resolveAssistantStateFileMode(filePath, options.mode);
|
|
29
|
+
await ensureAssistantStateParentDirectory(filePath);
|
|
30
|
+
await appendFile(filePath, value, 'utf8');
|
|
31
|
+
if (typeof fileMode === 'number') {
|
|
32
|
+
await chmod(filePath, fileMode);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export async function auditAssistantStatePermissions(input) {
|
|
36
|
+
const rootPath = path.resolve(input.rootPath);
|
|
37
|
+
const issues = [];
|
|
38
|
+
let incorrectEntries = 0;
|
|
39
|
+
let repairedEntries = 0;
|
|
40
|
+
let scannedDirectories = 0;
|
|
41
|
+
let scannedFiles = 0;
|
|
42
|
+
let scannedOtherEntries = 0;
|
|
43
|
+
async function visit(currentPath) {
|
|
44
|
+
let stats;
|
|
45
|
+
try {
|
|
46
|
+
stats = await lstat(currentPath);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error &&
|
|
50
|
+
typeof error === 'object' &&
|
|
51
|
+
'code' in error &&
|
|
52
|
+
error.code === 'ENOENT') {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
if (stats.isDirectory()) {
|
|
58
|
+
scannedDirectories += 1;
|
|
59
|
+
const actualMode = stats.mode & 0o777;
|
|
60
|
+
const expectedMode = ASSISTANT_STATE_DIRECTORY_MODE;
|
|
61
|
+
let repaired = false;
|
|
62
|
+
if (actualMode !== expectedMode) {
|
|
63
|
+
incorrectEntries += 1;
|
|
64
|
+
if (input.repair) {
|
|
65
|
+
await chmod(currentPath, expectedMode);
|
|
66
|
+
repaired = true;
|
|
67
|
+
repairedEntries += 1;
|
|
68
|
+
}
|
|
69
|
+
issues.push({
|
|
70
|
+
actualMode,
|
|
71
|
+
entryKind: 'directory',
|
|
72
|
+
expectedMode,
|
|
73
|
+
path: currentPath,
|
|
74
|
+
repaired,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const entries = await readdir(currentPath, { withFileTypes: true });
|
|
78
|
+
for (const entry of entries) {
|
|
79
|
+
await visit(path.join(currentPath, entry.name));
|
|
80
|
+
}
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (stats.isFile()) {
|
|
84
|
+
scannedFiles += 1;
|
|
85
|
+
const actualMode = stats.mode & 0o777;
|
|
86
|
+
const expectedMode = ASSISTANT_STATE_FILE_MODE;
|
|
87
|
+
let repaired = false;
|
|
88
|
+
if (actualMode !== expectedMode) {
|
|
89
|
+
incorrectEntries += 1;
|
|
90
|
+
if (input.repair) {
|
|
91
|
+
await chmod(currentPath, expectedMode);
|
|
92
|
+
repaired = true;
|
|
93
|
+
repairedEntries += 1;
|
|
94
|
+
}
|
|
95
|
+
issues.push({
|
|
96
|
+
actualMode,
|
|
97
|
+
entryKind: 'file',
|
|
98
|
+
expectedMode,
|
|
99
|
+
path: currentPath,
|
|
100
|
+
repaired,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
scannedOtherEntries += 1;
|
|
106
|
+
incorrectEntries += 1;
|
|
107
|
+
issues.push({
|
|
108
|
+
actualMode: null,
|
|
109
|
+
entryKind: 'other',
|
|
110
|
+
expectedMode: null,
|
|
111
|
+
path: currentPath,
|
|
112
|
+
repaired: false,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
await visit(rootPath);
|
|
116
|
+
return {
|
|
117
|
+
incorrectEntries,
|
|
118
|
+
issues,
|
|
119
|
+
repairedEntries,
|
|
120
|
+
scannedDirectories,
|
|
121
|
+
scannedFiles,
|
|
122
|
+
scannedOtherEntries,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
async function applyAssistantStateDirectoryModes(directoryPath) {
|
|
126
|
+
const absolutePath = path.resolve(directoryPath);
|
|
127
|
+
const { root } = path.parse(absolutePath);
|
|
128
|
+
const relativeSegments = path
|
|
129
|
+
.relative(root, absolutePath)
|
|
130
|
+
.split(path.sep)
|
|
131
|
+
.filter((segment) => segment.length > 0);
|
|
132
|
+
let currentPath = root;
|
|
133
|
+
const assistantRuntimeRootIndex = findAssistantRuntimeRootIndex(relativeSegments);
|
|
134
|
+
if (assistantRuntimeRootIndex < 0) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
for (let index = 0; index < relativeSegments.length; index += 1) {
|
|
138
|
+
const segment = relativeSegments[index];
|
|
139
|
+
currentPath = currentPath ? path.join(currentPath, segment) : segment;
|
|
140
|
+
if (index < assistantRuntimeRootIndex) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
await chmod(currentPath, ASSISTANT_STATE_DIRECTORY_MODE);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function hasAssistantRuntimeRootSegments(segments) {
|
|
147
|
+
return findAssistantRuntimeRootIndex(segments) >= 0;
|
|
148
|
+
}
|
|
149
|
+
function findAssistantRuntimeRootIndex(segments) {
|
|
150
|
+
for (let index = 0; index <= segments.length - 3; index += 1) {
|
|
151
|
+
if (segments[index] === '.runtime' &&
|
|
152
|
+
segments[index + 1] === 'operations' &&
|
|
153
|
+
segments[index + 2] === ASSISTANT_RUNTIME_DIRECTORY_NAME) {
|
|
154
|
+
return index;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return -1;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=assistant-state-security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-state-security.js","sourceRoot":"","sources":["../src/assistant-state-security.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface AssistantStatePaths {
|
|
2
|
+
absoluteVaultRoot: string;
|
|
3
|
+
assistantStateRoot: string;
|
|
4
|
+
automationStatePath: string;
|
|
5
|
+
cronDirectory: string;
|
|
6
|
+
cronAutomationStatePath: string;
|
|
7
|
+
cronJobsPath: string;
|
|
8
|
+
cronRunsDirectory: string;
|
|
9
|
+
diagnosticsDirectory: string;
|
|
10
|
+
diagnosticEventsPath: string;
|
|
11
|
+
diagnosticSnapshotPath: string;
|
|
12
|
+
failoverStatePath: string;
|
|
13
|
+
indexesPath: string;
|
|
14
|
+
journalsDirectory: string;
|
|
15
|
+
outboxDirectory: string;
|
|
16
|
+
outboxQuarantineDirectory: string;
|
|
17
|
+
providerRouteRecoveryDirectory: string;
|
|
18
|
+
providerRouteRecoverySecretsDirectory: string;
|
|
19
|
+
quarantineDirectory: string;
|
|
20
|
+
secretsDirectory: string;
|
|
21
|
+
sessionSecretsDirectory: string;
|
|
22
|
+
resourceBudgetPath: string;
|
|
23
|
+
runtimeEventsPath: string;
|
|
24
|
+
sessionsDirectory: string;
|
|
25
|
+
stateDirectory: string;
|
|
26
|
+
statusPath: string;
|
|
27
|
+
transcriptsDirectory: string;
|
|
28
|
+
turnsDirectory: string;
|
|
29
|
+
usageDirectory: string;
|
|
30
|
+
usagePendingDirectory: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function resolveAssistantStatePaths(vaultRoot: string): AssistantStatePaths;
|
|
33
|
+
//# sourceMappingURL=assistant-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-state.d.ts","sourceRoot":"","sources":["../src/assistant-state.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B,EAAE,MAAM,CAAC;IACvC,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,CA+CjF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { resolveRuntimePaths, ASSISTANT_RUNTIME_DIRECTORY_RELATIVE_PATH } from "./runtime-paths.js";
|
|
3
|
+
export function resolveAssistantStatePaths(vaultRoot) {
|
|
4
|
+
const { absoluteVaultRoot } = resolveRuntimePaths(vaultRoot);
|
|
5
|
+
const rootPath = path.join(absoluteVaultRoot, ASSISTANT_RUNTIME_DIRECTORY_RELATIVE_PATH);
|
|
6
|
+
const cronDirectory = path.join(rootPath, "cron");
|
|
7
|
+
const diagnosticsDirectory = path.join(rootPath, "diagnostics");
|
|
8
|
+
const journalsDirectory = path.join(rootPath, "journals");
|
|
9
|
+
const outboxDirectory = path.join(rootPath, "outbox");
|
|
10
|
+
const turnsDirectory = path.join(rootPath, "receipts");
|
|
11
|
+
const secretsDirectory = path.join(rootPath, "secrets");
|
|
12
|
+
const sessionSecretsDirectory = path.join(secretsDirectory, "sessions");
|
|
13
|
+
const providerRouteRecoverySecretsDirectory = path.join(secretsDirectory, "provider-route-recovery");
|
|
14
|
+
const usageDirectory = path.join(rootPath, "usage");
|
|
15
|
+
return {
|
|
16
|
+
absoluteVaultRoot,
|
|
17
|
+
assistantStateRoot: rootPath,
|
|
18
|
+
automationStatePath: path.join(rootPath, "automation-state.json"),
|
|
19
|
+
cronDirectory,
|
|
20
|
+
cronAutomationStatePath: path.join(cronDirectory, "automation-runtime.json"),
|
|
21
|
+
cronJobsPath: path.join(cronDirectory, "jobs.json"),
|
|
22
|
+
cronRunsDirectory: path.join(cronDirectory, "runs"),
|
|
23
|
+
diagnosticsDirectory,
|
|
24
|
+
diagnosticEventsPath: path.join(diagnosticsDirectory, "events.jsonl"),
|
|
25
|
+
diagnosticSnapshotPath: path.join(diagnosticsDirectory, "snapshot.json"),
|
|
26
|
+
failoverStatePath: path.join(rootPath, "failover.json"),
|
|
27
|
+
indexesPath: path.join(rootPath, "indexes.json"),
|
|
28
|
+
journalsDirectory,
|
|
29
|
+
outboxDirectory,
|
|
30
|
+
outboxQuarantineDirectory: path.join(outboxDirectory, ".quarantine"),
|
|
31
|
+
providerRouteRecoveryDirectory: path.join(rootPath, "provider-route-recovery"),
|
|
32
|
+
providerRouteRecoverySecretsDirectory,
|
|
33
|
+
quarantineDirectory: path.join(rootPath, "quarantine"),
|
|
34
|
+
secretsDirectory,
|
|
35
|
+
sessionSecretsDirectory,
|
|
36
|
+
resourceBudgetPath: path.join(rootPath, "runtime-budgets.json"),
|
|
37
|
+
runtimeEventsPath: path.join(journalsDirectory, "runtime-events.jsonl"),
|
|
38
|
+
sessionsDirectory: path.join(rootPath, "sessions"),
|
|
39
|
+
stateDirectory: path.join(rootPath, "state"),
|
|
40
|
+
statusPath: path.join(rootPath, "status.json"),
|
|
41
|
+
transcriptsDirectory: path.join(rootPath, "transcripts"),
|
|
42
|
+
turnsDirectory,
|
|
43
|
+
usageDirectory,
|
|
44
|
+
usagePendingDirectory: path.join(usageDirectory, "pending"),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=assistant-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-state.js","sourceRoot":"","sources":["../src/assistant-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type AssistantStatePaths } from "./assistant-state.ts";
|
|
2
|
+
export declare const ASSISTANT_USAGE_SCHEMA = "murph.assistant-usage.v1";
|
|
3
|
+
export type AssistantUsageCredentialSource = "member" | "platform" | "unknown";
|
|
4
|
+
export interface AssistantUsageRecord {
|
|
5
|
+
apiKeyEnv: string | null;
|
|
6
|
+
attemptCount: number;
|
|
7
|
+
baseUrl: string | null;
|
|
8
|
+
cacheWriteTokens: number | null;
|
|
9
|
+
cachedInputTokens: number | null;
|
|
10
|
+
credentialSource: AssistantUsageCredentialSource;
|
|
11
|
+
inputTokens: number | null;
|
|
12
|
+
memberId: string | null;
|
|
13
|
+
occurredAt: string;
|
|
14
|
+
outputTokens: number | null;
|
|
15
|
+
provider: string;
|
|
16
|
+
providerMetadataJson: unknown | null;
|
|
17
|
+
providerName: string | null;
|
|
18
|
+
providerRequestId: string | null;
|
|
19
|
+
providerSessionId: string | null;
|
|
20
|
+
rawUsageJson: unknown | null;
|
|
21
|
+
reasoningTokens: number | null;
|
|
22
|
+
requestedModel: string | null;
|
|
23
|
+
routeId: string | null;
|
|
24
|
+
schema: typeof ASSISTANT_USAGE_SCHEMA;
|
|
25
|
+
servedModel: string | null;
|
|
26
|
+
sessionId: string;
|
|
27
|
+
totalTokens: number | null;
|
|
28
|
+
turnId: string;
|
|
29
|
+
usageId: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function createAssistantUsageId(input: {
|
|
32
|
+
attemptCount: number;
|
|
33
|
+
turnId: string;
|
|
34
|
+
}): string;
|
|
35
|
+
export declare function resolvePendingAssistantUsagePath(paths: AssistantStatePaths, usageId: string): string;
|
|
36
|
+
export declare function writePendingAssistantUsageRecord(input: {
|
|
37
|
+
paths?: AssistantStatePaths;
|
|
38
|
+
record: AssistantUsageRecord;
|
|
39
|
+
vault?: string;
|
|
40
|
+
}): Promise<void>;
|
|
41
|
+
export declare function listPendingAssistantUsageRecords(input: {
|
|
42
|
+
paths?: AssistantStatePaths;
|
|
43
|
+
vault?: string;
|
|
44
|
+
}): Promise<AssistantUsageRecord[]>;
|
|
45
|
+
export declare function deletePendingAssistantUsageRecord(input: {
|
|
46
|
+
paths?: AssistantStatePaths;
|
|
47
|
+
usageId: string;
|
|
48
|
+
vault?: string;
|
|
49
|
+
}): Promise<void>;
|
|
50
|
+
export declare function parseAssistantUsageRecord(value: unknown): AssistantUsageRecord;
|
|
51
|
+
export declare function resolveAssistantUsageCredentialSource(input: {
|
|
52
|
+
apiKeyEnv: string | null;
|
|
53
|
+
provider: string;
|
|
54
|
+
userEnvKeys: Iterable<string>;
|
|
55
|
+
}): AssistantUsageCredentialSource;
|
|
56
|
+
//# sourceMappingURL=assistant-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-usage.d.ts","sourceRoot":"","sources":["../src/assistant-usage.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAwBjE,MAAM,MAAM,8BAA8B,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,8BAA8B,CAAC;IACjD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,sBAAsB,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CAKT;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhB;AAED,wBAAsB,gCAAgC,CAAC,KAAK,EAAE;IAC5D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgClC;AAED,wBAAsB,iCAAiC,CAAC,KAAK,EAAE;IAC7D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,CAgC9E;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE;IAC3D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC/B,GAAG,8BAA8B,CAcjC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { readdir, readFile, rm } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { writeJsonFileAtomic } from "./atomic-write.js";
|
|
4
|
+
import { ensureAssistantStateDirectory } from "./assistant-state-security.js";
|
|
5
|
+
import { resolveAssistantStatePaths, } from "./assistant-state.js";
|
|
6
|
+
export const ASSISTANT_USAGE_SCHEMA = "murph.assistant-usage.v1";
|
|
7
|
+
const HOSTED_MEMBER_AI_CREDENTIAL_ENV_KEYS = new Set([
|
|
8
|
+
"ANTHROPIC_API_KEY",
|
|
9
|
+
"CEREBRAS_API_KEY",
|
|
10
|
+
"DEEPSEEK_API_KEY",
|
|
11
|
+
"FIREWORKS_API_KEY",
|
|
12
|
+
"GOOGLE_GENERATIVE_AI_API_KEY",
|
|
13
|
+
"GROQ_API_KEY",
|
|
14
|
+
"HF_TOKEN",
|
|
15
|
+
"HUGGINGFACEHUB_API_TOKEN",
|
|
16
|
+
"HUGGINGFACE_API_KEY",
|
|
17
|
+
"HUGGING_FACE_HUB_TOKEN",
|
|
18
|
+
"LITELLM_PROXY_API_KEY",
|
|
19
|
+
"MISTRAL_API_KEY",
|
|
20
|
+
"NVIDIA_API_KEY",
|
|
21
|
+
"NGC_API_KEY",
|
|
22
|
+
"OPENAI_API_KEY",
|
|
23
|
+
"OPENROUTER_API_KEY",
|
|
24
|
+
"PERPLEXITY_API_KEY",
|
|
25
|
+
"TOGETHER_API_KEY",
|
|
26
|
+
"VENICE_API_KEY",
|
|
27
|
+
"XAI_API_KEY",
|
|
28
|
+
]);
|
|
29
|
+
export function createAssistantUsageId(input) {
|
|
30
|
+
const attemptCount = normalizeRequiredInteger(input.attemptCount, "attemptCount");
|
|
31
|
+
const turnId = normalizeRequiredString(input.turnId, "turnId");
|
|
32
|
+
return `${turnId}.attempt-${attemptCount}`;
|
|
33
|
+
}
|
|
34
|
+
export function resolvePendingAssistantUsagePath(paths, usageId) {
|
|
35
|
+
return path.join(paths.usagePendingDirectory, `${normalizeRequiredString(usageId, "usageId")}.json`);
|
|
36
|
+
}
|
|
37
|
+
export async function writePendingAssistantUsageRecord(input) {
|
|
38
|
+
const paths = resolveAssistantUsagePaths(input.vault, input.paths);
|
|
39
|
+
const record = parseAssistantUsageRecord(input.record);
|
|
40
|
+
await ensureAssistantStateDirectory(paths.usagePendingDirectory);
|
|
41
|
+
await writeJsonFileAtomic(resolvePendingAssistantUsagePath(paths, record.usageId), record);
|
|
42
|
+
}
|
|
43
|
+
export async function listPendingAssistantUsageRecords(input) {
|
|
44
|
+
const paths = resolveAssistantUsagePaths(input.vault, input.paths);
|
|
45
|
+
try {
|
|
46
|
+
const entries = await readdir(paths.usagePendingDirectory, {
|
|
47
|
+
withFileTypes: true,
|
|
48
|
+
});
|
|
49
|
+
const records = await Promise.all(entries
|
|
50
|
+
.filter((entry) => entry.isFile() && entry.name.endsWith(".json"))
|
|
51
|
+
.map(async (entry) => {
|
|
52
|
+
const raw = await readFile(path.join(paths.usagePendingDirectory, entry.name), "utf8");
|
|
53
|
+
return parseAssistantUsageRecord(JSON.parse(raw));
|
|
54
|
+
}));
|
|
55
|
+
return records.sort((left, right) => {
|
|
56
|
+
const occurredAtOrder = left.occurredAt.localeCompare(right.occurredAt);
|
|
57
|
+
if (occurredAtOrder !== 0) {
|
|
58
|
+
return occurredAtOrder;
|
|
59
|
+
}
|
|
60
|
+
return left.usageId.localeCompare(right.usageId);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (isMissingFileError(error)) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export async function deletePendingAssistantUsageRecord(input) {
|
|
71
|
+
const paths = resolveAssistantUsagePaths(input.vault, input.paths);
|
|
72
|
+
await rm(resolvePendingAssistantUsagePath(paths, input.usageId), {
|
|
73
|
+
force: true,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export function parseAssistantUsageRecord(value) {
|
|
77
|
+
const record = requireRecord(value, "assistant usage record");
|
|
78
|
+
const inputTokens = normalizeOptionalInteger(record.inputTokens, "inputTokens");
|
|
79
|
+
const outputTokens = normalizeOptionalInteger(record.outputTokens, "outputTokens");
|
|
80
|
+
return {
|
|
81
|
+
apiKeyEnv: normalizeOptionalString(record.apiKeyEnv, "apiKeyEnv"),
|
|
82
|
+
attemptCount: normalizeRequiredInteger(record.attemptCount, "attemptCount"),
|
|
83
|
+
baseUrl: normalizeOptionalString(record.baseUrl, "baseUrl"),
|
|
84
|
+
cacheWriteTokens: normalizeOptionalInteger(record.cacheWriteTokens, "cacheWriteTokens"),
|
|
85
|
+
cachedInputTokens: normalizeOptionalInteger(record.cachedInputTokens, "cachedInputTokens"),
|
|
86
|
+
credentialSource: normalizeCredentialSource(record.credentialSource),
|
|
87
|
+
inputTokens,
|
|
88
|
+
memberId: normalizeOptionalString(record.memberId, "memberId"),
|
|
89
|
+
occurredAt: normalizeRequiredString(record.occurredAt, "occurredAt"),
|
|
90
|
+
outputTokens,
|
|
91
|
+
provider: normalizeRequiredString(record.provider, "provider"),
|
|
92
|
+
providerMetadataJson: record.providerMetadataJson ?? null,
|
|
93
|
+
providerName: normalizeOptionalString(record.providerName, "providerName"),
|
|
94
|
+
providerRequestId: normalizeOptionalString(record.providerRequestId, "providerRequestId"),
|
|
95
|
+
providerSessionId: normalizeOptionalString(record.providerSessionId, "providerSessionId"),
|
|
96
|
+
rawUsageJson: record.rawUsageJson ?? null,
|
|
97
|
+
reasoningTokens: normalizeOptionalInteger(record.reasoningTokens, "reasoningTokens"),
|
|
98
|
+
requestedModel: normalizeOptionalString(record.requestedModel, "requestedModel"),
|
|
99
|
+
routeId: normalizeOptionalString(record.routeId, "routeId"),
|
|
100
|
+
schema: normalizeUsageSchema(record.schema),
|
|
101
|
+
servedModel: normalizeOptionalString(record.servedModel, "servedModel"),
|
|
102
|
+
sessionId: normalizeRequiredString(record.sessionId, "sessionId"),
|
|
103
|
+
totalTokens: normalizeOptionalInteger(record.totalTokens, "totalTokens"),
|
|
104
|
+
turnId: normalizeRequiredString(record.turnId, "turnId"),
|
|
105
|
+
usageId: normalizeRequiredString(record.usageId, "usageId"),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export function resolveAssistantUsageCredentialSource(input) {
|
|
109
|
+
const userEnvKeys = new Set([...input.userEnvKeys].map((key) => normalizeRequiredString(key, "userEnvKey")));
|
|
110
|
+
if (!input.apiKeyEnv) {
|
|
111
|
+
if (input.provider === "codex-cli" && hasHostedMemberAiCredential(userEnvKeys)) {
|
|
112
|
+
return "unknown";
|
|
113
|
+
}
|
|
114
|
+
return "platform";
|
|
115
|
+
}
|
|
116
|
+
return userEnvKeys.has(input.apiKeyEnv) ? "member" : "platform";
|
|
117
|
+
}
|
|
118
|
+
function resolveAssistantUsagePaths(vault, paths) {
|
|
119
|
+
if (paths) {
|
|
120
|
+
return paths;
|
|
121
|
+
}
|
|
122
|
+
if (!vault) {
|
|
123
|
+
throw new TypeError("vault or paths is required when resolving assistant usage state.");
|
|
124
|
+
}
|
|
125
|
+
return resolveAssistantStatePaths(vault);
|
|
126
|
+
}
|
|
127
|
+
function requireRecord(value, label) {
|
|
128
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
129
|
+
throw new TypeError(`${label} must be a JSON object.`);
|
|
130
|
+
}
|
|
131
|
+
return value;
|
|
132
|
+
}
|
|
133
|
+
function normalizeUsageSchema(value) {
|
|
134
|
+
const schema = normalizeRequiredString(value, "schema");
|
|
135
|
+
if (schema !== ASSISTANT_USAGE_SCHEMA) {
|
|
136
|
+
throw new TypeError(`assistant usage record schema must be ${ASSISTANT_USAGE_SCHEMA}.`);
|
|
137
|
+
}
|
|
138
|
+
return ASSISTANT_USAGE_SCHEMA;
|
|
139
|
+
}
|
|
140
|
+
function normalizeCredentialSource(value) {
|
|
141
|
+
const normalized = normalizeRequiredString(value, "credentialSource");
|
|
142
|
+
if (normalized !== "member" && normalized !== "platform" && normalized !== "unknown") {
|
|
143
|
+
throw new TypeError("credentialSource must be 'member', 'platform', or 'unknown'.");
|
|
144
|
+
}
|
|
145
|
+
return normalized;
|
|
146
|
+
}
|
|
147
|
+
function normalizeRequiredString(value, label) {
|
|
148
|
+
const normalized = normalizeOptionalString(value, label);
|
|
149
|
+
if (!normalized) {
|
|
150
|
+
throw new TypeError(`${label} must be a non-empty string.`);
|
|
151
|
+
}
|
|
152
|
+
return normalized;
|
|
153
|
+
}
|
|
154
|
+
function normalizeOptionalString(value, label) {
|
|
155
|
+
if (value === null || value === undefined) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
if (typeof value !== "string") {
|
|
159
|
+
throw new TypeError(`${label} must be a string when provided.`);
|
|
160
|
+
}
|
|
161
|
+
const normalized = value.trim();
|
|
162
|
+
return normalized.length > 0 ? normalized : null;
|
|
163
|
+
}
|
|
164
|
+
function normalizeRequiredInteger(value, label) {
|
|
165
|
+
const normalized = normalizeOptionalInteger(value, label);
|
|
166
|
+
if (normalized === null) {
|
|
167
|
+
throw new TypeError(`${label} must be a whole number.`);
|
|
168
|
+
}
|
|
169
|
+
return normalized;
|
|
170
|
+
}
|
|
171
|
+
function normalizeOptionalInteger(value, label) {
|
|
172
|
+
if (value === null || value === undefined) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
if (typeof value !== "number" || !Number.isInteger(value) || value < 0) {
|
|
176
|
+
throw new TypeError(`${label} must be a non-negative integer when provided.`);
|
|
177
|
+
}
|
|
178
|
+
return value;
|
|
179
|
+
}
|
|
180
|
+
function isMissingFileError(error) {
|
|
181
|
+
return Boolean(error
|
|
182
|
+
&& typeof error === "object"
|
|
183
|
+
&& "code" in error
|
|
184
|
+
&& error.code === "ENOENT");
|
|
185
|
+
}
|
|
186
|
+
function hasHostedMemberAiCredential(userEnvKeys) {
|
|
187
|
+
return [...userEnvKeys].some((key) => HOSTED_MEMBER_AI_CREDENTIAL_ENV_KEYS.has(key));
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=assistant-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant-usage.js","sourceRoot":"","sources":["../src/assistant-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface AtomicWriteOptions {
|
|
2
|
+
mode?: number;
|
|
3
|
+
trailingNewline?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function writeTextFileAtomic(filePath: string, value: string, options?: AtomicWriteOptions): Promise<void>;
|
|
6
|
+
export declare function writeJsonFileAtomic(filePath: string, value: unknown, options?: AtomicWriteOptions): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=atomic-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.d.ts","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { chmod, rename, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import { ensureAssistantStateParentDirectory, resolveAssistantStateFileMode, } from "./assistant-state-security.js";
|
|
4
|
+
export async function writeTextFileAtomic(filePath, value, options = {}) {
|
|
5
|
+
const normalizedValue = options.trailingNewline && !value.endsWith("\n") ? `${value}\n` : value;
|
|
6
|
+
const tempPath = `${filePath}.${randomUUID().replace(/-/g, "")}.tmp`;
|
|
7
|
+
const mode = resolveAssistantStateFileMode(filePath, options.mode);
|
|
8
|
+
await ensureAssistantStateParentDirectory(filePath);
|
|
9
|
+
try {
|
|
10
|
+
await writeFile(tempPath, normalizedValue, "utf8");
|
|
11
|
+
if (typeof mode === "number") {
|
|
12
|
+
await chmod(tempPath, mode);
|
|
13
|
+
}
|
|
14
|
+
await rename(tempPath, filePath);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
await rm(tempPath, { force: true });
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function writeJsonFileAtomic(filePath, value, options = {}) {
|
|
22
|
+
await writeTextFileAtomic(filePath, JSON.stringify(value, null, 2), {
|
|
23
|
+
...options,
|
|
24
|
+
trailingNewline: options.trailingNewline ?? true,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=atomic-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,mCAAmC,EACnC,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAOvC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,KAAa,EACb,UAA8B,EAAE;IAEhC,MAAM,eAAe,GACnB,OAAO,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1E,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,GAAG,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE,MAAM,mCAAmC,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,KAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAClE,GAAG,OAAO;QACV,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;KACjD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-sync-local-state-descriptors.d.ts","sourceRoot":"","sources":["../src/device-sync-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAC;AAE7C,eAAO,MAAM,+BAA+B,EAAE,SAAS,6BAA6B,EAU1E,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { defineLocalStateSubtreeDescriptor, } from "./local-state-descriptor-helpers.js";
|
|
2
|
+
export const deviceSyncLocalStateDescriptors = [
|
|
3
|
+
defineLocalStateSubtreeDescriptor({
|
|
4
|
+
classification: "operational",
|
|
5
|
+
description: "Device-sync runtime state, credentials, launcher metadata, and logs are machine-local operational state.",
|
|
6
|
+
owner: "device-sync-runtime",
|
|
7
|
+
portability: "machine_local",
|
|
8
|
+
rebuildable: false,
|
|
9
|
+
relativePath: ".runtime/operations/device-sync",
|
|
10
|
+
}),
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=device-sync-local-state-descriptors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-sync-local-state-descriptors.js","sourceRoot":"","sources":["../src/device-sync-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAElC,MAAM,qCAAqC,CAAC;AAE7C,MAAM,CAAC,MAAM,+BAA+B,GAA6C;IACvF,iCAAiC,CAAC;QAChC,cAAc,EAAE,aAAa;QAC7B,WAAW,EACT,0GAA0G;QAC5G,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,iCAAiC;KAChD,CAAC;CACM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-local-state-descriptors.d.ts","sourceRoot":"","sources":["../src/gateway-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAC;AAI7C,eAAO,MAAM,4BAA4B,EAAE,SAAS,6BAA6B,EAUvE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineLocalStateFileDescriptor, } from "./local-state-descriptor-helpers.js";
|
|
2
|
+
const GATEWAY_LOCAL_OWNER = "gateway-local";
|
|
3
|
+
export const gatewayLocalStateDescriptors = [
|
|
4
|
+
defineLocalStateFileDescriptor({
|
|
5
|
+
classification: "projection",
|
|
6
|
+
description: "Gateway-local owns the rebuildable local gateway projection store derived from canonical vault evidence plus local gateway runtime inputs.",
|
|
7
|
+
owner: GATEWAY_LOCAL_OWNER,
|
|
8
|
+
portability: "machine_local",
|
|
9
|
+
rebuildable: true,
|
|
10
|
+
relativePath: ".runtime/projections/gateway.sqlite",
|
|
11
|
+
}),
|
|
12
|
+
];
|
|
13
|
+
//# sourceMappingURL=gateway-local-state-descriptors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-local-state-descriptors.js","sourceRoot":"","sources":["../src/gateway-local-state-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,GAE/B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,4BAA4B,GAA6C;IACpF,8BAA8B,CAAC;QAC7B,cAAc,EAAE,YAAY;QAC5B,WAAW,EACT,4IAA4I;QAC9I,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,qCAAqC;KACpD,CAAC;CACM,CAAC"}
|