@anvia/core 0.26.0 → 1.0.0-rc.1

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.
Files changed (135) hide show
  1. package/README.md +21 -11
  2. package/dist/agent/index.d.ts +26 -68
  3. package/dist/agent/index.js +20 -17
  4. package/dist/agent-DGYY_onS.d.ts +145 -0
  5. package/dist/audio-generation/index.d.ts +12 -14
  6. package/dist/audio-generation/index.js +5 -39
  7. package/dist/audio-generation/index.js.map +1 -1
  8. package/dist/{chunk-MRQLEK2B.js → chunk-5XKDW36Z.js} +30 -7
  9. package/dist/chunk-5XKDW36Z.js.map +1 -0
  10. package/dist/chunk-6WGGTJE6.js +139 -0
  11. package/dist/chunk-6WGGTJE6.js.map +1 -0
  12. package/dist/chunk-A3UBYTJT.js +157 -0
  13. package/dist/chunk-A3UBYTJT.js.map +1 -0
  14. package/dist/{chunk-NCPN4SJR.js → chunk-DMPUP4R3.js} +10 -10
  15. package/dist/chunk-DMPUP4R3.js.map +1 -0
  16. package/dist/{chunk-MNWK2USR.js → chunk-DZ3CKYTH.js} +29 -5
  17. package/dist/chunk-DZ3CKYTH.js.map +1 -0
  18. package/dist/{chunk-CWUJUSOS.js → chunk-FNQB2JEH.js} +1 -1
  19. package/dist/chunk-FNQB2JEH.js.map +1 -0
  20. package/dist/chunk-I6G7BC42.js +41 -0
  21. package/dist/chunk-I6G7BC42.js.map +1 -0
  22. package/dist/{chunk-BALBBVI3.js → chunk-IL3ZSNJI.js} +2720 -1704
  23. package/dist/chunk-IL3ZSNJI.js.map +1 -0
  24. package/dist/chunk-J6GNQART.js +122 -0
  25. package/dist/chunk-J6GNQART.js.map +1 -0
  26. package/dist/{chunk-MC3CCKEB.js → chunk-M3IOWB4Y.js} +124 -65
  27. package/dist/chunk-M3IOWB4Y.js.map +1 -0
  28. package/dist/chunk-QY5GZ7HR.js +39 -0
  29. package/dist/chunk-QY5GZ7HR.js.map +1 -0
  30. package/dist/{chunk-MELYDKWQ.js → chunk-R2LJSQUW.js} +190 -20
  31. package/dist/chunk-R2LJSQUW.js.map +1 -0
  32. package/dist/{chunk-WQKHFADH.js → chunk-RFDVKCIE.js} +3 -3
  33. package/dist/chunk-RFDVKCIE.js.map +1 -0
  34. package/dist/chunk-RMUBRRSK.js +34 -0
  35. package/dist/chunk-RMUBRRSK.js.map +1 -0
  36. package/dist/{chunk-I6XOQ4LK.js → chunk-RXKHOYEH.js} +1 -1
  37. package/dist/chunk-RXKHOYEH.js.map +1 -0
  38. package/dist/chunk-XDRSPSR7.js +38 -0
  39. package/dist/chunk-XDRSPSR7.js.map +1 -0
  40. package/dist/completion/index.d.ts +5 -36
  41. package/dist/completion/index.js +4 -5
  42. package/dist/dynamic-tools-i9woysFa.d.ts +33 -0
  43. package/dist/embeddings/index.d.ts +2 -2
  44. package/dist/embeddings/index.js +1 -2
  45. package/dist/{errors-2moLDuuN.d.ts → errors-CYKUcU89.d.ts} +2 -2
  46. package/dist/evals/index.d.ts +22 -15
  47. package/dist/evals/index.js +57 -35
  48. package/dist/evals/index.js.map +1 -1
  49. package/dist/extractor/index.d.ts +23 -35
  50. package/dist/extractor/index.js +7 -21
  51. package/dist/guardrails/index.d.ts +2 -2
  52. package/dist/guardrails/index.js +1 -1
  53. package/dist/image-generation/index.d.ts +12 -14
  54. package/dist/image-generation/index.js +5 -39
  55. package/dist/image-generation/index.js.map +1 -1
  56. package/dist/index-DxB74ybJ.d.ts +349 -0
  57. package/dist/index.d.ts +20 -17
  58. package/dist/index.js +31 -36
  59. package/dist/internal/agent.d.ts +152 -9
  60. package/dist/internal/agent.js +22 -17
  61. package/dist/{json-BVPssigK.d.ts → json-Zo7K3xmt.d.ts} +12 -11
  62. package/dist/loaders/index.d.ts +5 -10
  63. package/dist/loaders/index.js.map +1 -1
  64. package/dist/mcp/index.d.ts +4 -4
  65. package/dist/mcp/index.js.map +1 -1
  66. package/dist/memory/index.d.ts +4 -4
  67. package/dist/memory/index.js +6 -7
  68. package/dist/middleware-KynLg_RW.d.ts +56 -0
  69. package/dist/observability/index.d.ts +6 -3
  70. package/dist/observability/index.js.map +1 -1
  71. package/dist/pipeline/index.d.ts +40 -47
  72. package/dist/pipeline/index.js +99 -99
  73. package/dist/pipeline/index.js.map +1 -1
  74. package/dist/retry-D3Ruy-ba.d.ts +15 -0
  75. package/dist/skills/index.d.ts +4 -4
  76. package/dist/skills/index.js +5 -6
  77. package/dist/streaming/index.js +37 -3
  78. package/dist/streaming/index.js.map +1 -1
  79. package/dist/{think-tool-DfCMuO8e.d.ts → think-tool-DZqZj2LV.d.ts} +5 -5
  80. package/dist/tool/index.d.ts +8 -6
  81. package/dist/tool/index.js +12 -15
  82. package/dist/tool-C_8GudXn.d.ts +49 -0
  83. package/dist/transcription/index.d.ts +14 -16
  84. package/dist/transcription/index.js +5 -57
  85. package/dist/transcription/index.js.map +1 -1
  86. package/dist/type-utils-CtHVDRn_.d.ts +6 -0
  87. package/dist/{types-G12i56s2.d.ts → types-B3A4YxaA.d.ts} +1 -1
  88. package/dist/{types-BrLbKnEz.d.ts → types-BBEGKB9m.d.ts} +1 -1
  89. package/dist/{types-O-abTIin.d.ts → types-DT3nEemY.d.ts} +3 -3
  90. package/dist/{types-04LqWrmy.d.ts → types-DhQfwiZn.d.ts} +1 -1
  91. package/dist/{types-JJCxRnaZ.d.ts → types-DulRCYdB.d.ts} +2 -2
  92. package/dist/{types-BCTRUGex.d.ts → types-p55Jc-sr.d.ts} +1 -1
  93. package/dist/ui/index.d.ts +1 -1
  94. package/dist/ui/index.js +1 -1
  95. package/dist/vector-store/index.d.ts +5 -5
  96. package/dist/vector-store/index.js +4 -4
  97. package/package.json +2 -10
  98. package/dist/agent-x3YTyv5i.d.ts +0 -222
  99. package/dist/chunk-2ODTMRHP.js +0 -54
  100. package/dist/chunk-2ODTMRHP.js.map +0 -1
  101. package/dist/chunk-BALBBVI3.js.map +0 -1
  102. package/dist/chunk-CWUJUSOS.js.map +0 -1
  103. package/dist/chunk-DALYP4PX.js +0 -225
  104. package/dist/chunk-DALYP4PX.js.map +0 -1
  105. package/dist/chunk-HYUYZEAJ.js +0 -223
  106. package/dist/chunk-HYUYZEAJ.js.map +0 -1
  107. package/dist/chunk-I6XOQ4LK.js.map +0 -1
  108. package/dist/chunk-JI5YZWNT.js +0 -220
  109. package/dist/chunk-JI5YZWNT.js.map +0 -1
  110. package/dist/chunk-MC3CCKEB.js.map +0 -1
  111. package/dist/chunk-MELYDKWQ.js.map +0 -1
  112. package/dist/chunk-MNWK2USR.js.map +0 -1
  113. package/dist/chunk-MRQLEK2B.js.map +0 -1
  114. package/dist/chunk-NCPN4SJR.js.map +0 -1
  115. package/dist/chunk-OIMLU4SF.js +0 -20
  116. package/dist/chunk-OIMLU4SF.js.map +0 -1
  117. package/dist/chunk-Q25IWLBT.js +0 -138
  118. package/dist/chunk-Q25IWLBT.js.map +0 -1
  119. package/dist/chunk-UQX6EXWG.js +0 -33
  120. package/dist/chunk-UQX6EXWG.js.map +0 -1
  121. package/dist/chunk-WQKHFADH.js.map +0 -1
  122. package/dist/chunk-XUUY2L2D.js +0 -42
  123. package/dist/chunk-XUUY2L2D.js.map +0 -1
  124. package/dist/chunk-YLMDBQO4.js +0 -141
  125. package/dist/chunk-YLMDBQO4.js.map +0 -1
  126. package/dist/hooks/index.d.ts +0 -12
  127. package/dist/hooks/index.js +0 -17
  128. package/dist/hooks/index.js.map +0 -1
  129. package/dist/index-BxSbmOMr.d.ts +0 -257
  130. package/dist/middleware-Dp3d_pxi.d.ts +0 -90
  131. package/dist/request/index.d.ts +0 -28
  132. package/dist/request/index.js +0 -25
  133. package/dist/request/index.js.map +0 -1
  134. package/dist/tool-Cohdv5GC.d.ts +0 -65
  135. package/dist/types-D9JpeAPF.d.ts +0 -114
@@ -0,0 +1,49 @@
1
+ import { J as JsonObject, r as ToolDefinition, l as JsonValue, u as ToolResultContent } from './types-B3A4YxaA.js';
2
+
3
+ type ToolApprovalRunContext = {
4
+ agentId: string;
5
+ runId: string;
6
+ sessionId?: string;
7
+ metadata?: JsonObject;
8
+ };
9
+ type ToolApprovalContext<Args = unknown> = {
10
+ toolName: string;
11
+ args: Args;
12
+ rawArgs: string;
13
+ toolCallId?: string;
14
+ internalCallId: string;
15
+ run: ToolApprovalRunContext;
16
+ };
17
+ type ToolApprovalRequirement = {
18
+ reason?: string | undefined;
19
+ };
20
+ type ToolRequiresApproval<Args = unknown> = boolean | ToolApprovalRequirement | ((args: Args, context: ToolApprovalContext<Args>) => boolean | ToolApprovalRequirement | Promise<boolean | ToolApprovalRequirement>);
21
+ type ToolCallStreamEvent = {
22
+ agentId: string;
23
+ agentName?: string | undefined;
24
+ event: unknown;
25
+ };
26
+ type ToolCallContext = {
27
+ emitStreamEvent?(event: ToolCallStreamEvent): void | Promise<void>;
28
+ includeToolCallDeltas?: boolean;
29
+ };
30
+ interface Tool<Args = unknown, Output = unknown> {
31
+ readonly name: string;
32
+ readonly requiresApproval?: ToolRequiresApproval<Args>;
33
+ definition(prompt: string): ToolDefinition | Promise<ToolDefinition>;
34
+ call(args: Args, context?: ToolCallContext): Output | Promise<Output>;
35
+ parseInput?(args: JsonValue): Args;
36
+ }
37
+ type AnyTool = Omit<Tool<unknown, unknown>, "requiresApproval"> & {
38
+ readonly requiresApproval?: unknown;
39
+ };
40
+ type NormalizedToolOutput = string | ToolResultContent[];
41
+ declare const ToolOutput: {
42
+ content(content: ToolResultContent[]): ToolResultContent[];
43
+ };
44
+
45
+ declare function normalizeToolResultOutput(output: unknown): NormalizedToolOutput;
46
+ declare function toolResultContentToText(content: ToolResultContent[]): string;
47
+ declare function parseToolArgs(args: string): JsonValue;
48
+
49
+ export { type AnyTool as A, type NormalizedToolOutput as N, type Tool as T, type ToolApprovalContext as a, type ToolApprovalRequirement as b, type ToolCallContext as c, type ToolCallStreamEvent as d, type ToolRequiresApproval as e, type ToolApprovalRunContext as f, ToolOutput as g, normalizeToolResultOutput as n, parseToolArgs as p, toolResultContentToText as t };
@@ -1,4 +1,6 @@
1
- import { l as JsonValue } from '../types-G12i56s2.js';
1
+ import { a as RetryOptions } from '../retry-D3Ruy-ba.js';
2
+ export { R as RetryContext } from '../retry-D3Ruy-ba.js';
3
+ import { l as JsonValue } from '../types-B3A4YxaA.js';
2
4
 
3
5
  type TranscriptionRequest = {
4
6
  data: Uint8Array;
@@ -18,19 +20,15 @@ interface TranscriptionModel<RawResponse = unknown, ModelName extends string = s
18
20
  transcription(request: TranscriptionRequest): Promise<TranscriptionResponse<RawResponse>>;
19
21
  }
20
22
 
21
- declare class TranscriptionRequestBuilder<Model extends TranscriptionModel = TranscriptionModel> {
22
- private readonly model;
23
- private request;
24
- constructor(model: Model);
25
- data(data: Uint8Array | ArrayBuffer): this;
26
- filename(filename: string): this;
27
- language(language: string): this;
28
- prompt(prompt: string): this;
29
- temperature(temperature: number): this;
30
- additionalParams(additionalParams: JsonValue): this;
31
- build(): TranscriptionRequest;
32
- send(): Promise<Awaited<ReturnType<Model["transcription"]>>>;
33
- }
34
- declare function transcriptionRequest<Model extends TranscriptionModel>(model: Model): TranscriptionRequestBuilder<Model>;
23
+ type TranscribeOptions<Model extends TranscriptionModel = TranscriptionModel> = {
24
+ model: Model;
25
+ filename: string;
26
+ language?: string | undefined;
27
+ prompt?: string | undefined;
28
+ temperature?: number | undefined;
29
+ additionalParams?: JsonValue | undefined;
30
+ retries?: RetryOptions | undefined;
31
+ };
32
+ declare function transcribe<Model extends TranscriptionModel>(audio: Uint8Array | ArrayBuffer, options: TranscribeOptions<Model>): Promise<Awaited<ReturnType<Model["transcription"]>>>;
35
33
 
36
- export { type TranscriptionModel, type TranscriptionRequest, TranscriptionRequestBuilder, type TranscriptionResponse, transcriptionRequest };
34
+ export { RetryOptions, type TranscribeOptions, type TranscriptionModel, type TranscriptionRequest, type TranscriptionResponse, transcribe };
@@ -1,60 +1,8 @@
1
- // src/transcription/request.ts
2
- var TranscriptionRequestBuilder = class {
3
- constructor(model) {
4
- this.model = model;
5
- }
6
- model;
7
- request = {
8
- data: new Uint8Array(),
9
- filename: "file"
10
- };
11
- data(data) {
12
- this.request = { ...this.request, data: toUint8Array(data) };
13
- return this;
14
- }
15
- filename(filename) {
16
- this.request = { ...this.request, filename };
17
- return this;
18
- }
19
- language(language) {
20
- this.request = { ...this.request, language };
21
- return this;
22
- }
23
- prompt(prompt) {
24
- this.request = { ...this.request, prompt };
25
- return this;
26
- }
27
- temperature(temperature) {
28
- this.request = { ...this.request, temperature };
29
- return this;
30
- }
31
- additionalParams(additionalParams) {
32
- this.request = { ...this.request, additionalParams };
33
- return this;
34
- }
35
- build() {
36
- if (this.request.data.byteLength === 0) {
37
- throw new Error("Transcription data cannot be empty.");
38
- }
39
- return { ...this.request, data: toUint8Array(this.request.data) };
40
- }
41
- send() {
42
- return this.model.transcription(this.build());
43
- }
44
- };
45
- function transcriptionRequest(model) {
46
- return new TranscriptionRequestBuilder(model);
47
- }
48
- function toUint8Array(bytes) {
49
- if (bytes instanceof Uint8Array) {
50
- return new Uint8Array(
51
- bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength)
52
- );
53
- }
54
- return new Uint8Array(bytes);
55
- }
1
+ import {
2
+ transcribe
3
+ } from "../chunk-QY5GZ7HR.js";
4
+ import "../chunk-A3UBYTJT.js";
56
5
  export {
57
- TranscriptionRequestBuilder,
58
- transcriptionRequest
6
+ transcribe
59
7
  };
60
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/transcription/request.ts"],"sourcesContent":["import type { JsonValue } from \"../completion\";\nimport type { TranscriptionModel, TranscriptionRequest } from \"./types\";\n\nexport class TranscriptionRequestBuilder<Model extends TranscriptionModel = TranscriptionModel> {\n private request: TranscriptionRequest = {\n data: new Uint8Array(),\n filename: \"file\",\n };\n\n constructor(private readonly model: Model) {}\n\n data(data: Uint8Array | ArrayBuffer): this {\n this.request = { ...this.request, data: toUint8Array(data) };\n return this;\n }\n\n filename(filename: string): this {\n this.request = { ...this.request, filename };\n return this;\n }\n\n language(language: string): this {\n this.request = { ...this.request, language };\n return this;\n }\n\n prompt(prompt: string): this {\n this.request = { ...this.request, prompt };\n return this;\n }\n\n temperature(temperature: number): this {\n this.request = { ...this.request, temperature };\n return this;\n }\n\n additionalParams(additionalParams: JsonValue): this {\n this.request = { ...this.request, additionalParams };\n return this;\n }\n\n build(): TranscriptionRequest {\n if (this.request.data.byteLength === 0) {\n throw new Error(\"Transcription data cannot be empty.\");\n }\n return { ...this.request, data: toUint8Array(this.request.data) };\n }\n\n send(): Promise<Awaited<ReturnType<Model[\"transcription\"]>>> {\n return this.model.transcription(this.build()) as Promise<\n Awaited<ReturnType<Model[\"transcription\"]>>\n >;\n }\n}\n\nexport function transcriptionRequest<Model extends TranscriptionModel>(\n model: Model,\n): TranscriptionRequestBuilder<Model> {\n return new TranscriptionRequestBuilder(model);\n}\n\nfunction toUint8Array(bytes: Uint8Array | ArrayBuffer): Uint8Array {\n if (bytes instanceof Uint8Array) {\n return new Uint8Array(\n bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength),\n );\n }\n return new Uint8Array(bytes);\n}\n"],"mappings":";AAGO,IAAM,8BAAN,MAAyF;AAAA,EAM9F,YAA6B,OAAc;AAAd;AAAA,EAAe;AAAA,EAAf;AAAA,EALrB,UAAgC;AAAA,IACtC,MAAM,IAAI,WAAW;AAAA,IACrB,UAAU;AAAA,EACZ;AAAA,EAIA,KAAK,MAAsC;AACzC,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,MAAM,aAAa,IAAI,EAAE;AAC3D,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,UAAwB;AAC/B,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,SAAS;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,UAAwB;AAC/B,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,SAAS;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,QAAsB;AAC3B,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,OAAO;AACzC,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,aAA2B;AACrC,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,YAAY;AAC9C,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB,kBAAmC;AAClD,SAAK,UAAU,EAAE,GAAG,KAAK,SAAS,iBAAiB;AACnD,WAAO;AAAA,EACT;AAAA,EAEA,QAA8B;AAC5B,QAAI,KAAK,QAAQ,KAAK,eAAe,GAAG;AACtC,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACvD;AACA,WAAO,EAAE,GAAG,KAAK,SAAS,MAAM,aAAa,KAAK,QAAQ,IAAI,EAAE;AAAA,EAClE;AAAA,EAEA,OAA6D;AAC3D,WAAO,KAAK,MAAM,cAAc,KAAK,MAAM,CAAC;AAAA,EAG9C;AACF;AAEO,SAAS,qBACd,OACoC;AACpC,SAAO,IAAI,4BAA4B,KAAK;AAC9C;AAEA,SAAS,aAAa,OAA6C;AACjE,MAAI,iBAAiB,YAAY;AAC/B,WAAO,IAAI;AAAA,MACT,MAAM,OAAO,MAAM,MAAM,YAAY,MAAM,aAAa,MAAM,UAAU;AAAA,IAC1E;AAAA,EACF;AACA,SAAO,IAAI,WAAW,KAAK;AAC7B;","names":[]}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ type MaybePromise<T> = T | Promise<T>;
2
+ type DeepReadonly<T> = T extends (...args: never[]) => unknown ? T : T extends readonly (infer Item)[] ? readonly DeepReadonly<Item>[] : T extends object ? {
3
+ readonly [Key in keyof T]: DeepReadonly<T[Key]>;
4
+ } : T;
5
+
6
+ export type { DeepReadonly as D, MaybePromise as M };
@@ -351,4 +351,4 @@ declare function assertCompletionRequestSupported(model: CompletionModel, reques
351
351
  }): void;
352
352
  declare function textFromAssistantContent(content: AssistantContent[]): string;
353
353
 
354
- export { type ToolFunction as $, AssistantContent as A, getAssistantGenerationMetadata as B, type CompletionModel as C, type Document as D, isProviderTool as E, resolveCompletionModelInfo as F, withContextUsage as G, isToolResultContentArray as H, type ImageContent as I, type JsonObject as J, serializeToolResultOutput as K, type ToolChoice as L, Message as M, CompletionCapabilityError as N, type CompletionModelCapabilities as O, type ProviderTool as P, type CompletionStreamEvent as Q, type DocumentContent as R, type SystemMessage as S, type Text as T, Usage as U, type ImageDetail as V, type Reasoning as W, type ReasoningContent as X, type ReasoningContentType as Y, type StreamingCompletionModel as Z, type ToolCallArgumentsMode as _, type AssistantGenerationMetadata as a, type UsageDetails as a0, assertCompletionRequestSupported as a1, reasoningDisplayText as a2, textFromAssistantContent as a3, type AssistantMessage as b, type AssistantMessageOptions as c, type CompletionModelInfo as d, type CompletionModelMetadataOptions as e, type CompletionRequest as f, type CompletionResponse as g, type CompletionSource as h, type CompletionTool as i, type ContextUsage as j, type JsonPrimitive as k, type JsonValue as l, type MessageOptions as m, type ModelContextLimits as n, type ProviderToolCall as o, type ToolCall as p, ToolContent as q, type ToolDefinition as r, type ToolMessage as s, type ToolResult as t, type ToolResultContent as u, type ToolResultMessageOptions as v, type ToolResultOptions as w, UserContent as x, type UserMessage as y, calculateContextUsage as z };
354
+ export { assertCompletionRequestSupported as $, AssistantContent as A, getAssistantGenerationMetadata as B, type CompletionModel as C, type Document as D, isProviderTool as E, resolveCompletionModelInfo as F, withContextUsage as G, CompletionCapabilityError as H, type ImageContent as I, type JsonObject as J, type CompletionModelCapabilities as K, type CompletionStreamEvent as L, Message as M, type DocumentContent as N, type ImageDetail as O, type ProviderTool as P, type ReasoningContent as Q, type Reasoning as R, type SystemMessage as S, type Text as T, Usage as U, type ReasoningContentType as V, type StreamingCompletionModel as W, type ToolCallArgumentsMode as X, type ToolChoice as Y, type ToolFunction as Z, type UsageDetails as _, type AssistantGenerationMetadata as a, isToolResultContentArray as a0, reasoningDisplayText as a1, serializeToolResultOutput as a2, textFromAssistantContent as a3, type AssistantMessage as b, type AssistantMessageOptions as c, type CompletionModelInfo as d, type CompletionModelMetadataOptions as e, type CompletionRequest as f, type CompletionResponse as g, type CompletionSource as h, type CompletionTool as i, type ContextUsage as j, type JsonPrimitive as k, type JsonValue as l, type MessageOptions as m, type ModelContextLimits as n, type ProviderToolCall as o, type ToolCall as p, ToolContent as q, type ToolDefinition as r, type ToolMessage as s, type ToolResult as t, type ToolResultContent as u, type ToolResultMessageOptions as v, type ToolResultOptions as w, UserContent as x, type UserMessage as y, calculateContextUsage as z };
@@ -1,4 +1,4 @@
1
- import { J as JsonObject, M as Message, S as SystemMessage, U as Usage } from './types-G12i56s2.js';
1
+ import { J as JsonObject, M as Message, S as SystemMessage, U as Usage } from './types-B3A4YxaA.js';
2
2
 
3
3
  type MemorySavePolicy = "message" | "turn" | "run";
4
4
  type MemoryContext = {
@@ -1,5 +1,5 @@
1
- import { V as VectorMetadata, a as VectorMetadataValue } from './types-BCTRUGex.js';
2
- import { T as Tool } from './tool-Cohdv5GC.js';
1
+ import { b as VectorMetadataValue, V as VectorMetadata } from './types-p55Jc-sr.js';
2
+ import { T as Tool } from './tool-C_8GudXn.js';
3
3
 
4
4
  type VectorFilter = {
5
5
  type: "eq";
@@ -76,4 +76,4 @@ type VectorSearchToolOptions = {
76
76
  filter?: VectorFilter | undefined;
77
77
  };
78
78
 
79
- export type { IndexStrategy as I, LshOptions as L, VectorFilter as V, VectorSearchIndex as a, VectorSearchRequest as b, VectorSearchResult as c, VectorInspectRequest as d, VectorInspectPage as e, VectorSearchToolOptions as f, VectorInspectItem as g };
79
+ export type { IndexStrategy as I, LshOptions as L, VectorSearchIndex as V, VectorFilter as a, VectorSearchRequest as b, VectorSearchResult as c, VectorInspectRequest as d, VectorInspectPage as e, VectorSearchToolOptions as f, VectorInspectItem as g };
@@ -1,4 +1,4 @@
1
- import { A as AnyTool } from './tool-Cohdv5GC.js';
1
+ import { A as AnyTool } from './tool-C_8GudXn.js';
2
2
 
3
3
  type Skill = {
4
4
  readonly name: string;
@@ -1,8 +1,8 @@
1
1
  import { SSEClientTransportOptions } from '@modelcontextprotocol/sdk/client/sse.js';
2
2
  import { StdioServerParameters } from '@modelcontextprotocol/sdk/client/stdio.js';
3
3
  import { StreamableHTTPClientTransportOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
4
- import { J as JsonObject } from './types-G12i56s2.js';
5
- import { A as AnyTool } from './tool-Cohdv5GC.js';
4
+ import { J as JsonObject } from './types-B3A4YxaA.js';
5
+ import { A as AnyTool } from './tool-C_8GudXn.js';
6
6
 
7
7
  type McpToolDefinition = {
8
8
  name: string;
@@ -44,4 +44,4 @@ type EmbedHybridDocumentsOptions = {
44
44
  sparse: SparseEmbeddingModel;
45
45
  };
46
46
 
47
- export type { EmbeddingModel as E, SparseEmbeddingModel as S, VectorMetadata as V, VectorMetadataValue as a, EmbedDocumentsOptions as b, EmbeddedDocument as c, EmbedHybridDocumentsOptions as d, SparseEmbedding as e, Embedding as f, SparseVector as g };
47
+ export type { EmbeddingModel as E, SparseEmbeddingModel as S, VectorMetadata as V, EmbeddedDocument as a, VectorMetadataValue as b, EmbedDocumentsOptions as c, EmbedHybridDocumentsOptions as d, SparseEmbedding as e, Embedding as f, SparseVector as g };
@@ -1,4 +1,4 @@
1
- import { V as ImageDetail, l as JsonValue, U as Usage, j as ContextUsage, M as Message } from '../types-G12i56s2.js';
1
+ import { O as ImageDetail, l as JsonValue, U as Usage, j as ContextUsage, M as Message } from '../types-B3A4YxaA.js';
2
2
 
3
3
  type UIMessageRole = "system" | "user" | "assistant" | "tool";
4
4
  type UIError = {
package/dist/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  coreMessagesToUIMessages,
3
3
  uiMessagesToCoreMessages
4
- } from "../chunk-I6XOQ4LK.js";
4
+ } from "../chunk-RXKHOYEH.js";
5
5
  import "../chunk-ADH7NNCS.js";
6
6
  export {
7
7
  coreMessagesToUIMessages,
@@ -1,8 +1,8 @@
1
- import { a as VectorMetadataValue, V as VectorMetadata, E as EmbeddingModel, c as EmbeddedDocument, f as Embedding } from '../types-BCTRUGex.js';
2
- import { T as Tool } from '../tool-Cohdv5GC.js';
3
- import { V as VectorFilter, a as VectorSearchIndex, I as IndexStrategy, b as VectorSearchRequest, c as VectorSearchResult, d as VectorInspectRequest, e as VectorInspectPage, f as VectorSearchToolOptions } from '../types-O-abTIin.js';
4
- export { L as LshOptions, g as VectorInspectItem } from '../types-O-abTIin.js';
5
- import '../types-G12i56s2.js';
1
+ import { b as VectorMetadataValue, V as VectorMetadata, E as EmbeddingModel, a as EmbeddedDocument, f as Embedding } from '../types-p55Jc-sr.js';
2
+ import { T as Tool } from '../tool-C_8GudXn.js';
3
+ import { a as VectorFilter, V as VectorSearchIndex, I as IndexStrategy, b as VectorSearchRequest, c as VectorSearchResult, d as VectorInspectRequest, e as VectorInspectPage, f as VectorSearchToolOptions } from '../types-DT3nEemY.js';
4
+ export { L as LshOptions, g as VectorInspectItem } from '../types-DT3nEemY.js';
5
+ import '../types-B3A4YxaA.js';
6
6
 
7
7
  declare const vectorFilter: {
8
8
  eq(key: string, value: VectorMetadataValue): VectorFilter;
@@ -3,10 +3,10 @@ import {
3
3
  InMemoryVectorStore,
4
4
  createVectorSearchTool,
5
5
  vectorFilter
6
- } from "../chunk-MELYDKWQ.js";
7
- import "../chunk-MNWK2USR.js";
8
- import "../chunk-OIMLU4SF.js";
9
- import "../chunk-WQKHFADH.js";
6
+ } from "../chunk-R2LJSQUW.js";
7
+ import "../chunk-DZ3CKYTH.js";
8
+ import "../chunk-RFDVKCIE.js";
9
+ import "../chunk-ADH7NNCS.js";
10
10
  export {
11
11
  InMemoryVectorIndex,
12
12
  InMemoryVectorStore,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anvia/core",
3
- "version": "0.26.0",
3
+ "version": "1.0.0-rc.1",
4
4
  "description": "Core runtime primitives for context-aware Anvia agents.",
5
5
  "author": "anvia",
6
6
  "maintainer": "Indra Zulfi",
@@ -68,10 +68,6 @@
68
68
  "types": "./dist/memory/index.d.ts",
69
69
  "import": "./dist/memory/index.js"
70
70
  },
71
- "./hooks": {
72
- "types": "./dist/hooks/index.d.ts",
73
- "import": "./dist/hooks/index.js"
74
- },
75
71
  "./model-listing": {
76
72
  "types": "./dist/model-listing/index.d.ts",
77
73
  "import": "./dist/model-listing/index.js"
@@ -84,10 +80,6 @@
84
80
  "types": "./dist/pipeline/index.d.ts",
85
81
  "import": "./dist/pipeline/index.js"
86
82
  },
87
- "./request": {
88
- "types": "./dist/request/index.d.ts",
89
- "import": "./dist/request/index.js"
90
- },
91
83
  "./skills": {
92
84
  "types": "./dist/skills/index.d.ts",
93
85
  "import": "./dist/skills/index.js"
@@ -132,7 +124,7 @@
132
124
  "vitest": "^4.0.8"
133
125
  },
134
126
  "scripts": {
135
- "build": "tsup src/index.ts src/agent/index.ts src/hooks/index.ts src/request/index.ts src/internal/agent.ts src/audio-generation/index.ts src/completion/index.ts src/embeddings/index.ts src/evals/index.ts src/image-generation/index.ts src/loaders/index.ts src/extractor/index.ts src/guardrails/index.ts src/mcp/index.ts src/memory/index.ts src/model-listing/index.ts src/observability/index.ts src/pipeline/index.ts src/skills/index.ts src/streaming/index.ts src/tool/index.ts src/ui/index.ts src/transcription/index.ts src/vector-store/index.ts --format esm --dts --sourcemap --clean",
127
+ "build": "tsup src/index.ts src/agent/index.ts src/internal/agent.ts src/audio-generation/index.ts src/completion/index.ts src/embeddings/index.ts src/evals/index.ts src/image-generation/index.ts src/loaders/index.ts src/extractor/index.ts src/guardrails/index.ts src/mcp/index.ts src/memory/index.ts src/model-listing/index.ts src/observability/index.ts src/pipeline/index.ts src/skills/index.ts src/streaming/index.ts src/tool/index.ts src/ui/index.ts src/transcription/index.ts src/vector-store/index.ts --format esm --dts --sourcemap --clean",
136
128
  "test": "vitest run",
137
129
  "typecheck": "tsc --noEmit"
138
130
  }
@@ -1,222 +0,0 @@
1
- import { C as CompletionModel, M as Message, D as Document, l as JsonValue, P as ProviderTool, L as ToolChoice, J as JsonObject, j as ContextUsage } from './types-G12i56s2.js';
2
- import { GuardrailPolicyInput, GuardrailPolicy } from './guardrails/index.js';
3
- import { P as PromptHook } from './types-D9JpeAPF.js';
4
- import { q as MemoryContext, s as MemoryRegistration, u as SessionOptions } from './types-BrLbKnEz.js';
5
- import { j as AgentTraceOptions, P as PromptResponse, d as AgentStreamEvent, f as AgentStreamEventWithoutToolCallDeltas, g as AgentStreamOptions, k as AgentObserverRegistration } from './index-BxSbmOMr.js';
6
- import { e as ToolApprovalsOptions, T as Tool, A as AnyTool, f as ToolCallContext, N as NormalizedToolOutput } from './tool-Cohdv5GC.js';
7
- import { A as AgentMiddleware, i as ToolSearchDocument, j as ToolSet } from './middleware-Dp3d_pxi.js';
8
- import { V as VectorFilter, c as VectorSearchResult, a as VectorSearchIndex } from './types-O-abTIin.js';
9
-
10
- type CompletionRetryContext = {
11
- error: unknown;
12
- attempt: number;
13
- maxAttempts: number;
14
- turn: number;
15
- streaming: boolean;
16
- };
17
- type CompletionRetryOptions = {
18
- maxAttempts?: number | undefined;
19
- initialDelayMs?: number | undefined;
20
- maxDelayMs?: number | undefined;
21
- shouldRetry?: ((context: CompletionRetryContext) => boolean) | undefined;
22
- };
23
-
24
- declare class PromptRequest<M extends CompletionModel = CompletionModel> {
25
- private readonly agent;
26
- private promptMessage;
27
- private readonly memoryContext;
28
- private chatHistory;
29
- private maxTurnCount;
30
- private activeHook;
31
- private approvalOptions;
32
- private guardrailPolicies;
33
- private guardrailDecisions;
34
- private concurrency;
35
- private traceOptions;
36
- private completionRetryOptions;
37
- private requestMiddlewares;
38
- private readonly steeringMessages;
39
- private runState;
40
- private readonly memoryRecorder;
41
- private constructor();
42
- static fromAgent<M extends CompletionModel>(agent: Agent<M>, prompt: string | Message | Message[], options?: {
43
- memoryContext?: MemoryContext | undefined;
44
- }): PromptRequest<M>;
45
- maxTurns(maxTurns: number): this;
46
- withCompletionRetries(options?: CompletionRetryOptions): this;
47
- withHook(hook: PromptHook): this;
48
- approvals(options: ToolApprovalsOptions): this;
49
- guardrails(policies: GuardrailPolicyInput): this;
50
- withToolConcurrency(concurrency: number): this;
51
- withMiddleware(middleware: AgentMiddleware): this;
52
- withMiddlewares(middlewares: AgentMiddleware[]): this;
53
- withTrace(trace: AgentTraceOptions): this;
54
- steer(input: string | Message | Message[]): boolean;
55
- send(): Promise<PromptResponse>;
56
- stream(): AsyncIterable<AgentStreamEvent>;
57
- stream(options: {
58
- includeToolCallDeltas: false;
59
- }): AsyncIterable<AgentStreamEventWithoutToolCallDeltas>;
60
- stream(options: {
61
- includeToolCallDeltas?: true;
62
- }): AsyncIterable<AgentStreamEvent>;
63
- stream(options: AgentStreamOptions): AsyncIterable<AgentStreamEvent>;
64
- readableStream(options?: AgentStreamOptions): ReadableStream<Uint8Array>;
65
- private runCompletion;
66
- private generatedAssistantMessage;
67
- private providerTraceRequest;
68
- private generationStartArgs;
69
- private retryOptionsForFailure;
70
- private scheduleCompletionRetry;
71
- private executeToolCalls;
72
- private runOutputGuardrailsForResponse;
73
- private recordGuardrailDecision;
74
- private recordMemoryCompaction;
75
- private guardrailRunContext;
76
- private startRunObservers;
77
- private recordAgentEvent;
78
- private runCompletionCallHook;
79
- private runRunStartHook;
80
- private runRunEndHook;
81
- private runRunErrorHook;
82
- private runTurnStartHook;
83
- private runTurnEndHook;
84
- private runCompletionRequestMiddlewares;
85
- private runCompletionResponseMiddlewares;
86
- private runCompletionResponseHook;
87
- private runCompletionErrorHook;
88
- private activeMiddlewares;
89
- private shouldBufferStreamResponseEvents;
90
- private drainSteeringMessages;
91
- private startRun;
92
- private isTerminal;
93
- private cancelled;
94
- }
95
-
96
- type AgentOptions<M extends CompletionModel = CompletionModel> = {
97
- id: string;
98
- name?: string | undefined;
99
- description?: string | undefined;
100
- model: M;
101
- instructions?: string | undefined;
102
- staticContext?: Document[];
103
- temperature?: number | undefined;
104
- maxTokens?: number | undefined;
105
- additionalParams?: JsonValue | undefined;
106
- toolSet?: ToolSet | undefined;
107
- providerTools?: ProviderTool[] | undefined;
108
- toolChoice?: ToolChoice | undefined;
109
- defaultMaxTurns?: number | undefined;
110
- hook?: PromptHook | undefined;
111
- outputSchema?: JsonObject | undefined;
112
- observers?: AgentObserverRegistration[] | undefined;
113
- approvals?: ToolApprovalsOptions | undefined;
114
- guardrails?: GuardrailPolicy[] | undefined;
115
- dynamicContexts?: DynamicContextRegistration[] | undefined;
116
- dynamicTools?: DynamicToolRegistration[] | undefined;
117
- middlewares?: AgentMiddleware[] | undefined;
118
- memory?: MemoryRegistration | undefined;
119
- eventStore?: AgentEventStoreRegistration | undefined;
120
- };
121
- type AgentToolOptions = {
122
- name: string;
123
- description?: string | undefined;
124
- maxTurns?: number | undefined;
125
- stream?: boolean | undefined;
126
- };
127
- type AgentEventStoreInclude = "all" | "agent_tool_events";
128
- type AgentEventStoreOptions = {
129
- include?: AgentEventStoreInclude | undefined;
130
- };
131
- type AgentEventAppendInput = {
132
- runId: string;
133
- agentId: string;
134
- agentName?: string | undefined;
135
- turn?: number | undefined;
136
- toolName?: string | undefined;
137
- toolCallId?: string | undefined;
138
- internalCallId?: string | undefined;
139
- event: unknown;
140
- };
141
- type AgentEventRecord = AgentEventAppendInput & {
142
- createdAt?: Date | undefined;
143
- };
144
- interface AgentEventStore {
145
- append(input: AgentEventAppendInput): Promise<void>;
146
- load(runId: string): Promise<AgentEventRecord[]>;
147
- clear?(runId: string): Promise<void>;
148
- }
149
- type AgentEventStoreRegistration = {
150
- store: AgentEventStore;
151
- options: Required<AgentEventStoreOptions>;
152
- };
153
- type DynamicContextOptions<T = unknown> = {
154
- topK: number;
155
- threshold?: number | undefined;
156
- filter?: VectorFilter | undefined;
157
- format?: ((result: VectorSearchResult<T>) => Document) | undefined;
158
- };
159
- type DynamicContextRegistration<T = unknown> = {
160
- index: VectorSearchIndex<T>;
161
- options: DynamicContextOptions<T>;
162
- };
163
- type DynamicToolOptions = {
164
- topK: number;
165
- threshold?: number | undefined;
166
- filter?: VectorFilter | undefined;
167
- };
168
- type DynamicToolRegistration = {
169
- index: VectorSearchIndex<ToolSearchDocument>;
170
- options: DynamicToolOptions;
171
- };
172
-
173
- declare const DEFAULT_MAX_TURNS = 20;
174
- declare class Agent<M extends CompletionModel = CompletionModel> {
175
- readonly id: string;
176
- readonly name: string | undefined;
177
- readonly description: string | undefined;
178
- readonly model: M;
179
- readonly instructions: string | undefined;
180
- readonly staticContext: Document[];
181
- readonly temperature: number | undefined;
182
- readonly maxTokens: number | undefined;
183
- readonly additionalParams: JsonValue | undefined;
184
- readonly toolSet: ToolSet;
185
- readonly providerTools: ProviderTool[];
186
- readonly toolChoice: ToolChoice | undefined;
187
- readonly defaultMaxTurns: number | undefined;
188
- readonly hook: PromptHook | undefined;
189
- readonly outputSchema: JsonObject | undefined;
190
- readonly observers: AgentObserverRegistration[];
191
- readonly approvals: ToolApprovalsOptions | undefined;
192
- readonly guardrails: GuardrailPolicy[];
193
- readonly dynamicContexts: DynamicContextRegistration[];
194
- readonly dynamicTools: DynamicToolRegistration[];
195
- readonly middlewares: AgentMiddleware[];
196
- readonly memory: MemoryRegistration | undefined;
197
- readonly eventStore: AgentEventStoreRegistration | undefined;
198
- constructor(options: AgentOptions<M>);
199
- prompt(prompt: string | Message | Message[]): PromptRequest<M>;
200
- session(sessionId: string, options?: SessionOptions): AgentSession<M>;
201
- asTool(options: AgentToolOptions): Tool<{
202
- prompt: string;
203
- }, string>;
204
- getTool(toolName: string): AnyTool | undefined;
205
- callTool(toolName: string, args: string, context?: ToolCallContext): Promise<NormalizedToolOutput>;
206
- shouldApplyToolMiddleware(toolName: string): boolean;
207
- }
208
- declare class AgentSession<M extends CompletionModel = CompletionModel> {
209
- private readonly agent;
210
- private readonly context;
211
- constructor(agent: Agent<M>, context: {
212
- sessionId: string;
213
- userId?: string | undefined;
214
- metadata?: JsonObject | undefined;
215
- });
216
- prompt(prompt: string | Message): PromptRequest<M>;
217
- messages(): Promise<Message[]>;
218
- contextUsage(): Promise<ContextUsage | undefined>;
219
- clear(): Promise<void>;
220
- }
221
-
222
- export { Agent as A, type CompletionRetryContext as C, type DynamicContextOptions as D, PromptRequest as P, type CompletionRetryOptions as a, type DynamicToolOptions as b, type AgentEventStore as c, type AgentEventStoreOptions as d, type AgentEventAppendInput as e, type AgentEventRecord as f, type AgentEventStoreInclude as g, AgentSession as h, type AgentToolOptions as i, type AgentEventStoreRegistration as j, type AgentOptions as k, DEFAULT_MAX_TURNS as l, type DynamicContextRegistration as m, type DynamicToolRegistration as n };
@@ -1,54 +0,0 @@
1
- // src/hooks/control.ts
2
- function createHook(hook) {
3
- return hook;
4
- }
5
- function cancelPrompt(reason) {
6
- return { type: "terminate", reason };
7
- }
8
- function skipTool(reason) {
9
- return { type: "skip", reason };
10
- }
11
- function requestToolApproval(options = {}) {
12
- const action = {
13
- type: "approval_request"
14
- };
15
- if (options.reason !== void 0) {
16
- action.reason = options.reason;
17
- }
18
- if (options.rejectMessage !== void 0) {
19
- action.rejectMessage = options.rejectMessage;
20
- }
21
- return action;
22
- }
23
- var runControl = {
24
- continue() {
25
- return { type: "continue" };
26
- },
27
- cancel(reason) {
28
- return cancelPrompt(reason);
29
- }
30
- };
31
- var toolCallControl = {
32
- run() {
33
- return { type: "continue" };
34
- },
35
- skip(reason) {
36
- return skipTool(reason);
37
- },
38
- cancel(reason) {
39
- return { type: "terminate", reason };
40
- },
41
- requestApproval(options) {
42
- return requestToolApproval(options);
43
- }
44
- };
45
-
46
- export {
47
- createHook,
48
- cancelPrompt,
49
- skipTool,
50
- requestToolApproval,
51
- runControl,
52
- toolCallControl
53
- };
54
- //# sourceMappingURL=chunk-2ODTMRHP.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/control.ts"],"sourcesContent":["import type {\n HookAction,\n PromptHook,\n RunControl,\n ToolApprovalRequestOptions,\n ToolCallControl,\n ToolCallHookAction,\n} from \"./types\";\n\nexport function createHook<RawResponse = unknown>(\n hook: PromptHook<RawResponse>,\n): PromptHook<RawResponse> {\n return hook;\n}\n\nexport function cancelPrompt(reason: string): HookAction {\n return { type: \"terminate\", reason };\n}\n\nexport function skipTool(reason: string): ToolCallHookAction {\n return { type: \"skip\", reason };\n}\n\nexport function requestToolApproval(options: ToolApprovalRequestOptions = {}): ToolCallHookAction {\n const action: ToolCallHookAction = {\n type: \"approval_request\" as const,\n };\n if (options.reason !== undefined) {\n action.reason = options.reason;\n }\n if (options.rejectMessage !== undefined) {\n action.rejectMessage = options.rejectMessage;\n }\n return action;\n}\n\nexport const runControl: RunControl = {\n continue() {\n return { type: \"continue\" };\n },\n cancel(reason: string) {\n return cancelPrompt(reason);\n },\n};\n\nexport const toolCallControl: ToolCallControl = {\n run() {\n return { type: \"continue\" };\n },\n skip(reason: string) {\n return skipTool(reason);\n },\n cancel(reason: string) {\n return { type: \"terminate\", reason };\n },\n requestApproval(options) {\n return requestToolApproval(options);\n },\n};\n"],"mappings":";AASO,SAAS,WACd,MACyB;AACzB,SAAO;AACT;AAEO,SAAS,aAAa,QAA4B;AACvD,SAAO,EAAE,MAAM,aAAa,OAAO;AACrC;AAEO,SAAS,SAAS,QAAoC;AAC3D,SAAO,EAAE,MAAM,QAAQ,OAAO;AAChC;AAEO,SAAS,oBAAoB,UAAsC,CAAC,GAAuB;AAChG,QAAM,SAA6B;AAAA,IACjC,MAAM;AAAA,EACR;AACA,MAAI,QAAQ,WAAW,QAAW;AAChC,WAAO,SAAS,QAAQ;AAAA,EAC1B;AACA,MAAI,QAAQ,kBAAkB,QAAW;AACvC,WAAO,gBAAgB,QAAQ;AAAA,EACjC;AACA,SAAO;AACT;AAEO,IAAM,aAAyB;AAAA,EACpC,WAAW;AACT,WAAO,EAAE,MAAM,WAAW;AAAA,EAC5B;AAAA,EACA,OAAO,QAAgB;AACrB,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;AAEO,IAAM,kBAAmC;AAAA,EAC9C,MAAM;AACJ,WAAO,EAAE,MAAM,WAAW;AAAA,EAC5B;AAAA,EACA,KAAK,QAAgB;AACnB,WAAO,SAAS,MAAM;AAAA,EACxB;AAAA,EACA,OAAO,QAAgB;AACrB,WAAO,EAAE,MAAM,aAAa,OAAO;AAAA,EACrC;AAAA,EACA,gBAAgB,SAAS;AACvB,WAAO,oBAAoB,OAAO;AAAA,EACpC;AACF;","names":[]}