@playcraft/common 0.0.59 → 0.1.1
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/cloud-workspace/runtime/agent-background-processes.d.ts +68 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.js +60 -0
- package/dist/cloud-workspace/runtime/agent-background-processes.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +3 -5
- package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/agent-chat-flush.js +2 -6
- package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -1
- package/dist/cloud-workspace/runtime/agent-command.d.ts +25 -3
- package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/agent-command.js +15 -0
- package/dist/cloud-workspace/runtime/agent-command.js.map +1 -1
- package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +143 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.js +115 -0
- package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +90 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +60 -0
- package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +5 -3
- package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/agent-lifecycle.js +5 -0
- package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -1
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +56 -2
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +40 -1
- package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -1
- package/dist/cloud-workspace/runtime/agent-opencode.d.ts +2 -2
- package/dist/cloud-workspace/runtime/agent-promotion.d.ts +1 -0
- package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/agent-promotion.js +5 -1
- package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -1
- package/dist/cloud-workspace/runtime/agent-source-project.d.ts +126 -0
- package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-source-project.js +95 -0
- package/dist/cloud-workspace/runtime/agent-source-project.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +9 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.js +23 -0
- package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +75 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.js +62 -0
- package/dist/cloud-workspace/runtime/agent-variant-git.js.map +1 -0
- package/dist/cloud-workspace/runtime/capabilities.d.ts +1 -1
- package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
- package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
- package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/chat-realtime.js +299 -0
- package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
- package/dist/cloud-workspace/runtime/errors.d.ts +1 -1
- package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
- package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
- package/dist/cloud-workspace/runtime/handshake.d.ts +1 -1
- package/dist/cloud-workspace/runtime/index.d.ts +13 -3
- package/dist/cloud-workspace/runtime/index.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/index.js +13 -3
- package/dist/cloud-workspace/runtime/index.js.map +1 -1
- package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
- package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/native-history.js +127 -0
- package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
- package/dist/cloud-workspace/runtime/operations.d.ts +11 -0
- package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/operations.js +15 -1
- package/dist/cloud-workspace/runtime/operations.js.map +1 -1
- package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
- package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
- package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
- package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
- package/dist/cloud-workspace/runtime/terminals.d.ts +36 -1
- package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/terminals.js +46 -1
- package/dist/cloud-workspace/runtime/terminals.js.map +1 -1
- package/dist/cloud-workspace/runtime/workspace-binding.d.ts +32 -3
- package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -1
- package/dist/cloud-workspace/runtime/workspace-binding.js +9 -3
- package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -1
- package/dist/database/operators.d.ts +2 -0
- package/dist/database/operators.d.ts.map +1 -0
- package/dist/database/operators.js +2 -0
- package/dist/database/operators.js.map +1 -0
- package/package.json +5 -1
- package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts +0 -266
- package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts.map +0 -1
- package/dist/cloud-workspace/runtime/agent-codebuddy.js +0 -189
- package/dist/cloud-workspace/runtime/agent-codebuddy.js.map +0 -1
|
@@ -0,0 +1,178 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminal-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,10 @@ export declare const UNTRUSTED_DISPLAY_FIELDS: readonly ["displayUrl", "vncUrl",
|
|
|
36
36
|
export type UntrustedDisplayField = (typeof UNTRUSTED_DISPLAY_FIELDS)[number];
|
|
37
37
|
export declare const desktopAccessPayloadSchema: z.ZodObject<{}, z.core.$strict>;
|
|
38
38
|
export type DesktopAccessPayload = z.infer<typeof desktopAccessPayloadSchema>;
|
|
39
|
+
export declare const DESKTOP_DISPLAYS: readonly ["not_started", "ready"];
|
|
40
|
+
export type DesktopDisplay = (typeof DESKTOP_DISPLAYS)[number];
|
|
41
|
+
export declare const DESKTOP_HOLDERS: readonly ["none", "human"];
|
|
42
|
+
export type DesktopHolder = (typeof DESKTOP_HOLDERS)[number];
|
|
39
43
|
export declare const desktopLeaseRecordSchema: z.ZodObject<{
|
|
40
44
|
leaseId: z.ZodString;
|
|
41
45
|
environment: z.ZodString;
|
|
@@ -45,8 +49,39 @@ export declare const desktopLeaseRecordSchema: z.ZodObject<{
|
|
|
45
49
|
active: "active";
|
|
46
50
|
released: "released";
|
|
47
51
|
}>;
|
|
48
|
-
display: z.
|
|
52
|
+
display: z.ZodEnum<{
|
|
53
|
+
ready: "ready";
|
|
54
|
+
not_started: "not_started";
|
|
55
|
+
}>;
|
|
49
56
|
expiresAt: z.ZodOptional<z.ZodString>;
|
|
57
|
+
streamGeneration: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
holder: z.ZodOptional<z.ZodEnum<{
|
|
59
|
+
none: "none";
|
|
60
|
+
human: "human";
|
|
61
|
+
}>>;
|
|
62
|
+
resourcePath: z.ZodOptional<z.ZodString>;
|
|
63
|
+
connectPath: z.ZodOptional<z.ZodString>;
|
|
50
64
|
}, z.core.$strict>;
|
|
51
65
|
export type DesktopLeaseRecord = z.infer<typeof desktopLeaseRecordSchema>;
|
|
66
|
+
export declare const desktopHealthSchema: z.ZodObject<{
|
|
67
|
+
status: z.ZodEnum<{
|
|
68
|
+
ready: "ready";
|
|
69
|
+
display_not_started: "display_not_started";
|
|
70
|
+
display_unavailable: "display_unavailable";
|
|
71
|
+
}>;
|
|
72
|
+
streamGeneration: z.ZodNumber;
|
|
73
|
+
holder: z.ZodEnum<{
|
|
74
|
+
none: "none";
|
|
75
|
+
human: "human";
|
|
76
|
+
}>;
|
|
77
|
+
agentInput: z.ZodEnum<{
|
|
78
|
+
open: "open";
|
|
79
|
+
revoked: "revoked";
|
|
80
|
+
}>;
|
|
81
|
+
}, z.core.$strict>;
|
|
82
|
+
export type DesktopHealth = z.infer<typeof desktopHealthSchema>;
|
|
83
|
+
/** Identity that can be stored. Live paths and the current picture generation are omitted. */
|
|
84
|
+
export declare function restingDesktopLease(value: unknown): DesktopLeaseRecord;
|
|
85
|
+
/** Relative noVNC asset name. Rejects traversal and absolute URLs. */
|
|
86
|
+
export declare function desktopResourceName(value: string): string | undefined;
|
|
52
87
|
//# sourceMappingURL=terminals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;AAGxB,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;;;kBAK7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;kBAetB,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,wBAAwB
|
|
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;AAGxB,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;;;kBAK7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;kBAetB,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;;;;;;;;;;;;;;;kBAOrB,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"}
|
|
@@ -48,6 +48,15 @@ export const UNTRUSTED_DISPLAY_FIELDS = [
|
|
|
48
48
|
'novnc',
|
|
49
49
|
];
|
|
50
50
|
export const desktopAccessPayloadSchema = z.object({}).strict();
|
|
51
|
+
export const DESKTOP_DISPLAYS = ['not_started', 'ready'];
|
|
52
|
+
export const DESKTOP_HOLDERS = ['none', 'human'];
|
|
53
|
+
/** Server-assigned relative path. A client cannot choose a host or scheme. */
|
|
54
|
+
const desktopRelativePathSchema = z
|
|
55
|
+
.string()
|
|
56
|
+
.min(1)
|
|
57
|
+
.max(240)
|
|
58
|
+
.regex(/^[A-Za-z0-9][A-Za-z0-9._/-]*$/)
|
|
59
|
+
.refine((value) => !value.includes('://') && !value.split('/').includes('..'));
|
|
51
60
|
export const desktopLeaseRecordSchema = z
|
|
52
61
|
.object({
|
|
53
62
|
leaseId: z.string().min(1).max(128),
|
|
@@ -55,8 +64,44 @@ export const desktopLeaseRecordSchema = z
|
|
|
55
64
|
userId: z.string().min(1).max(128),
|
|
56
65
|
takeoverRevision: z.number().int().nonnegative(),
|
|
57
66
|
status: z.enum(['active', 'released']),
|
|
58
|
-
display: z.
|
|
67
|
+
display: z.enum(DESKTOP_DISPLAYS),
|
|
59
68
|
expiresAt: z.string().min(1).optional(),
|
|
69
|
+
streamGeneration: z.number().int().nonnegative().optional(),
|
|
70
|
+
holder: z.enum(DESKTOP_HOLDERS).optional(),
|
|
71
|
+
resourcePath: desktopRelativePathSchema.optional(),
|
|
72
|
+
connectPath: desktopRelativePathSchema.optional(),
|
|
60
73
|
})
|
|
61
74
|
.strict();
|
|
75
|
+
export const desktopHealthSchema = z
|
|
76
|
+
.object({
|
|
77
|
+
status: z.enum(['ready', 'display_not_started', 'display_unavailable']),
|
|
78
|
+
streamGeneration: z.number().int().nonnegative(),
|
|
79
|
+
holder: z.enum(DESKTOP_HOLDERS),
|
|
80
|
+
agentInput: z.enum(['open', 'revoked']),
|
|
81
|
+
})
|
|
82
|
+
.strict();
|
|
83
|
+
/** Identity that can be stored. Live paths and the current picture generation are omitted. */
|
|
84
|
+
export function restingDesktopLease(value) {
|
|
85
|
+
const parsed = desktopLeaseRecordSchema.parse(value);
|
|
86
|
+
return desktopLeaseRecordSchema.parse({
|
|
87
|
+
leaseId: parsed.leaseId,
|
|
88
|
+
environment: parsed.environment,
|
|
89
|
+
userId: parsed.userId,
|
|
90
|
+
takeoverRevision: parsed.takeoverRevision,
|
|
91
|
+
status: parsed.status,
|
|
92
|
+
display: 'not_started',
|
|
93
|
+
...(parsed.expiresAt ? { expiresAt: parsed.expiresAt } : {}),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/** Relative noVNC asset name. Rejects traversal and absolute URLs. */
|
|
97
|
+
export function desktopResourceName(value) {
|
|
98
|
+
const name = value.replace(/^\/+/, '');
|
|
99
|
+
if (!name || name.length > 240)
|
|
100
|
+
return undefined;
|
|
101
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(name))
|
|
102
|
+
return undefined;
|
|
103
|
+
if (name.split('/').some((part) => part === '' || part === '.' || part === '..'))
|
|
104
|
+
return undefined;
|
|
105
|
+
return name;
|
|
106
|
+
}
|
|
62
107
|
//# sourceMappingURL=terminals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminals.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminals.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/terminals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAGlE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,GAAG,EAAE,2BAA2B,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACrD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACvD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,UAAU,uBAAuB,CAAC,WAAmB,EAAE,UAAkB,EAAE,GAAG,GAAG,EAAE;IACvF,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,WAAW,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,WAAW,IAAI,UAAU,EAAE,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAa;IAKxD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvB,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtB,GAAG;KACJ,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,YAAY;IACZ,QAAQ;IACR,cAAc;IACd,MAAM;IACN,KAAK;IACL,OAAO;CACC,CAAC;AAIX,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,OAAO,CAAU,CAAC;AAGlE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,CAAU,CAAC;AAG1D,8EAA8E;AAC9E,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,+BAA+B,CAAC;KACtC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC3D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC1C,YAAY,EAAE,yBAAyB,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAClD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IACvE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAChD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACxC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,wBAAwB,CAAC,KAAK,CAAC;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,aAAa;QACtB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACnG,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -22,12 +22,25 @@ export declare const workspaceGitAccessSchema: z.ZodObject<{
|
|
|
22
22
|
export type WorkspaceGitAccess = z.infer<typeof workspaceGitAccessSchema>;
|
|
23
23
|
/** Controlled read entry. The canonical repository URL stays on the remote. */
|
|
24
24
|
export declare const workspaceGitTransportSchema: z.ZodObject<{
|
|
25
|
-
kind: z.
|
|
25
|
+
kind: z.ZodEnum<{
|
|
26
|
+
"git-read-gateway-v1": "git-read-gateway-v1";
|
|
27
|
+
"git-gateway-v2": "git-gateway-v2";
|
|
28
|
+
}>;
|
|
26
29
|
cloneUrl: z.ZodString;
|
|
27
30
|
}, z.core.$strict>;
|
|
28
31
|
export type WorkspaceGitTransport = z.infer<typeof workspaceGitTransportSchema>;
|
|
29
32
|
export declare const workspacePreparationSchema: z.ZodObject<{
|
|
30
33
|
mode: z.ZodLiteral<"clone">;
|
|
34
|
+
authMode: z.ZodOptional<z.ZodEnum<{
|
|
35
|
+
readonly LOCAL: "local";
|
|
36
|
+
readonly GATEWAY: "gateway";
|
|
37
|
+
}>>;
|
|
38
|
+
directAccess: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
39
|
+
repositoryUrl: z.ZodString;
|
|
40
|
+
origin: z.ZodString;
|
|
41
|
+
username: z.ZodString;
|
|
42
|
+
password: z.ZodString;
|
|
43
|
+
}, z.core.$strict>>>;
|
|
31
44
|
gitAccess: z.ZodOptional<z.ZodObject<{
|
|
32
45
|
username: z.ZodString;
|
|
33
46
|
password: z.ZodString;
|
|
@@ -35,7 +48,10 @@ export declare const workspacePreparationSchema: z.ZodObject<{
|
|
|
35
48
|
expiresAt: z.ZodString;
|
|
36
49
|
}, z.core.$strict>>;
|
|
37
50
|
transport: z.ZodOptional<z.ZodObject<{
|
|
38
|
-
kind: z.
|
|
51
|
+
kind: z.ZodEnum<{
|
|
52
|
+
"git-read-gateway-v1": "git-read-gateway-v1";
|
|
53
|
+
"git-gateway-v2": "git-gateway-v2";
|
|
54
|
+
}>;
|
|
39
55
|
cloneUrl: z.ZodString;
|
|
40
56
|
}, z.core.$strict>>;
|
|
41
57
|
}, z.core.$strict>;
|
|
@@ -69,6 +85,16 @@ export declare const workspaceRegistrationRequestSchema: z.ZodObject<{
|
|
|
69
85
|
leaseFence: z.ZodNumber;
|
|
70
86
|
preparation: z.ZodOptional<z.ZodObject<{
|
|
71
87
|
mode: z.ZodLiteral<"clone">;
|
|
88
|
+
authMode: z.ZodOptional<z.ZodEnum<{
|
|
89
|
+
readonly LOCAL: "local";
|
|
90
|
+
readonly GATEWAY: "gateway";
|
|
91
|
+
}>>;
|
|
92
|
+
directAccess: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
93
|
+
repositoryUrl: z.ZodString;
|
|
94
|
+
origin: z.ZodString;
|
|
95
|
+
username: z.ZodString;
|
|
96
|
+
password: z.ZodString;
|
|
97
|
+
}, z.core.$strict>>>;
|
|
72
98
|
gitAccess: z.ZodOptional<z.ZodObject<{
|
|
73
99
|
username: z.ZodString;
|
|
74
100
|
password: z.ZodString;
|
|
@@ -76,7 +102,10 @@ export declare const workspaceRegistrationRequestSchema: z.ZodObject<{
|
|
|
76
102
|
expiresAt: z.ZodString;
|
|
77
103
|
}, z.core.$strict>>;
|
|
78
104
|
transport: z.ZodOptional<z.ZodObject<{
|
|
79
|
-
kind: z.
|
|
105
|
+
kind: z.ZodEnum<{
|
|
106
|
+
"git-read-gateway-v1": "git-read-gateway-v1";
|
|
107
|
+
"git-gateway-v2": "git-gateway-v2";
|
|
108
|
+
}>;
|
|
80
109
|
cloneUrl: z.ZodString;
|
|
81
110
|
}, z.core.$strict>>;
|
|
82
111
|
}, z.core.$strict>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-binding.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-binding.d.ts","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B;;;;;;;;;;kBAUwC,CAAC;AAEjF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,wFAAwF;AACxF,eAAO,MAAM,wBAAwB;;;;;kBAmBjC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B;;;;;;kBAK7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;kBAYA,CAAC;AACxC,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcpE;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAWnF;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAA;CAAE,CAAC;AAE7D,uEAAuE;AACvE,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,aAAa,EAAE,MAAM,GACpB,wBAAwB,CAkC1B;AAED,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQpC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { isLocalWorkspaceGitAuthMode, workspaceGitAuthModeSchema, workspaceGitDirectAccessSchema } from './git-auth-mode.js';
|
|
2
3
|
/** Trusted control-plane registration; never merge this with a browser operation payload. */
|
|
3
4
|
export const workspaceRegistrationSchema = z
|
|
4
5
|
.object({
|
|
@@ -35,18 +36,23 @@ export const workspaceGitAccessSchema = z
|
|
|
35
36
|
/** Controlled read entry. The canonical repository URL stays on the remote. */
|
|
36
37
|
export const workspaceGitTransportSchema = z
|
|
37
38
|
.object({
|
|
38
|
-
kind: z.
|
|
39
|
+
kind: z.enum(['git-read-gateway-v1', 'git-gateway-v2']),
|
|
39
40
|
cloneUrl: z.string().min(1).max(2048),
|
|
40
41
|
})
|
|
41
42
|
.strict();
|
|
42
43
|
export const workspacePreparationSchema = z
|
|
43
44
|
.object({
|
|
44
45
|
mode: z.literal('clone'),
|
|
46
|
+
authMode: workspaceGitAuthModeSchema.optional(),
|
|
47
|
+
directAccess: workspaceGitDirectAccessSchema.nullable().optional(),
|
|
45
48
|
gitAccess: workspaceGitAccessSchema.optional(),
|
|
46
49
|
transport: workspaceGitTransportSchema.optional(),
|
|
47
50
|
})
|
|
48
51
|
.strict()
|
|
49
|
-
.refine((value) => value.transport === undefined || value.gitAccess !== undefined)
|
|
52
|
+
.refine((value) => value.transport === undefined || value.gitAccess !== undefined)
|
|
53
|
+
.refine(value => isLocalWorkspaceGitAuthMode(value.authMode)
|
|
54
|
+
? value.directAccess !== undefined && !value.gitAccess && !value.transport
|
|
55
|
+
: value.directAccess === undefined);
|
|
50
56
|
const LOOPBACK_HOSTS = new Set(['localhost', '127.0.0.1', '[::1]']);
|
|
51
57
|
export function parseWorkspaceGitGatewayOrigin(value) {
|
|
52
58
|
const url = new URL(value);
|
|
@@ -94,7 +100,7 @@ export function matchWorkspaceGitGatewayCloneUrl(cloneUrl, allowedOrigins, repos
|
|
|
94
100
|
return { ok: false, reason: 'rejected' };
|
|
95
101
|
}
|
|
96
102
|
}
|
|
97
|
-
const request = /^\/workspace-git\/([a-f0-9]{64})$/.exec(gateway.pathname);
|
|
103
|
+
const request = /^\/workspace-git\/([a-f0-9]{64}|v2\/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})$/.exec(gateway.pathname);
|
|
98
104
|
if (!request ||
|
|
99
105
|
gateway.username ||
|
|
100
106
|
gateway.password ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-binding.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-binding.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAE7H,6FAA6F;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACvC,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;AAIjF,wFAAwF;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,KAAK,CAAC,eAAe,CAAC;IACzB,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,KAAK,CAAC,cAAc,CAAC;IACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;IAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1E,OAAO,QAAQ,GAAG,CAAC,IAAI,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC;AACjD,CAAC,CAAC,CAAC;AAGL,+EAA+E;AAC/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,QAAQ,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IAC/C,YAAY,EAAE,8BAA8B,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClE,SAAS,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,2BAA2B,CAAC,QAAQ,EAAE;CAClD,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;KACjF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC1D,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS;IAC1E,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;AAGxC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpE,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,IACE,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,IAAI;QACR,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;QAC7C,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ;YACxB,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAyB;IACvE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO;QACL,GAAG,IAAI,GAAG,CACR,KAAK;aACF,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CACvD;KACF,CAAC;AACJ,CAAC;AAMD,uEAAuE;AACvE,MAAM,UAAU,gCAAgC,CAC9C,QAAgB,EAChB,cAAiC,EACjC,aAAqB;IAErB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACpF,IAAI,OAAY,CAAC;IACjB,IAAI,UAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,oGAAoG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5I,IACE,CAAC,OAAO;QACR,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,MAAM;QACd,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE;QACvD,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;QACpC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC;KAChD,MAAM,CAAC;IACN,OAAO,EAAE,2BAA2B;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC1C,WAAW,EAAE,0BAA0B,CAAC,QAAQ,EAAE;CACnD,CAAC;KACD,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/database/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/database/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@playcraft/common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
"types": "./dist/database/index.d.ts",
|
|
30
30
|
"default": "./dist/database/index.js"
|
|
31
31
|
},
|
|
32
|
+
"./database/operators": {
|
|
33
|
+
"types": "./dist/database/operators.d.ts",
|
|
34
|
+
"default": "./dist/database/operators.js"
|
|
35
|
+
},
|
|
32
36
|
"./sharedb": {
|
|
33
37
|
"types": "./dist/sharedb/index.d.ts",
|
|
34
38
|
"default": "./dist/sharedb/index.js"
|