@oisincoveney/pipeline 1.22.2 → 1.22.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/config.d.ts CHANGED
@@ -371,8 +371,8 @@ declare const configSchema: z.ZodObject<{
371
371
  policy: z.ZodOptional<z.ZodObject<{
372
372
  commands: z.ZodOptional<z.ZodEnum<{
373
373
  allow: "allow";
374
- "trusted-only": "trusted-only";
375
374
  deny: "deny";
375
+ "trusted-only": "trusted-only";
376
376
  }>>;
377
377
  modules: z.ZodOptional<z.ZodEnum<{
378
378
  allow: "allow";
@@ -396,8 +396,8 @@ declare const configSchema: z.ZodObject<{
396
396
  }, z.core.$strict>>>;
397
397
  default_profile: z.ZodOptional<z.ZodString>;
398
398
  mode: z.ZodEnum<{
399
- hosted: "hosted";
400
399
  local: "local";
400
+ hosted: "hosted";
401
401
  }>;
402
402
  provider: z.ZodLiteral<"toolhive">;
403
403
  authorization_env: z.ZodDefault<z.ZodString>;
@@ -440,10 +440,10 @@ declare const configSchema: z.ZodObject<{
440
440
  }, z.core.$strict>>;
441
441
  output: z.ZodOptional<z.ZodObject<{
442
442
  format: z.ZodEnum<{
443
+ json_schema: "json_schema";
443
444
  text: "text";
444
445
  json: "json";
445
446
  jsonl: "jsonl";
446
- json_schema: "json_schema";
447
447
  }>;
448
448
  repair: z.ZodOptional<z.ZodObject<{
449
449
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -461,7 +461,6 @@ declare const configSchema: z.ZodObject<{
461
461
  skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
462
462
  timeout_ms: z.ZodOptional<z.ZodNumber>;
463
463
  tools: z.ZodOptional<z.ZodArray<z.ZodEnum<{
464
- task: "task";
465
464
  read: "read";
466
465
  list: "list";
467
466
  grep: "grep";
@@ -469,6 +468,7 @@ declare const configSchema: z.ZodObject<{
469
468
  bash: "bash";
470
469
  edit: "edit";
471
470
  write: "write";
471
+ task: "task";
472
472
  }>>>;
473
473
  }, z.core.$strict>>>;
474
474
  runner_job: z.ZodDefault<z.ZodObject<{
@@ -512,15 +512,14 @@ declare const configSchema: z.ZodObject<{
512
512
  disabled: "disabled";
513
513
  }>>>;
514
514
  output_formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
515
+ json_schema: "json_schema";
515
516
  text: "text";
516
517
  json: "json";
517
518
  jsonl: "jsonl";
518
- json_schema: "json_schema";
519
519
  }>>>;
520
520
  rules: z.ZodOptional<z.ZodBoolean>;
521
521
  skills: z.ZodOptional<z.ZodBoolean>;
522
522
  tools: z.ZodOptional<z.ZodArray<z.ZodEnum<{
523
- task: "task";
524
523
  read: "read";
525
524
  list: "list";
526
525
  grep: "grep";
@@ -528,15 +527,16 @@ declare const configSchema: z.ZodObject<{
528
527
  bash: "bash";
529
528
  edit: "edit";
530
529
  write: "write";
530
+ task: "task";
531
531
  }>>>;
532
532
  }, z.core.$strict>;
533
533
  command: z.ZodOptional<z.ZodString>;
534
534
  host_models: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
535
535
  model: z.ZodOptional<z.ZodString>;
536
536
  type: z.ZodEnum<{
537
+ opencode: "opencode";
537
538
  command: "command";
538
539
  codex: "codex";
539
- opencode: "opencode";
540
540
  }>;
541
541
  }, z.core.$strict>>>;
542
542
  scheduler: z.ZodDefault<z.ZodObject<{
package/dist/config.js CHANGED
@@ -112,6 +112,7 @@ const PACKAGE_DEFAULT_PROFILES_YAML = `version: 1
112
112
  mcp_gateway:
113
113
  provider: toolhive
114
114
  mode: local
115
+ url: https://pipeline-mcp.momokaya.ee/mcp/
115
116
  url_env: PIPELINE_MCP_GATEWAY_URL
116
117
  authorization_env: PIPELINE_MCP_GATEWAY_AUTHORIZATION
117
118
  default_profile: default
@@ -226,7 +227,7 @@ profiles:
226
227
  runner: opencode
227
228
  scheduling_roles: [implementation]
228
229
  description: Add focused failing tests for the requested behavior.
229
- instructions: { inline: "Add focused failing tests for the requested behavior only. Do not change production code. Return only valid JSON with top-level changes and verification. Every changes entry must include summary, why, and files. Include risks, followups, and lessons when present. Do not use Markdown fences or prose outside the JSON object." }
230
+ instructions: { inline: "Add focused failing tests for the requested behavior only. Do not change production code. Only edit files matching test paths such as **/*.test.*, **/*.spec.*, **/*_test.*, **/__tests__/**, test/**, or tests/**. Return only valid JSON with top-level changes and verification. Every changes entry must include summary, why, and files. Include risks, followups, and lessons when present. Do not use Markdown fences or prose outside the JSON object." }
230
231
  skills: [test]
231
232
  mcp_servers: [pipeline-gateway]
232
233
  tools: [read, list, grep, glob, bash, edit, write]
@@ -356,7 +357,7 @@ scheduler:
356
357
  green-implementation:
357
358
  category: green
358
359
  profile: pipeline-code-writer
359
- models: [kimi-for-coding/k2p6, opencode-go/qwen3.7-max, opencode-go/deepseek-v4-pro]
360
+ models: [opencode-go/qwen3.7-max, kimi-for-coding/k2p6, opencode-go/deepseek-v4-pro]
360
361
  verification:
361
362
  category: verification
362
363
  profile: pipeline-verifier
@@ -371,7 +372,7 @@ scheduler:
371
372
  research:
372
373
  category: research
373
374
  profile: pipeline-researcher
374
- models: [kimi-for-coding/k2p6, zai-coding-plan/glm-5.1, openai/gpt-5.5-fast]
375
+ models: [openai/gpt-5.5-fast, zai-coding-plan/glm-5.1, kimi-for-coding/k2p6]
375
376
  red-tests:
376
377
  category: red
377
378
  profile: pipeline-test-writer
@@ -383,7 +384,7 @@ scheduler:
383
384
  green-frontend:
384
385
  category: green
385
386
  profile: pipeline-code-writer
386
- models: [kimi-for-coding/k2p6, opencode-go/qwen3.7-max, opencode-go/deepseek-v4-pro]
387
+ models: [opencode-go/qwen3.7-max, kimi-for-coding/k2p6, opencode-go/deepseek-v4-pro]
387
388
  acceptance-review:
388
389
  category: acceptance
389
390
  profile: pipeline-acceptance-reviewer
package/dist/hooks.d.ts CHANGED
@@ -13,8 +13,8 @@ declare const hookResultSchema: z.ZodObject<{
13
13
  taskContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
14
  }, z.core.$strict>>;
15
15
  status: z.ZodEnum<{
16
- fail: "fail";
17
16
  pass: "pass";
17
+ fail: "fail";
18
18
  skip: "skip";
19
19
  }>;
20
20
  summary: z.ZodOptional<z.ZodString>;
@@ -181,6 +181,11 @@ function entrypointDispatchBlock(host, config, id, entrypoint) {
181
181
  "Use `oisin-pipeline run --schedule <schedule.yaml>` only when rerunning an existing schedule artifact."
182
182
  ].join("\n");
183
183
  }
184
+ function orchestratorEntrypointDispatchBlock(host, config) {
185
+ const scheduledEntrypoints = entrypointEntries(config).filter(([, entrypoint]) => !("workflow" in entrypoint));
186
+ if (scheduledEntrypoints.length === 0) return dispatchBlock(host, config);
187
+ return scheduledEntrypoints.map(([id, entrypoint]) => entrypointDispatchBlock(host, config, id, entrypoint)).filter((block) => Boolean(block)).join("\n\n");
188
+ }
184
189
  function nativeDispatchBlock(host, routes) {
185
190
  if (routes.length === 0) return;
186
191
  return [
@@ -396,7 +401,7 @@ function opencodeDefinitions(config, cwd) {
396
401
  "",
397
402
  orchestratorBlock(config),
398
403
  "",
399
- dispatchBlock("opencode", config)
404
+ orchestratorEntrypointDispatchBlock("opencode", config)
400
405
  ]).join("\n")),
401
406
  host: "opencode",
402
407
  invocation: invocationForHost("opencode"),
@@ -387,39 +387,10 @@ function executeBaselineWorkflow() {
387
387
  needs: ["research"],
388
388
  profile: "pipeline-test-writer"
389
389
  },
390
- {
391
- builtin: "test",
392
- id: "mechanical-red-tests",
393
- kind: "builtin",
394
- needs: ["red-tests"]
395
- },
396
- {
397
- builtin: "typecheck",
398
- id: "mechanical-red-typecheck",
399
- kind: "builtin",
400
- needs: ["red-tests"]
401
- },
402
- {
403
- builtin: "lint",
404
- id: "mechanical-red-lint",
405
- kind: "builtin",
406
- needs: ["red-tests"]
407
- },
408
- {
409
- builtin: "fallow",
410
- id: "mechanical-red-fallow",
411
- kind: "builtin",
412
- needs: ["red-tests"]
413
- },
414
390
  {
415
391
  id: "green-implementation",
416
392
  kind: "agent",
417
- needs: [
418
- "mechanical-red-tests",
419
- "mechanical-red-typecheck",
420
- "mechanical-red-lint",
421
- "mechanical-red-fallow"
422
- ],
393
+ needs: ["red-tests"],
423
394
  profile: "pipeline-code-writer"
424
395
  },
425
396
  {
@@ -631,6 +602,7 @@ function plannerPrompt(entrypointId, task, baseline, config, planningContext) {
631
602
  "Gate recipes:",
632
603
  "- Prefer preserving valid gates from the baseline workflows instead of recreating them.",
633
604
  "- RED/test coverage may use changed_files gates on test-writing nodes. A changed_files gate must include a changed_files object with allow and/or require_any glob arrays.",
605
+ "- Do not add blocking builtin test, lint, typecheck, or fallow nodes between RED test-writing nodes and GREEN implementation nodes. RED tests are expected to make checks fail until GREEN implementation fixes the behavior.",
634
606
  "- Acceptance coverage may use acceptance and verdict gates. Acceptance gates may use target: stdout and required: false.",
635
607
  "- Verification may use builtin typecheck, test, lint, fallow, semgrep, duplication, plus verdict gates.",
636
608
  "",
package/package.json CHANGED
@@ -111,7 +111,7 @@
111
111
  "prepack": "bun run build:cli"
112
112
  },
113
113
  "type": "module",
114
- "version": "1.22.2",
114
+ "version": "1.22.4",
115
115
  "description": "Config-driven multi-agent pipeline runner for repository work",
116
116
  "main": "./dist/index.js",
117
117
  "types": "./dist/index.d.ts",