@bowenqt/qiniu-ai-sdk 0.14.0 → 0.16.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.
- package/dist/ai/agent-graph.d.ts +8 -0
- package/dist/ai/agent-graph.d.ts.map +1 -1
- package/dist/ai/agent-graph.js +23 -3
- package/dist/ai/agent-graph.js.map +1 -1
- package/dist/ai/agent-graph.mjs +23 -3
- package/dist/ai/create-agent.d.ts +101 -0
- package/dist/ai/create-agent.d.ts.map +1 -0
- package/dist/ai/create-agent.js +88 -0
- package/dist/ai/create-agent.js.map +1 -0
- package/dist/ai/create-agent.mjs +85 -0
- package/dist/ai/generate-object.d.ts +99 -0
- package/dist/ai/generate-object.d.ts.map +1 -0
- package/dist/ai/generate-object.js +237 -0
- package/dist/ai/generate-object.js.map +1 -0
- package/dist/ai/generate-object.mjs +201 -0
- package/dist/ai/generate-text.d.ts +13 -1
- package/dist/ai/generate-text.d.ts.map +1 -1
- package/dist/ai/generate-text.js +35 -5
- package/dist/ai/generate-text.js.map +1 -1
- package/dist/ai/generate-text.mjs +35 -5
- package/dist/ai/graph/checkpointer.d.ts +72 -2
- package/dist/ai/graph/checkpointer.d.ts.map +1 -1
- package/dist/ai/graph/checkpointer.js +99 -1
- package/dist/ai/graph/checkpointer.js.map +1 -1
- package/dist/ai/graph/checkpointer.mjs +96 -1
- package/dist/ai/graph/index.d.ts +2 -2
- package/dist/ai/graph/index.d.ts.map +1 -1
- package/dist/ai/graph/index.js +5 -1
- package/dist/ai/graph/index.js.map +1 -1
- package/dist/ai/graph/index.mjs +3 -1
- package/dist/ai/graph/postgres-checkpointer.d.ts +1 -1
- package/dist/ai/graph/postgres-checkpointer.d.ts.map +1 -1
- package/dist/ai/graph/postgres-checkpointer.js +13 -3
- package/dist/ai/graph/postgres-checkpointer.js.map +1 -1
- package/dist/ai/graph/postgres-checkpointer.mjs +13 -3
- package/dist/ai/graph/redis-checkpointer.d.ts +1 -1
- package/dist/ai/graph/redis-checkpointer.d.ts.map +1 -1
- package/dist/ai/graph/redis-checkpointer.js +6 -2
- package/dist/ai/graph/redis-checkpointer.js.map +1 -1
- package/dist/ai/graph/redis-checkpointer.mjs +6 -2
- package/dist/ai/internal-types.d.ts +14 -0
- package/dist/ai/internal-types.d.ts.map +1 -1
- package/dist/ai/internal-types.js +15 -0
- package/dist/ai/internal-types.js.map +1 -1
- package/dist/ai/internal-types.mjs +13 -0
- package/dist/ai/memory/index.d.ts +147 -0
- package/dist/ai/memory/index.d.ts.map +1 -0
- package/dist/ai/memory/index.js +240 -0
- package/dist/ai/memory/index.js.map +1 -0
- package/dist/ai/memory/index.mjs +234 -0
- package/dist/ai/nodes/execute-node.d.ts +2 -1
- package/dist/ai/nodes/execute-node.d.ts.map +1 -1
- package/dist/ai/nodes/execute-node.js +11 -33
- package/dist/ai/nodes/execute-node.js.map +1 -1
- package/dist/ai/nodes/execute-node.mjs +11 -33
- package/dist/ai/nodes/memory-node.d.ts.map +1 -1
- package/dist/ai/nodes/memory-node.js +14 -16
- package/dist/ai/nodes/memory-node.js.map +1 -1
- package/dist/ai/nodes/memory-node.mjs +15 -17
- package/dist/ai/stream-object.d.ts +109 -0
- package/dist/ai/stream-object.d.ts.map +1 -0
- package/dist/ai/stream-object.js +383 -0
- package/dist/ai/stream-object.js.map +1 -0
- package/dist/ai/stream-object.mjs +347 -0
- package/dist/ai/tool-approval.d.ts +90 -0
- package/dist/ai/tool-approval.d.ts.map +1 -0
- package/dist/ai/tool-approval.js +151 -0
- package/dist/ai/tool-approval.js.map +1 -0
- package/dist/ai/tool-approval.mjs +147 -0
- package/dist/index.d.ts +17 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -4
- package/dist/lib/capability-cache.d.ts +72 -0
- package/dist/lib/capability-cache.d.ts.map +1 -0
- package/dist/lib/capability-cache.js +117 -0
- package/dist/lib/capability-cache.js.map +1 -0
- package/dist/lib/capability-cache.mjs +113 -0
- package/dist/lib/content-converter.d.ts +33 -0
- package/dist/lib/content-converter.d.ts.map +1 -0
- package/dist/lib/content-converter.js +166 -0
- package/dist/lib/content-converter.js.map +1 -0
- package/dist/lib/content-converter.mjs +161 -0
- package/dist/lib/errors.d.ts +15 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +13 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/errors.mjs +11 -0
- package/dist/lib/messages.js +4 -3
- package/dist/lib/messages.js.map +1 -1
- package/dist/lib/messages.mjs +4 -3
- package/dist/lib/partial-json-parser.d.ts +63 -0
- package/dist/lib/partial-json-parser.d.ts.map +1 -0
- package/dist/lib/partial-json-parser.js +142 -0
- package/dist/lib/partial-json-parser.js.map +1 -0
- package/dist/lib/partial-json-parser.mjs +137 -0
- package/dist/lib/token-estimator.d.ts.map +1 -1
- package/dist/lib/token-estimator.js +3 -2
- package/dist/lib/token-estimator.js.map +1 -1
- package/dist/lib/token-estimator.mjs +3 -2
- package/dist/lib/tool-registry.d.ts +21 -0
- package/dist/lib/tool-registry.d.ts.map +1 -1
- package/dist/lib/tool-registry.js.map +1 -1
- package/dist/lib/types.d.ts +20 -4
- package/dist/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Incremental JSON parser for streaming structured output.
|
|
4
|
+
* Parses partial JSON strings as they arrive, returning the most complete object possible.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const parser = new PartialJsonParser();
|
|
9
|
+
*
|
|
10
|
+
* parser.append('{"title": "Hello');
|
|
11
|
+
* console.log(parser.getPartial()); // { title: 'Hello' }
|
|
12
|
+
*
|
|
13
|
+
* parser.append('", "done": true}');
|
|
14
|
+
* console.log(parser.getPartial()); // { title: 'Hello', done: true }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.PartialJsonParser = void 0;
|
|
19
|
+
exports.parsePartialJson = parsePartialJson;
|
|
20
|
+
/**
|
|
21
|
+
* Incremental JSON parser that handles partial JSON strings.
|
|
22
|
+
*/
|
|
23
|
+
class PartialJsonParser {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.buffer = '';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Append new content to the buffer.
|
|
29
|
+
*/
|
|
30
|
+
append(chunk) {
|
|
31
|
+
this.buffer += chunk;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get the current buffer content.
|
|
35
|
+
*/
|
|
36
|
+
getBuffer() {
|
|
37
|
+
return this.buffer;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Reset the parser.
|
|
41
|
+
*/
|
|
42
|
+
reset() {
|
|
43
|
+
this.buffer = '';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Try to parse the current buffer as complete JSON.
|
|
47
|
+
*/
|
|
48
|
+
parseComplete() {
|
|
49
|
+
try {
|
|
50
|
+
const value = JSON.parse(this.buffer);
|
|
51
|
+
return { complete: true, value };
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return { complete: false, value: null };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Parse the current buffer, attempting to complete partial JSON.
|
|
59
|
+
* Returns the most complete object possible.
|
|
60
|
+
*/
|
|
61
|
+
parsePartial() {
|
|
62
|
+
// Try complete parse first
|
|
63
|
+
const complete = this.parseComplete();
|
|
64
|
+
if (complete.complete) {
|
|
65
|
+
return complete;
|
|
66
|
+
}
|
|
67
|
+
// Try to complete partial JSON
|
|
68
|
+
const completed = this.completePartialJson(this.buffer);
|
|
69
|
+
if (completed) {
|
|
70
|
+
try {
|
|
71
|
+
const value = JSON.parse(completed);
|
|
72
|
+
return { complete: false, value };
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return { complete: false, value: null, error: 'Failed to parse completed JSON' };
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return { complete: false, value: null };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Attempt to complete partial JSON by adding missing closing brackets.
|
|
82
|
+
*/
|
|
83
|
+
completePartialJson(json) {
|
|
84
|
+
if (!json.trim()) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
// Track open brackets
|
|
88
|
+
const stack = [];
|
|
89
|
+
let inString = false;
|
|
90
|
+
let escapeNext = false;
|
|
91
|
+
for (let i = 0; i < json.length; i++) {
|
|
92
|
+
const char = json[i];
|
|
93
|
+
if (escapeNext) {
|
|
94
|
+
escapeNext = false;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (char === '\\') {
|
|
98
|
+
escapeNext = true;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (char === '"' && !escapeNext) {
|
|
102
|
+
inString = !inString;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (inString) {
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (char === '{') {
|
|
109
|
+
stack.push('}');
|
|
110
|
+
}
|
|
111
|
+
else if (char === '[') {
|
|
112
|
+
stack.push(']');
|
|
113
|
+
}
|
|
114
|
+
else if (char === '}' || char === ']') {
|
|
115
|
+
if (stack.length > 0 && stack[stack.length - 1] === char) {
|
|
116
|
+
stack.pop();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// If in string, close it
|
|
121
|
+
let completed = json;
|
|
122
|
+
if (inString) {
|
|
123
|
+
completed += '"';
|
|
124
|
+
}
|
|
125
|
+
// Close all open brackets in reverse order
|
|
126
|
+
while (stack.length > 0) {
|
|
127
|
+
completed += stack.pop();
|
|
128
|
+
}
|
|
129
|
+
return completed;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.PartialJsonParser = PartialJsonParser;
|
|
133
|
+
/**
|
|
134
|
+
* Parse a partial JSON string, returning the most complete object possible.
|
|
135
|
+
* Convenience function for one-shot parsing.
|
|
136
|
+
*/
|
|
137
|
+
function parsePartialJson(json) {
|
|
138
|
+
const parser = new PartialJsonParser();
|
|
139
|
+
parser.append(json);
|
|
140
|
+
return parser.parsePartial();
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=partial-json-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partial-json-parser.js","sourceRoot":"","sources":["../../src/lib/partial-json-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Incremental JSON parser for streaming structured output.
|
|
3
|
+
* Parses partial JSON strings as they arrive, returning the most complete object possible.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* const parser = new PartialJsonParser();
|
|
8
|
+
*
|
|
9
|
+
* parser.append('{"title": "Hello');
|
|
10
|
+
* console.log(parser.getPartial()); // { title: 'Hello' }
|
|
11
|
+
*
|
|
12
|
+
* parser.append('", "done": true}');
|
|
13
|
+
* console.log(parser.getPartial()); // { title: 'Hello', done: true }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Incremental JSON parser that handles partial JSON strings.
|
|
18
|
+
*/
|
|
19
|
+
export class PartialJsonParser {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.buffer = '';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Append new content to the buffer.
|
|
25
|
+
*/
|
|
26
|
+
append(chunk) {
|
|
27
|
+
this.buffer += chunk;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the current buffer content.
|
|
31
|
+
*/
|
|
32
|
+
getBuffer() {
|
|
33
|
+
return this.buffer;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Reset the parser.
|
|
37
|
+
*/
|
|
38
|
+
reset() {
|
|
39
|
+
this.buffer = '';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Try to parse the current buffer as complete JSON.
|
|
43
|
+
*/
|
|
44
|
+
parseComplete() {
|
|
45
|
+
try {
|
|
46
|
+
const value = JSON.parse(this.buffer);
|
|
47
|
+
return { complete: true, value };
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return { complete: false, value: null };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse the current buffer, attempting to complete partial JSON.
|
|
55
|
+
* Returns the most complete object possible.
|
|
56
|
+
*/
|
|
57
|
+
parsePartial() {
|
|
58
|
+
// Try complete parse first
|
|
59
|
+
const complete = this.parseComplete();
|
|
60
|
+
if (complete.complete) {
|
|
61
|
+
return complete;
|
|
62
|
+
}
|
|
63
|
+
// Try to complete partial JSON
|
|
64
|
+
const completed = this.completePartialJson(this.buffer);
|
|
65
|
+
if (completed) {
|
|
66
|
+
try {
|
|
67
|
+
const value = JSON.parse(completed);
|
|
68
|
+
return { complete: false, value };
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return { complete: false, value: null, error: 'Failed to parse completed JSON' };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return { complete: false, value: null };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Attempt to complete partial JSON by adding missing closing brackets.
|
|
78
|
+
*/
|
|
79
|
+
completePartialJson(json) {
|
|
80
|
+
if (!json.trim()) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
// Track open brackets
|
|
84
|
+
const stack = [];
|
|
85
|
+
let inString = false;
|
|
86
|
+
let escapeNext = false;
|
|
87
|
+
for (let i = 0; i < json.length; i++) {
|
|
88
|
+
const char = json[i];
|
|
89
|
+
if (escapeNext) {
|
|
90
|
+
escapeNext = false;
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (char === '\\') {
|
|
94
|
+
escapeNext = true;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (char === '"' && !escapeNext) {
|
|
98
|
+
inString = !inString;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (inString) {
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (char === '{') {
|
|
105
|
+
stack.push('}');
|
|
106
|
+
}
|
|
107
|
+
else if (char === '[') {
|
|
108
|
+
stack.push(']');
|
|
109
|
+
}
|
|
110
|
+
else if (char === '}' || char === ']') {
|
|
111
|
+
if (stack.length > 0 && stack[stack.length - 1] === char) {
|
|
112
|
+
stack.pop();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// If in string, close it
|
|
117
|
+
let completed = json;
|
|
118
|
+
if (inString) {
|
|
119
|
+
completed += '"';
|
|
120
|
+
}
|
|
121
|
+
// Close all open brackets in reverse order
|
|
122
|
+
while (stack.length > 0) {
|
|
123
|
+
completed += stack.pop();
|
|
124
|
+
}
|
|
125
|
+
return completed;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Parse a partial JSON string, returning the most complete object possible.
|
|
130
|
+
* Convenience function for one-shot parsing.
|
|
131
|
+
*/
|
|
132
|
+
export function parsePartialJson(json) {
|
|
133
|
+
const parser = new PartialJsonParser();
|
|
134
|
+
parser.append(json);
|
|
135
|
+
return parser.parsePartial();
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=partial-json-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/lib/token-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmB3C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,MAAM,CAAC;AAE3E;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,oBAAyB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"token-estimator.d.ts","sourceRoot":"","sources":["../../src/lib/token-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmB3C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,KAAK,MAAM,CAAC;AAE3E;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,oBAAyB,GAAG,gBAAgB,CAuBxF;AAaD;;GAEG;AACH,eAAO,MAAM,uBAAuB,kBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,GAAE,oBAAyB,GAClC,MAAM,CAgBR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,MAAM,GAAE,oBAAyB,GAClC,MAAM,CAER;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,oBAAoB,CAMnE,CAAC"}
|
|
@@ -38,10 +38,11 @@ function createTokenEstimator(config = {}) {
|
|
|
38
38
|
if (Array.isArray(content)) {
|
|
39
39
|
let total = 0;
|
|
40
40
|
for (const part of content) {
|
|
41
|
-
if (part.type === 'text' && part
|
|
41
|
+
if (part.type === 'text' && 'text' in part) {
|
|
42
42
|
total += estimateText(part.text, charsPerToken, cjkMultiplier);
|
|
43
43
|
}
|
|
44
|
-
else if (part.type === 'image_url') {
|
|
44
|
+
else if (part.type === 'image_url' || part.type === 'image') {
|
|
45
|
+
// Both image_url (API format) and image (SDK sugar) count as image tokens
|
|
45
46
|
total += imageTokenCost;
|
|
46
47
|
}
|
|
47
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/lib/token-estimator.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA6CH,
|
|
1
|
+
{"version":3,"file":"token-estimator.js","sourceRoot":"","sources":["../../src/lib/token-estimator.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,10 +32,11 @@ export function createTokenEstimator(config = {}) {
|
|
|
32
32
|
if (Array.isArray(content)) {
|
|
33
33
|
let total = 0;
|
|
34
34
|
for (const part of content) {
|
|
35
|
-
if (part.type === 'text' && part
|
|
35
|
+
if (part.type === 'text' && 'text' in part) {
|
|
36
36
|
total += estimateText(part.text, charsPerToken, cjkMultiplier);
|
|
37
37
|
}
|
|
38
|
-
else if (part.type === 'image_url') {
|
|
38
|
+
else if (part.type === 'image_url' || part.type === 'image') {
|
|
39
|
+
// Both image_url (API format) and image (SDK sugar) count as image tokens
|
|
39
40
|
total += imageTokenCost;
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -25,6 +25,23 @@ export interface RegisteredToolContext {
|
|
|
25
25
|
}>;
|
|
26
26
|
abortSignal?: AbortSignal;
|
|
27
27
|
}
|
|
28
|
+
/** Approval handler function for tools */
|
|
29
|
+
export type ToolApprovalHandler = (context: {
|
|
30
|
+
toolCall: {
|
|
31
|
+
id: string;
|
|
32
|
+
function: {
|
|
33
|
+
name: string;
|
|
34
|
+
arguments: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
toolName: string;
|
|
38
|
+
toolDescription: string;
|
|
39
|
+
args: Record<string, unknown>;
|
|
40
|
+
messages: Array<{
|
|
41
|
+
role: string;
|
|
42
|
+
content: unknown;
|
|
43
|
+
}>;
|
|
44
|
+
}) => Promise<boolean>;
|
|
28
45
|
/** Registered tool definition */
|
|
29
46
|
export interface RegisteredTool {
|
|
30
47
|
name: string;
|
|
@@ -32,6 +49,10 @@ export interface RegisteredTool {
|
|
|
32
49
|
parameters: ToolParameters;
|
|
33
50
|
source: ToolSource;
|
|
34
51
|
execute?: (args: Record<string, unknown>, context?: RegisteredToolContext) => Promise<unknown>;
|
|
52
|
+
/** Whether this tool requires approval before execution */
|
|
53
|
+
requiresApproval?: boolean;
|
|
54
|
+
/** Per-tool approval handler (overrides global) */
|
|
55
|
+
approvalHandler?: ToolApprovalHandler;
|
|
35
56
|
}
|
|
36
57
|
/** Conflict resolution strategy */
|
|
37
58
|
export type ConflictStrategy = 'first-wins' | 'error';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/lib/tool-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGvC,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;AAKlE,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/lib/tool-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/lib/tool-registry.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,qCAAsC;AAKtC,qDAAqD;AACrD,MAAM,eAAe,GAAqB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/lib/tool-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -6,14 +6,30 @@ export interface ChatMessage {
|
|
|
6
6
|
/** Required for tool role messages to match the corresponding tool_call */
|
|
7
7
|
tool_call_id?: string;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
/** Cross-platform image source types */
|
|
10
|
+
export type ImageSource = Uint8Array | ArrayBuffer | Blob | URL | string;
|
|
11
|
+
/** Image URL content part (API format) */
|
|
12
|
+
export interface ImageUrlContentPart {
|
|
13
|
+
type: 'image_url';
|
|
14
|
+
image_url: {
|
|
13
15
|
url: string;
|
|
14
16
|
detail?: 'auto' | 'low' | 'high';
|
|
15
17
|
};
|
|
16
18
|
}
|
|
19
|
+
/** Text content part */
|
|
20
|
+
export interface TextContentPart {
|
|
21
|
+
type: 'text';
|
|
22
|
+
text: string;
|
|
23
|
+
}
|
|
24
|
+
/** Image sugar content part (SDK convenience format) */
|
|
25
|
+
export interface ImageContentPart {
|
|
26
|
+
type: 'image';
|
|
27
|
+
image: ImageSource;
|
|
28
|
+
/** Optional detail level for image processing */
|
|
29
|
+
detail?: 'auto' | 'low' | 'high';
|
|
30
|
+
}
|
|
31
|
+
/** Content part for multimodal messages */
|
|
32
|
+
export type ContentPart = TextContentPart | ImageUrlContentPart | ImageContentPart;
|
|
17
33
|
export interface ToolCall {
|
|
18
34
|
id: string;
|
|
19
35
|
type: 'function';
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED