@apicity/kimicoding 0.1.0-alpha.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.
@@ -0,0 +1,95 @@
1
+ import { z } from "zod";
2
+ // ---------------------------------------------------------------------------
3
+ // Sub-schemas (composable building blocks)
4
+ // ---------------------------------------------------------------------------
5
+ export const Base64ImageSourceSchema = z.object({
6
+ type: z.literal("base64"),
7
+ media_type: z.enum(["image/jpeg", "image/png", "image/gif", "image/webp"]),
8
+ data: z.string(),
9
+ });
10
+ export const UrlImageSourceSchema = z.object({
11
+ type: z.literal("url"),
12
+ url: z.string(),
13
+ });
14
+ export const ImageSourceSchema = z.discriminatedUnion("type", [
15
+ Base64ImageSourceSchema,
16
+ UrlImageSourceSchema,
17
+ ]);
18
+ export const TextContentBlockSchema = z.object({
19
+ type: z.literal("text"),
20
+ text: z.string(),
21
+ });
22
+ export const ImageContentBlockSchema = z.object({
23
+ type: z.literal("image"),
24
+ source: ImageSourceSchema,
25
+ });
26
+ export const ContentBlockSchema = z.discriminatedUnion("type", [
27
+ TextContentBlockSchema,
28
+ ImageContentBlockSchema,
29
+ ]);
30
+ export const ChatMessageSchema = z.object({
31
+ role: z.enum(["user", "assistant"]),
32
+ content: z.union([z.string(), z.array(ContentBlockSchema)]),
33
+ });
34
+ // ---------------------------------------------------------------------------
35
+ // Chat / Messages
36
+ // ---------------------------------------------------------------------------
37
+ export const ChatRequestSchema = z.object({
38
+ model: z.string(),
39
+ messages: z.array(ChatMessageSchema),
40
+ max_tokens: z.number().int().positive(),
41
+ system: z.string().optional(),
42
+ temperature: z.number().optional(),
43
+ top_p: z.number().optional(),
44
+ stop_sequences: z.array(z.string()).optional(),
45
+ stream: z.boolean().optional(),
46
+ });
47
+ // ---------------------------------------------------------------------------
48
+ // Embeddings
49
+ // ---------------------------------------------------------------------------
50
+ export const EmbeddingRequestSchema = z.object({
51
+ input: z.union([
52
+ z.string(),
53
+ z.array(z.string()),
54
+ z.array(z.number()),
55
+ z.array(z.array(z.number())),
56
+ ]),
57
+ model: z.string(),
58
+ encoding_format: z.enum(["float", "base64"]).optional(),
59
+ dimensions: z.number().int().positive().optional(),
60
+ user: z.string().optional(),
61
+ });
62
+ // ---------------------------------------------------------------------------
63
+ // Token counting
64
+ // ---------------------------------------------------------------------------
65
+ export const CountTokensRequestSchema = z.object({
66
+ model: z.string(),
67
+ messages: z.array(ChatMessageSchema),
68
+ system: z.string().optional(),
69
+ tools: z
70
+ .array(z.object({
71
+ name: z.string(),
72
+ description: z.string().optional(),
73
+ input_schema: z.record(z.string(), z.unknown()),
74
+ }))
75
+ .optional(),
76
+ tool_choice: z
77
+ .union([
78
+ z.object({ type: z.string() }),
79
+ z.object({ type: z.literal("tool"), name: z.string() }),
80
+ ])
81
+ .optional(),
82
+ });
83
+ // ---------------------------------------------------------------------------
84
+ // Options
85
+ // ---------------------------------------------------------------------------
86
+ export const KimiCodingOptionsSchema = z.object({
87
+ apiKey: z.string().min(1),
88
+ baseURL: z.string().url().optional(),
89
+ maxRetries: z.number().int().positive().optional(),
90
+ timeout: z.number().int().positive().optional(),
91
+ fetch: z
92
+ .custom()
93
+ .optional(),
94
+ });
95
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/zod.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@apicity/kimicoding",
3
+ "version": "0.1.0-alpha.0",
4
+ "description": "Kimi for Coding provider for Apicity - completely standalone with Anthropic Messages API format, streaming-first, and built-in middleware.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/justintanner/apicity.git",
9
+ "directory": "provider/kimicoding"
10
+ },
11
+ "publishConfig": {
12
+ "access": "public"
13
+ },
14
+ "type": "module",
15
+ "main": "dist/src/index.js",
16
+ "types": "dist/src/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "import": "./dist/src/index.js",
20
+ "types": "./dist/src/index.d.ts"
21
+ },
22
+ "./zod": {
23
+ "import": "./dist/src/zod.js",
24
+ "types": "./dist/src/zod.d.ts"
25
+ }
26
+ },
27
+ "peerDependencies": {
28
+ "zod": "^3.24.0"
29
+ },
30
+ "peerDependenciesMeta": {
31
+ "zod": {
32
+ "optional": true
33
+ }
34
+ },
35
+ "files": [
36
+ "dist",
37
+ "README.md",
38
+ "LICENSE"
39
+ ],
40
+ "sideEffects": false,
41
+ "keywords": [
42
+ "ai",
43
+ "kimi",
44
+ "kimicoding",
45
+ "k2p5",
46
+ "anthropic",
47
+ "chat",
48
+ "streaming",
49
+ "apicity"
50
+ ],
51
+ "author": "Justin Tanner",
52
+ "engines": {
53
+ "node": ">=18.0.0"
54
+ },
55
+ "homepage": "https://github.com/justintanner/apicity#readme",
56
+ "bugs": {
57
+ "url": "https://github.com/justintanner/apicity/issues"
58
+ },
59
+ "scripts": {
60
+ "build": "tsc -p tsconfig.json && node scripts/dist.mjs"
61
+ }
62
+ }