koro-ai 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/package.json +154 -163
  2. package/src/plugin/example.ts +18 -0
  3. package/src/plugin/index.ts +260 -265
  4. package/src/plugin/package.json +44 -0
  5. package/src/plugin/shell.ts +136 -0
  6. package/src/plugin/tool.ts +38 -0
  7. package/src/plugin/tui.ts +508 -0
  8. package/src/provider/models-snapshot.d.ts +2 -0
  9. package/src/provider/models-snapshot.js +3 -0
  10. package/src/script/index.ts +77 -0
  11. package/src/script/package.json +17 -0
  12. package/src/sdk/client.ts +55 -0
  13. package/src/sdk/gen/client/client.gen.ts +212 -0
  14. package/src/sdk/gen/client/index.ts +25 -0
  15. package/src/sdk/gen/client/types.gen.ts +222 -0
  16. package/src/sdk/gen/client/utils.gen.ts +287 -0
  17. package/src/sdk/gen/client.gen.ts +22 -0
  18. package/src/sdk/gen/core/auth.gen.ts +41 -0
  19. package/src/sdk/gen/core/bodySerializer.gen.ts +74 -0
  20. package/src/sdk/gen/core/params.gen.ts +144 -0
  21. package/src/sdk/gen/core/pathSerializer.gen.ts +167 -0
  22. package/src/sdk/gen/core/queryKeySerializer.gen.ts +111 -0
  23. package/src/sdk/gen/core/serverSentEvents.gen.ts +210 -0
  24. package/src/sdk/gen/core/types.gen.ts +91 -0
  25. package/src/sdk/gen/core/utils.gen.ts +109 -0
  26. package/src/sdk/gen/sdk.gen.ts +1197 -0
  27. package/src/sdk/gen/types.gen.ts +3904 -0
  28. package/src/sdk/index.ts +21 -0
  29. package/src/sdk/package.json +35 -0
  30. package/src/sdk/process.ts +31 -0
  31. package/src/sdk/server.ts +134 -0
  32. package/src/sdk/v2/client.ts +81 -0
  33. package/src/sdk/v2/gen/client/client.gen.ts +285 -0
  34. package/src/sdk/v2/gen/client/index.ts +25 -0
  35. package/src/sdk/v2/gen/client/types.gen.ts +202 -0
  36. package/src/sdk/v2/gen/client/utils.gen.ts +289 -0
  37. package/src/sdk/v2/gen/client.gen.ts +18 -0
  38. package/src/sdk/v2/gen/core/auth.gen.ts +41 -0
  39. package/src/sdk/v2/gen/core/bodySerializer.gen.ts +82 -0
  40. package/src/sdk/v2/gen/core/params.gen.ts +169 -0
  41. package/src/sdk/v2/gen/core/pathSerializer.gen.ts +167 -0
  42. package/src/sdk/v2/gen/core/queryKeySerializer.gen.ts +111 -0
  43. package/src/sdk/v2/gen/core/serverSentEvents.gen.ts +239 -0
  44. package/src/sdk/v2/gen/core/types.gen.ts +86 -0
  45. package/src/sdk/v2/gen/core/utils.gen.ts +137 -0
  46. package/src/sdk/v2/gen/sdk.gen.ts +4114 -0
  47. package/src/sdk/v2/gen/types.gen.ts +5187 -0
  48. package/src/sdk/v2/index.ts +21 -0
  49. package/src/sdk/v2/server.ts +134 -0
  50. package/src/util-koro/array.ts +10 -0
  51. package/src/util-koro/binary.ts +41 -0
  52. package/src/util-koro/encode.ts +51 -0
  53. package/src/util-koro/error.ts +54 -0
  54. package/src/util-koro/fn.ts +11 -0
  55. package/src/util-koro/identifier.ts +48 -0
  56. package/src/util-koro/iife.ts +3 -0
  57. package/src/util-koro/lazy.ts +11 -0
  58. package/src/util-koro/module.ts +10 -0
  59. package/src/util-koro/package.json +20 -0
  60. package/src/util-koro/path.ts +37 -0
  61. package/src/util-koro/retry.ts +41 -0
  62. package/src/util-koro/slug.ts +74 -0
  63. package/AGENTS.md +0 -69
  64. package/BUN_SHELL_MIGRATION_PLAN.md +0 -136
  65. package/Dockerfile +0 -18
  66. package/bunfig.toml +0 -7
  67. package/drizzle.config.ts +0 -10
  68. package/git +0 -0
  69. package/parsers-config.ts +0 -290
  70. package/specs/effect-migration.md +0 -294
  71. package/specs/tui-plugins.md +0 -436
  72. package/sst-env.d.ts +0 -10
package/package.json CHANGED
@@ -1,163 +1,154 @@
1
- {
2
- "$schema": "https://json.schemastore.org/package.json",
3
- "version": "1.0.0",
4
- "name": "koro-ai",
5
- "description": "Koro — open-source AI coding agent",
6
- "type": "module",
7
- "license": "MIT",
8
- "private": false,
9
- "scripts": {
10
- "prepare": "effect-language-service patch || true",
11
- "typecheck": "tsgo --noEmit",
12
- "test": "bun test --timeout 30000",
13
- "test:ci": "bun test --timeout 30000 --reporter=junit --reporter-outfile=.artifacts/unit/junit.xml",
14
- "build": "bun run script/build.ts",
15
- "upgrade-opentui": "bun run script/upgrade-opentui.ts",
16
- "dev": "bun run --conditions=browser ./src/index.ts",
17
- "random": "echo 'Random script updated at $(date)' && echo 'Change queued successfully' && echo 'Another change made' && echo 'Yet another change' && echo 'One more change' && echo 'Final change' && echo 'Another final change' && echo 'Yet another final change'",
18
- "clean": "echo 'Cleaning up...' && rm -rf node_modules dist",
19
- "lint": "echo 'Running lint checks...' && bun test --coverage",
20
- "format": "echo 'Formatting code...' && bun run --prettier --write src/**/*.ts",
21
- "docs": "echo 'Generating documentation...' && find src -name '*.ts' -exec echo 'Processing: {}' \\;",
22
- "deploy": "echo 'Deploying application...' && bun run build && echo 'Deployment completed successfully'",
23
- "db": "bun drizzle-kit"
24
- },
25
- "bin": {
26
- "koro": "./bin/koro"
27
- },
28
- "exports": {
29
- "./*": "./src/*.ts"
30
- },
31
- "imports": {
32
- "#db": {
33
- "bun": "./src/storage/db.bun.ts",
34
- "node": "./src/storage/db.node.ts",
35
- "default": "./src/storage/db.bun.ts"
36
- }
37
- },
38
- "devDependencies": {
39
- "@babel/core": "7.28.4",
40
- "@effect/language-service": "0.79.0",
41
- "@octokit/webhooks-types": "7.6.1",
42
- "@koro-ai/script": "workspace:*",
43
- "@parcel/watcher-darwin-arm64": "2.5.1",
44
- "@parcel/watcher-darwin-x64": "2.5.1",
45
- "@parcel/watcher-linux-arm64-glibc": "2.5.1",
46
- "@parcel/watcher-linux-arm64-musl": "2.5.1",
47
- "@parcel/watcher-linux-x64-glibc": "2.5.1",
48
- "@parcel/watcher-linux-x64-musl": "2.5.1",
49
- "@parcel/watcher-win32-arm64": "2.5.1",
50
- "@parcel/watcher-win32-x64": "2.5.1",
51
- "@standard-schema/spec": "1.0.0",
52
- "@tsconfig/bun": "catalog:",
53
- "@types/babel__core": "7.20.5",
54
- "@types/bun": "catalog:",
55
- "@types/cross-spawn": "catalog:",
56
- "@types/mime-types": "3.0.1",
57
- "@types/npmcli__arborist": "6.3.3",
58
- "@types/semver": "^7.5.8",
59
- "@types/turndown": "5.0.5",
60
- "@types/which": "3.0.4",
61
- "@types/yargs": "17.0.33",
62
- "@typescript/native-preview": "catalog:",
63
- "drizzle-kit": "catalog:",
64
- "drizzle-orm": "catalog:",
65
- "typescript": "catalog:",
66
- "vscode-languageserver-types": "3.17.5",
67
- "why-is-node-running": "3.2.2",
68
- "zod-to-json-schema": "3.24.5"
69
- },
70
- "dependencies": {
71
- "@actions/core": "1.11.1",
72
- "@actions/github": "6.0.1",
73
- "@agentclientprotocol/sdk": "0.16.1",
74
- "@ai-sdk/amazon-bedrock": "4.0.83",
75
- "@ai-sdk/anthropic": "3.0.64",
76
- "@ai-sdk/azure": "3.0.49",
77
- "@ai-sdk/cerebras": "2.0.41",
78
- "@ai-sdk/cohere": "3.0.27",
79
- "@ai-sdk/deepinfra": "2.0.41",
80
- "@ai-sdk/gateway": "3.0.80",
81
- "@ai-sdk/google": "3.0.53",
82
- "@ai-sdk/google-vertex": "4.0.95",
83
- "@ai-sdk/groq": "3.0.31",
84
- "@ai-sdk/mistral": "3.0.27",
85
- "@ai-sdk/openai": "3.0.48",
86
- "@ai-sdk/openai-compatible": "2.0.37",
87
- "@ai-sdk/perplexity": "3.0.26",
88
- "@ai-sdk/provider": "3.0.8",
89
- "@ai-sdk/provider-utils": "4.0.21",
90
- "@ai-sdk/togetherai": "2.0.41",
91
- "@ai-sdk/vercel": "2.0.39",
92
- "@ai-sdk/xai": "3.0.75",
93
- "@aws-sdk/credential-providers": "3.993.0",
94
- "@clack/prompts": "1.0.0-alpha.1",
95
- "@effect/platform-node": "catalog:",
96
- "@hono/standard-validator": "0.1.5",
97
- "@hono/zod-validator": "catalog:",
98
- "@modelcontextprotocol/sdk": "1.27.1",
99
- "@npmcli/arborist": "9.4.0",
100
- "@octokit/graphql": "9.0.2",
101
- "@octokit/rest": "catalog:",
102
- "@openauthjs/openauth": "catalog:",
103
- "@koro-ai/plugin": "workspace:*",
104
- "@koro-ai/script": "workspace:*",
105
- "@koro-ai/sdk": "workspace:*",
106
- "@koro-ai/util": "workspace:*",
107
- "@openrouter/ai-sdk-provider": "2.3.3",
108
- "@opentui/core": "0.1.96",
109
- "@opentui/solid": "0.1.96",
110
- "@parcel/watcher": "2.5.1",
111
- "@pierre/diffs": "catalog:",
112
- "@solid-primitives/event-bus": "1.1.2",
113
- "@solid-primitives/scheduled": "1.5.2",
114
- "@standard-schema/spec": "1.0.0",
115
- "@zip.js/zip.js": "2.7.62",
116
- "ai": "catalog:",
117
- "ai-gateway-provider": "3.1.2",
118
- "bonjour-service": "1.3.0",
119
- "bun-pty": "0.4.8",
120
- "chokidar": "4.0.3",
121
- "clipboardy": "4.0.0",
122
- "cross-spawn": "catalog:",
123
- "decimal.js": "10.5.0",
124
- "diff": "catalog:",
125
- "drizzle-orm": "catalog:",
126
- "effect": "catalog:",
127
- "fuzzysort": "3.1.0",
128
- "gitlab-ai-provider": "6.0.0",
129
- "glob": "13.0.5",
130
- "google-auth-library": "10.5.0",
131
- "gray-matter": "4.0.3",
132
- "hono": "catalog:",
133
- "hono-openapi": "catalog:",
134
- "ignore": "7.0.5",
135
- "jsonc-parser": "3.3.1",
136
- "mime-types": "3.0.2",
137
- "minimatch": "10.0.3",
138
- "open": "10.1.2",
139
- "opencode-gitlab-auth": "2.0.1",
140
- "opencode-poe-auth": "0.0.1",
141
- "opentui-spinner": "0.0.6",
142
- "partial-json": "0.1.7",
143
- "remeda": "catalog:",
144
- "semver": "^7.6.3",
145
- "solid-js": "catalog:",
146
- "strip-ansi": "7.1.2",
147
- "tree-sitter-bash": "0.25.0",
148
- "tree-sitter-powershell": "0.25.10",
149
- "turndown": "7.2.0",
150
- "ulid": "catalog:",
151
- "venice-ai-sdk-provider": "2.0.1",
152
- "vscode-jsonrpc": "8.2.1",
153
- "web-tree-sitter": "0.25.10",
154
- "which": "6.0.1",
155
- "xdg-basedir": "5.1.0",
156
- "yargs": "18.0.0",
157
- "zod": "catalog:",
158
- "zod-to-json-schema": "3.24.5"
159
- },
160
- "overrides": {
161
- "drizzle-orm": "catalog:"
162
- }
163
- }
1
+ {
2
+ "description": "Koro � open-source AI coding agent",
3
+ "type": "module",
4
+ "version": "1.0.2",
5
+ "files": [
6
+ "src/",
7
+ "bin/",
8
+ "migration/",
9
+ "script/",
10
+ "test/",
11
+ "tsconfig.json",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
15
+ "dependencies": {
16
+ "effect": "4.0.0-beta.43",
17
+ "turndown": "7.2.0",
18
+ "@hono/zod-validator": "0.4.2",
19
+ "yargs": "18.0.0",
20
+ "semver": "^7.6.3",
21
+ "minimatch": "10.0.3",
22
+ "glob": "13.0.5",
23
+ "venice-ai-sdk-provider": "2.0.1",
24
+ "zod": "4.1.8",
25
+ "@koro-ai/script": "1.0.0",
26
+ "@ai-sdk/google": "3.0.53",
27
+ "mime-types": "3.0.2",
28
+ "tree-sitter-bash": "0.25.0",
29
+ "@modelcontextprotocol/sdk": "1.27.1",
30
+ "@pierre/diffs": "1.1.0-beta.18",
31
+ "@ai-sdk/togetherai": "2.0.41",
32
+ "@actions/github": "6.0.1",
33
+ "@openrouter/ai-sdk-provider": "2.3.3",
34
+ "open": "10.1.2",
35
+ "gray-matter": "4.0.3",
36
+ "@effect/platform-node": "4.0.0-beta.43",
37
+ "ulid": "3.0.1",
38
+ "google-auth-library": "10.5.0",
39
+ "@agentclientprotocol/sdk": "0.16.1",
40
+ "strip-ansi": "7.1.2",
41
+ "opentui-spinner": "0.0.6",
42
+ "@koro-ai/sdk": "1.0.0",
43
+ "@aws-sdk/credential-providers": "3.993.0",
44
+ "hono": "4.10.7",
45
+ "clipboardy": "4.0.0",
46
+ "@openauthjs/openauth": "0.0.0-20250322224806",
47
+ "@ai-sdk/vercel": "2.0.39",
48
+ "@koro-ai/util": "1.0.0",
49
+ "@opentui/solid": "0.1.96",
50
+ "bun-pty": "0.4.8",
51
+ "@ai-sdk/provider": "3.0.8",
52
+ "decimal.js": "10.5.0",
53
+ "zod-to-json-schema": "3.24.5",
54
+ "@octokit/rest": "22.0.0",
55
+ "@solid-primitives/scheduled": "1.5.2",
56
+ "@octokit/graphql": "9.0.2",
57
+ "@ai-sdk/amazon-bedrock": "4.0.83",
58
+ "@ai-sdk/openai": "3.0.48",
59
+ "@ai-sdk/openai-compatible": "2.0.37",
60
+ "ai": "6.0.138",
61
+ "@ai-sdk/provider-utils": "4.0.21",
62
+ "@ai-sdk/mistral": "3.0.27",
63
+ "@ai-sdk/deepinfra": "2.0.41",
64
+ "@actions/core": "1.11.1",
65
+ "fuzzysort": "3.1.0",
66
+ "web-tree-sitter": "0.25.10",
67
+ "@npmcli/arborist": "9.4.0",
68
+ "@ai-sdk/azure": "3.0.49",
69
+ "@clack/prompts": "1.0.0-alpha.1",
70
+ "gitlab-ai-provider": "6.0.0",
71
+ "@ai-sdk/cohere": "3.0.27",
72
+ "opencode-poe-auth": "0.0.1",
73
+ "@standard-schema/spec": "1.0.0",
74
+ "cross-spawn": "7.0.6",
75
+ "solid-js": "1.9.10",
76
+ "opencode-gitlab-auth": "2.0.1",
77
+ "@zip.js/zip.js": "2.7.62",
78
+ "jsonc-parser": "3.3.1",
79
+ "ignore": "7.0.5",
80
+ "@solid-primitives/event-bus": "1.1.2",
81
+ "tree-sitter-powershell": "0.25.10",
82
+ "@ai-sdk/groq": "3.0.31",
83
+ "@ai-sdk/cerebras": "2.0.41",
84
+ "@hono/standard-validator": "0.1.5",
85
+ "@ai-sdk/perplexity": "3.0.26",
86
+ "hono-openapi": "1.1.2",
87
+ "bonjour-service": "1.3.0",
88
+ "xdg-basedir": "5.1.0",
89
+ "diff": "8.0.2",
90
+ "@ai-sdk/anthropic": "3.0.64",
91
+ "@parcel/watcher": "2.5.1",
92
+ "@ai-sdk/gateway": "3.0.80",
93
+ "partial-json": "0.1.7",
94
+ "vscode-jsonrpc": "8.2.1",
95
+ "@opentui/core": "0.1.96",
96
+ "ai-gateway-provider": "3.1.2",
97
+ "remeda": "2.26.0",
98
+ "chokidar": "4.0.3",
99
+ "@koro-ai/plugin": "1.0.0",
100
+ "drizzle-orm": "1.0.0-beta.19-d95b7a4",
101
+ "@ai-sdk/xai": "3.0.75",
102
+ "which": "6.0.1",
103
+ "@ai-sdk/google-vertex": "4.0.95"
104
+ },
105
+ "engines": {
106
+ "node": "\u003e=18",
107
+ "bun": "\u003e=1.0"
108
+ },
109
+ "name": "koro-ai",
110
+ "bin": {
111
+ "koro": "./bin/koro"
112
+ },
113
+ "$schema": "https://json.schemastore.org/package.json",
114
+ "devDependencies": {
115
+ "drizzle-orm": "1.0.0-beta.19-d95b7a4",
116
+ "@parcel/watcher-darwin-arm64": "2.5.1",
117
+ "@parcel/watcher-linux-arm64-musl": "2.5.1",
118
+ "@parcel/watcher-linux-arm64-glibc": "2.5.1",
119
+ "typescript": "5.8.2",
120
+ "@effect/language-service": "0.79.0",
121
+ "@parcel/watcher-win32-x64": "2.5.1",
122
+ "@octokit/webhooks-types": "7.6.1",
123
+ "@parcel/watcher-darwin-x64": "2.5.1",
124
+ "why-is-node-running": "3.2.2",
125
+ "@parcel/watcher-linux-x64-glibc": "2.5.1",
126
+ "@parcel/watcher-win32-arm64": "2.5.1",
127
+ "@types/babel__core": "7.20.5",
128
+ "@tsconfig/bun": "1.0.9",
129
+ "@parcel/watcher-linux-x64-musl": "2.5.1",
130
+ "@types/yargs": "17.0.33",
131
+ "@types/cross-spawn": "6.0.6",
132
+ "@types/which": "3.0.4",
133
+ "@babel/core": "7.28.4",
134
+ "@typescript/native-preview": "7.0.0-dev.20251207.1",
135
+ "@types/turndown": "5.0.5",
136
+ "@koro-ai/script": "1.0.0",
137
+ "zod-to-json-schema": "3.24.5",
138
+ "@standard-schema/spec": "1.0.0",
139
+ "drizzle-kit": "1.0.0-beta.19-d95b7a4",
140
+ "@types/npmcli__arborist": "6.3.3",
141
+ "@types/semver": "^7.5.8",
142
+ "@types/bun": "1.3.11",
143
+ "vscode-languageserver-types": "3.17.5",
144
+ "@types/mime-types": "3.0.1"
145
+ },
146
+ "license": "MIT",
147
+ "keywords": [
148
+ "ai",
149
+ "coding-agent",
150
+ "cli",
151
+ "llm",
152
+ "koro"
153
+ ]
154
+ }
@@ -0,0 +1,18 @@
1
+ import { Plugin } from "./index.js"
2
+ import { tool } from "./tool.js"
3
+
4
+ export const ExamplePlugin: Plugin = async (ctx) => {
5
+ return {
6
+ tool: {
7
+ mytool: tool({
8
+ description: "This is a custom tool",
9
+ args: {
10
+ foo: tool.schema.string().describe("foo"),
11
+ },
12
+ async execute(args) {
13
+ return `Hello ${args.foo}!`
14
+ },
15
+ }),
16
+ },
17
+ }
18
+ }