ftown 0.25.2 → 0.26.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 (108) hide show
  1. package/dist/command-rpc.d.ts +3 -0
  2. package/dist/command-rpc.js +41 -0
  3. package/dist/command-rpc.js.map +1 -1
  4. package/dist/coordination/board.d.ts +12 -0
  5. package/dist/coordination/board.js +240 -0
  6. package/dist/coordination/board.js.map +1 -0
  7. package/dist/coordination/card-store.d.ts +9 -0
  8. package/dist/coordination/card-store.js +188 -0
  9. package/dist/coordination/card-store.js.map +1 -0
  10. package/dist/coordination/contract.d.ts +236 -0
  11. package/dist/coordination/contract.js +63 -0
  12. package/dist/coordination/contract.js.map +1 -0
  13. package/dist/coordination/format.d.ts +5 -0
  14. package/dist/coordination/format.js +60 -0
  15. package/dist/coordination/format.js.map +1 -0
  16. package/dist/coordination/tree-events.d.ts +31 -0
  17. package/dist/coordination/tree-events.js +226 -0
  18. package/dist/coordination/tree-events.js.map +1 -0
  19. package/dist/coordination/wiring.d.ts +48 -0
  20. package/dist/coordination/wiring.js +143 -0
  21. package/dist/coordination/wiring.js.map +1 -0
  22. package/dist/coordination-cli.d.ts +34 -0
  23. package/dist/coordination-cli.js +460 -0
  24. package/dist/coordination-cli.js.map +1 -0
  25. package/dist/ftown-cli.js +12 -2
  26. package/dist/ftown-cli.js.map +1 -1
  27. package/dist/index.js +33 -7
  28. package/dist/index.js.map +1 -1
  29. package/dist/local-api-server.d.ts +6 -1
  30. package/dist/local-api-server.js +282 -5
  31. package/dist/local-api-server.js.map +1 -1
  32. package/dist/mail-delivery.d.ts +16 -2
  33. package/dist/mail-delivery.js +331 -77
  34. package/dist/mail-delivery.js.map +1 -1
  35. package/dist/mail-store.d.ts +7 -0
  36. package/dist/mail-store.js +71 -1
  37. package/dist/mail-store.js.map +1 -1
  38. package/dist/pull-request-events.d.ts +5 -0
  39. package/dist/pull-request-events.js +21 -1
  40. package/dist/pull-request-events.js.map +1 -1
  41. package/dist/quota/agy.d.ts +16 -0
  42. package/dist/quota/agy.js +287 -0
  43. package/dist/quota/agy.js.map +1 -0
  44. package/dist/quota/annotate.d.ts +5 -0
  45. package/dist/quota/annotate.js +56 -0
  46. package/dist/quota/annotate.js.map +1 -0
  47. package/dist/quota/claude.d.ts +27 -0
  48. package/dist/quota/claude.js +265 -0
  49. package/dist/quota/claude.js.map +1 -0
  50. package/dist/quota/codex.d.ts +25 -0
  51. package/dist/quota/codex.js +378 -0
  52. package/dist/quota/codex.js.map +1 -0
  53. package/dist/quota/format.d.ts +6 -0
  54. package/dist/quota/format.js +113 -0
  55. package/dist/quota/format.js.map +1 -0
  56. package/dist/quota/grok.d.ts +97 -0
  57. package/dist/quota/grok.js +563 -0
  58. package/dist/quota/grok.js.map +1 -0
  59. package/dist/quota/models-agy.d.ts +10 -0
  60. package/dist/quota/models-agy.js +144 -0
  61. package/dist/quota/models-agy.js.map +1 -0
  62. package/dist/quota/models-claude.d.ts +10 -0
  63. package/dist/quota/models-claude.js +227 -0
  64. package/dist/quota/models-claude.js.map +1 -0
  65. package/dist/quota/models-codex.d.ts +18 -0
  66. package/dist/quota/models-codex.js +305 -0
  67. package/dist/quota/models-codex.js.map +1 -0
  68. package/dist/quota/models-grok.d.ts +19 -0
  69. package/dist/quota/models-grok.js +272 -0
  70. package/dist/quota/models-grok.js.map +1 -0
  71. package/dist/quota/models-muse.d.ts +13 -0
  72. package/dist/quota/models-muse.js +200 -0
  73. package/dist/quota/models-muse.js.map +1 -0
  74. package/dist/quota/models-opencode.d.ts +51 -0
  75. package/dist/quota/models-opencode.js +400 -0
  76. package/dist/quota/models-opencode.js.map +1 -0
  77. package/dist/quota/muse.d.ts +38 -0
  78. package/dist/quota/muse.js +225 -0
  79. package/dist/quota/muse.js.map +1 -0
  80. package/dist/quota/opencode.d.ts +7 -0
  81. package/dist/quota/opencode.js +47 -0
  82. package/dist/quota/opencode.js.map +1 -0
  83. package/dist/quota/routing-config.d.ts +18 -0
  84. package/dist/quota/routing-config.js +438 -0
  85. package/dist/quota/routing-config.js.map +1 -0
  86. package/dist/quota/routing-service.d.ts +24 -0
  87. package/dist/quota/routing-service.js +118 -0
  88. package/dist/quota/routing-service.js.map +1 -0
  89. package/dist/quota/routing.d.ts +10 -0
  90. package/dist/quota/routing.js +180 -0
  91. package/dist/quota/routing.js.map +1 -0
  92. package/dist/quota/types.d.ts +304 -0
  93. package/dist/quota/types.js +45 -0
  94. package/dist/quota/types.js.map +1 -0
  95. package/dist/quota-cli.d.ts +80 -0
  96. package/dist/quota-cli.js +462 -0
  97. package/dist/quota-cli.js.map +1 -0
  98. package/dist/security/bridge/permissions.js +24 -2
  99. package/dist/security/bridge/permissions.js.map +1 -1
  100. package/dist/types.d.ts +7 -3
  101. package/dist/wire-types.d.ts +17 -1
  102. package/dist/wire-types.js +1 -1
  103. package/dist/wire-types.js.map +1 -1
  104. package/package.json +3 -2
  105. package/skills/ftown/SKILL.md +31 -5
  106. package/skills/ftown/references/orchestrator.md +17 -7
  107. package/skills/ftown/references/quota.md +177 -0
  108. package/skills/ftown/references/sessions.md +45 -3
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import type { CentrifugoClient } from './centrifugo-client.js';
14
14
  import type { TerminalManager } from './terminal-manager.js';
15
15
  import { SessionController } from './session-controller.js';
16
16
  import { ProviderAuthMissingError, WorkingDirMissingError, type CreateFtownSessionDeps } from './create-ftown-session.js';
17
+ import { type Coordination } from './coordination/wiring.js';
17
18
  export interface HookPayload {
18
19
  ftown_session_id: string;
19
20
  hook_event_name: string;
@@ -81,6 +82,8 @@ export declare class LocalApiServer extends EventEmitter<HookServerEvents> {
81
82
  private port;
82
83
  private sessionController;
83
84
  private lifecycleController;
85
+ private coordination;
86
+ private defaultCoordination;
84
87
  private mailStore;
85
88
  private recoveryEpoch;
86
89
  private recoveryStartedAt;
@@ -89,6 +92,8 @@ export declare class LocalApiServer extends EventEmitter<HookServerEvents> {
89
92
  setBrowserAccess(access: BrowserAccess): void;
90
93
  setAuthToken(token: string): void;
91
94
  setAttentionStore(store: AttentionStore): void;
95
+ setCoordination(coordination: Coordination): void;
96
+ private getCoordination;
92
97
  /** Internal producer hook for mail already committed to the inbox. */
93
98
  notifyCommittedMail(session: Session, sender: string, requireRunning?: boolean): Promise<void>;
94
99
  setMailStore(mailStore: MailStore): void;
@@ -117,7 +122,7 @@ export declare class LocalApiServer extends EventEmitter<HookServerEvents> {
117
122
  enqueueSessionMessage(session: Session, message: string): Promise<AcceptMailResult>;
118
123
  /** Queue arbitrary mail (e.g. an attention answer with a threadId) through the durable delivery path. */
119
124
  acceptSessionMail(session: Session, body: Record<string, unknown>): Promise<AcceptMailResult>;
120
- /** Best-effort child-idle signal through the ordinary durable mail path. */
125
+ /** Best-effort child-idle tree event emission. */
121
126
  notifyIdleParent(signal: SubagentIdleSignal, isCurrent: () => boolean): Promise<void>;
122
127
  private handleInboxPost;
123
128
  private handleInboxGet;
@@ -19,6 +19,8 @@ import { canResumeStoredSession, createFtownSession, deriveRelaunchCommand, pars
19
19
  import { removeFtownSession } from './remove-ftown-session.js';
20
20
  import { collectSessionUsage } from './usage-collector.js';
21
21
  import { toWireSession } from './session-wire.js';
22
+ import { CardValidationError } from './coordination/contract.js';
23
+ import { createCoordination, rootOf } from './coordination/wiring.js';
22
24
  function jsonResponse(res, status, data) {
23
25
  res.writeHead(status, { 'Content-Type': 'application/json' });
24
26
  res.end(JSON.stringify(data));
@@ -264,6 +266,8 @@ export class LocalApiServer extends EventEmitter {
264
266
  port = 0;
265
267
  sessionController = null;
266
268
  lifecycleController = null;
269
+ coordination = null;
270
+ defaultCoordination = null;
267
271
  mailStore = null;
268
272
  recoveryEpoch = 0;
269
273
  recoveryStartedAt = -1;
@@ -277,6 +281,52 @@ export class LocalApiServer extends EventEmitter {
277
281
  }
278
282
  setAttentionStore(store) {
279
283
  this.attention = store;
284
+ this.defaultCoordination = null;
285
+ }
286
+ setCoordination(coordination) {
287
+ this.coordination = coordination;
288
+ this.defaultCoordination = null;
289
+ if (typeof this.mail.setDigestProvider === 'function') {
290
+ this.mail.setDigestProvider(coordination.digest);
291
+ }
292
+ if (typeof this.mail.setEventSink === 'function') {
293
+ this.mail.setEventSink(coordination.mailSink);
294
+ }
295
+ }
296
+ getCoordination() {
297
+ if (this.coordination)
298
+ return this.coordination;
299
+ if (this.defaultCoordination)
300
+ return this.defaultCoordination;
301
+ const store = this.store;
302
+ if (!store)
303
+ return null;
304
+ this.defaultCoordination = createCoordination({
305
+ store,
306
+ attention: {
307
+ list: async (id) => this.attention
308
+ ? this.attention.list(id)
309
+ : { activity: { state: 'unknown' }, openCount: 0 },
310
+ },
311
+ prStatus: async () => null,
312
+ mail: {
313
+ unreadCount: async (id) => {
314
+ const ms = this.mailStore;
315
+ if (!ms)
316
+ return 0;
317
+ if (typeof ms.unreadCount === 'function')
318
+ return ms.unreadCount(id);
319
+ return (await ms.listUndelivered(id)).length;
320
+ },
321
+ },
322
+ publishSession: (session) => {
323
+ if (this.centrifugo && this.userId) {
324
+ void this.centrifugo.publishSessionUpdate(this.userId, session);
325
+ }
326
+ },
327
+ now: Date.now,
328
+ });
329
+ return this.defaultCoordination;
280
330
  }
281
331
  /** Internal producer hook for mail already committed to the inbox. */
282
332
  async notifyCommittedMail(session, sender, requireRunning = false) {
@@ -286,6 +336,7 @@ export class LocalApiServer extends EventEmitter {
286
336
  if (this.mailStore !== mailStore)
287
337
  this.recoveryEpoch++;
288
338
  this.mailStore = mailStore;
339
+ this.defaultCoordination = null;
289
340
  this.mail.setMailStore(mailStore);
290
341
  this.startMailRecovery();
291
342
  }
@@ -357,6 +408,7 @@ export class LocalApiServer extends EventEmitter {
357
408
  invalidateControllers() {
358
409
  this.sessionController = null;
359
410
  this.lifecycleController = null;
411
+ this.defaultCoordination = null;
360
412
  }
361
413
  /** Transport-agnostic session operations (shared with the RPC switch). */
362
414
  setSessionController(controller) {
@@ -662,6 +714,9 @@ export class LocalApiServer extends EventEmitter {
662
714
  hook_event_name: 'PreToolUse', ...toolData,
663
715
  attentionId: item.id, attentionSequence: item.sequence, attentionCreatedAt: item.createdAt,
664
716
  } });
717
+ if (session.parentSessionId) {
718
+ await this.getCoordination()?.emit(session, 'attention', item.title, item.id);
719
+ }
665
720
  }
666
721
  jsonResponse(res, 200, { event: item && item.prompt ? item : null });
667
722
  return;
@@ -728,6 +783,9 @@ export class LocalApiServer extends EventEmitter {
728
783
  attentionId: event.id, attentionSequence: event.sequence, attentionCreatedAt: event.createdAt,
729
784
  ...(event.prompt ? { attentionPrompt: event.prompt } : {}),
730
785
  } });
786
+ if (session.parentSessionId) {
787
+ await this.getCoordination()?.emit(session, 'attention', event.title, event.id);
788
+ }
731
789
  jsonResponse(res, 200, { event });
732
790
  return;
733
791
  }
@@ -797,6 +855,221 @@ export class LocalApiServer extends EventEmitter {
797
855
  const sessionUsageMatch = path.match(/^\/api\/sessions\/([^/]+)\/usage$/);
798
856
  const sessionPreviewMatch = path.match(/^\/api\/sessions\/([A-Za-z0-9_-]{1,200})\/preview$/);
799
857
  const sessionChatMatch = path.match(/^\/api\/sessions\/([A-Za-z0-9_-]{1,200})\/preview-chat(?:\/(send|reply))?$/);
858
+ const sessionCardMatch = path.match(/^\/api\/sessions\/([A-Za-z0-9_-]{1,200})\/card$/);
859
+ const sessionBoardMatch = path.match(/^\/api\/sessions\/([A-Za-z0-9_-]{1,200})\/board$/);
860
+ const sessionEventsMatch = path.match(/^\/api\/sessions\/([A-Za-z0-9_-]{1,200})\/events$/);
861
+ if (sessionCardMatch) {
862
+ const coordination = this.getCoordination();
863
+ if (!coordination) {
864
+ jsonResponse(res, 503, { error: 'Server not ready' });
865
+ return;
866
+ }
867
+ const id = sessionCardMatch[1];
868
+ if ([...url.searchParams.keys()].length > 0)
869
+ throw new BadRequestError('Unknown query parameter');
870
+ if (req.method === 'GET') {
871
+ const card = await coordination.board.card(id);
872
+ if (!card) {
873
+ jsonResponse(res, 404, { error: 'Session not found' });
874
+ return;
875
+ }
876
+ jsonResponse(res, 200, card);
877
+ return;
878
+ }
879
+ if (req.method === 'PUT') {
880
+ const body = await parseBody(req);
881
+ if (!body || typeof body !== 'object' || Array.isArray(body)) {
882
+ throw new BadRequestError('Card update must be an object');
883
+ }
884
+ const keys = Object.keys(body);
885
+ if (keys.length === 0)
886
+ throw new BadRequestError('Empty card update');
887
+ for (const key of keys) {
888
+ if (!['state', 'headline', 'progress', 'blockedOn', 'next'].includes(key)) {
889
+ throw new BadRequestError(`Unknown card field: ${key}`);
890
+ }
891
+ }
892
+ try {
893
+ await coordination.cards.set(id, body);
894
+ }
895
+ catch (err) {
896
+ if (err instanceof CardValidationError) {
897
+ jsonResponse(res, 400, { error: err.message });
898
+ return;
899
+ }
900
+ if (err instanceof Error && err.message === 'Session not found') {
901
+ jsonResponse(res, 404, { error: 'Session not found' });
902
+ return;
903
+ }
904
+ throw err;
905
+ }
906
+ const card = await coordination.board.card(id);
907
+ if (!card) {
908
+ jsonResponse(res, 404, { error: 'Session not found' });
909
+ return;
910
+ }
911
+ jsonResponse(res, 200, card);
912
+ return;
913
+ }
914
+ if (req.method === 'DELETE') {
915
+ const body = await parseBody(req);
916
+ if (!body || typeof body !== 'object' || Array.isArray(body) || Object.keys(body).length > 0) {
917
+ throw new BadRequestError('Unexpected request body');
918
+ }
919
+ const session = await this.store.loadSession(id);
920
+ if (!session) {
921
+ jsonResponse(res, 404, { error: 'Session not found' });
922
+ return;
923
+ }
924
+ await coordination.cards.clear(id);
925
+ jsonResponse(res, 200, { ok: true });
926
+ return;
927
+ }
928
+ jsonResponse(res, 405, { error: 'Method not allowed' });
929
+ return;
930
+ }
931
+ if (sessionBoardMatch) {
932
+ const coordination = this.getCoordination();
933
+ if (!coordination) {
934
+ jsonResponse(res, 503, { error: 'Server not ready' });
935
+ return;
936
+ }
937
+ if (req.method !== 'GET') {
938
+ jsonResponse(res, 405, { error: 'Method not allowed' });
939
+ return;
940
+ }
941
+ const id = sessionBoardMatch[1];
942
+ for (const key of url.searchParams.keys()) {
943
+ if (key !== 'since' && key !== 'ready' && key !== 'all') {
944
+ throw new BadRequestError(`Unknown query parameter: ${key}`);
945
+ }
946
+ if (url.searchParams.getAll(key).length > 1) {
947
+ throw new BadRequestError(`Duplicate query parameter: ${key}`);
948
+ }
949
+ }
950
+ let since;
951
+ const rawSince = url.searchParams.get('since');
952
+ if (rawSince !== null) {
953
+ if (!/^\d{1,12}$/.test(rawSince) || !Number.isSafeInteger(Number(rawSince))) {
954
+ throw new BadRequestError('Invalid since');
955
+ }
956
+ since = Number(rawSince);
957
+ }
958
+ let ready;
959
+ const rawReady = url.searchParams.get('ready');
960
+ if (rawReady !== null) {
961
+ if (!['1', '0', 'true', 'false'].includes(rawReady)) {
962
+ throw new BadRequestError('Invalid ready');
963
+ }
964
+ ready = rawReady === '1' || rawReady === 'true';
965
+ }
966
+ let all;
967
+ const rawAll = url.searchParams.get('all');
968
+ if (rawAll !== null) {
969
+ if (!['1', '0', 'true', 'false'].includes(rawAll)) {
970
+ throw new BadRequestError('Invalid all');
971
+ }
972
+ all = rawAll === '1' || rawAll === 'true';
973
+ }
974
+ try {
975
+ const board = await coordination.board.board({
976
+ sessionId: id,
977
+ ...(since !== undefined ? { since } : {}),
978
+ ...(ready !== undefined ? { ready } : {}),
979
+ ...(all !== undefined ? { all } : {}),
980
+ });
981
+ jsonResponse(res, 200, board);
982
+ }
983
+ catch (err) {
984
+ if (err instanceof Error && err.message === 'Session not found') {
985
+ jsonResponse(res, 404, { error: 'Session not found' });
986
+ return;
987
+ }
988
+ throw err;
989
+ }
990
+ return;
991
+ }
992
+ if (sessionEventsMatch) {
993
+ const coordination = this.getCoordination();
994
+ if (!coordination) {
995
+ jsonResponse(res, 503, { error: 'Server not ready' });
996
+ return;
997
+ }
998
+ if (req.method !== 'GET') {
999
+ jsonResponse(res, 405, { error: 'Method not allowed' });
1000
+ return;
1001
+ }
1002
+ const id = sessionEventsMatch[1];
1003
+ for (const key of url.searchParams.keys()) {
1004
+ if (key !== 'since' && key !== 'limit' && key !== 'waitSeconds') {
1005
+ throw new BadRequestError(`Unknown query parameter: ${key}`);
1006
+ }
1007
+ if (url.searchParams.getAll(key).length > 1) {
1008
+ throw new BadRequestError(`Duplicate query parameter: ${key}`);
1009
+ }
1010
+ }
1011
+ let since;
1012
+ const rawSince = url.searchParams.get('since');
1013
+ if (rawSince !== null) {
1014
+ if (!/^\d{1,12}$/.test(rawSince) || !Number.isSafeInteger(Number(rawSince))) {
1015
+ throw new BadRequestError('Invalid since');
1016
+ }
1017
+ since = Number(rawSince);
1018
+ }
1019
+ let limit;
1020
+ const rawLimit = url.searchParams.get('limit');
1021
+ if (rawLimit !== null) {
1022
+ if (!/^\d{1,12}$/.test(rawLimit) || !Number.isSafeInteger(Number(rawLimit))) {
1023
+ throw new BadRequestError('Invalid limit');
1024
+ }
1025
+ limit = Number(rawLimit);
1026
+ if (limit < 1 || limit > 500) {
1027
+ throw new BadRequestError('Invalid limit');
1028
+ }
1029
+ }
1030
+ let waitSeconds;
1031
+ const rawWait = url.searchParams.get('waitSeconds');
1032
+ if (rawWait !== null) {
1033
+ if (!/^\d{1,12}$/.test(rawWait) || !Number.isSafeInteger(Number(rawWait))) {
1034
+ throw new BadRequestError('Invalid waitSeconds');
1035
+ }
1036
+ waitSeconds = Number(rawWait);
1037
+ if (waitSeconds > 300) {
1038
+ throw new BadRequestError('Invalid waitSeconds');
1039
+ }
1040
+ }
1041
+ const session = await this.store.loadSession(id);
1042
+ if (!session) {
1043
+ jsonResponse(res, 404, { error: 'Session not found' });
1044
+ return;
1045
+ }
1046
+ const rootId = rootOf(session);
1047
+ if (waitSeconds && waitSeconds > 0) {
1048
+ const controller = new AbortController();
1049
+ const cancel = () => controller.abort();
1050
+ res.on('close', cancel);
1051
+ if (res.destroyed)
1052
+ controller.abort();
1053
+ try {
1054
+ let page = await coordination.events.wait(rootId, since ?? 0, waitSeconds * 1000, controller.signal);
1055
+ if (limit !== undefined && page.events.length > limit) {
1056
+ const sliced = page.events.slice(0, limit);
1057
+ page = { ...page, events: sliced, cursor: sliced[sliced.length - 1].seq };
1058
+ }
1059
+ jsonResponse(res, 200, page);
1060
+ }
1061
+ finally {
1062
+ res.off('close', cancel);
1063
+ }
1064
+ return;
1065
+ }
1066
+ const page = await coordination.events.read(rootId, {
1067
+ ...(since !== undefined ? { since } : {}),
1068
+ ...(limit !== undefined ? { limit } : {}),
1069
+ });
1070
+ jsonResponse(res, 200, page);
1071
+ return;
1072
+ }
800
1073
  if (sessionChatMatch) {
801
1074
  const controller = this.getSessionController();
802
1075
  if (!controller) {
@@ -1300,12 +1573,12 @@ export class LocalApiServer extends EventEmitter {
1300
1573
  return { ok: false, error: 'Mail store not ready' };
1301
1574
  return this.mail.acceptMail(session, body);
1302
1575
  }
1303
- /** Best-effort child-idle signal through the ordinary durable mail path. */
1576
+ /** Best-effort child-idle tree event emission. */
1304
1577
  async notifyIdleParent(signal, isCurrent) {
1305
1578
  const store = this.store;
1306
1579
  const runner = this.runner;
1307
1580
  const bridgeId = this.securityInfo?.bridgeId;
1308
- if (!store || !runner || !bridgeId || !this.mail.isReady() || !/^[A-Za-z0-9_-]{1,200}$/.test(signal.sessionId) || !isCurrent())
1581
+ if (!store || !runner || !bridgeId || !/^[A-Za-z0-9_-]{1,200}$/.test(signal.sessionId) || !isCurrent())
1309
1582
  return;
1310
1583
  const child = await store.loadSession(signal.sessionId);
1311
1584
  if (!child || child.id !== signal.sessionId || child.bridgeId !== bridgeId || child.status !== 'running' || child.shellType === 'shell'
@@ -1325,8 +1598,7 @@ export class LocalApiServer extends EventEmitter {
1325
1598
  const name = sanitizeAttentionText(currentChild.name, 200) || 'Session';
1326
1599
  if (!isCurrent())
1327
1600
  return;
1328
- await this.mail.acceptMail(currentParent, { from: currentChild.id, fromName: name, type: 'message', threadId: signal.cycleId,
1329
- body: `Child session ${name} (${currentChild.id}) has been idle for 120 seconds. Check its status before assigning more work.` });
1601
+ await this.getCoordination()?.emit(currentChild, 'idle', `${name} idle for 2m`);
1330
1602
  }
1331
1603
  async handleInboxPost(req, res, sessionId) {
1332
1604
  if (!this.store || !this.mail.isReady()) {
@@ -1411,7 +1683,12 @@ export class LocalApiServer extends EventEmitter {
1411
1683
  const submittedSource = typeof payload.ftown_session_source === 'string' ? payload.ftown_session_source : undefined;
1412
1684
  if (submittedId && submittedSource !== 'workspace' && /^[a-zA-Z0-9_-]+$/.test(submittedId)
1413
1685
  && await this.store?.loadSession(submittedId)) {
1414
- this.mail.notePluginHandoff(submittedId);
1686
+ try {
1687
+ await this.mail.notePluginHandoff(submittedId);
1688
+ }
1689
+ catch (error) {
1690
+ console.warn(`[LocalApiServer] Failed to note plugin handoff for ${submittedId}:`, error instanceof Error ? error.message : String(error));
1691
+ }
1415
1692
  }
1416
1693
  jsonResponse(res, 200, { ok: true });
1417
1694
  return;