@dv.nghiem/flowdeck 0.5.0 → 0.5.2

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.
Files changed (39) hide show
  1. package/dist/dashboard/lib/state-reader.d.ts +2 -1
  2. package/dist/dashboard/lib/state-reader.d.ts.map +1 -1
  3. package/dist/dashboard/server.mjs +29 -1
  4. package/dist/dashboard/types.d.ts +14 -0
  5. package/dist/dashboard/types.d.ts.map +1 -1
  6. package/dist/dashboard/views/index.ejs +2 -0
  7. package/dist/dashboard/views/partials/token-budget.ejs +35 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +4731 -4363
  10. package/dist/lib/lazy.d.ts +12 -0
  11. package/dist/lib/lazy.d.ts.map +1 -0
  12. package/dist/services/context-ingress.d.ts +8 -2
  13. package/dist/services/context-ingress.d.ts.map +1 -1
  14. package/dist/services/council-runner.d.ts +19 -0
  15. package/dist/services/council-runner.d.ts.map +1 -0
  16. package/dist/services/event-handlers/command-executed-handler.d.ts +9 -0
  17. package/dist/services/event-handlers/command-executed-handler.d.ts.map +1 -0
  18. package/dist/services/event-handlers/index.d.ts +6 -0
  19. package/dist/services/event-handlers/index.d.ts.map +1 -0
  20. package/dist/services/event-handlers/session-error-handler.d.ts +8 -0
  21. package/dist/services/event-handlers/session-error-handler.d.ts.map +1 -0
  22. package/dist/services/event-handlers/session-idle-handler.d.ts +9 -0
  23. package/dist/services/event-handlers/session-idle-handler.d.ts.map +1 -0
  24. package/dist/services/event-handlers/tool-outcome-handler.d.ts +11 -0
  25. package/dist/services/event-handlers/tool-outcome-handler.d.ts.map +1 -0
  26. package/dist/services/event-handlers/types.d.ts +42 -0
  27. package/dist/services/event-handlers/types.d.ts.map +1 -0
  28. package/dist/services/harness-controller.d.ts +2 -0
  29. package/dist/services/harness-controller.d.ts.map +1 -1
  30. package/dist/services/harness-types.d.ts +24 -10
  31. package/dist/services/harness-types.d.ts.map +1 -1
  32. package/dist/services/token-metrics.d.ts +15 -0
  33. package/dist/services/token-metrics.d.ts.map +1 -1
  34. package/dist/tools/council.d.ts.map +1 -1
  35. package/dist/tools/delegate.d.ts +2 -2
  36. package/dist/tools/delegate.d.ts.map +1 -1
  37. package/dist/types/hooks.d.ts +54 -0
  38. package/dist/types/hooks.d.ts.map +1 -0
  39. package/package.json +1 -1
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Generic lazy initializer.
3
+ *
4
+ * Wraps a factory so the value is created on first access, cached thereafter,
5
+ * and can be reset (primarily useful for test isolation).
6
+ */
7
+ export interface Lazy<T> {
8
+ get: () => T;
9
+ reset: () => void;
10
+ }
11
+ export declare function lazy<T>(factory: () => T): Lazy<T>;
12
+ //# sourceMappingURL=lazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/lib/lazy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC,CAAA;IACZ,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAiBjD"}
@@ -37,12 +37,19 @@ export interface ContextIngressOptions {
37
37
  planTruncateTo?: number;
38
38
  totalTokenBudget?: number;
39
39
  }
40
+ /** Clear all module-level context-ingress caches. Useful for tests. */
41
+ export declare function clearContextIngressCaches(): void;
40
42
  export declare function isTrivialChat(description: string): TrivialChatResult;
41
43
  export declare class ContextIngressService {
42
44
  private options;
43
45
  private readonly _assembledBySession;
44
46
  constructor(options?: ContextIngressOptions);
45
47
  assemble(input: ContextIngressInput): AssembledContext;
48
+ /**
49
+ * Persist a per-component token budget snapshot for dashboard consumption.
50
+ * Failures are logged to stderr but do not block context assembly.
51
+ */
52
+ private persistBudgetSnapshot;
46
53
  /**
47
54
  * Build the prompt fragment to inject for this context.
48
55
  * Trivial chats get a minimal greeting; heavy tasks get rules, skills, plan,
@@ -52,7 +59,7 @@ export declare class ContextIngressService {
52
59
  /**
53
60
  * Return per-component token budget snapshots.
54
61
  * Uses real token-metrics totals when available; otherwise falls back to
55
- * character counts as a proxy.
62
+ * estimated token counts derived from content length and kind.
56
63
  */
57
64
  getComponentBudgets(ctx: AssembledContext): Record<string, TokenBudgetSnapshot>;
58
65
  /** Return the total context limit for a session (from ingress or default). */
@@ -68,7 +75,6 @@ export declare class ContextIngressService {
68
75
  private selectRelevantRules;
69
76
  private inferStageFromRoute;
70
77
  private selectRelevantSkills;
71
- private extractKeywords;
72
78
  }
73
79
  /** Convenience factory used by the plugin entry point. */
74
80
  export declare function createContextIngressService(options?: ContextIngressOptions): ContextIngressService;
@@ -1 +1 @@
1
- {"version":3,"file":"context-ingress.d.ts","sourceRoot":"","sources":["../../src/services/context-ingress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAEzB,MAAM,iBAAiB,CAAA;AAIxB,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AA6DD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA2DpE;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;gBAE9D,OAAO,GAAE,qBAA0B;IAI/C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB;IA8DtD;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM;IAiElD;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAgD/E,8EAA8E;IAC9E,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIzC,kEAAkE;IAClE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIpE,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,eAAe;CAQxB;AAED,0DAA0D;AAC1D,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,qBAAqB,CAEvB"}
1
+ {"version":3,"file":"context-ingress.d.ts","sourceRoot":"","sources":["../../src/services/context-ingress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKtD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAEzB,MAAM,iBAAiB,CAAA;AAIxB,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AA0GD,uEAAuE;AACvE,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAiFD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA2DpE;AAWD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;gBAE9D,OAAO,GAAE,qBAA0B;IAI/C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB;IAgEtD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM;IAiElD;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAgD/E,8EAA8E;IAC9E,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIzC,kEAAkE;IAClE,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIpE,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;CAQ7B;AAED,0DAA0D;AAC1D,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,qBAAqB,CAEvB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Council Runner
3
+ *
4
+ * Shared fan-out logic for the council delegation mode. Prompts a list of agents
5
+ * in parallel with bounded concurrency and returns their individual outputs.
6
+ */
7
+ import type { OpencodeClient } from "@opencode-ai/sdk";
8
+ export interface CouncilAgentResult {
9
+ agent: string;
10
+ output?: string;
11
+ error?: string;
12
+ }
13
+ export declare function runCouncil(client: OpencodeClient, context: {
14
+ directory: string;
15
+ sessionID: string;
16
+ }, task: string, agents: string[], options?: {
17
+ maxConcurrency?: number;
18
+ }): Promise<CouncilAgentResult[]>;
19
+ //# sourceMappingURL=council-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"council-runner.d.ts","sourceRoot":"","sources":["../../src/services/council-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACjD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAuC/B"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Command executed handler.
3
+ *
4
+ * Tracks the last command name/output and validates any /fd-* command references
5
+ * emitted by the agent, recording contract violations when references are invalid.
6
+ */
7
+ import type { HandlerDeps } from "./types";
8
+ export declare function createCommandExecutedHandler(deps: HandlerDeps): (sessionID: string, properties: Record<string, unknown>) => void;
9
+ //# sourceMappingURL=command-executed-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-executed-handler.d.ts","sourceRoot":"","sources":["../../../src/services/event-handlers/command-executed-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,WAAW,IAGpD,WAAW,MAAM,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI,CA2BtE"}
@@ -0,0 +1,6 @@
1
+ export { createToolOutcomeHandler } from "./tool-outcome-handler";
2
+ export { createCommandExecutedHandler } from "./command-executed-handler";
3
+ export { createSessionIdleHandler } from "./session-idle-handler";
4
+ export { createSessionErrorHandler } from "./session-error-handler";
5
+ export type { HarnessControllerState, HandlerDeps } from "./types";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/event-handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACnE,YAAY,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Session error handler.
3
+ *
4
+ * Logs the session event and ends the active run as failed.
5
+ */
6
+ import type { HandlerDeps } from "./types";
7
+ export declare function createSessionErrorHandler(deps: HandlerDeps): (sessionID: string, properties: Record<string, unknown>) => Promise<void>;
8
+ //# sourceMappingURL=session-error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-error-handler.d.ts","sourceRoot":"","sources":["../../../src/services/event-handlers/session-error-handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,WAAW,IAG3C,WAAW,MAAM,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAerF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Session idle handler.
3
+ *
4
+ * Logs the session event, checks for stuck-run signals, ends the run as failed
5
+ * when deadlocked, or runs completion validation for fd-done before completing.
6
+ */
7
+ import type { HandlerDeps } from "./types";
8
+ export declare function createSessionIdleHandler(deps: HandlerDeps): (sessionID: string, properties: Record<string, unknown>) => Promise<void>;
9
+ //# sourceMappingURL=session-idle-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-idle-handler.d.ts","sourceRoot":"","sources":["../../../src/services/event-handlers/session-idle-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,IAY1C,WAAW,MAAM,EAAE,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC,CAmCrF"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tool outcome handler.
3
+ *
4
+ * Records loop-detector history, agent trace data, decision-trace enrichment,
5
+ * failure-replay observations, execution-substrate completion, and context-window
6
+ * monitoring after a tool has executed.
7
+ */
8
+ import type { HandlerDeps } from "./types";
9
+ import type { ToolCallRequest } from "../harness-controller";
10
+ export declare function createToolOutcomeHandler(deps: HandlerDeps): (req: ToolCallRequest, output: unknown, status: "success" | "error" | "blocked") => void;
11
+ //# sourceMappingURL=tool-outcome-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-outcome-handler.d.ts","sourceRoot":"","sources":["../../../src/services/event-handlers/tool-outcome-handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAI5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,IAgBhD,KAAK,eAAe,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS,GAAG,OAAO,GAAG,SAAS,KAAG,IAAI,CAuE9F"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Shared types for harness event handlers.
3
+ */
4
+ import type { LoopDetector } from "../loop-detector";
5
+ import type { createEventLogHooks } from "../../hooks/event-log-hook";
6
+ import type { createContextWindowMonitorHook } from "../../hooks/context-window-monitor";
7
+ import type { Lazy } from "../../lib/lazy";
8
+ import type { PolicyDecision } from "../harness-policy";
9
+ import type { ContextIngressService } from "../context-ingress";
10
+ import type { StatePersistenceService } from "../state-persistence";
11
+ import type { RecoveryLayer } from "../recovery-layer";
12
+ import type { VerificationLayer } from "../verification-layer";
13
+ import type { AuditLog } from "../audit-log";
14
+ import type { ExecutionSubstrate } from "../execution-substrate";
15
+ import type { HarnessPolicy } from "../harness-policy";
16
+ import { OrchestratorGuard } from "../../hooks/orchestrator-guard-hook";
17
+ export interface HarnessControllerState {
18
+ loopDetector: Lazy<LoopDetector>;
19
+ eventLog: Lazy<ReturnType<typeof createEventLogHooks>>;
20
+ contextMonitor: Lazy<ReturnType<typeof createContextWindowMonitorHook>>;
21
+ currentWorkflowClass: string | undefined;
22
+ lastActiveSessionID: string | null;
23
+ lastCommandName: string | null;
24
+ lastCommandOutput: string | null;
25
+ toolFailureCounts: Map<string, number>;
26
+ lastToolDecisions: Map<string, PolicyDecision>;
27
+ }
28
+ export interface HandlerDeps {
29
+ directory: string;
30
+ appLog: (msg: string) => void;
31
+ policy: HarnessPolicy;
32
+ contextIngress: ContextIngressService;
33
+ statePersistence: StatePersistenceService;
34
+ recoveryLayer: RecoveryLayer;
35
+ verificationLayer: VerificationLayer;
36
+ auditLog: AuditLog;
37
+ executionSubstrate: ExecutionSubstrate;
38
+ orchestratorGuard: OrchestratorGuard;
39
+ state: HarnessControllerState;
40
+ endRun: (sessionID: string, status: "complete" | "failed" | "cancelled", outcome?: string, error?: string) => void;
41
+ }
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/event-handlers/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAA;AACxF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAEvE,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAA;IACtD,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAA;IACvE,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,MAAM,EAAE,aAAa,CAAA;IACrB,cAAc,EAAE,qBAAqB,CAAA;IACrC,gBAAgB,EAAE,uBAAuB,CAAA;IACzC,aAAa,EAAE,aAAa,CAAA;IAC5B,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,QAAQ,EAAE,QAAQ,CAAA;IAClB,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,KAAK,EAAE,sBAAsB,CAAA;IAC7B,MAAM,EAAE,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,EAC3C,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,KACX,IAAI,CAAA;CACV"}
@@ -11,6 +11,7 @@ import type { AssembledContext, RunContext } from "./harness-types";
11
11
  import { type ContextIngressService } from "./context-ingress";
12
12
  import { type StatePersistenceService } from "./state-persistence";
13
13
  import { createContextWindowMonitorHook } from "../hooks/context-window-monitor";
14
+ import type { EnsureRunContext } from "./harness-types";
14
15
  import { type VerificationLayer } from "./verification-layer";
15
16
  import { type RecoveryLayer } from "./recovery-layer";
16
17
  export interface HarnessControllerConfig {
@@ -43,6 +44,7 @@ export interface SessionEvent {
43
44
  export interface HarnessController {
44
45
  init(): void;
45
46
  onCommandBefore(req: CommandRequest): RunContext;
47
+ ensureRunContext: EnsureRunContext;
46
48
  evaluateToolCall(req: ToolCallRequest): PolicyDecision;
47
49
  recordToolOutcome(req: ToolCallRequest, output: unknown, status: "success" | "error" | "blocked"): void;
48
50
  onSessionEvent(evt: SessionEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"harness-controller.d.ts","sourceRoot":"","sources":["../../src/services/harness-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-controller.d.ts","sourceRoot":"","sources":["../../src/services/harness-controller.ts"],"names":[],"mappings":"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"}
@@ -36,19 +36,11 @@ export interface Observation {
36
36
  timestamp: string;
37
37
  source: string;
38
38
  }
39
- /** Input passed to the context ingress service to assemble a run context. */
40
- export interface ContextIngressInput {
41
- directory: string;
42
- sessionID: string;
43
- command: string;
44
- description: string;
45
- currentStage: string;
46
- languages?: string[];
47
- }
48
39
  /** Fully assembled runtime context for a command execution. */
49
40
  export interface AssembledContext {
50
41
  directory: string;
51
42
  sessionID: string;
43
+ runId: string;
52
44
  command: string;
53
45
  description: string;
54
46
  isTrivialChat: boolean;
@@ -114,6 +106,13 @@ export interface RunContext {
114
106
  workflowClass?: string;
115
107
  currentStage?: string;
116
108
  }
109
+ /** Lazy, idempotent run-context initializer used by tools and auto-routers. */
110
+ export type EnsureRunContext = (input: {
111
+ sessionID: string;
112
+ command?: string;
113
+ description: string;
114
+ agent?: string;
115
+ }) => RunContext;
117
116
  /** Possible recovery actions when a run is stuck or fails. */
118
117
  export type RecoveryAction = "retry" | "fallback-agent" | "escalate" | "stop";
119
118
  /** Arguments accepted by the delegate tool. */
@@ -121,7 +120,21 @@ export interface DelegateToolArgs {
121
120
  agent: string;
122
121
  task: string;
123
122
  mode?: "direct" | "council" | "pipeline";
124
- context?: Record<string, unknown>;
123
+ context?: {
124
+ agents?: string[];
125
+ stages?: Array<{
126
+ agent: string;
127
+ task?: string;
128
+ }>;
129
+ previousOutput?: string;
130
+ };
131
+ }
132
+ /** Progress entry for a single pipeline stage. */
133
+ export interface PipelineStageProgress {
134
+ stage: string;
135
+ status: SpanStatus;
136
+ output?: string;
137
+ error?: string;
125
138
  }
126
139
  /** Result returned by the delegate tool. */
127
140
  export interface DelegateResult {
@@ -130,6 +143,7 @@ export interface DelegateResult {
130
143
  status: "running" | "complete" | "failed" | "blocked";
131
144
  output: string;
132
145
  error?: string;
146
+ pipeline_progress?: PipelineStageProgress[];
133
147
  }
134
148
  /** Policy evaluation verdict. */
135
149
  export type PolicyVerdict = "allow" | "deny" | "ask";
@@ -1 +1 @@
1
- {"version":3,"file":"harness-types.d.ts","sourceRoot":"","sources":["../../src/services/harness-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-types.d.ts","sourceRoot":"","sources":["../../src/services/harness-types.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,13 @@ export interface RunUsageSnapshot {
26
26
  }
27
27
  export declare const DEFAULT_INPUT_PRICE_PER_1M_TOKENS = 3;
28
28
  export declare const DEFAULT_OUTPUT_PRICE_PER_1M_TOKENS = 15;
29
+ /** Coefficients for token estimation when real usage is not yet available. */
30
+ export declare const ESTIMATION_COEFFICIENTS: {
31
+ readonly prose: 4;
32
+ readonly code: 3.5;
33
+ readonly json: 3.5;
34
+ };
35
+ export type TokenContentKind = keyof typeof ESTIMATION_COEFFICIENTS;
29
36
  /** Record token usage from a single message.updated-like event. */
30
37
  export declare function recordMessageUsage(runId: string, usage: TokenUsageInfo): void;
31
38
  /** Return the accumulated usage for a run, or zeros if none recorded. */
@@ -34,6 +41,14 @@ export declare function getRunUsage(runId: string): RunUsageSnapshot;
34
41
  export declare function estimateCostUSD(runId: string): number;
35
42
  /** Check whether a run's estimated cost exceeds a maximum budget. */
36
43
  export declare function isOverBudget(runId: string, maxCost: number): boolean;
44
+ /**
45
+ * Estimate token count from text length when real token usage is unavailable.
46
+ *
47
+ * Coefficients:
48
+ * - prose: ~4 characters per token
49
+ * - code / json: ~3.5 characters per token
50
+ */
51
+ export declare function estimateTokens(text: string, kind?: TokenContentKind): number;
37
52
  /** Clear all recorded usage (intended for tests). */
38
53
  export declare function resetTokenMetrics(): void;
39
54
  //# sourceMappingURL=token-metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-metrics.d.ts","sourceRoot":"","sources":["../../src/services/token-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;CACrB;AAID,eAAO,MAAM,iCAAiC,IAAI,CAAA;AAClD,eAAO,MAAM,kCAAkC,KAAK,CAAA;AAqCpD,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAW7E;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAiB3D;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
1
+ {"version":3,"file":"token-metrics.d.ts","sourceRoot":"","sources":["../../src/services/token-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;CACrB;AAID,eAAO,MAAM,iCAAiC,IAAI,CAAA;AAClD,eAAO,MAAM,kCAAkC,KAAK,CAAA;AAEpD,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,uBAAuB,CAAA;AAqCnE,mEAAmE;AACnE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,CAW7E;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAiB3D;AAED,iDAAiD;AACjD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,gBAA0B,GAAG,MAAM,CAIrF;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -1 +1 @@
1
- {"version":3,"file":"council.d.ts","sourceRoot":"","sources":["../../src/tools/council.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAkDtD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAgHxE"}
1
+ {"version":3,"file":"council.d.ts","sourceRoot":"","sources":["../../src/tools/council.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AA+BtD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CA8FxE"}
@@ -10,7 +10,7 @@
10
10
  import { type ToolDefinition } from "@opencode-ai/plugin";
11
11
  import type { OpencodeClient } from "@opencode-ai/sdk";
12
12
  import type { StatePersistenceService } from "../services/state-persistence";
13
- import type { DelegateResult, DelegateToolArgs } from "../services/harness-types";
13
+ import type { DelegateResult, DelegateToolArgs, EnsureRunContext } from "../services/harness-types";
14
14
  export type { DelegateResult, DelegateToolArgs };
15
- export declare function createDelegateTool(client: OpencodeClient, statePersistence: StatePersistenceService): ToolDefinition;
15
+ export declare function createDelegateTool(client: OpencodeClient, statePersistence: StatePersistenceService, ensureRunContext: EnsureRunContext): ToolDefinition;
16
16
  //# sourceMappingURL=delegate.d.ts.map
@@ -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,EAAE,MAAM,kBAAkB,CAAA;AAGtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,2BAA2B,CAAA;AAG7F,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAA;AAShD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,cAAc,EACtB,gBAAgB,EAAE,uBAAuB,GACxC,cAAc,CAqGhB"}
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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Local hook input/output shapes used by the FlowDeck plugin entry point.
3
+ *
4
+ * These extend the SDK's exported hook types with fields the runtime relies on
5
+ * (e.g., `agent` on tool calls) that are not currently part of the public SDK
6
+ * contract. When the SDK exports matching types, these should be removed in
7
+ * favor of the SDK definitions.
8
+ */
9
+ import type { Part } from "@opencode-ai/sdk";
10
+ export interface EventHookInput {
11
+ event: {
12
+ type: string;
13
+ properties?: Record<string, unknown>;
14
+ };
15
+ }
16
+ export interface CommandExecuteBeforeInput {
17
+ command: string;
18
+ sessionID: string;
19
+ arguments: string;
20
+ }
21
+ export interface CommandExecuteBeforeOutput {
22
+ parts: Part[];
23
+ }
24
+ export interface PermissionAskOutput {
25
+ status: "ask" | "deny" | "allow";
26
+ }
27
+ export interface ToolExecuteBeforeInput {
28
+ tool: string;
29
+ sessionID: string;
30
+ callID: string;
31
+ agent?: string;
32
+ name?: string;
33
+ args?: Record<string, unknown>;
34
+ }
35
+ export interface ToolExecuteBeforeOutput {
36
+ args: Record<string, unknown>;
37
+ }
38
+ export interface ToolExecuteAfterInput {
39
+ tool: string;
40
+ sessionID: string;
41
+ callID: string;
42
+ agent?: string;
43
+ name?: string;
44
+ args?: Record<string, unknown>;
45
+ }
46
+ export interface ToolExecuteAfterOutput {
47
+ title: string;
48
+ output: string;
49
+ metadata: Record<string, unknown>;
50
+ status?: "success" | "error" | "blocked";
51
+ args?: Record<string, unknown>;
52
+ error?: unknown;
53
+ }
54
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAA;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,IAAI,EAAE,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dv.nghiem/flowdeck",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "FlowDeck — structured planning and execution workflows for OpenCode",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",