opencode-swarm 7.164.4 → 7.164.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 (91) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +12 -12
  2. package/dist/background/pending-delegations.d.ts +9 -2
  3. package/dist/background/pr-review-contract.d.ts +9 -0
  4. package/dist/cli/{coder-settlement-zzy2egsx.js → coder-settlement-6qgvzx40.js} +11 -11
  5. package/dist/cli/{config-doctor-62xd5far.js → config-doctor-d1cbh67h.js} +2 -2
  6. package/dist/cli/{core-7kdmc7h9.js → core-g0cvvj3b.js} +1 -1
  7. package/dist/cli/{curation-policy-913dnxqq.js → curation-policy-7f8x9yg6.js} +6 -6
  8. package/dist/cli/{curator-drift-3s3q4wsy.js → curator-drift-0r0scc8r.js} +4 -4
  9. package/dist/cli/curator-llm-factory-dw7md4nr.js +66 -0
  10. package/dist/cli/{curator-4s6ekk85.js → curator-q3qn89wn.js} +34 -34
  11. package/dist/cli/{evidence-summary-service-gw936xgz.js → evidence-summary-service-3meyb8rc.js} +15 -15
  12. package/dist/cli/{gate-evidence-4we18rhr.js → gate-evidence-mhc0w7vp.js} +7 -7
  13. package/dist/cli/guardrail-explain-6cbszhw1.js +67 -0
  14. package/dist/cli/{guardrail-log-9d4f09qt.js → guardrail-log-0nd1eqvz.js} +7 -7
  15. package/dist/cli/{guardrail-reset-1hpd6bkj.js → guardrail-reset-mzeyd6jh.js} +34 -34
  16. package/dist/cli/{hive-promoter-nr8dsxhe.js → hive-promoter-w7g879cm.js} +34 -34
  17. package/dist/cli/{index-pztdbtgw.js → index-12xzj0hm.js} +3 -3
  18. package/dist/cli/{index-k1m9214q.js → index-1dz8hv7p.js} +3 -3
  19. package/dist/cli/{index-rz87mx1c.js → index-2c3np82d.js} +1 -1
  20. package/dist/cli/{index-08e6x59x.js → index-4k16cz8r.js} +7 -7
  21. package/dist/cli/{index-4tgtbptw.js → index-59hvr3f4.js} +4 -4
  22. package/dist/cli/{index-wzmchqry.js → index-5p1tzpwh.js} +31 -52
  23. package/dist/cli/{index-x63jqvj3.js → index-6f9yvd67.js} +2 -2
  24. package/dist/cli/{index-x9ayhkkx.js → index-7v3bb0h3.js} +1 -1
  25. package/dist/cli/{index-qkwx4rrc.js → index-935ww10s.js} +185 -102
  26. package/dist/cli/{index-jba9jgse.js → index-9qvmsyab.js} +2 -2
  27. package/dist/cli/{index-nwpg81ke.js → index-ay9cr8tr.js} +1 -1
  28. package/dist/cli/{index-xj4kbtdw.js → index-b0m3efpf.js} +2 -2
  29. package/dist/cli/{index-tfa2p4y4.js → index-cyhw0der.js} +1 -1
  30. package/dist/cli/{index-vx28633q.js → index-ew99d4y6.js} +75 -23
  31. package/dist/cli/{index-gt6p21cs.js → index-fxxja498.js} +1 -1
  32. package/dist/cli/{index-0m94jsss.js → index-g5714mpv.js} +5 -5
  33. package/dist/cli/{index-ne38vr77.js → index-g94qqwnz.js} +2 -2
  34. package/dist/cli/{index-7zbk1e24.js → index-gwg7a00b.js} +9 -9
  35. package/dist/cli/{index-v7a8e7rv.js → index-hdapetg1.js} +2 -2
  36. package/dist/cli/{index-q9yz8da4.js → index-j3hsjynw.js} +5 -5
  37. package/dist/cli/{index-yx3xqb0w.js → index-j645xpsm.js} +3 -3
  38. package/dist/cli/{index-t2tqbq62.js → index-jzvrvdmr.js} +4 -4
  39. package/dist/cli/{index-k8vy89vm.js → index-kvb4dwgf.js} +1 -1
  40. package/dist/cli/{index-stj85yx1.js → index-p56xc59p.js} +2 -2
  41. package/dist/cli/{index-z408nj03.js → index-pvp5tnn2.js} +2 -2
  42. package/dist/cli/{index-cf54ftj1.js → index-qdbgc16x.js} +40 -7
  43. package/dist/cli/{index-eh2k07pp.js → index-rysxqae0.js} +7 -7
  44. package/dist/cli/{index-8fjx6k2s.js → index-t1nkr7cz.js} +1 -1
  45. package/dist/cli/{index-qfrrcdhj.js → index-tegp2mny.js} +1 -1
  46. package/dist/cli/{index-a0jhxx5q.js → index-ty3vtqe2.js} +12 -4
  47. package/dist/cli/{index-prammvxb.js → index-x6zyc38w.js} +1 -1
  48. package/dist/cli/{index-vzs3st30.js → index-x76mprg2.js} +10 -10
  49. package/dist/cli/{index-et9y4ga8.js → index-y4z0rhsa.js} +36 -36
  50. package/dist/cli/{index-1f4nandk.js → index-yh8wxegw.js} +1 -1
  51. package/dist/cli/{index-5k226hxp.js → index-ze5zyv28.js} +2 -2
  52. package/dist/cli/{index-tme2kjvq.js → index-zfwd65c2.js} +5 -5
  53. package/dist/cli/{index-0zbze3n6.js → index-zjg5ajf5.js} +1 -1
  54. package/dist/cli/{index-xjw7j7et.js → index-zypacgjc.js} +5 -5
  55. package/dist/cli/index.js +34 -34
  56. package/dist/cli/{knowledge-escalator-hp1ctjpe.js → knowledge-escalator-aca0nhqg.js} +13 -13
  57. package/dist/cli/{knowledge-events-0qrenmng.js → knowledge-events-n5t313ht.js} +11 -11
  58. package/dist/cli/{knowledge-link-f5g5d171.js → knowledge-link-8ea4ksda.js} +5 -5
  59. package/dist/cli/{knowledge-store-8er824g9.js → knowledge-store-j97ejf6a.js} +6 -6
  60. package/dist/cli/{knowledge-validator-0jd3htcj.js → knowledge-validator-01evhydg.js} +8 -8
  61. package/dist/cli/{pending-delegations-d1n5faxg.js → pending-delegations-w73abdk3.js} +6 -6
  62. package/dist/cli/{pr-subscriptions-s2b2yvbd.js → pr-subscriptions-05dzvavk.js} +6 -6
  63. package/dist/cli/{pr-workflow-gate-51s842yy.js → pr-workflow-gate-t0tnkx5f.js} +36 -34
  64. package/dist/cli/{runner-nkh65pcm.js → runner-fh7t0mn9.js} +6 -6
  65. package/dist/cli/{scan-cursor-gt55f3d6.js → scan-cursor-63zx2qd8.js} +7 -7
  66. package/dist/cli/{schema-rpdz901j.js → schema-t1scx08g.js} +5 -1
  67. package/dist/cli/{scope-persistence-js1ywq04.js → scope-persistence-1a5qmchf.js} +9 -9
  68. package/dist/cli/{skill-generator-xsxes2w0.js → skill-generator-7werbwgv.js} +15 -15
  69. package/dist/cli/{telemetry-9tfts5q2.js → telemetry-j14cj552.js} +1 -1
  70. package/dist/cli/{worktree-collision-ownership-54ca6mb8.js → worktree-collision-ownership-wzdzky33.js} +7 -7
  71. package/dist/cli/{worktree-isolation-haesnft8.js → worktree-isolation-m02ay3kg.js} +34 -34
  72. package/dist/config/index.d.ts +3 -3
  73. package/dist/config/loader.d.ts +34 -1
  74. package/dist/config/schema.d.ts +61 -7
  75. package/dist/hooks/delegation-gate.d.ts +3 -1
  76. package/dist/hooks/pr-workflow-gate.d.ts +10 -2
  77. package/dist/index.js +80 -77
  78. package/dist/pr-review/authorization.d.ts +13 -3
  79. package/dist/tools/authorize-pr-review-reentry.d.ts +5 -4
  80. package/dist/tools/build-check.d.ts +8 -0
  81. package/dist/tools/dispatch-lanes.d.ts +1 -0
  82. package/dist/tools/placeholder-scan.d.ts +10 -1
  83. package/dist/tools/pr-workflow-status.d.ts +2 -0
  84. package/dist/tools/pre-check-batch.d.ts +20 -8
  85. package/dist/tools/quality-budget.d.ts +2 -0
  86. package/dist/tools/sast-scan.d.ts +10 -2
  87. package/dist/tools/sbom-generate.d.ts +14 -0
  88. package/dist/tools/syntax-check.d.ts +11 -3
  89. package/package.json +1 -1
  90. package/dist/cli/curator-llm-factory-q3t3r632.js +0 -66
  91. package/dist/cli/guardrail-explain-jjbnrcqn.js +0 -67
@@ -322,14 +322,44 @@ export declare const QualityBudgetConfigSchema: z.ZodObject<{
322
322
  exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
323
323
  }, z.core.$strip>;
324
324
  export type QualityBudgetConfig = z.infer<typeof QualityBudgetConfigSchema>;
325
- export declare const GATE_CONFIG_KNOWN_SECTION_KEYS: {
326
- readonly syntax_check: readonly ["enabled"];
327
- readonly placeholder_scan: readonly ["enabled", "deny_patterns", "allow_globs", "max_allowed_findings"];
328
- readonly sast_scan: readonly ["enabled"];
329
- readonly sbom_generate: readonly ["enabled"];
330
- readonly build_check: readonly ["enabled"];
331
- readonly quality_budget: readonly ["enabled", "max_complexity_delta", "max_public_api_delta", "max_duplication_ratio", "min_test_to_code_ratio", "enforce_on_globs", "exclude_globs"];
325
+ /**
326
+ * Single source of truth for gate sections (issue #2524): `GateConfigSchema` is
327
+ * built from this map and `GATE_CONFIG_KNOWN_SECTION_KEYS` is derived from it,
328
+ * so the loader's strip registry can never drift from the schema. The previous
329
+ * hand-maintained copy omitted `placeholder_scan.sentinel_allowlist`, which
330
+ * made the loader strip a real schema key as "unknown".
331
+ */
332
+ export declare const GATE_SECTION_SCHEMAS: {
333
+ readonly syntax_check: z.ZodObject<{
334
+ enabled: z.ZodDefault<z.ZodBoolean>;
335
+ }, z.core.$strip>;
336
+ readonly placeholder_scan: z.ZodObject<{
337
+ enabled: z.ZodDefault<z.ZodBoolean>;
338
+ deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
339
+ allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
340
+ max_allowed_findings: z.ZodDefault<z.ZodNumber>;
341
+ sentinel_allowlist: z.ZodDefault<z.ZodArray<z.ZodString>>;
342
+ }, z.core.$strip>;
343
+ readonly sast_scan: z.ZodObject<{
344
+ enabled: z.ZodDefault<z.ZodBoolean>;
345
+ }, z.core.$strip>;
346
+ readonly sbom_generate: z.ZodObject<{
347
+ enabled: z.ZodDefault<z.ZodBoolean>;
348
+ }, z.core.$strip>;
349
+ readonly build_check: z.ZodObject<{
350
+ enabled: z.ZodDefault<z.ZodBoolean>;
351
+ }, z.core.$strip>;
352
+ readonly quality_budget: z.ZodObject<{
353
+ enabled: z.ZodDefault<z.ZodBoolean>;
354
+ max_complexity_delta: z.ZodDefault<z.ZodNumber>;
355
+ max_public_api_delta: z.ZodDefault<z.ZodNumber>;
356
+ max_duplication_ratio: z.ZodDefault<z.ZodNumber>;
357
+ min_test_to_code_ratio: z.ZodDefault<z.ZodNumber>;
358
+ enforce_on_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
359
+ exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
360
+ }, z.core.$strip>;
332
361
  };
362
+ export type GateSectionName = keyof typeof GATE_SECTION_SCHEMAS;
333
363
  export declare const GateConfigSchema: z.ZodObject<{
334
364
  syntax_check: z.ZodDefault<z.ZodObject<{
335
365
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -361,6 +391,30 @@ export declare const GateConfigSchema: z.ZodObject<{
361
391
  }, z.core.$strip>>;
362
392
  }, z.core.$strip>;
363
393
  export type GateConfig = z.infer<typeof GateConfigSchema>;
394
+ /**
395
+ * Per-section field keys, derived from `GATE_SECTION_SCHEMAS`. Consumed by
396
+ * `sanitizeGatesConfig` (config loader) and `collectRawGatesConfigFindings`
397
+ * (config doctor) to decide which `gates.*` keys are recognized.
398
+ */
399
+ export declare const GATE_CONFIG_KNOWN_SECTION_KEYS: Record<GateSectionName, readonly string[]>;
400
+ /**
401
+ * Only the gate keys a user actually wrote. Zod materializes every `.default()`
402
+ * on parse, so the parsed `config.gates` always carries full default lists once
403
+ * any `gates` object exists; tools must not mistake those for user intent
404
+ * (e.g. placeholder_scan treats any provided `deny_patterns` list as custom
405
+ * patterns and disables its built-in string/code scanning). The loader exposes
406
+ * the post-sanitize raw section as this shape — see `loadGateOverrides`.
407
+ */
408
+ export type GateConfigOverrides = {
409
+ [K in GateSectionName]?: Partial<z.infer<(typeof GATE_SECTION_SCHEMAS)[K]>>;
410
+ };
411
+ /**
412
+ * Drift-check contract (issue #2524): every `GateConfigSchema` section must
413
+ * list the production modules that read it. `scripts/drift-check-gates-docs.ts`
414
+ * enforces key parity with the schema; the gates-config-wiring tests prove the
415
+ * wiring dynamically through the registered tool objects.
416
+ */
417
+ export declare const GATE_CONFIG_READERS: Record<GateSectionName, readonly string[]>;
364
418
  export declare const PipelineConfigSchema: z.ZodObject<{
365
419
  parallel_precheck: z.ZodDefault<z.ZodBoolean>;
366
420
  }, z.core.$strip>;
@@ -476,7 +476,9 @@ declare function buildParallelExecutionGuidance(directory: string | undefined, s
476
476
  * agents are dispatched for different tasks from the same architect session.
477
477
  * Issue #970.
478
478
  */
479
- declare function resolveEvidenceTaskId(args: Record<string, unknown> | undefined, session: AgentSessionState, directory: string): Promise<string | null>;
479
+ declare function resolveEvidenceTaskId(args: Record<string, unknown> | undefined, session: AgentSessionState, directory: string, options?: {
480
+ allowSessionFallback?: boolean;
481
+ }): Promise<string | null>;
480
482
  /**
481
483
  * _internals export for testing — do not use in production code.
482
484
  * Exposes resolveEvidenceTaskId, resolveDelegatedPlanTaskId,
@@ -603,8 +603,8 @@ export type SubmitPrReviewResultOutcome = {
603
603
  * lock and terminalization takes the same inner lock.
604
604
  */
605
605
  export declare function submitPrReviewResult(directory: string, childSessionId: string, input: {
606
- batchId: string;
607
- laneId: string;
606
+ batchId?: string;
607
+ laneId?: string;
608
608
  revisionDigest: string;
609
609
  result: PrReviewLaneResultEnvelope;
610
610
  }): Promise<SubmitPrReviewResultOutcome>;
@@ -1272,6 +1272,14 @@ export declare function enforcePrWorkflowToolBefore(directory: string, sessionID
1272
1272
  * head-bound PR_REVIEW gate exists for the session.
1273
1273
  */
1274
1274
  export declare function readPrReviewReentryBindingContext(directory: string, sessionID: string): Promise<PrReviewReentryBindingContext | null>;
1275
+ /**
1276
+ * Read-only admission check for direct PR-review re-entry. It deliberately
1277
+ * does not consume the token: the delegation gate performs the one-use
1278
+ * reservation only after its own Task acceptance checks have passed.
1279
+ */
1280
+ export declare function hasActivePrReviewReentryAuthorization(directory: string, sessionID: string, request: {
1281
+ role: PrReviewReentryRole;
1282
+ }): Promise<boolean>;
1275
1283
  /**
1276
1284
  * Sole production reservation/verification path for direct PR-review re-entry.
1277
1285
  * Lock order is fixed: workflow-session first, authorization store second. The