opensquid 0.5.406 → 0.5.412
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -5
- package/dist/cli.js +3 -4
- package/dist/cli.js.map +1 -1
- package/dist/functions/handoff_session_start.d.ts.map +1 -1
- package/dist/functions/handoff_session_start.js +4 -6
- package/dist/functions/handoff_session_start.js.map +1 -1
- package/dist/functions/index.d.ts +2 -0
- package/dist/functions/index.d.ts.map +1 -1
- package/dist/functions/index.js +3 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/reset_scope_track_state.d.ts +20 -0
- package/dist/functions/reset_scope_track_state.d.ts.map +1 -0
- package/dist/functions/reset_scope_track_state.js +53 -0
- package/dist/functions/reset_scope_track_state.js.map +1 -0
- package/dist/functions/session_tool_history.d.ts +3 -3
- package/dist/functions/session_tool_history.js +1 -1
- package/dist/functions/session_tool_history.js.map +1 -1
- package/dist/functions/staged_docs_only.d.ts +23 -0
- package/dist/functions/staged_docs_only.d.ts.map +1 -0
- package/dist/functions/staged_docs_only.js +57 -0
- package/dist/functions/staged_docs_only.js.map +1 -0
- package/dist/packs/schemas/chat_agent.d.ts +1 -1
- package/dist/packs/schemas/chat_agent.js +1 -1
- package/dist/rag/backend_factory.d.ts.map +1 -1
- package/dist/rag/backend_factory.js +4 -0
- package/dist/rag/backend_factory.js.map +1 -1
- package/dist/rag/backends/libsql_lexical.d.ts.map +1 -1
- package/dist/rag/backends/libsql_lexical.js +21 -5
- package/dist/rag/backends/libsql_lexical.js.map +1 -1
- package/dist/rag/backends/libsql_store.d.ts.map +1 -1
- package/dist/rag/backends/libsql_store.js +33 -6
- package/dist/rag/backends/libsql_store.js.map +1 -1
- package/dist/rag/backends/perfile_source.d.ts.map +1 -1
- package/dist/rag/backends/perfile_source.js +3 -0
- package/dist/rag/backends/perfile_source.js.map +1 -1
- package/dist/rag/memory/consolidate.d.ts +3 -2
- package/dist/rag/memory/consolidate.d.ts.map +1 -1
- package/dist/rag/memory/consolidate.js +7 -4
- package/dist/rag/memory/consolidate.js.map +1 -1
- package/dist/rag/types.d.ts +2 -0
- package/dist/rag/types.d.ts.map +1 -1
- package/dist/rag/types.js.map +1 -1
- package/dist/runtime/agent_bridge/agent_loop.d.ts +1 -1
- package/dist/runtime/agent_bridge/agent_loop.js +1 -1
- package/dist/runtime/agent_bridge/batch.d.ts +1 -1
- package/dist/runtime/agent_bridge/batch.js +1 -1
- package/dist/runtime/agent_bridge/cli.d.ts +1 -1
- package/dist/runtime/agent_bridge/cli.js +1 -1
- package/dist/runtime/agent_bridge/daemon.d.ts +1 -1
- package/dist/runtime/agent_bridge/daemon.js +1 -1
- package/dist/runtime/agent_bridge/dispatcher.d.ts +1 -1
- package/dist/runtime/agent_bridge/dispatcher.js +1 -1
- package/dist/runtime/agent_bridge/index.d.ts +1 -1
- package/dist/runtime/agent_bridge/index.js +1 -1
- package/dist/runtime/agent_bridge/pack_binding.d.ts +1 -1
- package/dist/runtime/agent_bridge/pack_binding.js +1 -1
- package/dist/runtime/agent_bridge/session_manager.d.ts +1 -1
- package/dist/runtime/agent_bridge/session_manager.js +1 -1
- package/dist/runtime/agent_bridge/session_persistence.d.ts +1 -1
- package/dist/runtime/agent_bridge/session_persistence.js +1 -1
- package/dist/runtime/agent_bridge/tool_dispatcher.d.ts +1 -1
- package/dist/runtime/agent_bridge/tool_dispatcher.js +1 -1
- package/dist/runtime/agent_bridge/tools/chat_send.d.ts +1 -1
- package/dist/runtime/agent_bridge/tools/chat_send.js +1 -1
- package/dist/runtime/agent_bridge/tools/index.d.ts +1 -1
- package/dist/runtime/agent_bridge/tools/index.js +1 -1
- package/dist/runtime/agent_bridge/tools/recall.d.ts +1 -1
- package/dist/runtime/agent_bridge/tools/recall.js +1 -1
- package/dist/runtime/agent_bridge/tools/store_lesson.d.ts +1 -1
- package/dist/runtime/agent_bridge/tools/store_lesson.js +1 -1
- package/dist/runtime/agent_bridge/transport_bridge.d.ts +1 -1
- package/dist/runtime/agent_bridge/transport_bridge.js +1 -1
- package/dist/runtime/agent_bridge/types.d.ts +1 -1
- package/dist/runtime/agent_bridge/types.js +1 -1
- package/dist/runtime/bootstrap.d.ts.map +1 -1
- package/dist/runtime/bootstrap.js +4 -0
- package/dist/runtime/bootstrap.js.map +1 -1
- package/dist/runtime/coding_flow_keys.d.ts +17 -0
- package/dist/runtime/coding_flow_keys.d.ts.map +1 -0
- package/dist/runtime/coding_flow_keys.js +21 -0
- package/dist/runtime/coding_flow_keys.js.map +1 -0
- package/dist/runtime/handoff/collect.d.ts.map +1 -1
- package/dist/runtime/handoff/collect.js +3 -1
- package/dist/runtime/handoff/collect.js.map +1 -1
- package/dist/runtime/hooks/session-start.js +5 -1
- package/dist/runtime/hooks/session-start.js.map +1 -1
- package/dist/runtime/hooks/session_id.d.ts +7 -0
- package/dist/runtime/hooks/session_id.d.ts.map +1 -1
- package/dist/runtime/hooks/session_id.js +30 -12
- package/dist/runtime/hooks/session_id.js.map +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/protected_paths.d.ts +18 -0
- package/dist/runtime/protected_paths.d.ts.map +1 -0
- package/dist/runtime/protected_paths.js +18 -0
- package/dist/runtime/protected_paths.js.map +1 -0
- package/dist/runtime/session_state.d.ts +9 -1
- package/dist/runtime/session_state.d.ts.map +1 -1
- package/dist/runtime/session_state.js +25 -3
- package/dist/runtime/session_state.js.map +1 -1
- package/dist/runtime/wedge/compression_deps.d.ts.map +1 -1
- package/dist/runtime/wedge/compression_deps.js +9 -1
- package/dist/runtime/wedge/compression_deps.js.map +1 -1
- package/dist/setup/cli/gate.d.ts +7 -2
- package/dist/setup/cli/gate.d.ts.map +1 -1
- package/dist/setup/cli/gate.js +7 -3
- package/dist/setup/cli/gate.js.map +1 -1
- package/package.json +1 -1
- package/packs/builtin/coding-flow/skills/entry-and-handoffs/skill.yaml +6 -0
- package/packs/builtin/coding-flow/skills/scope-lifecycle/skill.yaml +5 -1
- package/packs/builtin/default-discipline/skills/workflow/skill.yaml +12 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* agent_bridge — shared types (WAB.2, 0.5.94).
|
|
3
3
|
*
|
|
4
4
|
* Authoritative source: `docs/tasks/WAB.1-architecture.md` decisions (b) +
|
|
5
|
-
* (c), and the warm-agent planning notes
|
|
5
|
+
* (c), and the warm-agent planning notes (not retained — docs/tasks/WAB.1-architecture.md is the surviving authority) WAB.2 spec.
|
|
6
6
|
*
|
|
7
7
|
* Why one types module: all six WAB sub-modules (event_bus, transport_bridge,
|
|
8
8
|
* session_manager, agent_loop, batch, dispatcher) share the SessionKey +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAKH,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwBhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAKH,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAwBhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAoB5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACvC;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuI3F;AAkJD,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAElD;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAGzE"}
|
|
@@ -76,6 +76,8 @@ import { registerRecallPreInjectFunction } from '../functions/recall_pre_inject.
|
|
|
76
76
|
import { FunctionRegistry } from '../functions/registry.js';
|
|
77
77
|
import { SessionToolHistory } from '../functions/session_tool_history.js';
|
|
78
78
|
import { registerStateFunctions } from '../functions/state.js';
|
|
79
|
+
import { registerStagedDocsOnlyFunction } from '../functions/staged_docs_only.js';
|
|
80
|
+
import { registerResetScopeTrackStateFunction } from '../functions/reset_scope_track_state.js';
|
|
79
81
|
import { registerFsmFunctions } from '../functions/fsm.js';
|
|
80
82
|
import { registerSubagentFunction } from '../functions/subagent.js';
|
|
81
83
|
import { registerCheckChatConnectionFunction } from '../functions/check_chat_connection.js';
|
|
@@ -93,6 +95,8 @@ export async function buildRegistry(opts = {}) {
|
|
|
93
95
|
const r = new FunctionRegistry();
|
|
94
96
|
registerEventFunctions(r);
|
|
95
97
|
registerStateFunctions(r);
|
|
98
|
+
registerStagedDocsOnlyFunction(r);
|
|
99
|
+
registerResetScopeTrackStateFunction(r);
|
|
96
100
|
registerFsmFunctions(r);
|
|
97
101
|
registerVerdictFunctions(r);
|
|
98
102
|
registerLlmFunctions(r);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-track scope-state keys that must clear when a NEW track begins (the
|
|
3
|
+
* `scope_start` re-arm, packs/builtin/coding-flow/fsm.yaml:52). Single source of
|
|
4
|
+
* truth — add a future per-track key HERE and both the renderer's artifact read
|
|
5
|
+
* (src/runtime/handoff/collect.ts) and the re-arm reset (the
|
|
6
|
+
* `reset_scope_track_state` primitive) stay in sync, so the reset enumeration can
|
|
7
|
+
* never drift across files (wg-4c48ef1b9969).
|
|
8
|
+
*
|
|
9
|
+
* DELIBERATELY EXCLUDED (do NOT add — each excluded for a distinct reason):
|
|
10
|
+
* - `coding-flow-track` — has its own re-arm reset (→ 'feature', the strict default).
|
|
11
|
+
* - `coding-flow-guess-audit-cache`/`-spec-audit-cache` — content-hashed; new content → cache
|
|
12
|
+
* miss, so staleness is self-correcting. Blanket-wiping them
|
|
13
|
+
* just discards valid cache.
|
|
14
|
+
* - `coding-flow-scope-dwell` — self-resets on scope-region exit (scope_dwell.ts).
|
|
15
|
+
*/
|
|
16
|
+
export declare const SCOPE_TRACK_STATE_KEYS: readonly ["coding-flow-pre-research-path", "coding-flow-spec-path", "coding-flow-design"];
|
|
17
|
+
//# sourceMappingURL=coding_flow_keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coding_flow_keys.d.ts","sourceRoot":"","sources":["../../src/runtime/coding_flow_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,2FAIzB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The per-track scope-state keys that must clear when a NEW track begins (the
|
|
3
|
+
* `scope_start` re-arm, packs/builtin/coding-flow/fsm.yaml:52). Single source of
|
|
4
|
+
* truth — add a future per-track key HERE and both the renderer's artifact read
|
|
5
|
+
* (src/runtime/handoff/collect.ts) and the re-arm reset (the
|
|
6
|
+
* `reset_scope_track_state` primitive) stay in sync, so the reset enumeration can
|
|
7
|
+
* never drift across files (wg-4c48ef1b9969).
|
|
8
|
+
*
|
|
9
|
+
* DELIBERATELY EXCLUDED (do NOT add — each excluded for a distinct reason):
|
|
10
|
+
* - `coding-flow-track` — has its own re-arm reset (→ 'feature', the strict default).
|
|
11
|
+
* - `coding-flow-guess-audit-cache`/`-spec-audit-cache` — content-hashed; new content → cache
|
|
12
|
+
* miss, so staleness is self-correcting. Blanket-wiping them
|
|
13
|
+
* just discards valid cache.
|
|
14
|
+
* - `coding-flow-scope-dwell` — self-resets on scope-region exit (scope_dwell.ts).
|
|
15
|
+
*/
|
|
16
|
+
export const SCOPE_TRACK_STATE_KEYS = [
|
|
17
|
+
'coding-flow-pre-research-path',
|
|
18
|
+
'coding-flow-spec-path',
|
|
19
|
+
'coding-flow-design',
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=coding_flow_keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coding_flow_keys.js","sourceRoot":"","sources":["../../src/runtime/coding_flow_keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,+BAA+B;IAC/B,uBAAuB;IACvB,oBAAoB;CACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/runtime/handoff/collect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,QAAQ,EAAQ,MAAM,WAAW,CAAC;AAY3C,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAItE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACtC,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC3C,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,CAAC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,GAAG,EAAE,cAAc,EAAE,CAAC;IACtB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,CAAC;CACtD;
|
|
1
|
+
{"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/runtime/handoff/collect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAAE,QAAQ,EAAQ,MAAM,WAAW,CAAC;AAY3C,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAItE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACtC,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC3C,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,CAAC;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,GAAG,EAAE,cAAc,EAAE,CAAC;IACtB,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM,CAAC;CACtD;AAoED;;;;6EAI6E;AAC7E,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BlE;AAwBD,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA2E/F;AAED;;2EAE2E;AAC3E,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -61,7 +61,9 @@ async function artifactOf(sessionId, key, kind) {
|
|
|
61
61
|
const path = typeof parsed === 'string' && !parsed.startsWith('<unreadable') ? parsed : null;
|
|
62
62
|
const fromJson = typeof parsed === 'string' ? null : parsed;
|
|
63
63
|
const p = path ?? (typeof fromJson === 'string' ? fromJson : null);
|
|
64
|
-
|
|
64
|
+
// A blank/whitespace path (e.g. a key cleared on the scope_start re-arm,
|
|
65
|
+
// wg-4c48ef1b9969) is semantically "no artifact" — NOT a broken one.
|
|
66
|
+
if (p === null || p.trim() === '')
|
|
65
67
|
return null;
|
|
66
68
|
try {
|
|
67
69
|
const sha8 = createHash('sha256')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/runtime/handoff/collect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/runtime/handoff/collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ import { exitIfSubagent } from './subagent_guard.js';
|
|
|
35
35
|
import { claimUmbrellaLeaseForSession } from '../chat/claim_lease.js';
|
|
36
36
|
import { Event } from '../types.js';
|
|
37
37
|
import { dispatchEvent } from './dispatch.js';
|
|
38
|
-
import { extractSessionId } from './session_id.js';
|
|
38
|
+
import { extractSessionId, recordCurrentSession } from './session_id.js';
|
|
39
39
|
function parsePayload(raw) {
|
|
40
40
|
const obj = JSON.parse(raw);
|
|
41
41
|
return {
|
|
@@ -86,6 +86,10 @@ async function main() {
|
|
|
86
86
|
// so a chat message drives THIS session + the headless stands down — even
|
|
87
87
|
// before the first keystroke. No-op in `responder: headless` mode / no umbrella.
|
|
88
88
|
const startCwd = parsed.data.kind === 'session_start' ? parsed.data.cwd : process.cwd();
|
|
89
|
+
// wg-16803ed82901: record the live-session pointer from session START (not only the
|
|
90
|
+
// first UPS), so the MCP server resolves THIS session immediately — closing the
|
|
91
|
+
// window where it would otherwise read a stale/foreign project pointer.
|
|
92
|
+
await recordCurrentSession(sessionId, startCwd);
|
|
89
93
|
// T-CHAT-REALTIME: a session START is the user's deliberate "route chat HERE" signal —
|
|
90
94
|
// the session changes even when the project doesn't, so TAKE OVER the umbrella lease
|
|
91
95
|
// (newest-session-wins) rather than defer to a possibly-dead prior holder. The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/runtime/hooks/session-start.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/runtime/hooks/session-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,13 @@ export declare function recordCurrentSession(sessionId: string, cwd?: string): P
|
|
|
40
40
|
export declare function readCurrentSession(): Promise<string | null>;
|
|
41
41
|
/** Read the project-scoped live session id, or `null` if absent/unreadable/empty. */
|
|
42
42
|
export declare function readProjectCurrentSession(projectUuid: string): Promise<string | null>;
|
|
43
|
+
/** Read the project-scoped live-session id, keyed the ONE canonical way. The single
|
|
44
|
+
* chokepoint every reader (resolveMcpSessionId, the handoff CLI, handoff_session_start)
|
|
45
|
+
* routes through — no site resolves the pointer uuid itself. */
|
|
46
|
+
export declare function readSessionPointer(cwd: string, env?: NodeJS.ProcessEnv): Promise<string | null>;
|
|
47
|
+
/** Write the project-scoped live-session id, keyed the SAME canonical way as the read.
|
|
48
|
+
* Best-effort is the caller's contract (recordCurrentSession's try/catch). */
|
|
49
|
+
export declare function writeSessionPointer(sessionId: string, cwd: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
43
50
|
/**
|
|
44
51
|
* Session resolution for MCP tools (the MCP server is a separate process from
|
|
45
52
|
* the hooks, so it can't read hook stdin).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_id.d.ts","sourceRoot":"","sources":["../../../src/runtime/hooks/session_id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYpD;AAED,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,QAAO,MAAoD,CAAC;AAE3F;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"session_id.d.ts","sourceRoot":"","sources":["../../../src/runtime/hooks/session_id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAYH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYpD;AAED,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,QAAO,MAAoD,CAAC;AAE3F;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBzF;AAED,6EAA6E;AAC7E,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE;AAED,qFAAqF;AACrF,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO3F;AAYD;;iEAEiE;AACjE,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED;+EAC+E;AAC/E,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAOf;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBlE"}
|
|
@@ -70,12 +70,7 @@ export async function recordCurrentSession(sessionId, cwd) {
|
|
|
70
70
|
// pointer and can't clobber this one. Skipped (no error) for a cwd that
|
|
71
71
|
// isn't inside a uuid-bound project (`.opensquid/project.json` absent).
|
|
72
72
|
if (cwd !== undefined && cwd !== '') {
|
|
73
|
-
|
|
74
|
-
if (uuid !== null) {
|
|
75
|
-
const scoped = projectCurrentSessionPath(uuid);
|
|
76
|
-
await mkdir(dirname(scoped), { recursive: true });
|
|
77
|
-
await writeFile(scoped, sessionId, 'utf-8');
|
|
78
|
-
}
|
|
73
|
+
await writeSessionPointer(sessionId, cwd, process.env);
|
|
79
74
|
}
|
|
80
75
|
}
|
|
81
76
|
catch {
|
|
@@ -102,6 +97,32 @@ export async function readProjectCurrentSession(projectUuid) {
|
|
|
102
97
|
return null;
|
|
103
98
|
}
|
|
104
99
|
}
|
|
100
|
+
/** wg-16803ed82901: the dir to start the project-uuid walk from for SESSION-POINTER
|
|
101
|
+
* purposes — the authoritative project root `CLAUDE_PROJECT_DIR` when set, else the
|
|
102
|
+
* local cwd. Internal: the ONLY place the pointer's start dir is decided, so the
|
|
103
|
+
* read and write sides can never diverge (the MCP keys on CLAUDE_PROJECT_DIR while a
|
|
104
|
+
* session's working cwd may be a sub-repo with its own project card). */
|
|
105
|
+
function pointerUuidStart(cwd, env) {
|
|
106
|
+
const pd = env.CLAUDE_PROJECT_DIR;
|
|
107
|
+
return pd !== undefined && pd !== '' ? pd : cwd;
|
|
108
|
+
}
|
|
109
|
+
/** Read the project-scoped live-session id, keyed the ONE canonical way. The single
|
|
110
|
+
* chokepoint every reader (resolveMcpSessionId, the handoff CLI, handoff_session_start)
|
|
111
|
+
* routes through — no site resolves the pointer uuid itself. */
|
|
112
|
+
export async function readSessionPointer(cwd, env = process.env) {
|
|
113
|
+
const uuid = await resolveProjectUuid({ cwd: pointerUuidStart(cwd, env), env });
|
|
114
|
+
return uuid === null ? null : readProjectCurrentSession(uuid);
|
|
115
|
+
}
|
|
116
|
+
/** Write the project-scoped live-session id, keyed the SAME canonical way as the read.
|
|
117
|
+
* Best-effort is the caller's contract (recordCurrentSession's try/catch). */
|
|
118
|
+
export async function writeSessionPointer(sessionId, cwd, env = process.env) {
|
|
119
|
+
const uuid = await resolveProjectUuid({ cwd: pointerUuidStart(cwd, env), env });
|
|
120
|
+
if (uuid !== null) {
|
|
121
|
+
const scoped = projectCurrentSessionPath(uuid);
|
|
122
|
+
await mkdir(dirname(scoped), { recursive: true });
|
|
123
|
+
await writeFile(scoped, sessionId, 'utf-8');
|
|
124
|
+
}
|
|
125
|
+
}
|
|
105
126
|
/**
|
|
106
127
|
* FU.7 — does `sessions/<id>/` exist? The existence of the per-session dir
|
|
107
128
|
* (created by the session's own hooks when they first write state) is the
|
|
@@ -174,12 +195,9 @@ export async function resolveMcpSessionId() {
|
|
|
174
195
|
return ccEnv;
|
|
175
196
|
const projectDir = env.CLAUDE_PROJECT_DIR;
|
|
176
197
|
if (projectDir !== undefined && projectDir.length > 0) {
|
|
177
|
-
const
|
|
178
|
-
if (
|
|
179
|
-
|
|
180
|
-
if (scoped !== null)
|
|
181
|
-
return scoped;
|
|
182
|
-
}
|
|
198
|
+
const scoped = await readSessionPointer(projectDir, env);
|
|
199
|
+
if (scoped !== null)
|
|
200
|
+
return scoped;
|
|
183
201
|
}
|
|
184
202
|
return readCurrentSession();
|
|
185
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_id.js","sourceRoot":"","sources":["../../../src/runtime/hooks/session_id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAO5F;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,GAAG,GAAqB,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC,UAAU,CAAC;IACvF,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC;IACpF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IAChD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAE3F;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,GAAY;IACxE,oFAAoF;IACpF,0FAA0F;IAC1F,wFAAwF;IACxF,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,cAAc;QAAE,OAAO;IACxF,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"session_id.js","sourceRoot":"","sources":["../../../src/runtime/hooks/session_id.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/index.js
CHANGED
|
@@ -38,6 +38,6 @@ export { WebhookServer, } from './webhook_server.js';
|
|
|
38
38
|
export { loadWebhookSubscriptions, WebhookSubscriptionError, redact, } from './webhook_subscriptions.js';
|
|
39
39
|
// Warm-agent chat bridge (WAB.2, 0.5.94) — typed event bus + per-project
|
|
40
40
|
// inbox JSONL → InboundChatEvent transport bridge. Foundation for the
|
|
41
|
-
// WAB.3-WAB.7 warm-pool chat agent. See the warm-agent planning notes
|
|
41
|
+
// WAB.3-WAB.7 warm-pool chat agent. See the warm-agent planning notes (not retained — docs/tasks/WAB.1-architecture.md is the surviving authority).
|
|
42
42
|
export * from './agent_bridge/index.js';
|
|
43
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAgD,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAA0C,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EACL,eAAe,EACf,YAAY,EACZ,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAyB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,yEAAyE;AACzE,uEAAuE;AACvE,0EAA0E;AAC1E,gCAAgC;AAChC,OAAO,EAAE,oBAAoB,EAAmB,MAAM,oBAAoB,CAAC;AAE3E,0EAA0E;AAC1E,qEAAqE;AACrE,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,uEAAuE;AACvE,0EAA0E;AAC1E,6DAA6D;AAC7D,OAAO,EACL,eAAe,GAMhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,GAKd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,GAEP,MAAM,4BAA4B,CAAC;AAEpC,yEAAyE;AACzE,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAgD,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAA0C,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC9F,OAAO,EACL,eAAe,EACf,YAAY,EACZ,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAyB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,yEAAyE;AACzE,uEAAuE;AACvE,0EAA0E;AAC1E,gCAAgC;AAChC,OAAO,EAAE,oBAAoB,EAAmB,MAAM,oBAAoB,CAAC;AAE3E,0EAA0E;AAC1E,qEAAqE;AACrE,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,uEAAuE;AACvE,0EAA0E;AAC1E,6DAA6D;AAC7D,OAAO,EACL,eAAe,GAMhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,GAKd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,GAEP,MAAM,4BAA4B,CAAC;AAEpC,yEAAyE;AACzE,sEAAsE;AACtE,oJAAoJ;AACpJ,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single writable home for the "is this change docs-only (non-code)?" predicate.
|
|
3
|
+
*
|
|
4
|
+
* Shared by the EXECUTE-gate boundary (`src/setup/cli/gate.ts`) and the in-session commit
|
|
5
|
+
* nudge (via the `staged_docs_only` primitive, `src/functions/staged_docs_only.ts`) so the
|
|
6
|
+
* two enforcement points can never diverge. A pure leaf — zero imports — so the hot
|
|
7
|
+
* function-registry layer can import it without dragging in the gate's CLI/runtime chain.
|
|
8
|
+
*
|
|
9
|
+
* Imported by: src/setup/cli/gate.ts, src/functions/staged_docs_only.ts.
|
|
10
|
+
*/
|
|
11
|
+
/** The code prefixes the coding-flow protects. A change touching NONE of these is "docs-only"
|
|
12
|
+
* (non-code: README, banner, docs/, LICENSE, CI config…). Keep in sync with the
|
|
13
|
+
* scope-lifecycle write-gate substrings — the drift pin in gate.test.ts enforces it. */
|
|
14
|
+
export declare const PROTECTED_PREFIXES: readonly ["src/", "packs/", "test/"];
|
|
15
|
+
/** True iff every changed file is OUTSIDE the protected (code) prefixes. Empty set → `false`
|
|
16
|
+
* (fail closed: "nothing proves this docs-only"). Paths are git repo-relative. */
|
|
17
|
+
export declare const isDocsOnly: (files: string[]) => boolean;
|
|
18
|
+
//# sourceMappingURL=protected_paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected_paths.d.ts","sourceRoot":"","sources":["../../src/runtime/protected_paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;yFAEyF;AACzF,eAAO,MAAM,kBAAkB,sCAAuC,CAAC;AAEvE;mFACmF;AACnF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,KAAG,OAC6C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single writable home for the "is this change docs-only (non-code)?" predicate.
|
|
3
|
+
*
|
|
4
|
+
* Shared by the EXECUTE-gate boundary (`src/setup/cli/gate.ts`) and the in-session commit
|
|
5
|
+
* nudge (via the `staged_docs_only` primitive, `src/functions/staged_docs_only.ts`) so the
|
|
6
|
+
* two enforcement points can never diverge. A pure leaf — zero imports — so the hot
|
|
7
|
+
* function-registry layer can import it without dragging in the gate's CLI/runtime chain.
|
|
8
|
+
*
|
|
9
|
+
* Imported by: src/setup/cli/gate.ts, src/functions/staged_docs_only.ts.
|
|
10
|
+
*/
|
|
11
|
+
/** The code prefixes the coding-flow protects. A change touching NONE of these is "docs-only"
|
|
12
|
+
* (non-code: README, banner, docs/, LICENSE, CI config…). Keep in sync with the
|
|
13
|
+
* scope-lifecycle write-gate substrings — the drift pin in gate.test.ts enforces it. */
|
|
14
|
+
export const PROTECTED_PREFIXES = ['src/', 'packs/', 'test/'];
|
|
15
|
+
/** True iff every changed file is OUTSIDE the protected (code) prefixes. Empty set → `false`
|
|
16
|
+
* (fail closed: "nothing proves this docs-only"). Paths are git repo-relative. */
|
|
17
|
+
export const isDocsOnly = (files) => files.length > 0 && files.every((f) => !PROTECTED_PREFIXES.some((p) => f.startsWith(p)));
|
|
18
|
+
//# sourceMappingURL=protected_paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected_paths.js","sourceRoot":"","sources":["../../src/runtime/protected_paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;yFAEyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEvE;mFACmF;AACnF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAW,EAAE,CACrD,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -42,6 +42,10 @@ export declare const SESSION_LEDGER_CAP = 200;
|
|
|
42
42
|
export interface ToolLedger {
|
|
43
43
|
turn: string[];
|
|
44
44
|
session: string[];
|
|
45
|
+
/** wg-3e241144f441: per-track research window. Reset at scope_start (the re-arm,
|
|
46
|
+
* via reset_scope_track_state), SURVIVES turn resets — so the SCOPE depth gate
|
|
47
|
+
* counts research across all of a track's scoping turns, not just the write-turn. */
|
|
48
|
+
sinceScope: string[];
|
|
45
49
|
}
|
|
46
50
|
/**
|
|
47
51
|
* Conservative, fail-closed: true only if EVERY pipeline/sequence segment is an allowlisted
|
|
@@ -67,13 +71,17 @@ export declare function readSessionCwd(sessionId: string): Promise<string | null
|
|
|
67
71
|
* A missing ledger is created with an empty `turn` (no-op semantically).
|
|
68
72
|
*/
|
|
69
73
|
export declare function resetTurnLedger(sessionId: string): Promise<void>;
|
|
74
|
+
/** wg-3e241144f441: zero the per-track research window at scope_start (the re-arm).
|
|
75
|
+
* Called by reset_scope_track_state — `sinceScope` survives turn resets but resets
|
|
76
|
+
* when a NEW track begins, so the SCOPE depth gate measures research for THIS track. */
|
|
77
|
+
export declare function resetScopeWindow(sessionId: string): Promise<void>;
|
|
70
78
|
/**
|
|
71
79
|
* Read the tool ledger for the given scope. `current_turn` returns names
|
|
72
80
|
* since the last `UserPromptSubmit`; `session` returns up to the most-recent
|
|
73
81
|
* 200 names across the whole session. Returns `{ tools: [] }` on missing
|
|
74
82
|
* or unreadable state.
|
|
75
83
|
*/
|
|
76
|
-
export declare function readSessionToolLedger(sessionId: string, scope: 'current_turn' | 'session'): Promise<{
|
|
84
|
+
export declare function readSessionToolLedger(sessionId: string, scope: 'current_turn' | 'session' | 'since_scope_start'): Promise<{
|
|
77
85
|
tools: string[];
|
|
78
86
|
}>;
|
|
79
87
|
export interface ActiveTask {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_state.d.ts","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAQH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAKtC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"session_state.d.ts","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ export const SESSION_LEDGER_CAP = 200;
|
|
|
44
44
|
/** Well-known session-state key for the tool-call ledger. */
|
|
45
45
|
const LEDGER_KEY = 'tool-ledger';
|
|
46
46
|
function emptyLedger() {
|
|
47
|
-
return { turn: [], session: [] };
|
|
47
|
+
return { turn: [], session: [], sinceScope: [] };
|
|
48
48
|
}
|
|
49
49
|
async function readLedger(sessionId) {
|
|
50
50
|
try {
|
|
@@ -58,7 +58,12 @@ async function readLedger(sessionId) {
|
|
|
58
58
|
Array.isArray(parsed.session)) {
|
|
59
59
|
const turn = parsed.turn.filter((x) => typeof x === 'string');
|
|
60
60
|
const session = parsed.session.filter((x) => typeof x === 'string');
|
|
61
|
-
|
|
61
|
+
// Backward-compatible: a pre-upgrade ledger has no `sinceScope` → default [].
|
|
62
|
+
const rawSince = parsed.sinceScope;
|
|
63
|
+
const sinceScope = Array.isArray(rawSince)
|
|
64
|
+
? rawSince.filter((x) => typeof x === 'string')
|
|
65
|
+
: [];
|
|
66
|
+
return { turn, session, sinceScope };
|
|
62
67
|
}
|
|
63
68
|
return emptyLedger();
|
|
64
69
|
}
|
|
@@ -144,6 +149,7 @@ export async function appendTool(sessionId, toolName, command) {
|
|
|
144
149
|
const push = (name) => {
|
|
145
150
|
ledger.turn.push(name);
|
|
146
151
|
ledger.session.push(name);
|
|
152
|
+
ledger.sinceScope.push(name);
|
|
147
153
|
};
|
|
148
154
|
push(toolName);
|
|
149
155
|
if (toolName === 'Bash' && typeof command === 'string' && isReadOnlyBash(command)) {
|
|
@@ -152,6 +158,9 @@ export async function appendTool(sessionId, toolName, command) {
|
|
|
152
158
|
if (ledger.session.length > SESSION_LEDGER_CAP) {
|
|
153
159
|
ledger.session = ledger.session.slice(-SESSION_LEDGER_CAP);
|
|
154
160
|
}
|
|
161
|
+
if (ledger.sinceScope.length > SESSION_LEDGER_CAP) {
|
|
162
|
+
ledger.sinceScope = ledger.sinceScope.slice(-SESSION_LEDGER_CAP);
|
|
163
|
+
}
|
|
155
164
|
await writeLedger(sessionId, ledger);
|
|
156
165
|
}
|
|
157
166
|
// ---------------------------------------------------------------------------
|
|
@@ -189,6 +198,14 @@ export async function resetTurnLedger(sessionId) {
|
|
|
189
198
|
ledger.turn = [];
|
|
190
199
|
await writeLedger(sessionId, ledger);
|
|
191
200
|
}
|
|
201
|
+
/** wg-3e241144f441: zero the per-track research window at scope_start (the re-arm).
|
|
202
|
+
* Called by reset_scope_track_state — `sinceScope` survives turn resets but resets
|
|
203
|
+
* when a NEW track begins, so the SCOPE depth gate measures research for THIS track. */
|
|
204
|
+
export async function resetScopeWindow(sessionId) {
|
|
205
|
+
const ledger = await readLedger(sessionId);
|
|
206
|
+
ledger.sinceScope = [];
|
|
207
|
+
await writeLedger(sessionId, ledger);
|
|
208
|
+
}
|
|
192
209
|
/**
|
|
193
210
|
* Read the tool ledger for the given scope. `current_turn` returns names
|
|
194
211
|
* since the last `UserPromptSubmit`; `session` returns up to the most-recent
|
|
@@ -197,7 +214,12 @@ export async function resetTurnLedger(sessionId) {
|
|
|
197
214
|
*/
|
|
198
215
|
export async function readSessionToolLedger(sessionId, scope) {
|
|
199
216
|
const ledger = await readLedger(sessionId);
|
|
200
|
-
|
|
217
|
+
const tools = scope === 'current_turn'
|
|
218
|
+
? ledger.turn
|
|
219
|
+
: scope === 'since_scope_start'
|
|
220
|
+
? ledger.sinceScope
|
|
221
|
+
: ledger.session;
|
|
222
|
+
return { tools: [...tools] };
|
|
201
223
|
}
|
|
202
224
|
/** Write the active-task signal (called by the AP.1 PreToolUse mirror). */
|
|
203
225
|
export async function writeActiveTask(sessionId, task) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session_state.js","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIpD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,6DAA6D;AAC7D,MAAM,UAAU,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session_state.js","sourceRoot":"","sources":["../../src/runtime/session_state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression_deps.d.ts","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AAIzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"compression_deps.d.ts","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"AAmBA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,iCAAiC,CAAC;AAIzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAoDxE"}
|
|
@@ -42,7 +42,15 @@ export async function makeConsolidateRunner() {
|
|
|
42
42
|
getMemoryById: (id) => getMemoryById(client, id),
|
|
43
43
|
insertMemory: (m) => insertMemory(client, m, sourceDir),
|
|
44
44
|
recallIds: (query, k) => resolveRecallScope().then((scope) => backend.recall(query, k, scope).then((hits) => hits.map((h) => h.lesson.id))),
|
|
45
|
-
|
|
45
|
+
demoteMemory: (id) => {
|
|
46
|
+
// wg-9e4f4eb2a40f: DEMOTE (retire), not hard-delete — retain the rollback floor. The live
|
|
47
|
+
// libsql-fastembed store always implements demoteLesson (like the dbUrl guard above); fail
|
|
48
|
+
// loud if a non-consolidating backend is ever wired here.
|
|
49
|
+
if (backend.demoteLesson === undefined) {
|
|
50
|
+
return Promise.reject(new Error('compression: backend has no demoteLesson — cannot consolidate'));
|
|
51
|
+
}
|
|
52
|
+
return backend.demoteLesson(id);
|
|
53
|
+
},
|
|
46
54
|
summarize: (prompt) => {
|
|
47
55
|
if (reasoningCfg === undefined) {
|
|
48
56
|
return Promise.reject(new Error('compression: no "reasoning" model alias configured'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression_deps.js","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACL,WAAW,GAGZ,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOlG;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,GAAG,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACzC,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,qCAAqC,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,iCAAiC;IAC1D,8FAA8F;IAC9F,kEAAkE;IAClE,MAAM,SAAS,GAAG,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;IAEtC,MAAM,IAAI,GAAoB;QAC5B,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAChD,YAAY,EAAE,CAAC,CAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC;QAClE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC7E;QACH,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"compression_deps.js","sourceRoot":"","sources":["../../../src/runtime/wedge/compression_deps.ts"],"names":[],"mappings":"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"}
|