@patternzones/koine-sdk 2.1.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -43,6 +43,8 @@ console.log(result.text);
43
43
  - **Text Generation** — `generateText()` for simple prompts
44
44
  - **Streaming** — `streamText()` with ReadableStream (async iterable)
45
45
  - **Structured Output** — `generateObject()` with Zod schema validation
46
+ - **Tool Restrictions** — `allowedTools` parameter to limit CLI tool access
47
+ - **Streaming Structured Output** — `streamObject()` with partial object streaming
46
48
  - **Cancellation** — AbortSignal support for all requests
47
49
  - **Type Safety** — Full TypeScript types for all requests and responses
48
50
  - **Error Handling** — `KoineError` class with typed error codes
@@ -64,6 +66,7 @@ Creates a client instance with the given configuration. The config is validated
64
66
  | `koine.generateText(options)` | Generate text from a prompt |
65
67
  | `koine.streamText(options)` | Stream text via Server-Sent Events |
66
68
  | `koine.generateObject(options)` | Extract structured data using a Zod schema |
69
+ | `koine.streamObject(options)` | Stream structured data with partial updates |
67
70
 
68
71
  ### Types
69
72
 
@@ -73,6 +76,7 @@ Creates a client instance with the given configuration. The config is validated
73
76
  | `KoineClient` | Client interface returned by `createKoine()` |
74
77
  | `KoineUsage` | Token usage stats (inputTokens, outputTokens, totalTokens) |
75
78
  | `KoineStreamResult` | Streaming result with ReadableStream and promises |
79
+ | `KoineStreamObjectResult<T>` | Streaming object result with partialObjectStream |
76
80
  | `KoineError` | Error class with typed `code` property |
77
81
  | `KoineErrorCode` | Union type of all possible error codes |
78
82
 
@@ -104,6 +108,7 @@ See the [SDK Guide](https://github.com/pattern-zones-co/koine/blob/main/docs/sdk
104
108
  - Configuration options
105
109
  - Streaming examples
106
110
  - Structured output with Zod
111
+ - Tool restrictions
107
112
  - Error handling
108
113
  - Multi-turn conversations
109
114
 
@@ -113,10 +118,11 @@ Runnable examples are available in the [`examples/`](https://github.com/pattern-
113
118
 
114
119
  ```bash
115
120
  cd packages/sdks/typescript
116
- bun run example:hello # Basic text generation
117
- bun run example:recipe # Structured output with Zod
118
- bun run example:stream # Real-time streaming
119
- bun run example:conversation # Multi-turn sessions
121
+ bun run example:hello # Basic text generation
122
+ bun run example:recipe # Structured output with Zod
123
+ bun run example:stream # Real-time streaming
124
+ bun run example:stream-object # Streaming structured output
125
+ bun run example:conversation # Multi-turn sessions
120
126
  ```
121
127
 
122
128
  ## License
package/dist/client.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import { type GenerateObjectOptions, type GenerateObjectResult, generateObject } from "./object.js";
2
+ import { type StreamObjectOptions, streamObject } from "./stream-object.js";
2
3
  import { type StreamTextOptions, streamText } from "./stream/index.js";
3
4
  import { type GenerateTextOptions, type GenerateTextResult, generateText } from "./text.js";
4
- import type { KoineConfig, KoineStreamResult } from "./types.js";
5
- export { generateText, streamText, generateObject };
6
- export type { GenerateTextOptions, GenerateTextResult, StreamTextOptions, GenerateObjectOptions, GenerateObjectResult, };
5
+ import type { KoineConfig, KoineStreamObjectResult, KoineStreamResult } from "./types.js";
6
+ export { generateText, streamText, generateObject, streamObject };
7
+ export type { GenerateTextOptions, GenerateTextResult, StreamTextOptions, GenerateObjectOptions, GenerateObjectResult, StreamObjectOptions, };
7
8
  /**
8
9
  * Koine client interface returned by createKoine.
9
10
  */
@@ -33,6 +34,15 @@ export interface KoineClient {
33
34
  * @throws {KoineError} With code 'VALIDATION_ERROR' if response doesn't match schema
34
35
  */
35
36
  generateObject<T>(options: GenerateObjectOptions<T>): Promise<GenerateObjectResult<T>>;
37
+ /**
38
+ * Streams structured JSON objects from Koine gateway service.
39
+ *
40
+ * @typeParam T - The type of the expected response object, inferred from schema
41
+ * @param options - Request options including Zod schema
42
+ * @returns KoineStreamObjectResult with partialObjectStream, object, sessionId, usage
43
+ * @throws {KoineError} When connection fails or stream encounters an error
44
+ */
45
+ streamObject<T>(options: StreamObjectOptions<T>): Promise<KoineStreamObjectResult<T>>;
36
46
  }
37
47
  /**
38
48
  * Creates a Koine client instance with the given configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,YAAY,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACpD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,GACpB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAExE;;;;;;OAMG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEnE;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,EACf,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAU5D"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,cAAc,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,mBAAmB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,YAAY,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACX,WAAW,EACX,uBAAuB,EACvB,iBAAiB,EACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAClE,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACnB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAExE;;;;;;OAMG;IACH,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEnE;;;;;;;OAOG;IACH,cAAc,CAAC,CAAC,EACf,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpC;;;;;;;OAOG;IACH,YAAY,CAAC,CAAC,EACb,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAY5D"}
package/dist/client.js CHANGED
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateObject = exports.streamText = exports.generateText = void 0;
3
+ exports.streamObject = exports.generateObject = exports.streamText = exports.generateText = void 0;
4
4
  exports.createKoine = createKoine;
5
5
  // Import and re-export functions from the new modules
6
6
  const http_js_1 = require("./http.js");
7
7
  const object_js_1 = require("./object.js");
8
8
  Object.defineProperty(exports, "generateObject", { enumerable: true, get: function () { return object_js_1.generateObject; } });
9
+ const stream_object_js_1 = require("./stream-object.js");
10
+ Object.defineProperty(exports, "streamObject", { enumerable: true, get: function () { return stream_object_js_1.streamObject; } });
9
11
  const index_js_1 = require("./stream/index.js");
10
12
  Object.defineProperty(exports, "streamText", { enumerable: true, get: function () { return index_js_1.streamText; } });
11
13
  const text_js_1 = require("./text.js");
@@ -41,6 +43,7 @@ function createKoine(config) {
41
43
  generateText: (options) => (0, text_js_1.generateText)(config, options),
42
44
  streamText: (options) => (0, index_js_1.streamText)(config, options),
43
45
  generateObject: (options) => (0, object_js_1.generateObject)(config, options),
46
+ streamObject: (options) => (0, stream_object_js_1.streamObject)(config, options),
44
47
  };
45
48
  }
46
49
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAoFA,kCAUC;AA9FD,sDAAsD;AACtD,uCAA2C;AAC3C,2CAIqB;AAUc,+FAXlC,0BAAc,OAWkC;AATjD,gDAAuE;AAShD,2FATU,qBAAU,OASV;AARjC,uCAImB;AAIV,6FALR,sBAAY,OAKQ;AA4CrB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,WAAW,CAAC,MAAmB;IAC9C,wCAAwC;IACxC,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,OAAO;QACN,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,OAAO,CAAC;QACxD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,MAAM,EAAE,OAAO,CAAC;QACpD,cAAc,EAAE,CAAI,OAAiC,EAAE,EAAE,CACxD,IAAA,0BAAc,EAAC,MAAM,EAAE,OAAO,CAAC;KAChC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAsGA,kCAYC;AAlHD,sDAAsD;AACtD,uCAA2C;AAC3C,2CAIqB;AAec,+FAhBlC,0BAAc,OAgBkC;AAdjD,yDAA4E;AAczB,6FAdhB,+BAAY,OAcgB;AAb/D,gDAAuE;AAahD,2FAbU,qBAAU,OAaV;AAZjC,uCAImB;AAQV,6FATR,sBAAY,OASQ;AAyDrB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,WAAW,CAAC,MAAmB;IAC9C,wCAAwC;IACxC,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,OAAO;QACN,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,OAAO,CAAC;QACxD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,MAAM,EAAE,OAAO,CAAC;QACpD,cAAc,EAAE,CAAI,OAAiC,EAAE,EAAE,CACxD,IAAA,0BAAc,EAAC,MAAM,EAAE,OAAO,CAAC;QAChC,YAAY,EAAE,CAAI,OAA+B,EAAE,EAAE,CACpD,IAAA,+BAAY,EAAC,MAAM,EAAE,OAAO,CAAC;KAC9B,CAAC;AACH,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Known error codes returned by the SDK and gateway.
3
3
  */
4
- export type KoineErrorCode = "HTTP_ERROR" | "INVALID_RESPONSE" | "INVALID_CONFIG" | "VALIDATION_ERROR" | "STREAM_ERROR" | "SSE_PARSE_ERROR" | "NO_SESSION" | "NO_USAGE" | "NO_RESPONSE_BODY" | "TIMEOUT" | "NETWORK_ERROR" | "INVALID_PARAMS" | "AUTH_ERROR" | "UNAUTHORIZED" | "SERVER_ERROR" | "SCHEMA_ERROR" | "RATE_LIMITED" | "CONTEXT_OVERFLOW";
4
+ export type KoineErrorCode = "HTTP_ERROR" | "INVALID_RESPONSE" | "INVALID_CONFIG" | "VALIDATION_ERROR" | "STREAM_ERROR" | "SSE_PARSE_ERROR" | "NO_SESSION" | "NO_USAGE" | "NO_OBJECT" | "NO_RESPONSE_BODY" | "TIMEOUT" | "NETWORK_ERROR" | "INVALID_PARAMS" | "AUTH_ERROR" | "UNAUTHORIZED" | "SERVER_ERROR" | "SCHEMA_ERROR" | "RATE_LIMITED" | "CONTEXT_OVERFLOW";
5
5
  /**
6
6
  * Custom error class for Koine client errors.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAEvB,YAAY,GACZ,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,UAAU,GACV,kBAAkB,GAClB,SAAS,GACT,eAAe,GAEf,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,kBAAkB,CAAC;AAEtB;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM;CAQnE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAEvB,YAAY,GACZ,kBAAkB,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,iBAAiB,GACjB,YAAY,GACZ,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,SAAS,GACT,eAAe,GAEf,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,cAAc,GACd,cAAc,GACd,cAAc,GACd,kBAAkB,CAAC;AAEtB;;;;;;;;;;;;;GAaG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM;CAQnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAyBA;;;;;;;;;;;;;GAaG;AACH,MAAa,UAAW,SAAQ,KAAK;IAC3B,IAAI,CAAiB;IACrB,OAAO,CAAU;IAE1B,YAAY,OAAe,EAAE,IAAoB,EAAE,OAAgB;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,sEAAsE;QACtE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAZD,gCAYC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AA0BA;;;;;;;;;;;;;GAaG;AACH,MAAa,UAAW,SAAQ,KAAK;IAC3B,IAAI,CAAiB;IACrB,OAAO,CAAU;IAE1B,YAAY,OAAe,EAAE,IAAoB,EAAE,OAAgB;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,sEAAsE;QACtE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAZD,gCAYC"}
package/dist/index.d.ts CHANGED
@@ -21,10 +21,10 @@
21
21
  * console.log(result.text);
22
22
  * ```
23
23
  */
24
- export type { KoineConfig, KoineUsage, KoineStreamResult } from "./types.js";
24
+ export type { KoineConfig, KoineUsage, KoineStreamResult, KoineStreamObjectResult, } from "./types.js";
25
25
  export { KoineError } from "./errors.js";
26
26
  export type { KoineErrorCode } from "./errors.js";
27
27
  export { createKoine } from "./client.js";
28
- export type { KoineClient, GenerateTextOptions, GenerateTextResult, StreamTextOptions, GenerateObjectOptions, GenerateObjectResult, } from "./client.js";
29
- export { generateText, streamText, generateObject } from "./client.js";
28
+ export type { KoineClient, GenerateTextOptions, GenerateTextResult, StreamTextOptions, GenerateObjectOptions, GenerateObjectResult, StreamObjectOptions, } from "./client.js";
29
+ export { generateText, streamText, generateObject, streamObject, } from "./client.js";
30
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EACX,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,YAAY,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EACX,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACN,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,GACZ,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -23,7 +23,7 @@
23
23
  * ```
24
24
  */
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.generateObject = exports.streamText = exports.generateText = exports.createKoine = exports.KoineError = void 0;
26
+ exports.streamObject = exports.generateObject = exports.streamText = exports.generateText = exports.createKoine = exports.KoineError = void 0;
27
27
  // Errors
28
28
  var errors_js_1 = require("./errors.js");
29
29
  Object.defineProperty(exports, "KoineError", { enumerable: true, get: function () { return errors_js_1.KoineError; } });
@@ -35,4 +35,5 @@ var client_js_2 = require("./client.js");
35
35
  Object.defineProperty(exports, "generateText", { enumerable: true, get: function () { return client_js_2.generateText; } });
36
36
  Object.defineProperty(exports, "streamText", { enumerable: true, get: function () { return client_js_2.streamText; } });
37
37
  Object.defineProperty(exports, "generateObject", { enumerable: true, get: function () { return client_js_2.generateObject; } });
38
+ Object.defineProperty(exports, "streamObject", { enumerable: true, get: function () { return client_js_2.streamObject; } });
38
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAKH,SAAS;AACT,yCAAyC;AAAhC,uGAAA,UAAU,OAAA;AAGnB,mCAAmC;AACnC,yCAA0C;AAAjC,wGAAA,WAAW,OAAA;AAUpB,sDAAsD;AACtD,yCAAuE;AAA9D,yGAAA,YAAY,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,2GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAUH,SAAS;AACT,yCAAyC;AAAhC,uGAAA,UAAU,OAAA;AAGnB,mCAAmC;AACnC,yCAA0C;AAAjC,wGAAA,WAAW,OAAA;AAWpB,sDAAsD;AACtD,yCAKqB;AAJpB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,yGAAA,YAAY,OAAA"}
package/dist/object.d.ts CHANGED
@@ -21,6 +21,7 @@ export declare function generateObject<T>(config: KoineConfig, options: {
21
21
  prompt: string;
22
22
  schema: z.ZodSchema<T>;
23
23
  sessionId?: string;
24
+ allowedTools?: string[];
24
25
  signal?: AbortSignal;
25
26
  }): Promise<{
26
27
  object: T;
@@ -40,6 +41,8 @@ export interface GenerateObjectOptions<T> {
40
41
  system?: string;
41
42
  /** Optional session ID to continue a conversation */
42
43
  sessionId?: string;
44
+ /** Optional list of tools to allow for this request */
45
+ allowedTools?: string[];
43
46
  /** Optional AbortSignal for cancellation */
44
47
  signal?: AbortSignal;
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAU7B,OAAO,KAAK,EAGX,WAAW,EACX,UAAU,EACV,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GACC,OAAO,CAAC;IACV,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC,CA8DD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAU7B,OAAO,KAAK,EAGX,WAAW,EACX,UAAU,EACV,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACrC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GACC,OAAO,CAAC;IACV,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC,CA+DD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACvC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B"}
package/dist/object.js CHANGED
@@ -39,6 +39,7 @@ async function generateObject(config, options) {
39
39
  schema: jsonSchema,
40
40
  sessionId: options.sessionId,
41
41
  model: config.model,
42
+ allowedTools: options.allowedTools,
42
43
  }),
43
44
  signal: (0, http_js_1.createAbortSignal)(config.timeout, options.signal),
44
45
  }, config.timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":";;AAiCA,wCA4EC;AA5GD,2DAAqD;AACrD,2CAAyC;AACzC,uCAMmB;AAQnB;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CACnC,MAAmB,EACnB,OAMC;IAOD,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,4DAA4D;IAC5D,MAAM,UAAU,GAAG,IAAA,oCAAe,EAAC,OAAO,CAAC,MAAM,EAAE;QAClD,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,aAAa;KACrB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAS,EAC/B,GAAG,MAAM,CAAC,OAAO,kBAAkB,EACnC;QACC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC;QACF,MAAM,EAAE,IAAA,2BAAiB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;KACzD,EACD,MAAM,CAAC,OAAO,CACd,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAgB,QAAQ,CAAC,CAAC;QAC/D,MAAM,IAAI,sBAAU,CACnB,SAAS,EAAE,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACpE,IAAA,qBAAW,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAC1C,SAAS,EAAE,OAAO,CAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAyB,QAAQ,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,sBAAU,CACnB,oDAAoD,EACpD,kBAAkB,CAClB,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAU,CACnB,+BAA+B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAC1D,kBAAkB,EAClB,MAAM,CAAC,OAAO,CACd,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,EAAE,WAAW,CAAC,IAAI;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":";;AAiCA,wCA8EC;AA9GD,2DAAqD;AACrD,2CAAyC;AACzC,uCAMmB;AAQnB;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CACnC,MAAmB,EACnB,OAOC;IAOD,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,4DAA4D;IAC5D,MAAM,UAAU,GAAG,IAAA,oCAAe,EAAC,OAAO,CAAC,MAAM,EAAE;QAClD,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,aAAa;KACrB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAS,EAC/B,GAAG,MAAM,CAAC,OAAO,kBAAkB,EACnC;QACC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC;QACF,MAAM,EAAE,IAAA,2BAAiB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;KACzD,EACD,MAAM,CAAC,OAAO,CACd,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAgB,QAAQ,CAAC,CAAC;QAC/D,MAAM,IAAI,sBAAU,CACnB,SAAS,EAAE,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACpE,IAAA,qBAAW,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAC1C,SAAS,EAAE,OAAO,CAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAyB,QAAQ,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,sBAAU,CACnB,oDAAoD,EACpD,kBAAkB,CAClB,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAU,CACnB,+BAA+B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAC1D,kBAAkB,EAClB,MAAM,CAAC,OAAO,CACd,CAAC;IACH,CAAC;IAED,OAAO;QACN,MAAM,EAAE,WAAW,CAAC,IAAI;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC"}
@@ -19,6 +19,7 @@ export declare function streamText(config: KoineConfig, options: {
19
19
  system?: string;
20
20
  prompt: string;
21
21
  sessionId?: string;
22
+ allowedTools?: string[];
22
23
  signal?: AbortSignal;
23
24
  }): Promise<KoineStreamResult>;
24
25
  /**
@@ -31,6 +32,8 @@ export interface StreamTextOptions {
31
32
  system?: string;
32
33
  /** Optional session ID to continue a conversation */
33
34
  sessionId?: string;
35
+ /** Optional list of tools to allow for this request */
36
+ allowedTools?: string[];
34
37
  /** Optional AbortSignal for cancellation */
35
38
  signal?: AbortSignal;
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEX,WAAW,EACX,iBAAiB,EAKjB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GACC,OAAO,CAAC,iBAAiB,CAAC,CA2M5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEX,WAAW,EACX,iBAAiB,EAKjB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GACC,OAAO,CAAC,iBAAiB,CAAC,CA4M5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB"}
@@ -33,6 +33,7 @@ async function streamText(config, options) {
33
33
  prompt: options.prompt,
34
34
  sessionId: options.sessionId,
35
35
  model: config.model,
36
+ allowedTools: options.allowedTools,
36
37
  }),
37
38
  signal: (0, http_js_1.createAbortSignal)(config.timeout, options.signal),
38
39
  }, config.timeout);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { z } from "zod";
2
+ import type { KoineConfig, KoineStreamObjectResult } from "./types.js";
3
+ /**
4
+ * Streams structured JSON objects from Koine gateway service.
5
+ *
6
+ * @typeParam T - The type of the expected response object, inferred from schema
7
+ * @param config - Client configuration including baseUrl, authKey, and timeout
8
+ * @param options - Request options
9
+ * @param options.prompt - The user prompt describing what to extract
10
+ * @param options.schema - Zod schema defining the expected response structure
11
+ * @param options.system - Optional system prompt for context
12
+ * @param options.sessionId - Optional session ID to continue a conversation
13
+ * @param options.signal - Optional AbortSignal for cancellation
14
+ * @returns KoineStreamObjectResult containing:
15
+ * - partialObjectStream: ReadableStream of partial objects (async iterable)
16
+ * - object: Promise that resolves to final validated object
17
+ * - sessionId: Promise that resolves early when session event arrives
18
+ * - usage: Promise that resolves when stream completes
19
+ * @throws {KoineError} When connection fails or stream encounters an error
20
+ * @throws {KoineError} With code 'VALIDATION_ERROR' if final object fails schema validation
21
+ * @throws {KoineError} With code 'NO_OBJECT' if stream ends without receiving final object
22
+ */
23
+ export declare function streamObject<T>(config: KoineConfig, options: StreamObjectOptions<T>): Promise<KoineStreamObjectResult<T>>;
24
+ /**
25
+ * Request options for streaming object generation.
26
+ */
27
+ export interface StreamObjectOptions<T> {
28
+ /** The user prompt describing what to extract */
29
+ prompt: string;
30
+ /** Zod schema defining the expected response structure */
31
+ schema: z.ZodSchema<T>;
32
+ /** Optional system prompt for context */
33
+ system?: string;
34
+ /** Optional session ID to continue a conversation */
35
+ sessionId?: string;
36
+ /** Optional list of tools to allow for this request */
37
+ allowedTools?: string[];
38
+ /** Optional AbortSignal for cancellation */
39
+ signal?: AbortSignal;
40
+ }
41
+ //# sourceMappingURL=stream-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-object.d.ts","sourceRoot":"","sources":["../src/stream-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAW7B,OAAO,KAAK,EAEX,WAAW,EACX,uBAAuB,EAMvB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAAC,CAAC,EACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAkPrC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACrC,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB"}
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.streamObject = streamObject;
4
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
5
+ const errors_js_1 = require("./errors.js");
6
+ const http_js_1 = require("./http.js");
7
+ const sse_js_1 = require("./stream/sse.js");
8
+ /** Events where parse errors must propagate (vs partial-object which can log and continue) */
9
+ const CRITICAL_EVENTS = new Set([
10
+ "session",
11
+ "result",
12
+ "error",
13
+ "done",
14
+ "object",
15
+ ]);
16
+ /**
17
+ * Streams structured JSON objects from Koine gateway service.
18
+ *
19
+ * @typeParam T - The type of the expected response object, inferred from schema
20
+ * @param config - Client configuration including baseUrl, authKey, and timeout
21
+ * @param options - Request options
22
+ * @param options.prompt - The user prompt describing what to extract
23
+ * @param options.schema - Zod schema defining the expected response structure
24
+ * @param options.system - Optional system prompt for context
25
+ * @param options.sessionId - Optional session ID to continue a conversation
26
+ * @param options.signal - Optional AbortSignal for cancellation
27
+ * @returns KoineStreamObjectResult containing:
28
+ * - partialObjectStream: ReadableStream of partial objects (async iterable)
29
+ * - object: Promise that resolves to final validated object
30
+ * - sessionId: Promise that resolves early when session event arrives
31
+ * - usage: Promise that resolves when stream completes
32
+ * @throws {KoineError} When connection fails or stream encounters an error
33
+ * @throws {KoineError} With code 'VALIDATION_ERROR' if final object fails schema validation
34
+ * @throws {KoineError} With code 'NO_OBJECT' if stream ends without receiving final object
35
+ */
36
+ async function streamObject(config, options) {
37
+ (0, http_js_1.validateConfig)(config);
38
+ // Convert Zod schema to JSON Schema for the gateway service
39
+ const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(options.schema, {
40
+ $refStrategy: "none",
41
+ target: "jsonSchema7",
42
+ });
43
+ const response = await (0, http_js_1.safeFetch)(`${config.baseUrl}/stream-object`, {
44
+ method: "POST",
45
+ headers: {
46
+ "Content-Type": "application/json",
47
+ Authorization: `Bearer ${config.authKey}`,
48
+ },
49
+ body: JSON.stringify({
50
+ system: options.system,
51
+ prompt: options.prompt,
52
+ schema: jsonSchema,
53
+ sessionId: options.sessionId,
54
+ model: config.model,
55
+ allowedTools: options.allowedTools,
56
+ }),
57
+ signal: (0, http_js_1.createAbortSignal)(config.timeout, options.signal),
58
+ }, config.timeout);
59
+ if (!response.ok) {
60
+ const errorBody = await (0, http_js_1.safeJsonParse)(response);
61
+ throw new errors_js_1.KoineError(errorBody?.error || `HTTP ${response.status} ${response.statusText}`, (0, http_js_1.toErrorCode)(errorBody?.code, "HTTP_ERROR"), errorBody?.rawText);
62
+ }
63
+ if (!response.body) {
64
+ throw new errors_js_1.KoineError("No response body from Koine gateway", "NO_RESPONSE_BODY");
65
+ }
66
+ // Set up promises for session, usage, and final object
67
+ let resolveSessionId;
68
+ let rejectSessionId;
69
+ const sessionIdPromise = new Promise((resolve, reject) => {
70
+ resolveSessionId = resolve;
71
+ rejectSessionId = reject;
72
+ });
73
+ let resolveUsage;
74
+ let rejectUsage;
75
+ const usagePromise = new Promise((resolve, reject) => {
76
+ resolveUsage = resolve;
77
+ rejectUsage = reject;
78
+ });
79
+ let resolveObject;
80
+ let rejectObject;
81
+ const objectPromise = new Promise((resolve, reject) => {
82
+ resolveObject = resolve;
83
+ rejectObject = reject;
84
+ });
85
+ let sessionIdReceived = false;
86
+ let usageReceived = false;
87
+ let objectReceived = false;
88
+ // Transform SSE events into partial objects
89
+ const partialObjectStream = response.body
90
+ .pipeThrough((0, sse_js_1.createSSEParser)())
91
+ .pipeThrough(new TransformStream({
92
+ transform(sseEvent, controller) {
93
+ const isCriticalEvent = CRITICAL_EVENTS.has(sseEvent.event);
94
+ try {
95
+ switch (sseEvent.event) {
96
+ case "session": {
97
+ const parsed = JSON.parse(sseEvent.data);
98
+ if (!sessionIdReceived) {
99
+ sessionIdReceived = true;
100
+ resolveSessionId(parsed.sessionId);
101
+ }
102
+ break;
103
+ }
104
+ case "partial-object": {
105
+ const parsed = JSON.parse(sseEvent.data);
106
+ // Skip null/non-object partials (can happen during early JSON parsing)
107
+ if (parsed.parsed === null ||
108
+ typeof parsed.parsed !== "object") {
109
+ break;
110
+ }
111
+ // Try to validate partial object with Zod (warn on failure, don't stop)
112
+ const partialResult = options.schema.safeParse(parsed.parsed);
113
+ if (partialResult.success) {
114
+ controller.enqueue(partialResult.data);
115
+ }
116
+ else {
117
+ // Partial objects may not fully validate during streaming - expected.
118
+ // Enqueue raw parsed data for consumers to handle incrementally.
119
+ controller.enqueue(parsed.parsed);
120
+ }
121
+ break;
122
+ }
123
+ case "object": {
124
+ const parsed = JSON.parse(sseEvent.data);
125
+ // Validate final object strictly with Zod
126
+ const finalResult = options.schema.safeParse(parsed.object);
127
+ if (finalResult.success) {
128
+ objectReceived = true;
129
+ resolveObject(finalResult.data);
130
+ }
131
+ else {
132
+ const error = new errors_js_1.KoineError(`Response validation failed: ${finalResult.error.message}`, "VALIDATION_ERROR", JSON.stringify(parsed.object));
133
+ objectReceived = true;
134
+ rejectObject(error);
135
+ }
136
+ break;
137
+ }
138
+ case "result": {
139
+ const parsed = JSON.parse(sseEvent.data);
140
+ usageReceived = true;
141
+ resolveUsage(parsed.usage);
142
+ if (!sessionIdReceived) {
143
+ sessionIdReceived = true;
144
+ resolveSessionId(parsed.sessionId);
145
+ }
146
+ break;
147
+ }
148
+ case "error": {
149
+ const parsed = JSON.parse(sseEvent.data);
150
+ const error = new errors_js_1.KoineError(parsed.error, (0, http_js_1.toErrorCode)(parsed.code, "STREAM_ERROR"));
151
+ usageReceived = true;
152
+ rejectUsage(error);
153
+ if (!objectReceived) {
154
+ objectReceived = true;
155
+ rejectObject(error);
156
+ }
157
+ if (!sessionIdReceived) {
158
+ rejectSessionId(error);
159
+ }
160
+ controller.error(error);
161
+ break;
162
+ }
163
+ case "done": {
164
+ break;
165
+ }
166
+ }
167
+ }
168
+ catch (parseError) {
169
+ const parseErrorMessage = parseError instanceof Error
170
+ ? parseError.message
171
+ : String(parseError);
172
+ if (isCriticalEvent) {
173
+ const error = new errors_js_1.KoineError(`Failed to parse critical SSE event '${sseEvent.event}': ${parseErrorMessage}`, "SSE_PARSE_ERROR", sseEvent.data);
174
+ if (!usageReceived) {
175
+ usageReceived = true;
176
+ rejectUsage(error);
177
+ }
178
+ if (!objectReceived) {
179
+ objectReceived = true;
180
+ rejectObject(error);
181
+ }
182
+ if (!sessionIdReceived) {
183
+ rejectSessionId(error);
184
+ }
185
+ controller.error(error);
186
+ }
187
+ else {
188
+ // Non-critical event (partial-object) - log warning but continue
189
+ console.warn(`[Koine SDK] Failed to parse SSE partial-object event: ${parseErrorMessage}. Raw data: ${sseEvent.data?.substring(0, 100)}`);
190
+ }
191
+ }
192
+ },
193
+ flush() {
194
+ // Handle promises that were never resolved/rejected
195
+ if (!sessionIdReceived) {
196
+ rejectSessionId(new errors_js_1.KoineError("Stream ended without session ID", "NO_SESSION"));
197
+ }
198
+ if (!usageReceived) {
199
+ rejectUsage(new errors_js_1.KoineError("Stream ended without usage information", "NO_USAGE"));
200
+ }
201
+ if (!objectReceived) {
202
+ rejectObject(new errors_js_1.KoineError("Stream ended without final object", "NO_OBJECT"));
203
+ }
204
+ },
205
+ }));
206
+ // Augment the stream with Symbol.asyncIterator for ergonomic for-await-of usage
207
+ const iterablePartialObjectStream = Object.assign(partialObjectStream, {
208
+ async *[Symbol.asyncIterator]() {
209
+ const reader = partialObjectStream.getReader();
210
+ try {
211
+ while (true) {
212
+ const { done, value } = await reader.read();
213
+ if (done)
214
+ return;
215
+ yield value;
216
+ }
217
+ }
218
+ finally {
219
+ reader.releaseLock();
220
+ }
221
+ },
222
+ });
223
+ return {
224
+ partialObjectStream: iterablePartialObjectStream,
225
+ object: objectPromise,
226
+ sessionId: sessionIdPromise,
227
+ usage: usagePromise,
228
+ };
229
+ }
230
+ //# sourceMappingURL=stream-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-object.js","sourceRoot":"","sources":["../src/stream-object.ts"],"names":[],"mappings":";;AAmDA,oCAqPC;AAvSD,2DAAqD;AACrD,2CAAyC;AACzC,uCAMmB;AACnB,4CAAkD;AAYlD,8FAA8F;AAC9F,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;CACR,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,YAAY,CACjC,MAAmB,EACnB,OAA+B;IAE/B,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,4DAA4D;IAC5D,MAAM,UAAU,GAAG,IAAA,oCAAe,EAAC,OAAO,CAAC,MAAM,EAAE;QAClD,YAAY,EAAE,MAAM;QACpB,MAAM,EAAE,aAAa;KACrB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAS,EAC/B,GAAG,MAAM,CAAC,OAAO,gBAAgB,EACjC;QACC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC;QACF,MAAM,EAAE,IAAA,2BAAiB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;KACzD,EACD,MAAM,CAAC,OAAO,CACd,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAgB,QAAQ,CAAC,CAAC;QAC/D,MAAM,IAAI,sBAAU,CACnB,SAAS,EAAE,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACpE,IAAA,qBAAW,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAC1C,SAAS,EAAE,OAAO,CAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,sBAAU,CACnB,qCAAqC,EACrC,kBAAkB,CAClB,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,IAAI,gBAAyC,CAAC;IAC9C,IAAI,eAAuC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAChE,gBAAgB,GAAG,OAAO,CAAC;QAC3B,eAAe,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,YAAyC,CAAC;IAC9C,IAAI,WAAmC,CAAC;IACxC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAChE,YAAY,GAAG,OAAO,CAAC;QACvB,WAAW,GAAG,MAAM,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,aAAiC,CAAC;IACtC,IAAI,YAAoC,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxD,aAAa,GAAG,OAAO,CAAC;QACxB,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI;SACvC,WAAW,CAAC,IAAA,wBAAe,GAAE,CAAC;SAC9B,WAAW,CACX,IAAI,eAAe,CAAqC;QACvD,SAAS,CAAC,QAAQ,EAAE,UAAU;YAC7B,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE5D,IAAI,CAAC;gBACJ,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACxB,KAAK,SAAS,CAAC,CAAC,CAAC;wBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAEtC,CAAC;wBACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACxB,iBAAiB,GAAG,IAAI,CAAC;4BACzB,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACpC,CAAC;wBACD,MAAM;oBACP,CAAC;oBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;wBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACxB,QAAQ,CAAC,IAAI,CACY,CAAC;wBAC3B,uEAAuE;wBACvE,IACC,MAAM,CAAC,MAAM,KAAK,IAAI;4BACtB,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAChC,CAAC;4BACF,MAAM;wBACP,CAAC;wBACD,wEAAwE;wBACxE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC9D,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;4BAC3B,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBACxC,CAAC;6BAAM,CAAC;4BACP,sEAAsE;4BACtE,iEAAiE;4BACjE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAW,CAAC,CAAC;wBACxC,CAAC;wBACD,MAAM;oBACP,CAAC;oBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAmB,CAAC;wBAC3D,0CAA0C;wBAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC5D,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACzB,cAAc,GAAG,IAAI,CAAC;4BACtB,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACP,MAAM,KAAK,GAAG,IAAI,sBAAU,CAC3B,+BAA+B,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,EAC1D,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAC7B,CAAC;4BACF,cAAc,GAAG,IAAI,CAAC;4BACtB,YAAY,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;wBACD,MAAM;oBACP,CAAC;oBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAmB,CAAC;wBAC3D,aAAa,GAAG,IAAI,CAAC;wBACrB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACxB,iBAAiB,GAAG,IAAI,CAAC;4BACzB,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBACpC,CAAC;wBACD,MAAM;oBACP,CAAC;oBACD,KAAK,OAAO,CAAC,CAAC,CAAC;wBACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAkB,CAAC;wBAC1D,MAAM,KAAK,GAAG,IAAI,sBAAU,CAC3B,MAAM,CAAC,KAAK,EACZ,IAAA,qBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CACxC,CAAC;wBACF,aAAa,GAAG,IAAI,CAAC;wBACrB,WAAW,CAAC,KAAK,CAAC,CAAC;wBACnB,IAAI,CAAC,cAAc,EAAE,CAAC;4BACrB,cAAc,GAAG,IAAI,CAAC;4BACtB,YAAY,CAAC,KAAK,CAAC,CAAC;wBACrB,CAAC;wBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BACxB,eAAe,CAAC,KAAK,CAAC,CAAC;wBACxB,CAAC;wBACD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACxB,MAAM;oBACP,CAAC;oBACD,KAAK,MAAM,CAAC,CAAC,CAAC;wBACb,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACrB,MAAM,iBAAiB,GACtB,UAAU,YAAY,KAAK;oBAC1B,CAAC,CAAC,UAAU,CAAC,OAAO;oBACpB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAEvB,IAAI,eAAe,EAAE,CAAC;oBACrB,MAAM,KAAK,GAAG,IAAI,sBAAU,CAC3B,uCAAuC,QAAQ,CAAC,KAAK,MAAM,iBAAiB,EAAE,EAC9E,iBAAiB,EACjB,QAAQ,CAAC,IAAI,CACb,CAAC;oBACF,IAAI,CAAC,aAAa,EAAE,CAAC;wBACpB,aAAa,GAAG,IAAI,CAAC;wBACrB,WAAW,CAAC,KAAK,CAAC,CAAC;oBACpB,CAAC;oBACD,IAAI,CAAC,cAAc,EAAE,CAAC;wBACrB,cAAc,GAAG,IAAI,CAAC;wBACtB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACrB,CAAC;oBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACxB,eAAe,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;oBACD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACP,iEAAiE;oBACjE,OAAO,CAAC,IAAI,CACX,yDAAyD,iBAAiB,eAAe,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC3H,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QACD,KAAK;YACJ,oDAAoD;YACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACxB,eAAe,CACd,IAAI,sBAAU,CAAC,iCAAiC,EAAE,YAAY,CAAC,CAC/D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,WAAW,CACV,IAAI,sBAAU,CACb,wCAAwC,EACxC,UAAU,CACV,CACD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACrB,YAAY,CACX,IAAI,sBAAU,CAAC,mCAAmC,EAAE,WAAW,CAAC,CAChE,CAAC;YACH,CAAC;QACF,CAAC;KACD,CAAC,CACF,CAAC;IAEH,gFAAgF;IAChF,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE;QACtE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5B,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACJ,OAAO,IAAI,EAAE,CAAC;oBACb,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI;wBAAE,OAAO;oBACjB,MAAM,KAAK,CAAC;gBACb,CAAC;YACF,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IAEH,OAAO;QACN,mBAAmB,EAAE,2BAA2B;QAChD,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,YAAY;KACnB,CAAC;AACH,CAAC"}
package/dist/text.d.ts CHANGED
@@ -9,6 +9,8 @@ export interface GenerateTextOptions {
9
9
  system?: string;
10
10
  /** Optional session ID to continue a conversation */
11
11
  sessionId?: string;
12
+ /** Optional list of tools to allow for this request */
13
+ allowedTools?: string[];
12
14
  /** Optional AbortSignal for cancellation */
13
15
  signal?: AbortSignal;
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGX,WAAW,EACX,UAAU,EACV,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA4C7B"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGX,WAAW,EACX,UAAU,EACV,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA6C7B"}
package/dist/text.js CHANGED
@@ -28,6 +28,7 @@ async function generateText(config, options) {
28
28
  prompt: options.prompt,
29
29
  sessionId: options.sessionId,
30
30
  model: config.model,
31
+ allowedTools: options.allowedTools,
31
32
  }),
32
33
  signal: (0, http_js_1.createAbortSignal)(config.timeout, options.signal),
33
34
  }, config.timeout);
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":";;AAkDA,oCA+CC;AAjGD,2CAAyC;AACzC,uCAMmB;AA+BnB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,YAAY,CACjC,MAAmB,EACnB,OAA4B;IAE5B,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAS,EAC/B,GAAG,MAAM,CAAC,OAAO,gBAAgB,EACjC;QACC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;SACnB,CAAC;QACF,MAAM,EAAE,IAAA,2BAAiB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;KACzD,EACD,MAAM,CAAC,OAAO,CACd,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAgB,QAAQ,CAAC,CAAC;QAC/D,MAAM,IAAI,sBAAU,CACnB,SAAS,EAAE,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACpE,IAAA,qBAAW,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAC1C,SAAS,EAAE,OAAO,CAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAuB,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,sBAAU,CACnB,oDAAoD,EACpD,kBAAkB,CAClB,CAAC;IACH,CAAC;IAED,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":";;AAoDA,oCAgDC;AApGD,2CAAyC;AACzC,uCAMmB;AAiCnB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,YAAY,CACjC,MAAmB,EACnB,OAA4B;IAE5B,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAS,EAC/B,GAAG,MAAM,CAAC,OAAO,gBAAgB,EACjC;QACC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC;QACF,MAAM,EAAE,IAAA,2BAAiB,EAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;KACzD,EACD,MAAM,CAAC,OAAO,CACd,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAgB,QAAQ,CAAC,CAAC;QAC/D,MAAM,IAAI,sBAAU,CACnB,SAAS,EAAE,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EACpE,IAAA,qBAAW,EAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAC1C,SAAS,EAAE,OAAO,CAClB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAa,EAAuB,QAAQ,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,sBAAU,CACnB,oDAAoD,EACpD,kBAAkB,CAClB,CAAC;IACH,CAAC;IAED,OAAO;QACN,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;KAC3B,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -71,4 +71,27 @@ export interface SSEErrorEvent {
71
71
  readonly error: string;
72
72
  readonly code?: string;
73
73
  }
74
+ /**
75
+ * SSE event types from Koine gateway /stream-object endpoint (internal).
76
+ */
77
+ export interface SSEPartialObjectEvent {
78
+ readonly partial: string;
79
+ readonly parsed: unknown;
80
+ }
81
+ export interface SSEObjectEvent {
82
+ readonly object: unknown;
83
+ }
84
+ /**
85
+ * Result from streaming object generation.
86
+ */
87
+ export interface KoineStreamObjectResult<T> {
88
+ /** Stream of partial objects as they arrive. Supports both ReadableStream methods and async iteration. */
89
+ readonly partialObjectStream: ReadableStream<T> & AsyncIterable<T>;
90
+ /** Final validated object (resolves when stream completes via object event, rejects with KoineError if validation fails) */
91
+ readonly object: Promise<T>;
92
+ /** Session ID for conversation continuity (resolves early in stream, after session event) */
93
+ readonly sessionId: Promise<string>;
94
+ /** Usage stats (resolves when stream completes via result event) */
95
+ readonly usage: Promise<KoineUsage>;
96
+ }
74
97
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,sGAAsG;IACtG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpE,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,sGAAsG;IACtG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACpE,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACzC,0GAA0G;IAC1G,QAAQ,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACnE,4HAA4H;IAC5H,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternzones/koine-sdk",
3
- "version": "2.1.0",
3
+ "version": "2.3.0",
4
4
  "description": "TypeScript SDK for Koine gateway",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,6 +26,7 @@
26
26
  "lint": "biome check .",
27
27
  "example:hello": "bun --env-file=../../../.env run examples/hello.ts",
28
28
  "example:stream": "bun --env-file=../../../.env run examples/stream.ts",
29
+ "example:stream-object": "bun --env-file=../../../.env run examples/stream-object.ts",
29
30
  "example:recipe": "bun --env-file=../../../.env run examples/extract-recipe.ts",
30
31
  "example:conversation": "bun --env-file=../../../.env run examples/conversation.ts"
31
32
  },