@cecwxf/dsh-room 0.1.3 → 0.3.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/README.md +19 -1
- package/dist/client.js +1650 -612
- package/dist/index.js +1585 -84
- package/dist/types/adapter.d.ts +2 -0
- package/dist/types/adapter.d.ts.map +1 -1
- package/dist/types/command-handler.d.ts.map +1 -1
- package/dist/types/commands.d.ts +16 -0
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/http.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/isolation.d.ts +82 -0
- package/dist/types/isolation.d.ts.map +1 -0
- package/dist/types/local-agents.d.ts +59 -0
- package/dist/types/local-agents.d.ts.map +1 -0
- package/dist/types/orchestrator.d.ts +96 -0
- package/dist/types/orchestrator.d.ts.map +1 -0
- package/dist/types/plugin.d.ts +349 -11
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/state.d.ts +7 -0
- package/dist/types/state.d.ts.map +1 -1
- package/package.json +5 -3
package/dist/types/adapter.d.ts
CHANGED
|
@@ -157,5 +157,7 @@ export interface DshCollabConfig {
|
|
|
157
157
|
wakeOnReplies: boolean;
|
|
158
158
|
/** Upper bound on wakes per minute (loop guard). Default 6. */
|
|
159
159
|
maxWakesPerMinute: number;
|
|
160
|
+
/** How local agent runs execute: "dsh" (real sessions, default) or "mock" (deterministic, no model calls). */
|
|
161
|
+
localAgentRunner?: "dsh" | "mock";
|
|
160
162
|
}
|
|
161
163
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/command-handler.ts"],"names":[],"mappings":"AAAA,yHAAyH;AACzH,OAAO,KAAK,EAAE,iBAAiB,EAAoC,MAAM,cAAc,CAAC;AAExF,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AAU1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../../src/command-handler.ts"],"names":[],"mappings":"AAAA,yHAAyH;AACzH,OAAO,KAAK,EAAE,iBAAiB,EAAoC,MAAM,cAAc,CAAC;AAExF,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AAU1D,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAwIrE"}
|
package/dist/types/commands.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export type CollabCommand = {
|
|
|
12
12
|
description?: string;
|
|
13
13
|
tags: string[];
|
|
14
14
|
public: boolean;
|
|
15
|
+
localOnly?: boolean;
|
|
15
16
|
} | {
|
|
16
17
|
op: "join";
|
|
17
18
|
invite: string;
|
|
@@ -45,6 +46,21 @@ export type CollabCommand = {
|
|
|
45
46
|
limit: number;
|
|
46
47
|
} | {
|
|
47
48
|
op: "leave";
|
|
49
|
+
} | {
|
|
50
|
+
op: "agents";
|
|
51
|
+
} | {
|
|
52
|
+
op: "agent-add";
|
|
53
|
+
preset?: string;
|
|
54
|
+
name?: string;
|
|
55
|
+
} | {
|
|
56
|
+
op: "agent-rm";
|
|
57
|
+
agent: string;
|
|
58
|
+
} | {
|
|
59
|
+
op: "stop";
|
|
60
|
+
agent?: string;
|
|
61
|
+
} | {
|
|
62
|
+
op: "transport";
|
|
63
|
+
target: "local" | "relay" | "lan";
|
|
48
64
|
} | {
|
|
49
65
|
op: "error";
|
|
50
66
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,GAChB;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,GAChB;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3G;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,GACf;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,GAChB;IAAE,EAAE,EAAE,SAAS,CAAA;CAAE,GACjB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,GACf;IAAE,EAAE,EAAE,QAAQ,CAAA;CAAE,GAChB;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAIrC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAItD;AAED,eAAO,MAAM,IAAI,QAoBL,CAAC;AAEb,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CA6GlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAuB7D;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;wBAIC,OAAO;;;;;;;;;;CAQ1B,CAAC"}
|
package/dist/types/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,GAAG,gBAAgB,CAAC;AAGjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;CACvJ;AACD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D;AAkCD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,GAAG,SAAS,IACnF,KAAK,eAAe,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,GAAG,gBAAgB,CAAC;AAGjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,MAAM,IAAI,CAAC;CACvJ;AACD,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D;AAkCD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,GAAG,SAAS,IACnF,KAAK,eAAe,EAAE,KAAK,cAAc,mBA8IxD;AAyBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,IAAI,CAEvI"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export declare const name = "dsh-room";
|
|
|
10
10
|
/** Only the tool registry is required; commands/webServer/agent services are optional. */
|
|
11
11
|
export declare const inject: string[];
|
|
12
12
|
export { Config, normalizeConfig, CollabBridge };
|
|
13
|
+
export { mockLocalRunner } from "./plugin.js";
|
|
14
|
+
export { AGENT_PRESETS } from "./local-agents.js";
|
|
13
15
|
export type * from "./adapter.js";
|
|
14
16
|
export declare function apply(ctx: HostContext, config: DshCollabConfig): void;
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,0FAA0F;AAC1F,eAAO,MAAM,MAAM,UAAY,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AACjD,mBAAmB,cAAc,CAAC;AAElC,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,QAmB9D"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE,eAAO,MAAM,IAAI,aAAa,CAAC;AAC/B,0FAA0F;AAC1F,eAAO,MAAM,MAAM,UAAY,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,mBAAmB,cAAc,CAAC;AAElC,wBAAgB,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,QAmB9D"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export interface GitResult {
|
|
2
|
+
code: number;
|
|
3
|
+
stdout: string;
|
|
4
|
+
stderr: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function git(cwd: string, args: string[], opts?: {
|
|
7
|
+
identity?: string;
|
|
8
|
+
}): Promise<GitResult>;
|
|
9
|
+
/** Repo top-level for a path, or null when not a git work tree (or no commits yet). */
|
|
10
|
+
export declare function gitTop(path: string): Promise<string | null>;
|
|
11
|
+
export declare function worktreeBranch(roomName: string, roomId: string, agentId: string): string;
|
|
12
|
+
export declare function worktreeDir(repo: string, roomId: string, agentId: string): string;
|
|
13
|
+
export interface WorktreeInfo {
|
|
14
|
+
repo: string;
|
|
15
|
+
path: string;
|
|
16
|
+
branch: string;
|
|
17
|
+
}
|
|
18
|
+
/** Create (or reuse) the agent's worktree on its own branch from the repo's current HEAD. */
|
|
19
|
+
export declare function ensureWorktree(repo: string, roomName: string, roomId: string, agentId: string): Promise<WorktreeInfo>;
|
|
20
|
+
/** Commit whatever the agent left uncommitted in its worktree (attributed to the agent). */
|
|
21
|
+
export declare function commitPending(wt: WorktreeInfo, agentId: string): Promise<boolean>;
|
|
22
|
+
export interface DiffFile {
|
|
23
|
+
path: string;
|
|
24
|
+
adds: number;
|
|
25
|
+
dels: number;
|
|
26
|
+
}
|
|
27
|
+
export interface WorktreeDiff {
|
|
28
|
+
agentId: string;
|
|
29
|
+
branch: string;
|
|
30
|
+
path: string;
|
|
31
|
+
ahead: number;
|
|
32
|
+
files: DiffFile[];
|
|
33
|
+
patch: string;
|
|
34
|
+
truncated: boolean;
|
|
35
|
+
/** Files that would conflict when merged into the main workspace HEAD (git merge-tree precheck). */
|
|
36
|
+
conflicts: string[];
|
|
37
|
+
mainDirty: string[];
|
|
38
|
+
}
|
|
39
|
+
export declare function worktreeDiff(wt: WorktreeInfo, agentId: string): Promise<WorktreeDiff>;
|
|
40
|
+
/** Conflict precheck without touching the work tree (git >= 2.38). */
|
|
41
|
+
export declare function mergeConflicts(repo: string, branch: string): Promise<string[]>;
|
|
42
|
+
/** Snapshot of uncommitted main-workspace changes (porcelain lines, excluding .dsh-room/). */
|
|
43
|
+
export declare function mainStatus(repo: string): Promise<Set<string>>;
|
|
44
|
+
export interface MergeResult {
|
|
45
|
+
ok: boolean;
|
|
46
|
+
merged: boolean;
|
|
47
|
+
conflicts?: string[];
|
|
48
|
+
error?: string;
|
|
49
|
+
commit?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Merge the agent branch into the main workspace's current branch. Aborts cleanly on conflict. */
|
|
52
|
+
export declare function mergeWorktree(wt: WorktreeInfo, agentId: string): Promise<MergeResult>;
|
|
53
|
+
/** Throw away the agent's worktree and branch (a fresh one is created on its next run). */
|
|
54
|
+
export declare function discardWorktree(wt: WorktreeInfo): Promise<void>;
|
|
55
|
+
/** Advisory file locks for non-git workspaces. Paths are workspace-relative and normalized. */
|
|
56
|
+
export declare class FileLocks {
|
|
57
|
+
private root;
|
|
58
|
+
private ttlMs;
|
|
59
|
+
private locks;
|
|
60
|
+
constructor(root: string, ttlMs?: number);
|
|
61
|
+
norm(p: string): string;
|
|
62
|
+
private sweep;
|
|
63
|
+
/** All-or-nothing acquire. */
|
|
64
|
+
acquire(paths: string[], owner: string): {
|
|
65
|
+
ok: true;
|
|
66
|
+
locked: string[];
|
|
67
|
+
} | {
|
|
68
|
+
ok: false;
|
|
69
|
+
held: {
|
|
70
|
+
path: string;
|
|
71
|
+
owner: string;
|
|
72
|
+
}[];
|
|
73
|
+
};
|
|
74
|
+
release(owner: string, paths?: string[]): number;
|
|
75
|
+
holder(path: string): string | undefined;
|
|
76
|
+
list(): {
|
|
77
|
+
path: string;
|
|
78
|
+
owner: string;
|
|
79
|
+
at: number;
|
|
80
|
+
}[];
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=isolation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolation.d.ts","sourceRoot":"","sources":["../../src/isolation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Local agent members: several agents hosted by ONE dsh, each an independent room member
|
|
3
|
+
* (own Ed25519 identity, own dsh session, own scope). Remote peers just see more members.
|
|
4
|
+
*/
|
|
5
|
+
import type { ReasoningEffort } from "./member-config.js";
|
|
6
|
+
export type AgentScope = "read" | "write";
|
|
7
|
+
export type IsolationMode = "auto" | "worktree" | "locks" | "off";
|
|
8
|
+
export interface LocalAgentConfig {
|
|
9
|
+
/** Stable local id (slug of the name). */
|
|
10
|
+
id: string;
|
|
11
|
+
/** Room member id (what peers see and @mention), e.g. "coder.k3f9". */
|
|
12
|
+
agentId: string;
|
|
13
|
+
/** Display / persona name, e.g. "Coder". */
|
|
14
|
+
name: string;
|
|
15
|
+
/** One-line role description shown to other agents. */
|
|
16
|
+
persona?: string;
|
|
17
|
+
/** Extra instructions prepended to every wake of this agent. */
|
|
18
|
+
systemPrompt?: string;
|
|
19
|
+
model?: string;
|
|
20
|
+
provider?: string;
|
|
21
|
+
reasoningEffort?: ReasoningEffort;
|
|
22
|
+
/** read: read-only session in the main workspace; write: may edit (own worktree when git). */
|
|
23
|
+
scope: AgentScope;
|
|
24
|
+
/** Every run needs a user approval before it starts. */
|
|
25
|
+
approvalRequired: boolean;
|
|
26
|
+
/** Room moderator: decomposes requests into tasks for the others and summarizes. */
|
|
27
|
+
moderator?: boolean;
|
|
28
|
+
createdAt: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RoomLocalSettings {
|
|
31
|
+
agents: LocalAgentConfig[];
|
|
32
|
+
/** Max agent-originated wakes per task/thread before the room pauses that thread. */
|
|
33
|
+
turnLimit: number;
|
|
34
|
+
/** Max local agent runs in parallel; the rest wait in a visible queue. */
|
|
35
|
+
concurrency: number;
|
|
36
|
+
/** In-process loopback transport (no network) — only valid while all members are local. */
|
|
37
|
+
loopback: boolean;
|
|
38
|
+
isolation: IsolationMode;
|
|
39
|
+
}
|
|
40
|
+
export declare const DEFAULT_TURN_LIMIT = 6;
|
|
41
|
+
export declare const DEFAULT_CONCURRENCY = 2;
|
|
42
|
+
export declare function defaultLocalSettings(): RoomLocalSettings;
|
|
43
|
+
export declare function normalizeLocalSettings(s?: Partial<RoomLocalSettings> | null): RoomLocalSettings;
|
|
44
|
+
export interface AgentPreset {
|
|
45
|
+
key: string;
|
|
46
|
+
name: string;
|
|
47
|
+
persona: string;
|
|
48
|
+
systemPrompt: string;
|
|
49
|
+
scope: AgentScope;
|
|
50
|
+
moderator?: boolean;
|
|
51
|
+
reasoningEffort?: ReasoningEffort;
|
|
52
|
+
}
|
|
53
|
+
export declare const AGENT_PRESETS: AgentPreset[];
|
|
54
|
+
export declare function slugify(s: string): string;
|
|
55
|
+
/** Member id for a local agent: <slug>.<host tag>, unique among `taken`. Valid @mention token. */
|
|
56
|
+
export declare function localAgentId(name: string, hostAgentId: string, taken: Iterable<string>): string;
|
|
57
|
+
/** Validate + clean a user-supplied agent patch (never trusts ids/agentId from the client). */
|
|
58
|
+
export declare function sanitizeAgentInput(input: Record<string, unknown>): Partial<LocalAgentConfig>;
|
|
59
|
+
//# sourceMappingURL=local-agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-agents.d.ts","sourceRoot":"","sources":["../../src/local-agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAC1C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8FAA8F;IAC9F,KAAK,EAAE,UAAU,CAAC;IAClB,wDAAwD;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,iBAAiB,CAU/F;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,eAAO,MAAM,aAAa,EAAE,WAAW,EAmCtC,CAAC;AAEF,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASzC;AAED,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAO/F;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkB5F"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orchestration core for local multi-agent rooms (pure, unit-tested):
|
|
3
|
+
* - routeLocalTargets: which local agents a room payload wakes (@agent → that one, @all → all workers in parallel,
|
|
4
|
+
* tasks → assignee / moderator). Only addressed agents respond; plain replies wake nobody.
|
|
5
|
+
* - ThreadTracker: agent-to-agent turn limit per task/thread (human posts reset the budget).
|
|
6
|
+
* - RunScheduler: concurrency cap for local agent runs with a visible FIFO queue and Stop.
|
|
7
|
+
*/
|
|
8
|
+
import type { LocalAgentConfig } from "./local-agents.js";
|
|
9
|
+
export interface RoutablePayload {
|
|
10
|
+
kind: string;
|
|
11
|
+
messageId: string;
|
|
12
|
+
sender: string;
|
|
13
|
+
mentions?: string[];
|
|
14
|
+
replyTo?: string;
|
|
15
|
+
taskId?: string;
|
|
16
|
+
assignee?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface RouteResult {
|
|
19
|
+
targets: string[];
|
|
20
|
+
reason: "mention" | "all" | "task" | "task-moderator" | "none";
|
|
21
|
+
}
|
|
22
|
+
/** Resolve a mention token to a local agent: exact agentId, else unique slug/name alias (e.g. "@coder"). */
|
|
23
|
+
export declare function resolveLocalMention(token: string, agents: LocalAgentConfig[]): LocalAgentConfig | undefined;
|
|
24
|
+
export declare function routeLocalTargets(p: RoutablePayload, agents: LocalAgentConfig[]): RouteResult;
|
|
25
|
+
/** Turn budget per thread. A thread is a task (`task:<id>`) or a reply chain rooted at a human/new message. */
|
|
26
|
+
export declare class ThreadTracker {
|
|
27
|
+
limit: number;
|
|
28
|
+
private threadOf;
|
|
29
|
+
private turns;
|
|
30
|
+
private notified;
|
|
31
|
+
constructor(limit: number);
|
|
32
|
+
/** Thread of a payload: task id, known reply chain, the sender's current run thread, else a new thread. */
|
|
33
|
+
threadFor(p: RoutablePayload, senderRunThread?: string): string;
|
|
34
|
+
/** Record a message (or `task:<id>`) as belonging to a thread. */
|
|
35
|
+
note(id: string, thread: string): void;
|
|
36
|
+
/** A human post opens a fresh budget for its thread. */
|
|
37
|
+
reset(thread: string): void;
|
|
38
|
+
used(thread: string): number;
|
|
39
|
+
/** Consume up to n turns; returns how many are allowed (0 when the thread is at its limit). */
|
|
40
|
+
consume(thread: string, n: number): number;
|
|
41
|
+
/** True once per thread when the limit first blocks it (so the room is told exactly once). */
|
|
42
|
+
shouldNotify(thread: string): boolean;
|
|
43
|
+
}
|
|
44
|
+
export type RunState = "approval" | "queued" | "running" | "done" | "failed" | "stopped";
|
|
45
|
+
export interface RunRequest {
|
|
46
|
+
roomId: string;
|
|
47
|
+
agentId: string;
|
|
48
|
+
threadId: string;
|
|
49
|
+
reason: string;
|
|
50
|
+
/** Message/task that triggered the run. */
|
|
51
|
+
triggerId?: string;
|
|
52
|
+
/** Human-readable trigger summary for the queue UI. */
|
|
53
|
+
summary: string;
|
|
54
|
+
/** Optional pre-queue gate (e.g. user approval); false → run is stopped without starting. */
|
|
55
|
+
gate?: () => Promise<boolean>;
|
|
56
|
+
[k: string]: unknown;
|
|
57
|
+
}
|
|
58
|
+
export interface RunInfo {
|
|
59
|
+
id: string;
|
|
60
|
+
roomId: string;
|
|
61
|
+
agentId: string;
|
|
62
|
+
threadId: string;
|
|
63
|
+
reason: string;
|
|
64
|
+
triggerId?: string;
|
|
65
|
+
summary: string;
|
|
66
|
+
state: RunState;
|
|
67
|
+
enqueuedAt: number;
|
|
68
|
+
startedAt?: number;
|
|
69
|
+
endedAt?: number;
|
|
70
|
+
error?: string;
|
|
71
|
+
}
|
|
72
|
+
type Exec = (run: RunInfo, req: RunRequest, signal: AbortSignal) => Promise<void>;
|
|
73
|
+
export declare class RunScheduler {
|
|
74
|
+
private exec;
|
|
75
|
+
private limitFor;
|
|
76
|
+
private onChange;
|
|
77
|
+
private runs;
|
|
78
|
+
private reqs;
|
|
79
|
+
private aborts;
|
|
80
|
+
private idleWaiters;
|
|
81
|
+
constructor(exec: Exec, limitFor: (roomId: string) => number, onChange?: () => void);
|
|
82
|
+
enqueue(req: RunRequest): RunInfo;
|
|
83
|
+
/** Active (approval/queued/running) runs plus the most recent finished ones. */
|
|
84
|
+
list(roomId?: string, finished?: number): RunInfo[];
|
|
85
|
+
running(roomId: string): number;
|
|
86
|
+
/** Stop every queued/running run in a room (optionally one agent). Returns how many were stopped. */
|
|
87
|
+
stop(roomId: string, agentId?: string): number;
|
|
88
|
+
/** Resolves when no run is approval/queued/running (tests, e2e). */
|
|
89
|
+
whenIdle(): Promise<void>;
|
|
90
|
+
private pump;
|
|
91
|
+
private start;
|
|
92
|
+
private finish;
|
|
93
|
+
private changed;
|
|
94
|
+
}
|
|
95
|
+
export {};
|
|
96
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator.ts"],"names":[],"mappings":"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"}
|