phenoml 6.3.0 → 6.4.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.
Files changed (68) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/agent/client/Client.d.ts +8 -1
  3. package/dist/cjs/api/resources/agent/client/Client.js +82 -1
  4. package/dist/cjs/api/resources/agent/client/requests/AgentChatRequest.d.ts +2 -0
  5. package/dist/cjs/api/resources/agent/client/requests/AgentStreamChatRequest.d.ts +31 -0
  6. package/dist/cjs/api/resources/agent/client/requests/AgentStreamChatRequest.js +3 -0
  7. package/dist/cjs/api/resources/agent/client/requests/index.d.ts +1 -0
  8. package/dist/cjs/api/resources/agent/types/AgentChatStreamEvent.d.ts +36 -0
  9. package/dist/cjs/api/resources/agent/types/AgentChatStreamEvent.js +16 -0
  10. package/dist/cjs/api/resources/agent/types/index.d.ts +1 -0
  11. package/dist/cjs/api/resources/agent/types/index.js +1 -0
  12. package/dist/cjs/api/resources/construe/client/Client.d.ts +2 -2
  13. package/dist/cjs/api/resources/construe/client/Client.js +6 -6
  14. package/dist/cjs/api/resources/fhir/client/Client.d.ts +49 -49
  15. package/dist/cjs/api/resources/fhir/client/Client.js +69 -69
  16. package/dist/cjs/api/resources/fhirProvider/client/Client.d.ts +10 -10
  17. package/dist/cjs/api/resources/fhirProvider/client/Client.js +25 -25
  18. package/dist/cjs/api/resources/fhirProvider/types/Provider.d.ts +1 -0
  19. package/dist/cjs/api/resources/fhirProvider/types/Provider.js +1 -0
  20. package/dist/cjs/api/resources/tools/resources/mcpServer/client/Client.d.ts +4 -4
  21. package/dist/cjs/api/resources/tools/resources/mcpServer/client/Client.js +10 -10
  22. package/dist/cjs/api/resources/tools/resources/mcpServer/resources/tools/client/Client.d.ts +8 -8
  23. package/dist/cjs/api/resources/tools/resources/mcpServer/resources/tools/client/Client.js +20 -20
  24. package/dist/cjs/core/fetcher/Fetcher.js +12 -6
  25. package/dist/cjs/core/fetcher/makeRequest.d.ts +1 -1
  26. package/dist/cjs/core/index.d.ts +1 -0
  27. package/dist/cjs/core/index.js +1 -0
  28. package/dist/cjs/core/stream/Stream.d.ts +47 -0
  29. package/dist/cjs/core/stream/Stream.js +175 -0
  30. package/dist/cjs/core/stream/index.d.ts +1 -0
  31. package/dist/cjs/core/stream/index.js +5 -0
  32. package/dist/cjs/version.d.ts +1 -1
  33. package/dist/cjs/version.js +1 -1
  34. package/dist/esm/Client.mjs +2 -2
  35. package/dist/esm/api/resources/agent/client/Client.d.mts +8 -1
  36. package/dist/esm/api/resources/agent/client/Client.mjs +82 -1
  37. package/dist/esm/api/resources/agent/client/requests/AgentChatRequest.d.mts +2 -0
  38. package/dist/esm/api/resources/agent/client/requests/AgentStreamChatRequest.d.mts +31 -0
  39. package/dist/esm/api/resources/agent/client/requests/AgentStreamChatRequest.mjs +2 -0
  40. package/dist/esm/api/resources/agent/client/requests/index.d.mts +1 -0
  41. package/dist/esm/api/resources/agent/types/AgentChatStreamEvent.d.mts +36 -0
  42. package/dist/esm/api/resources/agent/types/AgentChatStreamEvent.mjs +13 -0
  43. package/dist/esm/api/resources/agent/types/index.d.mts +1 -0
  44. package/dist/esm/api/resources/agent/types/index.mjs +1 -0
  45. package/dist/esm/api/resources/construe/client/Client.d.mts +2 -2
  46. package/dist/esm/api/resources/construe/client/Client.mjs +6 -6
  47. package/dist/esm/api/resources/fhir/client/Client.d.mts +49 -49
  48. package/dist/esm/api/resources/fhir/client/Client.mjs +69 -69
  49. package/dist/esm/api/resources/fhirProvider/client/Client.d.mts +10 -10
  50. package/dist/esm/api/resources/fhirProvider/client/Client.mjs +25 -25
  51. package/dist/esm/api/resources/fhirProvider/types/Provider.d.mts +1 -0
  52. package/dist/esm/api/resources/fhirProvider/types/Provider.mjs +1 -0
  53. package/dist/esm/api/resources/tools/resources/mcpServer/client/Client.d.mts +4 -4
  54. package/dist/esm/api/resources/tools/resources/mcpServer/client/Client.mjs +10 -10
  55. package/dist/esm/api/resources/tools/resources/mcpServer/resources/tools/client/Client.d.mts +8 -8
  56. package/dist/esm/api/resources/tools/resources/mcpServer/resources/tools/client/Client.mjs +20 -20
  57. package/dist/esm/core/fetcher/Fetcher.mjs +12 -6
  58. package/dist/esm/core/fetcher/makeRequest.d.mts +1 -1
  59. package/dist/esm/core/index.d.mts +1 -0
  60. package/dist/esm/core/index.mjs +1 -0
  61. package/dist/esm/core/stream/Stream.d.mts +47 -0
  62. package/dist/esm/core/stream/Stream.mjs +170 -0
  63. package/dist/esm/core/stream/index.d.mts +1 -0
  64. package/dist/esm/core/stream/index.mjs +1 -0
  65. package/dist/esm/version.d.mts +1 -1
  66. package/dist/esm/version.mjs +1 -1
  67. package/package.json +1 -1
  68. package/reference.md +115 -42
@@ -0,0 +1,47 @@
1
+ export declare namespace Stream {
2
+ interface Args {
3
+ /**
4
+ * The HTTP response stream to read from.
5
+ */
6
+ stream: ReadableStream;
7
+ /**
8
+ * The event shape to use for parsing the stream data.
9
+ */
10
+ eventShape: JsonEvent | SseEvent;
11
+ /**
12
+ * An abort signal to stop the stream.
13
+ */
14
+ signal?: AbortSignal;
15
+ }
16
+ interface JsonEvent {
17
+ type: "json";
18
+ messageTerminator: string;
19
+ }
20
+ interface SseEvent {
21
+ type: "sse";
22
+ streamTerminator?: string;
23
+ }
24
+ }
25
+ export declare class Stream<T> implements AsyncIterable<T> {
26
+ private stream;
27
+ private parse;
28
+ /**
29
+ * The prefix to use for each message. For example,
30
+ * for SSE, the prefix is "data: ".
31
+ */
32
+ private prefix;
33
+ private messageTerminator;
34
+ private streamTerminator;
35
+ private controller;
36
+ private decoder;
37
+ constructor({ stream, parse, eventShape, signal }: Stream.Args & {
38
+ parse: (val: unknown) => Promise<T>;
39
+ });
40
+ private iterMessages;
41
+ [Symbol.asyncIterator](): AsyncIterator<T, void, unknown>;
42
+ private decodeChunk;
43
+ }
44
+ /**
45
+ * Browser polyfill for ReadableStream
46
+ */
47
+ export declare function readableStreamAsyncIterable<T>(stream: any): AsyncIterableIterator<T>;
@@ -0,0 +1,170 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
11
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
12
+ var m = o[Symbol.asyncIterator], i;
13
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
14
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
15
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
16
+ };
17
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
18
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
19
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
20
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
21
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
22
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
23
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
24
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
25
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
26
+ function fulfill(value) { resume("next", value); }
27
+ function reject(value) { resume("throw", value); }
28
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
29
+ };
30
+ import { RUNTIME } from "../runtime/index.mjs";
31
+ const DATA_PREFIX = "data:";
32
+ export class Stream {
33
+ constructor({ stream, parse, eventShape, signal }) {
34
+ this.controller = new AbortController();
35
+ this.stream = stream;
36
+ this.parse = parse;
37
+ if (eventShape.type === "sse") {
38
+ this.prefix = DATA_PREFIX;
39
+ this.messageTerminator = "\n";
40
+ this.streamTerminator = eventShape.streamTerminator;
41
+ }
42
+ else {
43
+ this.messageTerminator = eventShape.messageTerminator;
44
+ }
45
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", () => this.controller.abort());
46
+ // Initialize shared TextDecoder
47
+ if (typeof TextDecoder !== "undefined") {
48
+ this.decoder = new TextDecoder("utf-8");
49
+ }
50
+ }
51
+ iterMessages() {
52
+ return __asyncGenerator(this, arguments, function* iterMessages_1() {
53
+ var _a, e_1, _b, _c;
54
+ const signal = this.controller.signal;
55
+ const stream = readableStreamAsyncIterable(this.stream);
56
+ let buf = "";
57
+ let prefixSeen = false;
58
+ try {
59
+ for (var _d = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a = stream_1_1.done, !_a; _d = true) {
60
+ _c = stream_1_1.value;
61
+ _d = false;
62
+ const chunk = _c;
63
+ if (signal.aborted) {
64
+ break;
65
+ }
66
+ buf += this.decodeChunk(chunk);
67
+ let terminatorIndex;
68
+ while ((terminatorIndex = buf.indexOf(this.messageTerminator)) >= 0) {
69
+ let line = buf.slice(0, terminatorIndex);
70
+ buf = buf.slice(terminatorIndex + this.messageTerminator.length);
71
+ if (!line.trim()) {
72
+ continue;
73
+ }
74
+ if (!prefixSeen && this.prefix != null) {
75
+ const prefixIndex = line.indexOf(this.prefix);
76
+ if (prefixIndex === -1) {
77
+ continue;
78
+ }
79
+ prefixSeen = true;
80
+ line = line.slice(prefixIndex + this.prefix.length);
81
+ }
82
+ if (this.streamTerminator != null && line.includes(this.streamTerminator)) {
83
+ return yield __await(void 0);
84
+ }
85
+ const message = yield __await(this.parse(JSON.parse(line)));
86
+ yield yield __await(message);
87
+ prefixSeen = false;
88
+ }
89
+ }
90
+ }
91
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
92
+ finally {
93
+ try {
94
+ if (!_d && !_a && (_b = stream_1.return)) yield __await(_b.call(stream_1));
95
+ }
96
+ finally { if (e_1) throw e_1.error; }
97
+ }
98
+ });
99
+ }
100
+ [Symbol.asyncIterator]() {
101
+ return __asyncGenerator(this, arguments, function* _a() {
102
+ var _b, e_2, _c, _d;
103
+ try {
104
+ for (var _e = true, _f = __asyncValues(this.iterMessages()), _g; _g = yield __await(_f.next()), _b = _g.done, !_b; _e = true) {
105
+ _d = _g.value;
106
+ _e = false;
107
+ const message = _d;
108
+ yield yield __await(message);
109
+ }
110
+ }
111
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
112
+ finally {
113
+ try {
114
+ if (!_e && !_b && (_c = _f.return)) yield __await(_c.call(_f));
115
+ }
116
+ finally { if (e_2) throw e_2.error; }
117
+ }
118
+ });
119
+ }
120
+ decodeChunk(chunk) {
121
+ let decoded = "";
122
+ // If TextDecoder is available, use the streaming decoder instance
123
+ if (this.decoder != null) {
124
+ decoded += this.decoder.decode(chunk, { stream: true });
125
+ }
126
+ // Buffer is present in Node.js environment
127
+ else if (RUNTIME.type === "node" && typeof chunk !== "undefined") {
128
+ decoded += Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
129
+ }
130
+ return decoded;
131
+ }
132
+ }
133
+ /**
134
+ * Browser polyfill for ReadableStream
135
+ */
136
+ // biome-ignore lint/suspicious/noExplicitAny: allow explicit any
137
+ export function readableStreamAsyncIterable(stream) {
138
+ if (stream[Symbol.asyncIterator]) {
139
+ return stream;
140
+ }
141
+ const reader = stream.getReader();
142
+ return {
143
+ next() {
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ try {
146
+ const result = yield reader.read();
147
+ if (result === null || result === void 0 ? void 0 : result.done) {
148
+ reader.releaseLock();
149
+ } // release lock when stream becomes closed
150
+ return result;
151
+ }
152
+ catch (e) {
153
+ reader.releaseLock(); // release lock when stream becomes errored
154
+ throw e;
155
+ }
156
+ });
157
+ },
158
+ return() {
159
+ return __awaiter(this, void 0, void 0, function* () {
160
+ const cancelPromise = reader.cancel();
161
+ reader.releaseLock();
162
+ yield cancelPromise;
163
+ return { done: true, value: undefined };
164
+ });
165
+ },
166
+ [Symbol.asyncIterator]() {
167
+ return this;
168
+ },
169
+ };
170
+ }
@@ -0,0 +1 @@
1
+ export { Stream } from "./Stream.mjs";
@@ -0,0 +1 @@
1
+ export { Stream } from "./Stream.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "6.3.0";
1
+ export declare const SDK_VERSION = "6.4.0";
@@ -1 +1 @@
1
- export const SDK_VERSION = "6.3.0";
1
+ export const SDK_VERSION = "6.4.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phenoml",
3
- "version": "6.3.0",
3
+ "version": "6.4.0",
4
4
  "private": false,
5
5
  "repository": "github:PhenoML/phenoml-ts-sdk",
6
6
  "type": "commonjs",