@wildo-ai/external-connectors-models 1.1.2 → 1.1.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.
Files changed (86) hide show
  1. package/dist/esm/.native.tsbuildinfo +1 -0
  2. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts +45 -7
  3. package/dist/esm/core/commons.external-connectors-models.schemas.d.ts.map +1 -1
  4. package/dist/esm/core/commons.external-connectors-models.schemas.js +42 -5
  5. package/dist/esm/core/commons.external-connectors-models.schemas.js.map +1 -1
  6. package/dist/esm/core/operation-classification.external-connectors-models.schemas.d.ts +13 -0
  7. package/dist/esm/core/operation-classification.external-connectors-models.schemas.d.ts.map +1 -0
  8. package/dist/esm/core/operation-classification.external-connectors-models.schemas.js +14 -0
  9. package/dist/esm/core/operation-classification.external-connectors-models.schemas.js.map +1 -0
  10. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts +0 -25
  11. package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts.map +1 -1
  12. package/dist/esm/core/protocols.external-connectors-models.schemas.js.map +1 -1
  13. package/dist/esm/core/security.external-connectors-models.schemas.d.ts +132 -2
  14. package/dist/esm/core/security.external-connectors-models.schemas.d.ts.map +1 -1
  15. package/dist/esm/core/security.external-connectors-models.schemas.js +164 -0
  16. package/dist/esm/core/security.external-connectors-models.schemas.js.map +1 -1
  17. package/dist/esm/features/core.external-connectors-models.schemas.d.ts +0 -63
  18. package/dist/esm/features/core.external-connectors-models.schemas.d.ts.map +0 -1
  19. package/dist/esm/features/core.external-connectors-models.schemas.js +0 -101
  20. package/dist/esm/features/core.external-connectors-models.schemas.js.map +0 -1
  21. package/dist/esm/features/email.external-connectors-models.schemas.d.ts +0 -181
  22. package/dist/esm/features/email.external-connectors-models.schemas.d.ts.map +0 -1
  23. package/dist/esm/features/email.external-connectors-models.schemas.js +0 -34
  24. package/dist/esm/features/email.external-connectors-models.schemas.js.map +0 -1
  25. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts +0 -101
  26. package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts.map +0 -1
  27. package/dist/esm/features/hooks.external-connectors-models.schemas.js +0 -11
  28. package/dist/esm/features/hooks.external-connectors-models.schemas.js.map +0 -1
  29. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts +0 -21
  30. package/dist/esm/features/sms.external-connectors-models.schemas.d.ts.map +0 -1
  31. package/dist/esm/features/sms.external-connectors-models.schemas.js +0 -8
  32. package/dist/esm/features/sms.external-connectors-models.schemas.js.map +0 -1
  33. package/dist/esm/index.d.ts +3 -9
  34. package/dist/esm/index.d.ts.map +1 -1
  35. package/dist/esm/index.js +6 -10
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts +0 -57
  38. package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts.map +0 -1
  39. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js +0 -73
  40. package/dist/esm/protocols/a2a.external-connectors-models.schemas.js.map +0 -1
  41. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts +110 -3
  42. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts.map +1 -1
  43. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js +140 -1
  44. package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js.map +1 -1
  45. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts +154 -0
  46. package/dist/esm/protocols/billing.standard-interface.schemas.d.ts.map +1 -1
  47. package/dist/esm/protocols/billing.standard-interface.schemas.js +50 -1
  48. package/dist/esm/protocols/billing.standard-interface.schemas.js.map +1 -1
  49. package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts +1 -1
  50. package/dist/esm/protocols/email.standard-interface.schemas.d.ts +5 -5
  51. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts +0 -14
  52. package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts.map +0 -1
  53. package/dist/esm/protocols/git.external-connectors-models.schemas.js +0 -9
  54. package/dist/esm/protocols/git.external-connectors-models.schemas.js.map +0 -1
  55. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts +0 -14
  56. package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts.map +0 -1
  57. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js +0 -9
  58. package/dist/esm/protocols/grpc.external-connectors-models.schemas.js.map +0 -1
  59. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.d.ts +101 -0
  60. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.d.ts.map +1 -0
  61. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.js +11 -0
  62. package/dist/esm/protocols/hooks-capability.external-connectors-models.schemas.js.map +1 -0
  63. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts +36 -19
  64. package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts.map +1 -1
  65. package/dist/esm/protocols/llm.external-connectors-models.schemas.js +90 -28
  66. package/dist/esm/protocols/llm.external-connectors-models.schemas.js.map +1 -1
  67. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts +0 -60
  68. package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts.map +0 -1
  69. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js +0 -35
  70. package/dist/esm/protocols/mcp.external-connectors-models.schemas.js.map +0 -1
  71. package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts +2 -2
  72. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts +1 -89
  73. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts.map +1 -1
  74. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js +1 -83
  75. package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js.map +1 -1
  76. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.d.ts +370 -0
  77. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.d.ts.map +1 -0
  78. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.js +89 -0
  79. package/dist/esm/protocols/rest-operations.external-connectors-models.schemas.js.map +1 -0
  80. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts +0 -135
  81. package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts.map +0 -1
  82. package/dist/esm/protocols/saml.external-connectors-models.schemas.js +0 -9
  83. package/dist/esm/protocols/saml.external-connectors-models.schemas.js.map +0 -1
  84. package/dist/esm/protocols/sms.standard-interface.schemas.d.ts +2 -2
  85. package/dist/tsconfig.build.tsbuildinfo +1 -1
  86. package/package.json +2 -2
@@ -125,8 +125,14 @@ export var LLM_Model_Thinking_Capability;
125
125
  LLM_Model_Thinking_Capability["OPTIONAL"] = "optional";
126
126
  /**
127
127
  * The model ALWAYS reasons and thinking CANNOT be disabled (o-series,
128
- * Claude 5). Every effort is valid EXCEPT `NONE` — asking such a model not to
129
- * think is a provider error, not a preference.
128
+ * `claude-fable-5`). Every effort is valid EXCEPT `NONE` — asking such a model
129
+ * not to think is a provider error, not a preference.
130
+ *
131
+ * NOT a property of a model FAMILY: measured 2026-09-08, `claude-fable-5`
132
+ * refuses `thinking.type.disabled` while `claude-sonnet-5` and
133
+ * `claude-opus-5` accept it. Both siblings carried this value on the family's
134
+ * behalf for a month, which made `validateReasoningEffortForModel` refuse a
135
+ * configuration the provider would have honoured.
130
136
  */
131
137
  LLM_Model_Thinking_Capability["ALWAYS"] = "always";
132
138
  })(LLM_Model_Thinking_Capability || (LLM_Model_Thinking_Capability = {}));
@@ -291,8 +297,8 @@ export const LLMProvider_ToolChoice_Schema = z.union([
291
297
  * OpenAI o-series, Claude 5 thinking, Gemini reasoning, …). The values mirror
292
298
  * the AI SDK 7 top-level `reasoning` option EXACTLY, which the SDK translates to
293
299
  * each provider's native reasoning setting (OpenAI `reasoning_effort`, Anthropic
294
- * thinking budget, …). Omit for non-reasoning models or to accept the provider
295
- * default.
300
+ * `output_config.effort`, …). Omit for non-reasoning models or to accept the
301
+ * provider default.
296
302
  *
297
303
  * Effort ladder (cost/latency ↑ with depth):
298
304
  * - `NONE` — reasoning off; mechanical tasks (extraction, formatting, labelling).
@@ -303,20 +309,30 @@ export const LLMProvider_ToolChoice_Schema = z.union([
303
309
  * - `PROVIDER_DEFAULT` — explicitly defer to the model's own default effort.
304
310
  *
305
311
  * NOT EVERY MODEL SUPPORTS EVERY LEVEL — the SDK forwards the value and the
306
- * provider validates it. Support matrix VERIFIED LIVE (2026-07-16/17); pick a
307
- * level the target model actually supports:
312
+ * provider validates it. Support matrix VERIFIED LIVE (2026-09-08), per MODEL
313
+ * rather than per family, because the family is not uniform:
314
+ *
315
+ * | Model | Supported | Rejected |
316
+ * |--------------------------------------|---------------------------------|-------------------------------|
317
+ * | GPT-5.6 sol / terra / luna | none, low, medium, high, xhigh | `minimal`, `provider-default` |
318
+ * | claude-fable-5 | low, medium, high, xhigh | **`none`**, `minimal`, `provider-default` |
319
+ * | claude-sonnet-5 · claude-opus-5 | none, low, medium, high, xhigh | `minimal`, `provider-default` |
308
320
  *
309
- * | Model family | Supported | Rejected |
310
- * |---------------------|------------------------------------|--------------------------------|
311
- * | OpenAI GPT-5.6 | none, low, medium, high, xhigh | `minimal`, `max` |
312
- * | Anthropic Claude 5 | low, medium, high, xhigh | **`none`** — thinking CANNOT |
313
- * | (fable-5, …) | | be disabled ("thinking.type. |
314
- * | | | disabled is not supported…"; |
315
- * | | | defaults to adaptive) |
321
+ * ⚠️ `NONE` is NOT portable, but the line is finer than "OpenAI yes, Anthropic
322
+ * no": `claude-fable-5` alone refuses it. Its siblings accept it, so a level
323
+ * that is legal on `claude-sonnet-5` can still be illegal on `claude-fable-5` —
324
+ * which is why the capability is a per-model probed fact and never a family
325
+ * assumption. `PROVIDER_DEFAULT` is rejected as an explicit value by BOTH
326
+ * providers — omit the field entirely for the model's own default.
316
327
  *
317
- * ⚠️ `NONE` is therefore NOT portable: it turns reasoning off on GPT-5.6 but
318
- * ERRORS on Claude 5. `PROVIDER_DEFAULT` as an explicit value is also rejected
319
- * by GPT-5.6 — omit the field entirely for the model's default instead.
328
+ * How each provider expresses this natively, since the vocabularies differ and
329
+ * Anthropic's changed: OpenAI takes `reasoning_effort: <level>`. Anthropic
330
+ * takes `thinking: {type:'disabled'}` for `NONE`, and otherwise
331
+ * `thinking: {type:'adaptive'}` + `output_config: {effort: <level>}` — its
332
+ * accepted set is `low|medium|high|xhigh|max`, so `max` exists there and is
333
+ * deliberately NOT an enum member (OpenAI rejects it, and a level only one
334
+ * provider honours would not be portable). The older
335
+ * `thinking: {type:'enabled', budget_tokens}` form is RETIRED and now 400s.
320
336
  */
321
337
  export var LLMProvider_ReasoningEffort;
322
338
  (function (LLMProvider_ReasoningEffort) {
@@ -350,7 +366,7 @@ export const LLM_MODEL_CATALOG = {
350
366
  [LLM_Model.OPEN_AI_GPT_5_6_SOL]: {
351
367
  providerRef: "openai",
352
368
  availability: LLM_Model_Availability.PRODUCTION,
353
- probedOn: "2026-07-16",
369
+ probedOn: "2026-09-08",
354
370
  applicabilities: [LLM_Model_Applicability.DEEP_JUDGMENT, LLM_Model_Applicability.LONG_CONTEXT_ANALYSIS],
355
371
  ioCapabilities: [
356
372
  LLM_Model_IO_Capability.MULTIMODAL_VISION,
@@ -366,7 +382,7 @@ export const LLM_MODEL_CATALOG = {
366
382
  [LLM_Model.OPEN_AI_GPT_5_6_TERRA]: {
367
383
  providerRef: "openai",
368
384
  availability: LLM_Model_Availability.PRODUCTION,
369
- probedOn: "2026-07-16",
385
+ probedOn: "2026-09-08",
370
386
  applicabilities: [LLM_Model_Applicability.STRUCTURED_AUTHORING, LLM_Model_Applicability.VISUAL_JUDGMENT],
371
387
  ioCapabilities: [
372
388
  LLM_Model_IO_Capability.MULTIMODAL_VISION,
@@ -380,7 +396,7 @@ export const LLM_MODEL_CATALOG = {
380
396
  [LLM_Model.OPEN_AI_GPT_5_6_LUNA]: {
381
397
  providerRef: "openai",
382
398
  availability: LLM_Model_Availability.PRODUCTION,
383
- probedOn: "2026-07-16",
399
+ probedOn: "2026-09-08",
384
400
  applicabilities: [LLM_Model_Applicability.HIGH_VOLUME_MECHANICAL],
385
401
  ioCapabilities: [LLM_Model_IO_Capability.STRUCTURED_OUTPUTS, LLM_Model_IO_Capability.TOOL_USE],
386
402
  thinkingCapability: LLM_Model_Thinking_Capability.OPTIONAL,
@@ -413,14 +429,18 @@ export const LLM_MODEL_CATALOG = {
413
429
  [LLM_Model.OPEN_AI_O4_MINI]: { providerRef: "openai", availability: LLM_Model_Availability.PRODUCTION, probedOn: "2026-07-16", applicabilities: [] },
414
430
  // ---------------------------------------------------------------
415
431
  // Anthropic — ids verified LIVE against `GET /v1/models` (2026-07-16).
416
- // The Claude 5 family reasons ADAPTIVELY and cannot be told not to:
417
- // live, `reasoning: 'none'` → 400 "thinking.type.disabled is not supported
418
- // for this model; thinking defaults to adaptive".
432
+ //
433
+ // Thinking posture re-probed 2026-09-08 and it is PER MODEL, not per family.
434
+ // `claude-fable-5` refuses `thinking: {type:'disabled'}` (400 "…is not
435
+ // supported for this model; thinking defaults to adaptive") — ALWAYS.
436
+ // `claude-sonnet-5` and `claude-opus-5` ACCEPT it (200) — OPTIONAL. All three
437
+ // reject `minimal` and `provider-default` as `output_config.effort` values,
438
+ // whose accepted set is `low|medium|high|xhigh|max`.
419
439
  // ---------------------------------------------------------------
420
440
  [LLM_Model.CLAUDE_FABLE_5]: {
421
441
  providerRef: "anthropic",
422
442
  availability: LLM_Model_Availability.PRODUCTION,
423
- probedOn: "2026-07-16",
443
+ probedOn: "2026-09-08",
424
444
  applicabilities: [
425
445
  LLM_Model_Applicability.DEEP_JUDGMENT,
426
446
  LLM_Model_Applicability.LONG_CONTEXT_ANALYSIS,
@@ -432,7 +452,10 @@ export const LLM_MODEL_CATALOG = {
432
452
  LLM_Model_IO_Capability.TOOL_USE,
433
453
  LLM_Model_IO_Capability.LONG_CONTEXT,
434
454
  ],
455
+ // The ONLY model that still refuses `thinking: {type:'disabled'}` (re-probed
456
+ // 2026-09-08); its two siblings accept it, so this value is not the family's.
435
457
  thinkingCapability: LLM_Model_Thinking_Capability.ALWAYS,
458
+ unsupportedReasoningEfforts: [LLMProvider_ReasoningEffort.MINIMAL, LLMProvider_ReasoningEffort.PROVIDER_DEFAULT],
436
459
  rejectsExplicitTemperature: true,
437
460
  },
438
461
  [LLM_Model.CLAUDE_OPUS_5]: {
@@ -440,7 +463,9 @@ export const LLM_MODEL_CATALOG = {
440
463
  availability: LLM_Model_Availability.PRODUCTION,
441
464
  // Probed live 2026-09-04 by the switch of the ACP coding/research lane onto it (it had been
442
465
  // every host-managed session's silent operator default long before it had an enum member).
443
- probedOn: "2026-09-04",
466
+ // Re-probed 2026-09-08 once it gained an `LLM_SMOKE` entry, which corrected
467
+ // `thinkingCapability` from an inherited ALWAYS to the measured OPTIONAL.
468
+ probedOn: "2026-09-08",
444
469
  applicabilities: [
445
470
  LLM_Model_Applicability.DEEP_JUDGMENT,
446
471
  LLM_Model_Applicability.LONG_CONTEXT_ANALYSIS,
@@ -454,13 +479,14 @@ export const LLM_MODEL_CATALOG = {
454
479
  LLM_Model_IO_Capability.CODE_GENERATION,
455
480
  LLM_Model_IO_Capability.LONG_CONTEXT,
456
481
  ],
457
- thinkingCapability: LLM_Model_Thinking_Capability.ALWAYS,
482
+ thinkingCapability: LLM_Model_Thinking_Capability.OPTIONAL,
483
+ unsupportedReasoningEfforts: [LLMProvider_ReasoningEffort.MINIMAL, LLMProvider_ReasoningEffort.PROVIDER_DEFAULT],
458
484
  rejectsExplicitTemperature: true,
459
485
  },
460
486
  [LLM_Model.CLAUDE_SONNET_5]: {
461
487
  providerRef: "anthropic",
462
488
  availability: LLM_Model_Availability.PRODUCTION,
463
- probedOn: "2026-07-16",
489
+ probedOn: "2026-09-08",
464
490
  applicabilities: [
465
491
  LLM_Model_Applicability.STRUCTURED_AUTHORING,
466
492
  LLM_Model_Applicability.WORKSPACE_CODING_AGENT,
@@ -471,7 +497,8 @@ export const LLM_MODEL_CATALOG = {
471
497
  LLM_Model_IO_Capability.TOOL_USE,
472
498
  LLM_Model_IO_Capability.CODE_GENERATION,
473
499
  ],
474
- thinkingCapability: LLM_Model_Thinking_Capability.ALWAYS,
500
+ thinkingCapability: LLM_Model_Thinking_Capability.OPTIONAL,
501
+ unsupportedReasoningEfforts: [LLMProvider_ReasoningEffort.MINIMAL, LLMProvider_ReasoningEffort.PROVIDER_DEFAULT],
475
502
  rejectsExplicitTemperature: true,
476
503
  },
477
504
  [LLM_Model.CLAUDE_OPUS_4_8]: {
@@ -733,7 +760,28 @@ export const validateReasoningEffortForModel = (model, effort) => {
733
760
  * REJECTS an explicit `temperature`).
734
761
  */
735
762
  export const LLMProvider_OperationModelConfiguration_Schema = z.object({
736
- model: z.string(),
763
+ /**
764
+ * A CONCRETE model id — the escape hatch, and no longer the ordinary way to answer "which model".
765
+ *
766
+ * Declare {@link modelApplicability} instead unless you specifically need THIS id: a fine-tuned
767
+ * or custom deployment, or an agent pinned for a reason worth writing down. Naming an id at each
768
+ * agent is what the applicability axis exists to replace — a monthly model launch then means one
769
+ * catalog edit rather than N definition edits, and nobody has to re-audit which agents should
770
+ * move.
771
+ *
772
+ * Exactly one of `model` / `modelApplicability` must be present (refined below).
773
+ */
774
+ model: z.string().optional(),
775
+ /**
776
+ * The KIND of work this agent does — resolved to a concrete id at agent registration through
777
+ * `resolveModelForApplicability`, against the agent's own `providerRef`.
778
+ *
779
+ * This is the durable form: it survives model launches and retirements, and it states the
780
+ * cost/quality trade the author actually made. Resolution FAILS CLOSED with a named error, so an
781
+ * applicability no model of this provider serves is a startup error rather than a silent
782
+ * substitution.
783
+ */
784
+ modelApplicability: z.enum(LLM_Model_Applicability).optional(),
737
785
  providerRef: z.string(),
738
786
  temperature: z.number().optional(),
739
787
  maxTokens: z.number().optional(),
@@ -759,6 +807,20 @@ export const LLMProvider_OperationModelConfiguration_Schema = z.object({
759
807
  toolingFunctionEnabled: z.boolean().optional(),
760
808
  mcpCompatible: z.boolean().optional(),
761
809
  toolChoice: LLMProvider_ToolChoice_Schema.optional(),
810
+ }).refine((config) => (config.model === undefined) !== (config.modelApplicability === undefined), {
811
+ /*
812
+ * EXACTLY ONE, and both halves of that matter.
813
+ *
814
+ * NEITHER is the state this refinement mainly exists for — `model` used to be required, so
815
+ * omitting it is the new mistake and it must not reach a runtime that then has nothing to call.
816
+ *
817
+ * BOTH is the subtler one: a config carrying an id AND a class states two answers to one
818
+ * question, and whichever the resolver happened to prefer would be a silent decision. It is
819
+ * also exactly how the axis would have died — an applicability that coexists with the id it was
820
+ * meant to replace changes nothing, which is the trap #439 records.
821
+ */
822
+ message: 'An LLM configuration must declare EXACTLY ONE of `model` (a concrete id — the escape hatch for fine-tuned or pinned deployments) or `modelApplicability` (the kind of work, resolved to an id at registration). Declaring both states two answers to one question; declaring neither leaves nothing to call.',
823
+ path: ['model'],
762
824
  });
763
825
  /** @wildo_source:part:end saas.external-providers.llm.model-configuration */
764
826
  // ===============================================================