@minko-ai/minko 0.1.0 → 0.1.1
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 +577 -2
- package/assets/mascot-preview.png +0 -0
- package/assets/mascot-preview.txt +46 -0
- package/assets/mascot-source.png +0 -0
- package/assets/skills/README.md +21 -0
- package/assets/skills/brainstorming/LICENSE +21 -0
- package/assets/skills/brainstorming/SKILL.md +316 -0
- package/assets/skills/buddhist-method/LICENSE +21 -0
- package/assets/skills/buddhist-method/SKILL.md +137 -0
- package/assets/skills/buddhist-method/references/ariyasacca-debug.md +57 -0
- package/assets/skills/buddhist-method/references/extended-principles.md +100 -0
- package/assets/skills/code-humanizer/LICENSE +21 -0
- package/assets/skills/code-humanizer/SKILL.md +174 -0
- package/assets/skills/code-review/LICENSE +21 -0
- package/assets/skills/code-review/SKILL.md +232 -0
- package/assets/skills/code-review/reference/angular.md +768 -0
- package/assets/skills/code-review/reference/architecture-review-guide.md +472 -0
- package/assets/skills/code-review/reference/c.md +890 -0
- package/assets/skills/code-review/reference/code-quality-universal.md +488 -0
- package/assets/skills/code-review/reference/code-review-best-practices.md +136 -0
- package/assets/skills/code-review/reference/common-bugs-checklist.md +302 -0
- package/assets/skills/code-review/reference/cpp.md +893 -0
- package/assets/skills/code-review/reference/cross-cutting/async-concurrency-patterns.md +515 -0
- package/assets/skills/code-review/reference/cross-cutting/error-handling-principles.md +492 -0
- package/assets/skills/code-review/reference/cross-cutting/n-plus-one-queries.md +309 -0
- package/assets/skills/code-review/reference/cross-cutting/sql-injection-prevention.md +308 -0
- package/assets/skills/code-review/reference/cross-cutting/xss-prevention.md +264 -0
- package/assets/skills/code-review/reference/csharp.md +525 -0
- package/assets/skills/code-review/reference/css-less-sass.md +661 -0
- package/assets/skills/code-review/reference/dart.md +670 -0
- package/assets/skills/code-review/reference/django.md +985 -0
- package/assets/skills/code-review/reference/fastapi.md +580 -0
- package/assets/skills/code-review/reference/go.md +993 -0
- package/assets/skills/code-review/reference/java.md +409 -0
- package/assets/skills/code-review/reference/java8.md +586 -0
- package/assets/skills/code-review/reference/kotlin.md +1018 -0
- package/assets/skills/code-review/reference/nestjs.md +593 -0
- package/assets/skills/code-review/reference/performance-review-guide.md +816 -0
- package/assets/skills/code-review/reference/php.md +684 -0
- package/assets/skills/code-review/reference/python.md +1073 -0
- package/assets/skills/code-review/reference/qt.md +757 -0
- package/assets/skills/code-review/reference/react.md +871 -0
- package/assets/skills/code-review/reference/ruby.md +964 -0
- package/assets/skills/code-review/reference/rust.md +846 -0
- package/assets/skills/code-review/reference/security-review-guide.md +494 -0
- package/assets/skills/code-review/reference/svelte.md +1064 -0
- package/assets/skills/code-review/reference/swift.md +936 -0
- package/assets/skills/code-review/reference/typescript.md +1016 -0
- package/assets/skills/code-review/reference/vue.md +924 -0
- package/assets/skills/code-review/reference/zig.md +440 -0
- package/assets/skills/cyclomatic-complexity/LICENSE +201 -0
- package/assets/skills/cyclomatic-complexity/SKILL.md +69 -0
- package/assets/skills/five-whys/LICENSE +21 -0
- package/assets/skills/five-whys/SKILL.md +247 -0
- package/assets/skills/five-whys/examples/performance-regression.md +161 -0
- package/assets/skills/five-whys/examples/production-incident.md +134 -0
- package/assets/skills/five-whys/references/software-patterns.md +284 -0
- package/assets/skills/five-whys/references/toyota-origins.md +257 -0
- package/assets/skills/systematic-debugging/LICENSE +21 -0
- package/assets/skills/systematic-debugging/SKILL.md +283 -0
- package/assets/skills/test-driven-development/LICENSE +21 -0
- package/assets/skills/test-driven-development/SKILL.md +330 -0
- package/assets/skills/verification-before-completion/LICENSE +21 -0
- package/assets/skills/verification-before-completion/SKILL.md +120 -0
- package/assets/skills/vibe-sec/LICENSE +201 -0
- package/assets/skills/vibe-sec/SKILL.md +758 -0
- package/assets/skills/writing-plans/LICENSE +21 -0
- package/assets/skills/writing-plans/SKILL.md +204 -0
- package/bin/minko.js +2 -2
- package/dist/agent/approvalTokens.js +224 -0
- package/dist/agent/branchLock.js +315 -0
- package/dist/agent/compact.js +182 -0
- package/dist/agent/context.js +183 -0
- package/dist/agent/cron.js +326 -0
- package/dist/agent/hooks.js +211 -0
- package/dist/agent/lanes.js +511 -0
- package/dist/agent/loop.js +337 -0
- package/dist/agent/memory.js +159 -0
- package/dist/agent/permissions.js +71 -0
- package/dist/agent/plan.js +118 -0
- package/dist/agent/prompt.js +120 -0
- package/dist/agent/subagent.js +67 -0
- package/dist/agent/tasks.js +449 -0
- package/dist/agent/transcript.js +62 -0
- package/dist/agent/workerStore.js +172 -0
- package/dist/agent/workerTypes.js +1 -0
- package/dist/agent/workers.js +503 -0
- package/dist/cli/app.js +261 -0
- package/dist/cli/argv.js +206 -0
- package/dist/cli/commandsCommand.js +12 -0
- package/dist/cli/configCommand.js +170 -0
- package/dist/cli/doctorCommand.js +112 -0
- package/dist/cli/exportCommand.js +85 -0
- package/dist/cli/forkCommand.js +24 -0
- package/dist/cli/linkCommand.js +272 -0
- package/dist/cli/loginCommand.js +69 -0
- package/dist/cli/mcpLoginCommand.js +68 -0
- package/dist/cli/pluginCommand.js +113 -0
- package/dist/cli/powerCommand.js +174 -0
- package/dist/cli/promptFooter.js +74 -0
- package/dist/cli/relayCommand.js +38 -0
- package/dist/cli/sandboxCommand.js +31 -0
- package/dist/cli/serveCommand.js +104 -0
- package/dist/cli/statusCommand.js +120 -0
- package/dist/cli/tui.js +1104 -0
- package/dist/commands/registry.js +99 -0
- package/dist/config/paths.js +81 -0
- package/dist/config/store.js +605 -0
- package/dist/index.js +199 -0
- package/dist/link/protocol.js +159 -0
- package/dist/link/relay.js +184 -0
- package/dist/link/server.js +566 -0
- package/dist/link/tunnel.js +90 -0
- package/dist/lsp/client.js +340 -0
- package/dist/lsp/tool.js +177 -0
- package/dist/mcp/client.js +469 -0
- package/dist/mcp/httpClient.js +191 -0
- package/dist/mcp/server.js +206 -0
- package/dist/mcp/tools.js +173 -0
- package/dist/oauth/device.js +111 -0
- package/dist/oauth/store.js +56 -0
- package/dist/plugins/loader.js +291 -0
- package/dist/plugins/market.js +98 -0
- package/dist/providers/anthropic.js +279 -0
- package/dist/providers/factory.js +109 -0
- package/dist/providers/openai.js +182 -0
- package/dist/providers/retry.js +95 -0
- package/dist/providers/sse.js +67 -0
- package/dist/providers/types.js +10 -0
- package/dist/rag/embeddings.js +171 -0
- package/dist/rag/index.js +373 -0
- package/dist/rag/server.js +167 -0
- package/dist/rag/tool.js +148 -0
- package/dist/sandbox/index.js +55 -0
- package/dist/sdk/server.js +150 -0
- package/dist/sdk/session.js +104 -0
- package/dist/session/liveness.js +148 -0
- package/dist/session/recorder.js +49 -0
- package/dist/session/store.js +171 -0
- package/dist/skills/index.js +428 -0
- package/dist/theme.js +30 -0
- package/dist/tools/fs.js +195 -0
- package/dist/tools/notebook.js +109 -0
- package/dist/tools/registry.js +32 -0
- package/dist/tools/search.js +130 -0
- package/dist/tools/shell.js +200 -0
- package/dist/tools/structured.js +83 -0
- package/dist/tools/types.js +1 -0
- package/dist/ui/ansi.js +135 -0
- package/dist/ui/banner.js +103 -0
- package/dist/ui/input.js +49 -0
- package/dist/ui/inputModel.js +113 -0
- package/dist/ui/keyboard.js +142 -0
- package/dist/ui/mascot.js +34 -0
- package/dist/ui/mascotData.js +96 -0
- package/dist/ui/md.js +183 -0
- package/dist/ui/screen.js +49 -0
- package/dist/ui/spinner.js +52 -0
- package/dist/ui/transcript.js +287 -0
- package/dist/util/clipboard.js +53 -0
- package/dist/util/errors.js +50 -0
- package/dist/util/version.js +12 -0
- package/dist/web/fetch.js +168 -0
- package/dist/web/search.js +97 -0
- package/package.json +45 -36
- package/src/agent/loop.ts +0 -159
- package/src/agent/prompt.ts +0 -45
- package/src/cli/app.ts +0 -396
- package/src/cli/argv.ts +0 -139
- package/src/cli/configCommand.ts +0 -175
- package/src/config/paths.ts +0 -20
- package/src/config/store.ts +0 -149
- package/src/index.ts +0 -120
- package/src/providers/anthropic.ts +0 -215
- package/src/providers/openai.ts +0 -158
- package/src/providers/sse.ts +0 -57
- package/src/providers/types.ts +0 -59
- package/src/session/store.ts +0 -125
- package/src/theme.ts +0 -41
- package/src/tools/fs.ts +0 -143
- package/src/tools/registry.ts +0 -19
- package/src/tools/shell.ts +0 -120
- package/src/tools/types.ts +0 -26
- package/src/ui/ansi.ts +0 -110
- package/src/ui/banner.ts +0 -39
- package/src/ui/input.ts +0 -54
- package/src/ui/md.ts +0 -160
- package/src/ui/spinner.ts +0 -58
- package/src/util/errors.ts +0 -48
package/src/ui/spinner.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { Painter } from './ansi.ts';
|
|
2
|
-
|
|
3
|
-
const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
4
|
-
|
|
5
|
-
/** One-line activity indicator. Never writes when stdout is not a TTY. */
|
|
6
|
-
export class Spinner {
|
|
7
|
-
private painter: Painter;
|
|
8
|
-
private timer: NodeJS.Timeout | null = null;
|
|
9
|
-
private frame = 0;
|
|
10
|
-
private label = '';
|
|
11
|
-
private startedAt = 0;
|
|
12
|
-
private showing = false;
|
|
13
|
-
|
|
14
|
-
constructor(painter: Painter) {
|
|
15
|
-
this.painter = painter;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
get active(): boolean {
|
|
19
|
-
return this.timer !== null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
start(label: string): void {
|
|
23
|
-
this.label = label;
|
|
24
|
-
if (!process.stdout.isTTY) { return; }
|
|
25
|
-
if (this.timer === null) { this.startedAt = Date.now(); }
|
|
26
|
-
this.timer = this.timer ?? setInterval(() => this.tick(), 90);
|
|
27
|
-
this.tick();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
update(label: string): void {
|
|
31
|
-
this.label = label;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
stop(): void {
|
|
35
|
-
if (this.timer !== null) {
|
|
36
|
-
clearInterval(this.timer);
|
|
37
|
-
this.timer = null;
|
|
38
|
-
}
|
|
39
|
-
this.clear();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/** Erase the spinner line so streamed text starts on a clean line. */
|
|
43
|
-
clear(): void {
|
|
44
|
-
if (this.showing) {
|
|
45
|
-
process.stdout.write('\r\x1b[2K');
|
|
46
|
-
this.showing = false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
private tick(): void {
|
|
51
|
-
this.frame = (this.frame + 1) % FRAMES.length;
|
|
52
|
-
const seconds = ((Date.now() - this.startedAt) / 1000).toFixed(0);
|
|
53
|
-
const line = this.painter.primary(FRAMES[this.frame]) + ' ' +
|
|
54
|
-
this.painter.muted(this.label + ' ' + seconds + 's');
|
|
55
|
-
process.stdout.write('\r\x1b[2K' + line);
|
|
56
|
-
this.showing = true;
|
|
57
|
-
}
|
|
58
|
-
}
|
package/src/util/errors.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export class HttpError extends Error {
|
|
2
|
-
status: number;
|
|
3
|
-
body: string;
|
|
4
|
-
|
|
5
|
-
constructor(status: number, body: string) {
|
|
6
|
-
super('HTTP ' + status + ':' + summarize(body));
|
|
7
|
-
this.name = 'HttpError';
|
|
8
|
-
this.status = status;
|
|
9
|
-
this.body = body;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function summarize(body: string): string {
|
|
14
|
-
const compact = body.replace(/\s+/g, ' ').trim();
|
|
15
|
-
return compact.length > 400 ? compact.slice(0, 400) + '…' : compact;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** Turns provider failures into something a person can act on. */
|
|
19
|
-
export function friendlyError(error: unknown): string {
|
|
20
|
-
if (error instanceof HttpError) {
|
|
21
|
-
if (error.status === 401 || error.status === 403) {
|
|
22
|
-
return 'API Key 被拒绝(HTTP ' + error.status + ')。运行 minko config --api-key <key> 更新。';
|
|
23
|
-
}
|
|
24
|
-
if (error.status === 404) {
|
|
25
|
-
return '接口地址或模型名不对(HTTP 404)。检查 minko config --model 与 --base-url。';
|
|
26
|
-
}
|
|
27
|
-
if (error.status === 429) {
|
|
28
|
-
return '请求太频繁或额度不足(HTTP 429)。稍后重试。';
|
|
29
|
-
}
|
|
30
|
-
if (error.status === 400) {
|
|
31
|
-
return '服务端拒绝了这次请求(HTTP 400):' + summarize(error.body);
|
|
32
|
-
}
|
|
33
|
-
if (error.status >= 500) {
|
|
34
|
-
return '服务端出错(HTTP ' + error.status + '):' + summarize(error.body);
|
|
35
|
-
}
|
|
36
|
-
return error.message;
|
|
37
|
-
}
|
|
38
|
-
if (error instanceof Error) {
|
|
39
|
-
if (error.name === 'AbortError') { return '已中断'; }
|
|
40
|
-
const cause = (error as Error & { cause?: unknown }).cause;
|
|
41
|
-
if (error.message.includes('fetch failed')) {
|
|
42
|
-
const detail = cause instanceof Error ? cause.message : '';
|
|
43
|
-
return '连不上服务地址' + (detail ? '(' + detail + ')' : '') + ',检查网络和 --base-url。';
|
|
44
|
-
}
|
|
45
|
-
return error.message;
|
|
46
|
-
}
|
|
47
|
-
return String(error);
|
|
48
|
-
}
|