opencode-swarm 7.126.1 → 7.126.3

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 (50) hide show
  1. package/.opencode/skills/engineering-conventions/SKILL.md +1 -1
  2. package/.opencode/skills/swarm-pr-feedback/SKILL.md +19 -5
  3. package/.opencode/skills/swarm-pr-review/SKILL.md +28 -7
  4. package/dist/background/pr-event-delivery.d.ts +1 -1
  5. package/dist/cli/{config-doctor-23jxdqwv.js → config-doctor-mfx27331.js} +2 -2
  6. package/dist/cli/{curation-policy-0t6hny6g.js → curation-policy-n944aq62.js} +2 -2
  7. package/dist/cli/{curator-g8rggzbk.js → curator-jm9ehfkg.js} +12 -12
  8. package/dist/cli/{curator-llm-factory-36psae60.js → curator-llm-factory-3cy0h9yw.js} +12 -12
  9. package/dist/cli/{guardrail-explain-6ffgrjx9.js → guardrail-explain-va0kj05m.js} +13 -13
  10. package/dist/cli/{guardrail-log-57sczn5h.js → guardrail-log-61gya05m.js} +3 -3
  11. package/dist/cli/{hive-promoter-c458rgp5.js → hive-promoter-h9c4kyv0.js} +12 -12
  12. package/dist/cli/{index-w0yztxgq.js → index-3xd9a2g7.js} +1 -1
  13. package/dist/cli/{index-y9t766sw.js → index-5n868tw8.js} +62 -46
  14. package/dist/cli/{index-x1w4cx3n.js → index-6t5sa6v0.js} +2 -2
  15. package/dist/cli/{index-k5xh81c9.js → index-7bxw3v5w.js} +3 -3
  16. package/dist/cli/{index-6j9p0c40.js → index-88dt7c9z.js} +2 -2
  17. package/dist/cli/{index-yf4kvhrn.js → index-b16153py.js} +14 -14
  18. package/dist/cli/{index-1p9z8cc4.js → index-bf76q8q7.js} +1 -1
  19. package/dist/cli/{index-vvwf9ark.js → index-c48dvb6j.js} +2 -2
  20. package/dist/cli/{index-nkhp7j16.js → index-f97dm6tz.js} +5 -5
  21. package/dist/cli/{index-abw10n3f.js → index-gf9cxvp0.js} +1 -1
  22. package/dist/cli/{index-kx3533dm.js → index-gwss5btk.js} +1 -1
  23. package/dist/cli/{index-echdpdhy.js → index-gxw20m1d.js} +1 -1
  24. package/dist/cli/{index-cnhp6c0k.js → index-nqp13m5a.js} +1 -1
  25. package/dist/cli/{index-nmyg9b7v.js → index-pb8ag9vg.js} +4 -4
  26. package/dist/cli/{index-3hkbegq2.js → index-pf3xae4s.js} +1 -1
  27. package/dist/cli/{index-c8sqc3nh.js → index-vcqwhe9d.js} +4 -0
  28. package/dist/cli/index.js +12 -12
  29. package/dist/cli/{knowledge-escalator-kd80m9vp.js → knowledge-escalator-nna0zec3.js} +3 -3
  30. package/dist/cli/{knowledge-events-j7jfwm1d.js → knowledge-events-7k82xk36.js} +1 -1
  31. package/dist/cli/{knowledge-store-1d4byc7y.js → knowledge-store-efvtng9t.js} +1 -1
  32. package/dist/cli/{knowledge-validator-63mkgt9x.js → knowledge-validator-jh93eagj.js} +4 -4
  33. package/dist/cli/{scan-cursor-qzn5jmbe.js → scan-cursor-cydz8d9q.js} +2 -2
  34. package/dist/cli/{schema-2j92wnns.js → schema-fa033pqw.js} +1 -1
  35. package/dist/cli/{skill-generator-sv6zvdvz.js → skill-generator-8v463kj7.js} +5 -5
  36. package/dist/config/bundled-skills.d.ts +3 -2
  37. package/dist/hooks/delegation-gate.d.ts +14 -2
  38. package/dist/hooks/init-orphan-recovery.d.ts +1 -1
  39. package/dist/hooks/pr-workflow-auto-wake.d.ts +31 -0
  40. package/dist/hooks/pr-workflow-gate.d.ts +19 -1
  41. package/dist/hooks/pr-workflow-response-gate.d.ts +4 -0
  42. package/dist/index.d.ts +14 -0
  43. package/dist/index.js +149 -146
  44. package/dist/tools/index.d.ts +1 -0
  45. package/dist/tools/manifest.d.ts +1 -0
  46. package/dist/tools/prepare-pr-workflow-checkout.d.ts +25 -0
  47. package/dist/tools/repo-graph/builder.d.ts +5 -4
  48. package/dist/tools/tool-metadata.d.ts +4 -0
  49. package/dist/utils/timeout.d.ts +8 -4
  50. package/package.json +1 -1
@@ -101,6 +101,7 @@ export { lean_turbo_runner_status } from './lean-turbo-runner-status';
101
101
  export { lean_turbo_status } from './lean-turbo-status';
102
102
  export { lint_spec } from './lint-spec';
103
103
  export { mutation_test } from './mutation-test';
104
+ export { executePreparePrWorkflowCheckout, prepare_pr_workflow_checkout, } from './prepare-pr-workflow-checkout';
104
105
  export { executeRunPrFeedbackStageA, run_pr_feedback_stage_a, } from './run-pr-feedback-stage-a';
105
106
  export { symbols } from './symbols';
106
107
  export { type SyntaxCheckFileResult, type SyntaxCheckInput, type SyntaxCheckResult, syntax_check, syntaxCheck, } from './syntax-check';
@@ -44,6 +44,7 @@ export declare const TOOL_MANIFEST: {
44
44
  completion_verify: () => ToolDefinition;
45
45
  complete_pr_workflow: () => ToolDefinition;
46
46
  abort_pr_workflow: () => ToolDefinition;
47
+ prepare_pr_workflow_checkout: () => ToolDefinition;
47
48
  run_pr_feedback_stage_a: () => ToolDefinition;
48
49
  submit_council_verdicts: () => ToolDefinition;
49
50
  submit_phase_council_verdicts: () => ToolDefinition;
@@ -0,0 +1,25 @@
1
+ import { createSwarmTool } from './create-tool.js';
2
+ /**
3
+ * Preserve explicit dirty tracked files before the unbound PR checkout.
4
+ *
5
+ * The tool uses the canonical gate's cross-process mutation lock and
6
+ * schema-validated state, so an abort, bind, or same-session reactivation
7
+ * cannot revoke or replace authorization while the fixed Git command runs.
8
+ * The independent receipt is retained under `.swarm/` after terminal gate
9
+ * cleanup so the exact stash recovery command remains auditable.
10
+ */
11
+ export declare function executePreparePrWorkflowCheckout(args: unknown, directory: string, context?: {
12
+ sessionID?: string;
13
+ }): Promise<string>;
14
+ declare function runGit(directory: string, args: string[], options?: {
15
+ captureStdout?: boolean;
16
+ }): Promise<{
17
+ exitCode: number;
18
+ stdout: string;
19
+ }>;
20
+ /** Test-only seam for serializing concurrent real-Git checkout preparation. */
21
+ export declare const _internals: {
22
+ runGit: typeof runGit;
23
+ };
24
+ export declare const prepare_pr_workflow_checkout: ReturnType<typeof createSwarmTool>;
25
+ export {};
@@ -16,12 +16,13 @@ import { extractFileOntology } from './ontology';
16
16
  import { safeRealpathSync } from './safe-realpath';
17
17
  import type { BuildWorkspaceGraphOptions, GraphEdge, GraphNode, RepoGraph, RepoGraphDiagnostics, SymbolEdge } from './types';
18
18
  /**
19
- * _internals DI seam for safeRealpathSync.
20
- * Defaults to the real implementation. Tests can override this to inject
21
- * mock behavior without calling mock.module(...) which leaks across test files
22
- * in Bun's shared test-runner process.
19
+ * _internals DI seam for the walk clock and graph helpers.
20
+ * Defaults to the real implementations. Tests can override these to inject
21
+ * deterministic behavior without calling mock.module(...) which leaks across
22
+ * test files in Bun's shared test-runner process.
23
23
  */
24
24
  export declare const _internals: {
25
+ now: () => number;
25
26
  safeRealpathSync: typeof safeRealpathSync;
26
27
  extractTSSymbols: typeof extractTSSymbols;
27
28
  extractPythonSymbols: typeof extractPythonSymbols;
@@ -156,6 +156,10 @@ export declare const TOOL_METADATA: {
156
156
  description: string;
157
157
  agents: "architect"[];
158
158
  };
159
+ prepare_pr_workflow_checkout: {
160
+ description: string;
161
+ agents: "architect"[];
162
+ };
159
163
  run_pr_feedback_stage_a: {
160
164
  description: string;
161
165
  agents: "architect"[];
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Timeout primitives used by the plugin init path.
3
3
  *
4
- * Hard rule: every timer scheduled here must call `unref()` so it never holds
5
- * the process open, and every Promise.race must clear the timer in `finally`
6
- * so it does not leak the timer reference after the racer settles.
4
+ * Deadline timers must call `unref()` and every Promise.race must clear its
5
+ * timer in `finally`, so timeouts never pin or leak a process handle. Awaited
6
+ * cooperative-yield timers are deliberately ref'ed: unref'ing the only handle
7
+ * can strand their caller before the awaited promise resolves.
7
8
  */
8
9
  /**
9
10
  * Race a promise against a timeout. The timer is cleared in `finally` so the
@@ -18,6 +19,9 @@
18
19
  export declare function withTimeout<T>(promise: Promise<T>, ms: number, timeoutError: Error): Promise<T>;
19
20
  /**
20
21
  * Yield to the macrotask queue. Works under both Node and Bun runtimes,
21
- * unlike `setImmediate` which is Node-only.
22
+ * unlike `setImmediate` which is Node-only. The timer intentionally remains
23
+ * ref'ed: callers await this promise, so unref'ing its only handle can strand a
24
+ * direct async caller when no unrelated host handle is active. Detached startup
25
+ * work is made non-pinning at its outer scheduling boundary instead.
22
26
  */
23
27
  export declare function yieldToEventLoop(): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.126.1",
3
+ "version": "7.126.3",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",