@0xmaxma/claude-gateway 1.8.1 → 1.8.3

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 (90) hide show
  1. package/README.md +7 -2
  2. package/config.template.json +4 -0
  3. package/dist/agent/dreaming/config.d.ts +6 -0
  4. package/dist/agent/dreaming/config.d.ts.map +1 -1
  5. package/dist/agent/dreaming/config.js +17 -24
  6. package/dist/agent/dreaming/config.js.map +1 -1
  7. package/dist/agent/knowledge/config.d.ts.map +1 -1
  8. package/dist/agent/knowledge/config.js +7 -13
  9. package/dist/agent/knowledge/config.js.map +1 -1
  10. package/dist/agent/runner.d.ts +87 -13
  11. package/dist/agent/runner.d.ts.map +1 -1
  12. package/dist/agent/runner.js +342 -117
  13. package/dist/agent/runner.js.map +1 -1
  14. package/dist/agent/turn-stream.d.ts +202 -0
  15. package/dist/agent/turn-stream.d.ts.map +1 -0
  16. package/dist/agent/turn-stream.js +322 -0
  17. package/dist/agent/turn-stream.js.map +1 -0
  18. package/dist/api/apps-router.d.ts.map +1 -1
  19. package/dist/api/apps-router.js +14 -2
  20. package/dist/api/apps-router.js.map +1 -1
  21. package/dist/api/gateway-router.d.ts.map +1 -1
  22. package/dist/api/gateway-router.js +2 -3
  23. package/dist/api/gateway-router.js.map +1 -1
  24. package/dist/api/line-webhook-router.d.ts +43 -1
  25. package/dist/api/line-webhook-router.d.ts.map +1 -1
  26. package/dist/api/line-webhook-router.js +286 -38
  27. package/dist/api/line-webhook-router.js.map +1 -1
  28. package/dist/api/router.d.ts +7 -1
  29. package/dist/api/router.d.ts.map +1 -1
  30. package/dist/api/router.js +328 -114
  31. package/dist/api/router.js.map +1 -1
  32. package/dist/apps/agent-manager.d.ts.map +1 -1
  33. package/dist/apps/agent-manager.js +4 -1
  34. package/dist/apps/agent-manager.js.map +1 -1
  35. package/dist/apps/installer.d.ts +75 -2
  36. package/dist/apps/installer.d.ts.map +1 -1
  37. package/dist/apps/installer.js +198 -13
  38. package/dist/apps/installer.js.map +1 -1
  39. package/dist/cli/command-names.d.ts +69 -12
  40. package/dist/cli/command-names.d.ts.map +1 -1
  41. package/dist/cli/command-names.js +125 -4
  42. package/dist/cli/command-names.js.map +1 -1
  43. package/dist/config/agent-env.d.ts +41 -0
  44. package/dist/config/agent-env.d.ts.map +1 -0
  45. package/dist/config/agent-env.js +154 -0
  46. package/dist/config/agent-env.js.map +1 -0
  47. package/dist/config/loader.d.ts +33 -2
  48. package/dist/config/loader.d.ts.map +1 -1
  49. package/dist/config/loader.js +33 -9
  50. package/dist/config/loader.js.map +1 -1
  51. package/dist/config/watcher.d.ts +1 -0
  52. package/dist/config/watcher.d.ts.map +1 -1
  53. package/dist/config/watcher.js +17 -1
  54. package/dist/config/watcher.js.map +1 -1
  55. package/dist/cron/manager.d.ts +2 -0
  56. package/dist/cron/manager.d.ts.map +1 -1
  57. package/dist/cron/manager.js +63 -28
  58. package/dist/cron/manager.js.map +1 -1
  59. package/dist/entry.js +1 -3
  60. package/dist/entry.js.map +1 -1
  61. package/dist/index.js +25 -54
  62. package/dist/index.js.map +1 -1
  63. package/dist/load-dotenv.d.ts +17 -0
  64. package/dist/load-dotenv.d.ts.map +1 -1
  65. package/dist/load-dotenv.js +32 -9
  66. package/dist/load-dotenv.js.map +1 -1
  67. package/dist/session/store.d.ts +9 -0
  68. package/dist/session/store.d.ts.map +1 -1
  69. package/dist/session/store.js +12 -0
  70. package/dist/session/store.js.map +1 -1
  71. package/dist/shell/bypass-dialog.d.ts +142 -0
  72. package/dist/shell/bypass-dialog.d.ts.map +1 -0
  73. package/dist/shell/bypass-dialog.js +207 -0
  74. package/dist/shell/bypass-dialog.js.map +1 -0
  75. package/dist/shell/claude-pty-shell.js +42 -3
  76. package/dist/shell/claude-pty-shell.js.map +1 -1
  77. package/dist/shell/screen.d.ts +7 -0
  78. package/dist/shell/screen.d.ts.map +1 -1
  79. package/dist/shell/screen.js +10 -1
  80. package/dist/shell/screen.js.map +1 -1
  81. package/dist/types.d.ts +20 -0
  82. package/dist/types.d.ts.map +1 -1
  83. package/dist/utils/config-num.d.ts +22 -0
  84. package/dist/utils/config-num.d.ts.map +1 -0
  85. package/dist/utils/config-num.js +34 -0
  86. package/dist/utils/config-num.js.map +1 -0
  87. package/mcp/tools/cron/module.ts +4 -4
  88. package/mcp/tools/telegram/module.ts +29 -6
  89. package/mcp/tools/telegram/typing.ts +1 -1
  90. package/package.json +1 -1
package/README.md CHANGED
@@ -348,6 +348,8 @@ Controls the Claude subprocess backend for all non-app agents.
348
348
 
349
349
  `--dangerously-skip-permissions` is always injected by the gateway automatically — there is no per-agent config field for it.
350
350
 
351
+ In PTY mode that flag makes Claude Code open a "Bypass Permissions mode" confirmation dialog at startup, which the wrapper accepts on your behalf. How it is accepted depends on the Claude Code build: releases up to **2.1.247** render numbered options (`1. No, exit` / `2. Yes, I accept`) and are accepted with the digit, while **2.1.248 and newer** drop the numbers, so the wrapper walks the caret onto the accept row and only then presses Enter. If a future release changes the dialog beyond what the wrapper recognises, it deliberately sends **no** keystroke and leaves the dialog on screen rather than risk selecting "No, exit" (which would exit Claude Code) — set `PTY_SHELL_SKIP_DIALOG_DISMISS=1` to turn the auto-accept off entirely.
352
+
351
353
  ```json
352
354
  {
353
355
  "gateway": {
@@ -571,7 +573,9 @@ Each key has a `key` string (supports `${ENV_VAR}` interpolation), an optional `
571
573
 
572
574
  ### Bot tokens
573
575
 
574
- Tokens are stored per-agent at `~/.claude-gateway/agents/<id>/.env` and auto-loaded at startup. Use `${AGENT_BOT_TOKEN}` syntax in config to reference them, or set them as shell environment variables.
576
+ Tokens are stored per-agent at `~/.claude-gateway/agents/<id>/.env` and auto-loaded at startup **and before every config reload** — so an agent added to `config.json` while the gateway is running starts without a restart, even though its token only exists in a brand-new `.env`. Use `${AGENT_BOT_TOKEN}` syntax in config to reference them, or set them as shell environment variables. Lines are `KEY=value`; `#` comments and blank lines are ignored, and surrounding quotes are stripped, the same as in `~/.claude-gateway/.env`.
577
+
578
+ A variable you exported yourself always wins over the `.env` file and is never replaced by a reload. A token the gateway did read from a `.env` is refreshed when that file changes, so **rotating a token takes effect on the next config reload** rather than at the next restart. Note that only `config.json` is watched — editing a `.env` by hand applies on the following reload, while the MCP `agent_create` / `agent_update` tools write both files and so take effect immediately. If a `${VAR}` cannot be resolved from anywhere, that one agent is skipped — the rest of the gateway starts normally — and the skip is logged to `logs/gateway.log` with the name of the missing variable.
575
579
 
576
580
  ---
577
581
 
@@ -1146,7 +1150,8 @@ sees a message. If those aren't met the bot looks online but stays silent.
1146
1150
 
1147
1151
  **LINE limits**
1148
1152
  - Inbound arrives via the Express **webhook**, not polling; the signature is verified over the **exact raw bytes**. Front it with the bun CORS proxy (see `/tunnel`) — never point cloudflared straight at the gateway, or chunked bodies break the signature and webhooks are dropped.
1149
- - Group/room `requireMention` uses LINE's **native mention** only (`mention.mentionees[].isSelf`). Typing the bot's name as plain text does **not** count, and `@All` does **not** count as a bot mention.
1153
+ - Handled inbound message types are **text, image, and file** (documents up to the 20 MB media cap). Sticker, video, audio, and location are ignored. LINE reports no MIME type for a file, so its extension is derived from the sender-supplied name and sanitized before use. A file the gateway cannot fetch (too large, empty, or a failed transfer) still reaches the agent — as a message that says the attachment is unavailable, rather than one that looks like a file waiting to be read.
1154
+ - Group/room `requireMention` uses LINE's **native mention** only (`mention.mentionees[].isSelf`). Typing the bot's name as plain text does **not** count, and `@All` does **not** count as a bot mention. LINE attaches mentions to **text messages only**, so an image or file posted in a group cannot satisfy the gate — send media in a DM, or set `requireMention: false` for that agent.
1150
1155
  - Delivery is **reply-token-first (free) → push fallback (metered)**. The single-use reply token lives only ~1 min; after that, replies consume the OA's monthly push quota.
1151
1156
  - Max **5 message objects** per reply/push request (the gateway auto-chunks to fit).
1152
1157
 
@@ -68,6 +68,10 @@
68
68
  "buildCacheMaxAgeHours": 168,
69
69
  "danglingImagePrune": true
70
70
  },
71
+ "appRestore": {
72
+ "buildTimeoutMs": 1800000,
73
+ "waitTimeoutMs": 180000
74
+ },
71
75
  "skillLearning": {
72
76
  "enabled": true,
73
77
  "mode": "auto",
@@ -10,6 +10,12 @@ import type { DreamingConfig, ResolvedDreamingCfg, ResolvedStalenessCfg, Stalene
10
10
  /** Built-in staleness-GC defaults (planning-66). */
11
11
  export declare const STALENESS_DEFAULTS: ResolvedStalenessCfg;
12
12
  export declare const DREAMING_DEFAULTS: ResolvedDreamingCfg;
13
+ /**
14
+ * Numeric config sanitation lives in {@link numOr} (`src/utils/config-num.ts`).
15
+ * Critical for `dreamHour`, which feeds the scheduler delay — a NaN there would
16
+ * make `setTimeout` fire immediately and the async reviewer fan out in a tight
17
+ * reschedule loop.
18
+ */
13
19
  /**
14
20
  * Resolve the staleness-GC sub-config (planning-66). Booleans fall back to the
15
21
  * default when absent/non-boolean; numerics are sanitized like the parent config.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1G,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,EAAE,oBAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAe/B,CAAC;AAsBF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,eAAe,GAC1B,oBAAoB,CAoBtB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,cAAc,GACzB,mBAAmB,CA+BrB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1G,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,EAAE,oBAQhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAe/B,CAAC;AASF;;;;;GAKG;AAEH;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,eAAe,EAC1B,SAAS,CAAC,EAAE,eAAe,GAC1B,oBAAoB,CAoBtB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,CAAC,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,cAAc,GACzB,mBAAmB,CA+BrB"}
@@ -12,6 +12,7 @@ exports.DREAMING_DEFAULTS = exports.STALENESS_DEFAULTS = void 0;
12
12
  exports.resolveStalenessConfig = resolveStalenessConfig;
13
13
  exports.resolveDreamingConfig = resolveDreamingConfig;
14
14
  const config_1 = require("../skill-learning/config");
15
+ const config_num_1 = require("../../utils/config-num");
15
16
  /** Built-in staleness-GC defaults (planning-66). */
16
17
  exports.STALENESS_DEFAULTS = {
17
18
  enabled: true,
@@ -47,19 +48,11 @@ function pick(agent, global, fallback) {
47
48
  return fallback;
48
49
  }
49
50
  /**
50
- * Sanitize a resolved numeric config value: fall back to the default on
51
- * anything non-finite (string/null/NaN/Infinity from untyped JSON config) or
52
- * out of [min, max]. Critical for `dreamHour`, which feeds the scheduler delay
53
- * a NaN there would make `setTimeout` fire immediately and the async reviewer
54
- * fan out in a tight reschedule loop.
51
+ * Numeric config sanitation lives in {@link numOr} (`src/utils/config-num.ts`).
52
+ * Critical for `dreamHour`, which feeds the scheduler delay — a NaN there would
53
+ * make `setTimeout` fire immediately and the async reviewer fan out in a tight
54
+ * reschedule loop.
55
55
  */
56
- function numOr(value, fallback, min, max) {
57
- if (typeof value !== 'number' || !Number.isFinite(value))
58
- return fallback;
59
- if (value < min || value > max)
60
- return fallback;
61
- return value;
62
- }
63
56
  /**
64
57
  * Resolve the staleness-GC sub-config (planning-66). Booleans fall back to the
65
58
  * default when absent/non-boolean; numerics are sanitized like the parent config.
@@ -72,12 +65,12 @@ function resolveStalenessConfig(agentCfg, globalCfg) {
72
65
  };
73
66
  return {
74
67
  enabled: bool(agentCfg?.enabled, globalCfg?.enabled, d.enabled),
75
- staleTtlDays: numOr(pick(agentCfg?.staleTtlDays, globalCfg?.staleTtlDays, d.staleTtlDays), d.staleTtlDays, 0, Infinity),
76
- keepImportance: numOr(pick(agentCfg?.keepImportance, globalCfg?.keepImportance, d.keepImportance), d.keepImportance, 0, 10),
77
- minRetrievalKeep: numOr(pick(agentCfg?.minRetrievalKeep, globalCfg?.minRetrievalKeep, d.minRetrievalKeep), d.minRetrievalKeep, 0, Infinity),
68
+ staleTtlDays: (0, config_num_1.numOr)(pick(agentCfg?.staleTtlDays, globalCfg?.staleTtlDays, d.staleTtlDays), d.staleTtlDays, 0, Infinity),
69
+ keepImportance: (0, config_num_1.numOr)(pick(agentCfg?.keepImportance, globalCfg?.keepImportance, d.keepImportance), d.keepImportance, 0, 10),
70
+ minRetrievalKeep: (0, config_num_1.numOr)(pick(agentCfg?.minRetrievalKeep, globalCfg?.minRetrievalKeep, d.minRetrievalKeep), d.minRetrievalKeep, 0, Infinity),
78
71
  supersession: bool(agentCfg?.supersession, globalCfg?.supersession, d.supersession),
79
72
  recordRetrievals: bool(agentCfg?.recordRetrievals, globalCfg?.recordRetrievals, d.recordRetrievals),
80
- maxInvalidationsPerRun: numOr(pick(agentCfg?.maxInvalidationsPerRun, globalCfg?.maxInvalidationsPerRun, d.maxInvalidationsPerRun), d.maxInvalidationsPerRun, 0, Infinity),
73
+ maxInvalidationsPerRun: (0, config_num_1.numOr)(pick(agentCfg?.maxInvalidationsPerRun, globalCfg?.maxInvalidationsPerRun, d.maxInvalidationsPerRun), d.maxInvalidationsPerRun, 0, Infinity),
81
74
  };
82
75
  }
83
76
  function resolveDreamingConfig(agentCfg, globalCfg) {
@@ -88,21 +81,21 @@ function resolveDreamingConfig(agentCfg, globalCfg) {
88
81
  enabled: pick(agentCfg?.enabled, globalCfg?.enabled, d.enabled),
89
82
  mode: mode === 'auto' ? 'auto' : 'propose', // anything but 'auto' is 'propose'
90
83
  // dreamHour feeds the scheduler delay — must be a finite hour 0..23.
91
- dreamHour: numOr(pick(agentCfg?.dreamHour, globalCfg?.dreamHour, d.dreamHour), d.dreamHour, 0, 23),
84
+ dreamHour: (0, config_num_1.numOr)(pick(agentCfg?.dreamHour, globalCfg?.dreamHour, d.dreamHour), d.dreamHour, 0, 23),
92
85
  // dreamMinute pairs with dreamHour for minute-level scheduling — clamp 0..59.
93
- dreamMinute: numOr(pick(agentCfg?.dreamMinute, globalCfg?.dreamMinute, d.dreamMinute), d.dreamMinute, 0, 59),
86
+ dreamMinute: (0, config_num_1.numOr)(pick(agentCfg?.dreamMinute, globalCfg?.dreamMinute, d.dreamMinute), d.dreamMinute, 0, 59),
94
87
  dreamTimezone: (0, config_1.isValidTimezone)(rawTz) ? rawTz : 'UTC',
95
- quietMinutes: numOr(pick(agentCfg?.quietMinutes, globalCfg?.quietMinutes, d.quietMinutes), d.quietMinutes, 0, Infinity),
96
- lookbackDays: numOr(pick(agentCfg?.lookbackDays, globalCfg?.lookbackDays, d.lookbackDays), d.lookbackDays, 0, Infinity),
97
- maxChangesPerRun: numOr(pick(agentCfg?.maxChangesPerRun, globalCfg?.maxChangesPerRun, d.maxChangesPerRun), d.maxChangesPerRun, 0, Infinity),
88
+ quietMinutes: (0, config_num_1.numOr)(pick(agentCfg?.quietMinutes, globalCfg?.quietMinutes, d.quietMinutes), d.quietMinutes, 0, Infinity),
89
+ lookbackDays: (0, config_num_1.numOr)(pick(agentCfg?.lookbackDays, globalCfg?.lookbackDays, d.lookbackDays), d.lookbackDays, 0, Infinity),
90
+ maxChangesPerRun: (0, config_num_1.numOr)(pick(agentCfg?.maxChangesPerRun, globalCfg?.maxChangesPerRun, d.maxChangesPerRun), d.maxChangesPerRun, 0, Infinity),
98
91
  reviewModel: pick(agentCfg?.reviewModel, globalCfg?.reviewModel, d.reviewModel),
99
- promotionThreshold: numOr(pick(agentCfg?.promotionThreshold, globalCfg?.promotionThreshold, d.promotionThreshold), d.promotionThreshold, 0, 1),
100
- minRecallCount: numOr(pick(agentCfg?.minRecallCount, globalCfg?.minRecallCount, d.minRecallCount), d.minRecallCount, 0, Infinity),
92
+ promotionThreshold: (0, config_num_1.numOr)(pick(agentCfg?.promotionThreshold, globalCfg?.promotionThreshold, d.promotionThreshold), d.promotionThreshold, 0, 1),
93
+ minRecallCount: (0, config_num_1.numOr)(pick(agentCfg?.minRecallCount, globalCfg?.minRecallCount, d.minRecallCount), d.minRecallCount, 0, Infinity),
101
94
  // planning-67: boolean-safe (ignore non-boolean JSON), default true.
102
95
  autoRouteOut: [agentCfg?.autoRouteOut, globalCfg?.autoRouteOut].find((v) => typeof v === 'boolean') ??
103
96
  d.autoRouteOut,
104
97
  // planning-68: clamp to [0,55] so the jitter never crosses into the next hour.
105
- staggerWindowMinutes: numOr(pick(agentCfg?.staggerWindowMinutes, globalCfg?.staggerWindowMinutes, d.staggerWindowMinutes), d.staggerWindowMinutes, 0, 55),
98
+ staggerWindowMinutes: (0, config_num_1.numOr)(pick(agentCfg?.staggerWindowMinutes, globalCfg?.staggerWindowMinutes, d.staggerWindowMinutes), d.staggerWindowMinutes, 0, 55),
106
99
  staleness: resolveStalenessConfig(agentCfg?.staleness, globalCfg?.staleness),
107
100
  };
108
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/dreaming/config.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAoDH,wDAuBC;AAED,sDAkCC;AA7GD,qDAA2D;AAC3D,uDAA+C;AAG/C,oDAAoD;AACvC,QAAA,kBAAkB,GAAyB;IACtD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,CAAC;IACnB,YAAY,EAAE,IAAI;IAClB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,EAAE;CAC3B,CAAC;AAEW,QAAA,iBAAiB,GAAwB;IACpD,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,MAAM,EAAE,4FAA4F;IAC1G,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,2BAA2B;IACxC,kBAAkB,EAAE,GAAG;IACvB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,IAAI;IAClB,oBAAoB,EAAE,EAAE;IACxB,SAAS,EAAE,0BAAkB;CAC9B,CAAC;AAEF,0EAA0E;AAC1E,SAAS,IAAI,CAAI,KAAoB,EAAE,MAAqB,EAAE,QAAW;IACvE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AAEH;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,QAA0B,EAC1B,SAA2B;IAE3B,MAAM,CAAC,GAAG,0BAAkB,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,CAAW,EAAE,CAAW,EAAE,EAAE,GAAG,KAAK,EAAW,EAAE;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC;IACF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAC/D,YAAY,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC;QACvH,cAAc,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3H,gBAAgB,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,QAAQ,CAAC;QAC3I,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC;QACnF,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;QACnG,sBAAsB,EAAE,IAAA,kBAAK,EAC3B,IAAI,CAAC,QAAQ,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC,sBAAsB,CAAC,EACnG,CAAC,CAAC,sBAAsB,EACxB,CAAC,EACD,QAAQ,CACT;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAAyB,EACzB,SAA0B;IAE1B,MAAM,CAAC,GAAG,yBAAiB,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,mCAAmC;QAC/E,qEAAqE;QACrE,SAAS,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QAClG,8EAA8E;QAC9E,WAAW,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5G,aAAa,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACrD,YAAY,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC;QACvH,YAAY,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC;QACvH,gBAAgB,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,QAAQ,CAAC;QAC3I,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;QAC/E,kBAAkB,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9I,cAAc,EAAE,IAAA,kBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,QAAQ,CAAC;QACjI,qEAAqE;QACrE,YAAY,EACV,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;YACrF,CAAC,CAAC,YAAY;QAChB,+EAA+E;QAC/E,oBAAoB,EAAE,IAAA,kBAAK,EACzB,IAAI,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAC7F,CAAC,CAAC,oBAAoB,EACtB,CAAC,EACD,EAAE,CACH;QACD,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;KAC7E,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent/knowledge/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,gBAAgB,EAAE,2BAK9B,CAAC;AAiBF,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,SAAS,CAAC,EAAE,sBAAsB,GACjC,2BAA2B,CAuB7B;AAID,eAAO,MAAM,eAAe,EAAE,0BAO7B,CAAC;AAcF,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,qBAAqB,EAChC,SAAS,CAAC,EAAE,qBAAqB,GAChC,0BAA0B,CAmB5B;AAID,eAAO,MAAM,mBAAmB,EAAE,8BAQjC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,yBAAyB,EACpC,SAAS,CAAC,EAAE,yBAAyB,GACpC,8BAA8B,CAiBhC;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,EAAE,0BAA0B,GAAG,MAAM,CAEtE;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,GAAG,EAAE,0BAA0B,GAAG,MAAM,CAEpE;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,GAAG,EAAE,0BAA0B,GAAG,MAAM,CAEtE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/agent/knowledge/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,gBAAgB,EAAE,2BAK9B,CAAC;AAWF,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,SAAS,CAAC,EAAE,sBAAsB,GACjC,2BAA2B,CAuB7B;AAID,eAAO,MAAM,eAAe,EAAE,0BAO7B,CAAC;AAcF,wBAAgB,mBAAmB,CACjC,QAAQ,CAAC,EAAE,qBAAqB,EAChC,SAAS,CAAC,EAAE,qBAAqB,GAChC,0BAA0B,CAmB5B;AAID,eAAO,MAAM,mBAAmB,EAAE,8BAQjC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,yBAAyB,EACpC,SAAS,CAAC,EAAE,yBAAyB,GACpC,8BAA8B,CAiBhC;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,GAAG,EAAE,0BAA0B,GAAG,MAAM,CAEtE;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,GAAG,EAAE,0BAA0B,GAAG,MAAM,CAEpE;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,GAAG,EAAE,0BAA0B,GAAG,MAAM,CAEtE"}
@@ -53,6 +53,7 @@ const path = __importStar(require("path"));
53
53
  const config_1 = require("../dreaming/config");
54
54
  const config_2 = require("../skill-learning/config");
55
55
  const paths_1 = require("../../utils/paths");
56
+ const config_num_1 = require("../../utils/config-num");
56
57
  exports.ARCHIVE_DEFAULTS = {
57
58
  enabled: true,
58
59
  tokenizer: 'unicode61', // "trigram" evaluated for Thai/CJK before locking (planning-64 D5)
@@ -68,21 +69,14 @@ function pick(agent, global, fallback) {
68
69
  return global;
69
70
  return fallback;
70
71
  }
71
- function numOr(value, fallback, min, max) {
72
- if (typeof value !== 'number' || !Number.isFinite(value))
73
- return fallback;
74
- if (value < min || value > max)
75
- return fallback;
76
- return value;
77
- }
78
72
  function resolveArchiveConfig(agentCfg, globalCfg) {
79
73
  const d = exports.ARCHIVE_DEFAULTS;
80
74
  const rawTokenizer = pick(agentCfg?.tokenizer, globalCfg?.tokenizer, d.tokenizer);
81
- const chunkTokens = numOr(pick(agentCfg?.chunkTokens, globalCfg?.chunkTokens, d.chunkTokens), d.chunkTokens, 16, // a tokenizer window below this is not a meaningful chunk
75
+ const chunkTokens = (0, config_num_1.numOr)(pick(agentCfg?.chunkTokens, globalCfg?.chunkTokens, d.chunkTokens), d.chunkTokens, 16, // a tokenizer window below this is not a meaningful chunk
82
76
  100000);
83
77
  // Overlap must be strictly less than the chunk window, else the chunker cannot
84
78
  // advance and would loop; clamp to [0, chunkTokens-1].
85
- const rawOverlap = numOr(pick(agentCfg?.chunkOverlap, globalCfg?.chunkOverlap, d.chunkOverlap), d.chunkOverlap, 0, 100000);
79
+ const rawOverlap = (0, config_num_1.numOr)(pick(agentCfg?.chunkOverlap, globalCfg?.chunkOverlap, d.chunkOverlap), d.chunkOverlap, 0, 100000);
86
80
  return {
87
81
  enabled: pick(agentCfg?.enabled, globalCfg?.enabled, d.enabled),
88
82
  tokenizer: ALLOWED_TOKENIZERS.has(rawTokenizer) ? rawTokenizer : d.tokenizer,
@@ -142,11 +136,11 @@ function resolveReflectionConfig(agentCfg, globalCfg) {
142
136
  const rawTz = pick(agentCfg?.timezone, globalCfg?.timezone, d.timezone);
143
137
  return {
144
138
  enabled: pick(agentCfg?.enabled, globalCfg?.enabled, d.enabled),
145
- dayOfWeek: numOr(pick(agentCfg?.dayOfWeek, globalCfg?.dayOfWeek, d.dayOfWeek), d.dayOfWeek, 0, 6),
146
- hour: numOr(pick(agentCfg?.hour, globalCfg?.hour, d.hour), d.hour, 0, 23),
147
- minute: numOr(pick(agentCfg?.minute, globalCfg?.minute, d.minute), d.minute, 0, 59),
139
+ dayOfWeek: (0, config_num_1.numOr)(pick(agentCfg?.dayOfWeek, globalCfg?.dayOfWeek, d.dayOfWeek), d.dayOfWeek, 0, 6),
140
+ hour: (0, config_num_1.numOr)(pick(agentCfg?.hour, globalCfg?.hour, d.hour), d.hour, 0, 23),
141
+ minute: (0, config_num_1.numOr)(pick(agentCfg?.minute, globalCfg?.minute, d.minute), d.minute, 0, 59),
148
142
  timezone: (0, config_2.isValidTimezone)(rawTz) ? rawTz : d.timezone,
149
- maxClustersPerRun: numOr(pick(agentCfg?.maxClustersPerRun, globalCfg?.maxClustersPerRun, d.maxClustersPerRun), d.maxClustersPerRun, 0, 1000),
143
+ maxClustersPerRun: (0, config_num_1.numOr)(pick(agentCfg?.maxClustersPerRun, globalCfg?.maxClustersPerRun, d.maxClustersPerRun), d.maxClustersPerRun, 0, 1000),
150
144
  reviewModel: pick(agentCfg?.reviewModel, globalCfg?.reviewModel, d.reviewModel),
151
145
  };
152
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/knowledge/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/agent/knowledge/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from 'events';
2
- import { AgentConfig, GatewayConfig, Logger, ModelConfig, StreamEvent, ApiAttachment, ImageParams } from '../types';
2
+ import { AgentConfig, GatewayConfig, Logger, ModelConfig, ApiAttachment, ImageParams } from '../types';
3
3
  import { type SkillRegistry } from '../skills';
4
+ import { type ApiStreamCallbacks, type TurnSink } from './turn-stream';
4
5
  import { type CliChannel } from '../cli-viewer/pairing-store';
5
6
  import { HistoryDB } from '../history/db';
6
7
  import type { ChatChannel } from '../history/types';
@@ -45,6 +46,7 @@ export declare class AgentRunner extends EventEmitter {
45
46
  private readonly maxConcurrent;
46
47
  private idleCleanerTimer;
47
48
  private readonly pendingApiSessions;
49
+ private readonly turnStreams;
48
50
  private readonly sessionSpawnLocks;
49
51
  private readonly tooLargeRecoveries;
50
52
  private readonly tooLargeExhausted;
@@ -161,6 +163,20 @@ export declare class AgentRunner extends EventEmitter {
161
163
  * a queued turn exists so no incoming message can inject concurrently.
162
164
  */
163
165
  private flushNextTurn;
166
+ /**
167
+ * Delete a channel's throwaway staging copy of an inbound attachment, once
168
+ * MediaStore holds the permanent one.
169
+ *
170
+ * Opt-in via `meta.media_ephemeral === '1'` — only a channel that created the
171
+ * file under the system temp dir sets it, and only for a path it built itself.
172
+ * Meta arrives over the local /channel intake, so the flag alone is not
173
+ * authority to unlink: the path is resolved (symlinks included) and must sit
174
+ * INSIDE the real temp dir, which bounds a forged flag to deleting something
175
+ * already in a world-writable scratch directory. Every failure is swallowed —
176
+ * a leftover temp file is a wart, and a throw here would abort recording the
177
+ * turn that was already delivered.
178
+ */
179
+ private static discardEphemeralStaging;
164
180
  /**
165
181
  * Inject one coalesced turn into the session immediately. The caller must have
166
182
  * already marked the chat active in `turnActive`. Records each buffered message
@@ -441,24 +457,70 @@ export declare class AgentRunner extends EventEmitter {
441
457
  * Send a message to an API session and stream back events via callbacks.
442
458
  *
443
459
  * Returns a disconnect handler for the caller to wire to the SSE close event.
444
- * On client disconnect the stream continues server-side until the result is saved to DB.
460
+ * It detaches this caller's sink; the turn keeps running, keeps buffering, and
461
+ * stays re-attachable via attachTurnStream() until the replay grace window
462
+ * expires (#421).
445
463
  */
446
- sendApiMessageStream(sessionId: string, chatId: string, message: string, callbacks: {
447
- onChunk: (event: StreamEvent) => void;
448
- onDone: (fullText: string, attachments: ApiAttachment[]) => void;
449
- onError: (err: Error) => void;
450
- }, opts: {
464
+ sendApiMessageStream(sessionId: string, chatId: string, message: string, callbacks: ApiStreamCallbacks, opts: {
451
465
  timeoutMs: number;
452
466
  allowTools?: boolean;
453
467
  mediaFiles?: string[];
454
468
  model?: string;
455
469
  skipUserMessage?: boolean;
456
470
  imageParams?: ImageParams;
471
+ requestId?: string;
457
472
  }): Promise<() => void>;
458
473
  /**
459
474
  * Check if a session has a pending API request (for preflight conflict check).
460
475
  */
461
476
  hasActiveApiSession(sessionId: string): boolean;
477
+ /**
478
+ * Attach a sink to a session's current turn stream (#421) — the server half of
479
+ * "resume a turn on a new connection".
480
+ *
481
+ * Replays every buffered event after `afterSeq` and then, if the turn is still
482
+ * running, installs `sink` as the live one. Both happen in one synchronous
483
+ * block inside TurnStream.attach, so nothing can slip through the seam.
484
+ *
485
+ * Returns a `detach` handler on success, or a reason the attach could not be
486
+ * honoured:
487
+ * - `gone` — no record: the turn never existed, or its replay grace
488
+ * window has expired. The client should read history instead.
489
+ * - `mismatch` — a record exists but for a different request_id, i.e. the
490
+ * turn the client asked for is already over.
491
+ * - `truncated` — a non-zero cursor sits inside a region the bounded buffer
492
+ * has already evicted, so a gapless replay is impossible. A
493
+ * cursor-less attach is never truncated: it has no seam to
494
+ * keep, and takes whatever tail is still buffered.
495
+ *
496
+ * Looks only under the `api` namespace: this is the API resume endpoint, and a
497
+ * channel turn on the same session id is a different turn (see turnStreamKey).
498
+ */
499
+ attachTurnStream(sessionId: string, sink: TurnSink, opts?: {
500
+ afterSeq?: number;
501
+ requestId?: string;
502
+ }): {
503
+ ok: true;
504
+ requestId: string;
505
+ detach: () => void;
506
+ } | {
507
+ ok: false;
508
+ reason: 'gone' | 'mismatch' | 'truncated' | 'ahead';
509
+ };
510
+ /**
511
+ * Identity and wall-clock start of the session's current API turn, or undefined
512
+ * when there is no resumable record.
513
+ *
514
+ * The resume endpoint needs both *before* it attaches, because attach() replays
515
+ * synchronously into a sink built from them: `startedAt` so a replayed terminal
516
+ * frame reports `duration_ms` for the turn rather than for the reconnect, and
517
+ * `requestId` so a client that reconnected without one still learns the token it
518
+ * needs to resume again from a cursor.
519
+ */
520
+ turnStreamInfo(sessionId: string): {
521
+ requestId: string;
522
+ startedAt: number;
523
+ } | undefined;
462
524
  /**
463
525
  * Register file paths as attachments for the current API session turn.
464
526
  * Called by the api_reply MCP tool via the attachments endpoint.
@@ -476,6 +538,12 @@ export declare class AgentRunner extends EventEmitter {
476
538
  * assistant row so history never ends on a dangling user message.
477
539
  * System-initiated turns (skipUserMessage) have nothing dangling to close —
478
540
  * only the buffer is drained.
541
+ *
542
+ * `partialText` is whatever the turn already streamed before it died. It is
543
+ * prepended rather than discarded, so the single row this writes carries both
544
+ * the work the client saw and the notice — never a failure row that erases a
545
+ * half-finished reply, and never a failure row *plus* a separate reply row
546
+ * (the callers' `settled` guard makes done() and fail() mutually exclusive).
479
547
  */
480
548
  private persistFailedApiTurn;
481
549
  popApiAttachments(sessionId: string): ApiAttachment[];
@@ -550,6 +618,12 @@ export declare class AgentRunner extends EventEmitter {
550
618
  private selectableModels;
551
619
  setModel(newModel: string): Promise<void>;
552
620
  listApiSessions(chatId: string): Promise<import('../types').SessionIndex>;
621
+ /**
622
+ * Does `sessionId` already exist under `chatId`? The API layer calls this before
623
+ * honouring a client-supplied `session_id`, so an unknown id is rejected instead
624
+ * of silently becoming a brand-new session. Read-only — it never registers.
625
+ */
626
+ apiSessionExists(chatId: string, sessionId: string): Promise<boolean>;
553
627
  createApiSession(chatId: string, prompt?: string, name?: string): Promise<import('../types').SessionMeta>;
554
628
  private generateSessionNameInBackground;
555
629
  getApiSessionInfo(chatId: string, sessionId: string): Promise<Record<string, unknown> | null>;
@@ -563,14 +637,14 @@ export declare class AgentRunner extends EventEmitter {
563
637
  /**
564
638
  * Send a message into an existing channel session (cross-channel continuation from UI).
565
639
  * The session process receives full history context from the session JSON (Layer 1).
566
- * The reply is streamed back via SSE callbacks and persisted to history DB.
640
+ * The reply is streamed back via SSE callbacks; persistence is *not* this
641
+ * method's job. A channel session already has two session-bound writers — the
642
+ * long-lived output handler installed in spawnSession, and SessionProcess's own
643
+ * parser — and writing here as well produced a second row per turn. See done().
567
644
  */
568
- sendMessageToSession(rawChatId: string, channel: ChatChannel, sessionId: string, message: string, senderName: string | undefined, callbacks: {
569
- onChunk: (event: StreamEvent) => void;
570
- onDone: (fullText: string) => void;
571
- onError: (err: Error) => void;
572
- }, opts: {
645
+ sendMessageToSession(rawChatId: string, channel: ChatChannel, sessionId: string, message: string, senderName: string | undefined, callbacks: ApiStreamCallbacks, opts: {
573
646
  timeoutMs: number;
647
+ requestId?: string;
574
648
  }): Promise<() => void>;
575
649
  private _applyStreamEvent;
576
650
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}