@namzu/cli 18.0.0 → 19.0.0
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/CHANGELOG.md +5898 -0
- package/README.md +23 -24
- package/dist/bin.js +12 -1
- package/dist/bin.js.map +1 -1
- package/dist/checkpoints/store.d.ts +75 -0
- package/dist/checkpoints/store.d.ts.map +1 -0
- package/dist/checkpoints/store.js +177 -0
- package/dist/checkpoints/store.js.map +1 -0
- package/dist/checkpoints/wrap.d.ts +15 -0
- package/dist/checkpoints/wrap.d.ts.map +1 -0
- package/dist/checkpoints/wrap.js +37 -0
- package/dist/checkpoints/wrap.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/acp.js +3 -0
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +15 -2
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/provider-wait.d.ts +44 -0
- package/dist/commands/provider-wait.d.ts.map +1 -0
- package/dist/commands/provider-wait.js +65 -0
- package/dist/commands/provider-wait.js.map +1 -0
- package/dist/commands/run-flags.d.ts +13 -1
- package/dist/commands/run-flags.d.ts.map +1 -1
- package/dist/commands/run-flags.js +41 -0
- package/dist/commands/run-flags.js.map +1 -1
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +34 -13
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +133 -78
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/stdin.d.ts +17 -0
- package/dist/commands/stdin.d.ts.map +1 -0
- package/dist/commands/stdin.js +69 -0
- package/dist/commands/stdin.js.map +1 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +122 -2
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +92 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/context/doctrine.d.ts +22 -0
- package/dist/context/doctrine.d.ts.map +1 -0
- package/dist/context/doctrine.js +22 -0
- package/dist/context/doctrine.js.map +1 -0
- package/dist/context/environment.d.ts +2 -0
- package/dist/context/environment.d.ts.map +1 -1
- package/dist/context/environment.js +3 -0
- package/dist/context/environment.js.map +1 -1
- package/dist/context/turn-snapshot.d.ts +59 -0
- package/dist/context/turn-snapshot.d.ts.map +1 -0
- package/dist/context/turn-snapshot.js +122 -0
- package/dist/context/turn-snapshot.js.map +1 -0
- package/dist/integrations/mcp/servers.d.ts +19 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +23 -2
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/plugins/runtime.d.ts +8 -2
- package/dist/integrations/plugins/runtime.d.ts.map +1 -1
- package/dist/integrations/plugins/runtime.js +24 -12
- package/dist/integrations/plugins/runtime.js.map +1 -1
- package/dist/integrations/providers/chain-capabilities.js +1 -1
- package/dist/integrations/providers/chain-capabilities.js.map +1 -1
- package/dist/integrations/providers/credential-store.d.ts +1 -1
- package/dist/integrations/providers/credential-store.js +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +7 -0
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/providers/registry.d.ts +2 -2
- package/dist/integrations/providers/registry.js +2 -2
- package/dist/integrations/sessions/store.d.ts +14 -22
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +78 -175
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/sessions/transcript-export.d.ts.map +1 -1
- package/dist/integrations/sessions/transcript-export.js +6 -2
- package/dist/integrations/sessions/transcript-export.js.map +1 -1
- package/dist/integrations/state/identity.d.ts +21 -0
- package/dist/integrations/state/identity.d.ts.map +1 -0
- package/dist/integrations/state/identity.js +49 -0
- package/dist/integrations/state/identity.js.map +1 -0
- package/dist/integrations/state/immutable-json.d.ts +10 -0
- package/dist/integrations/state/immutable-json.d.ts.map +1 -0
- package/dist/integrations/state/immutable-json.js +38 -0
- package/dist/integrations/state/immutable-json.js.map +1 -0
- package/dist/integrations/state/project.d.ts +10 -0
- package/dist/integrations/state/project.d.ts.map +1 -0
- package/dist/integrations/state/project.js +15 -0
- package/dist/integrations/state/project.js.map +1 -0
- package/dist/integrations/state/report.d.ts.map +1 -1
- package/dist/integrations/state/report.js +42 -12
- package/dist/integrations/state/report.js.map +1 -1
- package/dist/integrations/subagents/definitions.d.ts +19 -0
- package/dist/integrations/subagents/definitions.d.ts.map +1 -0
- package/dist/integrations/subagents/definitions.js +26 -0
- package/dist/integrations/subagents/definitions.js.map +1 -0
- package/dist/integrations/subagents/parent.d.ts +13 -0
- package/dist/integrations/subagents/parent.d.ts.map +1 -0
- package/dist/integrations/subagents/parent.js +57 -0
- package/dist/integrations/subagents/parent.js.map +1 -0
- package/dist/integrations/subagents/runtime.d.ts +27 -3
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +302 -82
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/memory/store.d.ts +35 -15
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +79 -25
- package/dist/memory/store.js.map +1 -1
- package/dist/permissions/mode.d.ts +12 -20
- package/dist/permissions/mode.d.ts.map +1 -1
- package/dist/permissions/mode.js +18 -3
- package/dist/permissions/mode.js.map +1 -1
- package/dist/release-notes.d.ts +20 -0
- package/dist/release-notes.d.ts.map +1 -0
- package/dist/release-notes.js +64 -0
- package/dist/release-notes.js.map +1 -0
- package/dist/tui/AgentExplorer.d.ts.map +1 -1
- package/dist/tui/AgentExplorer.js +14 -18
- package/dist/tui/AgentExplorer.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +843 -208
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/BrandHeader.d.ts +12 -0
- package/dist/tui/BrandHeader.d.ts.map +1 -0
- package/dist/tui/BrandHeader.js +17 -0
- package/dist/tui/BrandHeader.js.map +1 -0
- package/dist/tui/ChoicePicker.d.ts +11 -1
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.js +46 -13
- package/dist/tui/ChoicePicker.js.map +1 -1
- package/dist/tui/Composer.d.ts +9 -1
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/Composer.js +21 -5
- package/dist/tui/Composer.js.map +1 -1
- package/dist/tui/ComposerFrame.d.ts +10 -0
- package/dist/tui/ComposerFrame.d.ts.map +1 -0
- package/dist/tui/ComposerFrame.js +93 -0
- package/dist/tui/ComposerFrame.js.map +1 -0
- package/dist/tui/EditPromptPicker.d.ts.map +1 -1
- package/dist/tui/EditPromptPicker.js +1 -1
- package/dist/tui/EditPromptPicker.js.map +1 -1
- package/dist/tui/LiveActivity.d.ts +12 -5
- package/dist/tui/LiveActivity.d.ts.map +1 -1
- package/dist/tui/LiveActivity.js +17 -32
- package/dist/tui/LiveActivity.js.map +1 -1
- package/dist/tui/PermissionOverlay.d.ts +26 -2
- package/dist/tui/PermissionOverlay.d.ts.map +1 -1
- package/dist/tui/PermissionOverlay.js +118 -11
- package/dist/tui/PermissionOverlay.js.map +1 -1
- package/dist/tui/Picker.d.ts +2 -2
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +79 -52
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/StatusBar.js +5 -2
- package/dist/tui/StatusBar.js.map +1 -1
- package/dist/tui/TaskList.d.ts +32 -0
- package/dist/tui/TaskList.d.ts.map +1 -0
- package/dist/tui/TaskList.js +67 -0
- package/dist/tui/TaskList.js.map +1 -0
- package/dist/tui/Transcript.d.ts +3 -3
- package/dist/tui/Transcript.d.ts.map +1 -1
- package/dist/tui/Transcript.js +16 -34
- package/dist/tui/Transcript.js.map +1 -1
- package/dist/tui/agent.d.ts +152 -48
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +622 -256
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/choice-selection.d.ts +17 -0
- package/dist/tui/choice-selection.d.ts.map +1 -0
- package/dist/tui/choice-selection.js +38 -0
- package/dist/tui/choice-selection.js.map +1 -0
- package/dist/tui/exit-summary.d.ts +7 -1
- package/dist/tui/exit-summary.d.ts.map +1 -1
- package/dist/tui/exit-summary.js +12 -3
- package/dist/tui/exit-summary.js.map +1 -1
- package/dist/tui/index.d.ts +3 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +5 -3
- package/dist/tui/index.js.map +1 -1
- package/dist/tui/logo.d.ts +7 -22
- package/dist/tui/logo.d.ts.map +1 -1
- package/dist/tui/logo.js +8 -34
- package/dist/tui/logo.js.map +1 -1
- package/dist/tui/model-choices.d.ts.map +1 -1
- package/dist/tui/model-choices.js +21 -6
- package/dist/tui/model-choices.js.map +1 -1
- package/dist/tui/permission-review.d.ts +15 -4
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/permission-review.js +199 -10
- package/dist/tui/permission-review.js.map +1 -1
- package/dist/tui/provider-selection.d.ts +4 -0
- package/dist/tui/provider-selection.d.ts.map +1 -0
- package/dist/tui/provider-selection.js +16 -0
- package/dist/tui/provider-selection.js.map +1 -0
- package/dist/tui/run-interruption.d.ts +3 -2
- package/dist/tui/run-interruption.d.ts.map +1 -1
- package/dist/tui/run-interruption.js +2 -1
- package/dist/tui/run-interruption.js.map +1 -1
- package/dist/tui/shell-escape.d.ts +42 -0
- package/dist/tui/shell-escape.d.ts.map +1 -0
- package/dist/tui/shell-escape.js +110 -0
- package/dist/tui/shell-escape.js.map +1 -0
- package/dist/tui/slashCommands.d.ts +77 -31
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +343 -303
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/stream-blocks.d.ts +24 -0
- package/dist/tui/stream-blocks.d.ts.map +1 -1
- package/dist/tui/stream-blocks.js +74 -0
- package/dist/tui/stream-blocks.js.map +1 -1
- package/dist/tui/terminal-choice-text.d.ts +8 -0
- package/dist/tui/terminal-choice-text.d.ts.map +1 -0
- package/dist/tui/terminal-choice-text.js +37 -0
- package/dist/tui/terminal-choice-text.js.map +1 -0
- package/dist/tui/theme.d.ts +3 -4
- package/dist/tui/theme.d.ts.map +1 -1
- package/dist/tui/theme.js +16 -17
- package/dist/tui/theme.js.map +1 -1
- package/dist/tui/types.d.ts +8 -1
- package/dist/tui/types.d.ts.map +1 -1
- package/package.json +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,29 @@
|
|
|
11
11
|
* store backs the AgentManager, so sub-agent bookkeeping never touches the
|
|
12
12
|
* CLI's on-disk `/resume` conversation store.
|
|
13
13
|
*/
|
|
14
|
-
import { AgentManager, AgentRegistry, DefaultCapacityValidator, InMemorySessionStore, InMemoryTopicStore, LocalTaskScheduler, ReactiveAgent, RunCancelled, SessionSummaryMaterializer, TopicManager, WorkspaceBackendRegistry,
|
|
14
|
+
import { AgentManager, AgentRegistry, DefaultCapacityValidator, EXPLORE_AGENT_DESCRIPTION, EXPLORE_AGENT_ID, EXPLORE_AGENT_PROMPT, InMemorySessionStore, InMemoryTopicStore, LocalTaskScheduler, ReactiveAgent, RunCancelled, SessionSummaryMaterializer, TopicArchivedError, TopicManager, WorkspaceBackendRegistry, defineTool, filterReadOnlyTools, filterToolsNamed, generateSummaryId, mcpJsonSchemaToZod, openTokenBudget, requireOpenProject, } from '@namzu/sdk';
|
|
15
|
+
import { NAMZU_WORKING_DOCTRINE } from '../../context/doctrine.js';
|
|
15
16
|
import { MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS, MAX_AGENT_PHASE_ORDER, SubagentActivityMonitor, } from './activity.js';
|
|
16
17
|
import { CLI_INTERACTIVE_RUN_TIMEOUT_MS } from './policy.js';
|
|
17
18
|
export const GENERAL_PURPOSE_SUBAGENT = 'general-purpose';
|
|
19
|
+
/**
|
|
20
|
+
* The kernel's read-only delegate, with this application's doctrine under
|
|
21
|
+
* its prompt. Roster and prompt come from `@namzu/sdk`; what is added here is
|
|
22
|
+
* the same working rules every namzu child gets.
|
|
23
|
+
*/
|
|
24
|
+
export const EXPLORE_SUBAGENT = EXPLORE_AGENT_ID;
|
|
25
|
+
const EXPLORE_PROMPT = [EXPLORE_AGENT_PROMPT, '', NAMZU_WORKING_DOCTRINE].join('\n');
|
|
26
|
+
/**
|
|
27
|
+
* A file-defined agent's roster: the parent's working set, kept to the
|
|
28
|
+
* file's `tools` allowlist when there is one, and to read-only tools when
|
|
29
|
+
* the file says `readOnly: true`. Intersection, never union.
|
|
30
|
+
*/
|
|
31
|
+
function fileAgentTools(definition, opts) {
|
|
32
|
+
return () => {
|
|
33
|
+
const source = definition.readOnly ? filterReadOnlyTools(opts.buildTools()) : opts.buildTools();
|
|
34
|
+
return definition.tools ? filterToolsNamed(source, definition.tools) : source;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
18
37
|
const SUBAGENT_PROMPT = [
|
|
19
38
|
'You are a focused sub-agent dispatched by namzu to complete one self-contained task and report back.',
|
|
20
39
|
'You cannot see the parent conversation — work only from the prompt you were given.',
|
|
@@ -22,10 +41,48 @@ const SUBAGENT_PROMPT = [
|
|
|
22
41
|
'Be thorough but do not ask the parent questions; make reasonable assumptions and state them.',
|
|
23
42
|
'',
|
|
24
43
|
'Never fabricate. Only report results you actually produced via tool calls:',
|
|
25
|
-
'- If you
|
|
44
|
+
'- If you create a file, create it with the `write` tool; if you change an existing one, use `edit`. Report the real path either way; never claim a file exists without a tool having written it.',
|
|
26
45
|
'- If you need to research and have no web tool available, say so plainly and answer from your own knowledge with that caveat — do not invent sources, data, or URLs.',
|
|
27
46
|
'- Do not invent command output or results. If you cannot complete the task, say what blocked you.',
|
|
47
|
+
'',
|
|
48
|
+
// The same working rules the parent runs under. A delegated task edits the
|
|
49
|
+
// same repository, and a child that reads a file before editing it while
|
|
50
|
+
// the parent does not is the same defect in the other direction.
|
|
51
|
+
NAMZU_WORKING_DOCTRINE,
|
|
28
52
|
].join('\n');
|
|
53
|
+
/** Recheck the invoking run before admitting work through a retained gateway. */
|
|
54
|
+
class ParentTaskScheduler extends LocalTaskScheduler {
|
|
55
|
+
validateParent;
|
|
56
|
+
constructor(manager, context, onEvent, validateParent) {
|
|
57
|
+
super(manager, context, onEvent);
|
|
58
|
+
this.validateParent = validateParent;
|
|
59
|
+
}
|
|
60
|
+
async createTask(options) {
|
|
61
|
+
await this.validateParent();
|
|
62
|
+
return super.createTask(options);
|
|
63
|
+
}
|
|
64
|
+
owns(taskId) {
|
|
65
|
+
return super.listTasks().some((task) => task.taskId === taskId);
|
|
66
|
+
}
|
|
67
|
+
getTask(taskId) {
|
|
68
|
+
return this.owns(taskId) ? super.getTask(taskId) : undefined;
|
|
69
|
+
}
|
|
70
|
+
cancelTask(taskId, cause) {
|
|
71
|
+
if (this.owns(taskId))
|
|
72
|
+
super.cancelTask(taskId, cause);
|
|
73
|
+
}
|
|
74
|
+
async waitForTask(taskId) {
|
|
75
|
+
if (!this.owns(taskId))
|
|
76
|
+
throw new Error(`Task ${taskId} does not belong to this parent run`);
|
|
77
|
+
return super.waitForTask(taskId);
|
|
78
|
+
}
|
|
79
|
+
async continueTask(taskId, message) {
|
|
80
|
+
if (!this.owns(taskId))
|
|
81
|
+
throw new Error(`Task ${taskId} does not belong to this parent run`);
|
|
82
|
+
await this.validateParent();
|
|
83
|
+
await super.continueTask(taskId, message);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
29
86
|
/** A delegated run may never inherit the SDK's headless auto-approval fallback. */
|
|
30
87
|
const refuseUnownedChildReview = async () => ({
|
|
31
88
|
action: 'abort',
|
|
@@ -33,62 +90,204 @@ const refuseUnownedChildReview = async () => ({
|
|
|
33
90
|
});
|
|
34
91
|
/**
|
|
35
92
|
* Stand up the AgentManager + gateway + `Agent` tool. Returns the tool to
|
|
36
|
-
* register on the parent and the gateway to pass to `query({
|
|
93
|
+
* register on the parent and the gateway to pass to `query({ taskScheduler })`.
|
|
37
94
|
*/
|
|
38
95
|
export async function createSubagentRuntime(opts) {
|
|
39
|
-
const tenantId = asTenantId('tnt_namzu-cli');
|
|
40
|
-
const store = new InMemorySessionStore();
|
|
41
|
-
const topicStore = new InMemoryTopicStore();
|
|
42
|
-
const userActor = {
|
|
43
|
-
kind: 'user',
|
|
44
|
-
userId: asUserId('usr_namzu'),
|
|
45
|
-
tenantId,
|
|
46
|
-
};
|
|
47
|
-
const project = await store.createProject({ tenantId, name: 'namzu-cli' }, tenantId);
|
|
48
|
-
const thread = await topicStore.createTopic({ projectId: project.id, title: 'namzu-cli' }, tenantId);
|
|
49
|
-
// No workspace gate here, and that is a finding rather than an omission.
|
|
50
|
-
//
|
|
51
|
-
// A direct `createSession` bypasses `requireOpenProject`, which is why the
|
|
52
|
-
// CLI's persistent conversation store now calls it explicitly. This site is
|
|
53
|
-
// the other shape: the store is a fresh `InMemorySessionStore` built four
|
|
54
|
-
// lines up, the project was created two lines up, and neither outlives this
|
|
55
|
-
// runtime — so the id can never be one an owner has closed. A gate on a path
|
|
56
|
-
// that always creates its own project checks a condition that cannot be
|
|
57
|
-
// false, and a check that cannot fail teaches the next reader nothing except
|
|
58
|
-
// that gates here are decoration.
|
|
59
|
-
//
|
|
60
|
-
// The trigger to add one is the day this store is replaced by a persistent
|
|
61
|
-
// one, or the project id starts arriving from a caller.
|
|
62
|
-
const parentSession = await store.createSession({ topicId: thread.id, projectId: project.id, currentActor: userActor }, tenantId);
|
|
63
|
-
await store.updateSession({ ...parentSession, status: 'active' }, tenantId);
|
|
64
|
-
let summaryCounter = 0;
|
|
65
|
-
const materializer = new SessionSummaryMaterializer({
|
|
66
|
-
store,
|
|
67
|
-
generateSummaryId: () => asSummaryId(`sum_namzu_${++summaryCounter}`),
|
|
68
|
-
});
|
|
69
96
|
const registry = new AgentRegistry();
|
|
70
97
|
registry.register(buildDefinition(GENERAL_PURPOSE_SUBAGENT, 'A general-purpose sub-agent.', SUBAGENT_PROMPT, opts));
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
98
|
+
registry.register(buildDefinition(EXPLORE_SUBAGENT, EXPLORE_AGENT_DESCRIPTION, EXPLORE_PROMPT, opts, () => filterReadOnlyTools(opts.buildTools())));
|
|
99
|
+
// Agents a project or user defined in a file, each a type of its own.
|
|
100
|
+
// The roster is the file's allowlist intersected with the parent's set —
|
|
101
|
+
// a file cannot grant a tool the parent does not have — narrowed further
|
|
102
|
+
// to read-only when the file says so. The prompt is the file's body over
|
|
103
|
+
// the same sub-agent base every child gets.
|
|
104
|
+
const fileAgents = new Map();
|
|
105
|
+
for (const definition of opts.definitions ?? []) {
|
|
106
|
+
fileAgents.set(definition.name, definition);
|
|
107
|
+
registry.register(buildDefinition(definition.name, definition.description, definition.prompt, opts, fileAgentTools(definition, opts), definition.model ?? opts.model));
|
|
108
|
+
}
|
|
109
|
+
const agentTypeIds = [GENERAL_PURPOSE_SUBAGENT, EXPLORE_SUBAGENT, ...fileAgents.keys()];
|
|
110
|
+
const fileAgentSummary = [...fileAgents.values()]
|
|
111
|
+
.map((definition) => `"${definition.name}" — ${definition.description}`)
|
|
112
|
+
.join('; ');
|
|
113
|
+
const parents = new Map();
|
|
114
|
+
const sessions = new Map();
|
|
115
|
+
let closed = false;
|
|
116
|
+
const sessionKey = ({ project, sessionId }) => JSON.stringify([project.tenantId, project.id, sessionId]);
|
|
117
|
+
const resolveParent = async (runId) => {
|
|
118
|
+
const parent = structuredClone(await opts.resolveParent(runId));
|
|
119
|
+
const { project, topic } = parent;
|
|
120
|
+
if (topic.projectId !== project.id || topic.tenantId !== project.tenantId) {
|
|
121
|
+
throw new Error('Delegation parent topic does not belong to its project and tenant');
|
|
122
|
+
}
|
|
123
|
+
await requireOpenProject({ getProject: async () => project }, project.id, project.tenantId, 'spawn');
|
|
124
|
+
if (topic.status === 'archived')
|
|
125
|
+
throw new TopicArchivedError({ topicId: topic.id, op: 'spawn' });
|
|
126
|
+
return parent;
|
|
127
|
+
};
|
|
128
|
+
const createSessionRuntime = async (parent) => {
|
|
129
|
+
const { project, topic, sessionId } = parent;
|
|
130
|
+
const tenantId = project.tenantId;
|
|
131
|
+
const store = new InMemorySessionStore([project]);
|
|
132
|
+
const topicStore = new InMemoryTopicStore([topic]);
|
|
133
|
+
const parentActor = { kind: 'agent', agentId: 'namzu', tenantId };
|
|
134
|
+
const session = await store.createSession({
|
|
135
|
+
id: sessionId,
|
|
136
|
+
topicId: topic.id,
|
|
137
|
+
projectId: project.id,
|
|
138
|
+
currentActor: parentActor,
|
|
139
|
+
}, tenantId);
|
|
140
|
+
await store.updateSession({ ...session, status: 'active' }, tenantId);
|
|
141
|
+
const manager = new AgentManager(registry, { childTimeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS }, {
|
|
142
|
+
sessionStore: store,
|
|
143
|
+
summaryMaterializer: new SessionSummaryMaterializer({
|
|
144
|
+
store,
|
|
145
|
+
generateSummaryId,
|
|
146
|
+
}),
|
|
147
|
+
workspaceRegistry: new WorkspaceBackendRegistry(),
|
|
148
|
+
capacity: new DefaultCapacityValidator(store),
|
|
149
|
+
topicManager: new TopicManager({ topicStore, sessionStore: store }),
|
|
150
|
+
});
|
|
151
|
+
return {
|
|
152
|
+
manager,
|
|
153
|
+
store,
|
|
154
|
+
topicId: topic.id,
|
|
155
|
+
projectUpdatedAt: project.updatedAt.getTime(),
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
const refreshLimits = async (shared, parent) => {
|
|
159
|
+
if (shared.topicId !== parent.topic.id)
|
|
160
|
+
throw new Error('Delegation parent changed its topic while runs are active');
|
|
161
|
+
// A slow metadata read must not overwrite a newer project snapshot.
|
|
162
|
+
const updatedAt = parent.project.updatedAt.getTime();
|
|
163
|
+
if (updatedAt < shared.projectUpdatedAt)
|
|
164
|
+
return;
|
|
165
|
+
shared.projectUpdatedAt = updatedAt;
|
|
166
|
+
await shared.store.updateProject(parent.project.id, parent.project.config, parent.project.tenantId);
|
|
167
|
+
};
|
|
168
|
+
const acquireSession = async (parent) => {
|
|
169
|
+
const key = sessionKey(parent);
|
|
170
|
+
let entry = sessions.get(key);
|
|
171
|
+
if (!entry) {
|
|
172
|
+
entry = { ready: createSessionRuntime(parent), owners: 0 };
|
|
173
|
+
sessions.set(key, entry);
|
|
174
|
+
}
|
|
175
|
+
entry.owners++;
|
|
176
|
+
const ownedEntry = entry;
|
|
177
|
+
let released = false;
|
|
178
|
+
const release = () => {
|
|
179
|
+
if (released)
|
|
180
|
+
return;
|
|
181
|
+
released = true;
|
|
182
|
+
ownedEntry.owners--;
|
|
183
|
+
if (ownedEntry.owners !== 0)
|
|
184
|
+
return;
|
|
185
|
+
if (sessions.get(key) === ownedEntry)
|
|
186
|
+
sessions.delete(key);
|
|
187
|
+
void ownedEntry.ready.then((shared) => shared.manager.dispose(), () => undefined);
|
|
188
|
+
};
|
|
189
|
+
try {
|
|
190
|
+
const shared = await entry.ready;
|
|
191
|
+
await refreshLimits(shared, parent);
|
|
192
|
+
return { shared, release };
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
release();
|
|
196
|
+
throw error;
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
const gatewayForRun = async (runId) => {
|
|
200
|
+
if (closed)
|
|
201
|
+
throw new Error('Sub-agent runtime is closed');
|
|
202
|
+
let pending = parents.get(runId);
|
|
203
|
+
if (!pending) {
|
|
204
|
+
pending = (async () => {
|
|
205
|
+
const parent = await resolveParent(runId);
|
|
206
|
+
const budget = await openTokenBudget({
|
|
207
|
+
scope: {
|
|
208
|
+
tenantId: parent.project.tenantId,
|
|
209
|
+
projectId: parent.project.id,
|
|
210
|
+
sessionId: parent.sessionId,
|
|
211
|
+
runId,
|
|
212
|
+
},
|
|
213
|
+
limit: opts.tokenBudget ?? 1_000_000,
|
|
214
|
+
pathBuilder: opts.pathBuilder,
|
|
215
|
+
workingDirectory: opts.cwd,
|
|
216
|
+
});
|
|
217
|
+
const lease = await acquireSession(parent);
|
|
218
|
+
const { manager } = lease.shared;
|
|
219
|
+
const parentAbortController = new AbortController();
|
|
220
|
+
let released = false;
|
|
221
|
+
const assertOwned = () => {
|
|
222
|
+
if (closed ||
|
|
223
|
+
released ||
|
|
224
|
+
parentAbortController.signal.aborted ||
|
|
225
|
+
parents.get(runId) !== pending) {
|
|
226
|
+
throw new Error(`Parent run ${runId} was released`);
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
const taskContext = {
|
|
230
|
+
parentRunId: runId,
|
|
231
|
+
parentAgentId: 'namzu',
|
|
232
|
+
parentAbortController,
|
|
233
|
+
depth: 0,
|
|
234
|
+
budget,
|
|
235
|
+
tenantId: parent.project.tenantId,
|
|
236
|
+
topicId: parent.topic.id,
|
|
237
|
+
sessionId: parent.sessionId,
|
|
238
|
+
projectId: parent.project.id,
|
|
239
|
+
parentActor: {
|
|
240
|
+
kind: 'agent',
|
|
241
|
+
agentId: 'namzu',
|
|
242
|
+
tenantId: parent.project.tenantId,
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
const runtime = {
|
|
246
|
+
gateway: new ParentTaskScheduler(manager, taskContext, opts.onEvent, async () => {
|
|
247
|
+
assertOwned();
|
|
248
|
+
const current = await resolveParent(runId);
|
|
249
|
+
assertOwned();
|
|
250
|
+
if (sessionKey(current) !== sessionKey(parent))
|
|
251
|
+
throw new Error('Delegation run changed its parent scope');
|
|
252
|
+
await refreshLimits(lease.shared, current);
|
|
253
|
+
assertOwned();
|
|
254
|
+
}),
|
|
255
|
+
close() {
|
|
256
|
+
if (released)
|
|
257
|
+
return;
|
|
258
|
+
released = true;
|
|
259
|
+
parentAbortController.abort(new RunCancelled('parent'));
|
|
260
|
+
manager.cancelAll(runId, 'parent');
|
|
261
|
+
lease.release();
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
if (closed) {
|
|
265
|
+
runtime.close();
|
|
266
|
+
throw new Error('Sub-agent runtime is closed');
|
|
267
|
+
}
|
|
268
|
+
return runtime;
|
|
269
|
+
})();
|
|
270
|
+
parents.set(runId, pending);
|
|
271
|
+
}
|
|
272
|
+
try {
|
|
273
|
+
const runtime = await pending;
|
|
274
|
+
if (closed || parents.get(runId) !== pending)
|
|
275
|
+
throw new Error(`Parent run ${runId} was released`);
|
|
276
|
+
return runtime.gateway;
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
if (parents.get(runId) === pending)
|
|
280
|
+
parents.delete(runId);
|
|
281
|
+
throw error;
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
const releaseRun = async (runId) => {
|
|
285
|
+
const pending = parents.get(runId);
|
|
286
|
+
if (!pending)
|
|
287
|
+
return;
|
|
288
|
+
parents.delete(runId);
|
|
289
|
+
await pending.then((runtime) => runtime.close(), () => undefined);
|
|
90
290
|
};
|
|
91
|
-
const gateway = new LocalTaskScheduler(manager, taskContext, opts.onEvent);
|
|
92
291
|
const activity = new SubagentActivityMonitor();
|
|
93
292
|
// Dynamic `Agent` tool: the model passes an optional `role` (the persona /
|
|
94
293
|
// system prompt) and we register + spawn a fresh specialist for it at call
|
|
@@ -96,15 +295,21 @@ export async function createSubagentRuntime(opts) {
|
|
|
96
295
|
let dynCounter = 0;
|
|
97
296
|
const agentTool = defineTool({
|
|
98
297
|
name: 'Agent',
|
|
99
|
-
description:
|
|
100
|
-
'
|
|
101
|
-
'is
|
|
102
|
-
'
|
|
103
|
-
'
|
|
104
|
-
'
|
|
105
|
-
'
|
|
106
|
-
'
|
|
107
|
-
'
|
|
298
|
+
description: [
|
|
299
|
+
'Delegate a self-contained task to a sub-agent and get its result back (BLOCKING).',
|
|
300
|
+
'Pick `subagent_type: "explore"` for anything that only needs to look — where is X defined, which files reference Y, how does Z work — it has reading and searching tools only and never asks for permission.',
|
|
301
|
+
'Use the default "general-purpose" when the task must change files or run commands.',
|
|
302
|
+
'Define a specialist inline with `role` — a system prompt describing who the sub-agent is and how to behave (e.g.',
|
|
303
|
+
'"You are a security auditor; flag vulnerabilities and rate severity"); with `subagent_type: "explore"` the role keeps the read-only roster.',
|
|
304
|
+
'Omit `role` for the plain sub-agent.',
|
|
305
|
+
'The sub-agent runs in its own context with its own tools and cannot see this conversation — put everything it needs in `prompt`.',
|
|
306
|
+
'Call this multiple times in one response to run specialists in parallel.',
|
|
307
|
+
'When coordinating several specialists, give them the same `workflow` label and an explicit `phase` plus `phase_order` so the operator can follow the work in the agent cockpit.',
|
|
308
|
+
'These fields are display annotations only; they do not create dependencies, barriers, or serial execution.',
|
|
309
|
+
fileAgentSummary.length > 0 ? `Project-defined types: ${fileAgentSummary}.` : '',
|
|
310
|
+
]
|
|
311
|
+
.filter((part) => part.length > 0)
|
|
312
|
+
.join(' '),
|
|
108
313
|
inputSchema: mcpJsonSchemaToZod({
|
|
109
314
|
type: 'object',
|
|
110
315
|
properties: {
|
|
@@ -116,6 +321,13 @@ export async function createSubagentRuntime(opts) {
|
|
|
116
321
|
type: 'string',
|
|
117
322
|
description: 'Self-contained task with all the context the sub-agent needs.',
|
|
118
323
|
},
|
|
324
|
+
subagent_type: {
|
|
325
|
+
type: 'string',
|
|
326
|
+
enum: agentTypeIds,
|
|
327
|
+
description: `"explore" for read-only lookups (find, search, explain); "general-purpose" (default) when the task changes files or runs commands.${fileAgentSummary.length > 0
|
|
328
|
+
? ` This project also defines: ${fileAgentSummary}. Prefer a project-defined type when its description fits the task.`
|
|
329
|
+
: ''}`,
|
|
330
|
+
},
|
|
119
331
|
role: {
|
|
120
332
|
type: 'string',
|
|
121
333
|
description: 'Optional persona / system prompt that defines this specialist sub-agent. Omit for general-purpose.',
|
|
@@ -146,13 +358,24 @@ export async function createSubagentRuntime(opts) {
|
|
|
146
358
|
concurrencySafe: true,
|
|
147
359
|
timeoutMs: CLI_INTERACTIVE_RUN_TIMEOUT_MS,
|
|
148
360
|
async execute(input, context) {
|
|
149
|
-
const { description, prompt, role, workflow, phase, phase_order } = input;
|
|
150
|
-
|
|
361
|
+
const { description, prompt, subagent_type, role, workflow, phase, phase_order } = input;
|
|
362
|
+
const explore = subagent_type === EXPLORE_SUBAGENT;
|
|
363
|
+
const fileAgent = subagent_type !== undefined ? fileAgents.get(subagent_type) : undefined;
|
|
364
|
+
let agentId = fileAgent?.name ?? (explore ? EXPLORE_SUBAGENT : GENERAL_PURPOSE_SUBAGENT);
|
|
151
365
|
const persona = typeof role === 'string' ? role.trim() : '';
|
|
152
366
|
const dynamic = persona.length > 0;
|
|
153
367
|
if (dynamic) {
|
|
368
|
+
// A role on top of a type keeps that type's roster and model: the
|
|
369
|
+
// persona says who the child is, the type says what it may touch,
|
|
370
|
+
// and a role must not be a way to hand a read-only child a `write`
|
|
371
|
+
// tool. Over a file-defined agent the role is appended to the
|
|
372
|
+
// file's prompt rather than replacing it.
|
|
154
373
|
agentId = `dyn-${++dynCounter}`;
|
|
155
|
-
registry.register(buildDefinition(agentId, `Dynamic specialist: ${agentId}`, persona, opts
|
|
374
|
+
registry.register(buildDefinition(agentId, `Dynamic specialist: ${agentId}`, fileAgent ? `${fileAgent.prompt}\n\n${persona}` : persona, opts, fileAgent
|
|
375
|
+
? fileAgentTools(fileAgent, opts)
|
|
376
|
+
: explore
|
|
377
|
+
? () => filterReadOnlyTools(opts.buildTools())
|
|
378
|
+
: opts.buildTools, fileAgent?.model ?? opts.model));
|
|
156
379
|
}
|
|
157
380
|
const tracker = activity.begin({
|
|
158
381
|
agentId,
|
|
@@ -178,7 +401,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
178
401
|
};
|
|
179
402
|
try {
|
|
180
403
|
const completed = await runBlockingAgentTask({
|
|
181
|
-
gateway,
|
|
404
|
+
gateway: await gatewayForRun(context.runId),
|
|
182
405
|
signal: context.abortSignal,
|
|
183
406
|
create: {
|
|
184
407
|
agentId,
|
|
@@ -231,22 +454,15 @@ export async function createSubagentRuntime(opts) {
|
|
|
231
454
|
const close = () => {
|
|
232
455
|
if (closePromise)
|
|
233
456
|
return closePromise;
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
// Abort it before disposing bookkeeping so a live child keeps the
|
|
237
|
-
// structured reason even if its blocking tool wait already detached.
|
|
238
|
-
if (!taskContext.parentAbortController.signal.aborted) {
|
|
239
|
-
taskContext.parentAbortController.abort(new RunCancelled('parent'));
|
|
240
|
-
}
|
|
241
|
-
manager.dispose();
|
|
242
|
-
activity.close();
|
|
243
|
-
});
|
|
457
|
+
closed = true;
|
|
458
|
+
closePromise = Promise.all([...parents.keys()].map(releaseRun)).then(() => activity.close());
|
|
244
459
|
return closePromise;
|
|
245
460
|
};
|
|
246
461
|
return {
|
|
247
|
-
|
|
462
|
+
gatewayForRun,
|
|
463
|
+
releaseRun,
|
|
248
464
|
agentTool,
|
|
249
|
-
allowedAgentIds:
|
|
465
|
+
allowedAgentIds: agentTypeIds,
|
|
250
466
|
activity,
|
|
251
467
|
close,
|
|
252
468
|
};
|
|
@@ -311,7 +527,11 @@ async function runBlockingAgentTask(input) {
|
|
|
311
527
|
* for the static `general-purpose` agent and for each dynamically-defined
|
|
312
528
|
* specialist the model creates via the `Agent` tool's `role` argument.
|
|
313
529
|
*/
|
|
314
|
-
function buildDefinition(id, description, systemPrompt, opts
|
|
530
|
+
function buildDefinition(id, description, systemPrompt, opts,
|
|
531
|
+
/** This definition's own roster; absent means the parent's working set. */
|
|
532
|
+
tools = opts.buildTools,
|
|
533
|
+
/** This definition's model; absent means the session's. */
|
|
534
|
+
model = opts.model) {
|
|
315
535
|
const agent = new ReactiveAgent({
|
|
316
536
|
id,
|
|
317
537
|
name: id,
|
|
@@ -331,7 +551,7 @@ function buildDefinition(id, description, systemPrompt, opts) {
|
|
|
331
551
|
category: 'general',
|
|
332
552
|
description,
|
|
333
553
|
tools: [],
|
|
334
|
-
defaults: { model
|
|
554
|
+
defaults: { model, tokenBudget: 200_000 },
|
|
335
555
|
},
|
|
336
556
|
// ReactiveAgent is Agent<ReactiveAgentConfig,…>; the registry stores the
|
|
337
557
|
// erased Agent<BaseAgentConfig,…>. configBuilder supplies the richer config.
|
|
@@ -343,12 +563,12 @@ function buildDefinition(id, description, systemPrompt, opts) {
|
|
|
343
563
|
// is worse than one that was never told.
|
|
344
564
|
const environment = opts.readEnvironment ? await opts.readEnvironment() : null;
|
|
345
565
|
return {
|
|
346
|
-
model: options.model ??
|
|
566
|
+
model: options.model ?? model,
|
|
347
567
|
tokenBudget: options.tokenBudget ?? 200_000,
|
|
348
568
|
timeoutMs: options.timeoutMs ?? CLI_INTERACTIVE_RUN_TIMEOUT_MS,
|
|
349
569
|
maxIterations: 40,
|
|
350
570
|
provider: opts.buildProvider(),
|
|
351
|
-
tools:
|
|
571
|
+
tools: tools(),
|
|
352
572
|
systemPrompt: environment ? `${base}\n\n${environment}` : base,
|
|
353
573
|
...(opts.projectInstructionContext
|
|
354
574
|
? { projectInstructionContext: opts.projectInstructionContext() }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/memory/store.d.ts
CHANGED
|
@@ -1,29 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Curated memory: the files namzu reads into every turn's prompt.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
*
|
|
4
|
+
* Two scopes, three files:
|
|
5
|
+
* - `~/.namzu/USER.md` — who the operator is. User scope.
|
|
6
|
+
* - `~/.namzu/MEMORY.md` — facts that hold in every project. User scope.
|
|
7
|
+
* - `<project>/.namzu/MEMORY.md` — facts about this repository. Project scope,
|
|
8
|
+
* and the default target of `#note` and `/memory <text>`: a note typed while
|
|
9
|
+
* working in a repository is almost always about that repository, and a
|
|
10
|
+
* memory that follows the operator into every other project is the rarer
|
|
11
|
+
* thing, asked for with `--user`.
|
|
7
12
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
13
|
+
* Each section is capped before injection. A memory file grows for months;
|
|
14
|
+
* an uncapped one would spend the context every turn on the part nobody
|
|
15
|
+
* curated. The cap keeps the head, says how much it left out, and the fix is
|
|
16
|
+
* to edit the file — which is the whole point of a curated memory.
|
|
17
|
+
*
|
|
18
|
+
* Separate from the kernel's memory store (`save_memory` / `search_memory`),
|
|
19
|
+
* which holds what the agent chose to keep and is searched, not injected.
|
|
11
20
|
*/
|
|
21
|
+
/** Characters of one section injected before the rest is left to the file. */
|
|
22
|
+
export declare const MEMORY_SECTION_MAX_CHARS = 8000;
|
|
23
|
+
export type MemoryScope = 'project' | 'user';
|
|
12
24
|
export declare function memoryDir(home?: string): string;
|
|
13
25
|
export declare function userFilePath(home?: string): string;
|
|
14
26
|
export declare function memoryFilePath(home?: string): string;
|
|
27
|
+
/** Share checkout memory unless this directory already owns a memory file. */
|
|
28
|
+
export declare function projectMemoryFilePath(cwd: string): string;
|
|
15
29
|
export interface MemoryContent {
|
|
16
30
|
readonly user: string | null;
|
|
17
31
|
readonly memory: string | null;
|
|
32
|
+
/** The project's own file; null when no working directory was given or the file is empty. */
|
|
33
|
+
readonly project: string | null;
|
|
34
|
+
}
|
|
35
|
+
/** Read the user files under `home` and, when `cwd` is given, the project file. */
|
|
36
|
+
export declare function readMemory(home?: string, cwd?: string): MemoryContent;
|
|
37
|
+
export declare function composeMemoryPrompt(content: MemoryContent): string | null;
|
|
38
|
+
export interface AppendMemoryTarget {
|
|
39
|
+
readonly scope: MemoryScope;
|
|
40
|
+
readonly home?: string;
|
|
41
|
+
/** Required for the project scope. */
|
|
42
|
+
readonly cwd?: string;
|
|
18
43
|
}
|
|
19
|
-
/** Read USER.md + MEMORY.md, returning null for absent/empty files. */
|
|
20
|
-
export declare function readMemory(home?: string): MemoryContent;
|
|
21
44
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* knowledge, not as a user instruction for the current turn.
|
|
45
|
+
* Append a fact as a markdown bullet, creating the file. A bare string as the
|
|
46
|
+
* second argument names the application home and means the user scope.
|
|
25
47
|
*/
|
|
26
|
-
export declare function
|
|
27
|
-
/** Append a fact to MEMORY.md as a markdown bullet, creating the file. */
|
|
28
|
-
export declare function appendMemory(text: string, home?: string): void;
|
|
48
|
+
export declare function appendMemory(text: string, target?: string | AppendMemoryTarget): string;
|
|
29
49
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/memory/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,OAAQ,CAAA;AAE7C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBzD;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAWD,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CAMrE;AAUD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAezE;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,sCAAsC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,MAAM,CAgBvF"}
|