opencode-swarm 7.148.5 → 7.149.1
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/background/candidate-contract.d.ts +1 -1
- package/dist/background/pending-delegations.d.ts +6 -0
- package/dist/background/pr-review-contract.d.ts +20 -0
- package/dist/cli/{config-doctor-6z7x0jnz.js → config-doctor-d3nsq1nz.js} +3 -3
- package/dist/cli/{core-0ph6pb2y.js → core-y9d858n6.js} +3 -3
- package/dist/cli/{curation-policy-fbvctttr.js → curation-policy-nck9g765.js} +6 -6
- package/dist/cli/{curator-pffqw3br.js → curator-f5m0hh2p.js} +32 -31
- package/dist/cli/{curator-llm-factory-mbsn281q.js → curator-llm-factory-mzh9ns5s.js} +32 -31
- package/dist/cli/{evidence-summary-service-9ajw5tpc.js → evidence-summary-service-601x7ne7.js} +15 -14
- package/dist/cli/{gate-evidence-wc8wzwaw.js → gate-evidence-kjs9vsx9.js} +9 -9
- package/dist/cli/{guardrail-explain-a8706sq1.js → guardrail-explain-j291sss5.js} +33 -32
- package/dist/cli/{guardrail-log-wx43bj32.js → guardrail-log-1jykfrqc.js} +6 -4
- package/dist/cli/{guardrail-reset-sy0vztrd.js → guardrail-reset-tr07m077.js} +32 -31
- package/dist/cli/{hive-promoter-jvyzykgx.js → hive-promoter-162ws6xp.js} +32 -31
- package/dist/cli/{index-x3d9asnz.js → index-1aztaa2s.js} +3 -3
- package/dist/cli/{index-c6jqkx9d.js → index-38ema5k2.js} +2 -2
- package/dist/cli/{index-nq4tkfpc.js → index-4sdhbxgq.js} +1 -1
- package/dist/cli/{index-vyg5b8ee.js → index-5gntxwxt.js} +5 -5
- package/dist/cli/{index-0yzt06r5.js → index-64d17yd0.js} +2 -2
- package/dist/cli/{index-3aev3a0c.js → index-7m8rk72d.js} +491 -369
- package/dist/cli/{index-vhefvcta.js → index-apwcvfjt.js} +2 -2
- package/dist/cli/{index-arjq717j.js → index-cna8m7my.js} +1 -1
- package/dist/cli/{index-59wqcatm.js → index-cqhf7fkw.js} +1 -1
- package/dist/cli/{index-jzz52as5.js → index-dkrz1vv5.js} +4 -4
- package/dist/cli/{index-kg4knw6r.js → index-dtmgt2xn.js} +11 -10
- package/dist/cli/{index-579qg534.js → index-eaq9b0qm.js} +1 -1
- package/dist/cli/{index-zhn0q7nf.js → index-ekvs3ade.js} +18 -17
- package/dist/cli/index-exn0ztsv.js +881 -0
- package/dist/cli/{index-ag9bv589.js → index-f53yyerg.js} +34 -33
- package/dist/cli/{index-q7ke7kwd.js → index-fc4x86sy.js} +9 -12
- package/dist/cli/{index-zf2vwa7y.js → index-hxbrsb40.js} +2 -2
- package/dist/cli/{index-k1s8gxjh.js → index-jb9tb1sd.js} +1 -1
- package/dist/cli/{index-haf092ak.js → index-jg2gwzvq.js} +11 -11
- package/dist/cli/{index-qwmrt51t.js → index-k2sm9677.js} +1 -1
- package/dist/cli/{index-5r2mcgpa.js → index-kgk65rde.js} +1 -1
- package/dist/cli/{index-vrp2zva8.js → index-m8dn0qnm.js} +1 -1
- package/dist/cli/{index-1w5nnyew.js → index-mdwtj4xm.js} +6 -6
- package/dist/cli/{index-j382eh60.js → index-n99s022c.js} +1 -1
- package/dist/cli/{index-yezd5ks6.js → index-pf22x0dr.js} +3 -1
- package/dist/cli/{index-8djgxw2w.js → index-prxrmc3b.js} +2 -2
- package/dist/cli/{index-kj6m9ry3.js → index-srwp8fs7.js} +4 -4
- package/dist/cli/{index-5zq3892p.js → index-t994f8fp.js} +4 -4
- package/dist/cli/{index-t25evmna.js → index-vy6q9d8j.js} +3 -2
- package/dist/cli/{index-ne45ew6z.js → index-xe83cwvn.js} +10 -10
- package/dist/cli/{index-ghbkknjz.js → index-xggpmtfx.js} +73 -42
- package/dist/cli/{index-qbsc2btq.js → index-yjj3s8af.js} +3 -3
- package/dist/cli/index.js +32 -31
- package/dist/cli/{knowledge-escalator-bvrtfdyb.js → knowledge-escalator-whkxxgxj.js} +14 -14
- package/dist/cli/{knowledge-events-rpvkevbm.js → knowledge-events-rnqzt87h.js} +12 -12
- package/dist/cli/{knowledge-link-spw879rs.js → knowledge-link-mzn8x0qd.js} +5 -5
- package/dist/cli/{knowledge-store-wjy2kshh.js → knowledge-store-7de59rnz.js} +6 -6
- package/dist/cli/{knowledge-validator-cq2cgfcx.js → knowledge-validator-bpk17jf4.js} +8 -8
- package/dist/cli/{pending-delegations-f4wvyzbf.js → pending-delegations-qzy6rnvw.js} +3 -3
- package/dist/cli/{pr-subscriptions-f4xw1rxy.js → pr-subscriptions-q862pvz1.js} +3 -3
- package/dist/cli/{runner-rk26nk58.js → runner-1aygs98c.js} +6 -6
- package/dist/cli/{scan-cursor-7n0zs72g.js → scan-cursor-0p51fh61.js} +7 -7
- package/dist/cli/{schema-e59spg93.js → schema-8g2nxhjf.js} +1 -1
- package/dist/cli/{scope-persistence-d75p900m.js → scope-persistence-hhkr0c46.js} +8 -10
- package/dist/cli/{skill-generator-c65y1h6a.js → skill-generator-pk9gcz7r.js} +16 -16
- package/dist/cli/{telemetry-1pnsftp0.js → telemetry-5deacb7w.js} +1 -1
- package/dist/cli/{workspace-snapshot-nq25j94x.js → workspace-snapshot-8269e1p9.js} +2 -2
- package/dist/cli/{worktree-collision-ownership-wqy7mgb3.js → worktree-collision-ownership-9v8e0dz7.js} +8 -8
- package/dist/cli/{worktree-isolation-ay9d58w4.js → worktree-isolation-1hwwfbdw.js} +32 -31
- package/dist/commands/close.d.ts +1 -0
- package/dist/events/core-events.d.ts +250 -0
- package/dist/failures/invocation-failure.d.ts +7 -0
- package/dist/full-auto/oversight.d.ts +5 -3
- package/dist/hooks/full-auto-delegation.d.ts +24 -0
- package/dist/hooks/full-auto-input-probe.d.ts +11 -0
- package/dist/hooks/pr-workflow-gate.d.ts +37 -6
- package/dist/hooks/steering-consumed.d.ts +12 -4
- package/dist/index.js +598 -613
- package/dist/observability/catalog.d.ts +9 -7
- package/dist/services/session-reflection.d.ts +7 -0
- package/dist/services/spec-drift-recovery.d.ts +9 -2
- package/dist/state.d.ts +10 -0
- package/dist/telemetry.d.ts +24 -1
- package/dist/tools/dispatch-lanes.d.ts +50 -1
- package/dist/tools/write-pr-review-artifact.d.ts +2 -0
- package/package.json +3 -1
- package/dist/cli/{curator-drift-fv4rttf4.js → curator-drift-2h1d2fnq.js} +1 -1
- package/dist/cli/{index-g8wwj0sz.js → index-vnn7qq8c.js} +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The event catalog (issue #2029).
|
|
3
3
|
*
|
|
4
|
-
* Exactly
|
|
5
|
-
* `src/telemetry.ts:15-
|
|
4
|
+
* Exactly 48 entries, matching the `TelemetryEvent` union at
|
|
5
|
+
* `src/telemetry.ts:15-125`. Thirty-eight predate the #2029 contract; the 39th is
|
|
6
6
|
* `agent_conflict_detected` (previously emitted through a force-cast past the
|
|
7
7
|
* type system), the 40th is `close_archive_result` (issue #2030 — the
|
|
8
8
|
* structured close/archive result event), the 41st is the bounded diagnostic
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
* mutation audit, the 44th is the bounded `residue_health` atomic-write
|
|
13
13
|
* residue audit (issue #2035), the 46th is the bounded
|
|
14
14
|
* `context_telemetry_health` storage audit for the issue-#2037
|
|
15
|
-
* `.swarm/context-telemetry.jsonl` store,
|
|
15
|
+
* `.swarm/context-telemetry.jsonl` store, the 47th is the counts-only
|
|
16
16
|
* `skill_usage_health` storage audit for the issue-#2038
|
|
17
|
-
* `.swarm/skill-usage.jsonl` store and its authoritative pending sidecar
|
|
18
|
-
* the
|
|
19
|
-
*
|
|
17
|
+
* `.swarm/skill-usage.jsonl` store and its authoritative pending sidecar,
|
|
18
|
+
* and the 48th is the bounded `core_events_health` storage audit for the
|
|
19
|
+
* issue-#2039 `.swarm/events.jsonl` store. These late additions are instances
|
|
20
|
+
* of the defect class this contract exists to close: an event kind entering
|
|
21
|
+
* the stream with no registration.
|
|
20
22
|
*
|
|
21
23
|
* Every entry names a real producer `file:line`, a retention owner issue at or
|
|
22
24
|
* above #2030 — every entry today cites the #2030-#2051 programme, but only the
|
|
@@ -69,7 +71,7 @@ export interface CatalogEntry {
|
|
|
69
71
|
/**
|
|
70
72
|
* Whether an event of this kind must carry `trace.parentSpanId`.
|
|
71
73
|
*
|
|
72
|
-
* `false` for all
|
|
74
|
+
* `false` for all 48 entries today, and that is a truthful statement about
|
|
73
75
|
* the current system rather than a placeholder: no producer supplies a
|
|
74
76
|
* parent span, so `createObservation` never sets one. Setting this to `true`
|
|
75
77
|
* for a kind whose producer cannot supply a parent would make every
|
|
@@ -24,6 +24,13 @@ export interface ToolProblem {
|
|
|
24
24
|
totalCalls: number;
|
|
25
25
|
failureRate: number;
|
|
26
26
|
avgDurationMs: number;
|
|
27
|
+
/**
|
|
28
|
+
* Issue #2349 sweep: a bounded, deduplicated sample of WHY this tool failed.
|
|
29
|
+
* Reporting only that a tool failed N times is the same defect class the
|
|
30
|
+
* sweep set out to close — the reason has to reach a surface a human or
|
|
31
|
+
* agent actually reads, which is this one.
|
|
32
|
+
*/
|
|
33
|
+
failureReasons?: string[];
|
|
27
34
|
}
|
|
28
35
|
export interface AgentDispatchSummary {
|
|
29
36
|
agent: string;
|
|
@@ -73,8 +73,15 @@ declare function verifySnapshot(snapshotPath: string, currentSpec: {
|
|
|
73
73
|
content: string;
|
|
74
74
|
} | null): Promise<void>;
|
|
75
75
|
declare function ensureSnapshotEvent(directory: string, plan: NonNullable<Awaited<ReturnType<typeof loadPlanJsonOnly>>>, transitionId: string): Promise<void>;
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Issue #2039: audit events append through the core event seam with the
|
|
78
|
+
* authority-key dedupe restoring the old pre-check (lock-scoped, at-most-once),
|
|
79
|
+
* and presence verification reads the authoritative index — never the whole
|
|
80
|
+
* file. Fail-closed semantics are preserved: a corrupt authority index throws
|
|
81
|
+
* (previously a malformed events.jsonl line threw).
|
|
82
|
+
*/
|
|
83
|
+
declare function appendEvent(directory: string, event: SpecDriftAcknowledgedEvent | SpecDriftRepairedEvent): Promise<void>;
|
|
84
|
+
declare function verifyEventPresence(directory: string, eventType: 'spec_drift_acknowledged' | 'spec_drift_repaired', transitionId: string): Promise<boolean>;
|
|
78
85
|
export declare function reconcileSpecDrift(directory: string, options: {
|
|
79
86
|
mode: RecoveryMode;
|
|
80
87
|
actor: RecoveryActor;
|
package/dist/state.d.ts
CHANGED
|
@@ -33,6 +33,16 @@ export interface ToolAggregate {
|
|
|
33
33
|
successCount: number;
|
|
34
34
|
failureCount: number;
|
|
35
35
|
totalDuration: number;
|
|
36
|
+
/**
|
|
37
|
+
* A small, bounded, deduplicated sample of WHY this tool failed (issue
|
|
38
|
+
* #2349 follow-up: agent-activity.ts previously collapsed `output.error`
|
|
39
|
+
* into a pure boolean and discarded the value). Capped at
|
|
40
|
+
* MAX_TOOL_FAILURE_REASONS distinct entries, each truncated to
|
|
41
|
+
* MAX_TOOL_FAILURE_REASON_LENGTH chars, so a tool that fails thousands of
|
|
42
|
+
* times with the same or varying reasons cannot grow this unboundedly.
|
|
43
|
+
* Omitted (absent, not an empty array) when no reason was ever recorded.
|
|
44
|
+
*/
|
|
45
|
+
failureReasons?: string[];
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
38
48
|
* Represents a delegation from one agent to another
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type TelemetryEvent = 'session_started' | 'session_ended' | 'agent_activa
|
|
|
32
32
|
* `prm_hard_stop` TRIGGER emitted by `src/prm/escalation.ts`. A trigger with
|
|
33
33
|
* no matching delivery means the containment never reached the agent.
|
|
34
34
|
*/
|
|
35
|
-
| 'prm_hard_stop_delivered' | 'agent_conflict_detected' | 'close_archive_result' | 'knowledge_receipt_transition' | 'knowledge_maintenance' | 'residue_health' | 'context_telemetry_health' | 'skill_usage_health';
|
|
35
|
+
| 'prm_hard_stop_delivered' | 'agent_conflict_detected' | 'close_archive_result' | 'knowledge_receipt_transition' | 'knowledge_maintenance' | 'residue_health' | 'context_telemetry_health' | 'skill_usage_health' | 'core_events_health';
|
|
36
36
|
/** Stable classification for how a reviewer-gate decision was established. */
|
|
37
37
|
export type ReviewerGateEvidenceKind = 'genuine' | 'fallback' | 'data_quality' | 'block';
|
|
38
38
|
/**
|
|
@@ -291,6 +291,29 @@ export declare const telemetry: {
|
|
|
291
291
|
newest_timestamp: string | null;
|
|
292
292
|
coverage: boolean;
|
|
293
293
|
}): void;
|
|
294
|
+
/**
|
|
295
|
+
* Core event store health (issue #2039): emitted on compaction and close
|
|
296
|
+
* for the bounded `.swarm/events.jsonl` store. Counts ONLY — no event
|
|
297
|
+
* content and no filesystem paths, matching the observability contract's
|
|
298
|
+
* no-content-in-metrics rule. `authority_index_count` /
|
|
299
|
+
* `authority_evicted_count` disclose the authoritative partition's size
|
|
300
|
+
* and FIFO-eviction total (eviction is the only reachable
|
|
301
|
+
* absent-after-compaction case for authority lookups).
|
|
302
|
+
*/
|
|
303
|
+
coreEventsHealth(data: {
|
|
304
|
+
trigger: "compaction" | "close";
|
|
305
|
+
accepted_count: number;
|
|
306
|
+
compacted_count: number;
|
|
307
|
+
retained_count: number;
|
|
308
|
+
dropped_count: number;
|
|
309
|
+
corrupt_count: number;
|
|
310
|
+
authority_index_count: number;
|
|
311
|
+
authority_evicted_count: number;
|
|
312
|
+
oldest_timestamp: string | null;
|
|
313
|
+
newest_timestamp: string | null;
|
|
314
|
+
bytes: number;
|
|
315
|
+
limit_bytes: number;
|
|
316
|
+
}): void;
|
|
294
317
|
/**
|
|
295
318
|
* Issue #2063 C2 — the PRM hard-stop DENIAL was actually delivered to the
|
|
296
319
|
* agent (thrown by the guardrails `toolBefore` consumer). `prm_hard_stop`
|
|
@@ -96,6 +96,7 @@ declare const DispatchLanesAsyncArgsSchema: z.ZodObject<{
|
|
|
96
96
|
fanout: "fanout";
|
|
97
97
|
}>>;
|
|
98
98
|
pr_review_wave_attempt: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
pr_review_contract_retry: z.ZodOptional<z.ZodBoolean>;
|
|
99
100
|
}, z.core.$strip>;
|
|
100
101
|
declare const CollectLaneResultsArgsSchema: z.ZodObject<{
|
|
101
102
|
batch_id: z.ZodString;
|
|
@@ -132,6 +133,7 @@ export interface DispatchLaneResult {
|
|
|
132
133
|
output_artifact_error?: string;
|
|
133
134
|
transcript_incomplete?: boolean;
|
|
134
135
|
message_count?: number;
|
|
136
|
+
workflow_lane_failure_class?: BackgroundDelegationResult['workflowLaneFailureClass'];
|
|
135
137
|
salvaged_workflow_lanes?: string[];
|
|
136
138
|
salvaged_workflow_lane_recoveries?: Array<{
|
|
137
139
|
workflow_lane: string;
|
|
@@ -195,7 +197,7 @@ export interface CollectLaneResultsResult {
|
|
|
195
197
|
all_settled: boolean;
|
|
196
198
|
lane_results: DispatchLaneResult[];
|
|
197
199
|
/**
|
|
198
|
-
* Alert-only host liveness advisory for still-pending
|
|
200
|
+
* Alert-only host liveness advisory for still-pending async lanes past
|
|
199
201
|
* the pending-liveness threshold (issue #2280 Part B). Present only when at
|
|
200
202
|
* least one such lane exists; never affects `success`, counts, settlement,
|
|
201
203
|
* or any lane's state.
|
|
@@ -415,6 +417,7 @@ export declare const _test_exports: {
|
|
|
415
417
|
fanout: "fanout";
|
|
416
418
|
}>>;
|
|
417
419
|
pr_review_wave_attempt: z.ZodOptional<z.ZodNumber>;
|
|
420
|
+
pr_review_contract_retry: z.ZodOptional<z.ZodBoolean>;
|
|
418
421
|
}, z.core.$strip>;
|
|
419
422
|
DEFAULT_TIMEOUT_MS: number;
|
|
420
423
|
DEFAULT_ASYNC_LAUNCH_TIMEOUT_MS: number;
|
|
@@ -449,6 +452,29 @@ export declare function executeDispatchLanesAsync(args: unknown, directory: stri
|
|
|
449
452
|
export declare function executeCollectLaneResults(args: unknown, directory: string, context?: Pick<DispatchLanesExecutionContext, 'sessionID'>): Promise<CollectLaneResultsResult>;
|
|
450
453
|
declare function isRetryableSessionCreateFailure(error: unknown): boolean;
|
|
451
454
|
declare function consumePrReviewReceiptAppendFailureLog(loggedFailures: Set<string>, parentSessionId: string, correlationId: string): boolean;
|
|
455
|
+
/**
|
|
456
|
+
* Issue #2349: a terminal error read off the last assistant message of a lane
|
|
457
|
+
* session, classified for settlement.
|
|
458
|
+
*
|
|
459
|
+
* `kind` derives from the SDK's discriminated `AssistantMessage.error` union and
|
|
460
|
+
* is AUTHORITATIVE for the settled lane status. `category`/`retryClass` come
|
|
461
|
+
* from the canonical {@link classifyProviderFailure} and are advisory
|
|
462
|
+
* classification for operator legibility. The two are NOT required to agree: an
|
|
463
|
+
* `APIError` whose message merely contains the word "aborted" settles as an
|
|
464
|
+
* error (the SDK says `APIError`) while carrying `provider.cancelled` from the
|
|
465
|
+
* text classifier. The reason string names both so the divergence is visible.
|
|
466
|
+
*/
|
|
467
|
+
interface LaneTerminalError {
|
|
468
|
+
kind: 'provider' | 'aborted' | 'output_length' | 'unknown';
|
|
469
|
+
/** SDK discriminator (`error.name`), bounded. */
|
|
470
|
+
name: string;
|
|
471
|
+
/** Sanitized + bounded provider message. */
|
|
472
|
+
message: string;
|
|
473
|
+
statusCode: number | undefined;
|
|
474
|
+
/** `ApiError.data.isRetryable` — host-stated, not inferred. */
|
|
475
|
+
hostRetryable: boolean | undefined;
|
|
476
|
+
category: string;
|
|
477
|
+
}
|
|
452
478
|
declare function extractAssistantTranscript(messages: Array<{
|
|
453
479
|
info?: {
|
|
454
480
|
role?: string;
|
|
@@ -467,6 +493,29 @@ declare function extractAssistantTranscript(messages: Array<{
|
|
|
467
493
|
messageCount: number;
|
|
468
494
|
transcriptIncomplete: boolean;
|
|
469
495
|
terminalAssistantProof: boolean;
|
|
496
|
+
/**
|
|
497
|
+
* Issue #2349: `time.completed` of the last assistant message, surfaced so the
|
|
498
|
+
* collection loop can require positive turn-over evidence before settling a
|
|
499
|
+
* lane on an error. Previously computed here but discarded.
|
|
500
|
+
*/
|
|
501
|
+
completedAt: number | undefined;
|
|
502
|
+
/**
|
|
503
|
+
* Issue #2349: the fetch-window truncation term ALONE, deliberately split out
|
|
504
|
+
* of {@link transcriptIncomplete}. `transcriptIncomplete` also folds in the
|
|
505
|
+
* TERMINAL `finish === 'length' | 'content-filter'` cases, so gating the
|
|
506
|
+
* error-settle on it would make the `output_length` classification
|
|
507
|
+
* unreachable. Only the "there may be unfetched earlier messages" signal is
|
|
508
|
+
* relevant to "did this lane really produce no output".
|
|
509
|
+
*/
|
|
510
|
+
windowTruncated: boolean;
|
|
511
|
+
/**
|
|
512
|
+
* Issue #2349: the classified terminal error from the last assistant message,
|
|
513
|
+
* when present. The host records this on the persisted message; before this
|
|
514
|
+
* change the value was read only as an `=== undefined` existence test for
|
|
515
|
+
* {@link terminalAssistantProof} and then discarded, so no caller could ever
|
|
516
|
+
* learn WHY a lane died.
|
|
517
|
+
*/
|
|
518
|
+
terminalError: LaneTerminalError | undefined;
|
|
470
519
|
};
|
|
471
520
|
declare function reserveCollectionLaneCallBudgets(deadline: number, remainingLaneCount: number, hasStatusCall: boolean, hasRevisionDigestCall?: boolean): {
|
|
472
521
|
laneBudgetMs: number;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { assertPrReviewArtifactBoundary } from '../hooks/pr-workflow-gate.js';
|
|
1
2
|
import { createSwarmTool } from './create-tool.js';
|
|
2
3
|
declare function atomicWrite(filePath: string, content: string): Promise<void>;
|
|
3
4
|
declare function atomicCreate(filePath: string, content: string): Promise<boolean>;
|
|
4
5
|
export declare const _internals: {
|
|
5
6
|
atomicWrite: typeof atomicWrite;
|
|
6
7
|
atomicCreate: typeof atomicCreate;
|
|
8
|
+
assertBoundary: typeof assertPrReviewArtifactBoundary;
|
|
7
9
|
};
|
|
8
10
|
export declare function executeWritePrReviewArtifact(args: unknown, directory: string, context?: {
|
|
9
11
|
sessionID?: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-swarm",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.149.1",
|
|
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",
|
|
@@ -109,10 +109,12 @@
|
|
|
109
109
|
"repro:1873": "bun build scripts/repro-1873-entry.ts --outdir dist-build-test/repro-1873 --target node --format esm && node scripts/repro-1873.mjs",
|
|
110
110
|
"check:events": "bun run scripts/check-event-contract.ts",
|
|
111
111
|
"check:retention": "bun run scripts/check-retention-registry.ts",
|
|
112
|
+
"check:core-events": "bun run scripts/check-core-events-usage.ts",
|
|
112
113
|
"check:test-file-cap": "bun run scripts/check-test-file-cap.ts",
|
|
113
114
|
"check:pending-fragment": "bun run scripts/check-pending-fragment.ts",
|
|
114
115
|
"check:gate-portability": "bun run scripts/check-gate-portability.ts",
|
|
115
116
|
"check:bare-spawn": "bun run scripts/check-bare-executable-spawn.ts",
|
|
117
|
+
"check:error-channel-discard": "bun run scripts/check-error-channel-discard.ts",
|
|
116
118
|
"check:memory-recall": "bun run scripts/memory-recall-regression.ts"
|
|
117
119
|
},
|
|
118
120
|
"dependencies": {
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
readEffectiveSpecSync
|
|
7
7
|
} from "./index-9ss2m4rs.js";
|
|
8
8
|
import"./index-n832052r.js";
|
|
9
|
-
import"./index-4rhhvd1a.js";
|
|
10
9
|
import {
|
|
11
10
|
readSwarmFileAsync,
|
|
12
11
|
validateSwarmPath
|
|
13
12
|
} from "./index-4cgee5vh.js";
|
|
14
13
|
import"./index-z6xqpmqg.js";
|
|
15
14
|
import"./index-r3mvsbtq.js";
|
|
15
|
+
import"./index-4rhhvd1a.js";
|
|
16
16
|
import"./index-zjygnfay.js";
|
|
17
17
|
import"./index-bpmtbmy9.js";
|
|
18
18
|
import {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
bunSpawn
|
|
4
|
+
} from "./index-r3mvsbtq.js";
|
|
2
5
|
import {
|
|
3
6
|
init_git_executable,
|
|
4
7
|
resolveGitExecutable
|
|
5
8
|
} from "./index-9e6fdz2h.js";
|
|
6
|
-
import {
|
|
7
|
-
bunSpawn
|
|
8
|
-
} from "./index-r3mvsbtq.js";
|
|
9
9
|
|
|
10
10
|
// src/background/workspace-snapshot.ts
|
|
11
11
|
import * as child_process from "child_process";
|