nexus-agents 2.80.0 → 2.80.2
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/{child-mcp-config-SM5I7USN.js → child-mcp-config-UG4CH654.js} +3 -3
- package/dist/{chunk-EVZ7YR7H.js → chunk-2ZRTLW2G.js} +3 -3
- package/dist/{chunk-VS4KB3AX.js → chunk-376MBRLD.js} +8 -8
- package/dist/{chunk-6CJIKX6I.js → chunk-3QRO77LO.js} +44 -16
- package/dist/{chunk-6CJIKX6I.js.map → chunk-3QRO77LO.js.map} +1 -1
- package/dist/{chunk-YMT6H2HQ.js → chunk-4MHE5UVO.js} +10 -6
- package/dist/{chunk-YMT6H2HQ.js.map → chunk-4MHE5UVO.js.map} +1 -1
- package/dist/{chunk-ZU2Q3DWE.js → chunk-5FUVEIJC.js} +100 -7
- package/dist/chunk-5FUVEIJC.js.map +1 -0
- package/dist/{chunk-EKRMWVAH.js → chunk-5SBD55T7.js} +4 -4
- package/dist/{chunk-UGXR4PAY.js → chunk-7BSVRW2O.js} +5 -5
- package/dist/{chunk-CTSESEFA.js → chunk-BQ55PBN4.js} +2 -2
- package/dist/{chunk-SHVGZK4A.js → chunk-C3BOZZQC.js} +3 -3
- package/dist/{chunk-AYZ6P7CK.js → chunk-FBW6XKZJ.js} +2 -2
- package/dist/{chunk-J5XEJHIQ.js → chunk-FQKQUJBU.js} +3 -3
- package/dist/{chunk-JLWKHYIU.js → chunk-GHWTMPPL.js} +2 -2
- package/dist/{chunk-FJHZW7CR.js → chunk-H4XSKDI6.js} +2 -2
- package/dist/{chunk-BSIGP5XF.js → chunk-HDFUSBU3.js} +2 -2
- package/dist/{chunk-UVALD724.js → chunk-HQR27JGL.js} +2 -2
- package/dist/{chunk-FAJAWO42.js → chunk-HXXRFTKP.js} +3 -3
- package/dist/{chunk-YGKPWUJ6.js → chunk-HYNFZQU4.js} +2 -2
- package/dist/{chunk-JXDDSNEK.js → chunk-JECCDZ2S.js} +2 -2
- package/dist/{chunk-OO6MTUDS.js → chunk-KN7JWET4.js} +3 -3
- package/dist/{chunk-2DBPZQLO.js → chunk-LUVQUKW5.js} +2 -2
- package/dist/{chunk-QVHXEQFM.js → chunk-OO662XRQ.js} +3 -3
- package/dist/{chunk-UP2VWCW5.js → chunk-PR4QN5HX.js} +12 -7
- package/dist/{chunk-GNRANMQ3.js → chunk-RCNNN4E2.js} +947 -880
- package/dist/chunk-RCNNN4E2.js.map +1 -0
- package/dist/{chunk-HBKZ2DJK.js → chunk-RCWWUZHA.js} +2 -2
- package/dist/{chunk-SJUSQGKH.js → chunk-RFUBLOZQ.js} +7 -7
- package/dist/{chunk-RIUUFBX4.js → chunk-TE26NHNW.js} +2 -2
- package/dist/{chunk-Q2U6SFN2.js → chunk-TLE2YE6G.js} +2 -2
- package/dist/{chunk-4XGKCVJL.js → chunk-VQBVL3UD.js} +2 -2
- package/dist/{cli-circuit-breaker-JGX54DAD.js → cli-circuit-breaker-MAN2V7DA.js} +5 -5
- package/dist/cli.js +92 -83
- package/dist/cli.js.map +1 -1
- package/dist/{codebase-search-CZUA37RU.js → codebase-search-PIBRTGBE.js} +2 -2
- package/dist/{composite-router-UYFYSMBT.js → composite-router-YCIEYOZC.js} +3 -3
- package/dist/{consensus-vote-BZ6JSN67.js → consensus-vote-TGTGZSPS.js} +12 -12
- package/dist/{context-retriever-G23VVJ5S.js → context-retriever-FKJKKPAA.js} +6 -6
- package/dist/dist-APHOQ26Z.js +45959 -0
- package/dist/dist-APHOQ26Z.js.map +1 -0
- package/dist/{dist-NIXVXYIH.js → dist-OFXI4GYH.js} +2 -2
- package/dist/{doctor-deep-OF2LXZ6A.js → doctor-deep-2KT4LZA6.js} +4 -4
- package/dist/expert-bridge-6NA7MK7T.js +11 -0
- package/dist/{expert-config-HN7U7X2K.js → expert-config-OIIUMJFB.js} +2 -2
- package/dist/factory-IIPDY7QB.js +14 -0
- package/dist/{factory-I54TX7OY.js → factory-VXHVQXKR.js} +5 -5
- package/dist/index.d.ts +68 -5
- package/dist/index.js +50 -31
- package/dist/index.js.map +1 -1
- package/dist/{init-opencode-FE7HVWQL.js → init-opencode-26YCTSR4.js} +6 -6
- package/dist/issue-triage-NGWFHIKY.js +15 -0
- package/dist/{learning-persistence-TGOBRUUU.js → learning-persistence-Q63HZ2EB.js} +2 -2
- package/dist/{outcome-store-adapter-QRFJJIKB.js → outcome-store-adapter-D3UDQFNQ.js} +2 -2
- package/dist/{pr-reviewer-helpers-L4L324FQ.js → pr-reviewer-helpers-WYPUYQ2U.js} +2 -2
- package/dist/{registry-command-NZLX7ZFV.js → registry-command-AKJBYP5N.js} +3 -3
- package/dist/{repo-analyze-GBQT4LAK.js → repo-analyze-D2OY2QSR.js} +2 -2
- package/dist/{repo-security-plan-74GJWJSV.js → repo-security-plan-ZGJN6QRW.js} +4 -4
- package/dist/{research-helpers-synthesize-LFPEXRIV.js → research-helpers-synthesize-ZWBBFT2O.js} +4 -4
- package/dist/{routing-memory-Y2LSEQVS.js → routing-memory-Y5UBVQGM.js} +3 -3
- package/dist/{session-memory-RCNQJDJR.js → session-memory-OOBM2GQ7.js} +4 -4
- package/dist/{setup-command-ZPLPOJF2.js → setup-command-VJLR47CI.js} +11 -11
- package/dist/setup-config-F7NK2KVC.js +10 -0
- package/dist/{setup-custom-api-XTJ6YZM6.js → setup-custom-api-53SYDF4L.js} +5 -5
- package/dist/{shared-memory-AEO2HJLC.js → shared-memory-CM6T2MYE.js} +2 -2
- package/dist/{symbol-extractor-UEBANFSN.js → symbol-extractor-WYXPJH65.js} +2 -2
- package/dist/{tool-memory-COZK6SR7.js → tool-memory-RZ7NJCPV.js} +5 -5
- package/dist/{weather-report-O4XOYGPK.js → weather-report-VOSP7KKV.js} +3 -3
- package/package.json +16 -16
- package/dist/chunk-GNRANMQ3.js.map +0 -1
- package/dist/chunk-ZU2Q3DWE.js.map +0 -1
- package/dist/dist-RLMRWMYO.js +0 -49531
- package/dist/dist-RLMRWMYO.js.map +0 -1
- package/dist/expert-bridge-6ZLD2NWD.js +0 -11
- package/dist/factory-UHDCLEUE.js +0 -14
- package/dist/issue-triage-7NR5NQUY.js +0 -15
- package/dist/setup-config-F7VRWXY3.js +0 -10
- /package/dist/{child-mcp-config-SM5I7USN.js.map → child-mcp-config-UG4CH654.js.map} +0 -0
- /package/dist/{chunk-EVZ7YR7H.js.map → chunk-2ZRTLW2G.js.map} +0 -0
- /package/dist/{chunk-VS4KB3AX.js.map → chunk-376MBRLD.js.map} +0 -0
- /package/dist/{chunk-EKRMWVAH.js.map → chunk-5SBD55T7.js.map} +0 -0
- /package/dist/{chunk-UGXR4PAY.js.map → chunk-7BSVRW2O.js.map} +0 -0
- /package/dist/{chunk-CTSESEFA.js.map → chunk-BQ55PBN4.js.map} +0 -0
- /package/dist/{chunk-SHVGZK4A.js.map → chunk-C3BOZZQC.js.map} +0 -0
- /package/dist/{chunk-AYZ6P7CK.js.map → chunk-FBW6XKZJ.js.map} +0 -0
- /package/dist/{chunk-J5XEJHIQ.js.map → chunk-FQKQUJBU.js.map} +0 -0
- /package/dist/{chunk-JLWKHYIU.js.map → chunk-GHWTMPPL.js.map} +0 -0
- /package/dist/{chunk-FJHZW7CR.js.map → chunk-H4XSKDI6.js.map} +0 -0
- /package/dist/{chunk-BSIGP5XF.js.map → chunk-HDFUSBU3.js.map} +0 -0
- /package/dist/{chunk-UVALD724.js.map → chunk-HQR27JGL.js.map} +0 -0
- /package/dist/{chunk-FAJAWO42.js.map → chunk-HXXRFTKP.js.map} +0 -0
- /package/dist/{chunk-YGKPWUJ6.js.map → chunk-HYNFZQU4.js.map} +0 -0
- /package/dist/{chunk-JXDDSNEK.js.map → chunk-JECCDZ2S.js.map} +0 -0
- /package/dist/{chunk-OO6MTUDS.js.map → chunk-KN7JWET4.js.map} +0 -0
- /package/dist/{chunk-2DBPZQLO.js.map → chunk-LUVQUKW5.js.map} +0 -0
- /package/dist/{chunk-QVHXEQFM.js.map → chunk-OO662XRQ.js.map} +0 -0
- /package/dist/{chunk-UP2VWCW5.js.map → chunk-PR4QN5HX.js.map} +0 -0
- /package/dist/{chunk-HBKZ2DJK.js.map → chunk-RCWWUZHA.js.map} +0 -0
- /package/dist/{chunk-SJUSQGKH.js.map → chunk-RFUBLOZQ.js.map} +0 -0
- /package/dist/{chunk-RIUUFBX4.js.map → chunk-TE26NHNW.js.map} +0 -0
- /package/dist/{chunk-Q2U6SFN2.js.map → chunk-TLE2YE6G.js.map} +0 -0
- /package/dist/{chunk-4XGKCVJL.js.map → chunk-VQBVL3UD.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-JGX54DAD.js.map → cli-circuit-breaker-MAN2V7DA.js.map} +0 -0
- /package/dist/{codebase-search-CZUA37RU.js.map → codebase-search-PIBRTGBE.js.map} +0 -0
- /package/dist/{composite-router-UYFYSMBT.js.map → composite-router-YCIEYOZC.js.map} +0 -0
- /package/dist/{consensus-vote-BZ6JSN67.js.map → consensus-vote-TGTGZSPS.js.map} +0 -0
- /package/dist/{context-retriever-G23VVJ5S.js.map → context-retriever-FKJKKPAA.js.map} +0 -0
- /package/dist/{dist-NIXVXYIH.js.map → dist-OFXI4GYH.js.map} +0 -0
- /package/dist/{doctor-deep-OF2LXZ6A.js.map → doctor-deep-2KT4LZA6.js.map} +0 -0
- /package/dist/{expert-bridge-6ZLD2NWD.js.map → expert-bridge-6NA7MK7T.js.map} +0 -0
- /package/dist/{expert-config-HN7U7X2K.js.map → expert-config-OIIUMJFB.js.map} +0 -0
- /package/dist/{factory-I54TX7OY.js.map → factory-IIPDY7QB.js.map} +0 -0
- /package/dist/{factory-UHDCLEUE.js.map → factory-VXHVQXKR.js.map} +0 -0
- /package/dist/{init-opencode-FE7HVWQL.js.map → init-opencode-26YCTSR4.js.map} +0 -0
- /package/dist/{issue-triage-7NR5NQUY.js.map → issue-triage-NGWFHIKY.js.map} +0 -0
- /package/dist/{learning-persistence-TGOBRUUU.js.map → learning-persistence-Q63HZ2EB.js.map} +0 -0
- /package/dist/{outcome-store-adapter-QRFJJIKB.js.map → outcome-store-adapter-D3UDQFNQ.js.map} +0 -0
- /package/dist/{pr-reviewer-helpers-L4L324FQ.js.map → pr-reviewer-helpers-WYPUYQ2U.js.map} +0 -0
- /package/dist/{registry-command-NZLX7ZFV.js.map → registry-command-AKJBYP5N.js.map} +0 -0
- /package/dist/{repo-analyze-GBQT4LAK.js.map → repo-analyze-D2OY2QSR.js.map} +0 -0
- /package/dist/{repo-security-plan-74GJWJSV.js.map → repo-security-plan-ZGJN6QRW.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-LFPEXRIV.js.map → research-helpers-synthesize-ZWBBFT2O.js.map} +0 -0
- /package/dist/{routing-memory-Y2LSEQVS.js.map → routing-memory-Y5UBVQGM.js.map} +0 -0
- /package/dist/{session-memory-RCNQJDJR.js.map → session-memory-OOBM2GQ7.js.map} +0 -0
- /package/dist/{setup-command-ZPLPOJF2.js.map → setup-command-VJLR47CI.js.map} +0 -0
- /package/dist/{setup-config-F7VRWXY3.js.map → setup-config-F7NK2KVC.js.map} +0 -0
- /package/dist/{setup-custom-api-XTJ6YZM6.js.map → setup-custom-api-53SYDF4L.js.map} +0 -0
- /package/dist/{shared-memory-AEO2HJLC.js.map → shared-memory-CM6T2MYE.js.map} +0 -0
- /package/dist/{symbol-extractor-UEBANFSN.js.map → symbol-extractor-WYXPJH65.js.map} +0 -0
- /package/dist/{tool-memory-COZK6SR7.js.map → tool-memory-RZ7NJCPV.js.map} +0 -0
- /package/dist/{weather-report-O4XOYGPK.js.map → weather-report-VOSP7KKV.js.map} +0 -0
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
setMemoryRegistry,
|
|
19
19
|
subscribeToMemoryEvents
|
|
20
20
|
} from "./chunk-PQHVC4BD.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-PR4QN5HX.js";
|
|
22
22
|
export {
|
|
23
23
|
InMemoryBackend,
|
|
24
24
|
MemoryRegistry,
|
|
@@ -39,4 +39,4 @@ export {
|
|
|
39
39
|
setMemoryRegistry,
|
|
40
40
|
subscribeToMemoryEvents
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=dist-
|
|
42
|
+
//# sourceMappingURL=dist-OFXI4GYH.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
formatDeepDiagnostics,
|
|
3
3
|
runDeepDiagnostics
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-VQBVL3UD.js";
|
|
5
|
+
import "./chunk-4MHE5UVO.js";
|
|
6
6
|
import "./chunk-2JQXC3CK.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-PR4QN5HX.js";
|
|
8
8
|
export {
|
|
9
9
|
formatDeepDiagnostics,
|
|
10
10
|
runDeepDiagnostics
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=doctor-deep-
|
|
12
|
+
//# sourceMappingURL=doctor-deep-2KT4LZA6.js.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
executeExpert
|
|
3
|
+
} from "./chunk-376MBRLD.js";
|
|
4
|
+
import "./chunk-TLE2YE6G.js";
|
|
5
|
+
import "./chunk-4MHE5UVO.js";
|
|
6
|
+
import "./chunk-2JQXC3CK.js";
|
|
7
|
+
import "./chunk-PR4QN5HX.js";
|
|
8
|
+
export {
|
|
9
|
+
executeExpert
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=expert-bridge-6NA7MK7T.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
safeValidateExpertConfig,
|
|
9
9
|
validateExpertConfig
|
|
10
10
|
} from "./chunk-ZM4O442V.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-PR4QN5HX.js";
|
|
12
12
|
export {
|
|
13
13
|
BUILT_IN_EXPERTS,
|
|
14
14
|
BuiltInExpertTypeSchema,
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
safeValidateExpertConfig,
|
|
20
20
|
validateExpertConfig
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=expert-config-
|
|
22
|
+
//# sourceMappingURL=expert-config-OIIUMJFB.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createGitHubProvider,
|
|
3
|
+
createScmProvider
|
|
4
|
+
} from "./chunk-5SBD55T7.js";
|
|
5
|
+
import "./chunk-BQ55PBN4.js";
|
|
6
|
+
import "./chunk-HQR27JGL.js";
|
|
7
|
+
import "./chunk-4MHE5UVO.js";
|
|
8
|
+
import "./chunk-2JQXC3CK.js";
|
|
9
|
+
import "./chunk-PR4QN5HX.js";
|
|
10
|
+
export {
|
|
11
|
+
createGitHubProvider,
|
|
12
|
+
createScmProvider
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=factory-IIPDY7QB.js.map
|
|
@@ -3,15 +3,15 @@ import {
|
|
|
3
3
|
createCliAdapter,
|
|
4
4
|
getAvailableClis,
|
|
5
5
|
isCliAvailable
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-5FUVEIJC.js";
|
|
7
|
+
import "./chunk-JECCDZ2S.js";
|
|
8
|
+
import "./chunk-4MHE5UVO.js";
|
|
9
9
|
import "./chunk-2JQXC3CK.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-PR4QN5HX.js";
|
|
11
11
|
export {
|
|
12
12
|
createAllAdapters,
|
|
13
13
|
createCliAdapter,
|
|
14
14
|
getAvailableClis,
|
|
15
15
|
isCliAvailable
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=factory-
|
|
17
|
+
//# sourceMappingURL=factory-VXHVQXKR.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -13978,6 +13978,14 @@ declare class AgenticAdapter implements IAgenticAdapter {
|
|
|
13978
13978
|
* to record everything and let the next turn be the budget breaker).
|
|
13979
13979
|
*/
|
|
13980
13980
|
private processToolCallsParallel;
|
|
13981
|
+
/**
|
|
13982
|
+
* Records one settled parallel-tool outcome into history. Mutates
|
|
13983
|
+
* `state.turns` / `toolResultBlocks` in place and returns `true` when
|
|
13984
|
+
* the outcome signals a tool error (the caller stops *after* draining
|
|
13985
|
+
* every outcome — #2864). Extracted from `processToolCallsParallel`
|
|
13986
|
+
* to keep that method's cyclomatic complexity under the gate.
|
|
13987
|
+
*/
|
|
13988
|
+
private drainParallelOutcome;
|
|
13981
13989
|
/**
|
|
13982
13990
|
* Per-call wrapper used by parallel execution. Returns a captured
|
|
13983
13991
|
* outcome (turn + result-block, OR turn + tool-error flag) without
|
|
@@ -21620,6 +21628,13 @@ interface ProposalState {
|
|
|
21620
21628
|
timeoutId?: ReturnType<typeof setTimeout>;
|
|
21621
21629
|
/** Number of incremental quorum expansions applied (Issue #1408). */
|
|
21622
21630
|
expansionRounds?: number;
|
|
21631
|
+
/**
|
|
21632
|
+
* True while a quorum expansion is awaiting its callback for this
|
|
21633
|
+
* proposal. Concurrent `vote()` calls check this to avoid double-
|
|
21634
|
+
* expanding across the `await` gap (Issue #2861). Per-proposal so
|
|
21635
|
+
* independent proposals never block each other.
|
|
21636
|
+
*/
|
|
21637
|
+
expansionInFlight?: boolean;
|
|
21623
21638
|
}
|
|
21624
21639
|
/**
|
|
21625
21640
|
* Consensus metrics for monitoring.
|
|
@@ -24834,6 +24849,14 @@ declare abstract class BaseCliAdapter implements ICliAdapter {
|
|
|
24834
24849
|
* Computes effective timeout for a task.
|
|
24835
24850
|
*/
|
|
24836
24851
|
private computeTimeout;
|
|
24852
|
+
/**
|
|
24853
|
+
* Whether the shared outer retry loop ({@link executeCliRetryLoop}) is
|
|
24854
|
+
* allowed to retry this adapter's failures. The base adapter honors the
|
|
24855
|
+
* caller's `allowRetry`. Subprocess adapters override this to suppress
|
|
24856
|
+
* the outer loop when their own transient-retry layer is active, so the
|
|
24857
|
+
* two layers do not nest into multiplied spawns (#2824).
|
|
24858
|
+
*/
|
|
24859
|
+
protected shouldOuterRetry(opts: Required<ExecutionOptions$1>): boolean;
|
|
24837
24860
|
/**
|
|
24838
24861
|
* Executes task with retry logic via shared retry loop.
|
|
24839
24862
|
*/
|
|
@@ -24984,6 +25007,16 @@ declare abstract class SubprocessCliAdapter extends BaseCliAdapter {
|
|
|
24984
25007
|
protected abstract readonly parser: ICliResponseParser;
|
|
24985
25008
|
/** Transient-error retry config. Override in subclass to enable. */
|
|
24986
25009
|
protected readonly transientRetry: TransientRetryConfig;
|
|
25010
|
+
/**
|
|
25011
|
+
* The inner {@link retryTransient} layer is the single retry authority
|
|
25012
|
+
* for subprocess CLIs. When it is enabled (the default), the shared
|
|
25013
|
+
* outer retry loop must not also retry: nesting both meant up to 6
|
|
25014
|
+
* subprocess spawns and ~10-minute hangs on a persistent TIMEOUT, since
|
|
25015
|
+
* the inner layer's timeout extension compounds on every outer attempt
|
|
25016
|
+
* (#2824). The outer loop still runs once, so circuit-breaker failure
|
|
25017
|
+
* recording is unaffected.
|
|
25018
|
+
*/
|
|
25019
|
+
protected shouldOuterRetry(opts: Required<ExecutionOptions$1>): boolean;
|
|
24987
25020
|
/**
|
|
24988
25021
|
* Gets CLI command and arguments for execution.
|
|
24989
25022
|
* If stdin is provided, it will be written to the process stdin.
|
|
@@ -28401,6 +28434,15 @@ declare function createOrchestratorFactory(config?: OrchestratorFactoryConfig):
|
|
|
28401
28434
|
*
|
|
28402
28435
|
* Analyzes task characteristics and selects the optimal orchestration
|
|
28403
28436
|
* pattern using a rule-based classification system.
|
|
28437
|
+
*
|
|
28438
|
+
* Scope of `recordOutcome` / `getMetrics` (#2824): the recorded
|
|
28439
|
+
* `PatternOutcome`s live in a buffer owned by this router instance.
|
|
28440
|
+
* `route()` is a deterministic, rule-based classifier — it does NOT
|
|
28441
|
+
* consume recorded outcomes, so there is no per-instance learning to
|
|
28442
|
+
* "lose", and nothing to aggregate across processes. The pair is an
|
|
28443
|
+
* observability surface only. If cross-process pattern metrics are
|
|
28444
|
+
* ever needed, add a dedicated consumer that writes to a shared
|
|
28445
|
+
* `OutcomeStore` rather than widening this router's responsibility.
|
|
28404
28446
|
*/
|
|
28405
28447
|
declare function createWorkflowRouter(options?: {
|
|
28406
28448
|
readonly logger?: ILogger | undefined;
|
|
@@ -28410,9 +28452,12 @@ declare function createWorkflowRouter(options?: {
|
|
|
28410
28452
|
interface IWorkflowRouter {
|
|
28411
28453
|
/** Routes a task to the optimal workflow pattern. */
|
|
28412
28454
|
route(signals: TaskSignals, options?: WorkflowRouterOptions): RoutingDecision$1;
|
|
28413
|
-
/**
|
|
28455
|
+
/**
|
|
28456
|
+
* Records an execution outcome into this router instance's buffer.
|
|
28457
|
+
* Observability only — `route()` never reads it back (#2824).
|
|
28458
|
+
*/
|
|
28414
28459
|
recordOutcome(outcome: PatternOutcome): void;
|
|
28415
|
-
/**
|
|
28460
|
+
/** Aggregates this instance's recorded outcomes, optionally filtered by pattern. */
|
|
28416
28461
|
getMetrics(pattern?: WorkflowPattern): readonly PatternMetrics[];
|
|
28417
28462
|
}
|
|
28418
28463
|
|
|
@@ -30828,7 +30873,7 @@ declare class EventBus implements IEventBus {
|
|
|
30828
30873
|
/**
|
|
30829
30874
|
* ArtifactStore — V2 Pipeline Artifact Storage (Issue #912, Phase 4-3)
|
|
30830
30875
|
*
|
|
30831
|
-
* In-memory artifact store with bounded capacity and
|
|
30876
|
+
* In-memory artifact store with bounded capacity and FIFO eviction.
|
|
30832
30877
|
* Tracks provenance chains for artifact traceability.
|
|
30833
30878
|
*
|
|
30834
30879
|
* @see docs/v2/08-observability-eventing.md
|
|
@@ -30873,8 +30918,15 @@ interface ArtifactStoreOptions {
|
|
|
30873
30918
|
/**
|
|
30874
30919
|
* In-memory artifact store with bounded capacity.
|
|
30875
30920
|
*
|
|
30876
|
-
* When the store exceeds maxArtifacts, the oldest artifacts
|
|
30877
|
-
*
|
|
30921
|
+
* When the store exceeds maxArtifacts, the oldest artifacts are evicted
|
|
30922
|
+
* (FIFO — insertion order, never reordered on `get()`). Content size is
|
|
30923
|
+
* validated on put().
|
|
30924
|
+
*
|
|
30925
|
+
* This is a bounded in-memory working cache, NOT the durable audit
|
|
30926
|
+
* substrate (#2867): once `maxArtifacts` is reached, old artifacts and
|
|
30927
|
+
* their provenance are dropped. For tamper-evident, retained audit
|
|
30928
|
+
* history use the on-disk Merkle audit log via the `verify_audit_chain`
|
|
30929
|
+
* MCP tool.
|
|
30878
30930
|
*/
|
|
30879
30931
|
declare class ArtifactStore implements IArtifactStore {
|
|
30880
30932
|
private readonly artifacts;
|
|
@@ -30886,6 +30938,17 @@ declare class ArtifactStore implements IArtifactStore {
|
|
|
30886
30938
|
put(artifact: Artifact): ArtifactRef;
|
|
30887
30939
|
get(ref: ArtifactRef): Artifact | undefined;
|
|
30888
30940
|
query(filter: ArtifactFilter): readonly ArtifactRef[];
|
|
30941
|
+
/**
|
|
30942
|
+
* Returns the full provenance chain for an artifact — the artifact
|
|
30943
|
+
* itself plus every ancestor transitively reachable via `inputRefs`
|
|
30944
|
+
* (#2867). Iterative DFS; the `visited` set makes it safe against
|
|
30945
|
+
* cycles and diamond/multi-parent DAGs (each artifact appears once).
|
|
30946
|
+
*
|
|
30947
|
+
* Entries are in reachability (start-node-first DFS) order, not
|
|
30948
|
+
* topological order. An ancestor that has been FIFO-evicted from the
|
|
30949
|
+
* store is silently skipped — the chain truncates there rather than
|
|
30950
|
+
* throwing. A missing root returns `[]`.
|
|
30951
|
+
*/
|
|
30889
30952
|
provenance(ref: ArtifactRef): readonly ProvenanceEntry[];
|
|
30890
30953
|
private validateContentSize;
|
|
30891
30954
|
private evictIfNeeded;
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createGitHubProvider,
|
|
3
3
|
createScmProvider
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5SBD55T7.js";
|
|
5
5
|
import {
|
|
6
6
|
ALLOWED_COMMANDS,
|
|
7
7
|
ARTIFACT_TYPES,
|
|
@@ -518,7 +518,7 @@ import {
|
|
|
518
518
|
validateWorkflow,
|
|
519
519
|
validateWorkflowDependencies,
|
|
520
520
|
withLogging
|
|
521
|
-
} from "./chunk-
|
|
521
|
+
} from "./chunk-RCNNN4E2.js";
|
|
522
522
|
import "./chunk-AP2FD37C.js";
|
|
523
523
|
import {
|
|
524
524
|
SharedMemoryStore
|
|
@@ -527,21 +527,21 @@ import {
|
|
|
527
527
|
getTokenEnvVars,
|
|
528
528
|
hasToken,
|
|
529
529
|
resolveToken
|
|
530
|
-
} from "./chunk-
|
|
530
|
+
} from "./chunk-BQ55PBN4.js";
|
|
531
531
|
import "./chunk-X2M7OF27.js";
|
|
532
532
|
import {
|
|
533
533
|
OPENAI_MODELS,
|
|
534
534
|
OPENAI_MODEL_ALIASES,
|
|
535
535
|
OpenAIAdapter,
|
|
536
536
|
createOpenAIAdapter
|
|
537
|
-
} from "./chunk-
|
|
537
|
+
} from "./chunk-HXXRFTKP.js";
|
|
538
538
|
import {
|
|
539
539
|
CliCircuitBreakerIntegration,
|
|
540
540
|
createCliCircuitBreakerIntegration
|
|
541
|
-
} from "./chunk-
|
|
541
|
+
} from "./chunk-FQKQUJBU.js";
|
|
542
542
|
import {
|
|
543
543
|
executeExpert
|
|
544
|
-
} from "./chunk-
|
|
544
|
+
} from "./chunk-376MBRLD.js";
|
|
545
545
|
import {
|
|
546
546
|
AgentFindingSchema,
|
|
547
547
|
AgentPerformanceSchema,
|
|
@@ -637,10 +637,10 @@ import {
|
|
|
637
637
|
validateToolInput,
|
|
638
638
|
withModelNotFoundFallback,
|
|
639
639
|
wrapResilientWithFallback
|
|
640
|
-
} from "./chunk-
|
|
640
|
+
} from "./chunk-3QRO77LO.js";
|
|
641
641
|
import {
|
|
642
642
|
PROVIDER_ENV_KEYS
|
|
643
|
-
} from "./chunk-
|
|
643
|
+
} from "./chunk-GHWTMPPL.js";
|
|
644
644
|
import {
|
|
645
645
|
AdapterModelError,
|
|
646
646
|
BaseAdapter,
|
|
@@ -664,8 +664,8 @@ import {
|
|
|
664
664
|
transformStream,
|
|
665
665
|
validateApiKeyPresence,
|
|
666
666
|
withTimeout
|
|
667
|
-
} from "./chunk-
|
|
668
|
-
import "./chunk-
|
|
667
|
+
} from "./chunk-HYNFZQU4.js";
|
|
668
|
+
import "./chunk-H4XSKDI6.js";
|
|
669
669
|
import {
|
|
670
670
|
AgentActionSchema,
|
|
671
671
|
GitHubReviewer,
|
|
@@ -698,11 +698,11 @@ import {
|
|
|
698
698
|
sanitizeInput,
|
|
699
699
|
validateAgentAction,
|
|
700
700
|
validateCorroboration
|
|
701
|
-
} from "./chunk-
|
|
701
|
+
} from "./chunk-OO662XRQ.js";
|
|
702
702
|
import {
|
|
703
703
|
GitHubProvider,
|
|
704
704
|
ScmError
|
|
705
|
-
} from "./chunk-
|
|
705
|
+
} from "./chunk-HQR27JGL.js";
|
|
706
706
|
import {
|
|
707
707
|
FALLBACK_SCANNER_DATA,
|
|
708
708
|
buildPlanFromAnalysis,
|
|
@@ -710,7 +710,7 @@ import {
|
|
|
710
710
|
generateSecurityPlan,
|
|
711
711
|
getRegistryManifest,
|
|
712
712
|
resolveScannerData
|
|
713
|
-
} from "./chunk-
|
|
713
|
+
} from "./chunk-TE26NHNW.js";
|
|
714
714
|
import {
|
|
715
715
|
analyzeGitHubRepo,
|
|
716
716
|
analyzeRepo,
|
|
@@ -720,10 +720,10 @@ import "./chunk-BQ4YXGGQ.js";
|
|
|
720
720
|
import {
|
|
721
721
|
PersistentStrategyDistiller,
|
|
722
722
|
RulesSnapshotSchema
|
|
723
|
-
} from "./chunk-
|
|
723
|
+
} from "./chunk-C3BOZZQC.js";
|
|
724
724
|
import {
|
|
725
725
|
MemoryError
|
|
726
|
-
} from "./chunk-
|
|
726
|
+
} from "./chunk-KN7JWET4.js";
|
|
727
727
|
import {
|
|
728
728
|
AppConfigSchema,
|
|
729
729
|
ExpertConfigSchema,
|
|
@@ -742,7 +742,7 @@ import {
|
|
|
742
742
|
getKnownNexusVarNames,
|
|
743
743
|
startStdioServer,
|
|
744
744
|
validateNexusEnv
|
|
745
|
-
} from "./chunk-
|
|
745
|
+
} from "./chunk-RFUBLOZQ.js";
|
|
746
746
|
import {
|
|
747
747
|
AvailabilityCache,
|
|
748
748
|
filterAvailableModels,
|
|
@@ -751,15 +751,15 @@ import {
|
|
|
751
751
|
getFallbackChain,
|
|
752
752
|
resetAvailabilityCache,
|
|
753
753
|
resolveFallback
|
|
754
|
-
} from "./chunk-
|
|
754
|
+
} from "./chunk-TLE2YE6G.js";
|
|
755
755
|
import {
|
|
756
756
|
AvailableModelsCache,
|
|
757
757
|
getDefaultAvailableModelsCache,
|
|
758
758
|
setDefaultAvailableModelsCache
|
|
759
|
-
} from "./chunk-
|
|
759
|
+
} from "./chunk-RCWWUZHA.js";
|
|
760
760
|
import {
|
|
761
761
|
DEFAULTS
|
|
762
|
-
} from "./chunk-
|
|
762
|
+
} from "./chunk-HDFUSBU3.js";
|
|
763
763
|
import "./chunk-NUBSJGQZ.js";
|
|
764
764
|
import "./chunk-633WH2ML.js";
|
|
765
765
|
import {
|
|
@@ -790,8 +790,8 @@ import {
|
|
|
790
790
|
isCliAvailable,
|
|
791
791
|
isRetryableError,
|
|
792
792
|
sleep
|
|
793
|
-
} from "./chunk-
|
|
794
|
-
import "./chunk-
|
|
793
|
+
} from "./chunk-5FUVEIJC.js";
|
|
794
|
+
import "./chunk-JECCDZ2S.js";
|
|
795
795
|
import {
|
|
796
796
|
BUILT_IN_EXPERTS,
|
|
797
797
|
BuiltInExpertTypeSchema,
|
|
@@ -802,7 +802,7 @@ import {
|
|
|
802
802
|
validateExpertConfig
|
|
803
803
|
} from "./chunk-ZM4O442V.js";
|
|
804
804
|
import "./chunk-PQHVC4BD.js";
|
|
805
|
-
import "./chunk-
|
|
805
|
+
import "./chunk-FBW6XKZJ.js";
|
|
806
806
|
import {
|
|
807
807
|
AgentCapability,
|
|
808
808
|
AgentError,
|
|
@@ -879,9 +879,9 @@ import {
|
|
|
879
879
|
toError,
|
|
880
880
|
unwrap,
|
|
881
881
|
unwrapOr
|
|
882
|
-
} from "./chunk-
|
|
882
|
+
} from "./chunk-4MHE5UVO.js";
|
|
883
883
|
import "./chunk-2JQXC3CK.js";
|
|
884
|
-
import "./chunk-
|
|
884
|
+
import "./chunk-PR4QN5HX.js";
|
|
885
885
|
|
|
886
886
|
// src/adapters/factory.ts
|
|
887
887
|
import { z } from "zod";
|
|
@@ -5683,17 +5683,36 @@ var ArtifactStore = class {
|
|
|
5683
5683
|
}
|
|
5684
5684
|
return refs;
|
|
5685
5685
|
}
|
|
5686
|
+
/**
|
|
5687
|
+
* Returns the full provenance chain for an artifact — the artifact
|
|
5688
|
+
* itself plus every ancestor transitively reachable via `inputRefs`
|
|
5689
|
+
* (#2867). Iterative DFS; the `visited` set makes it safe against
|
|
5690
|
+
* cycles and diamond/multi-parent DAGs (each artifact appears once).
|
|
5691
|
+
*
|
|
5692
|
+
* Entries are in reachability (start-node-first DFS) order, not
|
|
5693
|
+
* topological order. An ancestor that has been FIFO-evicted from the
|
|
5694
|
+
* store is silently skipped — the chain truncates there rather than
|
|
5695
|
+
* throwing. A missing root returns `[]`.
|
|
5696
|
+
*/
|
|
5686
5697
|
provenance(ref) {
|
|
5687
|
-
const
|
|
5688
|
-
|
|
5689
|
-
|
|
5690
|
-
|
|
5698
|
+
const entries = [];
|
|
5699
|
+
const visited = /* @__PURE__ */ new Set();
|
|
5700
|
+
const stack = [ref.id];
|
|
5701
|
+
while (stack.length > 0) {
|
|
5702
|
+
const id = stack.pop();
|
|
5703
|
+
if (id === void 0 || visited.has(id)) continue;
|
|
5704
|
+
visited.add(id);
|
|
5705
|
+
const artifact = this.artifacts.get(id);
|
|
5706
|
+
if (artifact === void 0) continue;
|
|
5707
|
+
entries.push({
|
|
5691
5708
|
artifactId: artifact.id,
|
|
5692
5709
|
plugin: artifact.createdBy,
|
|
5693
5710
|
timestamp: artifact.createdAt,
|
|
5694
5711
|
inputArtifacts: artifact.inputRefs.map((r) => r.id)
|
|
5695
|
-
}
|
|
5696
|
-
|
|
5712
|
+
});
|
|
5713
|
+
for (const r of artifact.inputRefs) stack.push(r.id);
|
|
5714
|
+
}
|
|
5715
|
+
return entries;
|
|
5697
5716
|
}
|
|
5698
5717
|
// ==========================================================================
|
|
5699
5718
|
// Internal
|
|
@@ -5984,7 +6003,7 @@ function buildVotingInput(plan, config) {
|
|
|
5984
6003
|
}
|
|
5985
6004
|
async function executeSingleVote(plan, config, log) {
|
|
5986
6005
|
try {
|
|
5987
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
6006
|
+
const { executeVoting } = await import("./consensus-vote-TGTGZSPS.js");
|
|
5988
6007
|
const input = buildVotingInput(plan, config);
|
|
5989
6008
|
const result = await executeVoting(input, log);
|
|
5990
6009
|
return parseVotingResult(result);
|