@copilotkit/runtime 0.0.0-mme-load-agent-state-20250117154700
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/.eslintrc.js +7 -0
- package/CHANGELOG.md +929 -0
- package/README.md +46 -0
- package/__snapshots__/schema/schema.graphql +306 -0
- package/dist/chunk-44O2JGUY.mjs +12 -0
- package/dist/chunk-44O2JGUY.mjs.map +1 -0
- package/dist/chunk-4BWLNVK4.mjs +80 -0
- package/dist/chunk-4BWLNVK4.mjs.map +1 -0
- package/dist/chunk-4QJA7OT2.mjs +3395 -0
- package/dist/chunk-4QJA7OT2.mjs.map +1 -0
- package/dist/chunk-4YJIXJLO.mjs +25 -0
- package/dist/chunk-4YJIXJLO.mjs.map +1 -0
- package/dist/chunk-67KK2GZ5.mjs +3765 -0
- package/dist/chunk-67KK2GZ5.mjs.map +1 -0
- package/dist/chunk-7BOVBWKI.mjs +25 -0
- package/dist/chunk-7BOVBWKI.mjs.map +1 -0
- package/dist/chunk-B5KHNAW5.mjs +25 -0
- package/dist/chunk-B5KHNAW5.mjs.map +1 -0
- package/dist/chunk-CLGKEUOA.mjs +1408 -0
- package/dist/chunk-CLGKEUOA.mjs.map +1 -0
- package/dist/chunk-D2WLFQS6.mjs +43 -0
- package/dist/chunk-D2WLFQS6.mjs.map +1 -0
- package/dist/chunk-DFOKBSIS.mjs +1 -0
- package/dist/chunk-DFOKBSIS.mjs.map +1 -0
- package/dist/chunk-DKLATJGV.mjs +25 -0
- package/dist/chunk-DKLATJGV.mjs.map +1 -0
- package/dist/chunk-FYONHPZL.mjs +3397 -0
- package/dist/chunk-FYONHPZL.mjs.map +1 -0
- package/dist/chunk-HNUNXFTW.mjs +129 -0
- package/dist/chunk-HNUNXFTW.mjs.map +1 -0
- package/dist/chunk-OKUXS4SE.mjs +25 -0
- package/dist/chunk-OKUXS4SE.mjs.map +1 -0
- package/dist/chunk-P4PPTGPJ.mjs +25 -0
- package/dist/chunk-P4PPTGPJ.mjs.map +1 -0
- package/dist/chunk-RFF5IIZJ.mjs +66 -0
- package/dist/chunk-RFF5IIZJ.mjs.map +1 -0
- package/dist/chunk-U3V2BCGI.mjs +152 -0
- package/dist/chunk-U3V2BCGI.mjs.map +1 -0
- package/dist/chunk-U7EKYV47.mjs +80 -0
- package/dist/chunk-U7EKYV47.mjs.map +1 -0
- package/dist/chunk-XXYYCH4X.mjs +80 -0
- package/dist/chunk-XXYYCH4X.mjs.map +1 -0
- package/dist/chunk-YT7A6V5T.mjs +1420 -0
- package/dist/chunk-YT7A6V5T.mjs.map +1 -0
- package/dist/copilot-runtime-36700e00.d.ts +196 -0
- package/dist/copilot-runtime-8c442d65.d.ts +209 -0
- package/dist/graphql/types/base/index.d.ts +6 -0
- package/dist/graphql/types/base/index.js +63 -0
- package/dist/graphql/types/base/index.js.map +1 -0
- package/dist/graphql/types/base/index.mjs +8 -0
- package/dist/graphql/types/base/index.mjs.map +1 -0
- package/dist/graphql/types/converted/index.d.ts +2 -0
- package/dist/graphql/types/converted/index.js +187 -0
- package/dist/graphql/types/converted/index.js.map +1 -0
- package/dist/graphql/types/converted/index.mjs +17 -0
- package/dist/graphql/types/converted/index.mjs.map +1 -0
- package/dist/groq-adapter-696b5d29.d.ts +281 -0
- package/dist/groq-adapter-7a82cd22.d.ts +301 -0
- package/dist/index-a7f37670.d.ts +103 -0
- package/dist/index-cc2b17be.d.ts +87 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +5597 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +76 -0
- package/dist/index.mjs.map +1 -0
- package/dist/langserve-9125a12e.d.ts +176 -0
- package/dist/langserve-e308c437.d.ts +209 -0
- package/dist/lib/cloud/index.d.ts +6 -0
- package/dist/lib/cloud/index.js +18 -0
- package/dist/lib/cloud/index.js.map +1 -0
- package/dist/lib/cloud/index.mjs +1 -0
- package/dist/lib/cloud/index.mjs.map +1 -0
- package/dist/lib/index.d.ts +20 -0
- package/dist/lib/index.js +5256 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/index.mjs +58 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/integrations/index.d.ts +33 -0
- package/dist/lib/integrations/index.js +2488 -0
- package/dist/lib/integrations/index.js.map +1 -0
- package/dist/lib/integrations/index.mjs +34 -0
- package/dist/lib/integrations/index.mjs.map +1 -0
- package/dist/lib/integrations/nest/index.d.ts +14 -0
- package/dist/lib/integrations/nest/index.js +2397 -0
- package/dist/lib/integrations/nest/index.js.map +1 -0
- package/dist/lib/integrations/nest/index.mjs +13 -0
- package/dist/lib/integrations/nest/index.mjs.map +1 -0
- package/dist/lib/integrations/node-express/index.d.ts +14 -0
- package/dist/lib/integrations/node-express/index.js +2397 -0
- package/dist/lib/integrations/node-express/index.js.map +1 -0
- package/dist/lib/integrations/node-express/index.mjs +13 -0
- package/dist/lib/integrations/node-express/index.mjs.map +1 -0
- package/dist/lib/integrations/node-http/index.d.ts +14 -0
- package/dist/lib/integrations/node-http/index.js +2383 -0
- package/dist/lib/integrations/node-http/index.js.map +1 -0
- package/dist/lib/integrations/node-http/index.mjs +12 -0
- package/dist/lib/integrations/node-http/index.mjs.map +1 -0
- package/dist/service-adapters/index.d.ts +84 -0
- package/dist/service-adapters/index.js +1460 -0
- package/dist/service-adapters/index.js.map +1 -0
- package/dist/service-adapters/index.mjs +26 -0
- package/dist/service-adapters/index.mjs.map +1 -0
- package/dist/utils/index.d.ts +49 -0
- package/dist/utils/index.js +174 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +12 -0
- package/dist/utils/index.mjs.map +1 -0
- package/jest.config.js +5 -0
- package/package.json +85 -0
- package/scripts/generate-gql-schema.ts +13 -0
- package/src/agents/langgraph/event-source.ts +287 -0
- package/src/agents/langgraph/events.ts +338 -0
- package/src/graphql/inputs/action.input.ts +16 -0
- package/src/graphql/inputs/agent-session.input.ts +13 -0
- package/src/graphql/inputs/agent-state.input.ts +10 -0
- package/src/graphql/inputs/cloud-guardrails.input.ts +16 -0
- package/src/graphql/inputs/cloud.input.ts +8 -0
- package/src/graphql/inputs/context-property.input.ts +10 -0
- package/src/graphql/inputs/custom-property.input.ts +15 -0
- package/src/graphql/inputs/extensions.input.ts +21 -0
- package/src/graphql/inputs/forwarded-parameters.input.ts +22 -0
- package/src/graphql/inputs/frontend.input.ts +14 -0
- package/src/graphql/inputs/generate-copilot-response.input.ts +51 -0
- package/src/graphql/inputs/load-agent-state.input.ts +10 -0
- package/src/graphql/inputs/message.input.ts +92 -0
- package/src/graphql/resolvers/copilot.resolver.ts +561 -0
- package/src/graphql/resolvers/state.resolver.ts +23 -0
- package/src/graphql/types/agents-response.type.ts +19 -0
- package/src/graphql/types/base/index.ts +10 -0
- package/src/graphql/types/converted/index.ts +136 -0
- package/src/graphql/types/copilot-response.type.ts +117 -0
- package/src/graphql/types/enums.ts +37 -0
- package/src/graphql/types/extensions-response.type.ts +23 -0
- package/src/graphql/types/guardrails-result.type.ts +20 -0
- package/src/graphql/types/load-agent-state-response.type.ts +17 -0
- package/src/graphql/types/message-status.type.ts +40 -0
- package/src/graphql/types/response-status.type.ts +66 -0
- package/src/index.ts +4 -0
- package/src/lib/cloud/index.ts +4 -0
- package/src/lib/index.ts +8 -0
- package/src/lib/integrations/index.ts +6 -0
- package/src/lib/integrations/nest/index.ts +17 -0
- package/src/lib/integrations/nextjs/app-router.ts +40 -0
- package/src/lib/integrations/nextjs/pages-router.ts +49 -0
- package/src/lib/integrations/node-express/index.ts +17 -0
- package/src/lib/integrations/node-http/index.ts +34 -0
- package/src/lib/integrations/shared.ts +110 -0
- package/src/lib/logger.ts +28 -0
- package/src/lib/runtime/copilot-runtime.ts +571 -0
- package/src/lib/runtime/remote-action-constructors.ts +304 -0
- package/src/lib/runtime/remote-actions.ts +174 -0
- package/src/lib/runtime/remote-lg-action.ts +669 -0
- package/src/lib/telemetry-client.ts +52 -0
- package/src/service-adapters/anthropic/anthropic-adapter.ts +204 -0
- package/src/service-adapters/anthropic/utils.ts +144 -0
- package/src/service-adapters/conversion.ts +64 -0
- package/src/service-adapters/events.ts +424 -0
- package/src/service-adapters/experimental/empty/empty-adapter.ts +33 -0
- package/src/service-adapters/experimental/ollama/ollama-adapter.ts +79 -0
- package/src/service-adapters/google/google-genai-adapter.ts +39 -0
- package/src/service-adapters/groq/groq-adapter.ts +173 -0
- package/src/service-adapters/index.ts +16 -0
- package/src/service-adapters/langchain/langchain-adapter.ts +106 -0
- package/src/service-adapters/langchain/langserve.ts +87 -0
- package/src/service-adapters/langchain/types.ts +14 -0
- package/src/service-adapters/langchain/utils.ts +306 -0
- package/src/service-adapters/openai/openai-adapter.ts +211 -0
- package/src/service-adapters/openai/openai-assistant-adapter.ts +315 -0
- package/src/service-adapters/openai/utils.ts +161 -0
- package/src/service-adapters/service-adapter.ts +34 -0
- package/src/service-adapters/unify/unify-adapter.ts +144 -0
- package/src/utils/failed-response-status-reasons.ts +48 -0
- package/src/utils/index.ts +1 -0
- package/tsconfig.json +11 -0
- package/tsup.config.ts +16 -0
- package/typedoc.json +4 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Message } from "../graphql/types/converted";
|
|
2
|
+
import { RuntimeEventSource } from "./events";
|
|
3
|
+
import { ActionInput } from "../graphql/inputs/action.input";
|
|
4
|
+
import { ForwardedParametersInput } from "../graphql/inputs/forwarded-parameters.input";
|
|
5
|
+
import { ExtensionsInput } from "../graphql/inputs/extensions.input";
|
|
6
|
+
import { ExtensionsResponse } from "../graphql/types/extensions-response.type";
|
|
7
|
+
|
|
8
|
+
export interface CopilotKitResponse {
|
|
9
|
+
stream: ReadableStream;
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface CopilotRuntimeChatCompletionRequest {
|
|
14
|
+
eventSource: RuntimeEventSource;
|
|
15
|
+
messages: Message[];
|
|
16
|
+
actions: ActionInput[];
|
|
17
|
+
model?: string;
|
|
18
|
+
threadId?: string;
|
|
19
|
+
runId?: string;
|
|
20
|
+
forwardedParameters?: ForwardedParametersInput;
|
|
21
|
+
extensions?: ExtensionsInput;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface CopilotRuntimeChatCompletionResponse {
|
|
25
|
+
threadId: string;
|
|
26
|
+
runId?: string;
|
|
27
|
+
extensions?: ExtensionsResponse;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface CopilotServiceAdapter {
|
|
31
|
+
process(
|
|
32
|
+
request: CopilotRuntimeChatCompletionRequest,
|
|
33
|
+
): Promise<CopilotRuntimeChatCompletionResponse>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CopilotKit Adapter for Unify
|
|
3
|
+
*
|
|
4
|
+
* <RequestExample>
|
|
5
|
+
* ```jsx CopilotRuntime Example
|
|
6
|
+
* const copilotKit = new CopilotRuntime();
|
|
7
|
+
* return copilotKit.response(req, new UnifyAdapter());
|
|
8
|
+
* ```
|
|
9
|
+
* </RequestExample>
|
|
10
|
+
*
|
|
11
|
+
* You can easily set the model to use by passing it to the constructor.
|
|
12
|
+
* ```jsx
|
|
13
|
+
* const copilotKit = new CopilotRuntime();
|
|
14
|
+
* return copilotKit.response(
|
|
15
|
+
* req,
|
|
16
|
+
* new UnifyAdapter({ model: "llama-3-8b-chat@fireworks-ai" }),
|
|
17
|
+
* );
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
import {
|
|
21
|
+
CopilotRuntimeChatCompletionRequest,
|
|
22
|
+
CopilotRuntimeChatCompletionResponse,
|
|
23
|
+
CopilotServiceAdapter,
|
|
24
|
+
} from "../service-adapter";
|
|
25
|
+
import OpenAI from "openai";
|
|
26
|
+
import { randomId, randomUUID } from "@copilotkit/shared";
|
|
27
|
+
import { convertActionInputToOpenAITool, convertMessageToOpenAIMessage } from "../openai/utils";
|
|
28
|
+
|
|
29
|
+
export interface UnifyAdapterParams {
|
|
30
|
+
apiKey?: string;
|
|
31
|
+
model: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class UnifyAdapter implements CopilotServiceAdapter {
|
|
35
|
+
private apiKey: string;
|
|
36
|
+
private model: string;
|
|
37
|
+
private start: boolean;
|
|
38
|
+
|
|
39
|
+
constructor(options?: UnifyAdapterParams) {
|
|
40
|
+
if (options?.apiKey) {
|
|
41
|
+
this.apiKey = options.apiKey;
|
|
42
|
+
} else {
|
|
43
|
+
this.apiKey = "UNIFY_API_KEY";
|
|
44
|
+
}
|
|
45
|
+
this.model = options?.model;
|
|
46
|
+
this.start = true;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
async process(
|
|
50
|
+
request: CopilotRuntimeChatCompletionRequest,
|
|
51
|
+
): Promise<CopilotRuntimeChatCompletionResponse> {
|
|
52
|
+
const tools = request.actions.map(convertActionInputToOpenAITool);
|
|
53
|
+
const openai = new OpenAI({
|
|
54
|
+
apiKey: this.apiKey,
|
|
55
|
+
baseURL: "https://api.unify.ai/v0/",
|
|
56
|
+
});
|
|
57
|
+
const forwardedParameters = request.forwardedParameters;
|
|
58
|
+
|
|
59
|
+
const messages = request.messages.map(convertMessageToOpenAIMessage);
|
|
60
|
+
|
|
61
|
+
const stream = await openai.chat.completions.create({
|
|
62
|
+
model: this.model,
|
|
63
|
+
messages: messages,
|
|
64
|
+
stream: true,
|
|
65
|
+
...(tools.length > 0 && { tools }),
|
|
66
|
+
...(forwardedParameters?.temperature && { temperature: forwardedParameters.temperature }),
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
let model = null;
|
|
70
|
+
let currentMessageId: string;
|
|
71
|
+
let currentToolCallId: string;
|
|
72
|
+
request.eventSource.stream(async (eventStream$) => {
|
|
73
|
+
let mode: "function" | "message" | null = null;
|
|
74
|
+
for await (const chunk of stream) {
|
|
75
|
+
if (this.start) {
|
|
76
|
+
model = chunk.model;
|
|
77
|
+
currentMessageId = randomId();
|
|
78
|
+
eventStream$.sendTextMessageStart({ messageId: currentMessageId });
|
|
79
|
+
eventStream$.sendTextMessageContent({
|
|
80
|
+
messageId: currentMessageId,
|
|
81
|
+
content: `Model used: ${model}\n`,
|
|
82
|
+
});
|
|
83
|
+
eventStream$.sendTextMessageEnd({ messageId: currentMessageId });
|
|
84
|
+
this.start = false;
|
|
85
|
+
}
|
|
86
|
+
const toolCall = chunk.choices[0].delta.tool_calls?.[0];
|
|
87
|
+
const content = chunk.choices[0].delta.content;
|
|
88
|
+
|
|
89
|
+
// When switching from message to function or vice versa,
|
|
90
|
+
// send the respective end event.
|
|
91
|
+
// If toolCall?.id is defined, it means a new tool call starts.
|
|
92
|
+
if (mode === "message" && toolCall?.id) {
|
|
93
|
+
mode = null;
|
|
94
|
+
eventStream$.sendTextMessageEnd({ messageId: currentMessageId });
|
|
95
|
+
} else if (mode === "function" && (toolCall === undefined || toolCall?.id)) {
|
|
96
|
+
mode = null;
|
|
97
|
+
eventStream$.sendActionExecutionEnd({ actionExecutionId: currentToolCallId });
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// If we send a new message type, send the appropriate start event.
|
|
101
|
+
if (mode === null) {
|
|
102
|
+
if (toolCall?.id) {
|
|
103
|
+
mode = "function";
|
|
104
|
+
currentToolCallId = toolCall!.id;
|
|
105
|
+
eventStream$.sendActionExecutionStart({
|
|
106
|
+
actionExecutionId: currentToolCallId,
|
|
107
|
+
actionName: toolCall!.function!.name,
|
|
108
|
+
});
|
|
109
|
+
} else if (content) {
|
|
110
|
+
mode = "message";
|
|
111
|
+
currentMessageId = chunk.id;
|
|
112
|
+
eventStream$.sendTextMessageStart({ messageId: currentMessageId });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// send the content events
|
|
117
|
+
if (mode === "message" && content) {
|
|
118
|
+
eventStream$.sendTextMessageContent({
|
|
119
|
+
messageId: currentMessageId,
|
|
120
|
+
content: content,
|
|
121
|
+
});
|
|
122
|
+
} else if (mode === "function" && toolCall?.function?.arguments) {
|
|
123
|
+
eventStream$.sendActionExecutionArgs({
|
|
124
|
+
actionExecutionId: currentToolCallId,
|
|
125
|
+
args: toolCall.function.arguments,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// send the end events
|
|
131
|
+
if (mode === "message") {
|
|
132
|
+
eventStream$.sendTextMessageEnd({ messageId: currentMessageId });
|
|
133
|
+
} else if (mode === "function") {
|
|
134
|
+
eventStream$.sendActionExecutionEnd({ actionExecutionId: currentToolCallId });
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
eventStream$.complete();
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
return {
|
|
141
|
+
threadId: request.threadId || randomUUID(),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FailedResponseStatus,
|
|
3
|
+
FailedResponseStatusReason,
|
|
4
|
+
} from "../graphql/types/response-status.type";
|
|
5
|
+
|
|
6
|
+
export class GuardrailsValidationFailureResponse extends FailedResponseStatus {
|
|
7
|
+
reason = FailedResponseStatusReason.GUARDRAILS_VALIDATION_FAILED;
|
|
8
|
+
declare details: {
|
|
9
|
+
guardrailsReason: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
constructor({ guardrailsReason }) {
|
|
13
|
+
super();
|
|
14
|
+
this.details = {
|
|
15
|
+
guardrailsReason,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export class MessageStreamInterruptedResponse extends FailedResponseStatus {
|
|
21
|
+
reason = FailedResponseStatusReason.MESSAGE_STREAM_INTERRUPTED;
|
|
22
|
+
declare details: {
|
|
23
|
+
messageId: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
constructor({ messageId }: { messageId: string }) {
|
|
28
|
+
super();
|
|
29
|
+
this.details = {
|
|
30
|
+
messageId,
|
|
31
|
+
description: "Check the message for mode details",
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export class UnknownErrorResponse extends FailedResponseStatus {
|
|
37
|
+
reason = FailedResponseStatusReason.UNKNOWN_ERROR;
|
|
38
|
+
declare details: {
|
|
39
|
+
description?: string;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
constructor({ description }: { description?: string }) {
|
|
43
|
+
super();
|
|
44
|
+
this.details = {
|
|
45
|
+
description,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./failed-response-status-reasons";
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../utilities/tsconfig/base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"lib": ["es2017", "dom"],
|
|
5
|
+
"emitDecoratorMetadata": true,
|
|
6
|
+
"experimentalDecorators": true,
|
|
7
|
+
"strict": false,
|
|
8
|
+
},
|
|
9
|
+
"include": ["./src/**/*.ts"],
|
|
10
|
+
"exclude": ["dist", "build", "node_modules", "**/*.test.ts", "**/*.test.tsx", "**/__tests__/*"]
|
|
11
|
+
}
|
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineConfig, Options } from "tsup";
|
|
2
|
+
|
|
3
|
+
export default defineConfig((options: Options) => ({
|
|
4
|
+
...options,
|
|
5
|
+
entry: ["src/**/index.ts"],
|
|
6
|
+
format: ["esm", "cjs"],
|
|
7
|
+
dts: true,
|
|
8
|
+
minify: false,
|
|
9
|
+
external: [],
|
|
10
|
+
sourcemap: true,
|
|
11
|
+
exclude: [
|
|
12
|
+
"**/*.test.ts", // Exclude TypeScript test files
|
|
13
|
+
"**/*.test.tsx", // Exclude TypeScript React test files
|
|
14
|
+
"**/__tests__/*", // Exclude any files inside a __tests__ directory
|
|
15
|
+
],
|
|
16
|
+
}));
|
package/typedoc.json
ADDED