@dv.nghiem/flowdeck 0.4.11 → 0.5.0

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 (105) hide show
  1. package/README.md +0 -2
  2. package/dist/agents/orchestrator.d.ts.map +1 -1
  3. package/dist/config/index.d.ts +1 -1
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/schema.d.ts +27 -1
  6. package/dist/config/schema.d.ts.map +1 -1
  7. package/dist/dashboard/lib/state-reader.d.ts +2 -1
  8. package/dist/dashboard/lib/state-reader.d.ts.map +1 -1
  9. package/dist/dashboard/server.mjs +128 -13
  10. package/dist/dashboard/types.d.ts +12 -0
  11. package/dist/dashboard/types.d.ts.map +1 -1
  12. package/dist/hooks/approval-hook.d.ts +16 -2
  13. package/dist/hooks/approval-hook.d.ts.map +1 -1
  14. package/dist/hooks/compaction-hook.d.ts +1 -1
  15. package/dist/hooks/compaction-hook.d.ts.map +1 -1
  16. package/dist/hooks/context-window-monitor.d.ts +7 -1
  17. package/dist/hooks/context-window-monitor.d.ts.map +1 -1
  18. package/dist/hooks/decision-trace-hook.d.ts +3 -0
  19. package/dist/hooks/decision-trace-hook.d.ts.map +1 -1
  20. package/dist/hooks/event-log-hook.d.ts +19 -3
  21. package/dist/hooks/event-log-hook.d.ts.map +1 -1
  22. package/dist/hooks/guard-rails.d.ts +16 -5
  23. package/dist/hooks/guard-rails.d.ts.map +1 -1
  24. package/dist/hooks/orchestrator-guard-hook.d.ts +8 -5
  25. package/dist/hooks/orchestrator-guard-hook.d.ts.map +1 -1
  26. package/dist/hooks/shell-env-hook.d.ts.map +1 -1
  27. package/dist/hooks/tool-guard.d.ts +19 -3
  28. package/dist/hooks/tool-guard.d.ts.map +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +8401 -4863
  31. package/dist/services/agent-contract-registry.d.ts.map +1 -1
  32. package/dist/services/agent-trace-graph.d.ts +4 -0
  33. package/dist/services/agent-trace-graph.d.ts.map +1 -1
  34. package/dist/services/agent-validator.d.ts +2 -1
  35. package/dist/services/agent-validator.d.ts.map +1 -1
  36. package/dist/services/approval-manager.d.ts +14 -1
  37. package/dist/services/approval-manager.d.ts.map +1 -1
  38. package/dist/services/audit-log.d.ts +23 -0
  39. package/dist/services/audit-log.d.ts.map +1 -0
  40. package/dist/services/context-ingress.d.ts +75 -0
  41. package/dist/services/context-ingress.d.ts.map +1 -0
  42. package/dist/services/deadlock-detector.d.ts.map +1 -1
  43. package/dist/services/delegation-budget.d.ts +55 -0
  44. package/dist/services/delegation-budget.d.ts.map +1 -0
  45. package/dist/services/event-logger.d.ts +3 -1
  46. package/dist/services/event-logger.d.ts.map +1 -1
  47. package/dist/services/execution-substrate.d.ts +35 -0
  48. package/dist/services/execution-substrate.d.ts.map +1 -0
  49. package/dist/services/harness-controller.d.ts +58 -0
  50. package/dist/services/harness-controller.d.ts.map +1 -0
  51. package/dist/services/harness-policy.d.ts +24 -0
  52. package/dist/services/harness-policy.d.ts.map +1 -0
  53. package/dist/services/harness-types.d.ts +178 -0
  54. package/dist/services/harness-types.d.ts.map +1 -0
  55. package/dist/services/lazy-rule-loader.d.ts +2 -0
  56. package/dist/services/lazy-rule-loader.d.ts.map +1 -1
  57. package/dist/services/loop-detector.d.ts.map +1 -1
  58. package/dist/services/prompt-cache.d.ts +25 -0
  59. package/dist/services/prompt-cache.d.ts.map +1 -0
  60. package/dist/services/recovery-layer.d.ts +26 -0
  61. package/dist/services/recovery-layer.d.ts.map +1 -0
  62. package/dist/services/run-trace.d.ts +17 -0
  63. package/dist/services/run-trace.d.ts.map +1 -1
  64. package/dist/services/state-persistence.d.ts +22 -0
  65. package/dist/services/state-persistence.d.ts.map +1 -0
  66. package/dist/services/supervisor-binding.d.ts +9 -0
  67. package/dist/services/supervisor-binding.d.ts.map +1 -1
  68. package/dist/services/token-metrics.d.ts +39 -0
  69. package/dist/services/token-metrics.d.ts.map +1 -0
  70. package/dist/services/verification-layer.d.ts +24 -0
  71. package/dist/services/verification-layer.d.ts.map +1 -0
  72. package/dist/services/workflow-scorecard.d.ts +5 -0
  73. package/dist/services/workflow-scorecard.d.ts.map +1 -1
  74. package/dist/tools/decision-trace.d.ts +4 -0
  75. package/dist/tools/decision-trace.d.ts.map +1 -1
  76. package/dist/tools/delegate.d.ts +16 -0
  77. package/dist/tools/delegate.d.ts.map +1 -0
  78. package/dist/tools/failure-replay.d.ts +8 -0
  79. package/dist/tools/failure-replay.d.ts.map +1 -1
  80. package/dist/tools/policy-engine.d.ts +1 -0
  81. package/dist/tools/policy-engine.d.ts.map +1 -1
  82. package/docs/concepts/HARNESS_ARCHITECTURE.md +241 -0
  83. package/docs/concepts/HARNESS_LAYERS.md +378 -0
  84. package/docs/concepts/HARNESS_WIRING.md +404 -0
  85. package/docs/getting-started/installation.md +0 -18
  86. package/docs/index.md +0 -1
  87. package/docs/reference/hooks.md +1 -16
  88. package/package.json +6 -6
  89. package/src/commands/fd-guarded-edit.md +69 -0
  90. package/src/rules/common/agent-defense.md +66 -0
  91. package/src/rules/common/agent-orchestration.md +35 -1
  92. package/src/skills/context-budget/SKILL.md +266 -0
  93. package/src/skills/context-guard/SKILL.md +172 -0
  94. package/src/skills/context-steward/SKILL.md +297 -0
  95. package/src/skills/decision-trace/SKILL.md +137 -0
  96. package/src/skills/research-first/SKILL.md +344 -0
  97. package/src/skills/session-persistence/SKILL.md +320 -0
  98. package/src/skills/telemetry-steward/SKILL.md +191 -0
  99. package/dist/services/rtk-manager.d.ts +0 -80
  100. package/dist/services/rtk-manager.d.ts.map +0 -1
  101. package/dist/services/rtk-policy.d.ts +0 -26
  102. package/dist/services/rtk-policy.d.ts.map +0 -1
  103. package/dist/tools/rtk-setup.d.ts +0 -22
  104. package/dist/tools/rtk-setup.d.ts.map +0 -1
  105. package/docs/reference/rtk.md +0 -162
@@ -3,14 +3,23 @@
3
3
  * Pattern matching on tool arguments to prevent destructive commands.
4
4
  * D-04: pure string.includes() matching, no path filtering, no regex/glob.
5
5
  * Also enforces architectural constraints from .codebase/CONSTRAINTS.md.
6
- * To enable: set FLOWDECK_TOOL_GUARD_ENABLED=on. Default is OFF.
6
+ *
7
+ * The exported evaluate() function returns a PolicyDecision so the harness
8
+ * can compose it with other governance layers. The legacy toolGuardHook
9
+ * remains a thin adapter that throws on deny for existing hook wiring.
7
10
  */
11
+ import type { PolicyDecision, PolicyInput } from "../services/harness-types";
8
12
  export type BlockReason = string | null;
13
+ /**
14
+ * Extract the target path from tool arguments using the canonical key precedence:
15
+ * path > file_path > filename > filePath.
16
+ */
17
+ export declare function extractTargetPath(args: Record<string, unknown>): string;
9
18
  /**
10
19
  * Check if a tool operation should be blocked.
11
20
  * Returns error message if blocked, null if allowed.
12
21
  */
13
- export declare function isBlocked(tool: string, args: any): BlockReason;
22
+ export declare function isBlocked(tool: string, args: Record<string, unknown>): BlockReason;
14
23
  /**
15
24
  * Architectural Constraint Guard.
16
25
  * Reads .codebase/CONSTRAINTS.md for forbidden path patterns and boundary rules.
@@ -27,6 +36,13 @@ export declare function checkArchConstraint(directory: string, filePath: string)
27
36
  * Prevents writing to the codebase during planning phases.
28
37
  */
29
38
  export declare function checkPhaseEnforcement(directory: string): BlockReason;
39
+ /**
40
+ * Evaluate a tool call against dangerous-pattern, phase, and arch-constraint rules.
41
+ *
42
+ * No longer gated by environment variables — the harness decides whether to
43
+ * invoke this layer via `governance.toolGuard` in flowdeck.json.
44
+ */
45
+ export declare function evaluate(input: PolicyInput): PolicyDecision;
30
46
  /**
31
47
  * HOOK-04: Tool guard hook
32
48
  * Called on tool.execute.before for all tools.
@@ -37,6 +53,6 @@ export declare function toolGuardHook(ctx: {
37
53
  }, input: {
38
54
  tool: string;
39
55
  }, output: {
40
- args: any;
56
+ args: Record<string, unknown>;
41
57
  }): Promise<void>;
42
58
  //# sourceMappingURL=tool-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-guard.d.ts","sourceRoot":"","sources":["../../src/hooks/tool-guard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAA;AAEvC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,WAAW,CAsC9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAepF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAmBpE;AAkBD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC1B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACvB,MAAM,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
1
+ {"version":3,"file":"tool-guard.d.ts","sourceRoot":"","sources":["../../src/hooks/tool-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAiB,MAAM,2BAA2B,CAAA;AAyB3F,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAA;AAEvC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEvE;AAuDD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAwBlF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAepF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAmBpE;AAgCD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA+B3D;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAC1B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACvB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACxC,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AA4GjD,QAAA,MAAM,MAAM,EAAE,MA4Rb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAwGjD,QAAA,MAAM,MAAM,EAAE,MAqSb,CAAA;AAED,eAAe,MAAM,CAAA"}