@haaaiawd/second-nature 0.1.16 → 0.1.18
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/index.js +855 -851
- package/openclaw.plugin.json +29 -29
- package/package.json +52 -52
- package/runtime/cli/commands/index.d.ts +14 -14
- package/runtime/cli/commands/index.js +193 -193
- package/runtime/cli/explain/explain-surface-subject.d.ts +8 -8
- package/runtime/cli/explain/explain-surface-subject.js +9 -9
- package/runtime/cli/explain/format-explanation.d.ts +12 -12
- package/runtime/cli/explain/format-explanation.js +12 -12
- package/runtime/cli/explain/resolve-subject.js +41 -41
- package/runtime/cli/host-capability/classify-delivery.d.ts +14 -14
- package/runtime/cli/host-capability/classify-delivery.js +20 -20
- package/runtime/cli/host-capability/probe-host-capability.d.ts +2 -2
- package/runtime/cli/host-capability/probe-host-capability.js +58 -58
- package/runtime/cli/host-capability/record-host-capability.d.ts +6 -6
- package/runtime/cli/host-capability/record-host-capability.js +14 -14
- package/runtime/cli/host-capability/types.d.ts +71 -71
- package/runtime/cli/host-capability/types.js +6 -6
- package/runtime/cli/host-smoke/run-host-smoke.d.ts +2 -2
- package/runtime/cli/host-smoke/run-host-smoke.js +40 -40
- package/runtime/cli/host-smoke/types.d.ts +35 -35
- package/runtime/cli/host-smoke/types.js +6 -6
- package/runtime/cli/index.js +58 -54
- package/runtime/cli/ops/heartbeat-surface.d.ts +38 -35
- package/runtime/cli/ops/heartbeat-surface.js +73 -71
- package/runtime/cli/ops/ops-router.d.ts +19 -16
- package/runtime/cli/ops/ops-router.js +89 -87
- package/runtime/cli/ops/show-operator-fallback.d.ts +13 -13
- package/runtime/cli/ops/show-operator-fallback.js +22 -22
- package/runtime/cli/ops/workspace-heartbeat-runner.d.ts +19 -10
- package/runtime/cli/ops/workspace-heartbeat-runner.js +39 -26
- package/runtime/cli/read-models/index.d.ts +29 -29
- package/runtime/cli/read-models/index.js +256 -256
- package/runtime/cli/read-models/operator-explain-map.d.ts +6 -6
- package/runtime/cli/read-models/operator-explain-map.js +10 -10
- package/runtime/cli/read-models/types.d.ts +79 -79
- package/runtime/cli/runtime/runtime-artifact-boundary.d.ts +28 -28
- package/runtime/cli/runtime/runtime-artifact-boundary.js +94 -94
- package/runtime/connectors/base/contract.d.ts +87 -87
- package/runtime/connectors/base/execution-policy.d.ts +47 -47
- package/runtime/connectors/base/execution-policy.js +82 -82
- package/runtime/connectors/base/index.d.ts +8 -8
- package/runtime/connectors/base/index.js +8 -8
- package/runtime/connectors/base/manifest.d.ts +64 -64
- package/runtime/connectors/base/manifest.js +86 -86
- package/runtime/connectors/base/map-life-evidence.d.ts +16 -16
- package/runtime/connectors/base/map-life-evidence.js +79 -79
- package/runtime/connectors/base/policy-layer.d.ts +29 -29
- package/runtime/connectors/base/policy-layer.js +198 -198
- package/runtime/connectors/base/route-planner.js +99 -99
- package/runtime/connectors/index.d.ts +5 -5
- package/runtime/connectors/index.js +5 -5
- package/runtime/connectors/near-real/near-real-connector-smoke.d.ts +19 -19
- package/runtime/connectors/near-real/near-real-connector-smoke.js +152 -152
- package/runtime/core/second-nature/heartbeat/heartbeat-executor.js +114 -114
- package/runtime/core/second-nature/heartbeat/heartbeat-loop.d.ts +63 -63
- package/runtime/core/second-nature/heartbeat/heartbeat-loop.js +139 -139
- package/runtime/core/second-nature/heartbeat/index.d.ts +8 -8
- package/runtime/core/second-nature/heartbeat/index.js +7 -7
- package/runtime/core/second-nature/heartbeat/run-heartbeat-cycle.d.ts +21 -21
- package/runtime/core/second-nature/heartbeat/run-heartbeat-cycle.js +35 -35
- package/runtime/core/second-nature/heartbeat/runtime-snapshot.d.ts +28 -28
- package/runtime/core/second-nature/heartbeat/runtime-snapshot.js +35 -35
- package/runtime/core/second-nature/heartbeat/signal.d.ts +42 -42
- package/runtime/core/second-nature/heartbeat/snapshot-builder.d.ts +51 -51
- package/runtime/core/second-nature/index.d.ts +22 -22
- package/runtime/core/second-nature/index.js +22 -22
- package/runtime/core/second-nature/orchestrator/effect-dispatcher.d.ts +100 -100
- package/runtime/core/second-nature/orchestrator/effect-dispatcher.js +144 -144
- package/runtime/core/second-nature/orchestrator/guard-layer.d.ts +8 -8
- package/runtime/core/second-nature/orchestrator/guard-layer.js +110 -110
- package/runtime/core/second-nature/orchestrator/intent-planner.d.ts +13 -13
- package/runtime/core/second-nature/orchestrator/intent-planner.js +199 -199
- package/runtime/core/second-nature/orchestrator/lease-manager.d.ts +14 -14
- package/runtime/core/second-nature/orchestrator/lease-manager.js +58 -58
- package/runtime/core/second-nature/outreach/build-outreach-draft-request.d.ts +6 -6
- package/runtime/core/second-nature/outreach/build-outreach-draft-request.js +63 -63
- package/runtime/core/second-nature/outreach/delivery-target.d.ts +26 -26
- package/runtime/core/second-nature/outreach/delivery-target.js +70 -70
- package/runtime/core/second-nature/outreach/dispatch-user-outreach.d.ts +38 -38
- package/runtime/core/second-nature/outreach/dispatch-user-outreach.js +119 -119
- package/runtime/core/second-nature/outreach/judge-input-from-snapshot.d.ts +7 -7
- package/runtime/core/second-nature/outreach/judge-input-from-snapshot.js +45 -45
- package/runtime/core/second-nature/outreach/judge-outreach.d.ts +40 -40
- package/runtime/core/second-nature/outreach/judge-outreach.js +121 -121
- package/runtime/core/second-nature/quiet/run-source-backed-quiet.d.ts +21 -21
- package/runtime/core/second-nature/quiet/run-source-backed-quiet.js +123 -123
- package/runtime/core/second-nature/rhythm/planner-rhythm-window.d.ts +15 -15
- package/runtime/core/second-nature/rhythm/planner-rhythm-window.js +52 -52
- package/runtime/core/second-nature/rhythm/policy-bridge.d.ts +19 -19
- package/runtime/core/second-nature/rhythm/policy-bridge.js +34 -34
- package/runtime/core/second-nature/runtime/service-entry.js +45 -45
- package/runtime/core/second-nature/types.d.ts +51 -51
- package/runtime/guidance/draft-outreach-message.d.ts +7 -7
- package/runtime/guidance/draft-outreach-message.js +42 -42
- package/runtime/guidance/evidence-guidance.d.ts +40 -40
- package/runtime/guidance/evidence-guidance.js +52 -52
- package/runtime/guidance/index.d.ts +11 -11
- package/runtime/guidance/index.js +11 -11
- package/runtime/guidance/outreach-draft-schema.d.ts +228 -228
- package/runtime/guidance/outreach-draft-schema.js +80 -80
- package/runtime/observability/audit/append-only-audit-store.d.ts +14 -14
- package/runtime/observability/audit/append-only-audit-store.js +21 -21
- package/runtime/observability/audit/audit-envelope.d.ts +51 -51
- package/runtime/observability/audit/audit-envelope.js +130 -130
- package/runtime/observability/audit/verify-audit-hash-chain.d.ts +23 -23
- package/runtime/observability/audit/verify-audit-hash-chain.js +83 -83
- package/runtime/observability/db/index.js +124 -124
- package/runtime/observability/db/schema/host-capability-reports.d.ts +180 -180
- package/runtime/observability/db/schema/host-capability-reports.js +12 -12
- package/runtime/observability/db/schema/index.d.ts +947 -947
- package/runtime/observability/db/schema/index.js +71 -71
- package/runtime/observability/index.d.ts +20 -19
- package/runtime/observability/index.js +19 -18
- package/runtime/observability/query/explain-query.d.ts +48 -48
- package/runtime/observability/query/explain-query.js +114 -114
- package/runtime/observability/query/export-audit-bundle.d.ts +22 -22
- package/runtime/observability/query/export-audit-bundle.js +27 -27
- package/runtime/observability/services/decision-ledger.d.ts +46 -46
- package/runtime/observability/services/decision-ledger.js +161 -161
- package/runtime/observability/services/governance-audit.d.ts +41 -41
- package/runtime/observability/services/governance-audit.js +163 -163
- package/runtime/observability/services/governance-plane-recorder.d.ts +47 -47
- package/runtime/observability/services/governance-plane-recorder.js +55 -55
- package/runtime/observability/services/lived-experience-audit.d.ts +97 -97
- package/runtime/observability/services/lived-experience-audit.js +162 -162
- package/runtime/observability/services/runtime-decision-recorder.d.ts +29 -0
- package/runtime/observability/services/runtime-decision-recorder.js +94 -0
- package/runtime/storage/bootstrap/native-sqlite-probe.d.ts +7 -7
- package/runtime/storage/bootstrap/native-sqlite-probe.js +28 -28
- package/runtime/storage/bootstrap/repair-gate.d.ts +17 -17
- package/runtime/storage/bootstrap/repair-gate.js +71 -71
- package/runtime/storage/bootstrap/storage-mode-smoke.d.ts +38 -38
- package/runtime/storage/bootstrap/storage-mode-smoke.js +85 -85
- package/runtime/storage/db/index.js +154 -154
- package/runtime/storage/db/schema/delivery-attempts.d.ts +199 -199
- package/runtime/storage/db/schema/delivery-attempts.js +13 -13
- package/runtime/storage/db/schema/index.d.ts +9 -9
- package/runtime/storage/db/schema/index.js +9 -9
- package/runtime/storage/db/schema/life-evidence-index.d.ts +161 -161
- package/runtime/storage/db/schema/life-evidence-index.js +11 -11
- package/runtime/storage/db/schema/operator-fallback-artifacts.d.ts +161 -161
- package/runtime/storage/db/schema/operator-fallback-artifacts.js +11 -11
- package/runtime/storage/db/schema/policies.d.ts +98 -98
- package/runtime/storage/db/schema/policies.js +8 -8
- package/runtime/storage/delivery/query-delivery-attempts.d.ts +3 -3
- package/runtime/storage/delivery/query-delivery-attempts.js +32 -32
- package/runtime/storage/delivery/types.d.ts +27 -27
- package/runtime/storage/delivery/types.js +1 -1
- package/runtime/storage/delivery/write-delivery-attempt.d.ts +6 -6
- package/runtime/storage/delivery/write-delivery-attempt.js +36 -36
- package/runtime/storage/fallback/load-operator-fallback.d.ts +14 -14
- package/runtime/storage/fallback/load-operator-fallback.js +47 -47
- package/runtime/storage/fallback/operator-fallback-types.d.ts +9 -9
- package/runtime/storage/fallback/operator-fallback-types.js +1 -1
- package/runtime/storage/fallback/operator-fallback-view.d.ts +11 -11
- package/runtime/storage/fallback/operator-fallback-view.js +1 -1
- package/runtime/storage/fallback/write-operator-fallback.d.ts +6 -6
- package/runtime/storage/fallback/write-operator-fallback.js +21 -21
- package/runtime/storage/index.d.ts +37 -37
- package/runtime/storage/index.js +30 -30
- package/runtime/storage/life-evidence/append-life-evidence.d.ts +7 -7
- package/runtime/storage/life-evidence/append-life-evidence.js +64 -64
- package/runtime/storage/life-evidence/types.d.ts +45 -45
- package/runtime/storage/life-evidence/types.js +6 -6
- package/runtime/storage/quiet/persist-quiet-artifact.d.ts +7 -7
- package/runtime/storage/quiet/persist-quiet-artifact.js +22 -22
- package/runtime/storage/quiet/quiet-artifact-types.d.ts +18 -18
- package/runtime/storage/quiet/quiet-artifact-types.js +1 -1
- package/runtime/storage/quiet/quiet-artifact-writer.d.ts +15 -15
- package/runtime/storage/quiet/quiet-artifact-writer.js +56 -56
- package/runtime/storage/repositories/credential-repository.js +30 -30
- package/runtime/storage/rhythm/rhythm-policy-snapshot.d.ts +10 -10
- package/runtime/storage/rhythm/rhythm-policy-snapshot.js +34 -34
- package/runtime/storage/services/credential-vault.d.ts +13 -13
- package/runtime/storage/services/credential-vault.js +116 -116
- package/runtime/storage/snapshots/continuity-snapshot.d.ts +9 -9
- package/runtime/storage/snapshots/continuity-snapshot.js +41 -41
- package/runtime/storage/snapshots/life-evidence-snapshot.d.ts +6 -6
- package/runtime/storage/snapshots/life-evidence-snapshot.js +114 -114
- package/runtime/storage/snapshots/types.d.ts +58 -58
- package/runtime/storage/snapshots/types.js +1 -1
- package/runtime/storage/state-api.js +104 -104
- package/runtime/storage/user-interest/load-user-interest-snapshot.d.ts +2 -2
- package/runtime/storage/user-interest/load-user-interest-snapshot.js +150 -150
- package/runtime/storage/user-interest/types.d.ts +25 -25
- package/runtime/storage/user-interest/types.js +1 -1
- package/workspace-ops-bridge.js +81 -80
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { OperatorFallbackView } from "../../storage/fallback/operator-fallback-view.js";
|
|
2
|
-
export declare class OperatorFallbackNotFoundError extends Error {
|
|
3
|
-
readonly ref: string;
|
|
4
|
-
readonly code: "FALLBACK_NOT_FOUND";
|
|
5
|
-
constructor(ref: string);
|
|
6
|
-
}
|
|
7
|
-
export interface ShowOperatorFallbackReadModels {
|
|
8
|
-
loadFallbackView(ref: string): Promise<OperatorFallbackView | null>;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* T1.2.2 — Operator-visible fallback: always `status: not_sent` (ADR-007), never sent/delivered.
|
|
12
|
-
*/
|
|
13
|
-
export declare function showOperatorFallback(ref: string, readModels: ShowOperatorFallbackReadModels): Promise<OperatorFallbackView>;
|
|
1
|
+
import type { OperatorFallbackView } from "../../storage/fallback/operator-fallback-view.js";
|
|
2
|
+
export declare class OperatorFallbackNotFoundError extends Error {
|
|
3
|
+
readonly ref: string;
|
|
4
|
+
readonly code: "FALLBACK_NOT_FOUND";
|
|
5
|
+
constructor(ref: string);
|
|
6
|
+
}
|
|
7
|
+
export interface ShowOperatorFallbackReadModels {
|
|
8
|
+
loadFallbackView(ref: string): Promise<OperatorFallbackView | null>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* T1.2.2 — Operator-visible fallback: always `status: not_sent` (ADR-007), never sent/delivered.
|
|
12
|
+
*/
|
|
13
|
+
export declare function showOperatorFallback(ref: string, readModels: ShowOperatorFallbackReadModels): Promise<OperatorFallbackView>;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export class OperatorFallbackNotFoundError extends Error {
|
|
2
|
-
ref;
|
|
3
|
-
code = "FALLBACK_NOT_FOUND";
|
|
4
|
-
constructor(ref) {
|
|
5
|
-
super(`No operator fallback artifact for ref: ${ref}`);
|
|
6
|
-
this.ref = ref;
|
|
7
|
-
this.name = "OperatorFallbackNotFoundError";
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* T1.2.2 — Operator-visible fallback: always `status: not_sent` (ADR-007), never sent/delivered.
|
|
12
|
-
*/
|
|
13
|
-
export async function showOperatorFallback(ref, readModels) {
|
|
14
|
-
const view = await readModels.loadFallbackView(ref);
|
|
15
|
-
if (!view) {
|
|
16
|
-
throw new OperatorFallbackNotFoundError(ref.trim());
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
...view,
|
|
20
|
-
status: "not_sent",
|
|
21
|
-
};
|
|
22
|
-
}
|
|
1
|
+
export class OperatorFallbackNotFoundError extends Error {
|
|
2
|
+
ref;
|
|
3
|
+
code = "FALLBACK_NOT_FOUND";
|
|
4
|
+
constructor(ref) {
|
|
5
|
+
super(`No operator fallback artifact for ref: ${ref}`);
|
|
6
|
+
this.ref = ref;
|
|
7
|
+
this.name = "OperatorFallbackNotFoundError";
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* T1.2.2 — Operator-visible fallback: always `status: not_sent` (ADR-007), never sent/delivered.
|
|
12
|
+
*/
|
|
13
|
+
export async function showOperatorFallback(ref, readModels) {
|
|
14
|
+
const view = await readModels.loadFallbackView(ref);
|
|
15
|
+
if (!view) {
|
|
16
|
+
throw new OperatorFallbackNotFoundError(ref.trim());
|
|
17
|
+
}
|
|
18
|
+
return {
|
|
19
|
+
...view,
|
|
20
|
+
status: "not_sent",
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wires CLI read models into control-plane `runHeartbeatCycle` for `heartbeat_check` (US-001 / CH-09-02).
|
|
3
|
-
*
|
|
4
|
-
* Snapshot inputs are derived from aggregated status; delivery defaults to none until host capability is modeled here.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Wires CLI read models into control-plane `runHeartbeatCycle` for `heartbeat_check` (US-001 / CH-09-02 / T1.2.3).
|
|
3
|
+
*
|
|
4
|
+
* Snapshot inputs are derived from aggregated status; delivery defaults to none until host capability is modeled here.
|
|
5
|
+
*
|
|
6
|
+
* T1.2.3: when a `RuntimeDecisionRecorder` is provided, persist a `sn-runtime-*` ledger row +
|
|
7
|
+
* `second-nature-runtime` execution attempt after each cycle so `loadStatus` exits its `unknown`
|
|
8
|
+
* baseline once the runtime has actually executed at least one full-runtime turn.
|
|
9
|
+
*/
|
|
10
|
+
import type { HeartbeatSignal, HeartbeatCycleResult } from "../../core/second-nature/heartbeat/signal.js";
|
|
11
|
+
import type { SnapshotInputs } from "../../core/second-nature/heartbeat/snapshot-builder.js";
|
|
12
|
+
import type { CliReadModels } from "../read-models/index.js";
|
|
13
|
+
import type { RuntimeDecisionRecorder } from "../../observability/services/runtime-decision-recorder.js";
|
|
14
|
+
export interface WorkspaceHeartbeatRunnerOptions {
|
|
15
|
+
/** When supplied, the runner persists the cycle so `loadStatus` can read it (T1.2.3). */
|
|
16
|
+
runtimeRecorder?: RuntimeDecisionRecorder;
|
|
17
|
+
}
|
|
18
|
+
export declare function loadSnapshotInputsForWorkspaceHeartbeat(readModels: CliReadModels): Promise<SnapshotInputs>;
|
|
19
|
+
export declare function createWorkspaceHeartbeatRunner(readModels: CliReadModels, options?: WorkspaceHeartbeatRunnerOptions): (signal: HeartbeatSignal) => Promise<HeartbeatCycleResult>;
|
|
@@ -1,26 +1,39 @@
|
|
|
1
|
-
import { runHeartbeatCycle } from "../../core/second-nature/heartbeat/run-heartbeat-cycle.js";
|
|
2
|
-
export async function loadSnapshotInputsForWorkspaceHeartbeat(readModels) {
|
|
3
|
-
const status = await readModels.loadStatus();
|
|
4
|
-
const mode = status.rhythm.mode === "unknown" ? "active" : status.rhythm.mode;
|
|
5
|
-
const quietEnabledBridge = status.quiet.mode === "quiet";
|
|
6
|
-
return {
|
|
7
|
-
mode,
|
|
8
|
-
currentWindowId: status.rhythm.windowId ?? "workspace-default",
|
|
9
|
-
pendingObligations: [],
|
|
10
|
-
recentOutreachHashes: [],
|
|
11
|
-
deniedIntents: [],
|
|
12
|
-
budgets: { socialUsed: 0, socialLimit: 5 },
|
|
13
|
-
awaitingUserInput: false,
|
|
14
|
-
quietEnabledBridge,
|
|
15
|
-
deliveryCapability: { target: "none" },
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
export function createWorkspaceHeartbeatRunner(readModels) {
|
|
19
|
-
return (signal) =>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
1
|
+
import { runHeartbeatCycle } from "../../core/second-nature/heartbeat/run-heartbeat-cycle.js";
|
|
2
|
+
export async function loadSnapshotInputsForWorkspaceHeartbeat(readModels) {
|
|
3
|
+
const status = await readModels.loadStatus();
|
|
4
|
+
const mode = status.rhythm.mode === "unknown" ? "active" : status.rhythm.mode;
|
|
5
|
+
const quietEnabledBridge = status.quiet.mode === "quiet";
|
|
6
|
+
return {
|
|
7
|
+
mode,
|
|
8
|
+
currentWindowId: status.rhythm.windowId ?? "workspace-default",
|
|
9
|
+
pendingObligations: [],
|
|
10
|
+
recentOutreachHashes: [],
|
|
11
|
+
deniedIntents: [],
|
|
12
|
+
budgets: { socialUsed: 0, socialLimit: 5 },
|
|
13
|
+
awaitingUserInput: false,
|
|
14
|
+
quietEnabledBridge,
|
|
15
|
+
deliveryCapability: { target: "none" },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export function createWorkspaceHeartbeatRunner(readModels, options = {}) {
|
|
19
|
+
return async (signal) => {
|
|
20
|
+
const cycle = await runHeartbeatCycle({
|
|
21
|
+
signal,
|
|
22
|
+
runtimeAvailable: true,
|
|
23
|
+
deps: {
|
|
24
|
+
loadSnapshotInputs: () => loadSnapshotInputsForWorkspaceHeartbeat(readModels),
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
if (options.runtimeRecorder) {
|
|
28
|
+
try {
|
|
29
|
+
await options.runtimeRecorder.recordHeartbeatCycle({ cycle, signal });
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
// T1.2.3: recorder must never break the heartbeat surface response.
|
|
33
|
+
// Failure here means status simply remains at its previous aggregate; the
|
|
34
|
+
// cycle outcome itself is still returned to the caller.
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return cycle;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import type { StateDatabase } from "../../storage/db/index.js";
|
|
2
|
-
import type { ObservabilityDatabase } from "../../observability/db/index.js";
|
|
3
|
-
import { AppendOnlyAuditStore } from "../../observability/audit/append-only-audit-store.js";
|
|
4
|
-
import type { StatusReadModel, DailyReportReadModel, QuietReadModel, SessionDetailReadModel, CredentialReadModel, ExplainReadModel, ExplainSubjectKind } from "./types.js";
|
|
5
|
-
export type { ExplainSubjectKind } from "./types.js";
|
|
6
|
-
import type { OperatorFallbackView } from "../../storage/fallback/operator-fallback-view.js";
|
|
7
|
-
export interface CliReadModels {
|
|
8
|
-
loadStatus(scope?: string): Promise<StatusReadModel>;
|
|
9
|
-
loadDailyReport(day: string): Promise<DailyReportReadModel>;
|
|
10
|
-
loadQuiet(scope?: string): Promise<QuietReadModel>;
|
|
11
|
-
loadSession(sessionId: string): Promise<SessionDetailReadModel>;
|
|
12
|
-
loadCredential(platformId: string): Promise<CredentialReadModel>;
|
|
13
|
-
explain(subject: ExplainSubject): Promise<ExplainReadModel>;
|
|
14
|
-
/** T1.2.2 — persisted operator fallback; view status is always not_sent. */
|
|
15
|
-
loadFallbackView(ref: string): Promise<OperatorFallbackView | null>;
|
|
16
|
-
}
|
|
17
|
-
/** T1.2.1 / T1.2.2 — operator-facing read surface (subset of full CLI read models). */
|
|
18
|
-
export type OpsReadModelPort = Pick<CliReadModels, "loadStatus" | "loadDailyReport" | "loadQuiet" | "loadSession" | "loadCredential" | "explain" | "loadFallbackView">;
|
|
19
|
-
export interface ExplainSubject {
|
|
20
|
-
kind: ExplainSubjectKind;
|
|
21
|
-
id: string;
|
|
22
|
-
}
|
|
23
|
-
export interface CliReadModelsDeps {
|
|
24
|
-
stateDb: StateDatabase;
|
|
25
|
-
observabilityDb: ObservabilityDatabase;
|
|
26
|
-
/** When set, explain can resolve delivery/fallback/report/source_ref and enrich decision subjects from lived-experience audit envelopes (T5.3.1 / T1.2.1). */
|
|
27
|
-
livedExperienceAuditStore?: AppendOnlyAuditStore;
|
|
28
|
-
}
|
|
29
|
-
export declare function createCliReadModels(deps: CliReadModelsDeps): CliReadModels;
|
|
1
|
+
import type { StateDatabase } from "../../storage/db/index.js";
|
|
2
|
+
import type { ObservabilityDatabase } from "../../observability/db/index.js";
|
|
3
|
+
import { AppendOnlyAuditStore } from "../../observability/audit/append-only-audit-store.js";
|
|
4
|
+
import type { StatusReadModel, DailyReportReadModel, QuietReadModel, SessionDetailReadModel, CredentialReadModel, ExplainReadModel, ExplainSubjectKind } from "./types.js";
|
|
5
|
+
export type { ExplainSubjectKind } from "./types.js";
|
|
6
|
+
import type { OperatorFallbackView } from "../../storage/fallback/operator-fallback-view.js";
|
|
7
|
+
export interface CliReadModels {
|
|
8
|
+
loadStatus(scope?: string): Promise<StatusReadModel>;
|
|
9
|
+
loadDailyReport(day: string): Promise<DailyReportReadModel>;
|
|
10
|
+
loadQuiet(scope?: string): Promise<QuietReadModel>;
|
|
11
|
+
loadSession(sessionId: string): Promise<SessionDetailReadModel>;
|
|
12
|
+
loadCredential(platformId: string): Promise<CredentialReadModel>;
|
|
13
|
+
explain(subject: ExplainSubject): Promise<ExplainReadModel>;
|
|
14
|
+
/** T1.2.2 — persisted operator fallback; view status is always not_sent. */
|
|
15
|
+
loadFallbackView(ref: string): Promise<OperatorFallbackView | null>;
|
|
16
|
+
}
|
|
17
|
+
/** T1.2.1 / T1.2.2 — operator-facing read surface (subset of full CLI read models). */
|
|
18
|
+
export type OpsReadModelPort = Pick<CliReadModels, "loadStatus" | "loadDailyReport" | "loadQuiet" | "loadSession" | "loadCredential" | "explain" | "loadFallbackView">;
|
|
19
|
+
export interface ExplainSubject {
|
|
20
|
+
kind: ExplainSubjectKind;
|
|
21
|
+
id: string;
|
|
22
|
+
}
|
|
23
|
+
export interface CliReadModelsDeps {
|
|
24
|
+
stateDb: StateDatabase;
|
|
25
|
+
observabilityDb: ObservabilityDatabase;
|
|
26
|
+
/** When set, explain can resolve delivery/fallback/report/source_ref and enrich decision subjects from lived-experience audit envelopes (T5.3.1 / T1.2.1). */
|
|
27
|
+
livedExperienceAuditStore?: AppendOnlyAuditStore;
|
|
28
|
+
}
|
|
29
|
+
export declare function createCliReadModels(deps: CliReadModelsDeps): CliReadModels;
|