ftown 0.25.3 → 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.
- package/dist/coordination/board.d.ts +12 -0
- package/dist/coordination/board.js +240 -0
- package/dist/coordination/board.js.map +1 -0
- package/dist/coordination/card-store.d.ts +9 -0
- package/dist/coordination/card-store.js +188 -0
- package/dist/coordination/card-store.js.map +1 -0
- package/dist/coordination/contract.d.ts +236 -0
- package/dist/coordination/contract.js +63 -0
- package/dist/coordination/contract.js.map +1 -0
- package/dist/coordination/format.d.ts +5 -0
- package/dist/coordination/format.js +60 -0
- package/dist/coordination/format.js.map +1 -0
- package/dist/coordination/tree-events.d.ts +31 -0
- package/dist/coordination/tree-events.js +226 -0
- package/dist/coordination/tree-events.js.map +1 -0
- package/dist/coordination/wiring.d.ts +48 -0
- package/dist/coordination/wiring.js +143 -0
- package/dist/coordination/wiring.js.map +1 -0
- package/dist/coordination-cli.d.ts +34 -0
- package/dist/coordination-cli.js +460 -0
- package/dist/coordination-cli.js.map +1 -0
- package/dist/ftown-cli.js +9 -2
- package/dist/ftown-cli.js.map +1 -1
- package/dist/index.js +30 -7
- package/dist/index.js.map +1 -1
- package/dist/local-api-server.d.ts +6 -1
- package/dist/local-api-server.js +282 -5
- package/dist/local-api-server.js.map +1 -1
- package/dist/mail-delivery.d.ts +16 -2
- package/dist/mail-delivery.js +331 -77
- package/dist/mail-delivery.js.map +1 -1
- package/dist/mail-store.d.ts +7 -0
- package/dist/mail-store.js +71 -1
- package/dist/mail-store.js.map +1 -1
- package/dist/pull-request-events.d.ts +5 -0
- package/dist/pull-request-events.js +21 -1
- package/dist/pull-request-events.js.map +1 -1
- package/dist/security/bridge/permissions.js +20 -0
- package/dist/security/bridge/permissions.js.map +1 -1
- package/dist/types.d.ts +5 -1
- package/dist/wire-types.d.ts +17 -1
- package/dist/wire-types.js +1 -1
- package/dist/wire-types.js.map +1 -1
- package/package.json +2 -2
- package/skills/ftown/SKILL.md +29 -4
- package/skills/ftown/references/orchestrator.md +12 -7
- 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
|
|
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;
|
package/dist/local-api-server.js
CHANGED
|
@@ -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
|
|
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 ||
|
|
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.
|
|
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
|
-
|
|
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;
|