sensorium-mcp 3.1.3 → 3.1.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.
Files changed (159) hide show
  1. package/Install-Sensorium.ps1 +251 -39
  2. package/dist/config/agent-settings.d.ts +11 -0
  3. package/dist/config/agent-settings.d.ts.map +1 -1
  4. package/dist/config/agent-settings.js +79 -0
  5. package/dist/config/agent-settings.js.map +1 -1
  6. package/dist/config/index.d.ts +1 -0
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js +12 -0
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/config/misc-settings.d.ts +6 -0
  11. package/dist/config/misc-settings.d.ts.map +1 -1
  12. package/dist/config/misc-settings.js +31 -0
  13. package/dist/config/misc-settings.js.map +1 -1
  14. package/dist/dashboard/routes/codex.d.ts +14 -0
  15. package/dist/dashboard/routes/codex.d.ts.map +1 -0
  16. package/dist/dashboard/routes/codex.js +92 -0
  17. package/dist/dashboard/routes/codex.js.map +1 -0
  18. package/dist/dashboard/routes/threads-read.d.ts +10 -7
  19. package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
  20. package/dist/dashboard/routes/threads-read.js +21 -16
  21. package/dist/dashboard/routes/threads-read.js.map +1 -1
  22. package/dist/dashboard/routes.d.ts.map +1 -1
  23. package/dist/dashboard/routes.js +3 -0
  24. package/dist/dashboard/routes.js.map +1 -1
  25. package/dist/dashboard/spa.html +11 -11
  26. package/dist/data/memory/bootstrap.d.ts +1 -1
  27. package/dist/data/memory/bootstrap.d.ts.map +1 -1
  28. package/dist/data/memory/bootstrap.js +23 -14
  29. package/dist/data/memory/bootstrap.js.map +1 -1
  30. package/dist/data/memory/consolidation.d.ts +20 -1
  31. package/dist/data/memory/consolidation.d.ts.map +1 -1
  32. package/dist/data/memory/consolidation.js +53 -3
  33. package/dist/data/memory/consolidation.js.map +1 -1
  34. package/dist/data/memory/key-knowledge.d.ts +38 -0
  35. package/dist/data/memory/key-knowledge.d.ts.map +1 -0
  36. package/dist/data/memory/key-knowledge.js +118 -0
  37. package/dist/data/memory/key-knowledge.js.map +1 -0
  38. package/dist/data/memory/migration-runner.d.ts +1 -1
  39. package/dist/data/memory/migration-runner.d.ts.map +1 -1
  40. package/dist/data/memory/migration-runner.js +23 -1
  41. package/dist/data/memory/migration-runner.js.map +1 -1
  42. package/dist/data/memory/narrative-lint.d.ts +2 -2
  43. package/dist/data/memory/narrative-lint.d.ts.map +1 -1
  44. package/dist/data/memory/narrative-lint.js +23 -13
  45. package/dist/data/memory/narrative-lint.js.map +1 -1
  46. package/dist/data/memory/narrative-resolutions.d.ts +8 -1
  47. package/dist/data/memory/narrative-resolutions.d.ts.map +1 -1
  48. package/dist/data/memory/narrative-resolutions.js +12 -5
  49. package/dist/data/memory/narrative-resolutions.js.map +1 -1
  50. package/dist/data/memory/narrative-sources.d.ts +1 -1
  51. package/dist/data/memory/narrative-sources.d.ts.map +1 -1
  52. package/dist/data/memory/narrative-sources.js +8 -3
  53. package/dist/data/memory/narrative-sources.js.map +1 -1
  54. package/dist/data/memory/narrative-store.d.ts +14 -0
  55. package/dist/data/memory/narrative-store.d.ts.map +1 -1
  56. package/dist/data/memory/narrative-store.js +36 -0
  57. package/dist/data/memory/narrative-store.js.map +1 -1
  58. package/dist/data/memory/narrative.d.ts.map +1 -1
  59. package/dist/data/memory/narrative.js +45 -25
  60. package/dist/data/memory/narrative.js.map +1 -1
  61. package/dist/data/memory/note-archival.d.ts +1 -1
  62. package/dist/data/memory/note-archival.d.ts.map +1 -1
  63. package/dist/data/memory/note-archival.js +7 -3
  64. package/dist/data/memory/note-archival.js.map +1 -1
  65. package/dist/data/memory/schema-ddl.d.ts +1 -1
  66. package/dist/data/memory/schema-ddl.d.ts.map +1 -1
  67. package/dist/data/memory/schema-ddl.js +3 -1
  68. package/dist/data/memory/schema-ddl.js.map +1 -1
  69. package/dist/data/memory/semantic-notes.d.ts +9 -1
  70. package/dist/data/memory/semantic-notes.d.ts.map +1 -1
  71. package/dist/data/memory/semantic-notes.js +4 -2
  72. package/dist/data/memory/semantic-notes.js.map +1 -1
  73. package/dist/data/memory/thread-registry.d.ts +7 -1
  74. package/dist/data/memory/thread-registry.d.ts.map +1 -1
  75. package/dist/data/memory/thread-registry.js +14 -5
  76. package/dist/data/memory/thread-registry.js.map +1 -1
  77. package/dist/data/memory/utils.d.ts +6 -0
  78. package/dist/data/memory/utils.d.ts.map +1 -1
  79. package/dist/data/memory/utils.js +13 -0
  80. package/dist/data/memory/utils.js.map +1 -1
  81. package/dist/integrations/openai/speech.js +4 -4
  82. package/dist/integrations/openai/speech.js.map +1 -1
  83. package/dist/lib/http-retry.d.ts +91 -0
  84. package/dist/lib/http-retry.d.ts.map +1 -0
  85. package/dist/lib/http-retry.js +177 -0
  86. package/dist/lib/http-retry.js.map +1 -0
  87. package/dist/lib/usage-metering/pricing.js +1 -1
  88. package/dist/lib/usage-metering/pricing.js.map +1 -1
  89. package/dist/llm/prompts/narrative.d.ts.map +1 -1
  90. package/dist/llm/prompts/narrative.js +27 -86
  91. package/dist/llm/prompts/narrative.js.map +1 -1
  92. package/dist/services/claude-spawn.service.d.ts.map +1 -1
  93. package/dist/services/claude-spawn.service.js +6 -1
  94. package/dist/services/claude-spawn.service.js.map +1 -1
  95. package/dist/services/codex-spawn.service.d.ts +2 -2
  96. package/dist/services/codex-spawn.service.d.ts.map +1 -1
  97. package/dist/services/codex-spawn.service.js +64 -58
  98. package/dist/services/codex-spawn.service.js.map +1 -1
  99. package/dist/services/consolidation.service.d.ts.map +1 -1
  100. package/dist/services/consolidation.service.js +10 -1
  101. package/dist/services/consolidation.service.js.map +1 -1
  102. package/dist/services/copilot-spawn.service.d.ts.map +1 -1
  103. package/dist/services/copilot-spawn.service.js +6 -1
  104. package/dist/services/copilot-spawn.service.js.map +1 -1
  105. package/dist/services/daily-session.d.ts +21 -10
  106. package/dist/services/daily-session.d.ts.map +1 -1
  107. package/dist/services/daily-session.js +60 -15
  108. package/dist/services/daily-session.js.map +1 -1
  109. package/dist/services/http-retry.d.ts +1 -90
  110. package/dist/services/http-retry.d.ts.map +1 -1
  111. package/dist/services/http-retry.js +1 -176
  112. package/dist/services/http-retry.js.map +1 -1
  113. package/dist/services/mcp-config.service.d.ts.map +1 -1
  114. package/dist/services/mcp-config.service.js +14 -1
  115. package/dist/services/mcp-config.service.js.map +1 -1
  116. package/dist/services/memory-briefing.service.d.ts +1 -1
  117. package/dist/services/memory-briefing.service.d.ts.map +1 -1
  118. package/dist/services/memory-briefing.service.js +33 -30
  119. package/dist/services/memory-briefing.service.js.map +1 -1
  120. package/dist/services/memory-pruning.service.d.ts.map +1 -1
  121. package/dist/services/memory-pruning.service.js +22 -4
  122. package/dist/services/memory-pruning.service.js.map +1 -1
  123. package/dist/services/spawn-common.d.ts +10 -2
  124. package/dist/services/spawn-common.d.ts.map +1 -1
  125. package/dist/services/spawn-common.js +25 -4
  126. package/dist/services/spawn-common.js.map +1 -1
  127. package/dist/services/telegram.d.ts +7 -5
  128. package/dist/services/telegram.d.ts.map +1 -1
  129. package/dist/services/telegram.js +18 -13
  130. package/dist/services/telegram.js.map +1 -1
  131. package/dist/sessions/mcp-registry.d.ts +7 -2
  132. package/dist/sessions/mcp-registry.d.ts.map +1 -1
  133. package/dist/sessions/mcp-registry.js +52 -30
  134. package/dist/sessions/mcp-registry.js.map +1 -1
  135. package/dist/tools/defs/memory-defs.d.ts.map +1 -1
  136. package/dist/tools/defs/memory-defs.js +4 -0
  137. package/dist/tools/defs/memory-defs.js.map +1 -1
  138. package/dist/tools/delegate-tool.js +2 -2
  139. package/dist/tools/delegate-tool.js.map +1 -1
  140. package/dist/tools/memory-tools.d.ts.map +1 -1
  141. package/dist/tools/memory-tools.js +9 -1
  142. package/dist/tools/memory-tools.js.map +1 -1
  143. package/dist/tools/start-session-tool.js +1 -1
  144. package/dist/tools/start-session-tool.js.map +1 -1
  145. package/dist/tools/wait/consolidation-strategy.d.ts +42 -0
  146. package/dist/tools/wait/consolidation-strategy.d.ts.map +1 -0
  147. package/dist/tools/wait/consolidation-strategy.js +50 -0
  148. package/dist/tools/wait/consolidation-strategy.js.map +1 -0
  149. package/dist/tools/wait/drive-handler.d.ts +5 -7
  150. package/dist/tools/wait/drive-handler.d.ts.map +1 -1
  151. package/dist/tools/wait/drive-handler.js +44 -48
  152. package/dist/tools/wait/drive-handler.js.map +1 -1
  153. package/dist/tools/wait/message-processing.d.ts.map +1 -1
  154. package/dist/tools/wait/message-processing.js +2 -1
  155. package/dist/tools/wait/message-processing.js.map +1 -1
  156. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  157. package/dist/tools/wait/poll-loop.js +2 -8
  158. package/dist/tools/wait/poll-loop.js.map +1 -1
  159. package/package.json +1 -1
@@ -1,91 +1,2 @@
1
- /**
2
- * Transient HTTP retry policy.
3
- *
4
- * Centralizes the "retry on transient failure" behavior so it can be applied at
5
- * a single choke point per call site rather than scattered across every request
6
- * method. It is deliberately PURE: it knows nothing about the Telegram bot token
7
- * or any other caller secret, so it never risks leaking one. Token redaction and
8
- * response-body interpretation stay the caller's responsibility.
9
- *
10
- * WHY this exists: operators may point TELEGRAM_API_BASE_URL at an nginx reverse
11
- * proxy or Azure gateway. Those proxies answer with 504 Gateway Timeout (or
12
- * 502/503) instead of a normal Telegram JSON payload. Without retries a single
13
- * proxy hiccup drops an operator notification or spins the long-poll loop; a
14
- * bounded, jittered retry smooths over the transient blips.
15
- */
16
- /**
17
- * HTTP status codes that indicate a TRANSIENT failure — the request may well
18
- * succeed if retried after a short pause:
19
- * 408 Request Timeout, 429 Too Many Requests,
20
- * 500 Internal Server Error, 502 Bad Gateway,
21
- * 503 Service Unavailable, 504 Gateway Timeout.
22
- *
23
- * Every other 4xx is PERMANENT (bad request, unauthorized, not found, …) and is
24
- * never retried — retrying it only wastes time and risks duplicate side effects.
25
- */
26
- export declare const TRANSIENT_STATUS: ReadonlySet<number>;
27
- /** True when `status` is in the transient (retryable) set. */
28
- export declare function isTransientStatus(status: number): boolean;
29
- /**
30
- * Parse the `Retry-After` response header into milliseconds.
31
- *
32
- * Per RFC 9110 the value is either a number of seconds (`Retry-After: 120`) or
33
- * an HTTP-date (`Retry-After: Wed, 21 Oct 2026 07:28:00 GMT`). Returns
34
- * `undefined` when the header is absent or unparseable, and clamps any positive
35
- * result to {@link RETRY_AFTER_MAX_MS}. A date in the past yields `0`.
36
- */
37
- export declare function parseRetryAfterMs(response: Response): number | undefined;
38
- /** Tunables for {@link computeBackoffMs} / {@link fetchWithRetry}. */
39
- export interface RetryPolicy {
40
- /** Total number of attempts (1 = no retry). */
41
- maxAttempts: number;
42
- /** Base delay for the first backoff step, in ms. */
43
- baseMs: number;
44
- /** Hard ceiling for any single backoff wait, in ms. */
45
- capMs: number;
46
- }
47
- /** Sensible default: 3 attempts, 500ms base, 8s cap. */
48
- export declare const DEFAULT_RETRY_POLICY: RetryPolicy;
49
- /**
50
- * Exponential backoff with FULL jitter.
51
- *
52
- * The deterministic component is `baseMs * 2^attempt`, capped at `capMs`. We
53
- * then draw a uniformly random value in `[0, capped]` (the "full jitter"
54
- * strategy from the AWS Architecture Blog). Full jitter — rather than
55
- * equal-jitter or none — is chosen because it maximizes spread across many
56
- * concurrent clients hammering the same recovering proxy, which minimizes
57
- * retry-storm synchronization.
58
- *
59
- * @param attempt Zero-based retry index (0 for the first backoff).
60
- */
61
- export declare function computeBackoffMs(attempt: number, policy?: Pick<RetryPolicy, "baseMs" | "capMs">): number;
62
- /**
63
- * Sleep for `ms`, rejecting immediately if `signal` aborts mid-wait.
64
- *
65
- * Retries must not swallow an intentional shutdown: if the caller's signal
66
- * fires while we are backing off, propagate the abort at once rather than
67
- * finishing the sleep.
68
- */
69
- export declare function abortableDelay(ms: number, signal?: AbortSignal): Promise<void>;
70
- /**
71
- * `fetch` with bounded, jittered retry on transient failures.
72
- *
73
- * Behavior:
74
- * - Performs the fetch. If the response status is transient AND attempts
75
- * remain, waits (honoring `Retry-After` when present, otherwise
76
- * {@link computeBackoffMs}) and retries. Otherwise returns the response — the
77
- * caller still inspects `.ok` to handle permanent (4xx) errors itself.
78
- * - Only a thrown `TypeError` — how native `fetch` reports a genuine transport
79
- * failure (DNS, ECONNREFUSED, socket reset) — is retried (if attempts
80
- * remain, else the last error is rethrown). Every other throw propagates
81
- * IMMEDIATELY with no wasted backoff: an AbortError / TimeoutError from
82
- * `init.signal` (or `AbortSignal.timeout`) is intentional and must not be
83
- * retried, and a programmer error (e.g. a bad argument) is not transient.
84
- * - The backoff sleep is abort-aware: aborting `init.signal` mid-wait rejects
85
- * at once.
86
- *
87
- * Kept PURE — no knowledge of any caller secret. Token redaction is layered on
88
- * top by the caller's own try/catch.
89
- */
90
- export declare function fetchWithRetry(input: string | URL | Request, init?: RequestInit, policy?: RetryPolicy): Promise<Response>;
1
+ export * from "../lib/http-retry.js";
91
2
  //# sourceMappingURL=http-retry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-retry.d.ts","sourceRoot":"","sources":["../../src/services/http-retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA2C,CAAC;AAE7F,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AASD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAmBxE;AAED,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAwB,GACnE,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,EAClB,MAAM,GAAE,WAAkC,GACzC,OAAO,CAAC,QAAQ,CAAC,CAyCnB"}
1
+ {"version":3,"file":"http-retry.d.ts","sourceRoot":"","sources":["../../src/services/http-retry.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -1,177 +1,2 @@
1
- /**
2
- * Transient HTTP retry policy.
3
- *
4
- * Centralizes the "retry on transient failure" behavior so it can be applied at
5
- * a single choke point per call site rather than scattered across every request
6
- * method. It is deliberately PURE: it knows nothing about the Telegram bot token
7
- * or any other caller secret, so it never risks leaking one. Token redaction and
8
- * response-body interpretation stay the caller's responsibility.
9
- *
10
- * WHY this exists: operators may point TELEGRAM_API_BASE_URL at an nginx reverse
11
- * proxy or Azure gateway. Those proxies answer with 504 Gateway Timeout (or
12
- * 502/503) instead of a normal Telegram JSON payload. Without retries a single
13
- * proxy hiccup drops an operator notification or spins the long-poll loop; a
14
- * bounded, jittered retry smooths over the transient blips.
15
- */
16
- /**
17
- * HTTP status codes that indicate a TRANSIENT failure — the request may well
18
- * succeed if retried after a short pause:
19
- * 408 Request Timeout, 429 Too Many Requests,
20
- * 500 Internal Server Error, 502 Bad Gateway,
21
- * 503 Service Unavailable, 504 Gateway Timeout.
22
- *
23
- * Every other 4xx is PERMANENT (bad request, unauthorized, not found, …) and is
24
- * never retried — retrying it only wastes time and risks duplicate side effects.
25
- */
26
- export const TRANSIENT_STATUS = new Set([408, 429, 500, 502, 503, 504]);
27
- /** True when `status` is in the transient (retryable) set. */
28
- export function isTransientStatus(status) {
29
- return TRANSIENT_STATUS.has(status);
30
- }
31
- /**
32
- * Upper bound (ms) we are ever willing to wait for a single `Retry-After`
33
- * hint. A hostile or misconfigured proxy could send an absurd value; clamp it
34
- * so we never sleep for minutes on end.
35
- */
36
- const RETRY_AFTER_MAX_MS = 60_000;
37
- /**
38
- * Parse the `Retry-After` response header into milliseconds.
39
- *
40
- * Per RFC 9110 the value is either a number of seconds (`Retry-After: 120`) or
41
- * an HTTP-date (`Retry-After: Wed, 21 Oct 2026 07:28:00 GMT`). Returns
42
- * `undefined` when the header is absent or unparseable, and clamps any positive
43
- * result to {@link RETRY_AFTER_MAX_MS}. A date in the past yields `0`.
44
- */
45
- export function parseRetryAfterMs(response) {
46
- const raw = response.headers.get("retry-after");
47
- if (raw === null)
48
- return undefined;
49
- const trimmed = raw.trim();
50
- if (trimmed === "")
51
- return undefined;
52
- // Numeric form: delay in seconds.
53
- if (/^\d+$/.test(trimmed)) {
54
- const seconds = Number(trimmed);
55
- return Math.min(seconds * 1000, RETRY_AFTER_MAX_MS);
56
- }
57
- // HTTP-date form: absolute time to retry at.
58
- const dateMs = Date.parse(trimmed);
59
- if (Number.isNaN(dateMs))
60
- return undefined;
61
- const deltaMs = dateMs - Date.now();
62
- if (deltaMs <= 0)
63
- return 0;
64
- return Math.min(deltaMs, RETRY_AFTER_MAX_MS);
65
- }
66
- /** Sensible default: 3 attempts, 500ms base, 8s cap. */
67
- export const DEFAULT_RETRY_POLICY = {
68
- maxAttempts: 3,
69
- baseMs: 500,
70
- capMs: 8_000,
71
- };
72
- /**
73
- * Exponential backoff with FULL jitter.
74
- *
75
- * The deterministic component is `baseMs * 2^attempt`, capped at `capMs`. We
76
- * then draw a uniformly random value in `[0, capped]` (the "full jitter"
77
- * strategy from the AWS Architecture Blog). Full jitter — rather than
78
- * equal-jitter or none — is chosen because it maximizes spread across many
79
- * concurrent clients hammering the same recovering proxy, which minimizes
80
- * retry-storm synchronization.
81
- *
82
- * @param attempt Zero-based retry index (0 for the first backoff).
83
- */
84
- export function computeBackoffMs(attempt, policy = DEFAULT_RETRY_POLICY) {
85
- const exponential = policy.baseMs * 2 ** attempt;
86
- const capped = Math.min(exponential, policy.capMs);
87
- return Math.random() * capped;
88
- }
89
- /**
90
- * Sleep for `ms`, rejecting immediately if `signal` aborts mid-wait.
91
- *
92
- * Retries must not swallow an intentional shutdown: if the caller's signal
93
- * fires while we are backing off, propagate the abort at once rather than
94
- * finishing the sleep.
95
- */
96
- export function abortableDelay(ms, signal) {
97
- return new Promise((resolve, reject) => {
98
- if (signal?.aborted) {
99
- reject(signal.reason ?? new DOMException("Aborted", "AbortError"));
100
- return;
101
- }
102
- let onAbort;
103
- const timer = setTimeout(() => {
104
- if (signal && onAbort)
105
- signal.removeEventListener("abort", onAbort);
106
- resolve();
107
- }, ms);
108
- if (signal) {
109
- onAbort = () => {
110
- clearTimeout(timer);
111
- reject(signal.reason ?? new DOMException("Aborted", "AbortError"));
112
- };
113
- signal.addEventListener("abort", onAbort, { once: true });
114
- }
115
- });
116
- }
117
- /**
118
- * `fetch` with bounded, jittered retry on transient failures.
119
- *
120
- * Behavior:
121
- * - Performs the fetch. If the response status is transient AND attempts
122
- * remain, waits (honoring `Retry-After` when present, otherwise
123
- * {@link computeBackoffMs}) and retries. Otherwise returns the response — the
124
- * caller still inspects `.ok` to handle permanent (4xx) errors itself.
125
- * - Only a thrown `TypeError` — how native `fetch` reports a genuine transport
126
- * failure (DNS, ECONNREFUSED, socket reset) — is retried (if attempts
127
- * remain, else the last error is rethrown). Every other throw propagates
128
- * IMMEDIATELY with no wasted backoff: an AbortError / TimeoutError from
129
- * `init.signal` (or `AbortSignal.timeout`) is intentional and must not be
130
- * retried, and a programmer error (e.g. a bad argument) is not transient.
131
- * - The backoff sleep is abort-aware: aborting `init.signal` mid-wait rejects
132
- * at once.
133
- *
134
- * Kept PURE — no knowledge of any caller secret. Token redaction is layered on
135
- * top by the caller's own try/catch.
136
- */
137
- export async function fetchWithRetry(input, init, policy = DEFAULT_RETRY_POLICY) {
138
- const signal = init?.signal ?? undefined;
139
- let lastError;
140
- for (let attempt = 0; attempt < policy.maxAttempts; attempt++) {
141
- const attemptsRemaining = attempt < policy.maxAttempts - 1;
142
- let response;
143
- try {
144
- response = await fetch(input, init);
145
- }
146
- catch (err) {
147
- // Only a genuine transport failure is retryable. Native `fetch` throws a
148
- // TypeError for network-level faults (DNS, ECONNREFUSED, socket reset);
149
- // anything else — AbortError/TimeoutError from a signal, or a programmer
150
- // error — is intentional or permanent and must propagate at once.
151
- if (!(err instanceof TypeError))
152
- throw err;
153
- lastError = err;
154
- if (!attemptsRemaining)
155
- throw err;
156
- await abortableDelay(computeBackoffMs(attempt, policy), signal);
157
- continue;
158
- }
159
- // Transient HTTP status with attempts left → back off and retry. Otherwise
160
- // (success, or permanent error, or out of attempts) hand the response back.
161
- if (isTransientStatus(response.status) && attemptsRemaining) {
162
- const retryAfter = parseRetryAfterMs(response);
163
- const waitMs = retryAfter ?? computeBackoffMs(attempt, policy);
164
- // Release the socket before retrying: an unconsumed undici `Response`
165
- // body keeps its connection pinned until GC, so a sustained proxy outage
166
- // would leak one connection per retried 504. Draining first avoids it.
167
- await response.body?.cancel().catch(() => { });
168
- await abortableDelay(waitMs, signal);
169
- continue;
170
- }
171
- return response;
172
- }
173
- // Unreachable when maxAttempts >= 1, but keeps the type checker happy and
174
- // guards against a misconfigured policy (maxAttempts <= 0).
175
- throw lastError ?? new Error("fetchWithRetry: exhausted attempts with no response");
176
- }
1
+ export * from "../lib/http-retry.js";
177
2
  //# sourceMappingURL=http-retry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-retry.js","sourceRoot":"","sources":["../../src/services/http-retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-retry.js","sourceRoot":"","sources":["../../src/services/http-retry.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.service.d.ts","sourceRoot":"","sources":["../../src/services/mcp-config.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AA+BD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAoB5D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB5F;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,kBAAkB,EAC7B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,IAAI,CAkBN;AAcD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAiBjD"}
1
+ {"version":3,"file":"mcp-config.service.d.ts","sourceRoot":"","sources":["../../src/services/mcp-config.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AA+BD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAoB5D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoB5F;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,kBAAkB,EAC7B,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,GACf,IAAI,CAkBN;AAcD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,kBAAkB,EAC7B,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CA6BjD"}
@@ -10,7 +10,7 @@
10
10
  import { chmodSync, mkdirSync, writeFileSync } from "node:fs";
11
11
  import { join } from "node:path";
12
12
  import { randomUUID } from "node:crypto";
13
- import { getMcpServers, getThreadMcpServers, } from "../config/index.js";
13
+ import { getMcpServers, getThreadMcpServers, getCodexToolTimeoutSec, getCodexModelVerbosity, } from "../config/index.js";
14
14
  import { PROCESS_PIDS_DIR } from "./process.service.js";
15
15
  // ── Shared JSON formatter (Claude & Copilot use the same schema) ────────────
16
16
  function formatJsonMcpEntry(cfg) {
@@ -137,6 +137,19 @@ export function buildCodexMcpArgs(transport, threadId) {
137
137
  args.push("-c", `mcp_servers.sensorium-mcp.url="http://127.0.0.1:${transport.httpPort}/mcp"`);
138
138
  if (transport.secret)
139
139
  args.push("-c", `mcp_servers.sensorium-mcp.bearer_token_env_var="SENSORIUM_MCP_SECRET"`);
140
+ // Codex cancels an MCP tool call after `tool_timeout_sec` (default 300s), which
141
+ // would sever our long-polling wait_for_instructions. Raise it to the
142
+ // dashboard-configured budget so a thread can park for the full wait.
143
+ args.push("-c", `mcp_servers.sensorium-mcp.tool_timeout_sec=${getCodexToolTimeoutSec()}`);
144
+ // Codex output verbosity (`model_verbosity`). Opt-in only: when "default" we
145
+ // push nothing, so the spawn args stay byte-identical to today (protects the
146
+ // prompt cache and current behavior). A non-default value trims OUTPUT tokens
147
+ // but is double-edged — it also shortens genuine answers — hence off unless
148
+ // the operator explicitly selects it. Values come from a fixed enum, so no
149
+ // TOML escaping is needed.
150
+ const modelVerbosity = getCodexModelVerbosity();
151
+ if (modelVerbosity !== "default")
152
+ args.push("-c", `model_verbosity="${modelVerbosity}"`);
140
153
  for (const [name, cfg] of Object.entries(getMcpServers())) {
141
154
  args.push(...formatCodexEntry(name, cfg));
142
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-config.service.js","sourceRoot":"","sources":["../../src/services/mcp-config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-config.service.js","sourceRoot":"","sources":["../../src/services/mcp-config.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { Database } from "../data/memory/schema.js";
2
- export declare function assembleBootstrap(db: Database, threadId: number, memorySourceThreadId?: number): string;
2
+ export declare function assembleBootstrap(db: Database, threadId: number, memorySourceThreadId?: number): Promise<string>;
3
3
  export declare function assembleCompactRefresh(db: Database, threadId: number): string;
4
4
  //# sourceMappingURL=memory-briefing.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-briefing.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAoBzD,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CA0KR;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7E"}
1
+ {"version":3,"file":"memory-briefing.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAoBzD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC,CA6KjB;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7E"}
@@ -15,8 +15,8 @@ function formatReflection(content) {
15
15
  // Fallback for older reflections
16
16
  return content.slice(0, 500);
17
17
  }
18
- export function assembleBootstrap(db, threadId, memorySourceThreadId) {
19
- const context = getBootstrapContext(db, threadId, memorySourceThreadId);
18
+ export async function assembleBootstrap(db, threadId, memorySourceThreadId) {
19
+ const context = await getBootstrapContext(db, threadId, memorySourceThreadId);
20
20
  const lines = [];
21
21
  if (context.identityPrompt) {
22
22
  lines.push(context.identityPrompt);
@@ -32,6 +32,37 @@ export function assembleBootstrap(db, threadId, memorySourceThreadId) {
32
32
  }
33
33
  }
34
34
  lines.push("");
35
+ // Temporal Context (broad → narrow) comes BEFORE the Recent Conversation so
36
+ // the briefing reads as one coherent zoom-in ending at the present moment,
37
+ // instead of jumping from "now" back to half-year-ago background.
38
+ if (context.narratives) {
39
+ lines.push("## Temporal Context");
40
+ if (context.narratives.half_year) {
41
+ lines.push("### This Half-Year");
42
+ lines.push(context.narratives.half_year);
43
+ lines.push("");
44
+ }
45
+ if (context.narratives.quarter) {
46
+ lines.push("### This Quarter");
47
+ lines.push(context.narratives.quarter);
48
+ lines.push("");
49
+ }
50
+ if (context.narratives.month) {
51
+ lines.push("### This Month");
52
+ lines.push(context.narratives.month);
53
+ lines.push("");
54
+ }
55
+ if (context.narratives.week) {
56
+ lines.push("### This Week");
57
+ lines.push(context.narratives.week);
58
+ lines.push("");
59
+ }
60
+ if (context.narratives.day) {
61
+ lines.push("### Today");
62
+ lines.push(context.narratives.day);
63
+ lines.push("");
64
+ }
65
+ }
35
66
  if (context.recentEpisodes.length > 0) {
36
67
  // Build (and char-budget trim) the conversation first so we know the
37
68
  // timestamp of the earliest episode actually shown. That boundary is fed
@@ -86,34 +117,6 @@ export function assembleBootstrap(db, threadId, memorySourceThreadId) {
86
117
  }
87
118
  lines.push("");
88
119
  }
89
- if (context.narratives) {
90
- lines.push("## Temporal Context");
91
- if (context.narratives.half_year) {
92
- lines.push("### This Half-Year");
93
- lines.push(context.narratives.half_year);
94
- lines.push("");
95
- }
96
- if (context.narratives.quarter) {
97
- lines.push("### This Quarter");
98
- lines.push(context.narratives.quarter);
99
- lines.push("");
100
- }
101
- if (context.narratives.month) {
102
- lines.push("### This Month");
103
- lines.push(context.narratives.month);
104
- lines.push("");
105
- }
106
- if (context.narratives.week) {
107
- lines.push("### This Week");
108
- lines.push(context.narratives.week);
109
- lines.push("");
110
- }
111
- if (context.narratives.day) {
112
- lines.push("### Today");
113
- lines.push(context.narratives.day);
114
- lines.push("");
115
- }
116
- }
117
120
  if (context.pinnedNotes.length > 0) {
118
121
  lines.push("## Pinned (Long-Term Context)");
119
122
  for (const note of context.pinnedNotes) {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-briefing.service.js","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-briefing.service.js","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-pruning.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-pruning.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAOzC,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAChD,OAAO,CAAC,aAAa,CAAC,CAoMxB"}
1
+ {"version":3,"file":"memory-pruning.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-pruning.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,iCAAiC,CAAC;AAOzC,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,QAAQ,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAChD,OAAO,CAAC,aAAa,CAAC,CAsNxB"}
@@ -45,15 +45,25 @@ export async function runMemoryPruning(db, options) {
45
45
  };
46
46
  }
47
47
  const now = new Date();
48
+ // Absolute date, alongside each note's relative "age: Nd". The judge needs the
49
+ // real calendar date to reason that a past deadline or a "tonight"/"in progress"
50
+ // written on an earlier date is now stale — a relative age alone cannot express that.
51
+ const currentDate = now.toISOString().slice(0, 10);
48
52
  const notesText = candidates
49
53
  .map((row) => {
50
54
  const ageMs = now.getTime() - new Date(row.created_at).getTime();
51
55
  const ageDays = Math.round(ageMs / (1000 * 60 * 60 * 24));
52
- return `[${row.note_id}] (${row.type}, conf: ${row.confidence}, accesses: ${row.access_count}, age: ${ageDays}d) ${row.content}`;
56
+ // Surface the protection flags so the judge can obey its own rule below —
57
+ // getCandidateNotesForPruning now includes guardrail/pinned notes, and the
58
+ // model cannot protect what it cannot see.
59
+ const marks = `${row.is_guardrail ? " [GUARDRAIL]" : ""}${row.pinned ? " [PINNED]" : ""}`;
60
+ return `[${row.note_id}] (${row.type}, conf: ${row.confidence}, accesses: ${row.access_count}, age: ${ageDays}d)${marks} ${row.content}`;
53
61
  })
54
62
  .join("\n");
55
63
  const systemPrompt = `You are a memory quality manager. Review these semantic notes and identify problems.
56
64
 
65
+ Current date: ${currentDate}
66
+
57
67
  Notes to review:
58
68
  ${notesText}
59
69
 
@@ -68,12 +78,13 @@ Output a JSON object:
68
78
  }
69
79
 
70
80
  Decision criteria:
71
- - EXPIRE if: the note is vague/non-actionable ("the system has issues"), trivially obvious, or clearly outdated (references old versions, completed tasks still marked pending)
81
+ - EXPIRE if: the note is vague/non-actionable ("the system has issues"), trivially obvious, or clearly outdated. "Outdated" includes a time-bound note whose moment has passed relative to Current date above — an explicit past deadline, or a "tonight"/"today"/"in progress"/"this week" written on an earlier date that can no longer be true.
72
82
  - MERGE if: two or more notes convey the same information — keep the more specific/accurate one. Provide mergedContent combining the best of both when useful.
73
83
  - KEEP (omit from output) if: the note contains unique, specific, actionable information
74
84
 
75
85
  Be conservative — when in doubt, keep the note. Only expire notes you are confident are low-value.
76
- Do NOT expire preferences or guardrails unless they clearly contradict each other.
86
+ PROTECTED NOTES: never place a note marked [GUARDRAIL] or [PINNED] in "expire", and never put it on the "expireId" side of a "merge" (retiring it), UNLESS it is directly contradicted by a newer, more specific note. These are enforced rules and pinned invariants — silently removing one drops a constraint the operator relies on. A [GUARDRAIL]/[PINNED] note may only be the "keepId" side of a merge.
87
+ Do NOT expire preferences unless they clearly contradict a newer note.
77
88
  Return {"expire": [], "merge": []} if nothing needs pruning.`;
78
89
  try {
79
90
  const messages = [
@@ -135,9 +146,16 @@ Return {"expire": [], "merge": []} if nothing needs pruning.`;
135
146
  details.push(`[skip-merge] ${action.keepId}/${action.expireId} not found`);
136
147
  continue;
137
148
  }
138
- mergeDuplicateNote(db, keepNote.noteId, expireNoteRow.noteId, nowStr, action.mergedContent && action.mergedContent !== keepNote.content
149
+ const didMerge = mergeDuplicateNote(db, keepNote.noteId, expireNoteRow.noteId, nowStr, action.mergedContent && action.mergedContent !== keepNote.content
139
150
  ? action.mergedContent
140
151
  : undefined);
152
+ if (!didMerge) {
153
+ // Guardrail/pinned notes are never retired by a merge — the protected
154
+ // note stays active. Judge-side the prompt already warns against this;
155
+ // this is the server-side backstop.
156
+ details.push(`[skip-merge] ${action.expireId} is guardrail/pinned — not retired`);
157
+ continue;
158
+ }
141
159
  merged++;
142
160
  details.push(`[merged] ${action.expireId} → ${action.keepId}: ${action.reason}`);
143
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-pruning.service.js","sourceRoot":"","sources":["../../src/services/memory-pruning.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-pruning.service.js","sourceRoot":"","sources":["../../src/services/memory-pruning.service.ts"],"names":[],"mappings":"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"}
@@ -46,8 +46,16 @@ export declare function checkSpawnPreconditions(agentLabel: string): {
46
46
  } | {
47
47
  error: string;
48
48
  };
49
- /** Per-thread log file: sanitized name + threadId + date under THREAD_LOGS_DIR. */
50
- export declare function buildThreadLogPath(name: string, threadId: number, ext: "json" | "jsonl"): string;
49
+ /**
50
+ * Per-thread log file: sanitized name + agentType + threadId + date under
51
+ * THREAD_LOGS_DIR. The agentType segment sits BEFORE threadId so each agent
52
+ * type writes to its own single-format file even when a thread's type is
53
+ * switched on the same day (otherwise claude stream-json and copilot plain-text
54
+ * lines interleave in one file and break the dashboard log stream). Placing it
55
+ * before threadId also preserves the `_<threadId>_<date>.jsonl?$` suffix that
56
+ * the mtime-based log consumers match on.
57
+ */
58
+ export declare function buildThreadLogPath(name: string, agentType: string, threadId: number, ext: "json" | "jsonl"): string;
51
59
  /** Session-bootstrap prompt shared by the Claude and Copilot CLIs (Codex
52
60
  * delivers its own autonomous-loop prompt over stdin instead). */
53
61
  export declare const buildSessionPrompt: (name: string, threadId: number) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-common.d.ts","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgCH,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA+BlE,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAwB/E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,UAKpF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1F,CAAC;AAWF,iDAAiD;AACjD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IA2BvE,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8BjE;AASD,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,GAAG,SAK9E,CAAC;AAOF,eAAO,MAAM,0BAA0B,QAAO,OAAmC,CAAC;AAClF,eAAO,MAAM,2BAA2B,GAAI,GAAG,OAAO,KAAG,IAExD,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAYvD;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAMhG;AAED;kEACkE;AAClE,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MACkD,CAAC;AAuRvH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;yCACqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,KAAK,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAKjD;AAiDD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAElE;AA4ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,eAAe,EACrB,eAAe,EAAE,sBAAsB,GACtC,OAAO,CAAC,WAAW,CAAC,CAkDtB"}
1
+ {"version":3,"file":"spawn-common.d.ts","sourceRoot":"","sources":["../../src/services/spawn-common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgCH,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA+BlE,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAmC/E,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAG,MAAM,CAAC,UAKpF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1F,CAAC;AAWF,iDAAiD;AACjD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IA2BvE,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8BjE;AASD,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,GAAG,SAK9E,CAAC;AAOF,eAAO,MAAM,0BAA0B,QAAO,OAAmC,CAAC;AAClF,eAAO,MAAM,2BAA2B,GAAI,GAAG,OAAO,KAAG,IAExD,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAYvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GAAG,OAAO,GACpB,MAAM,CAQR;AAED;kEACkE;AAClE,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MACkD,CAAC;AAuRvH;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;yCACqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,KAAK,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAKjD;AAiDD,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAElE;AA4ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,eAAe,EACrB,eAAe,EAAE,sBAAsB,GACtC,OAAO,CAAC,WAAW,CAAC,CAkDtB"}