@db-lyon/flowkit 0.13.0 → 0.15.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 (53) hide show
  1. package/README.md +387 -386
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/flow/runner.d.ts +12 -4
  4. package/dist/flow/runner.d.ts.map +1 -1
  5. package/dist/flow/runner.js +27 -12
  6. package/dist/flow/runner.js.map +1 -1
  7. package/dist/guard/index.d.ts +7 -0
  8. package/dist/guard/index.d.ts.map +1 -0
  9. package/dist/guard/index.js +5 -0
  10. package/dist/guard/index.js.map +1 -0
  11. package/dist/guard/pipeline.d.ts +22 -0
  12. package/dist/guard/pipeline.d.ts.map +1 -0
  13. package/dist/guard/pipeline.js +45 -0
  14. package/dist/guard/pipeline.js.map +1 -0
  15. package/dist/guard/registry.d.ts +20 -0
  16. package/dist/guard/registry.d.ts.map +1 -0
  17. package/dist/guard/registry.js +33 -0
  18. package/dist/guard/registry.js.map +1 -0
  19. package/dist/guard/task-guards.d.ts +89 -0
  20. package/dist/guard/task-guards.d.ts.map +1 -0
  21. package/dist/guard/task-guards.js +97 -0
  22. package/dist/guard/task-guards.js.map +1 -0
  23. package/dist/guard/types.d.ts +49 -0
  24. package/dist/guard/types.d.ts.map +1 -0
  25. package/dist/guard/types.js +38 -0
  26. package/dist/guard/types.js.map +1 -0
  27. package/dist/index.d.ts +8 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +6 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/task/base-task.d.ts +65 -3
  32. package/dist/task/base-task.d.ts.map +1 -1
  33. package/dist/task/base-task.js +51 -5
  34. package/dist/task/base-task.js.map +1 -1
  35. package/dist/task/index.d.ts +2 -2
  36. package/dist/task/index.d.ts.map +1 -1
  37. package/dist/task/index.js +1 -1
  38. package/dist/task/index.js.map +1 -1
  39. package/dist/task/registry.d.ts +11 -3
  40. package/dist/task/registry.d.ts.map +1 -1
  41. package/dist/task/registry.js +11 -3
  42. package/dist/task/registry.js.map +1 -1
  43. package/docs/ai-agents.md +368 -368
  44. package/docs/api-reference.md +606 -458
  45. package/docs/configuration.md +347 -347
  46. package/docs/custom-tasks.md +271 -258
  47. package/docs/guards.md +133 -0
  48. package/docs/releases.md +59 -0
  49. package/package.json +59 -53
  50. package/dist/flow/references.d.ts +0 -39
  51. package/dist/flow/references.d.ts.map +0 -1
  52. package/dist/flow/references.js +0 -102
  53. package/dist/flow/references.js.map +0 -1
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/logger.ts","../src/references.ts","../src/config/deep-merge.ts","../src/config/index.ts","../src/config/loader.ts","../src/config/schema.ts","../src/dag/index.ts","../src/dag/resolver.ts","../src/flow/index.ts","../src/flow/runner.ts","../src/task/agent-prompt-task.ts","../src/task/agent-task.ts","../src/task/base-task.ts","../src/task/concurrency.ts","../src/task/index.ts","../src/task/json-schema.ts","../src/task/llm-provider.ts","../src/task/llm-runner.ts","../src/task/redact.ts","../src/task/registry.ts","../src/task/shell-task.ts","../src/task/shell-termination.ts","../src/task/task-resolution.ts","../src/task/token-ledger.ts"],"version":"5.9.3"}
1
+ {"root":["../src/index.ts","../src/logger.ts","../src/references.ts","../src/config/deep-merge.ts","../src/config/index.ts","../src/config/loader.ts","../src/config/schema.ts","../src/dag/index.ts","../src/dag/resolver.ts","../src/flow/index.ts","../src/flow/runner.ts","../src/guard/index.ts","../src/guard/pipeline.ts","../src/guard/registry.ts","../src/guard/task-guards.ts","../src/guard/types.ts","../src/task/agent-prompt-task.ts","../src/task/agent-task.ts","../src/task/base-task.ts","../src/task/concurrency.ts","../src/task/index.ts","../src/task/json-schema.ts","../src/task/llm-provider.ts","../src/task/llm-runner.ts","../src/task/redact.ts","../src/task/registry.ts","../src/task/shell-task.ts","../src/task/shell-termination.ts","../src/task/task-resolution.ts","../src/task/token-ledger.ts"],"version":"5.9.3"}
@@ -1,7 +1,6 @@
1
1
  import type { Logger } from '../logger.js';
2
2
  import type { TaskDefinition, FlowDefinition, AgentDefinition } from '../config/schema.js';
3
- import type { TaskResult } from '../task/base-task.js';
4
- import type { TaskContext } from '../task/base-task.js';
3
+ import type { TaskResult, TaskContext, TaskContextInput } from '../task/base-task.js';
5
4
  import type { TaskRegistry } from '../task/registry.js';
6
5
  export type HookPhase = 'on_start' | 'on_success' | 'on_failure' | 'finally';
7
6
  /**
@@ -111,7 +110,8 @@ export interface FlowRunnerConfig {
111
110
  tasks: Record<string, TaskDefinition>;
112
111
  flows: Record<string, FlowDefinition>;
113
112
  registry: TaskRegistry;
114
- context: TaskContext;
113
+ /** Host context; Flowkit supplies the per-invocation `executionPhase`. */
114
+ context: TaskContextInput;
115
115
  hooks?: FlowRunnerHooks;
116
116
  logger?: Logger;
117
117
  /** Optional evaluator for string `when:` expressions. */
@@ -180,6 +180,7 @@ export declare class FlowRunner {
180
180
  * inside the task. Every path into a task goes through here, so running one
181
181
  * as a step, directly, as a tool, or during rollback all report failure
182
182
  * identically — and a step's `retries` cover construction, not just execution.
183
+ * Task-to-task calls derive their equivalent context in `BaseTask.resolve`.
183
184
  */
184
185
  private executeTask;
185
186
  private runWith;
@@ -193,7 +194,14 @@ export declare class FlowRunner {
193
194
  private mergeParentOptions;
194
195
  /** Recursively expand a plan step's nested flow into its child steps. */
195
196
  private expandPlanStep;
196
- /** Evaluate a step's `when:` to a boolean. Undefined `when` always runs. */
197
+ /**
198
+ * Evaluate a step's `when:` to a boolean. Undefined `when` always runs.
199
+ *
200
+ * `executionPhase` is the phase the step's own task will observe. It is
201
+ * threaded in rather than read off `this.ctx`, whose phase is only the
202
+ * constructor seed: a `finally` hook gating on `context.executionPhase`
203
+ * would otherwise be told `'task'` and run when it meant to skip.
204
+ */
197
205
  private evaluateWhen;
198
206
  private executeFlow;
199
207
  private runHookStep;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { noopLogger } from '../logger.js';
2
+ import { DEFAULT_EXECUTION_PHASE } from '../task/base-task.js';
2
3
  import { AgentTask } from '../task/agent-task.js';
3
4
  import { resolveReferences } from '../references.js';
4
5
  import { resolveTaskDefinition, resolveTaskCall } from '../task/task-resolution.js';
@@ -52,14 +53,19 @@ export class FlowRunner {
52
53
  // Expose the configured task definitions so tasks invoked as agent tools
53
54
  // inherit their class_path/options defaults (see AgentTask), and wire the
54
55
  // flow/agent tool dispatchers.
56
+ // `executionPhase` is derived per invocation by `contextFor`, so a phase
57
+ // present on `config.context` is deliberately ignored rather than merged:
58
+ // the runner knows why each task is running and the host does not. This
59
+ // seed value only covers reads of `this.ctx` outside a task invocation.
55
60
  this.ctx = {
56
61
  ...config.context,
62
+ executionPhase: DEFAULT_EXECUTION_PHASE,
57
63
  registry: config.registry,
58
64
  taskDefinitions: this.tasks,
59
65
  taskReferenceContext: this.baseReferences,
66
+ runFlow: (flowName, params) => this.runFlowTool(flowName, params),
67
+ runAgent: (agentName, input, depth, ledger) => this.runAgentTool(agentName, input, depth, ledger),
60
68
  };
61
- this.ctx.runFlow = (flowName, params) => this.runFlowTool(flowName, params);
62
- this.ctx.runAgent = (agentName, input, depth, ledger) => this.runAgentTool(agentName, input, depth, ledger);
63
69
  }
64
70
  /**
65
71
  * Context for work running under a given reference scope. The scope is
@@ -67,10 +73,11 @@ export class FlowRunner {
67
73
  * sub-agent dispatch, so a task invoked several agents deep resolves its
68
74
  * configured defaults exactly as it would as a top-level step.
69
75
  */
70
- contextFor(references) {
76
+ contextFor(references, executionPhase = DEFAULT_EXECUTION_PHASE) {
71
77
  return {
72
78
  ...this.ctx,
73
79
  taskReferenceContext: references,
80
+ executionPhase,
74
81
  runAgent: (agentName, input, depth, ledger) => this.runAgentTool(agentName, input, depth, ledger, references),
75
82
  };
76
83
  }
@@ -174,9 +181,10 @@ export class FlowRunner {
174
181
  * inside the task. Every path into a task goes through here, so running one
175
182
  * as a step, directly, as a tool, or during rollback all report failure
176
183
  * identically — and a step's `retries` cover construction, not just execution.
184
+ * Task-to-task calls derive their equivalent context in `BaseTask.resolve`.
177
185
  */
178
- async executeTask(classPath, options, references) {
179
- const taskCtx = references ? this.contextFor(references) : this.ctx;
186
+ async executeTask(classPath, options, references, executionPhase = DEFAULT_EXECUTION_PHASE) {
187
+ const taskCtx = this.contextFor(references, executionPhase);
180
188
  try {
181
189
  const task = await this.registry.create(classPath, taskCtx, options);
182
190
  return task.run();
@@ -258,8 +266,15 @@ export class FlowRunner {
258
266
  const children = childPlan.flatMap((cs) => this.expandPlanStep(cs, childParentOptions, `${pathPrefix}/${cs.stepNumber}`, depth + 1, nextAncestors, skipSet));
259
267
  return [self, ...children];
260
268
  }
261
- /** Evaluate a step's `when:` to a boolean. Undefined `when` always runs. */
262
- async evaluateWhen(when, completedSteps, params, errorCtx) {
269
+ /**
270
+ * Evaluate a step's `when:` to a boolean. Undefined `when` always runs.
271
+ *
272
+ * `executionPhase` is the phase the step's own task will observe. It is
273
+ * threaded in rather than read off `this.ctx`, whose phase is only the
274
+ * constructor seed: a `finally` hook gating on `context.executionPhase`
275
+ * would otherwise be told `'task'` and run when it meant to skip.
276
+ */
277
+ async evaluateWhen(when, completedSteps, params, executionPhase, errorCtx) {
263
278
  if (when === undefined)
264
279
  return true;
265
280
  if (typeof when === 'boolean')
@@ -276,7 +291,7 @@ export class FlowRunner {
276
291
  return await this.conditionEvaluator(when, {
277
292
  steps: completedSteps,
278
293
  params,
279
- context: this.ctx,
294
+ context: executionPhase === this.ctx.executionPhase ? this.ctx : { ...this.ctx, executionPhase },
280
295
  error,
281
296
  });
282
297
  }
@@ -353,7 +368,7 @@ export class FlowRunner {
353
368
  let conditionError;
354
369
  if (!planStep.skipped && planStep.when !== undefined) {
355
370
  try {
356
- conditionMet = await this.evaluateWhen(planStep.when, completedSteps, options.params);
371
+ conditionMet = await this.evaluateWhen(planStep.when, completedSteps, options.params, planStep.phase ?? DEFAULT_EXECUTION_PHASE);
357
372
  }
358
373
  catch (err) {
359
374
  conditionError = err instanceof Error ? err : new Error(String(err));
@@ -523,7 +538,7 @@ export class FlowRunner {
523
538
  // Hook steps honor `when:` too — a falsy condition skips them silently.
524
539
  if (hookStep.when !== undefined) {
525
540
  try {
526
- const ok = await this.evaluateWhen(hookStep.when, completedSteps, options.params, errorCtx);
541
+ const ok = await this.evaluateWhen(hookStep.when, completedSteps, options.params, hookStep.phase ?? DEFAULT_EXECUTION_PHASE, errorCtx);
527
542
  if (!ok)
528
543
  return true;
529
544
  }
@@ -624,7 +639,7 @@ export class FlowRunner {
624
639
  };
625
640
  }
626
641
  this.logger.info({ step: step.stepNumber, task: step.name, type: step.type }, `Executing step ${step.stepNumber}: ${step.name}`);
627
- return this.executeTask(taskDef.classPath, mergedOptions, refCtx);
642
+ return this.executeTask(taskDef.classPath, mergedOptions, refCtx, step.phase ?? DEFAULT_EXECUTION_PHASE);
628
643
  }
629
644
  async performRollback(records) {
630
645
  const result = { attempted: 0, succeeded: 0, errors: [] };
@@ -638,7 +653,7 @@ export class FlowRunner {
638
653
  // `${...}` captured in recorded data is neither substituted nor thrown
639
654
  // on — which the catch below would turn into a silently failed rollback.
640
655
  const resolved = resolveTaskCall(rec.taskName, this.tasks, rec.payload, this.baseReferences);
641
- const r = await this.executeTask(resolved.classPath, resolved.options);
656
+ const r = await this.executeTask(resolved.classPath, resolved.options, this.baseReferences, 'rollback');
642
657
  if (r.success) {
643
658
  result.succeeded++;
644
659
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { GuardRegistry } from './registry.js';
2
+ export { runGuarded } from './pipeline.js';
3
+ export { discoverTaskGuards } from './task-guards.js';
4
+ export type { DiscoverTaskGuardsOptions, GuardScope, GuardTaskFailure, } from './task-guards.js';
5
+ export { guardContextBase, lazy } from './types.js';
6
+ export type { Guard, GuardContext } from './types.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EACV,yBAAyB,EACzB,UAAU,EACV,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { GuardRegistry } from './registry.js';
2
+ export { runGuarded } from './pipeline.js';
3
+ export { discoverTaskGuards } from './task-guards.js';
4
+ export { guardContextBase, lazy } from './types.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { GuardRegistry } from './registry.js';
2
+ import type { GuardContext } from './types.js';
3
+ /**
4
+ * Run one host operation through a guard pipeline.
5
+ *
6
+ * Applicability resolves once, up front, so `before` and `after` see the same
7
+ * set of guards even if a guard's own side effects would change what
8
+ * `appliesTo` answers (a source-control guard that checks a file out makes it
9
+ * writable, and must still get its `after` half).
10
+ *
11
+ * `before` runs in registration order and any throw denies the operation:
12
+ * `invoke` never happens and the error propagates unchanged, so the host's own
13
+ * error type survives. `after` runs in reverse order, innermost guard first,
14
+ * so a guard's two halves nest rather than interleave. An `after` hook that
15
+ * returns a value replaces the result for every remaining hook and the caller;
16
+ * returning nothing leaves it alone.
17
+ *
18
+ * With an empty registry this is exactly `invoke()`, so it is always safe to
19
+ * install on a seam before any guard exists.
20
+ */
21
+ export declare function runGuarded<Ctx extends GuardContext, TResult>(ctx: Ctx, registry: GuardRegistry<Ctx, TResult>, invoke: () => Promise<TResult>): Promise<TResult>;
22
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/guard/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAS,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,GAAG,SAAS,YAAY,EAAE,OAAO,EAChE,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EACrC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAyBlB"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Run one host operation through a guard pipeline.
3
+ *
4
+ * Applicability resolves once, up front, so `before` and `after` see the same
5
+ * set of guards even if a guard's own side effects would change what
6
+ * `appliesTo` answers (a source-control guard that checks a file out makes it
7
+ * writable, and must still get its `after` half).
8
+ *
9
+ * `before` runs in registration order and any throw denies the operation:
10
+ * `invoke` never happens and the error propagates unchanged, so the host's own
11
+ * error type survives. `after` runs in reverse order, innermost guard first,
12
+ * so a guard's two halves nest rather than interleave. An `after` hook that
13
+ * returns a value replaces the result for every remaining hook and the caller;
14
+ * returning nothing leaves it alone.
15
+ *
16
+ * With an empty registry this is exactly `invoke()`, so it is always safe to
17
+ * install on a seam before any guard exists.
18
+ */
19
+ export async function runGuarded(ctx, registry, invoke) {
20
+ if (registry.size === 0)
21
+ return invoke();
22
+ const applicable = [];
23
+ for (const g of registry.list()) {
24
+ if (!g.appliesTo || (await g.appliesTo(ctx)))
25
+ applicable.push(g);
26
+ }
27
+ for (const g of applicable) {
28
+ if (g.before)
29
+ await g.before(ctx);
30
+ }
31
+ // `await` widens a generic TResult to Awaited<TResult>, which an `after`
32
+ // hook's replacement value is not assignable to. The invoke contract already
33
+ // fixes the type, so pin it back.
34
+ let result = (await invoke());
35
+ for (let i = applicable.length - 1; i >= 0; i--) {
36
+ const after = applicable[i].after;
37
+ if (!after)
38
+ continue;
39
+ const replaced = await after(ctx, result);
40
+ if (replaced !== undefined)
41
+ result = replaced;
42
+ }
43
+ return result;
44
+ }
45
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/guard/pipeline.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAQ,EACR,QAAqC,EACrC,MAA8B;IAE9B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,EAAE,CAAC;IAEzC,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,kCAAkC;IAClC,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM,EAAE,CAAY,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,GAAG,QAAmB,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Guard, GuardContext } from './types.js';
2
+ /**
3
+ * An ordered set of guards.
4
+ *
5
+ * Order is recomputed on every registration rather than at read time, so the
6
+ * sequence a caller observes never depends on when it asked. Ties on `order`
7
+ * break by name, so a registry built from an unordered source (a directory
8
+ * listing, a task registry) still runs its guards deterministically.
9
+ */
10
+ export declare class GuardRegistry<Ctx extends GuardContext = GuardContext, TResult = unknown> {
11
+ private guards;
12
+ register(guard: Guard<Ctx, TResult>): this;
13
+ /** Register several at once, in whatever order they arrive. */
14
+ registerAll(guards: Iterable<Guard<Ctx, TResult>>): this;
15
+ list(): readonly Guard<Ctx, TResult>[];
16
+ /** Registered guard names, in run order. For startup logging. */
17
+ names(): string[];
18
+ get size(): number;
19
+ }
20
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/guard/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;GAOG;AACH,qBAAa,aAAa,CAAC,GAAG,SAAS,YAAY,GAAG,YAAY,EAAE,OAAO,GAAG,OAAO;IACnF,OAAO,CAAC,MAAM,CAA6B;IAE3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI;IAM1C,+DAA+D;IAC/D,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI;IAKxD,IAAI,IAAI,SAAS,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;IAItC,iEAAiE;IACjE,KAAK,IAAI,MAAM,EAAE;IAIjB,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * An ordered set of guards.
3
+ *
4
+ * Order is recomputed on every registration rather than at read time, so the
5
+ * sequence a caller observes never depends on when it asked. Ties on `order`
6
+ * break by name, so a registry built from an unordered source (a directory
7
+ * listing, a task registry) still runs its guards deterministically.
8
+ */
9
+ export class GuardRegistry {
10
+ guards = [];
11
+ register(guard) {
12
+ this.guards.push(guard);
13
+ this.guards.sort((a, b) => (a.order ?? 0) - (b.order ?? 0) || a.name.localeCompare(b.name));
14
+ return this;
15
+ }
16
+ /** Register several at once, in whatever order they arrive. */
17
+ registerAll(guards) {
18
+ for (const g of guards)
19
+ this.register(g);
20
+ return this;
21
+ }
22
+ list() {
23
+ return this.guards;
24
+ }
25
+ /** Registered guard names, in run order. For startup logging. */
26
+ names() {
27
+ return this.guards.map((g) => g.name);
28
+ }
29
+ get size() {
30
+ return this.guards.length;
31
+ }
32
+ }
33
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/guard/registry.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,GAA0B,EAAE,CAAC;IAE3C,QAAQ,CAAC,KAA0B;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,WAAW,CAAC,MAAqC;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,iEAAiE;IACjE,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Task-backed guards: turn registered tasks into pipeline guards by name.
3
+ *
4
+ * A host that already loads tasks from config or from plugins gets guards for
5
+ * free. Declaring a task named `guard.<name>.<phase>` registers it as a guard;
6
+ * no separate activation concept, manifest key, or loader is needed, because
7
+ * the task registry is already the list of everything the host was given.
8
+ *
9
+ * `<phase>` is `before` or `after`, optionally suffixed with a scope the host
10
+ * declared:
11
+ *
12
+ * guard.audit.after runs after every operation
13
+ * guard.p4.beforeWrite runs before an operation the `write` scope claims
14
+ *
15
+ * A `before` guard denies the operation by returning `success: false` or by
16
+ * throwing. An `after` guard observes the result: it cannot replace it (a task
17
+ * returns a `TaskResult`, not the host's result type) and a failure is reported
18
+ * through `onAfterFailure` rather than failing an operation that already
19
+ * happened.
20
+ */
21
+ import type { TaskContext } from '../task/base-task.js';
22
+ import type { TaskRegistry } from '../task/registry.js';
23
+ import type { Logger } from '../logger.js';
24
+ import type { Guard, GuardContext } from './types.js';
25
+ /** Predicate deciding whether a scoped guard participates in an operation. */
26
+ export type GuardScope<Ctx extends GuardContext> = (ctx: Ctx) => boolean | Promise<boolean>;
27
+ /** Passed to the host's error factories so it can shape its own message. */
28
+ export interface GuardTaskFailure<Ctx extends GuardContext> {
29
+ /** The guard's bare name: `p4` for `guard.p4.beforeWrite`. */
30
+ readonly guard: string;
31
+ /** The full phase as declared: `beforeWrite`. */
32
+ readonly phase: string;
33
+ /** The task name the guard was discovered from. */
34
+ readonly taskName: string;
35
+ readonly ctx: Ctx;
36
+ /** Why it failed: the task's own error, or the exception it threw. */
37
+ readonly reason: string;
38
+ /** Present when the guard task threw rather than returning `success: false`. */
39
+ readonly cause?: Error;
40
+ }
41
+ export interface DiscoverTaskGuardsOptions<Ctx extends GuardContext, TResult = unknown> {
42
+ /**
43
+ * Named scope predicates. A task named `guard.x.beforeWrite` resolves against
44
+ * the `write` key (the suffix's first letter is lowercased). An unknown scope
45
+ * is an error at discovery time, not a guard that silently runs on
46
+ * everything.
47
+ */
48
+ scopes?: Record<string, GuardScope<Ctx>>;
49
+ /**
50
+ * Build the task context for one guard invocation. Called per operation, so
51
+ * the host can bind the guard to whatever the operation belongs to rather
52
+ * than to a single ambient target.
53
+ */
54
+ contextFor(ctx: Ctx): TaskContext;
55
+ /**
56
+ * Build the options handed to the guard task. `result` is present only for
57
+ * `after` guards.
58
+ */
59
+ optionsFor(ctx: Ctx, result?: TResult): Record<string, unknown>;
60
+ /**
61
+ * Error thrown when a `before` guard denies.
62
+ *
63
+ * This covers a guard task that throws as well as one that returns
64
+ * `success: false`, because `BaseTask.run` turns an exception into a failed
65
+ * result. A guard that crashes therefore denies the operation rather than
66
+ * waving it through, which is the safe direction for the thing standing
67
+ * between a caller and a mutation. Default: a plain `Error`.
68
+ */
69
+ onDeny?(info: GuardTaskFailure<Ctx>): Error;
70
+ /**
71
+ * Error thrown when the guard task cannot be constructed at all: an
72
+ * unresolvable class path, a module that fails to import. Distinct from a
73
+ * denial, because nothing about the operation was actually evaluated.
74
+ * Default: a plain `Error`.
75
+ */
76
+ onError?(info: GuardTaskFailure<Ctx>): Error;
77
+ /** Called when an `after` guard reports failure. Default: log at debug. */
78
+ onAfterFailure?(info: GuardTaskFailure<Ctx>): void;
79
+ logger?: Logger;
80
+ }
81
+ /**
82
+ * Build a `Guard` for every `guard.<name>.<phase>` task in `registry`.
83
+ *
84
+ * Throws if a task names a scope the host did not declare, so a typo in a
85
+ * plugin's task name surfaces at startup instead of becoming a guard that runs
86
+ * on every operation.
87
+ */
88
+ export declare function discoverTaskGuards<Ctx extends GuardContext, TResult = unknown>(registry: TaskRegistry, options: DiscoverTaskGuardsOptions<Ctx, TResult>): Guard<Ctx, TResult>[];
89
+ //# sourceMappingURL=task-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-guards.d.ts","sourceRoot":"","sources":["../../src/guard/task-guards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAKtD,8EAA8E;AAC9E,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,YAAY,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE5F,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB,CAAC,GAAG,SAAS,YAAY;IACxD,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB,CAAC,GAAG,SAAS,YAAY,EAAE,OAAO,GAAG,OAAO;IACpF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE;;;;;;;;OAQG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7C,2EAA2E;IAC3E,cAAc,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,SAAS,YAAY,EAAE,OAAO,GAAG,OAAO,EAC5E,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,GAC/C,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CA0FvB"}