@playcraft/common 0.1.22 → 0.1.24

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 (273) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/session-title.d.ts +1 -1
  3. package/dist/agent/session-title.js +1 -1
  4. package/dist/agent-messages/db-message-converter.d.ts +0 -10
  5. package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
  6. package/dist/agent-messages/db-message-converter.js +0 -13
  7. package/dist/agent-messages/db-message-converter.js.map +1 -1
  8. package/dist/agent-tools/index.d.ts +0 -1
  9. package/dist/agent-tools/index.d.ts.map +1 -1
  10. package/dist/agent-tools/index.js +0 -1
  11. package/dist/agent-tools/index.js.map +1 -1
  12. package/dist/agent-tools/types.d.ts +6 -0
  13. package/dist/agent-tools/types.d.ts.map +1 -1
  14. package/dist/agent-tools/types.js.map +1 -1
  15. package/dist/database/postgres-adapter.js +1 -1
  16. package/dist/database/postgres-adapter.js.map +1 -1
  17. package/dist/database/schema.d.ts +1 -1
  18. package/dist/database/schema.js +1 -1
  19. package/dist/recommend/types.d.ts +1 -1
  20. package/dist/recommend/types.js +1 -1
  21. package/dist/storage/cos.d.ts +0 -10
  22. package/dist/storage/cos.d.ts.map +1 -1
  23. package/dist/storage/cos.js +0 -28
  24. package/dist/storage/cos.js.map +1 -1
  25. package/package.json +1 -25
  26. package/dist/agent-tools/operation-protocol.d.ts +0 -10
  27. package/dist/agent-tools/operation-protocol.d.ts.map +0 -1
  28. package/dist/agent-tools/operation-protocol.js +0 -13
  29. package/dist/agent-tools/operation-protocol.js.map +0 -1
  30. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +0 -68
  31. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +0 -1
  32. package/dist/cloud-workspace/runtime/agent-background-processes.js +0 -60
  33. package/dist/cloud-workspace/runtime/agent-background-processes.js.map +0 -1
  34. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +0 -55
  35. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +0 -1
  36. package/dist/cloud-workspace/runtime/agent-chat-flush.js +0 -51
  37. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +0 -1
  38. package/dist/cloud-workspace/runtime/agent-command.d.ts +0 -152
  39. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +0 -1
  40. package/dist/cloud-workspace/runtime/agent-command.js +0 -90
  41. package/dist/cloud-workspace/runtime/agent-command.js.map +0 -1
  42. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +0 -143
  43. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +0 -1
  44. package/dist/cloud-workspace/runtime/agent-competitor-report.js +0 -115
  45. package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +0 -1
  46. package/dist/cloud-workspace/runtime/agent-connection.d.ts +0 -76
  47. package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +0 -1
  48. package/dist/cloud-workspace/runtime/agent-connection.js +0 -59
  49. package/dist/cloud-workspace/runtime/agent-connection.js.map +0 -1
  50. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +0 -90
  51. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +0 -1
  52. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +0 -60
  53. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +0 -1
  54. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +0 -87
  55. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +0 -1
  56. package/dist/cloud-workspace/runtime/agent-lifecycle.js +0 -75
  57. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +0 -1
  58. package/dist/cloud-workspace/runtime/agent-mutation.d.ts +0 -197
  59. package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +0 -1
  60. package/dist/cloud-workspace/runtime/agent-mutation.js +0 -114
  61. package/dist/cloud-workspace/runtime/agent-mutation.js.map +0 -1
  62. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +0 -210
  63. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +0 -1
  64. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +0 -180
  65. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +0 -1
  66. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +0 -406
  67. package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +0 -1
  68. package/dist/cloud-workspace/runtime/agent-opencode.js +0 -237
  69. package/dist/cloud-workspace/runtime/agent-opencode.js.map +0 -1
  70. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +0 -21
  71. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +0 -1
  72. package/dist/cloud-workspace/runtime/agent-promotion.js +0 -23
  73. package/dist/cloud-workspace/runtime/agent-promotion.js.map +0 -1
  74. package/dist/cloud-workspace/runtime/agent-read.d.ts +0 -343
  75. package/dist/cloud-workspace/runtime/agent-read.d.ts.map +0 -1
  76. package/dist/cloud-workspace/runtime/agent-read.js +0 -159
  77. package/dist/cloud-workspace/runtime/agent-read.js.map +0 -1
  78. package/dist/cloud-workspace/runtime/agent-source-project.d.ts +0 -126
  79. package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +0 -1
  80. package/dist/cloud-workspace/runtime/agent-source-project.js +0 -95
  81. package/dist/cloud-workspace/runtime/agent-source-project.js.map +0 -1
  82. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +0 -18
  83. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +0 -1
  84. package/dist/cloud-workspace/runtime/agent-tool-claim.js +0 -16
  85. package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +0 -1
  86. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +0 -9
  87. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +0 -1
  88. package/dist/cloud-workspace/runtime/agent-variant-chat.js +0 -23
  89. package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +0 -1
  90. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +0 -75
  91. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +0 -1
  92. package/dist/cloud-workspace/runtime/agent-variant-git.js +0 -62
  93. package/dist/cloud-workspace/runtime/agent-variant-git.js.map +0 -1
  94. package/dist/cloud-workspace/runtime/attachments.d.ts +0 -18
  95. package/dist/cloud-workspace/runtime/attachments.d.ts.map +0 -1
  96. package/dist/cloud-workspace/runtime/attachments.js +0 -28
  97. package/dist/cloud-workspace/runtime/attachments.js.map +0 -1
  98. package/dist/cloud-workspace/runtime/batch-generation.d.ts +0 -227
  99. package/dist/cloud-workspace/runtime/batch-generation.d.ts.map +0 -1
  100. package/dist/cloud-workspace/runtime/batch-generation.js +0 -241
  101. package/dist/cloud-workspace/runtime/batch-generation.js.map +0 -1
  102. package/dist/cloud-workspace/runtime/batch-production.d.ts +0 -439
  103. package/dist/cloud-workspace/runtime/batch-production.d.ts.map +0 -1
  104. package/dist/cloud-workspace/runtime/batch-production.js +0 -55
  105. package/dist/cloud-workspace/runtime/batch-production.js.map +0 -1
  106. package/dist/cloud-workspace/runtime/capabilities.d.ts +0 -40
  107. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +0 -1
  108. package/dist/cloud-workspace/runtime/capabilities.js +0 -53
  109. package/dist/cloud-workspace/runtime/capabilities.js.map +0 -1
  110. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +0 -53
  111. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +0 -1
  112. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +0 -95
  113. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +0 -1
  114. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +0 -197
  115. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +0 -1
  116. package/dist/cloud-workspace/runtime/chat-realtime.js +0 -299
  117. package/dist/cloud-workspace/runtime/chat-realtime.js.map +0 -1
  118. package/dist/cloud-workspace/runtime/checkpoints.d.ts +0 -35
  119. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +0 -1
  120. package/dist/cloud-workspace/runtime/checkpoints.js +0 -35
  121. package/dist/cloud-workspace/runtime/checkpoints.js.map +0 -1
  122. package/dist/cloud-workspace/runtime/config.d.ts +0 -47
  123. package/dist/cloud-workspace/runtime/config.d.ts.map +0 -1
  124. package/dist/cloud-workspace/runtime/config.js +0 -125
  125. package/dist/cloud-workspace/runtime/config.js.map +0 -1
  126. package/dist/cloud-workspace/runtime/connectivity.d.ts +0 -205
  127. package/dist/cloud-workspace/runtime/connectivity.d.ts.map +0 -1
  128. package/dist/cloud-workspace/runtime/connectivity.js +0 -46
  129. package/dist/cloud-workspace/runtime/connectivity.js.map +0 -1
  130. package/dist/cloud-workspace/runtime/errors.d.ts +0 -26
  131. package/dist/cloud-workspace/runtime/errors.d.ts.map +0 -1
  132. package/dist/cloud-workspace/runtime/errors.js +0 -40
  133. package/dist/cloud-workspace/runtime/errors.js.map +0 -1
  134. package/dist/cloud-workspace/runtime/events.d.ts +0 -107
  135. package/dist/cloud-workspace/runtime/events.d.ts.map +0 -1
  136. package/dist/cloud-workspace/runtime/events.js +0 -70
  137. package/dist/cloud-workspace/runtime/events.js.map +0 -1
  138. package/dist/cloud-workspace/runtime/execution-grant.d.ts +0 -36
  139. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +0 -1
  140. package/dist/cloud-workspace/runtime/execution-grant.js +0 -102
  141. package/dist/cloud-workspace/runtime/execution-grant.js.map +0 -1
  142. package/dist/cloud-workspace/runtime/files.d.ts +0 -74
  143. package/dist/cloud-workspace/runtime/files.d.ts.map +0 -1
  144. package/dist/cloud-workspace/runtime/files.js +0 -93
  145. package/dist/cloud-workspace/runtime/files.js.map +0 -1
  146. package/dist/cloud-workspace/runtime/generations.d.ts +0 -18
  147. package/dist/cloud-workspace/runtime/generations.d.ts.map +0 -1
  148. package/dist/cloud-workspace/runtime/generations.js +0 -39
  149. package/dist/cloud-workspace/runtime/generations.js.map +0 -1
  150. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +0 -35
  151. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +0 -1
  152. package/dist/cloud-workspace/runtime/git-auth-mode.js +0 -73
  153. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +0 -1
  154. package/dist/cloud-workspace/runtime/git.d.ts +0 -103
  155. package/dist/cloud-workspace/runtime/git.d.ts.map +0 -1
  156. package/dist/cloud-workspace/runtime/git.js +0 -91
  157. package/dist/cloud-workspace/runtime/git.js.map +0 -1
  158. package/dist/cloud-workspace/runtime/handshake.d.ts +0 -47
  159. package/dist/cloud-workspace/runtime/handshake.d.ts.map +0 -1
  160. package/dist/cloud-workspace/runtime/handshake.js +0 -31
  161. package/dist/cloud-workspace/runtime/handshake.js.map +0 -1
  162. package/dist/cloud-workspace/runtime/index.d.ts +0 -47
  163. package/dist/cloud-workspace/runtime/index.d.ts.map +0 -1
  164. package/dist/cloud-workspace/runtime/index.js +0 -47
  165. package/dist/cloud-workspace/runtime/index.js.map +0 -1
  166. package/dist/cloud-workspace/runtime/native-history.d.ts +0 -66
  167. package/dist/cloud-workspace/runtime/native-history.d.ts.map +0 -1
  168. package/dist/cloud-workspace/runtime/native-history.js +0 -127
  169. package/dist/cloud-workspace/runtime/native-history.js.map +0 -1
  170. package/dist/cloud-workspace/runtime/operations.d.ts +0 -183
  171. package/dist/cloud-workspace/runtime/operations.d.ts.map +0 -1
  172. package/dist/cloud-workspace/runtime/operations.js +0 -175
  173. package/dist/cloud-workspace/runtime/operations.js.map +0 -1
  174. package/dist/cloud-workspace/runtime/parameters.d.ts +0 -38
  175. package/dist/cloud-workspace/runtime/parameters.d.ts.map +0 -1
  176. package/dist/cloud-workspace/runtime/parameters.js +0 -75
  177. package/dist/cloud-workspace/runtime/parameters.js.map +0 -1
  178. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts +0 -24
  179. package/dist/cloud-workspace/runtime/platform-endpoints.d.ts.map +0 -1
  180. package/dist/cloud-workspace/runtime/platform-endpoints.js +0 -36
  181. package/dist/cloud-workspace/runtime/platform-endpoints.js.map +0 -1
  182. package/dist/cloud-workspace/runtime/previews.d.ts +0 -59
  183. package/dist/cloud-workspace/runtime/previews.d.ts.map +0 -1
  184. package/dist/cloud-workspace/runtime/previews.js +0 -63
  185. package/dist/cloud-workspace/runtime/previews.js.map +0 -1
  186. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +0 -40
  187. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +0 -1
  188. package/dist/cloud-workspace/runtime/project-native-skills.js +0 -45
  189. package/dist/cloud-workspace/runtime/project-native-skills.js.map +0 -1
  190. package/dist/cloud-workspace/runtime/protocol.d.ts +0 -23
  191. package/dist/cloud-workspace/runtime/protocol.d.ts.map +0 -1
  192. package/dist/cloud-workspace/runtime/protocol.js +0 -30
  193. package/dist/cloud-workspace/runtime/protocol.js.map +0 -1
  194. package/dist/cloud-workspace/runtime/resource-grant.d.ts +0 -62
  195. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +0 -1
  196. package/dist/cloud-workspace/runtime/resource-grant.js +0 -87
  197. package/dist/cloud-workspace/runtime/resource-grant.js.map +0 -1
  198. package/dist/cloud-workspace/runtime/skills.d.ts +0 -23
  199. package/dist/cloud-workspace/runtime/skills.d.ts.map +0 -1
  200. package/dist/cloud-workspace/runtime/skills.js +0 -15
  201. package/dist/cloud-workspace/runtime/skills.js.map +0 -1
  202. package/dist/cloud-workspace/runtime/terminal-session.d.ts +0 -78
  203. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +0 -1
  204. package/dist/cloud-workspace/runtime/terminal-session.js +0 -178
  205. package/dist/cloud-workspace/runtime/terminal-session.js.map +0 -1
  206. package/dist/cloud-workspace/runtime/terminals.d.ts +0 -90
  207. package/dist/cloud-workspace/runtime/terminals.d.ts.map +0 -1
  208. package/dist/cloud-workspace/runtime/terminals.js +0 -111
  209. package/dist/cloud-workspace/runtime/terminals.js.map +0 -1
  210. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +0 -221
  211. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +0 -1
  212. package/dist/cloud-workspace/runtime/variant-workspace.js +0 -75
  213. package/dist/cloud-workspace/runtime/variant-workspace.js.map +0 -1
  214. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +0 -206
  215. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +0 -1
  216. package/dist/cloud-workspace/runtime/workspace-binding.js +0 -173
  217. package/dist/cloud-workspace/runtime/workspace-binding.js.map +0 -1
  218. package/dist/cloud-workspace/runtime/workspace-directories.d.ts +0 -44
  219. package/dist/cloud-workspace/runtime/workspace-directories.d.ts.map +0 -1
  220. package/dist/cloud-workspace/runtime/workspace-directories.js +0 -34
  221. package/dist/cloud-workspace/runtime/workspace-directories.js.map +0 -1
  222. package/dist/database/operators.d.ts +0 -2
  223. package/dist/database/operators.d.ts.map +0 -1
  224. package/dist/database/operators.js +0 -2
  225. package/dist/database/operators.js.map +0 -1
  226. package/dist/project-skills/bundle-archive.d.ts +0 -21
  227. package/dist/project-skills/bundle-archive.d.ts.map +0 -1
  228. package/dist/project-skills/bundle-archive.js +0 -165
  229. package/dist/project-skills/bundle-archive.js.map +0 -1
  230. package/dist/project-skills/bundle-path.d.ts +0 -3
  231. package/dist/project-skills/bundle-path.d.ts.map +0 -1
  232. package/dist/project-skills/bundle-path.js +0 -17
  233. package/dist/project-skills/bundle-path.js.map +0 -1
  234. package/dist/project-skills/evidence.d.ts +0 -15
  235. package/dist/project-skills/evidence.d.ts.map +0 -1
  236. package/dist/project-skills/evidence.js +0 -33
  237. package/dist/project-skills/evidence.js.map +0 -1
  238. package/dist/project-skills/index.d.ts +0 -7
  239. package/dist/project-skills/index.d.ts.map +0 -1
  240. package/dist/project-skills/index.js +0 -7
  241. package/dist/project-skills/index.js.map +0 -1
  242. package/dist/project-skills/inventory.d.ts +0 -23
  243. package/dist/project-skills/inventory.d.ts.map +0 -1
  244. package/dist/project-skills/inventory.js +0 -150
  245. package/dist/project-skills/inventory.js.map +0 -1
  246. package/dist/project-skills/local-snapshot.d.ts +0 -12
  247. package/dist/project-skills/local-snapshot.d.ts.map +0 -1
  248. package/dist/project-skills/local-snapshot.js +0 -66
  249. package/dist/project-skills/local-snapshot.js.map +0 -1
  250. package/dist/project-skills/protocol.d.ts +0 -31
  251. package/dist/project-skills/protocol.d.ts.map +0 -1
  252. package/dist/project-skills/protocol.js +0 -197
  253. package/dist/project-skills/protocol.js.map +0 -1
  254. package/dist/project-skills/runtime-plugin.d.ts +0 -66
  255. package/dist/project-skills/runtime-plugin.d.ts.map +0 -1
  256. package/dist/project-skills/runtime-plugin.js +0 -102
  257. package/dist/project-skills/runtime-plugin.js.map +0 -1
  258. package/dist/project-skills/types.d.ts +0 -63
  259. package/dist/project-skills/types.d.ts.map +0 -1
  260. package/dist/project-skills/types.js +0 -13
  261. package/dist/project-skills/types.js.map +0 -1
  262. package/dist/remix/auto-name.d.ts +0 -24
  263. package/dist/remix/auto-name.d.ts.map +0 -1
  264. package/dist/remix/auto-name.js +0 -40
  265. package/dist/remix/auto-name.js.map +0 -1
  266. package/dist/remix/index.d.ts +0 -2
  267. package/dist/remix/index.d.ts.map +0 -1
  268. package/dist/remix/index.js +0 -2
  269. package/dist/remix/index.js.map +0 -1
  270. package/dist/skill-evaluation.d.ts +0 -152
  271. package/dist/skill-evaluation.d.ts.map +0 -1
  272. package/dist/skill-evaluation.js +0 -14
  273. package/dist/skill-evaluation.js.map +0 -1
@@ -1,78 +0,0 @@
1
- import { z } from 'zod';
2
- /** Retained PTY bytes. Older bytes are dropped; a reconnect must not invent them as new output. */
3
- export declare const TERMINAL_OUTPUT_RETAINED_BYTES: number;
4
- export declare function encodeTerminalBytes(bytes: Uint8Array): string;
5
- export declare function decodeTerminalBytes(value: string): Uint8Array;
6
- export declare const terminalClientFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
7
- type: z.ZodLiteral<"resume">;
8
- streamId: z.ZodOptional<z.ZodString>;
9
- offset: z.ZodNumber;
10
- }, z.core.$strict>, z.ZodObject<{
11
- type: z.ZodLiteral<"input">;
12
- data: z.ZodString;
13
- }, z.core.$strict>, z.ZodObject<{
14
- type: z.ZodLiteral<"resize">;
15
- cols: z.ZodNumber;
16
- rows: z.ZodNumber;
17
- }, z.core.$strict>], "type">;
18
- export type TerminalClientFrame = z.infer<typeof terminalClientFrameSchema>;
19
- export declare const TERMINAL_REVOKE_REASONS: readonly ["terminal_destroyed", "runtime_destroyed", "grant_revoked", "pty_unavailable"];
20
- export declare const terminalServerFrameSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
21
- type: z.ZodLiteral<"output">;
22
- streamId: z.ZodString;
23
- offset: z.ZodNumber;
24
- data: z.ZodString;
25
- }, z.core.$strict>, z.ZodObject<{
26
- type: z.ZodLiteral<"gap">;
27
- streamId: z.ZodString;
28
- offset: z.ZodNumber;
29
- }, z.core.$strict>, z.ZodObject<{
30
- type: z.ZodLiteral<"reset">;
31
- streamId: z.ZodString;
32
- offset: z.ZodNumber;
33
- }, z.core.$strict>, z.ZodObject<{
34
- type: z.ZodLiteral<"exit">;
35
- streamId: z.ZodString;
36
- code: z.ZodNullable<z.ZodNumber>;
37
- signal: z.ZodOptional<z.ZodString>;
38
- }, z.core.$strict>, z.ZodObject<{
39
- type: z.ZodLiteral<"revoked">;
40
- reason: z.ZodEnum<{
41
- runtime_destroyed: "runtime_destroyed";
42
- terminal_destroyed: "terminal_destroyed";
43
- grant_revoked: "grant_revoked";
44
- pty_unavailable: "pty_unavailable";
45
- }>;
46
- }, z.core.$strict>], "type">;
47
- export type TerminalServerFrame = z.infer<typeof terminalServerFrameSchema>;
48
- export type TerminalOutputLog = {
49
- start: number;
50
- end: number;
51
- chunks: Array<{
52
- offset: number;
53
- data: string;
54
- }>;
55
- };
56
- export declare function createTerminalOutputLog(): TerminalOutputLog;
57
- export declare function appendTerminalOutput(log: TerminalOutputLog, text: string, retain?: number): TerminalOutputLog;
58
- export declare function terminalOutputSince(log: TerminalOutputLog, offset: number): {
59
- gap: boolean;
60
- offset: number;
61
- frames: Array<{
62
- offset: number;
63
- data: string;
64
- }>;
65
- };
66
- export type TerminalView = {
67
- streamId?: string;
68
- text: string;
69
- offset: number;
70
- gap: boolean;
71
- exitCode?: number | null;
72
- exitSignal?: string;
73
- revoked?: string;
74
- };
75
- export declare function createTerminalView(): TerminalView;
76
- /** Apply one server frame. Bytes at an offset already applied are ignored, not appended again. */
77
- export declare function reduceTerminalFrame(view: TerminalView, frame: TerminalServerFrame): TerminalView;
78
- //# sourceMappingURL=terminal-session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-session.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminal-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mGAAmG;AACnG,eAAO,MAAM,8BAA8B,QAAa,CAAC;AAKzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAI7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAK7D;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;4BAqBpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,uBAAuB,0FAK1B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;4BAqCpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,SAAiC,GACtC,iBAAiB,CAWnB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,MAAM,GACb;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAmBnF;AAoBD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA+BhG"}
@@ -1,178 +0,0 @@
1
- import { z } from 'zod';
2
- /** Retained PTY bytes. Older bytes are dropped; a reconnect must not invent them as new output. */
3
- export const TERMINAL_OUTPUT_RETAINED_BYTES = 256 * 1024;
4
- const encoder = new TextEncoder();
5
- const decoder = new TextDecoder();
6
- export function encodeTerminalBytes(bytes) {
7
- let binary = '';
8
- for (const byte of bytes)
9
- binary += String.fromCharCode(byte);
10
- return btoa(binary);
11
- }
12
- export function decodeTerminalBytes(value) {
13
- const binary = atob(value);
14
- const bytes = new Uint8Array(binary.length);
15
- for (let index = 0; index < binary.length; index += 1)
16
- bytes[index] = binary.charCodeAt(index) & 0xff;
17
- return bytes;
18
- }
19
- export const terminalClientFrameSchema = z.discriminatedUnion('type', [
20
- z
21
- .object({
22
- type: z.literal('resume'),
23
- streamId: z.string().trim().min(1).max(64).optional(),
24
- offset: z.number().int().nonnegative(),
25
- })
26
- .strict(),
27
- z
28
- .object({
29
- type: z.literal('input'),
30
- data: z.string().min(1).max(16_384),
31
- })
32
- .strict(),
33
- z
34
- .object({
35
- type: z.literal('resize'),
36
- cols: z.number().int().min(1).max(500),
37
- rows: z.number().int().min(1).max(200),
38
- })
39
- .strict(),
40
- ]);
41
- export const TERMINAL_REVOKE_REASONS = [
42
- 'terminal_destroyed',
43
- 'runtime_destroyed',
44
- 'grant_revoked',
45
- 'pty_unavailable',
46
- ];
47
- export const terminalServerFrameSchema = z.discriminatedUnion('type', [
48
- z
49
- .object({
50
- type: z.literal('output'),
51
- streamId: z.string().min(1).max(64),
52
- offset: z.number().int().nonnegative(),
53
- data: z.string().min(1),
54
- })
55
- .strict(),
56
- z
57
- .object({
58
- type: z.literal('gap'),
59
- streamId: z.string().min(1).max(64),
60
- offset: z.number().int().nonnegative(),
61
- })
62
- .strict(),
63
- z
64
- .object({
65
- type: z.literal('reset'),
66
- streamId: z.string().min(1).max(64),
67
- offset: z.number().int().nonnegative(),
68
- })
69
- .strict(),
70
- z
71
- .object({
72
- type: z.literal('exit'),
73
- streamId: z.string().min(1).max(64),
74
- code: z.number().int().nullable(),
75
- signal: z.string().min(1).max(32).optional(),
76
- })
77
- .strict(),
78
- z
79
- .object({
80
- type: z.literal('revoked'),
81
- reason: z.enum(TERMINAL_REVOKE_REASONS),
82
- })
83
- .strict(),
84
- ]);
85
- export function createTerminalOutputLog() {
86
- return { start: 0, end: 0, chunks: [] };
87
- }
88
- export function appendTerminalOutput(log, text, retain = TERMINAL_OUTPUT_RETAINED_BYTES) {
89
- const bytes = encoder.encode(text);
90
- if (bytes.length === 0)
91
- return log;
92
- return trimTerminalOutput({
93
- start: log.start,
94
- end: log.end + bytes.length,
95
- chunks: [...log.chunks, { offset: log.end, data: encodeTerminalBytes(bytes) }],
96
- }, retain);
97
- }
98
- export function terminalOutputSince(log, offset) {
99
- if (offset < log.start) {
100
- return { gap: true, offset: log.start, frames: [...log.chunks] };
101
- }
102
- if (offset >= log.end)
103
- return { gap: false, offset: log.end, frames: [] };
104
- const frames = [];
105
- for (const chunk of log.chunks) {
106
- const bytes = decodeTerminalBytes(chunk.data);
107
- const end = chunk.offset + bytes.length;
108
- if (end <= offset)
109
- continue;
110
- if (chunk.offset >= offset)
111
- frames.push(chunk);
112
- else {
113
- frames.push({
114
- offset,
115
- data: encodeTerminalBytes(bytes.slice(offset - chunk.offset)),
116
- });
117
- }
118
- }
119
- return { gap: false, offset, frames };
120
- }
121
- function trimTerminalOutput(log, retain) {
122
- let { start, end, chunks } = log;
123
- while (end - start > retain && chunks.length > 1) {
124
- const first = chunks[0];
125
- const size = decodeTerminalBytes(first.data).length;
126
- chunks = chunks.slice(1);
127
- start = first.offset + size;
128
- }
129
- if (end - start > retain && chunks.length === 1) {
130
- const only = chunks[0];
131
- const bytes = decodeTerminalBytes(only.data);
132
- const keep = bytes.slice(bytes.length - retain);
133
- start = end - keep.length;
134
- chunks = [{ offset: start, data: encodeTerminalBytes(keep) }];
135
- }
136
- return { start, end, chunks };
137
- }
138
- export function createTerminalView() {
139
- return { text: '', offset: 0, gap: false };
140
- }
141
- /** Apply one server frame. Bytes at an offset already applied are ignored, not appended again. */
142
- export function reduceTerminalFrame(view, frame) {
143
- if (frame.type === 'reset') {
144
- return { text: '', offset: frame.offset, gap: false, streamId: frame.streamId };
145
- }
146
- if (frame.type === 'revoked')
147
- return { ...view, revoked: frame.reason };
148
- if (view.streamId && 'streamId' in frame && frame.streamId !== view.streamId)
149
- return view;
150
- if (frame.type === 'gap') {
151
- if (frame.offset < view.offset)
152
- return view;
153
- return { ...view, streamId: frame.streamId, gap: true, offset: frame.offset };
154
- }
155
- if (frame.type === 'exit') {
156
- return {
157
- ...view,
158
- streamId: frame.streamId,
159
- exitCode: frame.code,
160
- ...(frame.signal ? { exitSignal: frame.signal } : {}),
161
- };
162
- }
163
- const bytes = decodeTerminalBytes(frame.data);
164
- const end = frame.offset + bytes.length;
165
- if (end <= view.offset)
166
- return { ...view, streamId: view.streamId ?? frame.streamId };
167
- if (frame.offset > view.offset) {
168
- return { ...view, streamId: frame.streamId, gap: true };
169
- }
170
- const slice = frame.offset < view.offset ? bytes.slice(view.offset - frame.offset) : bytes;
171
- return {
172
- ...view,
173
- streamId: frame.streamId,
174
- offset: end,
175
- text: view.text + decoder.decode(slice),
176
- };
177
- }
178
- //# sourceMappingURL=terminal-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminal-session.ts"],"names":[],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const TERMINAL_STATUSES: readonly ["active", "destroyed"];
3
- export type TerminalStatus = (typeof TERMINAL_STATUSES)[number];
4
- export declare const terminalIdSchema: z.ZodString;
5
- export declare const terminalCreatePayloadSchema: z.ZodObject<{
6
- terminalId: z.ZodOptional<z.ZodString>;
7
- directoryName: z.ZodOptional<z.ZodString>;
8
- cwd: z.ZodOptional<z.ZodString>;
9
- }, z.core.$strict>;
10
- export type TerminalCreatePayload = z.infer<typeof terminalCreatePayloadSchema>;
11
- export declare const terminalRecordSchema: z.ZodObject<{
12
- terminalId: z.ZodString;
13
- workspaceId: z.ZodString;
14
- directoryName: z.ZodOptional<z.ZodString>;
15
- environment: z.ZodString;
16
- userId: z.ZodString;
17
- runtimeId: z.ZodOptional<z.ZodString>;
18
- generation: z.ZodOptional<z.ZodNumber>;
19
- runtimeEpoch: z.ZodOptional<z.ZodNumber>;
20
- processIdentity: z.ZodString;
21
- cwd: z.ZodString;
22
- status: z.ZodEnum<{
23
- active: "active";
24
- destroyed: "destroyed";
25
- }>;
26
- createdAt: z.ZodString;
27
- destroyedAt: z.ZodOptional<z.ZodString>;
28
- }, z.core.$strict>;
29
- export type TerminalRecord = z.infer<typeof terminalRecordSchema>;
30
- export declare function terminalProcessIdentity(workspaceId: string, terminalId: string, cwd?: string): string;
31
- export declare function parseTerminalProcessIdentity(value: string): {
32
- workspaceId?: string;
33
- terminalId?: string;
34
- cwd: string;
35
- };
36
- /** Client-chosen connection endpoints. Identity drafts persist leases without a display. */
37
- export declare const UNTRUSTED_DISPLAY_FIELDS: readonly ["displayUrl", "vncUrl", "websocketUrl", "host", "url", "novnc"];
38
- export type UntrustedDisplayField = (typeof UNTRUSTED_DISPLAY_FIELDS)[number];
39
- export declare const desktopAccessPayloadSchema: z.ZodObject<{}, z.core.$strict>;
40
- export type DesktopAccessPayload = z.infer<typeof desktopAccessPayloadSchema>;
41
- export declare const DESKTOP_DISPLAYS: readonly ["not_started", "ready"];
42
- export type DesktopDisplay = (typeof DESKTOP_DISPLAYS)[number];
43
- export declare const DESKTOP_HOLDERS: readonly ["none", "human"];
44
- export type DesktopHolder = (typeof DESKTOP_HOLDERS)[number];
45
- export declare const desktopLeaseRecordSchema: z.ZodObject<{
46
- leaseId: z.ZodString;
47
- environment: z.ZodString;
48
- userId: z.ZodString;
49
- takeoverRevision: z.ZodNumber;
50
- status: z.ZodEnum<{
51
- active: "active";
52
- released: "released";
53
- }>;
54
- display: z.ZodEnum<{
55
- ready: "ready";
56
- not_started: "not_started";
57
- }>;
58
- expiresAt: z.ZodOptional<z.ZodString>;
59
- streamGeneration: z.ZodOptional<z.ZodNumber>;
60
- holder: z.ZodOptional<z.ZodEnum<{
61
- none: "none";
62
- human: "human";
63
- }>>;
64
- resourcePath: z.ZodOptional<z.ZodString>;
65
- connectPath: z.ZodOptional<z.ZodString>;
66
- }, z.core.$strict>;
67
- export type DesktopLeaseRecord = z.infer<typeof desktopLeaseRecordSchema>;
68
- export declare const desktopHealthSchema: z.ZodObject<{
69
- status: z.ZodEnum<{
70
- ready: "ready";
71
- display_not_started: "display_not_started";
72
- display_unavailable: "display_unavailable";
73
- }>;
74
- streamGeneration: z.ZodNumber;
75
- holder: z.ZodEnum<{
76
- none: "none";
77
- human: "human";
78
- }>;
79
- agentInput: z.ZodEnum<{
80
- open: "open";
81
- revoked: "revoked";
82
- }>;
83
- holdExpiresAt: z.ZodOptional<z.ZodString>;
84
- }, z.core.$strict>;
85
- export type DesktopHealth = z.infer<typeof desktopHealthSchema>;
86
- /** Identity that can be stored. Live paths and the current picture generation are omitted. */
87
- export declare function restingDesktopLease(value: unknown): DesktopLeaseRecord;
88
- /** Relative noVNC asset name. Rejects traversal and absolute URLs. */
89
- export declare function desktopResourceName(value: string): string | undefined;
90
- //# sourceMappingURL=terminals.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminals.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,kCAAmC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,aAAoC,CAAC;AAElE,eAAO,MAAM,2BAA2B;;;;kBAM7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;kBAgBtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,MAAM,CAEjG;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAUA;AAED,4FAA4F;AAC5F,eAAO,MAAM,wBAAwB,2EAO3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B,iCAAwB,CAAC;AAEhE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB,mCAAoC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,eAAe,4BAA6B,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAU7D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;kBAc1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;kBAQrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,8FAA8F;AAC9F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,CAWtE;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMrE"}
@@ -1,111 +0,0 @@
1
- import { z } from 'zod';
2
- import { workspaceRelativePathSchema } from './files.js';
3
- import { workspaceDirectoryNameSchema } from './workspace-directories.js';
4
- export const TERMINAL_STATUSES = ['active', 'destroyed'];
5
- export const terminalIdSchema = z.string().trim().min(1).max(128);
6
- export const terminalCreatePayloadSchema = z
7
- .object({
8
- terminalId: terminalIdSchema.optional(),
9
- directoryName: workspaceDirectoryNameSchema.optional(),
10
- cwd: workspaceRelativePathSchema.optional(),
11
- })
12
- .strict();
13
- export const terminalRecordSchema = z
14
- .object({
15
- terminalId: terminalIdSchema,
16
- workspaceId: z.string().min(1).max(128),
17
- directoryName: workspaceDirectoryNameSchema.optional(),
18
- environment: z.string().min(1).max(64),
19
- userId: z.string().min(1).max(128),
20
- runtimeId: z.string().min(1).max(128).optional(),
21
- generation: z.number().int().nonnegative().optional(),
22
- runtimeEpoch: z.number().int().nonnegative().optional(),
23
- processIdentity: z.string().min(1).max(512),
24
- cwd: z.string().max(512),
25
- status: z.enum(TERMINAL_STATUSES),
26
- createdAt: z.string().min(1),
27
- destroyedAt: z.string().min(1).optional(),
28
- })
29
- .strict();
30
- export function terminalProcessIdentity(workspaceId, terminalId, cwd = '') {
31
- return cwd ? `term:${workspaceId}:${terminalId}|${cwd}` : `term:${workspaceId}:${terminalId}`;
32
- }
33
- export function parseTerminalProcessIdentity(value) {
34
- const separator = value.indexOf('|');
35
- const head = separator === -1 ? value : value.slice(0, separator);
36
- const cwd = separator === -1 ? '' : value.slice(separator + 1);
37
- const match = /^term:([^:]+):(.+)$/.exec(head);
38
- return {
39
- workspaceId: match?.[1],
40
- terminalId: match?.[2],
41
- cwd,
42
- };
43
- }
44
- /** Client-chosen connection endpoints. Identity drafts persist leases without a display. */
45
- export const UNTRUSTED_DISPLAY_FIELDS = [
46
- 'displayUrl',
47
- 'vncUrl',
48
- 'websocketUrl',
49
- 'host',
50
- 'url',
51
- 'novnc',
52
- ];
53
- export const desktopAccessPayloadSchema = z.object({}).strict();
54
- export const DESKTOP_DISPLAYS = ['not_started', 'ready'];
55
- export const DESKTOP_HOLDERS = ['none', 'human'];
56
- /** Server-assigned relative path. A client cannot choose a host or scheme. */
57
- const desktopRelativePathSchema = z
58
- .string()
59
- .min(1)
60
- .max(240)
61
- .regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/)
62
- .refine((value) => !value.includes('://') && !value.split('/').includes('..'));
63
- export const desktopLeaseRecordSchema = z
64
- .object({
65
- leaseId: z.string().min(1).max(128),
66
- environment: z.string().min(1).max(64),
67
- userId: z.string().min(1).max(128),
68
- takeoverRevision: z.number().int().nonnegative(),
69
- status: z.enum(['active', 'released']),
70
- display: z.enum(DESKTOP_DISPLAYS),
71
- expiresAt: z.string().min(1).optional(),
72
- streamGeneration: z.number().int().nonnegative().optional(),
73
- holder: z.enum(DESKTOP_HOLDERS).optional(),
74
- resourcePath: desktopRelativePathSchema.optional(),
75
- connectPath: desktopRelativePathSchema.optional(),
76
- })
77
- .strict();
78
- export const desktopHealthSchema = z
79
- .object({
80
- status: z.enum(['ready', 'display_not_started', 'display_unavailable']),
81
- streamGeneration: z.number().int().nonnegative(),
82
- holder: z.enum(DESKTOP_HOLDERS),
83
- agentInput: z.enum(['open', 'revoked']),
84
- holdExpiresAt: z.string().datetime().optional(),
85
- })
86
- .strict();
87
- /** Identity that can be stored. Live paths and the current picture generation are omitted. */
88
- export function restingDesktopLease(value) {
89
- const parsed = desktopLeaseRecordSchema.parse(value);
90
- return desktopLeaseRecordSchema.parse({
91
- leaseId: parsed.leaseId,
92
- environment: parsed.environment,
93
- userId: parsed.userId,
94
- takeoverRevision: parsed.takeoverRevision,
95
- status: parsed.status,
96
- display: 'not_started',
97
- ...(parsed.expiresAt ? { expiresAt: parsed.expiresAt } : {}),
98
- });
99
- }
100
- /** Relative noVNC asset name. Rejects traversal and absolute URLs. */
101
- export function desktopResourceName(value) {
102
- const name = value.replace(/^\/+/, '');
103
- if (!name || name.length > 240)
104
- return undefined;
105
- if (!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(name))
106
- return undefined;
107
- if (name.split('/').some((part) => part === '' || part === '.' || part === '..'))
108
- return undefined;
109
- return name;
110
- }
111
- //# sourceMappingURL=terminals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminals.ts"],"names":[],"mappings":"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"}