@juspay/neurolink 11.22.2 → 11.22.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,8 +1,8 @@
1
- ## [11.22.2](https://github.com/juspay/neurolink/compare/v11.22.1...v11.22.2) (2026-08-24)
1
+ ## [11.22.3](https://github.com/juspay/neurolink/compare/v11.22.2...v11.22.3) (2026-08-24)
2
2
 
3
3
  ### Bug Fixes
4
4
 
5
- - **(localUsage):** treat a non-positive scan window as empty, not unbounded ([e79d1d5](https://github.com/juspay/neurolink/commit/e79d1d54565f6e0b84c8dd6ab55a892560c81b4e)), closes [#1482](https://github.com/juspay/neurolink/issues/1482)
5
+ - **(scripts):** stop inferring the security scan's verdict from its log text ([11b30ad](https://github.com/juspay/neurolink/commit/11b30addfaefbd31b306d05066609897fbdb02c5))
6
6
 
7
7
  ## [11.2.3](https://github.com/juspay/neurolink/compare/v11.2.2...v11.2.3) (2026-08-19)
8
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juspay/neurolink",
3
- "version": "11.22.2",
3
+ "version": "11.22.3",
4
4
  "packageManager": "pnpm@10.15.1",
5
5
  "description": "TypeScript AI SDK with 24+ LLM providers behind one consistent API. MCP-native (connect any MCP server), voice TTS/STT/realtime, RAG, agents, memory, context compaction. OpenAI · Anthropic · Gemini · Bedrock · Azure · Ollama · DeepSeek · NVIDIA NIM and more.",
6
6
  "author": {
@@ -1,27 +0,0 @@
1
- /**
2
- * Workflow CLI Commands for NeuroLink
3
- *
4
- * Implements commands for workflow management and execution:
5
- * - neurolink workflow list - List available predefined workflows
6
- * - neurolink workflow info <name> - Show details of a workflow
7
- * - neurolink workflow execute <name> <prompt> - Execute a workflow
8
- */
9
- import type { CommandModule } from "yargs";
10
- /**
11
- * Workflow CLI command factory
12
- */
13
- export declare class WorkflowCommandFactory {
14
- static createWorkflowCommands(): CommandModule;
15
- /**
16
- * List all predefined workflows
17
- */
18
- private static executeList;
19
- /**
20
- * Show details of a specific workflow
21
- */
22
- private static executeInfo;
23
- /**
24
- * Execute a workflow
25
- */
26
- private static executeWorkflow;
27
- }
@@ -1,216 +0,0 @@
1
- /**
2
- * Workflow CLI Commands for NeuroLink
3
- *
4
- * Implements commands for workflow management and execution:
5
- * - neurolink workflow list - List available predefined workflows
6
- * - neurolink workflow info <name> - Show details of a workflow
7
- * - neurolink workflow execute <name> <prompt> - Execute a workflow
8
- */
9
- import chalk from "chalk";
10
- import ora from "ora";
11
- /**
12
- * All predefined workflow configs keyed by their id.
13
- * Loaded lazily via dynamic import to avoid circular deps.
14
- */
15
- async function loadPredefinedWorkflows() {
16
- const [consensus, fallback, adaptive, multiJudge] = await Promise.all([
17
- import("../../workflow/workflows/consensusWorkflow.js"),
18
- import("../../workflow/workflows/fallbackWorkflow.js"),
19
- import("../../workflow/workflows/adaptiveWorkflow.js"),
20
- import("../../workflow/workflows/multiJudgeWorkflow.js"),
21
- ]);
22
- const configs = [
23
- consensus.CONSENSUS_3_WORKFLOW,
24
- consensus.CONSENSUS_3_FAST_WORKFLOW,
25
- fallback.FAST_FALLBACK_WORKFLOW,
26
- fallback.AGGRESSIVE_FALLBACK_WORKFLOW,
27
- adaptive.QUALITY_MAX_WORKFLOW,
28
- adaptive.SPEED_FIRST_WORKFLOW,
29
- adaptive.BALANCED_ADAPTIVE_WORKFLOW,
30
- multiJudge.MULTI_JUDGE_5_WORKFLOW,
31
- multiJudge.MULTI_JUDGE_3_WORKFLOW,
32
- ];
33
- const map = {};
34
- for (const cfg of configs) {
35
- map[cfg.id] = cfg;
36
- }
37
- return map;
38
- }
39
- /**
40
- * Workflow CLI command factory
41
- */
42
- export class WorkflowCommandFactory {
43
- static createWorkflowCommands() {
44
- return {
45
- command: "workflow <subcommand>",
46
- describe: "Manage and execute AI workflows",
47
- builder: (yargs) => {
48
- return yargs
49
- .command("list", "List available predefined workflows", (y) => y, async () => {
50
- await WorkflowCommandFactory.executeList();
51
- })
52
- .command("info <name>", "Show details of a workflow", (y) => y.positional("name", {
53
- type: "string",
54
- description: "Workflow name/id",
55
- demandOption: true,
56
- }), async (argv) => {
57
- await WorkflowCommandFactory.executeInfo(argv);
58
- })
59
- .command("execute <name> <prompt>", "Execute a workflow with a prompt", (y) => y
60
- .positional("name", {
61
- type: "string",
62
- description: "Workflow name/id",
63
- demandOption: true,
64
- })
65
- .positional("prompt", {
66
- type: "string",
67
- description: "Prompt to send to the workflow",
68
- demandOption: true,
69
- })
70
- .option("provider", {
71
- type: "string",
72
- description: "Override AI provider",
73
- })
74
- .option("model", {
75
- type: "string",
76
- description: "Override model name",
77
- })
78
- .option("timeout", {
79
- type: "number",
80
- description: "Execution timeout in milliseconds",
81
- })
82
- .option("verbose", {
83
- type: "boolean",
84
- description: "Enable verbose output",
85
- default: false,
86
- }), async (argv) => {
87
- await WorkflowCommandFactory.executeWorkflow(argv);
88
- })
89
- .demandCommand(1, "Please specify a workflow subcommand");
90
- },
91
- handler: () => { },
92
- };
93
- }
94
- /**
95
- * List all predefined workflows
96
- */
97
- static async executeList() {
98
- const workflows = await loadPredefinedWorkflows();
99
- const configs = Object.values(workflows);
100
- console.info(chalk.bold("\nAvailable Workflows:\n"));
101
- for (const cfg of configs) {
102
- const tags = cfg.tags?.join(", ") || "";
103
- console.info(` ${chalk.cyan(cfg.id.padEnd(24))} ${chalk.white(cfg.name)}`);
104
- console.info(` ${"".padEnd(24)} ${chalk.gray(cfg.description || "")}`);
105
- if (tags) {
106
- console.info(` ${"".padEnd(24)} ${chalk.gray(`Tags: ${tags}`)}`);
107
- }
108
- console.info();
109
- }
110
- console.info(chalk.gray(`Total: ${configs.length} workflows`));
111
- }
112
- /**
113
- * Show details of a specific workflow
114
- */
115
- static async executeInfo(argv) {
116
- const workflows = await loadPredefinedWorkflows();
117
- const cfg = workflows[argv.name];
118
- if (!cfg) {
119
- console.error(chalk.red(`Workflow "${argv.name}" not found.`));
120
- console.info(chalk.gray(`Available: ${Object.keys(workflows).join(", ")}`));
121
- process.exitCode = 1;
122
- return;
123
- }
124
- console.info(chalk.bold(`\nWorkflow: ${cfg.name}\n`));
125
- console.info(` ID: ${cfg.id}`);
126
- console.info(` Type: ${cfg.type}`);
127
- console.info(` Version: ${cfg.version || "n/a"}`);
128
- console.info(` Description: ${cfg.description || "n/a"}`);
129
- if (cfg.models && cfg.models.length > 0) {
130
- console.info(`\n Models:`);
131
- for (const m of cfg.models) {
132
- console.info(` - ${chalk.cyan(m.label || m.model)} (${m.provider})`);
133
- }
134
- }
135
- if (cfg.modelGroups && cfg.modelGroups.length > 0) {
136
- console.info(`\n Model Groups:`);
137
- for (const group of cfg.modelGroups) {
138
- console.info(` ${chalk.cyan(group.id)}:`);
139
- for (const m of group.models) {
140
- console.info(` - ${m.label || m.model} (${m.provider})`);
141
- }
142
- }
143
- }
144
- if (cfg.judge) {
145
- console.info(`\n Judge: ${cfg.judge.model} (${cfg.judge.provider})`);
146
- if (cfg.judge.criteria) {
147
- console.info(` Criteria: ${cfg.judge.criteria.join(", ")}`);
148
- }
149
- }
150
- if (cfg.execution) {
151
- console.info(`\n Execution:`);
152
- if (cfg.execution.timeout) {
153
- console.info(` Timeout: ${cfg.execution.timeout}ms`);
154
- }
155
- if (cfg.execution.parallelism) {
156
- console.info(` Parallelism: ${cfg.execution.parallelism}`);
157
- }
158
- if (cfg.execution.minResponses) {
159
- console.info(` Min Responses: ${cfg.execution.minResponses}`);
160
- }
161
- }
162
- if (cfg.tags && cfg.tags.length > 0) {
163
- console.info(`\n Tags: ${cfg.tags.join(", ")}`);
164
- }
165
- }
166
- /**
167
- * Execute a workflow
168
- */
169
- static async executeWorkflow(argv) {
170
- const workflows = await loadPredefinedWorkflows();
171
- let cfg = workflows[argv.name];
172
- if (!cfg) {
173
- console.error(chalk.red(`Workflow "${argv.name}" not found.`));
174
- console.info(chalk.gray(`Available: ${Object.keys(workflows).join(", ")}`));
175
- process.exitCode = 1;
176
- return;
177
- }
178
- // Apply provider/model overrides if specified
179
- if (argv.provider || argv.model) {
180
- cfg = {
181
- ...cfg,
182
- models: cfg.models?.map((m) => ({
183
- ...m,
184
- provider: argv.provider || m.provider,
185
- model: argv.model || m.model,
186
- })),
187
- };
188
- }
189
- const spinner = ora("Executing workflow...").start();
190
- try {
191
- const { runWorkflow } = await import("../../workflow/core/workflowRunner.js");
192
- const result = await runWorkflow(cfg, {
193
- prompt: argv.prompt,
194
- timeout: argv.timeout,
195
- verbose: argv.verbose,
196
- });
197
- spinner.stop();
198
- if (result.content) {
199
- console.info(result.content);
200
- }
201
- else {
202
- console.info(chalk.yellow("Workflow completed but produced no content."));
203
- if (result.reasoning) {
204
- console.info(chalk.gray(`Reasoning: ${result.reasoning}`));
205
- }
206
- }
207
- }
208
- catch (error) {
209
- spinner.stop();
210
- const msg = error instanceof Error ? error.message : String(error);
211
- console.error(chalk.red(`Workflow execution failed: ${msg}`));
212
- process.exitCode = 1;
213
- }
214
- }
215
- }
216
- //# sourceMappingURL=workflow.js.map