@jaypie/llm 1.3.4 → 1.3.5

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 (175) hide show
  1. package/dist/cjs/index.cjs +166 -27
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +13 -1
  4. package/dist/cjs/{index.d.ts → src/index.d.ts} +1 -0
  5. package/dist/cjs/{util → src/util}/index.d.ts +1 -0
  6. package/dist/cjs/src/util/jsonSchema.d.ts +17 -0
  7. package/dist/esm/index.d.ts +13 -1
  8. package/dist/esm/index.js +191 -54
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/src/index.d.ts +17 -0
  11. package/dist/esm/{util → src/util}/index.d.ts +1 -0
  12. package/dist/esm/src/util/jsonSchema.d.ts +17 -0
  13. package/package.json +3 -2
  14. /package/dist/cjs/{Llm.d.ts → src/Llm.d.ts} +0 -0
  15. /package/dist/cjs/{constants.d.ts → src/constants.d.ts} +0 -0
  16. /package/dist/cjs/{observability → src/observability}/llmobs.d.ts +0 -0
  17. /package/dist/cjs/{operate → src/operate}/OperateLoop.d.ts +0 -0
  18. /package/dist/cjs/{operate → src/operate}/StreamLoop.d.ts +0 -0
  19. /package/dist/cjs/{operate → src/operate}/adapters/AnthropicAdapter.d.ts +0 -0
  20. /package/dist/cjs/{operate → src/operate}/adapters/BedrockAdapter.d.ts +0 -0
  21. /package/dist/cjs/{operate → src/operate}/adapters/GoogleAdapter.d.ts +0 -0
  22. /package/dist/cjs/{operate → src/operate}/adapters/OpenAiAdapter.d.ts +0 -0
  23. /package/dist/cjs/{operate → src/operate}/adapters/OpenRouterAdapter.d.ts +0 -0
  24. /package/dist/cjs/{operate → src/operate}/adapters/ProviderAdapter.interface.d.ts +0 -0
  25. /package/dist/cjs/{operate → src/operate}/adapters/XaiAdapter.d.ts +0 -0
  26. /package/dist/cjs/{operate → src/operate}/adapters/index.d.ts +0 -0
  27. /package/dist/cjs/{operate → src/operate}/hooks/HookRunner.d.ts +0 -0
  28. /package/dist/cjs/{operate → src/operate}/hooks/index.d.ts +0 -0
  29. /package/dist/cjs/{operate → src/operate}/index.d.ts +0 -0
  30. /package/dist/cjs/{operate → src/operate}/input/InputProcessor.d.ts +0 -0
  31. /package/dist/cjs/{operate → src/operate}/input/index.d.ts +0 -0
  32. /package/dist/cjs/{operate → src/operate}/response/ResponseBuilder.d.ts +0 -0
  33. /package/dist/cjs/{operate → src/operate}/response/index.d.ts +0 -0
  34. /package/dist/cjs/{operate → src/operate}/retry/RetryExecutor.d.ts +0 -0
  35. /package/dist/cjs/{operate → src/operate}/retry/RetryPolicy.d.ts +0 -0
  36. /package/dist/cjs/{operate → src/operate}/retry/createStaleRejectionGuard.d.ts +0 -0
  37. /package/dist/cjs/{operate → src/operate}/retry/index.d.ts +0 -0
  38. /package/dist/cjs/{operate → src/operate}/retry/isTransientNetworkError.d.ts +0 -0
  39. /package/dist/cjs/{operate → src/operate}/types.d.ts +0 -0
  40. /package/dist/cjs/{providers → src/providers}/anthropic/AnthropicProvider.class.d.ts +0 -0
  41. /package/dist/cjs/{providers → src/providers}/anthropic/client.d.ts +0 -0
  42. /package/dist/cjs/{providers → src/providers}/anthropic/index.d.ts +0 -0
  43. /package/dist/cjs/{providers → src/providers}/anthropic/types.d.ts +0 -0
  44. /package/dist/cjs/{providers → src/providers}/anthropic/utils.d.ts +0 -0
  45. /package/dist/cjs/{providers → src/providers}/bedrock/BedrockProvider.class.d.ts +0 -0
  46. /package/dist/cjs/{providers → src/providers}/bedrock/index.d.ts +0 -0
  47. /package/dist/cjs/{providers → src/providers}/bedrock/utils.d.ts +0 -0
  48. /package/dist/cjs/{providers → src/providers}/google/GoogleProvider.class.d.ts +0 -0
  49. /package/dist/cjs/{providers → src/providers}/google/client.d.ts +0 -0
  50. /package/dist/cjs/{providers → src/providers}/google/index.d.ts +0 -0
  51. /package/dist/cjs/{providers → src/providers}/google/types.d.ts +0 -0
  52. /package/dist/cjs/{providers → src/providers}/google/utils.d.ts +0 -0
  53. /package/dist/cjs/{providers → src/providers}/openai/OpenAiProvider.class.d.ts +0 -0
  54. /package/dist/cjs/{providers → src/providers}/openai/client.d.ts +0 -0
  55. /package/dist/cjs/{providers → src/providers}/openai/index.d.ts +0 -0
  56. /package/dist/cjs/{providers → src/providers}/openai/responseFormat.d.ts +0 -0
  57. /package/dist/cjs/{providers → src/providers}/openai/types.d.ts +0 -0
  58. /package/dist/cjs/{providers → src/providers}/openai/utils.d.ts +0 -0
  59. /package/dist/cjs/{providers → src/providers}/openrouter/OpenRouterProvider.class.d.ts +0 -0
  60. /package/dist/cjs/{providers → src/providers}/openrouter/client.d.ts +0 -0
  61. /package/dist/cjs/{providers → src/providers}/openrouter/index.d.ts +0 -0
  62. /package/dist/cjs/{providers → src/providers}/openrouter/utils.d.ts +0 -0
  63. /package/dist/cjs/{providers → src/providers}/xai/XaiProvider.class.d.ts +0 -0
  64. /package/dist/cjs/{providers → src/providers}/xai/index.d.ts +0 -0
  65. /package/dist/cjs/{providers → src/providers}/xai/utils.d.ts +0 -0
  66. /package/dist/cjs/{tools → src/tools}/Toolkit.class.d.ts +0 -0
  67. /package/dist/cjs/{tools → src/tools}/index.d.ts +0 -0
  68. /package/dist/cjs/{tools → src/tools}/random.d.ts +0 -0
  69. /package/dist/cjs/{tools → src/tools}/roll.d.ts +0 -0
  70. /package/dist/cjs/{tools → src/tools}/time.d.ts +0 -0
  71. /package/dist/cjs/{tools → src/tools}/weather.d.ts +0 -0
  72. /package/dist/cjs/{types → src/types}/LlmOperateInput.guards.d.ts +0 -0
  73. /package/dist/cjs/{types → src/types}/LlmProvider.interface.d.ts +0 -0
  74. /package/dist/cjs/{types → src/types}/LlmStreamChunk.interface.d.ts +0 -0
  75. /package/dist/cjs/{types → src/types}/LlmTool.interface.d.ts +0 -0
  76. /package/dist/cjs/{upload → src/upload}/detectMimeType.d.ts +0 -0
  77. /package/dist/cjs/{upload → src/upload}/extractPdfPages.d.ts +0 -0
  78. /package/dist/cjs/{upload → src/upload}/index.d.ts +0 -0
  79. /package/dist/cjs/{upload → src/upload}/loadLocalFile.d.ts +0 -0
  80. /package/dist/cjs/{upload → src/upload}/loadS3File.d.ts +0 -0
  81. /package/dist/cjs/{upload → src/upload}/resolveOperateInput.d.ts +0 -0
  82. /package/dist/cjs/{util → src/util}/determineModelProvider.d.ts +0 -0
  83. /package/dist/cjs/{util → src/util}/extractReasoning.d.ts +0 -0
  84. /package/dist/cjs/{util → src/util}/fillFormatArrays.d.ts +0 -0
  85. /package/dist/cjs/{util → src/util}/formatOperateInput.d.ts +0 -0
  86. /package/dist/cjs/{util → src/util}/formatOperateMessage.d.ts +0 -0
  87. /package/dist/cjs/{util → src/util}/jsonSchemaToOpenApi3.d.ts +0 -0
  88. /package/dist/cjs/{util → src/util}/logger.d.ts +0 -0
  89. /package/dist/cjs/{util → src/util}/maxTurnsFromOptions.d.ts +0 -0
  90. /package/dist/cjs/{util → src/util}/naturalZodSchema.d.ts +0 -0
  91. /package/dist/cjs/{util → src/util}/random.d.ts +0 -0
  92. /package/dist/cjs/{util → src/util}/repairFormatKeys.d.ts +0 -0
  93. /package/dist/cjs/{util → src/util}/sse.d.ts +0 -0
  94. /package/dist/cjs/{util → src/util}/tryParseNumber.d.ts +0 -0
  95. /package/dist/esm/{Llm.d.ts → src/Llm.d.ts} +0 -0
  96. /package/dist/esm/{constants.d.ts → src/constants.d.ts} +0 -0
  97. /package/dist/esm/{observability → src/observability}/llmobs.d.ts +0 -0
  98. /package/dist/esm/{operate → src/operate}/OperateLoop.d.ts +0 -0
  99. /package/dist/esm/{operate → src/operate}/StreamLoop.d.ts +0 -0
  100. /package/dist/esm/{operate → src/operate}/adapters/AnthropicAdapter.d.ts +0 -0
  101. /package/dist/esm/{operate → src/operate}/adapters/BedrockAdapter.d.ts +0 -0
  102. /package/dist/esm/{operate → src/operate}/adapters/GoogleAdapter.d.ts +0 -0
  103. /package/dist/esm/{operate → src/operate}/adapters/OpenAiAdapter.d.ts +0 -0
  104. /package/dist/esm/{operate → src/operate}/adapters/OpenRouterAdapter.d.ts +0 -0
  105. /package/dist/esm/{operate → src/operate}/adapters/ProviderAdapter.interface.d.ts +0 -0
  106. /package/dist/esm/{operate → src/operate}/adapters/XaiAdapter.d.ts +0 -0
  107. /package/dist/esm/{operate → src/operate}/adapters/index.d.ts +0 -0
  108. /package/dist/esm/{operate → src/operate}/hooks/HookRunner.d.ts +0 -0
  109. /package/dist/esm/{operate → src/operate}/hooks/index.d.ts +0 -0
  110. /package/dist/esm/{operate → src/operate}/index.d.ts +0 -0
  111. /package/dist/esm/{operate → src/operate}/input/InputProcessor.d.ts +0 -0
  112. /package/dist/esm/{operate → src/operate}/input/index.d.ts +0 -0
  113. /package/dist/esm/{operate → src/operate}/response/ResponseBuilder.d.ts +0 -0
  114. /package/dist/esm/{operate → src/operate}/response/index.d.ts +0 -0
  115. /package/dist/esm/{operate → src/operate}/retry/RetryExecutor.d.ts +0 -0
  116. /package/dist/esm/{operate → src/operate}/retry/RetryPolicy.d.ts +0 -0
  117. /package/dist/esm/{operate → src/operate}/retry/createStaleRejectionGuard.d.ts +0 -0
  118. /package/dist/esm/{operate → src/operate}/retry/index.d.ts +0 -0
  119. /package/dist/esm/{operate → src/operate}/retry/isTransientNetworkError.d.ts +0 -0
  120. /package/dist/esm/{operate → src/operate}/types.d.ts +0 -0
  121. /package/dist/esm/{providers → src/providers}/anthropic/AnthropicProvider.class.d.ts +0 -0
  122. /package/dist/esm/{providers → src/providers}/anthropic/client.d.ts +0 -0
  123. /package/dist/esm/{providers → src/providers}/anthropic/index.d.ts +0 -0
  124. /package/dist/esm/{providers → src/providers}/anthropic/types.d.ts +0 -0
  125. /package/dist/esm/{providers → src/providers}/anthropic/utils.d.ts +0 -0
  126. /package/dist/esm/{providers → src/providers}/bedrock/BedrockProvider.class.d.ts +0 -0
  127. /package/dist/esm/{providers → src/providers}/bedrock/index.d.ts +0 -0
  128. /package/dist/esm/{providers → src/providers}/bedrock/utils.d.ts +0 -0
  129. /package/dist/esm/{providers → src/providers}/google/GoogleProvider.class.d.ts +0 -0
  130. /package/dist/esm/{providers → src/providers}/google/client.d.ts +0 -0
  131. /package/dist/esm/{providers → src/providers}/google/index.d.ts +0 -0
  132. /package/dist/esm/{providers → src/providers}/google/types.d.ts +0 -0
  133. /package/dist/esm/{providers → src/providers}/google/utils.d.ts +0 -0
  134. /package/dist/esm/{providers → src/providers}/openai/OpenAiProvider.class.d.ts +0 -0
  135. /package/dist/esm/{providers → src/providers}/openai/client.d.ts +0 -0
  136. /package/dist/esm/{providers → src/providers}/openai/index.d.ts +0 -0
  137. /package/dist/esm/{providers → src/providers}/openai/responseFormat.d.ts +0 -0
  138. /package/dist/esm/{providers → src/providers}/openai/types.d.ts +0 -0
  139. /package/dist/esm/{providers → src/providers}/openai/utils.d.ts +0 -0
  140. /package/dist/esm/{providers → src/providers}/openrouter/OpenRouterProvider.class.d.ts +0 -0
  141. /package/dist/esm/{providers → src/providers}/openrouter/client.d.ts +0 -0
  142. /package/dist/esm/{providers → src/providers}/openrouter/index.d.ts +0 -0
  143. /package/dist/esm/{providers → src/providers}/openrouter/utils.d.ts +0 -0
  144. /package/dist/esm/{providers → src/providers}/xai/XaiProvider.class.d.ts +0 -0
  145. /package/dist/esm/{providers → src/providers}/xai/index.d.ts +0 -0
  146. /package/dist/esm/{providers → src/providers}/xai/utils.d.ts +0 -0
  147. /package/dist/esm/{tools → src/tools}/Toolkit.class.d.ts +0 -0
  148. /package/dist/esm/{tools → src/tools}/index.d.ts +0 -0
  149. /package/dist/esm/{tools → src/tools}/random.d.ts +0 -0
  150. /package/dist/esm/{tools → src/tools}/roll.d.ts +0 -0
  151. /package/dist/esm/{tools → src/tools}/time.d.ts +0 -0
  152. /package/dist/esm/{tools → src/tools}/weather.d.ts +0 -0
  153. /package/dist/esm/{types → src/types}/LlmOperateInput.guards.d.ts +0 -0
  154. /package/dist/esm/{types → src/types}/LlmProvider.interface.d.ts +0 -0
  155. /package/dist/esm/{types → src/types}/LlmStreamChunk.interface.d.ts +0 -0
  156. /package/dist/esm/{types → src/types}/LlmTool.interface.d.ts +0 -0
  157. /package/dist/esm/{upload → src/upload}/detectMimeType.d.ts +0 -0
  158. /package/dist/esm/{upload → src/upload}/extractPdfPages.d.ts +0 -0
  159. /package/dist/esm/{upload → src/upload}/index.d.ts +0 -0
  160. /package/dist/esm/{upload → src/upload}/loadLocalFile.d.ts +0 -0
  161. /package/dist/esm/{upload → src/upload}/loadS3File.d.ts +0 -0
  162. /package/dist/esm/{upload → src/upload}/resolveOperateInput.d.ts +0 -0
  163. /package/dist/esm/{util → src/util}/determineModelProvider.d.ts +0 -0
  164. /package/dist/esm/{util → src/util}/extractReasoning.d.ts +0 -0
  165. /package/dist/esm/{util → src/util}/fillFormatArrays.d.ts +0 -0
  166. /package/dist/esm/{util → src/util}/formatOperateInput.d.ts +0 -0
  167. /package/dist/esm/{util → src/util}/formatOperateMessage.d.ts +0 -0
  168. /package/dist/esm/{util → src/util}/jsonSchemaToOpenApi3.d.ts +0 -0
  169. /package/dist/esm/{util → src/util}/logger.d.ts +0 -0
  170. /package/dist/esm/{util → src/util}/maxTurnsFromOptions.d.ts +0 -0
  171. /package/dist/esm/{util → src/util}/naturalZodSchema.d.ts +0 -0
  172. /package/dist/esm/{util → src/util}/random.d.ts +0 -0
  173. /package/dist/esm/{util → src/util}/repairFormatKeys.d.ts +0 -0
  174. /package/dist/esm/{util → src/util}/sse.d.ts +0 -0
  175. /package/dist/esm/{util → src/util}/tryParseNumber.d.ts +0 -0
@@ -0,0 +1,17 @@
1
+ export { default as Llm } from "./Llm.js";
2
+ export * as LLM from "./constants.js";
3
+ export type { LlmFallbackConfig, LlmHistory, LlmInputContent, LlmInputContentFile, LlmInputContentImage, LlmInputContentText, LlmInputMessage, LlmMessageOptions, LlmOperateInput, LlmOperateInputContent, LlmOperateInputFile, LlmOperateInputImage, LlmOperateOptions, LlmOperateResponse, LlmOptions, LlmProvider, } from "./types/LlmProvider.interface.js";
4
+ export { LlmMessageRole, LlmMessageType, } from "./types/LlmProvider.interface.js";
5
+ export { isLlmOperateInput, isLlmOperateInputContent, isLlmOperateInputFile, isLlmOperateInputImage, } from "./types/LlmOperateInput.guards.js";
6
+ export type { LlmTool } from "./types/LlmTool.interface.js";
7
+ export type { LlmStreamChunk, LlmStreamChunkDone, LlmStreamChunkError, LlmStreamChunkText, LlmStreamChunkToolCall, LlmStreamChunkToolResult, } from "./types/LlmStreamChunk.interface.js";
8
+ export { LlmStreamChunkType } from "./types/LlmStreamChunk.interface.js";
9
+ export { JaypieToolkit, toolkit, Toolkit, tools } from "./tools/index.js";
10
+ export { extractReasoning } from "./util/extractReasoning.js";
11
+ export { jsonSchemaToNaturalSchema, naturalSchemaToJsonSchema, } from "./util/jsonSchema.js";
12
+ export { BedrockProvider } from "./providers/bedrock/index.js";
13
+ /** @deprecated Use GoogleProvider — "Google" is the provider; Gemini is the model family */
14
+ export { GoogleProvider as GeminiProvider } from "./providers/google/index.js";
15
+ export { GoogleProvider } from "./providers/google/index.js";
16
+ export { OpenRouterProvider } from "./providers/openrouter/index.js";
17
+ export { XaiProvider } from "./providers/xai/index.js";
@@ -3,6 +3,7 @@ export * from "./extractReasoning.js";
3
3
  export * from "./fillFormatArrays.js";
4
4
  export * from "./formatOperateInput.js";
5
5
  export * from "./formatOperateMessage.js";
6
+ export * from "./jsonSchema.js";
6
7
  export * from "./jsonSchemaToOpenApi3.js";
7
8
  export * from "./logger.js";
8
9
  export * from "./maxTurnsFromOptions.js";
@@ -0,0 +1,17 @@
1
+ import { JsonObject, NaturalSchema } from "@jaypie/types";
2
+ /**
3
+ * Duck-type check for a bare JSON Schema object node: `{ type: "object", properties: {...} }`.
4
+ * Does not require the OpenAI-style `{ type: "json_schema", ... }` envelope.
5
+ */
6
+ export declare function isJsonSchema(value: unknown): value is JsonObject;
7
+ /**
8
+ * Convert a Natural Schema to JSON Schema. Lossless: Natural Schema is a
9
+ * strict subset of what JSON Schema can express.
10
+ */
11
+ export declare function naturalSchemaToJsonSchema(schema: NaturalSchema): JsonObject;
12
+ /**
13
+ * Convert a JSON Schema object node to Natural Schema. Lossy: constraints,
14
+ * descriptions, defaults, unions, and optionality have no Natural Schema
15
+ * representation. Dropped keywords are logged at debug level, never thrown.
16
+ */
17
+ export declare function jsonSchemaToNaturalSchema(schema: JsonObject): NaturalSchema;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaypie/llm",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
4
4
  "description": "Large language model utilities",
5
5
  "repository": {
6
6
  "type": "git",
@@ -44,12 +44,13 @@
44
44
  "openmeteo": "^1.2.1",
45
45
  "pdf-lib": "^1.17.1",
46
46
  "random": "^5.3.0",
47
- "z-schema": "^6.0.2",
48
47
  "zod": "^4.1.13"
49
48
  },
50
49
  "devDependencies": {
51
50
  "@aws-sdk/client-bedrock-runtime": "^3.1045.0",
52
51
  "@jaypie/types": "*",
52
+ "@types/node": "^22.13.1",
53
+ "dotenv": "^17.4.2",
53
54
  "rollup-plugin-dts": "^6.1.1"
54
55
  },
55
56
  "peerDependencies": {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes