@beeos-ai/bma-executor-sdk 0.4.9 → 1.0.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.
package/dist/client.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // retried tool results and the raw MCP channel. Mirrors go/executor Client.
4
4
  import { ChannelScope, ConnectionState, JsonRpcErrorCode, methods, ProtocolVersion, } from './generated/executor.js';
5
5
  import { AgentRuntime } from './agent.js';
6
- import { ClientStoppedError, deferred, NotConnectedError, RequestTimeoutError, RpcError } from './errors.js';
6
+ import { ClientStoppedError, deferred, NotConnectedError, RequestTimeoutError, RpcError, ToolError } from './errors.js';
7
7
  import { DEFAULT_PROTOCOLS } from './local.js';
8
8
  import { RpcPeer } from './rpc.js';
9
9
  import { dialWebSocket, FrameChannel } from './transport.js';
@@ -14,6 +14,8 @@ export const DEFAULT_RECONNECT_BASE_DELAY_MS = 500;
14
14
  export const DEFAULT_TOOL_RESULT_RETRY_ATTEMPTS = 5;
15
15
  export const DEFAULT_TOOL_RESULT_RETRY_BASE_DELAY_MS = 250;
16
16
  const DEFAULT_HEARTBEAT_INTERVAL_MS = 15_000;
17
+ /** Largest bash output returned inline, as Go Core's DefaultCoreInlineResultBytes. */
18
+ export const INLINE_RESULT_BYTES = 48 * 1024;
17
19
  const MAX_TRACKED_TOOL_CALLS = 8192;
18
20
  const MAX_TOOL_RESULT_RETRY_DELAY_MS = 10_000;
19
21
  const MAX_RECONNECT_DELAY_MS = 30_000;
@@ -55,8 +57,11 @@ function executorTokenSource(options) {
55
57
  throw new Error('environmentKey or tokenSource is required');
56
58
  return (options.tokenSource ??
57
59
  (async () => {
58
- const base = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, '');
59
- const response = await (options.fetch ?? fetch)(`${base}/v1/executors/token`, {
60
+ // The deployment origin (as BMA_BASE_URL in bma-sdk); a trailing /api/v1 is dropped.
61
+ const base = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, '').replace(/\/api\/v1$/, '');
62
+ // A machine daemon token (no environmentId) is exchanged by bma-api, an environment key by managed-agents.
63
+ const path = options.environmentId ? '/v1/executors/token' : '/api/v1/executors/token';
64
+ const response = await (options.fetch ?? fetch)(`${base}${path}`, {
60
65
  method: 'POST',
61
66
  headers: { Authorization: `Bearer ${options.environmentKey}`, 'Content-Type': 'application/json' },
62
67
  body: JSON.stringify({ environment_id: options.environmentId, executor: options.executor }),
@@ -80,6 +85,16 @@ function dialWithToken(options, token, target) {
80
85
  }
81
86
  return dialWebSocket(channelUrl(wsUrl, target), { protocols: options.protocols ?? DEFAULT_PROTOCOLS, token: token.token });
82
87
  }
88
+ /** Required members of each tool input (schemas/tool.json <Tool>Input.required). */
89
+ export const REQUIRED_TOOL_INPUT = {
90
+ bash: ['command'],
91
+ read: ['path'],
92
+ write: ['path', 'content'],
93
+ edit: ['path', 'old_string', 'new_string'],
94
+ glob: ['pattern'],
95
+ grep: ['pattern'],
96
+ list_files: [],
97
+ };
83
98
  /** Remembers up to MAX_TRACKED_TOOL_CALLS ids, evicting the oldest. */
84
99
  class BoundedSet {
85
100
  items = new Set();
@@ -133,13 +148,13 @@ export class ExecutorClient {
133
148
  completedToolResults = new BoundedSet();
134
149
  seenToolCalls = new BoundedSet();
135
150
  running = new Map();
136
- tools = new Map();
137
- toolCallHandler;
151
+ handlers = new Map();
152
+ /** Typed tool handlers; capabilities shell/files/computer_use follow what is registered. */
153
+ tools;
138
154
  sessionAssignHandler;
139
155
  sessionStopHandler;
140
156
  drainHandler;
141
157
  requestHandlers = new Map();
142
- notificationHandlers = new Map();
143
158
  registration = deferred();
144
159
  agent;
145
160
  constructor(options) {
@@ -152,6 +167,11 @@ export class ExecutorClient {
152
167
  if (!options.dialer)
153
168
  this.tokenSource = executorTokenSource(options);
154
169
  this.heartbeatIntervalMs = options.heartbeatIntervalMs ?? DEFAULT_HEARTBEAT_INTERVAL_MS;
170
+ const tools = {};
171
+ for (const name of Object.keys(REQUIRED_TOOL_INPUT)) {
172
+ tools[name] = { handle: (handler) => this.setToolHandler(name, handler) };
173
+ }
174
+ this.tools = tools;
155
175
  }
156
176
  get state() {
157
177
  return this.currentState;
@@ -169,14 +189,6 @@ export class ExecutorClient {
169
189
  get activeSessions() {
170
190
  return [...this.sessions];
171
191
  }
172
- /** Registers the handler for every tool without a handleTool handler. */
173
- onToolCall(handler) {
174
- this.toolCallHandler = handler;
175
- }
176
- /** Registers the handler for one tool name (bash, read, ..., or a custom name). */
177
- handleTool(name, handler) {
178
- this.tools.set(name, handler);
179
- }
180
192
  onSessionAssign(handler) {
181
193
  this.sessionAssignHandler = handler;
182
194
  }
@@ -186,13 +198,14 @@ export class ExecutorClient {
186
198
  onDrain(handler) {
187
199
  this.drainHandler = handler;
188
200
  }
189
- /** Registers a handler for another harness-to-executor request (process.*, terminal.*, skill.install). */
201
+ /**
202
+ * Serves a harness-to-executor request (process.*, terminal.*, skill.install,
203
+ * workspace.backup) with the contract's params and result types. Throw an
204
+ * RpcError to answer with a JSON-RPC error.
205
+ */
190
206
  onRequest(method, handler) {
191
207
  this.requestHandlers.set(method, handler);
192
208
  }
193
- onNotification(method, handler) {
194
- this.notificationHandlers.set(method, handler);
195
- }
196
209
  /** Advertises the agent capability and serves turn.*, session.close and interaction.response. Call before start. */
197
210
  serveAgent(handler, capability = {}) {
198
211
  this.agent = new AgentRuntime(this.agentHost(), handler, { ...capability, enabled: true });
@@ -233,20 +246,23 @@ export class ExecutorClient {
233
246
  }
234
247
  this.stopController.abort(new ClientStoppedError());
235
248
  }
236
- /** Sends a request on the control channel. */
249
+ /** Sends an executor-to-harness request on the control channel, typed by the contract. */
237
250
  call(method, params) {
238
- const peer = this.peer;
239
- if (!peer)
240
- return Promise.reject(this.stopped ? new ClientStoppedError() : new NotConnectedError());
241
- return peer.call(method, params, this.options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS);
251
+ return this.rawCall(method, params);
242
252
  }
243
- /** Sends a notification on the control channel. */
253
+ /** Sends an executor-to-harness notification on the control channel, typed by the contract. */
244
254
  notify(method, params) {
245
255
  const peer = this.peer;
246
256
  if (!peer)
247
257
  throw new NotConnectedError();
248
258
  peer.notify(method, params);
249
259
  }
260
+ rawCall(method, params) {
261
+ const peer = this.peer;
262
+ if (!peer)
263
+ return Promise.reject(this.stopped ? new ClientStoppedError() : new NotConnectedError());
264
+ return peer.call(method, params, this.options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS);
265
+ }
250
266
  /** Reports that the session is prepared; call after workspace and MCP setup. */
251
267
  sessionReady(params) {
252
268
  return this.call('session.ready', params);
@@ -267,7 +283,11 @@ export class ExecutorClient {
267
283
  toolProgress(params) {
268
284
  this.notify('tool.progress', params);
269
285
  }
270
- /** Replaces the advertised capabilities; they are also sent on every re-register. */
286
+ /**
287
+ * Replaces the configured capabilities and sends them; the shell and files
288
+ * groups stay enabled only while a handler of the group is registered, and
289
+ * an explicit `enabled: false` wins. They are also sent on every re-register.
290
+ */
271
291
  updateCapabilities(capabilities) {
272
292
  this.options.capabilities = capabilities;
273
293
  const params = { capabilities: this.registeredCapabilities() };
@@ -315,12 +335,41 @@ export class ExecutorClient {
315
335
  return new FrameChannel(await this.dialer({ channel: ChannelScope.Mcp, sessionId, serverKey }));
316
336
  }
317
337
  // --- connection -----------------------------------------------------------
338
+ /**
339
+ * The configured capabilities with shell and files enabled while a handler
340
+ * of the group is registered and the option does not turn the group off
341
+ * (`enabled: false` wins, as MCP's RegisteredTool.enabled), so nothing
342
+ * unimplemented is advertised. computer_use stays off: its tools have no slot.
343
+ */
318
344
  registeredCapabilities() {
319
345
  const capabilities = { ...(this.options.capabilities ?? {}) };
346
+ const has = (...names) => names.some((n) => this.handlers.has(n));
347
+ capabilities.shell = { ...capabilities.shell, enabled: (capabilities.shell?.enabled ?? true) && has('bash') };
348
+ capabilities.files = {
349
+ ...capabilities.files,
350
+ enabled: (capabilities.files?.enabled ?? true) && has('read', 'write', 'edit', 'glob', 'grep', 'list_files'),
351
+ };
352
+ capabilities.computer_use = false;
320
353
  if (this.agent)
321
354
  capabilities.agent = this.agent.capability;
322
355
  return capabilities;
323
356
  }
357
+ /**
358
+ * Registers a tool handler; on a registered connection the changed
359
+ * capabilities go out with executor.capabilities.update (as an MCP server
360
+ * sends tools/list_changed for a tool registered after connecting).
361
+ */
362
+ setToolHandler(name, handler) {
363
+ this.handlers.set(name, handler);
364
+ if (this.currentState !== ConnectionState.Ready && this.currentState !== ConnectionState.Draining)
365
+ return;
366
+ try {
367
+ this.notify('executor.capabilities.update', { capabilities: this.registeredCapabilities() });
368
+ }
369
+ catch (error) {
370
+ this.log('warn', 'executor.capabilities.update not sent; the next registration carries it', error);
371
+ }
372
+ }
324
373
  resumeState() {
325
374
  if (!this.currentExecutorId && !this.currentConnectionId && this.sessions.size === 0)
326
375
  return undefined;
@@ -513,7 +562,8 @@ export class ExecutorClient {
513
562
  this.stopController.abort(new ClientStoppedError());
514
563
  return;
515
564
  }
516
- this.notificationHandlers.get(method)?.(params);
565
+ // executor.close is the only harness-to-executor notification.
566
+ void params;
517
567
  }
518
568
  async assignSession(params) {
519
569
  if (this.currentState === ConnectionState.Draining)
@@ -541,6 +591,10 @@ export class ExecutorClient {
541
591
  if (!call || typeof call.tool_call_id !== 'string' || typeof call.session_id !== 'string') {
542
592
  throw new RpcError(JsonRpcErrorCode.InvalidParams, 'invalid tool.call params');
543
593
  }
594
+ if (!this.handlers.has(call.tool)) {
595
+ // As Go Core: a tool without a handler is refused before the ack.
596
+ throw new RpcError(JsonRpcErrorCode.CapabilityUnavailable, 'capability_unavailable', { capability: `tool:${call.tool}` });
597
+ }
544
598
  if (this.seenToolCalls.has(call.tool_call_id) || this.running.has(call.tool_call_id)) {
545
599
  this.log('debug', `duplicate tool.call for ${call.tool_call_id} ignored`);
546
600
  return { accepted: true };
@@ -563,18 +617,25 @@ export class ExecutorClient {
563
617
  return { canceled: true };
564
618
  }
565
619
  async runToolCall(call, running) {
566
- const handler = this.tools.get(call.tool) ?? this.toolCallHandler;
620
+ const handler = this.handlers.get(call.tool);
567
621
  const onStop = () => running.abort.abort(new ClientStoppedError());
568
622
  this.stopController.signal.addEventListener('abort', onStop, { once: true });
569
623
  const deadline = call.deadline_ms && call.deadline_ms > 0
570
624
  ? setTimeout(() => running.abort.abort(new RequestTimeoutError('tool.call')), call.deadline_ms)
571
625
  : undefined;
626
+ const started = Date.now();
572
627
  let result;
573
628
  try {
574
629
  if (!handler)
575
- throw new Error(`no tool handler registered for ${call.tool}`);
576
- result = await handler(call, {
630
+ throw new Error(`no handler registered for tool ${call.tool}`);
631
+ const missing = missingRequired(call.tool, call.input);
632
+ if (missing)
633
+ throw new Error(`${call.tool} requires ${missing}`);
634
+ const output = await handler(call.input, {
577
635
  signal: running.abort.signal,
636
+ sessionId: call.session_id,
637
+ toolCallId: call.tool_call_id,
638
+ ...(call.permission ? { permission: call.permission } : {}),
578
639
  progress: (message) => {
579
640
  try {
580
641
  this.toolProgress({ session_id: call.session_id, tool_call_id: call.tool_call_id, message });
@@ -584,9 +645,13 @@ export class ExecutorClient {
584
645
  }
585
646
  },
586
647
  });
648
+ result = { ...renderToolOutput(output), duration_ms: Date.now() - started };
587
649
  }
588
650
  catch (error) {
589
- result = failedToolResult(error instanceof Error ? error.message : String(error));
651
+ result =
652
+ error instanceof ToolError
653
+ ? { outcome: 'succeeded', is_error: true, content: error.content, duration_ms: Date.now() - started }
654
+ : failedToolResult(error instanceof Error ? error.message : String(error));
590
655
  }
591
656
  finally {
592
657
  clearTimeout(deadline);
@@ -638,6 +703,57 @@ export function retryableToolResultError(error) {
638
703
  }
639
704
  return error instanceof NotConnectedError || error instanceof RequestTimeoutError;
640
705
  }
706
+ /** Renders a handler's output as tool.result content (bash as Go Core's bashResult). */
707
+ function renderToolOutput(output) {
708
+ if (typeof output === 'string')
709
+ return { outcome: 'succeeded', is_error: false, content: [{ type: 'text', text: output }] };
710
+ if (Array.isArray(output))
711
+ return { outcome: 'succeeded', is_error: false, content: output };
712
+ if ('exitCode' in output) {
713
+ const exit = `exit_code: ${output.exitCode}`;
714
+ const bytes = (text) => Buffer.byteLength(text);
715
+ if (!output.truncated && bytes(output.stdout) + bytes(output.stderr) + exit.length <= INLINE_RESULT_BYTES) {
716
+ const content = [];
717
+ if (output.stdout)
718
+ content.push({ type: 'text', text: output.stdout });
719
+ if (output.stderr)
720
+ content.push({ type: 'text', text: output.stderr });
721
+ content.push({ type: 'text', text: exit });
722
+ return { outcome: 'succeeded', is_error: false, content };
723
+ }
724
+ const total = bytes(output.stdout) + bytes(output.stderr);
725
+ return {
726
+ outcome: 'succeeded',
727
+ is_error: false,
728
+ content: [
729
+ { type: 'text', text: truncateBytes(output.stdout, INLINE_RESULT_BYTES / 2) },
730
+ { type: 'text', text: truncateBytes(output.stderr, INLINE_RESULT_BYTES / 4) },
731
+ { type: 'text', text: `${exit} (output truncated to fit the result; ${total} bytes total)` },
732
+ ],
733
+ };
734
+ }
735
+ return {
736
+ outcome: 'succeeded',
737
+ is_error: output.isError ?? false,
738
+ content: output.content,
739
+ ...(output.artifacts ? { artifacts: output.artifacts } : {}),
740
+ };
741
+ }
742
+ /** The first leading UTF-8 bytes of text, not splitting a character. */
743
+ function truncateBytes(text, limit) {
744
+ const raw = Buffer.from(text);
745
+ if (raw.length <= limit)
746
+ return text;
747
+ let end = limit;
748
+ while (end > 0 && (raw[end] & 0xc0) === 0x80)
749
+ end--;
750
+ return raw.subarray(0, end).toString();
751
+ }
752
+ /** The first required input member that is absent or null (or an empty bash command, as Core rejects). */
753
+ function missingRequired(tool, input) {
754
+ const members = (typeof input === 'object' && input !== null ? input : {});
755
+ return (REQUIRED_TOOL_INPUT[tool] ?? []).find((name) => members[name] === undefined || members[name] === null || (name === 'command' && members[name] === ''));
756
+ }
641
757
  function failedToolResult(message) {
642
758
  return { outcome: 'failed', is_error: true, content: [{ type: 'text', text: message }] };
643
759
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type JsonRpcError, type JsonRpcErrorData } from './generated/executor.js';
1
+ import { type ContentBlock, type JsonRpcError, type JsonRpcErrorData } from './generated/executor.js';
2
2
  /**
3
3
  * A JSON-RPC error from the peer, or one a handler throws to choose the wire
4
4
  * code (for example executor_busy for a full executor). Any other thrown
@@ -35,6 +35,15 @@ export declare class SessionEndedError extends Error {
35
35
  export declare class ToolOutcomeUnknownError extends Error {
36
36
  constructor();
37
37
  }
38
+ /**
39
+ * Thrown from a tool handler: a tool-level error reported to the model
40
+ * (outcome succeeded, is_error true), as Go Core reports a missing file.
41
+ * Any other exception is outcome failed. Same role as @anthropic-ai/sdk ToolError.
42
+ */
43
+ export declare class ToolError extends Error {
44
+ readonly content: ContentBlock[];
45
+ constructor(content: string | ContentBlock[]);
46
+ }
38
47
  /** session.assign answered accepted=false. */
39
48
  export declare class AssignRejectedError extends Error {
40
49
  constructor();
package/dist/errors.js CHANGED
@@ -59,6 +59,19 @@ export class ToolOutcomeUnknownError extends Error {
59
59
  this.name = 'ToolOutcomeUnknownError';
60
60
  }
61
61
  }
62
+ /**
63
+ * Thrown from a tool handler: a tool-level error reported to the model
64
+ * (outcome succeeded, is_error true), as Go Core reports a missing file.
65
+ * Any other exception is outcome failed. Same role as @anthropic-ai/sdk ToolError.
66
+ */
67
+ export class ToolError extends Error {
68
+ content;
69
+ constructor(content) {
70
+ super(typeof content === 'string' ? content : 'tool error');
71
+ this.name = 'ToolError';
72
+ this.content = typeof content === 'string' ? [{ type: 'text', text: content }] : content;
73
+ }
74
+ }
62
75
  /** session.assign answered accepted=false. */
63
76
  export class AssignRejectedError extends Error {
64
77
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA4C,MAAM,yBAAyB,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAEtB;IAEA;IAHX,YACW,IAAY,EACrB,OAAe,EACN,IAAuB;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAA;QAJL,SAAI,GAAJ,IAAI,CAAQ;QAEZ,SAAI,GAAJ,IAAI,CAAmB;QAGhC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IACtH,CAAC;CACF;AAED,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAe,EAAE,SAAkB;IACxE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;AACnD,CAAC;AAED,8FAA8F;AAC9F,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAO,GAAG,mCAAmC;QACvD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,uEAAuE;AACvE,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C;QACE,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,+DAA+D;AAC/D,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,MAAc;QACxB,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED,6CAA6C;AAC7C,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CAAC,eAAe,CAAC,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC/D,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;QACE,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED,6CAA6C;AAC7C,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,MAAmB;IAC5C,OAAO,MAAM,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAgB,CAAA;AAOpC,MAAM,UAAU,QAAQ;IACtB,IAAI,OAA4B,CAAA;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAC1D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}