nexus-agents 2.145.0 → 2.146.0
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/{chunk-5QACHQ47.js → chunk-256RUC4U.js} +239 -200
- package/dist/{chunk-5QACHQ47.js.map → chunk-256RUC4U.js.map} +1 -1
- package/dist/{chunk-QKWS3REM.js → chunk-45QUEZNS.js} +2 -2
- package/dist/{chunk-I6JU4HEN.js → chunk-4XQE5A7P.js} +2 -2
- package/dist/{chunk-ZRRL3YB6.js → chunk-I5T7GUM7.js} +4 -194
- package/dist/chunk-I5T7GUM7.js.map +1 -0
- package/dist/chunk-RCQLUJY3.js +208 -0
- package/dist/chunk-RCQLUJY3.js.map +1 -0
- package/dist/{chunk-J2KMYVWA.js → chunk-RII4VXHO.js} +34 -1
- package/dist/{chunk-J2KMYVWA.js.map → chunk-RII4VXHO.js.map} +1 -1
- package/dist/{chunk-4IELVEVP.js → chunk-XZ4QHFCD.js} +3 -3
- package/dist/{chunk-AREFLH3S.js → chunk-Y4NDNQYU.js} +2 -2
- package/dist/cli.js +17 -10
- package/dist/cli.js.map +1 -1
- package/dist/{consensus-vote-6V3JNRXI.js → consensus-vote-IBT3C5YC.js} +4 -3
- package/dist/{improvement-review-K7YYYZCJ.js → improvement-review-WMDMS32T.js} +4 -3
- package/dist/index.d.ts +33 -1
- package/dist/index.js +19 -17
- package/dist/index.js.map +1 -1
- package/dist/{issue-triage-44OGWBDA.js → issue-triage-R7DMXIEN.js} +3 -2
- package/dist/{setup-command-FUT4W5P4.js → setup-command-BALYXSMI.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-ZRRL3YB6.js.map +0 -1
- /package/dist/{chunk-QKWS3REM.js.map → chunk-45QUEZNS.js.map} +0 -0
- /package/dist/{chunk-I6JU4HEN.js.map → chunk-4XQE5A7P.js.map} +0 -0
- /package/dist/{chunk-4IELVEVP.js.map → chunk-XZ4QHFCD.js.map} +0 -0
- /package/dist/{chunk-AREFLH3S.js.map → chunk-Y4NDNQYU.js.map} +0 -0
- /package/dist/{consensus-vote-6V3JNRXI.js.map → consensus-vote-IBT3C5YC.js.map} +0 -0
- /package/dist/{improvement-review-K7YYYZCJ.js.map → improvement-review-WMDMS32T.js.map} +0 -0
- /package/dist/{issue-triage-44OGWBDA.js.map → issue-triage-R7DMXIEN.js.map} +0 -0
- /package/dist/{setup-command-FUT4W5P4.js.map → setup-command-BALYXSMI.js.map} +0 -0
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
DEFAULT_TASK_TTL_MS,
|
|
19
19
|
DEFAULT_TOOL_RATE_LIMITS,
|
|
20
20
|
clampTaskTtl
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-XZ4QHFCD.js";
|
|
22
22
|
import {
|
|
23
23
|
executeExpert
|
|
24
24
|
} from "./chunk-YJROHCFY.js";
|
|
@@ -41,24 +41,21 @@ import {
|
|
|
41
41
|
toJobSummary,
|
|
42
42
|
warnIfSimulatedOutsideTests,
|
|
43
43
|
writeJobCancelled
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-45QUEZNS.js";
|
|
45
45
|
import {
|
|
46
46
|
normalizeTopicToCanonical,
|
|
47
47
|
synthesizeResearch
|
|
48
48
|
} from "./chunk-SCPAYR65.js";
|
|
49
49
|
import {
|
|
50
|
-
IssueTriage
|
|
51
|
-
|
|
52
|
-
createGraphAuditBridge,
|
|
53
|
-
emitPipelinePolicyEvent
|
|
54
|
-
} from "./chunk-ZRRL3YB6.js";
|
|
50
|
+
IssueTriage
|
|
51
|
+
} from "./chunk-I5T7GUM7.js";
|
|
55
52
|
import {
|
|
56
53
|
resolveEnvMode,
|
|
57
54
|
sanitizeInput
|
|
58
55
|
} from "./chunk-GEGV6DBO.js";
|
|
59
56
|
import {
|
|
60
57
|
withPrerequisite
|
|
61
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-Y4NDNQYU.js";
|
|
62
59
|
import {
|
|
63
60
|
NOOP_NOTIFIER,
|
|
64
61
|
RateLimiter,
|
|
@@ -78,9 +75,15 @@ import {
|
|
|
78
75
|
toolSuccess,
|
|
79
76
|
toolSuccessStructured,
|
|
80
77
|
withAccessPolicy,
|
|
78
|
+
withAuditTrail,
|
|
81
79
|
withProgressHeartbeat,
|
|
82
80
|
wrapToolWithTimeout
|
|
83
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-RII4VXHO.js";
|
|
82
|
+
import {
|
|
83
|
+
createAuditTrail,
|
|
84
|
+
createGraphAuditBridge,
|
|
85
|
+
emitPipelinePolicyEvent
|
|
86
|
+
} from "./chunk-RCQLUJY3.js";
|
|
84
87
|
import {
|
|
85
88
|
addResearchPaper,
|
|
86
89
|
addSourceToRegistry,
|
|
@@ -32577,6 +32580,173 @@ function hashObjective(userObjective) {
|
|
|
32577
32580
|
return createHash2("sha256").update(userObjective, "utf8").digest("hex").slice(0, 16);
|
|
32578
32581
|
}
|
|
32579
32582
|
|
|
32583
|
+
// src/security/audit-bridge.ts
|
|
32584
|
+
var logger31 = createLogger({ component: "SecurityAuditBridge" });
|
|
32585
|
+
function systemActor(id, name) {
|
|
32586
|
+
return name !== void 0 ? { type: "system", id, name } : { type: "system", id };
|
|
32587
|
+
}
|
|
32588
|
+
function userActor(username) {
|
|
32589
|
+
return { type: "user", id: username };
|
|
32590
|
+
}
|
|
32591
|
+
function mapTrust(e) {
|
|
32592
|
+
const severity = e.wasDowngraded ? "warning" : "info";
|
|
32593
|
+
return {
|
|
32594
|
+
category: "authorization",
|
|
32595
|
+
severity,
|
|
32596
|
+
outcome: "success",
|
|
32597
|
+
action: "security.trust_classification",
|
|
32598
|
+
actor: userActor(e.username),
|
|
32599
|
+
description: e.reason,
|
|
32600
|
+
metadata: {
|
|
32601
|
+
assignedTier: e.assignedTier,
|
|
32602
|
+
userRole: e.userRole,
|
|
32603
|
+
isAllowlisted: e.isAllowlisted,
|
|
32604
|
+
wasDowngraded: e.wasDowngraded,
|
|
32605
|
+
component: e.component
|
|
32606
|
+
}
|
|
32607
|
+
};
|
|
32608
|
+
}
|
|
32609
|
+
function pipelinePolicyMetadata(e) {
|
|
32610
|
+
return {
|
|
32611
|
+
...e.actionType !== void 0 ? { actionType: e.actionType } : {},
|
|
32612
|
+
...e.mode !== void 0 ? { mode: e.mode } : {},
|
|
32613
|
+
...e.ruleIds !== void 0 ? { ruleIds: e.ruleIds } : {},
|
|
32614
|
+
...e.stageType !== void 0 ? { stageType: e.stageType } : {},
|
|
32615
|
+
...e.recordKind !== void 0 ? { recordKind: e.recordKind } : {},
|
|
32616
|
+
...e.violationCount !== void 0 ? { violationCount: e.violationCount } : {}
|
|
32617
|
+
};
|
|
32618
|
+
}
|
|
32619
|
+
function mapPolicyGate(e) {
|
|
32620
|
+
const outcome = e.allowed ? "success" : "denied";
|
|
32621
|
+
return {
|
|
32622
|
+
category: "authorization",
|
|
32623
|
+
severity: e.allowed ? "info" : "warning",
|
|
32624
|
+
outcome,
|
|
32625
|
+
action: "security.policy_gate",
|
|
32626
|
+
actor: systemActor(e.component),
|
|
32627
|
+
policyName: "security.policy_gate",
|
|
32628
|
+
policyDecision: e.allowed ? "allow" : "deny",
|
|
32629
|
+
...e.violationRules.length > 0 ? { violationType: e.violationRules.join(",") } : {},
|
|
32630
|
+
metadata: {
|
|
32631
|
+
requiresApproval: e.requiresApproval,
|
|
32632
|
+
inputTrustTier: e.inputTrustTier,
|
|
32633
|
+
violationRules: e.violationRules,
|
|
32634
|
+
...pipelinePolicyMetadata(e)
|
|
32635
|
+
}
|
|
32636
|
+
};
|
|
32637
|
+
}
|
|
32638
|
+
function mapCorroboration(e) {
|
|
32639
|
+
return {
|
|
32640
|
+
category: "security",
|
|
32641
|
+
severity: e.satisfied ? "info" : "warning",
|
|
32642
|
+
outcome: e.satisfied ? "success" : "denied",
|
|
32643
|
+
action: "security.corroboration",
|
|
32644
|
+
actor: systemActor(e.component),
|
|
32645
|
+
metadata: {
|
|
32646
|
+
actionType: e.actionType,
|
|
32647
|
+
sourceCount: e.sourceCount,
|
|
32648
|
+
missingRequirements: e.missingRequirements
|
|
32649
|
+
}
|
|
32650
|
+
};
|
|
32651
|
+
}
|
|
32652
|
+
function mapReputation(e) {
|
|
32653
|
+
return {
|
|
32654
|
+
category: "security",
|
|
32655
|
+
severity: e.isSuspicious ? "warning" : "info",
|
|
32656
|
+
outcome: "success",
|
|
32657
|
+
action: "security.reputation",
|
|
32658
|
+
actor: userActor(e.username),
|
|
32659
|
+
metadata: {
|
|
32660
|
+
reputationScore: e.reputationScore,
|
|
32661
|
+
isSuspicious: e.isSuspicious,
|
|
32662
|
+
effectiveTier: e.effectiveTier,
|
|
32663
|
+
signalCount: e.signalCount,
|
|
32664
|
+
component: e.component
|
|
32665
|
+
}
|
|
32666
|
+
};
|
|
32667
|
+
}
|
|
32668
|
+
function mapSanitization(e) {
|
|
32669
|
+
return {
|
|
32670
|
+
category: "security",
|
|
32671
|
+
severity: e.injectionFlagCount > 0 ? "warning" : "info",
|
|
32672
|
+
outcome: "success",
|
|
32673
|
+
action: "security.sanitization",
|
|
32674
|
+
actor: systemActor(e.component, e.source),
|
|
32675
|
+
metadata: {
|
|
32676
|
+
source: e.source,
|
|
32677
|
+
wasModified: e.wasModified,
|
|
32678
|
+
strippedCount: e.strippedCount,
|
|
32679
|
+
injectionFlagCount: e.injectionFlagCount,
|
|
32680
|
+
strippedElements: e.strippedElements
|
|
32681
|
+
}
|
|
32682
|
+
};
|
|
32683
|
+
}
|
|
32684
|
+
function mapGraphExecution(e) {
|
|
32685
|
+
return {
|
|
32686
|
+
category: "system",
|
|
32687
|
+
severity: "info",
|
|
32688
|
+
outcome: "success",
|
|
32689
|
+
action: "security.graph_execution",
|
|
32690
|
+
actor: systemActor(e.component),
|
|
32691
|
+
description: e.detail,
|
|
32692
|
+
metadata: {
|
|
32693
|
+
graphEvent: e.graphEvent,
|
|
32694
|
+
...e.nodeId !== void 0 ? { nodeId: e.nodeId } : {},
|
|
32695
|
+
stepNumber: e.stepNumber
|
|
32696
|
+
}
|
|
32697
|
+
};
|
|
32698
|
+
}
|
|
32699
|
+
function mapClawGuard(e) {
|
|
32700
|
+
return {
|
|
32701
|
+
category: "authorization",
|
|
32702
|
+
severity: "warning",
|
|
32703
|
+
outcome: "success",
|
|
32704
|
+
action: "security.clawguard_violation",
|
|
32705
|
+
actor: systemActor(e.component),
|
|
32706
|
+
metadata: {
|
|
32707
|
+
toolName: e.toolName,
|
|
32708
|
+
warning: e.warning,
|
|
32709
|
+
policySource: e.policySource,
|
|
32710
|
+
mode: e.mode,
|
|
32711
|
+
requestId: e.requestId
|
|
32712
|
+
}
|
|
32713
|
+
};
|
|
32714
|
+
}
|
|
32715
|
+
function securityAuditEventToInput(event) {
|
|
32716
|
+
switch (event.type) {
|
|
32717
|
+
case "trust_classification":
|
|
32718
|
+
return mapTrust(event);
|
|
32719
|
+
case "policy_gate":
|
|
32720
|
+
return mapPolicyGate(event);
|
|
32721
|
+
case "corroboration":
|
|
32722
|
+
return mapCorroboration(event);
|
|
32723
|
+
case "reputation":
|
|
32724
|
+
return mapReputation(event);
|
|
32725
|
+
case "sanitization":
|
|
32726
|
+
return mapSanitization(event);
|
|
32727
|
+
case "graph_execution":
|
|
32728
|
+
return mapGraphExecution(event);
|
|
32729
|
+
case "clawguard_violation":
|
|
32730
|
+
return mapClawGuard(event);
|
|
32731
|
+
}
|
|
32732
|
+
}
|
|
32733
|
+
function createDurableAuditSink(auditLogger) {
|
|
32734
|
+
return (event) => {
|
|
32735
|
+
try {
|
|
32736
|
+
auditLogger.log(securityAuditEventToInput(event));
|
|
32737
|
+
} catch (error) {
|
|
32738
|
+
logger31.warn("Failed to mirror security event to durable audit log", {
|
|
32739
|
+
type: event.type,
|
|
32740
|
+
error: getErrorMessage(error)
|
|
32741
|
+
});
|
|
32742
|
+
}
|
|
32743
|
+
};
|
|
32744
|
+
}
|
|
32745
|
+
function createDurableAuditTrail(auditLogger) {
|
|
32746
|
+
if (auditLogger === void 0) return void 0;
|
|
32747
|
+
return createAuditTrail(createDurableAuditSink(auditLogger));
|
|
32748
|
+
}
|
|
32749
|
+
|
|
32580
32750
|
// src/context/structured-task-state.ts
|
|
32581
32751
|
import * as fs4 from "fs";
|
|
32582
32752
|
import * as path3 from "path";
|
|
@@ -32772,7 +32942,7 @@ var StructuredTaskLogEntrySchema = z54.discriminatedUnion("event", [
|
|
|
32772
32942
|
]);
|
|
32773
32943
|
|
|
32774
32944
|
// src/context/structured-task-state.ts
|
|
32775
|
-
var
|
|
32945
|
+
var logger32 = createLogger({ component: "structured-task-state" });
|
|
32776
32946
|
var TASKS_SUBDIR = "tasks";
|
|
32777
32947
|
var FILE_MODE2 = 384;
|
|
32778
32948
|
var DIR_MODE3 = 448;
|
|
@@ -32790,7 +32960,7 @@ function listTaskStateIds(customDir) {
|
|
|
32790
32960
|
try {
|
|
32791
32961
|
entries = fs4.readdirSync(dir);
|
|
32792
32962
|
} catch (cause) {
|
|
32793
|
-
|
|
32963
|
+
logger32.warn("tasks directory unreadable", {
|
|
32794
32964
|
dir,
|
|
32795
32965
|
error: cause instanceof Error ? cause.message : String(cause)
|
|
32796
32966
|
});
|
|
@@ -32863,7 +33033,7 @@ function appendResult(taskId, result, ts, customDir) {
|
|
|
32863
33033
|
maxBytes: TASK_RESULT_MAX_BYTES,
|
|
32864
33034
|
note: "Result exceeded TASK_RESULT_MAX_BYTES \u2014 original dropped at write time."
|
|
32865
33035
|
};
|
|
32866
|
-
|
|
33036
|
+
logger32.warn("Task result truncated at write", {
|
|
32867
33037
|
taskId,
|
|
32868
33038
|
bytes,
|
|
32869
33039
|
max: TASK_RESULT_MAX_BYTES
|
|
@@ -32894,14 +33064,14 @@ function readTaskState(taskId, customDir) {
|
|
|
32894
33064
|
if (validated.success) {
|
|
32895
33065
|
entries.push(validated.data);
|
|
32896
33066
|
} else {
|
|
32897
|
-
|
|
33067
|
+
logger32.warn("Skipping malformed task-state log entry", {
|
|
32898
33068
|
taskId,
|
|
32899
33069
|
error: validated.error.message
|
|
32900
33070
|
});
|
|
32901
33071
|
}
|
|
32902
33072
|
} catch (cause) {
|
|
32903
33073
|
const msg = cause instanceof Error ? cause.message : String(cause);
|
|
32904
|
-
|
|
33074
|
+
logger32.warn("Skipping unparseable task-state log entry", { taskId, error: msg });
|
|
32905
33075
|
}
|
|
32906
33076
|
}
|
|
32907
33077
|
return reduceLogEntries(taskId, entries);
|
|
@@ -33376,6 +33546,7 @@ async function executeOrchestration(input, deps, opts = {}) {
|
|
|
33376
33546
|
const definition = { type: "task", task };
|
|
33377
33547
|
const hb = startHeartbeatTracking(`orchestrate-${taskId}`, logger58);
|
|
33378
33548
|
const policy = await deriveOrchestratePolicy(input.task, deps, logger58, trustTier);
|
|
33549
|
+
const auditTrail = createDurableAuditTrail(deps.auditLogger);
|
|
33379
33550
|
try {
|
|
33380
33551
|
return await runOrchestratorWithStateTracking({
|
|
33381
33552
|
taskId,
|
|
@@ -33386,7 +33557,8 @@ async function executeOrchestration(input, deps, opts = {}) {
|
|
|
33386
33557
|
decision,
|
|
33387
33558
|
workflowRouter,
|
|
33388
33559
|
startTime,
|
|
33389
|
-
logger: logger58
|
|
33560
|
+
logger: logger58,
|
|
33561
|
+
...auditTrail !== void 0 ? { auditTrail } : {}
|
|
33390
33562
|
});
|
|
33391
33563
|
} catch (error) {
|
|
33392
33564
|
recordTaskStateBlocker(taskId, error instanceof Error ? error.message : String(error), logger58);
|
|
@@ -33397,9 +33569,13 @@ async function executeOrchestration(input, deps, opts = {}) {
|
|
|
33397
33569
|
}
|
|
33398
33570
|
}
|
|
33399
33571
|
async function runOrchestratorWithStateTracking(params) {
|
|
33400
|
-
const { taskId, taskInput, definition, orchestrator, policy, logger: logger58 } = params;
|
|
33572
|
+
const { taskId, taskInput, definition, orchestrator, policy, logger: logger58, auditTrail } = params;
|
|
33401
33573
|
recordTaskStateStage(taskId, "executing", logger58);
|
|
33402
|
-
const
|
|
33574
|
+
const runOrchestrator = () => orchestrator.execute(definition, {});
|
|
33575
|
+
const result = await withAccessPolicy(
|
|
33576
|
+
policy,
|
|
33577
|
+
auditTrail !== void 0 ? () => withAuditTrail(auditTrail, runOrchestrator) : runOrchestrator
|
|
33578
|
+
);
|
|
33403
33579
|
if (!result.ok) {
|
|
33404
33580
|
recordTaskStateBlocker(taskId, result.error.message, logger58);
|
|
33405
33581
|
recordTaskStateStage(taskId, "failed", logger58);
|
|
@@ -36043,6 +36219,15 @@ async function classifyExpertResult(opts) {
|
|
|
36043
36219
|
})
|
|
36044
36220
|
};
|
|
36045
36221
|
}
|
|
36222
|
+
async function executeExpertUnderPolicy(deps, expert, task, policyObjective) {
|
|
36223
|
+
const policy = await deriveExpertAccessPolicy(policyObjective, deps.logger, void 0);
|
|
36224
|
+
const auditTrail = createDurableAuditTrail(deps.auditLogger);
|
|
36225
|
+
const runExpert2 = () => expert.execute(task);
|
|
36226
|
+
return withAccessPolicy(
|
|
36227
|
+
policy,
|
|
36228
|
+
auditTrail !== void 0 ? () => withAuditTrail(auditTrail, runExpert2) : runExpert2
|
|
36229
|
+
);
|
|
36230
|
+
}
|
|
36046
36231
|
async function runExpertTask(deps, args, expert) {
|
|
36047
36232
|
const { expertId } = args;
|
|
36048
36233
|
const contextPrefix = await maybeFetchContextPrefix(args.task, deps.logger);
|
|
@@ -36068,8 +36253,7 @@ async function runExpertTask(deps, args, expert) {
|
|
|
36068
36253
|
}, HEARTBEAT_TIMEOUTS.heartbeatIntervalMs);
|
|
36069
36254
|
let result;
|
|
36070
36255
|
try {
|
|
36071
|
-
|
|
36072
|
-
result = await withAccessPolicy(policy, () => expert.execute(task));
|
|
36256
|
+
result = await executeExpertUnderPolicy(deps, expert, task, policyObjective);
|
|
36073
36257
|
} finally {
|
|
36074
36258
|
clearInterval(heartbeatTimer);
|
|
36075
36259
|
monitor.endSession(sessionId);
|
|
@@ -39697,7 +39881,7 @@ function registerQueryTraceTool(server, deps) {
|
|
|
39697
39881
|
import { z as z82 } from "zod";
|
|
39698
39882
|
|
|
39699
39883
|
// src/mcp/jobs/task-state-source.ts
|
|
39700
|
-
var
|
|
39884
|
+
var logger33 = createLogger({ component: "task-state-source" });
|
|
39701
39885
|
var TOOL_NAME_BY_PREFIX = {
|
|
39702
39886
|
orch: "orchestrate",
|
|
39703
39887
|
// run_workflow mints `job-rw-<uuid>`; consensus_vote mints `job-vote-<uuid>`.
|
|
@@ -39779,7 +39963,7 @@ function resolveJobResult(jobId, customDir) {
|
|
|
39779
39963
|
if (isTaskStateJobSource()) {
|
|
39780
39964
|
const fromState = readJobResultFromTaskState(jobId, customDir);
|
|
39781
39965
|
if (fromState !== null) {
|
|
39782
|
-
|
|
39966
|
+
logger33.debug("Resolved job result from task-state", { jobId, status: fromState.status });
|
|
39783
39967
|
return fromState;
|
|
39784
39968
|
}
|
|
39785
39969
|
}
|
|
@@ -40921,7 +41105,7 @@ function createAuditLogger(config, storage, logger58, onPersistFailure) {
|
|
|
40921
41105
|
}
|
|
40922
41106
|
|
|
40923
41107
|
// src/pipeline/research-trigger.ts
|
|
40924
|
-
var
|
|
41108
|
+
var logger34 = createLogger({ component: "research-trigger" });
|
|
40925
41109
|
var DEFAULT_QUALITY_THRESHOLD = 7;
|
|
40926
41110
|
var DEFAULT_MAX_TRIGGERS = 3;
|
|
40927
41111
|
function parseDiscoveries(text) {
|
|
@@ -40960,7 +41144,7 @@ function checkForCapabilityGapTriggers(config = {}) {
|
|
|
40960
41144
|
status: "pending"
|
|
40961
41145
|
}));
|
|
40962
41146
|
if (tasks.length > 0) {
|
|
40963
|
-
|
|
41147
|
+
logger34.info("Capability-gap triggers created", {
|
|
40964
41148
|
qualified: qualified.length,
|
|
40965
41149
|
triggered: tasks.length
|
|
40966
41150
|
});
|
|
@@ -40978,7 +41162,7 @@ async function checkForResearchTriggers(config = {}) {
|
|
|
40978
41162
|
`Use research_discover to find recent papers and repos about "${topic}". For each result, include: title, quality score (1-10), and source URL.`
|
|
40979
41163
|
);
|
|
40980
41164
|
if (!result.success) {
|
|
40981
|
-
|
|
41165
|
+
logger34.debug("Research trigger: expert unavailable", { error: result.error });
|
|
40982
41166
|
return [];
|
|
40983
41167
|
}
|
|
40984
41168
|
const discoveries = parseDiscoveries(result.text);
|
|
@@ -40994,7 +41178,7 @@ Assess this research for applicability to nexus-agents.`,
|
|
|
40994
41178
|
status: "pending"
|
|
40995
41179
|
}));
|
|
40996
41180
|
if (tasks.length > 0) {
|
|
40997
|
-
|
|
41181
|
+
logger34.info("Research triggers created", {
|
|
40998
41182
|
total: discoveries.length,
|
|
40999
41183
|
qualified: qualified.length,
|
|
41000
41184
|
triggered: tasks.length
|
|
@@ -41002,7 +41186,7 @@ Assess this research for applicability to nexus-agents.`,
|
|
|
41002
41186
|
}
|
|
41003
41187
|
return tasks;
|
|
41004
41188
|
} catch (error) {
|
|
41005
|
-
|
|
41189
|
+
logger34.debug("Research trigger failed gracefully", { error: String(error) });
|
|
41006
41190
|
return [];
|
|
41007
41191
|
}
|
|
41008
41192
|
}
|
|
@@ -41026,7 +41210,7 @@ var PIPELINE_STATE_KEYS = {
|
|
|
41026
41210
|
};
|
|
41027
41211
|
|
|
41028
41212
|
// src/pipeline/pipeline-graph.ts
|
|
41029
|
-
var
|
|
41213
|
+
var logger35 = createLogger({ component: "pipeline-graph" });
|
|
41030
41214
|
function compilePipelineGraph(template, stages) {
|
|
41031
41215
|
const missing = findMissingStages(template, stages);
|
|
41032
41216
|
if (missing.length > 0) {
|
|
@@ -41043,10 +41227,10 @@ function compilePipelineGraph(template, stages) {
|
|
|
41043
41227
|
const result = builder.compile();
|
|
41044
41228
|
if (!result.ok) {
|
|
41045
41229
|
const errMsg = formatCompileError(result.error);
|
|
41046
|
-
|
|
41230
|
+
logger35.warn("Pipeline graph compilation failed", { error: errMsg });
|
|
41047
41231
|
return { ok: false, error: errMsg };
|
|
41048
41232
|
}
|
|
41049
|
-
|
|
41233
|
+
logger35.info("Pipeline graph compiled", {
|
|
41050
41234
|
template: template.id,
|
|
41051
41235
|
stages: template.stages.length
|
|
41052
41236
|
});
|
|
@@ -41123,7 +41307,7 @@ function registerLinearEdges(builder, stages) {
|
|
|
41123
41307
|
}
|
|
41124
41308
|
|
|
41125
41309
|
// src/pipeline/graph-pipeline-runner.ts
|
|
41126
|
-
var
|
|
41310
|
+
var logger36 = createLogger({ component: "graph-pipeline-runner" });
|
|
41127
41311
|
var DEFAULT_MAX_STEPS2 = 20;
|
|
41128
41312
|
async function runGraphPipeline(task, template, stages, options) {
|
|
41129
41313
|
const startTime = getTimeProvider().now();
|
|
@@ -41142,7 +41326,7 @@ function compileEffectiveGraph(template, stages, options) {
|
|
|
41142
41326
|
return { graph: compiled.graph };
|
|
41143
41327
|
}
|
|
41144
41328
|
async function executeAndReport(task, template, graph, options, startTime) {
|
|
41145
|
-
|
|
41329
|
+
logger36.info("Executing graph pipeline", {
|
|
41146
41330
|
template: template.id,
|
|
41147
41331
|
dryRun: options?.dryRun === true
|
|
41148
41332
|
});
|
|
@@ -41248,7 +41432,7 @@ function listTemplateIds() {
|
|
|
41248
41432
|
}
|
|
41249
41433
|
|
|
41250
41434
|
// src/pipeline/adaptive-orchestrator.ts
|
|
41251
|
-
var
|
|
41435
|
+
var logger37 = createLogger({ component: "adaptive-orchestrator" });
|
|
41252
41436
|
var PIPELINE_TYPE_KEYWORDS = {
|
|
41253
41437
|
dev: [
|
|
41254
41438
|
"implement",
|
|
@@ -41387,7 +41571,7 @@ async function tryIssueTriage(task) {
|
|
|
41387
41571
|
try {
|
|
41388
41572
|
const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
|
|
41389
41573
|
if (issueMatch === null) return null;
|
|
41390
|
-
const { createIssueTriage } = await import("./issue-triage-
|
|
41574
|
+
const { createIssueTriage } = await import("./issue-triage-R7DMXIEN.js");
|
|
41391
41575
|
const triage = createIssueTriage();
|
|
41392
41576
|
const owner = issueMatch[1] ?? "";
|
|
41393
41577
|
const num = issueMatch[2] ?? "";
|
|
@@ -41431,7 +41615,7 @@ async function classifyWithLLM(task) {
|
|
|
41431
41615
|
const lower = result.text.toLowerCase().trim();
|
|
41432
41616
|
for (const template of VALID_TEMPLATES) {
|
|
41433
41617
|
if (lower.includes(template)) {
|
|
41434
|
-
|
|
41618
|
+
logger37.info("LLM classification refinement", { task: task.slice(0, 60), template });
|
|
41435
41619
|
return {
|
|
41436
41620
|
pipelineType: template,
|
|
41437
41621
|
complexity: "moderate",
|
|
@@ -41449,14 +41633,14 @@ async function classifyWithLLM(task) {
|
|
|
41449
41633
|
async function runAdaptiveOrchestrator(task, options) {
|
|
41450
41634
|
const sanitized = sanitizeInput(task, "collaborator", "pipeline");
|
|
41451
41635
|
if (sanitized.strippedElements.length > 0) {
|
|
41452
|
-
|
|
41636
|
+
logger37.warn("Pipeline input sanitized", { stripped: sanitized.strippedElements.length });
|
|
41453
41637
|
}
|
|
41454
41638
|
const cleanTask = sanitized.content;
|
|
41455
41639
|
let classification = classifyTask(cleanTask);
|
|
41456
41640
|
if (classification.confidence < LLM_REFINEMENT_THRESHOLD && options.templateId === void 0) {
|
|
41457
41641
|
const enriched = await tryIssueTriage(cleanTask);
|
|
41458
41642
|
if (enriched !== null) {
|
|
41459
|
-
|
|
41643
|
+
logger37.info("Classification enriched via issue_triage", {
|
|
41460
41644
|
original: classification.pipelineType,
|
|
41461
41645
|
enriched: enriched.pipelineType
|
|
41462
41646
|
});
|
|
@@ -41464,7 +41648,7 @@ async function runAdaptiveOrchestrator(task, options) {
|
|
|
41464
41648
|
} else {
|
|
41465
41649
|
const llmResult = await classifyWithLLM(cleanTask);
|
|
41466
41650
|
if (llmResult !== null) {
|
|
41467
|
-
|
|
41651
|
+
logger37.info("Classification refined via LLM", {
|
|
41468
41652
|
original: classification.pipelineType,
|
|
41469
41653
|
refined: llmResult.pipelineType
|
|
41470
41654
|
});
|
|
@@ -41475,7 +41659,7 @@ async function runAdaptiveOrchestrator(task, options) {
|
|
|
41475
41659
|
const templateId = options.templateId ?? classification.pipelineType;
|
|
41476
41660
|
const selectionMethod = options.templateId !== void 0 ? "explicit" : "auto-detected";
|
|
41477
41661
|
const template = ensureRunnableTemplate(resolveTemplate(templateId), options.stages);
|
|
41478
|
-
|
|
41662
|
+
logger37.info("Adaptive orchestrator routing", {
|
|
41479
41663
|
templateId: template.id,
|
|
41480
41664
|
selectionMethod,
|
|
41481
41665
|
classification: classification.pipelineType,
|
|
@@ -41490,7 +41674,7 @@ function resolveTemplate(templateId) {
|
|
|
41490
41674
|
const resolvedId = RETIRED_TEMPLATE_ALIASES[templateId] ?? templateId;
|
|
41491
41675
|
const template = getTemplate(resolvedId);
|
|
41492
41676
|
if (template !== void 0) return template;
|
|
41493
|
-
|
|
41677
|
+
logger37.warn("Unknown template, falling back to dev", { templateId });
|
|
41494
41678
|
const fallback = PIPELINE_TEMPLATES.get("dev");
|
|
41495
41679
|
if (fallback !== void 0) return fallback;
|
|
41496
41680
|
return { id: "dev", name: "Development", stages: [] };
|
|
@@ -41502,7 +41686,7 @@ function ensureRunnableTemplate(template, stages) {
|
|
|
41502
41686
|
for (const id of RUNNABLE_FALLBACK_TEMPLATES) {
|
|
41503
41687
|
const candidate = PIPELINE_TEMPLATES.get(id);
|
|
41504
41688
|
if (candidate !== void 0 && findMissingStages(candidate, stages).length === 0) {
|
|
41505
|
-
|
|
41689
|
+
logger37.warn("Selected template is not runnable in this registry \u2014 falling back", {
|
|
41506
41690
|
requested: template.id,
|
|
41507
41691
|
missingStages: missing,
|
|
41508
41692
|
fallback: id
|
|
@@ -41510,7 +41694,7 @@ function ensureRunnableTemplate(template, stages) {
|
|
|
41510
41694
|
return candidate;
|
|
41511
41695
|
}
|
|
41512
41696
|
}
|
|
41513
|
-
|
|
41697
|
+
logger37.warn(
|
|
41514
41698
|
"No runnable fallback template for this registry; compile will report missing stages",
|
|
41515
41699
|
{
|
|
41516
41700
|
requested: template.id,
|
|
@@ -41524,7 +41708,7 @@ function ensureRunnableTemplate(template, stages) {
|
|
|
41524
41708
|
import * as fs7 from "fs";
|
|
41525
41709
|
import * as path5 from "path";
|
|
41526
41710
|
import { z as z86 } from "zod";
|
|
41527
|
-
var
|
|
41711
|
+
var logger38 = createLogger({ component: "pipeline-checkpoint" });
|
|
41528
41712
|
var SESSION_ID_REGEX = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
41529
41713
|
function validateSessionId(sessionId) {
|
|
41530
41714
|
return SESSION_ID_REGEX.test(sessionId);
|
|
@@ -41532,14 +41716,14 @@ function validateSessionId(sessionId) {
|
|
|
41532
41716
|
function getCheckpointPath(sessionId, customDir) {
|
|
41533
41717
|
const dirResult = ensureCheckpointDir(customDir);
|
|
41534
41718
|
if (!dirResult.ok) {
|
|
41535
|
-
|
|
41719
|
+
logger38.warn("Checkpoint directory unavailable", { error: dirResult.error.message });
|
|
41536
41720
|
return null;
|
|
41537
41721
|
}
|
|
41538
41722
|
return path5.join(dirResult.value, `pipeline-${sessionId}.jsonl`);
|
|
41539
41723
|
}
|
|
41540
41724
|
function saveStageCheckpoint(sessionId, stage, data, customDir) {
|
|
41541
41725
|
if (!validateSessionId(sessionId)) {
|
|
41542
|
-
|
|
41726
|
+
logger38.warn("Invalid session ID for checkpoint", { sessionId });
|
|
41543
41727
|
return false;
|
|
41544
41728
|
}
|
|
41545
41729
|
const entry = {
|
|
@@ -41554,7 +41738,7 @@ function saveStageCheckpoint(sessionId, stage, data, customDir) {
|
|
|
41554
41738
|
fs7.appendFileSync(filePath, JSON.stringify(entry) + "\n", { mode: 384 });
|
|
41555
41739
|
return true;
|
|
41556
41740
|
} catch (error) {
|
|
41557
|
-
|
|
41741
|
+
logger38.debug("Failed to save checkpoint", { stage, error: String(error) });
|
|
41558
41742
|
return false;
|
|
41559
41743
|
}
|
|
41560
41744
|
}
|
|
@@ -41567,7 +41751,7 @@ function loadCheckpointState(sessionId, customDir) {
|
|
|
41567
41751
|
const lines = content.trim().split("\n").filter(Boolean);
|
|
41568
41752
|
return rebuildState(lines);
|
|
41569
41753
|
} catch (error) {
|
|
41570
|
-
|
|
41754
|
+
logger38.debug("Failed to load checkpoints", { error: String(error) });
|
|
41571
41755
|
return null;
|
|
41572
41756
|
}
|
|
41573
41757
|
}
|
|
@@ -41624,7 +41808,7 @@ function rebuildState(lines) {
|
|
|
41624
41808
|
applyEntry(state, result.data);
|
|
41625
41809
|
}
|
|
41626
41810
|
if (skippedCount > 0) {
|
|
41627
|
-
|
|
41811
|
+
logger38.warn("Skipped malformed checkpoint lines during state rebuild", {
|
|
41628
41812
|
skippedCount,
|
|
41629
41813
|
totalLines: lines.length,
|
|
41630
41814
|
firstSkipReason,
|
|
@@ -41679,20 +41863,20 @@ function checkpointToResult(state) {
|
|
|
41679
41863
|
}
|
|
41680
41864
|
|
|
41681
41865
|
// src/orchestration/qa-loop.ts
|
|
41682
|
-
var
|
|
41866
|
+
var logger39 = createLogger({ component: "qa-loop" });
|
|
41683
41867
|
var DEFAULT_MAX_QA_ITERATIONS = 3;
|
|
41684
41868
|
async function runQaLoop(implement, review, maxIterations = DEFAULT_MAX_QA_ITERATIONS) {
|
|
41685
41869
|
let feedback;
|
|
41686
41870
|
let lastOutput;
|
|
41687
41871
|
let lastVerdict = "needs_work";
|
|
41688
41872
|
for (let i = 1; i <= maxIterations; i++) {
|
|
41689
|
-
|
|
41873
|
+
logger39.info("QA loop iteration", { iteration: i, hasFeedback: feedback !== void 0 });
|
|
41690
41874
|
const output2 = await implement(feedback);
|
|
41691
41875
|
lastOutput = output2;
|
|
41692
41876
|
const reviewResult = await review(output2);
|
|
41693
41877
|
lastVerdict = reviewResult.verdict;
|
|
41694
41878
|
if (reviewResult.verdict === "pass") {
|
|
41695
|
-
|
|
41879
|
+
logger39.info("QA loop passed", { iteration: i });
|
|
41696
41880
|
return {
|
|
41697
41881
|
output: output2,
|
|
41698
41882
|
approved: true,
|
|
@@ -41701,14 +41885,14 @@ async function runQaLoop(implement, review, maxIterations = DEFAULT_MAX_QA_ITERA
|
|
|
41701
41885
|
feedback: reviewResult.feedback
|
|
41702
41886
|
};
|
|
41703
41887
|
}
|
|
41704
|
-
|
|
41888
|
+
logger39.warn("QA loop rejected", {
|
|
41705
41889
|
iteration: i,
|
|
41706
41890
|
verdict: reviewResult.verdict,
|
|
41707
41891
|
issues: reviewResult.issues.length
|
|
41708
41892
|
});
|
|
41709
41893
|
feedback = reviewResult.feedback;
|
|
41710
41894
|
}
|
|
41711
|
-
|
|
41895
|
+
logger39.warn("QA loop exhausted iterations", { maxIterations, lastVerdict });
|
|
41712
41896
|
return {
|
|
41713
41897
|
output: lastOutput,
|
|
41714
41898
|
approved: false,
|
|
@@ -41718,151 +41902,6 @@ async function runQaLoop(implement, review, maxIterations = DEFAULT_MAX_QA_ITERA
|
|
|
41718
41902
|
};
|
|
41719
41903
|
}
|
|
41720
41904
|
|
|
41721
|
-
// src/security/audit-bridge.ts
|
|
41722
|
-
var logger39 = createLogger({ component: "SecurityAuditBridge" });
|
|
41723
|
-
function systemActor(id, name) {
|
|
41724
|
-
return name !== void 0 ? { type: "system", id, name } : { type: "system", id };
|
|
41725
|
-
}
|
|
41726
|
-
function userActor(username) {
|
|
41727
|
-
return { type: "user", id: username };
|
|
41728
|
-
}
|
|
41729
|
-
function mapTrust(e) {
|
|
41730
|
-
const severity = e.wasDowngraded ? "warning" : "info";
|
|
41731
|
-
return {
|
|
41732
|
-
category: "authorization",
|
|
41733
|
-
severity,
|
|
41734
|
-
outcome: "success",
|
|
41735
|
-
action: "security.trust_classification",
|
|
41736
|
-
actor: userActor(e.username),
|
|
41737
|
-
description: e.reason,
|
|
41738
|
-
metadata: {
|
|
41739
|
-
assignedTier: e.assignedTier,
|
|
41740
|
-
userRole: e.userRole,
|
|
41741
|
-
isAllowlisted: e.isAllowlisted,
|
|
41742
|
-
wasDowngraded: e.wasDowngraded,
|
|
41743
|
-
component: e.component
|
|
41744
|
-
}
|
|
41745
|
-
};
|
|
41746
|
-
}
|
|
41747
|
-
function pipelinePolicyMetadata(e) {
|
|
41748
|
-
return {
|
|
41749
|
-
...e.actionType !== void 0 ? { actionType: e.actionType } : {},
|
|
41750
|
-
...e.mode !== void 0 ? { mode: e.mode } : {},
|
|
41751
|
-
...e.ruleIds !== void 0 ? { ruleIds: e.ruleIds } : {},
|
|
41752
|
-
...e.stageType !== void 0 ? { stageType: e.stageType } : {},
|
|
41753
|
-
...e.recordKind !== void 0 ? { recordKind: e.recordKind } : {},
|
|
41754
|
-
...e.violationCount !== void 0 ? { violationCount: e.violationCount } : {}
|
|
41755
|
-
};
|
|
41756
|
-
}
|
|
41757
|
-
function mapPolicyGate(e) {
|
|
41758
|
-
const outcome = e.allowed ? "success" : "denied";
|
|
41759
|
-
return {
|
|
41760
|
-
category: "authorization",
|
|
41761
|
-
severity: e.allowed ? "info" : "warning",
|
|
41762
|
-
outcome,
|
|
41763
|
-
action: "security.policy_gate",
|
|
41764
|
-
actor: systemActor(e.component),
|
|
41765
|
-
policyName: "security.policy_gate",
|
|
41766
|
-
policyDecision: e.allowed ? "allow" : "deny",
|
|
41767
|
-
...e.violationRules.length > 0 ? { violationType: e.violationRules.join(",") } : {},
|
|
41768
|
-
metadata: {
|
|
41769
|
-
requiresApproval: e.requiresApproval,
|
|
41770
|
-
inputTrustTier: e.inputTrustTier,
|
|
41771
|
-
violationRules: e.violationRules,
|
|
41772
|
-
...pipelinePolicyMetadata(e)
|
|
41773
|
-
}
|
|
41774
|
-
};
|
|
41775
|
-
}
|
|
41776
|
-
function mapCorroboration(e) {
|
|
41777
|
-
return {
|
|
41778
|
-
category: "security",
|
|
41779
|
-
severity: e.satisfied ? "info" : "warning",
|
|
41780
|
-
outcome: e.satisfied ? "success" : "denied",
|
|
41781
|
-
action: "security.corroboration",
|
|
41782
|
-
actor: systemActor(e.component),
|
|
41783
|
-
metadata: {
|
|
41784
|
-
actionType: e.actionType,
|
|
41785
|
-
sourceCount: e.sourceCount,
|
|
41786
|
-
missingRequirements: e.missingRequirements
|
|
41787
|
-
}
|
|
41788
|
-
};
|
|
41789
|
-
}
|
|
41790
|
-
function mapReputation(e) {
|
|
41791
|
-
return {
|
|
41792
|
-
category: "security",
|
|
41793
|
-
severity: e.isSuspicious ? "warning" : "info",
|
|
41794
|
-
outcome: "success",
|
|
41795
|
-
action: "security.reputation",
|
|
41796
|
-
actor: userActor(e.username),
|
|
41797
|
-
metadata: {
|
|
41798
|
-
reputationScore: e.reputationScore,
|
|
41799
|
-
isSuspicious: e.isSuspicious,
|
|
41800
|
-
effectiveTier: e.effectiveTier,
|
|
41801
|
-
signalCount: e.signalCount,
|
|
41802
|
-
component: e.component
|
|
41803
|
-
}
|
|
41804
|
-
};
|
|
41805
|
-
}
|
|
41806
|
-
function mapSanitization(e) {
|
|
41807
|
-
return {
|
|
41808
|
-
category: "security",
|
|
41809
|
-
severity: e.injectionFlagCount > 0 ? "warning" : "info",
|
|
41810
|
-
outcome: "success",
|
|
41811
|
-
action: "security.sanitization",
|
|
41812
|
-
actor: systemActor(e.component, e.source),
|
|
41813
|
-
metadata: {
|
|
41814
|
-
source: e.source,
|
|
41815
|
-
wasModified: e.wasModified,
|
|
41816
|
-
strippedCount: e.strippedCount,
|
|
41817
|
-
injectionFlagCount: e.injectionFlagCount,
|
|
41818
|
-
strippedElements: e.strippedElements
|
|
41819
|
-
}
|
|
41820
|
-
};
|
|
41821
|
-
}
|
|
41822
|
-
function mapGraphExecution(e) {
|
|
41823
|
-
return {
|
|
41824
|
-
category: "system",
|
|
41825
|
-
severity: "info",
|
|
41826
|
-
outcome: "success",
|
|
41827
|
-
action: "security.graph_execution",
|
|
41828
|
-
actor: systemActor(e.component),
|
|
41829
|
-
description: e.detail,
|
|
41830
|
-
metadata: {
|
|
41831
|
-
graphEvent: e.graphEvent,
|
|
41832
|
-
...e.nodeId !== void 0 ? { nodeId: e.nodeId } : {},
|
|
41833
|
-
stepNumber: e.stepNumber
|
|
41834
|
-
}
|
|
41835
|
-
};
|
|
41836
|
-
}
|
|
41837
|
-
function securityAuditEventToInput(event) {
|
|
41838
|
-
switch (event.type) {
|
|
41839
|
-
case "trust_classification":
|
|
41840
|
-
return mapTrust(event);
|
|
41841
|
-
case "policy_gate":
|
|
41842
|
-
return mapPolicyGate(event);
|
|
41843
|
-
case "corroboration":
|
|
41844
|
-
return mapCorroboration(event);
|
|
41845
|
-
case "reputation":
|
|
41846
|
-
return mapReputation(event);
|
|
41847
|
-
case "sanitization":
|
|
41848
|
-
return mapSanitization(event);
|
|
41849
|
-
case "graph_execution":
|
|
41850
|
-
return mapGraphExecution(event);
|
|
41851
|
-
}
|
|
41852
|
-
}
|
|
41853
|
-
function createDurableAuditSink(auditLogger) {
|
|
41854
|
-
return (event) => {
|
|
41855
|
-
try {
|
|
41856
|
-
auditLogger.log(securityAuditEventToInput(event));
|
|
41857
|
-
} catch (error) {
|
|
41858
|
-
logger39.warn("Failed to mirror security event to durable audit log", {
|
|
41859
|
-
type: event.type,
|
|
41860
|
-
error: getErrorMessage(error)
|
|
41861
|
-
});
|
|
41862
|
-
}
|
|
41863
|
-
};
|
|
41864
|
-
}
|
|
41865
|
-
|
|
41866
41905
|
// src/pipeline/dev-pipeline.ts
|
|
41867
41906
|
var logger40 = createLogger({ component: "dev-pipeline" });
|
|
41868
41907
|
function isApproved(result) {
|
|
@@ -43407,7 +43446,7 @@ ${contextBlock}`;
|
|
|
43407
43446
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
43408
43447
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
43409
43448
|
try {
|
|
43410
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
43449
|
+
const { executeVoting } = await import("./consensus-vote-IBT3C5YC.js");
|
|
43411
43450
|
const votingResult = await executeVoting(
|
|
43412
43451
|
{
|
|
43413
43452
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -51024,6 +51063,7 @@ export {
|
|
|
51024
51063
|
OrchestrationError,
|
|
51025
51064
|
OrchestrationUnavailableError,
|
|
51026
51065
|
createMockOrchestrator,
|
|
51066
|
+
createDurableAuditSink,
|
|
51027
51067
|
registerOrchestrateTool,
|
|
51028
51068
|
MODEL_CAPABILITIES2 as MODEL_CAPABILITIES,
|
|
51029
51069
|
DelegateInputSchema,
|
|
@@ -51136,7 +51176,6 @@ export {
|
|
|
51136
51176
|
loadCheckpointState,
|
|
51137
51177
|
cleanupCheckpoint2 as cleanupCheckpoint,
|
|
51138
51178
|
checkpointToResult,
|
|
51139
|
-
createDurableAuditSink,
|
|
51140
51179
|
runDevPipeline,
|
|
51141
51180
|
flushPipelineMemory,
|
|
51142
51181
|
createAgentStages,
|
|
@@ -51189,4 +51228,4 @@ export {
|
|
|
51189
51228
|
shutdownFeedbackSubscriber,
|
|
51190
51229
|
createEventBusBridge
|
|
51191
51230
|
};
|
|
51192
|
-
//# sourceMappingURL=chunk-
|
|
51231
|
+
//# sourceMappingURL=chunk-256RUC4U.js.map
|