opencode-swarm 7.152.1 → 7.153.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/.opencode/skills/swarm-pr-review/SKILL.md +10 -10
- package/dist/background/pending-delegations.d.ts +7 -0
- package/dist/cli/{capability-probe-va4kk8vg.js → capability-probe-5wa7mcp6.js} +3 -2
- package/dist/cli/{config-doctor-bbqmye7a.js → config-doctor-ze21qs6b.js} +3 -3
- package/dist/cli/{core-fh4e6ex0.js → core-qdmhh1kx.js} +2 -2
- package/dist/cli/{curation-policy-nem98yc9.js → curation-policy-twa6agf8.js} +7 -7
- package/dist/cli/{curator-909s9dvs.js → curator-hxb3wsxr.js} +32 -33
- package/dist/cli/curator-llm-factory-s8atmc2n.js +64 -0
- package/dist/cli/{evidence-summary-service-kqw4y0yr.js → evidence-summary-service-wzzym9r7.js} +15 -15
- package/dist/cli/{gate-evidence-ycts62pj.js → gate-evidence-f71dn9vv.js} +8 -8
- package/dist/cli/guardrail-explain-5kzeem4m.js +65 -0
- package/dist/cli/{guardrail-log-e1tmdxxa.js → guardrail-log-38jnajpa.js} +6 -6
- package/dist/cli/{guardrail-reset-gdnaxxvb.js → guardrail-reset-wzvtmpn2.js} +32 -33
- package/dist/cli/{hive-promoter-d0xydg6r.js → hive-promoter-55qcqgfx.js} +32 -33
- package/dist/cli/{index-x6803sxh.js → index-0tyc8kdg.js} +2 -2
- package/dist/cli/{index-z8s2asdk.js → index-0tzv5zg2.js} +22 -150
- package/dist/cli/{index-3djxegsc.js → index-1akn19mp.js} +1 -1
- package/dist/cli/{index-q77e475x.js → index-1dtshrzg.js} +5 -5
- package/dist/cli/{index-73pmnsjg.js → index-1gzdnjg9.js} +2 -2
- package/dist/cli/{index-4tvvh7pn.js → index-23rneydq.js} +36 -35
- package/dist/cli/{index-z4bg1hv8.js → index-2mqmvxac.js} +9 -2
- package/dist/cli/index-3cegckkq.js +239 -0
- package/dist/cli/{index-pvrap7xg.js → index-3ttktt56.js} +1 -1
- package/dist/cli/{index-85gkedsf.js → index-4fwbbad3.js} +521 -15
- package/dist/cli/{index-qqrdmaxq.js → index-4g0g3dqz.js} +2 -2
- package/dist/cli/{index-44xdtqz8.js → index-4pjkdcgc.js} +1 -1
- package/dist/cli/{index-29vd7v3e.js → index-6vgb5fyb.js} +1 -1
- package/dist/cli/{index-sg2sx2q7.js → index-6ybjrqf7.js} +13095 -9360
- package/dist/cli/{index-txbd25bc.js → index-891g7hbf.js} +1 -1
- package/dist/cli/{index-02ajc6d1.js → index-8v9sj4aq.js} +2 -2
- package/dist/cli/{index-z9fyd0d6.js → index-9v8d3c0k.js} +450 -48
- package/dist/cli/{index-26vyr198.js → index-af0cqe6n.js} +16 -16
- package/dist/cli/{index-ryecg2st.js → index-ajkxx2k6.js} +3 -3
- package/dist/cli/{index-k3d919yf.js → index-gn26q90p.js} +85 -24
- package/dist/cli/{index-0tfgn5x0.js → index-k10qtq71.js} +9 -9
- package/dist/cli/{index-xyfdmrv7.js → index-mb7b1gye.js} +3 -3
- package/dist/cli/{index-0q2mjxp2.js → index-meg33yyv.js} +1 -1
- package/dist/cli/{index-cpg98bh1.js → index-myt57pht.js} +1 -1
- package/dist/cli/{index-2e1294d1.js → index-n5pxkera.js} +16 -10
- package/dist/cli/{index-n0vc5b5t.js → index-n823qsae.js} +16 -7
- package/dist/cli/{index-6zkm4p7p.js → index-pk1gbqmq.js} +1 -1
- package/dist/cli/{index-nd8tkb3g.js → index-smqsp8hs.js} +5 -5
- package/dist/cli/{index-7fh82sm1.js → index-td0jz8xe.js} +6 -6
- package/dist/cli/{index-dn6yt0xg.js → index-tdzbm974.js} +7 -7
- package/dist/cli/{index-rq6aetkv.js → index-v689bmr2.js} +4 -4
- package/dist/cli/{index-79g6edht.js → index-x3y6zhgj.js} +1 -1
- package/dist/cli/{index-aw492hpn.js → index-x8vw6ap1.js} +58 -41
- package/dist/cli/{index-96m8ckpq.js → index-xkjrg9k4.js} +4 -4
- package/dist/cli/{index-mken64yj.js → index-zppxpc3y.js} +2 -2
- package/dist/cli/index.js +32 -33
- package/dist/cli/{knowledge-escalator-4egcr928.js → knowledge-escalator-w05ztgvk.js} +13 -13
- package/dist/cli/{knowledge-events-kdyv4jzn.js → knowledge-events-pwm9jc0m.js} +11 -11
- package/dist/cli/{knowledge-link-h8cwj7af.js → knowledge-link-ge0rddxw.js} +6 -6
- package/dist/cli/{knowledge-store-dq3cvg53.js → knowledge-store-4xv65tj2.js} +7 -7
- package/dist/cli/{knowledge-validator-4bhtden9.js → knowledge-validator-0ttfsca7.js} +9 -9
- package/dist/cli/{model-preflight-7ea00h34.js → model-preflight-b95w8wxy.js} +1 -1
- package/dist/cli/{pending-delegations-a2nmssr1.js → pending-delegations-nk78wx7h.js} +4 -4
- package/dist/cli/{pr-subscriptions-7879nq5k.js → pr-subscriptions-dq1f61ye.js} +4 -4
- package/dist/cli/{runner-w81n9js3.js → runner-n50w1y4w.js} +7 -7
- package/dist/cli/{scan-cursor-2eezv81a.js → scan-cursor-b6n15w8d.js} +8 -8
- package/dist/cli/{schema-v4qcqhek.js → schema-jkbfwqr2.js} +2 -2
- package/dist/cli/{scope-persistence-y2r227r0.js → scope-persistence-5xt2m5ep.js} +10 -10
- package/dist/cli/{skill-generator-hhzxvb3h.js → skill-generator-3keadpf7.js} +15 -15
- package/dist/cli/{telemetry-52pw5xac.js → telemetry-hh1j99za.js} +1 -1
- package/dist/cli/{worktree-collision-ownership-p31zm5k0.js → worktree-collision-ownership-4drcjymy.js} +15 -10
- package/dist/cli/{worktree-isolation-ve338ez6.js → worktree-isolation-1ymaxn4h.js} +32 -33
- package/dist/commands/approve-write.d.ts +1 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/lanes.d.ts +25 -0
- package/dist/commands/registry.d.ts +7 -0
- package/dist/config/schema.d.ts +39 -4
- package/dist/consensus/contracts.d.ts +14 -0
- package/dist/consensus/corpus.d.ts +16 -0
- package/dist/hooks/delegation-gate/worktree-isolation.d.ts +50 -3
- package/dist/hooks/delegation-gate/worktree-provisioning-owner.d.ts +40 -2
- package/dist/hooks/delegation-gate/worktree-recovery-authority.d.ts +201 -0
- package/dist/hooks/full-auto-permission.d.ts +7 -0
- package/dist/hooks/guardrails/index.d.ts +2 -1
- package/dist/hooks/guardrails/tool-before.d.ts +4 -0
- package/dist/hooks/init-orphan-recovery.d.ts +5 -1
- package/dist/hooks/pr-workflow-gate.d.ts +12 -0
- package/dist/hooks/scope-guard.d.ts +1 -3
- package/dist/hooks/trajectory-logger.d.ts +22 -6
- package/dist/hooks/trajectory-step-state.d.ts +43 -2
- package/dist/index.js +645 -622
- package/dist/learning/provenance.d.ts +9 -0
- package/dist/observability/catalog.d.ts +6 -4
- package/dist/prm/index.d.ts +3 -3
- package/dist/prm/replay.d.ts +29 -2
- package/dist/prm/trajectory-store.d.ts +210 -20
- package/dist/sandbox/capability-probe.d.ts +40 -1
- package/dist/sandbox/executor.d.ts +26 -1
- package/dist/sandbox/linux/bubblewrap-executor.d.ts +3 -1
- package/dist/sandbox/macos/sandbox-exec-executor.d.ts +3 -1
- package/dist/sandbox/skip-state.d.ts +24 -0
- package/dist/sandbox/win32/native-sandbox-executor.d.ts +5 -1
- package/dist/security/command-classifier.d.ts +22 -0
- package/dist/security/protected-input-integrity.d.ts +19 -0
- package/dist/security/protected-path-policy.d.ts +9 -0
- package/dist/security/write-authority.d.ts +46 -0
- package/dist/services/diagnose-service.d.ts +1 -1
- package/dist/services/skill-generator.d.ts +2 -0
- package/dist/services/skill-improver.d.ts +69 -0
- package/dist/telemetry.d.ts +21 -1
- package/dist/tools/dispatch-lanes.d.ts +47 -0
- package/dist/tools/repo-graph/query.d.ts +2 -1
- package/dist/tools/repo-graph/types.d.ts +64 -0
- package/dist/tools/repo-graph.d.ts +1 -1
- package/dist/tools/skill-improve.d.ts +7 -0
- package/dist/utils/atomic-write.d.ts +2 -0
- package/dist/utils/canonical-root.d.ts +31 -0
- package/dist/workflow/coder-settlement.d.ts +2 -0
- package/dist/worktree/index.d.ts +2 -2
- package/dist/worktree/merge.d.ts +47 -0
- package/package.json +2 -1
- package/dist/cli/curator-llm-factory-462rysph.js +0 -65
- package/dist/cli/guardrail-explain-7620hasq.js +0 -66
- package/dist/cli/index-3g0xk6tk.js +0 -219
- package/dist/cli/index-fxvgaeq4.js +0 -125
- package/dist/cli/worktree-provisioning-owner-cve95q4f.js +0 -22
- package/dist/cli/{curator-drift-2h1d2fnq.js → curator-drift-h57z6tm3.js} +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @bun
|
|
2
|
+
import {
|
|
3
|
+
loadDatabaseCtor
|
|
4
|
+
} from "./index-134d35c1.js";
|
|
2
5
|
import {
|
|
3
6
|
EvaluationRunV1Schema,
|
|
4
7
|
GateAuditResultV1Schema,
|
|
5
8
|
getProtectedEvaluationRunIds
|
|
6
|
-
} from "./index-
|
|
7
|
-
import {
|
|
8
|
-
loadDatabaseCtor
|
|
9
|
-
} from "./index-134d35c1.js";
|
|
9
|
+
} from "./index-1gzdnjg9.js";
|
|
10
10
|
import {
|
|
11
11
|
readEffectiveSpecSync
|
|
12
12
|
} from "./index-9ss2m4rs.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
readTaskEvidence,
|
|
24
24
|
readTaskEvidenceRaw,
|
|
25
25
|
sanitizeTaskId
|
|
26
|
-
} from "./index-
|
|
26
|
+
} from "./index-9v8d3c0k.js";
|
|
27
27
|
import {
|
|
28
28
|
LedgerStaleWriterError,
|
|
29
29
|
appendLedgerEvent,
|
|
@@ -43,15 +43,15 @@ import {
|
|
|
43
43
|
replayFromLedgerWithStatus,
|
|
44
44
|
takeSnapshotEvent,
|
|
45
45
|
takeSnapshotWithRetry
|
|
46
|
-
} from "./index-
|
|
46
|
+
} from "./index-mb7b1gye.js";
|
|
47
47
|
import {
|
|
48
48
|
appendCoreEventSync
|
|
49
|
-
} from "./index-
|
|
49
|
+
} from "./index-pk1gbqmq.js";
|
|
50
50
|
import {
|
|
51
51
|
init_executor,
|
|
52
52
|
isUntrustedEnvKey,
|
|
53
53
|
isValidEnvKey
|
|
54
|
-
} from "./index-
|
|
54
|
+
} from "./index-4fwbbad3.js";
|
|
55
55
|
import {
|
|
56
56
|
EVIDENCE_MAX_JSON_BYTES,
|
|
57
57
|
EvidenceBundleSchema,
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
} from "./index-r3mvsbtq.js";
|
|
69
69
|
import {
|
|
70
70
|
PlanSchema
|
|
71
|
-
} from "./index-
|
|
71
|
+
} from "./index-1akn19mp.js";
|
|
72
72
|
import {
|
|
73
73
|
GIT_BINARY_ENV_VAR,
|
|
74
74
|
describeGitResolution,
|
|
@@ -79,18 +79,18 @@ import {
|
|
|
79
79
|
assertProjectRoot,
|
|
80
80
|
tryAcquireLock,
|
|
81
81
|
withEvidenceLock
|
|
82
|
-
} from "./index-
|
|
82
|
+
} from "./index-891g7hbf.js";
|
|
83
|
+
import {
|
|
84
|
+
invalidateCachedArtifact,
|
|
85
|
+
readCachedParsedFile
|
|
86
|
+
} from "./index-ed5ykebp.js";
|
|
83
87
|
import {
|
|
84
88
|
emit
|
|
85
|
-
} from "./index-
|
|
89
|
+
} from "./index-x8vw6ap1.js";
|
|
86
90
|
import {
|
|
87
91
|
ZodError,
|
|
88
92
|
init_zod
|
|
89
93
|
} from "./index-bpmtbmy9.js";
|
|
90
|
-
import {
|
|
91
|
-
invalidateCachedArtifact,
|
|
92
|
-
readCachedParsedFile
|
|
93
|
-
} from "./index-ed5ykebp.js";
|
|
94
94
|
import {
|
|
95
95
|
criticalWarn,
|
|
96
96
|
error,
|
|
@@ -4345,4 +4345,4 @@ function mergeDurableGateEntriesFromEvidence(taskId, entries, evidence) {
|
|
|
4345
4345
|
return merged;
|
|
4346
4346
|
}
|
|
4347
4347
|
|
|
4348
|
-
export { projectDbExists, getProjectDb, closeProjectDb, normalizePath, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, validateSymlinkBoundary, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, updateTaskStatus, derivePlanMarkdown, isValidEvidenceType, isSecretscanEvidence, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
|
|
4348
|
+
export { projectDbExists, getProjectDb, closeProjectDb, normalizePath, buildTaskCompletionDescriptor, ensureTaskCheckpointReceipt, updateTaskCheckpointReceipt, MAX_TRANSIENT_RETRIES, isTransientSpawnError, transientBackoff, getGitRepositoryStatus, isGitRepo, getDefaultBaseBranch, detectDefaultRemoteBranch, resetToRemoteBranch, resetToMainAfterMerge, containsPathTraversal, containsControlChars, validateSymlinkBoundary, validateTargetWithinRoot, isStateUnreadable, loadEpicSessionState, isEpicModeActive, enableEpicMode, disableEpicMode, pathsConflict, isGlobalFile, isProtectedPath, readTaskScopes, loadPlanJsonOnly, loadPlan, savePlan, closePlanTerminalState, updateTaskStatus, derivePlanMarkdown, isValidEvidenceType, isSecretscanEvidence, sanitizeTaskId2 as sanitizeTaskId, validateProjectRoot, saveEvidence, loadEvidence, listEvidenceTaskIds, checkRequirementCoverage, archiveEvidence, readDurableGateEvidence, getDurableGateEvidenceStatus, getDurableGateEvidenceStatusForTask, mergeDurableGateEntriesFromEvidence };
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
init_loader,
|
|
4
4
|
loadPluginConfigWithMeta
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-1akn19mp.js";
|
|
6
6
|
import {
|
|
7
7
|
init_schema
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-n823qsae.js";
|
|
9
9
|
import {
|
|
10
10
|
DEFAULT_WORKTREE_ISOLATION_CONFIG,
|
|
11
11
|
init_constants
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-myt57pht.js";
|
|
13
13
|
|
|
14
14
|
// src/config/index.ts
|
|
15
15
|
init_constants();
|
|
@@ -11,13 +11,13 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
init_schema,
|
|
13
13
|
stripKnownSwarmPrefix
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-n823qsae.js";
|
|
15
15
|
import {
|
|
16
16
|
init_constants
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-myt57pht.js";
|
|
18
18
|
import {
|
|
19
19
|
telemetry
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-x8vw6ap1.js";
|
|
21
21
|
import {
|
|
22
22
|
init_logger,
|
|
23
23
|
warn
|
|
@@ -1768,7 +1768,7 @@ function classifyFile(filePath) {
|
|
|
1768
1768
|
// src/hooks/guardrails/file-authority.ts
|
|
1769
1769
|
import * as fsSync from "fs";
|
|
1770
1770
|
var import_picomatch = __toESM(require_picomatch2(), 1);
|
|
1771
|
-
import * as
|
|
1771
|
+
import * as path2 from "path";
|
|
1772
1772
|
|
|
1773
1773
|
// node_modules/quick-lru/index.js
|
|
1774
1774
|
class QuickLRU extends Map {
|
|
@@ -2045,6 +2045,64 @@ class QuickLRU extends Map {
|
|
|
2045
2045
|
// src/hooks/guardrails/file-authority.ts
|
|
2046
2046
|
init_schema();
|
|
2047
2047
|
|
|
2048
|
+
// src/security/protected-path-policy.ts
|
|
2049
|
+
import * as path from "path";
|
|
2050
|
+
var DEFAULT_SEGMENTS = new Set([
|
|
2051
|
+
".git",
|
|
2052
|
+
".swarm",
|
|
2053
|
+
".env",
|
|
2054
|
+
"package.json",
|
|
2055
|
+
"package-lock.json",
|
|
2056
|
+
"bun.lock",
|
|
2057
|
+
"CHANGELOG.md",
|
|
2058
|
+
".release-please-manifest.json",
|
|
2059
|
+
"release-please-config.json",
|
|
2060
|
+
"CODEOWNERS"
|
|
2061
|
+
]);
|
|
2062
|
+
var DEFAULT_PREFIXES = [
|
|
2063
|
+
".github/workflows",
|
|
2064
|
+
".github/CODEOWNERS",
|
|
2065
|
+
"src/sandbox",
|
|
2066
|
+
"src/hooks/guardrails",
|
|
2067
|
+
"src/security",
|
|
2068
|
+
"src/evaluation",
|
|
2069
|
+
"docs/releases",
|
|
2070
|
+
"tests/fixtures/evaluation"
|
|
2071
|
+
];
|
|
2072
|
+
function normalizeProtectedPath(value) {
|
|
2073
|
+
return value.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/+$/, "");
|
|
2074
|
+
}
|
|
2075
|
+
function equalsOrDescendant(candidate, protectedPath) {
|
|
2076
|
+
const left = process.platform === "win32" ? candidate.toLowerCase() : candidate;
|
|
2077
|
+
const right = process.platform === "win32" ? protectedPath.toLowerCase() : protectedPath;
|
|
2078
|
+
return left === right || left.startsWith(`${right}/`);
|
|
2079
|
+
}
|
|
2080
|
+
function isPolicyProtectedPath(filePath, options = {}) {
|
|
2081
|
+
if (!filePath)
|
|
2082
|
+
return false;
|
|
2083
|
+
const normalized = normalizeProtectedPath(filePath);
|
|
2084
|
+
const segments = normalized.split("/").filter(Boolean);
|
|
2085
|
+
if (options.includeDefaults !== false) {
|
|
2086
|
+
if (segments.some((segment) => DEFAULT_SEGMENTS.has(process.platform === "win32" ? segment.toLowerCase() : segment)))
|
|
2087
|
+
return true;
|
|
2088
|
+
if (DEFAULT_PREFIXES.some((prefix) => equalsOrDescendant(normalized, prefix)))
|
|
2089
|
+
return true;
|
|
2090
|
+
}
|
|
2091
|
+
return (options.additional ?? []).some((entry) => {
|
|
2092
|
+
const protectedPath = normalizeProtectedPath(entry);
|
|
2093
|
+
if (!protectedPath)
|
|
2094
|
+
return false;
|
|
2095
|
+
if (equalsOrDescendant(normalized, protectedPath))
|
|
2096
|
+
return true;
|
|
2097
|
+
if (protectedPath.includes("/"))
|
|
2098
|
+
return false;
|
|
2099
|
+
return segments.some((segment) => (process.platform === "win32" ? segment.toLowerCase() : segment) === (process.platform === "win32" ? protectedPath.toLowerCase() : protectedPath));
|
|
2100
|
+
});
|
|
2101
|
+
}
|
|
2102
|
+
function protectedRoots(projectRoot, additional = []) {
|
|
2103
|
+
return [...DEFAULT_PREFIXES, ...DEFAULT_SEGMENTS, ...additional].map((entry) => path.resolve(projectRoot, entry));
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2048
2106
|
// src/utils/arg-hash.ts
|
|
2049
2107
|
var HASH_INPUT_CAP_BYTES = 64 * 1024;
|
|
2050
2108
|
|
|
@@ -2079,12 +2137,12 @@ function normalizePathWithCache(filePath, cwd) {
|
|
|
2079
2137
|
return cached;
|
|
2080
2138
|
}
|
|
2081
2139
|
try {
|
|
2082
|
-
const absolutePath =
|
|
2140
|
+
const absolutePath = path2.isAbsolute(filePath) ? filePath : path2.resolve(cwd, filePath);
|
|
2083
2141
|
const normalized = fsSync.realpathSync(absolutePath);
|
|
2084
2142
|
pathNormalizationCache.set(cacheKey, normalized);
|
|
2085
2143
|
return normalized;
|
|
2086
2144
|
} catch {
|
|
2087
|
-
const fallback =
|
|
2145
|
+
const fallback = path2.isAbsolute(filePath) ? filePath : path2.resolve(cwd, filePath);
|
|
2088
2146
|
pathNormalizationCache.set(cacheKey, fallback);
|
|
2089
2147
|
return fallback;
|
|
2090
2148
|
}
|
|
@@ -2232,7 +2290,7 @@ var DEFAULT_AGENT_AUTHORITY_RULES = {
|
|
|
2232
2290
|
}
|
|
2233
2291
|
};
|
|
2234
2292
|
function matchesAuthorityDenyPrefix(candidate, prefix, cwd, flavor = getPathFlavor()) {
|
|
2235
|
-
const pathImpl = flavor === "win32" ?
|
|
2293
|
+
const pathImpl = flavor === "win32" ? path2.win32 : path2.posix;
|
|
2236
2294
|
const normalizeInput = (value) => flavor === "win32" ? value.replace(/\//g, "\\") : value;
|
|
2237
2295
|
const normalizedPrefixInput = normalizeInput(prefix);
|
|
2238
2296
|
const requiresComponentBoundary = normalizedPrefixInput.endsWith(pathImpl.sep);
|
|
@@ -2277,8 +2335,8 @@ function buildEffectiveRules(authorityConfig) {
|
|
|
2277
2335
|
}
|
|
2278
2336
|
return merged;
|
|
2279
2337
|
}
|
|
2280
|
-
function isOnDifferentFilesystemRoot(targetAbsolute, cwdAbsolute, pathLib =
|
|
2281
|
-
const flavor = pathLib ===
|
|
2338
|
+
function isOnDifferentFilesystemRoot(targetAbsolute, cwdAbsolute, pathLib = path2) {
|
|
2339
|
+
const flavor = pathLib === path2.win32 || pathLib.parse("C:\\probe").root !== "" ? "win32" : "posix";
|
|
2282
2340
|
return isOnDifferentPathRoot(targetAbsolute, cwdAbsolute, flavor);
|
|
2283
2341
|
}
|
|
2284
2342
|
var BUILT_IN_VERIFIER_CONFIG_GLOBS = [
|
|
@@ -2349,11 +2407,11 @@ function checkFileAuthorityWithRules(agentName, filePath, cwd, effectiveRules, o
|
|
|
2349
2407
|
let resolvedTarget;
|
|
2350
2408
|
try {
|
|
2351
2409
|
const normalizedWithSymlinks = normalizePathWithCache(filePath, dir);
|
|
2352
|
-
resolvedTarget =
|
|
2353
|
-
normalizedPath =
|
|
2410
|
+
resolvedTarget = path2.resolve(dir, normalizedWithSymlinks);
|
|
2411
|
+
normalizedPath = path2.relative(dir, resolvedTarget).replace(/\\/g, "/");
|
|
2354
2412
|
} catch {
|
|
2355
|
-
resolvedTarget =
|
|
2356
|
-
normalizedPath =
|
|
2413
|
+
resolvedTarget = path2.resolve(dir, filePath);
|
|
2414
|
+
normalizedPath = path2.relative(dir, resolvedTarget).replace(/\\/g, "/");
|
|
2357
2415
|
}
|
|
2358
2416
|
if (isOnDifferentFilesystemRoot(resolvedTarget, dir)) {
|
|
2359
2417
|
return denyAuthority(agentName, normalizedPath, {
|
|
@@ -2381,7 +2439,7 @@ function checkFileAuthorityWithRules(agentName, filePath, cwd, effectiveRules, o
|
|
|
2381
2439
|
});
|
|
2382
2440
|
}
|
|
2383
2441
|
const flavor = getPathFlavor();
|
|
2384
|
-
const matchesPathPrefix = (candidate, prefix) => isPathIdentityWithin(
|
|
2442
|
+
const matchesPathPrefix = (candidate, prefix) => isPathIdentityWithin(path2.resolve(dir, candidate), path2.resolve(dir, prefix), flavor);
|
|
2385
2443
|
const matchesGlob = (glob) => getGlobMatcher(glob)(normalizedPath);
|
|
2386
2444
|
for (const prefix of options.universalDenyPrefixes ?? []) {
|
|
2387
2445
|
if (matchesAuthorityDenyPrefix(normalizedPath, prefix, dir, flavor)) {
|
|
@@ -2394,12 +2452,15 @@ function checkFileAuthorityWithRules(agentName, filePath, cwd, effectiveRules, o
|
|
|
2394
2452
|
}
|
|
2395
2453
|
}
|
|
2396
2454
|
const isCoderAgent = normalizedAgent === "coder" || strippedAgent === "coder";
|
|
2397
|
-
if (isCoderAgent &&
|
|
2455
|
+
if (isCoderAgent && isPolicyProtectedPath(normalizedPath, {
|
|
2456
|
+
includeDefaults: false,
|
|
2457
|
+
additional: [".git", ".swarm"]
|
|
2458
|
+
})) {
|
|
2398
2459
|
return denyAuthority(agentName, normalizedPath, {
|
|
2399
2460
|
code: "AUTHORITY_PROTECTED_PATH",
|
|
2400
2461
|
layer: "protected-path",
|
|
2401
|
-
rule: "coder-
|
|
2402
|
-
detail: "coder writes to .swarm are always protected"
|
|
2462
|
+
rule: "coder-control-state-protection",
|
|
2463
|
+
detail: "coder writes to repository control state (.git/.swarm) are always protected"
|
|
2403
2464
|
});
|
|
2404
2465
|
}
|
|
2405
2466
|
const isSwarmRole = Object.hasOwn(AUTHORITY_ROLE_CAPABILITIES, strippedAgent);
|
|
@@ -2608,7 +2669,7 @@ function redactShellCommand(cmd) {
|
|
|
2608
2669
|
|
|
2609
2670
|
// src/hooks/guardrails/shell-audit-store.ts
|
|
2610
2671
|
import * as fs from "fs";
|
|
2611
|
-
import * as
|
|
2672
|
+
import * as path3 from "path";
|
|
2612
2673
|
import { StringDecoder } from "string_decoder";
|
|
2613
2674
|
init_logger();
|
|
2614
2675
|
var SHELL_AUDIT_LIMITS = {
|
|
@@ -2718,10 +2779,10 @@ var _internals = {
|
|
|
2718
2779
|
emitHealth: emitShellAuditHealth
|
|
2719
2780
|
};
|
|
2720
2781
|
function shellAuditFilePath(directory) {
|
|
2721
|
-
return
|
|
2782
|
+
return path3.join(directory, ".swarm", "session", "shell-audit.jsonl");
|
|
2722
2783
|
}
|
|
2723
2784
|
function lockFilePath(directory) {
|
|
2724
|
-
return
|
|
2785
|
+
return path3.join(directory, ".swarm", "session", "shell-audit.lock");
|
|
2725
2786
|
}
|
|
2726
2787
|
function tmpPathFor(finalPath) {
|
|
2727
2788
|
return `${finalPath}.${process.pid}.tmp`;
|
|
@@ -2864,7 +2925,7 @@ function renameSyncWithRetry(fromPath, toPath) {
|
|
|
2864
2925
|
function tryLockOnce(directory) {
|
|
2865
2926
|
const lockPath = lockFilePath(directory);
|
|
2866
2927
|
try {
|
|
2867
|
-
_internals.mkdirSync(
|
|
2928
|
+
_internals.mkdirSync(path3.dirname(lockPath), { recursive: true });
|
|
2868
2929
|
const fd = _internals.openSync(lockPath, "wx");
|
|
2869
2930
|
_internals.closeSync(fd);
|
|
2870
2931
|
return true;
|
|
@@ -3264,7 +3325,7 @@ function emitHealth(directory, payload) {
|
|
|
3264
3325
|
// src/hooks/guardrails/audit-log.ts
|
|
3265
3326
|
init_logger();
|
|
3266
3327
|
import { createHash } from "crypto";
|
|
3267
|
-
import * as
|
|
3328
|
+
import * as path4 from "path";
|
|
3268
3329
|
var SHELL_AUDIT_FIELD_CLASSES = Object.freeze({
|
|
3269
3330
|
ts: "timestamp",
|
|
3270
3331
|
sessionID: "identifier",
|
|
@@ -3298,7 +3359,7 @@ function redactPath(filePath) {
|
|
|
3298
3359
|
if (rawMacHomeMatch) {
|
|
3299
3360
|
return `~${rawMacHomeMatch[2]}`;
|
|
3300
3361
|
}
|
|
3301
|
-
const normalized =
|
|
3362
|
+
const normalized = path4.normalize(filePath);
|
|
3302
3363
|
const windowsHomeMatch = normalized.match(/^([A-Za-z]:\\[Uu][Ss][Ee][Rr][Ss]\\[^\\]+)(\\.*)$/i);
|
|
3303
3364
|
if (windowsHomeMatch) {
|
|
3304
3365
|
return `~\\${windowsHomeMatch[2]}`;
|
|
@@ -3360,4 +3421,4 @@ function redactDecisionLineForArchive(line) {
|
|
|
3360
3421
|
return changed ? JSON.stringify(record) : line;
|
|
3361
3422
|
}
|
|
3362
3423
|
|
|
3363
|
-
export { classifyFile, stableCanonicalStringify, checkFileAuthority, normalizeToolNameLowerCase, isInDeclaredScope, redactShellCommand, readShellAuditTail, getShellAuditFoldedSummary, finalizeShellAuditForClose, redactPath, redactDecisionLineForArchive };
|
|
3424
|
+
export { isPolicyProtectedPath, protectedRoots, classifyFile, stableCanonicalStringify, checkFileAuthority, normalizeToolNameLowerCase, isInDeclaredScope, redactShellCommand, readShellAuditTail, getShellAuditFoldedSummary, finalizeShellAuditForClose, redactPath, redactDecisionLineForArchive };
|
|
@@ -6,20 +6,20 @@ import {
|
|
|
6
6
|
} from "./index-ae75rja9.js";
|
|
7
7
|
import {
|
|
8
8
|
resolveKnowledgeStoreDir
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-x3y6zhgj.js";
|
|
10
10
|
import {
|
|
11
11
|
atomicWriteFile
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-zppxpc3y.js";
|
|
13
13
|
import {
|
|
14
14
|
init_knowledge_types,
|
|
15
15
|
isActiveStatus
|
|
16
16
|
} from "./index-bk5tah7q.js";
|
|
17
|
-
import {
|
|
18
|
-
require_proper_lockfile
|
|
19
|
-
} from "./index-7g4c7s5r.js";
|
|
20
17
|
import {
|
|
21
18
|
readCachedParsedFile
|
|
22
19
|
} from "./index-ed5ykebp.js";
|
|
20
|
+
import {
|
|
21
|
+
require_proper_lockfile
|
|
22
|
+
} from "./index-7g4c7s5r.js";
|
|
23
23
|
import {
|
|
24
24
|
init_logger,
|
|
25
25
|
log
|
|
@@ -713,7 +713,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
713
713
|
const {
|
|
714
714
|
readAuthoritativeKnowledgeCounterRollups,
|
|
715
715
|
effectiveRetrievalOutcomes
|
|
716
|
-
} = await import("./knowledge-events-
|
|
716
|
+
} = await import("./knowledge-events-pwm9jc0m.js");
|
|
717
717
|
const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
|
|
718
718
|
const flagIds = new Set;
|
|
719
719
|
for (const e of atFloor) {
|
|
@@ -780,11 +780,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
|
|
|
780
780
|
});
|
|
781
781
|
}
|
|
782
782
|
if (action === "quarantine" && toQuarantine.length > 0) {
|
|
783
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
784
|
-
const { KnowledgeConfigSchema } = await import("./schema-
|
|
783
|
+
const { quarantineEntry } = await import("./knowledge-validator-0ttfsca7.js");
|
|
784
|
+
const { KnowledgeConfigSchema } = await import("./schema-jkbfwqr2.js");
|
|
785
785
|
let config;
|
|
786
786
|
try {
|
|
787
|
-
const { loadPluginConfigWithMeta } = await import("./index-
|
|
787
|
+
const { loadPluginConfigWithMeta } = await import("./index-xkjrg9k4.js");
|
|
788
788
|
const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
|
|
789
789
|
config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
|
|
790
790
|
} catch {
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
PlanSchema,
|
|
5
5
|
TaskStatusSchema,
|
|
6
6
|
init_loader
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-1akn19mp.js";
|
|
8
8
|
import {
|
|
9
9
|
assertProjectRoot,
|
|
10
10
|
withEvidenceLock
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-891g7hbf.js";
|
|
12
12
|
import {
|
|
13
13
|
emit
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-x8vw6ap1.js";
|
|
15
15
|
import {
|
|
16
16
|
criticalWarn,
|
|
17
17
|
init_logger,
|
|
@@ -795,7 +795,7 @@ var init_tool_metadata = __esm(() => {
|
|
|
795
795
|
agents: ["architect"]
|
|
796
796
|
},
|
|
797
797
|
collect_lane_results: {
|
|
798
|
-
description: "collect or poll results for a dispatch_lanes_async batch;
|
|
798
|
+
description: "collect or poll results for a dispatch_lanes_async batch; a pure OBSERVER that never cancels or terminalizes child work unless you explicitly pass cancel_pending. Supports both non-blocking polling (wait omitted or false) and blocking join (wait: true). The wait budget bounds the observer call only \u2014 its expiry never kills a lane and is not evidence a lane died, so do not abort the workflow because a collection expired; poll again, cancel explicitly, or rely on the presumed-stale backstop. Any unsettled lane is reported in pending_lanes (batch_id, lane_id, stored status, output_ref when present) regardless of include_pending; busy/retry lanes are not timed out just because they run for a long time. Does not advance workflow gates. Inline output for a settled lane is delivered only once: later polls of the same lane set output_omitted_repeat: true and omit output, but still include output_ref for recovery via retrieve_lane_output.",
|
|
799
799
|
agents: ["architect"]
|
|
800
800
|
},
|
|
801
801
|
summarize_work: {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
ALLOWED_SKILL_PATH_PREFIXES,
|
|
4
4
|
validateSkillPath
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-v689bmr2.js";
|
|
6
6
|
import {
|
|
7
7
|
withTimeoutSignal
|
|
8
8
|
} from "./index-q7sjgr1y.js";
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
resolveHiveKnowledgePath,
|
|
13
13
|
resolveSwarmKnowledgePath,
|
|
14
14
|
transactKnowledge
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-k10qtq71.js";
|
|
16
16
|
import {
|
|
17
17
|
effectiveRetrievalOutcomes,
|
|
18
18
|
readAuthoritativeKnowledgeCounterRollups
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-tdzbm974.js";
|
|
20
20
|
import {
|
|
21
21
|
advisoryWarn,
|
|
22
22
|
init_warning_buffer
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
import {
|
|
29
29
|
atomicWriteFileAnyRoot,
|
|
30
30
|
atomicWriteSwarmFile
|
|
31
|
-
} from "./index-
|
|
31
|
+
} from "./index-td0jz8xe.js";
|
|
32
32
|
import {
|
|
33
33
|
init_logger,
|
|
34
34
|
log,
|
|
@@ -1083,6 +1083,7 @@ async function atomicWrite2(p, content) {
|
|
|
1083
1083
|
await atomicWriteFileAnyRoot(p, content);
|
|
1084
1084
|
}
|
|
1085
1085
|
async function generateSkills(req) {
|
|
1086
|
+
const preview = req.preview === true;
|
|
1086
1087
|
const minConfidence = req.minConfidence ?? DEFAULT_SKILL_MIN_CONFIDENCE;
|
|
1087
1088
|
const minConfirmations = req.minConfirmations ?? DEFAULT_SKILL_MIN_CONFIRMATIONS;
|
|
1088
1089
|
const candidates = await selectCandidateEntries(req.directory, {
|
|
@@ -1158,7 +1159,9 @@ async function generateSkills(req) {
|
|
|
1158
1159
|
}
|
|
1159
1160
|
}
|
|
1160
1161
|
let content = renderSkillMarkdown(cluster, req.mode);
|
|
1161
|
-
|
|
1162
|
+
if (!preview) {
|
|
1163
|
+
await writeEvalStub(req.directory, cluster.slug, generateEvalStub(cluster));
|
|
1164
|
+
}
|
|
1162
1165
|
if (await isRejectedSkillContent(req.directory, cluster.slug, content)) {
|
|
1163
1166
|
result.skipped.push({
|
|
1164
1167
|
slug: cluster.slug,
|
|
@@ -1167,7 +1170,7 @@ async function generateSkills(req) {
|
|
|
1167
1170
|
continue;
|
|
1168
1171
|
}
|
|
1169
1172
|
let evaluation;
|
|
1170
|
-
if (req.evaluate) {
|
|
1173
|
+
if (req.evaluate && !preview) {
|
|
1171
1174
|
let incumbentContent;
|
|
1172
1175
|
const existingActivePath = activePath(req.directory, cluster.slug);
|
|
1173
1176
|
if (existsSync2(existingActivePath)) {
|
|
@@ -1201,18 +1204,20 @@ async function generateSkills(req) {
|
|
|
1201
1204
|
}
|
|
1202
1205
|
}
|
|
1203
1206
|
let missingSourceIds = [];
|
|
1204
|
-
if (req.mode === "active") {
|
|
1207
|
+
if (!preview && req.mode === "active") {
|
|
1205
1208
|
const idsToStamp = req.sourceKnowledgeIds?.length ? req.sourceKnowledgeIds : cluster.entries.map((e) => e.id);
|
|
1206
1209
|
const { missing } = await stampSourceEntries(req.directory, cluster.slug, idsToStamp);
|
|
1207
1210
|
missingSourceIds = missing;
|
|
1208
1211
|
if (missingSourceIds.length > 0) {
|
|
1209
1212
|
content = injectMissingIdsIntoFrontmatter(content, missingSourceIds);
|
|
1210
1213
|
}
|
|
1211
|
-
} else if (req.mode === "draft") {
|
|
1214
|
+
} else if (!preview && req.mode === "draft") {
|
|
1212
1215
|
const idsToStamp = req.sourceKnowledgeIds?.length ? req.sourceKnowledgeIds : cluster.entries.map((e) => e.id);
|
|
1213
1216
|
await stampSourceEntries(req.directory, cluster.slug, idsToStamp, "draft");
|
|
1214
1217
|
}
|
|
1215
|
-
|
|
1218
|
+
if (!preview) {
|
|
1219
|
+
await atomicWrite2(targetPath, content);
|
|
1220
|
+
}
|
|
1216
1221
|
result.written.push({
|
|
1217
1222
|
slug: cluster.slug,
|
|
1218
1223
|
path: targetPath,
|
|
@@ -1220,7 +1225,8 @@ async function generateSkills(req) {
|
|
|
1220
1225
|
sourceKnowledgeIds: cluster.entries.map((e) => e.id),
|
|
1221
1226
|
missingSourceKnowledgeIds: missingSourceIds,
|
|
1222
1227
|
preserved,
|
|
1223
|
-
evaluation
|
|
1228
|
+
evaluation,
|
|
1229
|
+
...preview ? { content } : {}
|
|
1224
1230
|
});
|
|
1225
1231
|
}
|
|
1226
1232
|
return result;
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
ALL_AGENT_NAMES,
|
|
4
4
|
SUMMARIZER_EXEMPT_TOOL_NAMES,
|
|
5
5
|
init_constants
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-myt57pht.js";
|
|
7
7
|
import {
|
|
8
8
|
OUTCOME_BLOCK_THRESHOLD,
|
|
9
9
|
init_knowledge_types
|
|
@@ -21,7 +21,7 @@ var package_default;
|
|
|
21
21
|
var init_package = __esm(() => {
|
|
22
22
|
package_default = {
|
|
23
23
|
name: "opencode-swarm",
|
|
24
|
-
version: "7.
|
|
24
|
+
version: "7.153.1",
|
|
25
25
|
description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
|
|
26
26
|
main: "dist/index.js",
|
|
27
27
|
types: "dist/index.d.ts",
|
|
@@ -132,6 +132,7 @@ var init_package = __esm(() => {
|
|
|
132
132
|
"check:retention": "bun run scripts/check-retention-registry.ts",
|
|
133
133
|
"check:core-events": "bun run scripts/check-core-events-usage.ts",
|
|
134
134
|
"check:shell-audit": "bun run scripts/check-shell-audit-usage.ts",
|
|
135
|
+
"check:trajectory-store": "bun run scripts/check-trajectory-store-usage.ts",
|
|
135
136
|
"check:test-file-cap": "bun run scripts/check-test-file-cap.ts",
|
|
136
137
|
"check:pending-fragment": "bun run scripts/check-pending-fragment.ts",
|
|
137
138
|
"check:gate-portability": "bun run scripts/check-gate-portability.ts",
|
|
@@ -784,11 +785,19 @@ var init_schema = __esm(() => {
|
|
|
784
785
|
execution_stall_warn_calls: exports_external.number().int().min(1).default(30),
|
|
785
786
|
execution_stall_stop_calls: exports_external.number().int().min(1).default(60),
|
|
786
787
|
execution_stall_episode_minutes: exports_external.number().int().min(1).default(30),
|
|
787
|
-
sandbox_macos_enabled: exports_external.boolean().optional()
|
|
788
|
+
sandbox_macos_enabled: exports_external.boolean().optional(),
|
|
789
|
+
sandbox: exports_external.object({
|
|
790
|
+
mode: exports_external.enum(["advisory", "required"]).default("advisory"),
|
|
791
|
+
require_filesystem: exports_external.boolean().default(false),
|
|
792
|
+
require_network: exports_external.boolean().default(false),
|
|
793
|
+
require_process: exports_external.boolean().default(false),
|
|
794
|
+
network_mode: exports_external.enum(["off", "on"]).default("off"),
|
|
795
|
+
network_allowlist: exports_external.array(exports_external.string().min(1)).max(128).default([]),
|
|
796
|
+
writable_roots: exports_external.array(exports_external.string().min(1)).max(128).default([])
|
|
797
|
+
}).optional()
|
|
788
798
|
});
|
|
789
799
|
WatchdogConfigSchema = exports_external.object({
|
|
790
800
|
scope_guard: exports_external.boolean().default(true),
|
|
791
|
-
skip_in_turbo: exports_external.boolean().default(false),
|
|
792
801
|
delegation_ledger: exports_external.boolean().default(true)
|
|
793
802
|
});
|
|
794
803
|
SelfReviewConfigSchema = exports_external.object({
|
|
@@ -1341,7 +1350,7 @@ var init_schema = __esm(() => {
|
|
|
1341
1350
|
stuck_on_test: 3,
|
|
1342
1351
|
context_thrash: 10
|
|
1343
1352
|
})),
|
|
1344
|
-
max_trajectory_lines: exports_external.number().min(10).default(1000),
|
|
1353
|
+
max_trajectory_lines: exports_external.number().min(10).max(1e4).default(1000),
|
|
1345
1354
|
escalation_enabled: exports_external.boolean().default(true),
|
|
1346
1355
|
detection_timeout_ms: exports_external.number().min(10).default(100)
|
|
1347
1356
|
});
|
|
@@ -1601,14 +1610,14 @@ var init_schema = __esm(() => {
|
|
|
1601
1610
|
enabled: false
|
|
1602
1611
|
};
|
|
1603
1612
|
DEFAULT_PR_REVIEW_RESILIENCE_CONFIG = {
|
|
1604
|
-
enabled:
|
|
1613
|
+
enabled: false,
|
|
1605
1614
|
canary_probe_ms: 300000,
|
|
1606
1615
|
status_probe_timeout_ms: 2000,
|
|
1607
1616
|
correlated_failure_threshold: 2,
|
|
1608
1617
|
max_retry_attempts_after_initial: 2
|
|
1609
1618
|
};
|
|
1610
1619
|
PrReviewResilienceConfigSchema = exports_external.object({
|
|
1611
|
-
enabled: exports_external.boolean().default(
|
|
1620
|
+
enabled: exports_external.boolean().default(false),
|
|
1612
1621
|
canary_probe_ms: exports_external.number().int().min(1).max(3600000).default(300000),
|
|
1613
1622
|
status_probe_timeout_ms: exports_external.number().int().min(1).max(60000).default(2000),
|
|
1614
1623
|
correlated_failure_threshold: exports_external.number().int().min(2).max(8).default(2),
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
resolveSwarmKnowledgePath,
|
|
7
7
|
transactKnowledge,
|
|
8
8
|
wordBigrams
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-k10qtq71.js";
|
|
10
10
|
import {
|
|
11
11
|
queryHistoricalOutcomes,
|
|
12
12
|
readKnowledgeEvents,
|
|
13
13
|
recordKnowledgeEvent
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-tdzbm974.js";
|
|
15
15
|
import {
|
|
16
16
|
init_knowledge_types,
|
|
17
17
|
isActiveStatus
|
|
@@ -224,11 +224,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
|
|
|
224
224
|
alreadyInactive: true
|
|
225
225
|
};
|
|
226
226
|
}
|
|
227
|
-
const { quarantineEntry } = await import("./knowledge-validator-
|
|
227
|
+
const { quarantineEntry } = await import("./knowledge-validator-0ttfsca7.js");
|
|
228
228
|
let policyConfig;
|
|
229
229
|
try {
|
|
230
|
-
const { KnowledgeConfigSchema } = await import("./schema-
|
|
231
|
-
const { loadPluginConfigWithMeta } = await import("./index-
|
|
230
|
+
const { KnowledgeConfigSchema } = await import("./schema-jkbfwqr2.js");
|
|
231
|
+
const { loadPluginConfigWithMeta } = await import("./index-xkjrg9k4.js");
|
|
232
232
|
const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
|
|
233
233
|
policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
|
|
234
234
|
} catch {
|