@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,7 +1,7 @@
|
|
|
1
|
-
export { buildContinuitySnapshot, } from "./snapshot-builder.js";
|
|
2
|
-
export { ingestRhythmSignal, resolveAllowedIntentResult, buildSnapshotFromInputs, } from "./heartbeat-loop.js";
|
|
3
|
-
export { buildHeartbeatRuntimeSnapshot, buildLifeEvidenceSliceFromInputs, buildHardGuardDeps, resolveRhythmPolicyForHeartbeat, isLifeEvidenceSliceEmpty, } from "./runtime-snapshot.js";
|
|
4
|
-
export { buildPlannerRhythmWindow } from "../rhythm/planner-rhythm-window.js";
|
|
5
|
-
export { runHeartbeatCycle } from "./run-heartbeat-cycle.js";
|
|
6
|
-
export { routeScopedInput, } from "./scope-router.js";
|
|
7
|
-
export { requestGuidanceForIntent, dispatchAllowedEffect, executeHeartbeatCycle, } from "./heartbeat-executor.js";
|
|
1
|
+
export { buildContinuitySnapshot, } from "./snapshot-builder.js";
|
|
2
|
+
export { ingestRhythmSignal, resolveAllowedIntentResult, buildSnapshotFromInputs, } from "./heartbeat-loop.js";
|
|
3
|
+
export { buildHeartbeatRuntimeSnapshot, buildLifeEvidenceSliceFromInputs, buildHardGuardDeps, resolveRhythmPolicyForHeartbeat, isLifeEvidenceSliceEmpty, } from "./runtime-snapshot.js";
|
|
4
|
+
export { buildPlannerRhythmWindow } from "../rhythm/planner-rhythm-window.js";
|
|
5
|
+
export { runHeartbeatCycle } from "./run-heartbeat-cycle.js";
|
|
6
|
+
export { routeScopedInput, } from "./scope-router.js";
|
|
7
|
+
export { requestGuidanceForIntent, dispatchAllowedEffect, executeHeartbeatCycle, } from "./heartbeat-executor.js";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Control-plane heartbeat cycle entry (T2.1.1).
|
|
3
|
-
*
|
|
4
|
-
* Core logic: runtime availability gate → scope routing (user_task bypasses rhythm) →
|
|
5
|
-
* rhythm path delegates to ingestRhythmSignal. Mirrors L0 control-plane-system §4.3.
|
|
6
|
-
*
|
|
7
|
-
* Boundaries: does not claim lived-experience completion when runtime is unavailable;
|
|
8
|
-
* user_task / user_reply do not enter the rhythm candidate planner.
|
|
9
|
-
*/
|
|
10
|
-
import type { HeartbeatSignal, HeartbeatCycleResult } from "./signal.js";
|
|
11
|
-
import type { HeartbeatDeps } from "./heartbeat-loop.js";
|
|
12
|
-
export interface RunHeartbeatCycleInput {
|
|
13
|
-
signal: HeartbeatSignal;
|
|
14
|
-
/** When false, return runtime_carrier_only without loading snapshots (host-safe carrier). */
|
|
15
|
-
runtimeAvailable: boolean;
|
|
16
|
-
deps: HeartbeatDeps;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Single entry for one heartbeat turn: scope routing, runtime gate, then rhythm loop if applicable.
|
|
20
|
-
*/
|
|
21
|
-
export declare function runHeartbeatCycle(input: RunHeartbeatCycleInput): Promise<HeartbeatCycleResult>;
|
|
1
|
+
/**
|
|
2
|
+
* Control-plane heartbeat cycle entry (T2.1.1).
|
|
3
|
+
*
|
|
4
|
+
* Core logic: runtime availability gate → scope routing (user_task bypasses rhythm) →
|
|
5
|
+
* rhythm path delegates to ingestRhythmSignal. Mirrors L0 control-plane-system §4.3.
|
|
6
|
+
*
|
|
7
|
+
* Boundaries: does not claim lived-experience completion when runtime is unavailable;
|
|
8
|
+
* user_task / user_reply do not enter the rhythm candidate planner.
|
|
9
|
+
*/
|
|
10
|
+
import type { HeartbeatSignal, HeartbeatCycleResult } from "./signal.js";
|
|
11
|
+
import type { HeartbeatDeps } from "./heartbeat-loop.js";
|
|
12
|
+
export interface RunHeartbeatCycleInput {
|
|
13
|
+
signal: HeartbeatSignal;
|
|
14
|
+
/** When false, return runtime_carrier_only without loading snapshots (host-safe carrier). */
|
|
15
|
+
runtimeAvailable: boolean;
|
|
16
|
+
deps: HeartbeatDeps;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Single entry for one heartbeat turn: scope routing, runtime gate, then rhythm loop if applicable.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runHeartbeatCycle(input: RunHeartbeatCycleInput): Promise<HeartbeatCycleResult>;
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { ingestRhythmSignal } from "./heartbeat-loop.js";
|
|
2
|
-
import { routeScopedInput } from "./scope-router.js";
|
|
3
|
-
/**
|
|
4
|
-
* Single entry for one heartbeat turn: scope routing, runtime gate, then rhythm loop if applicable.
|
|
5
|
-
*/
|
|
6
|
-
export async function runHeartbeatCycle(input) {
|
|
7
|
-
const scoped = {
|
|
8
|
-
trigger: input.signal.trigger,
|
|
9
|
-
scopeHint: input.signal.scopeHint,
|
|
10
|
-
payload: input.signal.payload,
|
|
11
|
-
};
|
|
12
|
-
const route = routeScopedInput(scoped);
|
|
13
|
-
if (!input.runtimeAvailable) {
|
|
14
|
-
return {
|
|
15
|
-
scope: route.scope,
|
|
16
|
-
status: "runtime_carrier_only",
|
|
17
|
-
reasons: ["runtime_unavailable_no_lived_experience_loop"],
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
if (route.scope === "user_task") {
|
|
21
|
-
return {
|
|
22
|
-
scope: "user_task",
|
|
23
|
-
status: "heartbeat_ok",
|
|
24
|
-
reasons: ["rhythm_gate_bypass_user_task"],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (route.scope === "user_reply") {
|
|
28
|
-
return {
|
|
29
|
-
scope: "user_reply",
|
|
30
|
-
status: "heartbeat_ok",
|
|
31
|
-
reasons: ["user_reply_light_continuity_skeleton"],
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
return ingestRhythmSignal(input.signal, input.deps);
|
|
35
|
-
}
|
|
1
|
+
import { ingestRhythmSignal } from "./heartbeat-loop.js";
|
|
2
|
+
import { routeScopedInput } from "./scope-router.js";
|
|
3
|
+
/**
|
|
4
|
+
* Single entry for one heartbeat turn: scope routing, runtime gate, then rhythm loop if applicable.
|
|
5
|
+
*/
|
|
6
|
+
export async function runHeartbeatCycle(input) {
|
|
7
|
+
const scoped = {
|
|
8
|
+
trigger: input.signal.trigger,
|
|
9
|
+
scopeHint: input.signal.scopeHint,
|
|
10
|
+
payload: input.signal.payload,
|
|
11
|
+
};
|
|
12
|
+
const route = routeScopedInput(scoped);
|
|
13
|
+
if (!input.runtimeAvailable) {
|
|
14
|
+
return {
|
|
15
|
+
scope: route.scope,
|
|
16
|
+
status: "runtime_carrier_only",
|
|
17
|
+
reasons: ["runtime_unavailable_no_lived_experience_loop"],
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (route.scope === "user_task") {
|
|
21
|
+
return {
|
|
22
|
+
scope: "user_task",
|
|
23
|
+
status: "heartbeat_ok",
|
|
24
|
+
reasons: ["rhythm_gate_bypass_user_task"],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (route.scope === "user_reply") {
|
|
28
|
+
return {
|
|
29
|
+
scope: "user_reply",
|
|
30
|
+
status: "heartbeat_ok",
|
|
31
|
+
reasons: ["user_reply_light_continuity_skeleton"],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return ingestRhythmSignal(input.signal, input.deps);
|
|
35
|
+
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HeartbeatRuntimeSnapshot assembly for candidate planner + hard guards (T2.1.3, T2.2.1).
|
|
3
|
-
*/
|
|
4
|
-
import type { ContinuitySnapshot, ControlPlaneSourceRef } from "../types.js";
|
|
5
|
-
import type { RhythmPolicy } from "../rhythm/rhythm-policy.js";
|
|
6
|
-
import { type PlannerRhythmWindowSlice } from "../rhythm/planner-rhythm-window.js";
|
|
7
|
-
import type { SnapshotInputs } from "./snapshot-builder.js";
|
|
8
|
-
export interface PlannerLifeEvidenceSlice {
|
|
9
|
-
evidenceRefs: ControlPlaneSourceRef[];
|
|
10
|
-
platformEventCount: number;
|
|
11
|
-
workEventCount: number;
|
|
12
|
-
emptyReason?: "no_sources" | "state_unavailable" | "redacted_only";
|
|
13
|
-
}
|
|
14
|
-
export declare function isLifeEvidenceSliceEmpty(slice: PlannerLifeEvidenceSlice): boolean;
|
|
15
|
-
export interface HardGuardDeps {
|
|
16
|
-
hasDuplicateIntent: (idempotencyKey: string) => boolean;
|
|
17
|
-
isOutreachCooldownClear: (idempotencyKey: string) => boolean;
|
|
18
|
-
}
|
|
19
|
-
export interface HeartbeatRuntimeSnapshot {
|
|
20
|
-
continuity: ContinuitySnapshot;
|
|
21
|
-
lifeEvidence: PlannerLifeEvidenceSlice;
|
|
22
|
-
rhythmWindow: PlannerRhythmWindowSlice;
|
|
23
|
-
hardGuards: HardGuardDeps;
|
|
24
|
-
}
|
|
25
|
-
export declare function buildLifeEvidenceSliceFromInputs(inputs: SnapshotInputs): PlannerLifeEvidenceSlice;
|
|
26
|
-
export declare function buildHardGuardDeps(continuity: ContinuitySnapshot, inputs: SnapshotInputs): HardGuardDeps;
|
|
27
|
-
export declare function resolveRhythmPolicyForHeartbeat(inputs: SnapshotInputs): RhythmPolicy;
|
|
28
|
-
export declare function buildHeartbeatRuntimeSnapshot(timestamp: string, inputs: SnapshotInputs, continuity: ContinuitySnapshot): HeartbeatRuntimeSnapshot;
|
|
1
|
+
/**
|
|
2
|
+
* HeartbeatRuntimeSnapshot assembly for candidate planner + hard guards (T2.1.3, T2.2.1).
|
|
3
|
+
*/
|
|
4
|
+
import type { ContinuitySnapshot, ControlPlaneSourceRef } from "../types.js";
|
|
5
|
+
import type { RhythmPolicy } from "../rhythm/rhythm-policy.js";
|
|
6
|
+
import { type PlannerRhythmWindowSlice } from "../rhythm/planner-rhythm-window.js";
|
|
7
|
+
import type { SnapshotInputs } from "./snapshot-builder.js";
|
|
8
|
+
export interface PlannerLifeEvidenceSlice {
|
|
9
|
+
evidenceRefs: ControlPlaneSourceRef[];
|
|
10
|
+
platformEventCount: number;
|
|
11
|
+
workEventCount: number;
|
|
12
|
+
emptyReason?: "no_sources" | "state_unavailable" | "redacted_only";
|
|
13
|
+
}
|
|
14
|
+
export declare function isLifeEvidenceSliceEmpty(slice: PlannerLifeEvidenceSlice): boolean;
|
|
15
|
+
export interface HardGuardDeps {
|
|
16
|
+
hasDuplicateIntent: (idempotencyKey: string) => boolean;
|
|
17
|
+
isOutreachCooldownClear: (idempotencyKey: string) => boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface HeartbeatRuntimeSnapshot {
|
|
20
|
+
continuity: ContinuitySnapshot;
|
|
21
|
+
lifeEvidence: PlannerLifeEvidenceSlice;
|
|
22
|
+
rhythmWindow: PlannerRhythmWindowSlice;
|
|
23
|
+
hardGuards: HardGuardDeps;
|
|
24
|
+
}
|
|
25
|
+
export declare function buildLifeEvidenceSliceFromInputs(inputs: SnapshotInputs): PlannerLifeEvidenceSlice;
|
|
26
|
+
export declare function buildHardGuardDeps(continuity: ContinuitySnapshot, inputs: SnapshotInputs): HardGuardDeps;
|
|
27
|
+
export declare function resolveRhythmPolicyForHeartbeat(inputs: SnapshotInputs): RhythmPolicy;
|
|
28
|
+
export declare function buildHeartbeatRuntimeSnapshot(timestamp: string, inputs: SnapshotInputs, continuity: ContinuitySnapshot): HeartbeatRuntimeSnapshot;
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { rhythmPolicySnapshotToRhythmPolicy } from "../rhythm/policy-bridge.js";
|
|
2
|
-
import { buildPlannerRhythmWindow } from "../rhythm/planner-rhythm-window.js";
|
|
3
|
-
export function isLifeEvidenceSliceEmpty(slice) {
|
|
4
|
-
return slice.evidenceRefs.length === 0 && slice.platformEventCount === 0 && slice.workEventCount === 0;
|
|
5
|
-
}
|
|
6
|
-
export function buildLifeEvidenceSliceFromInputs(inputs) {
|
|
7
|
-
return {
|
|
8
|
-
evidenceRefs: inputs.lifeEvidenceRefs ?? [],
|
|
9
|
-
platformEventCount: inputs.platformEventCount ?? 0,
|
|
10
|
-
workEventCount: inputs.workEventCount ?? 0,
|
|
11
|
-
emptyReason: inputs.lifeEvidenceEmptyReason,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export function buildHardGuardDeps(continuity, inputs) {
|
|
15
|
-
return {
|
|
16
|
-
hasDuplicateIntent: (key) => (inputs.duplicateIntentKeys?.includes(key) ?? false) ||
|
|
17
|
-
continuity.deniedIntents.some((d) => d.reason === "duplicate_intent" && d.intentHash === key),
|
|
18
|
-
isOutreachCooldownClear: (key) => !(inputs.outreachCooldownKeys?.includes(key) ?? false),
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export function resolveRhythmPolicyForHeartbeat(inputs) {
|
|
22
|
-
if (inputs.rhythmPolicy) {
|
|
23
|
-
return inputs.rhythmPolicy;
|
|
24
|
-
}
|
|
25
|
-
return rhythmPolicySnapshotToRhythmPolicy({
|
|
26
|
-
quietEnabled: inputs.quietEnabledBridge ?? false,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
export function buildHeartbeatRuntimeSnapshot(timestamp, inputs, continuity) {
|
|
30
|
-
const policy = resolveRhythmPolicyForHeartbeat(inputs);
|
|
31
|
-
const rhythmWindow = buildPlannerRhythmWindow(timestamp, continuity, policy);
|
|
32
|
-
const lifeEvidence = buildLifeEvidenceSliceFromInputs(inputs);
|
|
33
|
-
const hardGuards = buildHardGuardDeps(continuity, inputs);
|
|
34
|
-
return { continuity, lifeEvidence, rhythmWindow, hardGuards };
|
|
35
|
-
}
|
|
1
|
+
import { rhythmPolicySnapshotToRhythmPolicy } from "../rhythm/policy-bridge.js";
|
|
2
|
+
import { buildPlannerRhythmWindow } from "../rhythm/planner-rhythm-window.js";
|
|
3
|
+
export function isLifeEvidenceSliceEmpty(slice) {
|
|
4
|
+
return slice.evidenceRefs.length === 0 && slice.platformEventCount === 0 && slice.workEventCount === 0;
|
|
5
|
+
}
|
|
6
|
+
export function buildLifeEvidenceSliceFromInputs(inputs) {
|
|
7
|
+
return {
|
|
8
|
+
evidenceRefs: inputs.lifeEvidenceRefs ?? [],
|
|
9
|
+
platformEventCount: inputs.platformEventCount ?? 0,
|
|
10
|
+
workEventCount: inputs.workEventCount ?? 0,
|
|
11
|
+
emptyReason: inputs.lifeEvidenceEmptyReason,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function buildHardGuardDeps(continuity, inputs) {
|
|
15
|
+
return {
|
|
16
|
+
hasDuplicateIntent: (key) => (inputs.duplicateIntentKeys?.includes(key) ?? false) ||
|
|
17
|
+
continuity.deniedIntents.some((d) => d.reason === "duplicate_intent" && d.intentHash === key),
|
|
18
|
+
isOutreachCooldownClear: (key) => !(inputs.outreachCooldownKeys?.includes(key) ?? false),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function resolveRhythmPolicyForHeartbeat(inputs) {
|
|
22
|
+
if (inputs.rhythmPolicy) {
|
|
23
|
+
return inputs.rhythmPolicy;
|
|
24
|
+
}
|
|
25
|
+
return rhythmPolicySnapshotToRhythmPolicy({
|
|
26
|
+
quietEnabled: inputs.quietEnabledBridge ?? false,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export function buildHeartbeatRuntimeSnapshot(timestamp, inputs, continuity) {
|
|
30
|
+
const policy = resolveRhythmPolicyForHeartbeat(inputs);
|
|
31
|
+
const rhythmWindow = buildPlannerRhythmWindow(timestamp, continuity, policy);
|
|
32
|
+
const lifeEvidence = buildLifeEvidenceSliceFromInputs(inputs);
|
|
33
|
+
const hardGuards = buildHardGuardDeps(continuity, inputs);
|
|
34
|
+
return { continuity, lifeEvidence, rhythmWindow, hardGuards };
|
|
35
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Heartbeat Signal Contract
|
|
3
|
-
*
|
|
4
|
-
* Defines the signal types that enter the control-plane from various sources.
|
|
5
|
-
* Per ADR-005: runtime scope classification depends on bridge protocol,
|
|
6
|
-
* entry type, or explicit signal metadata, NOT on host natural classification.
|
|
7
|
-
*/
|
|
8
|
-
export type RuntimeScope = "rhythm" | "user_task" | "user_reply";
|
|
9
|
-
export type RuntimeTrigger = "heartbeat_bridge" | "user_task" | "user_reply" | "interrupt" | "resume";
|
|
10
|
-
export type HeartbeatCycleStatus = "heartbeat_ok" | "intent_selected" | "deferred" | "denied"
|
|
11
|
-
/** Delivery port returned failed / host dropped; operator fallback written (T2.3.2 / ADR-007). */
|
|
12
|
-
| "delivery_unavailable"
|
|
13
|
-
/** Host-safe packaged carrier: no lived-experience loop (ADR-005 / control-plane L0). */
|
|
14
|
-
| "runtime_carrier_only";
|
|
15
|
-
export interface HeartbeatSignal {
|
|
16
|
-
trigger: RuntimeTrigger;
|
|
17
|
-
scopeHint?: RuntimeScope;
|
|
18
|
-
payload: {
|
|
19
|
-
timestamp: string;
|
|
20
|
-
sessionContext?: string;
|
|
21
|
-
heartbeatChecklist?: string;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export interface ScopedRuntimeInput {
|
|
25
|
-
trigger: RuntimeTrigger;
|
|
26
|
-
scopeHint?: RuntimeScope;
|
|
27
|
-
payload: Record<string, unknown>;
|
|
28
|
-
}
|
|
29
|
-
export interface HeartbeatCycleResult {
|
|
30
|
-
scope: RuntimeScope;
|
|
31
|
-
status: HeartbeatCycleStatus;
|
|
32
|
-
selectedIntentId?: string;
|
|
33
|
-
reasons: string[];
|
|
34
|
-
decisionId?: string;
|
|
35
|
-
deliveryAttemptId?: string;
|
|
36
|
-
fallbackRef?: string;
|
|
37
|
-
}
|
|
38
|
-
export interface ScopeRouteResult {
|
|
39
|
-
scope: RuntimeScope;
|
|
40
|
-
trigger: RuntimeTrigger;
|
|
41
|
-
handled: boolean;
|
|
42
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Heartbeat Signal Contract
|
|
3
|
+
*
|
|
4
|
+
* Defines the signal types that enter the control-plane from various sources.
|
|
5
|
+
* Per ADR-005: runtime scope classification depends on bridge protocol,
|
|
6
|
+
* entry type, or explicit signal metadata, NOT on host natural classification.
|
|
7
|
+
*/
|
|
8
|
+
export type RuntimeScope = "rhythm" | "user_task" | "user_reply";
|
|
9
|
+
export type RuntimeTrigger = "heartbeat_bridge" | "user_task" | "user_reply" | "interrupt" | "resume";
|
|
10
|
+
export type HeartbeatCycleStatus = "heartbeat_ok" | "intent_selected" | "deferred" | "denied"
|
|
11
|
+
/** Delivery port returned failed / host dropped; operator fallback written (T2.3.2 / ADR-007). */
|
|
12
|
+
| "delivery_unavailable"
|
|
13
|
+
/** Host-safe packaged carrier: no lived-experience loop (ADR-005 / control-plane L0). */
|
|
14
|
+
| "runtime_carrier_only";
|
|
15
|
+
export interface HeartbeatSignal {
|
|
16
|
+
trigger: RuntimeTrigger;
|
|
17
|
+
scopeHint?: RuntimeScope;
|
|
18
|
+
payload: {
|
|
19
|
+
timestamp: string;
|
|
20
|
+
sessionContext?: string;
|
|
21
|
+
heartbeatChecklist?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface ScopedRuntimeInput {
|
|
25
|
+
trigger: RuntimeTrigger;
|
|
26
|
+
scopeHint?: RuntimeScope;
|
|
27
|
+
payload: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface HeartbeatCycleResult {
|
|
30
|
+
scope: RuntimeScope;
|
|
31
|
+
status: HeartbeatCycleStatus;
|
|
32
|
+
selectedIntentId?: string;
|
|
33
|
+
reasons: string[];
|
|
34
|
+
decisionId?: string;
|
|
35
|
+
deliveryAttemptId?: string;
|
|
36
|
+
fallbackRef?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ScopeRouteResult {
|
|
39
|
+
scope: RuntimeScope;
|
|
40
|
+
trigger: RuntimeTrigger;
|
|
41
|
+
handled: boolean;
|
|
42
|
+
}
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Snapshot Builder
|
|
3
|
-
*
|
|
4
|
-
* Builds a ContinuitySnapshot from state-system, workspace, and runtime context.
|
|
5
|
-
* This is the input preparation step for each heartbeat round.
|
|
6
|
-
*
|
|
7
|
-
* Per design doc §4.2: SnapshotBuilder prepares inputs for the Rhythm Engine.
|
|
8
|
-
*/
|
|
9
|
-
import type { ContinuitySnapshot, ControlPlaneSourceRef, TopLevelMode } from "../types.js";
|
|
10
|
-
import type { RhythmPolicy } from "../rhythm/rhythm-policy.js";
|
|
11
|
-
import type { DeliveryCapabilitySnapshot } from "../outreach/delivery-target.js";
|
|
12
|
-
import type { UserInterestSnapshot } from "../../../storage/user-interest/types.js";
|
|
13
|
-
export interface SnapshotInputs {
|
|
14
|
-
mode: TopLevelMode;
|
|
15
|
-
currentWindowId: string;
|
|
16
|
-
pendingObligations: string[];
|
|
17
|
-
recentOutreachHashes: string[];
|
|
18
|
-
deniedIntents: Array<{
|
|
19
|
-
intentHash: string;
|
|
20
|
-
reason: string;
|
|
21
|
-
at: string;
|
|
22
|
-
}>;
|
|
23
|
-
budgets?: {
|
|
24
|
-
socialUsed: number;
|
|
25
|
-
socialLimit: number;
|
|
26
|
-
};
|
|
27
|
-
awaitingUserInput?: boolean;
|
|
28
|
-
riskSuppressed?: boolean;
|
|
29
|
-
/** Evidence refs for source-backed planner/guards (T2.1.3 / T2.2.1). */
|
|
30
|
-
lifeEvidenceRefs?: ControlPlaneSourceRef[];
|
|
31
|
-
platformEventCount?: number;
|
|
32
|
-
workEventCount?: number;
|
|
33
|
-
lifeEvidenceEmptyReason?: "no_sources" | "state_unavailable" | "redacted_only";
|
|
34
|
-
/** Optional explicit rhythm geometry; otherwise `quietEnabledBridge` drives policy-bridge default. */
|
|
35
|
-
rhythmPolicy?: RhythmPolicy;
|
|
36
|
-
/** Passed to `rhythmPolicySnapshotToRhythmPolicy` when `rhythmPolicy` is absent. */
|
|
37
|
-
quietEnabledBridge?: boolean;
|
|
38
|
-
duplicateIntentKeys?: string[];
|
|
39
|
-
outreachCooldownKeys?: string[];
|
|
40
|
-
/** When present, outreach judgment uses this delivery snapshot (ADR-007). */
|
|
41
|
-
deliveryCapability?: DeliveryCapabilitySnapshot;
|
|
42
|
-
/** When present, outreach judgment uses this user-interest read model (T4.2.2). */
|
|
43
|
-
userInterestSnapshot?: UserInterestSnapshot;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Build a ContinuitySnapshot from loaded inputs.
|
|
47
|
-
*
|
|
48
|
-
* In production, inputs come from state-system (mode, budgets, obligations),
|
|
49
|
-
* workspace (outreach hashes, denied intents), and runtime context (window ID).
|
|
50
|
-
*/
|
|
51
|
-
export declare function buildContinuitySnapshot(inputs: SnapshotInputs): ContinuitySnapshot;
|
|
1
|
+
/**
|
|
2
|
+
* Snapshot Builder
|
|
3
|
+
*
|
|
4
|
+
* Builds a ContinuitySnapshot from state-system, workspace, and runtime context.
|
|
5
|
+
* This is the input preparation step for each heartbeat round.
|
|
6
|
+
*
|
|
7
|
+
* Per design doc §4.2: SnapshotBuilder prepares inputs for the Rhythm Engine.
|
|
8
|
+
*/
|
|
9
|
+
import type { ContinuitySnapshot, ControlPlaneSourceRef, TopLevelMode } from "../types.js";
|
|
10
|
+
import type { RhythmPolicy } from "../rhythm/rhythm-policy.js";
|
|
11
|
+
import type { DeliveryCapabilitySnapshot } from "../outreach/delivery-target.js";
|
|
12
|
+
import type { UserInterestSnapshot } from "../../../storage/user-interest/types.js";
|
|
13
|
+
export interface SnapshotInputs {
|
|
14
|
+
mode: TopLevelMode;
|
|
15
|
+
currentWindowId: string;
|
|
16
|
+
pendingObligations: string[];
|
|
17
|
+
recentOutreachHashes: string[];
|
|
18
|
+
deniedIntents: Array<{
|
|
19
|
+
intentHash: string;
|
|
20
|
+
reason: string;
|
|
21
|
+
at: string;
|
|
22
|
+
}>;
|
|
23
|
+
budgets?: {
|
|
24
|
+
socialUsed: number;
|
|
25
|
+
socialLimit: number;
|
|
26
|
+
};
|
|
27
|
+
awaitingUserInput?: boolean;
|
|
28
|
+
riskSuppressed?: boolean;
|
|
29
|
+
/** Evidence refs for source-backed planner/guards (T2.1.3 / T2.2.1). */
|
|
30
|
+
lifeEvidenceRefs?: ControlPlaneSourceRef[];
|
|
31
|
+
platformEventCount?: number;
|
|
32
|
+
workEventCount?: number;
|
|
33
|
+
lifeEvidenceEmptyReason?: "no_sources" | "state_unavailable" | "redacted_only";
|
|
34
|
+
/** Optional explicit rhythm geometry; otherwise `quietEnabledBridge` drives policy-bridge default. */
|
|
35
|
+
rhythmPolicy?: RhythmPolicy;
|
|
36
|
+
/** Passed to `rhythmPolicySnapshotToRhythmPolicy` when `rhythmPolicy` is absent. */
|
|
37
|
+
quietEnabledBridge?: boolean;
|
|
38
|
+
duplicateIntentKeys?: string[];
|
|
39
|
+
outreachCooldownKeys?: string[];
|
|
40
|
+
/** When present, outreach judgment uses this delivery snapshot (ADR-007). */
|
|
41
|
+
deliveryCapability?: DeliveryCapabilitySnapshot;
|
|
42
|
+
/** When present, outreach judgment uses this user-interest read model (T4.2.2). */
|
|
43
|
+
userInterestSnapshot?: UserInterestSnapshot;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Build a ContinuitySnapshot from loaded inputs.
|
|
47
|
+
*
|
|
48
|
+
* In production, inputs come from state-system (mode, budgets, obligations),
|
|
49
|
+
* workspace (outreach hashes, denied intents), and runtime context (window ID).
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildContinuitySnapshot(inputs: SnapshotInputs): ContinuitySnapshot;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export * from "./types.js";
|
|
2
|
-
export * from "./rhythm/rhythm-policy.js";
|
|
3
|
-
export * from "./rhythm/select-window.js";
|
|
4
|
-
export * from "./rhythm/policy-bridge.js";
|
|
5
|
-
export * from "./orchestrator/intent-planner.js";
|
|
6
|
-
export * from "./orchestrator/guard-layer.js";
|
|
7
|
-
export * from "./heartbeat/runtime-snapshot.js";
|
|
8
|
-
export * from "./orchestrator/lease-manager.js";
|
|
9
|
-
export * from "./orchestrator/effect-dispatcher.js";
|
|
10
|
-
export * from "./orchestrator/resume-from-checkpoint.js";
|
|
11
|
-
export * from "./quiet/quiet-pipeline.js";
|
|
12
|
-
export * from "./reflection/run-narrative-reflection.js";
|
|
13
|
-
export * from "./outreach/evaluate-outreach.js";
|
|
14
|
-
export * from "./outreach/build-message.js";
|
|
15
|
-
export * from "./outreach/delivery-target.js";
|
|
16
|
-
export * from "./outreach/judge-outreach.js";
|
|
17
|
-
export * from "./outreach/build-outreach-draft-request.js";
|
|
18
|
-
export * from "./outreach/dispatch-user-outreach.js";
|
|
19
|
-
export * from "./outreach/judge-input-from-snapshot.js";
|
|
20
|
-
export * from "./quiet/run-source-backed-quiet.js";
|
|
21
|
-
export * from "./guidance/request-guidance.js";
|
|
22
|
-
export * from "./guidance/apply-guidance.js";
|
|
1
|
+
export * from "./types.js";
|
|
2
|
+
export * from "./rhythm/rhythm-policy.js";
|
|
3
|
+
export * from "./rhythm/select-window.js";
|
|
4
|
+
export * from "./rhythm/policy-bridge.js";
|
|
5
|
+
export * from "./orchestrator/intent-planner.js";
|
|
6
|
+
export * from "./orchestrator/guard-layer.js";
|
|
7
|
+
export * from "./heartbeat/runtime-snapshot.js";
|
|
8
|
+
export * from "./orchestrator/lease-manager.js";
|
|
9
|
+
export * from "./orchestrator/effect-dispatcher.js";
|
|
10
|
+
export * from "./orchestrator/resume-from-checkpoint.js";
|
|
11
|
+
export * from "./quiet/quiet-pipeline.js";
|
|
12
|
+
export * from "./reflection/run-narrative-reflection.js";
|
|
13
|
+
export * from "./outreach/evaluate-outreach.js";
|
|
14
|
+
export * from "./outreach/build-message.js";
|
|
15
|
+
export * from "./outreach/delivery-target.js";
|
|
16
|
+
export * from "./outreach/judge-outreach.js";
|
|
17
|
+
export * from "./outreach/build-outreach-draft-request.js";
|
|
18
|
+
export * from "./outreach/dispatch-user-outreach.js";
|
|
19
|
+
export * from "./outreach/judge-input-from-snapshot.js";
|
|
20
|
+
export * from "./quiet/run-source-backed-quiet.js";
|
|
21
|
+
export * from "./guidance/request-guidance.js";
|
|
22
|
+
export * from "./guidance/apply-guidance.js";
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export * from "./types.js";
|
|
2
|
-
export * from "./rhythm/rhythm-policy.js";
|
|
3
|
-
export * from "./rhythm/select-window.js";
|
|
4
|
-
export * from "./rhythm/policy-bridge.js";
|
|
5
|
-
export * from "./orchestrator/intent-planner.js";
|
|
6
|
-
export * from "./orchestrator/guard-layer.js";
|
|
7
|
-
export * from "./heartbeat/runtime-snapshot.js";
|
|
8
|
-
export * from "./orchestrator/lease-manager.js";
|
|
9
|
-
export * from "./orchestrator/effect-dispatcher.js";
|
|
10
|
-
export * from "./orchestrator/resume-from-checkpoint.js";
|
|
11
|
-
export * from "./quiet/quiet-pipeline.js";
|
|
12
|
-
export * from "./reflection/run-narrative-reflection.js";
|
|
13
|
-
export * from "./outreach/evaluate-outreach.js";
|
|
14
|
-
export * from "./outreach/build-message.js";
|
|
15
|
-
export * from "./outreach/delivery-target.js";
|
|
16
|
-
export * from "./outreach/judge-outreach.js";
|
|
17
|
-
export * from "./outreach/build-outreach-draft-request.js";
|
|
18
|
-
export * from "./outreach/dispatch-user-outreach.js";
|
|
19
|
-
export * from "./outreach/judge-input-from-snapshot.js";
|
|
20
|
-
export * from "./quiet/run-source-backed-quiet.js";
|
|
21
|
-
export * from "./guidance/request-guidance.js";
|
|
22
|
-
export * from "./guidance/apply-guidance.js";
|
|
1
|
+
export * from "./types.js";
|
|
2
|
+
export * from "./rhythm/rhythm-policy.js";
|
|
3
|
+
export * from "./rhythm/select-window.js";
|
|
4
|
+
export * from "./rhythm/policy-bridge.js";
|
|
5
|
+
export * from "./orchestrator/intent-planner.js";
|
|
6
|
+
export * from "./orchestrator/guard-layer.js";
|
|
7
|
+
export * from "./heartbeat/runtime-snapshot.js";
|
|
8
|
+
export * from "./orchestrator/lease-manager.js";
|
|
9
|
+
export * from "./orchestrator/effect-dispatcher.js";
|
|
10
|
+
export * from "./orchestrator/resume-from-checkpoint.js";
|
|
11
|
+
export * from "./quiet/quiet-pipeline.js";
|
|
12
|
+
export * from "./reflection/run-narrative-reflection.js";
|
|
13
|
+
export * from "./outreach/evaluate-outreach.js";
|
|
14
|
+
export * from "./outreach/build-message.js";
|
|
15
|
+
export * from "./outreach/delivery-target.js";
|
|
16
|
+
export * from "./outreach/judge-outreach.js";
|
|
17
|
+
export * from "./outreach/build-outreach-draft-request.js";
|
|
18
|
+
export * from "./outreach/dispatch-user-outreach.js";
|
|
19
|
+
export * from "./outreach/judge-input-from-snapshot.js";
|
|
20
|
+
export * from "./quiet/run-source-backed-quiet.js";
|
|
21
|
+
export * from "./guidance/request-guidance.js";
|
|
22
|
+
export * from "./guidance/apply-guidance.js";
|