@zimtsui/typechat 0.0.100 → 0.0.102
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/assets/verbatim/instruction.md +12 -7
- package/build/engine/structuring-validator.js +7 -7
- package/build/engine/structuring-validator.js.map +1 -1
- package/build/engine.js +3 -0
- package/build/engine.js.map +1 -1
- package/build/engines/openai-responses/structuring-validator.js +7 -7
- package/build/engines/openai-responses/structuring-validator.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
## Motivation
|
|
4
4
|
|
|
5
|
-
When
|
|
5
|
+
When an LLM outputs structured data in JSON format (e.g., legacy LLM function calling), if there are too many special characters in a string property (e.g., a large LaTeX document, or a complex shell command), the LLM is prone to make mistakes in JSON escaping.
|
|
6
6
|
|
|
7
7
|
XML Verbatim Channel is designed to avoid escaping in LLM messages.
|
|
8
8
|
|
|
9
9
|
## Declaration of Channels
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
LLM developer/user-role messages are expected to declare all available XML Verbatim Channels in the form of
|
|
12
12
|
|
|
13
13
|
<verbatim:declaration name="NAME OF CHANNEL">
|
|
14
14
|
<verbatim:description>DESCRIPTION OF CHANNEL</verbatim:description>
|
|
@@ -26,7 +26,7 @@ The LLM system/user message is expected to declare all available XML Verbatim Ch
|
|
|
26
26
|
|
|
27
27
|
## Request through Channels
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
In an LLM AI-role message you output, you can make a request through a specified channel in the form of
|
|
30
30
|
|
|
31
31
|
<verbatim:request name="NAME OF CHANNEL">
|
|
32
32
|
<verbatim:parameter name="NAME OF PARAMETER 1"><![CDATA[VERBATIM ARGUMENT OF THIS PARAMETER]]></verbatim:parameter>
|
|
@@ -35,11 +35,12 @@ You can make a request through a channel in the form of
|
|
|
35
35
|
|
|
36
36
|
- The only attribute of <verbatim:request> is `name`. Additional attributes will be ignored.
|
|
37
37
|
- The only attribute of <verbatim:parameter> is `name`. Additional attributes will be ignored.
|
|
38
|
+
- Self closing tags are not allowed, even if the request has no parameters.
|
|
38
39
|
- All arguments must be wrapped in CDATA. The CDATA sections will be extracted not by standard XML parsers, but by regular expressions instead. Therefore, they can directly contain `]]>`, which is not allowed in standard XML.
|
|
39
40
|
|
|
40
41
|
## Response from Channels
|
|
41
42
|
|
|
42
|
-
The LLM user message may contain the responses to your
|
|
43
|
+
The LLM user-role message following your requests may contain the responses to your requests in the form of
|
|
43
44
|
|
|
44
45
|
<verbatim:response name="NAME OF CHANNEL"><![CDATA[VERBATIM RESPONSE]]></verbatim:response>
|
|
45
46
|
|
|
@@ -49,9 +50,9 @@ Not all requests have a response.
|
|
|
49
50
|
|
|
50
51
|
## Verbatim Quotation
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
LLM developer/user-role messages may contain verbatim quotations in the form of
|
|
53
54
|
|
|
54
|
-
<verbatim:quotation author="AUTHOR OF
|
|
55
|
+
<verbatim:quotation author="AUTHOR OF QUOTATION"><![CDATA[VERBATIM QUOTATION]]></verbatim:quotation>
|
|
55
56
|
|
|
56
57
|
The CDATA section may directly contain `]]>`, which is not allowed in standard XML.
|
|
57
58
|
|
|
@@ -59,6 +60,10 @@ The attribute `author` is optional.
|
|
|
59
60
|
|
|
60
61
|
## System Information
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
LLM developer/user-role messages may contain system information from the AI agent framework in the form of
|
|
63
64
|
|
|
64
65
|
<verbatim:system></verbatim:system>
|
|
66
|
+
|
|
67
|
+
## LLM Chat Template Compatibility
|
|
68
|
+
|
|
69
|
+
The mechanism of XML Verbatim Channel is built on top of your native LLM chat template. When you are making a verbatim request, you have to output a complete LLM AI-role message, which has its own native chat template message boundaries.
|
|
@@ -22,41 +22,41 @@ export class StructuringValidator {
|
|
|
22
22
|
else if (this.structuringChoice === StructuringChoice.VRequest.REQUIRED) {
|
|
23
23
|
if (!vreqs.length)
|
|
24
24
|
return new RoleMessage.User([
|
|
25
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error:
|
|
25
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: XML verbatim request required, but not found. Check your output format.`)),
|
|
26
26
|
]);
|
|
27
27
|
}
|
|
28
28
|
else if (this.structuringChoice === StructuringChoice.VRequest.ANYONE) {
|
|
29
29
|
if (!vreqs.length)
|
|
30
30
|
return new RoleMessage.User([
|
|
31
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error:
|
|
31
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: XML verbatim request required, but not found. Check your output format.`)),
|
|
32
32
|
]);
|
|
33
33
|
if (vreqs.length > 1)
|
|
34
34
|
return new RoleMessage.User([
|
|
35
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Only 1 verbatim request allowed, but multiple found.`)),
|
|
35
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Only 1 XML verbatim request allowed, but multiple found.`)),
|
|
36
36
|
]);
|
|
37
37
|
}
|
|
38
38
|
else if (this.structuringChoice === StructuringChoice.REQUIRED) {
|
|
39
39
|
if (fcalls.length + vreqs.length) { }
|
|
40
40
|
else
|
|
41
41
|
return new RoleMessage.User([
|
|
42
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either function call or verbatim request required, but none found. Check your output format.`)),
|
|
42
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either function call or XML verbatim request required, but none found. Check your output format.`)),
|
|
43
43
|
]);
|
|
44
44
|
}
|
|
45
45
|
else if (this.structuringChoice === StructuringChoice.ANYONE) {
|
|
46
46
|
if (fcalls.length + vreqs.length) { }
|
|
47
47
|
else
|
|
48
48
|
return new RoleMessage.User([
|
|
49
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either 1 function call or 1 verbatim request required, but none found. Check your output format.`)),
|
|
49
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either 1 function call or 1 XML verbatim request required, but none found. Check your output format.`)),
|
|
50
50
|
]);
|
|
51
51
|
if (fcalls.length + vreqs.length > 1)
|
|
52
52
|
return new RoleMessage.User([
|
|
53
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either Only 1 function call or only 1 verbatim request allowed, but multiple found.`)),
|
|
53
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either Only 1 function call or only 1 XML verbatim request allowed, but multiple found.`)),
|
|
54
54
|
]);
|
|
55
55
|
}
|
|
56
56
|
else if (this.structuringChoice === StructuringChoice.NONE) {
|
|
57
57
|
if (fcalls.length + vreqs.length)
|
|
58
58
|
return new RoleMessage.User([
|
|
59
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Neither function call nor verbatim request allowed.`)),
|
|
59
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Neither function call nor XML verbatim request allowed.`)),
|
|
60
60
|
]);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structuring-validator.js","sourceRoot":"","sources":["../../src/engine/structuring-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAGtD,MAAM,OAAO,oBAAoB;IAInB,iBAAiB,CAAoB;IAC/C,YAAmB,OAAqC;QACpD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACvD,CAAC;IAEM,QAAQ,CACX,SAAmC;QAEnC,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAC;QAEzE,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAC;YACrE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,WAAW,CAAC,+BAA+B,CAAC,CAAC;QAElF,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACb,OAAO,IAAI,WAAW,CAAC,IAAI,CAAQ;oBAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"structuring-validator.js","sourceRoot":"","sources":["../../src/engine/structuring-validator.ts"],"names":[],"mappings":"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"}
|
package/build/engine.js
CHANGED
|
@@ -83,6 +83,9 @@ export var Engine;
|
|
|
83
83
|
catch (e) {
|
|
84
84
|
if (signalTimeout?.aborted)
|
|
85
85
|
throw new InferenceTimeout(undefined, { cause: e });
|
|
86
|
+
else if (wfctx.signal?.aborted)
|
|
87
|
+
// 有的推理服务商 SDK 在请求被取消时并产生自定义的异常,而非直接抛出 abort reason。
|
|
88
|
+
throw wfctx.signal.reason;
|
|
86
89
|
else
|
|
87
90
|
throw e;
|
|
88
91
|
}
|
package/build/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAc,MAAM,QAAQ,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,0BAA0B,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0B5D,MAAM,KAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,41 +22,41 @@ export class StructuringValidator extends Engine.StructuringValidator {
|
|
|
22
22
|
else if (this.structuringChoice === StructuringChoice.VRequest.REQUIRED) {
|
|
23
23
|
if (!vreqs.length)
|
|
24
24
|
return new RoleMessage.User([
|
|
25
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error:
|
|
25
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: XML verbatim request required, but not found. Check your output format.`)),
|
|
26
26
|
]);
|
|
27
27
|
}
|
|
28
28
|
else if (this.structuringChoice === StructuringChoice.VRequest.ANYONE) {
|
|
29
29
|
if (!vreqs.length)
|
|
30
30
|
return new RoleMessage.User([
|
|
31
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error:
|
|
31
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: XML verbatim request required, but not found. Check your output format.`)),
|
|
32
32
|
]);
|
|
33
33
|
if (vreqs.length > 1)
|
|
34
34
|
return new RoleMessage.User([
|
|
35
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Only 1 verbatim request allowed, but multiple found.`)),
|
|
35
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Only 1 XML verbatim request allowed, but multiple found.`)),
|
|
36
36
|
]);
|
|
37
37
|
}
|
|
38
38
|
else if (this.structuringChoice === StructuringChoice.REQUIRED) {
|
|
39
39
|
if (tcalls.length + vreqs.length) { }
|
|
40
40
|
else
|
|
41
41
|
return new RoleMessage.User([
|
|
42
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either tool call or verbatim request required, but none found. Check your output format.`)),
|
|
42
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either tool call or XML verbatim request required, but none found. Check your output format.`)),
|
|
43
43
|
]);
|
|
44
44
|
}
|
|
45
45
|
else if (this.structuringChoice === StructuringChoice.ANYONE) {
|
|
46
46
|
if (tcalls.length + vreqs.length) { }
|
|
47
47
|
else
|
|
48
48
|
return new RoleMessage.User([
|
|
49
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either 1 tool call or 1 verbatim request required, but none found. Check your output format.`)),
|
|
49
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either 1 tool call or 1 XML verbatim request required, but none found. Check your output format.`)),
|
|
50
50
|
]);
|
|
51
51
|
if (tcalls.length + vreqs.length > 1)
|
|
52
52
|
return new RoleMessage.User([
|
|
53
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either Only 1 tool call or only 1 verbatim request allowed, but multiple found.`)),
|
|
53
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Either Only 1 tool call or only 1 XML verbatim request allowed, but multiple found.`)),
|
|
54
54
|
]);
|
|
55
55
|
}
|
|
56
56
|
else if (this.structuringChoice === StructuringChoice.NONE) {
|
|
57
57
|
if (tcalls.length + vreqs.length)
|
|
58
58
|
return new RoleMessage.User([
|
|
59
|
-
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Neither tool call nor verbatim request allowed.`)),
|
|
59
|
+
RoleMessage.User.Part.Text.paragraph(VerbatimCodec.System.encode(`Error: Neither tool call nor XML verbatim request allowed.`)),
|
|
60
60
|
]);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structuring-validator.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/structuring-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,OAAO,oBAGX,SAAQ,MAAM,CAAC,oBAA8B;IAC3C,YAAmB,OAAqC;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAEe,QAAQ,CACpB,SAAmC;QAEnC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAE9C,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAErE,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAC;YACjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,IAAI,WAAW,CAAC,2BAA2B,CAAC,CAAC;QAE9E,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACb,OAAO,IAAI,WAAW,CAAC,IAAI,CAAQ;oBAC/B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAChC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"structuring-validator.js","sourceRoot":"","sources":["../../../src/engines/openai-responses/structuring-validator.ts"],"names":[],"mappings":"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"}
|