agents-bridge 0.3.4 → 0.3.6

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 (38) hide show
  1. package/README.md +16 -0
  2. package/dist/agents/cli-runner.d.ts.map +1 -1
  3. package/dist/agents/cli-runner.js +8 -16
  4. package/dist/agents/cli-runner.js.map +1 -1
  5. package/dist/agents/codex-app-server-runtime.d.ts.map +1 -1
  6. package/dist/agents/codex-app-server-runtime.js +14 -10
  7. package/dist/agents/codex-app-server-runtime.js.map +1 -1
  8. package/dist/agents/model-auto-binding.d.ts.map +1 -1
  9. package/dist/agents/model-auto-binding.js +15 -23
  10. package/dist/agents/model-auto-binding.js.map +1 -1
  11. package/dist/agents/model-control-files.d.ts +5 -0
  12. package/dist/agents/model-control-files.d.ts.map +1 -0
  13. package/dist/agents/model-control-files.js +101 -0
  14. package/dist/agents/model-control-files.js.map +1 -0
  15. package/dist/agents/model-controller.d.ts +39 -2
  16. package/dist/agents/model-controller.d.ts.map +1 -1
  17. package/dist/agents/model-controller.js +211 -66
  18. package/dist/agents/model-controller.js.map +1 -1
  19. package/dist/agents/trusted-launcher.d.ts +14 -0
  20. package/dist/agents/trusted-launcher.d.ts.map +1 -0
  21. package/dist/agents/trusted-launcher.js +54 -0
  22. package/dist/agents/trusted-launcher.js.map +1 -0
  23. package/dist/cli/cmd-start.d.ts.map +1 -1
  24. package/dist/cli/cmd-start.js +29 -18
  25. package/dist/cli/cmd-start.js.map +1 -1
  26. package/dist/config/zod-schema.d.ts +166 -54
  27. package/dist/config/zod-schema.d.ts.map +1 -1
  28. package/dist/config/zod-schema.js +12 -1
  29. package/dist/config/zod-schema.js.map +1 -1
  30. package/dist/dispatch/session-dispatch-queue.d.ts +6 -1
  31. package/dist/dispatch/session-dispatch-queue.d.ts.map +1 -1
  32. package/dist/dispatch/session-dispatch-queue.js +6 -1
  33. package/dist/dispatch/session-dispatch-queue.js.map +1 -1
  34. package/dist/runtime-activity-snapshot.d.ts +57 -0
  35. package/dist/runtime-activity-snapshot.d.ts.map +1 -0
  36. package/dist/runtime-activity-snapshot.js +263 -0
  37. package/dist/runtime-activity-snapshot.js.map +1 -0
  38. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ export interface RuntimeActivitySnapshot {
2
+ version: number;
3
+ last_real_activity_at: string;
4
+ captured_at: string;
5
+ inflight_task_count: number;
6
+ queued_task_count: number;
7
+ producer: 'agent-bridge-v1';
8
+ }
9
+ export interface RuntimeActivitySnapshotProducerOptions {
10
+ path?: string;
11
+ intervalMs?: number;
12
+ now?: () => Date;
13
+ expectedUid?: number;
14
+ publish?: (content: string, version: number) => Promise<void> | void;
15
+ publishRetryMs?: number;
16
+ shutdownPublishTimeoutMs?: number;
17
+ }
18
+ export interface RuntimeActivityTracker {
19
+ start(): void;
20
+ stop(): Promise<void>;
21
+ recordRealActivity(): void;
22
+ taskQueued(): void;
23
+ taskStarted(): void;
24
+ taskFinished(): void;
25
+ }
26
+ export declare function createRuntimeActivityTracker(env?: NodeJS.ProcessEnv, options?: Omit<RuntimeActivitySnapshotProducerOptions, 'path'>): RuntimeActivityTracker;
27
+ export declare class RuntimeActivitySnapshotProducer {
28
+ private readonly path;
29
+ private readonly counterPath;
30
+ private readonly intervalMs;
31
+ private readonly now;
32
+ private readonly expectedUid;
33
+ private readonly publish?;
34
+ private readonly publishRetryMs;
35
+ private readonly shutdownPublishTimeoutMs;
36
+ private pendingPublish;
37
+ private publishLoop;
38
+ private version;
39
+ private lastRealActivityAt;
40
+ private queued;
41
+ private inflight;
42
+ private timer;
43
+ constructor(options?: RuntimeActivitySnapshotProducerOptions);
44
+ start(): void;
45
+ stop(): Promise<void>;
46
+ recordRealActivity(): void;
47
+ taskQueued(): void;
48
+ taskStarted(): void;
49
+ taskFinished(): void;
50
+ capture(): RuntimeActivitySnapshot;
51
+ flushPublished(): Promise<void>;
52
+ private enqueuePublish;
53
+ private ensurePublishLoop;
54
+ private prepareDirectory;
55
+ private loadBaseline;
56
+ }
57
+ //# sourceMappingURL=runtime-activity-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-activity-snapshot.d.ts","sourceRoot":"","sources":["../src/runtime-activity-snapshot.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,qBAAqB,EAAE,MAAM,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,iBAAiB,CAAA;CAC5B;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,kBAAkB,IAAI,IAAI,CAAA;IAC1B,UAAU,IAAI,IAAI,CAAA;IAClB,WAAW,IAAI,IAAI,CAAA;IACnB,YAAY,IAAI,IAAI,CAAA;CACrB;AAMD,wBAAgB,4BAA4B,CAC1C,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,OAAO,GAAE,IAAI,CAAC,sCAAsC,EAAE,MAAM,CAAM,GACjE,sBAAsB,CAOxB;AAED,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4D;IACrF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAQ;IACjD,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,KAAK,CAA8B;gBAE/B,OAAO,GAAE,sCAA2C;IAkBhE,KAAK,IAAI,IAAI;IAOP,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,kBAAkB,IAAI,IAAI;IAK1B,UAAU,IAAI,IAAI;IAClB,WAAW,IAAI,IAAI;IACnB,YAAY,IAAI,IAAI;IAEpB,OAAO,IAAI,uBAAuB;IAwB5B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBrC,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,YAAY;CAiBrB"}
@@ -0,0 +1,263 @@
1
+ import { closeSync, constants, existsSync, fsyncSync, lstatSync, mkdirSync, openSync, readFileSync, renameSync, unlinkSync, writeSync, } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ import { randomBytes } from 'node:crypto';
4
+ import { spawn } from 'node:child_process';
5
+ const noOpRuntimeActivityTracker = {
6
+ start() { }, async stop() { }, recordRealActivity() { }, taskQueued() { }, taskStarted() { }, taskFinished() { },
7
+ };
8
+ export function createRuntimeActivityTracker(env = process.env, options = {}) {
9
+ const path = env.RUNTIME_ACTIVITY_SNAPSHOT_PATH?.trim();
10
+ if (env.RUNTIME_POD_MODE !== 'true' || !path)
11
+ return noOpRuntimeActivityTracker;
12
+ const publish = env.RUNTIME_LAUNCHER_SOCKET
13
+ ? (content, version) => publishToLauncher(content, version, env)
14
+ : options.publish;
15
+ return new RuntimeActivitySnapshotProducer({ ...options, path, publish });
16
+ }
17
+ export class RuntimeActivitySnapshotProducer {
18
+ path;
19
+ counterPath;
20
+ intervalMs;
21
+ now;
22
+ expectedUid;
23
+ publish;
24
+ publishRetryMs;
25
+ shutdownPublishTimeoutMs;
26
+ pendingPublish = null;
27
+ publishLoop = null;
28
+ version = 0;
29
+ lastRealActivityAt;
30
+ queued = 0;
31
+ inflight = 0;
32
+ timer = null;
33
+ constructor(options = {}) {
34
+ this.path = options.path ?? process.env.RUNTIME_ACTIVITY_SNAPSHOT_PATH ??
35
+ '/workspace/.agent-bridge/snapshots/runtime-activity.json';
36
+ this.counterPath = join(dirname(this.path), '.version-counter');
37
+ this.intervalMs = options.intervalMs ?? 30_000;
38
+ if (this.intervalMs >= 120_000 || this.intervalMs < 1_000) {
39
+ throw new Error('activity snapshot interval must be between 1s and 120s');
40
+ }
41
+ this.now = options.now ?? (() => new Date());
42
+ this.expectedUid = options.expectedUid ?? currentUid();
43
+ this.publish = options.publish;
44
+ this.publishRetryMs = options.publishRetryMs ?? 1_000;
45
+ this.shutdownPublishTimeoutMs = options.shutdownPublishTimeoutMs ?? 30_000;
46
+ this.lastRealActivityAt = this.now().toISOString();
47
+ this.prepareDirectory();
48
+ this.loadBaseline();
49
+ }
50
+ start() {
51
+ if (this.timer)
52
+ return;
53
+ this.capture();
54
+ this.timer = setInterval(() => this.capture(), this.intervalMs);
55
+ this.timer.unref?.();
56
+ }
57
+ async stop() {
58
+ if (this.timer)
59
+ clearInterval(this.timer);
60
+ this.timer = null;
61
+ this.capture();
62
+ await this.flushPublished();
63
+ }
64
+ recordRealActivity() {
65
+ this.lastRealActivityAt = this.now().toISOString();
66
+ this.capture();
67
+ }
68
+ taskQueued() { this.queued += 1; this.capture(); }
69
+ taskStarted() { this.queued = Math.max(0, this.queued - 1); this.inflight += 1; this.capture(); }
70
+ taskFinished() { this.inflight = Math.max(0, this.inflight - 1); this.capture(); }
71
+ capture() {
72
+ if (this.version >= Number.MAX_SAFE_INTEGER)
73
+ throw new Error('activity snapshot version exhausted');
74
+ const version = this.version + 1;
75
+ const snapshot = {
76
+ version,
77
+ last_real_activity_at: this.lastRealActivityAt,
78
+ captured_at: this.now().toISOString(),
79
+ inflight_task_count: this.inflight,
80
+ queued_task_count: this.queued,
81
+ producer: 'agent-bridge-v1',
82
+ };
83
+ // The durable counter is committed first. A crash after this write creates
84
+ // a harmless version gap; it can never roll a later snapshot backwards.
85
+ atomicWrite(this.counterPath, `${version}\n`);
86
+ const content = `${JSON.stringify(snapshot)}\n`;
87
+ atomicWrite(this.path, content);
88
+ // The local durable state is authoritative for allocating the next version.
89
+ // Broker delivery is serialized and retried separately so broker outages do
90
+ // not block the Node event loop or message processing.
91
+ this.version = version;
92
+ this.enqueuePublish(content, version);
93
+ return snapshot;
94
+ }
95
+ async flushPublished() {
96
+ if (!this.publish || !this.pendingPublish)
97
+ return;
98
+ this.ensurePublishLoop();
99
+ const loop = this.publishLoop;
100
+ if (!loop)
101
+ return;
102
+ let timer;
103
+ try {
104
+ await Promise.race([
105
+ loop,
106
+ new Promise((_, reject) => {
107
+ timer = setTimeout(() => reject(new Error('activity snapshot broker flush timed out')), this.shutdownPublishTimeoutMs);
108
+ timer.unref?.();
109
+ }),
110
+ ]);
111
+ }
112
+ finally {
113
+ if (timer)
114
+ clearTimeout(timer);
115
+ }
116
+ }
117
+ enqueuePublish(content, version) {
118
+ if (!this.publish)
119
+ return;
120
+ if (!this.pendingPublish || version > this.pendingPublish.version) {
121
+ this.pendingPublish = { content, version };
122
+ }
123
+ this.ensurePublishLoop();
124
+ }
125
+ ensurePublishLoop() {
126
+ if (!this.publish || this.publishLoop)
127
+ return;
128
+ this.publishLoop = (async () => {
129
+ while (this.pendingPublish) {
130
+ const candidate = this.pendingPublish;
131
+ try {
132
+ await this.publish(candidate.content, candidate.version);
133
+ if (this.pendingPublish?.version === candidate.version)
134
+ this.pendingPublish = null;
135
+ }
136
+ catch {
137
+ await delay(this.publishRetryMs);
138
+ }
139
+ }
140
+ })().finally(() => {
141
+ this.publishLoop = null;
142
+ if (this.pendingPublish)
143
+ this.ensurePublishLoop();
144
+ });
145
+ }
146
+ prepareDirectory() {
147
+ const directory = dirname(this.path);
148
+ mkdirSync(directory, { recursive: true, mode: 0o700 });
149
+ const stat = lstatSync(directory);
150
+ if (!stat.isDirectory() || stat.isSymbolicLink() || stat.uid !== this.expectedUid ||
151
+ (stat.mode & 0o077) !== 0) {
152
+ throw new Error('activity snapshot directory is not trusted');
153
+ }
154
+ }
155
+ loadBaseline() {
156
+ let snapshotVersion = 0;
157
+ if (existsSync(this.path)) {
158
+ const parsed = JSON.parse(readTrustedFile(this.path, this.expectedUid));
159
+ if (isValidSnapshot(parsed)) {
160
+ snapshotVersion = parsed.version;
161
+ this.lastRealActivityAt = parsed.last_real_activity_at;
162
+ }
163
+ }
164
+ let counterVersion = 0;
165
+ if (existsSync(this.counterPath)) {
166
+ const value = Number(readTrustedFile(this.counterPath, this.expectedUid).trim());
167
+ if (!isVersion(value))
168
+ throw new Error('invalid activity version counter');
169
+ counterVersion = value;
170
+ }
171
+ this.version = Math.max(snapshotVersion, counterVersion);
172
+ }
173
+ }
174
+ function publishToLauncher(content, version, env) {
175
+ return new Promise((resolve, reject) => {
176
+ const child = spawn(env.RUNTIME_LAUNCHER_BINARY || '/app/runtime-launcher', [
177
+ '__ipc-client', 'publish_snapshot', String(version),
178
+ ], {
179
+ stdio: ['pipe', 'ignore', 'ignore'],
180
+ env: {
181
+ HOME: '/var/lib/agent-bridge',
182
+ PATH: '/usr/local/bin:/usr/bin:/bin',
183
+ RUNTIME_LAUNCHER_DIR: env.RUNTIME_LAUNCHER_DIR || '/run/runtime-launcher',
184
+ },
185
+ });
186
+ const timeout = setTimeout(() => child.kill('SIGKILL'), 5_000);
187
+ timeout.unref?.();
188
+ child.once('error', () => {
189
+ clearTimeout(timeout);
190
+ reject(new Error('activity snapshot launcher publish failed'));
191
+ });
192
+ child.once('close', (code) => {
193
+ clearTimeout(timeout);
194
+ if (code === 0)
195
+ resolve();
196
+ else
197
+ reject(new Error('activity snapshot launcher publish failed'));
198
+ });
199
+ child.stdin.on('error', () => undefined);
200
+ child.stdin.end(content);
201
+ });
202
+ }
203
+ function delay(ms) {
204
+ return new Promise(resolve => setTimeout(resolve, ms));
205
+ }
206
+ function readTrustedFile(path, expectedUid) {
207
+ const stat = lstatSync(path);
208
+ if (!stat.isFile() || stat.isSymbolicLink() || stat.uid !== expectedUid ||
209
+ (stat.mode & 0o077) !== 0) {
210
+ throw new Error('activity snapshot file is not trusted');
211
+ }
212
+ return readFileSync(path, 'utf8');
213
+ }
214
+ function currentUid() {
215
+ const uid = process.getuid?.();
216
+ if (uid === undefined)
217
+ throw new Error('activity snapshot requires POSIX ownership checks');
218
+ return uid;
219
+ }
220
+ function isVersion(value) {
221
+ return Number.isSafeInteger(value) && Number(value) >= 0;
222
+ }
223
+ function isValidSnapshot(value) {
224
+ return value.producer === 'agent-bridge-v1' &&
225
+ isVersion(value.version) && value.version > 0 &&
226
+ typeof value.last_real_activity_at === 'string' && !Number.isNaN(Date.parse(value.last_real_activity_at)) &&
227
+ typeof value.captured_at === 'string' && !Number.isNaN(Date.parse(value.captured_at)) &&
228
+ isVersion(value.inflight_task_count) && isVersion(value.queued_task_count);
229
+ }
230
+ function atomicWrite(path, content) {
231
+ const directory = dirname(path);
232
+ const temp = join(directory, `.${path.split('/').pop()}.${process.pid}.${randomBytes(8).toString('hex')}.tmp`);
233
+ const flags = constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW;
234
+ const fd = openSync(temp, flags, 0o600);
235
+ let renamed = false;
236
+ try {
237
+ writeSync(fd, content, undefined, 'utf8');
238
+ fsyncSync(fd);
239
+ closeSync(fd);
240
+ renameSync(temp, path);
241
+ renamed = true;
242
+ const dirFd = openSync(directory, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
243
+ try {
244
+ fsyncSync(dirFd);
245
+ }
246
+ finally {
247
+ closeSync(dirFd);
248
+ }
249
+ }
250
+ finally {
251
+ if (!renamed) {
252
+ try {
253
+ closeSync(fd);
254
+ }
255
+ catch { }
256
+ try {
257
+ unlinkSync(temp);
258
+ }
259
+ catch { }
260
+ }
261
+ }
262
+ }
263
+ //# sourceMappingURL=runtime-activity-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-activity-snapshot.js","sourceRoot":"","sources":["../src/runtime-activity-snapshot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agents-bridge",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "Local Agent Gateway for botlink platform",
5
5
  "homepage": "http://git.51baiwang.com/sk-spec-driven/agent-bridge",
6
6
  "repository": {