@standardagents/spec 0.21.1 → 0.22.1

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.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