agent-tasks 1.9.18 → 1.9.19
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/agent-desk-plugin.json +1 -1
- package/dist/domain/events.d.ts +3 -7
- package/dist/domain/events.d.ts.map +1 -1
- package/dist/domain/events.js +9 -48
- package/dist/domain/events.js.map +1 -1
- package/dist/package-meta.d.ts +2 -4
- package/dist/package-meta.d.ts.map +1 -1
- package/dist/package-meta.js +9 -20
- package/dist/package-meta.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +22 -24
- package/dist/server.js.map +1 -1
- package/package.json +2 -1
package/agent-desk-plugin.json
CHANGED
package/dist/domain/events.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export declare class EventBus {
|
|
4
|
-
private readonly listeners;
|
|
5
|
-
emit(type: EventType, data?: Record<string, unknown>): void;
|
|
6
|
-
on(type: EventType | '*', handler: EventHandler): () => void;
|
|
1
|
+
import { EventBus as KitEventBus } from 'agent-common';
|
|
2
|
+
import type { EventType } from '../types.js';
|
|
3
|
+
export declare class EventBus extends KitEventBus<EventType> {
|
|
7
4
|
listenerCount(type?: EventType | '*'): number;
|
|
8
|
-
removeAll(): void;
|
|
9
5
|
}
|
|
10
6
|
//# sourceMappingURL=events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/domain/events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/domain/events.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,QAAS,SAAQ,WAAW,CAAC,SAAS,CAAC;IAClD,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,MAAM;CAU9C"}
|
package/dist/domain/events.js
CHANGED
|
@@ -1,61 +1,22 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// agent-tasks — Event bus
|
|
3
3
|
//
|
|
4
|
-
//
|
|
4
|
+
// Thin extension of agent-common's generic EventBus, parameterized to the
|
|
5
|
+
// agent-tasks event vocabulary defined in ../types.ts. The base class provides
|
|
6
|
+
// emit/on/removeAll; this subclass adds listenerCount for diagnostics.
|
|
5
7
|
// =============================================================================
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
emit(type, data = {}) {
|
|
9
|
-
const event = {
|
|
10
|
-
type,
|
|
11
|
-
timestamp: new Date().toISOString(),
|
|
12
|
-
data,
|
|
13
|
-
};
|
|
14
|
-
const specific = this.listeners.get(type);
|
|
15
|
-
if (specific) {
|
|
16
|
-
for (const h of specific) {
|
|
17
|
-
try {
|
|
18
|
-
h(event);
|
|
19
|
-
}
|
|
20
|
-
catch (err) {
|
|
21
|
-
process.stderr.write(`[agent-tasks] Event handler error (${type}): ${err instanceof Error ? err.message : String(err)}\n`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
const wildcards = this.listeners.get('*');
|
|
26
|
-
if (wildcards) {
|
|
27
|
-
for (const h of wildcards) {
|
|
28
|
-
try {
|
|
29
|
-
h(event);
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
process.stderr.write(`[agent-tasks] Event handler error (*): ${err instanceof Error ? err.message : String(err)}\n`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
on(type, handler) {
|
|
38
|
-
let set = this.listeners.get(type);
|
|
39
|
-
if (!set) {
|
|
40
|
-
set = new Set();
|
|
41
|
-
this.listeners.set(type, set);
|
|
42
|
-
}
|
|
43
|
-
set.add(handler);
|
|
44
|
-
return () => {
|
|
45
|
-
set.delete(handler);
|
|
46
|
-
};
|
|
47
|
-
}
|
|
8
|
+
import { EventBus as KitEventBus } from 'agent-common';
|
|
9
|
+
export class EventBus extends KitEventBus {
|
|
48
10
|
listenerCount(type) {
|
|
11
|
+
const listeners = this
|
|
12
|
+
.listeners;
|
|
49
13
|
if (type) {
|
|
50
|
-
return
|
|
14
|
+
return listeners.get(type)?.size ?? 0;
|
|
51
15
|
}
|
|
52
16
|
let total = 0;
|
|
53
|
-
for (const set of
|
|
17
|
+
for (const set of listeners.values())
|
|
54
18
|
total += set.size;
|
|
55
19
|
return total;
|
|
56
20
|
}
|
|
57
|
-
removeAll() {
|
|
58
|
-
this.listeners.clear();
|
|
59
|
-
}
|
|
60
21
|
}
|
|
61
22
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/domain/events.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,0BAA0B;AAC1B,EAAE;AACF,+
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/domain/events.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,0BAA0B;AAC1B,EAAE;AACF,0EAA0E;AAC1E,+EAA+E;AAC/E,uEAAuE;AACvE,gFAAgF;AAEhF,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,OAAO,QAAS,SAAQ,WAAsB;IAClD,aAAa,CAAC,IAAsB;QAClC,MAAM,SAAS,GAAI,IAAqE;aACrF,SAAS,CAAC;QACb,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE;YAAE,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/package-meta.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-meta.d.ts","sourceRoot":"","sources":["../src/package-meta.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-meta.d.ts","sourceRoot":"","sources":["../src/package-meta.ts"],"names":[],"mappings":"AAQA,OAAO,EAAyC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvF,wBAAgB,eAAe,IAAI,WAAW,CAM7C"}
|
package/dist/package-meta.js
CHANGED
|
@@ -1,27 +1,16 @@
|
|
|
1
1
|
// =============================================================================
|
|
2
2
|
// agent-tasks — package.json metadata (name + version)
|
|
3
3
|
//
|
|
4
|
-
//
|
|
4
|
+
// Thin wrapper around agent-common's readPackageMeta, locked to agent-tasks'
|
|
5
|
+
// own package.json so MCP initialize and WebSocket payloads always read the
|
|
6
|
+
// authoritative version.
|
|
5
7
|
// =============================================================================
|
|
6
|
-
import {
|
|
7
|
-
import { dirname, join } from 'path';
|
|
8
|
-
import { fileURLToPath } from 'url';
|
|
9
|
-
const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
let cached = null;
|
|
8
|
+
import { readPackageMeta as readKitPackageMeta } from 'agent-common';
|
|
11
9
|
export function readPackageMeta() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
cached = {
|
|
18
|
-
name: typeof pkg.name === 'string' ? pkg.name : 'agent-tasks',
|
|
19
|
-
version: typeof pkg.version === 'string' ? pkg.version : '0.0.0',
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
cached = { name: 'agent-tasks', version: '0.0.0' };
|
|
24
|
-
}
|
|
25
|
-
return cached;
|
|
10
|
+
return readKitPackageMeta({
|
|
11
|
+
importMetaUrl: import.meta.url,
|
|
12
|
+
fallbackName: 'agent-tasks',
|
|
13
|
+
fallbackVersion: '0.0.0',
|
|
14
|
+
});
|
|
26
15
|
}
|
|
27
16
|
//# sourceMappingURL=package-meta.js.map
|
package/dist/package-meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-meta.js","sourceRoot":"","sources":["../src/package-meta.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"package-meta.js","sourceRoot":"","sources":["../src/package-meta.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,yBAAyB;AACzB,gFAAgF;AAEhF,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAoB,MAAM,cAAc,CAAC;AAEvF,MAAM,UAAU,eAAe;IAC7B,OAAO,kBAAkB,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;QAC9B,YAAY,EAAE,aAAa;QAC3B,eAAe,EAAE,OAAO;KACzB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/server.d.ts
CHANGED
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAO9D,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf;AAQD,wBAAsB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CA4B3F"}
|
package/dist/server.js
CHANGED
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
// Standalone web server for the pipeline dashboard and REST API.
|
|
6
6
|
// Can be started manually: node dist/server.js [--port 3422]
|
|
7
7
|
// Or auto-started from the MCP server via leader election.
|
|
8
|
+
// Built on agent-common's startDashboard for the leader-election + EADDRINUSE
|
|
9
|
+
// handling boilerplate. The UI file watcher is wired in onListen.
|
|
8
10
|
// =============================================================================
|
|
9
|
-
import {
|
|
11
|
+
import { startDashboard as startKitDashboard, } from 'agent-common';
|
|
10
12
|
import { watch } from 'fs';
|
|
11
13
|
import { resolve, join, dirname } from 'path';
|
|
12
14
|
import { fileURLToPath } from 'url';
|
|
@@ -14,44 +16,40 @@ import { createContext } from './context.js';
|
|
|
14
16
|
import { createRouter } from './transport/rest.js';
|
|
15
17
|
import { setupWebSocket } from './transport/ws.js';
|
|
16
18
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
|
-
/** Returns the argv element immediately after `flag`, or `undefined` if missing. */
|
|
18
19
|
function getCliArgAfterFlag(argv, flag) {
|
|
19
20
|
const i = argv.indexOf(flag);
|
|
20
21
|
if (i === -1 || i + 1 >= argv.length)
|
|
21
22
|
return undefined;
|
|
22
23
|
return argv[i + 1];
|
|
23
24
|
}
|
|
24
|
-
export function startDashboard(ctx, port = 3422) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
reject(new Error(`Port ${port} in use`));
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
reject(err);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
httpServer.listen(port, () => {
|
|
25
|
+
export async function startDashboard(ctx, port = 3422) {
|
|
26
|
+
const router = createRouter(ctx);
|
|
27
|
+
let wsHandle = null;
|
|
28
|
+
let fileWatcher = null;
|
|
29
|
+
const kit = await startKitDashboard({
|
|
30
|
+
port,
|
|
31
|
+
handler: router,
|
|
32
|
+
onListen: (httpServer) => {
|
|
39
33
|
wsHandle = setupWebSocket(httpServer, ctx);
|
|
40
34
|
fileWatcher = startFileWatcher(wsHandle);
|
|
41
|
-
|
|
42
|
-
resolve({
|
|
43
|
-
httpServer,
|
|
44
|
-
port,
|
|
35
|
+
return {
|
|
45
36
|
close() {
|
|
46
37
|
if (fileWatcher)
|
|
47
38
|
fileWatcher.close();
|
|
48
39
|
if (wsHandle)
|
|
49
40
|
wsHandle.close();
|
|
50
|
-
httpServer.close();
|
|
51
41
|
},
|
|
52
|
-
}
|
|
53
|
-
}
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
banner: (p) => `agent-tasks dashboard: http://localhost:${p}`,
|
|
54
45
|
});
|
|
46
|
+
return {
|
|
47
|
+
httpServer: kit.httpServer,
|
|
48
|
+
port: kit.port,
|
|
49
|
+
close() {
|
|
50
|
+
kit.close();
|
|
51
|
+
},
|
|
52
|
+
};
|
|
55
53
|
}
|
|
56
54
|
// ---------------------------------------------------------------------------
|
|
57
55
|
// UI file watcher — triggers livereload on connected clients
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,iEAAiE;AACjE,6DAA6D;AAC7D,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-tasks",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.19",
|
|
4
4
|
"description": "Pipeline-driven task management for AI coding agents — stages, dependencies, artifacts, and multi-agent claiming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
]
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
+
"agent-common": "^1.0.0",
|
|
51
52
|
"better-sqlite3": "^12.8.0",
|
|
52
53
|
"morphdom": "^2.7.8",
|
|
53
54
|
"ws": "^8.20.0"
|