@dsiloed/silo-link 1.2.9 → 1.4.0

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 (62) hide show
  1. package/dist/api/dsiloed-client.d.ts +30 -0
  2. package/dist/api/dsiloed-client.d.ts.map +1 -1
  3. package/dist/api/dsiloed-client.js +66 -0
  4. package/dist/api/dsiloed-client.js.map +1 -1
  5. package/dist/cable/subscription-manager.d.ts +7 -3
  6. package/dist/cable/subscription-manager.d.ts.map +1 -1
  7. package/dist/cable/subscription-manager.js +36 -11
  8. package/dist/cable/subscription-manager.js.map +1 -1
  9. package/dist/cli/claude-md-block.d.ts +1 -1
  10. package/dist/cli/claude-md-block.d.ts.map +1 -1
  11. package/dist/cli/claude-md-block.js +31 -70
  12. package/dist/cli/claude-md-block.js.map +1 -1
  13. package/dist/cli/commands.d.ts.map +1 -1
  14. package/dist/cli/commands.js +112 -24
  15. package/dist/cli/commands.js.map +1 -1
  16. package/dist/config/config-manager.d.ts +4 -4
  17. package/dist/config/config-manager.d.ts.map +1 -1
  18. package/dist/config/config-manager.js +28 -14
  19. package/dist/config/config-manager.js.map +1 -1
  20. package/dist/core/agent-launcher.d.ts +30 -1
  21. package/dist/core/agent-launcher.d.ts.map +1 -1
  22. package/dist/core/base-tmux-launcher.d.ts +102 -0
  23. package/dist/core/base-tmux-launcher.d.ts.map +1 -0
  24. package/dist/core/base-tmux-launcher.js +491 -0
  25. package/dist/core/base-tmux-launcher.js.map +1 -0
  26. package/dist/core/bridge.d.ts +14 -2
  27. package/dist/core/bridge.d.ts.map +1 -1
  28. package/dist/core/bridge.js +129 -35
  29. package/dist/core/bridge.js.map +1 -1
  30. package/dist/core/claude-launcher.d.ts +24 -100
  31. package/dist/core/claude-launcher.d.ts.map +1 -1
  32. package/dist/core/claude-launcher.js +130 -489
  33. package/dist/core/claude-launcher.js.map +1 -1
  34. package/dist/core/gemini-launcher.d.ts +37 -27
  35. package/dist/core/gemini-launcher.d.ts.map +1 -1
  36. package/dist/core/gemini-launcher.js +126 -38
  37. package/dist/core/gemini-launcher.js.map +1 -1
  38. package/dist/core/launcher-factory.d.ts.map +1 -1
  39. package/dist/core/launcher-factory.js +1 -2
  40. package/dist/core/launcher-factory.js.map +1 -1
  41. package/dist/core/openai-launcher.d.ts +14 -17
  42. package/dist/core/openai-launcher.d.ts.map +1 -1
  43. package/dist/core/openai-launcher.js +23 -44
  44. package/dist/core/openai-launcher.js.map +1 -1
  45. package/dist/core/session-manager.d.ts +3 -0
  46. package/dist/core/session-manager.d.ts.map +1 -1
  47. package/dist/core/session-manager.js +11 -0
  48. package/dist/core/session-manager.js.map +1 -1
  49. package/dist/core/workspace-manager.d.ts.map +1 -1
  50. package/dist/core/workspace-manager.js +53 -16
  51. package/dist/core/workspace-manager.js.map +1 -1
  52. package/dist/mcp/server.d.ts +3 -0
  53. package/dist/mcp/server.d.ts.map +1 -1
  54. package/dist/mcp/server.js +19 -2
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/mcp/tools/register-tools.d.ts +2 -0
  57. package/dist/mcp/tools/register-tools.d.ts.map +1 -1
  58. package/dist/mcp/tools/register-tools.js +210 -49
  59. package/dist/mcp/tools/register-tools.js.map +1 -1
  60. package/dist/types/index.d.ts +11 -0
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/package.json +1 -1
@@ -1,5 +1,13 @@
1
1
  import type { SiloLinkConfig, ConversationResponse, MessageResponse, AgentSessionResponse } from '../types/index.js';
2
2
  import type { JwtGenerator } from '../config/jwt-generator.js';
3
+ export interface LaunchContext {
4
+ agent_id: number;
5
+ agent_name: string;
6
+ system_prompt?: string;
7
+ user_prompt?: string;
8
+ reference_docs?: string;
9
+ role_types: string[];
10
+ }
3
11
  export declare class DSiloedClient {
4
12
  private config;
5
13
  private jwt;
@@ -13,10 +21,16 @@ export declare class DSiloedClient {
13
21
  postMessage(conversationId: number, message: string): Promise<MessageResponse>;
14
22
  getMessages(conversationId: number, limit?: number): Promise<MessageResponse[]>;
15
23
  getConversation(conversationId: number): Promise<ConversationResponse>;
24
+ fetchLaunchContext(agentId: number): Promise<LaunchContext | null>;
25
+ getActiveAgentRun(llmAgentId: number): Promise<{
26
+ id: number;
27
+ } | null>;
16
28
  createAgentSession(data: {
17
29
  session_type: string;
18
30
  session_name: string;
19
31
  llm_conversation_id?: number;
32
+ llm_agent_id?: number;
33
+ project_id?: number;
20
34
  metadata?: Record<string, unknown>;
21
35
  }): Promise<AgentSessionResponse | null>;
22
36
  updateAgentSession(agentSessionId: number, data: {
@@ -28,5 +42,21 @@ export declare class DSiloedClient {
28
42
  updateAgentSessionStatus(agentSessionId: number, status: string): Promise<void>;
29
43
  getAgentSessionsForConversation(conversationId: number): Promise<AgentSessionResponse[]>;
30
44
  getActiveAgentSessions(sessionType?: string): Promise<AgentSessionResponse[]>;
45
+ private postStageAction;
46
+ completeOrchestrationStage(stageExecutionId: number, success: boolean, output: string, artifacts?: Array<{
47
+ key: string;
48
+ artifact_type: string;
49
+ llm_file_id?: number;
50
+ project_id?: number;
51
+ description?: string;
52
+ data?: Record<string, unknown>;
53
+ }>): Promise<{
54
+ success: boolean;
55
+ message?: string;
56
+ }>;
57
+ reviewCompleteOrchestrationStage(stageExecutionId: number, success: boolean, output: string): Promise<{
58
+ success: boolean;
59
+ message?: string;
60
+ }>;
31
61
  }
32
62
  //# sourceMappingURL=dsiloed-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dsiloed-client.d.ts","sourceRoot":"","sources":["../../src/api/dsiloed-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,GAAG,CAAe;gBACd,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY;IAKrD,OAAO,KAAK,OAAO,GAMlB;IAED,OAAO,CAAC,GAAG;YAIG,gBAAgB;IAUxB,wBAAwB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqB3D,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAoB1E,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4B1F,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAe9E,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAqBnF,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkBtE,kBAAkB,CAAC,IAAI,EAAE;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAqBlC,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE;QACrD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBX,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5D,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/E,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAsBxF,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAmBpF"}
1
+ {"version":3,"file":"dsiloed-client.d.ts","sourceRoot":"","sources":["../../src/api/dsiloed-client.ts"],"names":[],"mappings":"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"}
@@ -126,6 +126,48 @@ export class DSiloedClient {
126
126
  // API returns { llm_conversation: {...} } for show action
127
127
  return (json.llm_conversation || json);
128
128
  }
129
+ // --- Launch Context for SDLC agents ---
130
+ async fetchLaunchContext(agentId) {
131
+ try {
132
+ const res = await this.fetchWithTimeout(this.url(`/api/v1/llm_agents/${agentId}/launch_context`), {
133
+ method: 'GET',
134
+ headers: this.headers,
135
+ });
136
+ if (!res.ok) {
137
+ console.error(`[SiloLink] Failed to fetch launch context for agent ${agentId} (${res.status})`);
138
+ return null;
139
+ }
140
+ const json = (await res.json());
141
+ return json.launch_context;
142
+ }
143
+ catch (err) {
144
+ console.error('[SiloLink] Error fetching launch context:', err);
145
+ return null;
146
+ }
147
+ }
148
+ // --- LlmAgentRun lookup ---
149
+ async getActiveAgentRun(llmAgentId) {
150
+ try {
151
+ const params = new URLSearchParams({
152
+ llm_agent_id: String(llmAgentId),
153
+ limit: '1',
154
+ });
155
+ const res = await this.fetchWithTimeout(this.url(`/api/v1/llm_agent_runs?${params}`), {
156
+ method: 'GET',
157
+ headers: this.headers,
158
+ });
159
+ if (!res.ok)
160
+ return null;
161
+ const json = (await res.json());
162
+ // Find most recent non-completed run
163
+ const activeRun = json.llm_agent_runs?.find(r => !r.completed_at);
164
+ return activeRun ? { id: activeRun.id } : null;
165
+ }
166
+ catch (err) {
167
+ console.error('[SiloLink] Error fetching active agent run:', err);
168
+ return null;
169
+ }
170
+ }
129
171
  // --- Agent Session tracking ---
130
172
  async createAgentSession(data) {
131
173
  try {
@@ -240,5 +282,29 @@ export class DSiloedClient {
240
282
  return [];
241
283
  }
242
284
  }
285
+ async postStageAction(stageExecutionId, action, body) {
286
+ try {
287
+ const res = await this.fetchWithTimeout(this.url(`/api/v1/orchestration_stage_executions/${stageExecutionId}/${action}`), {
288
+ method: 'POST',
289
+ headers: this.headers,
290
+ body: JSON.stringify(body),
291
+ });
292
+ if (!res.ok) {
293
+ const text = await res.text();
294
+ return { success: false, message: `HTTP ${res.status}: ${text}` };
295
+ }
296
+ return (await res.json());
297
+ }
298
+ catch (err) {
299
+ console.error(`[SiloLink] Error in orchestration stage ${action}:`, err);
300
+ return { success: false, message: String(err) };
301
+ }
302
+ }
303
+ async completeOrchestrationStage(stageExecutionId, success, output, artifacts = []) {
304
+ return this.postStageAction(stageExecutionId, 'complete', { success, output, artifacts });
305
+ }
306
+ async reviewCompleteOrchestrationStage(stageExecutionId, success, output) {
307
+ return this.postStageAction(stageExecutionId, 'review_complete', { success, output });
308
+ }
243
309
  }
244
310
  //# sourceMappingURL=dsiloed-client.js.map
@@ -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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"}
@@ -1,18 +1,18 @@
1
1
  import type { ActionCableClient } from './action-cable-client.js';
2
2
  import type { MessageQueue } from '../core/message-queue.js';
3
3
  import type { SessionManager } from '../core/session-manager.js';
4
- import type { ClaudeLauncher } from '../core/claude-launcher.js';
4
+ import type { AgentLauncher } from '../core/agent-launcher.js';
5
5
  import type { DSiloedClient } from '../api/dsiloed-client.js';
6
6
  export declare class SubscriptionManager {
7
7
  private cableClient;
8
8
  private messageQueue;
9
9
  private sessionManager;
10
- private claudeLauncher;
10
+ private launcher;
11
11
  private dsiloedClient;
12
12
  private outboundMessageIds;
13
13
  private recentContentHashes;
14
14
  private pendingMessages;
15
- constructor(cableClient: ActionCableClient, messageQueue: MessageQueue, sessionManager: SessionManager, claudeLauncher?: ClaudeLauncher, dsiloedClient?: DSiloedClient);
15
+ constructor(cableClient: ActionCableClient, messageQueue: MessageQueue, sessionManager: SessionManager, launcher?: AgentLauncher, dsiloedClient?: DSiloedClient);
16
16
  subscribe(conversationId: number): void;
17
17
  unsubscribe(conversationId: number): void;
18
18
  /**
@@ -25,6 +25,10 @@ export declare class SubscriptionManager {
25
25
  */
26
26
  drainPendingMessages(conversationId: number, sessionId: string): void;
27
27
  trackOutboundMessageId(messageId: number): void;
28
+ /**
29
+ * Resolve the LlmAgent ID for a conversation (if any) and launch Claude.
30
+ */
31
+ private resolveAgentAndLaunch;
28
32
  private handleCableMessage;
29
33
  }
30
34
  //# sourceMappingURL=subscription-manager.d.ts.map
@@ -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,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,mBAAmB,CAA6C;IAExE,OAAO,CAAC,eAAe,CAA4C;gBAGjE,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,cAAc,CAAC,EAAE,cAAc,EAC/B,aAAa,CAAC,EAAE,aAAa;IAa/B,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;IAWrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO/C,OAAO,CAAC,kBAAkB;CAkH3B"}
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;AAM9D,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,mBAAmB,CAA6C;IAExE,OAAO,CAAC,eAAe,CAA4C;gBAGjE,WAAW,EAAE,iBAAiB,EAC9B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,aAAa,EACxB,aAAa,CAAC,EAAE,aAAa;IAa/B,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;IAWrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO/C;;OAEG;YACW,qBAAqB;IAoBnC,OAAO,CAAC,kBAAkB;CAoH3B"}
@@ -4,18 +4,18 @@ export class SubscriptionManager {
4
4
  cableClient;
5
5
  messageQueue;
6
6
  sessionManager;
7
- claudeLauncher;
7
+ launcher;
8
8
  dsiloedClient;
9
9
  outboundMessageIds = [];
10
10
  // Content-based dedup: track recent message content hashes to catch echoed user messages
11
11
  recentContentHashes = [];
12
12
  // Buffer messages for conversations that don't have a session yet (pending launch)
13
13
  pendingMessages = new Map();
14
- constructor(cableClient, messageQueue, sessionManager, claudeLauncher, dsiloedClient) {
14
+ constructor(cableClient, messageQueue, sessionManager, launcher, dsiloedClient) {
15
15
  this.cableClient = cableClient;
16
16
  this.messageQueue = messageQueue;
17
17
  this.sessionManager = sessionManager;
18
- this.claudeLauncher = claudeLauncher || null;
18
+ this.launcher = launcher || null;
19
19
  this.dsiloedClient = dsiloedClient || null;
20
20
  this.cableClient.on('message', (event) => {
21
21
  this.handleCableMessage(event.conversationId, event.data);
@@ -63,6 +63,29 @@ export class SubscriptionManager {
63
63
  this.outboundMessageIds.shift();
64
64
  }
65
65
  }
66
+ /**
67
+ * Resolve the LlmAgent ID for a conversation (if any) and launch Claude.
68
+ */
69
+ async resolveAgentAndLaunch(conversationId, triggerContent) {
70
+ let llmAgentId;
71
+ if (this.dsiloedClient) {
72
+ try {
73
+ const conv = await this.dsiloedClient.getConversation(conversationId);
74
+ if (conv.accessor_record_type === 'LlmAgent' && conv.accessor_record_id) {
75
+ llmAgentId = conv.accessor_record_id;
76
+ console.log(`[SiloLink] Conversation ${conversationId} belongs to LlmAgent ${llmAgentId}`);
77
+ }
78
+ }
79
+ catch {
80
+ // Non-fatal — launch without agent context
81
+ }
82
+ }
83
+ if (!this.launcher) {
84
+ console.error('[SiloLink] Cannot launch agent: launcher is null');
85
+ return;
86
+ }
87
+ await this.launcher.launchOnMessage(conversationId, triggerContent, llmAgentId);
88
+ }
66
89
  handleCableMessage(conversationId, data) {
67
90
  const msg = data;
68
91
  // Silently skip non-message events (typing indicators, read receipts, etc.)
@@ -83,8 +106,9 @@ export class SubscriptionManager {
83
106
  const role = typeof rawMessage === 'string'
84
107
  ? 'user'
85
108
  : rawMessage?.role || 'user';
86
- // Secondary echo prevention: skip messages with our prefix
87
- if (content.startsWith('**[Claude Code]**')) {
109
+ // Secondary echo prevention: skip messages with any agent prefix
110
+ const AGENT_PREFIXES = ['**[Claude Code]**', '**[Gemini]**', '**[OpenAI]**', '**[SiloLink]**'];
111
+ if (AGENT_PREFIXES.some(p => content.startsWith(p))) {
88
112
  console.log(`[SiloLink] Skipping echo (prefix match): ${content.substring(0, 50)}`);
89
113
  return;
90
114
  }
@@ -119,10 +143,10 @@ export class SubscriptionManager {
119
143
  // is busy but not making SiloLink MCP calls.
120
144
  const staleCutoff = 5 * 60 * 1000; // 5 minutes
121
145
  const sessionAge = Date.now() - session.lastActivity.getTime();
122
- if (sessionAge > staleCutoff && this.claudeLauncher?.isEnabled()) {
146
+ if (sessionAge > staleCutoff && this.launcher?.isEnabled()) {
123
147
  console.log(`[SiloLink] Session ${session.sessionId} is stale (no MCP activity for ${Math.round(sessionAge / 60000)}min) — recycling for conv=${conversationId}`);
124
148
  // Kill the stale tmux session
125
- this.claudeLauncher.killByConversation(conversationId);
149
+ this.launcher.killByConversation(conversationId);
126
150
  // Clean up the dead session
127
151
  this.messageQueue.clearSession(session.sessionId);
128
152
  this.sessionManager.unregister(session.sessionId);
@@ -137,12 +161,12 @@ export class SubscriptionManager {
137
161
  // No active session (either never had one, or stale session was just recycled)
138
162
  {
139
163
  console.log(`[SiloLink] No active session for conversation ${conversationId}`);
140
- // Auto-launch Claude Code if configured
141
- if (this.claudeLauncher?.isEnabled()) {
164
+ // Auto-launch coding agent if configured
165
+ if (this.launcher?.isEnabled()) {
142
166
  console.log(`[SiloLink] Triggering auto-launch for inbound message...`);
143
167
  // Let the user know we're restarting
144
168
  if (this.dsiloedClient) {
145
- this.dsiloedClient.postMessage(conversationId, '**[Claude Code]** Restarting session... Claude is initializing and will be ready shortly.')
169
+ this.dsiloedClient.postMessage(conversationId, '**[SiloLink]** Restarting session... Agent is initializing and will be ready shortly.')
146
170
  .catch(() => { });
147
171
  }
148
172
  // Buffer the message so it's delivered once the session registers
@@ -153,7 +177,8 @@ export class SubscriptionManager {
153
177
  console.log(`[SiloLink] Buffered message for conversation ${conversationId} (pending session)`);
154
178
  // Pass the triggering message content so it can be included in the launch prompt
155
179
  const triggerContent = inbound.content?.substring(0, 500) || '';
156
- this.claudeLauncher.launchOnMessage(conversationId, triggerContent).catch(err => {
180
+ // Check if this conversation belongs to an LlmAgent, then launch
181
+ this.resolveAgentAndLaunch(conversationId, triggerContent).catch(err => {
157
182
  console.error(`[SiloLink] Auto-launch failed: ${err.message}`);
158
183
  });
159
184
  }
@@ -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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"}
@@ -2,5 +2,5 @@
2
2
  * The SiloLink CLAUDE.md block that instructs Claude Code how to use SiloLink.
3
3
  * This is the canonical source — `silolink setup-claude-md` writes it into projects.
4
4
  */
5
- export declare const SILOLINK_CLAUDE_MD_BLOCK = "## Remote Communication (SiloLink)\n\nThese instructions apply ONLY when this session was launched via SiloLink\n(i.e. your launch prompt contains a `conversation_id` or instructs you to\ncall `remote_register`). If you were started normally from the terminal,\nignore this section and communicate directly with the user in the terminal.\n\nWhen launched via SiloLink:\n\n1. Register with `remote_register({ session_name: \"<project_name>\", conversation_id: <id> })`.\n Use the `conversation_id` provided in your launch prompt.\n2. **Session Continuity**: Call `remote_load_context()` to load prior conversation history.\n Review the returned messages to understand what was discussed and continue seamlessly.\n3. **ALL communication with the user MUST go through SiloLink** \u2014 never write to the terminal.\n The user is communicating via Harmoniq, not watching the terminal.\n4. Send progress updates with `remote_notify()` for long-running tasks.\n5. When you need human input, use `remote_ask()` for quick questions that expect an immediate reply.\n6. When idle or waiting for input, use the **poll loop** (NOT `remote_wait_for_command`):\n - Call `remote_poll()` \u2014 this returns instantly\n - If `{ pending: true }`: sleep 3 seconds, then poll again\n - If a message is received: **process it immediately** (see rule 9), send result via `remote_notify()`, then resume polling\n - **Idle timeout**: If you receive `pending: true` continuously for 5 minutes (~100 polls),\n send `remote_notify({ message: \"Going idle \u2014 I will restart automatically when you send a message.\" })`,\n then call `remote_unregister()` to cleanly release the session, and then **exit the session**\n (stop generating). SiloLink's auto-launch will start a fresh session when the next message\n arrives. This prevents wasting tokens on idle polling.\n - The idle counter resets to zero whenever you receive and process a message.\n - This timeout only applies to idle polling \u2014 never exit while actively working on a task.\n7. Between major tasks, poll once with `remote_poll()` to check for new instructions.\n8. If you have no active task, always enter the poll loop. This includes\n after context compaction \u2014 re-enter the loop immediately.\n9. **CRITICAL \u2014 Every message from `remote_poll()` is NEW and MUST be processed.**\n `remote_poll()` uses an acknowledge-on-next-call design: once a message is returned to you,\n it is removed from the queue. It will never be returned again. This means:\n - If `remote_poll()` returns a message, it has **not** been processed yet \u2014 you must handle it.\n - Never dismiss a polled message as \"old\" or \"stale\" \u2014 the queue guarantees freshness.\n - Messages from `remote_load_context()` are **historical context only** (already processed\n by a previous session). Messages from `remote_poll()` are **always actionable**.\n - If you are unsure whether a message needs a response, respond anyway \u2014 a duplicate\n acknowledgment is far better than ignoring the user.\n\n### Why remote_poll instead of remote_wait_for_command\n\n`remote_wait_for_command` blocks for up to 30 minutes. If Claude Code cancels the tool call\n(user interruption, internal timeout), the message can be lost. `remote_poll` is non-blocking \u2014\neach call takes milliseconds, so there's no cancellation window. Messages are guaranteed to\nsurvive in the queue until successfully delivered.\n\n### Poll loop pattern\n\n```\n// Register (use conversation_id if provided in launch prompt)\nremote_register({ session_name: \"portablemind\" })\n// OR with specific conversation:\nremote_register({ session_name: \"my-session\", conversation_id: 123 })\n\n// If attaching to existing conversation, load prior context\ncontext = remote_load_context()\n// Review context.history to understand what was discussed\n// context.resume_id available if prior Claude session existed\n\n// Then poll loop with idle timeout\nidle_polls = 0\nwhile (idle) {\n result = remote_poll()\n if (result.pending) {\n idle_polls++\n if (idle_polls >= 100) { // ~5 minutes at 3s intervals\n remote_notify({ message: \"Going idle \u2014 I will restart automatically when you send a message.\" })\n remote_unregister() // Clean up session so auto-launch works on next message\n exit // Stop generating. SiloLink auto-launch handles restart.\n }\n sleep(3 seconds)\n continue\n }\n idle_polls = 0 // Reset on message received\n // Got a message \u2014 process it\n handle(result.message)\n remote_notify({ message: \"Done: ...\" })\n}\n```\n";
5
+ export declare const SILOLINK_CLAUDE_MD_BLOCK = "## Remote Communication (SiloLink)\n\nThese instructions apply ONLY when launched via SiloLink (your prompt contains a\n`conversation_id` or tells you to call `remote_register`). If started from the\nterminal normally, ignore this section.\n\nWhen launched via SiloLink:\n\n1. Register: `remote_register({ session_name: \"<name>\", conversation_id: <id> })`.\n2. Load context: `remote_load_context()` to review prior conversation history.\n3. ALL communication via SiloLink \u2014 never write to terminal. User is in Harmoniq.\n4. Use `remote_notify()` for progress updates, `remote_ask()` for questions needing a reply.\n5. Poll loop: call `remote_poll()` in a loop (it blocks up to 30s, no sleep needed):\n - Returns a message: process it, send result via `remote_notify()`, loop again.\n - Returns `{pending:true}`: no message yet, loop again immediately.\n - After ~10 consecutive pending results (~5 min idle), send \"Going idle\" via\n `remote_notify()`, call `remote_unregister()`, then exit. Auto-launch restarts\n on next message.\n6. Between tasks, call `remote_poll()` to check for new instructions.\n7. Every `remote_poll()` message is NEW \u2014 the queue removes it on your next call.\n Never dismiss a polled message. `remote_load_context()` returns history only.\n\n### Poll loop\n\n```\nremote_register({ session_name: \"my-session\", conversation_id: 123 })\nremote_load_context()\n\nidle = 0\nwhile true:\n result = remote_poll() // blocks up to 30s\n if result.pending:\n idle++\n if idle >= 10: // ~5 min\n remote_notify(\"Going idle\")\n remote_unregister()\n exit\n continue\n idle = 0\n handle(result.message)\n remote_notify(\"Done: ...\")\n```\n";
6
6
  //# 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;;;GAGG;AACH,eAAO,MAAM,wBAAwB,4iJAiFpC,CAAC"}
1
+ {"version":3,"file":"claude-md-block.d.ts","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,wBAAwB,itDA0CpC,CAAC"}
@@ -4,84 +4,45 @@
4
4
  */
5
5
  export const SILOLINK_CLAUDE_MD_BLOCK = `## Remote Communication (SiloLink)
6
6
 
7
- These instructions apply ONLY when this session was launched via SiloLink
8
- (i.e. your launch prompt contains a \`conversation_id\` or instructs you to
9
- call \`remote_register\`). If you were started normally from the terminal,
10
- ignore this section and communicate directly with the user in the terminal.
7
+ These instructions apply ONLY when launched via SiloLink (your prompt contains a
8
+ \`conversation_id\` or tells you to call \`remote_register\`). If started from the
9
+ terminal normally, ignore this section.
11
10
 
12
11
  When launched via SiloLink:
13
12
 
14
- 1. Register with \`remote_register({ session_name: "<project_name>", conversation_id: <id> })\`.
15
- Use the \`conversation_id\` provided in your launch prompt.
16
- 2. **Session Continuity**: Call \`remote_load_context()\` to load prior conversation history.
17
- Review the returned messages to understand what was discussed and continue seamlessly.
18
- 3. **ALL communication with the user MUST go through SiloLink** never write to the terminal.
19
- The user is communicating via Harmoniq, not watching the terminal.
20
- 4. Send progress updates with \`remote_notify()\` for long-running tasks.
21
- 5. When you need human input, use \`remote_ask()\` for quick questions that expect an immediate reply.
22
- 6. When idle or waiting for input, use the **poll loop** (NOT \`remote_wait_for_command\`):
23
- - Call \`remote_poll()\` — this returns instantly
24
- - If \`{ pending: true }\`: sleep 3 seconds, then poll again
25
- - If a message is received: **process it immediately** (see rule 9), send result via \`remote_notify()\`, then resume polling
26
- - **Idle timeout**: If you receive \`pending: true\` continuously for 5 minutes (~100 polls),
27
- send \`remote_notify({ message: "Going idle — I will restart automatically when you send a message." })\`,
28
- then call \`remote_unregister()\` to cleanly release the session, and then **exit the session**
29
- (stop generating). SiloLink's auto-launch will start a fresh session when the next message
30
- arrives. This prevents wasting tokens on idle polling.
31
- - The idle counter resets to zero whenever you receive and process a message.
32
- - This timeout only applies to idle polling — never exit while actively working on a task.
33
- 7. Between major tasks, poll once with \`remote_poll()\` to check for new instructions.
34
- 8. If you have no active task, always enter the poll loop. This includes
35
- after context compaction — re-enter the loop immediately.
36
- 9. **CRITICAL — Every message from \`remote_poll()\` is NEW and MUST be processed.**
37
- \`remote_poll()\` uses an acknowledge-on-next-call design: once a message is returned to you,
38
- it is removed from the queue. It will never be returned again. This means:
39
- - If \`remote_poll()\` returns a message, it has **not** been processed yet — you must handle it.
40
- - Never dismiss a polled message as "old" or "stale" — the queue guarantees freshness.
41
- - Messages from \`remote_load_context()\` are **historical context only** (already processed
42
- by a previous session). Messages from \`remote_poll()\` are **always actionable**.
43
- - If you are unsure whether a message needs a response, respond anyway — a duplicate
44
- acknowledgment is far better than ignoring the user.
45
-
46
- ### Why remote_poll instead of remote_wait_for_command
47
-
48
- \`remote_wait_for_command\` blocks for up to 30 minutes. If Claude Code cancels the tool call
49
- (user interruption, internal timeout), the message can be lost. \`remote_poll\` is non-blocking —
50
- each call takes milliseconds, so there's no cancellation window. Messages are guaranteed to
51
- survive in the queue until successfully delivered.
52
-
53
- ### Poll loop pattern
13
+ 1. Register: \`remote_register({ session_name: "<name>", conversation_id: <id> })\`.
14
+ 2. Load context: \`remote_load_context()\` to review prior conversation history.
15
+ 3. ALL communication via SiloLink — never write to terminal. User is in Harmoniq.
16
+ 4. Use \`remote_notify()\` for progress updates, \`remote_ask()\` for questions needing a reply.
17
+ 5. Poll loop: call \`remote_poll()\` in a loop (it blocks up to 30s, no sleep needed):
18
+ - Returns a message: process it, send result via \`remote_notify()\`, loop again.
19
+ - Returns \`{pending:true}\`: no message yet, loop again immediately.
20
+ - After ~10 consecutive pending results (~5 min idle), send "Going idle" via
21
+ \`remote_notify()\`, call \`remote_unregister()\`, then exit. Auto-launch restarts
22
+ on next message.
23
+ 6. Between tasks, call \`remote_poll()\` to check for new instructions.
24
+ 7. Every \`remote_poll()\` message is NEW the queue removes it on your next call.
25
+ Never dismiss a polled message. \`remote_load_context()\` returns history only.
26
+
27
+ ### Poll loop
54
28
 
55
29
  \`\`\`
56
- // Register (use conversation_id if provided in launch prompt)
57
- remote_register({ session_name: "portablemind" })
58
- // OR with specific conversation:
59
30
  remote_register({ session_name: "my-session", conversation_id: 123 })
60
-
61
- // If attaching to existing conversation, load prior context
62
- context = remote_load_context()
63
- // Review context.history to understand what was discussed
64
- // context.resume_id available if prior Claude session existed
65
-
66
- // Then poll loop with idle timeout
67
- idle_polls = 0
68
- while (idle) {
69
- result = remote_poll()
70
- if (result.pending) {
71
- idle_polls++
72
- if (idle_polls >= 100) { // ~5 minutes at 3s intervals
73
- remote_notify({ message: "Going idle — I will restart automatically when you send a message." })
74
- remote_unregister() // Clean up session so auto-launch works on next message
75
- exit // Stop generating. SiloLink auto-launch handles restart.
76
- }
77
- sleep(3 seconds)
31
+ remote_load_context()
32
+
33
+ idle = 0
34
+ while true:
35
+ result = remote_poll() // blocks up to 30s
36
+ if result.pending:
37
+ idle++
38
+ if idle >= 10: // ~5 min
39
+ remote_notify("Going idle")
40
+ remote_unregister()
41
+ exit
78
42
  continue
79
- }
80
- idle_polls = 0 // Reset on message received
81
- // Got a message — process it
43
+ idle = 0
82
44
  handle(result.message)
83
- remote_notify({ message: "Done: ..." })
84
- }
45
+ remote_notify("Done: ...")
85
46
  \`\`\`
86
47
  `;
87
48
  //# sourceMappingURL=claude-md-block.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-md-block.js","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFvC,CAAC"}
1
+ {"version":3,"file":"claude-md-block.js","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAiP9B,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAwU9B,OAAO,EAAE,OAAO,EAAE,CAAC"}