opencode-swarm 7.185.1 → 7.186.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 (74) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/background/pr-feedback-event-queue.d.ts +3 -2
  4. package/dist/background/pr-feedback-loop-runtime.d.ts +4 -1
  5. package/dist/background/pr-feedback-loop.d.ts +2 -1
  6. package/dist/background/pr-monitor-worker.d.ts +9 -1
  7. package/dist/background/pr-subscriptions.d.ts +23 -0
  8. package/dist/cli/{auto-checkpoint-2jecngee.js → auto-checkpoint-wd99h2bt.js} +4 -4
  9. package/dist/cli/{checkpoint-qm05wdbh.js → checkpoint-kjzwsxw2.js} +8 -8
  10. package/dist/cli/{coder-settlement-56prayae.js → coder-settlement-kp3ph56n.js} +3 -3
  11. package/dist/cli/{config-doctor-3b99vx74.js → config-doctor-28ggsms8.js} +2 -2
  12. package/dist/cli/{core-cxnqsrxp.js → core-pj2fz34e.js} +1 -1
  13. package/dist/cli/{curator-drift-dt4g79a4.js → curator-drift-q84jn9cc.js} +5 -5
  14. package/dist/cli/{curator-llm-factory-hkk29g2y.js → curator-llm-factory-13h02244.js} +25 -25
  15. package/dist/cli/{curator-5k3mktpe.js → curator-r0jfc7xw.js} +25 -25
  16. package/dist/cli/{evidence-summary-service-8e2fghz0.js → evidence-summary-service-rsectw2t.js} +9 -9
  17. package/dist/cli/{gate-evidence-vk8rebsx.js → gate-evidence-mpwhcm2s.js} +2 -2
  18. package/dist/cli/{guardrail-explain-ma658hkw.js → guardrail-explain-njv3pnsw.js} +26 -26
  19. package/dist/cli/{guardrail-log-m6mydjet.js → guardrail-log-r8zmh4rd.js} +3 -3
  20. package/dist/cli/{guardrail-reset-w41yndke.js → guardrail-reset-11cvwgbe.js} +25 -25
  21. package/dist/cli/{hive-promoter-400xzdds.js → hive-promoter-0vg8w79a.js} +25 -25
  22. package/dist/cli/{index-ek5gvpvm.js → index-151bdyf9.js} +3 -3
  23. package/dist/cli/{index-rtznwf0g.js → index-22f1ek6k.js} +25 -25
  24. package/dist/cli/{index-r9zc92pb.js → index-4dwhfbed.js} +27 -27
  25. package/dist/cli/{index-ss6b8jpz.js → index-4fd28s8v.js} +1 -1
  26. package/dist/cli/{index-ycqsnfd1.js → index-5pa0e0k3.js} +1 -1
  27. package/dist/cli/{index-07bk0zm9.js → index-6bfcsczm.js} +1 -1
  28. package/dist/cli/{index-2b3bgm20.js → index-6ndc8cmn.js} +1 -1
  29. package/dist/cli/{index-5n08z6qj.js → index-7xt5m1cz.js} +5 -5
  30. package/dist/cli/{index-nw16apxs.js → index-9th8npp7.js} +1 -1
  31. package/dist/cli/{index-dz5cbkrm.js → index-9y6cyc7z.js} +3 -3
  32. package/dist/cli/{index-ekyg4p8b.js → index-a1tpq5zr.js} +1 -1
  33. package/dist/cli/{index-nhw5rt5x.js → index-a6h5arqs.js} +3 -3
  34. package/dist/cli/{index-pa6fzbms.js → index-amamkcpy.js} +1 -1
  35. package/dist/cli/{index-dryhmaft.js → index-bajvxmnb.js} +2 -2
  36. package/dist/cli/{index-hgfkcb1q.js → index-bgpq7wn2.js} +754 -565
  37. package/dist/cli/{index-7jt24hpz.js → index-d7mcdyqb.js} +2 -2
  38. package/dist/cli/{index-cnbpht7m.js → index-fp4hxcsy.js} +1 -1
  39. package/dist/cli/{index-s7va6n84.js → index-hvmfa7m8.js} +1 -1
  40. package/dist/cli/{index-cp2nerjd.js → index-j972ags2.js} +38 -15
  41. package/dist/cli/{index-9h93zjm3.js → index-jxd67x6z.js} +1 -1
  42. package/dist/cli/{index-zt3taseq.js → index-kv3n7g8w.js} +1 -1
  43. package/dist/cli/{index-7n3h39h9.js → index-m94gfe82.js} +4 -4
  44. package/dist/cli/{index-m1bhg85z.js → index-nxjm66qb.js} +2 -2
  45. package/dist/cli/{index-fa014mra.js → index-p6bvzgp2.js} +3 -3
  46. package/dist/cli/{index-2c6e1p7j.js → index-p9m1nhds.js} +1 -1
  47. package/dist/cli/{index-rr1dggfe.js → index-qyjyd3ej.js} +1 -1
  48. package/dist/cli/{index-6wqv8f7d.js → index-vk3ngryj.js} +1 -1
  49. package/dist/cli/{index-ppj5bjaq.js → index-w2b8qq6d.js} +3 -3
  50. package/dist/cli/{index-pppjg0ct.js → index-wkv1qdb0.js} +13 -15
  51. package/dist/cli/{index-smwybqka.js → index-wmazt588.js} +1 -1
  52. package/dist/cli/index.js +26 -26
  53. package/dist/cli/{knowledge-escalator-30bb9fyg.js → knowledge-escalator-7xcd0zea.js} +6 -6
  54. package/dist/cli/{knowledge-events-gfbx97x0.js → knowledge-events-e4ts8y2v.js} +4 -4
  55. package/dist/cli/{knowledge-store-2ssd489f.js → knowledge-store-mmeqmjwj.js} +1 -1
  56. package/dist/cli/{knowledge-validator-7bxvezgv.js → knowledge-validator-w2ttgxyj.js} +2 -2
  57. package/dist/cli/{mcp-apr65eya.js → mcp-5dmm4fk2.js} +1 -1
  58. package/dist/cli/{model-preflight-g7b12yn2.js → model-preflight-kap3zp3g.js} +25 -25
  59. package/dist/cli/{pending-delegations-x8q7cxr7.js → pending-delegations-q3sj608s.js} +2 -2
  60. package/dist/cli/{pr-subscriptions-qwr6ybcb.js → pr-subscriptions-qw4wjv66.js} +4 -2
  61. package/dist/cli/{pr-workflow-gate-qd5tfkak.js → pr-workflow-gate-tdj50p2g.js} +25 -25
  62. package/dist/cli/{scan-cursor-1m6dj2s2.js → scan-cursor-fgecb928.js} +2 -2
  63. package/dist/cli/{schema-yvhamv41.js → schema-zrcgm9d9.js} +1 -1
  64. package/dist/cli/{scope-persistence-xdedbzdg.js → scope-persistence-08xd3kyb.js} +5 -5
  65. package/dist/cli/{server-nhdkvdt2.js → server-kng2nggc.js} +25 -25
  66. package/dist/cli/{skill-generator-fzvp9m8z.js → skill-generator-dztn1ctf.js} +7 -7
  67. package/dist/cli/{snapshot-coordination-init-xqxek8kn.js → snapshot-coordination-init-5q0hac3d.js} +25 -25
  68. package/dist/cli/{speckit-checkoff-57tf4079.js → speckit-checkoff-hhsy83m9.js} +3 -3
  69. package/dist/cli/{worktree-collision-ownership-80n814a8.js → worktree-collision-ownership-e2cqcmnw.js} +2 -2
  70. package/dist/cli/{worktree-isolation-kaxkr61t.js → worktree-isolation-refd2n16.js} +25 -25
  71. package/dist/git/pr.d.ts +73 -0
  72. package/dist/hooks/pr-workflow-gate.d.ts +2 -0
  73. package/dist/index.js +34 -34
  74. package/package.json +1 -1
package/dist/git/pr.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as child_process from 'node:child_process';
2
2
  import { resolveGhExecutable } from '../utils/gh-executable.js';
3
3
  import { resolveGitExecutable } from '../utils/git-executable.js';
4
+ import { resolveGlabExecutable } from '../utils/glab-executable.js';
4
5
  import { readLaneEnvFileFromDiskSync } from './branch.js';
5
6
  export declare const GIT_TIMEOUT_MS = 30000;
6
7
  /**
@@ -60,6 +61,21 @@ declare function spawnSyncWithTransientRetry(command: string, args: string[], op
60
61
  * stdin: 'ignore', timeout, bounded stdout/stderr, proc.kill() in finally.
61
62
  */
62
63
  export declare function ghExecAsync(args: string[], cwd: string): Promise<string>;
64
+ /**
65
+ * Bounded async spawn shared by the gh and glab (GitLab) fetch paths
66
+ * (issue #2882). Same safety contract as the pre-#2882 ghExecAsync body:
67
+ * array-form argv, explicit cwd, stdin 'ignore', GIT_TIMEOUT_MS timeout,
68
+ * MAX_OUTPUT_BYTES per-stream caps, best-effort proc.kill() on settle.
69
+ *
70
+ * `label` names the CLI in error messages ('gh' / 'glab') so existing
71
+ * GitHub-path error text is unchanged. `opts.env` is an overlay merged onto
72
+ * process.env via mergeEnvForChild ONLY when defined — an absent overlay
73
+ * leaves the spawn options without an `env` key, preserving the inherit-
74
+ * process.env behavior the gh path has always had.
75
+ */
76
+ declare function forgeExecAsyncImpl(binary: string, args: string[], cwd: string, label: string, opts?: {
77
+ env?: Record<string, string>;
78
+ }): Promise<string>;
63
79
  /**
64
80
  * Test-only dependency-injection seam — see `gitignore-warning.ts:_internals`.
65
81
  * Production code calls `_internals.ghExec(...)` so tests can replace the
@@ -68,12 +84,16 @@ export declare function ghExecAsync(args: string[], cwd: string): Promise<string
68
84
  export declare const _internals: {
69
85
  ghExec: typeof ghExec;
70
86
  ghExecAsync: typeof ghExecAsync;
87
+ forgeExecAsync: typeof forgeExecAsyncImpl;
88
+ getMRPollSnapshot: typeof getMRPollSnapshot;
89
+ getMRComments: typeof getMRComments;
71
90
  spawnSyncWithTransientRetry: typeof spawnSyncWithTransientRetry;
72
91
  spawnSync: typeof __spawnSyncSeam.spawnSync;
73
92
  readLaneEnvFileFromDiskSync: typeof readLaneEnvFileFromDiskSync;
74
93
  getMergeGroupRun: typeof getMergeGroupRun;
75
94
  resolveGhExecutable: typeof resolveGhExecutable;
76
95
  resolveGitExecutable: typeof resolveGitExecutable;
96
+ resolveGlabExecutable: typeof resolveGlabExecutable;
77
97
  };
78
98
  /**
79
99
  * Check if gh CLI is available
@@ -160,6 +180,59 @@ export declare function getPRPollSnapshot(prNumber: number, repoFullName: string
160
180
  * equivalent, so this stays the second spawn of the poll cycle.
161
181
  */
162
182
  export declare function getPRReviewComments(prNumber: number, repoFullName: string, cwd: string): Promise<PRCommentResult[]>;
183
+ /**
184
+ * Honest-unavailable marker for the three GitHub-synthesized fields
185
+ * (statusCheckRollup / reviewDecision / mergeStateStatus). `getProviderCapabilities`
186
+ * is the source of truth: GitLab reports all three unavailable, so the glab-backed
187
+ * snapshot carries explicit markers instead of fabricated equivalents (#2733 AC7).
188
+ */
189
+ export declare const MR_SYNTHESIZED_FIELD_MARKER = "NOT_AVAILABLE";
190
+ /** Input for glab-backed MR fetches. `host` is the resolved forge host. */
191
+ export interface MRFetchInput {
192
+ /** Full project path (may be multi-segment: group/subgroup/repo). */
193
+ projectPath: string;
194
+ /** Merge request iid (the subscription's prNumber). */
195
+ iid: number;
196
+ cwd: string;
197
+ /** Forge host; when present and not gitlab.com, spawns get GITLAB_HOST. */
198
+ host?: string;
199
+ }
200
+ /** Check-shaped entry derived from a real GitLab pipeline (NOT a statusCheckRollup member). */
201
+ export interface MRPipelineCheck {
202
+ name: string;
203
+ status: string;
204
+ conclusion: string | null;
205
+ detailsUrl?: string;
206
+ }
207
+ /** glab-backed MR snapshot: PRPollSnapshot-compatible core plus a pipelines channel. */
208
+ export interface MRPollSnapshot {
209
+ status: PRStatusResult;
210
+ comments: PRCommentResult[];
211
+ merge: MergeStateResult;
212
+ review: ReviewStateResult;
213
+ /** Terminal pipeline verdicts for the MR head sha (empty when none terminal yet). */
214
+ pipelines: MRPipelineCheck[];
215
+ /** False when the pipelines fetch failed — caller preserves prior CI state. */
216
+ pipelinesFetchSucceeded: boolean;
217
+ }
218
+ /**
219
+ * glab-backed MR snapshot (issue #2882): three bounded spawns.
220
+ * 1. `glab mr view <iid> -R <projectPath> -F json` — MR fields.
221
+ * 2. `glab api projects/<url-encoded-path>/merge_requests/<iid>` — REST
222
+ * detail (deprecated-but-present merge_status; the issue prescribes this
223
+ * call for merge state). Approvals on this payload are intentionally NOT
224
+ * consumed: no existing event vocabulary maps to GitLab approvals without
225
+ * fabricating the GitHub-synthesized reviewDecision (#2733 AC7 binding).
226
+ * 3. `glab api .../merge_requests/<iid>/pipelines?per_page=20` — pipelines
227
+ * for the MR, filtered to the head sha, latest by id, terminal-only.
228
+ */
229
+ export declare function getMRPollSnapshot(input: MRFetchInput): Promise<MRPollSnapshot>;
230
+ /**
231
+ * glab-backed MR comments (issue #2882): the MR notes endpoint, ascending by
232
+ * creation time, system notes excluded (automation notes are not user
233
+ * comments). Bounded single page (per_page=100).
234
+ */
235
+ export declare function getMRComments(input: MRFetchInput): Promise<PRCommentResult[]>;
163
236
  /**
164
237
  * Result of fetching a GitHub Actions run for a PR's merge group.
165
238
  */
@@ -15,6 +15,7 @@ import { type PrReviewDimensionCancellationRecord, type PrReviewPartialBaseCover
15
15
  import { type CriticOutcome } from '../pr-review/finding-policy.js';
16
16
  import { type PrReviewComposablePhase, type PrReviewItemClaim, type PrReviewPhaseComposition, parseCriticVerdict } from '../pr-review/legacy-transcript-adapter.js';
17
17
  import { withPrWorkflowCheckoutMutationLock, workflowCheckoutMutationLockRelativePath, workflowGateStateLockRelativePath, workflowGateStateRelativePath } from '../pr-review/persistence.js';
18
+ import { type ForgeContext } from '../providers/forge-provider.js';
18
19
  import { classifyLaneLivenessCondition, type EffectivePrLaneHorizon, resolveEffectivePrLaneHorizonMs } from './lane-liveness-watchdog.js';
19
20
  export type { PrReviewDimensionCancellationRecord, PrReviewDimensionTerminalState, PrReviewPartialBaseCoverageRecord, PrReviewPartialBaseCoverageRecordV1, PrReviewPartialBaseCoverageRecordV2, PrReviewReportVerdict, PrReviewTerminalCoverageKind, PrReviewTerminalCoverageSettlement, PrReviewUnresolvedDimensionRecord, } from '../pr-review/completion.js';
20
21
  export { allowedPrReviewReportVerdicts, normalizePrReviewPartialBaseCoverageRecord, PR_REVIEW_REPORT_VERDICTS, readPrReviewTerminalCoverageForReport, rollbackPrReviewPartialBaseCoverageAdmission, } from '../pr-review/completion.js';
@@ -623,6 +624,7 @@ export declare function activatePrWorkflow(directory: string, sessionID: string,
623
624
  prHeadSha?: string;
624
625
  requireCheckoutPreflight?: boolean;
625
626
  prUrl?: string;
627
+ forge?: ForgeContext;
626
628
  }): Promise<PrWorkflowGateState>;
627
629
  /**
628
630
  * Issue #2601: append skill-contract advisories detected by the auto-resume