@j0hanz/thinkseq-mcp 1.0.5 → 1.1.1

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 (96) hide show
  1. package/README.md +161 -71
  2. package/dist/app.d.ts +2 -36
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +13 -99
  5. package/dist/app.js.map +1 -1
  6. package/dist/appConfig/runDependencies.d.ts +36 -0
  7. package/dist/appConfig/runDependencies.d.ts.map +1 -0
  8. package/dist/appConfig/runDependencies.js +65 -0
  9. package/dist/appConfig/runDependencies.js.map +1 -0
  10. package/dist/appConfig/shutdown.d.ts +19 -0
  11. package/dist/appConfig/shutdown.d.ts.map +1 -0
  12. package/dist/appConfig/shutdown.js +65 -0
  13. package/dist/appConfig/shutdown.js.map +1 -0
  14. package/dist/appConfig/types.d.ts +10 -0
  15. package/dist/appConfig/types.d.ts.map +1 -0
  16. package/dist/appConfig/types.js +2 -0
  17. package/dist/appConfig/types.js.map +1 -0
  18. package/dist/appConfig.d.ts +5 -0
  19. package/dist/appConfig.d.ts.map +1 -0
  20. package/dist/appConfig.js +3 -0
  21. package/dist/appConfig.js.map +1 -0
  22. package/dist/engine/pruning.d.ts +3 -0
  23. package/dist/engine/pruning.d.ts.map +1 -0
  24. package/dist/engine/pruning.js +11 -0
  25. package/dist/engine/pruning.js.map +1 -0
  26. package/dist/engine/revision.d.ts +9 -0
  27. package/dist/engine/revision.d.ts.map +1 -0
  28. package/dist/engine/revision.js +38 -0
  29. package/dist/engine/revision.js.map +1 -0
  30. package/dist/engine/thoughtQueries.d.ts +3 -0
  31. package/dist/engine/thoughtQueries.d.ts.map +1 -0
  32. package/dist/engine/thoughtQueries.js +18 -0
  33. package/dist/engine/thoughtQueries.js.map +1 -0
  34. package/dist/engine/thoughtStore.d.ts +22 -0
  35. package/dist/engine/thoughtStore.d.ts.map +1 -0
  36. package/dist/engine/thoughtStore.js +151 -0
  37. package/dist/engine/thoughtStore.js.map +1 -0
  38. package/dist/engine.d.ts.map +1 -1
  39. package/dist/engine.js +64 -158
  40. package/dist/engine.js.map +1 -1
  41. package/dist/engineConfig.d.ts +11 -0
  42. package/dist/engineConfig.d.ts.map +1 -0
  43. package/dist/engineConfig.js +12 -0
  44. package/dist/engineConfig.js.map +1 -0
  45. package/dist/index.js +35 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/lib/cli.d.ts +14 -0
  48. package/dist/lib/cli.d.ts.map +1 -0
  49. package/dist/lib/cli.js +71 -0
  50. package/dist/lib/cli.js.map +1 -0
  51. package/dist/lib/context.d.ts +7 -0
  52. package/dist/lib/context.d.ts.map +1 -0
  53. package/dist/lib/context.js +15 -0
  54. package/dist/lib/context.js.map +1 -0
  55. package/dist/lib/diagnostics.d.ts +9 -8
  56. package/dist/lib/diagnostics.d.ts.map +1 -1
  57. package/dist/lib/diagnostics.js +18 -8
  58. package/dist/lib/diagnostics.js.map +1 -1
  59. package/dist/lib/engineWorkerHandler.d.ts +12 -0
  60. package/dist/lib/engineWorkerHandler.d.ts.map +1 -0
  61. package/dist/lib/engineWorkerHandler.js +44 -0
  62. package/dist/lib/engineWorkerHandler.js.map +1 -0
  63. package/dist/lib/protocolGuards.d.ts.map +1 -1
  64. package/dist/lib/protocolGuards.js +8 -5
  65. package/dist/lib/protocolGuards.js.map +1 -1
  66. package/dist/lib/stdioGuards.d.ts.map +1 -1
  67. package/dist/lib/stdioGuards.js +23 -12
  68. package/dist/lib/stdioGuards.js.map +1 -1
  69. package/dist/lib/types.d.ts +13 -12
  70. package/dist/lib/types.d.ts.map +1 -1
  71. package/dist/lib/workerEngineClient.d.ts +23 -0
  72. package/dist/lib/workerEngineClient.d.ts.map +1 -0
  73. package/dist/lib/workerEngineClient.js +144 -0
  74. package/dist/lib/workerEngineClient.js.map +1 -0
  75. package/dist/lib/workerProtocol.d.ts +21 -0
  76. package/dist/lib/workerProtocol.d.ts.map +1 -0
  77. package/dist/lib/workerProtocol.js +22 -0
  78. package/dist/lib/workerProtocol.js.map +1 -0
  79. package/dist/schemas/inputs.d.ts +2 -14
  80. package/dist/schemas/inputs.d.ts.map +1 -1
  81. package/dist/schemas/inputs.js +6 -30
  82. package/dist/schemas/inputs.js.map +1 -1
  83. package/dist/schemas/outputs.d.ts +13 -16
  84. package/dist/schemas/outputs.d.ts.map +1 -1
  85. package/dist/schemas/outputs.js +46 -59
  86. package/dist/schemas/outputs.js.map +1 -1
  87. package/dist/tools/thinkseq.d.ts +7 -2
  88. package/dist/tools/thinkseq.d.ts.map +1 -1
  89. package/dist/tools/thinkseq.js +71 -59
  90. package/dist/tools/thinkseq.js.map +1 -1
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/dist/workers/engineWorker.d.ts +2 -0
  93. package/dist/workers/engineWorker.d.ts.map +1 -0
  94. package/dist/workers/engineWorker.js +15 -0
  95. package/dist/workers/engineWorker.js.map +1 -0
  96. package/package.json +8 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runDependencies.js","sourceRoot":"","sources":["../../src/appConfig/runDependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { LifecycleEvent } from '../lib/diagnostics.js';
2
+ import type { ResolvedRunDependencies } from './runDependencies.js';
3
+ import type { ProcessLike } from './types.js';
4
+ export interface ShutdownDependencies {
5
+ processLike?: ProcessLike;
6
+ server: unknown;
7
+ engine: unknown;
8
+ transport: unknown;
9
+ publishLifecycleEvent?: (event: LifecycleEvent) => void;
10
+ now?: () => number;
11
+ shutdownTimeoutMs?: number;
12
+ }
13
+ export declare function installShutdownHandlers(deps: ShutdownDependencies): void;
14
+ export declare function buildShutdownDependencies(resolved: ResolvedRunDependencies, payload: {
15
+ server: unknown;
16
+ engine: unknown;
17
+ transport: unknown;
18
+ }): ShutdownDependencies;
19
+ //# sourceMappingURL=shutdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/appConfig/shutdown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACxD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAkDD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAUxE;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GAChE,oBAAoB,CAatB"}
@@ -0,0 +1,65 @@
1
+ import { publishLifecycleEvent } from '../lib/diagnostics.js';
2
+ const DEFAULT_SHUTDOWN_TIMEOUT_MS = 5000;
3
+ function isRecord(value) {
4
+ return typeof value === 'object' && value !== null;
5
+ }
6
+ function hasClose(value) {
7
+ return isRecord(value) && typeof value.close === 'function';
8
+ }
9
+ async function closeWithTimeout(value, timeoutMs) {
10
+ const timeout = new Promise((resolve) => setTimeout(resolve, timeoutMs));
11
+ const attempt = (async () => {
12
+ try {
13
+ if (hasClose(value))
14
+ await value.close();
15
+ }
16
+ catch {
17
+ return;
18
+ }
19
+ })();
20
+ await Promise.race([attempt, timeout]);
21
+ }
22
+ function buildShutdownRunner(deps, proc) {
23
+ const emit = deps.publishLifecycleEvent ?? publishLifecycleEvent;
24
+ const timestamp = deps.now ?? Date.now;
25
+ const timeoutMs = deps.shutdownTimeoutMs ?? DEFAULT_SHUTDOWN_TIMEOUT_MS;
26
+ let shuttingDown = false;
27
+ return async (signal) => {
28
+ if (shuttingDown)
29
+ return;
30
+ shuttingDown = true;
31
+ emit({
32
+ type: 'lifecycle.shutdown',
33
+ ts: timestamp(),
34
+ signal,
35
+ });
36
+ await closeWithTimeout(deps.server, timeoutMs);
37
+ await closeWithTimeout(deps.engine, timeoutMs);
38
+ await closeWithTimeout(deps.transport, timeoutMs);
39
+ proc.exit(0);
40
+ };
41
+ }
42
+ export function installShutdownHandlers(deps) {
43
+ const proc = deps.processLike ?? process;
44
+ const shutdown = buildShutdownRunner(deps, proc);
45
+ proc.on('SIGTERM', () => {
46
+ void shutdown('SIGTERM');
47
+ });
48
+ proc.on('SIGINT', () => {
49
+ void shutdown('SIGINT');
50
+ });
51
+ }
52
+ export function buildShutdownDependencies(resolved, payload) {
53
+ const base = {
54
+ processLike: resolved.processLike,
55
+ server: payload.server,
56
+ engine: payload.engine,
57
+ transport: payload.transport,
58
+ publishLifecycleEvent: resolved.publishLifecycleEvent,
59
+ now: resolved.now,
60
+ };
61
+ return resolved.shutdownTimeoutMs !== undefined
62
+ ? { ...base, shutdownTimeoutMs: resolved.shutdownTimeoutMs }
63
+ : base;
64
+ }
65
+ //# sourceMappingURL=shutdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/appConfig/shutdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ThinkingEngine } from '../engine.js';
3
+ export type CloseFn = () => Promise<void> | void;
4
+ export type ProcessLike = Pick<typeof process, 'on' | 'exit'>;
5
+ export type TransportLike = Parameters<McpServer['connect']>[0];
6
+ export type ServerLike = Pick<McpServer, 'connect' | 'registerTool'>;
7
+ export type EngineLike = Pick<ThinkingEngine, 'processThought'> & {
8
+ close?: CloseFn;
9
+ };
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/appConfig/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;AACrE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/appConfig/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type { ProcessLike } from './appConfig/types.js';
2
+ export type { RunDependencies } from './appConfig/runDependencies.js';
3
+ export { resolvePackageIdentity, resolveRunDependencies, } from './appConfig/runDependencies.js';
4
+ export { buildShutdownDependencies } from './appConfig/shutdown.js';
5
+ //# sourceMappingURL=appConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.d.ts","sourceRoot":"","sources":["../src/appConfig.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { resolvePackageIdentity, resolveRunDependencies, } from './appConfig/runDependencies.js';
2
+ export { buildShutdownDependencies } from './appConfig/shutdown.js';
3
+ //# sourceMappingURL=appConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../src/appConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { StoredThought } from '../lib/types.js';
2
+ export declare function collectRemovedBytes(thoughts: StoredThought[], start: number, end: number, estimateThoughtBytes: (thought: StoredThought) => number): number;
3
+ //# sourceMappingURL=pruning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruning.d.ts","sourceRoot":"","sources":["../../src/engine/pruning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,EAAE,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,oBAAoB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,GACvD,MAAM,CAUR"}
@@ -0,0 +1,11 @@
1
+ export function collectRemovedBytes(thoughts, start, end, estimateThoughtBytes) {
2
+ let removedBytes = 0;
3
+ for (let index = start; index < end; index += 1) {
4
+ const thought = thoughts[index];
5
+ if (!thought)
6
+ continue;
7
+ removedBytes += estimateThoughtBytes(thought);
8
+ }
9
+ return removedBytes;
10
+ }
11
+ //# sourceMappingURL=pruning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruning.js","sourceRoot":"","sources":["../../src/engine/pruning.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CACjC,QAAyB,EACzB,KAAa,EACb,GAAW,EACX,oBAAwD;IAExD,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,YAAY,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ProcessResult, StoredThought, ThoughtData } from '../lib/types.js';
2
+ export declare function resolveRevisionTarget(input: ThoughtData, getThoughtByNumber: (thoughtNumber: number) => StoredThought | undefined): {
3
+ ok: true;
4
+ targetNumber: number;
5
+ } | {
6
+ ok: false;
7
+ error: ProcessResult;
8
+ };
9
+ //# sourceMappingURL=revision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.d.ts","sourceRoot":"","sources":["../../src/engine/revision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,kBAAkB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,GACvE;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAgB1E"}
@@ -0,0 +1,38 @@
1
+ export function resolveRevisionTarget(input, getThoughtByNumber) {
2
+ const targetNumberResult = getRevisionTargetNumber(input);
3
+ if (!targetNumberResult.ok) {
4
+ return targetNumberResult;
5
+ }
6
+ const validationError = validateRevisionTarget(getThoughtByNumber, targetNumberResult.targetNumber);
7
+ if (validationError) {
8
+ return { ok: false, error: validationError };
9
+ }
10
+ return { ok: true, targetNumber: targetNumberResult.targetNumber };
11
+ }
12
+ function getRevisionTargetNumber(input) {
13
+ const targetNumber = input.revisesThought;
14
+ if (targetNumber !== undefined) {
15
+ return { ok: true, targetNumber };
16
+ }
17
+ return {
18
+ ok: false,
19
+ error: buildRevisionError('E_REVISION_MISSING', 'revisesThought is required for revision'),
20
+ };
21
+ }
22
+ function validateRevisionTarget(getThoughtByNumber, targetNumber) {
23
+ const target = getThoughtByNumber(targetNumber);
24
+ if (!target) {
25
+ return buildRevisionError('E_REVISION_TARGET_NOT_FOUND', `Thought ${targetNumber} not found`);
26
+ }
27
+ if (!target.isActive) {
28
+ return buildRevisionError('E_REVISION_TARGET_SUPERSEDED', `Thought ${targetNumber} was already superseded`);
29
+ }
30
+ return undefined;
31
+ }
32
+ function buildRevisionError(code, message) {
33
+ return {
34
+ ok: false,
35
+ error: { code, message },
36
+ };
37
+ }
38
+ //# sourceMappingURL=revision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision.js","sourceRoot":"","sources":["../../src/engine/revision.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,qBAAqB,CACnC,KAAkB,EAClB,kBAAwE;IAExE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,eAAe,GAAG,sBAAsB,CAC5C,kBAAkB,EAClB,kBAAkB,CAAC,YAAY,CAChC,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAkB;IAElB,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC;IAC1C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,kBAAkB,CACvB,oBAAoB,EACpB,yCAAyC,CAC1C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,kBAAwE,EACxE,YAAoB;IAEpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,kBAAkB,CACvB,6BAA6B,EAC7B,WAAW,YAAY,YAAY,CACpC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,kBAAkB,CACvB,8BAA8B,EAC9B,WAAW,YAAY,yBAAyB,CACjD,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,OAAe;IACvD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ContextSummary, RevisionInfo, StoredThought } from '../lib/types.js';
2
+ export declare function buildContextSummary(activeThoughts: readonly StoredThought[], revisionInfo?: RevisionInfo): ContextSummary;
3
+ //# sourceMappingURL=thoughtQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughtQueries.d.ts","sourceRoot":"","sources":["../../src/engine/thoughtQueries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AAUzB,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,SAAS,aAAa,EAAE,EACxC,YAAY,CAAC,EAAE,YAAY,GAC1B,cAAc,CAahB"}
@@ -0,0 +1,18 @@
1
+ function getRecentActiveThoughts(activeThoughts, limit) {
2
+ if (limit <= 0)
3
+ return [];
4
+ return activeThoughts.slice(-limit);
5
+ }
6
+ export function buildContextSummary(activeThoughts, revisionInfo) {
7
+ const recent = getRecentActiveThoughts(activeThoughts, 5);
8
+ const recentThoughts = recent.map((thought) => ({
9
+ number: thought.thoughtNumber,
10
+ preview: thought.thought.slice(0, 100) +
11
+ (thought.thought.length > 100 ? '...' : ''),
12
+ }));
13
+ if (revisionInfo !== undefined) {
14
+ return { recentThoughts, revisionInfo };
15
+ }
16
+ return { recentThoughts };
17
+ }
18
+ //# sourceMappingURL=thoughtQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughtQueries.js","sourceRoot":"","sources":["../../src/engine/thoughtQueries.ts"],"names":[],"mappings":"AAMA,SAAS,uBAAuB,CAC9B,cAAwC,EACxC,KAAa;IAEb,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,cAAwC,EACxC,YAA2B;IAE3B,MAAM,MAAM,GAAG,uBAAuB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,aAAa;QAC7B,OAAO,EACL,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC7B,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC,CAAC;IAEJ,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { StoredThought } from '../lib/types.js';
2
+ export interface ThoughtStoreOptions {
3
+ maxThoughts: number;
4
+ maxMemoryBytes: number;
5
+ estimatedThoughtOverheadBytes: number;
6
+ }
7
+ export declare class ThoughtStore {
8
+ #private;
9
+ constructor(options: ThoughtStoreOptions);
10
+ nextThoughtNumbers(totalThoughts: number): {
11
+ thoughtNumber: number;
12
+ totalThoughts: number;
13
+ };
14
+ storeThought(stored: StoredThought): void;
15
+ supersedeFrom(targetNumber: number, supersededBy: number): number[];
16
+ getActiveThoughts(): readonly StoredThought[];
17
+ getActiveThoughtNumbers(): readonly number[];
18
+ getThoughtByNumber(thoughtNumber: number): StoredThought | undefined;
19
+ getTotalLength(): number;
20
+ pruneHistoryIfNeeded(): void;
21
+ }
22
+ //# sourceMappingURL=thoughtStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughtStore.d.ts","sourceRoot":"","sources":["../../src/engine/thoughtStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B,EAAE,MAAM,CAAC;CACvC;AAED,qBAAa,YAAY;;gBAWX,OAAO,EAAE,mBAAmB;IAMxC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG;QACzC,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB;IAQD,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAUzC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAkBnE,iBAAiB,IAAI,SAAS,aAAa,EAAE;IAI7C,uBAAuB,IAAI,SAAS,MAAM,EAAE;IAI5C,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIpE,cAAc,IAAI,MAAM;IAIxB,oBAAoB,IAAI,IAAI;CAyF7B"}
@@ -0,0 +1,151 @@
1
+ import { COMPACT_RATIO, COMPACT_THRESHOLD } from '../engineConfig.js';
2
+ export class ThoughtStore {
3
+ #thoughts = [];
4
+ #thoughtIndex = new Map();
5
+ #activeThoughts = [];
6
+ #activeThoughtNumbers = [];
7
+ #headIndex = 0;
8
+ #estimatedBytes = 0;
9
+ #maxThoughts;
10
+ #maxMemoryBytes;
11
+ #estimatedThoughtOverheadBytes;
12
+ constructor(options) {
13
+ this.#maxThoughts = options.maxThoughts;
14
+ this.#maxMemoryBytes = options.maxMemoryBytes;
15
+ this.#estimatedThoughtOverheadBytes = options.estimatedThoughtOverheadBytes;
16
+ }
17
+ nextThoughtNumbers(totalThoughts) {
18
+ const thoughtNumber = this.getTotalLength() + 1;
19
+ return {
20
+ thoughtNumber,
21
+ totalThoughts: Math.max(totalThoughts, thoughtNumber),
22
+ };
23
+ }
24
+ storeThought(stored) {
25
+ this.#thoughts.push(stored);
26
+ this.#thoughtIndex.set(stored.thoughtNumber, stored);
27
+ if (stored.isActive) {
28
+ this.#activeThoughts.push(stored);
29
+ this.#activeThoughtNumbers.push(stored.thoughtNumber);
30
+ }
31
+ this.#estimatedBytes += this.#estimateThoughtBytes(stored);
32
+ }
33
+ supersedeFrom(targetNumber, supersededBy) {
34
+ const startIndex = this.#activeThoughtNumbers.indexOf(targetNumber);
35
+ if (startIndex < 0)
36
+ return [];
37
+ const supersedes = [];
38
+ for (let i = startIndex; i < this.#activeThoughts.length; i += 1) {
39
+ const thought = this.#activeThoughts[i];
40
+ if (!thought)
41
+ continue;
42
+ if (thought.isActive) {
43
+ thought.isActive = false;
44
+ thought.supersededBy = supersededBy;
45
+ }
46
+ supersedes.push(thought.thoughtNumber);
47
+ }
48
+ this.#activeThoughts.length = startIndex;
49
+ this.#activeThoughtNumbers.length = startIndex;
50
+ return supersedes;
51
+ }
52
+ getActiveThoughts() {
53
+ return this.#activeThoughts;
54
+ }
55
+ getActiveThoughtNumbers() {
56
+ return this.#activeThoughtNumbers;
57
+ }
58
+ getThoughtByNumber(thoughtNumber) {
59
+ return this.#thoughtIndex.get(thoughtNumber);
60
+ }
61
+ getTotalLength() {
62
+ return this.#thoughts.length - this.#headIndex;
63
+ }
64
+ pruneHistoryIfNeeded() {
65
+ const excess = this.getTotalLength() - this.#maxThoughts;
66
+ if (excess > 0) {
67
+ const batch = Math.max(excess, Math.ceil(this.#maxThoughts * 0.1));
68
+ this.#removeOldest(batch);
69
+ }
70
+ if (this.#estimatedBytes > this.#maxMemoryBytes &&
71
+ this.getTotalLength() > 10) {
72
+ const toRemove = Math.ceil(this.getTotalLength() * 0.2);
73
+ this.#removeOldest(toRemove, { forceCompact: true });
74
+ }
75
+ }
76
+ #estimateThoughtBytes(thought) {
77
+ return thought.thought.length * 2 + this.#estimatedThoughtOverheadBytes;
78
+ }
79
+ #dropActiveThoughtsUpTo(thoughtNumber) {
80
+ if (this.#activeThoughts.length === 0)
81
+ return;
82
+ let startIndex = 0;
83
+ while (startIndex < this.#activeThoughts.length) {
84
+ const thought = this.#activeThoughts[startIndex];
85
+ if (!thought || thought.thoughtNumber > thoughtNumber)
86
+ break;
87
+ startIndex += 1;
88
+ }
89
+ if (startIndex === 0)
90
+ return;
91
+ this.#activeThoughts = this.#activeThoughts.slice(startIndex);
92
+ this.#activeThoughtNumbers = this.#activeThoughtNumbers.slice(startIndex);
93
+ }
94
+ #removeOldest(count, options = {}) {
95
+ const totalLength = this.getTotalLength();
96
+ if (count <= 0 || totalLength === 0)
97
+ return;
98
+ const actual = Math.min(count, totalLength);
99
+ const start = this.#headIndex;
100
+ const end = start + actual;
101
+ const forceCompact = options.forceCompact ?? false;
102
+ let removedBytes = 0;
103
+ let removedMaxThoughtNumber = -1;
104
+ for (let index = start; index < end; index += 1) {
105
+ const thought = this.#thoughts[index];
106
+ if (!thought)
107
+ continue;
108
+ removedBytes += this.#estimateThoughtBytes(thought);
109
+ this.#thoughtIndex.delete(thought.thoughtNumber);
110
+ removedMaxThoughtNumber = thought.thoughtNumber;
111
+ }
112
+ this.#estimatedBytes -= removedBytes;
113
+ this.#headIndex = end;
114
+ if (this.getTotalLength() === 0) {
115
+ this.#resetThoughts();
116
+ return;
117
+ }
118
+ if (removedMaxThoughtNumber >= 0) {
119
+ this.#dropActiveThoughtsUpTo(removedMaxThoughtNumber);
120
+ }
121
+ this.#compactIfNeeded(forceCompact);
122
+ }
123
+ #compactIfNeeded(force = false) {
124
+ if (this.#headIndex === 0)
125
+ return;
126
+ const totalLength = this.getTotalLength();
127
+ if (totalLength === 0) {
128
+ this.#resetThoughts();
129
+ return;
130
+ }
131
+ if (!this.#shouldCompact(force))
132
+ return;
133
+ this.#thoughts = this.#thoughts.slice(this.#headIndex);
134
+ this.#headIndex = 0;
135
+ }
136
+ #shouldCompact(force) {
137
+ if (force)
138
+ return true;
139
+ return !(this.#headIndex < COMPACT_THRESHOLD &&
140
+ this.#headIndex < this.#thoughts.length * COMPACT_RATIO);
141
+ }
142
+ #resetThoughts() {
143
+ this.#thoughts = [];
144
+ this.#thoughtIndex.clear();
145
+ this.#activeThoughts = [];
146
+ this.#activeThoughtNumbers = [];
147
+ this.#headIndex = 0;
148
+ this.#estimatedBytes = 0;
149
+ }
150
+ }
151
+ //# sourceMappingURL=thoughtStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thoughtStore.js","sourceRoot":"","sources":["../../src/engine/thoughtStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAStE,MAAM,OAAO,YAAY;IACvB,SAAS,GAAoB,EAAE,CAAC;IAChC,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IACjD,eAAe,GAAoB,EAAE,CAAC;IACtC,qBAAqB,GAAa,EAAE,CAAC;IACrC,UAAU,GAAG,CAAC,CAAC;IACf,eAAe,GAAG,CAAC,CAAC;IACX,YAAY,CAAS;IACrB,eAAe,CAAS;IACxB,8BAA8B,CAAS;IAEhD,YAAY,OAA4B;QACtC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC9C,IAAI,CAAC,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAAC,aAAqB;QAItC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO;YACL,aAAa;YACb,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAqB;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,aAAa,CAAC,YAAoB,EAAE,YAAoB;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACzB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACtC,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,UAAU,CAAC;QAC/C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,aAAqB;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;IACjD,CAAC;IAED,oBAAoB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACzD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,IACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe;YAC3C,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,EAC1B,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,OAAsB;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC;IAC1E,CAAC;IAED,uBAAuB,CAAC,aAAqB;QAC3C,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,GAAG,aAAa;gBAAE,MAAM;YAC7D,UAAU,IAAI,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,aAAa,CAAC,KAAa,EAAE,UAAsC,EAAE;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,KAAK,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC;YAAE,OAAO;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;QAC3B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QACnD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,uBAAuB,GAAG,CAAC,CAAC,CAAC;QACjC,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,YAAY,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YACjD,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,eAAe,IAAI,YAAY,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,uBAAuB,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,KAAK,GAAG,KAAK;QAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO;QACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,cAAc,CAAC,KAAc;QAC3B,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,CAAC,CACN,IAAI,CAAC,UAAU,GAAG,iBAAiB;YACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,aAAa,CACxD,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC3B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EAEb,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC;AAWD,qBAAa,cAAc;;gBAWb,OAAO,GAAE,qBAA0B;IAkB/C,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa;CAgLlD"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,aAAa,EAGb,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC;AAED,qBAAa,cAAc;;gBAIb,OAAO,GAAE,qBAA0B;IAwB/C,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa;CAuFlD"}