@qorejs/qore 1.0.2 → 1.0.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.
package/README.md CHANGED
@@ -101,6 +101,21 @@ See [React Adapter](./docs/react.md) for lifecycle, status, abort, and signal su
101
101
 
102
102
  Provider adapters are intended for server-side or trusted runtimes. Do not put `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or any vendor secret in browser code. For browsers, expose your own SSE or NDJSON endpoint and stream that endpoint into Qore.
103
103
 
104
+ ## Inspect Streams
105
+
106
+ ```js
107
+ import { createStreamInspector, stream } from '@qorejs/qore';
108
+
109
+ const inspector = createStreamInspector({ maxEvents: 200 });
110
+ const answer = stream(provider.chat(prompt), { name: 'answer' });
111
+
112
+ await answer.ready;
113
+ console.table(inspector.streams());
114
+ inspector.dispose();
115
+ ```
116
+
117
+ The inspector is zero-dependency and built on the same `__QORE_DEVTOOLS__` hook that custom panels can consume.
118
+
104
119
  ## Documentation
105
120
 
106
121
  - [Concepts](./docs/concepts.md): `stream = signal` and the mental model
@@ -108,6 +123,7 @@ Provider adapters are intended for server-side or trusted runtimes. Do not put `
108
123
  - [API Reference](./docs/api.md): core primitives and composition helpers
109
124
  - [Providers](./docs/providers.md): OpenAI, Anthropic, OpenRouter, DeepSeek, Ollama, SSE, and NDJSON
110
125
  - [Runtime](./docs/runtime.md): backpressure, lifecycle, abort, retry, and orchestration
126
+ - [DevTools Hook](./docs/devtools.md): inspect stream lifecycle and chunk flow during development
111
127
  - [React Adapter](./docs/react.md): use Qore streams inside existing React apps
112
128
  - [Comparisons](./docs/comparisons.md): Qore vs React, Vercel AI SDK, Solid, and Vue
113
129
  - [Benchmarks](./docs/benchmarks.md): methodology and current evidence
@@ -121,7 +137,7 @@ Provider adapters are intended for server-side or trusted runtimes. Do not put `
121
137
  | Node runtime | Supported | `Node >= 18` |
122
138
  | Browser runtime | Supported | DOM entrypoints require `document` |
123
139
  | Reactive core | Supported | `signal`, `computed`, `effect`, `batch`, `createRoot`, `onCleanup` |
124
- | Stream runtime | Supported | backpressure, retry, orchestration, async iteration, and abort |
140
+ | Stream runtime | Supported | backpressure, retry, orchestration, async iteration, abort, and DevTools hooks |
125
141
  | Provider adapters | Supported | OpenAI, Anthropic, OpenRouter, DeepSeek, Ollama, generic SSE, generic line-stream |
126
142
  | Browser DOM layer | Supported | `h`, `text`, `dynamic`, `list`, `mount`, `createApp(...).mount(...)` |
127
143
  | React adapter | Release-ready | `packages/react` bridges Qore streams through `useSyncExternalStore`; npm publishing is waiting on scope access |
@@ -0,0 +1,51 @@
1
+ import type { ResponseStatus } from './response.js';
2
+ import { type ReadonlySignal } from './signal.js';
3
+ export type QoreDevtoolsStreamPhase = 'create' | 'status' | 'chunk' | 'complete' | 'error' | 'abort';
4
+ export interface QoreDevtoolsStreamEvent<TChunk = unknown, TValue = unknown> {
5
+ kind: 'stream';
6
+ phase: QoreDevtoolsStreamPhase;
7
+ id: string;
8
+ name?: string;
9
+ status?: ResponseStatus;
10
+ chunk?: TChunk;
11
+ value?: TValue;
12
+ chunkCount?: number;
13
+ error?: Error | null;
14
+ timestamp: number;
15
+ }
16
+ export type QoreDevtoolsEvent = QoreDevtoolsStreamEvent;
17
+ export interface QoreDevtoolsHook {
18
+ enabled?: boolean;
19
+ events?: QoreDevtoolsEvent[];
20
+ emit?(event: QoreDevtoolsEvent): void;
21
+ }
22
+ export interface QoreInspectedStream<TValue = unknown> {
23
+ id: string;
24
+ name?: string;
25
+ status?: ResponseStatus;
26
+ value?: TValue;
27
+ chunkCount: number;
28
+ createdAt: number;
29
+ updatedAt: number;
30
+ finishedAt?: number;
31
+ error?: Error | null;
32
+ }
33
+ export interface StreamInspectorOptions {
34
+ maxEvents?: number;
35
+ capturePayloads?: boolean;
36
+ }
37
+ export interface QoreStreamInspector {
38
+ events: ReadonlySignal<readonly QoreDevtoolsEvent[]>;
39
+ streams: ReadonlySignal<readonly QoreInspectedStream[]>;
40
+ clear(): void;
41
+ dispose(): void;
42
+ }
43
+ type QoreDevtoolsTarget = QoreDevtoolsHook | ((event: QoreDevtoolsEvent) => void) | undefined;
44
+ declare global {
45
+ var __QORE_DEVTOOLS__: QoreDevtoolsTarget;
46
+ }
47
+ export declare function createDevtoolsStreamId(): string;
48
+ export declare function emitQoreDevtoolsEvent(event: QoreDevtoolsEvent): void;
49
+ export declare function createStreamInspector(options?: StreamInspectorOptions): QoreStreamInspector;
50
+ export {};
51
+ //# sourceMappingURL=devtools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../src/core/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAErG,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IACzE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,uBAAuB,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,OAAO;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,cAAc,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAC;IACxD,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,KAAK,kBAAkB,GAAG,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;AAE9F,OAAO,CAAC,MAAM,CAAC;IAGb,IAAI,iBAAiB,EAAE,kBAAkB,CAAC;CAC3C;AAID,wBAAgB,sBAAsB,IAAI,MAAM,CAG/C;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAsBpE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,sBAA2B,GAAG,mBAAmB,CAqF/F"}
@@ -0,0 +1,162 @@
1
+ import { computed, signal } from './signal.js';
2
+ let nextStreamId = 0;
3
+ export function createDevtoolsStreamId() {
4
+ nextStreamId += 1;
5
+ return `qore-stream-${nextStreamId}`;
6
+ }
7
+ export function emitQoreDevtoolsEvent(event) {
8
+ const hook = globalThis.__QORE_DEVTOOLS__;
9
+ if (!hook) {
10
+ return;
11
+ }
12
+ try {
13
+ if (typeof hook === 'function') {
14
+ hook(event);
15
+ return;
16
+ }
17
+ if (hook.enabled === false) {
18
+ return;
19
+ }
20
+ hook.events?.push(event);
21
+ hook.emit?.(event);
22
+ }
23
+ catch {
24
+ // DevTools instrumentation must never affect application control flow.
25
+ }
26
+ }
27
+ export function createStreamInspector(options = {}) {
28
+ const { maxEvents = 500, capturePayloads = true } = options;
29
+ const previousHook = globalThis.__QORE_DEVTOOLS__;
30
+ const recordedEvents = signal([]);
31
+ function record(event) {
32
+ const nextEvent = capturePayloads ? event : withoutPayload(event);
33
+ recordedEvents.update((currentEvents) => {
34
+ const nextEvents = [...currentEvents, nextEvent];
35
+ return nextEvents.length > maxEvents ? nextEvents.slice(nextEvents.length - maxEvents) : nextEvents;
36
+ });
37
+ forwardDevtoolsEvent(previousHook, event);
38
+ }
39
+ globalThis.__QORE_DEVTOOLS__ = record;
40
+ const inspectedStreams = computed(() => {
41
+ const byId = new Map();
42
+ for (const event of recordedEvents()) {
43
+ if (event.kind !== 'stream') {
44
+ continue;
45
+ }
46
+ const previous = byId.get(event.id);
47
+ const createdAt = previous?.createdAt ?? event.timestamp;
48
+ const updatedAt = event.timestamp;
49
+ const chunkCount = event.chunkCount ?? previous?.chunkCount ?? 0;
50
+ const nextStreamInput = {
51
+ id: event.id,
52
+ chunkCount,
53
+ createdAt,
54
+ updatedAt
55
+ };
56
+ const name = event.name ?? previous?.name;
57
+ const status = event.status ?? previous?.status;
58
+ const value = event.value ?? previous?.value;
59
+ const finishedAt = isTerminalPhase(event.phase) ? event.timestamp : previous?.finishedAt;
60
+ const error = event.error ?? previous?.error;
61
+ if (name !== undefined) {
62
+ nextStreamInput.name = name;
63
+ }
64
+ if (status !== undefined) {
65
+ nextStreamInput.status = status;
66
+ }
67
+ if (value !== undefined) {
68
+ nextStreamInput.value = value;
69
+ }
70
+ if (finishedAt !== undefined) {
71
+ nextStreamInput.finishedAt = finishedAt;
72
+ }
73
+ if (error !== undefined) {
74
+ nextStreamInput.error = error;
75
+ }
76
+ const nextStream = createInspectedStream(nextStreamInput);
77
+ byId.set(event.id, nextStream);
78
+ }
79
+ return [...byId.values()];
80
+ });
81
+ return {
82
+ events: recordedEvents,
83
+ streams: inspectedStreams,
84
+ clear() {
85
+ recordedEvents([]);
86
+ },
87
+ dispose() {
88
+ inspectedStreams.stop();
89
+ if (globalThis.__QORE_DEVTOOLS__ === record) {
90
+ globalThis.__QORE_DEVTOOLS__ = previousHook;
91
+ }
92
+ }
93
+ };
94
+ }
95
+ function createInspectedStream(input) {
96
+ const stream = {
97
+ id: input.id,
98
+ chunkCount: input.chunkCount,
99
+ createdAt: input.createdAt,
100
+ updatedAt: input.updatedAt
101
+ };
102
+ if (input.name !== undefined) {
103
+ stream.name = input.name;
104
+ }
105
+ if (input.status !== undefined) {
106
+ stream.status = input.status;
107
+ }
108
+ if (input.value !== undefined) {
109
+ stream.value = input.value;
110
+ }
111
+ if (input.finishedAt !== undefined) {
112
+ stream.finishedAt = input.finishedAt;
113
+ }
114
+ if (input.error !== undefined) {
115
+ stream.error = input.error;
116
+ }
117
+ return stream;
118
+ }
119
+ function withoutPayload(event) {
120
+ const nextEvent = {
121
+ kind: event.kind,
122
+ phase: event.phase,
123
+ id: event.id,
124
+ timestamp: event.timestamp
125
+ };
126
+ if (event.name !== undefined) {
127
+ nextEvent.name = event.name;
128
+ }
129
+ if (event.status !== undefined) {
130
+ nextEvent.status = event.status;
131
+ }
132
+ if (event.chunkCount !== undefined) {
133
+ nextEvent.chunkCount = event.chunkCount;
134
+ }
135
+ if (event.error !== undefined) {
136
+ nextEvent.error = event.error;
137
+ }
138
+ return nextEvent;
139
+ }
140
+ function isTerminalPhase(phase) {
141
+ return phase === 'complete' || phase === 'error' || phase === 'abort';
142
+ }
143
+ function forwardDevtoolsEvent(target, event) {
144
+ if (!target) {
145
+ return;
146
+ }
147
+ try {
148
+ if (typeof target === 'function') {
149
+ target(event);
150
+ return;
151
+ }
152
+ if (target.enabled === false) {
153
+ return;
154
+ }
155
+ target.events?.push(event);
156
+ target.emit?.(event);
157
+ }
158
+ catch {
159
+ // Inspector forwarding must remain best-effort for the same reason as raw hook emission.
160
+ }
161
+ }
162
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../../src/core/devtools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/stream-runtime.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EAEV,WAAW,EACX,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAS3B,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAClD,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,OAAO,GAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAiI5B"}
1
+ {"version":3,"file":"stream-runtime.d.ts","sourceRoot":"","sources":["../../../src/core/stream-runtime.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,UAAU,EAEV,WAAW,EACX,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAc3B,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAClD,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,OAAO,GAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAM,GAC1C,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CA+L5B"}
@@ -8,15 +8,29 @@ import { AsyncQueue } from './stream-queue.js';
8
8
  import { startSource } from './stream-source.js';
9
9
  import { createReadableArraySignal, createReadableSignal, reduceText } from './stream-state.js';
10
10
  import { normalizeError } from '../shared/utils.js';
11
+ import { createDevtoolsStreamId, emitQoreDevtoolsEvent } from './devtools.js';
12
+ function createDevtoolsBase(id, name) {
13
+ return name === undefined ? { id } : { id, name };
14
+ }
11
15
  // Create the core stream primitive: a read-only signal plus async iterable plus lifecycle state.
12
16
  export function createStream(sourceOrSetup, options = {}) {
13
- const { seed = '', reduce = reduceText, backpressure = null } = options;
17
+ const { name, seed = '', reduce = reduceText, backpressure = null } = options;
14
18
  const pressure = normalizeBackpressure(backpressure);
19
+ const streamId = createDevtoolsStreamId();
15
20
  const state = createResponse({ seed, reduce });
16
21
  const queue = new AsyncQueue();
17
22
  const readable = createReadableSignal(state.value);
18
23
  const buffered = createSignal(0);
19
24
  const dropped = createSignal(0);
25
+ emitQoreDevtoolsEvent({
26
+ kind: 'stream',
27
+ phase: 'create',
28
+ ...createDevtoolsBase(streamId, name),
29
+ status: 'idle',
30
+ chunkCount: 0,
31
+ value: seed,
32
+ timestamp: Date.now()
33
+ });
20
34
  const lifecycle = createStreamLifecycle({
21
35
  closeQueue: () => queue.close(),
22
36
  readCurrent: () => readable.peek()
@@ -42,7 +56,20 @@ export function createStream(sourceOrSetup, options = {}) {
42
56
  recordDrop: () => dropped(dropped.peek() + 1),
43
57
  signal: runtimeSignal,
44
58
  updateBuffered: (count) => buffered(count),
45
- writeChunk: push
59
+ writeChunk: (chunk) => {
60
+ const nextValue = push(chunk);
61
+ emitQoreDevtoolsEvent({
62
+ kind: 'stream',
63
+ phase: 'chunk',
64
+ ...createDevtoolsBase(streamId, name),
65
+ status: state.status.peek(),
66
+ chunk,
67
+ value: nextValue,
68
+ chunkCount: state.chunkCount.peek(),
69
+ timestamp: Date.now()
70
+ });
71
+ return nextValue;
72
+ }
46
73
  });
47
74
  lifecycle.setCleanup(buffer.flush);
48
75
  // Wrap the response lifecycle so streams can push, fail, or abort through one surface.
@@ -90,12 +117,45 @@ export function createStream(sourceOrSetup, options = {}) {
90
117
  throw error;
91
118
  }
92
119
  });
120
+ const unsubscribeStatusDevtools = state.status.subscribe((status) => {
121
+ const phase = status === 'completed'
122
+ ? 'complete'
123
+ : status === 'error'
124
+ ? 'error'
125
+ : status === 'aborted'
126
+ ? 'abort'
127
+ : 'status';
128
+ emitQoreDevtoolsEvent({
129
+ kind: 'stream',
130
+ phase,
131
+ ...createDevtoolsBase(streamId, name),
132
+ status,
133
+ value: state.value.peek(),
134
+ chunkCount: state.chunkCount.peek(),
135
+ error: state.error.peek(),
136
+ timestamp: Date.now()
137
+ });
138
+ }, { immediate: false });
139
+ run.finally(unsubscribeStatusDevtools).catch(() => {
140
+ // The original ready promise still carries the stream failure; this branch only prevents
141
+ // instrumentation cleanup from creating an unhandled rejection.
142
+ });
93
143
  // Keep async consumers in sync with failures that surface after startup.
94
144
  run.catch((error) => {
95
145
  if (!queue.closed) {
96
146
  queue.fail(error);
97
147
  }
98
148
  });
149
+ Object.defineProperties(readable, {
150
+ id: {
151
+ enumerable: true,
152
+ value: streamId
153
+ },
154
+ name: {
155
+ enumerable: true,
156
+ value: name
157
+ }
158
+ });
99
159
  attachStreamState(readable, state, buffered, dropped, run, lifecycle.stop);
100
160
  // Expose the current AbortSignal so advanced integrations can observe cancellation.
101
161
  Object.defineProperty(readable, 'signal', {
@@ -1 +1 @@
1
- {"version":3,"file":"stream-runtime.js","sourceRoot":"","sources":["../../../src/core/stream-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-runtime.js","sourceRoot":"","sources":["../../../src/core/stream-runtime.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface Deferred<T> {
18
18
  reject(reason?: unknown): void;
19
19
  }
20
20
  export interface StreamOptions<TChunk = unknown, TValue = string> {
21
+ name?: string;
21
22
  seed?: TValue;
22
23
  reduce?: (currentValue: TValue, chunk: TChunk, index: number) => TValue;
23
24
  backpressure?: number | BackpressureOptions | null;
@@ -46,6 +47,8 @@ export interface StreamController<TChunk = unknown, TValue = string> {
46
47
  export type StreamSetup<TChunk, TValue> = (controller: StreamController<TChunk, TValue>) => MaybePromise<void | SourceLike<TChunk>>;
47
48
  export type StreamInput<TChunk, TValue> = SourceLike<TChunk> | StreamSetup<TChunk, TValue>;
48
49
  export interface QoreStream<TChunk = unknown, TValue = string> extends ReadonlySignal<TValue>, AsyncIterable<TChunk> {
50
+ readonly id: string;
51
+ readonly name?: string;
49
52
  status: ReadonlySignal<ResponseStatus>;
50
53
  error: ReadonlySignal<Error | null>;
51
54
  chunks: ReadonlySignal<TChunk[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"stream-types.d.ts","sourceRoot":"","sources":["../../../src/core/stream-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-types.d.ts","sourceRoot":"","sources":["../../../src/core/stream-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export { signal, computed, createRoot, effect, onCleanup, batch, untrack, isSignal } from './core/signal.js';
2
2
  export type { ComputedSignal, ReadonlySignal, Signal } from './core/signal.js';
3
3
  export type { EffectOptions, EffectScheduler, SubscribeOptions } from './core/signal-types.js';
4
+ export { createStreamInspector } from './core/devtools.js';
5
+ export type { QoreDevtoolsEvent, QoreDevtoolsHook, QoreDevtoolsStreamEvent, QoreDevtoolsStreamPhase, QoreInspectedStream, QoreStreamInspector, StreamInspectorOptions } from './core/devtools.js';
4
6
  export { stream, createStream, from, mapStream, scanStream, toAsyncIterable } from './core/stream.js';
5
7
  export type { BackpressureOptions, QoreEventStream, QoreStream, RetryBackoff, RetryableStreamOptions, StreamController, StreamEventBase, StreamEventOf, StreamEventOptions, StreamEventType, StreamFactory, StreamInput, StreamOptions, StreamSelectOptions, StreamSetup } from './core/stream.js';
6
8
  export { createResponse, response } from './core/response.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // Re-export the public runtime surface from a single module entrypoint.
2
2
  export { signal, computed, createRoot, effect, onCleanup, batch, untrack, isSignal } from './core/signal.js';
3
+ export { createStreamInspector } from './core/devtools.js';
3
4
  export { stream, createStream, from, mapStream, scanStream, toAsyncIterable } from './core/stream.js';
4
5
  export { createResponse, response } from './core/response.js';
5
6
  export { createApp } from './dom/app.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG7G,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAkBtG,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAiB9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAoB7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAiD5B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG7G,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAU3D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAkBtG,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAiB9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAoB7D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAiD5B,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC"}
package/docs/api.md CHANGED
@@ -75,3 +75,18 @@ import { createSSEResponse } from '@qorejs/qore';
75
75
  ```
76
76
 
77
77
  `createSSEResponse(...)` turns strings, events, or async iterables into a standards-compatible `text/event-stream` response.
78
+
79
+
80
+ ## DevTools
81
+
82
+ ```js
83
+ const inspector = createStreamInspector({ maxEvents: 200 });
84
+ const answer = stream(source, { name: 'answer' });
85
+ ```
86
+
87
+ - `QoreStream.id`: stable runtime id for inspection.
88
+ - `QoreStream.name`: optional stream name from `StreamOptions.name`.
89
+ - `createStreamInspector(options?)`: install a disposable inspector over the global DevTools hook.
90
+ - `QoreStreamInspector.events()`: recent raw stream lifecycle events.
91
+ - `QoreStreamInspector.streams()`: derived stream summaries for custom panels and tests.
92
+ - `QoreDevtoolsEvent`: exported TypeScript event type for custom inspectors.
@@ -31,6 +31,7 @@ The stream runtime owns:
31
31
  - backpressure buffering
32
32
  - async iterator bridging
33
33
  - reducer-based accumulation
34
+ - development-time stream inspection through `globalThis.__QORE_DEVTOOLS__`
34
35
 
35
36
  ## Readonly Signal
36
37
 
@@ -0,0 +1,77 @@
1
+ # DevTools Hook
2
+
3
+ Qore exposes a lightweight development hook for stream inspection. It is inert by default and does not install any global state unless your app provides one.
4
+
5
+ ## Stream Inspector
6
+
7
+ For local dashboards, tests, and playgrounds, use the built-in inspector wrapper:
8
+
9
+ ```js
10
+ import { createStreamInspector, stream } from '@qorejs/qore';
11
+
12
+ const inspector = createStreamInspector({ maxEvents: 200 });
13
+
14
+ const answer = stream(openai.chat('hello'), { name: 'answer' });
15
+ await answer.ready;
16
+
17
+ console.table(inspector.streams());
18
+ console.log(inspector.events());
19
+
20
+ inspector.dispose();
21
+ ```
22
+
23
+ `inspector.events()` is a readonly signal containing the recent raw DevTools events. `inspector.streams()` is a derived readonly signal summarizing each observed stream by `id`, `name`, `status`, `chunkCount`, timestamps, and latest value.
24
+
25
+ Use `capturePayloads: false` when you want lifecycle timing without retaining token payloads:
26
+
27
+ ```js
28
+ const inspector = createStreamInspector({
29
+ maxEvents: 500,
30
+ capturePayloads: false
31
+ });
32
+ ```
33
+
34
+ Always call `dispose()` when a test, story, or custom panel is torn down. Disposal restores the previous global hook instead of leaving instrumentation attached.
35
+
36
+ ## Raw Hook
37
+
38
+ ```js
39
+ globalThis.__QORE_DEVTOOLS__ = {
40
+ events: [],
41
+ emit(event) {
42
+ console.log(event.phase, event.name, event.status);
43
+ }
44
+ };
45
+
46
+ const answer = stream(openai.chat('hello'), { name: 'answer' });
47
+ ```
48
+
49
+ Each stream emits lifecycle events such as `create`, `status`, `chunk`, `complete`, `error`, and `abort`.
50
+
51
+ ```ts
52
+ type QoreDevtoolsStreamEvent = {
53
+ kind: 'stream';
54
+ phase: 'create' | 'status' | 'chunk' | 'complete' | 'error' | 'abort';
55
+ id: string;
56
+ name?: string;
57
+ status?: ResponseStatus;
58
+ chunk?: unknown;
59
+ value?: unknown;
60
+ chunkCount?: number;
61
+ error?: Error | null;
62
+ timestamp: number;
63
+ };
64
+ ```
65
+
66
+ Use `name` in stream options when you want traces to stay readable:
67
+
68
+ ```js
69
+ const events = stream.events(agent.run(task), { name: 'agent-events' });
70
+ const markdown = events.select('text', {
71
+ name: 'agent-markdown',
72
+ seed: '',
73
+ reduce: (current, event) => current + event.text
74
+ });
75
+ ```
76
+
77
+ The hook is intentionally small. It gives browser extensions, custom inspectors, tests, and local dashboards a stable event surface without making the runtime depend on a DevTools package.
package/docs/runtime.md CHANGED
@@ -73,6 +73,24 @@ The full event timeline remains available through `events()`. Each selector is a
73
73
 
74
74
  A complete typed example lives in [`examples/agent-event-stream.ts`](../examples/agent-event-stream.ts). It projects one agent event timeline into markdown, status, tool-call, tool-result, diff, and artifact surfaces without creating separate state stores.
75
75
 
76
+
77
+ ## DevTools Hook
78
+
79
+ Install `globalThis.__QORE_DEVTOOLS__` in development to inspect stream lifecycle and chunk flow without changing app code.
80
+
81
+ ```js
82
+ globalThis.__QORE_DEVTOOLS__ = {
83
+ events: [],
84
+ emit(event) {
85
+ console.log(event.phase, event.name, event.status);
86
+ }
87
+ };
88
+
89
+ const answer = stream(model.chat('hello'), { name: 'answer' });
90
+ ```
91
+
92
+ Named streams expose stable `id` and optional `name` fields. DevTools events are best-effort and never affect stream control flow. See [`docs/devtools.md`](./devtools.md) for the event shape.
93
+
76
94
  ## Abort
77
95
 
78
96
  Streams can be aborted from the Qore stream object or from provider request options:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qorejs/qore",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Qore is a reactive stream runtime for AI-native interfaces.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",