@workglow/anthropic 0.2.30 → 0.2.32

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 (72) hide show
  1. package/README.md +44 -0
  2. package/dist/ai/AnthropicProvider.d.ts.map +1 -0
  3. package/dist/ai/AnthropicQueuedProvider.d.ts.map +1 -0
  4. package/dist/ai/common/Anthropic_Chat.d.ts.map +1 -0
  5. package/dist/ai/common/Anthropic_Client.d.ts.map +1 -0
  6. package/dist/ai/common/Anthropic_Constants.d.ts.map +1 -0
  7. package/dist/ai/common/Anthropic_CountTokens.d.ts.map +1 -0
  8. package/dist/ai/common/Anthropic_JobRunFns.d.ts.map +1 -0
  9. package/dist/ai/common/Anthropic_ModelInfo.d.ts.map +1 -0
  10. package/dist/ai/common/Anthropic_ModelSchema.d.ts.map +1 -0
  11. package/dist/ai/common/Anthropic_ModelSearch.d.ts.map +1 -0
  12. package/dist/ai/common/Anthropic_StructuredGeneration.d.ts.map +1 -0
  13. package/dist/ai/common/Anthropic_TextGeneration.d.ts.map +1 -0
  14. package/dist/ai/common/Anthropic_TextRewriter.d.ts.map +1 -0
  15. package/dist/ai/common/Anthropic_TextSummary.d.ts.map +1 -0
  16. package/dist/ai/common/Anthropic_ToolCalling.d.ts.map +1 -0
  17. package/dist/ai/index.d.ts.map +1 -0
  18. package/dist/ai/registerAnthropic.d.ts.map +1 -0
  19. package/dist/ai/registerAnthropicInline.d.ts.map +1 -0
  20. package/dist/ai/registerAnthropicWorker.d.ts.map +1 -0
  21. package/dist/ai/runtime.d.ts.map +1 -0
  22. package/dist/{ai-provider.d.ts → ai-runtime.d.ts} +2 -2
  23. package/dist/ai-runtime.d.ts.map +1 -0
  24. package/dist/{ai-provider-runtime.js → ai-runtime.js} +26 -26
  25. package/dist/{ai-provider-runtime.js.map → ai-runtime.js.map} +8 -8
  26. package/dist/{ai-provider-runtime.d.ts → ai.d.ts} +2 -2
  27. package/dist/ai.d.ts.map +1 -0
  28. package/dist/{ai-provider.js → ai.js} +13 -13
  29. package/dist/{ai-provider.js.map → ai.js.map} +6 -6
  30. package/package.json +21 -26
  31. package/dist/ai-provider/AnthropicProvider.d.ts.map +0 -1
  32. package/dist/ai-provider/AnthropicQueuedProvider.d.ts.map +0 -1
  33. package/dist/ai-provider/common/Anthropic_Chat.d.ts.map +0 -1
  34. package/dist/ai-provider/common/Anthropic_Client.d.ts.map +0 -1
  35. package/dist/ai-provider/common/Anthropic_Constants.d.ts.map +0 -1
  36. package/dist/ai-provider/common/Anthropic_CountTokens.d.ts.map +0 -1
  37. package/dist/ai-provider/common/Anthropic_JobRunFns.d.ts.map +0 -1
  38. package/dist/ai-provider/common/Anthropic_ModelInfo.d.ts.map +0 -1
  39. package/dist/ai-provider/common/Anthropic_ModelSchema.d.ts.map +0 -1
  40. package/dist/ai-provider/common/Anthropic_ModelSearch.d.ts.map +0 -1
  41. package/dist/ai-provider/common/Anthropic_StructuredGeneration.d.ts.map +0 -1
  42. package/dist/ai-provider/common/Anthropic_TextGeneration.d.ts.map +0 -1
  43. package/dist/ai-provider/common/Anthropic_TextRewriter.d.ts.map +0 -1
  44. package/dist/ai-provider/common/Anthropic_TextSummary.d.ts.map +0 -1
  45. package/dist/ai-provider/common/Anthropic_ToolCalling.d.ts.map +0 -1
  46. package/dist/ai-provider/index.d.ts.map +0 -1
  47. package/dist/ai-provider/registerAnthropic.d.ts.map +0 -1
  48. package/dist/ai-provider/registerAnthropicInline.d.ts.map +0 -1
  49. package/dist/ai-provider/registerAnthropicWorker.d.ts.map +0 -1
  50. package/dist/ai-provider/runtime.d.ts.map +0 -1
  51. package/dist/ai-provider-runtime.d.ts.map +0 -1
  52. package/dist/ai-provider.d.ts.map +0 -1
  53. /package/dist/{ai-provider → ai}/AnthropicProvider.d.ts +0 -0
  54. /package/dist/{ai-provider → ai}/AnthropicQueuedProvider.d.ts +0 -0
  55. /package/dist/{ai-provider → ai}/common/Anthropic_Chat.d.ts +0 -0
  56. /package/dist/{ai-provider → ai}/common/Anthropic_Client.d.ts +0 -0
  57. /package/dist/{ai-provider → ai}/common/Anthropic_Constants.d.ts +0 -0
  58. /package/dist/{ai-provider → ai}/common/Anthropic_CountTokens.d.ts +0 -0
  59. /package/dist/{ai-provider → ai}/common/Anthropic_JobRunFns.d.ts +0 -0
  60. /package/dist/{ai-provider → ai}/common/Anthropic_ModelInfo.d.ts +0 -0
  61. /package/dist/{ai-provider → ai}/common/Anthropic_ModelSchema.d.ts +0 -0
  62. /package/dist/{ai-provider → ai}/common/Anthropic_ModelSearch.d.ts +0 -0
  63. /package/dist/{ai-provider → ai}/common/Anthropic_StructuredGeneration.d.ts +0 -0
  64. /package/dist/{ai-provider → ai}/common/Anthropic_TextGeneration.d.ts +0 -0
  65. /package/dist/{ai-provider → ai}/common/Anthropic_TextRewriter.d.ts +0 -0
  66. /package/dist/{ai-provider → ai}/common/Anthropic_TextSummary.d.ts +0 -0
  67. /package/dist/{ai-provider → ai}/common/Anthropic_ToolCalling.d.ts +0 -0
  68. /package/dist/{ai-provider → ai}/index.d.ts +0 -0
  69. /package/dist/{ai-provider → ai}/registerAnthropic.d.ts +0 -0
  70. /package/dist/{ai-provider → ai}/registerAnthropicInline.d.ts +0 -0
  71. /package/dist/{ai-provider → ai}/registerAnthropicWorker.d.ts +0 -0
  72. /package/dist/{ai-provider → ai}/runtime.d.ts +0 -0
package/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # @workglow/anthropic
2
+
3
+ Anthropic Claude provider for @workglow/ai.
4
+
5
+ ## Features
6
+
7
+ - Integration with anthropic for Workglow AI tasks
8
+ - Supports standard Workglow AI task interfaces
9
+ - Works seamlessly with `@workglow/task-graph` and `@workglow/ai`
10
+ - Built-in job queue support for rate limiting and concurrency
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install @workglow/anthropic
16
+ # or
17
+ bun add @workglow/anthropic
18
+ # or
19
+ yarn add @workglow/anthropic
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```typescript
25
+ import { registerAnthropic } from "@workglow/anthropic/ai-runtime";
26
+ import { TextGenerationTask } from "@workglow/ai";
27
+ import { Workflow } from "@workglow/task-graph";
28
+
29
+ // 1. Register the provider
30
+ await registerAnthropic();
31
+
32
+ // 2. Use it in a workflow
33
+ const workflow = new Workflow();
34
+ workflow.add(new TextGenerationTask({
35
+ model: "default-model",
36
+ prompt: "Hello world!"
37
+ }));
38
+
39
+ const result = await workflow.run();
40
+ ```
41
+
42
+ ## License
43
+
44
+ Apache 2.0 - See [LICENSE](../../LICENSE) for details.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../../src/ai/AnthropicProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBjD;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,sBAOrC;CAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnthropicQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/ai/AnthropicQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgB1C,4FAA4F;AAC5F,qBAAa,uBAAwB,SAAQ,4BAO3C;CAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_Chat.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_Chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAsCpE,eAAO,MAAM,cAAc,EAAE,eAAe,CAC1C,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CAYrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,CACpD,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CAkBrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_Client.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,wBAAsB,gBAAgB,0DAQrC;AAUD,wBAAsB,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,kDAmBtE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAM5E;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,KAAK,EAAE,oBAAoB,GAAG,SAAS,GACtC,MAAM,CAER"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_Constants.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_Constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,SAAS,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_CountTokens.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_CountTokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAQrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAAsB,CAChE,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAGrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiB7F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAU3F,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAQnD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,MAAM,EACN,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAGvD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_ModelInfo.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_ModelInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAC/C,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,CAwBrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,oBAAoB;mBACzB,QAAQ;;iBAEZ,QAAQ;qBACN,KAAK;qBACL,WAAW,EAAE,0CAA0C;;iBAEzD,eAAe;qBACb,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,mCAAmC;qBAChD,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;yBAErG,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,4CAA4C;;yBAE3D,UAAU;6BACR,IAAI,EAAE,SAAS;6BACf,WAAW,EAAE,sEAAsE;6BACnF,OAAO,EAAE,IAAI;6BACb,OAAO,EAAE,CAAC;;;qBAGd,QAAQ;qBACR,oBAAoB;;;;;CAKe,CAAC;AAE1C,eAAO,MAAM,0BAA0B;mBAC/B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAtCV,KAAK;qBACL,WAAW,EAAE,0CAA0C;;;qBAGvD,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,mCAAmC;qBAChD,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;yBAErG,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,4CAA4C;;yBAE3D,UAAU;6BACR,IAAI,EAAE,SAAS;6BACf,WAAW,EAAE,sEAAsE;6BACnF,OAAO,EAAE,IAAI;6BACb,OAAO,EAAE,CAAC;;;qBAGd,QAAQ;qBACR,oBAAoB;;;;;CAee,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,eAAO,MAAM,0BAA0B;mBAC/B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAlDV,KAAK;qBACL,WAAW,EAAE,0CAA0C;;;qBAGvD,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,mCAAmC;qBAChD,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;yBAErG,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,4CAA4C;;yBAE3D,UAAU;6BACR,IAAI,EAAE,SAAS;6BACf,WAAW,EAAE,sEAAsE;6BACnF,OAAO,EAAE,IAAI;6BACb,OAAO,EAAE,CAAC;;;qBAGd,QAAQ;qBACR,oBAAoB;;;;;CA2Be,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_ModelSearch.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_ModelSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAmDtB,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,CAUtB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_StructuredGeneration.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_StructuredGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,eAAO,MAAM,8BAA8B,EAAE,eAAe,CAC1D,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,CA8BrB,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,kBAAkB,CACpE,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,CA+CrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,eAAO,MAAM,wBAAwB,EAAE,eAAe,CACpD,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CAsCrB,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAC9D,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CAsCrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CAoBrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CAqBrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAoBrB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAqBrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anthropic_ToolCalling.d.ts","sourceRoot":"","sources":["../../../src/ai/common/Anthropic_ToolCalling.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,WAAW,EAEX,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,SAAS,EAChD,MAAM,EAAE,OAAO,GACd,GAAG,EAAE,CA0DP;AAWD,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAwErB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAmIrB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerAnthropic.d.ts","sourceRoot":"","sources":["../../src/ai/registerAnthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAI9D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,yBAAyB,GAAG;IACnC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CACjC,GACA,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerAnthropicInline.d.ts","sourceRoot":"","sources":["../../src/ai/registerAnthropicInline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAS9D,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerAnthropicWorker.d.ts","sourceRoot":"","sources":["../../src/ai/registerAnthropicWorker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAU7D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ai/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./ai-provider/index";
7
- //# sourceMappingURL=ai-provider.d.ts.map
6
+ export * from "./ai/runtime";
7
+ //# sourceMappingURL=ai-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-runtime.d.ts","sourceRoot":"","sources":["../src/ai-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
- // src/ai-provider/common/Anthropic_Client.ts
2
- import { isBrowserLike, loadProviderSdk, resolveApiKey } from "@workglow/ai-provider/common";
1
+ // src/ai/common/Anthropic_Client.ts
2
+ import { isBrowserLike, loadProviderSdk, resolveApiKey } from "@workglow/ai/provider-utils";
3
3
  var _sdk;
4
4
  async function loadAnthropicSDK() {
5
5
  if (!_sdk) {
@@ -36,17 +36,17 @@ function getMaxTokens(input, model) {
36
36
  return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;
37
37
  }
38
38
 
39
- // src/ai-provider/registerAnthropicInline.ts
40
- import { registerProviderInline } from "@workglow/ai-provider/common";
39
+ // src/ai/registerAnthropicInline.ts
40
+ import { registerProviderInline } from "@workglow/ai/provider-utils";
41
41
 
42
- // src/ai-provider/AnthropicQueuedProvider.ts
42
+ // src/ai/AnthropicQueuedProvider.ts
43
43
  import { AiProvider } from "@workglow/ai";
44
- import { createCloudProviderClass } from "@workglow/ai-provider/common";
44
+ import { createCloudProviderClass } from "@workglow/ai/provider-utils";
45
45
 
46
- // src/ai-provider/common/Anthropic_Constants.ts
46
+ // src/ai/common/Anthropic_Constants.ts
47
47
  var ANTHROPIC = "ANTHROPIC";
48
48
 
49
- // src/ai-provider/AnthropicQueuedProvider.ts
49
+ // src/ai/AnthropicQueuedProvider.ts
50
50
  var ANTHROPIC_TASK_TYPES = [
51
51
  "CountTokensTask",
52
52
  "ModelInfoTask",
@@ -65,8 +65,8 @@ class AnthropicQueuedProvider extends createCloudProviderClass(AiProvider, {
65
65
  }) {
66
66
  }
67
67
 
68
- // src/ai-provider/common/Anthropic_ModelSearch.ts
69
- import { filterLabeledModelsByQuery } from "@workglow/ai-provider/common";
68
+ // src/ai/common/Anthropic_ModelSearch.ts
69
+ import { filterLabeledModelsByQuery } from "@workglow/ai/provider-utils";
70
70
  var ANTHROPIC_FALLBACK = [
71
71
  { label: "claude-opus-4-7", value: "claude-opus-4-7" },
72
72
  { label: "claude-sonnet-4-6", value: "claude-sonnet-4-6" },
@@ -115,7 +115,7 @@ var Anthropic_ModelSearch = async (input) => {
115
115
  return { results: mapModelList(models) };
116
116
  };
117
117
 
118
- // src/ai-provider/common/Anthropic_ToolCalling.ts
118
+ // src/ai/common/Anthropic_ToolCalling.ts
119
119
  import { buildToolDescription, filterValidToolCalls } from "@workglow/ai/worker";
120
120
  import { parsePartialJson } from "@workglow/util/worker";
121
121
  function buildAnthropicMessages(messages, prompt) {
@@ -349,7 +349,7 @@ var Anthropic_ToolCalling_Stream = async function* (input, model, signal, _outpu
349
349
  yield { type: "finish", data: { text: "", toolCalls: [] } };
350
350
  };
351
351
 
352
- // src/ai-provider/common/Anthropic_Chat.ts
352
+ // src/ai/common/Anthropic_Chat.ts
353
353
  function buildParams(input, model, sessionId) {
354
354
  const messages = buildAnthropicMessages(input.messages, input.prompt);
355
355
  const params = {
@@ -402,7 +402,7 @@ var Anthropic_Chat_Stream = async function* (input, model, signal, _outputSchema
402
402
  yield { type: "finish", data: {} };
403
403
  };
404
404
 
405
- // src/ai-provider/common/Anthropic_CountTokens.ts
405
+ // src/ai/common/Anthropic_CountTokens.ts
406
406
  var Anthropic_CountTokens = async (input, model, onProgress, signal) => {
407
407
  const client = await getClient(model);
408
408
  const result = await client.messages.countTokens({
@@ -415,7 +415,7 @@ var Anthropic_CountTokens_Preview = async (input, _model) => {
415
415
  return { count: Math.ceil(input.text.length / 4) };
416
416
  };
417
417
 
418
- // src/ai-provider/common/Anthropic_ModelInfo.ts
418
+ // src/ai/common/Anthropic_ModelInfo.ts
419
419
  var Anthropic_ModelInfo = async (input) => {
420
420
  if (input.detail === "dimensions") {
421
421
  return {
@@ -441,7 +441,7 @@ var Anthropic_ModelInfo = async (input) => {
441
441
  };
442
442
  };
443
443
 
444
- // src/ai-provider/common/Anthropic_StructuredGeneration.ts
444
+ // src/ai/common/Anthropic_StructuredGeneration.ts
445
445
  import { parsePartialJson as parsePartialJson2 } from "@workglow/util/worker";
446
446
  var Anthropic_StructuredGeneration = async (input, model, update_progress, signal, outputSchema) => {
447
447
  update_progress(0, "Starting Anthropic structured generation");
@@ -502,7 +502,7 @@ var Anthropic_StructuredGeneration_Stream = async function* (input, model, signa
502
502
  yield { type: "finish", data: { object: finalObject } };
503
503
  };
504
504
 
505
- // src/ai-provider/common/Anthropic_TextGeneration.ts
505
+ // src/ai/common/Anthropic_TextGeneration.ts
506
506
  import { getLogger } from "@workglow/util/worker";
507
507
  var Anthropic_TextGeneration = async (input, model, update_progress, signal, _outputSchema, sessionId) => {
508
508
  const logger = getLogger();
@@ -561,7 +561,7 @@ var Anthropic_TextGeneration_Stream = async function* (input, model, signal, _ou
561
561
  yield { type: "finish", data: {} };
562
562
  };
563
563
 
564
- // src/ai-provider/common/Anthropic_TextRewriter.ts
564
+ // src/ai/common/Anthropic_TextRewriter.ts
565
565
  var Anthropic_TextRewriter = async (input, model, update_progress, signal) => {
566
566
  update_progress(0, "Starting Anthropic text rewriting");
567
567
  const client = await getClient(model);
@@ -593,7 +593,7 @@ var Anthropic_TextRewriter_Stream = async function* (input, model, signal) {
593
593
  yield { type: "finish", data: {} };
594
594
  };
595
595
 
596
- // src/ai-provider/common/Anthropic_TextSummary.ts
596
+ // src/ai/common/Anthropic_TextSummary.ts
597
597
  var Anthropic_TextSummary = async (input, model, update_progress, signal) => {
598
598
  update_progress(0, "Starting Anthropic text summarization");
599
599
  const client = await getClient(model);
@@ -625,7 +625,7 @@ var Anthropic_TextSummary_Stream = async function* (input, model, signal) {
625
625
  yield { type: "finish", data: {} };
626
626
  };
627
627
 
628
- // src/ai-provider/common/Anthropic_JobRunFns.ts
628
+ // src/ai/common/Anthropic_JobRunFns.ts
629
629
  var ANTHROPIC_TASKS = {
630
630
  AiChatTask: Anthropic_Chat,
631
631
  CountTokensTask: Anthropic_CountTokens,
@@ -649,17 +649,17 @@ var ANTHROPIC_PREVIEW_TASKS = {
649
649
  CountTokensTask: Anthropic_CountTokens_Preview
650
650
  };
651
651
 
652
- // src/ai-provider/registerAnthropicInline.ts
652
+ // src/ai/registerAnthropicInline.ts
653
653
  async function registerAnthropicInline(options) {
654
654
  await registerProviderInline(new AnthropicQueuedProvider(ANTHROPIC_TASKS, ANTHROPIC_STREAM_TASKS, ANTHROPIC_PREVIEW_TASKS), "Anthropic", options);
655
655
  }
656
656
 
657
- // src/ai-provider/registerAnthropicWorker.ts
658
- import { registerProviderWorker } from "@workglow/ai-provider/common";
657
+ // src/ai/registerAnthropicWorker.ts
658
+ import { registerProviderWorker } from "@workglow/ai/provider-utils";
659
659
 
660
- // src/ai-provider/AnthropicProvider.ts
660
+ // src/ai/AnthropicProvider.ts
661
661
  import { AiProvider as AiProvider2 } from "@workglow/ai/worker";
662
- import { createCloudProviderClass as createCloudProviderClass2 } from "@workglow/ai-provider/common";
662
+ import { createCloudProviderClass as createCloudProviderClass2 } from "@workglow/ai/provider-utils";
663
663
  var ANTHROPIC_TASK_TYPES2 = [
664
664
  "CountTokensTask",
665
665
  "ModelInfoTask",
@@ -678,7 +678,7 @@ class AnthropicProvider extends createCloudProviderClass2(AiProvider2, {
678
678
  }) {
679
679
  }
680
680
 
681
- // src/ai-provider/registerAnthropicWorker.ts
681
+ // src/ai/registerAnthropicWorker.ts
682
682
  async function registerAnthropicWorker() {
683
683
  await registerProviderWorker((ws) => new AnthropicProvider(ANTHROPIC_TASKS, ANTHROPIC_STREAM_TASKS, ANTHROPIC_PREVIEW_TASKS).registerOnWorkerServer(ws), "Anthropic");
684
684
  }
@@ -691,4 +691,4 @@ export {
691
691
  getClient
692
692
  };
693
693
 
694
- //# debugId=18682B4C1AE048F964756E2164756E21
694
+ //# debugId=A28580EF830A88A264756E2164756E21
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/ai-provider/common/Anthropic_Client.ts", "../src/ai-provider/registerAnthropicInline.ts", "../src/ai-provider/AnthropicQueuedProvider.ts", "../src/ai-provider/common/Anthropic_Constants.ts", "../src/ai-provider/common/Anthropic_ModelSearch.ts", "../src/ai-provider/common/Anthropic_ToolCalling.ts", "../src/ai-provider/common/Anthropic_Chat.ts", "../src/ai-provider/common/Anthropic_CountTokens.ts", "../src/ai-provider/common/Anthropic_ModelInfo.ts", "../src/ai-provider/common/Anthropic_StructuredGeneration.ts", "../src/ai-provider/common/Anthropic_TextGeneration.ts", "../src/ai-provider/common/Anthropic_TextRewriter.ts", "../src/ai-provider/common/Anthropic_TextSummary.ts", "../src/ai-provider/common/Anthropic_JobRunFns.ts", "../src/ai-provider/registerAnthropicWorker.ts", "../src/ai-provider/AnthropicProvider.ts"],
3
+ "sources": ["../src/ai/common/Anthropic_Client.ts", "../src/ai/registerAnthropicInline.ts", "../src/ai/AnthropicQueuedProvider.ts", "../src/ai/common/Anthropic_Constants.ts", "../src/ai/common/Anthropic_ModelSearch.ts", "../src/ai/common/Anthropic_ToolCalling.ts", "../src/ai/common/Anthropic_Chat.ts", "../src/ai/common/Anthropic_CountTokens.ts", "../src/ai/common/Anthropic_ModelInfo.ts", "../src/ai/common/Anthropic_StructuredGeneration.ts", "../src/ai/common/Anthropic_TextGeneration.ts", "../src/ai/common/Anthropic_TextRewriter.ts", "../src/ai/common/Anthropic_TextSummary.ts", "../src/ai/common/Anthropic_JobRunFns.ts", "../src/ai/registerAnthropicWorker.ts", "../src/ai/AnthropicProvider.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isBrowserLike, loadProviderSdk, resolveApiKey } from \"@workglow/ai-provider/common\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\n\nexport async function loadAnthropicSDK() {\n if (!_sdk) {\n _sdk = await loadProviderSdk<typeof import(\"@anthropic-ai/sdk\")>(\n \"@anthropic-ai/sdk\",\n \"Anthropic\"\n );\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nexport async function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey = resolveApiKey({\n config,\n envVar: \"ANTHROPIC_API_KEY\",\n providerLabel: \"Anthropic\",\n });\n try {\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser: isBrowserLike(),\n });\n } catch (err) {\n throw new Error(\n `Failed to create Anthropic client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n",
6
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { registerProviderInline } from \"@workglow/ai-provider/common\";\nimport { AnthropicQueuedProvider } from \"./AnthropicQueuedProvider\";\nimport {\n ANTHROPIC_PREVIEW_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\n\nexport async function registerAnthropicInline(options?: AiProviderRegisterOptions): Promise<void> {\n await registerProviderInline(\n new AnthropicQueuedProvider(ANTHROPIC_TASKS, ANTHROPIC_STREAM_TASKS, ANTHROPIC_PREVIEW_TASKS),\n \"Anthropic\",\n options\n );\n}\n",
7
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport { createCloudProviderClass } from \"@workglow/ai-provider/common\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\nconst ANTHROPIC_TASK_TYPES = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n] as const;\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class AnthropicQueuedProvider extends createCloudProviderClass<\n AnthropicModelConfig,\n typeof ANTHROPIC_TASK_TYPES\n>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n taskTypes: ANTHROPIC_TASK_TYPES,\n}) {}\n",
5
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isBrowserLike, loadProviderSdk, resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\n\nexport async function loadAnthropicSDK() {\n if (!_sdk) {\n _sdk = await loadProviderSdk<typeof import(\"@anthropic-ai/sdk\")>(\n \"@anthropic-ai/sdk\",\n \"Anthropic\"\n );\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nexport async function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey = resolveApiKey({\n config,\n envVar: \"ANTHROPIC_API_KEY\",\n providerLabel: \"Anthropic\",\n });\n try {\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser: isBrowserLike(),\n });\n } catch (err) {\n throw new Error(\n `Failed to create Anthropic client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n",
6
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { registerProviderInline } from \"@workglow/ai/provider-utils\";\nimport { AnthropicQueuedProvider } from \"./AnthropicQueuedProvider\";\nimport {\n ANTHROPIC_PREVIEW_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\n\nexport async function registerAnthropicInline(options?: AiProviderRegisterOptions): Promise<void> {\n await registerProviderInline(\n new AnthropicQueuedProvider(ANTHROPIC_TASKS, ANTHROPIC_STREAM_TASKS, ANTHROPIC_PREVIEW_TASKS),\n \"Anthropic\",\n options\n );\n}\n",
7
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\nconst ANTHROPIC_TASK_TYPES = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n] as const;\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class AnthropicQueuedProvider extends createCloudProviderClass<\n AnthropicModelConfig,\n typeof ANTHROPIC_TASK_TYPES\n>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n taskTypes: ANTHROPIC_TASK_TYPES,\n}) {}\n",
8
8
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const ANTHROPIC = \"ANTHROPIC\";\n",
9
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai-provider/common\";\nimport { getClient } from \"./Anthropic_Client\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\n\ninterface AnthropicModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-7\", value: \"claude-opus-4-7\" },\n { label: \"claude-sonnet-4-6\", value: \"claude-sonnet-4-6\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-opus-4-6\", value: \"claude-opus-4-6\" },\n { label: \"claude-sonnet-4-5-20250929\", value: \"claude-sonnet-4-5-20250929\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(credentialKey: string): Promise<AnthropicModelListItem[]> {\n const client = await getClient({\n provider: ANTHROPIC,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: AnthropicModelListItem[] = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: m.display_name, value: m.id, description: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: AnthropicModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n let models: AnthropicModelListItem[];\n if (!input.credential_key) {\n models = ANTHROPIC_FALLBACK;\n } else {\n models = await listAnthropicModels(input.credential_key);\n }\n models = filterLabeledModelsByQuery(models, input.query);\n return { results: mapModelList(models) };\n};\n",
9
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai/provider-utils\";\nimport { getClient } from \"./Anthropic_Client\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\n\ninterface AnthropicModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-7\", value: \"claude-opus-4-7\" },\n { label: \"claude-sonnet-4-6\", value: \"claude-sonnet-4-6\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-opus-4-6\", value: \"claude-opus-4-6\" },\n { label: \"claude-sonnet-4-5-20250929\", value: \"claude-sonnet-4-5-20250929\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(credentialKey: string): Promise<AnthropicModelListItem[]> {\n const client = await getClient({\n provider: ANTHROPIC,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: AnthropicModelListItem[] = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: m.display_name, value: m.id, description: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: AnthropicModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n let models: AnthropicModelListItem[];\n if (!input.credential_key) {\n models = ANTHROPIC_FALLBACK;\n } else {\n models = await listAnthropicModels(input.credential_key);\n }\n models = filterLabeledModelsByQuery(models, input.query);\n return { results: mapModelList(models) };\n};\n",
10
10
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n ChatMessage,\n ToolCall,\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n ToolCalls,\n ToolDefinition,\n} from \"@workglow/ai\";\nimport { buildToolDescription, filterValidToolCalls } from \"@workglow/ai/worker\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { parsePartialJson } from \"@workglow/util/worker\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport function buildAnthropicMessages(\n messages: ReadonlyArray<ChatMessage> | undefined,\n prompt: unknown\n): any[] {\n if (!messages || messages.length === 0) {\n return [{ role: \"user\", content: prompt }];\n }\n const out: any[] = [];\n for (const msg of messages) {\n if (msg.role === \"user\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: b.mimeType, data: b.data },\n };\n }\n return b;\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"assistant\") {\n const blocks = msg.content.map((b) => {\n if (b.type === \"text\") return { type: \"text\", text: b.text };\n if (b.type === \"tool_use\") {\n return { type: \"tool_use\", id: b.id, name: b.name, input: b.input };\n }\n return b;\n });\n out.push({ role: \"assistant\", content: blocks });\n } else if (msg.role === \"tool\") {\n const blocks = msg.content\n .filter(\n (b): b is Extract<ChatMessage[\"content\"][number], { type: \"tool_result\" }> =>\n b.type === \"tool_result\"\n )\n .map((b) => {\n const content = b.content.map((inner) => {\n if (inner.type === \"text\") return { type: \"text\", text: inner.text };\n if (inner.type === \"image\") {\n return {\n type: \"image\",\n source: { type: \"base64\", media_type: inner.mimeType, data: inner.data },\n };\n }\n return inner;\n });\n return {\n type: \"tool_result\",\n tool_use_id: b.tool_use_id,\n content,\n ...(b.is_error ? { is_error: true } : {}),\n };\n });\n out.push({ role: \"user\", content: blocks });\n } else if (msg.role === \"system\") {\n // System prompts are handled separately via params.system; skip here.\n continue;\n }\n }\n return out;\n}\n\nfunction mapAnthropicToolChoice(\n toolChoice: string | undefined\n): { type: \"auto\" } | { type: \"any\" } | { type: \"tool\"; name: string } | undefined {\n if (!toolChoice || toolChoice === \"auto\") return { type: \"auto\" };\n if (toolChoice === \"none\") return undefined;\n if (toolChoice === \"required\") return { type: \"any\" };\n return { type: \"tool\", name: toolChoice };\n}\n\nexport const Anthropic_ToolCalling: AiProviderRunFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal, _outputSchema, sessionId) => {\n update_progress(0, \"Starting Anthropic tool calling\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n if (sessionId) {\n // Add cache_control breakpoints for Anthropic prompt caching\n if (params.system) {\n params.system = [\n {\n type: \"text\",\n text: params.system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n if (params.tools && params.tools.length > 0) {\n const lastIdx = params.tools.length - 1;\n params.tools[lastIdx] = {\n ...params.tools[lastIdx],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const response = await client.messages.create(params, { signal });\n\n const text = response.content\n .filter((b: any) => b.type === \"text\")\n .map((b: any) => b.text)\n .join(\"\");\n\n const toolCalls: ToolCalls = [];\n response.content\n .filter((b: any) => b.type === \"tool_use\")\n .forEach((b: any) => {\n toolCalls.push({\n id: b.id as string,\n name: b.name as string,\n input: (b.input as Record<string, unknown>) ?? {},\n });\n });\n\n update_progress(100, \"Completed Anthropic tool calling\");\n return { text, toolCalls: filterValidToolCalls(toolCalls, input.tools) };\n};\n\nexport const Anthropic_ToolCalling_Stream: AiProviderStreamFn<\n ToolCallingTaskInput,\n ToolCallingTaskOutput,\n AnthropicModelConfig\n> = async function* (\n input,\n model,\n signal,\n _outputSchema,\n sessionId\n): AsyncIterable<StreamEvent<ToolCallingTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const tools = input.tools.map((t: ToolDefinition) => ({\n name: t.name,\n description: buildToolDescription(t),\n input_schema: t.inputSchema as any,\n }));\n\n const toolChoice = mapAnthropicToolChoice(input.toolChoice);\n\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n\n const params: any = {\n model: modelName,\n messages,\n max_tokens: getMaxTokens(input, model),\n temperature: input.temperature,\n };\n\n if (input.systemPrompt) {\n params.system = input.systemPrompt;\n }\n\n if (toolChoice !== undefined) {\n params.tools = tools;\n params.tool_choice = toolChoice;\n }\n\n if (sessionId) {\n // Add cache_control breakpoints for Anthropic prompt caching\n if (params.system) {\n params.system = [\n {\n type: \"text\",\n text: params.system,\n cache_control: { type: \"ephemeral\" },\n },\n ];\n }\n if (params.tools && params.tools.length > 0) {\n const lastIdx = params.tools.length - 1;\n params.tools[lastIdx] = {\n ...params.tools[lastIdx],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n\n const stream = client.messages.stream(params, { signal });\n\n const blockMeta = new Map<number, { type: string; id?: string; name?: string; json: string }>();\n /** Keyed by Anthropic content block index — avoids collisions when `id` is missing during early deltas. */\n const toolCallsByBlockIndex = new Map<number, ToolCall>();\n\n const toolCallsInStreamOrder = (): ToolCall[] =>\n [...toolCallsByBlockIndex.entries()].sort((a, b) => a[0] - b[0]).map(([, tc]) => tc);\n\n for await (const event of stream) {\n if (event.type === \"content_block_start\") {\n const block = event.content_block;\n const index = event.index as number;\n if (block.type === \"tool_use\") {\n blockMeta.set(index, {\n type: \"tool_use\",\n id: block.id,\n name: block.name,\n json: \"\",\n });\n } else if (block.type === \"text\") {\n blockMeta.set(index, { type: \"text\", json: \"\" });\n }\n } else if (event.type === \"content_block_delta\") {\n const index = event.index as number;\n const delta = event.delta as any;\n if (delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: delta.text };\n } else if (delta.type === \"input_json_delta\") {\n const meta = blockMeta.get(index);\n if (meta) {\n meta.json += delta.partial_json;\n let parsedInput: Record<string, unknown>;\n try {\n parsedInput = JSON.parse(meta.json);\n } catch {\n const partial = parsePartialJson(meta.json);\n parsedInput = (partial as Record<string, unknown>) ?? {};\n }\n toolCallsByBlockIndex.set(index, {\n id: meta.id ?? \"\",\n name: meta.name ?? \"\",\n input: parsedInput,\n });\n yield {\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: toolCallsInStreamOrder(),\n };\n }\n }\n } else if (event.type === \"content_block_stop\") {\n const index = event.index as number;\n const meta = blockMeta.get(index);\n if (meta?.type === \"tool_use\") {\n let finalInput: Record<string, unknown>;\n try {\n finalInput = JSON.parse(meta.json);\n } catch {\n finalInput = (parsePartialJson(meta.json) as Record<string, unknown>) ?? {};\n }\n const id = meta.id ?? \"\";\n toolCallsByBlockIndex.set(index, { id, name: meta.name ?? \"\", input: finalInput });\n yield {\n type: \"object-delta\",\n port: \"toolCalls\",\n objectDelta: toolCallsInStreamOrder(),\n };\n }\n blockMeta.delete(index);\n }\n }\n\n yield { type: \"finish\", data: { text: \"\", toolCalls: [] } as ToolCallingTaskOutput };\n};\n",
11
11
  "/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiChatProviderInput,\n AiChatProviderOutput,\n AiProviderRunFn,\n AiProviderStreamFn,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport { buildAnthropicMessages } from \"./Anthropic_ToolCalling\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nfunction buildParams(\n input: AiChatProviderInput,\n model: AnthropicModelConfig | undefined,\n sessionId: string | undefined\n): Record<string, unknown> {\n const messages = buildAnthropicMessages(input.messages, input.prompt);\n const params: Record<string, unknown> = {\n model: getModelName(model),\n messages,\n max_tokens: getMaxTokens({ maxTokens: input.maxTokens } as any, model),\n };\n if (input.temperature !== undefined) params.temperature = input.temperature;\n if (input.systemPrompt) {\n params.system = sessionId\n ? [\n {\n type: \"text\",\n text: input.systemPrompt,\n cache_control: { type: \"ephemeral\" },\n },\n ]\n : input.systemPrompt;\n }\n if (sessionId && messages.length > 0) {\n const last = messages[messages.length - 1] as { content: unknown };\n if (Array.isArray(last.content) && last.content.length > 0) {\n const blocks = last.content as Array<Record<string, unknown>>;\n blocks[blocks.length - 1] = {\n ...blocks[blocks.length - 1],\n cache_control: { type: \"ephemeral\" },\n };\n }\n }\n return params;\n}\n\nexport const Anthropic_Chat: AiProviderRunFn<\n AiChatProviderInput,\n AiChatProviderOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal, _outputSchema, sessionId) => {\n update_progress(0, \"Anthropic chat turn\");\n const client = await getClient(model);\n const params = buildParams(input, model, sessionId);\n const response = await (client.messages.create as any)(params, { signal });\n const text = ((response as any).content as Array<Record<string, unknown>>)\n .filter((b) => b.type === \"text\")\n .map((b) => b.text as string)\n .join(\"\");\n update_progress(100, \"Turn complete\");\n return { text };\n};\n\nexport const Anthropic_Chat_Stream: AiProviderStreamFn<\n AiChatProviderInput,\n AiChatProviderOutput,\n AnthropicModelConfig\n> = async function* (\n input,\n model,\n signal,\n _outputSchema,\n sessionId\n): AsyncIterable<StreamEvent<AiChatProviderOutput>> {\n const client = await getClient(model);\n const params = buildParams(input, model, sessionId);\n const stream = (client.messages.stream as any)(params, { signal });\n for await (const event of stream) {\n const e = event as { type: string; delta?: { type?: string; text?: string } };\n if (e.type === \"content_block_delta\" && e.delta?.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: e.delta.text ?? \"\" };\n }\n }\n yield { type: \"finish\", data: {} as AiChatProviderOutput };\n};\n",
12
12
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderPreviewRunFn,\n AiProviderRunFn,\n CountTokensTaskInput,\n CountTokensTaskOutput,\n} from \"@workglow/ai\";\nimport { getClient, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_CountTokens: AiProviderRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, model, onProgress, signal) => {\n const client = await getClient(model);\n const result = await client.messages.countTokens({\n model: getModelName(model),\n messages: [{ role: \"user\", content: input.text }],\n });\n return { count: result.input_tokens };\n};\n\nexport const Anthropic_CountTokens_Preview: AiProviderPreviewRunFn<\n CountTokensTaskInput,\n CountTokensTaskOutput,\n AnthropicModelConfig\n> = async (input, _model) => {\n return { count: Math.ceil(input.text.length / 4) };\n};\n",
@@ -16,10 +16,10 @@
16
16
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_TextRewriter: AiProviderRunFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Anthropic text rewriting\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: input.prompt,\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text rewriting\");\n return { text };\n};\n\nexport const Anthropic_TextRewriter_Stream: AiProviderStreamFn<\n TextRewriterTaskInput,\n TextRewriterTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextRewriterTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: input.prompt,\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextRewriterTaskOutput };\n};\n",
17
17
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n AiProviderStreamFn,\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n} from \"@workglow/ai\";\nimport type { StreamEvent } from \"@workglow/task-graph\";\nimport { getClient, getMaxTokens, getModelName } from \"./Anthropic_Client\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nexport const Anthropic_TextSummary: AiProviderRunFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async (input, model, update_progress, signal) => {\n update_progress(0, \"Starting Anthropic text summarization\");\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const response = await client.messages.create(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n const text = response.content[0]?.type === \"text\" ? response.content[0].text : \"\";\n\n update_progress(100, \"Completed Anthropic text summarization\");\n return { text };\n};\n\nexport const Anthropic_TextSummary_Stream: AiProviderStreamFn<\n TextSummaryTaskInput,\n TextSummaryTaskOutput,\n AnthropicModelConfig\n> = async function* (input, model, signal): AsyncIterable<StreamEvent<TextSummaryTaskOutput>> {\n const client = await getClient(model);\n const modelName = getModelName(model);\n\n const stream = client.messages.stream(\n {\n model: modelName,\n system: \"Summarize the following text concisely.\",\n messages: [{ role: \"user\", content: input.text }],\n max_tokens: getMaxTokens({}, model),\n },\n { signal }\n );\n\n for await (const event of stream) {\n if (event.type === \"content_block_delta\" && event.delta.type === \"text_delta\") {\n yield { type: \"text-delta\", port: \"text\", textDelta: event.delta.text };\n }\n }\n yield { type: \"finish\", data: {} as TextSummaryTaskOutput };\n};\n",
18
18
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderPreviewRunFn, AiProviderRunFn, AiProviderStreamFn } from \"@workglow/ai\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\nimport { Anthropic_ModelSearch } from \"./Anthropic_ModelSearch\";\n\nexport { getClient, getMaxTokens, getModelName, loadAnthropicSDK } from \"./Anthropic_Client\";\n\nimport { Anthropic_Chat, Anthropic_Chat_Stream } from \"./Anthropic_Chat\";\nimport { Anthropic_CountTokens, Anthropic_CountTokens_Preview } from \"./Anthropic_CountTokens\";\nimport { Anthropic_ModelInfo } from \"./Anthropic_ModelInfo\";\nimport {\n Anthropic_StructuredGeneration,\n Anthropic_StructuredGeneration_Stream,\n} from \"./Anthropic_StructuredGeneration\";\nimport {\n Anthropic_TextGeneration,\n Anthropic_TextGeneration_Stream,\n} from \"./Anthropic_TextGeneration\";\nimport { Anthropic_TextRewriter, Anthropic_TextRewriter_Stream } from \"./Anthropic_TextRewriter\";\nimport { Anthropic_TextSummary, Anthropic_TextSummary_Stream } from \"./Anthropic_TextSummary\";\nimport { Anthropic_ToolCalling, Anthropic_ToolCalling_Stream } from \"./Anthropic_ToolCalling\";\n\nexport const ANTHROPIC_TASKS: Record<string, AiProviderRunFn<any, any, AnthropicModelConfig>> = {\n AiChatTask: Anthropic_Chat,\n CountTokensTask: Anthropic_CountTokens,\n ModelInfoTask: Anthropic_ModelInfo,\n TextGenerationTask: Anthropic_TextGeneration,\n TextRewriterTask: Anthropic_TextRewriter,\n TextSummaryTask: Anthropic_TextSummary,\n StructuredGenerationTask: Anthropic_StructuredGeneration,\n ToolCallingTask: Anthropic_ToolCalling,\n ModelSearchTask: Anthropic_ModelSearch,\n};\n\nexport const ANTHROPIC_STREAM_TASKS: Record<\n string,\n AiProviderStreamFn<any, any, AnthropicModelConfig>\n> = {\n AiChatTask: Anthropic_Chat_Stream,\n TextGenerationTask: Anthropic_TextGeneration_Stream,\n TextRewriterTask: Anthropic_TextRewriter_Stream,\n TextSummaryTask: Anthropic_TextSummary_Stream,\n StructuredGenerationTask: Anthropic_StructuredGeneration_Stream,\n ToolCallingTask: Anthropic_ToolCalling_Stream,\n};\n\nexport const ANTHROPIC_PREVIEW_TASKS: Record<\n string,\n AiProviderPreviewRunFn<any, any, AnthropicModelConfig>\n> = {\n CountTokensTask: Anthropic_CountTokens_Preview,\n};\n",
19
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { registerProviderWorker } from \"@workglow/ai-provider/common\";\nimport {\n ANTHROPIC_PREVIEW_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\nimport { AnthropicProvider } from \"./AnthropicProvider\";\n\nexport async function registerAnthropicWorker(): Promise<void> {\n await registerProviderWorker(\n (ws) =>\n new AnthropicProvider(\n ANTHROPIC_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_PREVIEW_TASKS\n ).registerOnWorkerServer(ws),\n \"Anthropic\"\n );\n}\n",
20
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai/worker\";\nimport { createCloudProviderClass } from \"@workglow/ai-provider/common\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\nconst ANTHROPIC_TASK_TYPES = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n] as const;\n\n/**\n * Worker-server registration for Anthropic cloud models. Imports `AiProvider`\n * from `@workglow/ai/worker` so the SDK is only loaded where actually needed.\n *\n * Note: Anthropic does not offer an embeddings API.\n */\nexport class AnthropicProvider extends createCloudProviderClass<\n AnthropicModelConfig,\n typeof ANTHROPIC_TASK_TYPES\n>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n taskTypes: ANTHROPIC_TASK_TYPES,\n}) {}\n"
19
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { registerProviderWorker } from \"@workglow/ai/provider-utils\";\nimport {\n ANTHROPIC_PREVIEW_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_TASKS,\n} from \"./common/Anthropic_JobRunFns\";\nimport { AnthropicProvider } from \"./AnthropicProvider\";\n\nexport async function registerAnthropicWorker(): Promise<void> {\n await registerProviderWorker(\n (ws) =>\n new AnthropicProvider(\n ANTHROPIC_TASKS,\n ANTHROPIC_STREAM_TASKS,\n ANTHROPIC_PREVIEW_TASKS\n ).registerOnWorkerServer(ws),\n \"Anthropic\"\n );\n}\n",
20
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai/worker\";\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\nconst ANTHROPIC_TASK_TYPES = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n] as const;\n\n/**\n * Worker-server registration for Anthropic cloud models. Imports `AiProvider`\n * from `@workglow/ai/worker` so the SDK is only loaded where actually needed.\n *\n * Note: Anthropic does not offer an embeddings API.\n */\nexport class AnthropicProvider extends createCloudProviderClass<\n AnthropicModelConfig,\n typeof ANTHROPIC_TASK_TYPES\n>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n taskTypes: ANTHROPIC_TASK_TYPES,\n}) {}\n"
21
21
  ],
22
22
  "mappings": "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",
23
- "debugId": "18682B4C1AE048F964756E2164756E21",
23
+ "debugId": "A28580EF830A88A264756E2164756E21",
24
24
  "names": []
25
25
  }
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./ai-provider/runtime";
7
- //# sourceMappingURL=ai-provider-runtime.d.ts.map
6
+ export * from "./ai/index";
7
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../src/ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
- // src/ai-provider/common/Anthropic_Constants.ts
1
+ // src/ai/common/Anthropic_Constants.ts
2
2
  var ANTHROPIC = "ANTHROPIC";
3
3
 
4
- // src/ai-provider/common/Anthropic_ModelSchema.ts
4
+ // src/ai/common/Anthropic_ModelSchema.ts
5
5
  import { ModelConfigSchema, ModelRecordSchema } from "@workglow/ai/worker";
6
6
  var AnthropicModelSchema = {
7
7
  type: "object",
@@ -61,11 +61,11 @@ var AnthropicModelConfigSchema = {
61
61
  additionalProperties: false
62
62
  };
63
63
 
64
- // src/ai-provider/common/Anthropic_ModelSearch.ts
65
- import { filterLabeledModelsByQuery } from "@workglow/ai-provider/common";
64
+ // src/ai/common/Anthropic_ModelSearch.ts
65
+ import { filterLabeledModelsByQuery } from "@workglow/ai/provider-utils";
66
66
 
67
- // src/ai-provider/common/Anthropic_Client.ts
68
- import { isBrowserLike, loadProviderSdk, resolveApiKey } from "@workglow/ai-provider/common";
67
+ // src/ai/common/Anthropic_Client.ts
68
+ import { isBrowserLike, loadProviderSdk, resolveApiKey } from "@workglow/ai/provider-utils";
69
69
  var _sdk;
70
70
  async function loadAnthropicSDK() {
71
71
  if (!_sdk) {
@@ -102,7 +102,7 @@ function getMaxTokens(input, model) {
102
102
  return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;
103
103
  }
104
104
 
105
- // src/ai-provider/common/Anthropic_ModelSearch.ts
105
+ // src/ai/common/Anthropic_ModelSearch.ts
106
106
  var ANTHROPIC_FALLBACK = [
107
107
  { label: "claude-opus-4-7", value: "claude-opus-4-7" },
108
108
  { label: "claude-sonnet-4-6", value: "claude-sonnet-4-6" },
@@ -151,12 +151,12 @@ var Anthropic_ModelSearch = async (input) => {
151
151
  return { results: mapModelList(models) };
152
152
  };
153
153
 
154
- // src/ai-provider/registerAnthropic.ts
155
- import { registerProviderWithWorker } from "@workglow/ai-provider/common";
154
+ // src/ai/registerAnthropic.ts
155
+ import { registerProviderWithWorker } from "@workglow/ai/provider-utils";
156
156
 
157
- // src/ai-provider/AnthropicQueuedProvider.ts
157
+ // src/ai/AnthropicQueuedProvider.ts
158
158
  import { AiProvider } from "@workglow/ai";
159
- import { createCloudProviderClass } from "@workglow/ai-provider/common";
159
+ import { createCloudProviderClass } from "@workglow/ai/provider-utils";
160
160
  var ANTHROPIC_TASK_TYPES = [
161
161
  "CountTokensTask",
162
162
  "ModelInfoTask",
@@ -175,7 +175,7 @@ class AnthropicQueuedProvider extends createCloudProviderClass(AiProvider, {
175
175
  }) {
176
176
  }
177
177
 
178
- // src/ai-provider/registerAnthropic.ts
178
+ // src/ai/registerAnthropic.ts
179
179
  async function registerAnthropic(options) {
180
180
  await registerProviderWithWorker(new AnthropicQueuedProvider, "Anthropic", options);
181
181
  }
@@ -188,4 +188,4 @@ export {
188
188
  ANTHROPIC
189
189
  };
190
190
 
191
- //# debugId=6EB3BF14B2149AC264756E2164756E21
191
+ //# debugId=B50DB2717611A3AF64756E2164756E21
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/ai-provider/common/Anthropic_Constants.ts", "../src/ai-provider/common/Anthropic_ModelSchema.ts", "../src/ai-provider/common/Anthropic_ModelSearch.ts", "../src/ai-provider/common/Anthropic_Client.ts", "../src/ai-provider/registerAnthropic.ts", "../src/ai-provider/AnthropicQueuedProvider.ts"],
3
+ "sources": ["../src/ai/common/Anthropic_Constants.ts", "../src/ai/common/Anthropic_ModelSchema.ts", "../src/ai/common/Anthropic_ModelSearch.ts", "../src/ai/common/Anthropic_Client.ts", "../src/ai/registerAnthropic.ts", "../src/ai/AnthropicQueuedProvider.ts"],
4
4
  "sourcesContent": [
5
5
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const ANTHROPIC = \"ANTHROPIC\";\n",
6
6
  "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ModelConfigSchema, ModelRecordSchema } from \"@workglow/ai/worker\";\nimport { DataPortSchemaObject, FromSchema } from \"@workglow/util/worker\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\n\nexport const AnthropicModelSchema = {\n type: \"object\",\n properties: {\n provider: {\n const: ANTHROPIC,\n description: \"Discriminator: Anthropic cloud provider.\",\n },\n provider_config: {\n type: \"object\",\n description: \"Anthropic-specific configuration.\",\n properties: {\n model_name: {\n type: \"string\",\n description:\n \"The Anthropic model identifier (e.g., 'claude-sonnet-4-20250514', 'claude-3-5-haiku-20241022').\",\n },\n credential_key: {\n type: \"string\",\n format: \"credential\",\n description: \"Key to look up in the credential store for the API key.\",\n \"x-ui-hidden\": true,\n },\n base_url: {\n type: \"string\",\n description: \"Base URL for the Anthropic API (optional).\",\n },\n max_tokens: {\n type: \"integer\",\n description: \"Default max tokens for responses. Anthropic requires this parameter.\",\n default: 1024,\n minimum: 1,\n },\n },\n required: [\"model_name\"],\n additionalProperties: false,\n },\n },\n required: [\"provider\", \"provider_config\"],\n additionalProperties: true,\n} as const satisfies DataPortSchemaObject;\n\nexport const AnthropicModelRecordSchema = {\n type: \"object\",\n properties: {\n ...ModelRecordSchema.properties,\n ...AnthropicModelSchema.properties,\n },\n required: [...ModelRecordSchema.required, ...AnthropicModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type AnthropicModelRecord = FromSchema<typeof AnthropicModelRecordSchema>;\n\nexport const AnthropicModelConfigSchema = {\n type: \"object\",\n properties: {\n ...ModelConfigSchema.properties,\n ...AnthropicModelSchema.properties,\n },\n required: [...ModelConfigSchema.required, ...AnthropicModelSchema.required],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport type AnthropicModelConfig = FromSchema<typeof AnthropicModelConfigSchema>;\n",
7
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai-provider/common\";\nimport { getClient } from \"./Anthropic_Client\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\n\ninterface AnthropicModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-7\", value: \"claude-opus-4-7\" },\n { label: \"claude-sonnet-4-6\", value: \"claude-sonnet-4-6\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-opus-4-6\", value: \"claude-opus-4-6\" },\n { label: \"claude-sonnet-4-5-20250929\", value: \"claude-sonnet-4-5-20250929\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(credentialKey: string): Promise<AnthropicModelListItem[]> {\n const client = await getClient({\n provider: ANTHROPIC,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: AnthropicModelListItem[] = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: m.display_name, value: m.id, description: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: AnthropicModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n let models: AnthropicModelListItem[];\n if (!input.credential_key) {\n models = ANTHROPIC_FALLBACK;\n } else {\n models = await listAnthropicModels(input.credential_key);\n }\n models = filterLabeledModelsByQuery(models, input.query);\n return { results: mapModelList(models) };\n};\n",
8
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isBrowserLike, loadProviderSdk, resolveApiKey } from \"@workglow/ai-provider/common\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\n\nexport async function loadAnthropicSDK() {\n if (!_sdk) {\n _sdk = await loadProviderSdk<typeof import(\"@anthropic-ai/sdk\")>(\n \"@anthropic-ai/sdk\",\n \"Anthropic\"\n );\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nexport async function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey = resolveApiKey({\n config,\n envVar: \"ANTHROPIC_API_KEY\",\n providerLabel: \"Anthropic\",\n });\n try {\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser: isBrowserLike(),\n });\n } catch (err) {\n throw new Error(\n `Failed to create Anthropic client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n",
9
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { registerProviderWithWorker } from \"@workglow/ai-provider/common\";\nimport { AnthropicQueuedProvider } from \"./AnthropicQueuedProvider\";\n\nexport async function registerAnthropic(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await registerProviderWithWorker(new AnthropicQueuedProvider(), \"Anthropic\", options);\n}\n",
10
- "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport { createCloudProviderClass } from \"@workglow/ai-provider/common\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\nconst ANTHROPIC_TASK_TYPES = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n] as const;\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class AnthropicQueuedProvider extends createCloudProviderClass<\n AnthropicModelConfig,\n typeof ANTHROPIC_TASK_TYPES\n>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n taskTypes: ANTHROPIC_TASK_TYPES,\n}) {}\n"
7
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type {\n AiProviderRunFn,\n ModelSearchResultItem,\n ModelSearchTaskInput,\n ModelSearchTaskOutput,\n} from \"@workglow/ai\";\nimport { filterLabeledModelsByQuery } from \"@workglow/ai/provider-utils\";\nimport { getClient } from \"./Anthropic_Client\";\nimport { ANTHROPIC } from \"./Anthropic_Constants\";\n\ninterface AnthropicModelListItem {\n readonly label: string;\n readonly value: string;\n readonly description?: string;\n}\n\nconst ANTHROPIC_FALLBACK: Array<{ label: string; value: string }> = [\n { label: \"claude-opus-4-7\", value: \"claude-opus-4-7\" },\n { label: \"claude-sonnet-4-6\", value: \"claude-sonnet-4-6\" },\n { label: \"claude-haiku-4-5-20251001\", value: \"claude-haiku-4-5-20251001\" },\n { label: \"claude-opus-4-6\", value: \"claude-opus-4-6\" },\n { label: \"claude-sonnet-4-5-20250929\", value: \"claude-sonnet-4-5-20250929\" },\n { label: \"claude-3-5-sonnet-20241022\", value: \"claude-3-5-sonnet-20241022\" },\n { label: \"claude-3-5-haiku-20241022\", value: \"claude-3-5-haiku-20241022\" },\n];\n\nasync function listAnthropicModels(credentialKey: string): Promise<AnthropicModelListItem[]> {\n const client = await getClient({\n provider: ANTHROPIC,\n provider_config: { model_name: \"\", credential_key: credentialKey },\n });\n const models: AnthropicModelListItem[] = [];\n for await (const m of client.beta.models.list()) {\n models.push({ label: m.display_name, value: m.id, description: m.id });\n }\n return models;\n}\n\nfunction mapModelList(models: AnthropicModelListItem[]): ModelSearchResultItem[] {\n return models.map((m) => ({\n id: m.value,\n label: m.label,\n description: m.description ?? \"\",\n record: {\n model_id: m.value,\n provider: ANTHROPIC,\n title: m.value,\n description: \"\",\n tasks: [],\n provider_config: { model_name: m.value },\n metadata: {},\n },\n raw: m,\n }));\n}\n\nexport const Anthropic_ModelSearch: AiProviderRunFn<\n ModelSearchTaskInput,\n ModelSearchTaskOutput\n> = async (input) => {\n let models: AnthropicModelListItem[];\n if (!input.credential_key) {\n models = ANTHROPIC_FALLBACK;\n } else {\n models = await listAnthropicModels(input.credential_key);\n }\n models = filterLabeledModelsByQuery(models, input.query);\n return { results: mapModelList(models) };\n};\n",
8
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isBrowserLike, loadProviderSdk, resolveApiKey } from \"@workglow/ai/provider-utils\";\nimport type { AnthropicModelConfig } from \"./Anthropic_ModelSchema\";\n\nlet _sdk: typeof import(\"@anthropic-ai/sdk\") | undefined;\n\nexport async function loadAnthropicSDK() {\n if (!_sdk) {\n _sdk = await loadProviderSdk<typeof import(\"@anthropic-ai/sdk\")>(\n \"@anthropic-ai/sdk\",\n \"Anthropic\"\n );\n }\n return _sdk.default;\n}\n\ninterface ResolvedProviderConfig {\n readonly credential_key?: string;\n readonly api_key?: string;\n readonly model_name?: string;\n readonly base_url?: string;\n readonly max_tokens?: number;\n}\n\nexport async function getClient(model: AnthropicModelConfig | undefined) {\n const Anthropic = await loadAnthropicSDK();\n const config = model?.provider_config as ResolvedProviderConfig | undefined;\n const apiKey = resolveApiKey({\n config,\n envVar: \"ANTHROPIC_API_KEY\",\n providerLabel: \"Anthropic\",\n });\n try {\n return new Anthropic({\n apiKey,\n baseURL: config?.base_url || undefined,\n dangerouslyAllowBrowser: isBrowserLike(),\n });\n } catch (err) {\n throw new Error(\n `Failed to create Anthropic client: ${err instanceof Error ? err.message : \"unknown error\"}`\n );\n }\n}\n\nexport function getModelName(model: AnthropicModelConfig | undefined): string {\n const name = model?.provider_config?.model_name;\n if (!name) {\n throw new Error(\"Missing model name in provider_config.model_name.\");\n }\n return name;\n}\n\nexport function getMaxTokens(\n input: { maxTokens?: number },\n model: AnthropicModelConfig | undefined\n): number {\n return input.maxTokens ?? model?.provider_config?.max_tokens ?? 1024;\n}\n",
9
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AiProviderRegisterOptions } from \"@workglow/ai\";\nimport { registerProviderWithWorker } from \"@workglow/ai/provider-utils\";\nimport { AnthropicQueuedProvider } from \"./AnthropicQueuedProvider\";\n\nexport async function registerAnthropic(\n options: AiProviderRegisterOptions & {\n worker: Worker | (() => Worker);\n }\n): Promise<void> {\n await registerProviderWithWorker(new AnthropicQueuedProvider(), \"Anthropic\", options);\n}\n",
10
+ "/**\n * @license\n * Copyright 2025 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { AiProvider } from \"@workglow/ai\";\nimport { createCloudProviderClass } from \"@workglow/ai/provider-utils\";\nimport { ANTHROPIC } from \"./common/Anthropic_Constants\";\nimport type { AnthropicModelConfig } from \"./common/Anthropic_ModelSchema\";\n\nconst ANTHROPIC_TASK_TYPES = [\n \"CountTokensTask\",\n \"ModelInfoTask\",\n \"TextGenerationTask\",\n \"TextRewriterTask\",\n \"TextSummaryTask\",\n \"StructuredGenerationTask\",\n \"ToolCallingTask\",\n \"ModelSearchTask\",\n] as const;\n\n/** Main-thread registration (inline or worker-backed). No queue — uses direct execution. */\nexport class AnthropicQueuedProvider extends createCloudProviderClass<\n AnthropicModelConfig,\n typeof ANTHROPIC_TASK_TYPES\n>(AiProvider, {\n name: ANTHROPIC,\n displayName: \"Anthropic\",\n taskTypes: ANTHROPIC_TASK_TYPES,\n}) {}\n"
11
11
  ],
12
12
  "mappings": ";AAMO,IAAM,YAAY;;;ACAzB;AAIO,IAAM,uBAAuB;AAAA,EAClC,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,aAAa;AAAA,MACb,YAAY;AAAA,QACV,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aACE;AAAA,QACJ;AAAA,QACA,gBAAgB;AAAA,UACd,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,eAAe;AAAA,QACjB;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,aAAa;AAAA,QACf;AAAA,QACA,YAAY;AAAA,UACV,MAAM;AAAA,UACN,aAAa;AAAA,UACb,SAAS;AAAA,UACT,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,UAAU,CAAC,YAAY;AAAA,MACvB,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EACA,UAAU,CAAC,YAAY,iBAAiB;AAAA,EACxC,sBAAsB;AACxB;AAEO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,qBAAqB;AAAA,EAC1B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,qBAAqB,QAAQ;AAAA,EAC1E,sBAAsB;AACxB;AAIO,IAAM,6BAA6B;AAAA,EACxC,MAAM;AAAA,EACN,YAAY;AAAA,OACP,kBAAkB;AAAA,OAClB,qBAAqB;AAAA,EAC1B;AAAA,EACA,UAAU,CAAC,GAAG,kBAAkB,UAAU,GAAG,qBAAqB,QAAQ;AAAA,EAC1E,sBAAsB;AACxB;;;AC3DA;;;ACNA;AAGA,IAAI;AAEJ,eAAsB,gBAAgB,GAAG;AAAA,EACvC,IAAI,CAAC,MAAM;AAAA,IACT,OAAO,MAAM,gBACX,qBACA,WACF;AAAA,EACF;AAAA,EACA,OAAO,KAAK;AAAA;AAWd,eAAsB,SAAS,CAAC,OAAyC;AAAA,EACvE,MAAM,YAAY,MAAM,iBAAiB;AAAA,EACzC,MAAM,SAAS,OAAO;AAAA,EACtB,MAAM,SAAS,cAAc;AAAA,IAC3B;AAAA,IACA,QAAQ;AAAA,IACR,eAAe;AAAA,EACjB,CAAC;AAAA,EACD,IAAI;AAAA,IACF,OAAO,IAAI,UAAU;AAAA,MACnB;AAAA,MACA,SAAS,QAAQ,YAAY;AAAA,MAC7B,yBAAyB,cAAc;AAAA,IACzC,CAAC;AAAA,IACD,OAAO,KAAK;AAAA,IACZ,MAAM,IAAI,MACR,sCAAsC,eAAe,QAAQ,IAAI,UAAU,iBAC7E;AAAA;AAAA;AAIG,SAAS,YAAY,CAAC,OAAiD;AAAA,EAC5E,MAAM,OAAO,OAAO,iBAAiB;AAAA,EACrC,IAAI,CAAC,MAAM;AAAA,IACT,MAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,YAAY,CAC1B,OACA,OACQ;AAAA,EACR,OAAO,MAAM,aAAa,OAAO,iBAAiB,cAAc;AAAA;;;ADxClE,IAAM,qBAA8D;AAAA,EAClE,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,qBAAqB,OAAO,oBAAoB;AAAA,EACzD,EAAE,OAAO,6BAA6B,OAAO,4BAA4B;AAAA,EACzE,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,8BAA8B,OAAO,6BAA6B;AAAA,EAC3E,EAAE,OAAO,8BAA8B,OAAO,6BAA6B;AAAA,EAC3E,EAAE,OAAO,6BAA6B,OAAO,4BAA4B;AAC3E;AAEA,eAAe,mBAAmB,CAAC,eAA0D;AAAA,EAC3F,MAAM,SAAS,MAAM,UAAU;AAAA,IAC7B,UAAU;AAAA,IACV,iBAAiB,EAAE,YAAY,IAAI,gBAAgB,cAAc;AAAA,EACnE,CAAC;AAAA,EACD,MAAM,SAAmC,CAAC;AAAA,EAC1C,iBAAiB,KAAK,OAAO,KAAK,OAAO,KAAK,GAAG;AAAA,IAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,OAAO,EAAE,IAAI,aAAa,EAAE,GAAG,CAAC;AAAA,EACvE;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,YAAY,CAAC,QAA2D;AAAA,EAC/E,OAAO,OAAO,IAAI,CAAC,OAAO;AAAA,IACxB,IAAI,EAAE;AAAA,IACN,OAAO,EAAE;AAAA,IACT,aAAa,EAAE,eAAe;AAAA,IAC9B,QAAQ;AAAA,MACN,UAAU,EAAE;AAAA,MACZ,UAAU;AAAA,MACV,OAAO,EAAE;AAAA,MACT,aAAa;AAAA,MACb,OAAO,CAAC;AAAA,MACR,iBAAiB,EAAE,YAAY,EAAE,MAAM;AAAA,MACvC,UAAU,CAAC;AAAA,IACb;AAAA,IACA,KAAK;AAAA,EACP,EAAE;AAAA;AAGG,IAAM,wBAGT,OAAO,UAAU;AAAA,EACnB,IAAI;AAAA,EACJ,IAAI,CAAC,MAAM,gBAAgB;AAAA,IACzB,SAAS;AAAA,EACX,EAAO;AAAA,IACL,SAAS,MAAM,oBAAoB,MAAM,cAAc;AAAA;AAAA,EAEzD,SAAS,2BAA2B,QAAQ,MAAM,KAAK;AAAA,EACvD,OAAO,EAAE,SAAS,aAAa,MAAM,EAAE;AAAA;;;AElEzC;;;ACDA;AACA;AAIA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAAA;AAGO,MAAM,gCAAgC,yBAG3C,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AACb,CAAC,EAAE;AAAC;;;ADpBJ,eAAsB,iBAAiB,CACrC,SAGe;AAAA,EACf,MAAM,2BAA2B,IAAI,yBAA2B,aAAa,OAAO;AAAA;",
13
- "debugId": "6EB3BF14B2149AC264756E2164756E21",
13
+ "debugId": "B50DB2717611A3AF64756E2164756E21",
14
14
  "names": []
15
15
  }
package/package.json CHANGED
@@ -2,53 +2,49 @@
2
2
  "name": "@workglow/anthropic",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.2.30",
5
+ "version": "0.2.32",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/workglow-dev/workglow.git",
9
9
  "directory": "packages/anthropic"
10
10
  },
11
- "description": "Anthropic Claude provider for @workglow/ai-provider.",
11
+ "description": "Anthropic Claude provider for @workglow/ai.",
12
12
  "scripts": {
13
13
  "watch": "concurrently -c 'auto' 'bun:watch-*'",
14
- "watch-code": "bun build --watch --no-clear-screen --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai-provider.ts ./src/ai-provider-runtime.ts",
14
+ "watch-code": "bun build --watch --no-clear-screen --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai.ts ./src/ai-runtime.ts",
15
15
  "watch-types": "tsc --watch --preserveWatchOutput",
16
16
  "build-package": "concurrently -c 'auto' -n 'code,types' 'bun run build-code' 'bun run build-types'",
17
17
  "build-js": "bun run build-code",
18
18
  "build-clean": "rm -fr dist/* tsconfig.tsbuildinfo",
19
- "build-code": "bun build --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai-provider.ts ./src/ai-provider-runtime.ts",
19
+ "build-code": "bun build --sourcemap=external --packages=external --root ./src --outdir ./dist ./src/ai.ts ./src/ai-runtime.ts",
20
20
  "build-types": "rm -f tsconfig.tsbuildinfo && tsgo",
21
21
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
22
22
  "test": "bun test"
23
23
  },
24
24
  "exports": {
25
- "./ai-provider": {
26
- "types": "./dist/ai-provider.d.ts",
27
- "import": "./dist/ai-provider.js"
25
+ "./ai": {
26
+ "types": "./dist/ai.d.ts",
27
+ "import": "./dist/ai.js"
28
28
  },
29
- "./ai-provider-runtime": {
30
- "types": "./dist/ai-provider-runtime.d.ts",
31
- "import": "./dist/ai-provider-runtime.js"
29
+ "./ai-runtime": {
30
+ "types": "./dist/ai-runtime.d.ts",
31
+ "import": "./dist/ai-runtime.js"
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@anthropic-ai/sdk": "^0.92.0"
35
+ "@anthropic-ai/sdk": "^0.95.1"
36
36
  },
37
37
  "peerDependencies": {
38
- "@workglow/ai": "0.2.30",
39
- "@workglow/ai-provider": "0.2.30",
40
- "@workglow/job-queue": "0.2.30",
41
- "@workglow/storage": "0.2.30",
42
- "@workglow/task-graph": "0.2.30",
43
- "@workglow/util": "0.2.30"
38
+ "@workglow/ai": "0.2.32",
39
+ "@workglow/job-queue": "0.2.32",
40
+ "@workglow/storage": "0.2.32",
41
+ "@workglow/task-graph": "0.2.32",
42
+ "@workglow/util": "0.2.32"
44
43
  },
45
44
  "peerDependenciesMeta": {
46
45
  "@workglow/ai": {
47
46
  "optional": false
48
47
  },
49
- "@workglow/ai-provider": {
50
- "optional": false
51
- },
52
48
  "@workglow/job-queue": {
53
49
  "optional": false
54
50
  },
@@ -63,12 +59,11 @@
63
59
  }
64
60
  },
65
61
  "devDependencies": {
66
- "@workglow/ai": "0.2.30",
67
- "@workglow/ai-provider": "0.2.30",
68
- "@workglow/job-queue": "0.2.30",
69
- "@workglow/storage": "0.2.30",
70
- "@workglow/task-graph": "0.2.30",
71
- "@workglow/util": "0.2.30"
62
+ "@workglow/ai": "0.2.32",
63
+ "@workglow/job-queue": "0.2.32",
64
+ "@workglow/storage": "0.2.32",
65
+ "@workglow/task-graph": "0.2.32",
66
+ "@workglow/util": "0.2.32"
72
67
  },
73
68
  "files": [
74
69
  "dist",
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/AnthropicProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBjD;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,sBAOrC;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnthropicQueuedProvider.d.ts","sourceRoot":"","sources":["../../src/ai-provider/AnthropicQueuedProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgB1C,4FAA4F;AAC5F,qBAAa,uBAAwB,SAAQ,4BAO3C;CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_Chat.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_Chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAsCpE,eAAO,MAAM,cAAc,EAAE,eAAe,CAC1C,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CAYrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,CACpD,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CAkBrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_Client.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_Client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,wBAAsB,gBAAgB,0DAQrC;AAUD,wBAAsB,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,kDAmBtE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAM5E;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7B,KAAK,EAAE,oBAAoB,GAAG,SAAS,GACtC,MAAM,CAER"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_Constants.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_Constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,SAAS,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_CountTokens.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_CountTokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAQrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,sBAAsB,CAChE,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAGrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_JobRunFns.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_JobRunFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAiB7F,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAU3F,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,MAAM,EACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAQnD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,MAAM,EACN,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAGvD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_ModelInfo.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_ModelInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAC/C,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,CAwBrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_ModelSchema.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_ModelSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAwB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,oBAAoB;mBACzB,QAAQ;;iBAEZ,QAAQ;qBACN,KAAK;qBACL,WAAW,EAAE,0CAA0C;;iBAEzD,eAAe;qBACb,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,mCAAmC;qBAChD,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;yBAErG,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,4CAA4C;;yBAE3D,UAAU;6BACR,IAAI,EAAE,SAAS;6BACf,WAAW,EAAE,sEAAsE;6BACnF,OAAO,EAAE,IAAI;6BACb,OAAO,EAAE,CAAC;;;qBAGd,QAAQ;qBACR,oBAAoB;;;;;CAKe,CAAC;AAE1C,eAAO,MAAM,0BAA0B;mBAC/B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAtCV,KAAK;qBACL,WAAW,EAAE,0CAA0C;;;qBAGvD,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,mCAAmC;qBAChD,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;yBAErG,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,4CAA4C;;yBAE3D,UAAU;6BACR,IAAI,EAAE,SAAS;6BACf,WAAW,EAAE,sEAAsE;6BACnF,OAAO,EAAE,IAAI;6BACb,OAAO,EAAE,CAAC;;;qBAGd,QAAQ;qBACR,oBAAoB;;;;;CAee,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,eAAO,MAAM,0BAA0B;mBAC/B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAlDV,KAAK;qBACL,WAAW,EAAE,0CAA0C;;;qBAGvD,IAAI,EAAE,QAAQ;qBACd,WAAW,EAAE,mCAAmC;qBAChD,UAAU;yBACR,UAAU;6BACR,IAAI,EAAE,QAAQ;6BACd,WAAW,EACT,iGAAiG;;yBAErG,cAAc;6BACZ,IAAI,EAAE,QAAQ;6BACd,MAAM,EAAE,YAAY;6BACpB,WAAW,EAAE,yDAAyD;6BACtE,aAAa;;yBAEf,QAAQ;6BACN,IAAI,EAAE,QAAQ;6BACd,WAAW,EAAE,4CAA4C;;yBAE3D,UAAU;6BACR,IAAI,EAAE,SAAS;6BACf,WAAW,EAAE,sEAAsE;6BACnF,OAAO,EAAE,IAAI;6BACb,OAAO,EAAE,CAAC;;;qBAGd,QAAQ;qBACR,oBAAoB;;;;;CA2Be,CAAC;AAE1C,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_ModelSearch.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_ModelSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAmDtB,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,CAUtB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_StructuredGeneration.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_StructuredGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,eAAO,MAAM,8BAA8B,EAAE,eAAe,CAC1D,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,CA8BrB,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,kBAAkB,CACpE,6BAA6B,EAC7B,8BAA8B,EAC9B,oBAAoB,CA+CrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_TextGeneration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,eAAO,MAAM,wBAAwB,EAAE,eAAe,CACpD,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CAsCrB,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAC9D,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,CAsCrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_TextRewriter.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_TextRewriter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,sBAAsB,EAAE,eAAe,CAClD,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CAoBrB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CAqBrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_TextSummary.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_TextSummary.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAoBrB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAqBrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Anthropic_ToolCalling.d.ts","sourceRoot":"","sources":["../../../src/ai-provider/common/Anthropic_ToolCalling.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,WAAW,EAEX,oBAAoB,EACpB,qBAAqB,EAGtB,MAAM,cAAc,CAAC;AAKtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,SAAS,EAChD,MAAM,EAAE,OAAO,GACd,GAAG,EAAE,CA0DP;AAWD,eAAO,MAAM,qBAAqB,EAAE,eAAe,CACjD,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAwErB,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,kBAAkB,CAC3D,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,CAmIrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-provider/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerAnthropic.d.ts","sourceRoot":"","sources":["../../src/ai-provider/registerAnthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAI9D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,yBAAyB,GAAG;IACnC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CACjC,GACA,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerAnthropicInline.d.ts","sourceRoot":"","sources":["../../src/ai-provider/registerAnthropicInline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAS9D,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMhG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerAnthropicWorker.d.ts","sourceRoot":"","sources":["../../src/ai-provider/registerAnthropicWorker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAU7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ai-provider/runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-provider-runtime.d.ts","sourceRoot":"","sources":["../src/ai-provider-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-provider.d.ts","sourceRoot":"","sources":["../src/ai-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC"}
File without changes
File without changes
File without changes
File without changes