@phamvuhoang/otto-core 0.33.0 → 0.33.1
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/codebase-memory-adapter.d.ts +99 -0
- package/dist/codebase-memory-adapter.d.ts.map +1 -0
- package/dist/codebase-memory-adapter.js +127 -0
- package/dist/codebase-memory-adapter.js.map +1 -0
- package/dist/context-compressor.d.ts +11 -0
- package/dist/context-compressor.d.ts.map +1 -1
- package/dist/context-compressor.js +16 -0
- package/dist/context-compressor.js.map +1 -1
- package/dist/eval.d.ts +30 -0
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +42 -1
- package/dist/eval.js.map +1 -1
- package/dist/extension-profiles.d.ts.map +1 -1
- package/dist/extension-profiles.js +11 -0
- package/dist/extension-profiles.js.map +1 -1
- package/dist/fanout.d.ts +48 -1
- package/dist/fanout.d.ts.map +1 -1
- package/dist/fanout.js +121 -11
- package/dist/fanout.js.map +1 -1
- package/dist/handoff.d.ts +32 -0
- package/dist/handoff.d.ts.map +1 -0
- package/dist/handoff.js +58 -0
- package/dist/handoff.js.map +1 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +59 -2
- package/dist/loop.js.map +1 -1
- package/dist/panel.d.ts +10 -0
- package/dist/panel.d.ts.map +1 -1
- package/dist/panel.js +29 -4
- package/dist/panel.js.map +1 -1
- package/dist/plan-tasks.d.ts +39 -5
- package/dist/plan-tasks.d.ts.map +1 -1
- package/dist/plan-tasks.js +85 -12
- package/dist/plan-tasks.js.map +1 -1
- package/dist/report-finalize.d.ts +9 -0
- package/dist/report-finalize.d.ts.map +1 -1
- package/dist/report-finalize.js +28 -1
- package/dist/report-finalize.js.map +1 -1
- package/dist/run-report.d.ts +45 -0
- package/dist/run-report.d.ts.map +1 -1
- package/dist/run-report.js +18 -0
- package/dist/run-report.js.map +1 -1
- package/dist/tools.d.ts +17 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +48 -0
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
- package/templates/subtask.md +17 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ToolDefinition } from "./tools.js";
|
|
2
|
+
/**
|
|
3
|
+
* Codebase Memory adapter (P26 spike, Task 2). Otto owns a local MCP stdio
|
|
4
|
+
* child (`codebase-memory`) that builds and queries a code-knowledge graph
|
|
5
|
+
* for the target repo — architecture summaries, call-path tracing, symbol
|
|
6
|
+
* search — without any runtime network access. The adapter follows the same
|
|
7
|
+
* house pattern as {@link ./headroom-adapter.js}: a {@link ToolDefinition}
|
|
8
|
+
* factory for the `.otto/tools/` registry (`otto-tools list/why/health`,
|
|
9
|
+
* policy authorization) plus an injectable transport ({@link CbmRunner}) so
|
|
10
|
+
* unit tests never spawn a real process.
|
|
11
|
+
*
|
|
12
|
+
* The tool is opt-in and inert until a repo registers + enables it:
|
|
13
|
+
* `stages: []` (no default injection into any stage template), `enabled:
|
|
14
|
+
* false` (registry-level off switch), `networkDomains: []` (no runtime
|
|
15
|
+
* network — the graph lives entirely in a local cache), and `writeRoots:
|
|
16
|
+
* [".codebase-memory"]` (writes confined to its own cache directory).
|
|
17
|
+
*/
|
|
18
|
+
/** One JSON-RPC request to the codebase-memory MCP child. */
|
|
19
|
+
export type CbmRequest = {
|
|
20
|
+
operation: string;
|
|
21
|
+
params: Record<string, unknown>;
|
|
22
|
+
};
|
|
23
|
+
/** The structured response from a {@link CbmRunner} call. */
|
|
24
|
+
export type CbmResponse = {
|
|
25
|
+
ok: boolean;
|
|
26
|
+
result?: unknown;
|
|
27
|
+
error?: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* The injectable transport the adapter drives. The real implementation
|
|
31
|
+
* ({@link createStdioCbmRunner}) spawns the MCP child over stdio; unit tests
|
|
32
|
+
* inject a stub — this contract is the seam.
|
|
33
|
+
*/
|
|
34
|
+
export type CbmRunner = {
|
|
35
|
+
available(): boolean;
|
|
36
|
+
call(req: CbmRequest): CbmResponse;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* The {@link ToolDefinition} a repo drops into `.otto/tools/codebase-memory.json`
|
|
40
|
+
* (mirrors {@link ./headroom-adapter.js}'s `headroomToolDefinition`). Declares
|
|
41
|
+
* no runtime network, cache-only writes, and the operation allowlist
|
|
42
|
+
* (`operations`) that a caller can gate calls against. `stages: []` and
|
|
43
|
+
* `enabled: false` keep it fully opt-in — a bare repo behaves as before.
|
|
44
|
+
*/
|
|
45
|
+
export declare function codebaseMemoryToolDefinition(command?: string): ToolDefinition;
|
|
46
|
+
/**
|
|
47
|
+
* Real transport: a minimal newline-delimited JSON-RPC client over stdio.
|
|
48
|
+
* Sends an `initialize` handshake followed by one `tools/call`, both
|
|
49
|
+
* newline-framed, and reads the child's stdout for the matching response.
|
|
50
|
+
* Synchronous (`spawnSync`) to fit the same render/`@spill`-boundary
|
|
51
|
+
* constraints as the Headroom runners. Only exercised under the gated e2e —
|
|
52
|
+
* unit tests inject a {@link CbmRunner} stub instead.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createStdioCbmRunner(command: string, cwd: string, timeoutMs: number): CbmRunner;
|
|
55
|
+
/**
|
|
56
|
+
* Identity stamp a persisted `.codebase-memory/` index carries, so a later
|
|
57
|
+
* run can tell whether it's safe to trust without re-indexing: which
|
|
58
|
+
* workspace it was built for, the source revision it was built at, whether
|
|
59
|
+
* the worktree was dirty at build time, and tool/index bookkeeping.
|
|
60
|
+
*/
|
|
61
|
+
export type CbmIndexIdentity = {
|
|
62
|
+
workspace: string;
|
|
63
|
+
sourceRevision: string;
|
|
64
|
+
worktreeDirty: boolean;
|
|
65
|
+
toolVersion: string;
|
|
66
|
+
indexStatus: string;
|
|
67
|
+
indexedAt: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Freshness verdict for a persisted index against the current workspace
|
|
71
|
+
* state: `absent` (no index or no current state to compare), `wrong-project`
|
|
72
|
+
* (index was built for a different workspace), `stale` (revision drift or a
|
|
73
|
+
* dirty worktree since indexing), `fresh` (safe to trust as-is).
|
|
74
|
+
*/
|
|
75
|
+
export type IndexFreshness = "fresh" | "stale" | "absent" | "wrong-project";
|
|
76
|
+
/**
|
|
77
|
+
* Classifies a persisted index's freshness against the current workspace
|
|
78
|
+
* identity. Pure — no filesystem or process access; callers gather
|
|
79
|
+
* `current`/`index` themselves.
|
|
80
|
+
*/
|
|
81
|
+
export declare function classifyIndexFreshness(current: {
|
|
82
|
+
workspace: string;
|
|
83
|
+
sourceRevision: string;
|
|
84
|
+
worktreeDirty: boolean;
|
|
85
|
+
} | null, index: CbmIndexIdentity | null): IndexFreshness;
|
|
86
|
+
/**
|
|
87
|
+
* New files written during a run (`after \ before`) plus which of those
|
|
88
|
+
* escaped the tool's declared write roots — i.e. wrote outside
|
|
89
|
+
* `.codebase-memory/` (see `writeRoots` on {@link codebaseMemoryToolDefinition}).
|
|
90
|
+
* A declared root matches itself exactly or any path under `root + "/"`, so
|
|
91
|
+
* a root doesn't accidentally prefix-match a sibling like `.codebase-memory-foo`.
|
|
92
|
+
*/
|
|
93
|
+
export type WriteInventory = {
|
|
94
|
+
files: string[];
|
|
95
|
+
escaped: string[];
|
|
96
|
+
};
|
|
97
|
+
/** Pure diff of two file-path snapshots against a set of declared write roots. */
|
|
98
|
+
export declare function diffWriteInventory(before: string[], after: string[], declaredRoots: string[]): WriteInventory;
|
|
99
|
+
//# sourceMappingURL=codebase-memory-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codebase-memory-adapter.d.ts","sourceRoot":"","sources":["../src/codebase-memory-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,IAAI,OAAO,CAAC;IACrB,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAAC;CACpC,CAAC;AAoBF;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,SAAoB,GAC1B,cAAc,CAwBhB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,SAAS,CA0CX;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE5E;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG,IAAI,EACR,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7B,cAAc,CAMhB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpE,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EAAE,GACtB,cAAc,CAWhB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
/** Read-only operations the codebase-memory server exposes. */
|
|
3
|
+
const READ_OPS = [
|
|
4
|
+
"index_status",
|
|
5
|
+
"get_graph_schema",
|
|
6
|
+
"get_architecture",
|
|
7
|
+
"search_graph",
|
|
8
|
+
"trace_path",
|
|
9
|
+
"detect_changes",
|
|
10
|
+
"search_code",
|
|
11
|
+
"get_code_snippet",
|
|
12
|
+
];
|
|
13
|
+
/** The full operation allowlist: one write op + the read-only surface. */
|
|
14
|
+
const OPERATIONS = [
|
|
15
|
+
{ name: "index_repository", write: true },
|
|
16
|
+
...READ_OPS.map((name) => ({ name, write: false })),
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* The {@link ToolDefinition} a repo drops into `.otto/tools/codebase-memory.json`
|
|
20
|
+
* (mirrors {@link ./headroom-adapter.js}'s `headroomToolDefinition`). Declares
|
|
21
|
+
* no runtime network, cache-only writes, and the operation allowlist
|
|
22
|
+
* (`operations`) that a caller can gate calls against. `stages: []` and
|
|
23
|
+
* `enabled: false` keep it fully opt-in — a bare repo behaves as before.
|
|
24
|
+
*/
|
|
25
|
+
export function codebaseMemoryToolDefinition(command = "codebase-memory") {
|
|
26
|
+
return {
|
|
27
|
+
name: "codebase-memory",
|
|
28
|
+
kind: "mcp",
|
|
29
|
+
description: "Local code-knowledge graph via an Otto-owned MCP stdio child.",
|
|
30
|
+
capabilities: [
|
|
31
|
+
"architecture",
|
|
32
|
+
"call-path",
|
|
33
|
+
"change-impact",
|
|
34
|
+
"symbol-search",
|
|
35
|
+
],
|
|
36
|
+
stages: [], // opt-in via config; no default injection
|
|
37
|
+
command,
|
|
38
|
+
env: [],
|
|
39
|
+
networkDomains: [], // no runtime network
|
|
40
|
+
writeRoots: [".codebase-memory"], // cache-only
|
|
41
|
+
secretRefs: [],
|
|
42
|
+
timeoutMs: 120_000,
|
|
43
|
+
healthCheck: `${command} --version`,
|
|
44
|
+
approvalActions: [],
|
|
45
|
+
enabled: false,
|
|
46
|
+
operations: OPERATIONS,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Real transport: a minimal newline-delimited JSON-RPC client over stdio.
|
|
51
|
+
* Sends an `initialize` handshake followed by one `tools/call`, both
|
|
52
|
+
* newline-framed, and reads the child's stdout for the matching response.
|
|
53
|
+
* Synchronous (`spawnSync`) to fit the same render/`@spill`-boundary
|
|
54
|
+
* constraints as the Headroom runners. Only exercised under the gated e2e —
|
|
55
|
+
* unit tests inject a {@link CbmRunner} stub instead.
|
|
56
|
+
*/
|
|
57
|
+
export function createStdioCbmRunner(command, cwd, timeoutMs) {
|
|
58
|
+
const [bin, ...args] = command.split(" ");
|
|
59
|
+
const available = () => {
|
|
60
|
+
const probe = spawnSync(bin, ["--version"], { cwd, timeout: 5000 });
|
|
61
|
+
return probe.status === 0;
|
|
62
|
+
};
|
|
63
|
+
// One-shot request/response: initialize handshake + tools/call, newline-framed.
|
|
64
|
+
const call = (req) => {
|
|
65
|
+
const init = JSON.stringify({
|
|
66
|
+
jsonrpc: "2.0",
|
|
67
|
+
id: 1,
|
|
68
|
+
method: "initialize",
|
|
69
|
+
params: {},
|
|
70
|
+
});
|
|
71
|
+
const callMsg = JSON.stringify({
|
|
72
|
+
jsonrpc: "2.0",
|
|
73
|
+
id: 2,
|
|
74
|
+
method: "tools/call",
|
|
75
|
+
params: { name: req.operation, arguments: req.params },
|
|
76
|
+
});
|
|
77
|
+
const proc = spawnSync(bin, args, {
|
|
78
|
+
cwd,
|
|
79
|
+
timeout: timeoutMs,
|
|
80
|
+
input: `${init}\n${callMsg}\n`,
|
|
81
|
+
});
|
|
82
|
+
if (proc.status !== 0)
|
|
83
|
+
return { ok: false, error: proc.stderr?.toString() || "child failed" };
|
|
84
|
+
const lines = proc.stdout.toString().split("\n").filter(Boolean);
|
|
85
|
+
for (const line of lines) {
|
|
86
|
+
try {
|
|
87
|
+
const msg = JSON.parse(line);
|
|
88
|
+
if (msg.id === 2 && "result" in msg)
|
|
89
|
+
return { ok: true, result: msg.result };
|
|
90
|
+
if (msg.id === 2 && "error" in msg)
|
|
91
|
+
return { ok: false, error: String(msg.error.message ?? msg.error) };
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
/* ignore non-JSON banner lines */
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { ok: false, error: "no response for tools/call" };
|
|
98
|
+
};
|
|
99
|
+
return { available, call };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Classifies a persisted index's freshness against the current workspace
|
|
103
|
+
* identity. Pure — no filesystem or process access; callers gather
|
|
104
|
+
* `current`/`index` themselves.
|
|
105
|
+
*/
|
|
106
|
+
export function classifyIndexFreshness(current, index) {
|
|
107
|
+
if (!index || !current)
|
|
108
|
+
return "absent";
|
|
109
|
+
if (index.workspace !== current.workspace)
|
|
110
|
+
return "wrong-project";
|
|
111
|
+
if (index.sourceRevision !== current.sourceRevision || current.worktreeDirty)
|
|
112
|
+
return "stale";
|
|
113
|
+
return "fresh";
|
|
114
|
+
}
|
|
115
|
+
/** Pure diff of two file-path snapshots against a set of declared write roots. */
|
|
116
|
+
export function diffWriteInventory(before, after, declaredRoots) {
|
|
117
|
+
const beforeSet = new Set(before);
|
|
118
|
+
const files = after.filter((f) => !beforeSet.has(f));
|
|
119
|
+
const under = (f) => declaredRoots.some((raw) => {
|
|
120
|
+
// Normalize a trailing slash so a root declared as `.codebase-memory/`
|
|
121
|
+
// classifies the bare directory the same as `.codebase-memory` does.
|
|
122
|
+
const r = raw.replace(/\/+$/, "");
|
|
123
|
+
return f === r || f.startsWith(`${r}/`);
|
|
124
|
+
});
|
|
125
|
+
return { files, escaped: files.filter((f) => !under(f)) };
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=codebase-memory-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codebase-memory-adapter.js","sourceRoot":"","sources":["../src/codebase-memory-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -173,6 +173,17 @@ export declare function summarizeToolCompression(usages: ToolUsage[]): {
|
|
|
173
173
|
tokensSaved: number;
|
|
174
174
|
retrievals: number;
|
|
175
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* Summarize the codebase-memory retrieval {@link ToolUsage} records on a run's
|
|
178
|
+
* stage records (name `codebase-memory`) — what a context report reads to show
|
|
179
|
+
* graph-retrieval evidence (P26). Pure. `undefined` when no such usage is
|
|
180
|
+
* present, so a non-CBM run's report omits the section entirely.
|
|
181
|
+
*/
|
|
182
|
+
export declare function summarizeGraphRetrieval(usages: ToolUsage[]): {
|
|
183
|
+
queries: number;
|
|
184
|
+
tokensAvoided: number;
|
|
185
|
+
fallbacks: number;
|
|
186
|
+
} | undefined;
|
|
176
187
|
/** One-line human summary of compression savings for the context report. Pure. */
|
|
177
188
|
export declare function formatCompressionSummary(s: CompressionSummary): string;
|
|
178
189
|
//# sourceMappingURL=context-compressor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compressor.d.ts","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-compressor.d.ts","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"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"}
|
|
@@ -259,6 +259,22 @@ export function summarizeToolCompression(usages) {
|
|
|
259
259
|
}
|
|
260
260
|
return { invocations, tokensSaved, retrievals };
|
|
261
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Summarize the codebase-memory retrieval {@link ToolUsage} records on a run's
|
|
264
|
+
* stage records (name `codebase-memory`) — what a context report reads to show
|
|
265
|
+
* graph-retrieval evidence (P26). Pure. `undefined` when no such usage is
|
|
266
|
+
* present, so a non-CBM run's report omits the section entirely.
|
|
267
|
+
*/
|
|
268
|
+
export function summarizeGraphRetrieval(usages) {
|
|
269
|
+
const graph = usages.filter((u) => u.name === "codebase-memory");
|
|
270
|
+
if (graph.length === 0)
|
|
271
|
+
return undefined;
|
|
272
|
+
return {
|
|
273
|
+
queries: graph.length,
|
|
274
|
+
tokensAvoided: graph.reduce((s, u) => s + (u.tokensAvoided ?? 0), 0),
|
|
275
|
+
fallbacks: graph.filter((u) => u.fallbackReason).length,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
262
278
|
/** One-line human summary of compression savings for the context report. Pure. */
|
|
263
279
|
export function formatCompressionSummary(s) {
|
|
264
280
|
if (s.invocations === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../src/context-compressor.ts"],"names":[],"mappings":"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"}
|
package/dist/eval.d.ts
CHANGED
|
@@ -47,6 +47,29 @@ export type EvalSignals = {
|
|
|
47
47
|
* trajectory), so this function stays pure.
|
|
48
48
|
*/
|
|
49
49
|
reportLegibilityRatio: number | null;
|
|
50
|
+
/**
|
|
51
|
+
* Count of external tool invocations recorded across the manifest and stage
|
|
52
|
+
* records (P26 codebase-memory spike). `0` when no tools were used.
|
|
53
|
+
*/
|
|
54
|
+
toolCallCount: number;
|
|
55
|
+
/**
|
|
56
|
+
* Sum of `tokensAvoided` reported by tool invocations (P26) — tokens that
|
|
57
|
+
* would have been spent inlining context the tool retrieved instead. `0`
|
|
58
|
+
* when no tool reported an estimate.
|
|
59
|
+
*/
|
|
60
|
+
tokensAvoided: number;
|
|
61
|
+
/**
|
|
62
|
+
* Fraction (0..1) of the benchmark's known-impacted files that the run's
|
|
63
|
+
* answer text surfaced, scored by {@link scoreImpactRecall} against a
|
|
64
|
+
* fixture's `impact.json` (P26). `0` when not scored from the trajectory
|
|
65
|
+
* alone — callers score this against a fixture's known-impact list.
|
|
66
|
+
*/
|
|
67
|
+
impactRecall: number;
|
|
68
|
+
/**
|
|
69
|
+
* Milliseconds spent building/refreshing the codebase-memory index for this
|
|
70
|
+
* run (P26), summed from `manifest.codebaseMemory`. `0` for non-CBM runs.
|
|
71
|
+
*/
|
|
72
|
+
indexingOverheadMs: number;
|
|
50
73
|
};
|
|
51
74
|
/**
|
|
52
75
|
* Derive {@link EvalSignals} from a recorded run trajectory. Pure: no I/O, no
|
|
@@ -58,6 +81,13 @@ export declare function scoreTrajectory(manifest: RunManifest, stages: StageReco
|
|
|
58
81
|
planScore?: PlanRubricScore;
|
|
59
82
|
reportScore?: ReportRubricScore;
|
|
60
83
|
}): EvalSignals;
|
|
84
|
+
/**
|
|
85
|
+
* Score how many `knownImpactedFiles` a run's answer text surfaced — a thin
|
|
86
|
+
* wrapper over {@link assessFactSurvival} treating each impacted file path as
|
|
87
|
+
* a "fact" that must survive into the answer (P26 codebase-memory spike).
|
|
88
|
+
* Vacuously `1` for an empty impact list. Pure.
|
|
89
|
+
*/
|
|
90
|
+
export declare function scoreImpactRecall(knownImpactedFiles: string[], answerText: string): number;
|
|
61
91
|
/** One Otto run's signals tagged with the configuration label that produced it. */
|
|
62
92
|
export type LabelledSignals = {
|
|
63
93
|
label: string;
|
package/dist/eval.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAIhE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,WAAW,EAAE,EACrB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAAO,GAC1E,WAAW,CAoCb;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR;AAUD,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AA8FtE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,CAoCnE"}
|
package/dist/eval.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { tokenUsageTotal } from "./tokens.js";
|
|
2
|
+
import { assessFactSurvival } from "./compression-survival.js";
|
|
2
3
|
const SUCCESS_REASONS = new Set(["complete", "done"]);
|
|
3
4
|
/**
|
|
4
5
|
* Derive {@link EvalSignals} from a recorded run trajectory. Pure: no I/O, no
|
|
@@ -23,8 +24,28 @@ export function scoreTrajectory(manifest, stages, opts = {}) {
|
|
|
23
24
|
stages.reduce((n, s) => n + (s.skillsUsed?.length ?? 0), 0),
|
|
24
25
|
planQualityRatio: opts.planScore ? opts.planScore.ratio : null,
|
|
25
26
|
reportLegibilityRatio: opts.reportScore ? opts.reportScore.ratio : null,
|
|
27
|
+
toolCallCount: (manifest.toolsUsed?.length ?? 0) +
|
|
28
|
+
stages.reduce((n, s) => n + (s.toolsUsed?.length ?? 0), 0),
|
|
29
|
+
tokensAvoided: (manifest.toolsUsed?.reduce((n, t) => n + (t.tokensAvoided ?? 0), 0) ??
|
|
30
|
+
0) +
|
|
31
|
+
stages.reduce((n, s) => n +
|
|
32
|
+
(s.toolsUsed?.reduce((m, t) => m + (t.tokensAvoided ?? 0), 0) ?? 0), 0),
|
|
33
|
+
impactRecall: 0,
|
|
34
|
+
indexingOverheadMs: (manifest.codebaseMemory?.buildMs ?? 0) +
|
|
35
|
+
(manifest.codebaseMemory?.refreshMs ?? 0),
|
|
26
36
|
};
|
|
27
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Score how many `knownImpactedFiles` a run's answer text surfaced — a thin
|
|
40
|
+
* wrapper over {@link assessFactSurvival} treating each impacted file path as
|
|
41
|
+
* a "fact" that must survive into the answer (P26 codebase-memory spike).
|
|
42
|
+
* Vacuously `1` for an empty impact list. Pure.
|
|
43
|
+
*/
|
|
44
|
+
export function scoreImpactRecall(knownImpactedFiles, answerText) {
|
|
45
|
+
if (knownImpactedFiles.length === 0)
|
|
46
|
+
return 1;
|
|
47
|
+
return assessFactSurvival(knownImpactedFiles, answerText).survivalRate;
|
|
48
|
+
}
|
|
28
49
|
function elapsedMs(startedAt, finishedAt) {
|
|
29
50
|
if (finishedAt == null)
|
|
30
51
|
return null;
|
|
@@ -43,7 +64,7 @@ const COMPARE_COLUMNS = [
|
|
|
43
64
|
{ header: "Exit", cell: (s) => s.exitReason ?? "—" },
|
|
44
65
|
{
|
|
45
66
|
header: "Iterations",
|
|
46
|
-
cell: (s) =>
|
|
67
|
+
cell: (s) => s.completedIterations == null ? "—" : String(s.completedIterations),
|
|
47
68
|
},
|
|
48
69
|
{ header: "Stages", cell: (s) => String(s.stageCount) },
|
|
49
70
|
{
|
|
@@ -87,6 +108,26 @@ const COMPARE_COLUMNS = [
|
|
|
87
108
|
: `${Math.round(s.reportLegibilityRatio * 100)}%`,
|
|
88
109
|
rank: { value: (s) => s.reportLegibilityRatio, better: "higher" },
|
|
89
110
|
},
|
|
111
|
+
{
|
|
112
|
+
header: "Tool calls",
|
|
113
|
+
cell: (s) => String(s.toolCallCount),
|
|
114
|
+
rank: { value: (s) => s.toolCallCount, better: "lower" },
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
header: "Tokens avoided",
|
|
118
|
+
cell: (s) => String(s.tokensAvoided),
|
|
119
|
+
rank: { value: (s) => s.tokensAvoided, better: "higher" },
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
header: "Impact recall",
|
|
123
|
+
cell: (s) => `${Math.round(s.impactRecall * 100)}%`,
|
|
124
|
+
rank: { value: (s) => s.impactRecall, better: "higher" },
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
header: "Indexing overhead (ms)",
|
|
128
|
+
cell: (s) => String(s.indexingOverheadMs),
|
|
129
|
+
rank: { value: (s) => s.indexingOverheadMs, better: "lower" },
|
|
130
|
+
},
|
|
90
131
|
];
|
|
91
132
|
/**
|
|
92
133
|
* Render a stable markdown comparison table across labelled runs — one row per
|
package/dist/eval.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../src/eval.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-profiles.d.ts","sourceRoot":"","sources":["../src/extension-profiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-profiles.d.ts","sourceRoot":"","sources":["../src/extension-profiles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AAEH,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,mDAAmD;IACnD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,uEAAuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA+FF,kDAAkD;AAClD,wBAAgB,YAAY,IAAI,gBAAgB,EAAE,CAEjD;AAED,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEhE;AAED,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACL,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { codebaseMemoryToolDefinition } from "./codebase-memory-adapter.js";
|
|
1
2
|
import { headroomToolDefinition } from "./headroom-adapter.js";
|
|
2
3
|
/**
|
|
3
4
|
* Pinned upstream refs for the external sources. Tags, never branches, so a
|
|
@@ -70,6 +71,16 @@ const PROFILES = [
|
|
|
70
71
|
requires: [],
|
|
71
72
|
followUp: "Next: pair with otto-afk --review-panel; review .otto/policy.json and tighten further as needed.",
|
|
72
73
|
},
|
|
74
|
+
{
|
|
75
|
+
name: "codebase-intelligence",
|
|
76
|
+
description: "Local code-knowledge graph (Codebase Memory) via an Otto-owned MCP stdio child. Off by default; no live prompt injection in the spike.",
|
|
77
|
+
sources: [],
|
|
78
|
+
tools: [codebaseMemoryToolDefinition()],
|
|
79
|
+
config: { tools: { "codebase-memory": { enabled: true, stages: [] } } },
|
|
80
|
+
policy: { allowedWriteRoots: [".codebase-memory"] },
|
|
81
|
+
requires: ["codebase-memory"],
|
|
82
|
+
followUp: "Next: otto-tools health && otto-tools why plan",
|
|
83
|
+
},
|
|
73
84
|
];
|
|
74
85
|
/** All curated profiles, sorted by name. Pure. */
|
|
75
86
|
export function listProfiles() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-profiles.js","sourceRoot":"","sources":["../src/extension-profiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extension-profiles.js","sourceRoot":"","sources":["../src/extension-profiles.ts"],"names":[],"mappings":"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"}
|
package/dist/fanout.d.ts
CHANGED
|
@@ -8,20 +8,49 @@
|
|
|
8
8
|
* sequential loop — fan-out never leaves the tree conflicted or half-merged.
|
|
9
9
|
*/
|
|
10
10
|
import type { AgentRuntimeId } from "./agent-runtime.js";
|
|
11
|
+
import type { CbmIndexIdentity } from "./codebase-memory-adapter.js";
|
|
12
|
+
import type { RetrievalStore } from "./context-compressor.js";
|
|
13
|
+
import { type SubAgentHandoff } from "./handoff.js";
|
|
11
14
|
import type { TierLadder } from "./model-tier.js";
|
|
12
|
-
import { type PlanTask } from "./plan-tasks.js";
|
|
15
|
+
import { type ConflictPrediction, type PlanTask } from "./plan-tasks.js";
|
|
13
16
|
import type { StageResult } from "./runner.js";
|
|
14
17
|
export type FanoutTaskStatus = "landed" | "deferred";
|
|
15
18
|
export type FanoutTaskOutcome = {
|
|
16
19
|
task: PlanTask;
|
|
17
20
|
status: FanoutTaskStatus;
|
|
18
21
|
reason?: string;
|
|
22
|
+
/** The sub-agent's structured handoff, when one could be read (or derived). */
|
|
23
|
+
handoff?: SubAgentHandoff;
|
|
19
24
|
};
|
|
20
25
|
export type FanoutResult = {
|
|
21
26
|
outcomes: FanoutTaskOutcome[];
|
|
22
27
|
/** Tasks that did not land cleanly and must be re-run sequentially. */
|
|
23
28
|
deferred: PlanTask[];
|
|
29
|
+
/** Cross-task interaction notes (shared files, out-of-scope touches,
|
|
30
|
+
* deferrals) surfaced by the synthesizer; `""` when nothing noteworthy. */
|
|
31
|
+
crossTaskSummary: string;
|
|
24
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Reorder `tasks` by ascending conflict risk (safest first): highest scope
|
|
35
|
+
* confidence, fewest predicted overlaps. Pure — the caller decides how to use
|
|
36
|
+
* the order (P25 Task 3: Phase B merges the lowest-risk worktrees first).
|
|
37
|
+
*/
|
|
38
|
+
export declare function orderByConflictRisk(tasks: PlanTask[], predictions: ConflictPrediction[]): PlanTask[];
|
|
39
|
+
/**
|
|
40
|
+
* Summarize cross-task interactions worth a human's attention: out-of-scope
|
|
41
|
+
* touches reported by a sub-agent's handoff, and deferrals with their reason.
|
|
42
|
+
* `""` when no outcome has anything noteworthy to report.
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildCrossTaskSummary(outcomes: FanoutTaskOutcome[]): string;
|
|
45
|
+
/**
|
|
46
|
+
* Per-worktree retrieval identity (P25 Task 7, the seam for P26): stamps a
|
|
47
|
+
* fan-out worktree with the workspace it lives in and the sha it was built
|
|
48
|
+
* from, so a codebase-memory index built inside one worktree is never
|
|
49
|
+
* mistaken for another's (or trusted once the worktree's HEAD has moved on).
|
|
50
|
+
* Pure. Only computed when `bindWorktreeIdentity` is on; otherwise unused —
|
|
51
|
+
* P26 is the only consumer.
|
|
52
|
+
*/
|
|
53
|
+
export declare function worktreeIndexIdentity(dir: string, before: string): Pick<CbmIndexIdentity, "workspace" | "sourceRevision" | "worktreeDirty">;
|
|
25
54
|
export type RunFanoutOptions = {
|
|
26
55
|
tasks: PlanTask[];
|
|
27
56
|
workspaceDir: string;
|
|
@@ -34,6 +63,14 @@ export type RunFanoutOptions = {
|
|
|
34
63
|
routing: boolean;
|
|
35
64
|
runtimeId: AgentRuntimeId;
|
|
36
65
|
signal?: AbortSignal;
|
|
66
|
+
/**
|
|
67
|
+
* Real paths named in the plan doc (spec.md + plan.md), from
|
|
68
|
+
* {@link extractPlanFileMap}. Threaded into Phase B's conflict prediction so
|
|
69
|
+
* `scopeConfidence` varies per task and merge order is non-inert (P25 Task
|
|
70
|
+
* 3). Optional; `[]` (fan-out without `--plan`) reproduces prior uniform-
|
|
71
|
+
* confidence ordering.
|
|
72
|
+
*/
|
|
73
|
+
planFileMap?: string[];
|
|
37
74
|
/**
|
|
38
75
|
* The parallel per-task work: implement `task` inside `worktreeDir` and commit
|
|
39
76
|
* there. Injectable so tests don't spawn a model; defaults to the
|
|
@@ -44,6 +81,16 @@ export type RunFanoutOptions = {
|
|
|
44
81
|
* tokens into the run total (budget/pacing). Not called for an injected
|
|
45
82
|
* `runSubAgent`. */
|
|
46
83
|
onSubAgent?: (sr: StageResult) => void;
|
|
84
|
+
/** The run's retrieval store (issue #112 P20's `runRetrievalStore`), passed
|
|
85
|
+
* through to each sub-agent's `executeStage` call exactly as the
|
|
86
|
+
* sequential loop already does. Optional; absent ⇒ no retrieval store is
|
|
87
|
+
* threaded (today's behavior — fan-out never passed one). */
|
|
88
|
+
retrievalStore?: RetrievalStore;
|
|
89
|
+
/** P25/P26 seam: when true, stamp each built worktree with a
|
|
90
|
+
* {@link worktreeIndexIdentity} so a codebase-memory index built inside
|
|
91
|
+
* one worktree can't be mistaken for another's. Default false ⇒ inert;
|
|
92
|
+
* only meaningful once the `codebase-memory` tool is enabled. */
|
|
93
|
+
bindWorktreeIdentity?: boolean;
|
|
47
94
|
};
|
|
48
95
|
/**
|
|
49
96
|
* Run the plan's tasks wave-by-wave. Phase A (parallel, bounded by
|
package/dist/fanout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fanout.d.ts","sourceRoot":"","sources":["../src/fanout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"fanout.d.ts","sourceRoot":"","sources":["../src/fanout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,uEAAuE;IACvE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB;gFAC4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,EAAE,EACjB,WAAW,EAAE,kBAAkB,EAAE,GAChC,QAAQ,EAAE,CAMZ;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAU3E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,gBAAgB,GAAG,eAAe,CAAC,CAE1E;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;yBAEqB;IACrB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC;;;kEAG8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;sEAGkE;IAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAoGF;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyG7E"}
|