opencode-swarm 7.134.2 → 7.134.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.
- package/.opencode/skills/swarm-pr-feedback/SKILL.md +10 -3
- package/.opencode/skills/swarm-pr-review/SKILL.md +11 -3
- package/README.md +1 -1
- package/dist/background/pr-event-delivery.d.ts +8 -0
- package/dist/background/pr-event-subscribers.d.ts +5 -0
- package/dist/background/pr-feedback-event-queue.d.ts +37 -0
- package/dist/background/workspace-snapshot.d.ts +8 -3
- package/dist/cli/{config-doctor-wk7xzrma.js → config-doctor-yqwm2tfh.js} +2 -2
- package/dist/cli/{curation-policy-npgspa14.js → curation-policy-x5m4x34n.js} +2 -2
- package/dist/cli/{curator-llm-factory-tpc0qg6x.js → curator-llm-factory-24mjnh2y.js} +13 -13
- package/dist/cli/{curator-njzxdyav.js → curator-thrwgwh1.js} +13 -13
- package/dist/cli/{guardrail-explain-75pr3e9z.js → guardrail-explain-nmfq71cm.js} +14 -14
- package/dist/cli/{guardrail-log-783svw0e.js → guardrail-log-2a61rz1w.js} +3 -3
- package/dist/cli/{hive-promoter-nrxjatdx.js → hive-promoter-2nkjjwgc.js} +13 -13
- package/dist/cli/{index-njfcm1tn.js → index-1mq8kmp6.js} +3 -3
- package/dist/cli/{index-ss26e2d4.js → index-2b7sv71f.js} +1 -1
- package/dist/cli/{index-h3k62043.js → index-3nasn371.js} +47 -12
- package/dist/cli/{index-y8vqsm2g.js → index-5f403c30.js} +1 -1
- package/dist/cli/{index-cav39zjt.js → index-6kfqz0jw.js} +3180 -2036
- package/dist/cli/{index-asd9n0ms.js → index-6wya5cqh.js} +1 -1
- package/dist/cli/{index-746ga67b.js → index-8wktghbc.js} +1 -1
- package/dist/cli/{index-n48xwynh.js → index-ddxt327j.js} +1 -1
- package/dist/cli/{index-4cnwvmsm.js → index-mgr951p8.js} +5 -5
- package/dist/cli/{index-a0nk83rk.js → index-q3m6bpx2.js} +2 -2
- package/dist/cli/{index-1bytvz73.js → index-reesz606.js} +2 -2
- package/dist/cli/{index-x60gpbt5.js → index-rjngxx7q.js} +4 -4
- package/dist/cli/{index-v8m282zt.js → index-tsmjmhnk.js} +1 -1
- package/dist/cli/{index-225t7m1j.js → index-txwm0fv4.js} +15 -15
- package/dist/cli/{index-ca44jww3.js → index-y3rj2jgb.js} +1 -1
- package/dist/cli/{index-9299e7d5.js → index-yaptf0hg.js} +2 -2
- package/dist/cli/{index-0dszfjf3.js → index-yqvh2s4w.js} +1 -1
- package/dist/cli/index.js +13 -13
- package/dist/cli/{knowledge-escalator-b3b91k0t.js → knowledge-escalator-fqsavryx.js} +3 -3
- package/dist/cli/{knowledge-events-kyw0s745.js → knowledge-events-ykt8vrvj.js} +1 -1
- package/dist/cli/{knowledge-store-5watc2b2.js → knowledge-store-tpd98m39.js} +1 -1
- package/dist/cli/{knowledge-validator-a4wxkgbc.js → knowledge-validator-kc7fnt2r.js} +4 -4
- package/dist/cli/{scan-cursor-gcd771kn.js → scan-cursor-121b73j0.js} +2 -2
- package/dist/cli/{schema-6eghf6gt.js → schema-jb4p8ja9.js} +1 -1
- package/dist/cli/{skill-generator-8dswjh14.js → skill-generator-m2g5mdva.js} +5 -5
- package/dist/cli/{workspace-snapshot-35qc0y8a.js → workspace-snapshot-9h5za0s6.js} +3 -1
- package/dist/commands/pr-feedback.d.ts +15 -2
- package/dist/git/pr-workflow-state.d.ts +37 -0
- package/dist/hooks/pr-workflow-gate.d.ts +42 -2
- package/dist/hooks/pr-workflow-response-gate.d.ts +3 -0
- package/dist/index.js +490 -476
- package/dist/tools/pr-workflow-status.d.ts +2 -0
- package/dist/tools/pre-check-batch.d.ts +22 -0
- package/dist/tools/prepare-pr-workflow-checkout.d.ts +2 -0
- package/package.json +1 -1
|
@@ -29,9 +29,12 @@ ledger row is marked FIXED, and no PR is published until all three gates pass on
|
|
|
29
29
|
the current diff. There is no speed, efficiency, or time exception. See
|
|
30
30
|
"Mandatory Gates" below for the full protocol.
|
|
31
31
|
|
|
32
|
-
When the work starts from a prior `swarm-pr-review` run,
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
When the work starts from a prior Profile-A `swarm-pr-review` run, use the exact
|
|
33
|
+
user command `/swarm pr-feedback <PR_URL> continue from
|
|
34
|
+
.swarm/pr-review/<run_id>/feedback-handoff.json`. The controller validates the
|
|
35
|
+
terminal review and artifact before atomically creating an unbound feedback
|
|
36
|
+
gate; the artifact alone is not write authorization. Profiles B/C ingest their
|
|
37
|
+
task-workspace handoff directly before triage.
|
|
35
38
|
Carry forward the original review finding IDs, classifications, reviewer/critic
|
|
36
39
|
provenance, and any operational blockers instead of renumbering them as new
|
|
37
40
|
discoveries.
|
|
@@ -175,6 +178,10 @@ tree:
|
|
|
175
178
|
stashes untracked files; move or remove those manually, or abort the checkout.
|
|
176
179
|
Without the controller, surface dirty tracked state to the user or abort the
|
|
177
180
|
checkout — do not blind-stash.
|
|
181
|
+
- Treat `recovery-required` and `indeterminate` controller results as terminal
|
|
182
|
+
for the current attempt: report the typed `required_action`, abort/clear any
|
|
183
|
+
already-active gate, and stop. Only `stashable` permits one preparation call;
|
|
184
|
+
retry only when the controller explicitly returns `retryable: true`.
|
|
178
185
|
- **Check out the head branch locally before dispatching feedback lanes.** Feedback verification reads the working-tree
|
|
179
186
|
filesystem (`Read`/`Glob`/`Grep`), and fixes must land on the PR branch — without a
|
|
180
187
|
checkout you would verify and patch the base branch's code instead. Record the
|
|
@@ -36,9 +36,11 @@ path substituted for `<handoff_artifact_path>`:
|
|
|
36
36
|
|
|
37
37
|
`<run_id>` is a stable identifier for this review run, such as
|
|
38
38
|
`pr-<number>-<YYYYMMDDHHMMSS>` or the existing review artifact run ID when one
|
|
39
|
-
was already created.
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
was already created. Under Profile A, the exact command is parsed mechanically:
|
|
40
|
+
the controller validates the terminal review, the bounded handoff artifact, and
|
|
41
|
+
its provenance before atomically replacing the review gate with an unbound
|
|
42
|
+
feedback gate. Extra trailing text is not permitted on this continuation form.
|
|
43
|
+
Profiles B/C ingest their task-workspace artifact through the skill-managed path.
|
|
42
44
|
|
|
43
45
|
Review closure is not the end of the PR lifecycle: when PR monitoring is
|
|
44
46
|
enabled (`pr_monitor.enabled`), the PR remains subscribed and monitored under
|
|
@@ -211,6 +213,12 @@ Before launching explorers (Phase 3), perform this exact standalone sequence:
|
|
|
211
213
|
contract. Without the controller (Profiles B/C), do not blind-stash over
|
|
212
214
|
dirty state: surface tracked changes to the user, or abort. Do not issue
|
|
213
215
|
`git stash` through shell.
|
|
216
|
+
Treat the controller's Git-state result as final for this attempt: `clean`
|
|
217
|
+
proceeds, `stashable` permits exactly one checkout-preparation call, and
|
|
218
|
+
`recovery-required` or `indeterminate` means report the typed
|
|
219
|
+
`required_action`, abort/clear any already-active gate, and stop. Retry only
|
|
220
|
+
when the controller explicitly returns `retryable: true`; never fight an
|
|
221
|
+
unmerged index or in-progress Git operation with repeated stash attempts.
|
|
214
222
|
3. Fetch the PR head as one standalone command, for example
|
|
215
223
|
`git fetch origin refs/pull/<N>/head`. Do not compose fetch and checkout.
|
|
216
224
|
3a. Fetch the base branch as its own standalone command, for example
|
package/README.md
CHANGED
|
@@ -39,7 +39,7 @@ Most AI coding tools let one model write code and ask that same model whether th
|
|
|
39
39
|
- 🔬 **External Skill Curation Pipeline** — Opt-in discovery, quarantine, evaluation, and promotion of external skill candidates from configured sources (disabled by default; enable via `external_skills.curation_enabled: true` in config). Includes 7 tools: `external_skill_discover`, `external_skill_list`, `external_skill_inspect`, `external_skill_promote`, `external_skill_reject`, `external_skill_delete`, `external_skill_revoke`. Candidates pass through a 3-gate validation pipeline before evaluation: **prompt injection scan** (12 regex patterns), **unsafe instruction scan** (25 patterns), and **provenance integrity check** (SHA-256, timestamp, URL, publisher, and hash verification).
|
|
40
40
|
- 🔄 **Phase completion gates** — completion-verify and drift verifier gates enforced before phase completion
|
|
41
41
|
- 🔁 **Resumable sessions** — all state saved to `.swarm/`; pick up any project any day
|
|
42
|
-
- 🖥️ **PR Monitor** — GitHub PR subscription and background polling via `gh` CLI; delivers real-time CI, review, and merge status updates via the AutomationEventBus (FR-001, opt-in via `pr_monitor.enabled: true`). Subscribe with `/swarm pr subscribe <pr-url|owner/repo#N|N>`; unsubscribe with `/swarm pr unsubscribe <pr-url|owner/repo#N|N>`; check status with `/swarm pr status`.
|
|
42
|
+
- 🖥️ **PR Monitor** — GitHub PR subscription and background polling via `gh` CLI; delivers real-time CI, review, and merge status updates via the AutomationEventBus (FR-001, opt-in via `pr_monitor.enabled: true`). Subscribe with `/swarm pr subscribe <pr-url|owner/repo#N|N>`; unsubscribe with `/swarm pr unsubscribe <pr-url|owner/repo#N|N>`; check status with `/swarm pr status`. With `auto_pr_feedback: true`, CI failures and merge conflicts mechanically activate PR_FEEDBACK only when no other workflow owns the session; otherwise they are durably queued for a later round.
|
|
43
43
|
- 🌐 **13 full language profiles** (TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, C/C++, C#, Ruby, Swift, Dart, PHP) with **tree-sitter parse validation across 20 grammars** (adds CSS, Bash, PowerShell, INI, Regex — and `.tsx` / `.c` aliases) — extending: see [docs/adding-a-language.md](docs/adding-a-language.md)
|
|
44
44
|
- 🛡️ **Built-in security** — SAST, secrets scanning, dependency audit per task
|
|
45
45
|
- 🔒 **Scope enforcement** — Validates write targets against declared scope with cross-process persistence, TTL expiry, and scope-aware destructive command blocking. **Handles both single-string and array-based path arguments** (`files[]`, `paths[]`, `targetFiles[]`) to prevent scope bypass via multi-file tool calls.
|
|
@@ -22,8 +22,10 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import type { OpencodeClient } from '@opencode-ai/sdk';
|
|
24
24
|
import type { PrMonitorConfig } from '../config/schema';
|
|
25
|
+
import { activatePrWorkflow, readPrWorkflowGateState } from '../hooks/pr-workflow-gate';
|
|
25
26
|
import { log } from '../utils';
|
|
26
27
|
import { withTimeout } from '../utils/timeout';
|
|
28
|
+
import { claimPrFeedbackMonitorEvents, readPrFeedbackMonitorQueue } from './pr-feedback-event-queue.js';
|
|
27
29
|
/** A single formatted PR event handed over by pr-event-subscribers. */
|
|
28
30
|
export interface FormattedPrEvent {
|
|
29
31
|
/** Automation event type, e.g. 'pr.ci.failed'. */
|
|
@@ -36,6 +38,8 @@ export interface FormattedPrEvent {
|
|
|
36
38
|
message: string;
|
|
37
39
|
/** `[pr-monitor:<type>:<repo>#<n>]` — used for queue dedup. */
|
|
38
40
|
dedupToken: string;
|
|
41
|
+
/** Lifecycle intake is durable but cannot enter the current workflow yet. */
|
|
42
|
+
disposition?: 'queued-for-later';
|
|
39
43
|
}
|
|
40
44
|
export interface PrEventDeliveryOptions {
|
|
41
45
|
client: OpencodeClient;
|
|
@@ -93,6 +97,10 @@ declare function sendWakePrompt(sessionID: string, events: FormattedPrEvent[], m
|
|
|
93
97
|
export declare const _internals: {
|
|
94
98
|
sendWakePrompt: typeof sendWakePrompt;
|
|
95
99
|
withTimeout: typeof withTimeout;
|
|
100
|
+
readPrWorkflowGateState: typeof readPrWorkflowGateState;
|
|
101
|
+
activatePrWorkflow: typeof activatePrWorkflow;
|
|
102
|
+
readPrFeedbackMonitorQueue: typeof readPrFeedbackMonitorQueue;
|
|
103
|
+
claimPrFeedbackMonitorEvents: typeof claimPrFeedbackMonitorEvents;
|
|
96
104
|
wakePromptTimeoutMs: number;
|
|
97
105
|
log: typeof log;
|
|
98
106
|
};
|
|
@@ -24,10 +24,12 @@
|
|
|
24
24
|
* are deduped by token inside the delivery queue.
|
|
25
25
|
*/
|
|
26
26
|
import type { PrMonitorConfig } from '../config/schema';
|
|
27
|
+
import { activatePrWorkflow, readPrWorkflowGateState } from '../hooks/pr-workflow-gate';
|
|
27
28
|
import { getAgentSession } from '../state';
|
|
28
29
|
import { log } from '../utils';
|
|
29
30
|
import { getGlobalEventBus } from './event-bus';
|
|
30
31
|
import { deliverPrActivity, isPrEventDeliveryRegistered } from './pr-event-delivery';
|
|
32
|
+
import { enqueuePrFeedbackMonitorEvent } from './pr-feedback-event-queue.js';
|
|
31
33
|
import { listActive, updateSnapshot } from './pr-subscriptions';
|
|
32
34
|
export interface PrEventSubscriberOptions {
|
|
33
35
|
directory: string;
|
|
@@ -43,6 +45,9 @@ export declare const _internals: {
|
|
|
43
45
|
listActive: typeof listActive;
|
|
44
46
|
updateSnapshot: typeof updateSnapshot;
|
|
45
47
|
getAgentSession: typeof getAgentSession;
|
|
48
|
+
readPrWorkflowGateState: typeof readPrWorkflowGateState;
|
|
49
|
+
activatePrWorkflow: typeof activatePrWorkflow;
|
|
50
|
+
enqueuePrFeedbackMonitorEvent: typeof enqueuePrFeedbackMonitorEvent;
|
|
46
51
|
deliverPrActivity: typeof deliverPrActivity;
|
|
47
52
|
isPrEventDeliveryRegistered: typeof isPrEventDeliveryRegistered;
|
|
48
53
|
scheduleClearUnaddressed: typeof scheduleClearUnaddressed;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as fsp from 'node:fs/promises';
|
|
2
|
+
export declare const MAX_PR_FEEDBACK_MONITOR_EVENTS = 20;
|
|
3
|
+
export interface PrFeedbackMonitorEvent {
|
|
4
|
+
type: string;
|
|
5
|
+
repoFullName: string;
|
|
6
|
+
prNumber: number;
|
|
7
|
+
prUrl: string;
|
|
8
|
+
message: string;
|
|
9
|
+
dedupToken: string;
|
|
10
|
+
authorized: boolean;
|
|
11
|
+
queuedAt: string;
|
|
12
|
+
claimedWorkflowInstanceId?: string;
|
|
13
|
+
claimedAt?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface PrFeedbackMonitorQueueRecord {
|
|
16
|
+
schemaVersion: 1;
|
|
17
|
+
revision: number;
|
|
18
|
+
sessionID: string;
|
|
19
|
+
events: PrFeedbackMonitorEvent[];
|
|
20
|
+
}
|
|
21
|
+
export declare function enqueuePrFeedbackMonitorEvent(directory: string, sessionID: string, event: Omit<PrFeedbackMonitorEvent, 'claimedWorkflowInstanceId' | 'claimedAt'>): Promise<PrFeedbackMonitorQueueRecord>;
|
|
22
|
+
export declare function readPrFeedbackMonitorQueue(directory: string, sessionID: string): Promise<PrFeedbackMonitorQueueRecord | null>;
|
|
23
|
+
export declare function claimPrFeedbackMonitorEvents(directory: string, sessionID: string, workflowInstanceId: string, prUrl: string, dedupTokens?: readonly string[]): Promise<PrFeedbackMonitorEvent[]>;
|
|
24
|
+
export declare const _internals: {
|
|
25
|
+
queueRelativePath: typeof queueRelativePath;
|
|
26
|
+
queueLockRelativePath: typeof queueLockRelativePath;
|
|
27
|
+
resetQueueCache: () => void;
|
|
28
|
+
rename: typeof fsp.rename;
|
|
29
|
+
nowMs: () => number;
|
|
30
|
+
isProcessAlive: typeof isProcessAlive;
|
|
31
|
+
beforeQueueFileOpen: (() => Promise<void>) | undefined;
|
|
32
|
+
beforeQueueLockWrite: (() => Promise<void>) | undefined;
|
|
33
|
+
};
|
|
34
|
+
declare function isProcessAlive(pid: number): boolean;
|
|
35
|
+
declare function queueRelativePath(sessionID: string): string;
|
|
36
|
+
declare function queueLockRelativePath(sessionID: string): string;
|
|
37
|
+
export {};
|
|
@@ -111,15 +111,20 @@ export declare function resolvePrWorkflowRevisionDigest(directory: string, baseH
|
|
|
111
111
|
export declare function resolvePrWorkflowRevisionDigestAsync(directory: string, baseHeadSha: string): Promise<string | null>;
|
|
112
112
|
/** Parse `git status --porcelain=v1 -z`, including both sides of renames. */
|
|
113
113
|
export declare function parsePorcelainPaths(output: string): string[] | null;
|
|
114
|
-
interface PorcelainV2Snapshot {
|
|
114
|
+
export interface PorcelainV2Snapshot {
|
|
115
115
|
gitHead: string | null;
|
|
116
|
-
|
|
116
|
+
dirtyTrackedPaths: string[];
|
|
117
|
+
untrackedPaths: string[];
|
|
118
|
+
renameOrCopy: boolean;
|
|
119
|
+
unmergedPaths: string[];
|
|
120
|
+
unmergedCodes: string[];
|
|
121
|
+
dirtySubmodulePaths: string[];
|
|
117
122
|
}
|
|
118
123
|
/**
|
|
119
124
|
* Parse the one-command `git status --porcelain=v2 --branch -z` snapshot used
|
|
120
125
|
* by background evidence capture. A malformed or unknown record fails closed.
|
|
121
126
|
*/
|
|
122
|
-
declare function parsePorcelainV2Snapshot(output: string): PorcelainV2Snapshot | null;
|
|
127
|
+
export declare function parsePorcelainV2Snapshot(output: string): PorcelainV2Snapshot | null;
|
|
123
128
|
export declare function captureWorkspaceSnapshot(directory: string, optionsOrScope?: string | null | CaptureWorkspaceSnapshotOptions, prHeadShaArg?: string | null): BackgroundWorkspaceSnapshot;
|
|
124
129
|
/**
|
|
125
130
|
* Conservatively derive final paths changed since a pre-task snapshot.
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
shouldRunOnStartup,
|
|
13
13
|
writeBackupArtifact,
|
|
14
14
|
writeDoctorArtifact
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
15
|
+
} from "./index-2b7sv71f.js";
|
|
16
|
+
import"./index-tsmjmhnk.js";
|
|
17
17
|
import"./index-bk5tah7q.js";
|
|
18
18
|
import"./index-bpmtbmy9.js";
|
|
19
19
|
import"./index-z6xqpmqg.js";
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
authorizeCuration,
|
|
5
5
|
buildConfigFingerprintInput,
|
|
6
6
|
readCohortConfigFingerprint
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-y3rj2jgb.js";
|
|
8
8
|
import"./index-rtry5xyf.js";
|
|
9
|
-
import"./index-
|
|
9
|
+
import"./index-6wya5cqh.js";
|
|
10
10
|
import"./index-ae75rja9.js";
|
|
11
11
|
import"./index-cfkvc5q9.js";
|
|
12
12
|
import"./index-dd7ttx8x.js";
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
createCuratorLLMDelegate
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-6kfqz0jw.js";
|
|
5
5
|
import"./index-13xxjfhn.js";
|
|
6
|
-
import"./index-
|
|
7
|
-
import"./index-
|
|
6
|
+
import"./index-yqvh2s4w.js";
|
|
7
|
+
import"./index-2b7sv71f.js";
|
|
8
8
|
import"./index-8fhg2nt2.js";
|
|
9
9
|
import"./index-4905hd2m.js";
|
|
10
10
|
import"./index-134d35c1.js";
|
|
11
|
-
import"./index-
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
11
|
+
import"./index-1mq8kmp6.js";
|
|
12
|
+
import"./index-mgr951p8.js";
|
|
13
|
+
import"./index-5f403c30.js";
|
|
14
14
|
import"./index-vxv732ex.js";
|
|
15
15
|
import"./index-c8s9a3zh.js";
|
|
16
16
|
import"./index-9ss2m4rs.js";
|
|
17
17
|
import"./index-wk1h5ec2.js";
|
|
18
18
|
import"./index-1j3682j8.js";
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
19
|
+
import"./index-q3m6bpx2.js";
|
|
20
|
+
import"./index-y3rj2jgb.js";
|
|
21
21
|
import"./index-rtry5xyf.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
22
|
+
import"./index-rjngxx7q.js";
|
|
23
|
+
import"./index-6wya5cqh.js";
|
|
24
24
|
import"./index-ae75rja9.js";
|
|
25
25
|
import"./index-cfkvc5q9.js";
|
|
26
26
|
import"./index-dd7ttx8x.js";
|
|
27
|
-
import"./index-
|
|
27
|
+
import"./index-ddxt327j.js";
|
|
28
28
|
import"./index-k5jrywpr.js";
|
|
29
29
|
import"./index-n832052r.js";
|
|
30
|
-
import"./index-
|
|
30
|
+
import"./index-tsmjmhnk.js";
|
|
31
31
|
import"./index-bk5tah7q.js";
|
|
32
32
|
import"./index-8fwhhayc.js";
|
|
33
33
|
import"./index-q1exe2b3.js";
|
|
@@ -49,7 +49,7 @@ import"./index-z6xqpmqg.js";
|
|
|
49
49
|
import"./index-zjygnfay.js";
|
|
50
50
|
import"./index-qe3v54nb.js";
|
|
51
51
|
import"./index-zgwm4ryv.js";
|
|
52
|
-
import"./index-
|
|
52
|
+
import"./index-3nasn371.js";
|
|
53
53
|
import"./index-a76rekgs.js";
|
|
54
54
|
export {
|
|
55
55
|
createCuratorLLMDelegate
|
|
@@ -14,33 +14,33 @@ import {
|
|
|
14
14
|
runCuratorInit,
|
|
15
15
|
runCuratorPhase,
|
|
16
16
|
writeCuratorSummary
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-6kfqz0jw.js";
|
|
18
18
|
import"./index-13xxjfhn.js";
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
19
|
+
import"./index-yqvh2s4w.js";
|
|
20
|
+
import"./index-2b7sv71f.js";
|
|
21
21
|
import"./index-8fhg2nt2.js";
|
|
22
22
|
import"./index-4905hd2m.js";
|
|
23
23
|
import"./index-134d35c1.js";
|
|
24
|
-
import"./index-
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
24
|
+
import"./index-1mq8kmp6.js";
|
|
25
|
+
import"./index-mgr951p8.js";
|
|
26
|
+
import"./index-5f403c30.js";
|
|
27
27
|
import"./index-vxv732ex.js";
|
|
28
28
|
import"./index-c8s9a3zh.js";
|
|
29
29
|
import"./index-9ss2m4rs.js";
|
|
30
30
|
import"./index-wk1h5ec2.js";
|
|
31
31
|
import"./index-1j3682j8.js";
|
|
32
|
-
import"./index-
|
|
33
|
-
import"./index-
|
|
32
|
+
import"./index-q3m6bpx2.js";
|
|
33
|
+
import"./index-y3rj2jgb.js";
|
|
34
34
|
import"./index-rtry5xyf.js";
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
35
|
+
import"./index-rjngxx7q.js";
|
|
36
|
+
import"./index-6wya5cqh.js";
|
|
37
37
|
import"./index-ae75rja9.js";
|
|
38
38
|
import"./index-cfkvc5q9.js";
|
|
39
39
|
import"./index-dd7ttx8x.js";
|
|
40
|
-
import"./index-
|
|
40
|
+
import"./index-ddxt327j.js";
|
|
41
41
|
import"./index-k5jrywpr.js";
|
|
42
42
|
import"./index-n832052r.js";
|
|
43
|
-
import"./index-
|
|
43
|
+
import"./index-tsmjmhnk.js";
|
|
44
44
|
import"./index-bk5tah7q.js";
|
|
45
45
|
import"./index-8fwhhayc.js";
|
|
46
46
|
import"./index-q1exe2b3.js";
|
|
@@ -62,7 +62,7 @@ import"./index-z6xqpmqg.js";
|
|
|
62
62
|
import"./index-zjygnfay.js";
|
|
63
63
|
import"./index-qe3v54nb.js";
|
|
64
64
|
import"./index-zgwm4ryv.js";
|
|
65
|
-
import"./index-
|
|
65
|
+
import"./index-3nasn371.js";
|
|
66
66
|
import"./index-a76rekgs.js";
|
|
67
67
|
export {
|
|
68
68
|
writeCuratorSummary,
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailExplain
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
4
|
+
} from "./index-yaptf0hg.js";
|
|
5
|
+
import"./index-6kfqz0jw.js";
|
|
6
6
|
import"./index-13xxjfhn.js";
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
import"./index-yqvh2s4w.js";
|
|
8
|
+
import"./index-2b7sv71f.js";
|
|
9
9
|
import"./index-8fhg2nt2.js";
|
|
10
10
|
import"./index-4905hd2m.js";
|
|
11
11
|
import"./index-134d35c1.js";
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
14
|
-
import"./index-
|
|
12
|
+
import"./index-1mq8kmp6.js";
|
|
13
|
+
import"./index-mgr951p8.js";
|
|
14
|
+
import"./index-5f403c30.js";
|
|
15
15
|
import"./index-vxv732ex.js";
|
|
16
16
|
import"./index-c8s9a3zh.js";
|
|
17
17
|
import"./index-9ss2m4rs.js";
|
|
18
18
|
import"./index-wk1h5ec2.js";
|
|
19
19
|
import"./index-1j3682j8.js";
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
20
|
+
import"./index-q3m6bpx2.js";
|
|
21
|
+
import"./index-y3rj2jgb.js";
|
|
22
22
|
import"./index-rtry5xyf.js";
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
23
|
+
import"./index-rjngxx7q.js";
|
|
24
|
+
import"./index-6wya5cqh.js";
|
|
25
25
|
import"./index-ae75rja9.js";
|
|
26
26
|
import"./index-cfkvc5q9.js";
|
|
27
27
|
import"./index-dd7ttx8x.js";
|
|
28
|
-
import"./index-
|
|
28
|
+
import"./index-ddxt327j.js";
|
|
29
29
|
import"./index-k5jrywpr.js";
|
|
30
30
|
import"./index-n832052r.js";
|
|
31
|
-
import"./index-
|
|
31
|
+
import"./index-tsmjmhnk.js";
|
|
32
32
|
import"./index-bk5tah7q.js";
|
|
33
33
|
import"./index-8fwhhayc.js";
|
|
34
34
|
import"./index-q1exe2b3.js";
|
|
@@ -50,7 +50,7 @@ import"./index-z6xqpmqg.js";
|
|
|
50
50
|
import"./index-zjygnfay.js";
|
|
51
51
|
import"./index-qe3v54nb.js";
|
|
52
52
|
import"./index-zgwm4ryv.js";
|
|
53
|
-
import"./index-
|
|
53
|
+
import"./index-3nasn371.js";
|
|
54
54
|
import"./index-a76rekgs.js";
|
|
55
55
|
export {
|
|
56
56
|
handleGuardrailExplain
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailLog
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
4
|
+
} from "./index-8wktghbc.js";
|
|
5
|
+
import"./index-yqvh2s4w.js";
|
|
6
|
+
import"./index-tsmjmhnk.js";
|
|
7
7
|
import"./index-bk5tah7q.js";
|
|
8
8
|
import"./index-bpmtbmy9.js";
|
|
9
9
|
import"./index-z6xqpmqg.js";
|
|
@@ -7,35 +7,35 @@ import {
|
|
|
7
7
|
isHiveEligible,
|
|
8
8
|
promoteFromSwarm,
|
|
9
9
|
promoteToHive
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-6kfqz0jw.js";
|
|
11
11
|
import"./index-13xxjfhn.js";
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
12
|
+
import"./index-yqvh2s4w.js";
|
|
13
|
+
import"./index-2b7sv71f.js";
|
|
14
14
|
import"./index-8fhg2nt2.js";
|
|
15
15
|
import"./index-4905hd2m.js";
|
|
16
16
|
import"./index-134d35c1.js";
|
|
17
|
-
import"./index-
|
|
18
|
-
import"./index-
|
|
19
|
-
import"./index-
|
|
17
|
+
import"./index-1mq8kmp6.js";
|
|
18
|
+
import"./index-mgr951p8.js";
|
|
19
|
+
import"./index-5f403c30.js";
|
|
20
20
|
import"./index-vxv732ex.js";
|
|
21
21
|
import"./index-c8s9a3zh.js";
|
|
22
22
|
import"./index-9ss2m4rs.js";
|
|
23
23
|
import"./index-wk1h5ec2.js";
|
|
24
24
|
import"./index-1j3682j8.js";
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
25
|
+
import"./index-q3m6bpx2.js";
|
|
26
|
+
import"./index-y3rj2jgb.js";
|
|
27
27
|
import"./index-rtry5xyf.js";
|
|
28
28
|
import {
|
|
29
29
|
resolveHiveKnowledgePath
|
|
30
|
-
} from "./index-
|
|
31
|
-
import"./index-
|
|
30
|
+
} from "./index-rjngxx7q.js";
|
|
31
|
+
import"./index-6wya5cqh.js";
|
|
32
32
|
import"./index-ae75rja9.js";
|
|
33
33
|
import"./index-cfkvc5q9.js";
|
|
34
34
|
import"./index-dd7ttx8x.js";
|
|
35
|
-
import"./index-
|
|
35
|
+
import"./index-ddxt327j.js";
|
|
36
36
|
import"./index-k5jrywpr.js";
|
|
37
37
|
import"./index-n832052r.js";
|
|
38
|
-
import"./index-
|
|
38
|
+
import"./index-tsmjmhnk.js";
|
|
39
39
|
import"./index-bk5tah7q.js";
|
|
40
40
|
import"./index-8fwhhayc.js";
|
|
41
41
|
import"./index-q1exe2b3.js";
|
|
@@ -57,7 +57,7 @@ import"./index-z6xqpmqg.js";
|
|
|
57
57
|
import"./index-zjygnfay.js";
|
|
58
58
|
import"./index-qe3v54nb.js";
|
|
59
59
|
import"./index-zgwm4ryv.js";
|
|
60
|
-
import"./index-
|
|
60
|
+
import"./index-3nasn371.js";
|
|
61
61
|
import"./index-a76rekgs.js";
|
|
62
62
|
export {
|
|
63
63
|
resolveHiveKnowledgePath,
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ALLOWED_SKILL_PATH_PREFIXES,
|
|
4
4
|
validateSkillPath
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-q3m6bpx2.js";
|
|
6
6
|
import {
|
|
7
7
|
computeOutcomeSignal,
|
|
8
8
|
readKnowledge,
|
|
9
9
|
resolveHiveKnowledgePath,
|
|
10
10
|
resolveSwarmKnowledgePath,
|
|
11
11
|
transactKnowledge
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-rjngxx7q.js";
|
|
13
13
|
import {
|
|
14
14
|
effectiveRetrievalOutcomes,
|
|
15
15
|
readKnowledgeCounterRollups
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-6wya5cqh.js";
|
|
17
17
|
import {
|
|
18
18
|
init_knowledge_types,
|
|
19
19
|
isActiveStatus
|
|
@@ -651,41 +651,71 @@ function parsePorcelainV2Snapshot(output) {
|
|
|
651
651
|
`).match(/^# branch\.oid (.+)$/m);
|
|
652
652
|
if (!oidMatch)
|
|
653
653
|
return null;
|
|
654
|
-
|
|
655
|
-
|
|
654
|
+
if (!/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/i.test(oidMatch[1]) && oidMatch[1] !== "(initial)") {
|
|
655
|
+
return null;
|
|
656
|
+
}
|
|
657
|
+
const gitHead = oidMatch[1] === "(initial)" ? null : oidMatch[1];
|
|
658
|
+
const dirtyTrackedPaths = [];
|
|
659
|
+
const untrackedPaths = [];
|
|
660
|
+
const unmergedPaths = [];
|
|
661
|
+
const unmergedCodes = [];
|
|
662
|
+
const dirtySubmodulePaths = [];
|
|
663
|
+
let renameOrCopy = false;
|
|
656
664
|
for (let index = 0;index < records.length; index++) {
|
|
657
665
|
const record = records[index];
|
|
658
666
|
if (!record)
|
|
659
667
|
continue;
|
|
660
668
|
if (record.startsWith("? ")) {
|
|
661
|
-
|
|
669
|
+
untrackedPaths.push(record.slice(2));
|
|
662
670
|
continue;
|
|
663
671
|
}
|
|
664
672
|
if (record.startsWith("1 ")) {
|
|
673
|
+
const fields = record.split(" ");
|
|
665
674
|
const changedPath = porcelainV2PathAfterFields(record, 8);
|
|
666
|
-
if (!changedPath)
|
|
675
|
+
if (!changedPath || !fields[2])
|
|
667
676
|
return null;
|
|
668
|
-
|
|
677
|
+
dirtyTrackedPaths.push(changedPath);
|
|
678
|
+
if (fields[2] !== "N...")
|
|
679
|
+
dirtySubmodulePaths.push(changedPath);
|
|
669
680
|
continue;
|
|
670
681
|
}
|
|
671
682
|
if (record.startsWith("2 ")) {
|
|
683
|
+
const fields = record.split(" ");
|
|
672
684
|
const changedPath = porcelainV2PathAfterFields(record, 9);
|
|
673
685
|
const originalPath = records[++index];
|
|
674
|
-
if (!changedPath || !originalPath)
|
|
686
|
+
if (!changedPath || !originalPath || !fields[2])
|
|
675
687
|
return null;
|
|
676
|
-
|
|
688
|
+
renameOrCopy = true;
|
|
689
|
+
dirtyTrackedPaths.push(changedPath, originalPath);
|
|
690
|
+
if (fields[2] !== "N...")
|
|
691
|
+
dirtySubmodulePaths.push(changedPath);
|
|
677
692
|
continue;
|
|
678
693
|
}
|
|
679
694
|
if (record.startsWith("u ")) {
|
|
695
|
+
const fields = record.split(" ");
|
|
680
696
|
const changedPath = porcelainV2PathAfterFields(record, 10);
|
|
681
|
-
|
|
697
|
+
const unmergedCode = fields[1];
|
|
698
|
+
if (!changedPath || !fields[2] || !unmergedCode || !/^(?:DD|AU|UD|UA|DU|AA|UU)$/.test(unmergedCode)) {
|
|
682
699
|
return null;
|
|
683
|
-
|
|
700
|
+
}
|
|
701
|
+
unmergedPaths.push(changedPath);
|
|
702
|
+
unmergedCodes.push(unmergedCode);
|
|
703
|
+
dirtyTrackedPaths.push(changedPath);
|
|
704
|
+
if (fields[2] !== "N...")
|
|
705
|
+
dirtySubmodulePaths.push(changedPath);
|
|
684
706
|
continue;
|
|
685
707
|
}
|
|
686
708
|
return null;
|
|
687
709
|
}
|
|
688
|
-
return {
|
|
710
|
+
return {
|
|
711
|
+
gitHead,
|
|
712
|
+
dirtyTrackedPaths: [...new Set(dirtyTrackedPaths)],
|
|
713
|
+
untrackedPaths: [...new Set(untrackedPaths)],
|
|
714
|
+
renameOrCopy,
|
|
715
|
+
unmergedPaths: [...new Set(unmergedPaths)],
|
|
716
|
+
unmergedCodes: [...new Set(unmergedCodes)],
|
|
717
|
+
dirtySubmodulePaths: [...new Set(dirtySubmodulePaths)]
|
|
718
|
+
};
|
|
689
719
|
}
|
|
690
720
|
function porcelainV2PathAfterFields(record, fields) {
|
|
691
721
|
let offset = 0;
|
|
@@ -722,7 +752,12 @@ function captureWorkspaceSnapshot(directory, optionsOrScope = null, prHeadShaArg
|
|
|
722
752
|
directory: path.resolve(directory),
|
|
723
753
|
gitHead: snapshot?.gitHead ?? null,
|
|
724
754
|
dirtyHash: porcelain === null ? null : digest(porcelain),
|
|
725
|
-
changedFiles: snapshot
|
|
755
|
+
changedFiles: snapshot ? [
|
|
756
|
+
...new Set([
|
|
757
|
+
...snapshot.dirtyTrackedPaths,
|
|
758
|
+
...snapshot.untrackedPaths
|
|
759
|
+
])
|
|
760
|
+
] : null,
|
|
726
761
|
prHeadSha,
|
|
727
762
|
scope
|
|
728
763
|
};
|
|
@@ -790,4 +825,4 @@ var _internals = {
|
|
|
790
825
|
parsePorcelainV2Snapshot
|
|
791
826
|
};
|
|
792
827
|
|
|
793
|
-
export { readGitTextAtRevision, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveExactMergeBase, resolveExactMergeBaseAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolveCurrentUpstreamRemoteRef, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, resolveGitControlStateDigest, resolveGitControlStateDigestAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestAsync, parsePorcelainPaths, captureWorkspaceSnapshot, changedFilesSinceSnapshot, workspaceSnapshotMatches, compareWorkspaceSnapshot, compareWorkspaceSnapshots, digest, _internals };
|
|
828
|
+
export { readGitTextAtRevision, resolveCurrentGitHead, resolveCurrentGitHeadAsync, resolveExactMergeBase, resolveExactMergeBaseAsync, resolvePrReviewDiffStats, resolvePrReviewDiffStatsAsync, resolveCurrentUpstreamRemoteRef, resolveCurrentUpstreamPushTarget, resolveCurrentUpstreamPushTargetAsync, resolveExactRemoteBranchHead, resolveExactRemoteBranchHeadAsync, resolveGitControlStateDigest, resolveGitControlStateDigestAsync, resolveIsWorkingTreeClean, resolveIsWorkingTreeCleanAsync, resolveCommitCountSince, resolveCommitCountSinceAsync, resolveIsExactSingleChildCommit, resolveIsExactSingleChildCommitAsync, resolveRemoteRefsContainingHead, resolveRemoteRefsContainingHeadAsync, resolvePrWorkflowRevisionDigest, resolvePrWorkflowRevisionDigestAsync, parsePorcelainPaths, parsePorcelainV2Snapshot, captureWorkspaceSnapshot, changedFilesSinceSnapshot, workspaceSnapshotMatches, compareWorkspaceSnapshot, compareWorkspaceSnapshots, digest, _internals };
|