@plumbus/core 0.7.8 → 0.7.9

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 (88) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +6 -6
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/ai/ai/model-pricing.d.ts +5 -2
  5. package/dist/ai/ai/provider.d.ts +28 -1
  6. package/dist/ai/ai-service.d.ts +6 -1
  7. package/dist/ai/ai-service.d.ts.map +1 -1
  8. package/dist/ai/ai-service.js +21 -14
  9. package/dist/ai/ai-service.js.map +1 -1
  10. package/dist/ai/index.d.ts +1 -1
  11. package/dist/ai/index.d.ts.map +1 -1
  12. package/dist/ai/index.js.map +1 -1
  13. package/dist/ai/model-pricing.d.ts +5 -2
  14. package/dist/ai/model-pricing.d.ts.map +1 -1
  15. package/dist/ai/model-pricing.js +68 -12
  16. package/dist/ai/model-pricing.js.map +1 -1
  17. package/dist/ai/provider.d.ts +28 -1
  18. package/dist/ai/provider.d.ts.map +1 -1
  19. package/dist/ai/provider.js +186 -29
  20. package/dist/ai/provider.js.map +1 -1
  21. package/dist/ai/tool-loop.d.ts +3 -1
  22. package/dist/ai/tool-loop.d.ts.map +1 -1
  23. package/dist/ai/tool-loop.js +2 -0
  24. package/dist/ai/tool-loop.js.map +1 -1
  25. package/dist/ai/types/config.d.ts +11 -0
  26. package/dist/ai/validation.d.ts +7 -3
  27. package/dist/ai/validation.d.ts.map +1 -1
  28. package/dist/ai/validation.js +13 -10
  29. package/dist/ai/validation.js.map +1 -1
  30. package/dist/api/route-generator.d.ts +2 -12
  31. package/dist/api/route-generator.d.ts.map +1 -1
  32. package/dist/api/route-generator.js +14 -18
  33. package/dist/api/route-generator.js.map +1 -1
  34. package/dist/cli/commands/e2e.d.ts +12 -0
  35. package/dist/cli/commands/e2e.d.ts.map +1 -1
  36. package/dist/cli/commands/e2e.js +11 -0
  37. package/dist/cli/commands/e2e.js.map +1 -1
  38. package/dist/cli/commands/init.d.ts +1 -1
  39. package/dist/cli/commands/init.d.ts.map +1 -1
  40. package/dist/cli/commands/init.js +3 -3
  41. package/dist/cli/commands/init.js.map +1 -1
  42. package/dist/config/loader.d.ts.map +1 -1
  43. package/dist/config/loader.js +25 -0
  44. package/dist/config/loader.js.map +1 -1
  45. package/dist/execution/capability-error-hook.d.ts +24 -0
  46. package/dist/execution/capability-error-hook.d.ts.map +1 -0
  47. package/dist/execution/capability-error-hook.js +17 -0
  48. package/dist/execution/capability-error-hook.js.map +1 -0
  49. package/dist/execution/index.d.ts +1 -0
  50. package/dist/execution/index.d.ts.map +1 -1
  51. package/dist/execution/index.js.map +1 -1
  52. package/dist/flows/step-executor.d.ts +8 -0
  53. package/dist/flows/step-executor.d.ts.map +1 -1
  54. package/dist/flows/step-executor.js.map +1 -1
  55. package/dist/index.d.ts +2 -2
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/runtime/bootstrap.d.ts.map +1 -1
  59. package/dist/runtime/bootstrap.js +7 -1
  60. package/dist/runtime/bootstrap.js.map +1 -1
  61. package/dist/runtime/register-consumers.d.ts +3 -0
  62. package/dist/runtime/register-consumers.d.ts.map +1 -1
  63. package/dist/runtime/register-consumers.js +27 -6
  64. package/dist/runtime/register-consumers.js.map +1 -1
  65. package/dist/runtime/start-worker-pool.d.ts.map +1 -1
  66. package/dist/runtime/start-worker-pool.js +1 -0
  67. package/dist/runtime/start-worker-pool.js.map +1 -1
  68. package/dist/server/bootstrap.d.ts +5 -12
  69. package/dist/server/bootstrap.d.ts.map +1 -1
  70. package/dist/server/bootstrap.js +2 -0
  71. package/dist/server/bootstrap.js.map +1 -1
  72. package/dist/types/config.d.ts +11 -0
  73. package/dist/types/config.d.ts.map +1 -1
  74. package/dist/types/context.d.ts +17 -2
  75. package/dist/types/context.d.ts.map +1 -1
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/types/index.d.ts.map +1 -1
  78. package/dist/types/index.js.map +1 -1
  79. package/dist/worker/bootstrap.d.ts +9 -0
  80. package/dist/worker/bootstrap.d.ts.map +1 -1
  81. package/dist/worker/bootstrap.js +33 -1
  82. package/dist/worker/bootstrap.js.map +1 -1
  83. package/instructions/README.md +3 -1
  84. package/instructions/ai-classification.md +22 -5
  85. package/instructions/ai.md +34 -11
  86. package/instructions/framework.md +5 -3
  87. package/instructions/peer-dependencies.md +1 -1
  88. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/ai/model-pricing.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,26 @@ export type ChatMessage = {
71
71
  toolCallId: string;
72
72
  name: string;
73
73
  };
74
+ /**
75
+ * Per-section prompt-cache controls for providers that require explicit cache
76
+ * marks (Anthropic `cache_control`, Bedrock Converse `cachePoint`).
77
+ *
78
+ * Omitted fields are treated as `false`. Prefer `cache: true` for the common
79
+ * case (system + tools).
80
+ */
81
+ export interface AICacheConfig {
82
+ /** Cache the system prompt / instructions. */
83
+ system?: boolean;
84
+ /** Cache tool definitions (mark on the last tool). */
85
+ tools?: boolean;
86
+ /** Cache conversation history (mark on the last message). */
87
+ messages?: boolean;
88
+ }
89
+ /**
90
+ * Prompt-caching option. `true` enables system + tools (not messages).
91
+ * OpenAI ignores this — it caches long prompts automatically.
92
+ */
93
+ export type AIPromptCacheOption = boolean | AICacheConfig;
74
94
  export interface ProviderRequest {
75
95
  /** System prompt / instructions */
76
96
  system?: string;
@@ -128,6 +148,13 @@ export interface ProviderRequest {
128
148
  toolChoice?: AIToolChoice;
129
149
  /** Tool-execution options (e.g. disable parallel tool calls). */
130
150
  toolExecution?: AIToolExecutionOptions;
151
+ /**
152
+ * Explicit prompt caching for Anthropic / Bedrock. OpenAI ignores this
153
+ * (automatic caching). `true` caches system + tools; pass an object for
154
+ * per-section control. Shorter prompts may not meet provider minima — the
155
+ * request still succeeds without a cache write.
156
+ */
157
+ cache?: AIPromptCacheOption;
131
158
  }
132
159
  /** Compose a request's optional user signal with a timeout, returning a single AbortSignal. */
133
160
  export declare function combineRequestSignals(userSignal: AbortSignal | undefined, timeoutMs: number): AbortSignal;
@@ -153,7 +180,7 @@ export interface TokenUsage {
153
180
  totalTokens: number;
154
181
  /** Tokens served from provider cache (charged at reduced rate). */
155
182
  cachedInputTokens?: number;
156
- /** Tokens written to provider cache (charged at elevated rate — Anthropic only). */
183
+ /** Tokens written to provider cache (charged at an elevated input rate). */
157
184
  cacheWriteTokens?: number;
158
185
  }
159
186
  export interface ProviderStreamEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAGL,KAAK,IAAI,EACV,MAAM,oBAAoB,CAAC;AAO5B,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAE9F,+EAA+E;AAC/E,MAAM,MAAM,UAAU,GAClB;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,QAAQ,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,SAAS,CAAC;IAC3B,gGAAgG;IAChG,YAAY,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;KACrC,CAAC;CACH;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,gFAAgF;IAChF,aAAa,CAAC,EAAE,sBAAsB,CAAC;CACxC,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,aAAa,CAAC;AAiF1D,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,kFAAkF;IAClF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2BAA2B;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,wFAAwF;IACxF,yBAAyB,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACvD,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uDAAuD;IACvD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,iEAAiE;IACjE,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,+FAA+F;AAC/F,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,GAChB,WAAW,CAIb;AAGD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uGAAuG;IACvG,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;IACzB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC;CACtB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IAE/C,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9D,+DAA+D;IAC/D,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAErE,oCAAoC;IACpC,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE7D;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAClE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;CACrB,GAAG,aAAa,EAAE,CAuClB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,IAAI,EAAE;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAQF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAW5E;AA0cD,wFAAwF;AACxF,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAkBxD;AAubD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,CA2SlF;AAGD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,iBAAiB,CA6QxF;AAkKD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,oBAAoB,GACnC,iBAAiB,CAiCnB"}
@@ -3,6 +3,73 @@
3
3
  import { createRequire } from 'node:module';
4
4
  import { allKnownModels, estimateModelCost as calculateModelCost, } from './model-pricing.js';
5
5
  import { AIIncompleteOutputError, AIInvalidRequestError, AIRefusalError } from './refusal.js';
6
+ /**
7
+ * Resolve a `cache` option into per-section flags.
8
+ * `true` → `{ system: true, tools: true, messages: false }`.
9
+ * `false` / `undefined` / no section enabled → `undefined` (no provider marks).
10
+ */
11
+ function resolvePromptCache(cache) {
12
+ if (cache === undefined || cache === false)
13
+ return undefined;
14
+ if (cache === true)
15
+ return { system: true, tools: true, messages: false };
16
+ const resolved = {
17
+ system: cache.system === true,
18
+ tools: cache.tools === true,
19
+ messages: cache.messages === true,
20
+ };
21
+ if (!resolved.system && !resolved.tools && !resolved.messages)
22
+ return undefined;
23
+ return resolved;
24
+ }
25
+ const ANTHROPIC_CACHE_CONTROL = Object.freeze({ type: 'ephemeral' });
26
+ /** Attach Anthropic `cache_control` to the last content block of a message. */
27
+ function withAnthropicMessageCacheControl(message) {
28
+ const content = message.content;
29
+ if (typeof content === 'string') {
30
+ return {
31
+ ...message,
32
+ content: [{ type: 'text', text: content, cache_control: { ...ANTHROPIC_CACHE_CONTROL } }],
33
+ };
34
+ }
35
+ if (!Array.isArray(content) || content.length === 0)
36
+ return message;
37
+ const blocks = content.map((block, index) => {
38
+ if (index !== content.length - 1 || block == null || typeof block !== 'object') {
39
+ return block;
40
+ }
41
+ return { ...block, cache_control: { ...ANTHROPIC_CACHE_CONTROL } };
42
+ });
43
+ return { ...message, content: blocks };
44
+ }
45
+ /** Apply Anthropic cache marks to a Messages API request body in place. */
46
+ function applyAnthropicPromptCache(body, cache) {
47
+ if (cache.system && typeof body.system === 'string' && body.system.length > 0) {
48
+ body.system = [
49
+ {
50
+ type: 'text',
51
+ text: body.system,
52
+ cache_control: { ...ANTHROPIC_CACHE_CONTROL },
53
+ },
54
+ ];
55
+ }
56
+ if (cache.tools && Array.isArray(body.tools) && body.tools.length > 0) {
57
+ const tools = body.tools;
58
+ const lastIndex = tools.length - 1;
59
+ const last = tools[lastIndex];
60
+ if (last) {
61
+ tools[lastIndex] = { ...last, cache_control: { ...ANTHROPIC_CACHE_CONTROL } };
62
+ }
63
+ }
64
+ if (cache.messages && Array.isArray(body.messages) && body.messages.length > 0) {
65
+ const messages = body.messages;
66
+ const lastIndex = messages.length - 1;
67
+ const last = messages[lastIndex];
68
+ if (last) {
69
+ messages[lastIndex] = withAnthropicMessageCacheControl(last);
70
+ }
71
+ }
72
+ }
6
73
  /** Compose a request's optional user signal with a timeout, returning a single AbortSignal. */
7
74
  export function combineRequestSignals(userSignal, timeoutMs) {
8
75
  const timeoutSignal = AbortSignal.timeout(timeoutMs);
@@ -157,14 +224,25 @@ function buildEmptyOpenAIStructuredContentError(args) {
157
224
  `hasRefusal=${args.choice.message.refusal ? 'true' : 'false'} ` +
158
225
  `toolCalls=${toolCallSummary}`);
159
226
  }
160
- function openAIUsageToTokenUsage(usage) {
227
+ function openAIUsageToTokenUsage(usage, model) {
161
228
  return {
162
229
  inputTokens: usage.prompt_tokens,
163
230
  outputTokens: usage.completion_tokens,
164
231
  totalTokens: usage.total_tokens,
165
232
  cachedInputTokens: usage.prompt_tokens_details?.cached_tokens ?? 0,
233
+ ...openAICacheWriteUsage(model, usage.prompt_tokens_details?.cache_write_tokens),
166
234
  };
167
235
  }
236
+ /**
237
+ * OpenAI reports cache writes inside input tokens. GPT-5.6 and later bill them at
238
+ * 1.25x input, as the catalog does; earlier models have no write charge, so their
239
+ * writes stay ordinary input.
240
+ */
241
+ function openAICacheWriteUsage(model, cacheWriteTokens) {
242
+ if (!cacheWriteTokens || !(isGpt56Family(model) || isGpt6Family(model)))
243
+ return {};
244
+ return { cacheWriteTokens };
245
+ }
168
246
  function shouldUseOpenAIMaxCompletionTokens(model) {
169
247
  const normalizedModel = model.trim().toLowerCase();
170
248
  return (/^(?:o\d|o\d-|o\d\.)/.test(normalizedModel) ||
@@ -211,8 +289,28 @@ function unsupportedReasoning(provider, reasoning) {
211
289
  message: `AI provider "${provider}" cannot represent reasoning mode "${reasoning.mode}"`,
212
290
  });
213
291
  }
292
+ /**
293
+ * GPT-6 models accept no `minimal` effort, and GPT-6 Astra and GPT-6.1 Sol also
294
+ * reject `none`, so disabled reasoning cannot be represented for them.
295
+ */
296
+ function assertOpenAIReasoningSupported(model, reasoning) {
297
+ if (!isGpt6Family(model))
298
+ return;
299
+ if (reasoning.mode === 'effort' && reasoning.effort === 'minimal') {
300
+ throw new AIInvalidRequestError({
301
+ reason: 'reasoning_effort_unsupported',
302
+ message: `OpenAI model "${model}" does not support reasoning effort "minimal"; use "low"`,
303
+ });
304
+ }
305
+ if (reasoning.mode === 'disabled' && isGpt6WithoutNoneEffort(model)) {
306
+ throw new AIInvalidRequestError({
307
+ reason: 'reasoning_disabled_unsupported',
308
+ message: `OpenAI model "${model}" cannot disable reasoning; its lowest effort is "low"`,
309
+ });
310
+ }
311
+ }
214
312
  /** Translate provider-neutral reasoning onto OpenAI's top-level `reasoning_effort`. */
215
- function applyOpenAIReasoning(body, request) {
313
+ function applyOpenAIReasoning(body, request, model) {
216
314
  const reasoning = normalizeProviderRequestReasoning(request);
217
315
  if (!reasoning) {
218
316
  if (request.reasoningEffort)
@@ -221,11 +319,70 @@ function applyOpenAIReasoning(body, request) {
221
319
  }
222
320
  if (reasoning.mode === 'budget')
223
321
  unsupportedReasoning('openai', reasoning);
322
+ assertOpenAIReasoningSupported(model, reasoning);
224
323
  body.reasoning_effort = reasoning.mode === 'disabled' ? 'none' : reasoning.effort;
225
324
  }
325
+ /**
326
+ * Claude models that return HTTP 400 for any non-default `temperature`, `top_p` or
327
+ * `top_k` on every request, thinking on or off. `disabled` is the `thinking` type sent
328
+ * for `{ mode: 'disabled' }` (Sonnet 5.5 takes `between_tools` instead); a model
329
+ * without it cannot turn thinking off. Opus 5, Sonnet 5.5 and Haiku 5.5 accept that
330
+ * type only at effort `high` or below; a disabled request sends no effort, and their
331
+ * defaults are `high` (`medium` on Haiku 5.5). Of these models only Mythos Preview
332
+ * accepts `thinking: { type: 'enabled', budget_tokens }`.
333
+ * Sources: https://platform.claude.com/docs/en/build-with-claude/thinking#sampling-parameters
334
+ * and https://platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting
335
+ */
336
+ const FIXED_SAMPLING_CLAUDE_MODELS = {
337
+ 'fable-5-1': {},
338
+ 'mythos-5-1': {},
339
+ 'fable-5': {},
340
+ 'mythos-5': {},
341
+ 'mythos-preview': { budget: true },
342
+ 'opus-5-5': {},
343
+ 'opus-5': { disabled: 'disabled' },
344
+ 'opus-4-8': { disabled: 'disabled' },
345
+ 'opus-4-7': { disabled: 'disabled' },
346
+ 'sonnet-5-5': { disabled: 'between_tools' },
347
+ 'sonnet-5': { disabled: 'disabled' },
348
+ 'haiku-5-5': { disabled: 'disabled' },
349
+ };
350
+ /** Looks up a fixed-sampling Claude model, including dated and platform-prefixed ids. */
351
+ function fixedSamplingClaudeModel(model) {
352
+ if (typeof model !== 'string')
353
+ return undefined;
354
+ const normalizedModel = model.trim().toLowerCase();
355
+ const id = /(?:^|[./])claude-([a-z]+-(?:\d+(?:-\d{1,2})?|preview))(?=$|[-@:])/.exec(normalizedModel)?.[1];
356
+ return id && Object.hasOwn(FIXED_SAMPLING_CLAUDE_MODELS, id)
357
+ ? FIXED_SAMPLING_CLAUDE_MODELS[id]
358
+ : undefined;
359
+ }
226
360
  /** Translate provider-neutral reasoning onto Anthropic Messages API fields. */
227
361
  function applyAnthropicReasoning(body, request) {
228
362
  const reasoning = normalizeProviderRequestReasoning(request);
363
+ const fixedSampling = fixedSamplingClaudeModel(body.model);
364
+ // These models accept only the API default, so any temperature (Plumbus's 0.7
365
+ // default or a prompt's own) is left out, as for OpenAI gpt-5.5+.
366
+ const temperature = fixedSampling ? undefined : request.temperature;
367
+ if (fixedSampling) {
368
+ delete body.temperature;
369
+ if (reasoning?.mode === 'budget' && !fixedSampling.budget) {
370
+ throw new AIInvalidRequestError({
371
+ reason: 'reasoning_budget_unsupported',
372
+ message: `Anthropic model "${body.model}" does not accept a thinking budget; use an effort`,
373
+ });
374
+ }
375
+ if (reasoning?.mode === 'disabled') {
376
+ if (!fixedSampling.disabled) {
377
+ throw new AIInvalidRequestError({
378
+ reason: 'reasoning_disabled_unsupported',
379
+ message: `Anthropic model "${body.model}" cannot turn thinking off; use effort "low"`,
380
+ });
381
+ }
382
+ body.thinking = { type: fixedSampling.disabled };
383
+ return;
384
+ }
385
+ }
229
386
  if (!reasoning)
230
387
  return;
231
388
  if (reasoning.mode === 'disabled') {
@@ -245,13 +402,13 @@ function applyAnthropicReasoning(body, request) {
245
402
  message: 'Anthropic reasoning budget must be smaller than maxTokens',
246
403
  });
247
404
  }
248
- if (request.temperature != null && request.temperature !== 1) {
405
+ if (temperature != null && temperature !== 1) {
249
406
  throw new AIInvalidRequestError({
250
407
  reason: 'reasoning_temperature_conflict',
251
408
  message: 'Anthropic thinking requires temperature 1 or an omitted temperature',
252
409
  });
253
410
  }
254
- if (request.temperature == null)
411
+ if (temperature == null)
255
412
  delete body.temperature;
256
413
  body.thinking = {
257
414
  type: 'enabled',
@@ -263,13 +420,13 @@ function applyAnthropicReasoning(body, request) {
263
420
  if (reasoning.effort === 'minimal') {
264
421
  unsupportedReasoning('anthropic', reasoning);
265
422
  }
266
- if (request.temperature != null && request.temperature !== 1) {
423
+ if (temperature != null && temperature !== 1) {
267
424
  throw new AIInvalidRequestError({
268
425
  reason: 'reasoning_temperature_conflict',
269
426
  message: 'Anthropic adaptive thinking requires temperature 1 or an omitted temperature',
270
427
  });
271
428
  }
272
- if (request.temperature == null)
429
+ if (temperature == null)
273
430
  delete body.temperature;
274
431
  body.thinking = { type: 'adaptive', display: 'omitted' };
275
432
  const outputConfig = body.output_config && typeof body.output_config === 'object'
@@ -461,6 +618,10 @@ function isGpt56Family(model) {
461
618
  function isGpt6Family(model) {
462
619
  return /^gpt-6(?:$|[-.])/.test(model.trim().toLowerCase());
463
620
  }
621
+ /** GPT-6 Astra and GPT-6.1 Sol: lowest reasoning effort is `low`, not `none`. */
622
+ function isGpt6WithoutNoneEffort(model) {
623
+ return /^gpt-6(?:-astra|\.1-sol)(?:$|-)/.test(model.trim().toLowerCase());
624
+ }
464
625
  /**
465
626
  * Chat Completions cannot combine function tools with active reasoning on
466
627
  * GPT-5.6 or GPT-6. Keep every compatible request on the existing transport,
@@ -525,7 +686,7 @@ function buildOpenAIResponsesToolChoice(toolChoice) {
525
686
  return toolChoice;
526
687
  return { type: 'function', name: toolChoice.function.name };
527
688
  }
528
- function applyOpenAIResponsesReasoning(body, request) {
689
+ function applyOpenAIResponsesReasoning(body, request, model) {
529
690
  const reasoning = normalizeProviderRequestReasoning(request);
530
691
  if (!reasoning) {
531
692
  if (request.reasoningEffort)
@@ -534,9 +695,10 @@ function applyOpenAIResponsesReasoning(body, request) {
534
695
  }
535
696
  if (reasoning.mode === 'budget')
536
697
  unsupportedReasoning('openai', reasoning);
698
+ assertOpenAIReasoningSupported(model, reasoning);
537
699
  body.reasoning = { effort: reasoning.mode === 'disabled' ? 'none' : reasoning.effort };
538
700
  }
539
- function openAIResponsesUsageToTokenUsage(usage) {
701
+ function openAIResponsesUsageToTokenUsage(usage, model) {
540
702
  const inputTokens = usage?.input_tokens ?? 0;
541
703
  const outputTokens = usage?.output_tokens ?? 0;
542
704
  return {
@@ -544,6 +706,7 @@ function openAIResponsesUsageToTokenUsage(usage) {
544
706
  outputTokens,
545
707
  totalTokens: usage?.total_tokens ?? inputTokens + outputTokens,
546
708
  cachedInputTokens: usage?.input_tokens_details?.cached_tokens ?? 0,
709
+ ...openAICacheWriteUsage(model, usage?.input_tokens_details?.cache_write_tokens),
547
710
  };
548
711
  }
549
712
  function extractOpenAIResponsesContent(output) {
@@ -587,7 +750,7 @@ async function completeOpenAIResponses(args) {
587
750
  if (request.system)
588
751
  body.instructions = request.system;
589
752
  applyOpenAITemperature(body, model, request);
590
- applyOpenAIResponsesReasoning(body, request);
753
+ applyOpenAIResponsesReasoning(body, request, model);
591
754
  if (request.maxTokens)
592
755
  body.max_output_tokens = request.maxTokens;
593
756
  if (request.responseFormat === 'json') {
@@ -624,7 +787,7 @@ async function completeOpenAIResponses(args) {
624
787
  }),
625
788
  });
626
789
  const data = (await response.json());
627
- const usage = openAIResponsesUsageToTokenUsage(data.usage);
790
+ const usage = openAIResponsesUsageToTokenUsage(data.usage, model);
628
791
  const output = data.output ?? [];
629
792
  const extracted = extractOpenAIResponsesContent(output);
630
793
  const content = extracted.content || data.output_text || '';
@@ -768,7 +931,7 @@ export function createOpenAIAdapter(config) {
768
931
  messages,
769
932
  };
770
933
  applyOpenAITemperature(body, model, request);
771
- applyOpenAIReasoning(body, request);
934
+ applyOpenAIReasoning(body, request, model);
772
935
  applyOpenAITokenLimit(body, model, request.maxTokens);
773
936
  if (request.tools && request.tools.length > 0) {
774
937
  assertNoStructuredOutputToolConflict(request);
@@ -825,7 +988,7 @@ export function createOpenAIAdapter(config) {
825
988
  const choice = data.choices[0];
826
989
  if (!choice)
827
990
  throw new Error('OpenAI returned no choices');
828
- const usage = openAIUsageToTokenUsage(data.usage);
991
+ const usage = openAIUsageToTokenUsage(data.usage, model);
829
992
  const content = extractOpenAIMessageContent(choice.message);
830
993
  if (choice.message.refusal) {
831
994
  throw new AIRefusalError({
@@ -891,7 +1054,7 @@ export function createOpenAIAdapter(config) {
891
1054
  stream_options: { include_usage: true },
892
1055
  };
893
1056
  applyOpenAITemperature(body, model, request);
894
- applyOpenAIReasoning(body, request);
1057
+ applyOpenAIReasoning(body, request, model);
895
1058
  applyOpenAITokenLimit(body, model, request.maxTokens);
896
1059
  const responseFormat = buildOpenAIResponseFormat(request);
897
1060
  if (responseFormat) {
@@ -923,7 +1086,7 @@ export function createOpenAIAdapter(config) {
923
1086
  };
924
1087
  return;
925
1088
  }
926
- yield* parseSSEStream(resp, parseOpenAISSEChunk);
1089
+ yield* parseSSEStream(resp, (eventType, data) => parseOpenAISSEChunk(eventType, data, model));
927
1090
  },
928
1091
  async embed(request) {
929
1092
  const body = {
@@ -1037,6 +1200,9 @@ export function createAnthropicAdapter(config) {
1037
1200
  if (callerToolChoice !== undefined)
1038
1201
  body.tool_choice = callerToolChoice;
1039
1202
  }
1203
+ const promptCache = resolvePromptCache(request.cache);
1204
+ if (promptCache)
1205
+ applyAnthropicPromptCache(body, promptCache);
1040
1206
  const resp = await executeRequestWithRetry({
1041
1207
  providerName: 'anthropic',
1042
1208
  errorLabel: 'Anthropic API',
@@ -1099,11 +1265,7 @@ export function createAnthropicAdapter(config) {
1099
1265
  };
1100
1266
  },
1101
1267
  async *stream(request) {
1102
- // Multi-turn path: when `messages` is supplied, send them verbatim.
1103
- // Single-turn path: synthesize a single user message from `prompt`.
1104
- const messages = request.messages && request.messages.length > 0
1105
- ? request.messages.map((m) => ({ role: m.role, content: m.content }))
1106
- : [{ role: 'user', content: request.prompt }];
1268
+ const messages = toAnthropicMessages(request);
1107
1269
  const body = {
1108
1270
  model: request.model ?? defaultModel,
1109
1271
  messages,
@@ -1122,6 +1284,9 @@ export function createAnthropicAdapter(config) {
1122
1284
  };
1123
1285
  }
1124
1286
  applyAnthropicReasoning(body, request);
1287
+ const promptCache = resolvePromptCache(request.cache);
1288
+ if (promptCache)
1289
+ applyAnthropicPromptCache(body, promptCache);
1125
1290
  let resp;
1126
1291
  try {
1127
1292
  resp = await executeRequestWithRetry({
@@ -1267,21 +1432,13 @@ async function* parseSSEStream(resp, parseChunk) {
1267
1432
  reader.releaseLock();
1268
1433
  }
1269
1434
  }
1270
- function parseOpenAISSEChunk(_eventType, data) {
1435
+ function parseOpenAISSEChunk(_eventType, data, model) {
1271
1436
  try {
1272
1437
  const parsed = JSON.parse(data);
1273
1438
  // Usage-only chunk (sent when stream_options.include_usage is true)
1274
1439
  if (parsed.usage &&
1275
1440
  (!parsed.choices || parsed.choices.length === 0 || !parsed.choices[0]?.delta?.content)) {
1276
- return {
1277
- type: 'usage',
1278
- usage: {
1279
- inputTokens: parsed.usage.prompt_tokens,
1280
- outputTokens: parsed.usage.completion_tokens,
1281
- totalTokens: parsed.usage.total_tokens,
1282
- cachedInputTokens: parsed.usage.prompt_tokens_details?.cached_tokens ?? 0,
1283
- },
1284
- };
1441
+ return { type: 'usage', usage: openAIUsageToTokenUsage(parsed.usage, model) };
1285
1442
  }
1286
1443
  const choice = parsed.choices?.[0];
1287
1444
  if (!choice)