@tanstack/ai-acp 0.2.2 → 0.2.4

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.
@@ -1,54 +1,58 @@
1
- class AsyncQueue {
2
- values = [];
3
- waiters = [];
4
- ended = false;
5
- error = void 0;
6
- failed = false;
7
- push(value) {
8
- if (this.ended || this.failed) return;
9
- const waiter = this.waiters.shift();
10
- if (waiter) {
11
- waiter.resolve({ value, done: false });
12
- } else {
13
- this.values.push(value);
14
- }
15
- }
16
- end() {
17
- if (this.ended || this.failed) return;
18
- this.ended = true;
19
- for (const waiter of this.waiters.splice(0)) {
20
- waiter.resolve({ value: void 0, done: true });
21
- }
22
- }
23
- fail(error) {
24
- if (this.ended || this.failed) return;
25
- this.failed = true;
26
- this.error = error;
27
- for (const waiter of this.waiters.splice(0)) {
28
- waiter.reject(error);
29
- }
30
- }
31
- [Symbol.asyncIterator]() {
32
- return {
33
- next: () => {
34
- if (this.values.length > 0) {
35
- return Promise.resolve({
36
- value: this.values.shift(),
37
- done: false
38
- });
39
- }
40
- if (this.failed) return Promise.reject(this.error);
41
- if (this.ended) {
42
- return Promise.resolve({ value: void 0, done: true });
43
- }
44
- return new Promise((resolve, reject) => {
45
- this.waiters.push({ resolve, reject });
46
- });
47
- }
48
- };
49
- }
50
- }
51
- export {
52
- AsyncQueue
1
+ //#region src/stream/queue.ts
2
+ /**
3
+ * Minimal promise-based async queue bridging callback-style ACP notifications
4
+ * into the async-iterable world the stream translator consumes.
5
+ */
6
+ var AsyncQueue = class {
7
+ values = [];
8
+ waiters = [];
9
+ ended = false;
10
+ error = void 0;
11
+ failed = false;
12
+ push(value) {
13
+ if (this.ended || this.failed) return;
14
+ const waiter = this.waiters.shift();
15
+ if (waiter) waiter.resolve({
16
+ value,
17
+ done: false
18
+ });
19
+ else this.values.push(value);
20
+ }
21
+ end() {
22
+ if (this.ended || this.failed) return;
23
+ this.ended = true;
24
+ for (const waiter of this.waiters.splice(0)) waiter.resolve({
25
+ value: void 0,
26
+ done: true
27
+ });
28
+ }
29
+ fail(error) {
30
+ if (this.ended || this.failed) return;
31
+ this.failed = true;
32
+ this.error = error;
33
+ for (const waiter of this.waiters.splice(0)) waiter.reject(error);
34
+ }
35
+ [Symbol.asyncIterator]() {
36
+ return { next: () => {
37
+ if (this.values.length > 0) return Promise.resolve({
38
+ value: this.values.shift(),
39
+ done: false
40
+ });
41
+ if (this.failed) return Promise.reject(this.error);
42
+ if (this.ended) return Promise.resolve({
43
+ value: void 0,
44
+ done: true
45
+ });
46
+ return new Promise((resolve, reject) => {
47
+ this.waiters.push({
48
+ resolve,
49
+ reject
50
+ });
51
+ });
52
+ } };
53
+ }
53
54
  };
54
- //# sourceMappingURL=queue.js.map
55
+ //#endregion
56
+ export { AsyncQueue };
57
+
58
+ //# sourceMappingURL=queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sources":["../../../src/stream/queue.ts"],"sourcesContent":["/**\n * Minimal promise-based async queue bridging callback-style ACP notifications\n * into the async-iterable world the stream translator consumes.\n */\nexport class AsyncQueue<T> implements AsyncIterable<T> {\n private readonly values: Array<T> = []\n private readonly waiters: Array<{\n resolve: (result: IteratorResult<T>) => void\n reject: (error: unknown) => void\n }> = []\n private ended = false\n private error: unknown = undefined\n private failed = false\n\n push(value: T): void {\n if (this.ended || this.failed) return\n const waiter = this.waiters.shift()\n if (waiter) {\n waiter.resolve({ value, done: false })\n } else {\n this.values.push(value)\n }\n }\n\n end(): void {\n if (this.ended || this.failed) return\n this.ended = true\n for (const waiter of this.waiters.splice(0)) {\n waiter.resolve({ value: undefined, done: true })\n }\n }\n\n fail(error: unknown): void {\n if (this.ended || this.failed) return\n this.failed = true\n this.error = error\n for (const waiter of this.waiters.splice(0)) {\n waiter.reject(error)\n }\n }\n\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return {\n next: (): Promise<IteratorResult<T>> => {\n if (this.values.length > 0) {\n return Promise.resolve({\n value: this.values.shift() as T,\n done: false,\n })\n }\n if (this.failed) return Promise.reject(this.error)\n if (this.ended) {\n return Promise.resolve({ value: undefined, done: true })\n }\n return new Promise((resolve, reject) => {\n this.waiters.push({ resolve, reject })\n })\n },\n }\n }\n}\n"],"names":[],"mappings":"AAIO,MAAM,WAA0C;AAAA,EACpC,SAAmB,CAAA;AAAA,EACnB,UAGZ,CAAA;AAAA,EACG,QAAQ;AAAA,EACR,QAAiB;AAAA,EACjB,SAAS;AAAA,EAEjB,KAAK,OAAgB;AACnB,QAAI,KAAK,SAAS,KAAK,OAAQ;AAC/B,UAAM,SAAS,KAAK,QAAQ,MAAA;AAC5B,QAAI,QAAQ;AACV,aAAO,QAAQ,EAAE,OAAO,MAAM,OAAO;AAAA,IACvC,OAAO;AACL,WAAK,OAAO,KAAK,KAAK;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,MAAY;AACV,QAAI,KAAK,SAAS,KAAK,OAAQ;AAC/B,SAAK,QAAQ;AACb,eAAW,UAAU,KAAK,QAAQ,OAAO,CAAC,GAAG;AAC3C,aAAO,QAAQ,EAAE,OAAO,QAAW,MAAM,MAAM;AAAA,IACjD;AAAA,EACF;AAAA,EAEA,KAAK,OAAsB;AACzB,QAAI,KAAK,SAAS,KAAK,OAAQ;AAC/B,SAAK,SAAS;AACd,SAAK,QAAQ;AACb,eAAW,UAAU,KAAK,QAAQ,OAAO,CAAC,GAAG;AAC3C,aAAO,OAAO,KAAK;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,CAAC,OAAO,aAAa,IAAsB;AACzC,WAAO;AAAA,MACL,MAAM,MAAkC;AACtC,YAAI,KAAK,OAAO,SAAS,GAAG;AAC1B,iBAAO,QAAQ,QAAQ;AAAA,YACrB,OAAO,KAAK,OAAO,MAAA;AAAA,YACnB,MAAM;AAAA,UAAA,CACP;AAAA,QACH;AACA,YAAI,KAAK,OAAQ,QAAO,QAAQ,OAAO,KAAK,KAAK;AACjD,YAAI,KAAK,OAAO;AACd,iBAAO,QAAQ,QAAQ,EAAE,OAAO,QAAW,MAAM,MAAM;AAAA,QACzD;AACA,eAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,eAAK,QAAQ,KAAK,EAAE,SAAS,QAAQ;AAAA,QACvC,CAAC;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"queue.js","names":[],"sources":["../../../src/stream/queue.ts"],"sourcesContent":["/**\n * Minimal promise-based async queue bridging callback-style ACP notifications\n * into the async-iterable world the stream translator consumes.\n */\nexport class AsyncQueue<T> implements AsyncIterable<T> {\n private readonly values: Array<T> = []\n private readonly waiters: Array<{\n resolve: (result: IteratorResult<T>) => void\n reject: (error: unknown) => void\n }> = []\n private ended = false\n private error: unknown = undefined\n private failed = false\n\n push(value: T): void {\n if (this.ended || this.failed) return\n const waiter = this.waiters.shift()\n if (waiter) {\n waiter.resolve({ value, done: false })\n } else {\n this.values.push(value)\n }\n }\n\n end(): void {\n if (this.ended || this.failed) return\n this.ended = true\n for (const waiter of this.waiters.splice(0)) {\n waiter.resolve({ value: undefined, done: true })\n }\n }\n\n fail(error: unknown): void {\n if (this.ended || this.failed) return\n this.failed = true\n this.error = error\n for (const waiter of this.waiters.splice(0)) {\n waiter.reject(error)\n }\n }\n\n [Symbol.asyncIterator](): AsyncIterator<T> {\n return {\n next: (): Promise<IteratorResult<T>> => {\n if (this.values.length > 0) {\n return Promise.resolve({\n value: this.values.shift() as T,\n done: false,\n })\n }\n if (this.failed) return Promise.reject(this.error)\n if (this.ended) {\n return Promise.resolve({ value: undefined, done: true })\n }\n return new Promise((resolve, reject) => {\n this.waiters.push({ resolve, reject })\n })\n },\n }\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,aAAb,MAAuD;CACrD,SAAoC,CAAC;CACrC,UAGK,CAAC;CACN,QAAgB;CAChB,QAAyB,KAAA;CACzB,SAAiB;CAEjB,KAAK,OAAgB;EACnB,IAAI,KAAK,SAAS,KAAK,QAAQ;EAC/B,MAAM,SAAS,KAAK,QAAQ,MAAM;EAClC,IAAI,QACF,OAAO,QAAQ;GAAE;GAAO,MAAM;EAAM,CAAC;OAErC,KAAK,OAAO,KAAK,KAAK;CAE1B;CAEA,MAAY;EACV,IAAI,KAAK,SAAS,KAAK,QAAQ;EAC/B,KAAK,QAAQ;EACb,KAAK,MAAM,UAAU,KAAK,QAAQ,OAAO,CAAC,GACxC,OAAO,QAAQ;GAAE,OAAO,KAAA;GAAW,MAAM;EAAK,CAAC;CAEnD;CAEA,KAAK,OAAsB;EACzB,IAAI,KAAK,SAAS,KAAK,QAAQ;EAC/B,KAAK,SAAS;EACd,KAAK,QAAQ;EACb,KAAK,MAAM,UAAU,KAAK,QAAQ,OAAO,CAAC,GACxC,OAAO,OAAO,KAAK;CAEvB;CAEA,CAAC,OAAO,iBAAmC;EACzC,OAAO,EACL,YAAwC;GACtC,IAAI,KAAK,OAAO,SAAS,GACvB,OAAO,QAAQ,QAAQ;IACrB,OAAO,KAAK,OAAO,MAAM;IACzB,MAAM;GACR,CAAC;GAEH,IAAI,KAAK,QAAQ,OAAO,QAAQ,OAAO,KAAK,KAAK;GACjD,IAAI,KAAK,OACP,OAAO,QAAQ,QAAQ;IAAE,OAAO,KAAA;IAAW,MAAM;GAAK,CAAC;GAEzD,OAAO,IAAI,SAAS,SAAS,WAAW;IACtC,KAAK,QAAQ,KAAK;KAAE;KAAS;IAAO,CAAC;GACvC,CAAC;EACH,EACF;CACF;AACF"}