@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;AA8W/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"}
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 block
9
- * message string that the caller should surface as tool output. This keeps the
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 undefined when allowed, or a block message string when blocked.
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): string | undefined;
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;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAqF/D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,cAAc,CAA8C;IAEpE,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;IAmBtH;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAyB9D,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;IAIpD,2BAA2B;IAC3B,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAGpE"}
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
- ## Tool Guard Response Protocol
1278
+ ## How to delegate
1279
1279
 
1280
- If you receive a block message from the Orchestrator Guard (e.g., "The orchestrator cannot use \`write\` directly"), you MUST:
1281
- 1. STOP attempting that tool.
1282
- 2. NEVER retry the same blocked tool.
1283
- 3. Immediately delegate the action to the appropriate agent from the routing options in the message.
1284
- 4. Do NOT crash, stop, or tell the user you are blocked. Treat the message as a routing instruction.
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 to structured documentation files in .codebase/.",
8165
- allowedTaskTypes: ["codebase-mapping", "documentation", "indexing"],
8166
- requiredInputs: ["project root"],
8167
- expectedOutputFields: ["codebase_docs"],
8168
- allowedTools: ["read", "write", "edit", "bash", "glob", "grep"],
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
- "modify application source code",
8171
- "delete existing docs without replacement"
8186
+ "write or edit files",
8187
+ "run bash commands",
8188
+ "modify application source code"
8172
8189
  ],
8173
- escalationConditions: ["mapping conflicts with existing .codebase/ files"],
8174
- stopConditions: ["codebase docs written"],
8175
- successCriteria: [".codebase/ docs reflect current structure", "no application code changed"]
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: "Execute simple, direct tasks routed by the orchestrator using full tool access.",
8212
- allowedTaskTypes: ["execution", "quick-fix", "simple-edit", "inspect-only", "quick-answer"],
8213
- requiredInputs: ["task description", "execution mode"],
8214
- expectedOutputFields: ["files_touched", "summary", "verification"],
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
- "delegate to other agents",
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
- stopConditions: ["task complete", "escalation required"],
8228
- successCriteria: [
8229
- "task completed as routed",
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
- var WRITE_TOOLS2 = new Set(["write", "writefile", "create", "createfile", "edit", "editfile", "patch", "applypatch", "strreplaceeditor", "strreplace"]);
10765
- var SHELL_TOOLS = new Set(["bash", "runbash", "execute", "runcommand", "terminal", "shell"]);
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 buildBlockMessage(toolName, repeatCount) {
10777
+ function blockMessage(toolName) {
10821
10778
  const contract = getContract("orchestrator");
10822
10779
  const allowed = contract?.allowedTools ?? [];
10823
- const suggestions = buildRoutingSuggestions(toolName);
10824
- const loopWarning = repeatCount >= 2 ? `
10825
- ⚠️ You have attempted this blocked tool ${repeatCount} times. Stop retrying and delegate to an agent instead.
10826
- ` : "";
10827
- return `[Orchestrator Guard] The orchestrator cannot use \`${toolName}\` directly.
10828
-
10829
- ` + `The orchestrator is a coordinator, not an executor.${loopWarning}
10830
- ` + `Routing options:
10831
- ${suggestions}
10832
-
10833
- ` + `Allowed tools for orchestrator: ${allowed.join(", ")}.
10834
-
10835
- ` + `To route execution, mention the agent directly: @default-executor, @backend-coder, etc.
10836
- ` + `If the task is unclear, ask the human ONE targeted clarifying question instead of retrying.
10837
-
10838
- ` + `To disable this guard: set FLOWDECK_ORCHESTRATOR_GUARD=off`;
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 buildBlockMessage(toolName, 1);
10837
+ return { allowed: false, message: blockMessage(toolName) };
10879
10838
  }
10880
10839
  const normalizedTool = normalizeToolName(toolName);
10881
- const allowed = contract.allowedTools.some((t) => normalizeToolName(t) === normalizedTool);
10882
- if (allowed)
10883
- return;
10884
- const sessionHistory = this.blockedHistory.get(sessionId) ?? new Map;
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 guardMessage = orchestratorGuard.check(req.sessionID, req.tool);
11524
- if (guardMessage) {
11473
+ const guardResult = orchestratorGuard.check(req.sessionID, req.tool);
11474
+ if (!guardResult.allowed) {
11525
11475
  return {
11526
11476
  verdict: "deny",
11527
- reason: guardMessage,
11477
+ reason: guardResult.message,
11528
11478
  riskFlags: ["orchestrator-contract"],
11529
11479
  source: "orchestrator-guard",
11530
- escalationMessage: guardMessage
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;AAikBD,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dv.nghiem/flowdeck",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "description": "FlowDeck — structured planning and execution workflows for OpenCode",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",