@electric-agent/studio 1.13.1 → 1.14.2
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/bridge/message-parser.d.ts +3 -3
- package/dist/bridge/message-parser.d.ts.map +1 -1
- package/dist/bridge/message-parser.js +3 -3
- package/dist/bridge/message-parser.js.map +1 -1
- package/dist/client/assets/{index-IvCtVUfs.css → index-BSGS-yya.css} +1 -1
- package/dist/client/assets/{index-BXdgNRgB.js → index-qUqEqKXn.js} +35 -35
- package/dist/client/index.html +2 -2
- package/dist/room-router.d.ts +13 -0
- package/dist/room-router.d.ts.map +1 -1
- package/dist/room-router.js +29 -1
- package/dist/room-router.js.map +1 -1
- package/dist/server.d.ts +2 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +60 -68
- package/dist/server.js.map +1 -1
- package/package.json +7 -2
- package/dist/bridge/codex-docker.d.ts +0 -70
- package/dist/bridge/codex-docker.d.ts.map +0 -1
- package/dist/bridge/codex-docker.js +0 -234
- package/dist/bridge/codex-docker.js.map +0 -1
- package/dist/bridge/codex-json-parser.d.ts +0 -31
- package/dist/bridge/codex-json-parser.d.ts.map +0 -1
- package/dist/bridge/codex-json-parser.js +0 -267
- package/dist/bridge/codex-json-parser.js.map +0 -1
- package/dist/bridge/codex-md-generator.d.ts +0 -14
- package/dist/bridge/codex-md-generator.d.ts.map +0 -1
- package/dist/bridge/codex-md-generator.js +0 -55
- package/dist/bridge/codex-md-generator.js.map +0 -1
- package/dist/bridge/codex-sprites.d.ts +0 -64
- package/dist/bridge/codex-sprites.d.ts.map +0 -1
- package/dist/bridge/codex-sprites.js +0 -227
- package/dist/bridge/codex-sprites.js.map +0 -1
- package/dist/bridge/daytona.d.ts +0 -35
- package/dist/bridge/daytona.d.ts.map +0 -1
- package/dist/bridge/daytona.js +0 -141
- package/dist/bridge/daytona.js.map +0 -1
- package/dist/bridge/docker-stdio.d.ts +0 -30
- package/dist/bridge/docker-stdio.d.ts.map +0 -1
- package/dist/bridge/docker-stdio.js +0 -135
- package/dist/bridge/docker-stdio.js.map +0 -1
- package/dist/bridge/sprites.d.ts +0 -32
- package/dist/bridge/sprites.d.ts.map +0 -1
- package/dist/bridge/sprites.js +0 -133
- package/dist/bridge/sprites.js.map +0 -1
- package/dist/github-app.test.d.ts +0 -2
- package/dist/github-app.test.d.ts.map +0 -1
- package/dist/github-app.test.js +0 -62
- package/dist/github-app.test.js.map +0 -1
- package/dist/sandbox/daytona-push.d.ts +0 -3
- package/dist/sandbox/daytona-push.d.ts.map +0 -1
- package/dist/sandbox/daytona-push.js +0 -56
- package/dist/sandbox/daytona-push.js.map +0 -1
- package/dist/sandbox/daytona-registry.d.ts +0 -41
- package/dist/sandbox/daytona-registry.d.ts.map +0 -1
- package/dist/sandbox/daytona-registry.js +0 -127
- package/dist/sandbox/daytona-registry.js.map +0 -1
- package/dist/sandbox/daytona.d.ts +0 -41
- package/dist/sandbox/daytona.d.ts.map +0 -1
- package/dist/sandbox/daytona.js +0 -282
- package/dist/sandbox/daytona.js.map +0 -1
- package/dist/shared-sessions.d.ts +0 -16
- package/dist/shared-sessions.d.ts.map +0 -1
- package/dist/shared-sessions.js +0 -52
- package/dist/shared-sessions.js.map +0 -1
package/dist/client/index.html
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="icon" type="image/svg+xml" href="/img/brand/favicon.svg" />
|
|
8
8
|
<link rel="icon" type="image/png" href="/img/brand/favicon.png" />
|
|
9
9
|
<link rel="shortcut icon" href="/favicon.ico" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-qUqEqKXn.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BSGS-yya.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
package/dist/room-router.d.ts
CHANGED
|
@@ -13,9 +13,17 @@ export interface RoomParticipant {
|
|
|
13
13
|
role?: string;
|
|
14
14
|
bridge: SessionBridge;
|
|
15
15
|
}
|
|
16
|
+
export interface RepoInfo {
|
|
17
|
+
/** GitHub repository URL (e.g. https://github.com/org/repo) */
|
|
18
|
+
url: string | null;
|
|
19
|
+
/** Branch the coder is working on (default: main) */
|
|
20
|
+
branch: string;
|
|
21
|
+
}
|
|
16
22
|
export interface RoomRouterOptions {
|
|
17
23
|
/** Maximum rounds before the room auto-closes (default: 20) */
|
|
18
24
|
maxRounds?: number;
|
|
25
|
+
/** Repository information to share with all agents at discovery time */
|
|
26
|
+
repoInfo?: RepoInfo;
|
|
19
27
|
}
|
|
20
28
|
export declare class RoomRouter {
|
|
21
29
|
readonly roomId: string;
|
|
@@ -23,6 +31,7 @@ export declare class RoomRouter {
|
|
|
23
31
|
private readonly streamConfig;
|
|
24
32
|
private readonly maxRounds;
|
|
25
33
|
private readonly _participants;
|
|
34
|
+
private _repoInfo;
|
|
26
35
|
private _state;
|
|
27
36
|
private _roundCount;
|
|
28
37
|
private cancelSubscription;
|
|
@@ -31,6 +40,10 @@ export declare class RoomRouter {
|
|
|
31
40
|
get participants(): RoomParticipant[];
|
|
32
41
|
get state(): "active" | "closed";
|
|
33
42
|
get roundCount(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Update the repository info (e.g. after the GitHub repo is created).
|
|
45
|
+
*/
|
|
46
|
+
setRepoInfo(info: RepoInfo): void;
|
|
34
47
|
/**
|
|
35
48
|
* Add an agent to the room.
|
|
36
49
|
* Reads stream history for discovery context, sends discovery prompt to agent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-router.d.ts","sourceRoot":"","sources":["../src/room-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAE7E,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,aAAa,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"room-router.d.ts","sourceRoot":"","sources":["../src/room-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAA+B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAE7E,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,aAAa,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ;IACxB,+DAA+D;IAC/D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB;AAOD,qBAAa,UAAU;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAElC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IACvE,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,MAAM,CAAe;gBAG5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,iBAAiB;IAkB5B,IAAI,YAAY,IAAI,eAAe,EAAE,CAEpC;IAED,IAAI,KAAK,IAAI,QAAQ,GAAG,QAAQ,CAE/B;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAIjC;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAqChF;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBzD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazE;;;OAGG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8EvE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;YACW,cAAc;IAsD5B;;OAEG;YACW,iBAAiB;IAwE/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CA8D5B"}
|
package/dist/room-router.js
CHANGED
|
@@ -17,6 +17,7 @@ export class RoomRouter {
|
|
|
17
17
|
streamConfig;
|
|
18
18
|
maxRounds;
|
|
19
19
|
_participants = new Map();
|
|
20
|
+
_repoInfo;
|
|
20
21
|
_state = "active";
|
|
21
22
|
_roundCount = 0;
|
|
22
23
|
cancelSubscription = null;
|
|
@@ -26,6 +27,7 @@ export class RoomRouter {
|
|
|
26
27
|
this.roomName = roomName;
|
|
27
28
|
this.streamConfig = streamConfig;
|
|
28
29
|
this.maxRounds = options?.maxRounds ?? 20;
|
|
30
|
+
this._repoInfo = options?.repoInfo ?? null;
|
|
29
31
|
const conn = getRoomStreamConnectionInfo(roomId, streamConfig);
|
|
30
32
|
this.stream = new DurableStream({
|
|
31
33
|
url: conn.url,
|
|
@@ -43,6 +45,12 @@ export class RoomRouter {
|
|
|
43
45
|
get roundCount() {
|
|
44
46
|
return this._roundCount;
|
|
45
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Update the repository info (e.g. after the GitHub repo is created).
|
|
50
|
+
*/
|
|
51
|
+
setRepoInfo(info) {
|
|
52
|
+
this._repoInfo = info;
|
|
53
|
+
}
|
|
46
54
|
/**
|
|
47
55
|
* Add an agent to the room.
|
|
48
56
|
* Reads stream history for discovery context, sends discovery prompt to agent.
|
|
@@ -142,7 +150,7 @@ export class RoomRouter {
|
|
|
142
150
|
console.log(`[room-router:${this.roomId}] handleAgentOutput: no @room/@name found in text from ${participant.name}`);
|
|
143
151
|
return; // Agent chose silence
|
|
144
152
|
}
|
|
145
|
-
console.log(`[room-router:${this.roomId}] handleAgentOutput: parsed @room message from ${participant.name}: to=${parsed.to ?? "broadcast"}
|
|
153
|
+
console.log(`[room-router:${this.roomId}] handleAgentOutput: parsed @room message from ${participant.name}: to=${parsed.to ?? "broadcast"} isReviewRequest=${parsed.isReviewRequest} body=${parsed.body.slice(0, 80)}`);
|
|
146
154
|
let finalBody = parsed.body;
|
|
147
155
|
const isGateRequest = parsed.isGateRequest;
|
|
148
156
|
// Gated agent or explicit gate request: block until human approves
|
|
@@ -237,6 +245,18 @@ export class RoomRouter {
|
|
|
237
245
|
deliverTo.push(p);
|
|
238
246
|
}
|
|
239
247
|
}
|
|
248
|
+
// Announce when agents pick up a task (visible in room timeline)
|
|
249
|
+
const isReviewRequest = /^REVIEW_REQUEST:/m.test(msg.body);
|
|
250
|
+
if (isReviewRequest && deliverTo.length > 0) {
|
|
251
|
+
for (const p of deliverTo) {
|
|
252
|
+
const action = p.role === "reviewer"
|
|
253
|
+
? "starting review"
|
|
254
|
+
: p.role === "ui-designer"
|
|
255
|
+
? "starting UI audit"
|
|
256
|
+
: "picking up task";
|
|
257
|
+
await this.sendMessage("system", `${p.name} is ${action}`);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
240
260
|
const prompt = `Message from ${msg.from}:\n\n${msg.body}`;
|
|
241
261
|
await Promise.all(deliverTo.map(async (p) => {
|
|
242
262
|
try {
|
|
@@ -336,6 +356,14 @@ export class RoomRouter {
|
|
|
336
356
|
}
|
|
337
357
|
}
|
|
338
358
|
lines.push("");
|
|
359
|
+
if (this._repoInfo) {
|
|
360
|
+
lines.push("Repository info:");
|
|
361
|
+
if (this._repoInfo.url) {
|
|
362
|
+
lines.push(`- URL: ${this._repoInfo.url}`);
|
|
363
|
+
}
|
|
364
|
+
lines.push(`- Branch: ${this._repoInfo.branch}`);
|
|
365
|
+
lines.push("");
|
|
366
|
+
}
|
|
339
367
|
if (others.length > 0) {
|
|
340
368
|
lines.push("Other participants:");
|
|
341
369
|
for (const p of others) {
|
package/dist/room-router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"room-router.js","sourceRoot":"","sources":["../src/room-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,2BAA2B,EAAqB,MAAM,cAAc,CAAA;AAmB7E,MAAM,OAAO,UAAU;IACb,MAAM,CAAQ;IACN,QAAQ,CAAQ;IAChB,YAAY,CAAc;IAC1B,SAAS,CAAQ;IAEjB,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAA;IAC/D,MAAM,GAAwB,QAAQ,CAAA;IACtC,WAAW,GAAG,CAAC,CAAA;IACf,kBAAkB,GAAwB,IAAI,CAAA;IAC9C,MAAM,CAAe;IAE7B,YACC,MAAc,EACd,QAAgB,EAChB,YAA0B,EAC1B,OAA2B;QAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA;QAEzC,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,kBAAkB;SAC/B,CAAC,CAAA;IACH,CAAC;IAED,qBAAqB;IAErB,IAAI,YAAY;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,WAAW,CAAA;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,WAA4B,EAAE,KAAK,GAAG,KAAK;QAC/D,MAAM,QAAQ,GAAwB,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,CAAA;QAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAEvD,8DAA8D;QAC9D,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAEjE,yCAAyC;QACzC,MAAM,SAAS,GAAc;YAC5B,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YACzE,EAAE,EAAE,EAAE,EAAE;SACR,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;QAEnD,kCAAkC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;QAC7E,MAAM,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;YACpC,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,MAAM;SACf,CAAC,CAAA;QAEF,mDAAmD;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACnE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,GAAG,WAAW,CAAC,IAAI,GAAG,UAAU,uBAAuB,CAAA;gBACvE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,OAAO;oBAChB,MAAM,EAAE,QAAQ;oBAChB,EAAE,EAAE,EAAE,EAAE;iBACR,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEpC,MAAM,UAAU,GAAc;YAC7B,IAAI,EAAE,kBAAkB;YACxB,aAAa,EAAE,SAAS;YACxB,EAAE,EAAE,EAAE,EAAE;SACR,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAA;QAEpD,qDAAqD;QACrD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACnE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,GAAG,UAAU,qBAAqB;gBAC9D,MAAM,EAAE,QAAQ;gBAChB,EAAE,EAAE,EAAE,EAAE;aACR,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,EAAW;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAM;QAEpC,MAAM,KAAK,GAAc;YACxB,IAAI,EAAE,eAAe;YACrB,IAAI;YACJ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,IAAI;YACJ,EAAE,EAAE,EAAE,EAAE;SACR,CAAA;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,IAAY;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,4CAA4C,CAAC,CAAA;YACpF,OAAM;QACP,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CACV,gBAAgB,IAAI,CAAC,MAAM,qDAAqD,SAAS,yBAAyB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7J,CAAA;YACD,OAAM;QACP,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAEpB,OAAO,CAAC,GAAG,CACV,gBAAgB,IAAI,CAAC,MAAM,oCAAoC,WAAW,CAAC,IAAI,UAAU,WAAW,CAAC,KAAK,eAAe,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC1K,CAAA;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CACV,gBAAgB,IAAI,CAAC,MAAM,0DAA0D,WAAW,CAAC,IAAI,EAAE,CACvG,CAAA;YACD,OAAM,CAAC,sBAAsB;QAC9B,CAAC;QAED,OAAO,CAAC,GAAG,CACV,gBAAgB,IAAI,CAAC,MAAM,kDAAkD,WAAW,CAAC,IAAI,QAAQ,MAAM,CAAC,EAAE,IAAI,WAAW,WAAW,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CACxL,CAAA;QAED,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAA;QAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QAE1C,mEAAmE;QACnE,IAAI,WAAW,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,YAAY,MAAM,CAAC,UAAU,EAAE,EAAE,CAAA;YAEhD,gDAAgD;YAChD,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,uBAAuB;gBAC7B,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,EAAE,EAAE,EAAE,EAAE;aACR,CAAC,CAAA;YAEF,6BAA6B;YAC7B,MAAM,UAAU,GAAG,MAAM,UAAU,CAGhC,SAAS,EAAE,MAAM,CAAC,CAAA;YAErB,uDAAuD;YACvD,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,gCAAgC;gBACtC,MAAM;gBACN,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,EAAE,EAAE,EAAE,EAAE;aACR,CAAC,CAAA;YAEF,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM;gBAAE,OAAM;YACxC,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC3D,SAAS,GAAG,UAAU,CAAC,UAAU,CAAA;YAClC,CAAC;QACF,CAAC;QAED,gCAAgC;QAChC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAE9D,IAAI,CAAC,WAAW,EAAE,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,kBAAkB;SAC/B,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAA0B;YAC7D,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;SACV,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAA0B,CAAC,KAAK,EAAE,EAAE;YACnF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACnC,IAAI,CAAC,cAAc,CAClB,IAIC,CACD,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;oBACpD,CAAC,CAAC,CAAA;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;gBACvB,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QACtB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC/B,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,GAAgD;QAC5E,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAM;QAEpC,qEAAqE;QACrE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAM;QAEjC,MAAM,SAAS,GAA0B,EAAE,CAAA;QAE3C,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,sDAAsD;YACtD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAA;YACjF,IAAI,SAAS;gBAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACP,0CAA0C;YAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3C,CAAC;QACF,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAA;QAEzD,MAAM,OAAO,CAAC,GAAG,CAChB,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC;gBACJ,0DAA0D;gBAC1D,oCAAoC;gBACpC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,MAAM,EAAE,GAAG,CAAC,IAAI;oBAChB,EAAE,EAAE,EAAE,EAAE;iBACR,CAAC,CAAA;gBACF,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAA;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;YACpE,CAAC;QACF,CAAC,CAAC,CACF,CAAA;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAI9B,MAAM,MAAM,GAA2C,EAAE,CAAA;QACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,MAAM,QAAQ,GAA0C,EAAE,CAAA;QAE1D,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;YACxE,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;gBAChC,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,kBAAkB;aAC/B,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAA0B;gBAC7D,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,KAAK;aACX,CAAC,CAAA;YAEF,8CAA8C;YAC9C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAA0B,CAAC,KAAK,EAAE,EAAE;oBACxE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChC,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;4BAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,WAGd,CAAA;4BACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gCACxB,wDAAwD;gCACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gCAC7C,MAAM,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,CAAC,CAAC,WAAW;oCACnB,IAAI,EAAE,QAAQ,EAAE,IAAI;iCACpB,CAAC,CAAA;4BACH,CAAC;wBACF,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;4BAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAuB,CAAC,CAAA;wBAC1C,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BACnC,QAAQ,CAAC,IAAI,CAAC;gCACb,IAAI,EAAE,IAAI,CAAC,IAAc;gCACzB,IAAI,EAAE,IAAI,CAAC,IAAc;6BACzB,CAAC,CAAA;wBACH,CAAC;oBACF,CAAC;oBAED,gEAAgE;oBAChE,4DAA4D;oBAC5D,6BAA6B;oBAC7B,MAAM,EAAE,CAAA;oBACR,OAAO,EAAE,CAAA;gBACV,CAAC,CAAC,CAAA;gBAEF,kEAAkE;gBAClE,UAAU,CAAC,GAAG,EAAE;oBACf,MAAM,EAAE,CAAA;oBACR,OAAO,EAAE,CAAA;gBACV,CAAC,EAAE,IAAI,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;QACnE,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAC1C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC3B,IAAqB,EACrB,MAA8C,EAC9C,cAAqD;QAErD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,MAAM,KAAK,GAAa;YACvB,yBAAyB,IAAI,CAAC,QAAQ,IAAI;YAC1C,2BAA2B,IAAI,CAAC,IAAI,EAAE;SACtC,CAAA;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACrC,wEAAwE;YACxE,yEAAyE;YACzE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;YACnF,CAAC;QACF,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEd,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;YACjC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACzD,CAAC;QACF,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QACzC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEd,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YAClC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YACrC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACf,CAAC;QAED,KAAK,CAAC,IAAI,CACT,oFAAoF,EACpF,kFAAkF,EAClF,+JAA+J,EAC/J,6EAA6E,EAC7E,gDAAgD,EAChD,EAAE,EACF,2HAA2H,CAC3H,CAAA;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"room-router.js","sourceRoot":"","sources":["../src/room-router.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -17,9 +17,8 @@ interface ServerConfig {
|
|
|
17
17
|
/** Bridge mode — always "claude-code" */
|
|
18
18
|
bridgeMode: BridgeMode;
|
|
19
19
|
/**
|
|
20
|
-
* Enable dev-only endpoints (e.g.
|
|
20
|
+
* Enable dev-only endpoints (e.g. resume from repo, manual credential input).
|
|
21
21
|
* Set via `devMode: true` in startWebServer opts or `STUDIO_DEV_MODE=1` env var.
|
|
22
|
-
* SECURITY: Never enable in production — the keychain endpoint exposes OAuth tokens.
|
|
23
22
|
*/
|
|
24
23
|
devMode: boolean;
|
|
25
24
|
}
|
|
@@ -32,9 +31,8 @@ export declare function startWebServer(opts: {
|
|
|
32
31
|
streamConfig: StreamConfig;
|
|
33
32
|
bridgeMode?: BridgeMode;
|
|
34
33
|
/**
|
|
35
|
-
* Enable dev-only endpoints (e.g.
|
|
34
|
+
* Enable dev-only endpoints (e.g. resume from repo, manual credential input).
|
|
36
35
|
* Can also be enabled via the `STUDIO_DEV_MODE=1` environment variable.
|
|
37
|
-
* SECURITY: Never enable in production — the keychain endpoint exposes OAuth tokens.
|
|
38
36
|
*/
|
|
39
37
|
devMode?: boolean;
|
|
40
38
|
}): Promise<void>;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAkCrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAatE,OAAO,EAGN,KAAK,YAAY,EAEjB,MAAM,cAAc,CAAA;AAGrB,KAAK,UAAU,GAAG,aAAa,CAAA;AAE/B,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,QAAQ,EAAE,cAAc,CAAA;IACxB,yDAAyD;IACzD,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,eAAe,CAAA;IACxB,sCAAsC;IACtC,YAAY,EAAE,YAAY,CAAA;IAC1B,yCAAyC;IACzC,UAAU,EAAE,UAAU,CAAA;IACtB
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAkCrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAatE,OAAO,EAGN,KAAK,YAAY,EAEjB,MAAM,cAAc,CAAA;AAGrB,KAAK,UAAU,GAAG,aAAa,CAAA;AAE/B,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,QAAQ,EAAE,cAAc,CAAA;IACxB,yDAAyD;IACzD,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,eAAe,CAAA;IACxB,sCAAsC;IACtC,YAAY,EAAE,YAAY,CAAA;IAC1B,yCAAyC;IACzC,UAAU,EAAE,UAAU,CAAA;IACtB;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;CAChB;AAyXD,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,8EAq1G7C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,eAAe,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDhB"}
|
package/dist/server.js
CHANGED
|
@@ -25,6 +25,19 @@ import { RoomRouter } from "./room-router.js";
|
|
|
25
25
|
import { deriveGlobalHookSecret, deriveHookToken, deriveRoomToken, deriveSessionToken, validateGlobalHookSecret, validateHookToken, validateRoomToken, validateSessionToken, } from "./session-auth.js";
|
|
26
26
|
import { getRoomStreamConnectionInfo, getStreamConnectionInfo, } from "./streams.js";
|
|
27
27
|
import { isResponse, validateBody } from "./validate.js";
|
|
28
|
+
/** Read OAuth token from macOS Keychain (Claude Code credentials). */
|
|
29
|
+
function readKeychainOAuthToken() {
|
|
30
|
+
if (process.platform !== "darwin")
|
|
31
|
+
return null;
|
|
32
|
+
try {
|
|
33
|
+
const raw = execFileSync("security", ["find-generic-password", "-s", "Claude Code-credentials", "-w"], { encoding: "utf-8", timeout: 3000, stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
34
|
+
const parsed = JSON.parse(raw);
|
|
35
|
+
return parsed.claudeAiOauth?.accessToken ?? null;
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
28
41
|
/** Active session bridges — one per running session */
|
|
29
42
|
const bridges = new Map();
|
|
30
43
|
/** Active room routers — one per room with agent-to-agent messaging */
|
|
@@ -811,14 +824,16 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
811
824
|
const body = await validateBody(c, createSessionSchema);
|
|
812
825
|
if (isResponse(body))
|
|
813
826
|
return body;
|
|
814
|
-
//
|
|
827
|
+
// Resolve Claude credentials — try OAuth from keychain first, then API key
|
|
815
828
|
const apiKey = config.devMode
|
|
816
829
|
? body.apiKey || process.env.ANTHROPIC_API_KEY
|
|
817
830
|
: process.env.ANTHROPIC_API_KEY;
|
|
818
831
|
const oauthToken = config.devMode
|
|
819
832
|
? body.oauthToken || process.env.CLAUDE_OAUTH_TOKEN
|
|
820
|
-
: undefined;
|
|
833
|
+
: (readKeychainOAuthToken() ?? undefined);
|
|
821
834
|
const ghToken = config.devMode ? body.ghToken : undefined;
|
|
835
|
+
const authType = oauthToken ? "oauth-keychain" : apiKey ? "api-key" : "none";
|
|
836
|
+
console.log(`[auth] Using ${authType} for Claude credentials`);
|
|
822
837
|
// Block freeform sessions in production mode
|
|
823
838
|
if (body.freeform && !config.devMode) {
|
|
824
839
|
return c.json({ error: "Freeform sessions are not available" }, 403);
|
|
@@ -1706,14 +1721,16 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
1706
1721
|
const body = await validateBody(c, createAppRoomSchema);
|
|
1707
1722
|
if (isResponse(body))
|
|
1708
1723
|
return body;
|
|
1709
|
-
//
|
|
1724
|
+
// Resolve Claude credentials — try OAuth from keychain first, then API key
|
|
1710
1725
|
const apiKey = config.devMode
|
|
1711
1726
|
? body.apiKey || process.env.ANTHROPIC_API_KEY
|
|
1712
1727
|
: process.env.ANTHROPIC_API_KEY;
|
|
1713
1728
|
const oauthToken = config.devMode
|
|
1714
1729
|
? body.oauthToken || process.env.CLAUDE_OAUTH_TOKEN
|
|
1715
|
-
: undefined;
|
|
1730
|
+
: (readKeychainOAuthToken() ?? undefined);
|
|
1716
1731
|
const ghToken = config.devMode ? body.ghToken : undefined;
|
|
1732
|
+
const authType = oauthToken ? "oauth-keychain" : apiKey ? "api-key" : "none";
|
|
1733
|
+
console.log(`[auth] Using ${authType} for Claude credentials`);
|
|
1717
1734
|
// Rate-limit session creation in production mode
|
|
1718
1735
|
if (!config.devMode) {
|
|
1719
1736
|
const ip = extractClientIp(c);
|
|
@@ -1783,7 +1800,6 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
1783
1800
|
const agentDefs = [
|
|
1784
1801
|
{ name: `coder-${uniquePick()}`, role: "coder" },
|
|
1785
1802
|
{ name: `reviewer-${uniquePick()}`, role: "reviewer" },
|
|
1786
|
-
{ name: `designer-${uniquePick()}`, role: "ui-designer" },
|
|
1787
1803
|
];
|
|
1788
1804
|
// Create session IDs and streams upfront for all 3 agents
|
|
1789
1805
|
const sessions = [];
|
|
@@ -1808,10 +1824,9 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
1808
1824
|
console.log(`[room:create-app] Created room ${roomId} with agents: ${sessions.map((s) => s.name).join(", ")}`);
|
|
1809
1825
|
// Return immediately so the client can show the room + sessions
|
|
1810
1826
|
// The async flow handles sandbox creation, skill injection, and agent startup
|
|
1811
|
-
// Sessions are created in agentDefs order: [coder, reviewer
|
|
1827
|
+
// Sessions are created in agentDefs order: [coder, reviewer]
|
|
1812
1828
|
const coderSession = sessions[0];
|
|
1813
1829
|
const reviewerSession = sessions[1];
|
|
1814
|
-
const uiDesignerSession = sessions[2];
|
|
1815
1830
|
const coderBridge = getOrCreateBridge(config, coderSession.sessionId);
|
|
1816
1831
|
// Record all sessions
|
|
1817
1832
|
for (const s of sessions) {
|
|
@@ -1929,10 +1944,7 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
1929
1944
|
const reviewerInfo = config.sessions.get(reviewerSession.sessionId);
|
|
1930
1945
|
if (!reviewerInfo)
|
|
1931
1946
|
throw new Error("Reviewer session not found in registry");
|
|
1932
|
-
const
|
|
1933
|
-
if (!uiDesignerInfo)
|
|
1934
|
-
throw new Error("UI designer session not found in registry");
|
|
1935
|
-
const [coderHandle, reviewerHandle, uiDesignerHandle] = await Promise.all([
|
|
1947
|
+
const [coderHandle, reviewerHandle] = await Promise.all([
|
|
1936
1948
|
config.sandbox.create(coderSession.sessionId, {
|
|
1937
1949
|
projectName: coderInfo.projectName,
|
|
1938
1950
|
infra,
|
|
@@ -1949,19 +1961,10 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
1949
1961
|
ghToken,
|
|
1950
1962
|
...sandboxOpts(reviewerSession.sessionId),
|
|
1951
1963
|
}),
|
|
1952
|
-
config.sandbox.create(uiDesignerSession.sessionId, {
|
|
1953
|
-
projectName: uiDesignerInfo.projectName,
|
|
1954
|
-
infra: { mode: "none" },
|
|
1955
|
-
apiKey,
|
|
1956
|
-
oauthToken,
|
|
1957
|
-
ghToken,
|
|
1958
|
-
...sandboxOpts(uiDesignerSession.sessionId),
|
|
1959
|
-
}),
|
|
1960
1964
|
]);
|
|
1961
1965
|
const handles = [
|
|
1962
1966
|
{ session: coderSession, handle: coderHandle },
|
|
1963
1967
|
{ session: reviewerSession, handle: reviewerHandle },
|
|
1964
|
-
{ session: uiDesignerSession, handle: uiDesignerHandle },
|
|
1965
1968
|
];
|
|
1966
1969
|
// Update session info with sandbox details
|
|
1967
1970
|
for (const { session: s, handle } of handles) {
|
|
@@ -2141,9 +2144,8 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2141
2144
|
}
|
|
2142
2145
|
// Route assistant_message output to the room router
|
|
2143
2146
|
if (event.type === "assistant_message" && "text" in event) {
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
.catch((err) => {
|
|
2147
|
+
const text = event.text;
|
|
2148
|
+
router.handleAgentOutput(coderSession.sessionId, text).catch((err) => {
|
|
2147
2149
|
console.error(`[room:create-app:${roomId}] handleAgentOutput error (coder):`, err);
|
|
2148
2150
|
});
|
|
2149
2151
|
}
|
|
@@ -2168,7 +2170,6 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2168
2170
|
const updates = {
|
|
2169
2171
|
status: success ? "complete" : "error",
|
|
2170
2172
|
};
|
|
2171
|
-
let repoInfo = "";
|
|
2172
2173
|
try {
|
|
2173
2174
|
const gs = await config.sandbox.gitStatus(handle, handle.projectDir);
|
|
2174
2175
|
if (gs.initialized) {
|
|
@@ -2182,21 +2183,14 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2182
2183
|
lastCommitMessage: gs.lastCommitMessage ?? null,
|
|
2183
2184
|
lastCheckpointAt: existing?.git?.lastCheckpointAt ?? null,
|
|
2184
2185
|
};
|
|
2185
|
-
if (existing?.git?.repoName) {
|
|
2186
|
-
repoInfo = ` Repo: https://github.com/${existing.git.repoName}`;
|
|
2187
|
-
}
|
|
2188
2186
|
}
|
|
2189
2187
|
}
|
|
2190
2188
|
catch {
|
|
2191
2189
|
// Sandbox may be stopped
|
|
2192
2190
|
}
|
|
2193
2191
|
config.sessions.update(coderSession.sessionId, updates);
|
|
2194
|
-
const
|
|
2195
|
-
|
|
2196
|
-
: "@room Coder session ended unexpectedly.";
|
|
2197
|
-
router.handleAgentOutput(coderSession.sessionId, msg).catch((err) => {
|
|
2198
|
-
console.error(`[room:create-app:${roomId}] Failed to send coder completion message:`, err);
|
|
2199
|
-
});
|
|
2192
|
+
const status = success ? "completed" : "ended with errors";
|
|
2193
|
+
console.log(`[room:create-app:${roomId}] Coder session ${status}`);
|
|
2200
2194
|
});
|
|
2201
2195
|
await coderBridge.emit({
|
|
2202
2196
|
type: "log",
|
|
@@ -2223,11 +2217,13 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2223
2217
|
// Store the repoUrl for reviewer/ui-designer prompts
|
|
2224
2218
|
// (we continue setting up those agents now)
|
|
2225
2219
|
const finalRepoUrl = repoUrl;
|
|
2220
|
+
// Share repo info with all agents via the room router's discovery prompt
|
|
2221
|
+
router.setRepoInfo({
|
|
2222
|
+
url: finalRepoUrl,
|
|
2223
|
+
branch: "main",
|
|
2224
|
+
});
|
|
2226
2225
|
// 5. Set up reviewer and ui-designer sandboxes
|
|
2227
|
-
const supportAgents = [
|
|
2228
|
-
{ session: reviewerSession, handle: reviewerHandle },
|
|
2229
|
-
{ session: uiDesignerSession, handle: uiDesignerHandle },
|
|
2230
|
-
];
|
|
2226
|
+
const supportAgents = [{ session: reviewerSession, handle: reviewerHandle }];
|
|
2231
2227
|
for (const { session: agentSession, handle: agentHandle } of supportAgents) {
|
|
2232
2228
|
const agentBridge = getOrCreateBridge(config, agentSession.sessionId);
|
|
2233
2229
|
// Write a minimal CLAUDE.md
|
|
@@ -2261,11 +2257,10 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2261
2257
|
console.error(`[room:create-app:${roomId}] Failed to write role skill for ${agentSession.name}:`, err);
|
|
2262
2258
|
}
|
|
2263
2259
|
}
|
|
2264
|
-
// Build prompt
|
|
2265
|
-
const repoRef = finalRepoUrl ? ` The GitHub repo is: ${finalRepoUrl}.` : "";
|
|
2260
|
+
// Build prompt (repo info is now passed via the room router's discovery prompt)
|
|
2266
2261
|
const agentPrompt = agentSession.role === "reviewer"
|
|
2267
|
-
? `You are "reviewer", a code review agent in a multi-agent room. Read .claude/skills/role/SKILL.md for your role guidelines
|
|
2268
|
-
: `You are "
|
|
2262
|
+
? `You are "reviewer", a read-only code review agent in a multi-agent room. Read .claude/skills/role/SKILL.md for your role guidelines. CRITICAL: You must NEVER modify code — only read and review. Wait for the coder to send a @room REVIEW_REQUEST: message before starting any work.`
|
|
2263
|
+
: `You are "${agentSession.role}", an agent in a multi-agent room. Read .claude/skills/role/SKILL.md for your role guidelines.`;
|
|
2269
2264
|
// Create Claude Code bridge
|
|
2270
2265
|
const agentHookToken = deriveHookToken(config.streamConfig.secret, agentSession.sessionId);
|
|
2271
2266
|
const agentClaudeConfig = config.sandbox.runtime === "sprites"
|
|
@@ -2347,8 +2342,8 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2347
2342
|
};
|
|
2348
2343
|
await router.addParticipant(participant, false);
|
|
2349
2344
|
}
|
|
2350
|
-
console.log(`[room:create-app:${roomId}] All
|
|
2351
|
-
await router.sendMessage("system", `All agents ready — ${coderSession.name} is building, ${reviewerSession.name}
|
|
2345
|
+
console.log(`[room:create-app:${roomId}] All agents started and added to room`);
|
|
2346
|
+
await router.sendMessage("system", `All agents ready — ${coderSession.name} is building, ${reviewerSession.name} waiting for review request. UI designer can be added later via "Add Agent".`);
|
|
2352
2347
|
}
|
|
2353
2348
|
};
|
|
2354
2349
|
asyncFlow().catch(async (err) => {
|
|
@@ -2436,10 +2431,23 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
2436
2431
|
const roomId = c.req.param("id");
|
|
2437
2432
|
const router = roomRouters.get(roomId);
|
|
2438
2433
|
if (router) {
|
|
2434
|
+
// Find preview URL / port from any participant's session (prefer coder role)
|
|
2435
|
+
const coderParticipant = router.participants.find((p) => p.role === "coder");
|
|
2436
|
+
const previewParticipant = coderParticipant ?? router.participants[0];
|
|
2437
|
+
let previewUrl;
|
|
2438
|
+
let appPort;
|
|
2439
|
+
if (previewParticipant) {
|
|
2440
|
+
const handle = config.sandbox.get(previewParticipant.sessionId);
|
|
2441
|
+
const session = config.sessions.get(previewParticipant.sessionId);
|
|
2442
|
+
previewUrl = handle?.previewUrl ?? session?.previewUrl;
|
|
2443
|
+
appPort = handle?.port ?? session?.appPort;
|
|
2444
|
+
}
|
|
2439
2445
|
return c.json({
|
|
2440
2446
|
roomId,
|
|
2441
2447
|
state: router.state,
|
|
2442
2448
|
roundCount: router.roundCount,
|
|
2449
|
+
previewUrl,
|
|
2450
|
+
appPort,
|
|
2443
2451
|
participants: router.participants.map((p) => ({
|
|
2444
2452
|
sessionId: p.sessionId,
|
|
2445
2453
|
name: p.name,
|
|
@@ -3041,30 +3049,14 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
3041
3049
|
return c.json({ error: e instanceof Error ? e.message : "Failed to list branches" }, 500);
|
|
3042
3050
|
}
|
|
3043
3051
|
});
|
|
3044
|
-
// Read Claude credentials from macOS Keychain
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
const raw = execFileSync("security", ["find-generic-password", "-s", "Claude Code-credentials", "-w"], { encoding: "utf-8", timeout: 3000, stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
3053
|
-
const parsed = JSON.parse(raw);
|
|
3054
|
-
const token = parsed.claudeAiOauth?.accessToken ?? null;
|
|
3055
|
-
if (token) {
|
|
3056
|
-
console.log(`[dev] Loaded OAuth token from keychain (length: ${token.length})`);
|
|
3057
|
-
}
|
|
3058
|
-
else {
|
|
3059
|
-
console.log("[dev] No OAuth token found in keychain");
|
|
3060
|
-
}
|
|
3061
|
-
return c.json({ oauthToken: token });
|
|
3062
|
-
}
|
|
3063
|
-
catch {
|
|
3064
|
-
return c.json({ oauthToken: null });
|
|
3065
|
-
}
|
|
3066
|
-
});
|
|
3067
|
-
}
|
|
3052
|
+
// Read Claude credentials from macOS Keychain.
|
|
3053
|
+
app.get("/api/credentials/keychain", (c) => {
|
|
3054
|
+
const token = readKeychainOAuthToken();
|
|
3055
|
+
if (token) {
|
|
3056
|
+
console.log(`[keychain] Loaded OAuth token (length: ${token.length})`);
|
|
3057
|
+
}
|
|
3058
|
+
return c.json({ oauthToken: token });
|
|
3059
|
+
});
|
|
3068
3060
|
// Resume a project from a GitHub repo (dev mode only)
|
|
3069
3061
|
app.post("/api/sessions/resume", async (c) => {
|
|
3070
3062
|
if (!config.devMode) {
|
|
@@ -3319,7 +3311,7 @@ echo "Start claude in this project — the session will appear in the studio UI.
|
|
|
3319
3311
|
export async function startWebServer(opts) {
|
|
3320
3312
|
const devMode = opts.devMode ?? process.env.STUDIO_DEV_MODE === "1";
|
|
3321
3313
|
if (devMode) {
|
|
3322
|
-
console.log("[studio] Dev mode enabled
|
|
3314
|
+
console.log("[studio] Dev mode enabled");
|
|
3323
3315
|
}
|
|
3324
3316
|
// Hydrate session registry from durable stream (survives restarts)
|
|
3325
3317
|
const registry = await Registry.create(opts.streamConfig);
|