@puku-ai/sdk 4.0.3 → 4.0.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 (201) hide show
  1. package/README.md +24 -7
  2. package/dist/index.cjs +85 -0
  3. package/dist/vendor/_vendor/partial-json-parser/parser.cjs +225 -0
  4. package/dist/vendor/api-promise.cjs +18 -0
  5. package/dist/vendor/client.cjs +1013 -0
  6. package/dist/vendor/core/api-promise.cjs +80 -0
  7. package/dist/vendor/core/api.cjs +2 -0
  8. package/dist/vendor/core/credentials.cjs +313 -0
  9. package/dist/vendor/core/error.cjs +156 -0
  10. package/dist/vendor/core/middleware.cjs +173 -0
  11. package/dist/vendor/core/pagination.cjs +215 -0
  12. package/dist/vendor/core/resource.cjs +11 -0
  13. package/dist/vendor/core/streaming.cjs +346 -0
  14. package/dist/vendor/core/uploads.cjs +5 -0
  15. package/dist/vendor/error.cjs +18 -0
  16. package/dist/vendor/helpers/beta/environments.cjs +30 -0
  17. package/dist/vendor/helpers/beta/json-schema.cjs +56 -0
  18. package/dist/vendor/helpers/beta/mcp.cjs +418 -0
  19. package/dist/vendor/helpers/beta/memory.cjs +17 -0
  20. package/dist/vendor/helpers/beta/standard-schema.cjs +57 -0
  21. package/dist/vendor/helpers/beta/zod.cjs +88 -0
  22. package/dist/vendor/helpers/index.cjs +7 -0
  23. package/dist/vendor/helpers/json-schema.cjs +36 -0
  24. package/dist/vendor/helpers/zod.cjs +77 -0
  25. package/dist/vendor/index.cjs +54 -0
  26. package/dist/vendor/internal/builtin-types.cjs +3 -0
  27. package/dist/vendor/internal/constants.cjs +12 -0
  28. package/dist/vendor/internal/decoders/jsonl.cjs +40 -0
  29. package/dist/vendor/internal/decoders/line.cjs +109 -0
  30. package/dist/vendor/internal/detect-platform.cjs +159 -0
  31. package/dist/vendor/internal/errors.cjs +42 -0
  32. package/dist/vendor/internal/file-store.cjs +535 -0
  33. package/dist/vendor/internal/headers.cjs +119 -0
  34. package/dist/vendor/internal/message-stream-utils.cjs +33 -0
  35. package/dist/vendor/internal/node.browser.cjs +21 -0
  36. package/dist/vendor/internal/node.cjs +55 -0
  37. package/dist/vendor/internal/parse.cjs +65 -0
  38. package/dist/vendor/internal/qs/formats.cjs +12 -0
  39. package/dist/vendor/internal/qs/index.cjs +13 -0
  40. package/dist/vendor/internal/qs/stringify.cjs +276 -0
  41. package/dist/vendor/internal/qs/types.cjs +2 -0
  42. package/dist/vendor/internal/qs/utils.cjs +229 -0
  43. package/dist/vendor/internal/request-options.cjs +31 -0
  44. package/dist/vendor/internal/request-signal.cjs +49 -0
  45. package/dist/vendor/internal/shim-types.cjs +3 -0
  46. package/dist/vendor/internal/shims.cjs +91 -0
  47. package/dist/vendor/internal/stainless-helper-header.cjs +90 -0
  48. package/dist/vendor/internal/stream-utils.cjs +37 -0
  49. package/dist/vendor/internal/to-file.cjs +95 -0
  50. package/dist/vendor/internal/types.cjs +3 -0
  51. package/dist/vendor/internal/uploads.cjs +148 -0
  52. package/dist/vendor/internal/utils/abort.cjs +24 -0
  53. package/dist/vendor/internal/utils/async-queue.cjs +69 -0
  54. package/dist/vendor/internal/utils/backoff.cjs +43 -0
  55. package/dist/vendor/internal/utils/base64.cjs +37 -0
  56. package/dist/vendor/internal/utils/bytes.cjs +30 -0
  57. package/dist/vendor/internal/utils/env.cjs +21 -0
  58. package/dist/vendor/internal/utils/log.cjs +111 -0
  59. package/dist/vendor/internal/utils/path.cjs +78 -0
  60. package/dist/vendor/internal/utils/promise.cjs +17 -0
  61. package/dist/vendor/internal/utils/query.cjs +41 -0
  62. package/dist/vendor/internal/utils/sleep.cjs +27 -0
  63. package/dist/vendor/internal/utils/time.cjs +7 -0
  64. package/dist/vendor/internal/utils/uuid.cjs +18 -0
  65. package/dist/vendor/internal/utils/values.cjs +125 -0
  66. package/dist/vendor/internal/utils.cjs +24 -0
  67. package/dist/vendor/lib/BetaMessageStream.cjs +665 -0
  68. package/dist/vendor/lib/MessageStream.cjs +612 -0
  69. package/dist/vendor/lib/beta-parser.cjs +78 -0
  70. package/dist/vendor/lib/credentials/credential-chain.cjs +244 -0
  71. package/dist/vendor/lib/credentials/identity-token.cjs +71 -0
  72. package/dist/vendor/lib/credentials/oidc-federation.cjs +81 -0
  73. package/dist/vendor/lib/credentials/token-cache.cjs +113 -0
  74. package/dist/vendor/lib/credentials/types.cjs +267 -0
  75. package/dist/vendor/lib/credentials/user-oauth.cjs +129 -0
  76. package/dist/vendor/lib/credentials.cjs +7 -0
  77. package/dist/vendor/lib/environments/index.cjs +17 -0
  78. package/dist/vendor/lib/environments/poller.cjs +226 -0
  79. package/dist/vendor/lib/environments/worker.cjs +609 -0
  80. package/dist/vendor/lib/helper-client.cjs +57 -0
  81. package/dist/vendor/lib/middleware.cjs +779 -0
  82. package/dist/vendor/lib/parser.cjs +65 -0
  83. package/dist/vendor/lib/sessions/accumulate.cjs +44 -0
  84. package/dist/vendor/lib/standard-schema.cjs +44 -0
  85. package/dist/vendor/lib/tools/BetaRunnableTool.cjs +30 -0
  86. package/dist/vendor/lib/tools/BetaToolRunner.cjs +500 -0
  87. package/dist/vendor/lib/tools/CompactionControl.cjs +27 -0
  88. package/dist/vendor/lib/tools/SessionToolRunner.cjs +740 -0
  89. package/dist/vendor/lib/tools/ToolError.cjs +46 -0
  90. package/dist/vendor/lib/transform-json-schema.cjs +113 -0
  91. package/dist/vendor/pagination.cjs +18 -0
  92. package/dist/vendor/resource.cjs +18 -0
  93. package/dist/vendor/resources/beta/agents/agents.cjs +159 -0
  94. package/dist/vendor/resources/beta/agents/index.cjs +8 -0
  95. package/dist/vendor/resources/beta/agents/versions.cjs +35 -0
  96. package/dist/vendor/resources/beta/agents.cjs +18 -0
  97. package/dist/vendor/resources/beta/beta.cjs +105 -0
  98. package/dist/vendor/resources/beta/deployment-runs.cjs +54 -0
  99. package/dist/vendor/resources/beta/deployments.cjs +195 -0
  100. package/dist/vendor/resources/beta/dreams.cjs +115 -0
  101. package/dist/vendor/resources/beta/environments/environments.cjs +178 -0
  102. package/dist/vendor/resources/beta/environments/index.cjs +8 -0
  103. package/dist/vendor/resources/beta/environments/work.cjs +256 -0
  104. package/dist/vendor/resources/beta/environments.cjs +18 -0
  105. package/dist/vendor/resources/beta/files.cjs +123 -0
  106. package/dist/vendor/resources/beta/index.cjs +38 -0
  107. package/dist/vendor/resources/beta/memory-stores/index.cjs +10 -0
  108. package/dist/vendor/resources/beta/memory-stores/memories.cjs +129 -0
  109. package/dist/vendor/resources/beta/memory-stores/memory-stores.cjs +173 -0
  110. package/dist/vendor/resources/beta/memory-stores/memory-versions.cjs +80 -0
  111. package/dist/vendor/resources/beta/memory-stores.cjs +18 -0
  112. package/dist/vendor/resources/beta/messages/batches.cjs +206 -0
  113. package/dist/vendor/resources/beta/messages/index.cjs +11 -0
  114. package/dist/vendor/resources/beta/messages/messages.cjs +189 -0
  115. package/dist/vendor/resources/beta/messages.cjs +18 -0
  116. package/dist/vendor/resources/beta/models.cjs +59 -0
  117. package/dist/vendor/resources/beta/organization/api-keys.cjs +55 -0
  118. package/dist/vendor/resources/beta/organization/compliance-settings.cjs +51 -0
  119. package/dist/vendor/resources/beta/organization/external-keys.cjs +118 -0
  120. package/dist/vendor/resources/beta/organization/federation/federation.cjs +49 -0
  121. package/dist/vendor/resources/beta/organization/federation/index.cjs +10 -0
  122. package/dist/vendor/resources/beta/organization/federation/issuers.cjs +168 -0
  123. package/dist/vendor/resources/beta/organization/federation/rules/index.cjs +8 -0
  124. package/dist/vendor/resources/beta/organization/federation/rules/rules.cjs +226 -0
  125. package/dist/vendor/resources/beta/organization/federation/rules/workspaces.cjs +113 -0
  126. package/dist/vendor/resources/beta/organization/federation/rules.cjs +18 -0
  127. package/dist/vendor/resources/beta/organization/federation.cjs +18 -0
  128. package/dist/vendor/resources/beta/organization/index.cjs +24 -0
  129. package/dist/vendor/resources/beta/organization/invites.cjs +75 -0
  130. package/dist/vendor/resources/beta/organization/organization.cjs +90 -0
  131. package/dist/vendor/resources/beta/organization/rate-limits.cjs +30 -0
  132. package/dist/vendor/resources/beta/organization/service-accounts/index.cjs +8 -0
  133. package/dist/vendor/resources/beta/organization/service-accounts/service-accounts.cjs +202 -0
  134. package/dist/vendor/resources/beta/organization/service-accounts/workspaces.cjs +124 -0
  135. package/dist/vendor/resources/beta/organization/service-accounts.cjs +18 -0
  136. package/dist/vendor/resources/beta/organization/users.cjs +66 -0
  137. package/dist/vendor/resources/beta/organization/workspaces/index.cjs +12 -0
  138. package/dist/vendor/resources/beta/organization/workspaces/members.cjs +101 -0
  139. package/dist/vendor/resources/beta/organization/workspaces/rate-limits.cjs +33 -0
  140. package/dist/vendor/resources/beta/organization/workspaces/service-accounts.cjs +188 -0
  141. package/dist/vendor/resources/beta/organization/workspaces/workspaces.cjs +140 -0
  142. package/dist/vendor/resources/beta/organization/workspaces.cjs +18 -0
  143. package/dist/vendor/resources/beta/organization.cjs +18 -0
  144. package/dist/vendor/resources/beta/sessions/events.cjs +119 -0
  145. package/dist/vendor/resources/beta/sessions/index.cjs +12 -0
  146. package/dist/vendor/resources/beta/sessions/resources.cjs +131 -0
  147. package/dist/vendor/resources/beta/sessions/sessions.cjs +186 -0
  148. package/dist/vendor/resources/beta/sessions/threads/events.cjs +60 -0
  149. package/dist/vendor/resources/beta/sessions/threads/index.cjs +8 -0
  150. package/dist/vendor/resources/beta/sessions/threads/threads.cjs +116 -0
  151. package/dist/vendor/resources/beta/sessions/threads.cjs +18 -0
  152. package/dist/vendor/resources/beta/sessions.cjs +18 -0
  153. package/dist/vendor/resources/beta/skills/index.cjs +8 -0
  154. package/dist/vendor/resources/beta/skills/skills.cjs +132 -0
  155. package/dist/vendor/resources/beta/skills/versions.cjs +128 -0
  156. package/dist/vendor/resources/beta/skills.cjs +18 -0
  157. package/dist/vendor/resources/beta/tunnels/certificates.cjs +128 -0
  158. package/dist/vendor/resources/beta/tunnels/index.cjs +8 -0
  159. package/dist/vendor/resources/beta/tunnels/tunnels.cjs +209 -0
  160. package/dist/vendor/resources/beta/tunnels.cjs +18 -0
  161. package/dist/vendor/resources/beta/user-profiles.cjs +117 -0
  162. package/dist/vendor/resources/beta/vaults/credentials.cjs +176 -0
  163. package/dist/vendor/resources/beta/vaults/index.cjs +8 -0
  164. package/dist/vendor/resources/beta/vaults/vaults.cjs +177 -0
  165. package/dist/vendor/resources/beta/vaults.cjs +18 -0
  166. package/dist/vendor/resources/beta/webhooks.cjs +32 -0
  167. package/dist/vendor/resources/beta.cjs +18 -0
  168. package/dist/vendor/resources/completions.cjs +22 -0
  169. package/dist/vendor/resources/files.cjs +51 -0
  170. package/dist/vendor/resources/index.cjs +31 -0
  171. package/dist/vendor/resources/messages/batches.cjs +160 -0
  172. package/dist/vendor/resources/messages/index.cjs +8 -0
  173. package/dist/vendor/resources/messages/messages.cjs +159 -0
  174. package/dist/vendor/resources/messages.cjs +18 -0
  175. package/dist/vendor/resources/models.cjs +44 -0
  176. package/dist/vendor/resources/shared.cjs +3 -0
  177. package/dist/vendor/resources/skills/index.cjs +8 -0
  178. package/dist/vendor/resources/skills/skills.cjs +72 -0
  179. package/dist/vendor/resources/skills/versions.cjs +40 -0
  180. package/dist/vendor/resources/skills.cjs +18 -0
  181. package/dist/vendor/resources/top-level.cjs +3 -0
  182. package/dist/vendor/resources.cjs +17 -0
  183. package/dist/vendor/streaming.cjs +18 -0
  184. package/dist/vendor/tools/agent-toolset/fs-util.cjs +193 -0
  185. package/dist/vendor/tools/agent-toolset/memories.cjs +916 -0
  186. package/dist/vendor/tools/agent-toolset/node.browser.cjs +147 -0
  187. package/dist/vendor/tools/agent-toolset/node.cjs +939 -0
  188. package/dist/vendor/tools/agent-toolset/skills.cjs +325 -0
  189. package/dist/vendor/tools/agent-toolset/sync-interval.cjs +28 -0
  190. package/dist/vendor/tools/memory/node.browser.cjs +48 -0
  191. package/dist/vendor/tools/memory/node.cjs +364 -0
  192. package/dist/vendor/uploads.cjs +18 -0
  193. package/dist/vendor/version.cjs +4 -0
  194. package/dist/vendor/version.d.ts +1 -1
  195. package/dist/vendor/version.js +1 -1
  196. package/package.json +12 -13
  197. package/sdk.cjs +0 -14271
  198. package/sdk.cjs.map +0 -149
  199. package/sdk.d.ts +0 -10866
  200. package/sdk.mjs +0 -68
  201. package/sdk.mjs.map +0 -149
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.zodOutputFormat = zodOutputFormat;
37
+ const transform_json_schema_1 = require("../lib/transform-json-schema");
38
+ const z = __importStar(require("zod/v4"));
39
+ const error_1 = require("../core/error");
40
+ /**
41
+ * Creates a JSON schema output format object from the given Zod schema.
42
+ *
43
+ * If this is passed to the `.parse()` method then the response message will contain a
44
+ * `.parsed_output` property that is the result of parsing the content with the given Zod object.
45
+ *
46
+ * This can be passed directly to the `.create()` method but will not
47
+ * result in any automatic parsing, you'll have to parse the response yourself.
48
+ */
49
+ function zodOutputFormat(zodObject) {
50
+ const jsonSchema = (0, transform_json_schema_1.transformJSONSchema)(z.toJSONSchema(zodObject, { reused: 'ref' }));
51
+ return {
52
+ type: 'json_schema',
53
+ schema: {
54
+ ...jsonSchema,
55
+ },
56
+ parse: (content) => {
57
+ let parsed;
58
+ try {
59
+ parsed = JSON.parse(content);
60
+ }
61
+ catch (error) {
62
+ throw new error_1.PukuError(`Failed to parse structured output as JSON: ${error instanceof Error ? error.message : String(error)}`);
63
+ }
64
+ const output = zodObject.safeParse(parsed);
65
+ if (!output.success) {
66
+ const formattedIssues = output.error.issues
67
+ .slice(0, 5)
68
+ .map((issue) => ` - ${issue.path.join('.')}: ${issue.message}`)
69
+ .join('\n');
70
+ const issueCount = output.error.issues.length;
71
+ const suffix = issueCount > 5 ? `\n ... and ${issueCount - 5} more issue(s)` : '';
72
+ throw new error_1.PukuError(`Failed to parse structured output: ${output.error.message}\nValidation issues:\n${formattedIssues}${suffix}`);
73
+ }
74
+ return output.data;
75
+ },
76
+ };
77
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ //
4
+ // Public API surface:
5
+ // `PukuAI` — client class (default + named)
6
+ // `BasePuku` — base class (named)
7
+ // `PukuError` — base error (named; static `PukuAI.PukuError` is also exposed)
8
+ //
9
+ // Static members on `PukuAI` mirror the upstream pattern: `PukuAI.PukuError`,
10
+ // `PukuAI.APIError`, `PukuAI.RateLimitError`, ... are accessible directly.
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Stream = exports.UnprocessableEntityError = exports.PermissionDeniedError = exports.InternalServerError = exports.AuthenticationError = exports.BadRequestError = exports.RateLimitError = exports.ConflictError = exports.NotFoundError = exports.RetryableError = exports.APIUserAbortError = exports.APIConnectionTimeoutError = exports.APIConnectionError = exports.APIError = exports.PukuError = exports.MODEL_NONSTREAMING_TOKENS = exports.FEDERATION_BETA_HEADER = exports.OAUTH_API_BETA_HEADER = exports.PagePromise = exports.AI_PROMPT = exports.HUMAN_PROMPT = exports.BetaFallbackState = exports.betaRefusalFallbackMiddleware = exports.APIPromise = exports.toFile = exports.VERSION = exports.BasePuku = exports.PukuAI = exports.default = void 0;
13
+ var client_js_1 = require("./client.js");
14
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return client_js_1.PukuAI; } });
15
+ Object.defineProperty(exports, "PukuAI", { enumerable: true, get: function () { return client_js_1.PukuAI; } });
16
+ Object.defineProperty(exports, "BasePuku", { enumerable: true, get: function () { return client_js_1.BasePuku; } });
17
+ var version_js_1 = require("./version.js");
18
+ Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_js_1.VERSION; } });
19
+ var uploads_js_1 = require("./core/uploads.js");
20
+ Object.defineProperty(exports, "toFile", { enumerable: true, get: function () { return uploads_js_1.toFile; } });
21
+ var api_promise_js_1 = require("./core/api-promise.js");
22
+ Object.defineProperty(exports, "APIPromise", { enumerable: true, get: function () { return api_promise_js_1.APIPromise; } });
23
+ var middleware_js_1 = require("./lib/middleware.js");
24
+ Object.defineProperty(exports, "betaRefusalFallbackMiddleware", { enumerable: true, get: function () { return middleware_js_1.betaRefusalFallbackMiddleware; } });
25
+ Object.defineProperty(exports, "BetaFallbackState", { enumerable: true, get: function () { return middleware_js_1.BetaFallbackState; } });
26
+ var client_js_2 = require("./client.js");
27
+ Object.defineProperty(exports, "HUMAN_PROMPT", { enumerable: true, get: function () { return client_js_2.HUMAN_PROMPT; } });
28
+ Object.defineProperty(exports, "AI_PROMPT", { enumerable: true, get: function () { return client_js_2.AI_PROMPT; } });
29
+ var pagination_js_1 = require("./core/pagination.js");
30
+ Object.defineProperty(exports, "PagePromise", { enumerable: true, get: function () { return pagination_js_1.PagePromise; } });
31
+ // ── Constants ──────────────────────────────────────────────────────────────
32
+ var types_js_1 = require("./lib/credentials/types.js");
33
+ Object.defineProperty(exports, "OAUTH_API_BETA_HEADER", { enumerable: true, get: function () { return types_js_1.OAUTH_API_BETA_HEADER; } });
34
+ Object.defineProperty(exports, "FEDERATION_BETA_HEADER", { enumerable: true, get: function () { return types_js_1.FEDERATION_BETA_HEADER; } });
35
+ var constants_js_1 = require("./internal/constants.js");
36
+ Object.defineProperty(exports, "MODEL_NONSTREAMING_TOKENS", { enumerable: true, get: function () { return constants_js_1.MODEL_NONSTREAMING_TOKENS; } });
37
+ var error_js_1 = require("./core/error.js");
38
+ Object.defineProperty(exports, "PukuError", { enumerable: true, get: function () { return error_js_1.PukuError; } });
39
+ Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return error_js_1.APIError; } });
40
+ Object.defineProperty(exports, "APIConnectionError", { enumerable: true, get: function () { return error_js_1.APIConnectionError; } });
41
+ Object.defineProperty(exports, "APIConnectionTimeoutError", { enumerable: true, get: function () { return error_js_1.APIConnectionTimeoutError; } });
42
+ Object.defineProperty(exports, "APIUserAbortError", { enumerable: true, get: function () { return error_js_1.APIUserAbortError; } });
43
+ Object.defineProperty(exports, "RetryableError", { enumerable: true, get: function () { return error_js_1.RetryableError; } });
44
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return error_js_1.NotFoundError; } });
45
+ Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return error_js_1.ConflictError; } });
46
+ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return error_js_1.RateLimitError; } });
47
+ Object.defineProperty(exports, "BadRequestError", { enumerable: true, get: function () { return error_js_1.BadRequestError; } });
48
+ Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return error_js_1.AuthenticationError; } });
49
+ Object.defineProperty(exports, "InternalServerError", { enumerable: true, get: function () { return error_js_1.InternalServerError; } });
50
+ Object.defineProperty(exports, "PermissionDeniedError", { enumerable: true, get: function () { return error_js_1.PermissionDeniedError; } });
51
+ Object.defineProperty(exports, "UnprocessableEntityError", { enumerable: true, get: function () { return error_js_1.UnprocessableEntityError; } });
52
+ // ── Streaming class ─────────────────────────────────────────────────────────
53
+ var streaming_js_1 = require("./core/streaming.js");
54
+ Object.defineProperty(exports, "Stream", { enumerable: true, get: function () { return streaming_js_1.Stream; } });
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // File containing shared constants
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MODEL_NONSTREAMING_TOKENS = void 0;
5
+ /**
6
+ * Model-specific timeout constraints for non-streaming requests
7
+ */
8
+ exports.MODEL_NONSTREAMING_TOKENS = {
9
+ 'puku-ai-2.7': 8192,
10
+ 'puku-ai-2.8': 8192,
11
+ 'opus-4.8': 8192,
12
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JSONLDecoder = void 0;
4
+ const error_1 = require("../../core/error");
5
+ const shims_1 = require("../shims");
6
+ const line_1 = require("./line");
7
+ class JSONLDecoder {
8
+ iterator;
9
+ controller;
10
+ constructor(iterator, controller) {
11
+ this.iterator = iterator;
12
+ this.controller = controller;
13
+ }
14
+ async *decoder() {
15
+ const lineDecoder = new line_1.LineDecoder();
16
+ for await (const chunk of this.iterator) {
17
+ for (const line of lineDecoder.decode(chunk)) {
18
+ yield JSON.parse(line);
19
+ }
20
+ }
21
+ for (const line of lineDecoder.flush()) {
22
+ yield JSON.parse(line);
23
+ }
24
+ }
25
+ [Symbol.asyncIterator]() {
26
+ return this.decoder();
27
+ }
28
+ static fromResponse(response, controller) {
29
+ if (!response.body) {
30
+ controller.abort();
31
+ if (typeof globalThis.navigator !== 'undefined' &&
32
+ globalThis.navigator.product === 'ReactNative') {
33
+ throw new error_1.PukuError(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`);
34
+ }
35
+ throw new error_1.PukuError(`Attempted to iterate over a response with no body`);
36
+ }
37
+ return new JSONLDecoder((0, shims_1.ReadableStreamToAsyncIterable)(response.body), controller);
38
+ }
39
+ }
40
+ exports.JSONLDecoder = JSONLDecoder;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LineDecoder = void 0;
4
+ exports.findDoubleNewlineIndex = findDoubleNewlineIndex;
5
+ const bytes_1 = require("../utils/bytes");
6
+ /**
7
+ * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
8
+ * reading lines from text.
9
+ *
10
+ *
11
+ */
12
+ class LineDecoder {
13
+ // prettier-ignore
14
+ static NEWLINE_CHARS = new Set(['\n', '\r']);
15
+ static NEWLINE_REGEXP = /\r\n|[\n\r]/g;
16
+ #buffer;
17
+ #carriageReturnIndex;
18
+ constructor() {
19
+ this.#buffer = new Uint8Array();
20
+ this.#carriageReturnIndex = null;
21
+ }
22
+ decode(chunk) {
23
+ if (chunk == null) {
24
+ return [];
25
+ }
26
+ const binaryChunk = chunk instanceof ArrayBuffer ? new Uint8Array(chunk)
27
+ : typeof chunk === 'string' ? (0, bytes_1.encodeUTF8)(chunk)
28
+ : chunk;
29
+ this.#buffer = (0, bytes_1.concatBytes)([this.#buffer, binaryChunk]);
30
+ const lines = [];
31
+ let patternIndex;
32
+ while ((patternIndex = findNewlineIndex(this.#buffer, this.#carriageReturnIndex)) != null) {
33
+ if (patternIndex.carriage && this.#carriageReturnIndex == null) {
34
+ // skip until we either get a corresponding `\n`, a new `\r` or nothing
35
+ this.#carriageReturnIndex = patternIndex.index;
36
+ continue;
37
+ }
38
+ // we got double \r or \rtext\n
39
+ if (this.#carriageReturnIndex != null &&
40
+ (patternIndex.index !== this.#carriageReturnIndex + 1 || patternIndex.carriage)) {
41
+ lines.push((0, bytes_1.decodeUTF8)(this.#buffer.subarray(0, this.#carriageReturnIndex - 1)));
42
+ this.#buffer = this.#buffer.subarray(this.#carriageReturnIndex);
43
+ this.#carriageReturnIndex = null;
44
+ continue;
45
+ }
46
+ const endIndex = this.#carriageReturnIndex !== null ? patternIndex.preceding - 1 : patternIndex.preceding;
47
+ const line = (0, bytes_1.decodeUTF8)(this.#buffer.subarray(0, endIndex));
48
+ lines.push(line);
49
+ this.#buffer = this.#buffer.subarray(patternIndex.index);
50
+ this.#carriageReturnIndex = null;
51
+ }
52
+ return lines;
53
+ }
54
+ flush() {
55
+ if (!this.#buffer.length) {
56
+ return [];
57
+ }
58
+ return this.decode('\n');
59
+ }
60
+ }
61
+ exports.LineDecoder = LineDecoder;
62
+ /**
63
+ * This function searches the buffer for the end patterns, (\r or \n)
64
+ * and returns an object with the index preceding the matched newline and the
65
+ * index after the newline char. `null` is returned if no new line is found.
66
+ *
67
+ * ```ts
68
+ * findNewLineIndex('abc\ndef') -> { preceding: 2, index: 3 }
69
+ * ```
70
+ */
71
+ function findNewlineIndex(buffer, startIndex) {
72
+ const newline = 0x0a; // \n
73
+ const carriage = 0x0d; // \r
74
+ for (let i = startIndex ?? 0; i < buffer.length; i++) {
75
+ if (buffer[i] === newline) {
76
+ return { preceding: i, index: i + 1, carriage: false };
77
+ }
78
+ if (buffer[i] === carriage) {
79
+ return { preceding: i, index: i + 1, carriage: true };
80
+ }
81
+ }
82
+ return null;
83
+ }
84
+ function findDoubleNewlineIndex(buffer) {
85
+ // This function searches the buffer for the end patterns (\r\r, \n\n, \r\n\r\n)
86
+ // and returns the index right after the first occurrence of any pattern,
87
+ // or -1 if none of the patterns are found.
88
+ const newline = 0x0a; // \n
89
+ const carriage = 0x0d; // \r
90
+ for (let i = 0; i < buffer.length - 1; i++) {
91
+ if (buffer[i] === newline && buffer[i + 1] === newline) {
92
+ // \n\n
93
+ return i + 2;
94
+ }
95
+ if (buffer[i] === carriage && buffer[i + 1] === carriage) {
96
+ // \r\r
97
+ return i + 2;
98
+ }
99
+ if (buffer[i] === carriage &&
100
+ buffer[i + 1] === newline &&
101
+ i + 3 < buffer.length &&
102
+ buffer[i + 2] === carriage &&
103
+ buffer[i + 3] === newline) {
104
+ // \r\n\r\n
105
+ return i + 4;
106
+ }
107
+ }
108
+ return -1;
109
+ }
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getPlatformHeaders = exports.isRunningInBrowser = void 0;
5
+ const version_1 = require("../version");
6
+ const isRunningInBrowser = () => {
7
+ return (
8
+ // @ts-ignore
9
+ typeof window !== 'undefined' &&
10
+ // @ts-ignore
11
+ typeof window.document !== 'undefined' &&
12
+ // @ts-ignore
13
+ typeof navigator !== 'undefined');
14
+ };
15
+ exports.isRunningInBrowser = isRunningInBrowser;
16
+ /**
17
+ * Note this does not detect 'browser'; for that, use getBrowserInfo().
18
+ */
19
+ function getDetectedPlatform() {
20
+ if (typeof Deno !== 'undefined' && Deno.build != null) {
21
+ return 'deno';
22
+ }
23
+ if (typeof EdgeRuntime !== 'undefined') {
24
+ return 'edge';
25
+ }
26
+ if (Object.prototype.toString.call(typeof globalThis.process !== 'undefined' ? globalThis.process : 0) === '[object process]') {
27
+ return 'node';
28
+ }
29
+ return 'unknown';
30
+ }
31
+ const getPlatformProperties = () => {
32
+ const detectedPlatform = getDetectedPlatform();
33
+ if (detectedPlatform === 'deno') {
34
+ return {
35
+ 'X-Stainless-Lang': 'js',
36
+ 'X-Stainless-Package-Version': version_1.VERSION,
37
+ 'X-Stainless-OS': normalizePlatform(Deno.build.os),
38
+ 'X-Stainless-Arch': normalizeArch(Deno.build.arch),
39
+ 'X-Stainless-Runtime': 'deno',
40
+ 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : Deno.version?.deno ?? 'unknown',
41
+ };
42
+ }
43
+ if (typeof EdgeRuntime !== 'undefined') {
44
+ return {
45
+ 'X-Stainless-Lang': 'js',
46
+ 'X-Stainless-Package-Version': version_1.VERSION,
47
+ 'X-Stainless-OS': 'Unknown',
48
+ 'X-Stainless-Arch': `other:${EdgeRuntime}`,
49
+ 'X-Stainless-Runtime': 'edge',
50
+ 'X-Stainless-Runtime-Version': globalThis.process?.version ?? 'unknown',
51
+ };
52
+ }
53
+ // Check if Node.js
54
+ if (detectedPlatform === 'node') {
55
+ return {
56
+ 'X-Stainless-Lang': 'js',
57
+ 'X-Stainless-Package-Version': version_1.VERSION,
58
+ 'X-Stainless-OS': normalizePlatform(globalThis.process.platform ?? 'unknown'),
59
+ 'X-Stainless-Arch': normalizeArch(globalThis.process.arch ?? 'unknown'),
60
+ 'X-Stainless-Runtime': 'node',
61
+ 'X-Stainless-Runtime-Version': globalThis.process.version ?? 'unknown',
62
+ };
63
+ }
64
+ const browserInfo = getBrowserInfo();
65
+ if (browserInfo) {
66
+ return {
67
+ 'X-Stainless-Lang': 'js',
68
+ 'X-Stainless-Package-Version': version_1.VERSION,
69
+ 'X-Stainless-OS': 'Unknown',
70
+ 'X-Stainless-Arch': 'unknown',
71
+ 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,
72
+ 'X-Stainless-Runtime-Version': browserInfo.version,
73
+ };
74
+ }
75
+ // TODO add support for Cloudflare workers, etc.
76
+ return {
77
+ 'X-Stainless-Lang': 'js',
78
+ 'X-Stainless-Package-Version': version_1.VERSION,
79
+ 'X-Stainless-OS': 'Unknown',
80
+ 'X-Stainless-Arch': 'unknown',
81
+ 'X-Stainless-Runtime': 'unknown',
82
+ 'X-Stainless-Runtime-Version': 'unknown',
83
+ };
84
+ };
85
+ // Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts
86
+ function getBrowserInfo() {
87
+ if (typeof navigator === 'undefined' || !navigator) {
88
+ return null;
89
+ }
90
+ // NOTE: The order matters here!
91
+ const browserPatterns = [
92
+ { key: 'edge', pattern: /Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
93
+ { key: 'ie', pattern: /MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
94
+ { key: 'ie', pattern: /Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/ },
95
+ { key: 'chrome', pattern: /Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
96
+ { key: 'firefox', pattern: /Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/ },
97
+ { key: 'safari', pattern: /(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/ },
98
+ ];
99
+ // Find the FIRST matching browser
100
+ for (const { key, pattern } of browserPatterns) {
101
+ const match = pattern.exec(navigator.userAgent);
102
+ if (match) {
103
+ const major = match[1] || 0;
104
+ const minor = match[2] || 0;
105
+ const patch = match[3] || 0;
106
+ return { browser: key, version: `${major}.${minor}.${patch}` };
107
+ }
108
+ }
109
+ return null;
110
+ }
111
+ const normalizeArch = (arch) => {
112
+ // Node docs:
113
+ // - https://nodejs.org/api/process.html#processarch
114
+ // Deno docs:
115
+ // - https://doc.deno.land/deno/stable/~/Deno.build
116
+ if (arch === 'x32')
117
+ return 'x32';
118
+ if (arch === 'x86_64' || arch === 'x64')
119
+ return 'x64';
120
+ if (arch === 'arm')
121
+ return 'arm';
122
+ if (arch === 'aarch64' || arch === 'arm64')
123
+ return 'arm64';
124
+ if (arch)
125
+ return `other:${arch}`;
126
+ return 'unknown';
127
+ };
128
+ const normalizePlatform = (platform) => {
129
+ // Node platforms:
130
+ // - https://nodejs.org/api/process.html#processplatform
131
+ // Deno platforms:
132
+ platform = platform.toLowerCase();
133
+ // NOTE: this iOS check is untested and may not work
134
+ // Node does not work natively on IOS, there is a fork at
135
+ // https://github.com/nodejs-mobile/nodejs-mobile
136
+ // however it is unknown at the time of writing how to detect if it is running
137
+ if (platform.includes('ios'))
138
+ return 'iOS';
139
+ if (platform === 'android')
140
+ return 'Android';
141
+ if (platform === 'darwin')
142
+ return 'MacOS';
143
+ if (platform === 'win32')
144
+ return 'Windows';
145
+ if (platform === 'freebsd')
146
+ return 'FreeBSD';
147
+ if (platform === 'openbsd')
148
+ return 'OpenBSD';
149
+ if (platform === 'linux')
150
+ return 'Linux';
151
+ if (platform)
152
+ return `Other:${platform}`;
153
+ return 'Unknown';
154
+ };
155
+ let _platformHeaders;
156
+ const getPlatformHeaders = () => {
157
+ return (_platformHeaders ??= getPlatformProperties());
158
+ };
159
+ exports.getPlatformHeaders = getPlatformHeaders;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.castToError = void 0;
5
+ exports.isAbortError = isAbortError;
6
+ function isAbortError(err) {
7
+ return (typeof err === 'object' &&
8
+ err !== null &&
9
+ // Spec-compliant fetch implementations
10
+ (('name' in err && err.name === 'AbortError') ||
11
+ // Expo fetch
12
+ ('message' in err && String(err.message).includes('FetchRequestCanceledException'))));
13
+ }
14
+ const castToError = (err) => {
15
+ if (err instanceof Error)
16
+ return err;
17
+ if (typeof err === 'object' && err !== null) {
18
+ try {
19
+ const tag = Object.prototype.toString.call(err);
20
+ // cross-realm errors (e.g. undici's abort `DOMException` under jest) fail `instanceof Error`
21
+ if (tag === '[object Error]' || tag === '[object DOMException]') {
22
+ // @ts-ignore - not all envs have native support for cause yet
23
+ const error = new Error(err.message, err.cause ? { cause: err.cause } : {});
24
+ if (err.stack)
25
+ error.stack = err.stack;
26
+ // @ts-ignore - not all envs have native support for cause yet
27
+ if (err.cause && !error.cause)
28
+ error.cause = err.cause;
29
+ if (err.name)
30
+ error.name = err.name;
31
+ return error;
32
+ }
33
+ }
34
+ catch { }
35
+ try {
36
+ return new Error(JSON.stringify(err));
37
+ }
38
+ catch { }
39
+ }
40
+ return new Error(err);
41
+ };
42
+ exports.castToError = castToError;