@tachu/extensions 1.0.0-beta.1 → 1.0.0-rc.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/CHANGELOG.md +48 -65
- package/README.md +83 -708
- package/README_ZH.md +82 -696
- package/dist/backends/file.d.ts +6 -6
- package/dist/backends/file.d.ts.map +1 -1
- package/dist/backends/file.js +27 -11
- package/dist/backends/file.js.map +1 -1
- package/dist/backends/terminal.d.ts +6 -6
- package/dist/backends/terminal.d.ts.map +1 -1
- package/dist/backends/terminal.js +31 -7
- package/dist/backends/terminal.js.map +1 -1
- package/dist/backends/web.d.ts +6 -6
- package/dist/backends/web.d.ts.map +1 -1
- package/dist/backends/web.js +10 -8
- package/dist/backends/web.js.map +1 -1
- package/dist/common/net.d.ts +8 -0
- package/dist/common/net.d.ts.map +1 -1
- package/dist/common/net.js +39 -24
- package/dist/common/net.js.map +1 -1
- package/dist/common/path.d.ts +38 -5
- package/dist/common/path.d.ts.map +1 -1
- package/dist/common/path.js +55 -13
- package/dist/common/path.js.map +1 -1
- package/dist/common/process.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp/sse-adapter.d.ts +45 -33
- package/dist/mcp/sse-adapter.d.ts.map +1 -1
- package/dist/mcp/sse-adapter.js +59 -34
- package/dist/mcp/sse-adapter.js.map +1 -1
- package/dist/mcp/stdio-adapter.d.ts +45 -33
- package/dist/mcp/stdio-adapter.d.ts.map +1 -1
- package/dist/mcp/stdio-adapter.js +59 -34
- package/dist/mcp/stdio-adapter.js.map +1 -1
- package/dist/memory/fs-memory-system.d.ts +288 -0
- package/dist/memory/fs-memory-system.d.ts.map +1 -0
- package/dist/memory/fs-memory-system.js +482 -0
- package/dist/memory/fs-memory-system.js.map +1 -0
- package/dist/memory/index.d.ts +5 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +5 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/projection-outbox.d.ts +69 -0
- package/dist/memory/projection-outbox.d.ts.map +1 -0
- package/dist/memory/projection-outbox.js +187 -0
- package/dist/memory/projection-outbox.js.map +1 -0
- package/dist/memory/projection-projector.d.ts +16 -0
- package/dist/memory/projection-projector.d.ts.map +1 -0
- package/dist/memory/projection-projector.js +56 -0
- package/dist/memory/projection-projector.js.map +1 -0
- package/dist/memory/projection-worker.d.ts +28 -0
- package/dist/memory/projection-worker.d.ts.map +1 -0
- package/dist/memory/projection-worker.js +84 -0
- package/dist/memory/projection-worker.js.map +1 -0
- package/dist/observability/jsonl-emitter.d.ts +25 -25
- package/dist/observability/jsonl-emitter.d.ts.map +1 -1
- package/dist/observability/jsonl-emitter.js +25 -25
- package/dist/observability/jsonl-emitter.js.map +1 -1
- package/dist/observability/otel-emitter.d.ts +23 -23
- package/dist/observability/otel-emitter.d.ts.map +1 -1
- package/dist/observability/otel-emitter.js +39 -30
- package/dist/observability/otel-emitter.js.map +1 -1
- package/dist/providers/anthropic.d.ts +51 -32
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +293 -58
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/gemini.d.ts +115 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +901 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/mock.d.ts +67 -24
- package/dist/providers/mock.d.ts.map +1 -1
- package/dist/providers/mock.js +122 -41
- package/dist/providers/mock.js.map +1 -1
- package/dist/providers/openai.d.ts +70 -35
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +330 -50
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/qwen.d.ts +146 -0
- package/dist/providers/qwen.d.ts.map +1 -0
- package/dist/providers/qwen.js +672 -0
- package/dist/providers/qwen.js.map +1 -0
- package/dist/safety/default-gate.d.ts +112 -0
- package/dist/safety/default-gate.d.ts.map +1 -0
- package/dist/safety/default-gate.js +188 -0
- package/dist/safety/default-gate.js.map +1 -0
- package/dist/safety/index.d.ts +2 -0
- package/dist/safety/index.d.ts.map +1 -0
- package/dist/safety/index.js +2 -0
- package/dist/safety/index.js.map +1 -0
- package/dist/tools/_shared/web-client.d.ts +18 -0
- package/dist/tools/_shared/web-client.d.ts.map +1 -0
- package/dist/tools/_shared/web-client.js +46 -0
- package/dist/tools/_shared/web-client.js.map +1 -0
- package/dist/tools/apply-patch/executor.d.ts.map +1 -1
- package/dist/tools/apply-patch/executor.js +54 -4
- package/dist/tools/apply-patch/executor.js.map +1 -1
- package/dist/tools/edit-file/executor.d.ts +32 -0
- package/dist/tools/edit-file/executor.d.ts.map +1 -0
- package/dist/tools/edit-file/executor.js +84 -0
- package/dist/tools/edit-file/executor.js.map +1 -0
- package/dist/tools/fetch-url/descriptor.md +6 -0
- package/dist/tools/fetch-url/executor.d.ts +8 -0
- package/dist/tools/fetch-url/executor.d.ts.map +1 -1
- package/dist/tools/fetch-url/executor.js +83 -2
- package/dist/tools/fetch-url/executor.js.map +1 -1
- package/dist/tools/git-blame/executor.d.ts +24 -0
- package/dist/tools/git-blame/executor.d.ts.map +1 -0
- package/dist/tools/git-blame/executor.js +76 -0
- package/dist/tools/git-blame/executor.js.map +1 -0
- package/dist/tools/git-branch/executor.d.ts +22 -0
- package/dist/tools/git-branch/executor.d.ts.map +1 -0
- package/dist/tools/git-branch/executor.js +81 -0
- package/dist/tools/git-branch/executor.js.map +1 -0
- package/dist/tools/git-diff/executor.d.ts +37 -0
- package/dist/tools/git-diff/executor.d.ts.map +1 -0
- package/dist/tools/git-diff/executor.js +156 -0
- package/dist/tools/git-diff/executor.js.map +1 -0
- package/dist/tools/git-log/executor.d.ts +31 -0
- package/dist/tools/git-log/executor.d.ts.map +1 -0
- package/dist/tools/git-log/executor.js +65 -0
- package/dist/tools/git-log/executor.js.map +1 -0
- package/dist/tools/git-show/executor.d.ts +22 -0
- package/dist/tools/git-show/executor.d.ts.map +1 -0
- package/dist/tools/git-show/executor.js +74 -0
- package/dist/tools/git-show/executor.js.map +1 -0
- package/dist/tools/git-status/executor.d.ts +25 -0
- package/dist/tools/git-status/executor.d.ts.map +1 -0
- package/dist/tools/git-status/executor.js +120 -0
- package/dist/tools/git-status/executor.js.map +1 -0
- package/dist/tools/glob/executor.d.ts +18 -0
- package/dist/tools/glob/executor.d.ts.map +1 -0
- package/dist/tools/glob/executor.js +47 -0
- package/dist/tools/glob/executor.js.map +1 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +459 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-dir/executor.d.ts.map +1 -1
- package/dist/tools/list-dir/executor.js +5 -3
- package/dist/tools/list-dir/executor.js.map +1 -1
- package/dist/tools/multi-edit/executor.d.ts +29 -0
- package/dist/tools/multi-edit/executor.d.ts.map +1 -0
- package/dist/tools/multi-edit/executor.js +37 -0
- package/dist/tools/multi-edit/executor.js.map +1 -0
- package/dist/tools/read-file/executor.d.ts +5 -0
- package/dist/tools/read-file/executor.d.ts.map +1 -1
- package/dist/tools/read-file/executor.js +49 -5
- package/dist/tools/read-file/executor.js.map +1 -1
- package/dist/tools/run-shell/executor.d.ts +12 -1
- package/dist/tools/run-shell/executor.d.ts.map +1 -1
- package/dist/tools/run-shell/executor.js +105 -9
- package/dist/tools/run-shell/executor.js.map +1 -1
- package/dist/tools/run-tests/executor.d.ts +28 -0
- package/dist/tools/run-tests/executor.d.ts.map +1 -0
- package/dist/tools/run-tests/executor.js +161 -0
- package/dist/tools/run-tests/executor.js.map +1 -0
- package/dist/tools/run-typecheck/executor.d.ts +25 -0
- package/dist/tools/run-typecheck/executor.d.ts.map +1 -0
- package/dist/tools/run-typecheck/executor.js +83 -0
- package/dist/tools/run-typecheck/executor.js.map +1 -0
- package/dist/tools/search-code/executor.d.ts.map +1 -1
- package/dist/tools/search-code/executor.js +60 -30
- package/dist/tools/search-code/executor.js.map +1 -1
- package/dist/tools/shared.d.ts +26 -0
- package/dist/tools/shared.d.ts.map +1 -1
- package/dist/tools/shared.js +15 -0
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/todo-read/executor.d.ts +20 -0
- package/dist/tools/todo-read/executor.d.ts.map +1 -0
- package/dist/tools/todo-read/executor.js +26 -0
- package/dist/tools/todo-read/executor.js.map +1 -0
- package/dist/tools/todo-write/executor.d.ts +21 -0
- package/dist/tools/todo-write/executor.d.ts.map +1 -0
- package/dist/tools/todo-write/executor.js +38 -0
- package/dist/tools/todo-write/executor.js.map +1 -0
- package/dist/tools/web-fetch/descriptor.md +198 -0
- package/dist/tools/web-fetch/errors.d.ts +32 -0
- package/dist/tools/web-fetch/errors.d.ts.map +1 -0
- package/dist/tools/web-fetch/errors.js +91 -0
- package/dist/tools/web-fetch/errors.js.map +1 -0
- package/dist/tools/web-fetch/executor.d.ts +10 -0
- package/dist/tools/web-fetch/executor.d.ts.map +1 -0
- package/dist/tools/web-fetch/executor.js +191 -0
- package/dist/tools/web-fetch/executor.js.map +1 -0
- package/dist/tools/web-fetch/index.d.ts +4 -0
- package/dist/tools/web-fetch/index.d.ts.map +1 -0
- package/dist/tools/web-fetch/index.js +3 -0
- package/dist/tools/web-fetch/index.js.map +1 -0
- package/dist/tools/web-fetch/types.d.ts +157 -0
- package/dist/tools/web-fetch/types.d.ts.map +1 -0
- package/dist/tools/web-fetch/types.js +7 -0
- package/dist/tools/web-fetch/types.js.map +1 -0
- package/dist/tools/web-search/descriptor.md +89 -0
- package/dist/tools/web-search/errors.d.ts +33 -0
- package/dist/tools/web-search/errors.d.ts.map +1 -0
- package/dist/tools/web-search/errors.js +45 -0
- package/dist/tools/web-search/errors.js.map +1 -0
- package/dist/tools/web-search/executor.d.ts +10 -0
- package/dist/tools/web-search/executor.d.ts.map +1 -0
- package/dist/tools/web-search/executor.js +185 -0
- package/dist/tools/web-search/executor.js.map +1 -0
- package/dist/tools/web-search/index.d.ts +4 -0
- package/dist/tools/web-search/index.d.ts.map +1 -0
- package/dist/tools/web-search/index.js +3 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/tools/web-search/types.d.ts +86 -0
- package/dist/tools/web-search/types.d.ts.map +1 -0
- package/dist/tools/web-search/types.js +7 -0
- package/dist/tools/web-search/types.js.map +1 -0
- package/dist/tools/write-file/executor.js +3 -3
- package/dist/tools/write-file/executor.js.map +1 -1
- package/dist/transformers/document-to-text.d.ts +11 -11
- package/dist/transformers/document-to-text.d.ts.map +1 -1
- package/dist/transformers/document-to-text.js +11 -11
- package/dist/transformers/document-to-text.js.map +1 -1
- package/dist/transformers/image-to-text.d.ts +15 -15
- package/dist/transformers/image-to-text.d.ts.map +1 -1
- package/dist/transformers/image-to-text.js +22 -21
- package/dist/transformers/image-to-text.js.map +1 -1
- package/dist/vector/index.d.ts +4 -2
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/index.js +2 -2
- package/dist/vector/index.js.map +1 -1
- package/dist/vector/local-fs-index.d.ts +59 -0
- package/dist/vector/local-fs-index.d.ts.map +1 -0
- package/dist/vector/local-fs-index.js +216 -0
- package/dist/vector/local-fs-index.js.map +1 -0
- package/dist/vector/qdrant.d.ts +11 -52
- package/dist/vector/qdrant.d.ts.map +1 -1
- package/dist/vector/qdrant.js +39 -105
- package/dist/vector/qdrant.js.map +1 -1
- package/package.json +27 -6
- package/dist/vector/local-fs.d.ts +0 -76
- package/dist/vector/local-fs.d.ts.map +0 -1
- package/dist/vector/local-fs.js +0 -153
- package/dist/vector/local-fs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel-emitter.d.ts","sourceRoot":"","sources":["../../src/observability/otel-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEjD;;GAEG;AACH,qBAAa,WAAY,YAAW,oBAAoB;IAU1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2D;IACpF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,MAAM,CAAuD;
|
|
1
|
+
{"version":3,"file":"otel-emitter.d.ts","sourceRoot":"","sources":["../../src/observability/otel-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAEjD;;GAEG;AACH,qBAAa,WAAY,YAAW,oBAAoB;IAU1C,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2D;IACpF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsD;IACjF,OAAO,CAAC,MAAM,CAAuD;IAEtE;;;;MAIE;gBAC4B,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;IAEzD;;;;;;MAME;IACD,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,IAAI;IAOvE;;;;;MAKE;IACD,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAQlE;;;;MAIE;IACD,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAS/B;;;;MAIE;IACD,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI;IAItD,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,UAAU;IA0ElB,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -8,20 +8,20 @@ export class OtelEmitter {
|
|
|
8
8
|
phaseSpans = new Map();
|
|
9
9
|
masker = (payload) => payload;
|
|
10
10
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
* 创建 OTel 发射器。
|
|
12
|
+
*
|
|
13
|
+
* @param options 构造参数
|
|
14
|
+
*/
|
|
15
15
|
constructor(options) {
|
|
16
16
|
this.options = options;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
* 订阅事件。
|
|
20
|
+
*
|
|
21
|
+
* @param type 事件类型
|
|
22
|
+
* @param handler 处理器
|
|
23
|
+
* @returns 取消订阅函数
|
|
24
|
+
*/
|
|
25
25
|
on(type, handler) {
|
|
26
26
|
const bucket = this.handlers.get(type) ?? new Set();
|
|
27
27
|
bucket.add(handler);
|
|
@@ -29,11 +29,11 @@ export class OtelEmitter {
|
|
|
29
29
|
return () => this.off(type, handler);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
* 取消订阅。
|
|
33
|
+
*
|
|
34
|
+
* @param type 事件类型
|
|
35
|
+
* @param handler 处理器
|
|
36
|
+
*/
|
|
37
37
|
off(type, handler) {
|
|
38
38
|
const bucket = this.handlers.get(type);
|
|
39
39
|
bucket?.delete(handler);
|
|
@@ -42,10 +42,10 @@ export class OtelEmitter {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
* 发射事件并映射到 OTel Span。
|
|
46
|
+
*
|
|
47
|
+
* @param event 引擎事件
|
|
48
|
+
*/
|
|
49
49
|
emit(event) {
|
|
50
50
|
const maskedEvent = {
|
|
51
51
|
...event,
|
|
@@ -55,10 +55,10 @@ export class OtelEmitter {
|
|
|
55
55
|
this.emitToOtel(maskedEvent);
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
* 配置 payload 脱敏函数。
|
|
59
|
+
*
|
|
60
|
+
* @param masker 脱敏函数
|
|
61
|
+
*/
|
|
62
62
|
setMasker(masker) {
|
|
63
63
|
this.masker = masker;
|
|
64
64
|
}
|
|
@@ -71,12 +71,17 @@ export class OtelEmitter {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
emitToOtel(event) {
|
|
74
|
-
const
|
|
75
|
-
|
|
74
|
+
const { correlation, subject } = event;
|
|
75
|
+
const phaseKey = `${correlation.traceId}:${correlation.sessionId}:${event.phase}`;
|
|
76
|
+
if (event.type === "phase_enter") {
|
|
76
77
|
const span = this.options.tracer.startSpan(`phase:${event.phase}`, {
|
|
77
78
|
attributes: {
|
|
78
|
-
"engine.trace_id":
|
|
79
|
-
"engine.
|
|
79
|
+
"engine.trace_id": correlation.traceId,
|
|
80
|
+
"engine.request_id": correlation.requestId,
|
|
81
|
+
"engine.session_id": correlation.sessionId,
|
|
82
|
+
"engine.turn_id": correlation.turnId,
|
|
83
|
+
...(subject?.tenant !== undefined ? { "engine.tenant": subject.tenant } : {}),
|
|
84
|
+
...(subject?.userId !== undefined ? { "engine.user_id": subject.userId } : {}),
|
|
80
85
|
"engine.phase": event.phase,
|
|
81
86
|
},
|
|
82
87
|
startTime: event.timestamp,
|
|
@@ -84,7 +89,7 @@ export class OtelEmitter {
|
|
|
84
89
|
this.phaseSpans.set(phaseKey, span);
|
|
85
90
|
return;
|
|
86
91
|
}
|
|
87
|
-
if (event.type === "phase_exit"
|
|
92
|
+
if (event.type === "phase_exit") {
|
|
88
93
|
const span = this.phaseSpans.get(phaseKey);
|
|
89
94
|
if (span) {
|
|
90
95
|
if (event.payload.error) {
|
|
@@ -103,8 +108,12 @@ export class OtelEmitter {
|
|
|
103
108
|
const parentContext = parent ? trace.setSpan(context.active(), parent) : context.active();
|
|
104
109
|
const span = this.options.tracer.startSpan(`event:${event.type}`, {
|
|
105
110
|
attributes: {
|
|
106
|
-
"engine.trace_id":
|
|
107
|
-
"engine.
|
|
111
|
+
"engine.trace_id": correlation.traceId,
|
|
112
|
+
"engine.request_id": correlation.requestId,
|
|
113
|
+
"engine.session_id": correlation.sessionId,
|
|
114
|
+
"engine.turn_id": correlation.turnId,
|
|
115
|
+
...(subject?.tenant !== undefined ? { "engine.tenant": subject.tenant } : {}),
|
|
116
|
+
...(subject?.userId !== undefined ? { "engine.user_id": subject.userId } : {}),
|
|
108
117
|
"engine.phase": event.phase,
|
|
109
118
|
"engine.event_type": event.type,
|
|
110
119
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel-emitter.js","sourceRoot":"","sources":["../../src/observability/otel-emitter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpE;;GAEG;AACH,MAAM,OAAO,WAAW;IAUO;IATZ,QAAQ,GAAG,IAAI,GAAG,EAAgD,CAAC;IACnE,UAAU,GAAG,IAAI,GAAG,EAA2C,CAAC;IACzE,MAAM,GAAkC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"otel-emitter.js","sourceRoot":"","sources":["../../src/observability/otel-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import { type ChatRequest, type ChatResponse, type ChatStreamChunk, type Message, type ModelInfo, type ProviderAdapter } from "@tachu/core";
|
|
1
|
+
import { type AdapterCallContext, type ChatRequest, type ChatResponse, type ChatStreamChunk, type Message, type ModelInfo, type ProviderAdapter } from "@tachu/core";
|
|
2
2
|
interface AnthropicProviderOptions {
|
|
3
3
|
apiKey?: string;
|
|
4
4
|
baseURL?: string;
|
|
5
5
|
timeoutMs?: number;
|
|
6
|
+
/**
|
|
7
|
+
* 透传给 Anthropic SDK 构造器的附加选项(对应 `ProviderConnectionConfig.extra`)。
|
|
8
|
+
*
|
|
9
|
+
* 典型用途:`defaultHeaders` / `defaultQuery` / `httpAgent` 等 SDK 支持但未在
|
|
10
|
+
* {@link AnthropicProviderOptions} 显式暴露的字段。仅当值非空时与显式字段浅合并。
|
|
11
|
+
*/
|
|
12
|
+
extra?: Record<string, unknown>;
|
|
13
|
+
/**
|
|
14
|
+
* `listAvailableModels` TTL 缓存窗口(ms)。默认 60_000;<=0 关闭缓存。
|
|
15
|
+
*/
|
|
16
|
+
modelListCacheTtlMs?: number;
|
|
6
17
|
}
|
|
7
18
|
/**
|
|
8
19
|
* Anthropic 官方 Provider Adapter。
|
|
@@ -13,41 +24,49 @@ export declare class AnthropicProviderAdapter implements ProviderAdapter {
|
|
|
13
24
|
private readonly client;
|
|
14
25
|
private readonly timeoutMs;
|
|
15
26
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
* `listAvailableModels` TTL 缓存(),默认 60s,避免反复命中远端 `/v1/models`。
|
|
28
|
+
*/
|
|
29
|
+
private modelListCache;
|
|
30
|
+
private readonly modelListCacheTtlMs;
|
|
31
|
+
/**
|
|
32
|
+
* 创建 Anthropic Provider。
|
|
33
|
+
*
|
|
34
|
+
* @param options Provider 配置
|
|
35
|
+
* @throws ProviderError 缺失凭据时抛出
|
|
36
|
+
*/
|
|
21
37
|
constructor(options?: AnthropicProviderOptions);
|
|
22
38
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
39
|
+
* 调用 Anthropic `/v1/models` 返回**动态**模型清单(SDK 0.30+)。
|
|
40
|
+
*
|
|
41
|
+
* 若 SDK 调用异常(鉴权失败、网络异常、SDK 旧版本无此接口等),退化为
|
|
42
|
+
* {@link FALLBACK_MODELS} 静态清单以保证上层 ModelRouter 不会因单次列表失败
|
|
43
|
+
* 而整体不可用;真实错误已通过 `mapProviderError` 转成结构化错误抛给
|
|
44
|
+
* 诊断链路(此处吞错并落 fallback 是出于鲁棒性考虑)。
|
|
45
|
+
*/
|
|
27
46
|
listAvailableModels(): Promise<ModelInfo[]>;
|
|
28
47
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
chat(request: ChatRequest, signal?: AbortSignal): Promise<ChatResponse>;
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
chatStream(request: ChatRequest, signal?: AbortSignal): AsyncIterable<ChatStreamChunk>;
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
* 发起非流式对话请求。
|
|
49
|
+
*
|
|
50
|
+
* @param request 对话请求
|
|
51
|
+
* @param signal 可选取消信号
|
|
52
|
+
* @returns 对话响应
|
|
53
|
+
*/
|
|
54
|
+
chat(request: ChatRequest, _ctx: AdapterCallContext, signal?: AbortSignal): Promise<ChatResponse>;
|
|
55
|
+
/**
|
|
56
|
+
* 发起流式对话请求。
|
|
57
|
+
*
|
|
58
|
+
* @param request 对话请求
|
|
59
|
+
* @param signal 可选取消信号
|
|
60
|
+
* @returns 流式分片
|
|
61
|
+
*/
|
|
62
|
+
chatStream(request: ChatRequest, _ctx: AdapterCallContext, signal?: AbortSignal): AsyncIterable<ChatStreamChunk>;
|
|
63
|
+
/**
|
|
64
|
+
* 调用官方 countTokens 接口做精确计数。
|
|
65
|
+
*
|
|
66
|
+
* @param messages 消息列表
|
|
67
|
+
* @param model 模型名
|
|
68
|
+
* @returns token 数
|
|
69
|
+
*/
|
|
51
70
|
countTokens(messages: Message[], model: string): Promise<number>;
|
|
52
71
|
}
|
|
53
72
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,eAAe,EAGrB,MAAM,aAAa,CAAC;AAIrB,UAAU,wBAAwB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;MAKE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;MAEE;IACD,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAwRD;;GAEG;AACH,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACpC;;MAEE;IACD,OAAO,CAAC,cAAc,CAAmD;IACzE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAE9C;;;;;MAKE;gBACW,OAAO,GAAE,wBAA6B;IAiBnD;;;;;;;MAOE;IACK,mBAAmB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAkClD;;;;;;MAME;IACK,IAAI,CACR,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC;IAuEzB;;;;;;MAME;IACM,UAAU,CACf,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,kBAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,aAAa,CAAC,eAAe,CAAC;IAkJlC;;;;;;MAME;IACK,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYvE"}
|