@dv.nghiem/flowdeck 0.5.5 → 0.5.6
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA8X/C,wBAAgB,uBAAuB,CACrC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CA6BR;AAED,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,aAAa,CAAC,EAAE,MAAM,GACrB,eAAe,CAuBjB"}
|
|
@@ -2,21 +2,27 @@
|
|
|
2
2
|
* Orchestrator Guard Hook
|
|
3
3
|
*
|
|
4
4
|
* Enforces the "orchestrator as coordinator, not executor" rule for the primary session.
|
|
5
|
-
* The guard consults the orchestrator capability contract in agent-contract-registry
|
|
6
|
-
* and the harness policy.
|
|
5
|
+
* The guard consults the orchestrator capability contract in agent-contract-registry.
|
|
7
6
|
*
|
|
8
|
-
* IMPORTANT: The guard never throws. When a tool is blocked it returns a
|
|
9
|
-
*
|
|
7
|
+
* IMPORTANT: The guard never throws. When a tool is blocked it returns a structured
|
|
8
|
+
* GuardCheckResult. Callers surface the message as tool output. This keeps the
|
|
10
9
|
* orchestrator turn alive and gives it a path forward (delegate or ask the human).
|
|
11
10
|
*
|
|
12
11
|
* To disable: set FLOWDECK_ORCHESTRATOR_GUARD=off in the environment.
|
|
13
12
|
* Default is ON.
|
|
14
13
|
*/
|
|
15
14
|
import type { HarnessPolicy } from "../services/harness-policy";
|
|
15
|
+
export interface GuardResult {
|
|
16
|
+
allowed: true;
|
|
17
|
+
}
|
|
18
|
+
export interface GuardBlock {
|
|
19
|
+
allowed: false;
|
|
20
|
+
message: string;
|
|
21
|
+
}
|
|
22
|
+
export type GuardCheckResult = GuardResult | GuardBlock;
|
|
16
23
|
export declare class OrchestratorGuard {
|
|
17
24
|
private primarySessionId;
|
|
18
25
|
private policy?;
|
|
19
|
-
private blockedHistory;
|
|
20
26
|
setPolicy(policy: HarnessPolicy): void;
|
|
21
27
|
onEvent(event: {
|
|
22
28
|
type?: string;
|
|
@@ -27,17 +33,15 @@ export declare class OrchestratorGuard {
|
|
|
27
33
|
}): void;
|
|
28
34
|
/**
|
|
29
35
|
* Check whether the tool is allowed for the primary session.
|
|
30
|
-
* Returns
|
|
31
|
-
* Never throws.
|
|
36
|
+
* Returns { allowed: true } when allowed, or { allowed: false, message }
|
|
37
|
+
* when blocked. Never throws.
|
|
32
38
|
*/
|
|
33
|
-
check(sessionId: string, toolName: string):
|
|
39
|
+
check(sessionId: string, toolName: string): GuardCheckResult;
|
|
34
40
|
/** Returns true if the tool is not in the orchestrator contract allowlist. */
|
|
35
41
|
_isBlockedForTest(name: string): boolean;
|
|
36
42
|
/** Returns true if the tool is in the orchestrator contract allowlist. */
|
|
37
43
|
_isAllowedForTest(name: string): boolean;
|
|
38
44
|
/** Exposed for testing. */
|
|
39
45
|
_setPrimarySessionIdForTest(id: string | null): void;
|
|
40
|
-
/** Exposed for testing. */
|
|
41
|
-
_getRepeatCountForTest(sessionId: string, toolName: string): number;
|
|
42
46
|
}
|
|
43
47
|
//# sourceMappingURL=orchestrator-guard-hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-guard-hook.d.ts","sourceRoot":"","sources":["../../src/hooks/orchestrator-guard-hook.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"orchestrator-guard-hook.d.ts","sourceRoot":"","sources":["../../src/hooks/orchestrator-guard-hook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAQ/D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,UAAU,CAAA;AAiCvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAe;IAE9B,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAItC,OAAO,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAkBtH;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IAiB5D,8EAA8E;IAC9E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOxC,0EAA0E;IAC1E,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC,2BAA2B;IAC3B,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAGrD"}
|
package/dist/index.js
CHANGED
|
@@ -1275,13 +1275,29 @@ Select ONE of these workflow classes:
|
|
|
1275
1275
|
| \`docs-only\` | Route to @default-executor with \`inspect-only\` or \`simple-edit\` mode, or @writer for large docs | Documentation-only changes |
|
|
1276
1276
|
| \`verify-heavy\` | Plan with @planner (enhanced checks) → Execute with specialists → Verify with @reviewer + @security-auditor | High blast radius or sensitive paths |
|
|
1277
1277
|
|
|
1278
|
-
##
|
|
1278
|
+
## How to delegate
|
|
1279
1279
|
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1280
|
+
Use \`@agent-name\` mentions to route work. Always include complete context — the subagent has no access to your reasoning:
|
|
1281
|
+
|
|
1282
|
+
@backend-coder
|
|
1283
|
+
Task: <exact description>
|
|
1284
|
+
Files: <targets>
|
|
1285
|
+
Constraints: <constraints>
|
|
1286
|
+
Acceptance criteria: <done definition>
|
|
1287
|
+
Context: <relevant findings>
|
|
1288
|
+
|
|
1289
|
+
## Recovery when a tool is blocked by the guard
|
|
1290
|
+
|
|
1291
|
+
If you see \`[Orchestrator Guard]\`, do NOT retry the same tool. Switch immediately to \`@agent-name\` delegation. The guard message lists available agents — pick the appropriate one and delegate with full context.
|
|
1292
|
+
|
|
1293
|
+
## Recovery when an agent returns no output or fails
|
|
1294
|
+
|
|
1295
|
+
1. Retry ONCE with more specific task description and explicit file targets.
|
|
1296
|
+
2. If it fails again, report to the human with the exact blocker. Do NOT loop.
|
|
1297
|
+
|
|
1298
|
+
## You must never stop with "blocked" without first attempting @agent delegation
|
|
1299
|
+
|
|
1300
|
+
If your current approach is blocked, \`@agent\` delegation is always available as an alternative path forward. Only escalate to the human if delegation itself fails twice.
|
|
1285
1301
|
|
|
1286
1302
|
## What You MAY Do Directly
|
|
1287
1303
|
|
|
@@ -8161,18 +8177,19 @@ var CONTRACTS = [
|
|
|
8161
8177
|
},
|
|
8162
8178
|
{
|
|
8163
8179
|
agent: "mapper",
|
|
8164
|
-
role: "Map codebase
|
|
8165
|
-
allowedTaskTypes: ["codebase-mapping", "
|
|
8166
|
-
requiredInputs: ["
|
|
8167
|
-
expectedOutputFields: ["
|
|
8168
|
-
allowedTools: ["read", "
|
|
8180
|
+
role: "Map and analyze codebase structure, dependencies, and call graphs.",
|
|
8181
|
+
allowedTaskTypes: ["codebase-mapping", "dependency-analysis", "call-graph"],
|
|
8182
|
+
requiredInputs: ["directory or module to map"],
|
|
8183
|
+
expectedOutputFields: ["structure_map", "dependencies", "summary"],
|
|
8184
|
+
allowedTools: ["read", "glob", "grep", "codegraph", "codegraph-search"],
|
|
8169
8185
|
forbiddenActions: [
|
|
8170
|
-
"
|
|
8171
|
-
"
|
|
8186
|
+
"write or edit files",
|
|
8187
|
+
"run bash commands",
|
|
8188
|
+
"modify application source code"
|
|
8172
8189
|
],
|
|
8173
|
-
escalationConditions: ["
|
|
8174
|
-
stopConditions: ["
|
|
8175
|
-
successCriteria: ["
|
|
8190
|
+
escalationConditions: ["codebase too large to map in one pass"],
|
|
8191
|
+
stopConditions: ["map complete"],
|
|
8192
|
+
successCriteria: ["structured map output", "no file modifications"]
|
|
8176
8193
|
},
|
|
8177
8194
|
{
|
|
8178
8195
|
agent: "supervisor",
|
|
@@ -8208,28 +8225,20 @@ var CONTRACTS = [
|
|
|
8208
8225
|
},
|
|
8209
8226
|
{
|
|
8210
8227
|
agent: "default-executor",
|
|
8211
|
-
role: "
|
|
8212
|
-
allowedTaskTypes: ["
|
|
8213
|
-
requiredInputs: ["task description"
|
|
8214
|
-
expectedOutputFields: ["
|
|
8228
|
+
role: "General-purpose executor for simple direct tasks: renames, typo fixes, small edits.",
|
|
8229
|
+
allowedTaskTypes: ["simple-edit", "rename", "typo-fix", "quick-change"],
|
|
8230
|
+
requiredInputs: ["task description"],
|
|
8231
|
+
expectedOutputFields: ["files_modified", "summary"],
|
|
8215
8232
|
allowedTools: ["read", "write", "edit", "bash", "glob", "grep"],
|
|
8216
8233
|
forbiddenActions: [
|
|
8234
|
+
"architectural changes",
|
|
8235
|
+
"database migrations",
|
|
8217
8236
|
"orchestrate other agents",
|
|
8218
|
-
"
|
|
8219
|
-
"expand scope silently",
|
|
8220
|
-
"invent new workflows"
|
|
8221
|
-
],
|
|
8222
|
-
escalationConditions: [
|
|
8223
|
-
"task touches more than 5 files",
|
|
8224
|
-
"architectural decision needed",
|
|
8225
|
-
"security-sensitive path encountered"
|
|
8237
|
+
"expand scope silently"
|
|
8226
8238
|
],
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
"scope not expanded",
|
|
8231
|
-
"verification performed"
|
|
8232
|
-
]
|
|
8239
|
+
escalationConditions: ["task scope expands beyond simple edit"],
|
|
8240
|
+
stopConditions: ["task complete"],
|
|
8241
|
+
successCriteria: ["change made", "no regressions"]
|
|
8233
8242
|
},
|
|
8234
8243
|
{
|
|
8235
8244
|
agent: "code-explorer",
|
|
@@ -10761,87 +10770,38 @@ var DISABLED = process.env.FLOWDECK_ORCHESTRATOR_GUARD === "off";
|
|
|
10761
10770
|
function normalizeToolName(name) {
|
|
10762
10771
|
return name.toLowerCase().replace(/[-_]/g, "");
|
|
10763
10772
|
}
|
|
10764
|
-
|
|
10765
|
-
|
|
10766
|
-
var BUILD_TOOLS = new Set(["npm", "pnpm", "yarn", "bun", "cargo", "go", "make", "cmake", "docker", "kubectl", "terraform", "pulumi"]);
|
|
10767
|
-
var SCRIPT_TOOLS = new Set(["python", "runpython", "js", "runjs"]);
|
|
10768
|
-
function agentCanExecute(contract) {
|
|
10769
|
-
const allowed = contract.allowedTools.map(normalizeToolName);
|
|
10770
|
-
return allowed.some((t) => WRITE_TOOLS2.has(t) || SHELL_TOOLS.has(t) || BUILD_TOOLS.has(t));
|
|
10771
|
-
}
|
|
10772
|
-
function matchesBlockedTool(contract, blockedTool) {
|
|
10773
|
-
const normalizedBlocked = normalizeToolName(blockedTool);
|
|
10774
|
-
const allowed = contract.allowedTools.map(normalizeToolName);
|
|
10775
|
-
if (allowed.includes(normalizedBlocked))
|
|
10776
|
-
return true;
|
|
10777
|
-
if (WRITE_TOOLS2.has(normalizedBlocked))
|
|
10778
|
-
return allowed.some((t) => WRITE_TOOLS2.has(t));
|
|
10779
|
-
if (SHELL_TOOLS.has(normalizedBlocked))
|
|
10780
|
-
return allowed.some((t) => SHELL_TOOLS.has(t));
|
|
10781
|
-
if (BUILD_TOOLS.has(normalizedBlocked))
|
|
10782
|
-
return allowed.some((t) => BUILD_TOOLS.has(t));
|
|
10783
|
-
if (SCRIPT_TOOLS.has(normalizedBlocked))
|
|
10784
|
-
return allowed.some((t) => SCRIPT_TOOLS.has(t));
|
|
10785
|
-
return false;
|
|
10786
|
-
}
|
|
10787
|
-
function fallbackRoutingSuggestion(blockedTool) {
|
|
10788
|
-
const normalized = normalizeToolName(blockedTool);
|
|
10789
|
-
if (WRITE_TOOLS2.has(normalized)) {
|
|
10790
|
-
return ` @default-executor — simple file edits and quick fixes
|
|
10791
|
-
@backend-coder — backend code changes
|
|
10792
|
-
@frontend-coder — frontend code changes
|
|
10793
|
-
@writer — documentation changes`;
|
|
10794
|
-
}
|
|
10795
|
-
if (SHELL_TOOLS.has(normalized)) {
|
|
10796
|
-
return ` @default-executor — ad-hoc shell commands
|
|
10797
|
-
@tester — test and verification commands
|
|
10798
|
-
@devops — CI/CD and infrastructure commands`;
|
|
10799
|
-
}
|
|
10800
|
-
if (BUILD_TOOLS.has(normalized)) {
|
|
10801
|
-
return ` @devops — build, deploy, and infrastructure
|
|
10802
|
-
@tester — test and verification commands
|
|
10803
|
-
@build-error-resolver — fix build/type errors`;
|
|
10804
|
-
}
|
|
10805
|
-
if (SCRIPT_TOOLS.has(normalized)) {
|
|
10806
|
-
return ` @default-executor — run scripts and small experiments
|
|
10807
|
-
@tester — test scripts and verification`;
|
|
10808
|
-
}
|
|
10809
|
-
return " @default-executor — general execution delegate";
|
|
10810
|
-
}
|
|
10811
|
-
function buildRoutingSuggestions(blockedTool) {
|
|
10812
|
-
const contracts = getAllContracts().filter((c) => c.agent !== "orchestrator" && agentCanExecute(c));
|
|
10813
|
-
const matches = contracts.filter((c) => matchesBlockedTool(c, blockedTool)).map((c) => ` @${c.agent} — ${c.role}`).slice(0, 5);
|
|
10814
|
-
if (matches.length > 0) {
|
|
10815
|
-
return matches.join(`
|
|
10773
|
+
function buildRoutingOptions() {
|
|
10774
|
+
return getAllContracts().filter((c) => c.agent !== "orchestrator").map((c) => ` @${c.agent.padEnd(20)} — ${c.role}`).join(`
|
|
10816
10775
|
`);
|
|
10817
|
-
}
|
|
10818
|
-
return fallbackRoutingSuggestion(blockedTool);
|
|
10819
10776
|
}
|
|
10820
|
-
function
|
|
10777
|
+
function blockMessage(toolName) {
|
|
10821
10778
|
const contract = getContract("orchestrator");
|
|
10822
10779
|
const allowed = contract?.allowedTools ?? [];
|
|
10823
|
-
|
|
10824
|
-
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
|
-
|
|
10828
|
-
|
|
10829
|
-
|
|
10830
|
-
|
|
10831
|
-
|
|
10832
|
-
|
|
10833
|
-
|
|
10834
|
-
|
|
10835
|
-
|
|
10836
|
-
|
|
10837
|
-
|
|
10838
|
-
`
|
|
10780
|
+
return [
|
|
10781
|
+
`[Orchestrator Guard] \`${toolName}\` is not in the orchestrator's allowed tools.`,
|
|
10782
|
+
"",
|
|
10783
|
+
"The orchestrator coordinates — it does not execute directly.",
|
|
10784
|
+
"To route work, mention the agent inline with FULL task context:",
|
|
10785
|
+
"",
|
|
10786
|
+
" @backend-coder",
|
|
10787
|
+
" Task: <exact task description>",
|
|
10788
|
+
" Files: <file targets>",
|
|
10789
|
+
" Constraints: <constraints>",
|
|
10790
|
+
" Acceptance criteria: <what done looks like>",
|
|
10791
|
+
"",
|
|
10792
|
+
"Available agents:",
|
|
10793
|
+
buildRoutingOptions(),
|
|
10794
|
+
"",
|
|
10795
|
+
`Orchestrator allowed tools: ${allowed.filter((t) => t !== "delegate").join(", ")}.`,
|
|
10796
|
+
"",
|
|
10797
|
+
"To disable this guard: set FLOWDECK_ORCHESTRATOR_GUARD=off"
|
|
10798
|
+
].join(`
|
|
10799
|
+
`);
|
|
10839
10800
|
}
|
|
10840
10801
|
|
|
10841
10802
|
class OrchestratorGuard {
|
|
10842
10803
|
primarySessionId = null;
|
|
10843
10804
|
policy;
|
|
10844
|
-
blockedHistory = new Map;
|
|
10845
10805
|
setPolicy(policy) {
|
|
10846
10806
|
this.policy = policy;
|
|
10847
10807
|
}
|
|
@@ -10852,7 +10812,6 @@ class OrchestratorGuard {
|
|
|
10852
10812
|
if (deletedId && deletedId === this.primarySessionId) {
|
|
10853
10813
|
this.primarySessionId = null;
|
|
10854
10814
|
}
|
|
10855
|
-
this.blockedHistory.delete(deletedId ?? "");
|
|
10856
10815
|
return;
|
|
10857
10816
|
}
|
|
10858
10817
|
if (eventType !== "session.created" && eventType !== "session.started")
|
|
@@ -10868,26 +10827,20 @@ class OrchestratorGuard {
|
|
|
10868
10827
|
}
|
|
10869
10828
|
check(sessionId, toolName) {
|
|
10870
10829
|
if (DISABLED)
|
|
10871
|
-
return;
|
|
10830
|
+
return { allowed: true };
|
|
10872
10831
|
if (this.primarySessionId === null)
|
|
10873
|
-
return;
|
|
10832
|
+
return { allowed: true };
|
|
10874
10833
|
if (sessionId !== this.primarySessionId)
|
|
10875
|
-
return;
|
|
10834
|
+
return { allowed: true };
|
|
10876
10835
|
const contract = getContract("orchestrator");
|
|
10877
10836
|
if (!contract) {
|
|
10878
|
-
return
|
|
10837
|
+
return { allowed: false, message: blockMessage(toolName) };
|
|
10879
10838
|
}
|
|
10880
10839
|
const normalizedTool = normalizeToolName(toolName);
|
|
10881
|
-
const
|
|
10882
|
-
if (
|
|
10883
|
-
return;
|
|
10884
|
-
|
|
10885
|
-
const record = sessionHistory.get(normalizedTool) ?? { count: 0, lastTool: toolName };
|
|
10886
|
-
record.count += 1;
|
|
10887
|
-
record.lastTool = toolName;
|
|
10888
|
-
sessionHistory.set(normalizedTool, record);
|
|
10889
|
-
this.blockedHistory.set(sessionId, sessionHistory);
|
|
10890
|
-
return buildBlockMessage(toolName, record.count);
|
|
10840
|
+
const isAllowed = contract.allowedTools.some((t) => normalizeToolName(t) === normalizedTool);
|
|
10841
|
+
if (isAllowed)
|
|
10842
|
+
return { allowed: true };
|
|
10843
|
+
return { allowed: false, message: blockMessage(toolName) };
|
|
10891
10844
|
}
|
|
10892
10845
|
_isBlockedForTest(name) {
|
|
10893
10846
|
const contract = getContract("orchestrator");
|
|
@@ -10902,9 +10855,6 @@ class OrchestratorGuard {
|
|
|
10902
10855
|
_setPrimarySessionIdForTest(id) {
|
|
10903
10856
|
this.primarySessionId = id;
|
|
10904
10857
|
}
|
|
10905
|
-
_getRepeatCountForTest(sessionId, toolName) {
|
|
10906
|
-
return this.blockedHistory.get(sessionId)?.get(normalizeToolName(toolName))?.count ?? 0;
|
|
10907
|
-
}
|
|
10908
10858
|
}
|
|
10909
10859
|
function extractSessionId(event) {
|
|
10910
10860
|
const props = event.properties;
|
|
@@ -11520,14 +11470,14 @@ function createHarnessController(config) {
|
|
|
11520
11470
|
});
|
|
11521
11471
|
state.lastActiveSessionID = req.sessionID;
|
|
11522
11472
|
const agent = req.agent ?? "orchestrator";
|
|
11523
|
-
const
|
|
11524
|
-
if (
|
|
11473
|
+
const guardResult = orchestratorGuard.check(req.sessionID, req.tool);
|
|
11474
|
+
if (!guardResult.allowed) {
|
|
11525
11475
|
return {
|
|
11526
11476
|
verdict: "deny",
|
|
11527
|
-
reason:
|
|
11477
|
+
reason: guardResult.message,
|
|
11528
11478
|
riskFlags: ["orchestrator-contract"],
|
|
11529
11479
|
source: "orchestrator-guard",
|
|
11530
|
-
escalationMessage:
|
|
11480
|
+
escalationMessage: guardResult.message
|
|
11531
11481
|
};
|
|
11532
11482
|
}
|
|
11533
11483
|
executionSubstrate.start({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-contract-registry.d.ts","sourceRoot":"","sources":["../../src/services/agent-contract-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,mDAAmD;IACnD,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,0CAA0C;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,qDAAqD;IACrD,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,oCAAoC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B;
|
|
1
|
+
{"version":3,"file":"agent-contract-registry.d.ts","sourceRoot":"","sources":["../../src/services/agent-contract-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,mDAAmD;IACnD,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,0CAA0C;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,qDAAqD;IACrD,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,oCAAoC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAA;CAC1B;AA0jBD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAE/D;AAED,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAEjD;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD"}
|