@llumiverse/core 0.23.0 → 0.24.0-dev.20260203.164053Z

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 (80) hide show
  1. package/README.md +141 -218
  2. package/package.json +3 -3
  3. package/src/CompletionStream.ts +70 -1
  4. package/src/Driver.ts +20 -0
  5. package/src/conversation-utils.ts +497 -0
  6. package/src/index.ts +1 -0
  7. package/src/stream.ts +1 -0
  8. package/lib/cjs/CompletionStream.js +0 -179
  9. package/lib/cjs/CompletionStream.js.map +0 -1
  10. package/lib/cjs/Driver.js +0 -180
  11. package/lib/cjs/Driver.js.map +0 -1
  12. package/lib/cjs/async.js +0 -131
  13. package/lib/cjs/async.js.map +0 -1
  14. package/lib/cjs/formatters/commons.js +0 -7
  15. package/lib/cjs/formatters/commons.js.map +0 -1
  16. package/lib/cjs/formatters/generic.js +0 -59
  17. package/lib/cjs/formatters/generic.js.map +0 -1
  18. package/lib/cjs/formatters/index.js +0 -20
  19. package/lib/cjs/formatters/index.js.map +0 -1
  20. package/lib/cjs/formatters/nova.js +0 -99
  21. package/lib/cjs/formatters/nova.js.map +0 -1
  22. package/lib/cjs/index.js +0 -21
  23. package/lib/cjs/index.js.map +0 -1
  24. package/lib/cjs/json.js +0 -29
  25. package/lib/cjs/json.js.map +0 -1
  26. package/lib/cjs/package.json +0 -3
  27. package/lib/cjs/resolver.js +0 -45
  28. package/lib/cjs/resolver.js.map +0 -1
  29. package/lib/cjs/stream.js +0 -30
  30. package/lib/cjs/stream.js.map +0 -1
  31. package/lib/cjs/validation.js +0 -96
  32. package/lib/cjs/validation.js.map +0 -1
  33. package/lib/esm/CompletionStream.js +0 -174
  34. package/lib/esm/CompletionStream.js.map +0 -1
  35. package/lib/esm/Driver.js +0 -175
  36. package/lib/esm/Driver.js.map +0 -1
  37. package/lib/esm/async.js +0 -123
  38. package/lib/esm/async.js.map +0 -1
  39. package/lib/esm/formatters/commons.js +0 -4
  40. package/lib/esm/formatters/commons.js.map +0 -1
  41. package/lib/esm/formatters/generic.js +0 -55
  42. package/lib/esm/formatters/generic.js.map +0 -1
  43. package/lib/esm/formatters/index.js +0 -4
  44. package/lib/esm/formatters/index.js.map +0 -1
  45. package/lib/esm/formatters/nova.js +0 -96
  46. package/lib/esm/formatters/nova.js.map +0 -1
  47. package/lib/esm/index.js +0 -5
  48. package/lib/esm/index.js.map +0 -1
  49. package/lib/esm/json.js +0 -25
  50. package/lib/esm/json.js.map +0 -1
  51. package/lib/esm/resolver.js +0 -42
  52. package/lib/esm/resolver.js.map +0 -1
  53. package/lib/esm/stream.js +0 -25
  54. package/lib/esm/stream.js.map +0 -1
  55. package/lib/esm/validation.js +0 -88
  56. package/lib/esm/validation.js.map +0 -1
  57. package/lib/types/CompletionStream.d.ts +0 -20
  58. package/lib/types/CompletionStream.d.ts.map +0 -1
  59. package/lib/types/Driver.d.ts +0 -75
  60. package/lib/types/Driver.d.ts.map +0 -1
  61. package/lib/types/async.d.ts +0 -27
  62. package/lib/types/async.d.ts.map +0 -1
  63. package/lib/types/formatters/commons.d.ts +0 -3
  64. package/lib/types/formatters/commons.d.ts.map +0 -1
  65. package/lib/types/formatters/generic.d.ts +0 -13
  66. package/lib/types/formatters/generic.d.ts.map +0 -1
  67. package/lib/types/formatters/index.d.ts +0 -4
  68. package/lib/types/formatters/index.d.ts.map +0 -1
  69. package/lib/types/formatters/nova.d.ts +0 -40
  70. package/lib/types/formatters/nova.d.ts.map +0 -1
  71. package/lib/types/index.d.ts +0 -5
  72. package/lib/types/index.d.ts.map +0 -1
  73. package/lib/types/json.d.ts +0 -4
  74. package/lib/types/json.d.ts.map +0 -1
  75. package/lib/types/resolver.d.ts +0 -2
  76. package/lib/types/resolver.d.ts.map +0 -1
  77. package/lib/types/stream.d.ts +0 -4
  78. package/lib/types/stream.d.ts.map +0 -1
  79. package/lib/types/validation.d.ts +0 -7
  80. package/lib/types/validation.d.ts.map +0 -1
@@ -1,27 +0,0 @@
1
- import type { ServerSentEvent } from "@vertesia/api-fetch-client";
2
- import { CompletionChunkObject } from "@llumiverse/common";
3
- export declare function asyncMap<T, R>(asyncIterable: AsyncIterable<T>, callback: (value: T, index: number) => R): AsyncGenerator<Awaited<R>, void, unknown>;
4
- export declare function oneAsyncIterator<T>(value: T): AsyncIterable<T>;
5
- /**
6
- * Given a ReadableStream of server sent events, tran
7
- */
8
- export declare function transformSSEStream(stream: ReadableStream<ServerSentEvent>, transform: (data: string) => CompletionChunkObject): ReadableStream<CompletionChunkObject> & AsyncIterable<CompletionChunkObject>;
9
- export declare class EventStream<T, ReturnT = any> implements AsyncIterable<T> {
10
- private queue;
11
- private pending?;
12
- private done;
13
- push(event: T): void;
14
- /**
15
- * Close the stream. This means the stream cannot be fed anymore.
16
- * But the consumer can still consume the remaining events.
17
- */
18
- close(value?: ReturnT): void;
19
- [Symbol.asyncIterator](): AsyncIterator<T, ReturnT | undefined>;
20
- }
21
- /**
22
- * Transform an async iterator by applying a function to each value.
23
- * @param originalGenerator
24
- * @param transform
25
- **/
26
- export declare function transformAsyncIterator<T, V>(originalGenerator: AsyncIterable<T>, transform: (value: T) => V | Promise<V>, initCallback?: () => V | Promise<V>): AsyncIterable<V>;
27
- //# sourceMappingURL=async.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,wBAAuB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,6CAI9G;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAe5M;AAED,qBAAa,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAElE,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAC,CAGd;IACF,OAAO,CAAC,IAAI,CAAS;IAGrB,IAAI,CAAC,KAAK,EAAE,CAAC;IAYb;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO;IAQrB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CA0BlE;AAID;;;;IAII;AACJ,wBAAuB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAC9C,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACvC,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACpC,aAAa,CAAC,CAAC,CAAC,CAOlB"}
@@ -1,3 +0,0 @@
1
- import { JSONSchema } from "@llumiverse/common";
2
- export declare function getJSONSafetyNotice(schema: JSONSchema): string;
3
- //# sourceMappingURL=commons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commons.d.ts","sourceRoot":"","sources":["../../../src/formatters/commons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,UAErD"}
@@ -1,13 +0,0 @@
1
- import { JSONSchema } from "@llumiverse/common";
2
- import { PromptSegment } from "@llumiverse/common";
3
- interface Labels {
4
- user: string;
5
- system: string;
6
- assistant: string;
7
- safety: string;
8
- instruction: string;
9
- }
10
- export declare function createTextPromptFormatter(labels?: Labels): (segments: PromptSegment[], schema?: JSONSchema) => string;
11
- declare const formatTextPrompt: (segments: PromptSegment[], schema?: JSONSchema) => string;
12
- export { formatTextPrompt };
13
- //# sourceMappingURL=generic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/formatters/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG/D,UAAU,MAAM;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAMjD,IACqC,UAAU,aAAa,EAAE,EAAE,SAAS,UAAU,KAAG,MAAM,CA2C5F;AAED,QAAA,MAAM,gBAAgB,aA7C0B,aAAa,EAAE,WAAW,UAAU,KAAG,MA6CnC,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from "./commons.js";
2
- export * from "./generic.js";
3
- export * from "./nova.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -1,40 +0,0 @@
1
- import { JSONSchema } from "@llumiverse/common";
2
- import { PromptSegment } from "@llumiverse/common";
3
- export interface NovaMessage {
4
- role: 'user' | 'assistant';
5
- content: NovaMessagePart[];
6
- }
7
- export interface NovaSystemMessage {
8
- text: string;
9
- }
10
- interface NovaMessagePart {
11
- text?: string;
12
- image?: {
13
- format: "jpeg" | "png" | "gif" | "webp";
14
- source: {
15
- bytes: string;
16
- };
17
- };
18
- video?: {
19
- format: "mkv" | "mov" | "mp4" | "webm" | "three_gp" | "flv" | "mpeg" | "mpg" | "wmv";
20
- source: {
21
- s3Location?: {
22
- uri: string;
23
- bucketOwner: string;
24
- };
25
- bytes?: string;
26
- };
27
- };
28
- }
29
- export interface NovaMessagesPrompt {
30
- system?: NovaSystemMessage[];
31
- messages: NovaMessage[];
32
- negative?: string;
33
- mask?: string;
34
- }
35
- /**
36
- * A formatter used by Bedrock to format prompts for nova related models
37
- */
38
- export declare function formatNovaPrompt(segments: PromptSegment[], schema?: JSONSchema): Promise<NovaMessagesPrompt>;
39
- export {};
40
- //# sourceMappingURL=nova.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nova.d.ts","sourceRoot":"","sources":["../../../src/formatters/nova.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAc,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI/D,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,eAAe,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAA;CACf;AAED,UAAU,eAAe;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QACJ,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;QACxC,MAAM,EAAE;YACJ,KAAK,EAAE,MAAM,CAAA;SAChB,CAAA;KACJ,CAAA;IACD,KAAK,CAAC,EAAE;QACJ,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;QACrF,MAAM,EAAE;YAEJ,UAAU,CAAC,EAAE;gBACT,GAAG,EAAE,MAAM,CAAC;gBACZ,WAAW,EAAE,MAAM,CAAA;aACtB,CAAA;YAED,KAAK,CAAC,EAAE,MAAM,CAAA;SACjB,CAAA;KACJ,CAAA;CACJ;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AAEH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6FlH"}
@@ -1,5 +0,0 @@
1
- export * from "./Driver.js";
2
- export * from "./json.js";
3
- export * from "./stream.js";
4
- export * from "@llumiverse/common";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { JSONValue } from "@llumiverse/common";
2
- export declare function extractAndParseJSON(text: string): JSONValue;
3
- export declare function parseJSON(text: string): JSONValue;
4
- //# sourceMappingURL=json.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAS/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE3D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAYjD"}
@@ -1,2 +0,0 @@
1
- export declare function resolveField(object: any, path: string[]): any;
2
- //# sourceMappingURL=resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"AA0BA,wBAAgB,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAYvD"}
@@ -1,4 +0,0 @@
1
- export declare function readStreamAsBase64(stream: ReadableStream): Promise<string>;
2
- export declare function readStreamAsString(stream: ReadableStream): Promise<string>;
3
- export declare function readStreamAsUint8Array(stream: ReadableStream): Promise<Uint8Array>;
4
- //# sourceMappingURL=stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AACA,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhF;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAkBxF"}
@@ -1,7 +0,0 @@
1
- import { CompletionResult, ResultValidationError } from "@llumiverse/common";
2
- export declare class ValidationError extends Error implements ResultValidationError {
3
- code: 'validation_error' | 'json_error';
4
- constructor(code: 'validation_error' | 'json_error', message: string);
5
- }
6
- export declare function validateResult(data: CompletionResult[], schema: Object): CompletionResult[];
7
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAoB7E,qBAAa,eAAgB,SAAQ,KAAM,YAAW,qBAAqB;IAE5D,IAAI,EAAE,kBAAkB,GAAG,YAAY;gBAAvC,IAAI,EAAE,kBAAkB,GAAG,YAAY,EAC9C,OAAO,EAAE,MAAM;CAKtB;AAqBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAgD3F"}