@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.
- package/README.md +24 -7
- package/dist/index.cjs +85 -0
- package/dist/vendor/_vendor/partial-json-parser/parser.cjs +225 -0
- package/dist/vendor/api-promise.cjs +18 -0
- package/dist/vendor/client.cjs +1013 -0
- package/dist/vendor/core/api-promise.cjs +80 -0
- package/dist/vendor/core/api.cjs +2 -0
- package/dist/vendor/core/credentials.cjs +313 -0
- package/dist/vendor/core/error.cjs +156 -0
- package/dist/vendor/core/middleware.cjs +173 -0
- package/dist/vendor/core/pagination.cjs +215 -0
- package/dist/vendor/core/resource.cjs +11 -0
- package/dist/vendor/core/streaming.cjs +346 -0
- package/dist/vendor/core/uploads.cjs +5 -0
- package/dist/vendor/error.cjs +18 -0
- package/dist/vendor/helpers/beta/environments.cjs +30 -0
- package/dist/vendor/helpers/beta/json-schema.cjs +56 -0
- package/dist/vendor/helpers/beta/mcp.cjs +418 -0
- package/dist/vendor/helpers/beta/memory.cjs +17 -0
- package/dist/vendor/helpers/beta/standard-schema.cjs +57 -0
- package/dist/vendor/helpers/beta/zod.cjs +88 -0
- package/dist/vendor/helpers/index.cjs +7 -0
- package/dist/vendor/helpers/json-schema.cjs +36 -0
- package/dist/vendor/helpers/zod.cjs +77 -0
- package/dist/vendor/index.cjs +54 -0
- package/dist/vendor/internal/builtin-types.cjs +3 -0
- package/dist/vendor/internal/constants.cjs +12 -0
- package/dist/vendor/internal/decoders/jsonl.cjs +40 -0
- package/dist/vendor/internal/decoders/line.cjs +109 -0
- package/dist/vendor/internal/detect-platform.cjs +159 -0
- package/dist/vendor/internal/errors.cjs +42 -0
- package/dist/vendor/internal/file-store.cjs +535 -0
- package/dist/vendor/internal/headers.cjs +119 -0
- package/dist/vendor/internal/message-stream-utils.cjs +33 -0
- package/dist/vendor/internal/node.browser.cjs +21 -0
- package/dist/vendor/internal/node.cjs +55 -0
- package/dist/vendor/internal/parse.cjs +65 -0
- package/dist/vendor/internal/qs/formats.cjs +12 -0
- package/dist/vendor/internal/qs/index.cjs +13 -0
- package/dist/vendor/internal/qs/stringify.cjs +276 -0
- package/dist/vendor/internal/qs/types.cjs +2 -0
- package/dist/vendor/internal/qs/utils.cjs +229 -0
- package/dist/vendor/internal/request-options.cjs +31 -0
- package/dist/vendor/internal/request-signal.cjs +49 -0
- package/dist/vendor/internal/shim-types.cjs +3 -0
- package/dist/vendor/internal/shims.cjs +91 -0
- package/dist/vendor/internal/stainless-helper-header.cjs +90 -0
- package/dist/vendor/internal/stream-utils.cjs +37 -0
- package/dist/vendor/internal/to-file.cjs +95 -0
- package/dist/vendor/internal/types.cjs +3 -0
- package/dist/vendor/internal/uploads.cjs +148 -0
- package/dist/vendor/internal/utils/abort.cjs +24 -0
- package/dist/vendor/internal/utils/async-queue.cjs +69 -0
- package/dist/vendor/internal/utils/backoff.cjs +43 -0
- package/dist/vendor/internal/utils/base64.cjs +37 -0
- package/dist/vendor/internal/utils/bytes.cjs +30 -0
- package/dist/vendor/internal/utils/env.cjs +21 -0
- package/dist/vendor/internal/utils/log.cjs +111 -0
- package/dist/vendor/internal/utils/path.cjs +78 -0
- package/dist/vendor/internal/utils/promise.cjs +17 -0
- package/dist/vendor/internal/utils/query.cjs +41 -0
- package/dist/vendor/internal/utils/sleep.cjs +27 -0
- package/dist/vendor/internal/utils/time.cjs +7 -0
- package/dist/vendor/internal/utils/uuid.cjs +18 -0
- package/dist/vendor/internal/utils/values.cjs +125 -0
- package/dist/vendor/internal/utils.cjs +24 -0
- package/dist/vendor/lib/BetaMessageStream.cjs +665 -0
- package/dist/vendor/lib/MessageStream.cjs +612 -0
- package/dist/vendor/lib/beta-parser.cjs +78 -0
- package/dist/vendor/lib/credentials/credential-chain.cjs +244 -0
- package/dist/vendor/lib/credentials/identity-token.cjs +71 -0
- package/dist/vendor/lib/credentials/oidc-federation.cjs +81 -0
- package/dist/vendor/lib/credentials/token-cache.cjs +113 -0
- package/dist/vendor/lib/credentials/types.cjs +267 -0
- package/dist/vendor/lib/credentials/user-oauth.cjs +129 -0
- package/dist/vendor/lib/credentials.cjs +7 -0
- package/dist/vendor/lib/environments/index.cjs +17 -0
- package/dist/vendor/lib/environments/poller.cjs +226 -0
- package/dist/vendor/lib/environments/worker.cjs +609 -0
- package/dist/vendor/lib/helper-client.cjs +57 -0
- package/dist/vendor/lib/middleware.cjs +779 -0
- package/dist/vendor/lib/parser.cjs +65 -0
- package/dist/vendor/lib/sessions/accumulate.cjs +44 -0
- package/dist/vendor/lib/standard-schema.cjs +44 -0
- package/dist/vendor/lib/tools/BetaRunnableTool.cjs +30 -0
- package/dist/vendor/lib/tools/BetaToolRunner.cjs +500 -0
- package/dist/vendor/lib/tools/CompactionControl.cjs +27 -0
- package/dist/vendor/lib/tools/SessionToolRunner.cjs +740 -0
- package/dist/vendor/lib/tools/ToolError.cjs +46 -0
- package/dist/vendor/lib/transform-json-schema.cjs +113 -0
- package/dist/vendor/pagination.cjs +18 -0
- package/dist/vendor/resource.cjs +18 -0
- package/dist/vendor/resources/beta/agents/agents.cjs +159 -0
- package/dist/vendor/resources/beta/agents/index.cjs +8 -0
- package/dist/vendor/resources/beta/agents/versions.cjs +35 -0
- package/dist/vendor/resources/beta/agents.cjs +18 -0
- package/dist/vendor/resources/beta/beta.cjs +105 -0
- package/dist/vendor/resources/beta/deployment-runs.cjs +54 -0
- package/dist/vendor/resources/beta/deployments.cjs +195 -0
- package/dist/vendor/resources/beta/dreams.cjs +115 -0
- package/dist/vendor/resources/beta/environments/environments.cjs +178 -0
- package/dist/vendor/resources/beta/environments/index.cjs +8 -0
- package/dist/vendor/resources/beta/environments/work.cjs +256 -0
- package/dist/vendor/resources/beta/environments.cjs +18 -0
- package/dist/vendor/resources/beta/files.cjs +123 -0
- package/dist/vendor/resources/beta/index.cjs +38 -0
- package/dist/vendor/resources/beta/memory-stores/index.cjs +10 -0
- package/dist/vendor/resources/beta/memory-stores/memories.cjs +129 -0
- package/dist/vendor/resources/beta/memory-stores/memory-stores.cjs +173 -0
- package/dist/vendor/resources/beta/memory-stores/memory-versions.cjs +80 -0
- package/dist/vendor/resources/beta/memory-stores.cjs +18 -0
- package/dist/vendor/resources/beta/messages/batches.cjs +206 -0
- package/dist/vendor/resources/beta/messages/index.cjs +11 -0
- package/dist/vendor/resources/beta/messages/messages.cjs +189 -0
- package/dist/vendor/resources/beta/messages.cjs +18 -0
- package/dist/vendor/resources/beta/models.cjs +59 -0
- package/dist/vendor/resources/beta/organization/api-keys.cjs +55 -0
- package/dist/vendor/resources/beta/organization/compliance-settings.cjs +51 -0
- package/dist/vendor/resources/beta/organization/external-keys.cjs +118 -0
- package/dist/vendor/resources/beta/organization/federation/federation.cjs +49 -0
- package/dist/vendor/resources/beta/organization/federation/index.cjs +10 -0
- package/dist/vendor/resources/beta/organization/federation/issuers.cjs +168 -0
- package/dist/vendor/resources/beta/organization/federation/rules/index.cjs +8 -0
- package/dist/vendor/resources/beta/organization/federation/rules/rules.cjs +226 -0
- package/dist/vendor/resources/beta/organization/federation/rules/workspaces.cjs +113 -0
- package/dist/vendor/resources/beta/organization/federation/rules.cjs +18 -0
- package/dist/vendor/resources/beta/organization/federation.cjs +18 -0
- package/dist/vendor/resources/beta/organization/index.cjs +24 -0
- package/dist/vendor/resources/beta/organization/invites.cjs +75 -0
- package/dist/vendor/resources/beta/organization/organization.cjs +90 -0
- package/dist/vendor/resources/beta/organization/rate-limits.cjs +30 -0
- package/dist/vendor/resources/beta/organization/service-accounts/index.cjs +8 -0
- package/dist/vendor/resources/beta/organization/service-accounts/service-accounts.cjs +202 -0
- package/dist/vendor/resources/beta/organization/service-accounts/workspaces.cjs +124 -0
- package/dist/vendor/resources/beta/organization/service-accounts.cjs +18 -0
- package/dist/vendor/resources/beta/organization/users.cjs +66 -0
- package/dist/vendor/resources/beta/organization/workspaces/index.cjs +12 -0
- package/dist/vendor/resources/beta/organization/workspaces/members.cjs +101 -0
- package/dist/vendor/resources/beta/organization/workspaces/rate-limits.cjs +33 -0
- package/dist/vendor/resources/beta/organization/workspaces/service-accounts.cjs +188 -0
- package/dist/vendor/resources/beta/organization/workspaces/workspaces.cjs +140 -0
- package/dist/vendor/resources/beta/organization/workspaces.cjs +18 -0
- package/dist/vendor/resources/beta/organization.cjs +18 -0
- package/dist/vendor/resources/beta/sessions/events.cjs +119 -0
- package/dist/vendor/resources/beta/sessions/index.cjs +12 -0
- package/dist/vendor/resources/beta/sessions/resources.cjs +131 -0
- package/dist/vendor/resources/beta/sessions/sessions.cjs +186 -0
- package/dist/vendor/resources/beta/sessions/threads/events.cjs +60 -0
- package/dist/vendor/resources/beta/sessions/threads/index.cjs +8 -0
- package/dist/vendor/resources/beta/sessions/threads/threads.cjs +116 -0
- package/dist/vendor/resources/beta/sessions/threads.cjs +18 -0
- package/dist/vendor/resources/beta/sessions.cjs +18 -0
- package/dist/vendor/resources/beta/skills/index.cjs +8 -0
- package/dist/vendor/resources/beta/skills/skills.cjs +132 -0
- package/dist/vendor/resources/beta/skills/versions.cjs +128 -0
- package/dist/vendor/resources/beta/skills.cjs +18 -0
- package/dist/vendor/resources/beta/tunnels/certificates.cjs +128 -0
- package/dist/vendor/resources/beta/tunnels/index.cjs +8 -0
- package/dist/vendor/resources/beta/tunnels/tunnels.cjs +209 -0
- package/dist/vendor/resources/beta/tunnels.cjs +18 -0
- package/dist/vendor/resources/beta/user-profiles.cjs +117 -0
- package/dist/vendor/resources/beta/vaults/credentials.cjs +176 -0
- package/dist/vendor/resources/beta/vaults/index.cjs +8 -0
- package/dist/vendor/resources/beta/vaults/vaults.cjs +177 -0
- package/dist/vendor/resources/beta/vaults.cjs +18 -0
- package/dist/vendor/resources/beta/webhooks.cjs +32 -0
- package/dist/vendor/resources/beta.cjs +18 -0
- package/dist/vendor/resources/completions.cjs +22 -0
- package/dist/vendor/resources/files.cjs +51 -0
- package/dist/vendor/resources/index.cjs +31 -0
- package/dist/vendor/resources/messages/batches.cjs +160 -0
- package/dist/vendor/resources/messages/index.cjs +8 -0
- package/dist/vendor/resources/messages/messages.cjs +159 -0
- package/dist/vendor/resources/messages.cjs +18 -0
- package/dist/vendor/resources/models.cjs +44 -0
- package/dist/vendor/resources/shared.cjs +3 -0
- package/dist/vendor/resources/skills/index.cjs +8 -0
- package/dist/vendor/resources/skills/skills.cjs +72 -0
- package/dist/vendor/resources/skills/versions.cjs +40 -0
- package/dist/vendor/resources/skills.cjs +18 -0
- package/dist/vendor/resources/top-level.cjs +3 -0
- package/dist/vendor/resources.cjs +17 -0
- package/dist/vendor/streaming.cjs +18 -0
- package/dist/vendor/tools/agent-toolset/fs-util.cjs +193 -0
- package/dist/vendor/tools/agent-toolset/memories.cjs +916 -0
- package/dist/vendor/tools/agent-toolset/node.browser.cjs +147 -0
- package/dist/vendor/tools/agent-toolset/node.cjs +939 -0
- package/dist/vendor/tools/agent-toolset/skills.cjs +325 -0
- package/dist/vendor/tools/agent-toolset/sync-interval.cjs +28 -0
- package/dist/vendor/tools/memory/node.browser.cjs +48 -0
- package/dist/vendor/tools/memory/node.cjs +364 -0
- package/dist/vendor/uploads.cjs +18 -0
- package/dist/vendor/version.cjs +4 -0
- package/dist/vendor/version.d.ts +1 -1
- package/dist/vendor/version.js +1 -1
- package/package.json +12 -13
- package/sdk.cjs +0 -14271
- package/sdk.cjs.map +0 -149
- package/sdk.d.ts +0 -10866
- package/sdk.mjs +0 -68
- 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,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;
|