ftown-bridge 0.19.44 → 0.19.49

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 (57) hide show
  1. package/claude-mod/.claude-plugin/plugin.json +6 -0
  2. package/claude-mod/hooks/hooks.json +3 -0
  3. package/claude-mod/hooks/register.js +137 -0
  4. package/dist/agent-commands.js +17 -2
  5. package/dist/agent-commands.js.map +1 -1
  6. package/dist/attention-store.d.ts +21 -1
  7. package/dist/attention-store.js +131 -3
  8. package/dist/attention-store.js.map +1 -1
  9. package/dist/claude-mod-installer.d.ts +9 -0
  10. package/dist/claude-mod-installer.js +55 -0
  11. package/dist/claude-mod-installer.js.map +1 -0
  12. package/dist/claude-runner.d.ts +8 -0
  13. package/dist/claude-runner.js +11 -4
  14. package/dist/claude-runner.js.map +1 -1
  15. package/dist/ftown-cli.d.ts +1 -1
  16. package/dist/ftown-cli.js +11 -3
  17. package/dist/ftown-cli.js.map +1 -1
  18. package/dist/harness-registry.js +4 -0
  19. package/dist/harness-registry.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +719 -671
  22. package/dist/index.js.map +1 -1
  23. package/dist/install-ftown-command-cli.d.ts +1 -1
  24. package/dist/install-ftown-command-cli.js +35 -44
  25. package/dist/install-ftown-command-cli.js.map +1 -1
  26. package/dist/installation-manifest.d.ts +25 -0
  27. package/dist/installation-manifest.js +37 -0
  28. package/dist/installation-manifest.js.map +1 -0
  29. package/dist/local-api-server.d.ts +8 -0
  30. package/dist/local-api-server.js +73 -1
  31. package/dist/local-api-server.js.map +1 -1
  32. package/dist/mail-delivery.d.ts +30 -0
  33. package/dist/mail-delivery.js +202 -8
  34. package/dist/mail-delivery.js.map +1 -1
  35. package/dist/mcp/fleet.d.ts +2 -2
  36. package/dist/native-mail.d.ts +31 -0
  37. package/dist/native-mail.js +142 -0
  38. package/dist/native-mail.js.map +1 -0
  39. package/dist/production-dependencies.d.ts +13 -0
  40. package/dist/production-dependencies.js +175 -0
  41. package/dist/production-dependencies.js.map +1 -0
  42. package/dist/push-notifier.d.ts +40 -0
  43. package/dist/push-notifier.js +126 -0
  44. package/dist/push-notifier.js.map +1 -0
  45. package/dist/sessions-commands.js +278 -310
  46. package/dist/sessions-commands.js.map +1 -1
  47. package/dist/setup-state.d.ts +1 -2
  48. package/dist/setup-state.js +31 -11
  49. package/dist/setup-state.js.map +1 -1
  50. package/dist/setup.js +3 -1
  51. package/dist/setup.js.map +1 -1
  52. package/dist/start-commands.d.ts +10 -0
  53. package/dist/start-commands.js +15 -0
  54. package/dist/start-commands.js.map +1 -0
  55. package/opencode-plugin/ftown.js +142 -129
  56. package/package.json +3 -2
  57. package/skills/ftown/SKILL.md +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"mail-delivery.js","sourceRoot":"","sources":["../src/mail-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail-delivery.js","sourceRoot":"","sources":["../src/mail-delivery.ts"],"names":[],"mappings":"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"}
@@ -181,13 +181,13 @@ export declare const requestSchema: z.ZodObject<{
181
181
  body: z.ZodOptional<z.ZodUnknown>;
182
182
  timeoutMs: z.ZodNumber;
183
183
  }, "strict", z.ZodTypeAny, {
184
- path: string;
185
184
  method: "POST" | "GET" | "DELETE" | "PATCH";
185
+ path: string;
186
186
  timeoutMs: number;
187
187
  body?: unknown;
188
188
  }, {
189
- path: string;
190
189
  method: "POST" | "GET" | "DELETE" | "PATCH";
190
+ path: string;
191
191
  timeoutMs: number;
192
192
  body?: unknown;
193
193
  }>;
@@ -0,0 +1,31 @@
1
+ import type { Session } from './types.js';
2
+ export type NativeMailWakeResult = {
3
+ status: 'accepted' | 'unsupported' | 'rejected' | 'unknown';
4
+ };
5
+ export type NativeMailWaker = (session: Session, text: string, signal?: AbortSignal, isCurrent?: () => Promise<boolean>) => Promise<NativeMailWakeResult>;
6
+ interface CommandOptions {
7
+ cwd: string;
8
+ env: NodeJS.ProcessEnv;
9
+ input?: string;
10
+ signal?: AbortSignal;
11
+ timeoutMs: number;
12
+ maxOutputBytes: number;
13
+ }
14
+ interface CommandResult {
15
+ started: boolean;
16
+ code: number | null;
17
+ stdout: string;
18
+ stderr: string;
19
+ errorCode?: string;
20
+ timedOut?: boolean;
21
+ overflow?: boolean;
22
+ aborted?: boolean;
23
+ }
24
+ interface Dependencies {
25
+ run?: (file: string, args: string[], options: CommandOptions) => Promise<CommandResult>;
26
+ now?: () => number;
27
+ env?: NodeJS.ProcessEnv;
28
+ }
29
+ /** Native commands are only wake pointers; the durable inbox owns consumption. */
30
+ export declare function createNativeMailWaker(deps?: Dependencies): NativeMailWaker;
31
+ export {};
@@ -0,0 +1,142 @@
1
+ import { spawn } from 'node:child_process';
2
+ const UUID = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i;
3
+ const MAX_OUTPUT = 65_536;
4
+ const PROBE_TTL_MS = 60_000;
5
+ const PROBE_CACHE_LIMIT = 16;
6
+ /** No shell interpolation, bounded output/time, explicit stdin EOF for Muse. */
7
+ async function runCommand(file, args, options) {
8
+ if (options.signal?.aborted)
9
+ return { started: false, code: null, stdout: '', stderr: '', aborted: true };
10
+ return new Promise((resolve) => {
11
+ const result = { started: false, code: null, stdout: '', stderr: '' };
12
+ let bytes = 0;
13
+ let forceTimer;
14
+ const child = spawn(file, args, { cwd: options.cwd, env: options.env, shell: false, stdio: ['pipe', 'pipe', 'pipe'] });
15
+ const terminate = () => {
16
+ child.kill('SIGTERM');
17
+ forceTimer ??= setTimeout(() => { child.kill('SIGKILL'); }, 250);
18
+ forceTimer.unref();
19
+ };
20
+ const abort = () => { result.aborted = true; terminate(); };
21
+ const timer = setTimeout(() => { result.timedOut = true; terminate(); }, options.timeoutMs);
22
+ timer.unref();
23
+ const collect = (key, data) => {
24
+ bytes += data.length;
25
+ if (bytes > options.maxOutputBytes) {
26
+ result.overflow = true;
27
+ terminate();
28
+ return;
29
+ }
30
+ result[key] += data.toString('utf8');
31
+ };
32
+ child.once('spawn', () => { result.started = true; });
33
+ child.stdout.on('data', (data) => collect('stdout', data));
34
+ child.stderr.on('data', (data) => collect('stderr', data));
35
+ child.once('error', (error) => { result.errorCode = error.code; });
36
+ child.once('close', (code) => {
37
+ result.code = code;
38
+ clearTimeout(timer);
39
+ if (forceTimer)
40
+ clearTimeout(forceTimer);
41
+ options.signal?.removeEventListener('abort', abort);
42
+ resolve(result);
43
+ });
44
+ child.stdin.on('error', () => { });
45
+ options.signal?.addEventListener('abort', abort, { once: true });
46
+ if (options.signal?.aborted)
47
+ abort();
48
+ child.stdin.end(options.input);
49
+ });
50
+ }
51
+ function targetEnvironment(base, session) {
52
+ const env = { ...base };
53
+ // A bridge may itself be running inside Codex/Muse. Its client/transport
54
+ // selectors must not redirect the wake away from the receiving session.
55
+ for (const key of Object.keys(env)) {
56
+ if ((key.startsWith('CODEX_') && key !== 'CODEX_HOME') || key.startsWith('MUSE_'))
57
+ delete env[key];
58
+ }
59
+ // ProcessRunner applies explicit target overrides last, including home/XDG.
60
+ Object.assign(env, session.env);
61
+ for (const key of ['CODEX_THREAD_ID', 'CODEX_SESSION_ID', 'MUSE_SESSION_ID', 'MUSE_THREAD_ID'])
62
+ delete env[key];
63
+ env.MUSE_NO_AUTO_UPDATE = '1';
64
+ return env;
65
+ }
66
+ function interrupted(result) {
67
+ return !!(result.timedOut || result.overflow || result.aborted || result.errorCode);
68
+ }
69
+ function parserUnsupported(result) {
70
+ return result.code !== 0 && /(?:unrecognized subcommand|unknown command|unexpected argument)[^\n]*(?:queue|session-message|--thread|--target|--json)/i.test(result.stderr);
71
+ }
72
+ function backendUnsupported(result) {
73
+ // Codex itself emits this only for typed method-not-found/feature-gate
74
+ // errors. Capacity, permissions and transport failures are not unsupported.
75
+ return result.code !== 0 && /the (?:local app-server daemon|remote app server) does not support thread\/queue\/add; update or restart the (?:local app-server daemon|remote app server)/.test(result.stderr);
76
+ }
77
+ /** Native commands are only wake pointers; the durable inbox owns consumption. */
78
+ export function createNativeMailWaker(deps = {}) {
79
+ const run = deps.run ?? runCommand;
80
+ const now = deps.now ?? Date.now;
81
+ const base = deps.env ?? process.env;
82
+ const probes = new Map();
83
+ return async (session, text, signal, isCurrent) => {
84
+ const harness = session.shellType;
85
+ if (harness !== 'codex' && harness !== 'muse')
86
+ return { status: 'unsupported' };
87
+ const nativeId = harness === 'codex' ? session.codexSessionId : session.museSessionId;
88
+ if (!nativeId || !UUID.test(nativeId))
89
+ return { status: 'unsupported' };
90
+ if (session.status !== 'running' || !text.trim() || text.length > 4096 || signal?.aborted)
91
+ return { status: 'rejected' };
92
+ // Real Muse 1.4.10 default-preset echo receivers rejected idle AND busy
93
+ // sends with external_agent_ingress_closed and no receipts. Keep the
94
+ // compatibility path until an ingress with verified admission is available;
95
+ // command presence alone is insufficient.
96
+ if (harness === 'muse')
97
+ return { status: 'unsupported' };
98
+ const env = targetEnvironment(base, session);
99
+ const cwd = session.workingDir ?? process.cwd();
100
+ const options = { cwd, env, signal, timeoutMs: 5_000, maxOutputBytes: MAX_OUTPUT };
101
+ const cacheKey = JSON.stringify([harness, env.PATH, env.HOME, env.CODEX_HOME, env.XDG_CONFIG_HOME, cwd]);
102
+ let probe = probes.get(cacheKey);
103
+ try {
104
+ if (!probe || now() >= probe.expires) {
105
+ const result = await run('codex', ['queue', '--help'], options);
106
+ if (signal?.aborted)
107
+ return { status: 'rejected' };
108
+ if (result.errorCode === 'ENOENT' || parserUnsupported(result))
109
+ probe = { supported: false, expires: now() + PROBE_TTL_MS };
110
+ else if (interrupted(result) || result.code !== 0)
111
+ return { status: 'rejected' }; // Probe never submits input.
112
+ else
113
+ probe = { supported: /Usage:\s*codex queue\b/.test(result.stdout) && result.stdout.includes('--thread') && result.stdout.includes('--message'), expires: now() + PROBE_TTL_MS };
114
+ probes.delete(cacheKey);
115
+ while (probes.size >= PROBE_CACHE_LIMIT)
116
+ probes.delete(probes.keys().next().value);
117
+ probes.set(cacheKey, probe);
118
+ }
119
+ if (!probe.supported)
120
+ return { status: 'unsupported' };
121
+ if (signal?.aborted || (isCurrent && !await isCurrent()) || signal?.aborted)
122
+ return { status: 'rejected' };
123
+ const result = await run('codex', ['queue', '--thread', nativeId, '--message', text], { ...options, timeoutMs: 10_000 });
124
+ if (!result.started)
125
+ return { status: result.errorCode === 'ENOENT' ? 'unsupported' : 'rejected' };
126
+ if (interrupted(result))
127
+ return { status: 'unknown' };
128
+ if (parserUnsupported(result) || backendUnsupported(result))
129
+ return { status: 'unsupported' };
130
+ if (result.code !== 0)
131
+ return { status: 'unknown' };
132
+ const receipt = /^Queued message ([a-f0-9-]{36}) for thread ([a-f0-9-]{36})\.$/i.exec(result.stdout.trim());
133
+ return { status: receipt && UUID.test(receipt[1]) && receipt[2].toLowerCase() === nativeId.toLowerCase() ? 'accepted' : 'unknown' };
134
+ }
135
+ catch {
136
+ // An injected runner must preserve dispatch state; a thrown exception is
137
+ // ambiguous, so never automatically dispatch again through another path.
138
+ return { status: 'unknown' };
139
+ }
140
+ };
141
+ }
142
+ //# sourceMappingURL=native-mail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-mail.js","sourceRoot":"","sources":["../src/native-mail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ interface Dependency {
2
+ source: string;
3
+ target: string;
4
+ }
5
+ /** Preserve each resolved production edge, including root-local/outer-hoisted version conflicts. */
6
+ export declare function productionDependencies(packageRoot: string): Dependency[];
7
+ export declare function assertSafeDirectory(path: string): void;
8
+ export declare function assertNoSymlinks(path: string): void;
9
+ /** Copy own package files and native assets; node_modules are reconstructed from the production graph. */
10
+ export declare function copyRuntimeTree(source: string, target: string, inventoryRoot: string): string[];
11
+ /** Public fixture/installer helper: package metadata is copied separately by its caller. */
12
+ export declare function copyProductionDependencies(packageRoot: string, targetRoot: string): string[];
13
+ export {};
@@ -0,0 +1,175 @@
1
+ import { chmodSync, existsSync, lstatSync, mkdirSync, readFileSync, readdirSync, realpathSync, writeFileSync } from 'node:fs';
2
+ import { basename, dirname, isAbsolute, join, relative, sep } from 'node:path';
3
+ function metadata(directory) {
4
+ return JSON.parse(readFileSync(join(directory, 'package.json'), 'utf8'));
5
+ }
6
+ function inside(root, path) {
7
+ const part = relative(root, path);
8
+ return part === '' || (!isAbsolute(part) && part !== '..' && !part.startsWith(`..${sep}`));
9
+ }
10
+ function moduleTreeRoot(packageRoot) {
11
+ const parent = dirname(packageRoot);
12
+ if (basename(parent) === 'node_modules')
13
+ return parent;
14
+ if (basename(parent).startsWith('@') && basename(dirname(parent)) === 'node_modules')
15
+ return dirname(parent);
16
+ return join(packageRoot, 'node_modules');
17
+ }
18
+ function findDependency(from, name) {
19
+ if (!/^(@[a-z0-9_.-]+\/)?[a-z0-9_.-]+$/i.test(name) || name.split('/').some((part) => part === '.' || part === '..'))
20
+ throw new Error(`Invalid production dependency name: ${name}`);
21
+ let current = from;
22
+ for (;;) {
23
+ const candidate = join(current, 'node_modules', name);
24
+ if (existsSync(join(candidate, 'package.json')))
25
+ return candidate;
26
+ const parent = dirname(current);
27
+ if (parent === current)
28
+ return undefined;
29
+ current = parent;
30
+ }
31
+ }
32
+ /** Preserve each resolved production edge, including root-local/outer-hoisted version conflicts. */
33
+ export function productionDependencies(packageRoot) {
34
+ const root = realpathSync(packageRoot);
35
+ const tree = moduleTreeRoot(root);
36
+ const packages = new Map();
37
+ const queue = [];
38
+ function edges(directory) {
39
+ const pkg = metadata(directory);
40
+ const names = new Set([...Object.keys(pkg.dependencies ?? {}), ...Object.keys(pkg.optionalDependencies ?? {}),
41
+ ...Object.keys(pkg.peerDependencies ?? {}), ...(pkg.bundledDependencies ?? pkg.bundleDependencies ?? [])]);
42
+ const result = [];
43
+ for (const name of names) {
44
+ const source = findDependency(directory, name);
45
+ const optional = Object.hasOwn(pkg.optionalDependencies ?? {}, name) || pkg.peerDependenciesMeta?.[name]?.optional;
46
+ if (!source) {
47
+ if (optional)
48
+ continue;
49
+ throw new Error(`Missing production dependency ${name} required by ${directory}`);
50
+ }
51
+ if (!inside(tree, source) || !inside(tree, realpathSync(source)))
52
+ throw new Error(`Production dependency escapes its module tree: ${name}`);
53
+ result.push({ name, source });
54
+ }
55
+ return result;
56
+ }
57
+ function add(source, target) {
58
+ const previous = packages.get(target);
59
+ if (previous) {
60
+ if (previous.source !== source)
61
+ throw new Error(`Production dependency placement conflict: ${target}`);
62
+ return;
63
+ }
64
+ const dependency = { source, target };
65
+ packages.set(target, dependency);
66
+ queue.push(dependency);
67
+ }
68
+ function accessible(from, name) {
69
+ let current = from;
70
+ for (;;) {
71
+ if (basename(current) !== 'node_modules') {
72
+ const dependency = packages.get(join(current, 'node_modules', name));
73
+ if (dependency)
74
+ return dependency;
75
+ }
76
+ const parent = dirname(current);
77
+ if (current === '.' || parent === current)
78
+ return undefined;
79
+ current = parent;
80
+ }
81
+ }
82
+ // Reserve direct dependencies before hoisting transitive ones: the application wins its own slots.
83
+ for (const edge of edges(root))
84
+ add(edge.source, join('node_modules', edge.name));
85
+ for (let index = 0; index < queue.length; index++) {
86
+ const owner = queue[index];
87
+ for (const edge of edges(owner.source)) {
88
+ const existing = accessible(owner.target, edge.name);
89
+ if (existing?.source === edge.source)
90
+ continue;
91
+ const sourceLocal = inside(join(owner.source, 'node_modules'), edge.source);
92
+ const target = existing || sourceLocal ? join(owner.target, 'node_modules', edge.name) : join('node_modules', edge.name);
93
+ add(edge.source, target);
94
+ }
95
+ }
96
+ return [...packages.values()].sort((a, b) => a.target.localeCompare(b.target));
97
+ }
98
+ export function assertSafeDirectory(path) {
99
+ if (!existsSync(path))
100
+ mkdirSync(path, { recursive: true, mode: 0o700 });
101
+ if (lstatSync(path).isSymbolicLink() || !lstatSync(path).isDirectory())
102
+ throw new Error(`Setup refuses symlink or non-directory: ${path}`);
103
+ }
104
+ export function assertNoSymlinks(path) {
105
+ let stat;
106
+ try {
107
+ stat = lstatSync(path);
108
+ }
109
+ catch (error) {
110
+ if (error.code === 'ENOENT')
111
+ return;
112
+ throw error;
113
+ }
114
+ if (stat.isSymbolicLink())
115
+ throw new Error(`Setup refuses symlink: ${path}`);
116
+ if (stat.isDirectory())
117
+ for (const name of readdirSync(path))
118
+ assertNoSymlinks(join(path, name));
119
+ }
120
+ /** Copy own package files and native assets; node_modules are reconstructed from the production graph. */
121
+ export function copyRuntimeTree(source, target, inventoryRoot) {
122
+ if (!inside(inventoryRoot, target))
123
+ throw new Error('Runtime target escapes installation directory');
124
+ const files = [];
125
+ function copy(from, to) {
126
+ const stat = lstatSync(from);
127
+ if (stat.isSymbolicLink())
128
+ throw new Error(`Setup refuses source symlink: ${from}`);
129
+ if (stat.isDirectory()) {
130
+ assertSafeDirectory(to);
131
+ for (const name of readdirSync(from).sort()) {
132
+ if (name !== 'node_modules')
133
+ copy(join(from, name), join(to, name));
134
+ }
135
+ }
136
+ else if (stat.isFile()) {
137
+ let targetStat;
138
+ try {
139
+ targetStat = lstatSync(to);
140
+ }
141
+ catch (error) {
142
+ if (error.code !== 'ENOENT')
143
+ throw error;
144
+ }
145
+ if (targetStat && (targetStat.isSymbolicLink() || !targetStat.isFile()))
146
+ throw new Error(`Setup refuses unsafe runtime file: ${to}`);
147
+ writeFileSync(to, readFileSync(from), { mode: stat.mode & 0o777 });
148
+ chmodSync(to, stat.mode & 0o777);
149
+ files.push(relative(inventoryRoot, to).split(sep).join('/'));
150
+ }
151
+ else
152
+ throw new Error(`Unsupported runtime asset: ${from}`);
153
+ }
154
+ copy(source, target);
155
+ return files;
156
+ }
157
+ /** Public fixture/installer helper: package metadata is copied separately by its caller. */
158
+ export function copyProductionDependencies(packageRoot, targetRoot) {
159
+ const dependencies = productionDependencies(packageRoot);
160
+ const files = [];
161
+ assertSafeDirectory(targetRoot);
162
+ assertSafeDirectory(join(targetRoot, 'node_modules'));
163
+ for (const dependency of dependencies) {
164
+ const target = join(targetRoot, dependency.target);
165
+ // Check every ancestor before mkdir/copy so a nested/scoped symlink cannot redirect writes.
166
+ let directory = targetRoot;
167
+ for (const part of dependency.target.split(sep)) {
168
+ directory = join(directory, part);
169
+ assertSafeDirectory(directory);
170
+ }
171
+ files.push(...copyRuntimeTree(dependency.source, target, targetRoot));
172
+ }
173
+ return files;
174
+ }
175
+ //# sourceMappingURL=production-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production-dependencies.js","sourceRoot":"","sources":["../src/production-dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export interface PushNotice {
2
+ kind: 'question' | 'idle';
3
+ eventKey: string;
4
+ title: string;
5
+ message: string;
6
+ occurredAt: string;
7
+ }
8
+ export interface BridgePushNotifierOptions {
9
+ apiUrl: string;
10
+ bridgeId: string;
11
+ getToken: () => string | Promise<string>;
12
+ getSession: (id: string) => Promise<{
13
+ name: string;
14
+ shellType?: string;
15
+ status?: string;
16
+ } | null | undefined>;
17
+ }
18
+ interface Dependencies {
19
+ fetch: typeof fetch;
20
+ now: () => number;
21
+ schedule: (fn: () => void, ms: number) => ReturnType<typeof setTimeout>;
22
+ cancel: (timer: ReturnType<typeof setTimeout>) => void;
23
+ }
24
+ /** A bounded, best-effort queue. Cloud event/delivery keys provide durable dedup. */
25
+ export declare class BridgePushNotifier {
26
+ private options;
27
+ private deps;
28
+ private queue;
29
+ private running;
30
+ private stopped;
31
+ private timer?;
32
+ private inflight?;
33
+ constructor(options: BridgePushNotifierOptions, deps?: Dependencies);
34
+ notify(sessionId: string, notice: PushNotice): void;
35
+ cancelIdle(sessionId: string): void;
36
+ stop(): void;
37
+ private wake;
38
+ private drain;
39
+ }
40
+ export {};