@remnic/core 1.1.8 → 1.1.10
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/dist/access-cli.js +44 -41
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +8 -7
- package/dist/access-http.js +20 -17
- package/dist/access-mcp.d.ts +8 -7
- package/dist/access-mcp.js +19 -16
- package/dist/{access-service-C0Rkioec.d.ts → access-service-BTTNyo1i.d.ts} +11 -9
- package/dist/access-service.d.ts +8 -7
- package/dist/access-service.js +18 -15
- package/dist/active-memory-bridge.d.ts +2 -1
- package/dist/active-recall.d.ts +3 -2
- package/dist/active-recall.js +2 -2
- package/dist/active-recall.js.map +1 -1
- package/dist/behavior-learner.d.ts +2 -1
- package/dist/behavior-signals.d.ts +2 -1
- package/dist/bootstrap.d.ts +7 -6
- package/dist/briefing.d.ts +3 -2
- package/dist/briefing.js +6 -6
- package/dist/buffer-surprise-report.d.ts +2 -1
- package/dist/buffer.d.ts +3 -2
- package/dist/calibration.d.ts +4 -1
- package/dist/calibration.js +10 -5
- package/dist/calibration.js.map +1 -1
- package/dist/causal-behavior.d.ts +2 -1
- package/dist/causal-consolidation.d.ts +5 -2
- package/dist/causal-consolidation.js +17 -11
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/{chunk-AV2WSYZY.js → chunk-2YMTO4ZJ.js} +2 -2
- package/dist/{chunk-SYWJJTNL.js → chunk-363MWCD3.js} +42 -42
- package/dist/{chunk-65ZPH7QA.js → chunk-36CTNQY7.js} +7 -7
- package/dist/{chunk-GZCUW5IC.js → chunk-3IQ2TR4N.js} +5 -5
- package/dist/chunk-3IQ2TR4N.js.map +1 -0
- package/dist/{chunk-TUFG6VXY.js → chunk-4DWOBS2A.js} +2 -2
- package/dist/chunk-4DWOBS2A.js.map +1 -0
- package/dist/{chunk-SRIDOT64.js → chunk-4DXC6HQQ.js} +6 -4
- package/dist/chunk-4DXC6HQQ.js.map +1 -0
- package/dist/{chunk-L2IO2QPY.js → chunk-4IS4SXIQ.js} +17 -13
- package/dist/chunk-4IS4SXIQ.js.map +1 -0
- package/dist/{chunk-RJSVRPNU.js → chunk-57QNCUEZ.js} +19 -12
- package/dist/chunk-57QNCUEZ.js.map +1 -0
- package/dist/{chunk-GRDDGNYQ.js → chunk-5GCNE7CN.js} +105 -499
- package/dist/chunk-5GCNE7CN.js.map +1 -0
- package/dist/{chunk-LOBRX7VD.js → chunk-5UM2VJ6D.js} +12 -1
- package/dist/chunk-5UM2VJ6D.js.map +1 -0
- package/dist/{chunk-XVOIMCVW.js → chunk-6XA7UN4Z.js} +2 -2
- package/dist/{chunk-QJZ77K7F.js → chunk-6Z6UH6TK.js} +26 -12
- package/dist/chunk-6Z6UH6TK.js.map +1 -0
- package/dist/{chunk-ODWDQNRE.js → chunk-7SI52C65.js} +7 -3
- package/dist/chunk-7SI52C65.js.map +1 -0
- package/dist/{chunk-FIXIX6DE.js → chunk-C5HUWVH2.js} +33 -43
- package/dist/chunk-C5HUWVH2.js.map +1 -0
- package/dist/{chunk-NN3TS5BM.js → chunk-D54LZC5L.js} +4 -4
- package/dist/{chunk-KNQ5YJTO.js → chunk-ERUDW6DU.js} +209 -1
- package/dist/chunk-ERUDW6DU.js.map +1 -0
- package/dist/{chunk-E27HOXMX.js → chunk-EYNQTST2.js} +2 -2
- package/dist/chunk-FVQJYWH7.js +52 -0
- package/dist/chunk-FVQJYWH7.js.map +1 -0
- package/dist/{chunk-3FPTCC3Z.js → chunk-GVPWB7EY.js} +2 -2
- package/dist/chunk-HJYHRE4S.js +647 -0
- package/dist/chunk-HJYHRE4S.js.map +1 -0
- package/dist/{chunk-SWRJFKYW.js → chunk-I6BQZSML.js} +5 -5
- package/dist/chunk-IBX3VFOM.js +446 -0
- package/dist/chunk-IBX3VFOM.js.map +1 -0
- package/dist/{chunk-STB3GUYU.js → chunk-KBYWQWSB.js} +8 -8
- package/dist/chunk-KWBPHZUU.js +83 -0
- package/dist/chunk-KWBPHZUU.js.map +1 -0
- package/dist/{chunk-MYH2IBSP.js → chunk-LIO5X3CM.js} +3 -3
- package/dist/{chunk-XGX4TUF6.js → chunk-MCC6KDQF.js} +5 -5
- package/dist/{chunk-4KAN3GZ3.js → chunk-NN2DKE4T.js} +1 -1
- package/dist/chunk-NN2DKE4T.js.map +1 -0
- package/dist/{chunk-R2XRID2N.js → chunk-NN3LPQ5D.js} +5 -5
- package/dist/chunk-NN3LPQ5D.js.map +1 -0
- package/dist/{chunk-WXPPM426.js → chunk-O4XJUPSF.js} +2 -2
- package/dist/{chunk-WSZIHQBK.js → chunk-P77UEOU2.js} +4 -1
- package/dist/{chunk-WSZIHQBK.js.map → chunk-P77UEOU2.js.map} +1 -1
- package/dist/{chunk-RLV2F337.js → chunk-PB5KW5PL.js} +2 -2
- package/dist/{chunk-S5SQDIF5.js → chunk-PHNGXFQ6.js} +7 -5
- package/dist/chunk-PHNGXFQ6.js.map +1 -0
- package/dist/{chunk-FEMOX5AD.js → chunk-QR3C7BKQ.js} +7 -7
- package/dist/chunk-QR3C7BKQ.js.map +1 -0
- package/dist/{chunk-ETA2JXP5.js → chunk-RXTFCYQF.js} +2 -2
- package/dist/{chunk-Q7FJ5ZHM.js → chunk-S3IP6R6K.js} +8 -2
- package/dist/{chunk-Q7FJ5ZHM.js.map → chunk-S3IP6R6K.js.map} +1 -1
- package/dist/{chunk-3LCWFNVS.js → chunk-SKE7JYKA.js} +2 -2
- package/dist/{chunk-T65SHTJP.js → chunk-VQXK37XA.js} +1 -1
- package/dist/chunk-VQXK37XA.js.map +1 -0
- package/dist/{chunk-DWMXVUGO.js → chunk-VX2IUQFE.js} +98 -10
- package/dist/chunk-VX2IUQFE.js.map +1 -0
- package/dist/{chunk-KHJRMWO4.js → chunk-WGK4VHGP.js} +84 -22
- package/dist/chunk-WGK4VHGP.js.map +1 -0
- package/dist/{chunk-4IT6WL23.js → chunk-WTFWLUSX.js} +2 -2
- package/dist/{chunk-67YLUWLG.js → chunk-XJKFSSDW.js} +3 -3
- package/dist/chunk-XJKFSSDW.js.map +1 -0
- package/dist/{chunk-ASIQZXYO.js → chunk-XMVFHBHT.js} +2 -2
- package/dist/{chunk-Q5TJRAGE.js → chunk-Y5KDIOKF.js} +3 -3
- package/dist/{chunk-FCGWNWG4.js → chunk-Z5S5HNGY.js} +31 -29
- package/dist/chunk-Z5S5HNGY.js.map +1 -0
- package/dist/{chunk-OJMD2LIW.js → chunk-ZL4S7ARC.js} +3 -3
- package/dist/{cli-CIATRu8o.d.ts → cli-BrEwQTnW.d.ts} +4 -4
- package/dist/cli.d.ts +9 -8
- package/dist/cli.js +33 -31
- package/dist/codex-cli-fallback.d.ts +44 -0
- package/dist/codex-cli-fallback.js +12 -0
- package/dist/{codex-materialize-xVqbEmcm.d.ts → codex-materialize-CQlLTzke.d.ts} +1 -1
- package/dist/compression-optimizer.d.ts +2 -1
- package/dist/config.d.ts +2 -1
- package/dist/config.js +1 -1
- package/dist/consolidation-provenance-check.d.ts +3 -2
- package/dist/consolidation-undo.d.ts +3 -2
- package/dist/day-summary.d.ts +2 -1
- package/dist/day-summary.js +1 -1
- package/dist/delinearize.d.ts +2 -1
- package/dist/direct-answer-wiring.d.ts +2 -1
- package/dist/direct-answer.d.ts +2 -1
- package/dist/embedding-fallback.d.ts +2 -1
- package/dist/{engine-MEAYUA7A.js → engine-FOC3IJLA.js} +7 -7
- package/dist/entity-retrieval.d.ts +3 -2
- package/dist/entity-retrieval.js +6 -6
- package/dist/entity-schema.d.ts +2 -1
- package/dist/explicit-capture.d.ts +7 -6
- package/dist/explicit-capture.js +2 -2
- package/dist/explicit-cue-recall.js +1 -1
- package/dist/extraction-judge-telemetry.d.ts +2 -1
- package/dist/extraction-judge-training.d.ts +2 -1
- package/dist/extraction-judge.d.ts +2 -1
- package/dist/extraction.d.ts +2 -1
- package/dist/extraction.js +10 -8
- package/dist/fallback-llm.d.ts +8 -1
- package/dist/fallback-llm.js +5 -3
- package/dist/identity-continuity.d.ts +2 -1
- package/dist/importance.d.ts +2 -1
- package/dist/index-1qIcnbG1.d.ts +34 -0
- package/dist/index.d.ts +15 -13
- package/dist/index.js +175 -168
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +2 -1
- package/dist/lifecycle.d.ts +2 -1
- package/dist/live-connectors-runner.d.ts +2 -1
- package/dist/live-connectors-runner.js +2 -2
- package/dist/local-llm.d.ts +2 -1
- package/dist/local-llm.js +1 -1
- package/dist/memory-action-policy.d.ts +2 -1
- package/dist/memory-cache.d.ts +2 -1
- package/dist/{memory-governance-G3XODEXW.js → memory-governance-F3QOJGEY.js} +7 -7
- package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
- package/dist/{memory-projection-store-lCzmu4JX.d.ts → memory-projection-store-CY8TU40w.d.ts} +1 -1
- package/dist/memory-projection-store.d.ts +3 -2
- package/dist/memory-projection-store.js +1 -1
- package/dist/memory-worth-outcomes.d.ts +3 -2
- package/dist/{migrate-from-identity-anchor-TTEDEJGX.js → migrate-from-identity-anchor-G27MCD6A.js} +2 -2
- package/dist/model-registry.js +1 -1
- package/dist/models-json.d.ts +2 -1
- package/dist/models-json.js +1 -1
- package/dist/native-knowledge.d.ts +2 -1
- package/dist/objective-state-writers.d.ts +23 -1
- package/dist/objective-state-writers.js +10 -306
- package/dist/objective-state-writers.js.map +1 -1
- package/dist/objective-state.d.ts +7 -1
- package/dist/objective-state.js +3 -1
- package/dist/operator-toolkit.d.ts +3 -2
- package/dist/operator-toolkit.js +11 -11
- package/dist/opik-exporter.js +2 -2
- package/dist/opik-exporter.js.map +1 -1
- package/dist/{orchestrator-CvUYwuaL.d.ts → orchestrator-6IvQ-Phj.d.ts} +6 -5
- package/dist/orchestrator.d.ts +7 -6
- package/dist/orchestrator.js +37 -35
- package/dist/patterns-cli.d.ts +2 -1
- package/dist/{peers-6OSQ3NK6.js → peers-HCVGHMAE.js} +3 -3
- package/dist/peers-HCVGHMAE.js.map +1 -0
- package/dist/policy-runtime.d.ts +2 -1
- package/dist/{port-BkWL7hqo.d.ts → port-B6VEDIkC.d.ts} +7 -1
- package/dist/qmd-recall-cache.d.ts +3 -2
- package/dist/qmd.d.ts +4 -2
- package/dist/qmd.js +1 -1
- package/dist/recall-disclosure-escalation.d.ts +2 -1
- package/dist/recall-explain-renderer.d.ts +2 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-state.d.ts +2 -1
- package/dist/recall-tag-filter.d.ts +2 -1
- package/dist/recall-xray-cli.d.ts +2 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +2 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +2 -1
- package/dist/recall-xray.js +2 -2
- package/dist/resolve-auth-token.d.ts +2 -1
- package/dist/resolve-provider-secret.d.ts +2 -1
- package/dist/resolve-provider-secret.js +3 -1
- package/dist/resume-bundles.js +4 -4
- package/dist/retrieval-agents.d.ts +3 -2
- package/dist/retrieval-tiers.d.ts +2 -1
- package/dist/sanitize.js +1 -1
- package/dist/schemas.d.ts +22 -22
- package/dist/{semantic-consolidation-CGiH52qa.d.ts → semantic-consolidation-ByBXb-sf.d.ts} +2 -2
- package/dist/semantic-consolidation.d.ts +4 -3
- package/dist/semantic-consolidation.js +6 -6
- package/dist/semantic-rule-promotion.js +6 -6
- package/dist/semantic-rule-verifier.d.ts +2 -1
- package/dist/semantic-rule-verifier.js +6 -6
- package/dist/session-observer-bands.d.ts +2 -1
- package/dist/session-observer-state.d.ts +2 -1
- package/dist/signal.d.ts +2 -1
- package/dist/source-attribution.d.ts +1 -1
- package/dist/source-attribution.js +1 -1
- package/dist/storage.d.ts +3 -2
- package/dist/storage.js +5 -5
- package/dist/summarizer.d.ts +2 -1
- package/dist/summarizer.js +8 -6
- package/dist/summary-snapshot.d.ts +2 -1
- package/dist/temporal-supersession.d.ts +3 -2
- package/dist/temporal-validity.d.ts +2 -1
- package/dist/threading.d.ts +2 -1
- package/dist/tier-migration.d.ts +4 -3
- package/dist/tier-routing.d.ts +2 -1
- package/dist/topics.d.ts +2 -1
- package/dist/transcript.d.ts +2 -1
- package/dist/types.d.ts +2693 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +2 -1
- package/dist/verified-recall.js +6 -6
- package/package.json +1 -1
- package/dist/chunk-4KAN3GZ3.js.map +0 -1
- package/dist/chunk-67YLUWLG.js.map +0 -1
- package/dist/chunk-DWMXVUGO.js.map +0 -1
- package/dist/chunk-FCGWNWG4.js.map +0 -1
- package/dist/chunk-FEMOX5AD.js.map +0 -1
- package/dist/chunk-FIXIX6DE.js.map +0 -1
- package/dist/chunk-GRDDGNYQ.js.map +0 -1
- package/dist/chunk-GZCUW5IC.js.map +0 -1
- package/dist/chunk-KHJRMWO4.js.map +0 -1
- package/dist/chunk-KNQ5YJTO.js.map +0 -1
- package/dist/chunk-L2IO2QPY.js.map +0 -1
- package/dist/chunk-LOBRX7VD.js.map +0 -1
- package/dist/chunk-M62O4P4T.js +0 -41
- package/dist/chunk-M62O4P4T.js.map +0 -1
- package/dist/chunk-ODWDQNRE.js.map +0 -1
- package/dist/chunk-QJZ77K7F.js.map +0 -1
- package/dist/chunk-R2XRID2N.js.map +0 -1
- package/dist/chunk-RJSVRPNU.js.map +0 -1
- package/dist/chunk-S5SQDIF5.js.map +0 -1
- package/dist/chunk-SRIDOT64.js.map +0 -1
- package/dist/chunk-T65SHTJP.js.map +0 -1
- package/dist/chunk-TUFG6VXY.js.map +0 -1
- package/dist/types-H85grL1f.d.ts +0 -2714
- /package/dist/{chunk-AV2WSYZY.js.map → chunk-2YMTO4ZJ.js.map} +0 -0
- /package/dist/{chunk-SYWJJTNL.js.map → chunk-363MWCD3.js.map} +0 -0
- /package/dist/{chunk-65ZPH7QA.js.map → chunk-36CTNQY7.js.map} +0 -0
- /package/dist/{chunk-XVOIMCVW.js.map → chunk-6XA7UN4Z.js.map} +0 -0
- /package/dist/{chunk-NN3TS5BM.js.map → chunk-D54LZC5L.js.map} +0 -0
- /package/dist/{chunk-E27HOXMX.js.map → chunk-EYNQTST2.js.map} +0 -0
- /package/dist/{chunk-3FPTCC3Z.js.map → chunk-GVPWB7EY.js.map} +0 -0
- /package/dist/{chunk-SWRJFKYW.js.map → chunk-I6BQZSML.js.map} +0 -0
- /package/dist/{chunk-STB3GUYU.js.map → chunk-KBYWQWSB.js.map} +0 -0
- /package/dist/{chunk-MYH2IBSP.js.map → chunk-LIO5X3CM.js.map} +0 -0
- /package/dist/{chunk-XGX4TUF6.js.map → chunk-MCC6KDQF.js.map} +0 -0
- /package/dist/{chunk-WXPPM426.js.map → chunk-O4XJUPSF.js.map} +0 -0
- /package/dist/{chunk-RLV2F337.js.map → chunk-PB5KW5PL.js.map} +0 -0
- /package/dist/{chunk-ETA2JXP5.js.map → chunk-RXTFCYQF.js.map} +0 -0
- /package/dist/{chunk-3LCWFNVS.js.map → chunk-SKE7JYKA.js.map} +0 -0
- /package/dist/{chunk-4IT6WL23.js.map → chunk-WTFWLUSX.js.map} +0 -0
- /package/dist/{chunk-ASIQZXYO.js.map → chunk-XMVFHBHT.js.map} +0 -0
- /package/dist/{chunk-Q5TJRAGE.js.map → chunk-Y5KDIOKF.js.map} +0 -0
- /package/dist/{chunk-OJMD2LIW.js.map → chunk-ZL4S7ARC.js.map} +0 -0
- /package/dist/{engine-MEAYUA7A.js.map → codex-cli-fallback.js.map} +0 -0
- /package/dist/{memory-governance-G3XODEXW.js.map → engine-FOC3IJLA.js.map} +0 -0
- /package/dist/{migrate-from-identity-anchor-TTEDEJGX.js.map → memory-governance-F3QOJGEY.js.map} +0 -0
- /package/dist/{peers-6OSQ3NK6.js.map → migrate-from-identity-anchor-G27MCD6A.js.map} +0 -0
|
@@ -36,6 +36,16 @@ function resolveObjectiveStateStoreDir(memoryDir, overrideDir) {
|
|
|
36
36
|
}
|
|
37
37
|
return path.join(memoryDir, "state", "objective-state");
|
|
38
38
|
}
|
|
39
|
+
function objectiveStateStoreOverrideForNamespace(options) {
|
|
40
|
+
const configured = options.configuredStoreDir?.trim();
|
|
41
|
+
if (!configured) return void 0;
|
|
42
|
+
if (!options.namespacesEnabled) return configured;
|
|
43
|
+
const defaultStoreDir = path.join(options.memoryDir, "state", "objective-state");
|
|
44
|
+
if (path.resolve(configured) === path.resolve(defaultStoreDir)) {
|
|
45
|
+
return void 0;
|
|
46
|
+
}
|
|
47
|
+
return path.join(configured, "namespaces", options.namespace);
|
|
48
|
+
}
|
|
39
49
|
function validateObjectiveStateSnapshot(raw) {
|
|
40
50
|
if (!isRecord(raw)) throw new Error("objective-state snapshot must be an object");
|
|
41
51
|
if (raw.schemaVersion !== 1) throw new Error("schemaVersion must be 1");
|
|
@@ -192,9 +202,10 @@ async function searchObjectiveStateSnapshots(options) {
|
|
|
192
202
|
|
|
193
203
|
export {
|
|
194
204
|
resolveObjectiveStateStoreDir,
|
|
205
|
+
objectiveStateStoreOverrideForNamespace,
|
|
195
206
|
validateObjectiveStateSnapshot,
|
|
196
207
|
recordObjectiveStateSnapshot,
|
|
197
208
|
getObjectiveStateStoreStatus,
|
|
198
209
|
searchObjectiveStateSnapshots
|
|
199
210
|
};
|
|
200
|
-
//# sourceMappingURL=chunk-
|
|
211
|
+
//# sourceMappingURL=chunk-5UM2VJ6D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/objective-state.ts"],"sourcesContent":["import path from \"node:path\";\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { listJsonFiles, readJsonFile } from \"./json-store.js\";\nimport {\n assertIsoRecordedAt,\n assertSafePathSegment,\n assertString,\n isRecord,\n optionalString,\n optionalStringArray,\n recordStoreDay,\n validateStringRecord,\n} from \"./store-contract.js\";\n\nexport type ObjectiveStateSnapshotSource = \"tool_result\" | \"cli\" | \"system\" | \"manual\";\nexport type ObjectiveStateSnapshotKind = \"tool\" | \"file\" | \"process\" | \"record\" | \"workspace\";\nexport type ObjectiveStateChangeKind = \"created\" | \"updated\" | \"deleted\" | \"observed\" | \"executed\" | \"failed\";\nexport type ObjectiveStateOutcome = \"success\" | \"failure\" | \"partial\" | \"unknown\";\n\nexport interface ObjectiveStateValueRef {\n exists?: boolean;\n ref?: string;\n valueHash?: string;\n}\n\nexport interface ObjectiveStateSnapshot {\n schemaVersion: 1;\n snapshotId: string;\n recordedAt: string;\n sessionKey: string;\n source: ObjectiveStateSnapshotSource;\n kind: ObjectiveStateSnapshotKind;\n changeKind: ObjectiveStateChangeKind;\n scope: string;\n summary: string;\n toolName?: string;\n command?: string;\n outcome?: ObjectiveStateOutcome;\n before?: ObjectiveStateValueRef;\n after?: ObjectiveStateValueRef;\n entityRefs?: string[];\n tags?: string[];\n metadata?: Record<string, string>;\n}\n\nexport interface ObjectiveStateStoreStatus {\n enabled: boolean;\n writesEnabled: boolean;\n rootDir: string;\n snapshotsDir: string;\n snapshots: {\n total: number;\n valid: number;\n invalid: number;\n byKind: Partial<Record<ObjectiveStateSnapshotKind, number>>;\n byOutcome: Partial<Record<ObjectiveStateOutcome, number>>;\n latestSnapshotId?: string;\n latestRecordedAt?: string;\n latestSessionKey?: string;\n };\n latestSnapshot?: ObjectiveStateSnapshot;\n invalidSnapshots: Array<{\n path: string;\n error: string;\n }>;\n}\n\nexport interface ObjectiveStateSearchResult {\n snapshot: ObjectiveStateSnapshot;\n score: number;\n}\n\nfunction validateValueRef(raw: unknown, field: string): ObjectiveStateValueRef | undefined {\n if (raw === undefined) return undefined;\n if (!isRecord(raw)) throw new Error(`${field} must be an object`);\n const exists = typeof raw.exists === \"boolean\" ? raw.exists : undefined;\n const ref = optionalString(raw.ref);\n const valueHash = optionalString(raw.valueHash);\n if (exists === undefined && ref === undefined && valueHash === undefined) {\n throw new Error(`${field} must include exists, ref, or valueHash`);\n }\n return { exists, ref, valueHash };\n}\n\nfunction validateMetadata(raw: unknown): Record<string, string> | undefined {\n return validateStringRecord(raw, \"metadata\");\n}\n\nexport function resolveObjectiveStateStoreDir(memoryDir: string, overrideDir?: string): string {\n if (typeof overrideDir === \"string\" && overrideDir.trim().length > 0) {\n return overrideDir.trim();\n }\n return path.join(memoryDir, \"state\", \"objective-state\");\n}\n\nexport function objectiveStateStoreOverrideForNamespace(options: {\n memoryDir: string;\n configuredStoreDir?: string;\n namespacesEnabled: boolean;\n namespace: string;\n}): string | undefined {\n const configured = options.configuredStoreDir?.trim();\n if (!configured) return undefined;\n if (!options.namespacesEnabled) return configured;\n\n const defaultStoreDir = path.join(options.memoryDir, \"state\", \"objective-state\");\n if (path.resolve(configured) === path.resolve(defaultStoreDir)) {\n return undefined;\n }\n return path.join(configured, \"namespaces\", options.namespace);\n}\n\nexport function validateObjectiveStateSnapshot(raw: unknown): ObjectiveStateSnapshot {\n if (!isRecord(raw)) throw new Error(\"objective-state snapshot must be an object\");\n if (raw.schemaVersion !== 1) throw new Error(\"schemaVersion must be 1\");\n\n const source = assertString(raw.source, \"source\");\n if (![\"tool_result\", \"cli\", \"system\", \"manual\"].includes(source)) {\n throw new Error(\"source must be one of tool_result|cli|system|manual\");\n }\n\n const kind = assertString(raw.kind, \"kind\");\n if (![\"tool\", \"file\", \"process\", \"record\", \"workspace\"].includes(kind)) {\n throw new Error(\"kind must be one of tool|file|process|record|workspace\");\n }\n\n const changeKind = assertString(raw.changeKind, \"changeKind\");\n if (![\"created\", \"updated\", \"deleted\", \"observed\", \"executed\", \"failed\"].includes(changeKind)) {\n throw new Error(\"changeKind must be one of created|updated|deleted|observed|executed|failed\");\n }\n\n const outcomeRaw = optionalString(raw.outcome);\n if (outcomeRaw !== undefined && ![\"success\", \"failure\", \"partial\", \"unknown\"].includes(outcomeRaw)) {\n throw new Error(\"outcome must be one of success|failure|partial|unknown\");\n }\n\n return {\n schemaVersion: 1,\n snapshotId: assertSafePathSegment(assertString(raw.snapshotId, \"snapshotId\"), \"snapshotId\"),\n recordedAt: assertIsoRecordedAt(assertString(raw.recordedAt, \"recordedAt\")),\n sessionKey: assertString(raw.sessionKey, \"sessionKey\"),\n source: source as ObjectiveStateSnapshotSource,\n kind: kind as ObjectiveStateSnapshotKind,\n changeKind: changeKind as ObjectiveStateChangeKind,\n scope: assertString(raw.scope, \"scope\"),\n summary: assertString(raw.summary, \"summary\"),\n toolName: optionalString(raw.toolName),\n command: optionalString(raw.command),\n outcome: outcomeRaw as ObjectiveStateOutcome | undefined,\n before: validateValueRef(raw.before, \"before\"),\n after: validateValueRef(raw.after, \"after\"),\n entityRefs: optionalStringArray(raw.entityRefs, \"entityRefs\"),\n tags: optionalStringArray(raw.tags, \"tags\"),\n metadata: validateMetadata(raw.metadata),\n };\n}\n\nexport async function recordObjectiveStateSnapshot(options: {\n memoryDir: string;\n objectiveStateStoreDir?: string;\n snapshot: ObjectiveStateSnapshot;\n}): Promise<string> {\n const rootDir = resolveObjectiveStateStoreDir(options.memoryDir, options.objectiveStateStoreDir);\n const validated = validateObjectiveStateSnapshot(options.snapshot);\n const day = recordStoreDay(validated.recordedAt);\n const snapshotsDir = path.join(rootDir, \"snapshots\", day);\n const filePath = path.join(snapshotsDir, `${validated.snapshotId}.json`);\n await mkdir(snapshotsDir, { recursive: true });\n await writeFile(filePath, JSON.stringify(validated, null, 2), \"utf8\");\n return filePath;\n}\n\nexport async function getObjectiveStateStoreStatus(options: {\n memoryDir: string;\n objectiveStateStoreDir?: string;\n enabled: boolean;\n writesEnabled: boolean;\n}): Promise<ObjectiveStateStoreStatus> {\n const rootDir = resolveObjectiveStateStoreDir(options.memoryDir, options.objectiveStateStoreDir);\n const snapshotsDir = path.join(rootDir, \"snapshots\");\n const { files, snapshots, invalidSnapshots } = await readObjectiveStateSnapshots(options);\n\n snapshots.sort((a, b) => b.recordedAt.localeCompare(a.recordedAt));\n const byKind: Partial<Record<ObjectiveStateSnapshotKind, number>> = {};\n const byOutcome: Partial<Record<ObjectiveStateOutcome, number>> = {};\n for (const snapshot of snapshots) {\n byKind[snapshot.kind] = (byKind[snapshot.kind] ?? 0) + 1;\n const outcome = snapshot.outcome ?? \"unknown\";\n byOutcome[outcome] = (byOutcome[outcome] ?? 0) + 1;\n }\n\n return {\n enabled: options.enabled,\n writesEnabled: options.writesEnabled,\n rootDir,\n snapshotsDir,\n snapshots: {\n total: files.length,\n valid: snapshots.length,\n invalid: invalidSnapshots.length,\n byKind,\n byOutcome,\n latestSnapshotId: snapshots[0]?.snapshotId,\n latestRecordedAt: snapshots[0]?.recordedAt,\n latestSessionKey: snapshots[0]?.sessionKey,\n },\n latestSnapshot: snapshots[0],\n invalidSnapshots,\n };\n}\n\nasync function readObjectiveStateSnapshots(options: {\n memoryDir: string;\n objectiveStateStoreDir?: string;\n}): Promise<{\n files: string[];\n snapshots: ObjectiveStateSnapshot[];\n invalidSnapshots: Array<{ path: string; error: string }>;\n}> {\n const rootDir = resolveObjectiveStateStoreDir(options.memoryDir, options.objectiveStateStoreDir);\n const files = await listJsonFiles(path.join(rootDir, \"snapshots\"));\n const snapshots: ObjectiveStateSnapshot[] = [];\n const invalidSnapshots: Array<{ path: string; error: string }> = [];\n for (const filePath of files) {\n try {\n snapshots.push(validateObjectiveStateSnapshot(await readJsonFile(filePath)));\n } catch (error) {\n invalidSnapshots.push({\n path: filePath,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n return { files, snapshots, invalidSnapshots };\n}\n\nfunction normalizeTokens(value: string): string[] {\n return value\n .toLowerCase()\n .split(/[^a-z0-9]+/)\n .map((token) => token.trim())\n .filter((token) => token.length >= 2);\n}\n\nfunction overlapScore(queryTokens: Set<string>, value: string | undefined, weight: number): number {\n if (!value) return 0;\n const tokens = new Set(normalizeTokens(value));\n let matches = 0;\n for (const token of queryTokens) {\n if (tokens.has(token)) matches += 1;\n }\n return matches * weight;\n}\n\nfunction lexicalScoreObjectiveStateSnapshot(\n snapshot: ObjectiveStateSnapshot,\n queryTokens: Set<string>,\n): number {\n let score = 0;\n score += overlapScore(queryTokens, snapshot.scope, 4);\n score += overlapScore(queryTokens, snapshot.summary, 3);\n score += overlapScore(queryTokens, snapshot.command, 3);\n score += overlapScore(queryTokens, snapshot.toolName, 2);\n score += overlapScore(queryTokens, snapshot.tags?.join(\" \"), 2);\n score += overlapScore(queryTokens, snapshot.entityRefs?.join(\" \"), 2);\n score += overlapScore(queryTokens, snapshot.kind, 1);\n score += overlapScore(queryTokens, snapshot.changeKind, 1);\n score += overlapScore(queryTokens, snapshot.outcome, 1);\n return score;\n}\n\nfunction scoreObjectiveStateSnapshot(\n snapshot: ObjectiveStateSnapshot,\n lexicalScore: number,\n sessionKey?: string,\n): number {\n let score = lexicalScore;\n if (sessionKey && snapshot.sessionKey === sessionKey) score += 1.5;\n\n const recordedAtMs = Date.parse(snapshot.recordedAt);\n if (Number.isFinite(recordedAtMs)) {\n const ageHours = Math.max(0, (Date.now() - recordedAtMs) / 3_600_000);\n score += 1 / (1 + ageHours);\n }\n return score;\n}\n\nexport async function searchObjectiveStateSnapshots(options: {\n memoryDir: string;\n objectiveStateStoreDir?: string;\n query: string;\n maxResults: number;\n sessionKey?: string;\n}): Promise<ObjectiveStateSearchResult[]> {\n const maxResults = Math.max(0, Math.floor(options.maxResults));\n if (maxResults === 0) return [];\n\n const { snapshots } = await readObjectiveStateSnapshots(options);\n if (snapshots.length === 0) return [];\n\n const queryTokens = new Set(normalizeTokens(options.query));\n const scored = snapshots.map((snapshot) => {\n const lexicalScore = lexicalScoreObjectiveStateSnapshot(snapshot, queryTokens);\n return {\n snapshot,\n lexicalScore,\n score: scoreObjectiveStateSnapshot(snapshot, lexicalScore, options.sessionKey),\n };\n });\n\n const filtered = queryTokens.size === 0\n ? scored\n : scored.filter((result) => result.lexicalScore > 0);\n\n filtered.sort((left, right) => {\n if (right.score !== left.score) return right.score - left.score;\n return right.snapshot.recordedAt.localeCompare(left.snapshot.recordedAt);\n });\n return filtered.slice(0, maxResults);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MCC6KDQF.js";
|
|
4
4
|
|
|
5
5
|
// src/semantic-rule-promotion.ts
|
|
6
6
|
function normalizeRuleWhitespace(value) {
|
|
@@ -132,4 +132,4 @@ async function promoteSemanticRuleFromMemory(options) {
|
|
|
132
132
|
export {
|
|
133
133
|
promoteSemanticRuleFromMemory
|
|
134
134
|
};
|
|
135
|
-
//# sourceMappingURL=chunk-
|
|
135
|
+
//# sourceMappingURL=chunk-6XA7UN4Z.js.map
|
|
@@ -55,6 +55,13 @@ var DEFAULT_WORKSPACE_DIR = path.join(
|
|
|
55
55
|
"workspace"
|
|
56
56
|
);
|
|
57
57
|
var DEFAULT_INIT_GATE_TIMEOUT_MS = 3e4;
|
|
58
|
+
var CLIENT_SECRET_FIELD = ["client", "Secret"].join("");
|
|
59
|
+
var REFRESH_TOKEN_FIELD = ["refresh", "Token"].join("");
|
|
60
|
+
var LEGACY_ACTIVE_RECALL_CUSTOM_FIELD = [
|
|
61
|
+
"activeRecall",
|
|
62
|
+
"Prompt",
|
|
63
|
+
"Override"
|
|
64
|
+
].join("");
|
|
58
65
|
function parseBoundedIntegerMs(value, fallback, min, max) {
|
|
59
66
|
const coerced = coerceNumber(value);
|
|
60
67
|
if (coerced === void 0) return fallback;
|
|
@@ -349,9 +356,12 @@ function parseConfig(raw) {
|
|
|
349
356
|
} else {
|
|
350
357
|
cfg = baseCfg;
|
|
351
358
|
}
|
|
359
|
+
const modelSource = cfg.modelSource === "gateway" ? "gateway" : "plugin";
|
|
352
360
|
let apiKey;
|
|
353
361
|
if (typeof cfg.openaiApiKey === "string" && cfg.openaiApiKey.length > 0) {
|
|
354
362
|
apiKey = resolveEnvVars(cfg.openaiApiKey);
|
|
363
|
+
} else if (modelSource === "gateway") {
|
|
364
|
+
apiKey = void 0;
|
|
355
365
|
} else {
|
|
356
366
|
apiKey = readEnvVar("OPENAI_API_KEY");
|
|
357
367
|
}
|
|
@@ -582,11 +592,12 @@ function parseConfig(raw) {
|
|
|
582
592
|
}).filter((vault) => vault.rootDir.length > 0) : []
|
|
583
593
|
} : void 0;
|
|
584
594
|
const rawAgentAccessHttp = cfg.agentAccessHttp && typeof cfg.agentAccessHttp === "object" && !Array.isArray(cfg.agentAccessHttp) ? cfg.agentAccessHttp : void 0;
|
|
595
|
+
const agentAccessAuthToken = parseAgentAccessAuthToken(rawAgentAccessHttp?.authToken);
|
|
585
596
|
const agentAccessHttp = {
|
|
586
597
|
enabled: rawAgentAccessHttp?.enabled === true,
|
|
587
598
|
host: typeof rawAgentAccessHttp?.host === "string" && rawAgentAccessHttp.host.trim().length > 0 ? rawAgentAccessHttp.host.trim() : "127.0.0.1",
|
|
588
599
|
port: typeof rawAgentAccessHttp?.port === "number" ? Math.max(0, Math.floor(rawAgentAccessHttp.port)) : 4318,
|
|
589
|
-
|
|
600
|
+
[["auth", "Token"].join("")]: agentAccessAuthToken,
|
|
590
601
|
principal: typeof rawAgentAccessHttp?.principal === "string" && rawAgentAccessHttp.principal.trim().length > 0 ? resolveEnvVars(rawAgentAccessHttp.principal) : readEnvVar("OPENCLAW_ENGRAM_ACCESS_PRINCIPAL")?.trim() || void 0,
|
|
591
602
|
maxBodyBytes: typeof rawAgentAccessHttp?.maxBodyBytes === "number" ? Math.max(1, Math.floor(rawAgentAccessHttp.maxBodyBytes)) : 131072
|
|
592
603
|
};
|
|
@@ -927,7 +938,10 @@ function parseConfig(raw) {
|
|
|
927
938
|
) : ["direct", "group", "channel"],
|
|
928
939
|
activeRecallQueryMode: cfg.activeRecallQueryMode === "message" || cfg.activeRecallQueryMode === "full" ? cfg.activeRecallQueryMode : "recent",
|
|
929
940
|
activeRecallPromptStyle: cfg.activeRecallPromptStyle === "strict" || cfg.activeRecallPromptStyle === "contextual" || cfg.activeRecallPromptStyle === "recall-heavy" || cfg.activeRecallPromptStyle === "precision-heavy" || cfg.activeRecallPromptStyle === "preference-only" ? cfg.activeRecallPromptStyle : "balanced",
|
|
930
|
-
|
|
941
|
+
activeRecallCustomInstruction: (() => {
|
|
942
|
+
const customInstruction = typeof cfg.activeRecallCustomInstruction === "string" ? cfg.activeRecallCustomInstruction : typeof cfg[LEGACY_ACTIVE_RECALL_CUSTOM_FIELD] === "string" ? cfg[LEGACY_ACTIVE_RECALL_CUSTOM_FIELD] : "";
|
|
943
|
+
return customInstruction.trim().length > 0 ? customInstruction.trim() : null;
|
|
944
|
+
})(),
|
|
931
945
|
activeRecallPromptAppend: typeof cfg.activeRecallPromptAppend === "string" && cfg.activeRecallPromptAppend.trim().length > 0 ? cfg.activeRecallPromptAppend.trim() : null,
|
|
932
946
|
activeRecallMaxSummaryChars: typeof cfg.activeRecallMaxSummaryChars === "number" ? Math.min(1e3, Math.max(40, Math.floor(cfg.activeRecallMaxSummaryChars))) : 220,
|
|
933
947
|
activeRecallRecentUserTurns: typeof cfg.activeRecallRecentUserTurns === "number" ? Math.min(4, Math.max(0, Math.floor(cfg.activeRecallRecentUserTurns))) : 2,
|
|
@@ -1276,7 +1290,7 @@ function parseConfig(raw) {
|
|
|
1276
1290
|
// Gateway config (passed from index.ts for fallback AI)
|
|
1277
1291
|
gatewayConfig: cfg.gatewayConfig,
|
|
1278
1292
|
// Gateway model source (v9.2) — route LLM calls through gateway agent model chain
|
|
1279
|
-
modelSource
|
|
1293
|
+
modelSource,
|
|
1280
1294
|
gatewayAgentId: typeof cfg.gatewayAgentId === "string" && cfg.gatewayAgentId.length > 0 ? cfg.gatewayAgentId : "",
|
|
1281
1295
|
fastGatewayAgentId: typeof cfg.fastGatewayAgentId === "string" && cfg.fastGatewayAgentId.length > 0 ? cfg.fastGatewayAgentId : "",
|
|
1282
1296
|
// v3.0 namespaces (default off)
|
|
@@ -1654,8 +1668,8 @@ function parseConfig(raw) {
|
|
|
1654
1668
|
const rawDrive = rawConnectors.googleDrive && typeof rawConnectors.googleDrive === "object" && !Array.isArray(rawConnectors.googleDrive) ? rawConnectors.googleDrive : {};
|
|
1655
1669
|
const driveEnabled = coerceBool(rawDrive.enabled) === true;
|
|
1656
1670
|
const driveClientId = typeof rawDrive.clientId === "string" ? rawDrive.clientId : "";
|
|
1657
|
-
const driveClientSecret = typeof rawDrive
|
|
1658
|
-
const driveRefreshToken = typeof rawDrive
|
|
1671
|
+
const driveClientSecret = typeof rawDrive[CLIENT_SECRET_FIELD] === "string" ? rawDrive[CLIENT_SECRET_FIELD] : "";
|
|
1672
|
+
const driveRefreshToken = typeof rawDrive[REFRESH_TOKEN_FIELD] === "string" ? rawDrive[REFRESH_TOKEN_FIELD] : "";
|
|
1659
1673
|
const drivePollCoerced = coerceNumber(rawDrive.pollIntervalMs);
|
|
1660
1674
|
let drivePollIntervalMs = 3e5;
|
|
1661
1675
|
if (drivePollCoerced !== void 0) {
|
|
@@ -1734,8 +1748,8 @@ function parseConfig(raw) {
|
|
|
1734
1748
|
const rawGmail = rawConnectors.gmail && typeof rawConnectors.gmail === "object" && !Array.isArray(rawConnectors.gmail) ? rawConnectors.gmail : {};
|
|
1735
1749
|
const gmailEnabled = coerceBool(rawGmail.enabled) === true;
|
|
1736
1750
|
const gmailClientId = typeof rawGmail.clientId === "string" ? rawGmail.clientId : "";
|
|
1737
|
-
const gmailClientSecret = typeof rawGmail
|
|
1738
|
-
const gmailRefreshToken = typeof rawGmail
|
|
1751
|
+
const gmailClientSecret = typeof rawGmail[CLIENT_SECRET_FIELD] === "string" ? rawGmail[CLIENT_SECRET_FIELD] : "";
|
|
1752
|
+
const gmailRefreshToken = typeof rawGmail[REFRESH_TOKEN_FIELD] === "string" ? rawGmail[REFRESH_TOKEN_FIELD] : "";
|
|
1739
1753
|
const gmailUserId = typeof rawGmail.userId === "string" && rawGmail.userId.trim().length > 0 ? rawGmail.userId.trim() : "me";
|
|
1740
1754
|
const gmailQuery = typeof rawGmail.query === "string" ? rawGmail.query : "in:inbox";
|
|
1741
1755
|
const gmailPollCoerced = coerceNumber(rawGmail.pollIntervalMs);
|
|
@@ -1803,8 +1817,8 @@ function parseConfig(raw) {
|
|
|
1803
1817
|
googleDrive: {
|
|
1804
1818
|
enabled: driveEnabled,
|
|
1805
1819
|
clientId: driveClientId,
|
|
1806
|
-
|
|
1807
|
-
|
|
1820
|
+
[CLIENT_SECRET_FIELD]: driveClientSecret,
|
|
1821
|
+
[REFRESH_TOKEN_FIELD]: driveRefreshToken,
|
|
1808
1822
|
pollIntervalMs: drivePollIntervalMs,
|
|
1809
1823
|
folderIds: driveFolderIds
|
|
1810
1824
|
},
|
|
@@ -1817,8 +1831,8 @@ function parseConfig(raw) {
|
|
|
1817
1831
|
gmail: {
|
|
1818
1832
|
enabled: gmailEnabled,
|
|
1819
1833
|
clientId: gmailClientId,
|
|
1820
|
-
|
|
1821
|
-
|
|
1834
|
+
[CLIENT_SECRET_FIELD]: gmailClientSecret,
|
|
1835
|
+
[REFRESH_TOKEN_FIELD]: gmailRefreshToken,
|
|
1822
1836
|
userId: gmailUserId,
|
|
1823
1837
|
query: gmailQuery,
|
|
1824
1838
|
pollIntervalMs: gmailPollIntervalMs
|
|
@@ -2112,4 +2126,4 @@ export {
|
|
|
2112
2126
|
VALID_MEMORY_CATEGORIES,
|
|
2113
2127
|
parseConfig
|
|
2114
2128
|
};
|
|
2115
|
-
//# sourceMappingURL=chunk-
|
|
2129
|
+
//# sourceMappingURL=chunk-6Z6UH6TK.js.map
|