@standardagents/spec 0.21.0 → 0.22.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.d.ts +441 -1
- package/dist/index.js +116 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,107 @@
|
|
|
1
1
|
// src/models.ts
|
|
2
|
+
function providerValue(value) {
|
|
3
|
+
return { type: "const", value };
|
|
4
|
+
}
|
|
5
|
+
function providerEnv(name, options = {}) {
|
|
6
|
+
return { type: "env", name, ...options };
|
|
7
|
+
}
|
|
8
|
+
var providerConst = providerValue;
|
|
9
|
+
function defineProvider(definition) {
|
|
10
|
+
if (!definition.name) {
|
|
11
|
+
throw new Error("Provider name is required");
|
|
12
|
+
}
|
|
13
|
+
if (typeof definition.baseProvider !== "function") {
|
|
14
|
+
throw new Error("baseProvider must be a provider factory function");
|
|
15
|
+
}
|
|
16
|
+
const factory = ((config) => {
|
|
17
|
+
const baseProvider = definition.baseProvider(config);
|
|
18
|
+
const commonContext = {
|
|
19
|
+
providerName: definition.name,
|
|
20
|
+
config,
|
|
21
|
+
baseProvider
|
|
22
|
+
};
|
|
23
|
+
const provider = {
|
|
24
|
+
name: definition.name,
|
|
25
|
+
specificationVersion: "1",
|
|
26
|
+
generate: (request) => {
|
|
27
|
+
const next = () => baseProvider.generate(request);
|
|
28
|
+
return Promise.resolve(definition.overrides?.generate?.({ ...commonContext, request }, next) ?? next());
|
|
29
|
+
},
|
|
30
|
+
stream: (request) => {
|
|
31
|
+
const next = () => baseProvider.stream(request);
|
|
32
|
+
return Promise.resolve(definition.overrides?.stream?.({ ...commonContext, request }, next) ?? next());
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
if (definition.overrides?.supportsModel || baseProvider.supportsModel) {
|
|
36
|
+
provider.supportsModel = (modelId) => {
|
|
37
|
+
const next = () => baseProvider.supportsModel?.(modelId) ?? true;
|
|
38
|
+
return definition.overrides?.supportsModel?.({ ...commonContext, modelId }, next) ?? next();
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (definition.overrides?.getModels || baseProvider.getModels) {
|
|
42
|
+
provider.getModels = (filter) => {
|
|
43
|
+
const next = () => baseProvider.getModels?.(filter) ?? Promise.resolve([]);
|
|
44
|
+
return Promise.resolve(
|
|
45
|
+
definition.overrides?.getModels?.({ ...commonContext, filter }, next) ?? next()
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (definition.overrides?.getModelsPage || baseProvider.getModelsPage) {
|
|
50
|
+
provider.getModelsPage = (query) => {
|
|
51
|
+
const next = () => baseProvider.getModelsPage?.(query) ?? Promise.resolve({ models: [], hasNextPage: false });
|
|
52
|
+
return Promise.resolve(
|
|
53
|
+
definition.overrides?.getModelsPage?.({ ...commonContext, query }, next) ?? next()
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (definition.overrides?.getModelCapabilities || baseProvider.getModelCapabilities) {
|
|
58
|
+
provider.getModelCapabilities = (modelId) => {
|
|
59
|
+
const next = () => baseProvider.getModelCapabilities?.(modelId) ?? Promise.resolve(null);
|
|
60
|
+
return Promise.resolve(
|
|
61
|
+
definition.overrides?.getModelCapabilities?.({ ...commonContext, modelId }, next) ?? next()
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
if (definition.overrides?.getTools || baseProvider.getTools) {
|
|
66
|
+
provider.getTools = (modelId) => {
|
|
67
|
+
const next = () => baseProvider.getTools?.(modelId) ?? {};
|
|
68
|
+
return definition.overrides?.getTools?.({ ...commonContext, modelId }, next) ?? next();
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (definition.overrides?.getIcon || baseProvider.getIcon) {
|
|
72
|
+
provider.getIcon = (modelId) => {
|
|
73
|
+
const next = () => baseProvider.getIcon?.(modelId);
|
|
74
|
+
return definition.overrides?.getIcon?.({ ...commonContext, modelId }, next) ?? next();
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (definition.overrides?.inspectRequest || baseProvider.inspectRequest) {
|
|
78
|
+
provider.inspectRequest = (request) => {
|
|
79
|
+
const next = () => {
|
|
80
|
+
if (!baseProvider.inspectRequest) {
|
|
81
|
+
throw new Error(`Provider '${definition.name}' does not support request inspection`);
|
|
82
|
+
}
|
|
83
|
+
return baseProvider.inspectRequest(request);
|
|
84
|
+
};
|
|
85
|
+
return Promise.resolve(
|
|
86
|
+
definition.overrides?.inspectRequest?.({ ...commonContext, request }, next) ?? next()
|
|
87
|
+
);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (definition.overrides?.getResponseMetadata || baseProvider.getResponseMetadata) {
|
|
91
|
+
provider.getResponseMetadata = (summary, signal) => {
|
|
92
|
+
const next = () => baseProvider.getResponseMetadata?.(summary, signal) ?? Promise.resolve(null);
|
|
93
|
+
return Promise.resolve(
|
|
94
|
+
definition.overrides?.getResponseMetadata?.({ ...commonContext, summary, signal }, next) ?? next()
|
|
95
|
+
);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return provider;
|
|
99
|
+
});
|
|
100
|
+
factory.providerOptions = definition.baseProvider.providerOptions;
|
|
101
|
+
factory.configSlots = definition.baseProvider.configSlots;
|
|
102
|
+
factory.providerDefinition = definition;
|
|
103
|
+
return factory;
|
|
104
|
+
}
|
|
2
105
|
function defineModel(options) {
|
|
3
106
|
if (!options.name) {
|
|
4
107
|
throw new Error("Model name is required");
|
|
@@ -54,7 +157,8 @@ function defineTool(options) {
|
|
|
54
157
|
tenvs: options.tenvs ?? null,
|
|
55
158
|
executionMode: options.executionMode,
|
|
56
159
|
executionProvider: options.executionProvider,
|
|
57
|
-
uses: options.uses
|
|
160
|
+
uses: options.uses,
|
|
161
|
+
progressArgument: options.progressArgument
|
|
58
162
|
};
|
|
59
163
|
}
|
|
60
164
|
function extractVariablesFromTenvSchema(tenvSchema) {
|
|
@@ -138,7 +242,9 @@ var VALID_HOOKS = [
|
|
|
138
242
|
"after_update_message",
|
|
139
243
|
"before_store_tool_result",
|
|
140
244
|
"after_tool_call_success",
|
|
141
|
-
"after_tool_call_failure"
|
|
245
|
+
"after_tool_call_failure",
|
|
246
|
+
"tool_call_started",
|
|
247
|
+
"tool_call_done"
|
|
142
248
|
];
|
|
143
249
|
function defineHook(options) {
|
|
144
250
|
if (!VALID_HOOKS.includes(options.hook)) {
|
|
@@ -245,6 +351,9 @@ function defineAgent(options) {
|
|
|
245
351
|
};
|
|
246
352
|
}
|
|
247
353
|
|
|
354
|
+
// src/threads.ts
|
|
355
|
+
var THREAD_STREAM_REASONING_PARAM = "reasoning";
|
|
356
|
+
|
|
248
357
|
// src/endpoints.ts
|
|
249
358
|
var THREAD_ENDPOINT_SYMBOL = Symbol.for("standardagents.threadEndpoint");
|
|
250
359
|
function isThreadEndpoint(controller) {
|
|
@@ -310,6 +419,7 @@ function isVisibleInNamespace(metadata, namespace, isEntryPoint = false) {
|
|
|
310
419
|
export {
|
|
311
420
|
ProviderError,
|
|
312
421
|
THREAD_ENDPOINT_SYMBOL,
|
|
422
|
+
THREAD_STREAM_REASONING_PARAM,
|
|
313
423
|
belongsToPackage,
|
|
314
424
|
defineAgent,
|
|
315
425
|
defineController,
|
|
@@ -317,12 +427,16 @@ export {
|
|
|
317
427
|
defineHook,
|
|
318
428
|
defineModel,
|
|
319
429
|
definePrompt,
|
|
430
|
+
defineProvider,
|
|
320
431
|
defineThreadEndpoint,
|
|
321
432
|
defineTool,
|
|
322
433
|
isPacked,
|
|
323
434
|
isThreadEndpoint,
|
|
324
435
|
isVisibleInNamespace,
|
|
325
436
|
mapReasoningLevel,
|
|
437
|
+
providerConst,
|
|
438
|
+
providerEnv,
|
|
439
|
+
providerValue,
|
|
326
440
|
validateToolName
|
|
327
441
|
};
|
|
328
442
|
//# sourceMappingURL=index.js.map
|