@posthog/agent 1.16.6 → 1.17.0

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 (215) hide show
  1. package/dist/index.d.ts +1 -3
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/src/agent.d.ts +0 -3
  4. package/dist/src/agent.d.ts.map +1 -1
  5. package/dist/src/agent.js +6 -27
  6. package/dist/src/agent.js.map +1 -1
  7. package/dist/src/agents/research.d.ts +1 -1
  8. package/dist/src/agents/research.d.ts.map +1 -1
  9. package/dist/src/agents/research.js +84 -53
  10. package/dist/src/agents/research.js.map +1 -1
  11. package/dist/src/file-manager.d.ts +3 -21
  12. package/dist/src/file-manager.d.ts.map +1 -1
  13. package/dist/src/file-manager.js +15 -47
  14. package/dist/src/file-manager.js.map +1 -1
  15. package/dist/src/git-manager.d.ts.map +1 -1
  16. package/dist/src/git-manager.js +8 -1
  17. package/dist/src/git-manager.js.map +1 -1
  18. package/dist/src/types.d.ts +20 -1
  19. package/dist/src/types.d.ts.map +1 -1
  20. package/dist/src/types.js.map +1 -1
  21. package/dist/src/workflow/steps/plan.d.ts.map +1 -1
  22. package/dist/src/workflow/steps/plan.js +26 -18
  23. package/dist/src/workflow/steps/plan.js.map +1 -1
  24. package/dist/src/workflow/steps/research.d.ts.map +1 -1
  25. package/dist/src/workflow/steps/research.js +100 -66
  26. package/dist/src/workflow/steps/research.js.map +1 -1
  27. package/dist/src/workflow/types.d.ts +0 -2
  28. package/dist/src/workflow/types.d.ts.map +1 -1
  29. package/dist/templates/plan-template.md +1 -5
  30. package/package.json +2 -6
  31. package/src/agent.ts +7 -31
  32. package/src/agents/research.ts +84 -53
  33. package/src/file-manager.ts +18 -73
  34. package/src/git-manager.ts +7 -1
  35. package/src/templates/plan-template.md +1 -5
  36. package/src/types.ts +24 -1
  37. package/src/workflow/steps/plan.ts +28 -21
  38. package/src/workflow/steps/research.ts +109 -74
  39. package/src/workflow/types.ts +0 -2
  40. package/dist/_virtual/_commonjsHelpers.js +0 -6
  41. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  42. package/dist/_virtual/index.js +0 -4
  43. package/dist/_virtual/index.js.map +0 -1
  44. package/dist/node_modules/@ai-sdk/anthropic/dist/index.js +0 -1154
  45. package/dist/node_modules/@ai-sdk/anthropic/dist/index.js.map +0 -1
  46. package/dist/node_modules/@ai-sdk/provider/dist/index.js +0 -296
  47. package/dist/node_modules/@ai-sdk/provider/dist/index.js.map +0 -1
  48. package/dist/node_modules/@ai-sdk/provider-utils/dist/index.js +0 -576
  49. package/dist/node_modules/@ai-sdk/provider-utils/dist/index.js.map +0 -1
  50. package/dist/node_modules/@ai-sdk/ui-utils/dist/index.js +0 -741
  51. package/dist/node_modules/@ai-sdk/ui-utils/dist/index.js.map +0 -1
  52. package/dist/node_modules/@opentelemetry/api/build/esm/api/context.js +0 -112
  53. package/dist/node_modules/@opentelemetry/api/build/esm/api/context.js.map +0 -1
  54. package/dist/node_modules/@opentelemetry/api/build/esm/api/diag.js +0 -123
  55. package/dist/node_modules/@opentelemetry/api/build/esm/api/diag.js.map +0 -1
  56. package/dist/node_modules/@opentelemetry/api/build/esm/api/metrics.js +0 -62
  57. package/dist/node_modules/@opentelemetry/api/build/esm/api/metrics.js.map +0 -1
  58. package/dist/node_modules/@opentelemetry/api/build/esm/api/propagation.js +0 -91
  59. package/dist/node_modules/@opentelemetry/api/build/esm/api/propagation.js.map +0 -1
  60. package/dist/node_modules/@opentelemetry/api/build/esm/api/trace.js +0 -79
  61. package/dist/node_modules/@opentelemetry/api/build/esm/api/trace.js.map +0 -1
  62. package/dist/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js +0 -59
  63. package/dist/node_modules/@opentelemetry/api/build/esm/baggage/context-helpers.js.map +0 -1
  64. package/dist/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js +0 -99
  65. package/dist/node_modules/@opentelemetry/api/build/esm/baggage/internal/baggage-impl.js.map +0 -1
  66. package/dist/node_modules/@opentelemetry/api/build/esm/baggage/utils.js +0 -31
  67. package/dist/node_modules/@opentelemetry/api/build/esm/baggage/utils.js.map +0 -1
  68. package/dist/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js +0 -69
  69. package/dist/node_modules/@opentelemetry/api/build/esm/context/NoopContextManager.js.map +0 -1
  70. package/dist/node_modules/@opentelemetry/api/build/esm/context/context.js +0 -54
  71. package/dist/node_modules/@opentelemetry/api/build/esm/context/context.js.map +0 -1
  72. package/dist/node_modules/@opentelemetry/api/build/esm/context-api.js +0 -22
  73. package/dist/node_modules/@opentelemetry/api/build/esm/context-api.js.map +0 -1
  74. package/dist/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js +0 -104
  75. package/dist/node_modules/@opentelemetry/api/build/esm/diag/ComponentLogger.js.map +0 -1
  76. package/dist/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js +0 -44
  77. package/dist/node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js.map +0 -1
  78. package/dist/node_modules/@opentelemetry/api/build/esm/diag/types.js +0 -43
  79. package/dist/node_modules/@opentelemetry/api/build/esm/diag/types.js.map +0 -1
  80. package/dist/node_modules/@opentelemetry/api/build/esm/diag-api.js +0 -27
  81. package/dist/node_modules/@opentelemetry/api/build/esm/diag-api.js.map +0 -1
  82. package/dist/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js +0 -62
  83. package/dist/node_modules/@opentelemetry/api/build/esm/internal/global-utils.js.map +0 -1
  84. package/dist/node_modules/@opentelemetry/api/build/esm/internal/semver.js +0 -121
  85. package/dist/node_modules/@opentelemetry/api/build/esm/internal/semver.js.map +0 -1
  86. package/dist/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js +0 -167
  87. package/dist/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeter.js.map +0 -1
  88. package/dist/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js +0 -33
  89. package/dist/node_modules/@opentelemetry/api/build/esm/metrics/NoopMeterProvider.js.map +0 -1
  90. package/dist/node_modules/@opentelemetry/api/build/esm/metrics-api.js +0 -22
  91. package/dist/node_modules/@opentelemetry/api/build/esm/metrics-api.js.map +0 -1
  92. package/dist/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js +0 -21
  93. package/dist/node_modules/@opentelemetry/api/build/esm/platform/node/globalThis.js.map +0 -1
  94. package/dist/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js +0 -35
  95. package/dist/node_modules/@opentelemetry/api/build/esm/propagation/NoopTextMapPropagator.js.map +0 -1
  96. package/dist/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js +0 -40
  97. package/dist/node_modules/@opentelemetry/api/build/esm/propagation/TextMapPropagator.js.map +0 -1
  98. package/dist/node_modules/@opentelemetry/api/build/esm/propagation-api.js +0 -22
  99. package/dist/node_modules/@opentelemetry/api/build/esm/propagation-api.js.map +0 -1
  100. package/dist/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js +0 -70
  101. package/dist/node_modules/@opentelemetry/api/build/esm/trace/NonRecordingSpan.js.map +0 -1
  102. package/dist/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js +0 -78
  103. package/dist/node_modules/@opentelemetry/api/build/esm/trace/NoopTracer.js.map +0 -1
  104. package/dist/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js +0 -34
  105. package/dist/node_modules/@opentelemetry/api/build/esm/trace/NoopTracerProvider.js.map +0 -1
  106. package/dist/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js +0 -55
  107. package/dist/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracer.js.map +0 -1
  108. package/dist/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js +0 -56
  109. package/dist/node_modules/@opentelemetry/api/build/esm/trace/ProxyTracerProvider.js.map +0 -1
  110. package/dist/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js +0 -76
  111. package/dist/node_modules/@opentelemetry/api/build/esm/trace/context-utils.js.map +0 -1
  112. package/dist/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js +0 -27
  113. package/dist/node_modules/@opentelemetry/api/build/esm/trace/invalid-span-constants.js.map +0 -1
  114. package/dist/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js +0 -45
  115. package/dist/node_modules/@opentelemetry/api/build/esm/trace/spancontext-utils.js.map +0 -1
  116. package/dist/node_modules/@opentelemetry/api/build/esm/trace/status.js +0 -22
  117. package/dist/node_modules/@opentelemetry/api/build/esm/trace/status.js.map +0 -1
  118. package/dist/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js +0 -25
  119. package/dist/node_modules/@opentelemetry/api/build/esm/trace/trace_flags.js.map +0 -1
  120. package/dist/node_modules/@opentelemetry/api/build/esm/trace-api.js +0 -24
  121. package/dist/node_modules/@opentelemetry/api/build/esm/trace-api.js.map +0 -1
  122. package/dist/node_modules/@opentelemetry/api/build/esm/version.js +0 -20
  123. package/dist/node_modules/@opentelemetry/api/build/esm/version.js.map +0 -1
  124. package/dist/node_modules/ai/dist/index.js +0 -2870
  125. package/dist/node_modules/ai/dist/index.js.map +0 -1
  126. package/dist/node_modules/nanoid/non-secure/index.js +0 -13
  127. package/dist/node_modules/nanoid/non-secure/index.js.map +0 -1
  128. package/dist/node_modules/secure-json-parse/index.js +0 -133
  129. package/dist/node_modules/secure-json-parse/index.js.map +0 -1
  130. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +0 -37
  131. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js.map +0 -1
  132. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +0 -26
  133. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js.map +0 -1
  134. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +0 -17
  135. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js.map +0 -1
  136. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +0 -11
  137. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js.map +0 -1
  138. package/dist/node_modules/zod-to-json-schema/dist/esm/index.js +0 -8
  139. package/dist/node_modules/zod-to-json-schema/dist/esm/index.js.map +0 -1
  140. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +0 -66
  141. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js.map +0 -1
  142. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +0 -21
  143. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js.map +0 -1
  144. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +0 -30
  145. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js.map +0 -1
  146. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +0 -53
  147. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js.map +0 -1
  148. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +0 -8
  149. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js.map +0 -1
  150. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +0 -8
  151. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js.map +0 -1
  152. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +0 -8
  153. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js.map +0 -1
  154. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +0 -50
  155. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js.map +0 -1
  156. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +0 -11
  157. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js.map +0 -1
  158. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +0 -11
  159. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js.map +0 -1
  160. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +0 -9
  161. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js.map +0 -1
  162. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +0 -56
  163. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js.map +0 -1
  164. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +0 -24
  165. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js.map +0 -1
  166. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +0 -30
  167. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js.map +0 -1
  168. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +0 -19
  169. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js.map +0 -1
  170. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +0 -15
  171. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js.map +0 -1
  172. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +0 -13
  173. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js.map +0 -1
  174. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +0 -37
  175. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js.map +0 -1
  176. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +0 -56
  177. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js.map +0 -1
  178. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +0 -76
  179. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js.map +0 -1
  180. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +0 -25
  181. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js.map +0 -1
  182. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +0 -24
  183. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js.map +0 -1
  184. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +0 -8
  185. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js.map +0 -1
  186. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +0 -8
  187. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js.map +0 -1
  188. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +0 -65
  189. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js.map +0 -1
  190. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +0 -24
  191. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js.map +0 -1
  192. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +0 -350
  193. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +0 -1
  194. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +0 -36
  195. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js.map +0 -1
  196. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +0 -10
  197. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js.map +0 -1
  198. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +0 -84
  199. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js.map +0 -1
  200. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +0 -8
  201. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js.map +0 -1
  202. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +0 -110
  203. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js.map +0 -1
  204. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +0 -90
  205. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js.map +0 -1
  206. package/dist/src/structured-extraction.d.ts +0 -28
  207. package/dist/src/structured-extraction.d.ts.map +0 -1
  208. package/dist/src/structured-extraction.js +0 -77
  209. package/dist/src/structured-extraction.js.map +0 -1
  210. package/dist/src/utils/ai-sdk.d.ts +0 -14
  211. package/dist/src/utils/ai-sdk.d.ts.map +0 -1
  212. package/dist/src/utils/ai-sdk.js +0 -38
  213. package/dist/src/utils/ai-sdk.js.map +0 -1
  214. package/src/structured-extraction.ts +0 -117
  215. package/src/utils/ai-sdk.ts +0 -47
@@ -1,741 +0,0 @@
1
- import { validatorSymbol, safeParseJSON } from '../../provider-utils/dist/index.js';
2
- import 'zod';
3
- import '../../../zod-to-json-schema/dist/esm/parsers/string.js';
4
- import { zodToJsonSchema } from '../../../zod-to-json-schema/dist/esm/zodToJsonSchema.js';
5
-
6
- // src/index.ts
7
-
8
- // src/assistant-stream-parts.ts
9
- var textStreamPart = {
10
- code: "0",
11
- name: "text",
12
- parse: (value) => {
13
- if (typeof value !== "string") {
14
- throw new Error('"text" parts expect a string value.');
15
- }
16
- return { type: "text", value };
17
- }
18
- };
19
- var errorStreamPart = {
20
- code: "3",
21
- name: "error",
22
- parse: (value) => {
23
- if (typeof value !== "string") {
24
- throw new Error('"error" parts expect a string value.');
25
- }
26
- return { type: "error", value };
27
- }
28
- };
29
- var assistantMessageStreamPart = {
30
- code: "4",
31
- name: "assistant_message",
32
- parse: (value) => {
33
- if (value == null || typeof value !== "object" || !("id" in value) || !("role" in value) || !("content" in value) || typeof value.id !== "string" || typeof value.role !== "string" || value.role !== "assistant" || !Array.isArray(value.content) || !value.content.every(
34
- (item) => item != null && typeof item === "object" && "type" in item && item.type === "text" && "text" in item && item.text != null && typeof item.text === "object" && "value" in item.text && typeof item.text.value === "string"
35
- )) {
36
- throw new Error(
37
- '"assistant_message" parts expect an object with an "id", "role", and "content" property.'
38
- );
39
- }
40
- return {
41
- type: "assistant_message",
42
- value
43
- };
44
- }
45
- };
46
- var assistantControlDataStreamPart = {
47
- code: "5",
48
- name: "assistant_control_data",
49
- parse: (value) => {
50
- if (value == null || typeof value !== "object" || !("threadId" in value) || !("messageId" in value) || typeof value.threadId !== "string" || typeof value.messageId !== "string") {
51
- throw new Error(
52
- '"assistant_control_data" parts expect an object with a "threadId" and "messageId" property.'
53
- );
54
- }
55
- return {
56
- type: "assistant_control_data",
57
- value: {
58
- threadId: value.threadId,
59
- messageId: value.messageId
60
- }
61
- };
62
- }
63
- };
64
- var dataMessageStreamPart = {
65
- code: "6",
66
- name: "data_message",
67
- parse: (value) => {
68
- if (value == null || typeof value !== "object" || !("role" in value) || !("data" in value) || typeof value.role !== "string" || value.role !== "data") {
69
- throw new Error(
70
- '"data_message" parts expect an object with a "role" and "data" property.'
71
- );
72
- }
73
- return {
74
- type: "data_message",
75
- value
76
- };
77
- }
78
- };
79
- var assistantStreamParts = [
80
- textStreamPart,
81
- errorStreamPart,
82
- assistantMessageStreamPart,
83
- assistantControlDataStreamPart,
84
- dataMessageStreamPart
85
- ];
86
- ({
87
- [textStreamPart.code]: textStreamPart,
88
- [errorStreamPart.code]: errorStreamPart,
89
- [assistantMessageStreamPart.code]: assistantMessageStreamPart,
90
- [assistantControlDataStreamPart.code]: assistantControlDataStreamPart,
91
- [dataMessageStreamPart.code]: dataMessageStreamPart
92
- });
93
- ({
94
- [textStreamPart.name]: textStreamPart.code,
95
- [errorStreamPart.name]: errorStreamPart.code,
96
- [assistantMessageStreamPart.name]: assistantMessageStreamPart.code,
97
- [assistantControlDataStreamPart.name]: assistantControlDataStreamPart.code,
98
- [dataMessageStreamPart.name]: dataMessageStreamPart.code
99
- });
100
- assistantStreamParts.map((part) => part.code);
101
-
102
- // src/fix-json.ts
103
- function fixJson(input) {
104
- const stack = ["ROOT"];
105
- let lastValidIndex = -1;
106
- let literalStart = null;
107
- function processValueStart(char, i, swapState) {
108
- {
109
- switch (char) {
110
- case '"': {
111
- lastValidIndex = i;
112
- stack.pop();
113
- stack.push(swapState);
114
- stack.push("INSIDE_STRING");
115
- break;
116
- }
117
- case "f":
118
- case "t":
119
- case "n": {
120
- lastValidIndex = i;
121
- literalStart = i;
122
- stack.pop();
123
- stack.push(swapState);
124
- stack.push("INSIDE_LITERAL");
125
- break;
126
- }
127
- case "-": {
128
- stack.pop();
129
- stack.push(swapState);
130
- stack.push("INSIDE_NUMBER");
131
- break;
132
- }
133
- case "0":
134
- case "1":
135
- case "2":
136
- case "3":
137
- case "4":
138
- case "5":
139
- case "6":
140
- case "7":
141
- case "8":
142
- case "9": {
143
- lastValidIndex = i;
144
- stack.pop();
145
- stack.push(swapState);
146
- stack.push("INSIDE_NUMBER");
147
- break;
148
- }
149
- case "{": {
150
- lastValidIndex = i;
151
- stack.pop();
152
- stack.push(swapState);
153
- stack.push("INSIDE_OBJECT_START");
154
- break;
155
- }
156
- case "[": {
157
- lastValidIndex = i;
158
- stack.pop();
159
- stack.push(swapState);
160
- stack.push("INSIDE_ARRAY_START");
161
- break;
162
- }
163
- }
164
- }
165
- }
166
- function processAfterObjectValue(char, i) {
167
- switch (char) {
168
- case ",": {
169
- stack.pop();
170
- stack.push("INSIDE_OBJECT_AFTER_COMMA");
171
- break;
172
- }
173
- case "}": {
174
- lastValidIndex = i;
175
- stack.pop();
176
- break;
177
- }
178
- }
179
- }
180
- function processAfterArrayValue(char, i) {
181
- switch (char) {
182
- case ",": {
183
- stack.pop();
184
- stack.push("INSIDE_ARRAY_AFTER_COMMA");
185
- break;
186
- }
187
- case "]": {
188
- lastValidIndex = i;
189
- stack.pop();
190
- break;
191
- }
192
- }
193
- }
194
- for (let i = 0; i < input.length; i++) {
195
- const char = input[i];
196
- const currentState = stack[stack.length - 1];
197
- switch (currentState) {
198
- case "ROOT":
199
- processValueStart(char, i, "FINISH");
200
- break;
201
- case "INSIDE_OBJECT_START": {
202
- switch (char) {
203
- case '"': {
204
- stack.pop();
205
- stack.push("INSIDE_OBJECT_KEY");
206
- break;
207
- }
208
- case "}": {
209
- lastValidIndex = i;
210
- stack.pop();
211
- break;
212
- }
213
- }
214
- break;
215
- }
216
- case "INSIDE_OBJECT_AFTER_COMMA": {
217
- switch (char) {
218
- case '"': {
219
- stack.pop();
220
- stack.push("INSIDE_OBJECT_KEY");
221
- break;
222
- }
223
- }
224
- break;
225
- }
226
- case "INSIDE_OBJECT_KEY": {
227
- switch (char) {
228
- case '"': {
229
- stack.pop();
230
- stack.push("INSIDE_OBJECT_AFTER_KEY");
231
- break;
232
- }
233
- }
234
- break;
235
- }
236
- case "INSIDE_OBJECT_AFTER_KEY": {
237
- switch (char) {
238
- case ":": {
239
- stack.pop();
240
- stack.push("INSIDE_OBJECT_BEFORE_VALUE");
241
- break;
242
- }
243
- }
244
- break;
245
- }
246
- case "INSIDE_OBJECT_BEFORE_VALUE": {
247
- processValueStart(char, i, "INSIDE_OBJECT_AFTER_VALUE");
248
- break;
249
- }
250
- case "INSIDE_OBJECT_AFTER_VALUE": {
251
- processAfterObjectValue(char, i);
252
- break;
253
- }
254
- case "INSIDE_STRING": {
255
- switch (char) {
256
- case '"': {
257
- stack.pop();
258
- lastValidIndex = i;
259
- break;
260
- }
261
- case "\\": {
262
- stack.push("INSIDE_STRING_ESCAPE");
263
- break;
264
- }
265
- default: {
266
- lastValidIndex = i;
267
- }
268
- }
269
- break;
270
- }
271
- case "INSIDE_ARRAY_START": {
272
- switch (char) {
273
- case "]": {
274
- lastValidIndex = i;
275
- stack.pop();
276
- break;
277
- }
278
- default: {
279
- lastValidIndex = i;
280
- processValueStart(char, i, "INSIDE_ARRAY_AFTER_VALUE");
281
- break;
282
- }
283
- }
284
- break;
285
- }
286
- case "INSIDE_ARRAY_AFTER_VALUE": {
287
- switch (char) {
288
- case ",": {
289
- stack.pop();
290
- stack.push("INSIDE_ARRAY_AFTER_COMMA");
291
- break;
292
- }
293
- case "]": {
294
- lastValidIndex = i;
295
- stack.pop();
296
- break;
297
- }
298
- default: {
299
- lastValidIndex = i;
300
- break;
301
- }
302
- }
303
- break;
304
- }
305
- case "INSIDE_ARRAY_AFTER_COMMA": {
306
- processValueStart(char, i, "INSIDE_ARRAY_AFTER_VALUE");
307
- break;
308
- }
309
- case "INSIDE_STRING_ESCAPE": {
310
- stack.pop();
311
- lastValidIndex = i;
312
- break;
313
- }
314
- case "INSIDE_NUMBER": {
315
- switch (char) {
316
- case "0":
317
- case "1":
318
- case "2":
319
- case "3":
320
- case "4":
321
- case "5":
322
- case "6":
323
- case "7":
324
- case "8":
325
- case "9": {
326
- lastValidIndex = i;
327
- break;
328
- }
329
- case "e":
330
- case "E":
331
- case "-":
332
- case ".": {
333
- break;
334
- }
335
- case ",": {
336
- stack.pop();
337
- if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") {
338
- processAfterArrayValue(char, i);
339
- }
340
- if (stack[stack.length - 1] === "INSIDE_OBJECT_AFTER_VALUE") {
341
- processAfterObjectValue(char, i);
342
- }
343
- break;
344
- }
345
- case "}": {
346
- stack.pop();
347
- if (stack[stack.length - 1] === "INSIDE_OBJECT_AFTER_VALUE") {
348
- processAfterObjectValue(char, i);
349
- }
350
- break;
351
- }
352
- case "]": {
353
- stack.pop();
354
- if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") {
355
- processAfterArrayValue(char, i);
356
- }
357
- break;
358
- }
359
- default: {
360
- stack.pop();
361
- break;
362
- }
363
- }
364
- break;
365
- }
366
- case "INSIDE_LITERAL": {
367
- const partialLiteral = input.substring(literalStart, i + 1);
368
- if (!"false".startsWith(partialLiteral) && !"true".startsWith(partialLiteral) && !"null".startsWith(partialLiteral)) {
369
- stack.pop();
370
- if (stack[stack.length - 1] === "INSIDE_OBJECT_AFTER_VALUE") {
371
- processAfterObjectValue(char, i);
372
- } else if (stack[stack.length - 1] === "INSIDE_ARRAY_AFTER_VALUE") {
373
- processAfterArrayValue(char, i);
374
- }
375
- } else {
376
- lastValidIndex = i;
377
- }
378
- break;
379
- }
380
- }
381
- }
382
- let result = input.slice(0, lastValidIndex + 1);
383
- for (let i = stack.length - 1; i >= 0; i--) {
384
- const state = stack[i];
385
- switch (state) {
386
- case "INSIDE_STRING": {
387
- result += '"';
388
- break;
389
- }
390
- case "INSIDE_OBJECT_KEY":
391
- case "INSIDE_OBJECT_AFTER_KEY":
392
- case "INSIDE_OBJECT_AFTER_COMMA":
393
- case "INSIDE_OBJECT_START":
394
- case "INSIDE_OBJECT_BEFORE_VALUE":
395
- case "INSIDE_OBJECT_AFTER_VALUE": {
396
- result += "}";
397
- break;
398
- }
399
- case "INSIDE_ARRAY_START":
400
- case "INSIDE_ARRAY_AFTER_COMMA":
401
- case "INSIDE_ARRAY_AFTER_VALUE": {
402
- result += "]";
403
- break;
404
- }
405
- case "INSIDE_LITERAL": {
406
- const partialLiteral = input.substring(literalStart, input.length);
407
- if ("true".startsWith(partialLiteral)) {
408
- result += "true".slice(partialLiteral.length);
409
- } else if ("false".startsWith(partialLiteral)) {
410
- result += "false".slice(partialLiteral.length);
411
- } else if ("null".startsWith(partialLiteral)) {
412
- result += "null".slice(partialLiteral.length);
413
- }
414
- }
415
- }
416
- }
417
- return result;
418
- }
419
-
420
- // src/parse-partial-json.ts
421
- function parsePartialJson(jsonText) {
422
- if (jsonText === void 0) {
423
- return { value: void 0, state: "undefined-input" };
424
- }
425
- let result = safeParseJSON({ text: jsonText });
426
- if (result.success) {
427
- return { value: result.value, state: "successful-parse" };
428
- }
429
- result = safeParseJSON({ text: fixJson(jsonText) });
430
- if (result.success) {
431
- return { value: result.value, state: "repaired-parse" };
432
- }
433
- return { value: void 0, state: "failed-parse" };
434
- }
435
-
436
- // src/data-stream-parts.ts
437
- var textStreamPart2 = {
438
- code: "0",
439
- name: "text",
440
- parse: (value) => {
441
- if (typeof value !== "string") {
442
- throw new Error('"text" parts expect a string value.');
443
- }
444
- return { type: "text", value };
445
- }
446
- };
447
- var dataStreamPart = {
448
- code: "2",
449
- name: "data",
450
- parse: (value) => {
451
- if (!Array.isArray(value)) {
452
- throw new Error('"data" parts expect an array value.');
453
- }
454
- return { type: "data", value };
455
- }
456
- };
457
- var errorStreamPart2 = {
458
- code: "3",
459
- name: "error",
460
- parse: (value) => {
461
- if (typeof value !== "string") {
462
- throw new Error('"error" parts expect a string value.');
463
- }
464
- return { type: "error", value };
465
- }
466
- };
467
- var messageAnnotationsStreamPart = {
468
- code: "8",
469
- name: "message_annotations",
470
- parse: (value) => {
471
- if (!Array.isArray(value)) {
472
- throw new Error('"message_annotations" parts expect an array value.');
473
- }
474
- return { type: "message_annotations", value };
475
- }
476
- };
477
- var toolCallStreamPart = {
478
- code: "9",
479
- name: "tool_call",
480
- parse: (value) => {
481
- if (value == null || typeof value !== "object" || !("toolCallId" in value) || typeof value.toolCallId !== "string" || !("toolName" in value) || typeof value.toolName !== "string" || !("args" in value) || typeof value.args !== "object") {
482
- throw new Error(
483
- '"tool_call" parts expect an object with a "toolCallId", "toolName", and "args" property.'
484
- );
485
- }
486
- return {
487
- type: "tool_call",
488
- value
489
- };
490
- }
491
- };
492
- var toolResultStreamPart = {
493
- code: "a",
494
- name: "tool_result",
495
- parse: (value) => {
496
- if (value == null || typeof value !== "object" || !("toolCallId" in value) || typeof value.toolCallId !== "string" || !("result" in value)) {
497
- throw new Error(
498
- '"tool_result" parts expect an object with a "toolCallId" and a "result" property.'
499
- );
500
- }
501
- return {
502
- type: "tool_result",
503
- value
504
- };
505
- }
506
- };
507
- var toolCallStreamingStartStreamPart = {
508
- code: "b",
509
- name: "tool_call_streaming_start",
510
- parse: (value) => {
511
- if (value == null || typeof value !== "object" || !("toolCallId" in value) || typeof value.toolCallId !== "string" || !("toolName" in value) || typeof value.toolName !== "string") {
512
- throw new Error(
513
- '"tool_call_streaming_start" parts expect an object with a "toolCallId" and "toolName" property.'
514
- );
515
- }
516
- return {
517
- type: "tool_call_streaming_start",
518
- value
519
- };
520
- }
521
- };
522
- var toolCallDeltaStreamPart = {
523
- code: "c",
524
- name: "tool_call_delta",
525
- parse: (value) => {
526
- if (value == null || typeof value !== "object" || !("toolCallId" in value) || typeof value.toolCallId !== "string" || !("argsTextDelta" in value) || typeof value.argsTextDelta !== "string") {
527
- throw new Error(
528
- '"tool_call_delta" parts expect an object with a "toolCallId" and "argsTextDelta" property.'
529
- );
530
- }
531
- return {
532
- type: "tool_call_delta",
533
- value
534
- };
535
- }
536
- };
537
- var finishMessageStreamPart = {
538
- code: "d",
539
- name: "finish_message",
540
- parse: (value) => {
541
- if (value == null || typeof value !== "object" || !("finishReason" in value) || typeof value.finishReason !== "string") {
542
- throw new Error(
543
- '"finish_message" parts expect an object with a "finishReason" property.'
544
- );
545
- }
546
- const result = {
547
- finishReason: value.finishReason
548
- };
549
- if ("usage" in value && value.usage != null && typeof value.usage === "object" && "promptTokens" in value.usage && "completionTokens" in value.usage) {
550
- result.usage = {
551
- promptTokens: typeof value.usage.promptTokens === "number" ? value.usage.promptTokens : Number.NaN,
552
- completionTokens: typeof value.usage.completionTokens === "number" ? value.usage.completionTokens : Number.NaN
553
- };
554
- }
555
- return {
556
- type: "finish_message",
557
- value: result
558
- };
559
- }
560
- };
561
- var finishStepStreamPart = {
562
- code: "e",
563
- name: "finish_step",
564
- parse: (value) => {
565
- if (value == null || typeof value !== "object" || !("finishReason" in value) || typeof value.finishReason !== "string") {
566
- throw new Error(
567
- '"finish_step" parts expect an object with a "finishReason" property.'
568
- );
569
- }
570
- const result = {
571
- finishReason: value.finishReason,
572
- isContinued: false
573
- };
574
- if ("usage" in value && value.usage != null && typeof value.usage === "object" && "promptTokens" in value.usage && "completionTokens" in value.usage) {
575
- result.usage = {
576
- promptTokens: typeof value.usage.promptTokens === "number" ? value.usage.promptTokens : Number.NaN,
577
- completionTokens: typeof value.usage.completionTokens === "number" ? value.usage.completionTokens : Number.NaN
578
- };
579
- }
580
- if ("isContinued" in value && typeof value.isContinued === "boolean") {
581
- result.isContinued = value.isContinued;
582
- }
583
- return {
584
- type: "finish_step",
585
- value: result
586
- };
587
- }
588
- };
589
- var startStepStreamPart = {
590
- code: "f",
591
- name: "start_step",
592
- parse: (value) => {
593
- if (value == null || typeof value !== "object" || !("messageId" in value) || typeof value.messageId !== "string") {
594
- throw new Error(
595
- '"start_step" parts expect an object with an "id" property.'
596
- );
597
- }
598
- return {
599
- type: "start_step",
600
- value: {
601
- messageId: value.messageId
602
- }
603
- };
604
- }
605
- };
606
- var reasoningStreamPart = {
607
- code: "g",
608
- name: "reasoning",
609
- parse: (value) => {
610
- if (typeof value !== "string") {
611
- throw new Error('"reasoning" parts expect a string value.');
612
- }
613
- return { type: "reasoning", value };
614
- }
615
- };
616
- var sourcePart = {
617
- code: "h",
618
- name: "source",
619
- parse: (value) => {
620
- if (value == null || typeof value !== "object") {
621
- throw new Error('"source" parts expect a Source object.');
622
- }
623
- return {
624
- type: "source",
625
- value
626
- };
627
- }
628
- };
629
- var redactedReasoningStreamPart = {
630
- code: "i",
631
- name: "redacted_reasoning",
632
- parse: (value) => {
633
- if (value == null || typeof value !== "object" || !("data" in value) || typeof value.data !== "string") {
634
- throw new Error(
635
- '"redacted_reasoning" parts expect an object with a "data" property.'
636
- );
637
- }
638
- return { type: "redacted_reasoning", value: { data: value.data } };
639
- }
640
- };
641
- var reasoningSignatureStreamPart = {
642
- code: "j",
643
- name: "reasoning_signature",
644
- parse: (value) => {
645
- if (value == null || typeof value !== "object" || !("signature" in value) || typeof value.signature !== "string") {
646
- throw new Error(
647
- '"reasoning_signature" parts expect an object with a "signature" property.'
648
- );
649
- }
650
- return {
651
- type: "reasoning_signature",
652
- value: { signature: value.signature }
653
- };
654
- }
655
- };
656
- var fileStreamPart = {
657
- code: "k",
658
- name: "file",
659
- parse: (value) => {
660
- if (value == null || typeof value !== "object" || !("data" in value) || typeof value.data !== "string" || !("mimeType" in value) || typeof value.mimeType !== "string") {
661
- throw new Error(
662
- '"file" parts expect an object with a "data" and "mimeType" property.'
663
- );
664
- }
665
- return { type: "file", value };
666
- }
667
- };
668
- var dataStreamParts = [
669
- textStreamPart2,
670
- dataStreamPart,
671
- errorStreamPart2,
672
- messageAnnotationsStreamPart,
673
- toolCallStreamPart,
674
- toolResultStreamPart,
675
- toolCallStreamingStartStreamPart,
676
- toolCallDeltaStreamPart,
677
- finishMessageStreamPart,
678
- finishStepStreamPart,
679
- startStepStreamPart,
680
- reasoningStreamPart,
681
- sourcePart,
682
- redactedReasoningStreamPart,
683
- reasoningSignatureStreamPart,
684
- fileStreamPart
685
- ];
686
- Object.fromEntries(
687
- dataStreamParts.map((part) => [part.code, part])
688
- );
689
- Object.fromEntries(
690
- dataStreamParts.map((part) => [part.name, part.code])
691
- );
692
- dataStreamParts.map((part) => part.code);
693
- function formatDataStreamPart(type, value) {
694
- const streamPart = dataStreamParts.find((part) => part.name === type);
695
- if (!streamPart) {
696
- throw new Error(`Invalid stream part type: ${type}`);
697
- }
698
- return `${streamPart.code}:${JSON.stringify(value)}
699
- `;
700
- }
701
- function zodSchema(zodSchema2, options) {
702
- var _a;
703
- const useReferences = (_a = void 0 ) != null ? _a : false;
704
- return jsonSchema(
705
- zodToJsonSchema(zodSchema2, {
706
- $refStrategy: useReferences ? "root" : "none",
707
- target: "jsonSchema7"
708
- // note: openai mode breaks various gemini conversions
709
- }),
710
- {
711
- validate: (value) => {
712
- const result = zodSchema2.safeParse(value);
713
- return result.success ? { success: true, value: result.data } : { success: false, error: result.error };
714
- }
715
- }
716
- );
717
- }
718
-
719
- // src/schema.ts
720
- var schemaSymbol = Symbol.for("vercel.ai.schema");
721
- function jsonSchema(jsonSchema2, {
722
- validate
723
- } = {}) {
724
- return {
725
- [schemaSymbol]: true,
726
- _type: void 0,
727
- // should never be used directly
728
- [validatorSymbol]: true,
729
- jsonSchema: jsonSchema2,
730
- validate
731
- };
732
- }
733
- function isSchema(value) {
734
- return typeof value === "object" && value !== null && schemaSymbol in value && value[schemaSymbol] === true && "jsonSchema" in value && "validate" in value;
735
- }
736
- function asSchema(schema) {
737
- return isSchema(schema) ? schema : zodSchema(schema);
738
- }
739
-
740
- export { asSchema, formatDataStreamPart, jsonSchema, parsePartialJson, zodSchema };
741
- //# sourceMappingURL=index.js.map