@dv.nghiem/flowdeck 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5857,6 +5857,9 @@ function resolveDelegationBudgetConfig(config) {
5857
5857
  };
5858
5858
  }
5859
5859
  function init(runId, config) {
5860
+ const existing = budgets.get(runId);
5861
+ if (existing)
5862
+ return existing;
5860
5863
  const resolved = resolveDelegationBudgetConfig(config);
5861
5864
  const budget = {
5862
5865
  runId,
@@ -5896,6 +5899,15 @@ function recordDelegation(parentRunId, childRunId) {
5896
5899
  budgets.set(childRunId, child);
5897
5900
  return child.currentDepth <= child.config.maxDepth;
5898
5901
  }
5902
+ function releaseDelegation(parentRunId, childRunId) {
5903
+ const child = budgets.get(childRunId);
5904
+ if (!child)
5905
+ return false;
5906
+ const parent = budgets.get(parentRunId);
5907
+ child.currentDepth = parent?.currentDepth ?? 0;
5908
+ budgets.set(childRunId, child);
5909
+ return true;
5910
+ }
5899
5911
  function incrementSameStepRetry(runId) {
5900
5912
  const budget = budgets.get(runId);
5901
5913
  if (!budget)
@@ -5918,9 +5930,12 @@ function toSnapshot(budget) {
5918
5930
 
5919
5931
  // src/tools/delegate.ts
5920
5932
  var DEFAULT_TIMEOUT_MS = 120000;
5933
+ var MAX_TIMEOUT_MS = 600000;
5921
5934
  function normalizeMode(mode) {
5922
5935
  if (mode === "council" || mode === "pipeline")
5923
5936
  return mode;
5937
+ if (typeof mode === "string" && mode.length > 0)
5938
+ return mode;
5924
5939
  return "direct";
5925
5940
  }
5926
5941
  function validateCouncilContext(context) {
@@ -5948,9 +5963,6 @@ function validatePipelineContext(context) {
5948
5963
  function isRegisteredAgent(agent) {
5949
5964
  return AGENT_NAMES.includes(agent);
5950
5965
  }
5951
- function isTextPart2(part) {
5952
- return part.type === "text";
5953
- }
5954
5966
  function createDelegateTool(client, statePersistence, ensureRunContext) {
5955
5967
  return tool13({
5956
5968
  description: "Delegate work to another FlowDeck agent. Use this instead of raw @agent references for any work requiring write/edit/bash or specialist knowledge. " + "Modes: direct (single agent), council (fan out the same task to multiple agents in parallel), pipeline (sequential stages where each stage's output is passed to the next via context.previousOutput). " + "For council mode, provide context.agents (non-empty string array). For pipeline mode, provide context.stages (non-empty array of { agent, task? }).",
@@ -6000,8 +6012,15 @@ function createDelegateTool(client, statePersistence, ensureRunContext) {
6000
6012
  };
6001
6013
  }
6002
6014
  const span = statePersistence.openAgentSpan(runCtx, runCtx.currentSpanId, agent, task, runCtx.currentStage ?? "execute");
6003
- const result = await executeDirectDelegation(client, ctx, agent, task, span, runCtx, statePersistence, context);
6004
- statePersistence.closeAgentSpan(span.span_id, result.status === "blocked" ? "blocked" : "complete", {
6015
+ let result;
6016
+ try {
6017
+ result = await executeDirectDelegation(client, ctx, agent, task, span, runCtx, statePersistence, context);
6018
+ } catch (error) {
6019
+ const message = error instanceof Error ? error.message : String(error);
6020
+ result = { status: "failed", output: "", error: message };
6021
+ }
6022
+ const spanStatus = result.status === "blocked" ? "blocked" : result.status === "failed" ? "failed" : "complete";
6023
+ statePersistence.closeAgentSpan(span.span_id, spanStatus, {
6005
6024
  output_valid: result.status === "complete"
6006
6025
  });
6007
6026
  return {
@@ -6125,7 +6144,7 @@ ${r.error ? `ERROR: ${r.error}` : r.output}`).join(`
6125
6144
  run_id: runCtx.runId,
6126
6145
  status: "blocked",
6127
6146
  output: "",
6128
- error: `Delegation mode "${resolvedMode}" is not supported.`
6147
+ error: `Delegation mode "${resolvedMode}" is not supported by this version of FlowDeck. Use mode: "direct" for now. For multi-stage work, make sequential "direct" delegate calls from the orchestrator and pass each stage's output via context.previousOutput.`
6129
6148
  };
6130
6149
  } catch (error) {
6131
6150
  const message = error instanceof Error ? error.message : String(error);
@@ -6136,10 +6155,64 @@ ${r.error ? `ERROR: ${r.error}` : r.output}`).join(`
6136
6155
  output: "",
6137
6156
  error: message
6138
6157
  };
6158
+ } finally {
6159
+ releaseDelegation(runCtx.runId, childRunId);
6139
6160
  }
6140
6161
  }
6141
6162
  });
6142
6163
  }
6164
+ function collectTextFromParts(parts) {
6165
+ if (!Array.isArray(parts))
6166
+ return "";
6167
+ return parts.filter((part) => {
6168
+ if (!part || typeof part !== "object")
6169
+ return false;
6170
+ const type = "type" in part ? part.type : undefined;
6171
+ return type === "text" || type === "step-finish";
6172
+ }).map((part) => {
6173
+ const text = "text" in part && typeof part.text === "string" ? part.text : undefined;
6174
+ const content = "content" in part && typeof part.content === "string" ? part.content : undefined;
6175
+ return text ?? content ?? "";
6176
+ }).filter((text) => text.length > 0).join(`
6177
+ `);
6178
+ }
6179
+ function extractTextOutput(promptRes) {
6180
+ const data = promptRes?.data;
6181
+ for (const parts of [data?.parts, data?.message?.parts, data?.info?.message?.parts]) {
6182
+ const output = collectTextFromParts(parts);
6183
+ if (output)
6184
+ return output;
6185
+ }
6186
+ return "";
6187
+ }
6188
+ function extractMessageContent(message) {
6189
+ if (!message || typeof message !== "object")
6190
+ return "";
6191
+ if ("content" in message && typeof message.content === "string")
6192
+ return message.content;
6193
+ if ("parts" in message)
6194
+ return collectTextFromParts(message.parts);
6195
+ return "";
6196
+ }
6197
+ async function fetchFallbackOutput(client, childId) {
6198
+ const sessionClient = client.session;
6199
+ if (typeof sessionClient.messages !== "function")
6200
+ return "";
6201
+ const messageRes = await sessionClient.messages({ path: { id: childId } }).catch(() => null);
6202
+ const data = messageRes?.data;
6203
+ const messages = Array.isArray(data) ? data : Array.isArray(data?.messages) ? data.messages : [];
6204
+ for (let index = messages.length - 1;index >= 0; index -= 1) {
6205
+ const message = messages[index];
6206
+ if (!message || typeof message !== "object")
6207
+ continue;
6208
+ const role = "role" in message ? message.role : undefined;
6209
+ const author = "author" in message ? message.author : undefined;
6210
+ if (role === "assistant" || author === "assistant") {
6211
+ return extractMessageContent(message);
6212
+ }
6213
+ }
6214
+ return "";
6215
+ }
6143
6216
  function extractErrorMessage(error) {
6144
6217
  if (error instanceof Error)
6145
6218
  return error.message;
@@ -6162,6 +6235,7 @@ async function executeDirectDelegation(client, ctx, agent, task, span, runCtx, s
6162
6235
  };
6163
6236
  }
6164
6237
  const childId = createRes.data.id;
6238
+ const timeoutMs = Math.min(typeof context?.timeoutMs === "number" ? context.timeoutMs : DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS);
6165
6239
  statePersistence.updateRunContext({
6166
6240
  ...runCtx,
6167
6241
  sessionID: childId,
@@ -6170,14 +6244,32 @@ async function executeDirectDelegation(client, ctx, agent, task, span, runCtx, s
6170
6244
  const parts = [
6171
6245
  { type: "text", text: buildDelegatePrompt(agent, task, context) }
6172
6246
  ];
6173
- const promptRes = await Promise.race([
6174
- client.session.prompt({
6175
- path: { id: childId },
6176
- body: { agent, parts },
6177
- query: { directory: ctx.directory }
6178
- }),
6179
- new Promise((_, reject) => setTimeout(() => reject(new Error("Delegate session timed out")), DEFAULT_TIMEOUT_MS))
6180
- ]);
6247
+ let promptRes;
6248
+ try {
6249
+ promptRes = await Promise.race([
6250
+ client.session.prompt({
6251
+ path: { id: childId },
6252
+ body: { agent, parts },
6253
+ query: { directory: ctx.directory }
6254
+ }),
6255
+ new Promise((_, reject) => setTimeout(() => reject(new Error("Delegate session timed out")), timeoutMs))
6256
+ ]);
6257
+ } catch (error) {
6258
+ if (error instanceof Error && error.message === "Delegate session timed out") {
6259
+ const sessionClient = client.session;
6260
+ await sessionClient.abort?.({ path: { id: childId } }).catch(() => {});
6261
+ return {
6262
+ status: "failed",
6263
+ output: "",
6264
+ error: `Delegate session ${childId} (agent: ${agent}) timed out after ${timeoutMs}ms.`
6265
+ };
6266
+ }
6267
+ throw error;
6268
+ }
6269
+ if (process.env.FLOWDECK_DEBUG_DELEGATE) {
6270
+ console.error("[flowdeck delegate] prompt data keys", Object.keys(promptRes.data ?? {}));
6271
+ console.error("[flowdeck delegate] prompt data", JSON.stringify(promptRes.data));
6272
+ }
6181
6273
  if (promptRes.error) {
6182
6274
  return {
6183
6275
  status: "failed",
@@ -6185,11 +6277,17 @@ async function executeDirectDelegation(client, ctx, agent, task, span, runCtx, s
6185
6277
  error: extractErrorMessage(promptRes.error)
6186
6278
  };
6187
6279
  }
6188
- const output = (promptRes.data?.parts ?? []).filter(isTextPart2).map((p) => p.text).join(`
6189
- `);
6280
+ const output = extractTextOutput(promptRes) || await fetchFallbackOutput(client, childId);
6281
+ if (!output) {
6282
+ return {
6283
+ status: "failed",
6284
+ output: "",
6285
+ error: `Subagent session ${childId} (agent: ${agent}) produced no text output after prompt + message fetch. This may indicate the subagent ended without a text summary, or the SDK response shape changed — check FLOWDECK_DEBUG_DELEGATE logs.`
6286
+ };
6287
+ }
6190
6288
  return {
6191
6289
  status: "complete",
6192
- output: output || "(no output)"
6290
+ output
6193
6291
  };
6194
6292
  }
6195
6293
  function buildDelegatePrompt(agent, task, context) {
@@ -41,6 +41,7 @@ export declare function init(runId: string, config?: FlowDeckConfig): Delegation
41
41
  export declare function getBudget(runId: string): DelegationBudgetSnapshot | null;
42
42
  export declare function checkSpend(runId: string, _toolName?: string): PolicyDecision;
43
43
  export declare function recordDelegation(parentRunId: string, childRunId: string): boolean;
44
+ export declare function releaseDelegation(parentRunId: string, childRunId: string): boolean;
44
45
  export declare function incrementSameStepRetry(runId: string): boolean;
45
46
  export declare function resetSameStepRetry(runId: string): void;
46
47
  export declare function toSnapshot(budget: DelegationBudget): DelegationBudgetSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-budget.d.ts","sourceRoot":"","sources":["../../src/services/delegation-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,iBAAiB,CAAA;AAGpE,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,sBAAsB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AA6BD,wBAAgB,6BAA6B,CAC3C,MAAM,CAAC,EAAE,cAAc,GACtB,sBAAsB,CAQxB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAW7E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAIxE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAe5E;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAYjF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAW7E;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAMlE;AAED,8CAA8C;AAC9C,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAOlE;AAED,qDAAqD;AACrD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
1
+ {"version":3,"file":"delegation-budget.d.ts","sourceRoot":"","sources":["../../src/services/delegation-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,iBAAiB,CAAA;AAGpE,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,sBAAsB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AA6BD,wBAAgB,6BAA6B,CAC3C,MAAM,CAAC,EAAE,cAAc,GACtB,sBAAsB,CAQxB;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAc7E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAIxE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAe5E;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAYjF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAQlF;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAK7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAKtD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAW7E;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAMlE;AAED,8CAA8C;AAC9C,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI,CAOlE;AAED,qDAAqD;AACrD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
@@ -127,6 +127,7 @@ export interface DelegateToolArgs {
127
127
  task?: string;
128
128
  }>;
129
129
  previousOutput?: string;
130
+ timeoutMs?: number;
130
131
  };
131
132
  }
132
133
  /** Progress entry for a single pipeline stage. */
@@ -1 +1 @@
1
- {"version":3,"file":"harness-types.d.ts","sourceRoot":"","sources":["../../src/services/harness-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAEhE,YAAY,EAAE,SAAS,EAAE,CAAA;AAEzB,oEAAoE;AACpE,MAAM,WAAW,mBAAmB;IAClC,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAA;CACf;AAED,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,YAAY,EAAE,SAAS,EAAE,CAAA;IACzB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,mBAAmB,CAAA;CACjC;AAED,0CAA0C;AAC1C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAElF,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAA;IACf,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,wDAAwD;IACxD,YAAY,EAAE,OAAO,CAAA;IACrB,6DAA6D;IAC7D,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,wCAAwC;IACxC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;CACd;AAED,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAA;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KAAK,UAAU,CAAA;AAEhB,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,gBAAgB,GAAG,UAAU,GAAG,MAAM,CAAA;AAE7E,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAA;IACxC,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;QACjB,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QAChD,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;CACF;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;IACrD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC5C;AAED,iCAAiC;AACjC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;AAEpD,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,aAAa,CAAA;IACtB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAA;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B"}
1
+ {"version":3,"file":"harness-types.d.ts","sourceRoot":"","sources":["../../src/services/harness-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/tools/delegate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAA;AAGtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAc,MAAM,2BAA2B,CAAA;AAK/G,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAA;AA6ChD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,uBAAuB,EACzC,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,CAoPhB"}
1
+ {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/tools/delegate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAA;AAGtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAc,MAAM,2BAA2B,CAAA;AAK/G,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAA;AA+ChD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,uBAAuB,EACzC,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,CA6PhB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dv.nghiem/flowdeck",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "FlowDeck — structured planning and execution workflows for OpenCode",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",