@zimtsui/brainswitch 0.0.54 → 0.0.56
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/DEVELOPMENT.md +13 -14
- package/README.md +7 -14
- package/build/adaptor.d.ts +5 -5
- package/build/adaptor.js +16 -16
- package/build/adaptor.js.map +1 -1
- package/build/agentloop.d.ts +5 -5
- package/build/agentloop.js +4 -4
- package/build/agentloop.js.map +1 -1
- package/build/api-types/anthropic/billing.d.ts +12 -0
- package/build/api-types/anthropic/billing.js +15 -0
- package/build/api-types/anthropic/billing.js.map +1 -0
- package/build/api-types/anthropic/tool-codec.d.ts +17 -0
- package/build/api-types/anthropic/tool-codec.js +73 -0
- package/build/api-types/anthropic/tool-codec.js.map +1 -0
- package/build/api-types/google/billing.d.ts +12 -0
- package/build/api-types/google/billing.js +24 -0
- package/build/api-types/google/billing.js.map +1 -0
- package/build/api-types/google/restful-request.d.ts +8 -0
- package/build/api-types/google/restful-request.js +2 -0
- package/build/api-types/google/restful-request.js.map +1 -0
- package/build/api-types/google/tool-codec.d.ts +16 -0
- package/build/api-types/{google.js → google/tool-codec.js} +27 -26
- package/build/api-types/google/tool-codec.js.map +1 -0
- package/build/api-types/openai-chatcompletion/billing.d.ts +13 -0
- package/build/api-types/openai-chatcompletion/billing.js +16 -0
- package/build/api-types/openai-chatcompletion/billing.js.map +1 -0
- package/build/api-types/openai-chatcompletion/tool-codec.d.ts +18 -0
- package/build/api-types/openai-chatcompletion/tool-codec.js +86 -0
- package/build/api-types/openai-chatcompletion/tool-codec.js.map +1 -0
- package/build/api-types/openai-responses/billing.d.ts +12 -0
- package/build/api-types/openai-responses/billing.js +15 -0
- package/build/api-types/openai-responses/billing.js.map +1 -0
- package/build/api-types/openai-responses/tool-codec.d.ts +16 -0
- package/build/api-types/openai-responses/tool-codec.js +72 -0
- package/build/api-types/openai-responses/tool-codec.js.map +1 -0
- package/build/compatible/engine.d/aliyun.d.ts +23 -0
- package/build/compatible/engine.d/aliyun.js +44 -0
- package/build/compatible/engine.d/aliyun.js.map +1 -0
- package/build/compatible/engine.d/anthropic.d.ts +23 -0
- package/build/compatible/engine.d/anthropic.js +41 -0
- package/build/compatible/engine.d/anthropic.js.map +1 -0
- package/build/compatible/engine.d/google.d.ts +23 -0
- package/build/compatible/engine.d/google.js +45 -0
- package/build/compatible/engine.d/google.js.map +1 -0
- package/build/compatible/engine.d/openai-responses.d.ts +23 -0
- package/build/compatible/engine.d/openai-responses.js +41 -0
- package/build/compatible/engine.d/openai-responses.js.map +1 -0
- package/build/compatible/engine.d.ts +18 -0
- package/build/compatible/engine.js +21 -0
- package/build/compatible/engine.js.map +1 -0
- package/build/compatible/session.d.ts +78 -0
- package/build/compatible/session.js +138 -0
- package/build/compatible/session.js.map +1 -0
- package/build/compatible/tool-call-validator.d.ts +11 -0
- package/build/compatible/tool-call-validator.js +12 -0
- package/build/compatible/tool-call-validator.js.map +1 -0
- package/build/compatible.d/aliyun/transport.d.ts +11 -0
- package/build/compatible.d/aliyun/transport.js +9 -0
- package/build/compatible.d/aliyun/transport.js.map +1 -0
- package/build/compatible.d/anthropic/message-codec.d.ts +31 -0
- package/build/compatible.d/anthropic/message-codec.js +88 -0
- package/build/compatible.d/anthropic/message-codec.js.map +1 -0
- package/build/compatible.d/anthropic/transport.d.ts +31 -0
- package/build/compatible.d/anthropic/transport.js +137 -0
- package/build/compatible.d/anthropic/transport.js.map +1 -0
- package/build/compatible.d/google/message-codec.d.ts +31 -0
- package/build/compatible.d/google/message-codec.js +98 -0
- package/build/compatible.d/google/message-codec.js.map +1 -0
- package/build/compatible.d/google/transport.d.ts +28 -0
- package/build/compatible.d/google/transport.js +74 -0
- package/build/compatible.d/google/transport.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions/message-codec.d.ts +19 -0
- package/build/compatible.d/openai-chatcompletions/message-codec.js +66 -0
- package/build/compatible.d/openai-chatcompletions/message-codec.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions/transport.d.ts +9 -0
- package/build/compatible.d/openai-chatcompletions/transport.js +25 -0
- package/build/compatible.d/openai-chatcompletions/transport.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions.d/monolith.d.ts +36 -0
- package/build/compatible.d/openai-chatcompletions.d/monolith.js +74 -0
- package/build/compatible.d/openai-chatcompletions.d/monolith.js.map +1 -0
- package/build/compatible.d/openai-chatcompletions.d/stream.d.ts +35 -0
- package/build/{compatible-engines.d → compatible.d}/openai-chatcompletions.d/stream.js +52 -42
- package/build/compatible.d/openai-chatcompletions.d/stream.js.map +1 -0
- package/build/compatible.d/openai-responses/message-codec.d.ts +32 -0
- package/build/compatible.d/openai-responses/message-codec.js +105 -0
- package/build/compatible.d/openai-responses/message-codec.js.map +1 -0
- package/build/compatible.d/openai-responses/transport.d.ts +33 -0
- package/build/compatible.d/openai-responses/transport.js +88 -0
- package/build/compatible.d/openai-responses/transport.js.map +1 -0
- package/build/config.js +1 -1
- package/build/config.js.map +1 -1
- package/build/engine.d.ts +48 -26
- package/build/engine.js +78 -29
- package/build/engine.js.map +1 -1
- package/build/exports.d.ts +14 -13
- package/build/exports.js +14 -13
- package/build/exports.js.map +1 -1
- package/build/function.d.ts +25 -13
- package/build/function.js +2 -1
- package/build/function.js.map +1 -1
- package/build/inference-context.d.ts +1 -1
- package/build/native-engines.d/google/agentloop.d.ts +6 -6
- package/build/native-engines.d/google/agentloop.js +5 -5
- package/build/native-engines.d/google/agentloop.js.map +1 -1
- package/build/native-engines.d/google/engine.d.ts +28 -103
- package/build/native-engines.d/google/engine.js +63 -304
- package/build/native-engines.d/google/engine.js.map +1 -1
- package/build/native-engines.d/google/exports.d.ts +5 -5
- package/build/native-engines.d/google/exports.js +5 -5
- package/build/native-engines.d/google/exports.js.map +1 -1
- package/build/native-engines.d/google/message-codec.d.ts +21 -0
- package/build/native-engines.d/google/message-codec.js +69 -0
- package/build/native-engines.d/google/message-codec.js.map +1 -0
- package/build/native-engines.d/google/session.d.ts +16 -15
- package/build/native-engines.d/google/session.js +2 -2
- package/build/native-engines.d/google/session.js.map +1 -1
- package/build/native-engines.d/google/transport.d.ts +31 -0
- package/build/native-engines.d/google/transport.js +81 -0
- package/build/native-engines.d/google/transport.js.map +1 -0
- package/build/native-engines.d/openai-responses/agentloop.d.ts +7 -7
- package/build/native-engines.d/openai-responses/agentloop.js +6 -6
- package/build/native-engines.d/openai-responses/agentloop.js.map +1 -1
- package/build/native-engines.d/openai-responses/engine.d.ts +26 -106
- package/build/native-engines.d/openai-responses/engine.js +53 -334
- package/build/native-engines.d/openai-responses/engine.js.map +1 -1
- package/build/native-engines.d/openai-responses/exports.d.ts +6 -7
- package/build/native-engines.d/openai-responses/exports.js +6 -7
- package/build/native-engines.d/openai-responses/exports.js.map +1 -1
- package/build/native-engines.d/openai-responses/message-codec.d.ts +21 -0
- package/build/native-engines.d/openai-responses/message-codec.js +69 -0
- package/build/native-engines.d/openai-responses/message-codec.js.map +1 -0
- package/build/native-engines.d/openai-responses/session.d.ts +27 -26
- package/build/native-engines.d/openai-responses/session.js +3 -3
- package/build/native-engines.d/openai-responses/session.js.map +1 -1
- package/build/native-engines.d/openai-responses/tool-call-validator.d.ts +12 -0
- package/build/native-engines.d/openai-responses/tool-call-validator.js +33 -0
- package/build/native-engines.d/openai-responses/tool-call-validator.js.map +1 -0
- package/build/native-engines.d/openai-responses/tool.d.ts +3 -3
- package/build/native-engines.d/openai-responses/tool.js +1 -1
- package/build/native-engines.d/openai-responses/tool.js.map +1 -1
- package/build/native-engines.d/openai-responses/transport.d.ts +36 -0
- package/build/native-engines.d/openai-responses/transport.js +104 -0
- package/build/native-engines.d/openai-responses/transport.js.map +1 -0
- package/build/session.d.ts +5 -75
- package/build/session.js +0 -136
- package/build/session.js.map +1 -1
- package/build/throttle.d.ts +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/test/build/test-codecs.js +230 -0
- package/test/build/test-codecs.js.map +1 -0
- package/test/build/test-compatible-engine.d.ts +1 -0
- package/test/build/test-compatible-engine.js +27 -0
- package/test/build/test-compatible-engine.js.map +1 -0
- package/test/build/test-compatible-engines.d.ts +1 -0
- package/test/build/test-compatible-engines.js +112 -0
- package/test/build/test-compatible-engines.js.map +1 -0
- package/test/build/test-engine.d.ts +1 -0
- package/test/build/test-engine.js +97 -0
- package/test/build/test-engine.js.map +1 -0
- package/test/build/test-helpers.d.ts +46 -0
- package/test/build/test-helpers.js +45 -0
- package/test/build/test-helpers.js.map +1 -0
- package/test/build/test-native-engines.d.ts +1 -0
- package/test/build/test-native-engines.js +64 -0
- package/test/build/test-native-engines.js.map +1 -0
- package/test/build/test.d.ts +5 -0
- package/test/build/test.js +6 -0
- package/test/build/test.js.map +1 -0
- package/test/build/tsconfig.tsbuildinfo +1 -0
- package/test/src/test-codecs.ts +256 -0
- package/test/src/test-compatible-engine.ts +45 -0
- package/test/src/test-compatible-engines.ts +129 -0
- package/test/src/test-engine.ts +144 -0
- package/test/src/test-helpers.ts +53 -0
- package/test/src/test-native-engines.ts +75 -0
- package/test/src/test.ts +5 -0
- package/test/src/tsconfig.json +30 -0
- package/build/api-types/anthropic.d.ts +0 -29
- package/build/api-types/anthropic.js +0 -93
- package/build/api-types/anthropic.js.map +0 -1
- package/build/api-types/google.d.ts +0 -28
- package/build/api-types/google.js.map +0 -1
- package/build/api-types/openai-chat-completions.d.ts +0 -31
- package/build/api-types/openai-chat-completions.js +0 -113
- package/build/api-types/openai-chat-completions.js.map +0 -1
- package/build/api-types/openai-responses.d.ts +0 -23
- package/build/api-types/openai-responses.js +0 -71
- package/build/api-types/openai-responses.js.map +0 -1
- package/build/compatible-engine.d.ts +0 -51
- package/build/compatible-engine.js +0 -67
- package/build/compatible-engine.js.map +0 -1
- package/build/compatible-engines.d/aliyun.d.ts +0 -69
- package/build/compatible-engines.d/aliyun.js +0 -149
- package/build/compatible-engines.d/aliyun.js.map +0 -1
- package/build/compatible-engines.d/anthropic.d.ts +0 -78
- package/build/compatible-engines.d/anthropic.js +0 -312
- package/build/compatible-engines.d/anthropic.js.map +0 -1
- package/build/compatible-engines.d/google.d.ts +0 -83
- package/build/compatible-engines.d/google.js +0 -279
- package/build/compatible-engines.d/google.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.d.ts +0 -15
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js +0 -75
- package/build/compatible-engines.d/openai-chatcompletions.d/monolith.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.d.ts +0 -21
- package/build/compatible-engines.d/openai-chatcompletions.d/stream.js.map +0 -1
- package/build/compatible-engines.d/openai-chatcompletions.d.ts +0 -27
- package/build/compatible-engines.d/openai-chatcompletions.js +0 -76
- package/build/compatible-engines.d/openai-chatcompletions.js.map +0 -1
- package/build/compatible-engines.d/openai-responses.d.ts +0 -93
- package/build/compatible-engines.d/openai-responses.js +0 -300
- package/build/compatible-engines.d/openai-responses.js.map +0 -1
- package/build/test.js +0 -198
- package/build/test.js.map +0 -1
- /package/{build/test.d.ts → test/build/test-codecs.d.ts} +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import * as Compatible from '
|
|
2
|
-
import { Function } from '
|
|
3
|
-
import { Tool } from '
|
|
1
|
+
import * as Compatible from '#@/compatible/session.ts';
|
|
2
|
+
import { Function } from '#@/function.ts';
|
|
3
|
+
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
4
|
+
import type { GenericSession } from '#@/session.ts';
|
|
4
5
|
import OpenAI from 'openai';
|
|
5
|
-
export interface Session<out
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
export interface Session<in out fdm extends Function.Declaration.Map> extends GenericSession<RoleMessage.User<fdm>, RoleMessage.Ai<fdm>, RoleMessage.Developer> {
|
|
7
|
+
}
|
|
8
|
+
export declare namespace Session {
|
|
9
|
+
type ChatMessage<fdm extends Function.Declaration.Map> = GenericSession.ChatMessage<RoleMessage.User<fdm>, RoleMessage.Ai<fdm>>;
|
|
8
10
|
}
|
|
9
|
-
export type ChatMessage<fdu extends Function.Declaration = never> = RoleMessage.User<fdu> | RoleMessage.Ai<fdu>;
|
|
10
11
|
export type RoleMessage = RoleMessage.Instance;
|
|
11
12
|
export declare namespace RoleMessage {
|
|
12
13
|
const NOMINAL: unique symbol;
|
|
@@ -18,41 +19,41 @@ export declare namespace RoleMessage {
|
|
|
18
19
|
namespace Part {
|
|
19
20
|
export import Text = Compatible.RoleMessage.Part.Text;
|
|
20
21
|
}
|
|
21
|
-
type Ai<
|
|
22
|
+
type Ai<fdm extends Function.Declaration.Map> = Ai.Instance<fdm>;
|
|
22
23
|
namespace Ai {
|
|
23
|
-
function create<
|
|
24
|
+
function create<fdm extends Function.Declaration.Map>(parts: RoleMessage.Ai.Part<fdm>[], raw: OpenAI.Responses.ResponseOutputItem[]): RoleMessage.Ai<fdm>;
|
|
24
25
|
const NOMINAL: unique symbol;
|
|
25
|
-
class Instance<out
|
|
26
|
-
protected parts: RoleMessage.Ai.Part<
|
|
26
|
+
class Instance<in out fdm extends Function.Declaration.Map> extends RoleMessage.Instance {
|
|
27
|
+
protected parts: RoleMessage.Ai.Part<fdm>[];
|
|
27
28
|
protected raw: OpenAI.Responses.ResponseOutputItem[];
|
|
28
29
|
readonly [NOMINAL]: void;
|
|
29
|
-
constructor(parts: RoleMessage.Ai.Part<
|
|
30
|
-
getParts(): RoleMessage.Ai.Part<
|
|
30
|
+
constructor(parts: RoleMessage.Ai.Part<fdm>[], raw: OpenAI.Responses.ResponseOutputItem[]);
|
|
31
|
+
getParts(): RoleMessage.Ai.Part<fdm>[];
|
|
31
32
|
getRaw(): OpenAI.Responses.ResponseOutputItem[];
|
|
32
33
|
getText(): string;
|
|
33
34
|
getOnlyText(): string;
|
|
34
|
-
getOnlyFunctionCall(): Function.Call.
|
|
35
|
+
getOnlyFunctionCall(): Function.Call.From<fdm>;
|
|
35
36
|
getOnlyApplyPatchCall(): Tool.ApplyPatch.Call;
|
|
36
|
-
getToolCalls(): Tool.Call<
|
|
37
|
-
getFunctionCalls(): Function.Call.
|
|
38
|
-
getOnlyFunctionCalls(): Function.Call.
|
|
37
|
+
getToolCalls(): Tool.Call<fdm>[];
|
|
38
|
+
getFunctionCalls(): Function.Call.From<fdm>[];
|
|
39
|
+
getOnlyFunctionCalls(): Function.Call.From<fdm>[];
|
|
39
40
|
}
|
|
40
|
-
type Part<
|
|
41
|
+
type Part<fdm extends Function.Declaration.Map> = RoleMessage.Part.Text | Tool.Call<fdm>;
|
|
41
42
|
}
|
|
42
|
-
type User<
|
|
43
|
+
type User<fdm extends Function.Declaration.Map> = User.Instance<fdm>;
|
|
43
44
|
namespace User {
|
|
44
|
-
function create<
|
|
45
|
+
function create<fdm extends Function.Declaration.Map>(parts: User.Part<fdm>[]): User<fdm>;
|
|
45
46
|
const NOMINAL: unique symbol;
|
|
46
|
-
class Instance<out
|
|
47
|
-
protected parts: RoleMessage.User.Part<
|
|
47
|
+
class Instance<in out fdm extends Function.Declaration.Map> extends RoleMessage.Instance {
|
|
48
|
+
protected parts: RoleMessage.User.Part<fdm>[];
|
|
48
49
|
private readonly [NOMINAL];
|
|
49
|
-
constructor(parts: RoleMessage.User.Part<
|
|
50
|
-
getParts(): RoleMessage.User.Part<
|
|
50
|
+
constructor(parts: RoleMessage.User.Part<fdm>[]);
|
|
51
|
+
getParts(): RoleMessage.User.Part<fdm>[];
|
|
51
52
|
getText(): string;
|
|
52
53
|
getOnlyText(): string;
|
|
53
|
-
getToolResponses(): Tool.Response<
|
|
54
|
+
getToolResponses(): Tool.Response<fdm>[];
|
|
54
55
|
}
|
|
55
|
-
type Part<
|
|
56
|
+
type Part<fdm extends Function.Declaration.Map> = RoleMessage.Part.Text | Tool.Response<fdm>;
|
|
56
57
|
}
|
|
57
58
|
export import Developer = Compatible.RoleMessage.Developer;
|
|
58
59
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as Compatible from
|
|
2
|
-
import { Function } from
|
|
3
|
-
import { Tool } from
|
|
1
|
+
import * as Compatible from '#@/compatible/session.ts';
|
|
2
|
+
import { Function } from '#@/function.ts';
|
|
3
|
+
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
4
4
|
import OpenAI from 'openai';
|
|
5
5
|
export var RoleMessage;
|
|
6
6
|
(function (RoleMessage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Function } from '#@/function.ts';
|
|
2
|
+
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
3
|
+
export declare class OpenAIResponsesNativeToolCallValidator<fdm extends Function.Declaration.Map> {
|
|
4
|
+
protected ctx: OpenAIResponsesNativeToolCallValidator.Context<fdm>;
|
|
5
|
+
constructor(ctx: OpenAIResponsesNativeToolCallValidator.Context<fdm>);
|
|
6
|
+
validate(toolCalls: Tool.Call<fdm>[]): void;
|
|
7
|
+
}
|
|
8
|
+
export declare namespace OpenAIResponsesNativeToolCallValidator {
|
|
9
|
+
interface Context<fdm extends Function.Declaration.Map> {
|
|
10
|
+
toolChoice: Tool.Choice<fdm>;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Function } from '#@/function.ts';
|
|
2
|
+
import { ResponseInvalid } from '#@/engine.ts';
|
|
3
|
+
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
4
|
+
export class OpenAIResponsesNativeToolCallValidator {
|
|
5
|
+
ctx;
|
|
6
|
+
constructor(ctx) {
|
|
7
|
+
this.ctx = ctx;
|
|
8
|
+
}
|
|
9
|
+
validate(toolCalls) {
|
|
10
|
+
if (this.ctx.toolChoice === Function.ToolChoice.REQUIRED)
|
|
11
|
+
if (toolCalls.length) { }
|
|
12
|
+
else
|
|
13
|
+
throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
|
|
14
|
+
else if (this.ctx.toolChoice instanceof Array)
|
|
15
|
+
for (const tc of toolCalls) {
|
|
16
|
+
if (tc instanceof Function.Call)
|
|
17
|
+
if (this.ctx.toolChoice.includes(tc.name)) { }
|
|
18
|
+
else
|
|
19
|
+
throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
|
|
20
|
+
else if (tc instanceof Tool.ApplyPatch.Call)
|
|
21
|
+
if (this.ctx.toolChoice.includes(Tool.Choice.APPLY_PATCH)) { }
|
|
22
|
+
else
|
|
23
|
+
throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
|
|
24
|
+
else
|
|
25
|
+
throw new Error();
|
|
26
|
+
}
|
|
27
|
+
else if (this.ctx.toolChoice === Function.ToolChoice.NONE)
|
|
28
|
+
if (!toolCalls.length) { }
|
|
29
|
+
else
|
|
30
|
+
throw new ResponseInvalid('Invalid function call', { cause: toolCalls });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=tool-call-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-call-validator.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool-call-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,8CAA8C,CAAC;AAIpE,MAAM,OAAO,sCAAsC;IAClB;IAA7B,YAA6B,GAAwD;QAAxD,QAAG,GAAH,GAAG,CAAqD;IAAG,CAAC;IAElF,QAAQ,CACX,SAA2B;QAE3B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,QAAQ;YACpD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;aACtG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,YAAY,KAAK;YAAE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBACxE,IAAI,EAAE,YAAY,QAAQ,CAAC,IAAI;oBAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;qBAC3H,IAAI,EAAE,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI;oBACvC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA,CAAC;;wBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;;oBAC3I,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAAC,IAAI;YACvD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA,CAAC;;gBAAM,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAChH,CAAC;CACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Function } from '
|
|
1
|
+
import { Function } from '#@/function.ts';
|
|
2
2
|
import OpenAI from 'openai';
|
|
3
3
|
export declare namespace Tool {
|
|
4
4
|
type Name<fdm extends Function.Declaration.Map> = Function.Declaration.Map.NameOf<fdm> | typeof Tool.Choice.APPLY_PATCH;
|
|
@@ -9,8 +9,8 @@ export declare namespace Tool {
|
|
|
9
9
|
namespace Choice {
|
|
10
10
|
const APPLY_PATCH: unique symbol;
|
|
11
11
|
}
|
|
12
|
-
type Call<
|
|
13
|
-
type Response<
|
|
12
|
+
type Call<fdm extends Function.Declaration.Map> = Function.Call.From<fdm> | ApplyPatch.Call;
|
|
13
|
+
type Response<fdm extends Function.Declaration.Map> = Function.Response.Distributive<fdm> | ApplyPatch.Response;
|
|
14
14
|
interface ApplyPatch {
|
|
15
15
|
/**
|
|
16
16
|
* @returns empty string on success
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,KAAW,IAAI,CAmFpB;AAnFD,WAAiB,IAAI;IAoBjB,IAAiB,MAAM,CAEtB;IAFD,WAAiB,MAAM;QACN,kBAAW,GAAG,MAAM,EAAE,CAAC;IACxC,CAAC,EAFgB,MAAM,GAAN,WAAM,KAAN,WAAM,QAEtB;IAqCD,IAAiB,UAAU,CAqB1B;IArBD,WAAiB,UAAU;QAEvB,MAAa,IAAI;YAIa;YAHnB,MAAM,CAAC,MAAM,CAAC,GAAgD;gBACjE,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,YAA0B,GAAgD;gBAAhD,QAAG,GAAH,GAAG,CAA6C;YAAG,CAAC;SACjF;QALY,eAAI,OAKhB,CAAA;QAED,MAAa,QAAQ;YACV,EAAE,CAAS;YACX,OAAO,CAAS;YAChB,MAAM,CAAC,MAAM,CAAC,GAAqC;gBACtD,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,YAAmB,GAAqC;gBACpD,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC/B,CAAC;SACJ;QAVY,mBAAQ,WAUpB,CAAA;IAEL,CAAC,EArBgB,UAAU,GAAV,eAAU,KAAV,eAAU,QAqB1B;AAGL,CAAC,EAnFgB,IAAI,KAAJ,IAAI,QAmFpB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type InferenceParams, type ProviderSpec } from '#@/engine.ts';
|
|
2
|
+
import { RoleMessage, type Session } from '#@/native-engines.d/openai-responses/session.ts';
|
|
3
|
+
import { Function } from '#@/function.ts';
|
|
4
|
+
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
5
|
+
import OpenAI from 'openai';
|
|
6
|
+
import { type InferenceContext } from '#@/inference-context.ts';
|
|
7
|
+
import { Throttle } from '#@/throttle.ts';
|
|
8
|
+
import type { OpenAIResponsesNativeMessageCodec } from '#@/native-engines.d/openai-responses/message-codec.ts';
|
|
9
|
+
import type { OpenAIResponsesToolCodec } from '#@/api-types/openai-responses/tool-codec.ts';
|
|
10
|
+
import type { OpenAIResponsesBilling } from '#@/api-types/openai-responses/billing.ts';
|
|
11
|
+
import type { OpenAIResponsesNativeToolCallValidator } from '#@/native-engines.d/openai-responses/tool-call-validator.ts';
|
|
12
|
+
export declare class OpenAIResponsesNativeTransport<fdm extends Function.Declaration.Map> {
|
|
13
|
+
protected ctx: OpenAIResponsesNativeTransport.Context<fdm>;
|
|
14
|
+
protected apiURL: URL;
|
|
15
|
+
constructor(ctx: OpenAIResponsesNativeTransport.Context<fdm>);
|
|
16
|
+
protected makeParams(session: Session<fdm>): OpenAI.Responses.ResponseCreateParamsNonStreaming;
|
|
17
|
+
protected convertFromToolChoice(toolChoice: Tool.Choice<fdm>): OpenAI.Responses.ToolChoiceOptions | OpenAI.Responses.ToolChoiceAllowed;
|
|
18
|
+
protected logAiMessage(output: OpenAI.Responses.ResponseOutputItem[]): void;
|
|
19
|
+
protected fetchRaw(wfctx: InferenceContext, session: Session<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai<fdm>>;
|
|
20
|
+
fetch(wfctx: InferenceContext, session: Session<fdm>, signal?: AbortSignal): Promise<RoleMessage.Ai<fdm>>;
|
|
21
|
+
}
|
|
22
|
+
export declare namespace OpenAIResponsesNativeTransport {
|
|
23
|
+
interface Context<fdm extends Function.Declaration.Map> {
|
|
24
|
+
inferenceParams: InferenceParams;
|
|
25
|
+
providerSpec: ProviderSpec;
|
|
26
|
+
fdm: fdm;
|
|
27
|
+
throttle: Throttle;
|
|
28
|
+
toolChoice: Tool.Choice<fdm>;
|
|
29
|
+
parallelToolCall: boolean;
|
|
30
|
+
applyPatch: boolean;
|
|
31
|
+
messageCodec: OpenAIResponsesNativeMessageCodec<fdm>;
|
|
32
|
+
toolCodec: OpenAIResponsesToolCodec<fdm>;
|
|
33
|
+
billing: OpenAIResponsesBilling;
|
|
34
|
+
toolCallValidator: OpenAIResponsesNativeToolCallValidator<fdm>;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ResponseInvalid } from '#@/engine.ts';
|
|
2
|
+
import { RoleMessage } from '#@/native-engines.d/openai-responses/session.ts';
|
|
3
|
+
import { Function } from '#@/function.ts';
|
|
4
|
+
import { Tool } from '#@/native-engines.d/openai-responses/tool.ts';
|
|
5
|
+
import OpenAI from 'openai';
|
|
6
|
+
import * as Undici from 'undici';
|
|
7
|
+
import {} from '#@/inference-context.ts';
|
|
8
|
+
import { Throttle } from '#@/throttle.ts';
|
|
9
|
+
import { logger } from '#@/telemetry.ts';
|
|
10
|
+
export class OpenAIResponsesNativeTransport {
|
|
11
|
+
ctx;
|
|
12
|
+
apiURL;
|
|
13
|
+
constructor(ctx) {
|
|
14
|
+
this.ctx = ctx;
|
|
15
|
+
this.apiURL = new URL(`${this.ctx.providerSpec.baseUrl}/responses`);
|
|
16
|
+
}
|
|
17
|
+
makeParams(session) {
|
|
18
|
+
const tools = this.ctx.toolCodec.convertFromFunctionDeclarationMap(this.ctx.fdm);
|
|
19
|
+
if (this.ctx.applyPatch)
|
|
20
|
+
tools.push({ type: 'apply_patch' });
|
|
21
|
+
return {
|
|
22
|
+
model: this.ctx.inferenceParams.model,
|
|
23
|
+
include: ['reasoning.encrypted_content'],
|
|
24
|
+
store: false,
|
|
25
|
+
input: session.chatMessages.flatMap(chatMessage => this.ctx.messageCodec.convertFromChatMessage(chatMessage)),
|
|
26
|
+
instructions: session.developerMessage && this.ctx.messageCodec.convertFromDeveloperMessage(session.developerMessage),
|
|
27
|
+
tools: tools.length ? tools : undefined,
|
|
28
|
+
tool_choice: tools.length ? this.convertFromToolChoice(this.ctx.toolChoice) : undefined,
|
|
29
|
+
parallel_tool_calls: tools.length ? this.ctx.parallelToolCall : undefined,
|
|
30
|
+
max_output_tokens: this.ctx.inferenceParams.maxTokens,
|
|
31
|
+
...this.ctx.inferenceParams.additionalOptions,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
convertFromToolChoice(toolChoice) {
|
|
35
|
+
if (toolChoice === Function.ToolChoice.NONE)
|
|
36
|
+
return 'none';
|
|
37
|
+
else if (toolChoice === Function.ToolChoice.REQUIRED)
|
|
38
|
+
return 'required';
|
|
39
|
+
else if (toolChoice === Function.ToolChoice.AUTO)
|
|
40
|
+
return 'auto';
|
|
41
|
+
else
|
|
42
|
+
return {
|
|
43
|
+
type: 'allowed_tools',
|
|
44
|
+
mode: 'required',
|
|
45
|
+
tools: toolChoice.map(name => {
|
|
46
|
+
if (name === Tool.Choice.APPLY_PATCH)
|
|
47
|
+
return { type: 'apply_patch' };
|
|
48
|
+
else
|
|
49
|
+
return { type: 'function', name };
|
|
50
|
+
}),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
logAiMessage(output) {
|
|
54
|
+
for (const item of output)
|
|
55
|
+
if (item.type === 'message') {
|
|
56
|
+
if (item.content.every(part => part.type === 'output_text')) { }
|
|
57
|
+
else
|
|
58
|
+
throw new Error();
|
|
59
|
+
logger.inference.debug(item.content.map(part => part.text).join(''));
|
|
60
|
+
}
|
|
61
|
+
else if (item.type === 'function_call')
|
|
62
|
+
logger.message.debug(item);
|
|
63
|
+
else if (item.type === 'apply_patch_call')
|
|
64
|
+
logger.message.debug(item);
|
|
65
|
+
}
|
|
66
|
+
async fetchRaw(wfctx, session, signal) {
|
|
67
|
+
const params = this.makeParams(session);
|
|
68
|
+
logger.message.trace(params);
|
|
69
|
+
await this.ctx.throttle.requests(wfctx);
|
|
70
|
+
const res = await Undici.fetch(this.apiURL, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
headers: new Headers({
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
'Authorization': `Bearer ${this.ctx.providerSpec.apiKey}`,
|
|
75
|
+
}),
|
|
76
|
+
body: JSON.stringify(params),
|
|
77
|
+
dispatcher: this.ctx.providerSpec.proxyAgent,
|
|
78
|
+
signal,
|
|
79
|
+
});
|
|
80
|
+
if (res.ok) { }
|
|
81
|
+
else
|
|
82
|
+
throw new Error(undefined, { cause: res });
|
|
83
|
+
const response = await res.json();
|
|
84
|
+
logger.message.trace(response);
|
|
85
|
+
if (response.status === 'incomplete' && response.incomplete_details?.reason === 'max_output_tokens')
|
|
86
|
+
throw new ResponseInvalid('Token limit exceeded.', { cause: response });
|
|
87
|
+
if (response.status === 'completed') { }
|
|
88
|
+
else
|
|
89
|
+
throw new ResponseInvalid('Abnormal response status', { cause: response });
|
|
90
|
+
this.logAiMessage(response.output);
|
|
91
|
+
if (response.usage) { }
|
|
92
|
+
else
|
|
93
|
+
throw new Error();
|
|
94
|
+
wfctx.cost?.(this.ctx.billing.charge(response.usage));
|
|
95
|
+
logger.message.debug(response.usage);
|
|
96
|
+
const aiMessage = this.ctx.messageCodec.convertToAiMessage(response.output);
|
|
97
|
+
this.ctx.toolCallValidator.validate(aiMessage.getToolCalls());
|
|
98
|
+
return aiMessage;
|
|
99
|
+
}
|
|
100
|
+
async fetch(wfctx, session, signal) {
|
|
101
|
+
return await this.fetchRaw(wfctx, session, signal).catch(e => Promise.reject(e instanceof OpenAI.APIError ? new ResponseInvalid(undefined, { cause: e }) : e));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/native-engines.d/openai-responses/transport.ts"],"names":[],"mappings":"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"}
|
package/build/session.d.ts
CHANGED
|
@@ -1,77 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
developerMessage?:
|
|
4
|
-
chatMessages: ChatMessage<fdu>[];
|
|
1
|
+
export interface GenericSession<userm, aim, devm> {
|
|
2
|
+
chatMessages: GenericSession.ChatMessage<userm, aim>[];
|
|
3
|
+
developerMessage?: devm;
|
|
5
4
|
}
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
export declare namespace RoleMessage {
|
|
9
|
-
class SpecificMessageError extends Error {
|
|
10
|
-
constructor();
|
|
11
|
-
}
|
|
12
|
-
const NOMINAL: unique symbol;
|
|
13
|
-
abstract class Instance {
|
|
14
|
-
private readonly [NOMINAL];
|
|
15
|
-
abstract getText(): string;
|
|
16
|
-
abstract getOnlyText(): string;
|
|
17
|
-
}
|
|
18
|
-
namespace Part {
|
|
19
|
-
type Text = Text.Instance;
|
|
20
|
-
namespace Text {
|
|
21
|
-
function create(text: string): Text;
|
|
22
|
-
function paragraph(text: string): Text;
|
|
23
|
-
const NOMINAL: unique symbol;
|
|
24
|
-
class Instance {
|
|
25
|
-
text: string;
|
|
26
|
-
private readonly [NOMINAL];
|
|
27
|
-
constructor(text: string);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
type Ai<fdu extends Function.Declaration = never> = Ai.Instance<fdu>;
|
|
32
|
-
namespace Ai {
|
|
33
|
-
function create<fdu extends Function.Declaration = never>(parts: RoleMessage.Ai.Part<fdu>[]): RoleMessage.Ai<fdu>;
|
|
34
|
-
const NOMINAL: unique symbol;
|
|
35
|
-
class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
|
|
36
|
-
protected parts: RoleMessage.Ai.Part<fdu>[];
|
|
37
|
-
readonly [NOMINAL]: void;
|
|
38
|
-
constructor(parts: RoleMessage.Ai.Part<fdu>[]);
|
|
39
|
-
getParts(): RoleMessage.Ai.Part<fdu>[];
|
|
40
|
-
getText(): string;
|
|
41
|
-
getOnlyText(): string;
|
|
42
|
-
getOnlyFunctionCall(): Function.Call.Distributive<fdu>;
|
|
43
|
-
getFunctionCalls(): Function.Call.Distributive<fdu>[];
|
|
44
|
-
}
|
|
45
|
-
type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Function.Call.Distributive<fdu>;
|
|
46
|
-
}
|
|
47
|
-
type User<fdu extends Function.Declaration = never> = User.Instance<fdu>;
|
|
48
|
-
namespace User {
|
|
49
|
-
function create<fdu extends Function.Declaration = never>(parts: RoleMessage.User.Part<fdu>[]): RoleMessage.User<fdu>;
|
|
50
|
-
const NOMINAL: unique symbol;
|
|
51
|
-
class Instance<out fdu extends Function.Declaration = never> extends RoleMessage.Instance {
|
|
52
|
-
protected parts: RoleMessage.User.Part<fdu>[];
|
|
53
|
-
private readonly [NOMINAL];
|
|
54
|
-
constructor(parts: RoleMessage.User.Part<fdu>[]);
|
|
55
|
-
getParts(): RoleMessage.User.Part<fdu>[];
|
|
56
|
-
getText(): string;
|
|
57
|
-
getOnlyText(): string;
|
|
58
|
-
getFunctionResponses(): Function.Response.Distributive<fdu>[];
|
|
59
|
-
getOnlyFunctionResponse(): Function.Response.Distributive<fdu>;
|
|
60
|
-
}
|
|
61
|
-
type Part<fdu extends Function.Declaration = never> = RoleMessage.Part.Text | Function.Response.Distributive<fdu>;
|
|
62
|
-
}
|
|
63
|
-
type Developer = Developer.Instance;
|
|
64
|
-
namespace Developer {
|
|
65
|
-
function create(parts: Developer.Part[]): Developer;
|
|
66
|
-
const NOMINAL: unique symbol;
|
|
67
|
-
class Instance extends RoleMessage.Instance {
|
|
68
|
-
protected parts: Developer.Part[];
|
|
69
|
-
private readonly [NOMINAL];
|
|
70
|
-
constructor(parts: Developer.Part[]);
|
|
71
|
-
getParts(): Developer.Part[];
|
|
72
|
-
getText(): string;
|
|
73
|
-
getOnlyText(): string;
|
|
74
|
-
}
|
|
75
|
-
type Part = Part.Text;
|
|
76
|
-
}
|
|
5
|
+
export declare namespace GenericSession {
|
|
6
|
+
type ChatMessage<userm, aim> = userm | aim;
|
|
77
7
|
}
|
package/build/session.js
CHANGED
|
@@ -1,137 +1 @@
|
|
|
1
|
-
import { Function } from "./function.js";
|
|
2
|
-
export var RoleMessage;
|
|
3
|
-
(function (RoleMessage) {
|
|
4
|
-
class SpecificMessageError extends Error {
|
|
5
|
-
constructor() {
|
|
6
|
-
super('This message is specific to a certain type of engines.');
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
RoleMessage.SpecificMessageError = SpecificMessageError;
|
|
10
|
-
RoleMessage.NOMINAL = Symbol();
|
|
11
|
-
class Instance {
|
|
12
|
-
}
|
|
13
|
-
RoleMessage.Instance = Instance;
|
|
14
|
-
let Part;
|
|
15
|
-
(function (Part) {
|
|
16
|
-
let Text;
|
|
17
|
-
(function (Text) {
|
|
18
|
-
function create(text) {
|
|
19
|
-
return new Instance(text);
|
|
20
|
-
}
|
|
21
|
-
Text.create = create;
|
|
22
|
-
function paragraph(text) {
|
|
23
|
-
return new Instance(text.trimEnd() + '\n\n');
|
|
24
|
-
}
|
|
25
|
-
Text.paragraph = paragraph;
|
|
26
|
-
Text.NOMINAL = Symbol();
|
|
27
|
-
class Instance {
|
|
28
|
-
text;
|
|
29
|
-
constructor(text) {
|
|
30
|
-
this.text = text;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
Text.Instance = Instance;
|
|
34
|
-
})(Text = Part.Text || (Part.Text = {}));
|
|
35
|
-
})(Part = RoleMessage.Part || (RoleMessage.Part = {}));
|
|
36
|
-
let Ai;
|
|
37
|
-
(function (Ai) {
|
|
38
|
-
function create(parts) {
|
|
39
|
-
return new Instance(parts);
|
|
40
|
-
}
|
|
41
|
-
Ai.create = create;
|
|
42
|
-
Ai.NOMINAL = Symbol();
|
|
43
|
-
class Instance extends RoleMessage.Instance {
|
|
44
|
-
parts;
|
|
45
|
-
constructor(parts) {
|
|
46
|
-
super();
|
|
47
|
-
this.parts = parts;
|
|
48
|
-
}
|
|
49
|
-
getParts() {
|
|
50
|
-
return this.parts;
|
|
51
|
-
}
|
|
52
|
-
getText() {
|
|
53
|
-
return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
|
|
54
|
-
}
|
|
55
|
-
getOnlyText() {
|
|
56
|
-
if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
|
|
57
|
-
else
|
|
58
|
-
throw new Error();
|
|
59
|
-
return this.getText();
|
|
60
|
-
}
|
|
61
|
-
getOnlyFunctionCall() {
|
|
62
|
-
const fcs = this.getFunctionCalls();
|
|
63
|
-
if (fcs.length === 1) { }
|
|
64
|
-
else
|
|
65
|
-
throw new Error();
|
|
66
|
-
return fcs[0];
|
|
67
|
-
}
|
|
68
|
-
getFunctionCalls() {
|
|
69
|
-
return this.parts.filter(part => part instanceof Function.Call);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
Ai.Instance = Instance;
|
|
73
|
-
})(Ai = RoleMessage.Ai || (RoleMessage.Ai = {}));
|
|
74
|
-
let User;
|
|
75
|
-
(function (User) {
|
|
76
|
-
function create(parts) {
|
|
77
|
-
return new Instance(parts);
|
|
78
|
-
}
|
|
79
|
-
User.create = create;
|
|
80
|
-
User.NOMINAL = Symbol();
|
|
81
|
-
class Instance extends RoleMessage.Instance {
|
|
82
|
-
parts;
|
|
83
|
-
constructor(parts) {
|
|
84
|
-
super();
|
|
85
|
-
this.parts = parts;
|
|
86
|
-
}
|
|
87
|
-
getParts() {
|
|
88
|
-
return this.parts;
|
|
89
|
-
}
|
|
90
|
-
getText() {
|
|
91
|
-
return this.parts.filter(part => part instanceof RoleMessage.Part.Text.Instance).map(part => part.text).join('');
|
|
92
|
-
}
|
|
93
|
-
getOnlyText() {
|
|
94
|
-
if (this.parts.every(part => part instanceof RoleMessage.Part.Text.Instance)) { }
|
|
95
|
-
else
|
|
96
|
-
throw new Error();
|
|
97
|
-
return this.getText();
|
|
98
|
-
}
|
|
99
|
-
getFunctionResponses() {
|
|
100
|
-
return this.parts.filter(part => part instanceof Function.Response);
|
|
101
|
-
}
|
|
102
|
-
getOnlyFunctionResponse() {
|
|
103
|
-
if (this.parts.length === 1 && this.parts[0] instanceof Function.Response) { }
|
|
104
|
-
else
|
|
105
|
-
throw new Error();
|
|
106
|
-
return this.parts[0];
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
User.Instance = Instance;
|
|
110
|
-
})(User = RoleMessage.User || (RoleMessage.User = {}));
|
|
111
|
-
let Developer;
|
|
112
|
-
(function (Developer) {
|
|
113
|
-
function create(parts) {
|
|
114
|
-
return new Instance(parts);
|
|
115
|
-
}
|
|
116
|
-
Developer.create = create;
|
|
117
|
-
Developer.NOMINAL = Symbol();
|
|
118
|
-
class Instance extends RoleMessage.Instance {
|
|
119
|
-
parts;
|
|
120
|
-
constructor(parts) {
|
|
121
|
-
super();
|
|
122
|
-
this.parts = parts;
|
|
123
|
-
}
|
|
124
|
-
getParts() {
|
|
125
|
-
return this.parts;
|
|
126
|
-
}
|
|
127
|
-
getText() {
|
|
128
|
-
return this.parts.map(part => part.text).join('');
|
|
129
|
-
}
|
|
130
|
-
getOnlyText() {
|
|
131
|
-
return this.getText();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
Developer.Instance = Instance;
|
|
135
|
-
})(Developer = RoleMessage.Developer || (RoleMessage.Developer = {}));
|
|
136
|
-
})(RoleMessage || (RoleMessage = {}));
|
|
137
1
|
//# sourceMappingURL=session.js.map
|
package/build/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":""}
|
package/build/throttle.d.ts
CHANGED