@oisincoveney/pipeline 3.19.5 → 3.19.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.
Files changed (67) hide show
  1. package/dist/cli/doctor.d.ts +1 -1
  2. package/dist/cli/doctor.js +2 -2
  3. package/dist/cli/format.js +1 -1
  4. package/dist/cli/program.d.ts +1 -1
  5. package/dist/cli/run-command.d.ts +1 -1
  6. package/dist/cli/run-resolver.d.ts +1 -1
  7. package/dist/cli/run-service.d.ts +1 -1
  8. package/dist/cli/submit-options.js +1 -1
  9. package/dist/commands/pipeline-command.js +1 -1
  10. package/dist/commands/ticket/shared.d.ts +1 -1
  11. package/dist/commands/ticket-command.d.ts +2 -1
  12. package/dist/config/schemas.d.ts +1 -1
  13. package/dist/context/repo-map.js +2 -2
  14. package/dist/credentials/broker.d.ts +1 -1
  15. package/dist/install-commands/opencode.js +1 -1
  16. package/dist/install-commands/planner.js +1 -1
  17. package/dist/install-hooks.js +1 -1
  18. package/dist/loop/argo-poll.js +2 -2
  19. package/dist/loop/loop-command.js +1 -1
  20. package/dist/loop/merge.js +1 -1
  21. package/dist/planning/generate.js +1 -1
  22. package/dist/remote/submit/io.js +2 -2
  23. package/dist/run-control/contracts.d.ts +1 -1
  24. package/dist/run-control/contracts.js +1 -1
  25. package/dist/run-control/detach.js +1 -1
  26. package/dist/run-control/next-node.js +1 -1
  27. package/dist/run-control/run-artifacts-command.js +1 -1
  28. package/dist/run-control/run-command-domain.js +2 -2
  29. package/dist/run-control/runtime-reporter.js +1 -1
  30. package/dist/run-control/store-paths.js +1 -1
  31. package/dist/run-control/submit-result.js +1 -1
  32. package/dist/run-control/supervisor.js +2 -2
  33. package/dist/run-state/git-refs.js +1 -1
  34. package/dist/runner-command/run.js +1 -1
  35. package/dist/runtime/actor-ids.d.ts +1 -1
  36. package/dist/runtime/agent-node/index.js +2 -2
  37. package/dist/runtime/builtins/index.js +2 -2
  38. package/dist/runtime/changed-files/changed-files.js +1 -1
  39. package/dist/runtime/changed-files/index.js +2 -2
  40. package/dist/runtime/command-executor/index.js +2 -2
  41. package/dist/runtime/context/index.js +2 -2
  42. package/dist/runtime/contracts/index.d.ts +2 -1
  43. package/dist/runtime/drain-merge/index.js +2 -2
  44. package/dist/runtime/events/events.js +2 -2
  45. package/dist/runtime/events/index.js +2 -2
  46. package/dist/runtime/gates/index.js +5 -5
  47. package/dist/runtime/gates/kinds/acceptance/acceptance.js +1 -1
  48. package/dist/runtime/hooks/command-hook.js +1 -1
  49. package/dist/runtime/hooks/index.js +2 -2
  50. package/dist/runtime/json-validation/index.js +2 -2
  51. package/dist/runtime/node-protocol/node-protocol.js +1 -1
  52. package/dist/runtime/node-state-store.js +1 -1
  53. package/dist/runtime/open-pull-request/index.js +2 -2
  54. package/dist/runtime/opencode-session-executor.js +1 -1
  55. package/dist/runtime/parallel-node/index.js +2 -2
  56. package/dist/runtime/retry.js +1 -1
  57. package/dist/runtime/scheduler.js +1 -1
  58. package/dist/runtime/services/backlog-service.d.ts +1 -1
  59. package/dist/runtime/services/backlog-service.js +1 -1
  60. package/dist/runtime/services/drain-merge-git-service.js +2 -2
  61. package/dist/runtime/services/kubernetes-argo-service.js +1 -1
  62. package/dist/runtime/services/run-journal-file-service.js +1 -1
  63. package/dist/tickets/backlog-task-store.js +1 -1
  64. package/dist/tickets/completion/complete-ticket.js +1 -1
  65. package/dist/tickets/ticket-graph.js +2 -2
  66. package/dist/tickets/ticket-plan.d.ts +1 -1
  67. package/package.json +6 -1
@@ -18,4 +18,4 @@ interface DoctorFlags {
18
18
  }
19
19
  declare function runDoctor(cwd: string, options?: DoctorFlags): Promise<DoctorResult>;
20
20
  //#endregion
21
- export { runDoctor };
21
+ export { DoctorCheck, DoctorFlags, DoctorResult, runDoctor };
@@ -9,8 +9,8 @@ import { execa } from "execa";
9
9
  import { join } from "node:path";
10
10
  import matter from "gray-matter";
11
11
  //#region src/cli/doctor.ts
12
- const HEADLESS_AGENT_PERMISSION_VALUES = new Set(["ask"]);
13
- const RUN_READINESS_CATEGORIES = new Set([
12
+ const HEADLESS_AGENT_PERMISSION_VALUES = /* @__PURE__ */ new Set(["ask"]);
13
+ const RUN_READINESS_CATEGORIES = /* @__PURE__ */ new Set([
14
14
  "acceptance",
15
15
  "green",
16
16
  "intake",
@@ -137,4 +137,4 @@ function truncateMiddle(text, maxLength) {
137
137
  return `${text.slice(0, keep)}\n... truncated ...\n${text.slice(-keep)}`;
138
138
  }
139
139
  //#endregion
140
- export { createTerminalRuntimeReporter, formatDoctorResult, formatRuntimeFailure, formatRuntimeResult };
140
+ export { createTerminalRuntimeReporter, formatDoctorResult, formatRuntimeFailure, formatRuntimeProgressMessage, formatRuntimeResult };
@@ -11,4 +11,4 @@ interface CliProgramOptions {
11
11
  declare function createCliProgram(options?: CliProgramOptions): Command;
12
12
  declare function runCli(argv: string[]): Promise<void>;
13
13
  //#endregion
14
- export { createCliProgram, runCli };
14
+ export { CliProgramOptions, createCliProgram, runCli };
@@ -10,4 +10,4 @@ interface RunCommandCall {
10
10
  }
11
11
  type RunCommand = (call: RunCommandCall) => Promise<void> | void;
12
12
  //#endregion
13
- export { RunCommand };
13
+ export { RunCommand, RunCommandCall };
@@ -33,4 +33,4 @@ interface RunResolution {
33
33
  target: MokaRunTarget;
34
34
  }
35
35
  //#endregion
36
- export { RunResolution, RunResolverFlags };
36
+ export { LocalRuntimeExecution, MOKA_RUN_EFFORTS, MOKA_RUN_TARGETS, MokaRunEffort, MokaRunMode, MokaRunTarget, RemoteSubmitExecution, RunResolution, RunResolverFlags };
@@ -26,4 +26,4 @@ interface RunControlOptions {
26
26
  declare function execute(description: string, options?: ExecuteOptions): Promise<void>;
27
27
  declare function quick(description: string, options?: Omit<ExecuteOptions, "entrypoint">): Promise<void>;
28
28
  //#endregion
29
- export { execute, quick };
29
+ export { ExecuteOptions, RunControlOptions, RunStoreMode, execute, quick };
@@ -112,4 +112,4 @@ function parseImagePullPolicy(value) {
112
112
  return "Always";
113
113
  }
114
114
  //#endregion
115
- export { addMokaSubmitOptions, buildMokaSubmitInputFromCli, runMokaSubmitFromCli };
115
+ export { addMokaSubmitOptions, buildMokaSubmitInputFromCli, parseImagePullPolicy, runMokaSubmitFromCli };
@@ -1,6 +1,6 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
2
  //#region src/commands/pipeline-command.ts
3
- const BUILTIN_PIPE_COMMANDS = new Set([
3
+ const BUILTIN_PIPE_COMMANDS = /* @__PURE__ */ new Set([
4
4
  "run",
5
5
  "validate",
6
6
  "explain-plan",
@@ -11,4 +11,4 @@ interface TicketCommandOptions {
11
11
  readonly ticketPlanExecutor?: TicketPlanExecutor;
12
12
  }
13
13
  //#endregion
14
- export { TicketCommandOptions };
14
+ export { TicketCommandOptions, TicketPlanExecutor };
@@ -1,2 +1,3 @@
1
1
  import { TicketCommandOptions } from "./ticket/shared.js";
2
- import { Command } from "commander";
2
+ import { Command } from "commander";
3
+ export type { TicketCommandOptions };
@@ -583,4 +583,4 @@ interface PipelineConfigValidationOptions {
583
583
  allowMissingLintFileReferences?: boolean;
584
584
  }
585
585
  //#endregion
586
- export { GateKind, HookEvent, McpGatewayBackendLocality, McpGatewayWorkspacePathSource, PipelineConfig, PipelineConfigError, PipelineConfigErrorCode, PipelineConfigIssue, PipelineConfigParts, PipelineConfigValidationOptions, RunnerType, ScheduleBaseline, SchedulingRole, WorkflowNodeKind, workflowSchema };
586
+ export { GateKind, HookEvent, McpGatewayBackendLocality, McpGatewayWorkspacePathSource, PipelineConfig, PipelineConfigError, PipelineConfigErrorCode, PipelineConfigIssue, PipelineConfigParts, PipelineConfigValidationOptions, RunnerType, ScheduleBaseline, SchedulingRole, WorkflowNodeKind, configSchema, workflowSchema };
@@ -7,7 +7,7 @@ import { Query } from "web-tree-sitter";
7
7
  import Graph from "graphology";
8
8
  import pagerank from "graphology-metrics/centrality/pagerank.js";
9
9
  //#region src/context/repo-map.ts
10
- const SOURCE_EXTENSIONS = new Set([
10
+ const SOURCE_EXTENSIONS = /* @__PURE__ */ new Set([
11
11
  ".cjs",
12
12
  ".js",
13
13
  ".jsx",
@@ -15,7 +15,7 @@ const SOURCE_EXTENSIONS = new Set([
15
15
  ".ts",
16
16
  ".tsx"
17
17
  ]);
18
- const SKIP_DIRS = new Set([
18
+ const SKIP_DIRS = /* @__PURE__ */ new Set([
19
19
  "node_modules",
20
20
  ".git",
21
21
  "dist",
@@ -12,4 +12,4 @@ declare const brokerAuthOptionSchema: z.ZodObject<{
12
12
  }, z.core.$strict>;
13
13
  type BrokerAuthOption = z.input<typeof brokerAuthOptionSchema>;
14
14
  //#endregion
15
- export { BrokerAuthOption };
15
+ export { BrokerAuthOption, brokerAuthOptionSchema };
@@ -413,4 +413,4 @@ const opencodeAdapter = {
413
413
  }
414
414
  };
415
415
  //#endregion
416
- export { agentDispatchRoutes, entrypointDispatchBlock, grants, header, markdown, opencodeAdapter, projectAgentsMdDefinition, resolvedHostModel };
416
+ export { agentDispatchRoutes, entrypointDispatchBlock, grants, header, markdown, opencodeAdapter, projectAgentsMdDefinition, resolvedHostModel, shouldEmbedProjectGateway };
@@ -15,7 +15,7 @@ const ADAPTERS = {
15
15
  opencode: opencodeAdapter,
16
16
  "claude-code": claudeCodeAdapter
17
17
  };
18
- const GLOBAL_EXCLUDED_PATHS = new Set(["AGENTS.md"]);
18
+ const GLOBAL_EXCLUDED_PATHS = /* @__PURE__ */ new Set(["AGENTS.md"]);
19
19
  const GENERATED_CONTENT_MARKERS = [
20
20
  GENERATED_MARKER,
21
21
  GENERATED_TS_MARKER,
@@ -20,7 +20,7 @@ const HOST_TARGET_ROOT = {
20
20
  codex: ".codex",
21
21
  opencode: ".opencode"
22
22
  };
23
- const NON_HOOK_OWNED_TARGETS = new Set([".opencode/opencode.json"]);
23
+ const NON_HOOK_OWNED_TARGETS = /* @__PURE__ */ new Set([".opencode/opencode.json"]);
24
24
  function hashContent(content) {
25
25
  return createHash("sha256").update(content).digest("hex");
26
26
  }
@@ -2,12 +2,12 @@ import { isRecord } from "../safe-json.js";
2
2
  import { Duration, Effect } from "effect";
3
3
  import { CustomObjectsApi, KubeConfig } from "@kubernetes/client-node";
4
4
  //#region src/loop/argo-poll.ts
5
- const TERMINAL_PHASES = new Set([
5
+ const TERMINAL_PHASES = /* @__PURE__ */ new Set([
6
6
  "Succeeded",
7
7
  "Failed",
8
8
  "Error"
9
9
  ]);
10
- const KNOWN_RUNNING_PHASES = new Set([
10
+ const KNOWN_RUNNING_PHASES = /* @__PURE__ */ new Set([
11
11
  "Running",
12
12
  "Pending",
13
13
  ""
@@ -88,4 +88,4 @@ function loopControllerSubmitInput(input) {
88
88
  };
89
89
  }
90
90
  //#endregion
91
- export { parseLoopFlags, runLoopSubmit };
91
+ export { loopControllerArgv, parseLoopFlags, runLoopSubmit };
@@ -117,4 +117,4 @@ function mergeForClassification(input) {
117
117
  return adminMerge(input.pr, token, input.gh);
118
118
  }
119
119
  //#endregion
120
- export { mergeForClassification };
120
+ export { adminMerge, enableAutoMerge, mergeForClassification, secretToken, selectMergeAction };
@@ -41,7 +41,7 @@ const SCHEDULE_BUILTINS = [
41
41
  "test",
42
42
  "typecheck"
43
43
  ];
44
- const PARALLEL_MERGE_BUILTINS = new Set(["drain-merge"]);
44
+ const PARALLEL_MERGE_BUILTINS = /* @__PURE__ */ new Set(["drain-merge"]);
45
45
  const scheduleArtifactSchema = z.object({
46
46
  generated_at: z.string().datetime(),
47
47
  kind: z.literal(SCHEDULE_KIND),
@@ -1,6 +1,6 @@
1
1
  import { normalizeRunnerRepositoryForSubmit } from "../../git-remote-url.js";
2
2
  import { readFileSync } from "node:fs";
3
- import { simpleGit } from "simple-git";
3
+ import { simpleGit as simpleGit$1 } from "simple-git";
4
4
  import parseGitUrl from "git-url-parse";
5
5
  //#region src/remote/submit/io.ts
6
6
  function readScheduleFile(dependencies, path) {
@@ -47,7 +47,7 @@ function runContext(options, git, runId) {
47
47
  }
48
48
  async function resolveGit(worktreePath, dependencies) {
49
49
  if (dependencies.resolveGitContext) return dependencies.resolveGitContext(worktreePath);
50
- const git = simpleGit({ baseDir: worktreePath });
50
+ const git = simpleGit$1({ baseDir: worktreePath });
51
51
  const [branchResult, sha, remoteConfig] = await Promise.all([
52
52
  git.branch(),
53
53
  git.revparse(["HEAD"]),
@@ -103,4 +103,4 @@ type RunEffort = z.infer<typeof runEffortSchema>;
103
103
  type RunMode = z.infer<typeof runModeSchema>;
104
104
  type MokaRunManifest = z.infer<typeof mokaRunManifestSchema>;
105
105
  //#endregion
106
- export { MokaRunManifest, RunEffort, RunMode, RunTarget };
106
+ export { MokaRunManifest, RunEffort, RunMode, RunTarget, mokaRunManifestSchema, runEffortSchema, runModeSchema, runTargetSchema };
@@ -127,4 +127,4 @@ function parseMokaRunManifest(input) {
127
127
  return mokaRunManifestSchema.parse(input);
128
128
  }
129
129
  //#endregion
130
- export { DEFAULT_RUN_CONTROL_HEARTBEAT_INTERVAL_MS, DEFAULT_RUN_CONTROL_NODE_STALE_AFTER_MS, DEFAULT_RUN_CONTROL_STALE_DETECTION, mokaNodeStatusSchema, mokaRunStatusSchema, parseMokaNodeStatus, parseMokaRunController, parseMokaRunEvent, parseMokaRunManifest, parseMokaRunStatus, parseRunControlStaleDetection, parseRunEffort, parseRunMode, parseRunTarget };
130
+ export { DEFAULT_RUN_CONTROL_HEARTBEAT_INTERVAL_MS, DEFAULT_RUN_CONTROL_NODE_STALE_AFTER_MS, DEFAULT_RUN_CONTROL_STALE_DETECTION, MOKA_NODE_STATUSES, MOKA_RUN_STATUSES, RUN_EFFORTS, RUN_MODES, RUN_TARGETS, mokaNodeStatusEventSchema, mokaNodeStatusSchema, mokaRunControlEventSchema, mokaRunControllerSchema, mokaRunEventSchema, mokaRunHeartbeatEventSchema, mokaRunManifestSchema, mokaRunStatusEventSchema, mokaRunStatusSchema, parseMokaNodeStatus, parseMokaRunController, parseMokaRunEvent, parseMokaRunManifest, parseMokaRunStatus, parseRunControlStaleDetection, parseRunEffort, parseRunMode, parseRunTarget, runControlStaleDetectionSchema, runEffortSchema, runModeSchema, runTargetSchema };
@@ -76,4 +76,4 @@ function waitForControllerSpawnEffect(child) {
76
76
  });
77
77
  }
78
78
  //#endregion
79
- export { startDetachedRunController };
79
+ export { startDetachedRunController, startDetachedRunControllerEffect };
@@ -115,4 +115,4 @@ function printNextNodeEnvelopeScoped(runId) {
115
115
  });
116
116
  }
117
117
  //#endregion
118
- export { readPersistedScheduleEffect, readyNodeIdsFromRunStore, registerNextNodeSubcommand };
118
+ export { buildNextNodeEnvelope, buildNextNodeEnvelopeFromRunStore, readPersistedScheduleEffect, readyNodeIdsFromRunStore, registerNextNodeSubcommand };
@@ -14,7 +14,7 @@ const WATCH_INTERVAL_MS = 1e3;
14
14
  const SENSITIVE_BASENAME_PARTS = ["prompt", "session"];
15
15
  const SENSITIVE_BASENAME_PREFIXES = ["body."];
16
16
  const SENSITIVE_PATH_PARTS = ["session-body", "session_body"];
17
- const SENSITIVE_BASENAMES = new Set(["body"]);
17
+ const SENSITIVE_BASENAMES = /* @__PURE__ */ new Set(["body"]);
18
18
  function printLogsEffect(input) {
19
19
  return Effect.gen(function* () {
20
20
  const run = yield* requireRunEffect(input.store, input.runId);
@@ -1,13 +1,13 @@
1
1
  import { parseLogicalSegment } from "./logical-segment.js";
2
2
  import { Effect } from "effect";
3
3
  //#region src/run-control/run-command-domain.ts
4
- const ACTIVE_RUN_STATUSES = new Set([
4
+ const ACTIVE_RUN_STATUSES = /* @__PURE__ */ new Set([
5
5
  "queued",
6
6
  "starting",
7
7
  "running",
8
8
  "stalled"
9
9
  ]);
10
- const ACTIVE_NODE_STATUSES = new Set([
10
+ const ACTIVE_NODE_STATUSES = /* @__PURE__ */ new Set([
11
11
  "queued",
12
12
  "starting",
13
13
  "running",
@@ -132,4 +132,4 @@ function errorMessage(error) {
132
132
  return error instanceof Error ? error.message : String(error);
133
133
  }
134
134
  //#endregion
135
- export { createRunStoreRuntimeReporter };
135
+ export { createRunStoreRuntimeReporter, createRunStoreRuntimeReporterEffect };
@@ -20,4 +20,4 @@ function runPaths(workspaceRoot, runId) {
20
20
  };
21
21
  }
22
22
  //#endregion
23
- export { runPaths };
23
+ export { RUNS_DIRECTORY, runPaths };
@@ -57,4 +57,4 @@ function submitResultEffect(runId, nodeId, resultJson) {
57
57
  }));
58
58
  }
59
59
  //#endregion
60
- export { registerSubmitResultSubcommand };
60
+ export { recordSubmitResult, registerSubmitResultSubcommand };
@@ -3,7 +3,7 @@ import { createSerializedWriteQueue } from "../serialized-write-queue.js";
3
3
  import { createRunStoreRuntimeReporter } from "./runtime-reporter.js";
4
4
  import { Effect } from "effect";
5
5
  //#region src/run-control/supervisor.ts
6
- const RUNNING_NODE_EVENT_TYPES = new Set([
6
+ const RUNNING_NODE_EVENT_TYPES = /* @__PURE__ */ new Set([
7
7
  "agent.start",
8
8
  "artifact.check.start",
9
9
  "gate.start",
@@ -193,4 +193,4 @@ function shouldMarkNodeRunning(event) {
193
193
  }
194
194
  }
195
195
  //#endregion
196
- export { createRunControlSupervisor };
196
+ export { createRunControlSupervisor, createRunControlSupervisorEffect };
@@ -347,4 +347,4 @@ function shellQuote(value) {
347
347
  return `'${value.replaceAll("'", `'\\''`)}'`;
348
348
  }
349
349
  //#endregion
350
- export { commitAndPushNodeRef, mergeDependencyRefs, prepareRunnerGitWorkspace, promoteFinalRef, runAuthenticatedGit };
350
+ export { commitAndPushNodeRef, mergeDependencyRefs, prepareRunnerGitWorkspace, promoteFinalRef, runAuthenticatedGit, runnerCommitMessage };
@@ -572,4 +572,4 @@ function createRunnerLogger(options) {
572
572
  }, pino.multistream(streams, { dedupe: true }));
573
573
  }
574
574
  //#endregion
575
- export { runRunnerCommand, runnerTaskTextEffect };
575
+ export { nodeProcessExitCode, runRunnerCommand, runnerTaskTextEffect };
@@ -124,4 +124,4 @@ type RuntimeObservabilityEvent = {
124
124
  type: "runtime.retry.exhausted";
125
125
  };
126
126
  //#endregion
127
- export { RuntimeActorDescriptor, RuntimeObservabilityEvent };
127
+ export { RetryReason, RuntimeActorDescriptor, RuntimeActorKind, RuntimeObservabilityEvent };
@@ -1,2 +1,2 @@
1
- import "./agent-node.js";
2
- export {};
1
+ import { executeAgentNode } from "./agent-node.js";
2
+ export { executeAgentNode };
@@ -1,2 +1,2 @@
1
- import "./builtins.js";
2
- export {};
1
+ import { executeBuiltin } from "./builtins.js";
2
+ export { executeBuiltin };
@@ -35,7 +35,7 @@ function pathFromPorcelainEntry(entry) {
35
35
  return path ? [path] : [];
36
36
  }
37
37
  function diffChangedFiles(before, after, worktreePath) {
38
- const files = [...new Set([...before.files, ...after.files])].filter((file) => !before.files.has(file) || before.fingerprints.get(file) !== (after.fingerprints.get(file) ?? fileFingerprint(worktreePath, file)));
38
+ const files = [.../* @__PURE__ */ new Set([...before.files, ...after.files])].filter((file) => !before.files.has(file) || before.fingerprints.get(file) !== (after.fingerprints.get(file) ?? fileFingerprint(worktreePath, file)));
39
39
  return {
40
40
  files: new Set(files),
41
41
  fingerprints: new Map(files.map((file) => [file, after.fingerprints.get(file) ?? fileFingerprint(worktreePath, file)]))
@@ -1,2 +1,2 @@
1
- import "./changed-files.js";
2
- export {};
1
+ import { diffChangedFiles, snapshotChangedFiles } from "./changed-files.js";
2
+ export { diffChangedFiles, snapshotChangedFiles };
@@ -1,2 +1,2 @@
1
- import "./command-executor.js";
2
- export {};
1
+ import { executeCommand } from "./command-executor.js";
2
+ export { executeCommand };
@@ -1,2 +1,2 @@
1
- import "./context.js";
2
- export {};
1
+ import { createRuntimeContext, generateRuntimeRunId, resolveWorkflowSelection } from "./context.js";
2
+ export { createRuntimeContext, generateRuntimeRunId, resolveWorkflowSelection };
@@ -1 +1,2 @@
1
- import { AcceptanceCriterion, HookRuntimePolicy, NodeExecutionState, NodeStatus, PipelineRuntimeEvent, PipelineRuntimeObservabilityLevel, PipelineRuntimeOptions, PipelineRuntimeResult, PipelineTaskContext, RuntimeFailure, RuntimeGateResult, RuntimeNodeResult, RuntimeStructuredOutput, UnmetCriterion } from "./contracts.js";
1
+ import { AcceptanceCriterion, HookRuntimePolicy, NodeExecutionState, NodeStatus, PipelineRuntimeEvent, PipelineRuntimeObservabilityLevel, PipelineRuntimeOptions, PipelineRuntimeResult, PipelineTaskContext, RuntimeFailure, RuntimeGateResult, RuntimeNodeResult, RuntimeStructuredOutput, UnmetCriterion } from "./contracts.js";
2
+ export { AcceptanceCriterion, HookRuntimePolicy, NodeExecutionState, NodeStatus, PipelineRuntimeEvent, PipelineRuntimeObservabilityLevel, PipelineRuntimeOptions, PipelineRuntimeResult, PipelineTaskContext, RuntimeFailure, RuntimeGateResult, RuntimeNodeResult, RuntimeStructuredOutput, UnmetCriterion };
@@ -1,2 +1,2 @@
1
- import "./drain-merge.js";
2
- export {};
1
+ import { executeDrainMergeBuiltin } from "./drain-merge.js";
2
+ export { executeDrainMergeBuiltin };
@@ -3,7 +3,7 @@ import { runtimeActorId } from "../actor-ids.js";
3
3
  import { parseRuntimeOutput, validateJsonSchemaSource } from "../json-validation/json-validation.js";
4
4
  import "../json-validation/index.js";
5
5
  //#region src/runtime/events/events.ts
6
- const warningRuntimeObservabilityTypes = new Set([
6
+ const warningRuntimeObservabilityTypes = /* @__PURE__ */ new Set([
7
7
  "runtime.gate.cancelled",
8
8
  "runtime.gate.failed",
9
9
  "runtime.hook.failed",
@@ -15,7 +15,7 @@ const primaryRuntimeObservabilityPrefixes = [
15
15
  "runtime.hook.",
16
16
  "runtime.state."
17
17
  ];
18
- const structuredOutputFormats = new Set([
18
+ const structuredOutputFormats = /* @__PURE__ */ new Set([
19
19
  "json",
20
20
  "json_schema",
21
21
  "jsonl"
@@ -1,2 +1,2 @@
1
- import "./events.js";
2
- export {};
1
+ import { childReporter, createPublicRuntimeObservabilityEmitter, emit, emitAgentFinish, emitAgentStart, emitGateFinish, emitGateStart, emitNodeFinish, emitNodeOutputRecorded, emitNodeStart, emitWorkflowFinish, emitWorkflowPlanned, emitWorkflowStarted, runtimeNodeActorDescriptor, runtimeSystemId } from "./events.js";
2
+ export { childReporter, createPublicRuntimeObservabilityEmitter, emit, emitAgentFinish, emitAgentStart, emitGateFinish, emitGateStart, emitNodeFinish, emitNodeOutputRecorded, emitNodeStart, emitWorkflowFinish, emitWorkflowPlanned, emitWorkflowStarted, runtimeNodeActorDescriptor, runtimeSystemId };
@@ -1,5 +1,5 @@
1
- import "./contract.js";
2
- import "./gates.js";
3
- import "./registry.js";
4
- import "./orchestrator.js";
5
- export {};
1
+ import { forKind } from "./contract.js";
2
+ import { parseGateJson } from "./gates.js";
3
+ import { evaluateGate, gateRegistry } from "./registry.js";
4
+ import { evaluateNodeGates } from "./orchestrator.js";
5
+ export { evaluateGate, evaluateNodeGates, forKind, gateRegistry, parseGateJson };
@@ -106,4 +106,4 @@ function hasNonEmptyEvidence(value) {
106
106
  return Array.isArray(value) && value.filter((item) => typeof item === "string" && item.trim()).length > 0;
107
107
  }
108
108
  //#endregion
109
- export { evaluateAcceptanceGate };
109
+ export { acceptanceUnmetCriteria, evaluateAcceptanceGate };
@@ -20,7 +20,7 @@ function hookEnv(hook, context) {
20
20
  };
21
21
  }
22
22
  function commandHookEnvEntries(hook, context) {
23
- return [...new Set([...context.hookPolicy.envPassthrough, ...hook.env?.passthrough ?? []])].flatMap(commandHookEnvEntry);
23
+ return [.../* @__PURE__ */ new Set([...context.hookPolicy.envPassthrough, ...hook.env?.passthrough ?? []])].flatMap(commandHookEnvEntry);
24
24
  }
25
25
  function commandHookEnvEntry(name) {
26
26
  const value = process.env[name];
@@ -1,2 +1,2 @@
1
- import "./hooks.js";
2
- export {};
1
+ import { dispatchHooks } from "./hooks.js";
2
+ export { dispatchHooks };
@@ -1,2 +1,2 @@
1
- import "./json-validation.js";
2
- export {};
1
+ import { normalizeJsonSource, parseJsonObject, parseRuntimeOutput, readJsonSchemaSource, readOptionalFile, validateJsonSchemaSource } from "./json-validation.js";
2
+ export { normalizeJsonSource, parseJsonObject, parseRuntimeOutput, readJsonSchemaSource, readOptionalFile, validateJsonSchemaSource };
@@ -80,4 +80,4 @@ function parseSubmitResult(value) {
80
80
  return submitResultSchema.parse(value);
81
81
  }
82
82
  //#endregion
83
- export { parseSubmitResult };
83
+ export { parseSubmitResult, submitResultSchema };
@@ -95,4 +95,4 @@ function pendingNodeState(id) {
95
95
  };
96
96
  }
97
97
  //#endregion
98
- export { initialNodeStateStore };
98
+ export { NodeStateStore, initialNodeStateStore };
@@ -1,2 +1,2 @@
1
- import "./open-pull-request.js";
2
- export {};
1
+ import { executeOpenPullRequestBuiltin, openPullRequestProgram } from "./open-pull-request.js";
2
+ export { executeOpenPullRequestBuiltin, openPullRequestProgram };
@@ -200,7 +200,7 @@ function promptBody(plan) {
200
200
  ...plan.variant ? { variant: plan.variant } : {}
201
201
  };
202
202
  }
203
- const FLAGS_TAKING_VALUE = new Set([
203
+ const FLAGS_TAKING_VALUE = /* @__PURE__ */ new Set([
204
204
  "--agent",
205
205
  "--dir",
206
206
  "--file",
@@ -1,2 +1,2 @@
1
- import "./parallel-node.js";
2
- export {};
1
+ import { executeParallelNode } from "./parallel-node.js";
2
+ export { executeParallelNode };
@@ -30,4 +30,4 @@ function decideNodeRetry(input) {
30
30
  };
31
31
  }
32
32
  //#endregion
33
- export { decideNodeRetry, nodeRetryPolicy };
33
+ export { decideNodeRetry, nodeRetryPolicy, retryDelayMs };
@@ -132,7 +132,7 @@ function computeReadyNodeIds(input) {
132
132
  const completedIds = new Set((input.completed ?? []).map((r) => r.nodeId));
133
133
  const runningIds = new Set(input.running ?? []);
134
134
  const blockedIds = new Set(input.blocked ?? []);
135
- const settled = new Set([...completedIds, ...runningIds]);
135
+ const settled = /* @__PURE__ */ new Set([...completedIds, ...runningIds]);
136
136
  return orderedNodes(input.nodes).filter((node) => !(settled.has(node.id) || blockedIds.has(node.id))).filter((node) => node.needs.every((needId) => {
137
137
  const result = (input.completed ?? []).find((r) => r.nodeId === needId);
138
138
  if (result === void 0) return false;
@@ -13,4 +13,4 @@ declare const BacklogService_base: Context.ServiceClass<BacklogService, "Backlog
13
13
  }>;
14
14
  declare class BacklogService extends BacklogService_base {}
15
15
  //#endregion
16
- export { BacklogService };
16
+ export { BacklogCommandError, BacklogService };
@@ -21,4 +21,4 @@ const BacklogServiceLive = Layer.succeed(BacklogService, { run: (args, cwd) => E
21
21
  try: () => execa("backlog", [...args], { cwd })
22
22
  }).pipe(Effect.map((result) => result.stdout)) });
23
23
  //#endregion
24
- export { BacklogService, BacklogServiceLive };
24
+ export { BacklogCommandError, BacklogService, BacklogServiceLive };
@@ -1,9 +1,9 @@
1
1
  import { Context, Effect, Layer } from "effect";
2
- import simpleGit$1 from "simple-git";
2
+ import simpleGit from "simple-git";
3
3
  //#region src/runtime/services/drain-merge-git-service.ts
4
4
  var DrainMergeGitService = class extends Context.Service()("DrainMergeGitService") {};
5
5
  const DrainMergeGitServiceLive = Layer.succeed(DrainMergeGitService, { create: (baseDir) => Effect.sync(() => {
6
- const git = simpleGit$1({ baseDir });
6
+ const git = simpleGit({ baseDir });
7
7
  return { raw: (args) => Effect.tryPromise(() => git.raw(args)) };
8
8
  }) });
9
9
  //#endregion
@@ -100,4 +100,4 @@ function kubectlErrorStdout(error) {
100
100
  return (error.stdout || "").trim();
101
101
  }
102
102
  //#endregion
103
- export { KubernetesArgoService, KubernetesArgoServiceLive };
103
+ export { KubernetesArgoService, KubernetesArgoServiceLive, resolveKubeConfig };
@@ -17,4 +17,4 @@ Layer.succeed(RunJournalFileService, {
17
17
  })
18
18
  });
19
19
  //#endregion
20
- export {};
20
+ export { RunJournalFileService };
@@ -127,4 +127,4 @@ function storeError(path, message) {
127
127
  });
128
128
  }
129
129
  //#endregion
130
- export { loadBacklogTaskStoreEffect };
130
+ export { BacklogTaskStoreError, loadBacklogTaskStoreEffect };
@@ -93,4 +93,4 @@ function errorMessage(error) {
93
93
  return error instanceof Error ? error.message : String(error);
94
94
  }
95
95
  //#endregion
96
- export { backlogTicketCompletionStoreEffect, completeTicket, conservativeLayerAJudge };
96
+ export { TicketCompletionError, backlogTicketCompletionStoreEffect, completeTicket, conservativeLayerAJudge };
@@ -21,7 +21,7 @@ function sequenceTicketBatchesEffect(graph, ticketIds = dependencyGraphNodeIds(g
21
21
  function scopedTicketIds(graph, rootId) {
22
22
  if (!rootId) return dependencyGraphNodeIds(graph.dependencyGraph).sort(compareTaskIds);
23
23
  if (!dependencyGraphHasNode(graph.dependencyGraph, rootId)) return [];
24
- const ids = new Set([rootId]);
24
+ const ids = /* @__PURE__ */ new Set([rootId]);
25
25
  const visit = (id) => {
26
26
  for (const child of graph.childrenByParentId.get(id) ?? []) {
27
27
  ids.add(child.id);
@@ -71,4 +71,4 @@ function compareTasks(a, b) {
71
71
  return compareBacklogTasks(a, b);
72
72
  }
73
73
  //#endregion
74
- export { buildTicketGraphEffect, compareTaskIds, predecessorIds, scopedTicketIds, sequenceTicketBatchesEffect };
74
+ export { TicketGraphError, buildTicketGraphEffect, compareTaskIds, predecessorIds, scopedTicketIds, sequenceTicketBatchesEffect };
@@ -41,4 +41,4 @@ declare const ticketPlanSchema: z.ZodObject<{
41
41
  }, z.core.$strict>;
42
42
  type TicketPlan = z.output<typeof ticketPlanSchema>;
43
43
  //#endregion
44
- export { TicketPlan };
44
+ export { TicketPlan, ticketPlanSchema };
package/package.json CHANGED
@@ -32,6 +32,8 @@
32
32
  "devDependencies": {
33
33
  "@biomejs/biome": "2.4.15",
34
34
  "@effect/vitest": "^4.0.0-beta.90",
35
+ "@mpsuesser/oxlint-plugin-effect": "0.3.0",
36
+ "@oisin-ee/oxlint-config": "1.0.0",
35
37
  "@semantic-release/commit-analyzer": "^13.0.1",
36
38
  "@semantic-release/exec": "^7.1.0",
37
39
  "@semantic-release/github": "^12.0.8",
@@ -42,6 +44,9 @@
42
44
  "@typescript/native-preview": "7.0.0-dev.20260629.1",
43
45
  "drizzle-kit": "0.31.10",
44
46
  "jscpd": "^4.0.5",
47
+ "oxfmt": "^0.56.0",
48
+ "oxlint": "^1.71.0",
49
+ "oxlint-tsgolint": "^0.23.0",
45
50
  "semantic-release": "^25.0.3",
46
51
  "tsdown": "^0.22.0",
47
52
  "typescript": "rc",
@@ -132,7 +137,7 @@
132
137
  "prepack": "nub run build:cli"
133
138
  },
134
139
  "type": "module",
135
- "version": "3.19.5",
140
+ "version": "3.19.6",
136
141
  "description": "Config-driven multi-agent pipeline runner for repository work",
137
142
  "main": "./dist/index.js",
138
143
  "types": "./dist/index.d.ts",