@jungjaehoon/mama-core 2.4.1 → 4.1.0
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/README.md +76 -239
- package/db/migrations/030-case-first-memory-substrate.sql +13 -98
- package/db/migrations/034-add-connector-event-scope-columns.sql +9 -13
- package/db/migrations/039-add-connector-event-operator-ingest-seq.sql +9 -95
- package/db/migrations/062-refresh-connector-event-sequences.sql +9 -113
- package/db/migrations/063-refresh-legacy-connector-event-updates.sql +9 -32
- package/db/migrations/067-add-connector-event-source-entity-id.sql +9 -13
- package/db/migrations/069-create-registry-nodes.sql +52 -0
- package/db/migrations/070-record-identity.sql +35 -0
- package/db/migrations/071-service-operation-origins.sql +187 -0
- package/db/migrations/072-observation-versions.sql +29 -0
- package/db/migrations/073-registry-corrections.sql +45 -0
- package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
- package/db/migrations/075-agent-judgments.sql +58 -0
- package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
- package/db/migrations/077-legacy-record-kind.sql +6 -0
- package/db/migrations/078-source-ingest-commands.sql +18 -0
- package/db/migrations/079-twin-edge-relations.sql +43 -0
- package/db/migrations/080-restore-duration-days.sql +7 -0
- package/db/migrations/081-mailbox.sql +61 -0
- package/db/migrations/082-commitments-row-id.sql +12 -0
- package/db/migrations/083-observation-is-the-evidence.sql +49 -0
- package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
- package/db/migrations/085-a-migration-has-a-source.sql +37 -0
- package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
- package/db/migrations/087-mailbox-payload.sql +5 -0
- package/db/migrations/088-native-input-journal.sql +14 -0
- package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
- package/db/migrations/090-model-run-native-inputs.sql +29 -0
- package/db/migrations/091-native-turn-results.sql +11 -0
- package/db/migrations/092-restore-decision-fts.sql +34 -0
- package/db/migrations/093-native-turn-primary-kind.sql +14 -0
- package/db/migrations/094-commitment-run-provenance.sql +9 -0
- package/db/migrations/095-model-run-native-input-identity.sql +39 -0
- package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
- package/db/migrations/097-native-input-json-validity.sql +37 -0
- package/db/migrations/098-workflow-memory-kind.sql +105 -0
- package/db/migrations/099-commitment-revision-graph.sql +2 -0
- package/dist/action-contracts.d.ts +212 -0
- package/dist/action-contracts.js +10 -0
- package/dist/api/catalog.d.ts +118 -0
- package/dist/api/catalog.js +1756 -0
- package/dist/api/dispatch.d.ts +76 -0
- package/dist/api/dispatch.js +372 -0
- package/dist/canonicalize.d.ts +2 -2
- package/dist/canonicalize.js +3 -3
- package/dist/client/client.d.ts +33 -0
- package/dist/client/client.js +123 -0
- package/dist/client/ipc.d.ts +81 -0
- package/dist/client/ipc.js +314 -0
- package/dist/db-adapter/base-adapter.d.ts +6 -66
- package/dist/db-adapter/base-adapter.js +6 -6
- package/dist/db-adapter/index.d.ts +5 -5
- package/dist/db-adapter/index.js +2 -5
- package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
- package/dist/db-adapter/node-sqlite-adapter.js +1985 -570
- package/dist/db-manager.d.ts +53 -97
- package/dist/db-manager.js +121 -603
- package/dist/embedding/embedder.d.ts +132 -0
- package/dist/embedding/embedder.js +299 -0
- package/dist/identity/principal-repository.d.ts +2 -2
- package/dist/index.d.ts +43 -58
- package/dist/index.js +97 -145
- package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
- package/dist/knowledge/access.js +663 -0
- package/dist/knowledge/case-errors.d.ts +31 -0
- package/dist/knowledge/case-errors.js +40 -0
- package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
- package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
- package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
- package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
- package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
- package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
- package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
- package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
- package/dist/knowledge/commitment-revision-migration.d.ts +4 -0
- package/dist/knowledge/commitment-revision-migration.js +50 -0
- package/dist/knowledge/commitments.d.ts +192 -0
- package/dist/knowledge/commitments.js +386 -0
- package/dist/knowledge/decision-edges.d.ts +70 -0
- package/dist/knowledge/decision-edges.js +123 -0
- package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
- package/dist/knowledge/graph-query.js +1585 -0
- package/dist/knowledge/identity.d.ts +16 -0
- package/dist/knowledge/identity.js +22 -0
- package/dist/knowledge/index.d.ts +47 -0
- package/dist/knowledge/index.js +90 -0
- package/dist/knowledge/judgment-edge.d.ts +6 -0
- package/dist/knowledge/judgment-edge.js +22 -0
- package/dist/knowledge/judgments.d.ts +118 -0
- package/dist/knowledge/judgments.js +802 -0
- package/dist/knowledge/observations.d.ts +160 -0
- package/dist/knowledge/observations.js +449 -0
- package/dist/knowledge/question-type.d.ts +34 -0
- package/dist/knowledge/question-type.js +70 -0
- package/dist/{search → knowledge}/ranker-features.js +1 -1
- package/dist/{search → knowledge}/search-quality.d.ts +0 -1
- package/dist/knowledge/search.d.ts +38 -0
- package/dist/knowledge/search.js +91 -0
- package/dist/knowledge/source-ingest.d.ts +65 -0
- package/dist/knowledge/source-ingest.js +174 -0
- package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
- package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
- package/dist/knowledge/work-dates.d.ts +49 -0
- package/dist/knowledge/work-dates.js +120 -0
- package/dist/mama-api.d.ts +114 -778
- package/dist/mama-api.js +313 -2461
- package/dist/memory/api.d.ts +264 -24
- package/dist/memory/api.js +1633 -843
- package/dist/memory/bootstrap-builder.d.ts +2 -1
- package/dist/memory/bootstrap-builder.js +5 -5
- package/dist/memory/channel-summary-state-store.d.ts +3 -2
- package/dist/memory/channel-summary-state-store.js +53 -51
- package/dist/memory/channel-summary-store.d.ts +5 -3
- package/dist/memory/channel-summary-store.js +3 -8
- package/dist/memory/dashboard-read.d.ts +46 -0
- package/dist/memory/dashboard-read.js +94 -0
- package/dist/memory/event-store.d.ts +3 -3
- package/dist/memory/event-store.js +3 -10
- package/dist/memory/finding-store.d.ts +3 -2
- package/dist/memory/finding-store.js +2 -7
- package/dist/memory/graph-read.d.ts +52 -0
- package/dist/memory/graph-read.js +130 -0
- package/dist/memory/judgment-types.d.ts +394 -0
- package/dist/memory/judgment-types.js +16 -0
- package/dist/memory/provenance-audit.d.ts +5 -2
- package/dist/memory/provenance-audit.js +8 -14
- package/dist/memory/provenance-live.d.ts +141 -0
- package/dist/memory/provenance-live.js +409 -0
- package/dist/memory/provenance-query.d.ts +5 -4
- package/dist/memory/provenance-query.js +21 -29
- package/dist/memory/provenance-resolver.d.ts +191 -0
- package/dist/memory/provenance-resolver.js +155 -0
- package/dist/memory/provenance.d.ts +1 -11
- package/dist/memory/provenance.js +2 -33
- package/dist/memory/recall-sanitize.d.ts +55 -0
- package/dist/memory/recall-sanitize.js +144 -0
- package/dist/memory/secret-filter.d.ts +32 -0
- package/dist/memory/secret-filter.js +126 -0
- package/dist/memory/truth-store.d.ts +2 -1
- package/dist/memory/truth-store.js +1 -4
- package/dist/memory/types.d.ts +74 -24
- package/dist/memory/types.js +75 -5
- package/dist/memory/write-adapters.d.ts +98 -0
- package/dist/memory/write-adapters.js +242 -0
- package/dist/operations/owner-action-effects.d.ts +53 -0
- package/dist/operations/owner-action-effects.js +96 -0
- package/dist/provenance/source-ref.d.ts +1 -1
- package/dist/provenance/source-ref.js +0 -2
- package/dist/registry/corrections.d.ts +31 -0
- package/dist/registry/corrections.js +332 -0
- package/dist/registry/record-identity.d.ts +49 -0
- package/dist/registry/record-identity.js +133 -0
- package/dist/registry/store.d.ts +101 -0
- package/dist/registry/store.js +395 -0
- package/dist/registry/types.d.ts +28 -0
- package/dist/registry/types.js +5 -0
- package/dist/relevance-scorer.js +2 -2
- package/dist/runtime/agent-event-bus.d.ts +50 -0
- package/dist/runtime/agent-event-bus.js +101 -0
- package/dist/runtime/drivers/claude-cli-wrapper.d.ts +152 -0
- package/dist/runtime/drivers/claude-cli-wrapper.js +375 -0
- package/dist/runtime/drivers/claude-effort.d.ts +4 -0
- package/dist/runtime/drivers/claude-effort.js +16 -0
- package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
- package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
- package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
- package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
- package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
- package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
- package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
- package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
- package/dist/runtime/drivers/codex-home.d.ts +20 -0
- package/dist/runtime/drivers/codex-home.js +674 -0
- package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
- package/dist/runtime/drivers/codex-thread-registry.js +433 -0
- package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
- package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
- package/dist/runtime/drivers/persistent-cli-process.d.ts +425 -0
- package/dist/runtime/drivers/persistent-cli-process.js +1529 -0
- package/dist/runtime/drivers/types.d.ts +456 -0
- package/dist/runtime/drivers/types.js +110 -0
- package/dist/runtime/mailbox.d.ts +223 -0
- package/dist/runtime/mailbox.js +582 -0
- package/dist/runtime/model-run-store.d.ts +28 -0
- package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
- package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
- package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
- package/dist/runtime/native-effect-observer.d.ts +22 -0
- package/dist/runtime/native-effect-observer.js +103 -0
- package/dist/runtime/native-input-journal.d.ts +46 -0
- package/dist/runtime/native-input-journal.js +308 -0
- package/dist/runtime/native-prompt.d.ts +118 -0
- package/dist/runtime/native-prompt.js +496 -0
- package/dist/runtime/native-session.d.ts +10 -0
- package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
- package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
- package/dist/runtime/native-tool-trace-observer.js +65 -0
- package/dist/runtime/native-turn.d.ts +272 -0
- package/dist/runtime/native-turn.js +1041 -0
- package/dist/runtime/operations.d.ts +236 -0
- package/dist/runtime/operations.js +565 -0
- package/dist/runtime/post-tool-handler.d.ts +74 -0
- package/dist/runtime/post-tool-handler.js +137 -0
- package/dist/runtime/prompt-layers.d.ts +126 -0
- package/dist/runtime/prompt-layers.js +239 -0
- package/dist/runtime/runtime-process.d.ts +102 -0
- package/dist/runtime/runtime-process.js +206 -0
- package/dist/runtime/runtime.d.ts +278 -0
- package/dist/runtime/runtime.js +563 -0
- package/dist/runtime/session-pool.d.ts +176 -0
- package/dist/runtime/session-pool.js +369 -0
- package/dist/runtime/stimulus-payload.d.ts +5 -0
- package/dist/runtime/stimulus-payload.js +50 -0
- package/dist/runtime/subagent-bridge.d.ts +24 -0
- package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
- package/dist/runtime/text-completion.d.ts +22 -0
- package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
- package/dist/runtime/token-estimator.d.ts +25 -0
- package/dist/runtime/token-estimator.js +75 -0
- package/dist/runtime/tool-trace-store.d.ts +22 -0
- package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
- package/dist/runtime/trace-summary.d.ts +5 -0
- package/dist/runtime/trace-summary.js +74 -0
- package/dist/runtime/turn-text.d.ts +23 -0
- package/dist/runtime/turn-text.js +41 -0
- package/dist/storage/database.d.ts +67 -0
- package/dist/storage/database.js +158 -0
- package/package.json +20 -34
- package/dist/agent-graph/alias-write.d.ts +0 -3
- package/dist/agent-graph/alias-write.js +0 -234
- package/dist/agent-graph/entity-resolve.d.ts +0 -3
- package/dist/agent-graph/entity-resolve.js +0 -271
- package/dist/agent-graph/errors.d.ts +0 -4
- package/dist/agent-graph/errors.js +0 -11
- package/dist/agent-graph/graph-query.d.ts +0 -5
- package/dist/agent-graph/graph-query.js +0 -360
- package/dist/agent-graph/index.d.ts +0 -6
- package/dist/agent-situation/builder.d.ts +0 -8
- package/dist/agent-situation/builder.js +0 -239
- package/dist/agent-situation/cache-key.d.ts +0 -4
- package/dist/agent-situation/cache-key.js +0 -64
- package/dist/agent-situation/index.d.ts +0 -7
- package/dist/agent-situation/index.js +0 -28
- package/dist/agent-situation/packet-store.d.ts +0 -27
- package/dist/agent-situation/packet-store.js +0 -228
- package/dist/agent-situation/ranking-policy.d.ts +0 -18
- package/dist/agent-situation/ranking-policy.js +0 -75
- package/dist/agent-situation/source-readers.d.ts +0 -52
- package/dist/agent-situation/source-readers.js +0 -300
- package/dist/agent-situation/types.d.ts +0 -195
- package/dist/cases/wiki-page-index.d.ts +0 -37
- package/dist/cases/wiki-page-index.js +0 -201
- package/dist/config-loader.d.ts +0 -68
- package/dist/config-loader.js +0 -239
- package/dist/connectors/event-index.d.ts +0 -24
- package/dist/connectors/event-index.js +0 -245
- package/dist/connectors/raw-query.d.ts +0 -40
- package/dist/connectors/raw-query.js +0 -412
- package/dist/connectors/types.d.ts +0 -117
- package/dist/connectors/types.js +0 -3
- package/dist/context-compile/boundary-defaults.d.ts +0 -12
- package/dist/context-compile/boundary-defaults.js +0 -105
- package/dist/context-compile/channel-grant.js +0 -66
- package/dist/context-compile/compiler-policy.d.ts +0 -39
- package/dist/context-compile/compiler-policy.js +0 -147
- package/dist/context-compile/compiler.d.ts +0 -18
- package/dist/context-compile/compiler.js +0 -404
- package/dist/context-compile/index.d.ts +0 -10
- package/dist/context-compile/index.js +0 -26
- package/dist/context-compile/packet-store.d.ts +0 -8
- package/dist/context-compile/packet-store.js +0 -239
- package/dist/context-compile/ref.d.ts +0 -7
- package/dist/context-compile/ref.js +0 -102
- package/dist/context-compile/source-readers.d.ts +0 -70
- package/dist/context-compile/source-readers.js +0 -840
- package/dist/context-compile/types.d.ts +0 -155
- package/dist/context-compile/types.js +0 -11
- package/dist/context-compile/visibility.d.ts +0 -21
- package/dist/context-compile/visibility.js +0 -224
- package/dist/decision-tracker.d.ts +0 -206
- package/dist/decision-tracker.js +0 -481
- package/dist/edges/ref-validation.d.ts +0 -7
- package/dist/edges/ref-validation.js +0 -321
- package/dist/edges/store.d.ts +0 -8
- package/dist/edges/store.js +0 -129
- package/dist/embedding-client.d.ts +0 -28
- package/dist/embedding-client.js +0 -53
- package/dist/embedding-server/index.d.ts +0 -67
- package/dist/embedding-server/index.js +0 -405
- package/dist/embedding-server/mobile/auth.d.ts +0 -44
- package/dist/embedding-server/mobile/auth.js +0 -150
- package/dist/embedding-server/mobile/daemon.d.ts +0 -129
- package/dist/embedding-server/mobile/daemon.js +0 -313
- package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
- package/dist/embedding-server/mobile/output-parser.js +0 -241
- package/dist/embedding-server/mobile/session-api.d.ts +0 -57
- package/dist/embedding-server/mobile/session-api.js +0 -261
- package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
- package/dist/embedding-server/mobile/session-manager.js +0 -378
- package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
- package/dist/embedding-server/mobile/websocket-handler.js +0 -486
- package/dist/embeddings.d.ts +0 -68
- package/dist/embeddings.js +0 -244
- package/dist/entities/audit-metrics.d.ts +0 -68
- package/dist/entities/audit-metrics.js +0 -124
- package/dist/entities/candidate-generator.d.ts +0 -8
- package/dist/entities/candidate-generator.js +0 -24
- package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
- package/dist/entities/entity-linked-decision-counts.js +0 -29
- package/dist/entities/entity-list.d.ts +0 -22
- package/dist/entities/entity-list.js +0 -3
- package/dist/entities/entity-orphan-list.d.ts +0 -17
- package/dist/entities/entity-orphan-list.js +0 -3
- package/dist/entities/entity-search.d.ts +0 -20
- package/dist/entities/entity-search.js +0 -3
- package/dist/entities/errors.d.ts +0 -55
- package/dist/entities/errors.js +0 -100
- package/dist/entities/lineage-store.d.ts +0 -28
- package/dist/entities/lineage-store.js +0 -204
- package/dist/entities/normalization.d.ts +0 -14
- package/dist/entities/normalization.js +0 -63
- package/dist/entities/policy-store.d.ts +0 -8
- package/dist/entities/policy-store.js +0 -75
- package/dist/entities/policy-types.d.ts +0 -72
- package/dist/entities/policy-types.js +0 -59
- package/dist/entities/projection.d.ts +0 -8
- package/dist/entities/projection.js +0 -82
- package/dist/entities/provenance-query.d.ts +0 -32
- package/dist/entities/provenance-query.js +0 -3
- package/dist/entities/read-identity.d.ts +0 -31
- package/dist/entities/read-identity.js +0 -264
- package/dist/entities/recall-bridge.d.ts +0 -5
- package/dist/entities/recall-bridge.js +0 -171
- package/dist/entities/resolution-engine.d.ts +0 -8
- package/dist/entities/resolution-engine.js +0 -3
- package/dist/entities/rollback-preview.d.ts +0 -35
- package/dist/entities/rollback-preview.js +0 -3
- package/dist/entities/source-locator.d.ts +0 -3
- package/dist/entities/source-locator.js +0 -32
- package/dist/entities/store.d.ts +0 -69
- package/dist/entities/store.js +0 -544
- package/dist/entities/types.d.ts +0 -166
- package/dist/entities/types.js +0 -30
- package/dist/memory/extraction-prompt.d.ts +0 -4
- package/dist/memory/extraction-prompt.js +0 -89
- package/dist/memory/scope-backfill.d.ts +0 -14
- package/dist/memory/scope-backfill.js +0 -3
- package/dist/memory/scope-store.d.ts +0 -4
- package/dist/memory/scope-store.js +0 -9
- package/dist/memory-store.d.ts +0 -87
- package/dist/memory-store.js +0 -78
- package/dist/model-runs/store.d.ts +0 -13
- package/dist/model-runs/tool-trace-store.d.ts +0 -8
- package/dist/notification-manager.d.ts +0 -7
- package/dist/notification-manager.js +0 -12
- package/dist/outcome-tracker.d.ts +0 -151
- package/dist/outcome-tracker.js +0 -271
- package/dist/query-intent.d.ts +0 -23
- package/dist/query-intent.js +0 -114
- package/dist/runtime/trusted-provenance.d.ts +0 -3
- package/dist/runtime/trusted-provenance.js +0 -6
- package/dist/search/question-type.d.ts +0 -5
- package/dist/search/question-type.js +0 -41
- package/dist/test-utils.d.ts +0 -80
- package/dist/test-utils.js +0 -218
- package/dist/tier-validator.d.ts +0 -43
- package/dist/tier-validator.js +0 -159
- package/dist/time-formatter.d.ts +0 -25
- package/dist/time-formatter.js +0 -93
- /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
- /package/dist/{search → knowledge}/feedback-store.js +0 -0
- /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
- /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
- /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
- /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
- /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
- /package/dist/{search → knowledge}/search-quality.js +0 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The durable record of what this system actually changed, and what caused it.
|
|
3
|
+
*
|
|
4
|
+
* One table, `evidence_effects`. A `cause_state` CHECK forbids both "attributed
|
|
5
|
+
* with no cause" and "unattributed with a cause", and a BEFORE INSERT trigger
|
|
6
|
+
* rejects unusable cause ids, so the numerator and the denominator of coverage
|
|
7
|
+
* cannot be separated.
|
|
8
|
+
*
|
|
9
|
+
* This lives in core, next to the commitments it describes, for one reason: a
|
|
10
|
+
* change and its cause have to commit or roll back together. While owner work
|
|
11
|
+
* was stored in the daemon's operator database and this ledger beside it, that
|
|
12
|
+
* held. Moving owner work into the knowledge database without moving this would
|
|
13
|
+
* have put a change in one database and its cause in another, and a ledger that
|
|
14
|
+
* can disagree with the rows it describes is worse than no ledger.
|
|
15
|
+
*
|
|
16
|
+
* Every function here takes its adapter, so the caller decides which database is
|
|
17
|
+
* being recorded; nothing is resolved from a global.
|
|
18
|
+
*
|
|
19
|
+
* @module runtime/operations
|
|
20
|
+
*/
|
|
21
|
+
import type { JudgmentReceipt } from '../memory/judgment-types.js';
|
|
22
|
+
import type { JudgmentAccess } from '../knowledge/judgments.js';
|
|
23
|
+
export type EffectKind = 'task_create' | 'task_update' | 'report_update' | 'report_publish' | 'memory_write' | 'wiki_write' | 'file_export' | 'repair_request' | 'run_budget_stop';
|
|
24
|
+
/** What it happened to. */
|
|
25
|
+
export type EffectTarget = 'task' | 'report_slot' | 'memory' | 'wiki_page' | 'file' | 'issue' | 'run';
|
|
26
|
+
/** Whether the change could name what caused it. */
|
|
27
|
+
export type CauseState = 'attributed' | 'unattributed';
|
|
28
|
+
/**
|
|
29
|
+
* WHY the change happened - the closed set (S2). `event` is the only kind that
|
|
30
|
+
* carries source event ids; the others are honestly id-less: a clock advanced,
|
|
31
|
+
* the owner asked in chat, or a card transition cascaded. Writers pass their
|
|
32
|
+
* kind explicitly - the ledger never infers.
|
|
33
|
+
*/
|
|
34
|
+
export type CauseKind = 'event' | 'owner_message' | 'clock' | 'card_transition';
|
|
35
|
+
/** Kinds an unattributed (id-less) change may claim. */
|
|
36
|
+
export type UnattributedCauseKind = Exclude<CauseKind, 'event'>;
|
|
37
|
+
/** Fields every durable change carries, whether or not it can name a cause. */
|
|
38
|
+
export interface ChangeInput {
|
|
39
|
+
/**
|
|
40
|
+
* The model run that produced the change, so it is traceable to a transcript.
|
|
41
|
+
* Null when no model run did - a host-internal write is not made more honest by
|
|
42
|
+
* inventing a run id for it.
|
|
43
|
+
*/
|
|
44
|
+
runId?: string | null;
|
|
45
|
+
/** Evidence channel this change concerns, when it concerns one. */
|
|
46
|
+
channelId?: string | null;
|
|
47
|
+
kind: EffectKind;
|
|
48
|
+
targetType: EffectTarget;
|
|
49
|
+
targetId: string;
|
|
50
|
+
/** The written payload; hashed, never stored, so the ledger cannot leak content. */
|
|
51
|
+
payload: unknown;
|
|
52
|
+
atMs: number;
|
|
53
|
+
}
|
|
54
|
+
export interface EffectInput extends ChangeInput {
|
|
55
|
+
/** Events that caused it. Must not be empty. */
|
|
56
|
+
sourceEventIds: readonly string[];
|
|
57
|
+
}
|
|
58
|
+
export interface EffectRecord {
|
|
59
|
+
id: number;
|
|
60
|
+
runId: string | null;
|
|
61
|
+
channelId: string | null;
|
|
62
|
+
causeState: CauseState;
|
|
63
|
+
causeKind: CauseKind;
|
|
64
|
+
sourceEventIds: string[];
|
|
65
|
+
kind: EffectKind;
|
|
66
|
+
targetType: EffectTarget;
|
|
67
|
+
targetId: string;
|
|
68
|
+
payloadHash: string;
|
|
69
|
+
atMs: number;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Whether a value can serve as a cause at all.
|
|
73
|
+
*
|
|
74
|
+
* Callers ask before writing rather than discovering it as a constraint violation,
|
|
75
|
+
* because the answer changes what they record, not whether they may proceed: a malformed
|
|
76
|
+
* cause makes a change unattributed, it does not make the change illegitimate. Legacy
|
|
77
|
+
* rows really do carry 400-character source identifiers, and refusing to let the operator
|
|
78
|
+
* update a work item because its upstream id is the wrong shape would be enforcement
|
|
79
|
+
* bought with the owner's work.
|
|
80
|
+
*/
|
|
81
|
+
export declare function isUsableCause(value: string | null | undefined): value is string;
|
|
82
|
+
export declare const EVIDENCE_EFFECTS_DDL: string;
|
|
83
|
+
export interface EffectAdapter {
|
|
84
|
+
prepare(sql: string): {
|
|
85
|
+
run(...params: unknown[]): {
|
|
86
|
+
lastInsertRowid?: number | bigint;
|
|
87
|
+
};
|
|
88
|
+
all(...params: unknown[]): unknown[];
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export declare function ensureEffectLedger(adapter: EffectAdapter): void;
|
|
92
|
+
export declare class EffectWithoutCauseError extends Error {
|
|
93
|
+
constructor(kind: EffectKind, targetId: string);
|
|
94
|
+
}
|
|
95
|
+
/** Stable hash of what was written. The ledger proves a change happened, not what it said. */
|
|
96
|
+
export declare function payloadHash(payload: unknown): string;
|
|
97
|
+
/**
|
|
98
|
+
* Record a durable change.
|
|
99
|
+
*
|
|
100
|
+
* Throws rather than returning a failure when the cause is missing. A caller that wrote
|
|
101
|
+
* something and then could not say why must not proceed as if the write were accounted
|
|
102
|
+
* for - silently skipping the ledger row is how 1,169 runs closed as `done` while five
|
|
103
|
+
* receipts existed.
|
|
104
|
+
*/
|
|
105
|
+
export declare function recordEffect(adapter: EffectAdapter, input: EffectInput): number;
|
|
106
|
+
/**
|
|
107
|
+
* Record a durable change that could not name what caused it.
|
|
108
|
+
*
|
|
109
|
+
* Deliberately a separate function with an uncomfortable name. Every call is an admission
|
|
110
|
+
* that the system changed something it cannot explain, and the point is that the count of
|
|
111
|
+
* these is visible next to the count of real effects rather than absent from both.
|
|
112
|
+
*/
|
|
113
|
+
export declare function recordUnattributedChange(adapter: EffectAdapter, input: ChangeInput, causeKind: UnattributedCauseKind): number;
|
|
114
|
+
export interface EffectQuery {
|
|
115
|
+
id?: number;
|
|
116
|
+
runId?: string;
|
|
117
|
+
targetType?: EffectTarget;
|
|
118
|
+
targetId?: string;
|
|
119
|
+
causeState?: CauseState;
|
|
120
|
+
sinceMs?: number;
|
|
121
|
+
limit?: number;
|
|
122
|
+
}
|
|
123
|
+
/** Read effects back, newest first - the substrate a report projects from. */
|
|
124
|
+
export declare function listEffects(adapter: EffectAdapter, query?: EffectQuery): EffectRecord[];
|
|
125
|
+
export interface ChangeCoverage {
|
|
126
|
+
/** Changes that named the events behind them. */
|
|
127
|
+
attributed: number;
|
|
128
|
+
/** Changes the system made and could not explain. */
|
|
129
|
+
unattributed: number;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* How much of what the system changed rests on evidence.
|
|
133
|
+
*
|
|
134
|
+
* The single number this ledger exists to make answerable, and the one the previous shape
|
|
135
|
+
* of the system could not produce at all.
|
|
136
|
+
*/
|
|
137
|
+
export declare function changeCoverage(adapter: EffectAdapter, sinceMs?: number, targetType?: EffectTarget): ChangeCoverage;
|
|
138
|
+
export interface OperationRead {
|
|
139
|
+
operationId: string;
|
|
140
|
+
/** The command action the binding recorded — e.g. 'judgment.append'. */
|
|
141
|
+
action: string;
|
|
142
|
+
principalId: string;
|
|
143
|
+
payloadHash: string;
|
|
144
|
+
boundAt: number;
|
|
145
|
+
receiptKind: string | null;
|
|
146
|
+
receiptKey: string | null;
|
|
147
|
+
/** The committed judgment receipt, when the binding carries one. */
|
|
148
|
+
receipt: JudgmentReceipt | null;
|
|
149
|
+
}
|
|
150
|
+
export declare class OperationError extends Error {
|
|
151
|
+
readonly code: string;
|
|
152
|
+
constructor(code: string, message: string);
|
|
153
|
+
}
|
|
154
|
+
export type OperationReadAdapter = {
|
|
155
|
+
prepare(sql: string): {
|
|
156
|
+
get(...params: unknown[]): unknown;
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* §293: start from the command binding — principal, action, original receipt
|
|
161
|
+
* ref — check the caller's authority, then read the actual result. An absent
|
|
162
|
+
* binding and one bound to another principal answer identically: the caller
|
|
163
|
+
* may not learn the id exists.
|
|
164
|
+
*/
|
|
165
|
+
export declare function readOperation(adapter: OperationReadAdapter, operationId: string, access: JudgmentAccess): OperationRead;
|
|
166
|
+
export declare const CHANGES_READ_TARGET_TYPES: readonly EffectTarget[];
|
|
167
|
+
export declare const CHANGES_READ_CAUSE_STATES: readonly CauseState[];
|
|
168
|
+
/**
|
|
169
|
+
* The read port over `evidence_effects`. The table lives in whichever database
|
|
170
|
+
* the host opened it in, so the catalog takes the port rather than an adapter —
|
|
171
|
+
* the port's owner decides the physical store.
|
|
172
|
+
*/
|
|
173
|
+
export interface ChangesLedger {
|
|
174
|
+
listChanges(query: EffectQuery): EffectRecord[];
|
|
175
|
+
changeCoverage(sinceMs?: number, targetType?: EffectTarget): ChangeCoverage;
|
|
176
|
+
listTurnInputs?(modelRunId: string, principalId: string, options?: {
|
|
177
|
+
afterId?: number;
|
|
178
|
+
limit?: number;
|
|
179
|
+
}): {
|
|
180
|
+
items: Array<{
|
|
181
|
+
inputId: number;
|
|
182
|
+
stimulusId: string;
|
|
183
|
+
kind: string;
|
|
184
|
+
principalId: string;
|
|
185
|
+
channelKey: string;
|
|
186
|
+
occurredAt: number;
|
|
187
|
+
status: string;
|
|
188
|
+
nativeState: string;
|
|
189
|
+
}>;
|
|
190
|
+
nextCursor: number | null;
|
|
191
|
+
runStatus: string;
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
export interface ChangesReadInput {
|
|
195
|
+
since?: unknown;
|
|
196
|
+
target_type?: unknown;
|
|
197
|
+
cause_state?: unknown;
|
|
198
|
+
limit?: unknown;
|
|
199
|
+
}
|
|
200
|
+
export interface ChangesReadFailure {
|
|
201
|
+
success: false;
|
|
202
|
+
code: 'invalid_argument';
|
|
203
|
+
error: string;
|
|
204
|
+
}
|
|
205
|
+
export interface ChangesReadResult {
|
|
206
|
+
success: true;
|
|
207
|
+
coverage: ChangeCoverage;
|
|
208
|
+
since: string;
|
|
209
|
+
/** Changes matching the filter in the window - not the number returned. */
|
|
210
|
+
total: number;
|
|
211
|
+
returned: number;
|
|
212
|
+
changes: Array<{
|
|
213
|
+
effect_id: number;
|
|
214
|
+
kind: string;
|
|
215
|
+
target_type: string;
|
|
216
|
+
target_id: string;
|
|
217
|
+
cause_state: string;
|
|
218
|
+
/** What KIND of cause moved this - the rubric's cause-citation item reads it. */
|
|
219
|
+
cause_kind: string;
|
|
220
|
+
source_event_ids: string[];
|
|
221
|
+
channel: string | null;
|
|
222
|
+
run_id: string | null;
|
|
223
|
+
at: string;
|
|
224
|
+
}>;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* The window a read covers.
|
|
228
|
+
*
|
|
229
|
+
* Unparseable input falls back to the default and the resolved window is returned to the
|
|
230
|
+
* caller, so whatever was asked for, what was actually read is stated. Non-string input is
|
|
231
|
+
* not a window at all - a model emitting epoch milliseconds used to crash the tool on
|
|
232
|
+
* `.trim()`.
|
|
233
|
+
*/
|
|
234
|
+
export declare function parseChangesSince(since: unknown, nowMs: number): number;
|
|
235
|
+
export declare function readChanges(ledger: ChangesLedger, input: ChangesReadInput, nowMs: number): ChangesReadResult | ChangesReadFailure;
|
|
236
|
+
//# sourceMappingURL=operations.d.ts.map
|