@travisennis/acai 0.0.11 → 0.0.12
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 +2 -3
- package/dist/commands/init-project/utils.d.ts.map +1 -1
- package/dist/commands/init-project/utils.js +0 -11
- package/dist/commands/manager.d.ts.map +1 -1
- package/dist/commands/manager.js +6 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +4 -1
- package/dist/commands/session/index.d.ts.map +1 -1
- package/dist/commands/session/index.js +6 -0
- package/dist/commands/session/types.d.ts +1 -0
- package/dist/commands/session/types.d.ts.map +1 -1
- package/dist/commands/tools/index.d.ts +3 -0
- package/dist/commands/tools/index.d.ts.map +1 -0
- package/dist/commands/tools/index.js +190 -0
- package/dist/commands/tools/templates.d.ts +6 -0
- package/dist/commands/tools/templates.d.ts.map +1 -0
- package/dist/commands/tools/templates.js +97 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +41 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -3
- package/dist/models/anthropic-provider.d.ts +1 -1
- package/dist/models/deepseek-provider.d.ts +3 -3
- package/dist/models/deepseek-provider.js +17 -17
- package/dist/models/google-provider.d.ts +2 -4
- package/dist/models/google-provider.d.ts.map +1 -1
- package/dist/models/google-provider.js +2 -17
- package/dist/models/groq-provider.d.ts +2 -4
- package/dist/models/groq-provider.d.ts.map +1 -1
- package/dist/models/groq-provider.js +3 -21
- package/dist/models/opencode-go-provider.d.ts +11 -1
- package/dist/models/opencode-go-provider.d.ts.map +1 -1
- package/dist/models/opencode-go-provider.js +136 -0
- package/dist/models/opencode-zen-provider.d.ts +3 -3
- package/dist/models/opencode-zen-provider.d.ts.map +1 -1
- package/dist/models/opencode-zen-provider.js +26 -32
- package/dist/models/openrouter-provider.d.ts +4 -15
- package/dist/models/openrouter-provider.d.ts.map +1 -1
- package/dist/models/openrouter-provider.js +26 -169
- package/dist/models/providers.d.ts +1 -1
- package/dist/models/providers.d.ts.map +1 -1
- package/dist/models/xai-provider.d.ts +1 -2
- package/dist/models/xai-provider.d.ts.map +1 -1
- package/dist/models/xai-provider.js +0 -13
- package/dist/prompts/manager.d.ts.map +1 -1
- package/dist/prompts/manager.js +5 -1
- package/dist/prompts/system-prompt.d.ts +1 -0
- package/dist/prompts/system-prompt.d.ts.map +1 -1
- package/dist/prompts/system-prompt.js +20 -5
- package/dist/repl/index.d.ts +1 -2
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +5 -52
- package/dist/skills/activated-tracker.d.ts +11 -0
- package/dist/skills/activated-tracker.d.ts.map +1 -0
- package/dist/skills/activated-tracker.js +16 -0
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +7 -1
- package/dist/tools/bash.d.ts +4 -4
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +17 -6
- package/dist/tools/directory-tree.d.ts +4 -4
- package/dist/tools/directory-tree.d.ts.map +1 -1
- package/dist/tools/directory-tree.js +2 -0
- package/dist/tools/dynamic-tool-loader.d.ts +11 -2
- package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
- package/dist/tools/dynamic-tool-loader.js +299 -39
- package/dist/tools/edit-file.d.ts +2 -2
- package/dist/tools/glob.d.ts +16 -16
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +9 -1
- package/dist/tools/grep.d.ts +14 -14
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +7 -0
- package/dist/tools/index.d.ts +42 -36
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +16 -1
- package/dist/tools/ls.d.ts +2 -2
- package/dist/tools/ls.d.ts.map +1 -1
- package/dist/tools/ls.js +1 -0
- package/dist/tools/read-file.d.ts +8 -8
- package/dist/tools/save-file.d.ts +4 -4
- package/dist/tools/skill.d.ts +2 -1
- package/dist/tools/skill.d.ts.map +1 -1
- package/dist/tools/skill.js +55 -12
- package/dist/tools/types.d.ts +8 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/web-fetch.d.ts +6 -6
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +27 -8
- package/dist/tools/web-search.d.ts +4 -4
- package/dist/tools/web-search.js +1 -1
- package/dist/tui/components/footer.d.ts +0 -2
- package/dist/tui/components/footer.d.ts.map +1 -1
- package/dist/tui/components/footer.js +1 -17
- package/dist/utils/binary-output.d.ts +32 -0
- package/dist/utils/binary-output.d.ts.map +1 -0
- package/dist/utils/binary-output.js +127 -0
- package/dist/utils/command-protection.d.ts.map +1 -1
- package/dist/utils/command-protection.js +92 -9
- package/dist/utils/parsing.d.ts +1 -1
- package/dist/utils/parsing.d.ts.map +1 -1
- package/package.json +27 -25
- package/dist/modes/manager.d.ts +0 -24
- package/dist/modes/manager.d.ts.map +0 -1
- package/dist/modes/manager.js +0 -77
- package/dist/modes/prompts.d.ts +0 -2
- package/dist/modes/prompts.d.ts.map +0 -1
- package/dist/modes/prompts.js +0 -142
|
@@ -8,7 +8,7 @@ type ModelName = `anthropic:${keyof typeof anthropicModels}`;
|
|
|
8
8
|
export declare const anthropicModelNames: ModelName[];
|
|
9
9
|
export declare const anthropicProvider: {
|
|
10
10
|
anthropic: import("@ai-sdk/provider").ProviderV3 & {
|
|
11
|
-
languageModel(modelId: "
|
|
11
|
+
languageModel(modelId: "haiku" | "opus" | "sonnet"): import("@ai-sdk/provider").LanguageModelV3;
|
|
12
12
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
13
13
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
14
14
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const deepseekModels: {
|
|
3
|
-
readonly "deepseek-
|
|
4
|
-
readonly "deepseek-
|
|
3
|
+
readonly "deepseek-v4-flash": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
+
readonly "deepseek-v4-pro": import("@ai-sdk/provider").LanguageModelV3;
|
|
5
5
|
};
|
|
6
6
|
type ModelName = `deepseek:${keyof typeof deepseekModels}`;
|
|
7
7
|
export declare const deepseekModelNames: ModelName[];
|
|
8
8
|
export declare const deepseekProvider: {
|
|
9
9
|
deepseek: import("@ai-sdk/provider").ProviderV3 & {
|
|
10
|
-
languageModel(modelId: "deepseek-
|
|
10
|
+
languageModel(modelId: "deepseek-v4-flash" | "deepseek-v4-pro"): import("@ai-sdk/provider").LanguageModelV3;
|
|
11
11
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
12
12
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
13
13
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -2,8 +2,8 @@ import { deepseek as originalDeepseek } from "@ai-sdk/deepseek";
|
|
|
2
2
|
import { objectKeys } from "@travisennis/stdlib/object";
|
|
3
3
|
import { customProvider } from "ai";
|
|
4
4
|
const deepseekModels = {
|
|
5
|
-
"deepseek-
|
|
6
|
-
"deepseek-
|
|
5
|
+
"deepseek-v4-flash": originalDeepseek("deepseek-v4-flash"),
|
|
6
|
+
"deepseek-v4-pro": originalDeepseek("deepseek-v4-pro"),
|
|
7
7
|
};
|
|
8
8
|
export const deepseekModelNames = objectKeys(deepseekModels).map((key) => `deepseek:${key}`);
|
|
9
9
|
export const deepseekProvider = {
|
|
@@ -13,28 +13,28 @@ export const deepseekProvider = {
|
|
|
13
13
|
}),
|
|
14
14
|
};
|
|
15
15
|
export const deepseekModelRegistry = {
|
|
16
|
-
"deepseek:deepseek-
|
|
17
|
-
id: "deepseek:deepseek-
|
|
16
|
+
"deepseek:deepseek-v4-flash": {
|
|
17
|
+
id: "deepseek:deepseek-v4-flash",
|
|
18
18
|
provider: "deepseek",
|
|
19
|
-
contextWindow:
|
|
20
|
-
maxOutputTokens:
|
|
19
|
+
contextWindow: 1000000,
|
|
20
|
+
maxOutputTokens: 384000,
|
|
21
21
|
defaultTemperature: 0.3,
|
|
22
22
|
promptFormat: "bracket",
|
|
23
|
-
supportsReasoning:
|
|
23
|
+
supportsReasoning: true,
|
|
24
24
|
supportsToolCalling: true,
|
|
25
|
-
costPerInputToken: 0.
|
|
26
|
-
costPerOutputToken: 0.
|
|
25
|
+
costPerInputToken: 0.00000014,
|
|
26
|
+
costPerOutputToken: 0.00000028,
|
|
27
27
|
},
|
|
28
|
-
"deepseek:deepseek-
|
|
29
|
-
id: "deepseek:deepseek-
|
|
28
|
+
"deepseek:deepseek-v4-pro": {
|
|
29
|
+
id: "deepseek:deepseek-v4-pro",
|
|
30
30
|
provider: "deepseek",
|
|
31
|
-
contextWindow:
|
|
32
|
-
maxOutputTokens:
|
|
33
|
-
defaultTemperature: 0.
|
|
31
|
+
contextWindow: 1000000,
|
|
32
|
+
maxOutputTokens: 384000,
|
|
33
|
+
defaultTemperature: 0.3,
|
|
34
34
|
promptFormat: "bracket",
|
|
35
35
|
supportsReasoning: true,
|
|
36
|
-
supportsToolCalling: true,
|
|
37
|
-
costPerInputToken: 0.
|
|
38
|
-
costPerOutputToken: 0.
|
|
36
|
+
supportsToolCalling: true,
|
|
37
|
+
costPerInputToken: 0.000000435,
|
|
38
|
+
costPerOutputToken: 0.00000087,
|
|
39
39
|
},
|
|
40
40
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
|
-
declare const googleModels: {
|
|
3
|
-
readonly flash25lite: import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
-
};
|
|
2
|
+
declare const googleModels: {};
|
|
5
3
|
type ModelName = `google:${keyof typeof googleModels}`;
|
|
6
4
|
export declare const googleModelNames: ModelName[];
|
|
7
5
|
export declare const googleProvider: {
|
|
8
6
|
google: import("@ai-sdk/provider").ProviderV3 & {
|
|
9
|
-
languageModel(modelId:
|
|
7
|
+
languageModel(modelId: never): import("@ai-sdk/provider").LanguageModelV3;
|
|
10
8
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
11
9
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
12
10
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-provider.d.ts","sourceRoot":"","sources":["../../source/models/google-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"google-provider.d.ts","sourceRoot":"","sources":["../../source/models/google-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,YAAY,IAAc,CAAC;AAEjC,KAAK,SAAS,GAAG,UAAU,MAAM,OAAO,YAAY,EAAE,CAAC;AAEvD,eAAO,MAAM,gBAAgB,EAAE,SAAS,EAEvC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;CAK1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,SAAS,EACT,aAAa,CAAC,SAAS,CAAC,CAC2B,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { google as originalGoogle } from "@ai-sdk/google";
|
|
2
2
|
import { objectKeys } from "@travisennis/stdlib/object";
|
|
3
3
|
import { customProvider } from "ai";
|
|
4
|
-
const googleModels = {
|
|
5
|
-
flash25lite: originalGoogle("gemini-2.5-flash-lite-preview-06-17"),
|
|
6
|
-
};
|
|
4
|
+
const googleModels = {};
|
|
7
5
|
export const googleModelNames = objectKeys(googleModels).map((key) => `google:${key}`);
|
|
8
6
|
export const googleProvider = {
|
|
9
7
|
google: customProvider({
|
|
@@ -11,17 +9,4 @@ export const googleProvider = {
|
|
|
11
9
|
fallbackProvider: originalGoogle,
|
|
12
10
|
}),
|
|
13
11
|
};
|
|
14
|
-
export const googleModelRegistry = {
|
|
15
|
-
"google:flash25lite": {
|
|
16
|
-
id: "google:flash25lite",
|
|
17
|
-
provider: "google",
|
|
18
|
-
contextWindow: 1000000,
|
|
19
|
-
maxOutputTokens: 8192,
|
|
20
|
-
defaultTemperature: 0.3,
|
|
21
|
-
promptFormat: "markdown",
|
|
22
|
-
supportsReasoning: false,
|
|
23
|
-
supportsToolCalling: true,
|
|
24
|
-
costPerInputToken: 0,
|
|
25
|
-
costPerOutputToken: 0,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
12
|
+
export const googleModelRegistry = {};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
|
-
declare const groqModels: {
|
|
3
|
-
readonly "kimi-k2-instruct-0905": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
-
};
|
|
2
|
+
declare const groqModels: {};
|
|
5
3
|
type ModelName = `groq:${keyof typeof groqModels}`;
|
|
6
4
|
export declare const groqModelNames: ModelName[];
|
|
7
5
|
export declare const groqProvider: {
|
|
8
6
|
groq: import("@ai-sdk/provider").ProviderV3 & {
|
|
9
|
-
languageModel(modelId:
|
|
7
|
+
languageModel(modelId: never): import("@ai-sdk/provider").LanguageModelV3;
|
|
10
8
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
11
9
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
12
10
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groq-provider.d.ts","sourceRoot":"","sources":["../../source/models/groq-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"groq-provider.d.ts","sourceRoot":"","sources":["../../source/models/groq-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,QAAA,MAAM,UAAU,IAAc,CAAC;AAE/B,KAAK,SAAS,GAAG,QAAQ,MAAM,OAAO,UAAU,EAAE,CAAC;AAEnD,eAAO,MAAM,cAAc,EAAE,SAAS,EAErC,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;CAKxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE;KAC7B,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CACY,CAAC"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { groq as originalGroq } from "@ai-sdk/groq";
|
|
2
2
|
import { objectKeys } from "@travisennis/stdlib/object";
|
|
3
3
|
import { customProvider } from "ai";
|
|
4
|
-
const
|
|
5
|
-
apiKey: process.env["GROQ_API_KEY"] ?? "",
|
|
6
|
-
});
|
|
7
|
-
const groqModels = {
|
|
8
|
-
"kimi-k2-instruct-0905": groq("moonshotai/kimi-k2-instruct-0905"),
|
|
9
|
-
};
|
|
4
|
+
const groqModels = {};
|
|
10
5
|
export const groqModelNames = objectKeys(groqModels).map((key) => `groq:${key}`);
|
|
11
6
|
export const groqProvider = {
|
|
12
7
|
groq: customProvider({
|
|
@@ -14,17 +9,4 @@ export const groqProvider = {
|
|
|
14
9
|
fallbackProvider: originalGroq,
|
|
15
10
|
}),
|
|
16
11
|
};
|
|
17
|
-
export const groqModelRegistry = {
|
|
18
|
-
"groq:kimi-k2-instruct-0905": {
|
|
19
|
-
id: "groq:kimi-k2-instruct-0905",
|
|
20
|
-
provider: "groq",
|
|
21
|
-
contextWindow: 262144,
|
|
22
|
-
maxOutputTokens: 16384,
|
|
23
|
-
defaultTemperature: 0.1,
|
|
24
|
-
promptFormat: "markdown",
|
|
25
|
-
supportsReasoning: false,
|
|
26
|
-
supportsToolCalling: true,
|
|
27
|
-
costPerInputToken: 1 / 1000000,
|
|
28
|
-
costPerOutputToken: 3 / 1000000,
|
|
29
|
-
},
|
|
30
|
-
};
|
|
12
|
+
export const groqModelRegistry = {};
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const opencodeGoModels: {
|
|
3
|
+
readonly "deepseek-v4-flash": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
+
readonly "deepseek-v4-pro": import("@ai-sdk/provider").LanguageModelV3;
|
|
3
5
|
readonly "glm-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
6
|
+
readonly "glm-5-1": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
7
|
readonly "kimi-k2-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
8
|
+
readonly "kimi-k2-6": import("@ai-sdk/provider").LanguageModelV3;
|
|
5
9
|
readonly "minimax-m2-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
6
10
|
readonly "minimax-m2-7": import("@ai-sdk/provider").LanguageModelV3;
|
|
11
|
+
readonly "mimo-v2-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
12
|
+
readonly "mimo-v2-5-pro": import("@ai-sdk/provider").LanguageModelV3;
|
|
13
|
+
readonly "mimo-v2-pro": import("@ai-sdk/provider").LanguageModelV3;
|
|
14
|
+
readonly "mimo-v2-omni": import("@ai-sdk/provider").LanguageModelV3;
|
|
15
|
+
readonly "qwen3.6-plus": import("@ai-sdk/provider").LanguageModelV3;
|
|
16
|
+
readonly "qwen3.5-plus": import("@ai-sdk/provider").LanguageModelV3;
|
|
7
17
|
};
|
|
8
18
|
type ModelName = `opencode-go:${keyof typeof opencodeGoModels}`;
|
|
9
19
|
export declare const opencodeGoModelNames: ModelName[];
|
|
10
20
|
export declare const opencodeGoProvider: {
|
|
11
21
|
"opencode-go": import("@ai-sdk/provider").ProviderV3 & {
|
|
12
|
-
languageModel(modelId: "glm-5" | "kimi-k2-5" | "minimax-m2-5" | "minimax-m2-7"): import("@ai-sdk/provider").LanguageModelV3;
|
|
22
|
+
languageModel(modelId: "deepseek-v4-flash" | "deepseek-v4-pro" | "glm-5" | "mimo-v2-pro" | "mimo-v2-omni" | "qwen3.6-plus" | "qwen3.5-plus" | "glm-5-1" | "kimi-k2-5" | "kimi-k2-6" | "minimax-m2-5" | "minimax-m2-7" | "mimo-v2-5" | "mimo-v2-5-pro"): import("@ai-sdk/provider").LanguageModelV3;
|
|
13
23
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
14
24
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
15
25
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-go-provider.d.ts","sourceRoot":"","sources":["../../source/models/opencode-go-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode-go-provider.d.ts","sourceRoot":"","sources":["../../source/models/opencode-go-provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAqBpD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;CAeZ,CAAC;AAEX,KAAK,SAAS,GAAG,eAAe,MAAM,OAAO,gBAAgB,EAAE,CAAC;AAEhE,eAAO,MAAM,oBAAoB,EAAE,SAAS,EAEC,CAAC;AAE9C,eAAO,MAAM,kBAAkB;;;;;;;;;;CAK9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE;KACnC,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CA0K3C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createAlibaba } from "@ai-sdk/alibaba";
|
|
1
2
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
3
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
3
4
|
import { objectKeys } from "@travisennis/stdlib/object";
|
|
@@ -13,11 +14,26 @@ const messagesClient = createAnthropic({
|
|
|
13
14
|
baseURL: "https://opencode.ai/zen/go/v1",
|
|
14
15
|
apiKey: process.env["OPENCODE_ZEN_API_TOKEN"] ?? "",
|
|
15
16
|
});
|
|
17
|
+
const alibabaClient = createAlibaba({
|
|
18
|
+
apiKey: process.env["OPENCODE_ZEN_API_TOKEN"] ?? "",
|
|
19
|
+
// biome-ignore lint/style/useNamingConvention: third-party controlled
|
|
20
|
+
baseURL: "https://opencode.ai/zen/go/v1",
|
|
21
|
+
});
|
|
16
22
|
const opencodeGoModels = {
|
|
23
|
+
"deepseek-v4-flash": completionsClient("deepseek-v4-flash"),
|
|
24
|
+
"deepseek-v4-pro": completionsClient("deepseek-v4-pro"),
|
|
17
25
|
"glm-5": completionsClient("glm-5"),
|
|
26
|
+
"glm-5-1": completionsClient("glm-5.1"),
|
|
18
27
|
"kimi-k2-5": completionsClient("kimi-k2.5"),
|
|
28
|
+
"kimi-k2-6": completionsClient("kimi-k2.6"),
|
|
19
29
|
"minimax-m2-5": messagesClient("minimax-m2.5"),
|
|
20
30
|
"minimax-m2-7": messagesClient("minimax-m2.7"),
|
|
31
|
+
"mimo-v2-5": completionsClient("mimo-v2.5"),
|
|
32
|
+
"mimo-v2-5-pro": completionsClient("mimo-v2.5-pro"),
|
|
33
|
+
"mimo-v2-pro": completionsClient("mimo-v2-pro"),
|
|
34
|
+
"mimo-v2-omni": completionsClient("mimo-v2-omni"),
|
|
35
|
+
"qwen3.6-plus": alibabaClient("qwen3.6-plus"),
|
|
36
|
+
"qwen3.5-plus": alibabaClient("qwen3.5-plus"),
|
|
21
37
|
};
|
|
22
38
|
export const opencodeGoModelNames = objectKeys(opencodeGoModels).map((key) => `opencode-go:${key}`);
|
|
23
39
|
export const opencodeGoProvider = {
|
|
@@ -27,6 +43,30 @@ export const opencodeGoProvider = {
|
|
|
27
43
|
}),
|
|
28
44
|
};
|
|
29
45
|
export const opencodeGoModelRegistry = {
|
|
46
|
+
"opencode-go:deepseek-v4-flash": {
|
|
47
|
+
id: "opencode-go:deepseek-v4-flash",
|
|
48
|
+
provider: "opencode-go",
|
|
49
|
+
contextWindow: 1048576,
|
|
50
|
+
maxOutputTokens: 384000,
|
|
51
|
+
defaultTemperature: 0.5,
|
|
52
|
+
promptFormat: "bracket",
|
|
53
|
+
supportsReasoning: true,
|
|
54
|
+
supportsToolCalling: true,
|
|
55
|
+
costPerInputToken: 0.00000014,
|
|
56
|
+
costPerOutputToken: 0.00000028,
|
|
57
|
+
},
|
|
58
|
+
"opencode-go:deepseek-v4-pro": {
|
|
59
|
+
id: "opencode-go:deepseek-v4-pro",
|
|
60
|
+
provider: "opencode-go",
|
|
61
|
+
contextWindow: 1048576,
|
|
62
|
+
maxOutputTokens: 384000,
|
|
63
|
+
defaultTemperature: 0.5,
|
|
64
|
+
promptFormat: "bracket",
|
|
65
|
+
supportsReasoning: true,
|
|
66
|
+
supportsToolCalling: true,
|
|
67
|
+
costPerInputToken: 0.00000174,
|
|
68
|
+
costPerOutputToken: 0.00000348,
|
|
69
|
+
},
|
|
30
70
|
"opencode-go:glm-5": {
|
|
31
71
|
id: "opencode-go:glm-5",
|
|
32
72
|
provider: "opencode-go",
|
|
@@ -39,6 +79,18 @@ export const opencodeGoModelRegistry = {
|
|
|
39
79
|
costPerInputToken: 0.000001,
|
|
40
80
|
costPerOutputToken: 0.0000032,
|
|
41
81
|
},
|
|
82
|
+
"opencode-go:glm-5-1": {
|
|
83
|
+
id: "opencode-go:glm-5-1",
|
|
84
|
+
provider: "opencode-go",
|
|
85
|
+
contextWindow: 202752,
|
|
86
|
+
maxOutputTokens: 202752,
|
|
87
|
+
defaultTemperature: 0.5,
|
|
88
|
+
promptFormat: "markdown",
|
|
89
|
+
supportsReasoning: true,
|
|
90
|
+
supportsToolCalling: true,
|
|
91
|
+
costPerInputToken: 0.0000014,
|
|
92
|
+
costPerOutputToken: 0.0000044,
|
|
93
|
+
},
|
|
42
94
|
"opencode-go:kimi-k2-5": {
|
|
43
95
|
id: "opencode-go:kimi-k2-5",
|
|
44
96
|
provider: "opencode-go",
|
|
@@ -51,6 +103,18 @@ export const opencodeGoModelRegistry = {
|
|
|
51
103
|
costPerInputToken: 6e-7,
|
|
52
104
|
costPerOutputToken: 0.000003,
|
|
53
105
|
},
|
|
106
|
+
"opencode-go:kimi-k2-6": {
|
|
107
|
+
id: "opencode-go:kimi-k2-6",
|
|
108
|
+
provider: "opencode-go",
|
|
109
|
+
contextWindow: 256000,
|
|
110
|
+
maxOutputTokens: 65536,
|
|
111
|
+
defaultTemperature: 1.0,
|
|
112
|
+
promptFormat: "markdown",
|
|
113
|
+
supportsReasoning: true,
|
|
114
|
+
supportsToolCalling: true,
|
|
115
|
+
costPerInputToken: 7.448e-7,
|
|
116
|
+
costPerOutputToken: 0.000004655,
|
|
117
|
+
},
|
|
54
118
|
"opencode-go:minimax-m2-5": {
|
|
55
119
|
id: "opencode-go:minimax-m2-5",
|
|
56
120
|
provider: "opencode-go",
|
|
@@ -75,4 +139,76 @@ export const opencodeGoModelRegistry = {
|
|
|
75
139
|
costPerInputToken: 3e-7,
|
|
76
140
|
costPerOutputToken: 0.0000012,
|
|
77
141
|
},
|
|
142
|
+
"opencode-go:mimo-v2-5": {
|
|
143
|
+
id: "opencode-go:mimo-v2-5",
|
|
144
|
+
provider: "opencode-go",
|
|
145
|
+
contextWindow: 1048576,
|
|
146
|
+
maxOutputTokens: 131072,
|
|
147
|
+
defaultTemperature: 1.0,
|
|
148
|
+
promptFormat: "markdown",
|
|
149
|
+
supportsReasoning: true,
|
|
150
|
+
supportsToolCalling: true,
|
|
151
|
+
costPerInputToken: 0.0000004,
|
|
152
|
+
costPerOutputToken: 0.000002,
|
|
153
|
+
},
|
|
154
|
+
"opencode-go:mimo-v2-5-pro": {
|
|
155
|
+
id: "opencode-go:mimo-v2-5-pro",
|
|
156
|
+
provider: "opencode-go",
|
|
157
|
+
contextWindow: 1048576,
|
|
158
|
+
maxOutputTokens: 131072,
|
|
159
|
+
defaultTemperature: 1.0,
|
|
160
|
+
promptFormat: "markdown",
|
|
161
|
+
supportsReasoning: true,
|
|
162
|
+
supportsToolCalling: true,
|
|
163
|
+
costPerInputToken: 0.000001,
|
|
164
|
+
costPerOutputToken: 0.000003,
|
|
165
|
+
},
|
|
166
|
+
"opencode-go:mimo-v2-pro": {
|
|
167
|
+
id: "opencode-go:mimo-v2-pro",
|
|
168
|
+
provider: "opencode-go",
|
|
169
|
+
contextWindow: 1048576,
|
|
170
|
+
maxOutputTokens: 131072,
|
|
171
|
+
defaultTemperature: 1.0,
|
|
172
|
+
promptFormat: "markdown",
|
|
173
|
+
supportsReasoning: true,
|
|
174
|
+
supportsToolCalling: true,
|
|
175
|
+
costPerInputToken: 0.000001,
|
|
176
|
+
costPerOutputToken: 0.000003,
|
|
177
|
+
},
|
|
178
|
+
"opencode-go:mimo-v2-omni": {
|
|
179
|
+
id: "opencode-go:mimo-v2-omni",
|
|
180
|
+
provider: "opencode-go",
|
|
181
|
+
contextWindow: 262144,
|
|
182
|
+
maxOutputTokens: 65536,
|
|
183
|
+
defaultTemperature: 1.0,
|
|
184
|
+
promptFormat: "markdown",
|
|
185
|
+
supportsReasoning: true,
|
|
186
|
+
supportsToolCalling: true,
|
|
187
|
+
costPerInputToken: 4e-7,
|
|
188
|
+
costPerOutputToken: 0.000002,
|
|
189
|
+
},
|
|
190
|
+
"opencode-go:qwen3.6-plus": {
|
|
191
|
+
id: "opencode-go:qwen3.6-plus",
|
|
192
|
+
provider: "opencode-go",
|
|
193
|
+
contextWindow: 1000000,
|
|
194
|
+
maxOutputTokens: 65536,
|
|
195
|
+
defaultTemperature: 1.0,
|
|
196
|
+
promptFormat: "markdown",
|
|
197
|
+
supportsReasoning: true,
|
|
198
|
+
supportsToolCalling: true,
|
|
199
|
+
costPerInputToken: 3.25e-7,
|
|
200
|
+
costPerOutputToken: 0.00000195,
|
|
201
|
+
},
|
|
202
|
+
"opencode-go:qwen3.5-plus": {
|
|
203
|
+
id: "opencode-go:qwen3.5-plus",
|
|
204
|
+
provider: "opencode-go",
|
|
205
|
+
contextWindow: 1000000,
|
|
206
|
+
maxOutputTokens: 65536,
|
|
207
|
+
defaultTemperature: 1.0,
|
|
208
|
+
promptFormat: "markdown",
|
|
209
|
+
supportsReasoning: true,
|
|
210
|
+
supportsToolCalling: true,
|
|
211
|
+
costPerInputToken: 2.6e-7,
|
|
212
|
+
costPerOutputToken: 0.00000156,
|
|
213
|
+
},
|
|
78
214
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const opencodeZenModels: {
|
|
3
|
-
readonly "glm-4-7": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
3
|
readonly "glm-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
+
readonly "glm-5-1": import("@ai-sdk/provider").LanguageModelV3;
|
|
5
5
|
readonly "opus-4-6": import("@ai-sdk/provider").LanguageModelV3;
|
|
6
6
|
readonly "minimax-m2.5": import("@ai-sdk/provider").LanguageModelV3;
|
|
7
7
|
readonly "minimax-m2.7": import("@ai-sdk/provider").LanguageModelV3;
|
|
8
|
-
readonly "gpt-5.2-codex": import("@ai-sdk/provider").LanguageModelV3;
|
|
9
8
|
readonly "kimi-k2-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
9
|
+
readonly "kimi-k2-6": import("@ai-sdk/provider").LanguageModelV3;
|
|
10
10
|
};
|
|
11
11
|
type ModelName = `opencode:${keyof typeof opencodeZenModels}`;
|
|
12
12
|
export declare const opencodeZenModelNames: ModelName[];
|
|
13
13
|
export declare const opencodeZenProvider: {
|
|
14
14
|
opencode: import("@ai-sdk/provider").ProviderV3 & {
|
|
15
|
-
languageModel(modelId: "
|
|
15
|
+
languageModel(modelId: "glm-5" | "minimax-m2.5" | "minimax-m2.7" | "glm-5-1" | "kimi-k2-5" | "kimi-k2-6" | "opus-4-6"): import("@ai-sdk/provider").LanguageModelV3;
|
|
16
16
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
17
17
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
18
18
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-zen-provider.d.ts","sourceRoot":"","sources":["../../source/models/opencode-zen-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode-zen-provider.d.ts","sourceRoot":"","sources":["../../source/models/opencode-zen-provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA0BpD,QAAA,MAAM,iBAAiB;;;;;;;;CAQb,CAAC;AAEX,KAAK,SAAS,GAAG,YAAY,MAAM,OAAO,iBAAiB,EAAE,CAAC;AAE9D,eAAO,MAAM,qBAAqB,EAAE,SAAS,EAEH,CAAC;AAE3C,eAAO,MAAM,mBAAmB;;;;;;;;;;CAK/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE;KACpC,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CAsF3C,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
2
|
-
import { createOpenAI } from "@ai-sdk/openai";
|
|
3
2
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
4
3
|
import { objectKeys } from "@travisennis/stdlib/object";
|
|
5
4
|
import { customProvider } from "ai";
|
|
@@ -24,19 +23,14 @@ const messagesClient = createAnthropic({
|
|
|
24
23
|
// "X-Title": "acai",
|
|
25
24
|
// },
|
|
26
25
|
// });
|
|
27
|
-
const responsesClient = createOpenAI({
|
|
28
|
-
// biome-ignore lint/style/useNamingConvention: third-party controlled
|
|
29
|
-
baseURL: "https://opencode.ai/zen/v1/responses",
|
|
30
|
-
apiKey: process.env["OPENCODE_ZEN_API_TOKEN"] ?? "",
|
|
31
|
-
});
|
|
32
26
|
const opencodeZenModels = {
|
|
33
|
-
"glm-4-7": completionsClient("glm-4.7"),
|
|
34
27
|
"glm-5": completionsClient("glm-5"),
|
|
28
|
+
"glm-5-1": completionsClient("glm-5.1"),
|
|
35
29
|
"opus-4-6": messagesClient("claude-opus-4.6"),
|
|
36
30
|
"minimax-m2.5": completionsClient("minimax-m2.5"),
|
|
37
31
|
"minimax-m2.7": completionsClient("minimax-m2.7"),
|
|
38
|
-
"gpt-5.2-codex": responsesClient.responses("gpt-5.2-codex"),
|
|
39
32
|
"kimi-k2-5": completionsClient("kimi-k2.5"),
|
|
33
|
+
"kimi-k2-6": completionsClient("kimi-k2.6"),
|
|
40
34
|
};
|
|
41
35
|
export const opencodeZenModelNames = objectKeys(opencodeZenModels).map((key) => `opencode:${key}`);
|
|
42
36
|
export const opencodeZenProvider = {
|
|
@@ -46,18 +40,6 @@ export const opencodeZenProvider = {
|
|
|
46
40
|
}),
|
|
47
41
|
};
|
|
48
42
|
export const opencodeZenModelRegistry = {
|
|
49
|
-
"opencode:glm-4-7": {
|
|
50
|
-
id: "opencode:glm-4-7",
|
|
51
|
-
provider: "opencode",
|
|
52
|
-
contextWindow: 200000,
|
|
53
|
-
maxOutputTokens: 131072,
|
|
54
|
-
defaultTemperature: 0.5,
|
|
55
|
-
promptFormat: "markdown",
|
|
56
|
-
supportsReasoning: true,
|
|
57
|
-
supportsToolCalling: true,
|
|
58
|
-
costPerInputToken: 1.1e-7,
|
|
59
|
-
costPerOutputToken: 0.0000022,
|
|
60
|
-
},
|
|
61
43
|
"opencode:glm-5": {
|
|
62
44
|
id: "opencode:glm-5",
|
|
63
45
|
provider: "opencode",
|
|
@@ -70,6 +52,18 @@ export const opencodeZenModelRegistry = {
|
|
|
70
52
|
costPerInputToken: 0.000001,
|
|
71
53
|
costPerOutputToken: 0.0000032,
|
|
72
54
|
},
|
|
55
|
+
"opencode:glm-5-1": {
|
|
56
|
+
id: "opencode:glm-5-1",
|
|
57
|
+
provider: "opencode",
|
|
58
|
+
contextWindow: 202752,
|
|
59
|
+
maxOutputTokens: 202752,
|
|
60
|
+
defaultTemperature: 0.5,
|
|
61
|
+
promptFormat: "markdown",
|
|
62
|
+
supportsReasoning: true,
|
|
63
|
+
supportsToolCalling: true,
|
|
64
|
+
costPerInputToken: 0.0000014,
|
|
65
|
+
costPerOutputToken: 0.0000044,
|
|
66
|
+
},
|
|
73
67
|
"opencode:opus-4-6": {
|
|
74
68
|
id: "opencode:opus-4-6",
|
|
75
69
|
provider: "opencode",
|
|
@@ -82,18 +76,6 @@ export const opencodeZenModelRegistry = {
|
|
|
82
76
|
costPerInputToken: 0.000005,
|
|
83
77
|
costPerOutputToken: 0.000025,
|
|
84
78
|
},
|
|
85
|
-
"opencode:gpt-5.2-codex": {
|
|
86
|
-
id: "opencode:gpt-5.2-codex",
|
|
87
|
-
provider: "opencode",
|
|
88
|
-
contextWindow: 400000,
|
|
89
|
-
maxOutputTokens: 128000,
|
|
90
|
-
defaultTemperature: -1,
|
|
91
|
-
promptFormat: "xml",
|
|
92
|
-
supportsReasoning: true,
|
|
93
|
-
supportsToolCalling: true,
|
|
94
|
-
costPerInputToken: 0.00000175,
|
|
95
|
-
costPerOutputToken: 0.000014,
|
|
96
|
-
},
|
|
97
79
|
"opencode:kimi-k2-5": {
|
|
98
80
|
id: "opencode:kimi-k2-5",
|
|
99
81
|
provider: "opencode",
|
|
@@ -106,6 +88,18 @@ export const opencodeZenModelRegistry = {
|
|
|
106
88
|
costPerInputToken: 6e-7,
|
|
107
89
|
costPerOutputToken: 0.000003,
|
|
108
90
|
},
|
|
91
|
+
"opencode:kimi-k2-6": {
|
|
92
|
+
id: "opencode:kimi-k2-6",
|
|
93
|
+
provider: "opencode",
|
|
94
|
+
contextWindow: 256000,
|
|
95
|
+
maxOutputTokens: 65536,
|
|
96
|
+
defaultTemperature: 1.0,
|
|
97
|
+
promptFormat: "markdown",
|
|
98
|
+
supportsReasoning: true,
|
|
99
|
+
supportsToolCalling: true,
|
|
100
|
+
costPerInputToken: 7.448e-7,
|
|
101
|
+
costPerOutputToken: 0.000004655,
|
|
102
|
+
},
|
|
109
103
|
"opencode:minimax-m2.5": {
|
|
110
104
|
id: "opencode:minimax-m2.5",
|
|
111
105
|
provider: "opencode",
|
|
@@ -1,34 +1,23 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const allModels: {
|
|
3
3
|
"gpt-oss-120b": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
-
"gpt-5.1-codex-mini": import("@ai-sdk/provider").LanguageModelV3;
|
|
5
|
-
"gpt-5.1-codex-max": import("@ai-sdk/provider").LanguageModelV3;
|
|
6
|
-
"gpt-5.2": import("@ai-sdk/provider").LanguageModelV3;
|
|
7
|
-
"gpt-5.2-codex": import("@ai-sdk/provider").LanguageModelV3;
|
|
8
4
|
"gpt-5-3-codex": import("@ai-sdk/provider").LanguageModelV3;
|
|
9
|
-
"deepseek-v3-2": import("@ai-sdk/provider").LanguageModelV3;
|
|
10
|
-
"glm-4-7": import("@ai-sdk/provider").LanguageModelV3;
|
|
11
|
-
"glm-4-7-flash": import("@ai-sdk/provider").LanguageModelV3;
|
|
12
|
-
"hunter-alpha": import("@ai-sdk/provider").LanguageModelV3;
|
|
13
5
|
"minimax-m2-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
14
6
|
"minimax-m2-7": import("@ai-sdk/provider").LanguageModelV3;
|
|
15
|
-
"nemotron-3-super-120b-a12b-free": import("@ai-sdk/provider").LanguageModelV3;
|
|
16
7
|
"sonnet-4.5": import("@ai-sdk/provider").LanguageModelV3;
|
|
17
8
|
"opus-4.6": import("@ai-sdk/provider").LanguageModelV3;
|
|
9
|
+
"owl-alpha": import("@ai-sdk/provider").LanguageModelV3;
|
|
18
10
|
"haiku-4.5": import("@ai-sdk/provider").LanguageModelV3;
|
|
19
11
|
"kimi-k2-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
20
|
-
"
|
|
21
|
-
"qwen3-max-thinking": import("@ai-sdk/provider").LanguageModelV3;
|
|
22
|
-
"qwen3-coder-next": import("@ai-sdk/provider").LanguageModelV3;
|
|
12
|
+
"kimi-k2-6": import("@ai-sdk/provider").LanguageModelV3;
|
|
23
13
|
"glm-5": import("@ai-sdk/provider").LanguageModelV3;
|
|
24
|
-
"
|
|
25
|
-
"grok-4-1-fast": import("@ai-sdk/provider").LanguageModelV3;
|
|
14
|
+
"glm-5-1": import("@ai-sdk/provider").LanguageModelV3;
|
|
26
15
|
};
|
|
27
16
|
type ModelName = `openrouter:${keyof typeof allModels}`;
|
|
28
17
|
export declare const openrouterModelNames: ModelName[];
|
|
29
18
|
export declare const openrouterProvider: {
|
|
30
19
|
openrouter: import("@ai-sdk/provider").ProviderV3 & {
|
|
31
|
-
languageModel(modelId: "
|
|
20
|
+
languageModel(modelId: "glm-5" | "glm-5-1" | "kimi-k2-5" | "kimi-k2-6" | "minimax-m2-5" | "minimax-m2-7" | "gpt-oss-120b" | "gpt-5-3-codex" | "sonnet-4.5" | "opus-4.6" | "owl-alpha" | "haiku-4.5"): import("@ai-sdk/provider").LanguageModelV3;
|
|
32
21
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
33
22
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
34
23
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter-provider.d.ts","sourceRoot":"","sources":["../../source/models/openrouter-provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"openrouter-provider.d.ts","sourceRoot":"","sources":["../../source/models/openrouter-provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA6CpD,QAAA,MAAM,SAAS;;;;;;;;;;;;;CAAkD,CAAC;AAElE,KAAK,SAAS,GAAG,cAAc,MAAM,OAAO,SAAS,EAAE,CAAC;AAExD,eAAO,MAAM,oBAAoB,EAAE,SAAS,EAE3C,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;CAK9B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE;KACnC,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CAkJ3C,CAAC"}
|