llmist 15.8.1 → 15.10.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/index.cjs +145 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +54 -1
- package/dist/index.d.ts +54 -1
- package/dist/index.js +145 -22
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -7972,22 +7972,24 @@ var init_openrouter_models = __esm({
|
|
|
7972
7972
|
provider: "openrouter",
|
|
7973
7973
|
modelId: "google/gemini-2.5-flash",
|
|
7974
7974
|
displayName: "Gemini 2.5 Flash (OpenRouter)",
|
|
7975
|
-
contextWindow:
|
|
7976
|
-
maxOutputTokens:
|
|
7975
|
+
contextWindow: 1048576,
|
|
7976
|
+
maxOutputTokens: 65535,
|
|
7977
7977
|
pricing: {
|
|
7978
|
-
input: 0.
|
|
7979
|
-
output:
|
|
7978
|
+
input: 0.3,
|
|
7979
|
+
output: 2.5
|
|
7980
7980
|
},
|
|
7981
|
-
knowledgeCutoff: "2025-
|
|
7981
|
+
knowledgeCutoff: "2025-06",
|
|
7982
7982
|
features: {
|
|
7983
7983
|
streaming: true,
|
|
7984
7984
|
functionCalling: true,
|
|
7985
7985
|
vision: true,
|
|
7986
|
-
reasoning: true
|
|
7986
|
+
reasoning: true,
|
|
7987
|
+
structuredOutputs: true
|
|
7987
7988
|
},
|
|
7988
7989
|
metadata: {
|
|
7989
7990
|
family: "Gemini 2.5",
|
|
7990
|
-
|
|
7991
|
+
releaseDate: "2025-06-17",
|
|
7992
|
+
notes: "Google Gemini 2.5 Flash via OpenRouter. Workhorse model for reasoning, coding, and math."
|
|
7991
7993
|
}
|
|
7992
7994
|
},
|
|
7993
7995
|
{
|
|
@@ -8012,6 +8014,54 @@ var init_openrouter_models = __esm({
|
|
|
8012
8014
|
notes: "Google Gemini 2.5 Pro via OpenRouter."
|
|
8013
8015
|
}
|
|
8014
8016
|
},
|
|
8017
|
+
{
|
|
8018
|
+
provider: "openrouter",
|
|
8019
|
+
modelId: "google/gemini-3-pro-preview",
|
|
8020
|
+
displayName: "Gemini 3 Pro Preview (OpenRouter)",
|
|
8021
|
+
contextWindow: 1048576,
|
|
8022
|
+
maxOutputTokens: 65536,
|
|
8023
|
+
pricing: {
|
|
8024
|
+
input: 2,
|
|
8025
|
+
output: 12
|
|
8026
|
+
},
|
|
8027
|
+
knowledgeCutoff: "2025-11",
|
|
8028
|
+
features: {
|
|
8029
|
+
streaming: true,
|
|
8030
|
+
functionCalling: true,
|
|
8031
|
+
vision: true,
|
|
8032
|
+
reasoning: true,
|
|
8033
|
+
structuredOutputs: true
|
|
8034
|
+
},
|
|
8035
|
+
metadata: {
|
|
8036
|
+
family: "Gemini 3",
|
|
8037
|
+
releaseDate: "2025-11-18",
|
|
8038
|
+
notes: "Gemini 3 Pro Preview via OpenRouter. Flagship frontier model for multimodal reasoning."
|
|
8039
|
+
}
|
|
8040
|
+
},
|
|
8041
|
+
{
|
|
8042
|
+
provider: "openrouter",
|
|
8043
|
+
modelId: "google/gemini-3-flash-preview",
|
|
8044
|
+
displayName: "Gemini 3 Flash Preview (OpenRouter)",
|
|
8045
|
+
contextWindow: 1048576,
|
|
8046
|
+
maxOutputTokens: 65535,
|
|
8047
|
+
pricing: {
|
|
8048
|
+
input: 0.5,
|
|
8049
|
+
output: 3
|
|
8050
|
+
},
|
|
8051
|
+
knowledgeCutoff: "2025-12",
|
|
8052
|
+
features: {
|
|
8053
|
+
streaming: true,
|
|
8054
|
+
functionCalling: true,
|
|
8055
|
+
vision: true,
|
|
8056
|
+
reasoning: true,
|
|
8057
|
+
structuredOutputs: true
|
|
8058
|
+
},
|
|
8059
|
+
metadata: {
|
|
8060
|
+
family: "Gemini 3",
|
|
8061
|
+
releaseDate: "2025-12-17",
|
|
8062
|
+
notes: "Gemini 3 Flash Preview via OpenRouter. High-speed thinking model for agentic workflows."
|
|
8063
|
+
}
|
|
8064
|
+
},
|
|
8015
8065
|
// ============================================================
|
|
8016
8066
|
// Meta Llama Models (via OpenRouter)
|
|
8017
8067
|
// ============================================================
|
|
@@ -8103,6 +8153,29 @@ var init_openrouter_models = __esm({
|
|
|
8103
8153
|
notes: "DeepSeek Chat via OpenRouter. Very cost-effective."
|
|
8104
8154
|
}
|
|
8105
8155
|
},
|
|
8156
|
+
{
|
|
8157
|
+
provider: "openrouter",
|
|
8158
|
+
modelId: "deepseek/deepseek-v3.2",
|
|
8159
|
+
displayName: "DeepSeek V3.2 (OpenRouter)",
|
|
8160
|
+
contextWindow: 163840,
|
|
8161
|
+
maxOutputTokens: 65536,
|
|
8162
|
+
pricing: {
|
|
8163
|
+
input: 0.25,
|
|
8164
|
+
output: 0.38
|
|
8165
|
+
},
|
|
8166
|
+
knowledgeCutoff: "2025-12",
|
|
8167
|
+
features: {
|
|
8168
|
+
streaming: true,
|
|
8169
|
+
functionCalling: true,
|
|
8170
|
+
vision: false,
|
|
8171
|
+
reasoning: true
|
|
8172
|
+
},
|
|
8173
|
+
metadata: {
|
|
8174
|
+
family: "DeepSeek V3.2",
|
|
8175
|
+
releaseDate: "2025-12-01",
|
|
8176
|
+
notes: "DeepSeek V3.2 via OpenRouter. GPT-5 class performance with DeepSeek Sparse Attention."
|
|
8177
|
+
}
|
|
8178
|
+
},
|
|
8106
8179
|
// ============================================================
|
|
8107
8180
|
// Mistral Models (via OpenRouter)
|
|
8108
8181
|
// ============================================================
|
|
@@ -9158,6 +9231,7 @@ var init_builder = __esm({
|
|
|
9158
9231
|
textOnlyHandler;
|
|
9159
9232
|
textWithGadgetsHandler;
|
|
9160
9233
|
defaultGadgetTimeoutMs;
|
|
9234
|
+
gadgetExecutionMode;
|
|
9161
9235
|
gadgetOutputLimit;
|
|
9162
9236
|
gadgetOutputLimitPercent;
|
|
9163
9237
|
compactionConfig;
|
|
@@ -9533,6 +9607,29 @@ var init_builder = __esm({
|
|
|
9533
9607
|
this.defaultGadgetTimeoutMs = timeoutMs;
|
|
9534
9608
|
return this;
|
|
9535
9609
|
}
|
|
9610
|
+
/**
|
|
9611
|
+
* Set the gadget execution mode.
|
|
9612
|
+
*
|
|
9613
|
+
* Controls how multiple gadgets are executed when the LLM calls them:
|
|
9614
|
+
* - `'parallel'` (default): Gadgets without dependencies execute concurrently
|
|
9615
|
+
* - `'sequential'`: Gadgets execute one at a time, each awaiting completion
|
|
9616
|
+
*
|
|
9617
|
+
* @param mode - Execution mode ('parallel' or 'sequential')
|
|
9618
|
+
* @returns This builder for chaining
|
|
9619
|
+
*
|
|
9620
|
+
* @example
|
|
9621
|
+
* ```typescript
|
|
9622
|
+
* // Sequential execution for ordered file operations
|
|
9623
|
+
* .withGadgetExecutionMode('sequential')
|
|
9624
|
+
*
|
|
9625
|
+
* // Parallel execution (default) for independent operations
|
|
9626
|
+
* .withGadgetExecutionMode('parallel')
|
|
9627
|
+
* ```
|
|
9628
|
+
*/
|
|
9629
|
+
withGadgetExecutionMode(mode) {
|
|
9630
|
+
this.gadgetExecutionMode = mode;
|
|
9631
|
+
return this;
|
|
9632
|
+
}
|
|
9536
9633
|
/**
|
|
9537
9634
|
* Enable or disable gadget output limiting.
|
|
9538
9635
|
*
|
|
@@ -10013,6 +10110,7 @@ ${endPrefix}`
|
|
|
10013
10110
|
textOnlyHandler: this.textOnlyHandler,
|
|
10014
10111
|
textWithGadgetsHandler: this.textWithGadgetsHandler,
|
|
10015
10112
|
defaultGadgetTimeoutMs: this.defaultGadgetTimeoutMs,
|
|
10113
|
+
gadgetExecutionMode: this.gadgetExecutionMode,
|
|
10016
10114
|
gadgetOutputLimit: this.gadgetOutputLimit,
|
|
10017
10115
|
gadgetOutputLimitPercent: this.gadgetOutputLimitPercent,
|
|
10018
10116
|
compactionConfig: this.compactionConfig,
|
|
@@ -10199,6 +10297,7 @@ ${endPrefix}`
|
|
|
10199
10297
|
textOnlyHandler: this.textOnlyHandler,
|
|
10200
10298
|
textWithGadgetsHandler: this.textWithGadgetsHandler,
|
|
10201
10299
|
defaultGadgetTimeoutMs: this.defaultGadgetTimeoutMs,
|
|
10300
|
+
gadgetExecutionMode: this.gadgetExecutionMode,
|
|
10202
10301
|
gadgetOutputLimit: this.gadgetOutputLimit,
|
|
10203
10302
|
gadgetOutputLimitPercent: this.gadgetOutputLimitPercent,
|
|
10204
10303
|
compactionConfig: this.compactionConfig,
|
|
@@ -11795,6 +11894,8 @@ var init_stream_processor = __esm({
|
|
|
11795
11894
|
tree;
|
|
11796
11895
|
parentNodeId;
|
|
11797
11896
|
baseDepth;
|
|
11897
|
+
// Gadget execution mode
|
|
11898
|
+
gadgetExecutionMode;
|
|
11798
11899
|
responseText = "";
|
|
11799
11900
|
observerFailureCount = 0;
|
|
11800
11901
|
// Dependency tracking for gadget execution DAG
|
|
@@ -11830,6 +11931,7 @@ var init_stream_processor = __esm({
|
|
|
11830
11931
|
this.tree = options.tree;
|
|
11831
11932
|
this.parentNodeId = options.parentNodeId ?? null;
|
|
11832
11933
|
this.baseDepth = options.baseDepth ?? 0;
|
|
11934
|
+
this.gadgetExecutionMode = options.gadgetExecutionMode ?? "parallel";
|
|
11833
11935
|
this.priorCompletedInvocations = options.priorCompletedInvocations ?? /* @__PURE__ */ new Set();
|
|
11834
11936
|
this.priorFailedInvocations = options.priorFailedInvocations ?? /* @__PURE__ */ new Set();
|
|
11835
11937
|
this.subagentConfig = options.subagentConfig;
|
|
@@ -12141,7 +12243,13 @@ var init_stream_processor = __esm({
|
|
|
12141
12243
|
this.concurrencyQueue.set(call.gadgetName, queue);
|
|
12142
12244
|
return;
|
|
12143
12245
|
}
|
|
12144
|
-
this.
|
|
12246
|
+
if (this.gadgetExecutionMode === "sequential") {
|
|
12247
|
+
for await (const evt of this.executeGadgetGenerator(call)) {
|
|
12248
|
+
yield evt;
|
|
12249
|
+
}
|
|
12250
|
+
} else {
|
|
12251
|
+
this.startGadgetWithConcurrencyTracking(call);
|
|
12252
|
+
}
|
|
12145
12253
|
}
|
|
12146
12254
|
/**
|
|
12147
12255
|
* Get the effective concurrency limit for a gadget.
|
|
@@ -12593,25 +12701,37 @@ var init_stream_processor = __esm({
|
|
|
12593
12701
|
progress = true;
|
|
12594
12702
|
}
|
|
12595
12703
|
if (readyToExecute.length > 0) {
|
|
12596
|
-
this.logger.debug("Executing ready gadgets in parallel", {
|
|
12597
|
-
count: readyToExecute.length,
|
|
12598
|
-
invocationIds: readyToExecute.map((c) => c.invocationId)
|
|
12599
|
-
});
|
|
12600
12704
|
for (const call of readyToExecute) {
|
|
12601
12705
|
this.gadgetsAwaitingDependencies.delete(call.invocationId);
|
|
12602
12706
|
}
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
|
|
12707
|
+
if (this.gadgetExecutionMode === "sequential") {
|
|
12708
|
+
this.logger.debug("Executing ready gadgets sequentially", {
|
|
12709
|
+
count: readyToExecute.length,
|
|
12710
|
+
invocationIds: readyToExecute.map((c) => c.invocationId)
|
|
12711
|
+
});
|
|
12712
|
+
for (const call of readyToExecute) {
|
|
12606
12713
|
for await (const evt of this.executeGadgetGenerator(call)) {
|
|
12607
|
-
|
|
12714
|
+
yield evt;
|
|
12715
|
+
}
|
|
12716
|
+
}
|
|
12717
|
+
} else {
|
|
12718
|
+
this.logger.debug("Executing ready gadgets in parallel", {
|
|
12719
|
+
count: readyToExecute.length,
|
|
12720
|
+
invocationIds: readyToExecute.map((c) => c.invocationId)
|
|
12721
|
+
});
|
|
12722
|
+
const eventSets = await Promise.all(
|
|
12723
|
+
readyToExecute.map(async (call) => {
|
|
12724
|
+
const events = [];
|
|
12725
|
+
for await (const evt of this.executeGadgetGenerator(call)) {
|
|
12726
|
+
events.push(evt);
|
|
12727
|
+
}
|
|
12728
|
+
return events;
|
|
12729
|
+
})
|
|
12730
|
+
);
|
|
12731
|
+
for (const events of eventSets) {
|
|
12732
|
+
for (const evt of events) {
|
|
12733
|
+
yield evt;
|
|
12608
12734
|
}
|
|
12609
|
-
return events;
|
|
12610
|
-
})
|
|
12611
|
-
);
|
|
12612
|
-
for (const events of eventSets) {
|
|
12613
|
-
for (const evt of events) {
|
|
12614
|
-
yield evt;
|
|
12615
12735
|
}
|
|
12616
12736
|
}
|
|
12617
12737
|
progress = true;
|
|
@@ -12765,6 +12885,7 @@ var init_agent = __esm({
|
|
|
12765
12885
|
textOnlyHandler;
|
|
12766
12886
|
textWithGadgetsHandler;
|
|
12767
12887
|
defaultGadgetTimeoutMs;
|
|
12888
|
+
gadgetExecutionMode;
|
|
12768
12889
|
defaultMaxTokens;
|
|
12769
12890
|
hasUserPrompt;
|
|
12770
12891
|
// Gadget output limiting
|
|
@@ -12820,6 +12941,7 @@ var init_agent = __esm({
|
|
|
12820
12941
|
this.textOnlyHandler = options.textOnlyHandler ?? "terminate";
|
|
12821
12942
|
this.textWithGadgetsHandler = options.textWithGadgetsHandler;
|
|
12822
12943
|
this.defaultGadgetTimeoutMs = options.defaultGadgetTimeoutMs;
|
|
12944
|
+
this.gadgetExecutionMode = options.gadgetExecutionMode ?? "parallel";
|
|
12823
12945
|
this.defaultMaxTokens = this.resolveMaxTokensFromCatalog(options.model);
|
|
12824
12946
|
this.outputLimitEnabled = options.gadgetOutputLimit ?? DEFAULT_GADGET_OUTPUT_LIMIT;
|
|
12825
12947
|
this.outputStore = new GadgetOutputStore();
|
|
@@ -13151,6 +13273,7 @@ var init_agent = __esm({
|
|
|
13151
13273
|
logger: this.logger.getSubLogger({ name: "stream-processor" }),
|
|
13152
13274
|
requestHumanInput: this.requestHumanInput,
|
|
13153
13275
|
defaultGadgetTimeoutMs: this.defaultGadgetTimeoutMs,
|
|
13276
|
+
gadgetExecutionMode: this.gadgetExecutionMode,
|
|
13154
13277
|
client: this.client,
|
|
13155
13278
|
mediaStore: this.mediaStore,
|
|
13156
13279
|
agentConfig: this.agentContextConfig,
|