@electric-agent/studio 1.7.0 → 1.12.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.
Files changed (105) hide show
  1. package/dist/api-schemas.d.ts +225 -0
  2. package/dist/api-schemas.d.ts.map +1 -0
  3. package/dist/api-schemas.js +95 -0
  4. package/dist/api-schemas.js.map +1 -0
  5. package/dist/bridge/claude-code-base.d.ts +121 -0
  6. package/dist/bridge/claude-code-base.d.ts.map +1 -0
  7. package/dist/bridge/claude-code-base.js +263 -0
  8. package/dist/bridge/claude-code-base.js.map +1 -0
  9. package/dist/bridge/claude-code-docker.d.ts +13 -73
  10. package/dist/bridge/claude-code-docker.d.ts.map +1 -1
  11. package/dist/bridge/claude-code-docker.js +91 -302
  12. package/dist/bridge/claude-code-docker.js.map +1 -1
  13. package/dist/bridge/claude-code-sprites.d.ts +12 -59
  14. package/dist/bridge/claude-code-sprites.d.ts.map +1 -1
  15. package/dist/bridge/claude-code-sprites.js +88 -281
  16. package/dist/bridge/claude-code-sprites.js.map +1 -1
  17. package/dist/bridge/claude-md-generator.d.ts +10 -1
  18. package/dist/bridge/claude-md-generator.d.ts.map +1 -1
  19. package/dist/bridge/claude-md-generator.js +47 -98
  20. package/dist/bridge/claude-md-generator.js.map +1 -1
  21. package/dist/bridge/codex-docker.d.ts +56 -51
  22. package/dist/bridge/codex-docker.js +222 -230
  23. package/dist/bridge/codex-json-parser.d.ts +11 -11
  24. package/dist/bridge/codex-json-parser.js +231 -238
  25. package/dist/bridge/codex-md-generator.d.ts +3 -3
  26. package/dist/bridge/codex-md-generator.js +42 -32
  27. package/dist/bridge/codex-sprites.d.ts +50 -45
  28. package/dist/bridge/codex-sprites.js +212 -222
  29. package/dist/bridge/daytona.d.ts +25 -25
  30. package/dist/bridge/daytona.js +131 -136
  31. package/dist/bridge/docker-stdio.d.ts +21 -21
  32. package/dist/bridge/docker-stdio.js +126 -132
  33. package/dist/bridge/hosted.d.ts +3 -2
  34. package/dist/bridge/hosted.d.ts.map +1 -1
  35. package/dist/bridge/hosted.js +4 -0
  36. package/dist/bridge/hosted.js.map +1 -1
  37. package/dist/bridge/message-parser.d.ts +24 -0
  38. package/dist/bridge/message-parser.d.ts.map +1 -0
  39. package/dist/bridge/message-parser.js +39 -0
  40. package/dist/bridge/message-parser.js.map +1 -0
  41. package/dist/bridge/role-skills.d.ts +25 -0
  42. package/dist/bridge/role-skills.d.ts.map +1 -0
  43. package/dist/bridge/role-skills.js +120 -0
  44. package/dist/bridge/role-skills.js.map +1 -0
  45. package/dist/bridge/room-messaging-skill.d.ts +11 -0
  46. package/dist/bridge/room-messaging-skill.d.ts.map +1 -0
  47. package/dist/bridge/room-messaging-skill.js +41 -0
  48. package/dist/bridge/room-messaging-skill.js.map +1 -0
  49. package/dist/bridge/sprites.d.ts +22 -22
  50. package/dist/bridge/sprites.js +123 -128
  51. package/dist/bridge/types.d.ts +4 -10
  52. package/dist/bridge/types.d.ts.map +1 -1
  53. package/dist/client/assets/index-BfvQSMwH.css +1 -0
  54. package/dist/client/assets/index-CiwD5LkP.js +235 -0
  55. package/dist/client/index.html +2 -2
  56. package/dist/index.d.ts +4 -3
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +3 -3
  59. package/dist/index.js.map +1 -1
  60. package/dist/invite-code.d.ts +5 -0
  61. package/dist/invite-code.d.ts.map +1 -0
  62. package/dist/invite-code.js +14 -0
  63. package/dist/invite-code.js.map +1 -0
  64. package/dist/project-utils.d.ts.map +1 -1
  65. package/dist/project-utils.js.map +1 -1
  66. package/dist/registry.d.ts +11 -4
  67. package/dist/registry.d.ts.map +1 -1
  68. package/dist/registry.js +1 -1
  69. package/dist/registry.js.map +1 -1
  70. package/dist/room-router.d.ts +73 -0
  71. package/dist/room-router.d.ts.map +1 -0
  72. package/dist/room-router.js +345 -0
  73. package/dist/room-router.js.map +1 -0
  74. package/dist/sandbox/docker.d.ts.map +1 -1
  75. package/dist/sandbox/docker.js +5 -6
  76. package/dist/sandbox/docker.js.map +1 -1
  77. package/dist/sandbox/index.d.ts +0 -1
  78. package/dist/sandbox/index.d.ts.map +1 -1
  79. package/dist/sandbox/index.js +0 -1
  80. package/dist/sandbox/index.js.map +1 -1
  81. package/dist/sandbox/sprites.d.ts.map +1 -1
  82. package/dist/sandbox/sprites.js +40 -10
  83. package/dist/sandbox/sprites.js.map +1 -1
  84. package/dist/sandbox/types.d.ts +4 -2
  85. package/dist/sandbox/types.d.ts.map +1 -1
  86. package/dist/server.d.ts +12 -0
  87. package/dist/server.d.ts.map +1 -1
  88. package/dist/server.js +761 -346
  89. package/dist/server.js.map +1 -1
  90. package/dist/session-auth.d.ts +9 -0
  91. package/dist/session-auth.d.ts.map +1 -1
  92. package/dist/session-auth.js +30 -0
  93. package/dist/session-auth.js.map +1 -1
  94. package/dist/sessions.d.ts +1 -1
  95. package/dist/streams.d.ts +2 -6
  96. package/dist/streams.d.ts.map +1 -1
  97. package/dist/streams.js +6 -17
  98. package/dist/streams.js.map +1 -1
  99. package/dist/validate.d.ts +10 -0
  100. package/dist/validate.d.ts.map +1 -0
  101. package/dist/validate.js +24 -0
  102. package/dist/validate.js.map +1 -0
  103. package/package.json +6 -9
  104. package/dist/client/assets/index-D5-jqAV-.js +0 -234
  105. package/dist/client/assets/index-YyyiO26y.css +0 -1
@@ -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-D5-jqAV-.js"></script>
11
- <link rel="stylesheet" crossorigin href="/assets/index-YyyiO26y.css">
10
+ <script type="module" crossorigin src="/assets/index-CiwD5LkP.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/assets/index-BfvQSMwH.css">
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
package/dist/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  export { ActiveSessions } from "./active-sessions.js";
2
2
  export { createGate, rejectAllGates, resolveGate } from "./gate.js";
3
+ export { generateInviteCode } from "./invite-code.js";
3
4
  export { resolveProjectDir } from "./project-utils.js";
5
+ export type { RoomEntry } from "./registry.js";
4
6
  export type { RoomInfo } from "./room-registry.js";
5
7
  export { RoomRegistry } from "./room-registry.js";
6
8
  export { createApp, startWebServer } from "./server.js";
7
- export { deriveSessionToken, validateSessionToken } from "./session-auth.js";
9
+ export { deriveHookToken, deriveSessionToken, validateHookToken, validateSessionToken, } from "./session-auth.js";
8
10
  export type { SessionInfo } from "./sessions.js";
9
11
  export { addSession, cleanupStaleSessions, deleteSession, getSession, readSessionIndex, updateSessionInfo, } from "./sessions.js";
10
- export { generateInviteCode } from "./shared-sessions.js";
11
12
  export type { StreamConfig, StreamConnectionInfo } from "./streams.js";
12
- export { getSharedStreamConnectionInfo, getStreamConfig, getStreamConnectionInfo, getStreamEnvVars, } from "./streams.js";
13
+ export { getRoomStreamConnectionInfo, getStreamConfig, getStreamConnectionInfo, } from "./streams.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EACN,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EACN,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,gBAAgB,GAChB,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EACN,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EACN,2BAA2B,EAC3B,eAAe,EACf,uBAAuB,GACvB,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  export { ActiveSessions } from "./active-sessions.js";
2
2
  export { createGate, rejectAllGates, resolveGate } from "./gate.js";
3
+ export { generateInviteCode } from "./invite-code.js";
3
4
  export { resolveProjectDir } from "./project-utils.js";
4
5
  export { RoomRegistry } from "./room-registry.js";
5
6
  export { createApp, startWebServer } from "./server.js";
6
- export { deriveSessionToken, validateSessionToken } from "./session-auth.js";
7
+ export { deriveHookToken, deriveSessionToken, validateHookToken, validateSessionToken, } from "./session-auth.js";
7
8
  export { addSession, cleanupStaleSessions, deleteSession, getSession, readSessionIndex, updateSessionInfo, } from "./sessions.js";
8
- export { generateInviteCode } from "./shared-sessions.js";
9
- export { getSharedStreamConnectionInfo, getStreamConfig, getStreamConnectionInfo, getStreamEnvVars, } from "./streams.js";
9
+ export { getRoomStreamConnectionInfo, getStreamConfig, getStreamConnectionInfo, } from "./streams.js";
10
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EACN,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EACN,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,gBAAgB,GAChB,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACpB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACN,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACN,2BAA2B,EAC3B,eAAe,EACf,uBAAuB,GACvB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generate a cryptographically random 8-char invite code (e.g. "ABCD-1234").
3
+ */
4
+ export declare function generateInviteCode(): string;
5
+ //# sourceMappingURL=invite-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite-code.d.ts","sourceRoot":"","sources":["../src/invite-code.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C"}
@@ -0,0 +1,14 @@
1
+ import crypto from "node:crypto";
2
+ /**
3
+ * Generate a cryptographically random 8-char invite code (e.g. "ABCD-1234").
4
+ */
5
+ export function generateInviteCode() {
6
+ const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; // No ambiguous chars (0/O, 1/I)
7
+ const bytes = crypto.randomBytes(8);
8
+ let code = "";
9
+ for (let i = 0; i < 8; i++) {
10
+ code += chars[bytes[i] % chars.length];
11
+ }
12
+ return `${code.slice(0, 4)}-${code.slice(4)}`;
13
+ }
14
+ //# sourceMappingURL=invite-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invite-code.js","sourceRoot":"","sources":["../src/invite-code.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC;;GAEG;AACH,MAAM,UAAU,kBAAkB;IACjC,MAAM,KAAK,GAAG,kCAAkC,CAAA,CAAC,gCAAgC;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACnC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-utils.d.ts","sourceRoot":"","sources":["../src/project-utils.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACV;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAI7C"}
1
+ {"version":3,"file":"project-utils.d.ts","sourceRoot":"","sources":["../src/project-utils.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACV;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAI7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-utils.js","sourceRoot":"","sources":["../src/project-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAChC,OAAe,EACf,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAA;IACtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAA;AAClF,CAAC"}
1
+ {"version":3,"file":"project-utils.js","sourceRoot":"","sources":["../src/project-utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAChC,OAAe,EACf,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAA;IACtC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAA;AAClF,CAAC"}
@@ -1,6 +1,13 @@
1
1
  import type { SessionInfo } from "./sessions.js";
2
- import type { SharedSessionEntry } from "./shared-sessions.js";
3
2
  import { type StreamConfig } from "./streams.js";
3
+ export interface RoomEntry {
4
+ id: string;
5
+ /** 8-char random invite code (e.g. "ABCD-1234") */
6
+ code: string;
7
+ name?: string;
8
+ createdAt: string;
9
+ revoked: boolean;
10
+ }
4
11
  /**
5
12
  * In-memory registry backed by a Durable Streams log.
6
13
  *
@@ -44,9 +51,9 @@ export declare class Registry {
44
51
  * Durably map a transcript path to an EA session ID.
45
52
  */
46
53
  mapTranscriptToSession(transcriptPath: string, sessionId: string): Promise<void>;
47
- addRoom(entry: SharedSessionEntry): Promise<void>;
48
- getRoom(id: string): SharedSessionEntry | undefined;
49
- getRoomByCode(code: string): SharedSessionEntry | undefined;
54
+ addRoom(entry: RoomEntry): Promise<void>;
55
+ getRoom(id: string): RoomEntry | undefined;
56
+ getRoomByCode(code: string): RoomEntry | undefined;
50
57
  revokeRoom(id: string): Promise<boolean>;
51
58
  }
52
59
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAY3E;;;;;GAKG;AACH,qBAAa,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,KAAK,CAAwC;IACrD,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO;IAIP;;;OAGG;WACU,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyB5D,oDAAoD;YACtC,OAAO;IAwBrB,iEAAiE;IACjE,OAAO,CAAC,UAAU;IAgClB,4DAA4D;YAC9C,MAAM;IAOd,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI/C,YAAY,IAAI,WAAW,EAAE;IAI7B;;;OAGG;IACH,oBAAoB,CAAC,WAAW,SAAqB,GAAG,MAAM;IAqB9D;;;OAGG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOlE;;OAEG;IACG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhF,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAInD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAS9C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3E,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CAChB;AAYD;;;;;GAKG;AACH,qBAAa,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,MAAM,CAAe;IAE7B,OAAO;IAIP;;;OAGG;WACU,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyB5D,oDAAoD;YACtC,OAAO;IAwBrB,iEAAiE;IACjE,OAAO,CAAC,UAAU;IAgClB,4DAA4D;YAC9C,MAAM;IAOd,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUjD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI/C,YAAY,IAAI,WAAW,EAAE;IAI7B;;;OAGG;IACH,oBAAoB,CAAC,WAAW,SAAqB,GAAG,MAAM;IAqB9D;;;OAGG;IACH,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOlE;;OAEG;IACG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhF,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI1C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAS9C"}
package/dist/registry.js CHANGED
@@ -176,7 +176,7 @@ export class Registry {
176
176
  ts: new Date().toISOString(),
177
177
  });
178
178
  }
179
- // --- Room (Shared Session) CRUD ---
179
+ // --- Room CRUD ---
180
180
  async addRoom(entry) {
181
181
  await this.append({
182
182
  type: "room_created",
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * RoomRouter — routes agent-to-agent messages through a shared durable stream.
3
+ *
4
+ * Watches a room's durable stream for AgentMessage events and delivers them
5
+ * to recipient agents via their session bridges. Supports optional per-agent
6
+ * gating where a human must approve outbound messages before they reach the room.
7
+ */
8
+ import type { SessionBridge } from "./bridge/types.js";
9
+ import { type StreamConfig } from "./streams.js";
10
+ export interface RoomParticipant {
11
+ sessionId: string;
12
+ name: string;
13
+ role?: string;
14
+ bridge: SessionBridge;
15
+ }
16
+ export interface RoomRouterOptions {
17
+ /** Maximum rounds before the room auto-closes (default: 20) */
18
+ maxRounds?: number;
19
+ }
20
+ export declare class RoomRouter {
21
+ readonly roomId: string;
22
+ private readonly roomName;
23
+ private readonly streamConfig;
24
+ private readonly maxRounds;
25
+ private readonly _participants;
26
+ private _state;
27
+ private _roundCount;
28
+ private cancelSubscription;
29
+ private stream;
30
+ constructor(roomId: string, roomName: string, streamConfig: StreamConfig, options?: RoomRouterOptions);
31
+ get participants(): RoomParticipant[];
32
+ get state(): "active" | "closed";
33
+ get roundCount(): number;
34
+ /**
35
+ * Add an agent to the room.
36
+ * Reads stream history for discovery context, sends discovery prompt to agent.
37
+ */
38
+ addParticipant(participant: RoomParticipant, gated?: boolean): Promise<void>;
39
+ /**
40
+ * Remove an agent from the room.
41
+ */
42
+ removeParticipant(sessionId: string): Promise<void>;
43
+ /**
44
+ * Send a message to the room stream (from human, API, or system).
45
+ */
46
+ sendMessage(from: string, body: string, to?: string): Promise<void>;
47
+ /**
48
+ * Called by the server when an agent produces assistant_message output.
49
+ * Parses for @room messages and handles gating/delivery.
50
+ */
51
+ handleAgentOutput(sessionId: string, text: string): Promise<void>;
52
+ /**
53
+ * Start watching the room stream for new messages and routing them.
54
+ */
55
+ start(): Promise<void>;
56
+ /**
57
+ * Close the room.
58
+ */
59
+ close(): void;
60
+ /**
61
+ * Deliver a message to recipient agent(s) via their bridges.
62
+ */
63
+ private deliverMessage;
64
+ /**
65
+ * Read the room stream history (non-live) for discovery context.
66
+ */
67
+ private readStreamHistory;
68
+ /**
69
+ * Build the discovery prompt sent to an agent when it joins the room.
70
+ */
71
+ private buildDiscoveryPrompt;
72
+ }
73
+ //# sourceMappingURL=room-router.d.ts.map
@@ -0,0 +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;CAClB;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,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;IAiB5B,IAAI,YAAY,IAAI,eAAe,EAAE,CAEpC;IAED,IAAI,KAAK,IAAI,QAAQ,GAAG,QAAQ,CAE/B;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;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;IAyDvE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;YACW,cAAc;IAqC5B;;OAEG;YACW,iBAAiB;IAwE/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAgD5B"}
@@ -0,0 +1,345 @@
1
+ /**
2
+ * RoomRouter — routes agent-to-agent messages through a shared durable stream.
3
+ *
4
+ * Watches a room's durable stream for AgentMessage events and delivers them
5
+ * to recipient agents via their session bridges. Supports optional per-agent
6
+ * gating where a human must approve outbound messages before they reach the room.
7
+ */
8
+ import crypto from "node:crypto";
9
+ import { DurableStream } from "@durable-streams/client";
10
+ import { ts } from "@electric-agent/protocol";
11
+ import { parseRoomMessage } from "./bridge/message-parser.js";
12
+ import { createGate } from "./gate.js";
13
+ import { getRoomStreamConnectionInfo } from "./streams.js";
14
+ export class RoomRouter {
15
+ roomId;
16
+ roomName;
17
+ streamConfig;
18
+ maxRounds;
19
+ _participants = new Map();
20
+ _state = "active";
21
+ _roundCount = 0;
22
+ cancelSubscription = null;
23
+ stream;
24
+ constructor(roomId, roomName, streamConfig, options) {
25
+ this.roomId = roomId;
26
+ this.roomName = roomName;
27
+ this.streamConfig = streamConfig;
28
+ this.maxRounds = options?.maxRounds ?? 20;
29
+ const conn = getRoomStreamConnectionInfo(roomId, streamConfig);
30
+ this.stream = new DurableStream({
31
+ url: conn.url,
32
+ headers: conn.headers,
33
+ contentType: "application/json",
34
+ });
35
+ }
36
+ // --- Public API ---
37
+ get participants() {
38
+ return [...this._participants.values()];
39
+ }
40
+ get state() {
41
+ return this._state;
42
+ }
43
+ get roundCount() {
44
+ return this._roundCount;
45
+ }
46
+ /**
47
+ * Add an agent to the room.
48
+ * Reads stream history for discovery context, sends discovery prompt to agent.
49
+ */
50
+ async addParticipant(participant, gated = false) {
51
+ const internal = { ...participant, gated };
52
+ this._participants.set(participant.sessionId, internal);
53
+ // Read stream history for discovery context (non-live replay)
54
+ const { roster, recentMessages } = await this.readStreamHistory();
55
+ // Emit participant_joined to room stream
56
+ const joinEvent = {
57
+ type: "participant_joined",
58
+ participant: { id: participant.sessionId, displayName: participant.name },
59
+ ts: ts(),
60
+ };
61
+ await this.stream.append(JSON.stringify(joinEvent));
62
+ // Build and send discovery prompt
63
+ const prompt = this.buildDiscoveryPrompt(participant, roster, recentMessages);
64
+ await participant.bridge.sendCommand({
65
+ command: "iterate",
66
+ request: prompt,
67
+ });
68
+ // Notify other participants that this agent joined
69
+ const roleSuffix = participant.role ? ` (${participant.role})` : "";
70
+ for (const p of this._participants.values()) {
71
+ if (p.sessionId !== participant.sessionId) {
72
+ const joinMsg = `${participant.name}${roleSuffix} has joined the room.`;
73
+ await p.bridge.emit({
74
+ type: "user_prompt",
75
+ message: joinMsg,
76
+ sender: "system",
77
+ ts: ts(),
78
+ });
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * Remove an agent from the room.
84
+ */
85
+ async removeParticipant(sessionId) {
86
+ const participant = this._participants.get(sessionId);
87
+ if (!participant)
88
+ return;
89
+ this._participants.delete(sessionId);
90
+ const leaveEvent = {
91
+ type: "participant_left",
92
+ participantId: sessionId,
93
+ ts: ts(),
94
+ };
95
+ await this.stream.append(JSON.stringify(leaveEvent));
96
+ // Notify remaining participants that this agent left
97
+ const roleSuffix = participant.role ? ` (${participant.role})` : "";
98
+ for (const p of this._participants.values()) {
99
+ await p.bridge.emit({
100
+ type: "user_prompt",
101
+ message: `${participant.name}${roleSuffix} has left the room.`,
102
+ sender: "system",
103
+ ts: ts(),
104
+ });
105
+ }
106
+ }
107
+ /**
108
+ * Send a message to the room stream (from human, API, or system).
109
+ */
110
+ async sendMessage(from, body, to) {
111
+ if (this._state === "closed")
112
+ return;
113
+ const event = {
114
+ type: "agent_message",
115
+ from,
116
+ ...(to ? { to } : {}),
117
+ body,
118
+ ts: ts(),
119
+ };
120
+ await this.stream.append(JSON.stringify(event));
121
+ }
122
+ /**
123
+ * Called by the server when an agent produces assistant_message output.
124
+ * Parses for @room messages and handles gating/delivery.
125
+ */
126
+ async handleAgentOutput(sessionId, text) {
127
+ if (this._state === "closed")
128
+ return;
129
+ const participant = this._participants.get(sessionId);
130
+ if (!participant)
131
+ return;
132
+ const knownNames = [...this._participants.values()]
133
+ .filter((p) => p.sessionId !== sessionId)
134
+ .map((p) => p.name);
135
+ const parsed = parseRoomMessage(text, participant.name, knownNames);
136
+ if (!parsed)
137
+ return; // Agent chose silence
138
+ let finalBody = parsed.body;
139
+ const isGateRequest = parsed.isGateRequest;
140
+ // Gated agent or explicit gate request: block until human approves
141
+ if (participant.gated || isGateRequest) {
142
+ const gateId = `room-msg-${crypto.randomUUID()}`;
143
+ // Emit gate event on the agent's session stream
144
+ await participant.bridge.emit({
145
+ type: "outbound_message_gate",
146
+ gateId,
147
+ roomId: this.roomId,
148
+ to: parsed.to,
149
+ body: parsed.body,
150
+ ts: ts(),
151
+ });
152
+ // Block until human resolves
153
+ const resolution = await createGate(sessionId, gateId);
154
+ // Emit resolution on agent's session stream for replay
155
+ await participant.bridge.emit({
156
+ type: "outbound_message_gate_resolved",
157
+ gateId,
158
+ action: resolution.action,
159
+ editedBody: resolution.editedBody,
160
+ ts: ts(),
161
+ });
162
+ if (resolution.action === "drop")
163
+ return;
164
+ if (resolution.action === "edit" && resolution.editedBody) {
165
+ finalBody = resolution.editedBody;
166
+ }
167
+ }
168
+ // Append message to room stream
169
+ await this.sendMessage(participant.name, finalBody, parsed.to);
170
+ this._roundCount++;
171
+ }
172
+ /**
173
+ * Start watching the room stream for new messages and routing them.
174
+ */
175
+ async start() {
176
+ const conn = getRoomStreamConnectionInfo(this.roomId, this.streamConfig);
177
+ const reader = new DurableStream({
178
+ url: conn.url,
179
+ headers: conn.headers,
180
+ contentType: "application/json",
181
+ });
182
+ const response = await reader.stream({
183
+ offset: "-1",
184
+ live: true,
185
+ });
186
+ this.cancelSubscription = response.subscribeJson((batch) => {
187
+ for (const item of batch.items) {
188
+ if (item.type === "agent_message") {
189
+ this.deliverMessage(item).catch((err) => {
190
+ console.error(`[room-router] delivery error:`, err);
191
+ });
192
+ }
193
+ if (item.type === "room_closed") {
194
+ this._state = "closed";
195
+ }
196
+ }
197
+ });
198
+ }
199
+ /**
200
+ * Close the room.
201
+ */
202
+ close() {
203
+ this._state = "closed";
204
+ if (this.cancelSubscription) {
205
+ this.cancelSubscription();
206
+ this.cancelSubscription = null;
207
+ }
208
+ }
209
+ /**
210
+ * Deliver a message to recipient agent(s) via their bridges.
211
+ */
212
+ async deliverMessage(msg) {
213
+ if (this._state === "closed")
214
+ return;
215
+ const deliverTo = [];
216
+ if (msg.to) {
217
+ // Direct message: find the specific recipient by name
218
+ const recipient = [...this._participants.values()].find((p) => p.name === msg.to);
219
+ if (recipient)
220
+ deliverTo.push(recipient);
221
+ }
222
+ else {
223
+ // Broadcast: deliver to all except sender
224
+ for (const p of this._participants.values()) {
225
+ if (p.name !== msg.from)
226
+ deliverTo.push(p);
227
+ }
228
+ }
229
+ const prompt = `Message from ${msg.from}:\n\n${msg.body}`;
230
+ await Promise.all(deliverTo.map(async (p) => {
231
+ try {
232
+ // Emit the incoming message to the agent's session stream
233
+ // so it's visible in the session UI
234
+ await p.bridge.emit({
235
+ type: "user_prompt",
236
+ message: msg.body,
237
+ sender: msg.from,
238
+ ts: ts(),
239
+ });
240
+ await p.bridge.sendCommand({ command: "iterate", request: prompt });
241
+ }
242
+ catch (err) {
243
+ console.error(`[room-router] failed to deliver to ${p.name}:`, err);
244
+ }
245
+ }));
246
+ }
247
+ /**
248
+ * Read the room stream history (non-live) for discovery context.
249
+ */
250
+ async readStreamHistory() {
251
+ const roster = [];
252
+ const leftIds = new Set();
253
+ const messages = [];
254
+ try {
255
+ const conn = getRoomStreamConnectionInfo(this.roomId, this.streamConfig);
256
+ const reader = new DurableStream({
257
+ url: conn.url,
258
+ headers: conn.headers,
259
+ contentType: "application/json",
260
+ });
261
+ const response = await reader.stream({
262
+ offset: "-1",
263
+ live: false,
264
+ });
265
+ // Read all available messages from the stream
266
+ await new Promise((resolve) => {
267
+ const cancel = response.subscribeJson((batch) => {
268
+ for (const item of batch.items) {
269
+ if (item.type === "participant_joined" && item.participant) {
270
+ const p = item.participant;
271
+ if (!leftIds.has(p.id)) {
272
+ // Find role from our internal participants if available
273
+ const internal = this._participants.get(p.id);
274
+ roster.push({
275
+ name: p.displayName,
276
+ role: internal?.role,
277
+ });
278
+ }
279
+ }
280
+ if (item.type === "participant_left" && item.participantId) {
281
+ leftIds.add(item.participantId);
282
+ }
283
+ if (item.type === "agent_message") {
284
+ messages.push({
285
+ from: item.from,
286
+ body: item.body,
287
+ });
288
+ }
289
+ }
290
+ // Non-live stream: once we get a batch, check if there are more
291
+ // For now, resolve after first batch since non-live streams
292
+ // deliver all available data
293
+ cancel();
294
+ resolve();
295
+ });
296
+ // If there's nothing in the stream, resolve after a short timeout
297
+ setTimeout(() => {
298
+ cancel();
299
+ resolve();
300
+ }, 1000);
301
+ });
302
+ }
303
+ catch (err) {
304
+ console.error(`[room-router] failed to read stream history:`, err);
305
+ }
306
+ // Only return the last 10 messages
307
+ const recentMessages = messages.slice(-10);
308
+ return { roster, recentMessages };
309
+ }
310
+ /**
311
+ * Build the discovery prompt sent to an agent when it joins the room.
312
+ */
313
+ buildDiscoveryPrompt(self, roster, recentMessages) {
314
+ const others = roster.filter((p) => p.name !== self.name);
315
+ const lines = [
316
+ `You have joined room "${this.roomName}".`,
317
+ `Your name in this room: ${self.name}`,
318
+ ];
319
+ if (self.role) {
320
+ lines.push(`Your role: ${self.role}`);
321
+ lines.push(`Read .claude/skills/role/SKILL.md for your role-specific guidelines.`);
322
+ }
323
+ lines.push("");
324
+ if (others.length > 0) {
325
+ lines.push("Other participants:");
326
+ for (const p of others) {
327
+ lines.push(`- ${p.name}${p.role ? ` (${p.role})` : ""}`);
328
+ }
329
+ }
330
+ else {
331
+ lines.push("No other participants yet.");
332
+ }
333
+ lines.push("");
334
+ if (recentMessages.length > 0) {
335
+ lines.push("Recent conversation:");
336
+ for (const m of recentMessages) {
337
+ lines.push(`[${m.from}]: ${m.body}`);
338
+ }
339
+ lines.push("");
340
+ }
341
+ lines.push("To send a message: @room <your message> (broadcast) or @<name> <message> (direct).", "Place your @room message at the END of your response, after completing any work.", "If you have nothing to say, finish without @room — your turn ends silently.", "To request human input: @room GATE: <question>", "", "IMPORTANT: You just joined this room — greet the other participants with a brief @room message introducing yourself.");
342
+ return lines.join("\n");
343
+ }
344
+ }
345
+ //# sourceMappingURL=room-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room-router.js","sourceRoot":"","sources":["../src/room-router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/sandbox/docker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EAET,aAAa,EACb,eAAe,EACf,MAAM,YAAY,CAAA;AA0LnB,qBAAa,qBAAsB,YAAW,eAAe;IAC5D,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAS;IAEpC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,aAAa,CAAyC;IAE9D,OAAO,CAAC,QAAQ;IAMV,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsD3E,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD,gEAAgE;IAChE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMhD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjD,IAAI,IAAI,aAAa,EAAE;IAIvB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAOjC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqDhE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkBzE,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBjD,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBhD,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBrD,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA8DxE,cAAc,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAChF,OAAO,CAAC,aAAa,CAAC;CA8BzB"}
1
+ {"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../src/sandbox/docker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,iBAAiB,EACjB,SAAS,EAET,aAAa,EACb,eAAe,EACf,MAAM,YAAY,CAAA;AA4LnB,qBAAa,qBAAsB,YAAW,eAAe;IAC5D,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAS;IAEpC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,aAAa,CAAyC;IAE9D,OAAO,CAAC,QAAQ;IAMV,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsD3E,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD,gEAAgE;IAChE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMhD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjD,IAAI,IAAI,aAAa,EAAE;IAIvB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAOjC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7D,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqDhE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkBzE,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBjD,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBhD,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBrD,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA8DxE,cAAc,CACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAChF,OAAO,CAAC,aAAa,CAAC;CA8BzB"}