claude-tempo 0.2.3 → 0.2.5-beta.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.
@@ -167,15 +167,19 @@ async function main() {
167
167
  },
168
168
  systemMessage: {
169
169
  mode: 'append',
170
- content: `You are part of the "${config.ensemble}" ensemble of Claude Code sessions coordinated via Temporal. ` +
171
- `IMPORTANT: If you receive a message instructing you to call \`set_name\`, do so immediately before anything else. ` +
172
- `When you receive a message from another session, treat it like a coworker asking for help — respond promptly, then resume your work. ` +
173
- `Use \`set_name\` to give yourself a human-readable name. ` +
174
- `Use \`ensemble\` to see who else is active. ` +
175
- `Use \`cue\` to reply directly to the player who messaged you, or to ask others for help. ` +
176
- `Use \`recruit\` if you need a session in a directory where none exists. ` +
177
- `Use \`report\` to notify the conductor of task completion, blockers, or questions — always report when you finish a recruited task.`,
170
+ content: `You are part of the "${config.ensemble}" ensemble coordinated via Temporal. ` +
171
+ `You have MCP tools available ALWAYS use these tools directly, NEVER try to run them as shell commands:\n` +
172
+ `- set_name: Set your player name (call this FIRST if instructed)\n` +
173
+ `- ensemble: List active sessions\n` +
174
+ `- cue: Send a message to another player\n` +
175
+ `- set_part: Update your status/description\n` +
176
+ `- listen: Check for pending messages\n` +
177
+ `- recruit: Spawn a new player session\n` +
178
+ `- report: Report to the conductor\n` +
179
+ `- terminate: Terminate a session\n\n` +
180
+ `When you receive a message from another session, treat it like a coworker asking for help — respond promptly using your MCP tools.`,
178
181
  },
182
+ excludedTools: ['write_powershell', 'read_powershell', 'list_powershell'],
179
183
  ...(model ? { model } : {}),
180
184
  };
181
185
  log('Creating Copilot session...');
@@ -198,6 +202,18 @@ async function main() {
198
202
  const tools = data.toolRequests?.map((t) => t.name).join(', ') || 'none';
199
203
  log(`[event:${event.type}] content="${(data.content || '').substring(0, 200)}" tools=[${tools}]`);
200
204
  }
205
+ else if (event.type === 'session.info') {
206
+ log(`[session.info] ${JSON.stringify(event.data)}`);
207
+ }
208
+ else if (event.type === 'session.warning') {
209
+ log(`[session.warning] ${JSON.stringify(event.data)}`);
210
+ }
211
+ else if (event.type === 'session.mcp_servers_loaded') {
212
+ log(`[mcp_servers_loaded] ${JSON.stringify(event.data)}`);
213
+ }
214
+ else if (event.type === 'session.mcp_server_status_changed') {
215
+ log(`[mcp_server_status_changed] ${JSON.stringify(event.data)}`);
216
+ }
201
217
  else if (event.type === 'session.idle') {
202
218
  log(`[event:session.idle] Session is idle`);
203
219
  }
@@ -221,6 +237,14 @@ async function main() {
221
237
  const t0 = Date.now();
222
238
  const initResult = await session.sendAndWait({ prompt: 'Call the ensemble tool to list active sessions. Respond in one short sentence.' }, 120_000);
223
239
  log(`Initial prompt completed in ${Date.now() - t0}ms, result:`, JSON.stringify(initResult)?.substring(0, 300));
240
+ // Dump available tools for diagnostics
241
+ try {
242
+ const toolList = await session.rpc.tools.list({});
243
+ log('Available tools:', JSON.stringify(toolList.tools?.map((t) => t.name || t.namespacedName)));
244
+ }
245
+ catch (toolErr) {
246
+ log('Failed to list tools:', toolErr?.message);
247
+ }
224
248
  }
225
249
  catch (err) {
226
250
  log(`Initial prompt error after ${Date.now()}ms:`, err?.message, err?.stack?.substring(0, 300));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-tempo",
3
- "version": "0.2.3",
3
+ "version": "0.2.5-beta.1",
4
4
  "description": "MCP server for multi-session Claude Code coordination via Temporal",
5
5
  "repository": {
6
6
  "type": "git",