@puku-ai/sdk 1.0.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.
- package/LICENSE +21 -0
- package/README.md +251 -0
- package/dist/index.cjs +7 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/vendor/_vendor/partial-json-parser/parser.d.ts +3 -0
- package/dist/vendor/_vendor/partial-json-parser/parser.d.ts.map +1 -0
- package/dist/vendor/_vendor/partial-json-parser/parser.js +223 -0
- package/dist/vendor/_vendor/partial-json-parser/parser.js.map +1 -0
- package/dist/vendor/api-promise.d.ts +3 -0
- package/dist/vendor/api-promise.d.ts.map +1 -0
- package/dist/vendor/api-promise.js +3 -0
- package/dist/vendor/api-promise.js.map +1 -0
- package/dist/vendor/client.d.ts +248 -0
- package/dist/vendor/client.d.ts.map +1 -0
- package/dist/vendor/client.js +567 -0
- package/dist/vendor/client.js.map +1 -0
- package/dist/vendor/core/api-promise.d.ts +49 -0
- package/dist/vendor/core/api-promise.d.ts.map +1 -0
- package/dist/vendor/core/api-promise.js +72 -0
- package/dist/vendor/core/api-promise.js.map +1 -0
- package/dist/vendor/core/error.d.ts +50 -0
- package/dist/vendor/core/error.d.ts.map +1 -0
- package/dist/vendor/core/error.js +109 -0
- package/dist/vendor/core/error.js.map +1 -0
- package/dist/vendor/core/pagination.d.ts +105 -0
- package/dist/vendor/core/pagination.d.ts.map +1 -0
- package/dist/vendor/core/pagination.js +188 -0
- package/dist/vendor/core/pagination.js.map +1 -0
- package/dist/vendor/core/resource.d.ts +6 -0
- package/dist/vendor/core/resource.d.ts.map +1 -0
- package/dist/vendor/core/resource.js +8 -0
- package/dist/vendor/core/resource.js.map +1 -0
- package/dist/vendor/core/streaming.d.ts +33 -0
- package/dist/vendor/core/streaming.d.ts.map +1 -0
- package/dist/vendor/core/streaming.js +288 -0
- package/dist/vendor/core/streaming.js.map +1 -0
- package/dist/vendor/core/uploads.d.ts +3 -0
- package/dist/vendor/core/uploads.d.ts.map +1 -0
- package/dist/vendor/core/uploads.js +2 -0
- package/dist/vendor/core/uploads.js.map +1 -0
- package/dist/vendor/error.d.ts +3 -0
- package/dist/vendor/error.d.ts.map +1 -0
- package/dist/vendor/error.js +3 -0
- package/dist/vendor/error.js.map +1 -0
- package/dist/vendor/helpers/beta/json-schema.d.ts +31 -0
- package/dist/vendor/helpers/beta/json-schema.d.ts.map +1 -0
- package/dist/vendor/helpers/beta/json-schema.js +52 -0
- package/dist/vendor/helpers/beta/json-schema.js.map +1 -0
- package/dist/vendor/helpers/beta/mcp.d.ts +303 -0
- package/dist/vendor/helpers/beta/mcp.d.ts.map +1 -0
- package/dist/vendor/helpers/beta/mcp.js +406 -0
- package/dist/vendor/helpers/beta/mcp.js.map +1 -0
- package/dist/vendor/helpers/beta/memory.d.ts +11 -0
- package/dist/vendor/helpers/beta/memory.d.ts.map +1 -0
- package/dist/vendor/helpers/beta/memory.js +15 -0
- package/dist/vendor/helpers/beta/memory.js.map +1 -0
- package/dist/vendor/helpers/beta/zod.d.ts +7 -0
- package/dist/vendor/helpers/beta/zod.d.ts.map +1 -0
- package/dist/vendor/helpers/beta/zod.js +15 -0
- package/dist/vendor/helpers/beta/zod.js.map +1 -0
- package/dist/vendor/helpers/index.d.ts +3 -0
- package/dist/vendor/helpers/index.d.ts.map +1 -0
- package/dist/vendor/helpers/index.js +3 -0
- package/dist/vendor/helpers/index.js.map +1 -0
- package/dist/vendor/helpers/json-schema.d.ts +18 -0
- package/dist/vendor/helpers/json-schema.d.ts.map +1 -0
- package/dist/vendor/helpers/json-schema.js +34 -0
- package/dist/vendor/helpers/json-schema.js.map +1 -0
- package/dist/vendor/helpers/zod.d.ts +13 -0
- package/dist/vendor/helpers/zod.d.ts.map +1 -0
- package/dist/vendor/helpers/zod.js +21 -0
- package/dist/vendor/helpers/zod.js.map +1 -0
- package/dist/vendor/index.d.ts +8 -0
- package/dist/vendor/index.d.ts.map +1 -0
- package/dist/vendor/index.js +8 -0
- package/dist/vendor/index.js.map +1 -0
- package/dist/vendor/internal/builtin-types.d.ts +73 -0
- package/dist/vendor/internal/builtin-types.d.ts.map +1 -0
- package/dist/vendor/internal/builtin-types.js +3 -0
- package/dist/vendor/internal/builtin-types.js.map +1 -0
- package/dist/vendor/internal/constants.d.ts +5 -0
- package/dist/vendor/internal/constants.d.ts.map +1 -0
- package/dist/vendor/internal/constants.js +15 -0
- package/dist/vendor/internal/constants.js.map +1 -0
- package/dist/vendor/internal/decoders/jsonl.d.ts +10 -0
- package/dist/vendor/internal/decoders/jsonl.d.ts.map +1 -0
- package/dist/vendor/internal/decoders/jsonl.js +37 -0
- package/dist/vendor/internal/decoders/jsonl.js.map +1 -0
- package/dist/vendor/internal/decoders/line.d.ts +17 -0
- package/dist/vendor/internal/decoders/line.d.ts.map +1 -0
- package/dist/vendor/internal/decoders/line.js +105 -0
- package/dist/vendor/internal/decoders/line.js.map +1 -0
- package/dist/vendor/internal/detect-platform.d.ts +15 -0
- package/dist/vendor/internal/detect-platform.d.ts.map +1 -0
- package/dist/vendor/internal/detect-platform.js +157 -0
- package/dist/vendor/internal/detect-platform.js.map +1 -0
- package/dist/vendor/internal/errors.d.ts +3 -0
- package/dist/vendor/internal/errors.d.ts.map +1 -0
- package/dist/vendor/internal/errors.js +36 -0
- package/dist/vendor/internal/errors.js.map +1 -0
- package/dist/vendor/internal/headers.d.ts +22 -0
- package/dist/vendor/internal/headers.d.ts.map +1 -0
- package/dist/vendor/internal/headers.js +74 -0
- package/dist/vendor/internal/headers.js.map +1 -0
- package/dist/vendor/internal/parse.d.ts +17 -0
- package/dist/vendor/internal/parse.d.ts.map +1 -0
- package/dist/vendor/internal/parse.js +56 -0
- package/dist/vendor/internal/parse.js.map +1 -0
- package/dist/vendor/internal/request-options.d.ts +77 -0
- package/dist/vendor/internal/request-options.d.ts.map +1 -0
- package/dist/vendor/internal/request-options.js +10 -0
- package/dist/vendor/internal/request-options.js.map +1 -0
- package/dist/vendor/internal/shim-types.d.ts +17 -0
- package/dist/vendor/internal/shim-types.d.ts.map +1 -0
- package/dist/vendor/internal/shim-types.js +3 -0
- package/dist/vendor/internal/shim-types.js.map +1 -0
- package/dist/vendor/internal/shims.d.ts +26 -0
- package/dist/vendor/internal/shims.d.ts.map +1 -0
- package/dist/vendor/internal/shims.js +85 -0
- package/dist/vendor/internal/shims.js.map +1 -0
- package/dist/vendor/internal/stream-utils.d.ts +8 -0
- package/dist/vendor/internal/stream-utils.d.ts.map +1 -0
- package/dist/vendor/internal/stream-utils.js +35 -0
- package/dist/vendor/internal/stream-utils.js.map +1 -0
- package/dist/vendor/internal/to-file.d.ts +45 -0
- package/dist/vendor/internal/to-file.d.ts.map +1 -0
- package/dist/vendor/internal/to-file.js +93 -0
- package/dist/vendor/internal/to-file.js.map +1 -0
- package/dist/vendor/internal/types.d.ts +69 -0
- package/dist/vendor/internal/types.d.ts.map +1 -0
- package/dist/vendor/internal/types.js +3 -0
- package/dist/vendor/internal/types.js.map +1 -0
- package/dist/vendor/internal/uploads.d.ts +42 -0
- package/dist/vendor/internal/uploads.d.ts.map +1 -0
- package/dist/vendor/internal/uploads.js +135 -0
- package/dist/vendor/internal/uploads.js.map +1 -0
- package/dist/vendor/internal/utils/base64.d.ts +3 -0
- package/dist/vendor/internal/utils/base64.d.ts.map +1 -0
- package/dist/vendor/internal/utils/base64.js +33 -0
- package/dist/vendor/internal/utils/base64.js.map +1 -0
- package/dist/vendor/internal/utils/bytes.d.ts +4 -0
- package/dist/vendor/internal/utils/bytes.d.ts.map +1 -0
- package/dist/vendor/internal/utils/bytes.js +26 -0
- package/dist/vendor/internal/utils/bytes.js.map +1 -0
- package/dist/vendor/internal/utils/env.d.ts +9 -0
- package/dist/vendor/internal/utils/env.d.ts.map +1 -0
- package/dist/vendor/internal/utils/env.js +18 -0
- package/dist/vendor/internal/utils/env.js.map +1 -0
- package/dist/vendor/internal/utils/log.d.ts +37 -0
- package/dist/vendor/internal/utils/log.d.ts.map +1 -0
- package/dist/vendor/internal/utils/log.js +80 -0
- package/dist/vendor/internal/utils/log.js.map +1 -0
- package/dist/vendor/internal/utils/path.d.ts +15 -0
- package/dist/vendor/internal/utils/path.d.ts.map +1 -0
- package/dist/vendor/internal/utils/path.js +74 -0
- package/dist/vendor/internal/utils/path.js.map +1 -0
- package/dist/vendor/internal/utils/query.d.ts +5 -0
- package/dist/vendor/internal/utils/query.d.ts.map +1 -0
- package/dist/vendor/internal/utils/query.js +20 -0
- package/dist/vendor/internal/utils/query.js.map +1 -0
- package/dist/vendor/internal/utils/sleep.d.ts +2 -0
- package/dist/vendor/internal/utils/sleep.d.ts.map +1 -0
- package/dist/vendor/internal/utils/sleep.js +3 -0
- package/dist/vendor/internal/utils/sleep.js.map +1 -0
- package/dist/vendor/internal/utils/uuid.d.ts +5 -0
- package/dist/vendor/internal/utils/uuid.d.ts.map +1 -0
- package/dist/vendor/internal/utils/uuid.js +15 -0
- package/dist/vendor/internal/utils/uuid.js.map +1 -0
- package/dist/vendor/internal/utils/values.d.ts +19 -0
- package/dist/vendor/internal/utils/values.d.ts.map +1 -0
- package/dist/vendor/internal/utils/values.js +100 -0
- package/dist/vendor/internal/utils/values.js.map +1 -0
- package/dist/vendor/internal/utils.d.ts +8 -0
- package/dist/vendor/internal/utils.d.ts.map +1 -0
- package/dist/vendor/internal/utils.js +9 -0
- package/dist/vendor/internal/utils.js.map +1 -0
- package/dist/vendor/lib/BetaMessageStream.d.ts +122 -0
- package/dist/vendor/lib/BetaMessageStream.d.ts.map +1 -0
- package/dist/vendor/lib/BetaMessageStream.js +624 -0
- package/dist/vendor/lib/BetaMessageStream.js.map +1 -0
- package/dist/vendor/lib/MessageStream.d.ts +121 -0
- package/dist/vendor/lib/MessageStream.d.ts.map +1 -0
- package/dist/vendor/lib/MessageStream.js +599 -0
- package/dist/vendor/lib/MessageStream.js.map +1 -0
- package/dist/vendor/lib/beta-parser.d.ts +37 -0
- package/dist/vendor/lib/beta-parser.d.ts.map +1 -0
- package/dist/vendor/lib/beta-parser.js +75 -0
- package/dist/vendor/lib/beta-parser.js.map +1 -0
- package/dist/vendor/lib/parser.d.ts +32 -0
- package/dist/vendor/lib/parser.d.ts.map +1 -0
- package/dist/vendor/lib/parser.js +62 -0
- package/dist/vendor/lib/parser.js.map +1 -0
- package/dist/vendor/lib/stainless-helper-header.d.ts +34 -0
- package/dist/vendor/lib/stainless-helper-header.d.ts.map +1 -0
- package/dist/vendor/lib/stainless-helper-header.js +63 -0
- package/dist/vendor/lib/stainless-helper-header.js.map +1 -0
- package/dist/vendor/lib/tools/BetaRunnableTool.d.ts +12 -0
- package/dist/vendor/lib/tools/BetaRunnableTool.d.ts.map +1 -0
- package/dist/vendor/lib/tools/BetaRunnableTool.js +2 -0
- package/dist/vendor/lib/tools/BetaRunnableTool.js.map +1 -0
- package/dist/vendor/lib/tools/BetaToolRunner.d.ts +136 -0
- package/dist/vendor/lib/tools/BetaToolRunner.d.ts.map +1 -0
- package/dist/vendor/lib/tools/BetaToolRunner.js +370 -0
- package/dist/vendor/lib/tools/BetaToolRunner.js.map +1 -0
- package/dist/vendor/lib/tools/CompactionControl.d.ts +25 -0
- package/dist/vendor/lib/tools/CompactionControl.d.ts.map +1 -0
- package/dist/vendor/lib/tools/CompactionControl.js +25 -0
- package/dist/vendor/lib/tools/CompactionControl.js.map +1 -0
- package/dist/vendor/lib/tools/ToolError.d.ts +33 -0
- package/dist/vendor/lib/tools/ToolError.d.ts.map +1 -0
- package/dist/vendor/lib/tools/ToolError.js +43 -0
- package/dist/vendor/lib/tools/ToolError.js.map +1 -0
- package/dist/vendor/lib/tools/ToolRunner.d.ts +132 -0
- package/dist/vendor/lib/tools/ToolRunner.d.ts.map +1 -0
- package/dist/vendor/lib/tools/ToolRunner.js +287 -0
- package/dist/vendor/lib/tools/ToolRunner.js.map +1 -0
- package/dist/vendor/lib/transform-json-schema.d.ts +3 -0
- package/dist/vendor/lib/transform-json-schema.d.ts.map +1 -0
- package/dist/vendor/lib/transform-json-schema.js +111 -0
- package/dist/vendor/lib/transform-json-schema.js.map +1 -0
- package/dist/vendor/pagination.d.ts +3 -0
- package/dist/vendor/pagination.d.ts.map +1 -0
- package/dist/vendor/pagination.js +3 -0
- package/dist/vendor/pagination.js.map +1 -0
- package/dist/vendor/resource.d.ts +3 -0
- package/dist/vendor/resource.d.ts.map +1 -0
- package/dist/vendor/resource.js +3 -0
- package/dist/vendor/resource.js.map +1 -0
- package/dist/vendor/resources/beta/beta.d.ts +66 -0
- package/dist/vendor/resources/beta/beta.d.ts.map +1 -0
- package/dist/vendor/resources/beta/beta.js +21 -0
- package/dist/vendor/resources/beta/beta.js.map +1 -0
- package/dist/vendor/resources/beta/files.d.ts +151 -0
- package/dist/vendor/resources/beta/files.d.ts.map +1 -0
- package/dist/vendor/resources/beta/files.js +120 -0
- package/dist/vendor/resources/beta/files.js.map +1 -0
- package/dist/vendor/resources/beta/index.d.ts +6 -0
- package/dist/vendor/resources/beta/index.d.ts.map +1 -0
- package/dist/vendor/resources/beta/index.js +7 -0
- package/dist/vendor/resources/beta/index.js.map +1 -0
- package/dist/vendor/resources/beta/messages/batches.d.ts +646 -0
- package/dist/vendor/resources/beta/messages/batches.d.ts.map +1 -0
- package/dist/vendor/resources/beta/messages/batches.js +200 -0
- package/dist/vendor/resources/beta/messages/batches.js.map +1 -0
- package/dist/vendor/resources/beta/messages/index.d.ts +4 -0
- package/dist/vendor/resources/beta/messages/index.d.ts.map +1 -0
- package/dist/vendor/resources/beta/messages/index.js +5 -0
- package/dist/vendor/resources/beta/messages/index.js.map +1 -0
- package/dist/vendor/resources/beta/messages/messages.d.ts +2966 -0
- package/dist/vendor/resources/beta/messages/messages.d.ts.map +1 -0
- package/dist/vendor/resources/beta/messages/messages.js +153 -0
- package/dist/vendor/resources/beta/messages/messages.js.map +1 -0
- package/dist/vendor/resources/beta/messages.d.ts +2 -0
- package/dist/vendor/resources/beta/messages.d.ts.map +1 -0
- package/dist/vendor/resources/beta/messages.js +3 -0
- package/dist/vendor/resources/beta/messages.js.map +1 -0
- package/dist/vendor/resources/beta/models.d.ts +208 -0
- package/dist/vendor/resources/beta/models.d.ts.map +1 -0
- package/dist/vendor/resources/beta/models.js +56 -0
- package/dist/vendor/resources/beta/models.js.map +1 -0
- package/dist/vendor/resources/beta/skills/index.d.ts +3 -0
- package/dist/vendor/resources/beta/skills/index.d.ts.map +1 -0
- package/dist/vendor/resources/beta/skills/index.js +4 -0
- package/dist/vendor/resources/beta/skills/index.js.map +1 -0
- package/dist/vendor/resources/beta/skills/skills.d.ts +249 -0
- package/dist/vendor/resources/beta/skills/skills.d.ts.map +1 -0
- package/dist/vendor/resources/beta/skills/skills.js +90 -0
- package/dist/vendor/resources/beta/skills/skills.js.map +1 -0
- package/dist/vendor/resources/beta/skills/versions.d.ts +257 -0
- package/dist/vendor/resources/beta/skills/versions.d.ts.map +1 -0
- package/dist/vendor/resources/beta/skills/versions.js +96 -0
- package/dist/vendor/resources/beta/skills/versions.js.map +1 -0
- package/dist/vendor/resources/beta/skills.d.ts +2 -0
- package/dist/vendor/resources/beta/skills.d.ts.map +1 -0
- package/dist/vendor/resources/beta/skills.js +3 -0
- package/dist/vendor/resources/beta/skills.js.map +1 -0
- package/dist/vendor/resources/beta.d.ts +2 -0
- package/dist/vendor/resources/beta.d.ts.map +1 -0
- package/dist/vendor/resources/beta.js +3 -0
- package/dist/vendor/resources/beta.js.map +1 -0
- package/dist/vendor/resources/completions.d.ts +182 -0
- package/dist/vendor/resources/completions.d.ts.map +1 -0
- package/dist/vendor/resources/completions.js +19 -0
- package/dist/vendor/resources/completions.js.map +1 -0
- package/dist/vendor/resources/index.d.ts +6 -0
- package/dist/vendor/resources/index.d.ts.map +1 -0
- package/dist/vendor/resources/index.js +7 -0
- package/dist/vendor/resources/index.js.map +1 -0
- package/dist/vendor/resources/messages/batches.d.ts +304 -0
- package/dist/vendor/resources/messages/batches.d.ts.map +1 -0
- package/dist/vendor/resources/messages/batches.js +149 -0
- package/dist/vendor/resources/messages/batches.js.map +1 -0
- package/dist/vendor/resources/messages/index.d.ts +3 -0
- package/dist/vendor/resources/messages/index.d.ts.map +1 -0
- package/dist/vendor/resources/messages/index.js +4 -0
- package/dist/vendor/resources/messages/index.js.map +1 -0
- package/dist/vendor/resources/messages/messages.d.ts +2258 -0
- package/dist/vendor/resources/messages/messages.d.ts.map +1 -0
- package/dist/vendor/resources/messages/messages.js +120 -0
- package/dist/vendor/resources/messages/messages.js.map +1 -0
- package/dist/vendor/resources/messages.d.ts +2 -0
- package/dist/vendor/resources/messages.d.ts.map +1 -0
- package/dist/vendor/resources/messages.js +3 -0
- package/dist/vendor/resources/messages.js.map +1 -0
- package/dist/vendor/resources/models.d.ts +193 -0
- package/dist/vendor/resources/models.d.ts.map +1 -0
- package/dist/vendor/resources/models.js +41 -0
- package/dist/vendor/resources/models.js.map +1 -0
- package/dist/vendor/resources/shared.d.ts +44 -0
- package/dist/vendor/resources/shared.d.ts.map +1 -0
- package/dist/vendor/resources/shared.js +3 -0
- package/dist/vendor/resources/shared.js.map +1 -0
- package/dist/vendor/resources/top-level.d.ts +2 -0
- package/dist/vendor/resources/top-level.d.ts.map +1 -0
- package/dist/vendor/resources/top-level.js +3 -0
- package/dist/vendor/resources/top-level.js.map +1 -0
- package/dist/vendor/streaming.d.ts +3 -0
- package/dist/vendor/streaming.d.ts.map +1 -0
- package/dist/vendor/streaming.js +3 -0
- package/dist/vendor/streaming.js.map +1 -0
- package/dist/vendor/tools/memory/node.d.ts +18 -0
- package/dist/vendor/tools/memory/node.d.ts.map +1 -0
- package/dist/vendor/tools/memory/node.js +320 -0
- package/dist/vendor/tools/memory/node.js.map +1 -0
- package/dist/vendor/uploads.d.ts +3 -0
- package/dist/vendor/uploads.d.ts.map +1 -0
- package/dist/vendor/uploads.js +3 -0
- package/dist/vendor/uploads.js.map +1 -0
- package/dist/vendor/version.d.ts +2 -0
- package/dist/vendor/version.d.ts.map +1 -0
- package/dist/vendor/version.js +2 -0
- package/dist/vendor/version.js.map +1 -0
- package/package.json +66 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Puku AI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
# @puku-ai/sdk
|
|
2
|
+
|
|
3
|
+
Drop-in replacement for [`@anthropic-ai/sdk`](https://www.npmjs.com/package/@anthropic-ai/sdk)
|
|
4
|
+
that routes every request through the **Puku AI gateway**.
|
|
5
|
+
|
|
6
|
+
```ts
|
|
7
|
+
import PukuAI from "@puku-ai/sdk";
|
|
8
|
+
|
|
9
|
+
const client = new PukuAI();
|
|
10
|
+
const msg = await client.messages.create({
|
|
11
|
+
model: "claude-sonnet-4-5",
|
|
12
|
+
max_tokens: 1024,
|
|
13
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
14
|
+
});
|
|
15
|
+
console.log(msg.content[0].text);
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The client class is renamed to **`PukuAI`** (was `Anthropic`) — every method,
|
|
19
|
+
type, stream primitive, and error class is otherwise identical to
|
|
20
|
+
`@anthropic-ai/sdk` 0.81.x. Source code written against the official SDK works
|
|
21
|
+
after a two-line change: import path + class name.
|
|
22
|
+
|
|
23
|
+
## Contents
|
|
24
|
+
|
|
25
|
+
- [Why](#why)
|
|
26
|
+
- [Install](#install)
|
|
27
|
+
- [Configuration](#configuration)
|
|
28
|
+
- [Usage](#usage)
|
|
29
|
+
- [Feature matrix](#feature-matrix)
|
|
30
|
+
- [Examples](#examples)
|
|
31
|
+
- [Documentation](#documentation)
|
|
32
|
+
- [Namespace](#namespace)
|
|
33
|
+
- [How it differs from `@anthropic-ai/sdk`](#how-it-differs-from-anthropic-ai-sdk)
|
|
34
|
+
- [License](#license)
|
|
35
|
+
|
|
36
|
+
## Why
|
|
37
|
+
|
|
38
|
+
Puku CLI is a coding assistant built on top of the Anthropic SDK. We want to:
|
|
39
|
+
|
|
40
|
+
1. Route all requests through the Puku AI router so we can pick the best
|
|
41
|
+
upstream model per request (Opus / Sonnet / GLM / Kimi / OpenAI-compatible…).
|
|
42
|
+
2. Keep puku-cli's source untouched.
|
|
43
|
+
3. Maintain a single, minimal surface.
|
|
44
|
+
|
|
45
|
+
## Install
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npm install @puku-ai/sdk
|
|
49
|
+
# or
|
|
50
|
+
pnpm add @puku-ai/sdk
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Configuration
|
|
54
|
+
|
|
55
|
+
> The SDK only reads two environment variables: `PUKU_API_KEY` and
|
|
56
|
+
> `PUKU_BASE_URL`. There is no bearer-token path and no fallback to
|
|
57
|
+
> `ANTHROPIC_*` env vars. To talk to staging, set
|
|
58
|
+
> `PUKU_BASE_URL=https://api-dev.puku.sh`; for prod, set
|
|
59
|
+
> `PUKU_BASE_URL=https://api-cli.puku.sh`. See `.env.staging.example` and
|
|
60
|
+
> `docs/API-KEY-PLAN.md` § "End-to-end migration order".
|
|
61
|
+
|
|
62
|
+
| Env var | Purpose | Default |
|
|
63
|
+
| --------------- | ------------------------ | ------------- |
|
|
64
|
+
| `PUKU_API_KEY` | Puku API key | _(required)_ |
|
|
65
|
+
| `PUKU_BASE_URL` | Puku AI routing endpoint | _(required)_ |
|
|
66
|
+
| `ANTHROPIC_LOG` | Log level (`debug`, `info`, `warn`, `error`) | `warn` |
|
|
67
|
+
|
|
68
|
+
### Using an API key
|
|
69
|
+
|
|
70
|
+
In staging, mint a key via the admin UI (`/account/agents` or
|
|
71
|
+
`/account/user-keys`). Keys minted in staging are prefixed `pk_staging_…`.
|
|
72
|
+
Copy the plaintext once — it is not recoverable later.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# .env.staging
|
|
76
|
+
PUKU_BASE_URL=https://api-dev.puku.sh
|
|
77
|
+
PUKU_API_KEY=pk_staging_…
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
node --env-file=.env.staging examples/17-agent-key.mjs
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The SDK sends `X-Api-Key: pk_staging_…` on every request. No
|
|
85
|
+
`Authorization` header — there is no bearer-token path.
|
|
86
|
+
|
|
87
|
+
## Usage
|
|
88
|
+
|
|
89
|
+
### Blocking
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
import PukuAI from "@puku-ai/sdk";
|
|
93
|
+
|
|
94
|
+
const client = new PukuAI();
|
|
95
|
+
|
|
96
|
+
const msg = await client.messages.create({
|
|
97
|
+
model: "claude-sonnet-4-5",
|
|
98
|
+
max_tokens: 1024,
|
|
99
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
100
|
+
});
|
|
101
|
+
console.log(msg.content[0].text);
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Streaming
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
const stream = client.messages.stream({
|
|
108
|
+
model: "claude-sonnet-4-5",
|
|
109
|
+
max_tokens: 1024,
|
|
110
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
for await (const event of stream) {
|
|
114
|
+
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
|
|
115
|
+
process.stdout.write(event.delta.text);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// After the loop:
|
|
120
|
+
const fullText = await stream.finalText();
|
|
121
|
+
const finalMessage = await stream.finalMessage();
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Errors
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
try {
|
|
128
|
+
await client.messages.create(...);
|
|
129
|
+
} catch (err) {
|
|
130
|
+
if (err instanceof PukuAI.RateLimitError) {
|
|
131
|
+
await sleep(parseRetryAfter(err) ?? 1000);
|
|
132
|
+
} else if (err instanceof PukuAI.AuthenticationError) {
|
|
133
|
+
throw err; // bad key
|
|
134
|
+
} else if (err instanceof PukuAI.APIError) {
|
|
135
|
+
console.error(err.status, err.type, err.message);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
See [docs/ERROR-HANDLING.md](./docs/ERROR-HANDLING.md) for the full hierarchy.
|
|
141
|
+
|
|
142
|
+
## Feature matrix
|
|
143
|
+
|
|
144
|
+
Every API surface in `@anthropic-ai/sdk` 0.81.x is reachable through
|
|
145
|
+
`@puku-ai/sdk`. The matrix below shows where each lives.
|
|
146
|
+
|
|
147
|
+
| Feature | Call site | Example |
|
|
148
|
+
|----------------------------------------|------------------------------------|---------|
|
|
149
|
+
| Blocking chat | `client.messages.create(...)` | [01](./examples/01-basic-chat.mjs) |
|
|
150
|
+
| Streaming chat | `client.messages.stream(...)` | [02](./examples/02-streaming.mjs) |
|
|
151
|
+
| System prompt + prefilling | `system`, last message = assistant | [03](./examples/03-system-prompt.mjs) |
|
|
152
|
+
| Multi-turn history | append to `messages` | [04](./examples/04-multi-turn.mjs) |
|
|
153
|
+
| Prompt caching | `cache_control: { type: "ephemeral" }` | [05](./examples/05-prompt-caching.mjs) |
|
|
154
|
+
| Tool use | `tools: [...]` + manual loop | [06](./examples/06-tool-use.mjs) |
|
|
155
|
+
| Vision (base64 / URL / file) | `image` content blocks | [07](./examples/07-vision.mjs) |
|
|
156
|
+
| Error handling + aborts | `instanceof PukuAI.*Error` | [08](./examples/08-error-handling.mjs) |
|
|
157
|
+
| Async message batches | `client.messages.batches.*` | [09](./examples/09-batches.mjs) |
|
|
158
|
+
| MCP servers (beta) | `mcp_servers: [...]` | [10](./examples/10-mcp.mjs) |
|
|
159
|
+
| Skills & versions (beta) | `client.beta.skills.*` | [11](./examples/11-skills.mjs) |
|
|
160
|
+
| Structured (JSON-schema) output | `output_format: { type: "json_schema", schema }` | [12](./examples/12-structured-output.mjs) |
|
|
161
|
+
| Custom client options | `new PukuAI({ ... })` | [14](./examples/14-custom-client-options.mjs) |
|
|
162
|
+
| Mocking / local server | `baseURL` + custom `fetch` | [15](./examples/15-testing.mjs) |
|
|
163
|
+
|
|
164
|
+
## Examples
|
|
165
|
+
|
|
166
|
+
15 runnable scripts under [`examples/`](./examples/README.md) cover every
|
|
167
|
+
common use case. Quick start:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
PUKU_API_KEY=sk-... node examples/01-basic-chat.mjs
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Test scripts
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
# Offline smoke test (24 cases, no API key, mock server on localhost)
|
|
177
|
+
bun run smoke
|
|
178
|
+
|
|
179
|
+
# Live integration test (14 cases, hits real Puku AI gateway)
|
|
180
|
+
# Requires PUKU_API_KEY and PUKU_BASE_URL.
|
|
181
|
+
bun run integration
|
|
182
|
+
|
|
183
|
+
# Type-level parity check (verifies the full PukuAI.* namespace compiles)
|
|
184
|
+
bun run type-check
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Documentation
|
|
188
|
+
|
|
189
|
+
Guides under [`docs/`](./docs/README.md):
|
|
190
|
+
|
|
191
|
+
- [MIGRATION.md](./docs/MIGRATION.md) — switch from `@anthropic-ai/sdk` in three lines.
|
|
192
|
+
- [ERROR-HANDLING.md](./docs/ERROR-HANDLING.md) — error hierarchy & retries.
|
|
193
|
+
- [ROUTING.md](./docs/ROUTING.md) — how the Puku AI gateway picks models.
|
|
194
|
+
- [TYPES.md](./docs/TYPES.md) — namespace & type reference.
|
|
195
|
+
|
|
196
|
+
## Namespace
|
|
197
|
+
|
|
198
|
+
The upstream SDK exposes its types under an `Anthropic` namespace
|
|
199
|
+
(`Anthropic.Messages.Message`, etc.); `@puku-ai/sdk` re-exposes the same
|
|
200
|
+
namespace under the `PukuAI` name:
|
|
201
|
+
|
|
202
|
+
```ts
|
|
203
|
+
import PukuAI from "@puku-ai/sdk";
|
|
204
|
+
|
|
205
|
+
type M = PukuAI.Messages.Message;
|
|
206
|
+
type Mod = PukuAI.Models.ModelInfo;
|
|
207
|
+
type Beta = PukuAI.Beta.Messages.BetaMessage;
|
|
208
|
+
type Skill = PukuAI.Beta.Skills.SkillRetrieveResponse;
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Static helpers that were on `Anthropic.X` are on `PukuAI.X`:
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
PukuAI.HUMAN_PROMPT; // "\n\nHuman:"
|
|
215
|
+
PukuAI.AI_PROMPT; // "\n\nAssistant:"
|
|
216
|
+
PukuAI.toFile(...); // static helper
|
|
217
|
+
PukuAI.Completions; // resource class (used as type)
|
|
218
|
+
PukuAI.Messages; // resource class
|
|
219
|
+
PukuAI.Models; // resource class
|
|
220
|
+
PukuAI.Beta; // resource class
|
|
221
|
+
PukuAI.APIError; // error class (static)
|
|
222
|
+
PukuAI.RateLimitError; // error class (static)
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
The original `Anthropic` symbol is also exported as a name alias — both
|
|
226
|
+
`new PukuAI()` and `new Anthropic()` return the same class.
|
|
227
|
+
|
|
228
|
+
## How it differs from `@anthropic-ai/sdk`
|
|
229
|
+
|
|
230
|
+
The public API is intentionally close to `@anthropic-ai/sdk` — same method
|
|
231
|
+
names, same TypeScript types (under `PukuAI.*`). The behavioral differences are:
|
|
232
|
+
|
|
233
|
+
1. The client class is named `PukuAI` (was `Anthropic`).
|
|
234
|
+
2. Every request is forwarded to the Puku AI gateway (`PUKU_BASE_URL`)
|
|
235
|
+
instead of directly to `api.anthropic.com`.
|
|
236
|
+
3. **API-key only.** The SDK no longer supports the upstream `authToken` /
|
|
237
|
+
`Authorization: Bearer` flow or the `ANTHROPIC_API_KEY` / `ANTHROPIC_BASE_URL`
|
|
238
|
+
fallback env vars. Authentication is `PUKU_API_KEY` (sent as `X-Api-Key`).
|
|
239
|
+
4. **Explicit `baseURL` is required.** There is no hardcoded default; the SDK
|
|
240
|
+
throws at construction if `baseURL` isn't passed or `PUKU_BASE_URL` isn't set.
|
|
241
|
+
|
|
242
|
+
Puku's router picks which upstream model to use per request, then returns a
|
|
243
|
+
response in the standard Anthropic format. To bypass Puku (e.g. for A/B
|
|
244
|
+
testing), point `PUKU_BASE_URL` at `https://api.anthropic.com`.
|
|
245
|
+
|
|
246
|
+
If a feature of `@anthropic-ai/sdk` is missing from `@puku-ai/sdk`, please
|
|
247
|
+
[open an issue](https://github.com/puku-sh/puku-ai-sdk/issues).
|
|
248
|
+
|
|
249
|
+
## License
|
|
250
|
+
|
|
251
|
+
MIT
|
package/dist/index.cjs
ADDED
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @puku-ai/sdk — public entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the vendored Anthropic SDK (`./vendor`) with a single targeted
|
|
5
|
+
* change: the HTTP transport now reads `PUKU_BASE_URL` (required, no fallback).
|
|
6
|
+
*
|
|
7
|
+
* Public API surface uses the name `PukuAI` instead of `Anthropic`. The
|
|
8
|
+
* vendored SDK internally still uses `Anthropic` (for the client class
|
|
9
|
+
* and namespace), but consumers of @puku-ai/sdk import the renamed class
|
|
10
|
+
* via `import PukuAI from "@puku-ai/sdk"` or named `{ PukuAI }`.
|
|
11
|
+
*
|
|
12
|
+
* The original `Anthropic` symbol is also exported as an alias for source
|
|
13
|
+
* compatibility with puku-cli's vendored Anthropic SDK call sites.
|
|
14
|
+
*
|
|
15
|
+
* Error classes keep their upstream names (AnthropicError, APIError,
|
|
16
|
+
* RateLimitError, etc.) — they're part of the API contract.
|
|
17
|
+
*
|
|
18
|
+
* See README.md for the full mapping.
|
|
19
|
+
*/
|
|
20
|
+
export * from "./vendor/index.js";
|
|
21
|
+
export { default } from "./vendor/index.js";
|
|
22
|
+
export { VERSION } from "./vendor/version.js";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @puku-ai/sdk — public entrypoint.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the vendored Anthropic SDK (`./vendor`) with a single targeted
|
|
5
|
+
* change: the HTTP transport now reads `PUKU_BASE_URL` (required, no fallback).
|
|
6
|
+
*
|
|
7
|
+
* Public API surface uses the name `PukuAI` instead of `Anthropic`. The
|
|
8
|
+
* vendored SDK internally still uses `Anthropic` (for the client class
|
|
9
|
+
* and namespace), but consumers of @puku-ai/sdk import the renamed class
|
|
10
|
+
* via `import PukuAI from "@puku-ai/sdk"` or named `{ PukuAI }`.
|
|
11
|
+
*
|
|
12
|
+
* The original `Anthropic` symbol is also exported as an alias for source
|
|
13
|
+
* compatibility with puku-cli's vendored Anthropic SDK call sites.
|
|
14
|
+
*
|
|
15
|
+
* Error classes keep their upstream names (AnthropicError, APIError,
|
|
16
|
+
* RateLimitError, etc.) — they're part of the API contract.
|
|
17
|
+
*
|
|
18
|
+
* See README.md for the full mapping.
|
|
19
|
+
*/
|
|
20
|
+
// Re-export the named exports from the vendored module. `export *` does
|
|
21
|
+
// not pass through the default export, so we add explicit re-exports for
|
|
22
|
+
// `PukuAI` (default + named) below.
|
|
23
|
+
export * from "./vendor/index.js";
|
|
24
|
+
export { default } from "./vendor/index.js";
|
|
25
|
+
export { VERSION } from "./vendor/version.js";
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,yEAAyE;AACzE,yEAAyE;AACzE,oCAAoC;AACpC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/vendor/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"AAKA,QAAA,MAgQE,YAAY,GAAI,OAAO,MAAM,KAAG,OAAgE,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
const tokenize = (input) => {
|
|
2
|
+
let current = 0;
|
|
3
|
+
let tokens = [];
|
|
4
|
+
while (current < input.length) {
|
|
5
|
+
let char = input[current];
|
|
6
|
+
if (char === '\\') {
|
|
7
|
+
current++;
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
if (char === '{') {
|
|
11
|
+
tokens.push({
|
|
12
|
+
type: 'brace',
|
|
13
|
+
value: '{',
|
|
14
|
+
});
|
|
15
|
+
current++;
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (char === '}') {
|
|
19
|
+
tokens.push({
|
|
20
|
+
type: 'brace',
|
|
21
|
+
value: '}',
|
|
22
|
+
});
|
|
23
|
+
current++;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
if (char === '[') {
|
|
27
|
+
tokens.push({
|
|
28
|
+
type: 'paren',
|
|
29
|
+
value: '[',
|
|
30
|
+
});
|
|
31
|
+
current++;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (char === ']') {
|
|
35
|
+
tokens.push({
|
|
36
|
+
type: 'paren',
|
|
37
|
+
value: ']',
|
|
38
|
+
});
|
|
39
|
+
current++;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (char === ':') {
|
|
43
|
+
tokens.push({
|
|
44
|
+
type: 'separator',
|
|
45
|
+
value: ':',
|
|
46
|
+
});
|
|
47
|
+
current++;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (char === ',') {
|
|
51
|
+
tokens.push({
|
|
52
|
+
type: 'delimiter',
|
|
53
|
+
value: ',',
|
|
54
|
+
});
|
|
55
|
+
current++;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (char === '"') {
|
|
59
|
+
let value = '';
|
|
60
|
+
let danglingQuote = false;
|
|
61
|
+
char = input[++current];
|
|
62
|
+
while (char !== '"') {
|
|
63
|
+
if (current === input.length) {
|
|
64
|
+
danglingQuote = true;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
if (char === '\\') {
|
|
68
|
+
current++;
|
|
69
|
+
if (current === input.length) {
|
|
70
|
+
danglingQuote = true;
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
value += char + input[current];
|
|
74
|
+
char = input[++current];
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
value += char;
|
|
78
|
+
char = input[++current];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
char = input[++current];
|
|
82
|
+
if (!danglingQuote) {
|
|
83
|
+
tokens.push({
|
|
84
|
+
type: 'string',
|
|
85
|
+
value,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
let WHITESPACE = /\s/;
|
|
91
|
+
if (char && WHITESPACE.test(char)) {
|
|
92
|
+
current++;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
let NUMBERS = /[0-9]/;
|
|
96
|
+
if ((char && NUMBERS.test(char)) || char === '-' || char === '.') {
|
|
97
|
+
let value = '';
|
|
98
|
+
if (char === '-') {
|
|
99
|
+
value += char;
|
|
100
|
+
char = input[++current];
|
|
101
|
+
}
|
|
102
|
+
while ((char && NUMBERS.test(char)) || char === '.') {
|
|
103
|
+
value += char;
|
|
104
|
+
char = input[++current];
|
|
105
|
+
}
|
|
106
|
+
tokens.push({
|
|
107
|
+
type: 'number',
|
|
108
|
+
value,
|
|
109
|
+
});
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
let LETTERS = /[a-z]/i;
|
|
113
|
+
if (char && LETTERS.test(char)) {
|
|
114
|
+
let value = '';
|
|
115
|
+
while (char && LETTERS.test(char)) {
|
|
116
|
+
if (current === input.length) {
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
value += char;
|
|
120
|
+
char = input[++current];
|
|
121
|
+
}
|
|
122
|
+
if (value == 'true' || value == 'false' || value === 'null') {
|
|
123
|
+
tokens.push({
|
|
124
|
+
type: 'name',
|
|
125
|
+
value,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// unknown token, e.g. `nul` which isn't quite `null`
|
|
130
|
+
current++;
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
current++;
|
|
136
|
+
}
|
|
137
|
+
return tokens;
|
|
138
|
+
}, strip = (tokens) => {
|
|
139
|
+
if (tokens.length === 0) {
|
|
140
|
+
return tokens;
|
|
141
|
+
}
|
|
142
|
+
let lastToken = tokens[tokens.length - 1];
|
|
143
|
+
switch (lastToken.type) {
|
|
144
|
+
case 'separator':
|
|
145
|
+
tokens = tokens.slice(0, tokens.length - 1);
|
|
146
|
+
return strip(tokens);
|
|
147
|
+
break;
|
|
148
|
+
case 'number':
|
|
149
|
+
let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];
|
|
150
|
+
if (lastCharacterOfLastToken === '.' || lastCharacterOfLastToken === '-') {
|
|
151
|
+
tokens = tokens.slice(0, tokens.length - 1);
|
|
152
|
+
return strip(tokens);
|
|
153
|
+
}
|
|
154
|
+
case 'string':
|
|
155
|
+
let tokenBeforeTheLastToken = tokens[tokens.length - 2];
|
|
156
|
+
if (tokenBeforeTheLastToken?.type === 'delimiter') {
|
|
157
|
+
tokens = tokens.slice(0, tokens.length - 1);
|
|
158
|
+
return strip(tokens);
|
|
159
|
+
}
|
|
160
|
+
else if (tokenBeforeTheLastToken?.type === 'brace' && tokenBeforeTheLastToken.value === '{') {
|
|
161
|
+
tokens = tokens.slice(0, tokens.length - 1);
|
|
162
|
+
return strip(tokens);
|
|
163
|
+
}
|
|
164
|
+
break;
|
|
165
|
+
case 'delimiter':
|
|
166
|
+
tokens = tokens.slice(0, tokens.length - 1);
|
|
167
|
+
return strip(tokens);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
return tokens;
|
|
171
|
+
}, unstrip = (tokens) => {
|
|
172
|
+
let tail = [];
|
|
173
|
+
tokens.map((token) => {
|
|
174
|
+
if (token.type === 'brace') {
|
|
175
|
+
if (token.value === '{') {
|
|
176
|
+
tail.push('}');
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
tail.splice(tail.lastIndexOf('}'), 1);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (token.type === 'paren') {
|
|
183
|
+
if (token.value === '[') {
|
|
184
|
+
tail.push(']');
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
tail.splice(tail.lastIndexOf(']'), 1);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
if (tail.length > 0) {
|
|
192
|
+
tail.reverse().map((item) => {
|
|
193
|
+
if (item === '}') {
|
|
194
|
+
tokens.push({
|
|
195
|
+
type: 'brace',
|
|
196
|
+
value: '}',
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
else if (item === ']') {
|
|
200
|
+
tokens.push({
|
|
201
|
+
type: 'paren',
|
|
202
|
+
value: ']',
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
return tokens;
|
|
208
|
+
}, generate = (tokens) => {
|
|
209
|
+
let output = '';
|
|
210
|
+
tokens.map((token) => {
|
|
211
|
+
switch (token.type) {
|
|
212
|
+
case 'string':
|
|
213
|
+
output += '"' + token.value + '"';
|
|
214
|
+
break;
|
|
215
|
+
default:
|
|
216
|
+
output += token.value;
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
return output;
|
|
221
|
+
}, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));
|
|
222
|
+
export { partialParse };
|
|
223
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/vendor/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["../../src/vendor/api-promise.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.js","sourceRoot":"","sources":["../../src/vendor/api-promise.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,cAAc,uBAAuB,CAAC"}
|