qnce-engine 1.3.1 β†’ 1.3.2

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
@@ -2,12 +2,14 @@
2
2
 
3
3
  **Quantum Narrative Convergence Engine** - A framework-agnostic TypeScript library for creating interactive narrative experiences with quantum-inspired mechanics.
4
4
 
5
- > **πŸš€ Latest v1.3.0 (Import & Persistence):** New `qnce-import` CLI (Custom JSON, Twison with tagsβ†’`meta.tags`, experimental Ink), persistence adapters (Memory, LocalStorage, SessionStorage, File, IndexedDB), and `qnce-play` support for storage backends and non-interactive runs.
5
+ > **πŸš€ Latest v1.3.1 (Import & Persistence):** New `qnce-import` CLI (Custom JSON, Twison with tagsβ†’`meta.tags`, experimental Ink), persistence adapters (Memory, LocalStorage, SessionStorage, File, IndexedDB), and `qnce-play` support for storage backends and non-interactive runs.
6
6
 
7
7
  [![npm version](https://badge.fury.io/js/qnce-engine.svg)](https://badge.fury.io/js/qnce-engine)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
10
 
11
+ > New: Lightweight, privacy-safe telemetry (opt-in). CLI now supports `--telemetry` and `--telemetry-report`, with p50/p95 batch send latency. See the wiki: [Analytics & Telemetry](https://github.com/ByteSower/qnce-engine/blob/main/wiki/Analytics-and-Telemetry.md).
12
+
11
13
  ## Core Concepts
12
14
 
13
15
  - **Superposition:** Multiple narrative outcomes exist simultaneously until a choice is made
@@ -1 +1 @@
1
- {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":";AAqKA,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":";AA2LA,OAAO,EAAE,CAAC"}
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
- const core_js_1 = require("../engine/core.js");
6
+ const core_js_1 = require("../telemetry/core.js");
7
+ const core_js_2 = require("../engine/core.js");
7
8
  const CustomJSONAdapter_js_1 = require("../adapters/story/CustomJSONAdapter.js");
8
9
  const TwisonAdapter_js_1 = require("../adapters/story/TwisonAdapter.js");
9
10
  const InkAdapter_js_1 = require("../adapters/story/InkAdapter.js");
@@ -38,7 +39,7 @@ async function main() {
38
39
  const args = process.argv.slice(2);
39
40
  const showHelp = args.length === 0 && process.stdin.isTTY;
40
41
  if (showHelp || args.includes('--help') || args.includes('-h')) {
41
- console.log(`\nQNCE Import CLI\nUsage: qnce-import <input-file>|(read from stdin) [--out <file>|stdout] [--id-prefix <prefix>] [--format json|twison|ink] [--strict] [--experimental-ink]\n`);
42
+ console.log(`\nQNCE Import CLI\nUsage: qnce-import <input-file>|(read from stdin) [--out <file>|stdout] [--id-prefix <prefix>] [--format json|twison|ink] [--strict] [--experimental-ink] [--telemetry <console|file|none>] [--telemetry-file <path>] [--telemetry-sample <0..1>]\n`);
42
43
  process.exit(0);
43
44
  }
44
45
  const formatIdx = args.indexOf('--format');
@@ -49,6 +50,18 @@ async function main() {
49
50
  const idPrefix = idPrefixIndex >= 0 ? args[idPrefixIndex + 1] : '';
50
51
  const outIndex = args.indexOf('--out');
51
52
  const outArg = outIndex >= 0 ? args[outIndex + 1] : undefined;
53
+ // Telemetry flags
54
+ const telemetryIdx = args.indexOf('--telemetry');
55
+ const telemetryKind = telemetryIdx >= 0 ? (args[telemetryIdx + 1] || 'none') : 'none';
56
+ const telemetryFileIdx = args.indexOf('--telemetry-file');
57
+ const telemetryPath = telemetryFileIdx >= 0 ? args[telemetryFileIdx + 1] : undefined;
58
+ const telemetrySampleIdx = args.indexOf('--telemetry-sample');
59
+ const telemetrySample = telemetrySampleIdx >= 0 ? Math.max(0, Math.min(1, parseFloat(args[telemetrySampleIdx + 1]))) : undefined;
60
+ let telemetry;
61
+ if (telemetryKind && telemetryKind !== 'none') {
62
+ const adapter = telemetryKind === 'file' ? (0, core_js_1.createTelemetryAdapter)('file', { path: telemetryPath || 'qnce-import.ndjson' }) : (0, core_js_1.createTelemetryAdapter)('console');
63
+ telemetry = (0, core_js_1.createTelemetry)({ adapter, enabled: true, sampleRate: telemetrySample ?? (process.env.NODE_ENV === 'production' ? 0 : 0.25), defaultCtx: { engineVersion: '1.3.1', env: process.env.NODE_ENV || 'dev', sessionId: `import-${Date.now()}` } });
64
+ }
52
65
  let raw;
53
66
  let inputName = 'stdin';
54
67
  if (args[0] && !args[0].startsWith('--')) {
@@ -61,6 +74,7 @@ async function main() {
61
74
  }
62
75
  let exitCode = 0;
63
76
  try {
77
+ const t0 = Date.now();
64
78
  const json = JSON.parse(raw);
65
79
  let selected;
66
80
  if (format) {
@@ -134,7 +148,13 @@ async function main() {
134
148
  exitCode = Math.max(exitCode, 1);
135
149
  }
136
150
  }
137
- const story = (0, core_js_1.loadStoryData)(normalized);
151
+ const story = (0, core_js_2.loadStoryData)(normalized);
152
+ // Emit single load event with duration and warnings
153
+ const durationMs = Date.now() - t0;
154
+ try {
155
+ telemetry?.emit({ type: 'import.load', payload: { inputName, format: selected.key, durationMs, warnings: exitCode }, ts: Date.now(), ctx: { sessionId: `import-${t0}`, engineVersion: '1.3.1' } });
156
+ }
157
+ catch { }
138
158
  if (outArg && outArg !== 'stdout') {
139
159
  const outPath = (0, path_1.resolve)(outArg);
140
160
  (0, fs_1.writeFileSync)(outPath, JSON.stringify(story, null, 2));
@@ -149,10 +169,15 @@ async function main() {
149
169
  // stdout
150
170
  process.stdout.write(JSON.stringify(story, null, 2));
151
171
  }
172
+ await telemetry?.flush();
152
173
  process.exit(exitCode);
153
174
  }
154
175
  catch (err) {
155
176
  console.error('❌ Import failed:', err?.message || err);
177
+ try {
178
+ await telemetry?.flush();
179
+ }
180
+ catch { }
156
181
  process.exit(2);
157
182
  }
158
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/cli/import.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../../src/cli/play.ts"],"names":[],"mappings":";AAiQA,iBAAS,IAAI,IAAI,IAAI,CAuHpB;AAOD,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"play.d.ts","sourceRoot":"","sources":["../../src/cli/play.ts"],"names":[],"mappings":";AAmQA,iBAAS,IAAI,IAAI,IAAI,CAuLpB;AAOD,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC"}
package/dist/cli/play.js CHANGED
@@ -5,6 +5,7 @@ exports.playInteractive = main;
5
5
  const fs_1 = require("fs");
6
6
  const readline_1 = require("readline");
7
7
  const core_js_1 = require("../engine/core.js");
8
+ const core_js_2 = require("../telemetry/core.js");
8
9
  const StorageAdapters_js_1 = require("../persistence/StorageAdapters.js");
9
10
  const demo_story_js_1 = require("../engine/demo-story.js");
10
11
  function displayNode(session) {
@@ -217,7 +218,7 @@ function main() {
217
218
  const args = process.argv.slice(2);
218
219
  if (args.includes('--help') || args.includes('-h')) {
219
220
  console.log('QNCE Interactive CLI');
220
- console.log('Usage: qnce-play [story-file.json] [--storage <type>] [--storage-prefix <p>] [--storage-dir <dir>] [--storage-db <name>] [--non-interactive] [--save-key <key>] [--load-key <key>]');
221
+ console.log('Usage: qnce-play [story-file.json] [--storage <type>] [--storage-prefix <p>] [--storage-dir <dir>] [--storage-db <name>] [--non-interactive] [--save-key <key>] [--load-key <key>] [--telemetry <console|file|none>] [--telemetry-file <path>] [--telemetry-sample <0..1>] [--telemetry-report]');
221
222
  console.log('');
222
223
  console.log('If no story file is provided, the demo story will be used.');
223
224
  console.log('');
@@ -227,7 +228,18 @@ function main() {
227
228
  }
228
229
  let storyData;
229
230
  // Parse args to find a positional story file (skip option values)
230
- const optsWithValue = new Set(['--storage', '--storage-prefix', '--storage-dir', '--storage-db', '--save-key', '--load-key']);
231
+ const optsWithValue = new Set([
232
+ '--storage',
233
+ '--storage-prefix',
234
+ '--storage-dir',
235
+ '--storage-db',
236
+ '--save-key',
237
+ '--load-key',
238
+ // telemetry flags with values
239
+ '--telemetry',
240
+ '--telemetry-file',
241
+ '--telemetry-sample'
242
+ ]);
231
243
  let storyFile;
232
244
  for (let i = 0; i < args.length; i++) {
233
245
  const a = args[i];
@@ -255,7 +267,20 @@ function main() {
255
267
  console.log('πŸ“– Using demo story');
256
268
  storyData = demo_story_js_1.DEMO_STORY;
257
269
  }
258
- const engine = (0, core_js_1.createQNCEEngine)(storyData);
270
+ // Telemetry flags
271
+ const telemetryIdx = args.indexOf('--telemetry');
272
+ const telemetryKind = telemetryIdx >= 0 ? (args[telemetryIdx + 1] || 'none') : 'none';
273
+ const telemetrySampleIdx = args.indexOf('--telemetry-sample');
274
+ const telemetrySample = telemetrySampleIdx >= 0 ? Math.max(0, Math.min(1, parseFloat(args[telemetrySampleIdx + 1]))) : undefined;
275
+ const telemetryFileIdx = args.indexOf('--telemetry-file');
276
+ const telemetryPath = telemetryFileIdx >= 0 ? args[telemetryFileIdx + 1] : undefined;
277
+ const telemetryReport = args.includes('--telemetry-report');
278
+ let telemetry;
279
+ if (telemetryKind && telemetryKind !== 'none') {
280
+ const adapter = telemetryKind === 'file' ? (0, core_js_2.createTelemetryAdapter)('file', { path: telemetryPath || 'qnce-telemetry.ndjson' }) : (0, core_js_2.createTelemetryAdapter)('console');
281
+ telemetry = (0, core_js_2.createTelemetry)({ adapter, enabled: true, sampleRate: telemetrySample ?? (process.env.NODE_ENV === 'production' ? 0 : 0.25), defaultCtx: { engineVersion: '1.3.1', env: process.env.NODE_ENV || 'dev', sessionId: '' } });
282
+ }
283
+ const engine = (0, core_js_1.createQNCEEngine)(storyData, undefined, false, undefined, telemetry ? { telemetry, env: process.env.NODE_ENV || 'dev' } : undefined);
259
284
  // Storage adapter selection
260
285
  const storageIdx = args.indexOf('--storage');
261
286
  const storageType = storageIdx >= 0 ? args[storageIdx + 1] : undefined;
@@ -317,6 +342,22 @@ function main() {
317
342
  catch { }
318
343
  }
319
344
  console.log(JSON.stringify(summary));
345
+ // If telemetry report requested in non-interactive mode, print it here before exit
346
+ if (telemetry && telemetryReport) {
347
+ await telemetry.flush();
348
+ const s = telemetry.stats();
349
+ console.log('\nTelemetry Report');
350
+ console.log('----------------');
351
+ console.log(`queued : ${s.queued}`);
352
+ console.log(`sent : ${s.sent}`);
353
+ console.log(`dropped:${s.dropped}`);
354
+ if (typeof s.p50 === 'number' || typeof s.p95 === 'number') {
355
+ console.log(`p50 send latency: ${s.p50 ?? 'n/a'} ms`);
356
+ console.log(`p95 send latency: ${s.p95 ?? 'n/a'} ms`);
357
+ console.log('\nBatch send latency (ms):');
358
+ console.log(`p50: ${s.p50 ?? 'n/a'} | p95: ${s.p95 ?? 'n/a'}`);
359
+ }
360
+ }
320
361
  process.exit(0);
321
362
  }
322
363
  catch (error) {
@@ -330,11 +371,32 @@ function main() {
330
371
  input: process.stdin,
331
372
  output: process.stdout
332
373
  });
333
- const session = { engine, rl };
374
+ const session = { engine, rl, telemetry };
334
375
  startInteractiveSession(session).catch((error) => {
335
376
  console.error('❌ Session error:', error.message);
336
377
  process.exit(1);
337
378
  });
379
+ // Print telemetry report on exit
380
+ if (telemetry && telemetryReport) {
381
+ process.on('beforeExit', async () => {
382
+ await telemetry.flush();
383
+ const s = telemetry.stats();
384
+ // Minimal ASCII report
385
+ console.log('\nTelemetry Report');
386
+ console.log('----------------');
387
+ console.log(`queued : ${s.queued}`);
388
+ console.log(`sent : ${s.sent}`);
389
+ console.log(`dropped:${s.dropped}`);
390
+ if (typeof s.p50 === 'number' || typeof s.p95 === 'number') {
391
+ console.log(`p50 send latency: ${s.p50 ?? 'n/a'} ms`);
392
+ console.log(`p95 send latency: ${s.p95 ?? 'n/a'} ms`);
393
+ }
394
+ if (typeof s.p50 === 'number' || typeof s.p95 === 'number') {
395
+ console.log('\nBatch send latency (ms):');
396
+ console.log(`p50: ${s.p50 ?? 'n/a'} | p95: ${s.p95 ?? 'n/a'}`);
397
+ }
398
+ });
399
+ }
338
400
  }
339
401
  // Run if called directly
340
402
  if (process.argv[1] && process.argv[1].endsWith('play.js')) {
@@ -1 +1 @@
1
- {"version":3,"file":"play.js","sourceRoot":"","sources":["../../src/cli/play.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"play.js","sourceRoot":"","sources":["../../src/cli/play.ts"],"names":[],"mappings":"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"}
@@ -70,10 +70,17 @@ export declare class QNCEEngine {
70
70
  private lastAutosaveTime;
71
71
  private isUndoRedoOperation;
72
72
  private storageAdapter?;
73
+ private telemetry?;
74
+ private defaultTelemetryCtx?;
73
75
  get flags(): Record<string, unknown>;
74
76
  get history(): string[];
75
77
  get isComplete(): boolean;
76
- constructor(storyData: StoryData, initialState?: Partial<QNCEState>, performanceMode?: boolean, threadPoolConfig?: Partial<ThreadPoolConfig>);
78
+ constructor(storyData: StoryData, initialState?: Partial<QNCEState>, performanceMode?: boolean, threadPoolConfig?: Partial<ThreadPoolConfig>, options?: {
79
+ telemetry?: import('../telemetry/types').Telemetry;
80
+ env?: 'dev' | 'test' | 'prod';
81
+ appVersion?: string;
82
+ sessionId?: string;
83
+ });
77
84
  /** Attach a storage adapter for persistence */
78
85
  attachStorageAdapter(adapter: StorageAdapter): void;
79
86
  /** Save current state through the attached storage adapter */
@@ -116,6 +123,8 @@ export declare class QNCEEngine {
116
123
  setFlag(key: string, value: unknown): void;
117
124
  getHistory(): string[];
118
125
  selectChoice(choice: Choice): void;
126
+ /** Flush telemetry (useful before process exit) */
127
+ flushTelemetry(): Promise<void>;
119
128
  resetNarrative(): void;
120
129
  /**
121
130
  * Load simple state (legacy method for backward compatibility)
@@ -430,7 +439,12 @@ export declare class QNCEEngine {
430
439
  /**
431
440
  * Factory function to create a QNCE engine instance
432
441
  */
433
- export declare function createQNCEEngine(storyData: StoryData, initialState?: Partial<QNCEState>, performanceMode?: boolean): QNCEEngine;
442
+ export declare function createQNCEEngine(storyData: StoryData, initialState?: Partial<QNCEState>, performanceMode?: boolean, threadPoolConfig?: Partial<ThreadPoolConfig>, options?: {
443
+ telemetry?: import('../telemetry/types').Telemetry;
444
+ env?: 'dev' | 'test' | 'prod';
445
+ appVersion?: string;
446
+ sessionId?: string;
447
+ }): QNCEEngine;
434
448
  /**
435
449
  * Load story data from JSON
436
450
  */
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,9 @@ class QNCEEngine {
67
67
  lastAutosaveTime = 0;
68
68
  isUndoRedoOperation = false;
69
69
  storageAdapter;
70
+ // Sprint 4.1: Telemetry support
71
+ telemetry;
72
+ defaultTelemetryCtx;
70
73
  get flags() {
71
74
  return this.state.flags;
72
75
  }
@@ -81,7 +84,7 @@ class QNCEEngine {
81
84
  return true; // If current node not found, consider it complete
82
85
  }
83
86
  }
84
- constructor(storyData, initialState, performanceMode = false, threadPoolConfig) {
87
+ constructor(storyData, initialState, performanceMode = false, threadPoolConfig, options) {
85
88
  this.storyData = storyData;
86
89
  this.performanceMode = performanceMode;
87
90
  this.enableProfiling = performanceMode; // Enable profiling with performance mode
@@ -96,6 +99,22 @@ class QNCEEngine {
96
99
  flags: initialState?.flags || {},
97
100
  history: initialState?.history || [storyData.initialNodeId],
98
101
  };
102
+ // Telemetry wiring
103
+ this.telemetry = options?.telemetry;
104
+ if (this.telemetry) {
105
+ const sessionId = options?.sessionId || `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
106
+ this.defaultTelemetryCtx = {
107
+ sessionId,
108
+ storyId: undefined,
109
+ appVersion: options?.appVersion,
110
+ engineVersion: types_1.PERSISTENCE_VERSION,
111
+ env: options?.env
112
+ };
113
+ try {
114
+ this.telemetry.emit({ type: 'session.start', payload: { initialNodeId: this.state.currentNodeId }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
115
+ }
116
+ catch { }
117
+ }
99
118
  }
100
119
  // Lane B: StorageAdapter integration
101
120
  /** Attach a storage adapter for persistence */
@@ -106,29 +125,53 @@ class QNCEEngine {
106
125
  async saveToStorage(key, options = {}) {
107
126
  if (!this.storageAdapter)
108
127
  return { success: false, error: 'No storage adapter attached' };
128
+ const t0 = Date.now();
109
129
  const serialized = await this.saveState(options);
110
- return this.storageAdapter.save(key, serialized, options);
130
+ const res = await this.storageAdapter.save(key, serialized, options);
131
+ try {
132
+ this.telemetry?.emit({ type: 'storage.op', payload: { op: 'save', key, ms: Date.now() - t0, ok: !!res?.success }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
133
+ }
134
+ catch { }
135
+ return res;
111
136
  }
112
137
  /** Load state from the attached storage adapter */
113
138
  async loadFromStorage(key, options = {}) {
114
139
  if (!this.storageAdapter)
115
140
  return { success: false, error: 'No storage adapter attached' };
141
+ const t0 = Date.now();
116
142
  const serialized = await this.storageAdapter.load(key, options);
117
143
  if (!serialized)
118
144
  return { success: false, error: `No data for key: ${key}` };
119
- return this.loadState(serialized, options);
145
+ const res = await this.loadState(serialized, options);
146
+ try {
147
+ this.telemetry?.emit({ type: 'storage.op', payload: { op: 'load', key, ms: Date.now() - t0, ok: !!res?.success }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
148
+ }
149
+ catch { }
150
+ return res;
120
151
  }
121
152
  /** Delete a stored state via the adapter */
122
153
  async deleteFromStorage(key) {
123
154
  if (!this.storageAdapter)
124
155
  return false;
125
- return this.storageAdapter.delete(key);
156
+ const t0 = Date.now();
157
+ const ok = await this.storageAdapter.delete(key);
158
+ try {
159
+ this.telemetry?.emit({ type: 'storage.op', payload: { op: 'delete', key, ms: Date.now() - t0, ok }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
160
+ }
161
+ catch { }
162
+ return ok;
126
163
  }
127
164
  /** List keys from the adapter */
128
165
  async listStorageKeys() {
129
166
  if (!this.storageAdapter)
130
167
  return [];
131
- return this.storageAdapter.list();
168
+ const t0 = Date.now();
169
+ const keys = await this.storageAdapter.list();
170
+ try {
171
+ this.telemetry?.emit({ type: 'storage.op', payload: { op: 'list', count: keys.length, ms: Date.now() - t0, ok: true }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
172
+ }
173
+ catch { }
174
+ return keys;
132
175
  }
133
176
  /** Check if a key exists via the adapter */
134
177
  async storageExists(key) {
@@ -140,7 +183,13 @@ class QNCEEngine {
140
183
  async clearStorage() {
141
184
  if (!this.storageAdapter)
142
185
  return false;
143
- return this.storageAdapter.clear();
186
+ const t0 = Date.now();
187
+ const ok = await this.storageAdapter.clear();
188
+ try {
189
+ this.telemetry?.emit({ type: 'storage.op', payload: { op: 'clear', ms: Date.now() - t0, ok }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
190
+ }
191
+ catch { }
192
+ return ok;
144
193
  }
145
194
  /** Get storage statistics from the adapter */
146
195
  async getStorageStats() {
@@ -210,7 +259,12 @@ class QNCEEngine {
210
259
  choices: pooledNode.choices
211
260
  };
212
261
  }
213
- return findNode(this.storyData.nodes, this.state.currentNodeId);
262
+ const node = findNode(this.storyData.nodes, this.state.currentNodeId);
263
+ try {
264
+ this.telemetry?.emit({ type: 'node.enter', payload: { nodeId: node.id }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
265
+ }
266
+ catch { }
267
+ return node;
214
268
  }
215
269
  /**
216
270
  * Get available choices from the current node with validation and conditional filtering
@@ -231,7 +285,13 @@ class QNCEEngine {
231
285
  }
232
286
  try {
233
287
  // Evaluate the condition using the condition evaluator
234
- return condition_1.conditionEvaluator.evaluate(choice.condition, context);
288
+ const t0 = Date.now();
289
+ const res = condition_1.conditionEvaluator.evaluate(choice.condition, context);
290
+ try {
291
+ this.telemetry?.emit({ type: 'expression.evaluate', payload: { ok: true, ms: Date.now() - t0 }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
292
+ }
293
+ catch { }
294
+ return res;
235
295
  }
236
296
  catch (error) {
237
297
  // Log condition evaluation errors but don't block other choices
@@ -241,9 +301,17 @@ class QNCEEngine {
241
301
  condition: choice.condition,
242
302
  nodeId: this.state.currentNodeId
243
303
  });
304
+ try {
305
+ this.telemetry?.emit({ type: 'expression.evaluate', payload: { ok: false, error: 'ConditionEvaluationError' }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
306
+ }
307
+ catch { }
244
308
  }
245
309
  else {
246
310
  console.warn(`[QNCE] Unexpected error evaluating choice condition:`, error);
311
+ try {
312
+ this.telemetry?.emit({ type: 'engine.error', payload: { where: 'getAvailableChoices', error: error?.message || String(error) }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
313
+ }
314
+ catch { }
247
315
  }
248
316
  // Return false for invalid conditions (choice won't be shown)
249
317
  return false;
@@ -314,6 +382,11 @@ class QNCEEngine {
314
382
  : null;
315
383
  const fromNodeId = this.state.currentNodeId;
316
384
  const toNodeId = choice.nextNodeId;
385
+ // Telemetry: choice.select
386
+ try {
387
+ this.telemetry?.emit({ type: 'choice.select', payload: { fromNodeId, toNodeId, choiceText: choice.text }, ts: Date.now(), ctx: this.defaultTelemetryCtx });
388
+ }
389
+ catch { }
317
390
  // Create flow event for tracking narrative progression
318
391
  if (this.performanceMode) {
319
392
  const flowSpanId = this.enableProfiling
@@ -384,6 +457,11 @@ class QNCEEngine {
384
457
  });
385
458
  }
386
459
  }
460
+ /** Flush telemetry (useful before process exit) */
461
+ async flushTelemetry() { try {
462
+ await this.telemetry?.flush();
463
+ }
464
+ catch { } }
387
465
  resetNarrative() {
388
466
  // Sprint 3.5: Save state for undo before reset
389
467
  const preChangeState = this.deepCopy(this.state);
@@ -1540,8 +1618,8 @@ exports.QNCEEngine = QNCEEngine;
1540
1618
  /**
1541
1619
  * Factory function to create a QNCE engine instance
1542
1620
  */
1543
- function createQNCEEngine(storyData, initialState, performanceMode = false) {
1544
- return new QNCEEngine(storyData, initialState, performanceMode);
1621
+ function createQNCEEngine(storyData, initialState, performanceMode = false, threadPoolConfig, options) {
1622
+ return new QNCEEngine(storyData, initialState, performanceMode, threadPoolConfig, options);
1545
1623
  }
1546
1624
  /**
1547
1625
  * Load story data from JSON
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/engine/core.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,4 +5,6 @@ export * from './integrations/react.js';
5
5
  export * from './ui/index.js';
6
6
  export { QNCEEngine, createQNCEEngine, loadStoryData, type Choice, type NarrativeNode, type QNCEState, type StoryData } from './engine/core.js';
7
7
  export { ConditionEvaluator, ConditionEvaluationError, conditionEvaluator, type ConditionContext, type CustomEvaluatorFunction } from './engine/condition.js';
8
+ export type { QEvent, Telemetry, TelemetryAdapter, TelemetryOptions } from './telemetry/types.js';
9
+ export { createTelemetry, createTelemetryAdapter, ConsoleAdapter, FileAdapter } from './telemetry/core.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,cAAc,uBAAuB,CAAC;AAGtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,cAAc,uBAAuB,CAAC;AAGtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,eAAe,CAAC;AAG9B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.conditionEvaluator = exports.ConditionEvaluationError = exports.ConditionEvaluator = exports.loadStoryData = exports.createQNCEEngine = exports.QNCEEngine = exports.DEMO_STORY = void 0;
17
+ exports.FileAdapter = exports.ConsoleAdapter = exports.createTelemetryAdapter = exports.createTelemetry = exports.conditionEvaluator = exports.ConditionEvaluationError = exports.ConditionEvaluator = exports.loadStoryData = exports.createQNCEEngine = exports.QNCEEngine = exports.DEMO_STORY = void 0;
18
18
  // QNCE Engine - Main Export
19
19
  __exportStar(require("./engine/core.js"), exports);
20
20
  var demo_story_js_1 = require("./engine/demo-story.js");
@@ -35,4 +35,9 @@ var condition_js_1 = require("./engine/condition.js");
35
35
  Object.defineProperty(exports, "ConditionEvaluator", { enumerable: true, get: function () { return condition_js_1.ConditionEvaluator; } });
36
36
  Object.defineProperty(exports, "ConditionEvaluationError", { enumerable: true, get: function () { return condition_js_1.ConditionEvaluationError; } });
37
37
  Object.defineProperty(exports, "conditionEvaluator", { enumerable: true, get: function () { return condition_js_1.conditionEvaluator; } });
38
+ var core_js_2 = require("./telemetry/core.js");
39
+ Object.defineProperty(exports, "createTelemetry", { enumerable: true, get: function () { return core_js_2.createTelemetry; } });
40
+ Object.defineProperty(exports, "createTelemetryAdapter", { enumerable: true, get: function () { return core_js_2.createTelemetryAdapter; } });
41
+ Object.defineProperty(exports, "ConsoleAdapter", { enumerable: true, get: function () { return core_js_2.ConsoleAdapter; } });
42
+ Object.defineProperty(exports, "FileAdapter", { enumerable: true, get: function () { return core_js_2.FileAdapter; } });
38
43
  //# 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,4BAA4B;AAC5B,mDAAiC;AACjC,wDAAoD;AAA3C,2GAAA,UAAU,OAAA;AAEnB,iDAAiD;AACjD,wDAAsC;AAEtC,gEAAgE;AAChE,0DAAwC;AAExC,4BAA4B;AAC5B,gDAA8B;AAE9B,4BAA4B;AAC5B,4CAQ0B;AAPxB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,wGAAA,aAAa,OAAA;AAOf,uCAAuC;AACvC,sDAM+B;AAL7B,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,mDAAiC;AACjC,wDAAoD;AAA3C,2GAAA,UAAU,OAAA;AAEnB,iDAAiD;AACjD,wDAAsC;AAEtC,gEAAgE;AAChE,0DAAwC;AAExC,4BAA4B;AAC5B,gDAA8B;AAE9B,4BAA4B;AAC5B,4CAQ0B;AAPxB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,wGAAA,aAAa,OAAA;AAOf,uCAAuC;AACvC,sDAM+B;AAL7B,kHAAA,kBAAkB,OAAA;AAClB,wHAAA,wBAAwB,OAAA;AACxB,kHAAA,kBAAkB,OAAA;AAOpB,+CAA2G;AAAlG,0GAAA,eAAe,OAAA;AAAE,iHAAA,sBAAsB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,sGAAA,WAAW,OAAA"}
@@ -0,0 +1,62 @@
1
+ import { QEvent, Telemetry, TelemetryAdapter, TelemetryOptions } from './types.js';
2
+ export declare class RingBuffer<T> {
3
+ private capacity;
4
+ private buf;
5
+ private head;
6
+ private tail;
7
+ private _size;
8
+ constructor(capacity: number);
9
+ get size(): number;
10
+ get isFull(): boolean;
11
+ get isEmpty(): boolean;
12
+ push(item: T): boolean;
13
+ pop(): T | undefined;
14
+ drain(max: number): T[];
15
+ }
16
+ export declare class TelemetryImpl implements Telemetry {
17
+ private opts;
18
+ private adapter;
19
+ private queue;
20
+ private dropped;
21
+ private sent;
22
+ private lastFlushTs;
23
+ private timer;
24
+ private prng;
25
+ private seq;
26
+ private latencies;
27
+ constructor(options: TelemetryOptions);
28
+ configure(opts: Partial<TelemetryOptions>): void;
29
+ emit<T extends string, P>(event: QEvent<T, P>): void;
30
+ flush(): Promise<void>;
31
+ private percentile;
32
+ stats(): {
33
+ queued: number;
34
+ dropped: number;
35
+ sent: number;
36
+ lastFlushTs: number | null;
37
+ p50: number | undefined;
38
+ p95: number | undefined;
39
+ };
40
+ private startTimer;
41
+ private restartTimer;
42
+ dispose(): Promise<void>;
43
+ }
44
+ export declare class ConsoleAdapter implements TelemetryAdapter {
45
+ configure(): void;
46
+ send(batch: QEvent[]): Promise<void>;
47
+ }
48
+ export interface FileAdapterOptions {
49
+ path: string;
50
+ rotateBytes?: number;
51
+ }
52
+ export declare class FileAdapter implements TelemetryAdapter {
53
+ private opts;
54
+ private stream;
55
+ constructor(opts: FileAdapterOptions);
56
+ send(batch: QEvent[]): Promise<void>;
57
+ flush(): Promise<void>;
58
+ dispose(): Promise<void>;
59
+ }
60
+ export declare function createTelemetryAdapter(kind: 'console' | 'file', opts?: any): TelemetryAdapter;
61
+ export declare function createTelemetry(options: TelemetryOptions): Telemetry;
62
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/telemetry/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAanF,qBAAa,UAAU,CAAC,CAAC;IAKX,OAAO,CAAC,QAAQ;IAJ5B,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAAK;gBACE,QAAQ,EAAE,MAAM;IAIpC,IAAI,IAAI,IAAI,MAAM,CAAuB;IACzC,IAAI,MAAM,IAAI,OAAO,CAAyC;IAC9D,IAAI,OAAO,IAAI,OAAO,CAA6B;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO;IAOtB,GAAG,IAAI,CAAC,GAAG,SAAS;IAQpB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;CAQxB;AAED,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,IAAI,CAAmJ;IAC/J,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,SAAS,CAAgB;gBAErB,OAAO,EAAE,gBAAgB;IAsBrC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAiBhD,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAiB9C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB5B,OAAO,CAAC,UAAU;IAOlB,KAAK;;;;;;;;IAWL,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,YAAY;IAMd,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B;AAGD,qBAAa,cAAe,YAAW,gBAAgB;IACrD,SAAS,IAAI,IAAI;IACX,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAO3C;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,qBAAa,WAAY,YAAW,gBAAgB;IAEtC,OAAO,CAAC,IAAI;IADxB,OAAO,CAAC,MAAM,CAAc;gBACR,IAAI,EAAE,kBAAkB;IAGtC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAC/B;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAM7F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAEpE"}
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileAdapter = exports.ConsoleAdapter = exports.TelemetryImpl = exports.RingBuffer = void 0;
4
+ exports.createTelemetryAdapter = createTelemetryAdapter;
5
+ exports.createTelemetry = createTelemetry;
6
+ const fs_1 = require("fs");
7
+ // Simple PRNG for deterministic sampling in tests (xorshift32)
8
+ function xorshift32(seed) {
9
+ let x = seed | 0 || 123456789;
10
+ return () => {
11
+ x ^= x << 13;
12
+ x ^= x >>> 17;
13
+ x ^= x << 5;
14
+ // convert to [0,1)
15
+ return ((x >>> 0) / 0xFFFFFFFF);
16
+ };
17
+ }
18
+ class RingBuffer {
19
+ capacity;
20
+ buf;
21
+ head = 0; // next write
22
+ tail = 0; // next read
23
+ _size = 0;
24
+ constructor(capacity) {
25
+ this.capacity = capacity;
26
+ if (capacity <= 0)
27
+ throw new Error('capacity must be > 0');
28
+ this.buf = new Array(capacity);
29
+ }
30
+ get size() { return this._size; }
31
+ get isFull() { return this._size === this.capacity; }
32
+ get isEmpty() { return this._size === 0; }
33
+ push(item) {
34
+ if (this.isFull)
35
+ return false;
36
+ this.buf[this.head] = item;
37
+ this.head = (this.head + 1) % this.capacity;
38
+ this._size++;
39
+ return true;
40
+ }
41
+ pop() {
42
+ if (this.isEmpty)
43
+ return undefined;
44
+ const item = this.buf[this.tail];
45
+ this.buf[this.tail] = undefined;
46
+ this.tail = (this.tail + 1) % this.capacity;
47
+ this._size--;
48
+ return item;
49
+ }
50
+ drain(max) {
51
+ const out = [];
52
+ while (!this.isEmpty && out.length < max) {
53
+ const v = this.pop();
54
+ if (v !== undefined)
55
+ out.push(v);
56
+ }
57
+ return out;
58
+ }
59
+ }
60
+ exports.RingBuffer = RingBuffer;
61
+ class TelemetryImpl {
62
+ opts;
63
+ adapter;
64
+ queue;
65
+ dropped = 0;
66
+ sent = 0;
67
+ lastFlushTs = null;
68
+ timer = null;
69
+ prng;
70
+ seq = 0;
71
+ latencies = [];
72
+ constructor(options) {
73
+ this.adapter = options.adapter;
74
+ this.opts = {
75
+ sampleRate: options.sampleRate ?? 0,
76
+ maxQueue: options.maxQueue ?? 1000,
77
+ batchSize: options.batchSize ?? 50,
78
+ flushIntervalMs: options.flushIntervalMs ?? 2000,
79
+ onDrop: options.onDrop ?? (() => { }),
80
+ enabled: options.enabled ?? false,
81
+ defaultCtx: options.defaultCtx,
82
+ sampleSeed: options.sampleSeed
83
+ };
84
+ this.queue = new RingBuffer(this.opts.maxQueue);
85
+ const seed = (options.sampleSeed ?? Date.now()) & 0xffffffff;
86
+ this.prng = xorshift32(seed);
87
+ this.startTimer();
88
+ // Best-effort flush on exit
89
+ if (typeof process !== 'undefined') {
90
+ process.on('beforeExit', () => { void this.flush(); });
91
+ }
92
+ }
93
+ configure(opts) {
94
+ if (opts.adapter)
95
+ this.adapter = opts.adapter;
96
+ if (opts.sampleRate !== undefined)
97
+ this.opts.sampleRate = opts.sampleRate;
98
+ if (opts.maxQueue !== undefined) {
99
+ // cannot resize ring easily without data loss; keep current for 4.1
100
+ this.opts.maxQueue = opts.maxQueue;
101
+ }
102
+ if (opts.batchSize !== undefined)
103
+ this.opts.batchSize = opts.batchSize;
104
+ if (opts.flushIntervalMs !== undefined) {
105
+ this.opts.flushIntervalMs = opts.flushIntervalMs;
106
+ this.restartTimer();
107
+ }
108
+ if (opts.onDrop)
109
+ this.opts.onDrop = opts.onDrop;
110
+ if (opts.enabled !== undefined)
111
+ this.opts.enabled = opts.enabled;
112
+ if (opts.defaultCtx !== undefined)
113
+ this.opts.defaultCtx = opts.defaultCtx;
114
+ }
115
+ emit(event) {
116
+ if (!this.opts.enabled)
117
+ return;
118
+ // Bernoulli sampling per event
119
+ if (this.opts.sampleRate > 0 && this.prng() > this.opts.sampleRate) {
120
+ this.dropped++;
121
+ this.opts.onDrop('filter');
122
+ return;
123
+ }
124
+ // Default ctx merging and seq
125
+ const ctx = { ...this.opts.defaultCtx, ...event.ctx };
126
+ const enriched = { ...event, ctx, meta: { ...(event.meta || {}), seq: this.seq++ } };
127
+ if (!this.queue.push(enriched)) {
128
+ this.dropped++;
129
+ this.opts.onDrop('queue_full');
130
+ }
131
+ }
132
+ async flush() {
133
+ if (this.queue.size === 0) {
134
+ this.lastFlushTs = Date.now();
135
+ return;
136
+ }
137
+ const batch = this.queue.drain(this.opts.batchSize);
138
+ if (batch.length === 0) {
139
+ this.lastFlushTs = Date.now();
140
+ return;
141
+ }
142
+ try {
143
+ const t0 = Date.now();
144
+ await this.adapter.send(batch);
145
+ const dt = Date.now() - t0;
146
+ this.latencies.push(dt);
147
+ if (this.latencies.length > 200)
148
+ this.latencies.shift(); // cap memory
149
+ this.sent += batch.length;
150
+ }
151
+ catch {
152
+ // On adapter failure, drop silently for 4.1; could retry in 4.2
153
+ this.dropped += batch.length;
154
+ }
155
+ finally {
156
+ this.lastFlushTs = Date.now();
157
+ }
158
+ }
159
+ percentile(p) {
160
+ if (this.latencies.length === 0)
161
+ return undefined;
162
+ const sorted = [...this.latencies].sort((a, b) => a - b);
163
+ const idx = Math.min(sorted.length - 1, Math.max(0, Math.floor((p / 100) * (sorted.length - 1))));
164
+ return sorted[idx];
165
+ }
166
+ stats() {
167
+ return {
168
+ queued: this.queue.size,
169
+ dropped: this.dropped,
170
+ sent: this.sent,
171
+ lastFlushTs: this.lastFlushTs,
172
+ p50: this.percentile(50),
173
+ p95: this.percentile(95)
174
+ };
175
+ }
176
+ startTimer() {
177
+ if (this.timer)
178
+ return;
179
+ this.timer = setInterval(() => { void this.flush(); }, this.opts.flushIntervalMs);
180
+ // Avoid keeping process alive
181
+ if (this.timer && this.timer.unref)
182
+ this.timer.unref();
183
+ }
184
+ restartTimer() {
185
+ if (this.timer)
186
+ clearInterval(this.timer);
187
+ this.timer = null;
188
+ this.startTimer();
189
+ }
190
+ async dispose() {
191
+ if (this.timer) {
192
+ clearInterval(this.timer);
193
+ this.timer = null;
194
+ }
195
+ await this.flush();
196
+ if (this.adapter.dispose)
197
+ await this.adapter.dispose();
198
+ }
199
+ }
200
+ exports.TelemetryImpl = TelemetryImpl;
201
+ // Built-in adapters
202
+ class ConsoleAdapter {
203
+ configure() { }
204
+ async send(batch) {
205
+ // Compact dev-friendly line per event
206
+ const ts = new Date().toISOString();
207
+ // Grouped for one flush call
208
+ // eslint-disable-next-line no-console
209
+ console.log(`[telemetry ${ts}]`, batch.map(e => ({ t: e.type, ts: e.ts, ctx: e.ctx, p: e.payload })));
210
+ }
211
+ }
212
+ exports.ConsoleAdapter = ConsoleAdapter;
213
+ class FileAdapter {
214
+ opts;
215
+ stream;
216
+ constructor(opts) {
217
+ this.opts = opts;
218
+ this.stream = (0, fs_1.createWriteStream)(opts.path, { flags: 'a' });
219
+ }
220
+ async send(batch) {
221
+ for (const e of batch) {
222
+ this.stream.write(JSON.stringify(e) + '\n');
223
+ }
224
+ }
225
+ async flush() {
226
+ return new Promise((resolve, reject) => {
227
+ this.stream.write('', (err) => {
228
+ if (err)
229
+ reject(err);
230
+ else
231
+ resolve();
232
+ });
233
+ });
234
+ }
235
+ async dispose() { await this.flush(); this.stream.end(); }
236
+ }
237
+ exports.FileAdapter = FileAdapter;
238
+ function createTelemetryAdapter(kind, opts) {
239
+ switch (kind) {
240
+ case 'console': return new ConsoleAdapter();
241
+ case 'file': return new FileAdapter({ path: opts?.path || 'qnce-telemetry.ndjson' });
242
+ default: throw new Error(`Unknown adapter: ${kind}`);
243
+ }
244
+ }
245
+ function createTelemetry(options) {
246
+ return new TelemetryImpl(options);
247
+ }
248
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/telemetry/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export type Env = 'dev' | 'test' | 'prod';
2
+ export interface QEvent<T extends string = string, P = unknown> {
3
+ type: T;
4
+ payload: P;
5
+ ts: number;
6
+ ctx: {
7
+ sessionId: string;
8
+ storyId?: string;
9
+ appVersion?: string;
10
+ engineVersion: string;
11
+ env?: Env;
12
+ };
13
+ meta?: {
14
+ seq?: number;
15
+ source?: 'engine' | 'cli' | 'ui';
16
+ };
17
+ }
18
+ export interface TelemetryAdapter {
19
+ configure?(opts: Record<string, unknown>): void;
20
+ send(batch: QEvent[]): Promise<void>;
21
+ flush?(): Promise<void>;
22
+ dispose?(): Promise<void>;
23
+ }
24
+ export interface TelemetryOptions {
25
+ adapter: TelemetryAdapter;
26
+ sampleRate?: number;
27
+ maxQueue?: number;
28
+ batchSize?: number;
29
+ flushIntervalMs?: number;
30
+ onDrop?: (reason: 'queue_full' | 'filter') => void;
31
+ enabled?: boolean;
32
+ defaultCtx?: Partial<QEvent['ctx']>;
33
+ sampleSeed?: number;
34
+ }
35
+ export interface Telemetry {
36
+ configure(opts: Partial<TelemetryOptions>): void;
37
+ emit<T extends string, P>(event: QEvent<T, P>): void;
38
+ flush(): Promise<void>;
39
+ stats(): {
40
+ queued: number;
41
+ dropped: number;
42
+ sent: number;
43
+ lastFlushTs: number | null;
44
+ p50?: number;
45
+ p95?: number;
46
+ };
47
+ dispose(): Promise<void>;
48
+ }
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO;IAC5D,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,CAAC,EAAE,GAAG,CAAC;KACX,CAAC;IACF,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Telemetry Types and Interfaces (Sprint 4.1)
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/telemetry/types.ts"],"names":[],"mappings":";AAAA,8CAA8C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qnce-engine",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "Core QNCE (Quantum Narrative Convergence Engine) - Framework agnostic narrative engine with performance optimization",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",