@zimtsui/brainswitch 0.0.56 → 0.0.59
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 +109 -54
- package/assets/verbatim/declarations.handlebars +11 -0
- package/assets/verbatim/instruction.md +49 -0
- package/build/adaptor.d.ts +40 -9
- package/build/adaptor.js +36 -38
- package/build/adaptor.js.map +1 -1
- package/build/api-types/anthropic/billing.d.ts +5 -5
- package/build/api-types/anthropic/billing.js +1 -2
- package/build/api-types/anthropic/billing.js.map +1 -1
- package/build/api-types/anthropic/tool-codec.d.ts +11 -12
- package/build/api-types/anthropic/tool-codec.js +27 -42
- package/build/api-types/anthropic/tool-codec.js.map +1 -1
- package/build/api-types/google/billing.d.ts +5 -5
- package/build/api-types/google/billing.js +2 -3
- package/build/api-types/google/billing.js.map +1 -1
- package/build/api-types/google/restful-request.d.ts +1 -1
- package/build/api-types/google/restful-request.js +0 -1
- package/build/api-types/google/restful-request.js.map +1 -1
- package/build/api-types/google/tool-codec.d.ts +11 -11
- package/build/api-types/google/tool-codec.js +21 -19
- package/build/api-types/google/tool-codec.js.map +1 -1
- package/build/api-types/{openai-chatcompletion → openai-chatcompletions}/billing.d.ts +2 -3
- package/build/api-types/{openai-chatcompletion → openai-chatcompletions}/billing.js +0 -2
- package/build/api-types/openai-chatcompletions/billing.js.map +1 -0
- package/build/api-types/openai-chatcompletions/tool-codec.d.ts +17 -0
- package/build/api-types/{openai-chatcompletion → openai-chatcompletions}/tool-codec.js +26 -32
- package/build/api-types/openai-chatcompletions/tool-codec.js.map +1 -0
- package/build/api-types/openai-responses/billing.d.ts +5 -5
- package/build/api-types/openai-responses/billing.js +1 -2
- package/build/api-types/openai-responses/billing.js.map +1 -1
- package/build/api-types/openai-responses/tool-codec.d.ts +11 -11
- package/build/api-types/openai-responses/tool-codec.js +36 -32
- package/build/api-types/openai-responses/tool-codec.js.map +1 -1
- package/build/assets.d.ts +7 -0
- package/build/assets.js +8 -0
- package/build/assets.js.map +1 -0
- package/build/compatible-engine/session.d.ts +67 -0
- package/build/compatible-engine/session.js +92 -0
- package/build/compatible-engine/session.js.map +1 -0
- package/build/compatible-engine/structuring.d.ts +36 -0
- package/build/compatible-engine/structuring.js +34 -0
- package/build/compatible-engine/structuring.js.map +1 -0
- package/build/compatible-engine/validation.d.ts +21 -0
- package/build/compatible-engine/validation.js +82 -0
- package/build/compatible-engine/validation.js.map +1 -0
- package/build/compatible-engine.d/agentloop.d.ts +12 -0
- package/build/compatible-engine.d/agentloop.js +52 -0
- package/build/compatible-engine.d/agentloop.js.map +1 -0
- package/build/compatible-engine.d/aliyun/transport.d.ts +12 -0
- package/build/compatible-engine.d/aliyun/transport.js +7 -0
- package/build/compatible-engine.d/aliyun/transport.js.map +1 -0
- package/build/compatible-engine.d/aliyun.d.ts +24 -0
- package/build/compatible-engine.d/aliyun.js +46 -0
- package/build/compatible-engine.d/aliyun.js.map +1 -0
- package/build/compatible-engine.d/anthropic/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/anthropic/choice-codec.js +26 -0
- package/build/compatible-engine.d/anthropic/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/anthropic/message-codec.d.ts +36 -0
- package/build/compatible-engine.d/anthropic/message-codec.js +86 -0
- package/build/compatible-engine.d/anthropic/message-codec.js.map +1 -0
- package/build/compatible-engine.d/anthropic/transport.d.ts +34 -0
- package/build/compatible-engine.d/anthropic/transport.js +150 -0
- package/build/compatible-engine.d/anthropic/transport.js.map +1 -0
- package/build/compatible-engine.d/anthropic.d.ts +26 -0
- package/build/compatible-engine.d/anthropic.js +46 -0
- package/build/compatible-engine.d/anthropic.js.map +1 -0
- package/build/compatible-engine.d/google/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/google/choice-codec.js +27 -0
- package/build/compatible-engine.d/google/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/google/message-codec.d.ts +36 -0
- package/build/compatible-engine.d/google/message-codec.js +94 -0
- package/build/compatible-engine.d/google/message-codec.js.map +1 -0
- package/build/compatible-engine.d/google/transport.d.ts +30 -0
- package/build/{compatible.d → compatible-engine.d}/google/transport.js +22 -18
- package/build/compatible-engine.d/google/transport.js.map +1 -0
- package/build/compatible-engine.d/google.d.ts +26 -0
- package/build/compatible-engine.d/google.js +50 -0
- package/build/compatible-engine.d/google.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js +31 -0
- package/build/compatible-engine.d/openai-chatcompletions/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.d.ts +24 -0
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js +71 -0
- package/build/compatible-engine.d/openai-chatcompletions/message-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.d.ts +38 -0
- package/build/{compatible.d/openai-chatcompletions.d → compatible-engine.d/openai-chatcompletions/transport.d}/monolith.js +25 -22
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/monolith.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.d.ts +37 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js +190 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d/stream.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.d.ts +10 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.js +11 -0
- package/build/compatible-engine.d/openai-chatcompletions/transport.js.map +1 -0
- package/build/compatible-engine.d/openai-chatcompletions.d.ts +17 -0
- package/build/compatible-engine.d/openai-chatcompletions.js +14 -0
- package/build/compatible-engine.d/openai-chatcompletions.js.map +1 -0
- package/build/compatible-engine.d/openai-responses/choice-codec.d.ts +5 -0
- package/build/compatible-engine.d/openai-responses/choice-codec.js +30 -0
- package/build/compatible-engine.d/openai-responses/choice-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-responses/message-codec.d.ts +36 -0
- package/build/compatible-engine.d/openai-responses/message-codec.js +96 -0
- package/build/compatible-engine.d/openai-responses/message-codec.js.map +1 -0
- package/build/compatible-engine.d/openai-responses/transport.d.ts +35 -0
- package/build/{compatible.d → compatible-engine.d}/openai-responses/transport.js +21 -29
- package/build/compatible-engine.d/openai-responses/transport.js.map +1 -0
- package/build/compatible-engine.d/openai-responses.d.ts +26 -0
- package/build/compatible-engine.d/openai-responses.js +46 -0
- package/build/compatible-engine.d/openai-responses.js.map +1 -0
- package/build/compatible-engine.d.ts +22 -0
- package/build/compatible-engine.js +29 -0
- package/build/compatible-engine.js.map +1 -0
- package/build/config.d.ts +1 -0
- package/build/config.js +1 -2
- package/build/config.js.map +1 -1
- package/build/endpoint-spec.d.ts +1 -0
- package/build/endpoint-spec.js +2 -1
- package/build/endpoint-spec.js.map +1 -1
- package/build/engine/session.d.ts +7 -0
- package/build/{session.js.map → engine/session.js.map} +1 -1
- package/build/engine/transport.d.ts +5 -0
- package/build/engine/transport.js +1 -0
- package/build/engine/transport.js.map +1 -0
- package/build/engine/validation.d.ts +9 -0
- package/build/engine/validation.js +1 -0
- package/build/engine/validation.js.map +1 -0
- package/build/engine.d.ts +49 -40
- package/build/engine.js +88 -70
- package/build/engine.js.map +1 -1
- package/build/exports.d.ts +14 -14
- package/build/exports.js +14 -14
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +79 -66
- package/build/function.js +30 -47
- package/build/function.js.map +1 -1
- package/build/inference-context.d.ts +2 -2
- package/build/inference-context.js +0 -1
- package/build/inference-context.js.map +1 -1
- package/build/native-engines.d/google/message-codec.d.ts +18 -16
- package/build/native-engines.d/google/message-codec.js +31 -33
- package/build/native-engines.d/google/message-codec.js.map +1 -1
- package/build/native-engines.d/google/session.d.ts +44 -51
- package/build/native-engines.d/google/session.js +85 -81
- package/build/native-engines.d/google/session.js.map +1 -1
- package/build/native-engines.d/google/transport.d.ts +22 -19
- package/build/native-engines.d/google/transport.js +13 -13
- package/build/native-engines.d/google/transport.js.map +1 -1
- package/build/native-engines.d/google/validation.d.ts +22 -0
- package/build/native-engines.d/google/validation.js +20 -0
- package/build/native-engines.d/google/validation.js.map +1 -0
- package/build/native-engines.d/google.d/agentloop.d.ts +12 -0
- package/build/native-engines.d/google.d/agentloop.js +57 -0
- package/build/native-engines.d/google.d/agentloop.js.map +1 -0
- package/build/native-engines.d/google.d/exports.d.ts +3 -0
- package/build/native-engines.d/google.d/exports.js +4 -0
- package/build/native-engines.d/google.d/exports.js.map +1 -0
- package/build/native-engines.d/google.d.ts +42 -0
- package/build/native-engines.d/google.js +83 -0
- package/build/native-engines.d/google.js.map +1 -0
- package/build/native-engines.d/openai-responses/choice-codec.d.ts +5 -0
- package/build/native-engines.d/openai-responses/choice-codec.js +30 -0
- package/build/native-engines.d/openai-responses/choice-codec.js.map +1 -0
- package/build/native-engines.d/openai-responses/message-codec.d.ts +19 -17
- package/build/native-engines.d/openai-responses/message-codec.js +31 -25
- package/build/native-engines.d/openai-responses/message-codec.js.map +1 -1
- package/build/native-engines.d/openai-responses/session.d.ts +47 -45
- package/build/native-engines.d/openai-responses/session.js +75 -105
- package/build/native-engines.d/openai-responses/session.js.map +1 -1
- package/build/native-engines.d/openai-responses/structuring.d.ts +19 -0
- package/build/native-engines.d/openai-responses/structuring.js +19 -0
- package/build/native-engines.d/openai-responses/structuring.js.map +1 -0
- package/build/native-engines.d/openai-responses/tool.d.ts +15 -12
- package/build/native-engines.d/openai-responses/tool.js +1 -12
- package/build/native-engines.d/openai-responses/tool.js.map +1 -1
- package/build/native-engines.d/openai-responses/transport.d.ts +24 -25
- package/build/native-engines.d/openai-responses/transport.js +21 -41
- package/build/native-engines.d/openai-responses/transport.js.map +1 -1
- package/build/native-engines.d/openai-responses/validation.d.ts +20 -0
- package/build/native-engines.d/openai-responses/validation.js +80 -0
- package/build/native-engines.d/openai-responses/validation.js.map +1 -0
- package/build/native-engines.d/openai-responses.d/agentloop.d.ts +12 -0
- package/build/native-engines.d/openai-responses.d/agentloop.js +61 -0
- package/build/native-engines.d/openai-responses.d/agentloop.js.map +1 -0
- package/build/native-engines.d/openai-responses.d/exports.d.ts +4 -0
- package/build/native-engines.d/openai-responses.d/exports.js +5 -0
- package/build/native-engines.d/openai-responses.d/exports.js.map +1 -0
- package/build/native-engines.d/openai-responses.d.ts +44 -0
- package/build/native-engines.d/openai-responses.js +78 -0
- package/build/native-engines.d/openai-responses.js.map +1 -0
- package/build/throttle.d.ts +6 -5
- package/build/throttle.js +17 -14
- package/build/throttle.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/verbatim/codec/declarations.d.ts +2 -0
- package/build/verbatim/codec/declarations.js +22 -0
- package/build/verbatim/codec/declarations.js.map +1 -0
- package/build/verbatim/codec/request.d.ts +7 -0
- package/build/verbatim/codec/request.js +53 -0
- package/build/verbatim/codec/request.js.map +1 -0
- package/build/verbatim/codec.d.ts +2 -0
- package/build/verbatim/codec.js +3 -0
- package/build/verbatim/codec.js.map +1 -0
- package/build/verbatim.d.ts +74 -0
- package/build/verbatim.js +17 -0
- package/build/verbatim.js.map +1 -0
- package/examples/agent.ts +65 -0
- package/examples/chat.ts +24 -0
- package/examples/config.ts +24 -0
- package/{test/src → examples}/tsconfig.json +6 -2
- package/examples/verbatim.ts +44 -0
- package/package.json +15 -13
- package/build/agentloop.d.ts +0 -12
- package/build/agentloop.js +0 -43
- package/build/agentloop.js.map +0 -1
- package/build/api-types/openai-chatcompletion/billing.js.map +0 -1
- package/build/api-types/openai-chatcompletion/tool-codec.d.ts +0 -18
- package/build/api-types/openai-chatcompletion/tool-codec.js.map +0 -1
- package/build/compatible/engine.d/aliyun.d.ts +0 -23
- package/build/compatible/engine.d/aliyun.js +0 -44
- package/build/compatible/engine.d/aliyun.js.map +0 -1
- package/build/compatible/engine.d/anthropic.d.ts +0 -23
- package/build/compatible/engine.d/anthropic.js +0 -41
- package/build/compatible/engine.d/anthropic.js.map +0 -1
- package/build/compatible/engine.d/google.d.ts +0 -23
- package/build/compatible/engine.d/google.js +0 -45
- package/build/compatible/engine.d/google.js.map +0 -1
- package/build/compatible/engine.d/openai-responses.d.ts +0 -23
- package/build/compatible/engine.d/openai-responses.js +0 -41
- package/build/compatible/engine.d/openai-responses.js.map +0 -1
- package/build/compatible/engine.d.ts +0 -18
- package/build/compatible/engine.js +0 -21
- package/build/compatible/engine.js.map +0 -1
- package/build/compatible/session.d.ts +0 -78
- package/build/compatible/session.js +0 -138
- package/build/compatible/session.js.map +0 -1
- package/build/compatible/tool-call-validator.d.ts +0 -11
- package/build/compatible/tool-call-validator.js +0 -12
- package/build/compatible/tool-call-validator.js.map +0 -1
- package/build/compatible.d/aliyun/transport.d.ts +0 -11
- package/build/compatible.d/aliyun/transport.js +0 -9
- package/build/compatible.d/aliyun/transport.js.map +0 -1
- package/build/compatible.d/anthropic/message-codec.d.ts +0 -31
- package/build/compatible.d/anthropic/message-codec.js +0 -88
- package/build/compatible.d/anthropic/message-codec.js.map +0 -1
- package/build/compatible.d/anthropic/transport.d.ts +0 -31
- package/build/compatible.d/anthropic/transport.js +0 -137
- package/build/compatible.d/anthropic/transport.js.map +0 -1
- package/build/compatible.d/google/message-codec.d.ts +0 -31
- package/build/compatible.d/google/message-codec.js +0 -98
- package/build/compatible.d/google/message-codec.js.map +0 -1
- package/build/compatible.d/google/transport.d.ts +0 -28
- package/build/compatible.d/google/transport.js.map +0 -1
- package/build/compatible.d/openai-chatcompletions/message-codec.d.ts +0 -19
- package/build/compatible.d/openai-chatcompletions/message-codec.js +0 -66
- package/build/compatible.d/openai-chatcompletions/message-codec.js.map +0 -1
- package/build/compatible.d/openai-chatcompletions/transport.d.ts +0 -9
- package/build/compatible.d/openai-chatcompletions/transport.js +0 -25
- package/build/compatible.d/openai-chatcompletions/transport.js.map +0 -1
- package/build/compatible.d/openai-chatcompletions.d/monolith.d.ts +0 -36
- package/build/compatible.d/openai-chatcompletions.d/monolith.js.map +0 -1
- package/build/compatible.d/openai-chatcompletions.d/stream.d.ts +0 -35
- package/build/compatible.d/openai-chatcompletions.d/stream.js +0 -196
- package/build/compatible.d/openai-chatcompletions.d/stream.js.map +0 -1
- package/build/compatible.d/openai-responses/message-codec.d.ts +0 -32
- package/build/compatible.d/openai-responses/message-codec.js +0 -105
- package/build/compatible.d/openai-responses/message-codec.js.map +0 -1
- package/build/compatible.d/openai-responses/transport.d.ts +0 -33
- package/build/compatible.d/openai-responses/transport.js.map +0 -1
- package/build/frontmatter.d.ts +0 -5
- package/build/frontmatter.js +0 -13
- package/build/frontmatter.js.map +0 -1
- package/build/native-engines.d/google/agentloop.d.ts +0 -12
- package/build/native-engines.d/google/agentloop.js +0 -42
- package/build/native-engines.d/google/agentloop.js.map +0 -1
- package/build/native-engines.d/google/engine.d.ts +0 -35
- package/build/native-engines.d/google/engine.js +0 -73
- package/build/native-engines.d/google/engine.js.map +0 -1
- package/build/native-engines.d/google/exports.d.ts +0 -5
- package/build/native-engines.d/google/exports.js +0 -6
- package/build/native-engines.d/google/exports.js.map +0 -1
- package/build/native-engines.d/openai-responses/agentloop.d.ts +0 -13
- package/build/native-engines.d/openai-responses/agentloop.js +0 -53
- package/build/native-engines.d/openai-responses/agentloop.js.map +0 -1
- package/build/native-engines.d/openai-responses/engine.d.ts +0 -32
- package/build/native-engines.d/openai-responses/engine.js +0 -63
- package/build/native-engines.d/openai-responses/engine.js.map +0 -1
- package/build/native-engines.d/openai-responses/exports.d.ts +0 -6
- package/build/native-engines.d/openai-responses/exports.js +0 -7
- package/build/native-engines.d/openai-responses/exports.js.map +0 -1
- package/build/native-engines.d/openai-responses/tool-call-validator.d.ts +0 -12
- package/build/native-engines.d/openai-responses/tool-call-validator.js +0 -33
- package/build/native-engines.d/openai-responses/tool-call-validator.js.map +0 -1
- package/build/session.d.ts +0 -7
- package/test/build/test-codecs.d.ts +0 -1
- package/test/build/test-codecs.js +0 -230
- package/test/build/test-codecs.js.map +0 -1
- package/test/build/test-compatible-engine.d.ts +0 -1
- package/test/build/test-compatible-engine.js +0 -27
- package/test/build/test-compatible-engine.js.map +0 -1
- package/test/build/test-compatible-engines.d.ts +0 -1
- package/test/build/test-compatible-engines.js +0 -112
- package/test/build/test-compatible-engines.js.map +0 -1
- package/test/build/test-engine.d.ts +0 -1
- package/test/build/test-engine.js +0 -97
- package/test/build/test-engine.js.map +0 -1
- package/test/build/test-helpers.d.ts +0 -46
- package/test/build/test-helpers.js +0 -45
- package/test/build/test-helpers.js.map +0 -1
- package/test/build/test-native-engines.d.ts +0 -1
- package/test/build/test-native-engines.js +0 -64
- package/test/build/test-native-engines.js.map +0 -1
- package/test/build/test.d.ts +0 -5
- package/test/build/test.js +0 -6
- package/test/build/test.js.map +0 -1
- package/test/build/tsconfig.tsbuildinfo +0 -1
- package/test/src/test-codecs.ts +0 -256
- package/test/src/test-compatible-engine.ts +0 -45
- package/test/src/test-compatible-engines.ts +0 -129
- package/test/src/test-engine.ts +0 -144
- package/test/src/test-helpers.ts +0 -53
- package/test/src/test-native-engines.ts +0 -75
- package/test/src/test.ts +0 -5
- /package/build/{session.js → engine/session.js} +0 -0
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import { Adaptor } from '#@/adaptor.ts';
|
|
3
|
-
import { Function } from '#@/function.ts';
|
|
4
|
-
import { OpenAIResponsesCompatibleEngine } from '#@/compatible/engine.d/openai-responses.ts';
|
|
5
|
-
import { GoogleCompatibleEngine } from '#@/compatible/engine.d/google.ts';
|
|
6
|
-
import { AnthropicCompatibleEngine } from '#@/compatible/engine.d/anthropic.ts';
|
|
7
|
-
import { AliyunEngine } from '#@/compatible/engine.d/aliyun.ts';
|
|
8
|
-
import { fdm, makeBaseOptions } from "./test-helpers.js";
|
|
9
|
-
class OpenAIResponsesCompatibleEngineProbe extends OpenAIResponsesCompatibleEngine {
|
|
10
|
-
getToolChoice() {
|
|
11
|
-
return this.toolChoice;
|
|
12
|
-
}
|
|
13
|
-
getParallelToolCall() {
|
|
14
|
-
return this.parallelToolCall;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
class GoogleCompatibleEngineProbe extends GoogleCompatibleEngine {
|
|
18
|
-
getToolChoice() {
|
|
19
|
-
return this.toolChoice;
|
|
20
|
-
}
|
|
21
|
-
getParallelToolCall() {
|
|
22
|
-
return this.parallelToolCall;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
class AnthropicCompatibleEngineProbe extends AnthropicCompatibleEngine {
|
|
26
|
-
getToolChoice() {
|
|
27
|
-
return this.toolChoice;
|
|
28
|
-
}
|
|
29
|
-
getParallelToolCall() {
|
|
30
|
-
return this.parallelToolCall;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
class AliyunEngineProbe extends AliyunEngine {
|
|
34
|
-
getToolChoice() {
|
|
35
|
-
return this.toolChoice;
|
|
36
|
-
}
|
|
37
|
-
getParallelToolCall() {
|
|
38
|
-
return this.parallelToolCall;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
test('compatible engines preserve aggregated defaults', t => {
|
|
42
|
-
const openaiEngine = new OpenAIResponsesCompatibleEngineProbe({
|
|
43
|
-
...makeBaseOptions(),
|
|
44
|
-
apiType: 'openai-responses',
|
|
45
|
-
});
|
|
46
|
-
const googleEngine = new GoogleCompatibleEngineProbe({
|
|
47
|
-
...makeBaseOptions(),
|
|
48
|
-
apiType: 'google',
|
|
49
|
-
});
|
|
50
|
-
const anthropicEngine = new AnthropicCompatibleEngineProbe({
|
|
51
|
-
...makeBaseOptions(),
|
|
52
|
-
apiType: 'anthropic',
|
|
53
|
-
});
|
|
54
|
-
const aliyunEngine = new AliyunEngineProbe({
|
|
55
|
-
...makeBaseOptions(),
|
|
56
|
-
apiType: 'aliyun',
|
|
57
|
-
});
|
|
58
|
-
t.is(openaiEngine.fdm, fdm);
|
|
59
|
-
t.is(openaiEngine.getToolChoice(), Function.ToolChoice.AUTO);
|
|
60
|
-
t.false(openaiEngine.getParallelToolCall());
|
|
61
|
-
t.is(googleEngine.getToolChoice(), Function.ToolChoice.AUTO);
|
|
62
|
-
t.true(googleEngine.getParallelToolCall());
|
|
63
|
-
t.is(anthropicEngine.getToolChoice(), Function.ToolChoice.AUTO);
|
|
64
|
-
t.false(anthropicEngine.getParallelToolCall());
|
|
65
|
-
t.is(aliyunEngine.getToolChoice(), Function.ToolChoice.AUTO);
|
|
66
|
-
t.false(aliyunEngine.getParallelToolCall());
|
|
67
|
-
});
|
|
68
|
-
test('Adaptor.makeEngine returns each compatible implementation', t => {
|
|
69
|
-
const adaptor = Adaptor.create({
|
|
70
|
-
brainswitch: {
|
|
71
|
-
endpoints: {
|
|
72
|
-
oa: {
|
|
73
|
-
baseUrl: 'https://example.com/v1',
|
|
74
|
-
apiKey: 'k',
|
|
75
|
-
model: 'm',
|
|
76
|
-
name: 'oa',
|
|
77
|
-
apiType: 'openai-responses',
|
|
78
|
-
},
|
|
79
|
-
gg: {
|
|
80
|
-
baseUrl: 'https://generativelanguage.googleapis.com',
|
|
81
|
-
apiKey: 'k',
|
|
82
|
-
model: 'gemini-test',
|
|
83
|
-
name: 'gg',
|
|
84
|
-
apiType: 'google',
|
|
85
|
-
},
|
|
86
|
-
an: {
|
|
87
|
-
baseUrl: 'https://api.anthropic.com',
|
|
88
|
-
apiKey: 'k',
|
|
89
|
-
model: 'claude-test',
|
|
90
|
-
name: 'an',
|
|
91
|
-
apiType: 'anthropic',
|
|
92
|
-
},
|
|
93
|
-
al: {
|
|
94
|
-
baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
|
|
95
|
-
apiKey: 'k',
|
|
96
|
-
model: 'qwen-test',
|
|
97
|
-
name: 'al',
|
|
98
|
-
apiType: 'aliyun',
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
});
|
|
103
|
-
const openaiEngine = adaptor.makeEngine('oa', fdm);
|
|
104
|
-
const googleEngine = adaptor.makeEngine('gg', fdm);
|
|
105
|
-
const anthropicEngine = adaptor.makeEngine('an', fdm);
|
|
106
|
-
const aliyunEngine = adaptor.makeEngine('al', fdm);
|
|
107
|
-
t.true(openaiEngine instanceof OpenAIResponsesCompatibleEngine);
|
|
108
|
-
t.true(googleEngine instanceof GoogleCompatibleEngine);
|
|
109
|
-
t.true(anthropicEngine instanceof AnthropicCompatibleEngine);
|
|
110
|
-
t.true(aliyunEngine instanceof AliyunEngine);
|
|
111
|
-
});
|
|
112
|
-
//# sourceMappingURL=test-compatible-engines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-compatible-engines.js","sourceRoot":"","sources":["../src/test-compatible-engines.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import { Engine, InferenceTimeout, ResponseInvalid, UserAbortion } from '#@/engine.ts';
|
|
3
|
-
import {} from '#@/session.ts';
|
|
4
|
-
import {} from '#@/inference-context.ts';
|
|
5
|
-
import {} from '#@/compatible/session.ts';
|
|
6
|
-
import { fdm, makeBaseOptions, makeInferenceContext, makeUserMessage, } from "./test-helpers.js";
|
|
7
|
-
class StubEngine extends Engine {
|
|
8
|
-
parallelToolCall = false;
|
|
9
|
-
responder = async () => 'ok';
|
|
10
|
-
infer(wfctx, session, signal) {
|
|
11
|
-
return this.responder(wfctx, session, signal);
|
|
12
|
-
}
|
|
13
|
-
appendUserMessage(session, message) {
|
|
14
|
-
return {
|
|
15
|
-
...session,
|
|
16
|
-
chatMessages: [...session.chatMessages, message],
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
pushUserMessage(session, message) {
|
|
20
|
-
session.chatMessages.push(message);
|
|
21
|
-
return session;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function makeStringSession() {
|
|
25
|
-
return { chatMessages: [] };
|
|
26
|
-
}
|
|
27
|
-
test('Engine stores function declaration map', t => {
|
|
28
|
-
const engine = new StubEngine({
|
|
29
|
-
...makeBaseOptions(),
|
|
30
|
-
apiType: 'google',
|
|
31
|
-
});
|
|
32
|
-
t.is(engine.fdm, fdm);
|
|
33
|
-
});
|
|
34
|
-
test('Engine.stateless retries ResponseInvalid and succeeds', async (t) => {
|
|
35
|
-
const engine = new StubEngine({
|
|
36
|
-
...makeBaseOptions(),
|
|
37
|
-
apiType: 'google',
|
|
38
|
-
});
|
|
39
|
-
let attempts = 0;
|
|
40
|
-
engine.responder = async () => {
|
|
41
|
-
attempts += 1;
|
|
42
|
-
if (attempts < 3)
|
|
43
|
-
throw new ResponseInvalid('temporary');
|
|
44
|
-
return 'retry-ok';
|
|
45
|
-
};
|
|
46
|
-
const response = await engine.stateless(makeInferenceContext(), makeStringSession());
|
|
47
|
-
t.is(attempts, 3);
|
|
48
|
-
t.is(response, 'retry-ok');
|
|
49
|
-
});
|
|
50
|
-
test('Engine.stateless converts aborted workflow signal to UserAbortion', async (t) => {
|
|
51
|
-
const engine = new StubEngine({
|
|
52
|
-
...makeBaseOptions(),
|
|
53
|
-
apiType: 'google',
|
|
54
|
-
});
|
|
55
|
-
const controller = new AbortController();
|
|
56
|
-
engine.responder = async () => {
|
|
57
|
-
controller.abort();
|
|
58
|
-
throw new TypeError('aborted');
|
|
59
|
-
};
|
|
60
|
-
const e = await engine.stateless(makeInferenceContext(controller.signal), makeStringSession()).catch((e) => e);
|
|
61
|
-
t.true(e instanceof UserAbortion);
|
|
62
|
-
});
|
|
63
|
-
test('Engine.stateless converts timeout abort to InferenceTimeout', async (t) => {
|
|
64
|
-
const engine = new StubEngine({
|
|
65
|
-
...makeBaseOptions(),
|
|
66
|
-
apiType: 'google',
|
|
67
|
-
timeout: 1,
|
|
68
|
-
});
|
|
69
|
-
engine.responder = async (_wfctx, _session, signal) => {
|
|
70
|
-
await new Promise(resolve => setTimeout(resolve, 10));
|
|
71
|
-
if (signal?.aborted)
|
|
72
|
-
throw new TypeError('timed out');
|
|
73
|
-
return 'late';
|
|
74
|
-
};
|
|
75
|
-
const e = await t.throwsAsync(engine.stateless(makeInferenceContext(), makeStringSession()));
|
|
76
|
-
t.true(e instanceof InferenceTimeout);
|
|
77
|
-
});
|
|
78
|
-
test('Engine stateful/append/push message semantics are correct', async (t) => {
|
|
79
|
-
const engine = new StubEngine({
|
|
80
|
-
...makeBaseOptions(),
|
|
81
|
-
apiType: 'google',
|
|
82
|
-
});
|
|
83
|
-
engine.responder = async () => 'stateful-ok';
|
|
84
|
-
const session = makeStringSession();
|
|
85
|
-
const response = await engine.stateful(makeInferenceContext(), session);
|
|
86
|
-
t.is(response, 'stateful-ok');
|
|
87
|
-
t.deepEqual(session.chatMessages, ['stateful-ok']);
|
|
88
|
-
const user = makeUserMessage();
|
|
89
|
-
const appended = engine.appendUserMessage(session, user);
|
|
90
|
-
t.not(appended, session);
|
|
91
|
-
t.deepEqual(appended.chatMessages, ['stateful-ok', user]);
|
|
92
|
-
t.deepEqual(session.chatMessages, ['stateful-ok']);
|
|
93
|
-
const pushed = engine.pushUserMessage(session, user);
|
|
94
|
-
t.is(pushed, session);
|
|
95
|
-
t.deepEqual(session.chatMessages, ['stateful-ok', user]);
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=test-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-engine.js","sourceRoot":"","sources":["../src/test-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { type InferenceContext } from '#@/inference-context.ts';
|
|
2
|
-
import { RoleMessage, type Session } from '#@/compatible/session.ts';
|
|
3
|
-
import { Throttle } from '#@/throttle.ts';
|
|
4
|
-
export declare const fdm: {
|
|
5
|
-
foo: {
|
|
6
|
-
description: string;
|
|
7
|
-
paraschema: import("@sinclair/typebox").TObject<{
|
|
8
|
-
x: import("@sinclair/typebox").TNumber;
|
|
9
|
-
}>;
|
|
10
|
-
};
|
|
11
|
-
bar: {
|
|
12
|
-
description: string;
|
|
13
|
-
paraschema: import("@sinclair/typebox").TObject<{
|
|
14
|
-
y: import("@sinclair/typebox").TString;
|
|
15
|
-
}>;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export type fdm = typeof fdm;
|
|
19
|
-
export declare function makeBaseOptions(): {
|
|
20
|
-
baseUrl: string;
|
|
21
|
-
apiKey: string;
|
|
22
|
-
model: string;
|
|
23
|
-
name: string;
|
|
24
|
-
functionDeclarationMap: {
|
|
25
|
-
foo: {
|
|
26
|
-
description: string;
|
|
27
|
-
paraschema: import("@sinclair/typebox").TObject<{
|
|
28
|
-
x: import("@sinclair/typebox").TNumber;
|
|
29
|
-
}>;
|
|
30
|
-
};
|
|
31
|
-
bar: {
|
|
32
|
-
description: string;
|
|
33
|
-
paraschema: import("@sinclair/typebox").TObject<{
|
|
34
|
-
y: import("@sinclair/typebox").TString;
|
|
35
|
-
}>;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
throttle: Throttle;
|
|
39
|
-
inputPrice: number;
|
|
40
|
-
outputPrice: number;
|
|
41
|
-
cachePrice: number;
|
|
42
|
-
};
|
|
43
|
-
export declare function makeSession(): Session<fdm>;
|
|
44
|
-
export declare function makeUserMessage(): RoleMessage.User<fdm>;
|
|
45
|
-
export declare function makeAiMessage(text?: string): RoleMessage.Ai<fdm>;
|
|
46
|
-
export declare function makeInferenceContext(signal?: AbortSignal | null): InferenceContext;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Type } from '@sinclair/typebox';
|
|
2
|
-
import { Function } from '#@/function.ts';
|
|
3
|
-
import {} from '#@/inference-context.ts';
|
|
4
|
-
import { RoleMessage } from '#@/compatible/session.ts';
|
|
5
|
-
import { Throttle } from '#@/throttle.ts';
|
|
6
|
-
export const fdm = {
|
|
7
|
-
foo: {
|
|
8
|
-
description: 'foo tool',
|
|
9
|
-
paraschema: Type.Object({ x: Type.Number() }),
|
|
10
|
-
},
|
|
11
|
-
bar: {
|
|
12
|
-
description: 'bar tool',
|
|
13
|
-
paraschema: Type.Object({ y: Type.String() }),
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
export function makeBaseOptions() {
|
|
17
|
-
return {
|
|
18
|
-
baseUrl: 'https://example.com/v1',
|
|
19
|
-
apiKey: 'test-key',
|
|
20
|
-
model: 'test-model',
|
|
21
|
-
name: 'Test Endpoint',
|
|
22
|
-
functionDeclarationMap: fdm,
|
|
23
|
-
throttle: new Throttle(60),
|
|
24
|
-
inputPrice: 1,
|
|
25
|
-
outputPrice: 2,
|
|
26
|
-
cachePrice: 3,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
export function makeSession() {
|
|
30
|
-
return { chatMessages: [] };
|
|
31
|
-
}
|
|
32
|
-
export function makeUserMessage() {
|
|
33
|
-
return RoleMessage.User.create([RoleMessage.Part.Text.create('hello')]);
|
|
34
|
-
}
|
|
35
|
-
export function makeAiMessage(text = 'ok') {
|
|
36
|
-
return RoleMessage.Ai.create([RoleMessage.Part.Text.create(text)]);
|
|
37
|
-
}
|
|
38
|
-
export function makeInferenceContext(signal = null) {
|
|
39
|
-
return {
|
|
40
|
-
busy: null,
|
|
41
|
-
signal,
|
|
42
|
-
cost() { },
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=test-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../src/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAyB,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAgB,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,CAAC,MAAM,GAAG,GAAG;IACf,GAAG,EAAE;QACD,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAChD;IACD,GAAG,EAAE;QACD,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;KAChD;CAC+B,CAAC;AAIrC,MAAM,UAAU,eAAe;IAC3B,OAAO;QACH,OAAO,EAAE,wBAAwB;QACjC,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,eAAe;QACrB,sBAAsB,EAAE,GAAG;QAC3B,QAAQ,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;QAC1B,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;KAChB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe;IAC3B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,CAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAI,GAAG,IAAI;IACrC,OAAO,WAAW,CAAC,EAAE,CAAC,MAAM,CAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAA6B,IAAI;IAClE,OAAO;QACH,IAAI,EAAE,IAAI;QACV,MAAM;QACN,IAAI,KAAI,CAAC;KACZ,CAAC;AACN,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import test from 'ava';
|
|
2
|
-
import { Function } from '#@/function.ts';
|
|
3
|
-
import { GoogleNativeEngine } from '#@/native-engines.d/google/engine.ts';
|
|
4
|
-
import { OpenAIResponsesNativeEngine } from '#@/native-engines.d/openai-responses/engine.ts';
|
|
5
|
-
import { Adaptor } from '#@/adaptor.ts';
|
|
6
|
-
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
7
|
-
import { fdm, makeBaseOptions } from "./test-helpers.js";
|
|
8
|
-
class GoogleNativeEngineProbe extends GoogleNativeEngine {
|
|
9
|
-
getToolChoice() {
|
|
10
|
-
return this.toolChoice;
|
|
11
|
-
}
|
|
12
|
-
getParallelToolCall() {
|
|
13
|
-
return this.parallelToolCall;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
class OpenAIResponsesNativeEngineProbe extends OpenAIResponsesNativeEngine {
|
|
17
|
-
getToolChoice() {
|
|
18
|
-
return this.toolChoice;
|
|
19
|
-
}
|
|
20
|
-
getParallelToolCall() {
|
|
21
|
-
return this.parallelToolCall;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
test('native engines preserve aggregated defaults', t => {
|
|
25
|
-
const googleEngine = new GoogleNativeEngineProbe({
|
|
26
|
-
...makeBaseOptions(),
|
|
27
|
-
apiType: 'google',
|
|
28
|
-
});
|
|
29
|
-
const openaiEngine = new OpenAIResponsesNativeEngineProbe({
|
|
30
|
-
...makeBaseOptions(),
|
|
31
|
-
apiType: 'openai-responses',
|
|
32
|
-
});
|
|
33
|
-
t.is(googleEngine.getToolChoice(), Function.ToolChoice.AUTO);
|
|
34
|
-
t.true(googleEngine.getParallelToolCall());
|
|
35
|
-
t.is(openaiEngine.getToolChoice(), Function.ToolChoice.AUTO);
|
|
36
|
-
t.false(openaiEngine.getParallelToolCall());
|
|
37
|
-
});
|
|
38
|
-
test('Adaptor native engine factories return expected implementations', t => {
|
|
39
|
-
const adaptor = Adaptor.create({
|
|
40
|
-
brainswitch: {
|
|
41
|
-
endpoints: {
|
|
42
|
-
oa: {
|
|
43
|
-
baseUrl: 'https://example.com/v1',
|
|
44
|
-
apiKey: 'k',
|
|
45
|
-
model: 'm',
|
|
46
|
-
name: 'oa',
|
|
47
|
-
apiType: 'openai-responses',
|
|
48
|
-
},
|
|
49
|
-
gg: {
|
|
50
|
-
baseUrl: 'https://generativelanguage.googleapis.com',
|
|
51
|
-
apiKey: 'k',
|
|
52
|
-
model: 'gemini-test',
|
|
53
|
-
name: 'gg',
|
|
54
|
-
apiType: 'google',
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
});
|
|
59
|
-
const openaiEngine = adaptor.makeOpenAIResponsesNativeEngine('oa', fdm);
|
|
60
|
-
const googleEngine = adaptor.makeGoogleNativeEngine('gg', fdm);
|
|
61
|
-
t.true(openaiEngine instanceof OpenAIResponsesNativeEngine);
|
|
62
|
-
t.true(googleEngine instanceof GoogleNativeEngine);
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=test-native-engines.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-native-engines.js","sourceRoot":"","sources":["../src/test-native-engines.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,8CAA8C,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,uBAAwB,SAAQ,kBAAuB;IAClD,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAED,MAAM,gCAAiC,SAAQ,2BAAgC;IACpE,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEM,mBAAmB;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ;AAGD,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;IACpD,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC;QAC7C,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,QAAQ;KACpB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,gCAAgC,CAAC;QACtD,GAAG,eAAe,EAAE;QACpB,OAAO,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE3C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,CAAC,CAAC,EAAE;IACxE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,WAAW,EAAE;YACT,SAAS,EAAE;gBACP,EAAE,EAAE;oBACA,OAAO,EAAE,wBAAwB;oBACjC,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,kBAAkB;iBAC9B;gBACD,EAAE,EAAE;oBACA,OAAO,EAAE,2CAA2C;oBACpD,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,QAAQ;iBACpB;aACJ;SACJ;KACJ,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,+BAA+B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE/D,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,2BAA2B,CAAC,CAAC;IAC5D,CAAC,CAAC,IAAI,CAAC,YAAY,YAAY,kBAAkB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
|
package/test/build/test.d.ts
DELETED
package/test/build/test.js
DELETED
package/test/build/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC;AACtC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,0BAA0B,CAAC"}
|