nexus-agents 2.82.0 → 2.83.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/{child-mcp-config-BMSYR7VV.js → child-mcp-config-XVPIO5HV.js} +2 -2
- package/dist/{chunk-OYDJ3C4N.js → chunk-2W4QJ27D.js} +3 -3
- package/dist/{chunk-BQ4YXGGQ.js → chunk-3ACDP4E6.js} +124 -2
- package/dist/chunk-3ACDP4E6.js.map +1 -0
- package/dist/{chunk-C7P2HLJX.js → chunk-3ASED5PR.js} +4 -4
- package/dist/{chunk-TXIUCEFT.js → chunk-3GJAAENS.js} +3 -3
- package/dist/{chunk-GNG7URCR.js → chunk-3WUVWZUC.js} +2 -2
- package/dist/{chunk-FTT2IYYX.js → chunk-4BXQ2OZY.js} +34 -16
- package/dist/chunk-4BXQ2OZY.js.map +1 -0
- package/dist/{chunk-SBZVRH4S.js → chunk-54UXPJVM.js} +2 -2
- package/dist/{chunk-QHL4KGNB.js → chunk-5T6SYCH2.js} +2 -2
- package/dist/{chunk-BL5IBHEY.js → chunk-6WDJ3IE4.js} +3 -3
- package/dist/{chunk-2R5UUBGA.js → chunk-AFPHR72D.js} +2 -2
- package/dist/{chunk-S36LIUV2.js → chunk-AINOJRZX.js} +7 -7
- package/dist/{chunk-HJUHDPXJ.js → chunk-BZUEUD4G.js} +3 -3
- package/dist/{chunk-2SQXJQTA.js → chunk-FHGDJKCZ.js} +16 -13
- package/dist/{chunk-2SQXJQTA.js.map → chunk-FHGDJKCZ.js.map} +1 -1
- package/dist/{chunk-XGUDCUMB.js → chunk-FI77TGBY.js} +2 -2
- package/dist/{chunk-7J7PNOJQ.js → chunk-HFOQKCD2.js} +22 -5
- package/dist/chunk-HFOQKCD2.js.map +1 -0
- package/dist/{chunk-PZESEBD3.js → chunk-L362KRSU.js} +2 -2
- package/dist/{chunk-HMXQKDUV.js → chunk-NLPMYBIV.js} +23 -7
- package/dist/chunk-NLPMYBIV.js.map +1 -0
- package/dist/{chunk-4XNVJS5A.js → chunk-PMLVZXAE.js} +763 -728
- package/dist/chunk-PMLVZXAE.js.map +1 -0
- package/dist/{chunk-JM3R267Z.js → chunk-PPBZQKRP.js} +5 -5
- package/dist/{chunk-WUUEKFKG.js → chunk-Q6PZMGLU.js} +2 -2
- package/dist/{chunk-W2AIGD35.js → chunk-RVRXKNND.js} +3 -3
- package/dist/{chunk-7VNVDFD5.js → chunk-RXVH52UI.js} +44 -18
- package/dist/{chunk-7VNVDFD5.js.map → chunk-RXVH52UI.js.map} +1 -1
- package/dist/{chunk-HVZ52LOL.js → chunk-U6LDVJS7.js} +2 -2
- package/dist/{chunk-X3JR3GMT.js → chunk-WGSRH5EQ.js} +3 -3
- package/dist/{chunk-SXL744NF.js → chunk-WJFUTRHX.js} +2 -2
- package/dist/{chunk-U7JXQSEM.js → chunk-YO27YAEX.js} +3 -3
- package/dist/{chunk-G2DZBEMU.js → chunk-Z64MSLEK.js} +2 -2
- package/dist/{chunk-NTLJ3INA.js → chunk-ZIWEEVMI.js} +2 -2
- package/dist/{chunk-SHWGK7X6.js → chunk-ZM5JKJHI.js} +2 -2
- package/dist/{cli-circuit-breaker-BIJUQRQI.js → cli-circuit-breaker-Y26NPPNO.js} +4 -4
- package/dist/cli.js +366 -344
- package/dist/cli.js.map +1 -1
- package/dist/codebase-search-ZFJUVMVR.js +8 -0
- package/dist/{composite-router-FB7P22L5.js → composite-router-X2ZYIEHH.js} +2 -2
- package/dist/{consensus-vote-KKAIFULI.js → consensus-vote-KZ6UURUI.js} +11 -11
- package/dist/{context-retriever-4JCGMWH7.js → context-retriever-QY4FNTDZ.js} +5 -5
- package/dist/{doctor-deep-7YK4BZIJ.js → doctor-deep-2E2GBMYR.js} +3 -3
- package/dist/expert-bridge-FHPWDFJX.js +13 -0
- package/dist/{factory-PK4EZL7K.js → factory-STNVY3Y3.js} +4 -4
- package/dist/{factory-DOWBGVAL.js → factory-W6KROBFN.js} +5 -5
- package/dist/index.d.ts +104 -60
- package/dist/index.js +100 -105
- package/dist/index.js.map +1 -1
- package/dist/{init-opencode-QP5CAMWN.js → init-opencode-6LVZ4CAQ.js} +5 -5
- package/dist/{issue-triage-T3SKNBH5.js → issue-triage-Y77JI7WF.js} +4 -4
- package/dist/{registry-command-TH7U6UMC.js → registry-command-P5VIAEOL.js} +2 -2
- package/dist/{repo-analyze-D2OY2QSR.js → repo-analyze-JZEMBE6R.js} +2 -2
- package/dist/{repo-security-plan-V257RYTW.js → repo-security-plan-RHSLO7H6.js} +4 -4
- package/dist/{research-helpers-synthesize-Y3O76PY4.js → research-helpers-synthesize-PVP6JRZV.js} +3 -3
- package/dist/{routing-memory-AAH7NIHD.js → routing-memory-QRIJPRVD.js} +2 -2
- package/dist/{session-memory-MY6YS2VX.js → session-memory-WARRGYY7.js} +3 -3
- package/dist/{setup-command-B6EC3OJA.js → setup-command-GMP5FI7F.js} +10 -10
- package/dist/{setup-config-HVO6ZSLW.js → setup-config-G3KKZM7O.js} +3 -3
- package/dist/{setup-custom-api-UOIKUQL4.js → setup-custom-api-B63X7ISD.js} +4 -4
- package/dist/{tool-memory-T7ZYIUJ2.js → tool-memory-E7JW4YLT.js} +4 -4
- package/dist/{weather-report-O3Z3BBAX.js → weather-report-RACZWJQL.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-4XNVJS5A.js.map +0 -1
- package/dist/chunk-7J7PNOJQ.js.map +0 -1
- package/dist/chunk-AP2FD37C.js +0 -127
- package/dist/chunk-AP2FD37C.js.map +0 -1
- package/dist/chunk-BQ4YXGGQ.js.map +0 -1
- package/dist/chunk-ED6VQWNG.js +0 -63
- package/dist/chunk-ED6VQWNG.js.map +0 -1
- package/dist/chunk-FTT2IYYX.js.map +0 -1
- package/dist/chunk-HMXQKDUV.js.map +0 -1
- package/dist/codebase-search-PIBRTGBE.js +0 -9
- package/dist/expert-bridge-DJM5GAWZ.js +0 -11
- package/dist/shared-memory-CM6T2MYE.js +0 -8
- package/dist/symbol-extractor-WYXPJH65.js +0 -10
- package/dist/tool-memory-T7ZYIUJ2.js.map +0 -1
- package/dist/weather-report-O3Z3BBAX.js.map +0 -1
- /package/dist/{child-mcp-config-BMSYR7VV.js.map → child-mcp-config-XVPIO5HV.js.map} +0 -0
- /package/dist/{chunk-OYDJ3C4N.js.map → chunk-2W4QJ27D.js.map} +0 -0
- /package/dist/{chunk-C7P2HLJX.js.map → chunk-3ASED5PR.js.map} +0 -0
- /package/dist/{chunk-TXIUCEFT.js.map → chunk-3GJAAENS.js.map} +0 -0
- /package/dist/{chunk-GNG7URCR.js.map → chunk-3WUVWZUC.js.map} +0 -0
- /package/dist/{chunk-SBZVRH4S.js.map → chunk-54UXPJVM.js.map} +0 -0
- /package/dist/{chunk-QHL4KGNB.js.map → chunk-5T6SYCH2.js.map} +0 -0
- /package/dist/{chunk-BL5IBHEY.js.map → chunk-6WDJ3IE4.js.map} +0 -0
- /package/dist/{chunk-2R5UUBGA.js.map → chunk-AFPHR72D.js.map} +0 -0
- /package/dist/{chunk-S36LIUV2.js.map → chunk-AINOJRZX.js.map} +0 -0
- /package/dist/{chunk-HJUHDPXJ.js.map → chunk-BZUEUD4G.js.map} +0 -0
- /package/dist/{chunk-XGUDCUMB.js.map → chunk-FI77TGBY.js.map} +0 -0
- /package/dist/{chunk-PZESEBD3.js.map → chunk-L362KRSU.js.map} +0 -0
- /package/dist/{chunk-JM3R267Z.js.map → chunk-PPBZQKRP.js.map} +0 -0
- /package/dist/{chunk-WUUEKFKG.js.map → chunk-Q6PZMGLU.js.map} +0 -0
- /package/dist/{chunk-W2AIGD35.js.map → chunk-RVRXKNND.js.map} +0 -0
- /package/dist/{chunk-HVZ52LOL.js.map → chunk-U6LDVJS7.js.map} +0 -0
- /package/dist/{chunk-X3JR3GMT.js.map → chunk-WGSRH5EQ.js.map} +0 -0
- /package/dist/{chunk-SXL744NF.js.map → chunk-WJFUTRHX.js.map} +0 -0
- /package/dist/{chunk-U7JXQSEM.js.map → chunk-YO27YAEX.js.map} +0 -0
- /package/dist/{chunk-G2DZBEMU.js.map → chunk-Z64MSLEK.js.map} +0 -0
- /package/dist/{chunk-NTLJ3INA.js.map → chunk-ZIWEEVMI.js.map} +0 -0
- /package/dist/{chunk-SHWGK7X6.js.map → chunk-ZM5JKJHI.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-BIJUQRQI.js.map → cli-circuit-breaker-Y26NPPNO.js.map} +0 -0
- /package/dist/{codebase-search-PIBRTGBE.js.map → codebase-search-ZFJUVMVR.js.map} +0 -0
- /package/dist/{composite-router-FB7P22L5.js.map → composite-router-X2ZYIEHH.js.map} +0 -0
- /package/dist/{consensus-vote-KKAIFULI.js.map → consensus-vote-KZ6UURUI.js.map} +0 -0
- /package/dist/{context-retriever-4JCGMWH7.js.map → context-retriever-QY4FNTDZ.js.map} +0 -0
- /package/dist/{doctor-deep-7YK4BZIJ.js.map → doctor-deep-2E2GBMYR.js.map} +0 -0
- /package/dist/{expert-bridge-DJM5GAWZ.js.map → expert-bridge-FHPWDFJX.js.map} +0 -0
- /package/dist/{factory-DOWBGVAL.js.map → factory-STNVY3Y3.js.map} +0 -0
- /package/dist/{factory-PK4EZL7K.js.map → factory-W6KROBFN.js.map} +0 -0
- /package/dist/{init-opencode-QP5CAMWN.js.map → init-opencode-6LVZ4CAQ.js.map} +0 -0
- /package/dist/{issue-triage-T3SKNBH5.js.map → issue-triage-Y77JI7WF.js.map} +0 -0
- /package/dist/{registry-command-TH7U6UMC.js.map → registry-command-P5VIAEOL.js.map} +0 -0
- /package/dist/{repo-analyze-D2OY2QSR.js.map → repo-analyze-JZEMBE6R.js.map} +0 -0
- /package/dist/{repo-security-plan-V257RYTW.js.map → repo-security-plan-RHSLO7H6.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-Y3O76PY4.js.map → research-helpers-synthesize-PVP6JRZV.js.map} +0 -0
- /package/dist/{routing-memory-AAH7NIHD.js.map → routing-memory-QRIJPRVD.js.map} +0 -0
- /package/dist/{session-memory-MY6YS2VX.js.map → session-memory-WARRGYY7.js.map} +0 -0
- /package/dist/{setup-command-B6EC3OJA.js.map → setup-command-GMP5FI7F.js.map} +0 -0
- /package/dist/{setup-config-HVO6ZSLW.js.map → setup-config-G3KKZM7O.js.map} +0 -0
- /package/dist/{setup-custom-api-UOIKUQL4.js.map → setup-custom-api-B63X7ISD.js.map} +0 -0
- /package/dist/{shared-memory-CM6T2MYE.js.map → tool-memory-E7JW4YLT.js.map} +0 -0
- /package/dist/{symbol-extractor-WYXPJH65.js.map → weather-report-RACZWJQL.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createGitHubProvider,
|
|
3
3
|
createScmProvider
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3ASED5PR.js";
|
|
5
5
|
import {
|
|
6
6
|
ALLOWED_COMMANDS,
|
|
7
7
|
ARTIFACT_TYPES,
|
|
@@ -329,6 +329,7 @@ import {
|
|
|
329
329
|
createExecutionContext,
|
|
330
330
|
createExecutionPlan,
|
|
331
331
|
createFeedbackIntegration,
|
|
332
|
+
createFeedbackSubscriber,
|
|
332
333
|
createGraphAuditBridge,
|
|
333
334
|
createInitializedWorkflowEngine,
|
|
334
335
|
createInteractionGraph,
|
|
@@ -518,30 +519,26 @@ import {
|
|
|
518
519
|
validateWorkflow,
|
|
519
520
|
validateWorkflowDependencies,
|
|
520
521
|
withLogging
|
|
521
|
-
} from "./chunk-
|
|
522
|
-
import "./chunk-AP2FD37C.js";
|
|
523
|
-
import {
|
|
524
|
-
SharedMemoryStore
|
|
525
|
-
} from "./chunk-ED6VQWNG.js";
|
|
522
|
+
} from "./chunk-PMLVZXAE.js";
|
|
526
523
|
import {
|
|
527
524
|
getTokenEnvVars,
|
|
528
525
|
hasToken,
|
|
529
526
|
resolveToken
|
|
530
|
-
} from "./chunk-
|
|
527
|
+
} from "./chunk-Z64MSLEK.js";
|
|
531
528
|
import "./chunk-X2M7OF27.js";
|
|
532
529
|
import {
|
|
533
530
|
OPENAI_MODELS,
|
|
534
531
|
OPENAI_MODEL_ALIASES,
|
|
535
532
|
OpenAIAdapter,
|
|
536
533
|
createOpenAIAdapter
|
|
537
|
-
} from "./chunk-
|
|
534
|
+
} from "./chunk-WGSRH5EQ.js";
|
|
538
535
|
import {
|
|
539
536
|
CliCircuitBreakerIntegration,
|
|
540
537
|
createCliCircuitBreakerIntegration
|
|
541
|
-
} from "./chunk-
|
|
538
|
+
} from "./chunk-2W4QJ27D.js";
|
|
542
539
|
import {
|
|
543
540
|
executeExpert
|
|
544
|
-
} from "./chunk-
|
|
541
|
+
} from "./chunk-NLPMYBIV.js";
|
|
545
542
|
import {
|
|
546
543
|
AgentFindingSchema,
|
|
547
544
|
AgentPerformanceSchema,
|
|
@@ -637,10 +634,7 @@ import {
|
|
|
637
634
|
validateToolInput,
|
|
638
635
|
withModelNotFoundFallback,
|
|
639
636
|
wrapResilientWithFallback
|
|
640
|
-
} from "./chunk-
|
|
641
|
-
import {
|
|
642
|
-
PROVIDER_ENV_KEYS
|
|
643
|
-
} from "./chunk-NTLJ3INA.js";
|
|
637
|
+
} from "./chunk-4BXQ2OZY.js";
|
|
644
638
|
import {
|
|
645
639
|
AdapterModelError,
|
|
646
640
|
BaseAdapter,
|
|
@@ -664,8 +658,11 @@ import {
|
|
|
664
658
|
transformStream,
|
|
665
659
|
validateApiKeyPresence,
|
|
666
660
|
withTimeout
|
|
667
|
-
} from "./chunk-
|
|
668
|
-
import
|
|
661
|
+
} from "./chunk-54UXPJVM.js";
|
|
662
|
+
import {
|
|
663
|
+
PROVIDER_ENV_KEYS
|
|
664
|
+
} from "./chunk-ZIWEEVMI.js";
|
|
665
|
+
import "./chunk-AFPHR72D.js";
|
|
669
666
|
import {
|
|
670
667
|
AgentActionSchema,
|
|
671
668
|
GitHubReviewer,
|
|
@@ -698,11 +695,11 @@ import {
|
|
|
698
695
|
sanitizeInput,
|
|
699
696
|
validateAgentAction,
|
|
700
697
|
validateCorroboration
|
|
701
|
-
} from "./chunk-
|
|
698
|
+
} from "./chunk-BZUEUD4G.js";
|
|
702
699
|
import {
|
|
703
700
|
GitHubProvider,
|
|
704
701
|
ScmError
|
|
705
|
-
} from "./chunk-
|
|
702
|
+
} from "./chunk-L362KRSU.js";
|
|
706
703
|
import {
|
|
707
704
|
FALLBACK_SCANNER_DATA,
|
|
708
705
|
buildPlanFromAnalysis,
|
|
@@ -710,20 +707,20 @@ import {
|
|
|
710
707
|
generateSecurityPlan,
|
|
711
708
|
getRegistryManifest,
|
|
712
709
|
resolveScannerData
|
|
713
|
-
} from "./chunk-
|
|
710
|
+
} from "./chunk-RVRXKNND.js";
|
|
714
711
|
import {
|
|
715
712
|
analyzeGitHubRepo,
|
|
716
713
|
analyzeRepo,
|
|
717
714
|
normalizeRepoId
|
|
718
|
-
} from "./chunk-
|
|
719
|
-
import "./chunk-
|
|
715
|
+
} from "./chunk-HFOQKCD2.js";
|
|
716
|
+
import "./chunk-3ACDP4E6.js";
|
|
720
717
|
import {
|
|
721
718
|
PersistentStrategyDistiller,
|
|
722
719
|
RulesSnapshotSchema
|
|
723
|
-
} from "./chunk-
|
|
720
|
+
} from "./chunk-3GJAAENS.js";
|
|
724
721
|
import {
|
|
725
722
|
MemoryError
|
|
726
|
-
} from "./chunk-
|
|
723
|
+
} from "./chunk-YO27YAEX.js";
|
|
727
724
|
import {
|
|
728
725
|
AppConfigSchema,
|
|
729
726
|
ExpertConfigSchema,
|
|
@@ -742,7 +739,7 @@ import {
|
|
|
742
739
|
getKnownNexusVarNames,
|
|
743
740
|
startStdioServer,
|
|
744
741
|
validateNexusEnv
|
|
745
|
-
} from "./chunk-
|
|
742
|
+
} from "./chunk-AINOJRZX.js";
|
|
746
743
|
import {
|
|
747
744
|
AvailabilityCache,
|
|
748
745
|
filterAvailableModels,
|
|
@@ -751,15 +748,15 @@ import {
|
|
|
751
748
|
getFallbackChain,
|
|
752
749
|
resetAvailabilityCache,
|
|
753
750
|
resolveFallback
|
|
754
|
-
} from "./chunk-
|
|
751
|
+
} from "./chunk-3WUVWZUC.js";
|
|
755
752
|
import {
|
|
756
753
|
AvailableModelsCache,
|
|
757
754
|
getDefaultAvailableModelsCache,
|
|
758
755
|
setDefaultAvailableModelsCache
|
|
759
|
-
} from "./chunk-
|
|
756
|
+
} from "./chunk-Q6PZMGLU.js";
|
|
760
757
|
import {
|
|
761
758
|
DEFAULTS
|
|
762
|
-
} from "./chunk-
|
|
759
|
+
} from "./chunk-ZM5JKJHI.js";
|
|
763
760
|
import "./chunk-NUBSJGQZ.js";
|
|
764
761
|
import "./chunk-633WH2ML.js";
|
|
765
762
|
import {
|
|
@@ -790,8 +787,8 @@ import {
|
|
|
790
787
|
isCliAvailable,
|
|
791
788
|
isRetryableError,
|
|
792
789
|
sleep
|
|
793
|
-
} from "./chunk-
|
|
794
|
-
import "./chunk-
|
|
790
|
+
} from "./chunk-FHGDJKCZ.js";
|
|
791
|
+
import "./chunk-5T6SYCH2.js";
|
|
795
792
|
import {
|
|
796
793
|
BUILT_IN_EXPERTS,
|
|
797
794
|
BuiltInExpertTypeSchema,
|
|
@@ -802,18 +799,16 @@ import {
|
|
|
802
799
|
validateExpertConfig
|
|
803
800
|
} from "./chunk-ZM4O442V.js";
|
|
804
801
|
import "./chunk-PQHVC4BD.js";
|
|
805
|
-
import "./chunk-
|
|
802
|
+
import "./chunk-U6LDVJS7.js";
|
|
806
803
|
import {
|
|
807
804
|
AgentCapability,
|
|
808
805
|
AgentError,
|
|
809
|
-
CLI_NAMES,
|
|
810
806
|
CLI_VERSION_REQUIREMENTS,
|
|
811
807
|
CompositeRouter,
|
|
812
808
|
CompositeRouterConfigSchema,
|
|
813
809
|
CompositeRoutingError,
|
|
814
810
|
ConfigError,
|
|
815
811
|
DEFAULT_CAPABILITIES,
|
|
816
|
-
DEFAULT_CLI,
|
|
817
812
|
DEFAULT_COMPOSITE_CONFIG,
|
|
818
813
|
DEFAULT_DISTILLER_CONFIG,
|
|
819
814
|
DEFAULT_ENTRY,
|
|
@@ -879,7 +874,7 @@ import {
|
|
|
879
874
|
toError,
|
|
880
875
|
unwrap,
|
|
881
876
|
unwrapOr
|
|
882
|
-
} from "./chunk-
|
|
877
|
+
} from "./chunk-RXVH52UI.js";
|
|
883
878
|
import "./chunk-I2HMWH4R.js";
|
|
884
879
|
import "./chunk-PR4QN5HX.js";
|
|
885
880
|
|
|
@@ -5749,65 +5744,6 @@ function matchesArtifactFilter(artifact, filter) {
|
|
|
5749
5744
|
return true;
|
|
5750
5745
|
}
|
|
5751
5746
|
|
|
5752
|
-
// src/pipeline/feedback-subscriber.ts
|
|
5753
|
-
var logger9 = createLogger({ component: "FeedbackSubscriber" });
|
|
5754
|
-
var VALID_CLIS = new Set(CLI_NAMES);
|
|
5755
|
-
function createFeedbackSubscriber(bus, store) {
|
|
5756
|
-
return bus.subscribe({ type: ["model.called", "stage.failed"] }, (event) => {
|
|
5757
|
-
try {
|
|
5758
|
-
handleEvent(event, store);
|
|
5759
|
-
} catch (error) {
|
|
5760
|
-
const msg = getErrorMessage(error);
|
|
5761
|
-
logger9.warn("Feedback subscriber error", { error: msg });
|
|
5762
|
-
}
|
|
5763
|
-
});
|
|
5764
|
-
}
|
|
5765
|
-
function handleEvent(event, store) {
|
|
5766
|
-
if (event.type === "model.called") {
|
|
5767
|
-
recordModelCall(event, store);
|
|
5768
|
-
} else if (event.type === "stage.failed") {
|
|
5769
|
-
recordStageFailed(event, store);
|
|
5770
|
-
}
|
|
5771
|
-
}
|
|
5772
|
-
function recordModelCall(event, store) {
|
|
5773
|
-
const cli = normalizeCli(event.cli);
|
|
5774
|
-
if (cli === void 0) return;
|
|
5775
|
-
const outcome = {
|
|
5776
|
-
id: `fb-${event.executionId}-${String(event.timestamp)}`,
|
|
5777
|
-
cli,
|
|
5778
|
-
category: "code_generation",
|
|
5779
|
-
model: event.model,
|
|
5780
|
-
success: true,
|
|
5781
|
-
durationMs: event.durationMs,
|
|
5782
|
-
timestamp: new Date(event.timestamp).toISOString(),
|
|
5783
|
-
source: "delegate"
|
|
5784
|
-
};
|
|
5785
|
-
store.append(outcome);
|
|
5786
|
-
}
|
|
5787
|
-
function recordStageFailed(event, store) {
|
|
5788
|
-
const outcome = {
|
|
5789
|
-
id: `fb-fail-${event.executionId}-${String(event.timestamp)}`,
|
|
5790
|
-
cli: DEFAULT_CLI,
|
|
5791
|
-
// Stage failures don't carry CLI info; default to canonical fallback
|
|
5792
|
-
category: "code_generation",
|
|
5793
|
-
model: "unknown",
|
|
5794
|
-
success: false,
|
|
5795
|
-
durationMs: 0,
|
|
5796
|
-
timestamp: new Date(event.timestamp).toISOString(),
|
|
5797
|
-
source: "delegate",
|
|
5798
|
-
failureCategory: categorizeOutcomeErrorMessage(event.error),
|
|
5799
|
-
errorMessage: event.error.slice(0, 500)
|
|
5800
|
-
};
|
|
5801
|
-
store.append(outcome);
|
|
5802
|
-
}
|
|
5803
|
-
function normalizeCli(cli) {
|
|
5804
|
-
if (VALID_CLIS.has(cli)) {
|
|
5805
|
-
return cli;
|
|
5806
|
-
}
|
|
5807
|
-
logger9.warn("Unknown CLI in event", { cli });
|
|
5808
|
-
return void 0;
|
|
5809
|
-
}
|
|
5810
|
-
|
|
5811
5747
|
// src/pipeline/trace-schema.ts
|
|
5812
5748
|
import { z as z15 } from "zod";
|
|
5813
5749
|
var ExecutionTraceEntrySchema = z15.object({
|
|
@@ -5869,10 +5805,10 @@ var GateCheckResultSchema = z16.object({
|
|
|
5869
5805
|
});
|
|
5870
5806
|
|
|
5871
5807
|
// src/pipeline/quality-pipeline.ts
|
|
5872
|
-
var
|
|
5808
|
+
var logger9 = createLogger({ component: "quality-pipeline" });
|
|
5873
5809
|
|
|
5874
5810
|
// src/pipeline/research-trigger.ts
|
|
5875
|
-
var
|
|
5811
|
+
var logger10 = createLogger({ component: "research-trigger" });
|
|
5876
5812
|
var DEFAULT_QUALITY_THRESHOLD = 7;
|
|
5877
5813
|
var DEFAULT_MAX_TRIGGERS = 3;
|
|
5878
5814
|
function parseDiscoveries(text) {
|
|
@@ -5904,7 +5840,7 @@ async function checkForResearchTriggers(config = {}) {
|
|
|
5904
5840
|
`Use research_discover to find recent papers and repos about "${topic}". For each result, include: title, quality score (1-10), and source URL.`
|
|
5905
5841
|
);
|
|
5906
5842
|
if (!result.success) {
|
|
5907
|
-
|
|
5843
|
+
logger10.debug("Research trigger: expert unavailable", { error: result.error });
|
|
5908
5844
|
return [];
|
|
5909
5845
|
}
|
|
5910
5846
|
const discoveries = parseDiscoveries(result.text);
|
|
@@ -5920,7 +5856,7 @@ Assess this research for applicability to nexus-agents.`,
|
|
|
5920
5856
|
status: "pending"
|
|
5921
5857
|
}));
|
|
5922
5858
|
if (tasks.length > 0) {
|
|
5923
|
-
|
|
5859
|
+
logger10.info("Research triggers created", {
|
|
5924
5860
|
total: discoveries.length,
|
|
5925
5861
|
qualified: qualified.length,
|
|
5926
5862
|
triggered: tasks.length
|
|
@@ -5928,13 +5864,13 @@ Assess this research for applicability to nexus-agents.`,
|
|
|
5928
5864
|
}
|
|
5929
5865
|
return tasks;
|
|
5930
5866
|
} catch (error) {
|
|
5931
|
-
|
|
5867
|
+
logger10.debug("Research trigger failed gracefully", { error: String(error) });
|
|
5932
5868
|
return [];
|
|
5933
5869
|
}
|
|
5934
5870
|
}
|
|
5935
5871
|
|
|
5936
5872
|
// src/pipeline/research-pipeline.ts
|
|
5937
|
-
var
|
|
5873
|
+
var logger11 = createLogger({ component: "research-pipeline" });
|
|
5938
5874
|
|
|
5939
5875
|
// src/pipeline/iterative-consensus.ts
|
|
5940
5876
|
var defaultLogger = createLogger({ component: "iterative-consensus" });
|
|
@@ -6003,7 +5939,7 @@ function buildVotingInput(plan, config) {
|
|
|
6003
5939
|
}
|
|
6004
5940
|
async function executeSingleVote(plan, config, log) {
|
|
6005
5941
|
try {
|
|
6006
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
5942
|
+
const { executeVoting } = await import("./consensus-vote-KZ6UURUI.js");
|
|
6007
5943
|
const input = buildVotingInput(plan, config);
|
|
6008
5944
|
const result = await executeVoting(input, log);
|
|
6009
5945
|
return parseVotingResult(result);
|
|
@@ -6058,8 +5994,67 @@ function filterBySeverity(results, minSeverity) {
|
|
|
6058
5994
|
return results.filter((r) => severityOrder[r.severity] >= threshold);
|
|
6059
5995
|
}
|
|
6060
5996
|
|
|
5997
|
+
// src/pipeline/shared-memory.ts
|
|
5998
|
+
var SharedMemoryStore = class {
|
|
5999
|
+
entries = [];
|
|
6000
|
+
maxEntries;
|
|
6001
|
+
constructor(maxEntries = 100) {
|
|
6002
|
+
this.maxEntries = maxEntries;
|
|
6003
|
+
}
|
|
6004
|
+
/** Write a memory entry. */
|
|
6005
|
+
write(sourceStage, tag, content) {
|
|
6006
|
+
if (this.entries.length >= this.maxEntries) {
|
|
6007
|
+
this.entries.shift();
|
|
6008
|
+
}
|
|
6009
|
+
this.entries.push({
|
|
6010
|
+
sourceStage,
|
|
6011
|
+
tag,
|
|
6012
|
+
content,
|
|
6013
|
+
timestamp: Date.now()
|
|
6014
|
+
});
|
|
6015
|
+
}
|
|
6016
|
+
/** Read all entries, optionally filtered by tag. */
|
|
6017
|
+
read(tag) {
|
|
6018
|
+
if (tag === void 0) return [...this.entries];
|
|
6019
|
+
return this.entries.filter((e) => e.tag === tag);
|
|
6020
|
+
}
|
|
6021
|
+
/** Read entries from a specific stage. */
|
|
6022
|
+
readFromStage(sourceStage) {
|
|
6023
|
+
return this.entries.filter((e) => e.sourceStage === sourceStage);
|
|
6024
|
+
}
|
|
6025
|
+
/** Get summary of all entries as context string for LLM consumption. */
|
|
6026
|
+
summarize(maxLength = 2e3) {
|
|
6027
|
+
if (this.entries.length === 0) return "";
|
|
6028
|
+
const lines = this.entries.map(
|
|
6029
|
+
(e) => `[${e.tag}] (from ${e.sourceStage}): ${formatContent(e.content)}`
|
|
6030
|
+
);
|
|
6031
|
+
const joined = lines.join("\n");
|
|
6032
|
+
if (joined.length <= maxLength) return joined;
|
|
6033
|
+
return `${joined.slice(0, maxLength - 3)}...`;
|
|
6034
|
+
}
|
|
6035
|
+
/** Get entry count. */
|
|
6036
|
+
get size() {
|
|
6037
|
+
return this.entries.length;
|
|
6038
|
+
}
|
|
6039
|
+
/** Clear all entries. */
|
|
6040
|
+
clear() {
|
|
6041
|
+
this.entries.length = 0;
|
|
6042
|
+
}
|
|
6043
|
+
};
|
|
6044
|
+
function formatContent(content) {
|
|
6045
|
+
if (typeof content === "string") return content.slice(0, 200);
|
|
6046
|
+
if (typeof content === "object" && content !== null) {
|
|
6047
|
+
try {
|
|
6048
|
+
return JSON.stringify(content).slice(0, 200);
|
|
6049
|
+
} catch {
|
|
6050
|
+
return "[object]";
|
|
6051
|
+
}
|
|
6052
|
+
}
|
|
6053
|
+
return String(content);
|
|
6054
|
+
}
|
|
6055
|
+
|
|
6061
6056
|
// src/pipeline/dynamic-expert.ts
|
|
6062
|
-
var
|
|
6057
|
+
var logger12 = createLogger({ component: "dynamic-expert" });
|
|
6063
6058
|
var MAX_DYNAMIC_EXPERTS = 2;
|
|
6064
6059
|
var DynamicExpertManager = class {
|
|
6065
6060
|
experts = [];
|
|
@@ -6070,18 +6065,18 @@ var DynamicExpertManager = class {
|
|
|
6070
6065
|
/** Create a new dynamic expert. Returns null if limit reached. */
|
|
6071
6066
|
create(spec) {
|
|
6072
6067
|
if (this.experts.length >= this.maxExperts) {
|
|
6073
|
-
|
|
6068
|
+
logger12.warn("Dynamic expert limit reached", {
|
|
6074
6069
|
limit: this.maxExperts,
|
|
6075
6070
|
requested: spec.id
|
|
6076
6071
|
});
|
|
6077
6072
|
return null;
|
|
6078
6073
|
}
|
|
6079
6074
|
if (spec.id.trim() === "" || spec.name.trim() === "") {
|
|
6080
|
-
|
|
6075
|
+
logger12.warn("Invalid dynamic expert spec", { id: spec.id });
|
|
6081
6076
|
return null;
|
|
6082
6077
|
}
|
|
6083
6078
|
if (this.experts.some((e) => e.spec.id === spec.id)) {
|
|
6084
|
-
|
|
6079
|
+
logger12.warn("Duplicate dynamic expert ID", { id: spec.id });
|
|
6085
6080
|
return null;
|
|
6086
6081
|
}
|
|
6087
6082
|
const expert = {
|
|
@@ -6090,7 +6085,7 @@ var DynamicExpertManager = class {
|
|
|
6090
6085
|
promoted: false
|
|
6091
6086
|
};
|
|
6092
6087
|
this.experts.push(expert);
|
|
6093
|
-
|
|
6088
|
+
logger12.info("Dynamic expert created", {
|
|
6094
6089
|
id: spec.id,
|
|
6095
6090
|
name: spec.name,
|
|
6096
6091
|
total: this.experts.length,
|
|
@@ -6117,7 +6112,7 @@ var DynamicExpertManager = class {
|
|
|
6117
6112
|
};
|
|
6118
6113
|
|
|
6119
6114
|
// src/replay/replay-executor.ts
|
|
6120
|
-
var
|
|
6115
|
+
var logger13 = createLogger({ component: "ReplayExecutor" });
|
|
6121
6116
|
export {
|
|
6122
6117
|
ALLOWED_COMMANDS,
|
|
6123
6118
|
ARTIFACT_TYPES,
|