@dsiloed/silo-link 1.19.17 → 1.19.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -235,6 +235,7 @@ tmux attach -t silolink-claude-1774363497579
235
235
  | `remote_load_context` | Load prior conversation history for session continuity | No |
236
236
  | `remote_notify` | Fire-and-forget message (accepts `final?`) | No |
237
237
  | `remote_post` | Post to ANY conversation by id (accepts `final?`) | No |
238
+ | `attach_local_file` | Upload a file from the session's working tree (or `attach_allowed_roots`) as an LlmFile and attach it to a conversation — symlinks resolved before the containment check, 50 MB cap, bytes never pass through the model | No |
238
239
  | `remote_ask` | Post question, wait for reply | Yes |
239
240
  | `remote_poll` | Non-blocking check for next message (**recommended**) | No |
240
241
  | `remote_check_messages` | Non-blocking check for ALL pending messages | No |
@@ -1,4 +1,4 @@
1
- import type { SiloLinkConfig, ConversationResponse, MessageResponse, AgentSessionResponse } from '../types/index.js';
1
+ import type { SiloLinkConfig, ConversationResponse, MessageResponse, AgentSessionResponse, LlmFileResponse } from '../types/index.js';
2
2
  import type { JwtGenerator } from '../config/jwt-generator.js';
3
3
  import type { UsageEntry } from '../core/transcript-usage.js';
4
4
  import { BackendHealthTracker } from './backend-health.js';
@@ -30,18 +30,32 @@ export interface VersionPolicy {
30
30
  * grant can be added later). KEEP the entry so the usage is not lost.
31
31
  */
32
32
  export type ReportUsageResult = 'reported' | 'rejected' | 'failed' | 'blocked';
33
+ export declare function contentTypeForFilename(filename: string): string;
33
34
  export declare class DSiloedClient {
34
35
  private config;
35
36
  private jwt;
36
37
  readonly backendHealth: BackendHealthTracker;
37
38
  constructor(config: SiloLinkConfig, jwt: JwtGenerator);
38
39
  private get headers();
40
+ private get authHeaders();
39
41
  private url;
40
42
  private fetchWithTimeout;
41
43
  getSiloLinkConversations(): Promise<ConversationResponse[]>;
42
44
  findConversationByName(name: string): Promise<ConversationResponse | null>;
43
45
  findOrCreateConversation(name: string, description: string): Promise<ConversationResponse>;
44
- postMessage(conversationId: number, message: string, metadata?: Record<string, unknown>): Promise<MessageResponse>;
46
+ postMessage(conversationId: number, message: string, metadata?: Record<string, unknown>, llmFileIds?: number[]): Promise<MessageResponse>;
47
+ /**
48
+ * Upload a LOCAL file's bytes as an LlmFile (multipart POST /api/v1/llm_files).
49
+ * The server sniffs the real content type from the bytes and files it as the
50
+ * right subclass (LlmImage / LlmDocument / …), so no MIME guessing here —
51
+ * just a truthful filename. Params must be nested under llm_file[...].
52
+ */
53
+ uploadLlmFile(input: {
54
+ bytes: Uint8Array | Blob;
55
+ filename: string;
56
+ title?: string;
57
+ directoryPath?: string;
58
+ }): Promise<LlmFileResponse>;
45
59
  getMessages(conversationId: number, limit?: number): Promise<MessageResponse[]>;
46
60
  getConversation(conversationId: number): Promise<ConversationResponse>;
47
61
  fetchLaunchContext(agentId: number): Promise<LaunchContext | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"dsiloed-client.d.ts","sourceRoot":"","sources":["../../src/api/dsiloed-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsiloed-client.d.ts","sourceRoot":"","sources":["../../src/api/dsiloed-client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,42 @@ import { BackendHealthTracker } from './backend-health.js';
7
7
  * which is the worse bug. Those keep retrying (and stay visible in the log).
8
8
  */
9
9
  const TERMINAL_REPORT_STATUSES = new Set([404, 410, 422]);
10
+ // Uploads can be many MB; the generic 30s request timeout is too tight.
11
+ const UPLOAD_TIMEOUT_MS = 180_000;
12
+ // Extension → declared MIME for formats the server's byte-sniffer cannot
13
+ // distinguish on its own (zip containers) plus the common text/media cases.
14
+ // Anything else is declared as octet-stream and the server sniffs/extension-
15
+ // falls back exactly as before.
16
+ const CONTENT_TYPES_BY_EXT = {
17
+ '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
18
+ '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
19
+ '.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
20
+ '.xls': 'application/vnd.ms-excel',
21
+ '.doc': 'application/msword',
22
+ '.ppt': 'application/vnd.ms-powerpoint',
23
+ '.ods': 'application/vnd.oasis.opendocument.spreadsheet',
24
+ '.odt': 'application/vnd.oasis.opendocument.text',
25
+ '.odp': 'application/vnd.oasis.opendocument.presentation',
26
+ '.epub': 'application/epub+zip',
27
+ '.pdf': 'application/pdf',
28
+ '.png': 'image/png',
29
+ '.jpg': 'image/jpeg',
30
+ '.jpeg': 'image/jpeg',
31
+ '.gif': 'image/gif',
32
+ '.webp': 'image/webp',
33
+ '.svg': 'image/svg+xml',
34
+ '.csv': 'text/csv',
35
+ '.md': 'text/markdown',
36
+ '.txt': 'text/plain',
37
+ '.json': 'application/json',
38
+ '.mp4': 'video/mp4',
39
+ '.mp3': 'audio/mpeg',
40
+ };
41
+ export function contentTypeForFilename(filename) {
42
+ const dot = filename.lastIndexOf('.');
43
+ const ext = dot >= 0 ? filename.slice(dot).toLowerCase() : '';
44
+ return CONTENT_TYPES_BY_EXT[ext] || 'application/octet-stream';
45
+ }
10
46
  export class DSiloedClient {
11
47
  config;
12
48
  jwt;
@@ -17,10 +53,18 @@ export class DSiloedClient {
17
53
  this.jwt = jwt;
18
54
  }
19
55
  get headers() {
56
+ return {
57
+ ...this.authHeaders,
58
+ 'Content-Type': 'application/json',
59
+ };
60
+ }
61
+ // Auth only — for multipart requests, where fetch MUST set its own
62
+ // Content-Type (with the form boundary). Reusing `headers` there silently
63
+ // breaks the upload.
64
+ get authHeaders() {
20
65
  return {
21
66
  'Authorization': `Bearer ${this.jwt.getToken()}`,
22
67
  'Tenant-Id': this.config.tenant_id,
23
- 'Content-Type': 'application/json',
24
68
  };
25
69
  }
26
70
  url(path) {
@@ -95,17 +139,81 @@ export class DSiloedClient {
95
139
  const data = (await res.json());
96
140
  return data.llm_conversation;
97
141
  }
98
- async postMessage(conversationId, message, metadata) {
142
+ async postMessage(conversationId, message, metadata, llmFileIds) {
143
+ const body = { message };
144
+ if (metadata)
145
+ body.metadata = metadata;
146
+ // The chat endpoint permits llm_file_ids: [] and attaches them to the
147
+ // posted message (llm_conversations_controller#chat).
148
+ if (llmFileIds && llmFileIds.length > 0)
149
+ body.llm_file_ids = llmFileIds;
99
150
  const res = await this.fetchWithTimeout(this.url(`/api/v1/llm_conversations/${conversationId}/chat`), {
100
151
  method: 'POST',
101
152
  headers: this.headers,
102
- body: JSON.stringify(metadata ? { message, metadata } : { message }),
153
+ body: JSON.stringify(body),
103
154
  });
104
155
  if (!res.ok) {
105
156
  const body = await res.text();
106
157
  throw new Error(`Failed to post message (${res.status}): ${body}`);
107
158
  }
108
- return (await res.json());
159
+ // The synchronous chat endpoint answers { success, llm_messages: [...] };
160
+ // older/other shapes return the message itself. Normalise so callers can
161
+ // rely on `.id` (echo suppression via trackOutboundMessageId depends on it).
162
+ const data = (await res.json());
163
+ if (Array.isArray(data.llm_messages) && data.llm_messages.length > 0) {
164
+ return data.llm_messages[data.llm_messages.length - 1];
165
+ }
166
+ return data;
167
+ }
168
+ /**
169
+ * Upload a LOCAL file's bytes as an LlmFile (multipart POST /api/v1/llm_files).
170
+ * The server sniffs the real content type from the bytes and files it as the
171
+ * right subclass (LlmImage / LlmDocument / …), so no MIME guessing here —
172
+ * just a truthful filename. Params must be nested under llm_file[...].
173
+ */
174
+ async uploadLlmFile(input) {
175
+ const form = new FormData();
176
+ // Declare the type the EXTENSION implies. The server still sniffs the bytes
177
+ // and overrides a lying declaration (an SVG named .xlsx is rewritten), but
178
+ // for the zip-container family (xlsx/docx/pptx/od*) the sniffer only sees
179
+ // "application/zip" and would file the upload as a generic LlmDocument
180
+ // unless the declared type names the real format.
181
+ const type = contentTypeForFilename(input.filename);
182
+ const part = input.bytes instanceof Blob ? input.bytes : new Blob([input.bytes], { type });
183
+ form.append('llm_file[file]', part, input.filename);
184
+ form.append('llm_file[title]', input.title || input.filename);
185
+ form.append('llm_file[directory_path]', input.directoryPath || '/');
186
+ const controller = new AbortController();
187
+ const timeout = setTimeout(() => controller.abort(), UPLOAD_TIMEOUT_MS);
188
+ let res;
189
+ try {
190
+ res = await fetch(this.url('/api/v1/llm_files'), {
191
+ method: 'POST',
192
+ headers: this.authHeaders,
193
+ body: form,
194
+ signal: controller.signal,
195
+ });
196
+ }
197
+ finally {
198
+ clearTimeout(timeout);
199
+ }
200
+ if (!res.ok) {
201
+ const body = await res.text();
202
+ if (res.status === 402) {
203
+ // Structured plan/storage limit: { error, error_code, limit_info, upgrade_url? }
204
+ let parsed = {};
205
+ try {
206
+ parsed = JSON.parse(body);
207
+ }
208
+ catch { /* keep raw */ }
209
+ const detail = parsed.error || body;
210
+ const hint = parsed.upgrade_url ? ` Upgrade: ${parsed.upgrade_url}` : '';
211
+ throw new Error(`Storage limit reached — the workspace cannot accept this upload: ${detail}.${hint}`);
212
+ }
213
+ throw new Error(`Failed to upload file (${res.status}): ${body}`);
214
+ }
215
+ const data = (await res.json());
216
+ return data.llm_file;
109
217
  }
110
218
  async getMessages(conversationId, limit = 50) {
111
219
  // Sort desc so the newest `limit` messages come back, not the oldest
@@ -1 +1 @@
1
- {"version":3,"file":"dsiloed-client.js","sourceRoot":"","sources":["../../src/api/dsiloed-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dsiloed-client.js","sourceRoot":"","sources":["../../src/api/dsiloed-client.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,16 @@ import type { Session } from '../types/index.js';
7
7
  export declare const DEFAULT_LAUNCH_GRACE_MS: number;
8
8
  export interface SubscriptionManagerOptions {
9
9
  staleInboundGraceMs?: number;
10
+ /**
11
+ * The identity this daemon is logged in as. For an AGENT daemon (Ben, Doug,
12
+ * …) the platform-side LLM agent posts under the SAME name — so a message
13
+ * authored by that agent is the daemon talking to itself, never a request
14
+ * to spin up a coding session.
15
+ */
16
+ selfIdentity?: {
17
+ userSub?: string;
18
+ identityType?: 'user' | 'agent';
19
+ };
10
20
  }
11
21
  export interface StaleInboundDecision {
12
22
  recycle: boolean;
@@ -25,6 +35,9 @@ export declare class SubscriptionManager {
25
35
  private recentContentHashes;
26
36
  private pendingMessages;
27
37
  private launchingConversations;
38
+ private selfIdentity;
39
+ private autoLaunchTimestamps;
40
+ private autoLaunchSuppressedNotified;
28
41
  private staleInboundGraceMs;
29
42
  private recycleTimestamps;
30
43
  constructor(cableClient: ActionCableClient, messageQueue: MessageQueue, sessionManager: SessionManager, launcher?: AgentLauncher, dsiloedClient?: DSiloedClient, launcherResolver?: (provider?: string) => AgentLauncher, options?: SubscriptionManagerOptions);
@@ -68,6 +81,11 @@ export declare class SubscriptionManager {
68
81
  * sessions carry no orchestration metadata and are unaffected.
69
82
  */
70
83
  private maybeAutoLaunch;
84
+ /** True when the inbound message was posted under this (agent) daemon's own identity. */
85
+ private isSelfAuthored;
86
+ private recordAutoLaunch;
87
+ /** True (and logs/notifies once) when this conversation has hit the auto-launch cap. */
88
+ private autoLaunchCapReached;
71
89
  /** True when an AgentSession was created as part of an orchestration pipeline. */
72
90
  private isOrchestrationWorker;
73
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-manager.d.ts","sourceRoot":"","sources":["../../src/cable/subscription-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAwC,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAUvF,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAuB;IAIvC,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,mBAAmB,CAA6C;IAExE,OAAO,CAAC,eAAe,CAA4C;IAQnE,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAgB;gBAGvC,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,aAAa,EACxB,aAAa,CAAC,EAAE,aAAa,EAC7B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,aAAa,EACvD,OAAO,GAAE,0BAA+B;IAiB1C,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIvC,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAanC;;;OAGG;IACH,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAarE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO/C;;OAEG;YACW,qBAAqB;IAyBnC,OAAO,CAAC,kBAAkB;IA0G1B,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAW1B;;;;;;OAMG;IACH,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,oBAAoB;IAexH,8EAA8E;IAC9E,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM;IAKlE;;;;;;;;;OASG;YACW,eAAe;IAoE7B,kFAAkF;IAClF,OAAO,CAAC,qBAAqB;CAQ9B"}
1
+ {"version":3,"file":"subscription-manager.d.ts","sourceRoot":"","sources":["../../src/cable/subscription-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAwC,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAUvF,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD,MAAM,WAAW,0BAA0B;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACtE;AAaD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAuB;IAIvC,OAAO,CAAC,gBAAgB,CAAgD;IACxE,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,mBAAmB,CAA6C;IAExE,OAAO,CAAC,eAAe,CAA4C;IAQnE,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,YAAY,CAA6D;IAEjF,OAAO,CAAC,oBAAoB,CAAoC;IAEhE,OAAO,CAAC,4BAA4B,CAAkC;IACtE,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB,CAAgB;gBAGvC,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,aAAa,EACxB,aAAa,CAAC,EAAE,aAAa,EAC7B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,aAAa,EACvD,OAAO,GAAE,0BAA+B;IAkB1C,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIvC,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAanC;;;OAGG;IACH,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAarE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO/C;;OAEG;YACW,qBAAqB;IAyBnC,OAAO,CAAC,kBAAkB;IA0G1B,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAW1B;;;;;;OAMG;IACH,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,oBAAoB;IAexH,8EAA8E;IAC9E,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM;IAKlE;;;;;;;;;OASG;YACW,eAAe;IA2F7B,yFAAyF;IACzF,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,gBAAgB;IAMxB,wFAAwF;IACxF,OAAO,CAAC,oBAAoB;IAyB5B,kFAAkF;IAClF,OAAO,CAAC,qBAAqB;CAQ9B"}
@@ -7,6 +7,16 @@ const STALE_INBOUND_MS = 5 * 60 * 1000;
7
7
  // minutes to register, or register under another conversation (2026-08-24,
8
8
  // conv 3369's pre-registered entry with a launch-time lastActivity).
9
9
  export const DEFAULT_LAUNCH_GRACE_MS = 10 * 60 * 1000;
10
+ // Auto-launch loop-breaker: a conversation may be auto-launched at most this
11
+ // many times inside the window. 2026-08-26 (Ben, conv 3463): a finished
12
+ // dispatched session's completion relay re-invoked the Ben LLM agent, which
13
+ // posted its report INTO the session conversation; the daemon saw an inbound
14
+ // "user" message with no live pane, auto-launched a fresh CC, that CC
15
+ // recognised itself as a duplicate and completed → agent_session_complete →
16
+ // relay → post → launch … eight times in five minutes. The identity guard
17
+ // below stops that specific echo; this cap stops any other shape of it.
18
+ const AUTO_LAUNCH_MAX_PER_WINDOW = 3;
19
+ const AUTO_LAUNCH_WINDOW_MS = 10 * 60 * 1000;
10
20
  export class SubscriptionManager {
11
21
  cableClient;
12
22
  messageQueue;
@@ -30,6 +40,11 @@ export class SubscriptionManager {
30
40
  // before relaunch"), losing the first message. SessionManager.pendingLaunch()
31
41
  // only covers deliberate control-channel launches, not auto-launch's own.
32
42
  launchingConversations = new Set();
43
+ selfIdentity = {};
44
+ // conversationId -> timestamps of auto-launches inside the loop-breaker window
45
+ autoLaunchTimestamps = new Map();
46
+ // conversations already told (once per window) that auto-launch is suppressed
47
+ autoLaunchSuppressedNotified = new Map();
33
48
  staleInboundGraceMs;
34
49
  // Stale-on-inbound recycles this process lifetime (fed to the health block).
35
50
  recycleTimestamps = [];
@@ -43,6 +58,7 @@ export class SubscriptionManager {
43
58
  this.staleInboundGraceMs = typeof options.staleInboundGraceMs === 'number' && options.staleInboundGraceMs >= 0
44
59
  ? options.staleInboundGraceMs
45
60
  : DEFAULT_LAUNCH_GRACE_MS;
61
+ this.selfIdentity = options.selfIdentity || {};
46
62
  this.cableClient.on('message', (event) => {
47
63
  this.handleCableMessage(event.conversationId, event.data);
48
64
  });
@@ -267,6 +283,24 @@ export class SubscriptionManager {
267
283
  console.log(`[SiloLink] Skipping auto-launch for conv ${conversationId} — a launch is already in flight (pending session not yet registered).`);
268
284
  return;
269
285
  }
286
+ // A message authored by this daemon's OWN agent identity (the platform-side
287
+ // LLM agent that shares our login, e.g. Ben's completion-relay run posting
288
+ // into a finished session's conversation) is never a request for a new
289
+ // coding session. Launching on it is how the 2026-08-26 respawn loop ran.
290
+ // Only agent daemons can collide like this; a human user daemon's own
291
+ // messages are real requests.
292
+ if (this.isSelfAuthored(inbound)) {
293
+ console.log(`[SiloLink] Skipping auto-launch for conv ${conversationId} — message ${inbound.id} was authored by ` +
294
+ `this daemon's own agent identity (${inbound.senderName}); not a session request.`);
295
+ return;
296
+ }
297
+ // Loop-breaker: too many auto-launches for one conversation in the window
298
+ // means we are feeding a cycle, whatever its shape. Stop, say so ONCE, and
299
+ // let a human or the dispatcher restart explicitly (control-channel launch
300
+ // is unaffected by this cap).
301
+ if (this.autoLaunchCapReached(conversationId)) {
302
+ return;
303
+ }
270
304
  // An AUTO-launch of our own is already spawning this conversation's pane.
271
305
  // Buffer rather than relaunch: a relaunch kills the initializing agent and
272
306
  // restarts the ~10s warm-up, so an impatient follow-up ("are you stuck?")
@@ -315,6 +349,7 @@ export class SubscriptionManager {
315
349
  this.pendingMessages.get(conversationId).push(inbound);
316
350
  console.log(`[SiloLink] Buffered message for conversation ${conversationId} (pending session)`);
317
351
  const triggerContent = inbound.content?.substring(0, 500) || '';
352
+ this.recordAutoLaunch(conversationId);
318
353
  this.launchingConversations.add(conversationId);
319
354
  try {
320
355
  await this.resolveAgentAndLaunch(conversationId, triggerContent, originalProvider);
@@ -325,6 +360,39 @@ export class SubscriptionManager {
325
360
  this.launchingConversations.delete(conversationId);
326
361
  }
327
362
  }
363
+ /** True when the inbound message was posted under this (agent) daemon's own identity. */
364
+ isSelfAuthored(inbound) {
365
+ const self = this.selfIdentity.userSub;
366
+ if (this.selfIdentity.identityType !== 'agent' || !self)
367
+ return false;
368
+ const sender = (inbound.senderName || '').trim();
369
+ return sender.length > 0 && sender.toLowerCase() === self.trim().toLowerCase();
370
+ }
371
+ recordAutoLaunch(conversationId, now = Date.now()) {
372
+ const recent = (this.autoLaunchTimestamps.get(conversationId) || []).filter(t => now - t < AUTO_LAUNCH_WINDOW_MS);
373
+ recent.push(now);
374
+ this.autoLaunchTimestamps.set(conversationId, recent);
375
+ }
376
+ /** True (and logs/notifies once) when this conversation has hit the auto-launch cap. */
377
+ autoLaunchCapReached(conversationId, now = Date.now()) {
378
+ const recent = (this.autoLaunchTimestamps.get(conversationId) || []).filter(t => now - t < AUTO_LAUNCH_WINDOW_MS);
379
+ this.autoLaunchTimestamps.set(conversationId, recent);
380
+ if (recent.length < AUTO_LAUNCH_MAX_PER_WINDOW) {
381
+ this.autoLaunchSuppressedNotified.delete(conversationId);
382
+ return false;
383
+ }
384
+ const minutes = Math.round(AUTO_LAUNCH_WINDOW_MS / 60000);
385
+ console.log(`[SiloLink] Auto-launch SUPPRESSED for conv ${conversationId} — ${recent.length} auto-launches in the last ` +
386
+ `${minutes}min (cap ${AUTO_LAUNCH_MAX_PER_WINDOW}); breaking the relaunch loop. Restart explicitly if wanted.`);
387
+ const lastNotified = this.autoLaunchSuppressedNotified.get(conversationId);
388
+ if (this.dsiloedClient && (lastNotified === undefined || now - lastNotified >= AUTO_LAUNCH_WINDOW_MS)) {
389
+ this.autoLaunchSuppressedNotified.set(conversationId, now);
390
+ this.dsiloedClient.postMessage(conversationId, `**[SiloLink]** Auto-restart suppressed: this session was auto-launched ${recent.length} times in ` +
391
+ `${minutes} minutes, which looks like a relaunch loop. It will not restart on its own — use ` +
392
+ 'launch_silolink_session_tool (or the SiloLink control panel) to start it deliberately.').catch(() => { });
393
+ }
394
+ return true;
395
+ }
328
396
  /** True when an AgentSession was created as part of an orchestration pipeline. */
329
397
  isOrchestrationWorker(s) {
330
398
  const m = s.metadata || {};
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-manager.js","sourceRoot":"","sources":["../../src/cable/subscription-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-manager.js","sourceRoot":"","sources":["../../src/cable/subscription-manager.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@
4
4
  *
5
5
  * Keep this block SHORT. It loads into every SiloLink-launched agent's context.
6
6
  */
7
- export declare const SILOLINK_CLAUDE_MD_BLOCK = "## Remote Communication (SiloLink)\n\nApplies only when launched via SiloLink (prompt contains `conversation_id` or tells you to `remote_register`). Ignore otherwise.\n\n- Register with `remote_register({ conversation_id })`.\n- Call `remote_load_context()` ONLY on a fresh session. Skip it when you were resumed \u2014 you already have the history.\n- All communication via `remote_notify` / `remote_ask`. Never print to the terminal; the user is in Harmoniq, not watching.\n- **@-mention discipline.** Your launch prompt has a `**Dispatched by:** @<DispatcherHandle>` line. ANY message that needs your dispatcher to act \u2014 mid-task questions, blockers, errors, requests for direction, AND your final completion \u2014 MUST start with that `@<DispatcherHandle>` **AND be posted to the report conv** (`mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id> })`), not via `remote_notify` to the dispatch conv. Mention-dispatch only wakes the dispatcher's LlmAgent when the @-mention lands in a conversation they're a member of \u2014 the dispatch conv is per-session and they're typically not subscribed; the report conv is the channel they read. Routine progress notes (\"phase 2 done, starting tests\") still go via `remote_notify` (no @-mention needed).\n- Send a `remote_notify` after every major step (file edits, commits, merges, errors). Going silent = user blind.\n- Poll loop: `remote_poll()` blocks up to 30s server-side (longer blocks risk Claude killing the tool as hung \u2014 keep this value as-is). If `{pending:true}`, loop again. The poll loop is the **safety net**, not the primary exit path \u2014 see \"Self-kill when work is done\" below. After **~60 consecutive pending (~30 min idle)**, `remote_notify(\"Going idle\")`, `remote_unregister()`, exit.\n- Every polled message is new; the queue drops it on your next call. Never ignore one. `remote_load_context()` is history-only.\n- Prefer small/cheap models for mechanical work (running specs, PR creation, merges). Use one-shot sub-sessions when possible to keep the main polling session's context lean.\n\n### Two conversations are in play\n\nYou typically have TWO distinct conversation ids in your session:\n- **Dispatch conv** \u2014 the conv you `remote_register`'d on (e.g. `silolink-claude-convN`). SiloLink relays operator messages from this conv to your poll loop.\n- **Report conv** \u2014 the conv where the originating user is watching for your final findings. Passed to you as `report_to_conversation_id` in your launch prompt. Often different from the dispatch conv (e.g. dispatch is per-ticket, report is the user's group/DM channel).\n\nRouting rule, by message kind:\n\n| Message kind | Tool | Lands in | @-mention? |\n|---|---|---|---|\n| Routine progress (\"phase 2 done\", logs, heartbeats) | `remote_notify` | dispatch conv | no |\n| **Mid-task questions / blockers / requests for direction** | `mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id> })` | **report conv** | **YES \u2014 start with `@<DispatcherHandle>`** |\n| Final findings on completion | `mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id>, final: true })` | report conv | YES \u2014 start with `@<DispatcherHandle>` |\n\nPass `final: true` on that ONE completion post (`remote_post` or `remote_notify`). It tags the message as your completion for the dispatcher and tells the daemon it may end this session gracefully once no new work arrives for ~2 minutes. Never set it on progress updates.\n\nWhy mid-task questions go to the **report conv** and not the dispatch conv: the dispatch conv (`silolink-claude-convN`) is per-session and the dispatcher's LlmAgent isn't typically subscribed to it. `remote_notify` with an @-mention there lands silently and the dispatcher never wakes. The report conv is the channel they read \u2014 @-mention dispatch fires there.\n\n### Self-kill when work is done\n\nDon't sit in the poll loop after your work for this dispatch is finished. When you reach a true terminal state, call `remote_notify(\"Done \u2014 unregistering\")` then `remote_unregister()` and exit cleanly. Orphan idle CCs each burn ~$0.50/hr on the safety-net timeout, so explicit self-kill is the primary exit path \u2014 when it's actually time.\n\n**HARD PRECONDITIONS \u2014 verify ALL before calling `remote_unregister()`. If any fails, do NOT self-kill; stay in the poll loop and finish.**\n\n1. **No uncommitted changes.** `git status --porcelain` returns empty in your cwd (and in any worktree you opened). If you made edits, commit them first.\n2. **No unpushed commits.** `git log @{u}..` returns empty on every branch you touched. Push before you exit.\n3. **MR opened if your runbook requires one.** Verify via `git_provider_tool get_mr` that the MR exists with `state: \"opened\"`. \"I plan to open it\" is not enough \u2014 open it, then verify.\n4. **No subprocess you started is still running.** Tests, builds, long scripts: wait for the exit code and capture the result. **\"Now running tests\" is NOT a terminal state** \u2014 \"tests passed (or failed with documented next steps)\" is.\n5. **Final findings posted, starting with `@<DispatcherHandle>`** per the @-mention discipline above. Final goes to `report_to_conversation_id` if set, otherwise the dispatch conv via `remote_notify`. Same rule applies to *any* mid-flight message that needed dispatcher action \u2014 they all required the mention, not just this last one.\n\nWhat counts as \"done\" is agent-specific (your runbook may add more preconditions on top of the five above). When in doubt: stay in the poll loop, `remote_notify` what you're waiting on, and let the operator decide.\n\nIf the work fails or you hit a question the operator must answer, do NOT self-kill. Stay in the poll loop and wait \u2014 exiting with unanswered questions strands the operator.\n\n### If a report-conv post fails\n\nIf `remote_post` to your `report_to_conversation_id` returns an error (404 not found, 403 forbidden, etc.):\n1. Retry once. Transient errors do happen.\n2. If the second attempt fails the same way, do NOT silently drop your findings. Post them to your **dispatch conv** instead with a clear note: `\u26A0 remote_post to report conv <X> returned <error> \u2014 posting findings here for triage`. Then exit.\n\nFindings landing somewhere a human can see them matters more than landing in the \"right\" channel. Never let an unreachable report conv strand a completed task.\n\n### Permissions\n\nYou were launched with `--dangerously-skip-permissions` and silolink has pre-cleared the bypass-permissions consent gate, so per-command permission prompts should not appear. If you DO hit one mid-task (usually CC's hardcoded circuit breaker on patterns like `rm -rf /` or `rm -rf ~`):\n\n- Do NOT sit waiting \u2014 there's no human at the keyboard to click \"Yes\".\n- Call `remote_ask` with the prompt text so the operator can decide.\n- The operator can also drive the prompt directly from the web UI's peek dialog (the `send_keys` control command sends keystrokes into your tmux pane).\n\nIf a prompt appeared on a routine command (not a circuit-breaker pattern), report it via `remote_notify` \u2014 it likely means the bypass-consent didn't get pre-written and silolink needs to be restarted.\n";
7
+ export declare const SILOLINK_CLAUDE_MD_BLOCK = "## Remote Communication (SiloLink)\n\nApplies only when launched via SiloLink (prompt contains `conversation_id` or tells you to `remote_register`). Ignore otherwise.\n\n- Register with `remote_register({ conversation_id })`.\n- Call `remote_load_context()` ONLY on a fresh session. Skip it when you were resumed \u2014 you already have the history.\n- All communication via `remote_notify` / `remote_ask`. Never print to the terminal; the user is in Harmoniq, not watching.\n- **@-mention discipline.** Your launch prompt has a `**Dispatched by:** @<DispatcherHandle>` line. ANY message that needs your dispatcher to act \u2014 mid-task questions, blockers, errors, requests for direction, AND your final completion \u2014 MUST start with that `@<DispatcherHandle>` **AND be posted to the report conv** (`mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id> })`), not via `remote_notify` to the dispatch conv. Mention-dispatch only wakes the dispatcher's LlmAgent when the @-mention lands in a conversation they're a member of \u2014 the dispatch conv is per-session and they're typically not subscribed; the report conv is the channel they read. Routine progress notes (\"phase 2 done, starting tests\") still go via `remote_notify` (no @-mention needed).\n- Send a `remote_notify` after every major step (file edits, commits, merges, errors). Going silent = user blind.\n- **Files you produced on disk** (images, screenshots, charts, PDFs, build artifacts): share them with `mcp__silolink__attach_local_file({ path })` \u2014 the daemon uploads the bytes directly and attaches them to the conversation. NEVER base64 a file into a message or into `create_llm_file_tool`; that burns your context and can abort the turn.\n- Poll loop: `remote_poll()` blocks up to 30s server-side (longer blocks risk Claude killing the tool as hung \u2014 keep this value as-is). If `{pending:true}`, loop again. The poll loop is the **safety net**, not the primary exit path \u2014 see \"Self-kill when work is done\" below. After **~60 consecutive pending (~30 min idle)**, `remote_notify(\"Going idle\")`, `remote_unregister()`, exit.\n- Every polled message is new; the queue drops it on your next call. Never ignore one. `remote_load_context()` is history-only.\n- Prefer small/cheap models for mechanical work (running specs, PR creation, merges). Use one-shot sub-sessions when possible to keep the main polling session's context lean.\n\n### Two conversations are in play\n\nYou typically have TWO distinct conversation ids in your session:\n- **Dispatch conv** \u2014 the conv you `remote_register`'d on (e.g. `silolink-claude-convN`). SiloLink relays operator messages from this conv to your poll loop.\n- **Report conv** \u2014 the conv where the originating user is watching for your final findings. Passed to you as `report_to_conversation_id` in your launch prompt. Often different from the dispatch conv (e.g. dispatch is per-ticket, report is the user's group/DM channel).\n\nRouting rule, by message kind:\n\n| Message kind | Tool | Lands in | @-mention? |\n|---|---|---|---|\n| Routine progress (\"phase 2 done\", logs, heartbeats) | `remote_notify` | dispatch conv | no |\n| **Mid-task questions / blockers / requests for direction** | `mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id> })` | **report conv** | **YES \u2014 start with `@<DispatcherHandle>`** |\n| Final findings on completion | `mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id>, final: true })` | report conv | YES \u2014 start with `@<DispatcherHandle>` |\n\nPass `final: true` on that ONE completion post (`remote_post` or `remote_notify`). It tags the message as your completion for the dispatcher and tells the daemon it may end this session gracefully once no new work arrives for ~2 minutes. Never set it on progress updates.\n\nWhy mid-task questions go to the **report conv** and not the dispatch conv: the dispatch conv (`silolink-claude-convN`) is per-session and the dispatcher's LlmAgent isn't typically subscribed to it. `remote_notify` with an @-mention there lands silently and the dispatcher never wakes. The report conv is the channel they read \u2014 @-mention dispatch fires there.\n\n### Self-kill when work is done\n\nDon't sit in the poll loop after your work for this dispatch is finished. When you reach a true terminal state, call `remote_notify(\"Done \u2014 unregistering\")` then `remote_unregister()` and exit cleanly. Orphan idle CCs each burn ~$0.50/hr on the safety-net timeout, so explicit self-kill is the primary exit path \u2014 when it's actually time.\n\n**HARD PRECONDITIONS \u2014 verify ALL before calling `remote_unregister()`. If any fails, do NOT self-kill; stay in the poll loop and finish.**\n\n1. **No uncommitted changes.** `git status --porcelain` returns empty in your cwd (and in any worktree you opened). If you made edits, commit them first.\n2. **No unpushed commits.** `git log @{u}..` returns empty on every branch you touched. Push before you exit.\n3. **MR opened if your runbook requires one.** Verify via `git_provider_tool get_mr` that the MR exists with `state: \"opened\"`. \"I plan to open it\" is not enough \u2014 open it, then verify.\n4. **No subprocess you started is still running.** Tests, builds, long scripts: wait for the exit code and capture the result. **\"Now running tests\" is NOT a terminal state** \u2014 \"tests passed (or failed with documented next steps)\" is.\n5. **Final findings posted, starting with `@<DispatcherHandle>`** per the @-mention discipline above. Final goes to `report_to_conversation_id` if set, otherwise the dispatch conv via `remote_notify`. Same rule applies to *any* mid-flight message that needed dispatcher action \u2014 they all required the mention, not just this last one.\n\nWhat counts as \"done\" is agent-specific (your runbook may add more preconditions on top of the five above). When in doubt: stay in the poll loop, `remote_notify` what you're waiting on, and let the operator decide.\n\nIf the work fails or you hit a question the operator must answer, do NOT self-kill. Stay in the poll loop and wait \u2014 exiting with unanswered questions strands the operator.\n\n### If a report-conv post fails\n\nIf `remote_post` to your `report_to_conversation_id` returns an error (404 not found, 403 forbidden, etc.):\n1. Retry once. Transient errors do happen.\n2. If the second attempt fails the same way, do NOT silently drop your findings. Post them to your **dispatch conv** instead with a clear note: `\u26A0 remote_post to report conv <X> returned <error> \u2014 posting findings here for triage`. Then exit.\n\nFindings landing somewhere a human can see them matters more than landing in the \"right\" channel. Never let an unreachable report conv strand a completed task.\n\n### Permissions\n\nYou were launched with `--dangerously-skip-permissions` and silolink has pre-cleared the bypass-permissions consent gate, so per-command permission prompts should not appear. If you DO hit one mid-task (usually CC's hardcoded circuit breaker on patterns like `rm -rf /` or `rm -rf ~`):\n\n- Do NOT sit waiting \u2014 there's no human at the keyboard to click \"Yes\".\n- Call `remote_ask` with the prompt text so the operator can decide.\n- The operator can also drive the prompt directly from the web UI's peek dialog (the `send_keys` control command sends keystrokes into your tmux pane).\n\nIf a prompt appeared on a routine command (not a circuit-breaker pattern), report it via `remote_notify` \u2014 it likely means the bypass-consent didn't get pre-written and silolink needs to be restarted.\n";
8
8
  //# sourceMappingURL=claude-md-block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md-block.d.ts","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,opOAgEpC,CAAC"}
1
+ {"version":3,"file":"claude-md-block.d.ts","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,g/OAiEpC,CAAC"}
@@ -13,6 +13,7 @@ Applies only when launched via SiloLink (prompt contains \`conversation_id\` or
13
13
  - All communication via \`remote_notify\` / \`remote_ask\`. Never print to the terminal; the user is in Harmoniq, not watching.
14
14
  - **@-mention discipline.** Your launch prompt has a \`**Dispatched by:** @<DispatcherHandle>\` line. ANY message that needs your dispatcher to act — mid-task questions, blockers, errors, requests for direction, AND your final completion — MUST start with that \`@<DispatcherHandle>\` **AND be posted to the report conv** (\`mcp__silolink__remote_post({ conversation_id: <report_to_conversation_id> })\`), not via \`remote_notify\` to the dispatch conv. Mention-dispatch only wakes the dispatcher's LlmAgent when the @-mention lands in a conversation they're a member of — the dispatch conv is per-session and they're typically not subscribed; the report conv is the channel they read. Routine progress notes ("phase 2 done, starting tests") still go via \`remote_notify\` (no @-mention needed).
15
15
  - Send a \`remote_notify\` after every major step (file edits, commits, merges, errors). Going silent = user blind.
16
+ - **Files you produced on disk** (images, screenshots, charts, PDFs, build artifacts): share them with \`mcp__silolink__attach_local_file({ path })\` — the daemon uploads the bytes directly and attaches them to the conversation. NEVER base64 a file into a message or into \`create_llm_file_tool\`; that burns your context and can abort the turn.
16
17
  - Poll loop: \`remote_poll()\` blocks up to 30s server-side (longer blocks risk Claude killing the tool as hung — keep this value as-is). If \`{pending:true}\`, loop again. The poll loop is the **safety net**, not the primary exit path — see "Self-kill when work is done" below. After **~60 consecutive pending (~30 min idle)**, \`remote_notify("Going idle")\`, \`remote_unregister()\`, exit.
17
18
  - Every polled message is new; the queue drops it on your next call. Never ignore one. \`remote_load_context()\` is history-only.
18
19
  - Prefer small/cheap models for mechanical work (running specs, PR creation, merges). Use one-shot sub-sessions when possible to keep the main polling session's context lean.
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md-block.js","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEvC,CAAC"}
1
+ {"version":3,"file":"claude-md-block.js","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/core/bridge.ts"],"names":[],"mappings":"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"}
@@ -146,7 +146,12 @@ export class Bridge {
146
146
  this.subscriptionManager = new SubscriptionManager(this.cableClient, this.messageQueue, this.sessionManager, defaultLauncher, this.dsiloedClient,
147
147
  // Lets auto-launch relaunch a conversation with its ORIGINAL coding agent
148
148
  // (e.g. Codex stays Codex) instead of always the default launcher.
149
- (provider) => this.getLauncher(provider), { staleInboundGraceMs: this.config.stale_inbound_grace_ms });
149
+ (provider) => this.getLauncher(provider), {
150
+ staleInboundGraceMs: this.config.stale_inbound_grace_ms,
151
+ // Lets auto-launch ignore messages posted under this daemon's own agent
152
+ // identity (the LLM agent's relay run talking into a finished session).
153
+ selfIdentity: { userSub: this.config.user_sub, identityType: this.config.identity_type },
154
+ });
150
155
  // Health block feeds (see health-monitor.ts): live readers, no copies.
151
156
  healthMonitor.attach({
152
157
  backend: () => this.dsiloedClient.backendHealth.snapshot(),