ticlawk 0.1.16-dev.3 → 0.1.16-dev.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ticlawk",
3
- "version": "0.1.16-dev.3",
3
+ "version": "0.1.16-dev.4",
4
4
  "description": "Local connector that links agent harnesses (Claude Code, Codex, OpenClaw, opencode, Pi) to the Ticlawk mobile app.",
5
5
  "type": "module",
6
6
  "main": "ticlawk.mjs",
@@ -1357,6 +1357,22 @@ export function createTiclawkAdapter(ctx) {
1357
1357
  });
1358
1358
  },
1359
1359
 
1360
+ // Daemon-driven impersonated reply: the runtime never reached
1361
+ // `ticlawk message send` (subprocess died, timeout, etc.), so the
1362
+ // daemon speaks for the agent. Used by reportSubprocessFailure
1363
+ // with visibility='admin' so the notice only reaches owners.
1364
+ async postAgentReply(binding, { conversationId, text, replyToMessageId, visibility }) {
1365
+ if (!conversationId || !text) return null;
1366
+ return api.sendAgentMessage({
1367
+ actingAgentId: binding.id,
1368
+ conversationId,
1369
+ text,
1370
+ replyToMessageId: replyToMessageId || null,
1371
+ runtimeHostId: hostId,
1372
+ visibility: visibility || null,
1373
+ });
1374
+ },
1375
+
1360
1376
  async emitEvent(binding, payload) {
1361
1377
  if (!payload?.event) return;
1362
1378
  await api.postEvent({