opencode-swarm 7.87.1 → 7.87.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.
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  handleGuardrailExplain
4
- } from "./index-ts2j1wjr.js";
4
+ } from "./index-amwa268r.js";
5
5
  import {
6
6
  handleGuardrailLog
7
7
  } from "./index-5vpe6vq9.js";
@@ -76,10 +76,10 @@ import {
76
76
  handleWriteRetroCommand,
77
77
  normalizeSwarmCommandInput,
78
78
  resolveCommand
79
- } from "./index-gwzpy671.js";
79
+ } from "./index-kz1bmebr.js";
80
80
  import"./index-5hvbw5xh.js";
81
81
  import"./index-yhsmmv2z.js";
82
- import"./index-s8bj492g.js";
82
+ import"./index-32axfg6h.js";
83
83
  import"./index-e8pk68cc.js";
84
84
  import"./index-1cb4wxnm.js";
85
85
  import {
@@ -87,7 +87,7 @@ import {
87
87
  ORCHESTRATOR_NAME,
88
88
  stripKnownSwarmPrefix
89
89
  } from "./index-q9h0wb04.js";
90
- import"./index-89xjr3h4.js";
90
+ import"./index-8y7qetpg.js";
91
91
  import"./index-adz3nk9b.js";
92
92
  import"./index-v4fcn4tr.js";
93
93
  import"./index-e7h9bb6v.js";
package/dist/cli/index.js CHANGED
@@ -7,16 +7,16 @@ import {
7
7
  getPluginLockFilePaths,
8
8
  package_default,
9
9
  resolveCommand
10
- } from "./index-gwzpy671.js";
10
+ } from "./index-kz1bmebr.js";
11
11
  import"./index-5hvbw5xh.js";
12
12
  import"./index-yhsmmv2z.js";
13
- import"./index-s8bj492g.js";
13
+ import"./index-32axfg6h.js";
14
14
  import"./index-e8pk68cc.js";
15
15
  import"./index-1cb4wxnm.js";
16
16
  import {
17
17
  DEFAULT_AGENT_CONFIGS
18
18
  } from "./index-q9h0wb04.js";
19
- import"./index-89xjr3h4.js";
19
+ import"./index-8y7qetpg.js";
20
20
  import"./index-adz3nk9b.js";
21
21
  import"./index-v4fcn4tr.js";
22
22
  import"./index-e7h9bb6v.js";
@@ -2,6 +2,7 @@
2
2
  import {
3
3
  DEFAULT_SKILL_MIN_CONFIDENCE,
4
4
  DEFAULT_SKILL_MIN_CONFIRMATIONS,
5
+ HIGH_PRIORITY_SKILL_MIN_CONFIDENCE,
5
6
  STRONG_SKILL_OUTCOME_COUNT,
6
7
  _internals,
7
8
  activateProposal,
@@ -21,7 +22,7 @@ import {
21
22
  retireSkill,
22
23
  sanitizeSlug,
23
24
  selectCandidateEntries
24
- } from "./index-s8bj492g.js";
25
+ } from "./index-32axfg6h.js";
25
26
  import"./index-e8pk68cc.js";
26
27
  import"./index-fjwwrwr5.js";
27
28
  import"./index-jtqkh8jf.js";
@@ -50,6 +51,7 @@ export {
50
51
  activateProposal,
51
52
  _internals,
52
53
  STRONG_SKILL_OUTCOME_COUNT,
54
+ HIGH_PRIORITY_SKILL_MIN_CONFIDENCE,
53
55
  DEFAULT_SKILL_MIN_CONFIRMATIONS,
54
56
  DEFAULT_SKILL_MIN_CONFIDENCE
55
57
  };
@@ -78,12 +78,18 @@ export interface CloseStageContext {
78
78
  archivedFileCount: number;
79
79
  archivedActiveStateFiles: Set<string>;
80
80
  archivedActiveStateDirs: Set<string>;
81
+ archiveFailureReasons: Map<string, string>;
81
82
  timestamp: string;
82
83
  archiveDir: string;
83
84
  archiveSuffix: string;
84
85
  args: string[];
85
86
  }
86
87
  declare function countSessionKnowledgeEntries(entries: CloseKnowledgeEntry[], sessionStart: string | undefined, fallbackCount: number): number;
88
+ /**
89
+ * Backward-compatible wrapper that returns only the copied count.
90
+ * Direct callers (including tests) that expect a number continue to work.
91
+ * Use copyDirRecursiveWithFailures when per-file failure tracking is needed.
92
+ */
87
93
  declare function copyDirRecursive(src: string, dest: string): Promise<number>;
88
94
  /**
89
95
  * Guarantee all phases and tasks in a plan are marked complete/closed.
@@ -28,6 +28,11 @@ export type GitRepositoryStatus = {
28
28
  * signing entirely. This is the single source of truth for
29
29
  * non-interactive git, so the hardening covers every caller
30
30
  * (current and future) uniformly.
31
+ *
32
+ * Transient retry: transient spawn errors (e.g. ETIMEDOUT) are retried
33
+ * with exponential backoff up to MAX_TRANSIENT_RETRIES before throwing.
34
+ * Permanent errors — non-zero exit, missing git binary, non-transient
35
+ * spawn errors — throw immediately with no retry.
31
36
  */
32
37
  declare function gitExec(args: string[], cwd: string): string;
33
38
  export declare function getGitRepositoryStatus(cwd: string): GitRepositoryStatus;
package/dist/git/pr.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import * as child_process from 'node:child_process';
1
2
  export declare const GIT_TIMEOUT_MS = 30000;
2
3
  /**
3
4
  * Sanitize input string to prevent command injection
@@ -6,8 +7,23 @@ export declare const GIT_TIMEOUT_MS = 30000;
6
7
  export declare function sanitizeInput(input: string): string;
7
8
  /**
8
9
  * Execute gh CLI command
10
+ *
11
+ * Follows canonical gitExec safety pattern from branch.ts:
12
+ * - result.error check before result.status
13
+ * - maxBuffer to prevent ERR_CHILD_PROCESS_STDIO_MAXBUFFER on large output
14
+ * - windowsHide: true to prevent console window flash on Windows
15
+ * - Bounded transient retry for ETIMEDOUT per AGENTS.md invariant 9
9
16
  */
10
17
  export declare function ghExec(args: string[], cwd: string): string;
18
+ /**
19
+ * Shared spawnSync wrapper with bounded ETIMEDOUT-only transient retry.
20
+ *
21
+ * Mirrors the retry shape from ghExec (invariant 9):
22
+ * - Up to MAX_TRANSIENT_RETRIES attempts with exponential backoff on ETIMEDOUT
23
+ * - ENOENT and non-zero exit are thrown immediately (not retried)
24
+ * - On success, returns the raw spawnSync result transparently
25
+ */
26
+ declare function spawnSyncWithTransientRetry(command: string, args: string[], options: child_process.SpawnSyncOptions): child_process.SpawnSyncReturns<string>;
11
27
  /**
12
28
  * Execute gh CLI command asynchronously (non-blocking).
13
29
  * Used by background workers that must not block the event loop.
@@ -23,6 +39,7 @@ export declare function ghExecAsync(args: string[], cwd: string): Promise<string
23
39
  export declare const _internals: {
24
40
  ghExec: typeof ghExec;
25
41
  ghExecAsync: typeof ghExecAsync;
42
+ spawnSyncWithTransientRetry: typeof spawnSyncWithTransientRetry;
26
43
  };
27
44
  /**
28
45
  * Check if gh CLI is available
@@ -106,3 +123,4 @@ export declare function getMergeState(prNumber: number, repoFullName: string, cw
106
123
  * Uses async ghExecAsync to avoid blocking the event loop.
107
124
  */
108
125
  export declare function getPRReviewState(prNumber: number, repoFullName: string, cwd: string): Promise<ReviewStateResult>;
126
+ export {};
@@ -2,6 +2,7 @@
2
2
  * Merges swarm + hive knowledge, deduplicates (hive wins), ranks by composite score,
3
3
  * and provides utility tracking.
4
4
  */
5
+ import { recordKnowledgeEvent } from './knowledge-events.js';
5
6
  import type { KnowledgeConfig, KnowledgeEntryBase, KnowledgeRetrievalContext } from './knowledge-types.js';
6
7
  export interface ProjectContext {
7
8
  projectName: string;
@@ -36,5 +37,6 @@ export declare const _internals: {
36
37
  updateRetrievalOutcome: typeof updateRetrievalOutcome;
37
38
  scoreDirectiveAgainstContext: typeof scoreDirectiveAgainstContext;
38
39
  transactShownFile: typeof transactShownFile;
40
+ recordKnowledgeEvent: typeof recordKnowledgeEvent;
39
41
  };
40
42
  export {};
@@ -43,6 +43,9 @@ export interface RetrievalOutcome {
43
43
  succeeded_after_shown_count?: number;
44
44
  /** v2: phase-failure count after a "shown" (replaces failed_after_count). */
45
45
  failed_after_shown_count?: number;
46
+ /** v3: partial-success count after a "shown" (outcome: 'partial'). Event-only
47
+ * field — never written to the entry, folded from the event log rollup. */
48
+ partial_after_shown_count?: number;
46
49
  /** v3: recent violation timestamps (newest-first, capped) folded from the
47
50
  * event-derived rollup. Surfaced for the repeat-mistake escalator. */
48
51
  violation_timestamps?: string[];