@monoes/monomindcli 2.10.10 → 2.10.13
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/.claude/commands/mastermind/brain.md +14 -14
- package/.claude/commands/mastermind/help.md +2 -2
- package/.claude/commands/mastermind/master.md +24 -19
- package/.claude/commands/mastermind/memory.md +8 -8
- package/.claude/commands/mastermind/monoswarm.md +4 -4
- package/.claude/commands/mastermind.md +7 -7
- package/.claude/commands/truth/start.md +3 -3
- package/.claude/skills/mastermind/SKILL.md +7 -16
- package/.claude/skills/mastermind-debug/SKILL.md +3 -3
- package/.claude/skills/mastermind-design/SKILL.md +2 -0
- package/.claude/skills/mastermind-execute/SKILL.md +66 -11
- package/.claude/skills/mastermind-idea/SKILL.md +9 -2
- package/.claude/skills/mastermind-intake/SKILL.md +31 -7
- package/.claude/skills/mastermind-issue-detail/SKILL.md +70 -16
- package/.claude/skills/mastermind-issues/SKILL.md +111 -16
- package/.claude/skills/mastermind-liveness/SKILL.md +96 -26
- package/.claude/skills/mastermind-my-issues/SKILL.md +40 -8
- package/.claude/skills/mastermind-org/SKILL.md +2 -0
- package/.claude/skills/mastermind-plan/SKILL.md +7 -16
- package/.claude/skills/mastermind-plan-to-tasks/SKILL.md +132 -24
- package/.claude/skills/mastermind-protocol/SKILL.md +33 -22
- package/.claude/skills/mastermind-runorg/SKILL.md +22 -3
- package/.claude/skills/mastermind-skill-builder/SKILL.md +1 -1
- package/.claude/skills/mastermind-tasks/SKILL.md +5 -0
- package/.claude/skills/mastermind-techport/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/SKILL.md +1 -1
- package/.claude/skills/verification-quality/SKILL.md +2 -3
- package/README.md +2 -2
- package/dist/src/commands/doc.js +2 -2
- package/dist/src/commands/doc.js.map +1 -1
- package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-project-checks.js +20 -1
- package/dist/src/commands/doctor-project-checks.js.map +1 -1
- package/dist/src/commands/monograph.d.ts.map +1 -1
- package/dist/src/commands/monograph.js +11 -4
- package/dist/src/commands/monograph.js.map +1 -1
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +56 -6
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org.d.ts +26 -0
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +144 -28
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +10 -9
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/write-codex.d.ts.map +1 -1
- package/dist/src/init/write-codex.js.map +1 -1
- package/dist/src/knowledge/document-pipeline.d.ts +5 -0
- package/dist/src/knowledge/document-pipeline.d.ts.map +1 -1
- package/dist/src/knowledge/document-pipeline.js +32 -16
- package/dist/src/knowledge/document-pipeline.js.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.d.ts +9 -0
- package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-routing.js +12 -1
- package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/knowledge-tools.js +105 -13
- package/dist/src/mcp-tools/knowledge-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts +13 -0
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +257 -31
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/health-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/health-tools.js +99 -42
- package/dist/src/mcp-tools/monograph/health-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/impact-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/impact-tools.js +123 -51
- package/dist/src/mcp-tools/monograph/impact-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/query-tools.js +113 -96
- package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
- package/dist/src/mcp-tools/monograph/shared.d.ts +37 -4
- package/dist/src/mcp-tools/monograph/shared.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph/shared.js +75 -56
- package/dist/src/mcp-tools/monograph/shared.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +60 -1
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +172 -42
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-kg.d.ts +495 -28
- package/dist/src/memory/memory-kg.d.ts.map +1 -1
- package/dist/src/memory/memory-kg.js +2186 -251
- package/dist/src/memory/memory-kg.js.map +1 -1
- package/dist/src/memory/query-router.d.ts +51 -0
- package/dist/src/memory/query-router.d.ts.map +1 -1
- package/dist/src/memory/query-router.js +38 -2
- package/dist/src/memory/query-router.js.map +1 -1
- package/dist/src/orgrt/agent-exec.d.ts.map +1 -1
- package/dist/src/orgrt/agent-exec.js +7 -0
- package/dist/src/orgrt/agent-exec.js.map +1 -1
- package/dist/src/orgrt/agent-runner.d.ts +26 -1
- package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
- package/dist/src/orgrt/agent-runner.js +73 -22
- package/dist/src/orgrt/agent-runner.js.map +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts +1 -1
- package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
- package/dist/src/orgrt/antigravity-runner.js +36 -19
- package/dist/src/orgrt/antigravity-runner.js.map +1 -1
- package/dist/src/orgrt/approvals.d.ts +26 -2
- package/dist/src/orgrt/approvals.d.ts.map +1 -1
- package/dist/src/orgrt/approvals.js +67 -7
- package/dist/src/orgrt/approvals.js.map +1 -1
- package/dist/src/orgrt/broker.d.ts +21 -2
- package/dist/src/orgrt/broker.d.ts.map +1 -1
- package/dist/src/orgrt/broker.js +56 -8
- package/dist/src/orgrt/broker.js.map +1 -1
- package/dist/src/orgrt/bus.d.ts +8 -0
- package/dist/src/orgrt/bus.d.ts.map +1 -1
- package/dist/src/orgrt/bus.js +27 -0
- package/dist/src/orgrt/bus.js.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint-ops.js +15 -5
- package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
- package/dist/src/orgrt/checkpoint.d.ts +42 -4
- package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
- package/dist/src/orgrt/checkpoint.js +75 -4
- package/dist/src/orgrt/checkpoint.js.map +1 -1
- package/dist/src/orgrt/codex-runner.d.ts +1 -1
- package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
- package/dist/src/orgrt/codex-runner.js +50 -23
- package/dist/src/orgrt/codex-runner.js.map +1 -1
- package/dist/src/orgrt/copilot-runner.d.ts +24 -2
- package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
- package/dist/src/orgrt/copilot-runner.js +257 -157
- package/dist/src/orgrt/copilot-runner.js.map +1 -1
- package/dist/src/orgrt/cross-org.d.ts +10 -3
- package/dist/src/orgrt/cross-org.d.ts.map +1 -1
- package/dist/src/orgrt/cross-org.js +225 -10
- package/dist/src/orgrt/cross-org.js.map +1 -1
- package/dist/src/orgrt/crush-runner.d.ts +22 -2
- package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
- package/dist/src/orgrt/crush-runner.js +227 -120
- package/dist/src/orgrt/crush-runner.js.map +1 -1
- package/dist/src/orgrt/daemon.d.ts +77 -7
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +989 -385
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/decisions.d.ts +2 -2
- package/dist/src/orgrt/decisions.d.ts.map +1 -1
- package/dist/src/orgrt/decisions.js +90 -18
- package/dist/src/orgrt/decisions.js.map +1 -1
- package/dist/src/orgrt/grok-runner.d.ts +29 -3
- package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
- package/dist/src/orgrt/grok-runner.js +286 -150
- package/dist/src/orgrt/grok-runner.js.map +1 -1
- package/dist/src/orgrt/kimicode-runner.d.ts +5 -5
- package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
- package/dist/src/orgrt/kimicode-runner.js +53 -32
- package/dist/src/orgrt/kimicode-runner.js.map +1 -1
- package/dist/src/orgrt/mailbox.d.ts +15 -0
- package/dist/src/orgrt/mailbox.d.ts.map +1 -1
- package/dist/src/orgrt/mailbox.js +29 -1
- package/dist/src/orgrt/mailbox.js.map +1 -1
- package/dist/src/orgrt/migrate.d.ts.map +1 -1
- package/dist/src/orgrt/migrate.js +8 -5
- package/dist/src/orgrt/migrate.js.map +1 -1
- package/dist/src/orgrt/opencode-runner.d.ts +1 -1
- package/dist/src/orgrt/opencode-runner.d.ts.map +1 -1
- package/dist/src/orgrt/opencode-runner.js +29 -3
- package/dist/src/orgrt/opencode-runner.js.map +1 -1
- package/dist/src/orgrt/org-memory.d.ts +19 -3
- package/dist/src/orgrt/org-memory.d.ts.map +1 -1
- package/dist/src/orgrt/org-memory.js +110 -38
- package/dist/src/orgrt/org-memory.js.map +1 -1
- package/dist/src/orgrt/pi-rpc-runner.d.ts +3 -1
- package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
- package/dist/src/orgrt/pi-rpc-runner.js +35 -3
- package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
- package/dist/src/orgrt/pi-runner.d.ts +25 -2
- package/dist/src/orgrt/pi-runner.d.ts.map +1 -1
- package/dist/src/orgrt/pi-runner.js +271 -152
- package/dist/src/orgrt/pi-runner.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts +1 -0
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +199 -39
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/provider.d.ts +4 -0
- package/dist/src/orgrt/provider.d.ts.map +1 -1
- package/dist/src/orgrt/provider.js +16 -0
- package/dist/src/orgrt/provider.js.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.d.ts +3 -1
- package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -1
- package/dist/src/orgrt/qwen-rpc-runner.js +35 -3
- package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -1
- package/dist/src/orgrt/qwen-runner.d.ts +30 -3
- package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
- package/dist/src/orgrt/qwen-runner.js +282 -142
- package/dist/src/orgrt/qwen-runner.js.map +1 -1
- package/dist/src/orgrt/role-slot.d.ts +88 -0
- package/dist/src/orgrt/role-slot.d.ts.map +1 -0
- package/dist/src/orgrt/role-slot.js +133 -0
- package/dist/src/orgrt/role-slot.js.map +1 -0
- package/dist/src/orgrt/runtime-options.d.ts +17 -0
- package/dist/src/orgrt/runtime-options.d.ts.map +1 -0
- package/dist/src/orgrt/runtime-options.js +32 -0
- package/dist/src/orgrt/runtime-options.js.map +1 -0
- package/dist/src/orgrt/scheduler-integration.d.ts +11 -0
- package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler-integration.js +75 -17
- package/dist/src/orgrt/scheduler-integration.js.map +1 -1
- package/dist/src/orgrt/scheduler.d.ts +4 -0
- package/dist/src/orgrt/scheduler.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler.js +7 -1
- package/dist/src/orgrt/scheduler.js.map +1 -1
- package/dist/src/orgrt/server.d.ts +8 -3
- package/dist/src/orgrt/server.d.ts.map +1 -1
- package/dist/src/orgrt/server.js +48 -13
- package/dist/src/orgrt/server.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +26 -2
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +98 -4
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +5 -0
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +41 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/test-loop.js +2 -2
- package/dist/src/orgrt/test-loop.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +14 -2
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +15 -1
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/orgrt/vercel-runner.d.ts.map +1 -1
- package/dist/src/orgrt/vercel-runner.js +4 -0
- package/dist/src/orgrt/vercel-runner.js.map +1 -1
- package/dist/src/ui/routes-org.mjs +27 -7
- package/dist/src/ui/server.mjs +82 -48
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/dist/src/ui/data/mastermind-sessions.json +0 -1
|
@@ -16,6 +16,39 @@
|
|
|
16
16
|
* opencode executes through exactly the same code path it always did.
|
|
17
17
|
*/
|
|
18
18
|
import { createSdkMcpServer, query, tool } from '@anthropic-ai/claude-agent-sdk';
|
|
19
|
+
/** Wire `signal` to a child-process kill ladder: SIGTERM on abort, SIGKILL
|
|
20
|
+
* after `graceMs` if the child is still alive. If the signal is already
|
|
21
|
+
* aborted the ladder fires immediately (the runner was asked to stop before
|
|
22
|
+
* this turn spawned). Returns an unsubscribe for the runner's cleanup path;
|
|
23
|
+
* the escalation timer is unref'd and a kill() on an exited ChildProcess
|
|
24
|
+
* is a no-op, so it needs no clearing. */
|
|
25
|
+
export function killOnAbort(signal, child, graceMs = 5000) {
|
|
26
|
+
if (!signal)
|
|
27
|
+
return () => { };
|
|
28
|
+
const onAbort = () => {
|
|
29
|
+
try {
|
|
30
|
+
child.kill('SIGTERM');
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
/* already gone */
|
|
34
|
+
}
|
|
35
|
+
const t = setTimeout(() => {
|
|
36
|
+
try {
|
|
37
|
+
child.kill('SIGKILL');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
/* already gone */
|
|
41
|
+
}
|
|
42
|
+
}, graceMs);
|
|
43
|
+
t.unref?.();
|
|
44
|
+
};
|
|
45
|
+
if (signal.aborted) {
|
|
46
|
+
onAbort();
|
|
47
|
+
return () => { };
|
|
48
|
+
}
|
|
49
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
50
|
+
return () => signal.removeEventListener('abort', onAbort);
|
|
51
|
+
}
|
|
19
52
|
/**
|
|
20
53
|
* Default runner — wraps the Claude Agent SDK. This is the previous inline
|
|
21
54
|
* logic of runOneSession, extracted verbatim:
|
|
@@ -36,6 +69,12 @@ export class ClaudeAgentRunner {
|
|
|
36
69
|
return { content: [{ type: 'text', text: r.text }] };
|
|
37
70
|
}));
|
|
38
71
|
const orgServer = createSdkMcpServer({ name: 'org', version: '1.0.0', tools: sdkTools });
|
|
72
|
+
// Forward args.signal to the SDK: aborting its controller stops the
|
|
73
|
+
// in-process agent loop (no further tool calls) and ends the stream.
|
|
74
|
+
const abortController = new AbortController();
|
|
75
|
+
const unsubscribe = killOnAbort(args.signal, {
|
|
76
|
+
kill: () => abortController.abort(),
|
|
77
|
+
});
|
|
39
78
|
const stream = this.queryFn({
|
|
40
79
|
prompt: args.prompt,
|
|
41
80
|
options: {
|
|
@@ -76,32 +115,44 @@ export class ClaudeAgentRunner {
|
|
|
76
115
|
permissionMode: 'default',
|
|
77
116
|
resume: args.resume,
|
|
78
117
|
canUseTool: args.canUseTool,
|
|
118
|
+
abortController,
|
|
79
119
|
...(args.extras || {}),
|
|
80
120
|
},
|
|
81
121
|
});
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
122
|
+
try {
|
|
123
|
+
for await (const m of stream) {
|
|
124
|
+
const session_id = m.session_id;
|
|
125
|
+
if (m.type === 'assistant') {
|
|
126
|
+
const text = (m.message?.content ?? [])
|
|
127
|
+
.filter((b) => b.type === 'text')
|
|
128
|
+
.map((b) => b.text)
|
|
129
|
+
.join('\n');
|
|
130
|
+
yield {
|
|
131
|
+
type: 'assistant',
|
|
132
|
+
session_id,
|
|
133
|
+
text,
|
|
134
|
+
input_tokens: m.message?.usage?.input_tokens,
|
|
135
|
+
output_tokens: m.message?.usage?.output_tokens,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
else if (m.type === 'result') {
|
|
139
|
+
yield {
|
|
140
|
+
type: 'result',
|
|
141
|
+
session_id,
|
|
142
|
+
subtype: m.subtype,
|
|
143
|
+
is_error: m.is_error,
|
|
144
|
+
input_tokens: m.usage?.input_tokens ?? 0,
|
|
145
|
+
output_tokens: m.usage?.output_tokens ?? 0,
|
|
146
|
+
cost_usd: m.total_cost_usd,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
// Other message kinds (tool_use, tool_result, system, …) carry no
|
|
150
|
+
// signal session.ts previously acted on, so they're dropped here —
|
|
151
|
+
// matching the prior code which only branched on assistant/result.
|
|
90
152
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
session_id,
|
|
95
|
-
subtype: m.subtype,
|
|
96
|
-
is_error: m.is_error,
|
|
97
|
-
input_tokens: m.usage?.input_tokens ?? 0,
|
|
98
|
-
output_tokens: m.usage?.output_tokens ?? 0,
|
|
99
|
-
cost_usd: m.total_cost_usd,
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
// Other message kinds (tool_use, tool_result, system, …) carry no
|
|
103
|
-
// signal session.ts previously acted on, so they're dropped here —
|
|
104
|
-
// matching the prior code which only branched on assistant/result.
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
unsubscribe();
|
|
105
156
|
}
|
|
106
157
|
}
|
|
107
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/orgrt/agent-runner.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../../src/orgrt/agent-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AgentMessage, type AgentRunArgs, type AgentRunner } from './agent-runner.js';
|
|
2
2
|
/**
|
|
3
3
|
* One parsed agy stream-json event, normalized for incremental streaming.
|
|
4
4
|
* - 'assistant': rawText is the accumulated agent_response text (fences
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"AA2DA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"antigravity-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"AA2DA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAwD3B;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,qBAAa,sBAAuB,YAAW,WAAW;IAC5C,OAAO,CAAC,MAAM,CAAC;IAA3B,YAAoB,MAAM,CAAC,EAAE,MAAM,YAAA,EAAI;IAEhC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAqH1D;IAED;;;;;;;OAOG;YACY,UAAU;CA4O1B"}
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
* - Headless requires cached creds — must authenticate interactively first
|
|
58
58
|
*/
|
|
59
59
|
import { spawn } from 'node:child_process';
|
|
60
|
+
import { killOnAbort, } from './agent-runner.js';
|
|
60
61
|
import { classifyStderr } from './kimicode-runner.js';
|
|
61
62
|
import { buildToolProtocol, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, parseToolCalls, TOOL_CALL_RE, } from './tool-fence.js';
|
|
62
63
|
const TURN_TIMEOUT_MS = 2 * 60 * 60 * 1000; // 2 hours, matching kimi/codex runners
|
|
@@ -196,16 +197,18 @@ export class AntigravityAgentRunner {
|
|
|
196
197
|
child.stderr?.on('data', (c) => {
|
|
197
198
|
stderrTail = (stderrTail + c.toString()).slice(-4000);
|
|
198
199
|
});
|
|
199
|
-
//
|
|
200
|
-
//
|
|
201
|
-
|
|
200
|
+
// SIGTERM→SIGKILL escalation, shared by the turn timeout, the abort
|
|
201
|
+
// signal, and the abandoned-stream path in `finally` — a CLI that
|
|
202
|
+
// ignores SIGTERM must not leak a zombie per turn.
|
|
202
203
|
const KILL_GRACE_MS = 5000;
|
|
203
204
|
let killTimer;
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
205
|
+
const killChild = () => {
|
|
206
|
+
try {
|
|
207
|
+
child.kill('SIGTERM');
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
/* already gone */
|
|
211
|
+
}
|
|
209
212
|
killTimer = setTimeout(() => {
|
|
210
213
|
try {
|
|
211
214
|
child.kill('SIGKILL');
|
|
@@ -215,7 +218,17 @@ export class AntigravityAgentRunner {
|
|
|
215
218
|
}
|
|
216
219
|
}, KILL_GRACE_MS);
|
|
217
220
|
killTimer.unref?.();
|
|
221
|
+
};
|
|
222
|
+
// Arm the turn timeout BEFORE consuming stdout — a hung CLI must be
|
|
223
|
+
// killed while we're still reading, not after it finishes.
|
|
224
|
+
let timedOut = false;
|
|
225
|
+
const timer = setTimeout(() => {
|
|
226
|
+
timedOut = true;
|
|
227
|
+
killChild();
|
|
218
228
|
}, TURN_TIMEOUT_MS);
|
|
229
|
+
// Abort hook (see AgentRunArgs.signal): kill the child so the stdout
|
|
230
|
+
// loop below unblocks instead of orphaning it on iterator.return().
|
|
231
|
+
const unsubscribeAbort = killOnAbort(args.signal, child, KILL_GRACE_MS);
|
|
219
232
|
// Attach the exit promise BEFORE consuming stdout: on a spawn failure
|
|
220
233
|
// (ENOENT, bad binary) the 'error' event fires almost immediately —
|
|
221
234
|
// if no listener is attached yet it escapes as an unhandled 'error'
|
|
@@ -374,21 +387,25 @@ export class AntigravityAgentRunner {
|
|
|
374
387
|
}
|
|
375
388
|
finally {
|
|
376
389
|
clearTimeout(timer);
|
|
377
|
-
|
|
390
|
+
unsubscribeAbort();
|
|
391
|
+
if (child.exitCode === null && child.signalCode === null) {
|
|
392
|
+
// NOT confirmed dead. Either the consumer abandoned this stream
|
|
393
|
+
// mid-turn (session.ts's silent abort calls iterator.return(), the
|
|
394
|
+
// mailbox closes, or an error is thrown downstream) — kill it, WITH
|
|
395
|
+
// the SIGKILL escalation — or a SIGTERM from the timeout/abort is
|
|
396
|
+
// still inside its grace period: leave that escalation armed, since
|
|
397
|
+
// clearing it here would orphan a CLI that ignores SIGTERM and then
|
|
398
|
+
// wait on `exitPromise` forever (same fix as codex/kimi/pi-rpc).
|
|
399
|
+
if (!child.killed)
|
|
400
|
+
killChild();
|
|
401
|
+
}
|
|
402
|
+
else if (killTimer) {
|
|
378
403
|
clearTimeout(killTimer);
|
|
379
|
-
// If the consumer abandons this stream mid-turn (session.ts's
|
|
380
|
-
// silent-abort calls iterator.return(), the mailbox closes, or an
|
|
381
|
-
// error is thrown downstream), don't leak the CLI subprocess.
|
|
382
|
-
if (child.exitCode === null && !child.killed) {
|
|
383
|
-
try {
|
|
384
|
-
child.kill('SIGTERM');
|
|
385
|
-
}
|
|
386
|
-
catch {
|
|
387
|
-
/* already gone */
|
|
388
|
-
}
|
|
389
404
|
}
|
|
390
405
|
}
|
|
391
406
|
const exitCode = await exitPromise;
|
|
407
|
+
if (killTimer)
|
|
408
|
+
clearTimeout(killTimer);
|
|
392
409
|
outcome.conversationId = lastConversationId;
|
|
393
410
|
outcome.exitCode = exitCode;
|
|
394
411
|
outcome.stderrTail = stderrTail;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity-runner.js","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"antigravity-runner.js","sourceRoot":"","sources":["../../../src/orgrt/antigravity-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,11 +17,35 @@ export declare function clearApprovalsForFreshStart(daemon: OrgDaemon, org: stri
|
|
|
17
17
|
/** Check if an action requires human approval (beforeTool hook for guardrails). Returns
|
|
18
18
|
* the approval decision: true = approved, false = denied, null = pending (requires human input).
|
|
19
19
|
*
|
|
20
|
+
* CRITICAL fix: the pending cache used to key ONLY on (role, action) — the tool's
|
|
21
|
+
* bare name (e.g. "Bash"), never its actual arguments. Once a human approved ONE
|
|
22
|
+
* call, `existing.approved !== null` short-circuited below and returned true for
|
|
23
|
+
* EVERY future call to that tool by that role for the rest of the run, regardless
|
|
24
|
+
* of what the new call's command/url/content actually was: approve role
|
|
25
|
+
* "builder"'s `npm test`, and its very next Bash call — `rm -rf $HOME`, say —
|
|
26
|
+
* was auto-approved with zero further human involvement. Same issue for repeated
|
|
27
|
+
* WebFetch/WebSearch (exfiltration/SSRF) and org_complete. `input` (the tool's
|
|
28
|
+
* actual call arguments, now threaded through from gatedCanUseTool/daemon.ts) is
|
|
29
|
+
* fingerprinted (fingerprintAction, above) and folded into the cache key so a
|
|
30
|
+
* materially different call always queues its OWN pending entry requiring fresh
|
|
31
|
+
* human approval — only a literally identical repeat call may reuse a prior
|
|
32
|
+
* decision, which is reasonable UX, not the bug.
|
|
33
|
+
*
|
|
20
34
|
* R5: serialized per-org via withApprovalLock() — concurrent checkApproval and
|
|
21
35
|
* setApproval calls previously raced on this.approvals + approvals.json. */
|
|
22
|
-
export declare function checkApproval(daemon: OrgDaemon, org: string, role: string, rawAction: string): Promise<boolean | null>;
|
|
36
|
+
export declare function checkApproval(daemon: OrgDaemon, org: string, role: string, rawAction: string, input?: Record<string, unknown>): Promise<boolean | null>;
|
|
23
37
|
/** Approve or deny a pending action (called by dashboard or CLI).
|
|
24
|
-
* R5: serialized per-org via withApprovalLock().
|
|
38
|
+
* R5: serialized per-org via withApprovalLock().
|
|
39
|
+
*
|
|
40
|
+
* Now that checkApproval fingerprints each call, more than one distinct
|
|
41
|
+
* pending entry can exist under the same (role, action) at once (e.g. two
|
|
42
|
+
* different Bash commands both awaiting approval). The CLI/dashboard only
|
|
43
|
+
* identify a request by (role, action), not by which specific command — so
|
|
44
|
+
* resolve every currently-UNRESOLVED entry for that (role, action) rather
|
|
45
|
+
* than picking one arbitrarily via .find(). This still means what it always
|
|
46
|
+
* meant ("yes, let the queued Bash/WebFetch/... call(s) through"): a NEW,
|
|
47
|
+
* still-different future call queues its own fresh pending entry and is
|
|
48
|
+
* unaffected by this decision. */
|
|
25
49
|
export declare function setApproval(daemon: OrgDaemon, org: string, role: string, action: string, approved: boolean): Promise<{
|
|
26
50
|
ok: true;
|
|
27
51
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"approvals.d.ts","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiD7C;;;;;;;;;;;;;qCAaqC;AACrC,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIhF;AAED;;;;;;;;;;;;;;;;;;6EAkB6E;AAC7E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAiDzB;AAED;;;;;;;;;;;mCAWmC;AACnC,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CtD"}
|
|
@@ -20,6 +20,38 @@ function normalizeToolAction(rawAction) {
|
|
|
20
20
|
const prefix = 'mcp__org__';
|
|
21
21
|
return rawAction.startsWith(prefix) ? rawAction.slice(prefix.length) : rawAction;
|
|
22
22
|
}
|
|
23
|
+
/** Deterministic string form of a value, with object keys sorted at every
|
|
24
|
+
* depth so the same input always fingerprints the same way regardless of
|
|
25
|
+
* key insertion order. Used as the fallback fingerprint (below) for actions
|
|
26
|
+
* with no single well-known argument field. */
|
|
27
|
+
function stableStringify(value) {
|
|
28
|
+
if (value === null || typeof value !== 'object')
|
|
29
|
+
return JSON.stringify(value);
|
|
30
|
+
if (Array.isArray(value))
|
|
31
|
+
return `[${value.map(stableStringify).join(',')}]`;
|
|
32
|
+
const obj = value;
|
|
33
|
+
const keys = Object.keys(obj).sort();
|
|
34
|
+
return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(obj[k])}`).join(',')}}`;
|
|
35
|
+
}
|
|
36
|
+
/** Fingerprints the MEANINGFUL part of a tool call's arguments, so
|
|
37
|
+
* checkApproval's pending-cache key can tell a materially different call
|
|
38
|
+
* apart from one already approved/pending for the same (role, action) —
|
|
39
|
+
* see the CRITICAL bug this fixes in checkApproval's doc comment below.
|
|
40
|
+
* Falls back to a stable-stringify of the whole input for actions with no
|
|
41
|
+
* single well-known field (org_complete) or a call whose expected field is
|
|
42
|
+
* missing/non-string for some reason — never silently treats "unknown
|
|
43
|
+
* shape" as "same as before". */
|
|
44
|
+
function fingerprintAction(action, input) {
|
|
45
|
+
if (action === 'Bash' && typeof input.command === 'string')
|
|
46
|
+
return input.command;
|
|
47
|
+
if (action === 'WebFetch' || action === 'WebSearch') {
|
|
48
|
+
if (typeof input.url === 'string')
|
|
49
|
+
return input.url;
|
|
50
|
+
if (typeof input.query === 'string')
|
|
51
|
+
return input.query;
|
|
52
|
+
}
|
|
53
|
+
return stableStringify(input);
|
|
54
|
+
}
|
|
23
55
|
/** Discard every approval — pending or resolved — left over from a previous
|
|
24
56
|
* run. Call on a fresh (non-resume) startOrg.
|
|
25
57
|
*
|
|
@@ -43,13 +75,28 @@ export function clearApprovalsForFreshStart(daemon, org) {
|
|
|
43
75
|
/** Check if an action requires human approval (beforeTool hook for guardrails). Returns
|
|
44
76
|
* the approval decision: true = approved, false = denied, null = pending (requires human input).
|
|
45
77
|
*
|
|
78
|
+
* CRITICAL fix: the pending cache used to key ONLY on (role, action) — the tool's
|
|
79
|
+
* bare name (e.g. "Bash"), never its actual arguments. Once a human approved ONE
|
|
80
|
+
* call, `existing.approved !== null` short-circuited below and returned true for
|
|
81
|
+
* EVERY future call to that tool by that role for the rest of the run, regardless
|
|
82
|
+
* of what the new call's command/url/content actually was: approve role
|
|
83
|
+
* "builder"'s `npm test`, and its very next Bash call — `rm -rf $HOME`, say —
|
|
84
|
+
* was auto-approved with zero further human involvement. Same issue for repeated
|
|
85
|
+
* WebFetch/WebSearch (exfiltration/SSRF) and org_complete. `input` (the tool's
|
|
86
|
+
* actual call arguments, now threaded through from gatedCanUseTool/daemon.ts) is
|
|
87
|
+
* fingerprinted (fingerprintAction, above) and folded into the cache key so a
|
|
88
|
+
* materially different call always queues its OWN pending entry requiring fresh
|
|
89
|
+
* human approval — only a literally identical repeat call may reuse a prior
|
|
90
|
+
* decision, which is reasonable UX, not the bug.
|
|
91
|
+
*
|
|
46
92
|
* R5: serialized per-org via withApprovalLock() — concurrent checkApproval and
|
|
47
93
|
* setApproval calls previously raced on this.approvals + approvals.json. */
|
|
48
|
-
export function checkApproval(daemon, org, role, rawAction) {
|
|
94
|
+
export function checkApproval(daemon, org, role, rawAction, input = {}) {
|
|
49
95
|
const action = normalizeToolAction(rawAction);
|
|
96
|
+
const fingerprint = fingerprintAction(action, input);
|
|
50
97
|
return withApprovalLock(daemon, org, async () => {
|
|
51
98
|
const pending = daemon.approvals.get(org) ?? [];
|
|
52
|
-
const existing = pending.find((a) => a.roleId === role && a.action === action);
|
|
99
|
+
const existing = pending.find((a) => a.roleId === role && a.action === action && a.fingerprint === fingerprint);
|
|
53
100
|
// If already approved/denied, return that decision
|
|
54
101
|
if (existing && existing.approved !== null)
|
|
55
102
|
return existing.approved;
|
|
@@ -66,6 +113,7 @@ export function checkApproval(daemon, org, role, rawAction) {
|
|
|
66
113
|
pending.push({
|
|
67
114
|
roleId: role,
|
|
68
115
|
action,
|
|
116
|
+
fingerprint,
|
|
69
117
|
question: `Approve ${action} tool call?`,
|
|
70
118
|
ts: Date.now(),
|
|
71
119
|
approved: null,
|
|
@@ -89,15 +137,27 @@ export function checkApproval(daemon, org, role, rawAction) {
|
|
|
89
137
|
});
|
|
90
138
|
}
|
|
91
139
|
/** Approve or deny a pending action (called by dashboard or CLI).
|
|
92
|
-
* R5: serialized per-org via withApprovalLock().
|
|
140
|
+
* R5: serialized per-org via withApprovalLock().
|
|
141
|
+
*
|
|
142
|
+
* Now that checkApproval fingerprints each call, more than one distinct
|
|
143
|
+
* pending entry can exist under the same (role, action) at once (e.g. two
|
|
144
|
+
* different Bash commands both awaiting approval). The CLI/dashboard only
|
|
145
|
+
* identify a request by (role, action), not by which specific command — so
|
|
146
|
+
* resolve every currently-UNRESOLVED entry for that (role, action) rather
|
|
147
|
+
* than picking one arbitrarily via .find(). This still means what it always
|
|
148
|
+
* meant ("yes, let the queued Bash/WebFetch/... call(s) through"): a NEW,
|
|
149
|
+
* still-different future call queues its own fresh pending entry and is
|
|
150
|
+
* unaffected by this decision. */
|
|
93
151
|
export async function setApproval(daemon, org, role, action, approved) {
|
|
94
152
|
return withApprovalLock(daemon, org, async () => {
|
|
95
153
|
const pending = daemon.approvals.get(org) ?? [];
|
|
96
|
-
const
|
|
97
|
-
if (
|
|
154
|
+
const items = pending.filter((a) => a.roleId === role && a.action === action && a.approved === null);
|
|
155
|
+
if (items.length === 0)
|
|
98
156
|
return { ok: false, error: `No pending approval found for ${role} action ${action}` };
|
|
99
|
-
item
|
|
100
|
-
|
|
157
|
+
for (const item of items) {
|
|
158
|
+
item.approved = approved;
|
|
159
|
+
item.ts = Date.now();
|
|
160
|
+
}
|
|
101
161
|
// Persist updated approval state (C4: atomic write)
|
|
102
162
|
const approvalsPath = join(daemon.root, ORG_DIR, org, 'approvals.json');
|
|
103
163
|
writeJsonFileAtomic(approvalsPath, { approvals: pending });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;;;;;;;;iEAWiE;AACjE,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED;;;;;;;;;;;;;qCAaqC;AACrC,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,GAAW;IACxE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACxE,IAAI,UAAU,CAAC,aAAa,CAAC;QAAE,mBAAmB,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"approvals.js","sourceRoot":"","sources":["../../../src/orgrt/approvals.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,17 @@ export interface BrokerEntry {
|
|
|
7
7
|
/** Normalize credential: trim whitespace, reject empty/oversized values. */
|
|
8
8
|
export declare function normalizeCredential(cred: string | undefined): string | undefined;
|
|
9
9
|
export declare function defaultRegistryDir(): string;
|
|
10
|
+
/** Where the OPERATOR credential lives — deliberately not the broker registry.
|
|
11
|
+
* The registry entry is the agent-facing credential: every org process on the
|
|
12
|
+
* machine reads it to deliver messages, so anything in it must be assumed
|
|
13
|
+
* visible to agents. The operator credential authorizes human decisions
|
|
14
|
+
* (approvals, gates, answers) and is only read by the `org` CLI. */
|
|
15
|
+
export declare function defaultOperatorDir(): string;
|
|
16
|
+
/** Publish the operator credential for org `name` so `org approve/deny/answer/gate-*`
|
|
17
|
+
* can authenticate to the hosting daemon's human-decision routes. */
|
|
18
|
+
export declare function writeOperatorCredential(name: string, credential: string, dir?: string): void;
|
|
19
|
+
export declare function readOperatorCredential(name: string, dir?: string): string | undefined;
|
|
20
|
+
export declare function removeOperatorCredential(name: string, dir?: string): void;
|
|
10
21
|
/** Publish that this process hosts org `name`, reachable via `url`. Call again periodically (heartbeat) — see BrokerLease.
|
|
11
22
|
* Writes via tmp+rename (same-directory rename is atomic on POSIX/NTFS) so a concurrent lookupOrg() never observes a
|
|
12
23
|
* partially-written entry — this file is rewritten every heartbeat (default 20s) while other processes may read it. */
|
|
@@ -15,15 +26,23 @@ export declare function registerOrg(name: string, url: string, dir?: string, cre
|
|
|
15
26
|
export declare function unregisterOrg(name: string, dir?: string): void;
|
|
16
27
|
/** Find which process (if any) currently hosts org `name`. Null if never registered or the registration is stale (owner crashed without cleanup). */
|
|
17
28
|
export declare function lookupOrg(name: string, dir?: string, staleMs?: number): BrokerEntry | null;
|
|
18
|
-
/** Keeps a broker registration alive with periodic heartbeats until stop() is called.
|
|
29
|
+
/** Keeps a broker registration alive with periodic heartbeats until stop() is called.
|
|
30
|
+
* `credential` is the org's AGENT credential (published in the registry entry);
|
|
31
|
+
* `operator` is the daemon's operator credential, written to its own directory
|
|
32
|
+
* and never into the registry entry. */
|
|
19
33
|
export declare class BrokerLease {
|
|
20
34
|
private name;
|
|
21
35
|
private url;
|
|
22
36
|
private dir;
|
|
23
37
|
private intervalMs;
|
|
24
38
|
private credential?;
|
|
39
|
+
private operator?;
|
|
25
40
|
private timer;
|
|
26
|
-
constructor(name: string, url: string, dir?: string, intervalMs?: number, credential?: string | undefined
|
|
41
|
+
constructor(name: string, url: string, dir?: string, intervalMs?: number, credential?: string | undefined, operator?: {
|
|
42
|
+
credential: string;
|
|
43
|
+
dir?: string;
|
|
44
|
+
} | undefined);
|
|
45
|
+
private publish;
|
|
27
46
|
start(): void;
|
|
28
47
|
stop(): void;
|
|
29
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/orgrt/broker.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMhF;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;
|
|
1
|
+
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/orgrt/broker.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMhF;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;qEAIqE;AACrE,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAcD;sEACsE;AACtE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,GAAG,SAAuB,GACzB,IAAI,CAGN;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,SAAuB,GACzB,MAAM,GAAG,SAAS,CAOpB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAuB,GAAG,IAAI,CAMvF;AAED;;wHAEwH;AACxH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,SAAuB,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAYN;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAuB,GAAG,IAAI,CAM5E;AAED,qJAAqJ;AACrJ,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,GAAG,SAAuB,EAC1B,OAAO,SAAmB,GACzB,WAAW,GAAG,IAAI,CAQpB;AAED;;;yCAGyC;AACzC,qBAAa,WAAW;IAIpB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC;IARnB,OAAO,CAAC,KAAK,CAA+C;IAE5D,YACU,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAA6B,EAClC,UAAU,SAAS,EACnB,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,QAAQ,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EACrD;IAEJ,OAAO,CAAC,OAAO;IAMf,KAAK,IAAI,IAAI,CAIZ;IAED,IAAI,IAAI,IAAI,CAKX;CACF"}
|