@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.
Files changed (93) hide show
  1. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts +68 -0
  2. package/dist/cloud-workspace/runtime/agent-background-processes.d.ts.map +1 -0
  3. package/dist/cloud-workspace/runtime/agent-background-processes.js +60 -0
  4. package/dist/cloud-workspace/runtime/agent-background-processes.js.map +1 -0
  5. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +3 -5
  6. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -1
  7. package/dist/cloud-workspace/runtime/agent-chat-flush.js +2 -6
  8. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -1
  9. package/dist/cloud-workspace/runtime/agent-command.d.ts +25 -3
  10. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -1
  11. package/dist/cloud-workspace/runtime/agent-command.js +15 -0
  12. package/dist/cloud-workspace/runtime/agent-command.js.map +1 -1
  13. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts +143 -0
  14. package/dist/cloud-workspace/runtime/agent-competitor-report.d.ts.map +1 -0
  15. package/dist/cloud-workspace/runtime/agent-competitor-report.js +115 -0
  16. package/dist/cloud-workspace/runtime/agent-competitor-report.js.map +1 -0
  17. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts +90 -0
  18. package/dist/cloud-workspace/runtime/agent-issue-artifacts.d.ts.map +1 -0
  19. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js +60 -0
  20. package/dist/cloud-workspace/runtime/agent-issue-artifacts.js.map +1 -0
  21. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +5 -3
  22. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -1
  23. package/dist/cloud-workspace/runtime/agent-lifecycle.js +5 -0
  24. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -1
  25. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +56 -2
  26. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -1
  27. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +40 -1
  28. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -1
  29. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +2 -2
  30. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +1 -0
  31. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -1
  32. package/dist/cloud-workspace/runtime/agent-promotion.js +5 -1
  33. package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -1
  34. package/dist/cloud-workspace/runtime/agent-source-project.d.ts +126 -0
  35. package/dist/cloud-workspace/runtime/agent-source-project.d.ts.map +1 -0
  36. package/dist/cloud-workspace/runtime/agent-source-project.js +95 -0
  37. package/dist/cloud-workspace/runtime/agent-source-project.js.map +1 -0
  38. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts +9 -0
  39. package/dist/cloud-workspace/runtime/agent-variant-chat.d.ts.map +1 -0
  40. package/dist/cloud-workspace/runtime/agent-variant-chat.js +23 -0
  41. package/dist/cloud-workspace/runtime/agent-variant-chat.js.map +1 -0
  42. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts +75 -0
  43. package/dist/cloud-workspace/runtime/agent-variant-git.d.ts.map +1 -0
  44. package/dist/cloud-workspace/runtime/agent-variant-git.js +62 -0
  45. package/dist/cloud-workspace/runtime/agent-variant-git.js.map +1 -0
  46. package/dist/cloud-workspace/runtime/capabilities.d.ts +1 -1
  47. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts +53 -0
  48. package/dist/cloud-workspace/runtime/chat-realtime-admission.d.ts.map +1 -0
  49. package/dist/cloud-workspace/runtime/chat-realtime-admission.js +95 -0
  50. package/dist/cloud-workspace/runtime/chat-realtime-admission.js.map +1 -0
  51. package/dist/cloud-workspace/runtime/chat-realtime.d.ts +197 -0
  52. package/dist/cloud-workspace/runtime/chat-realtime.d.ts.map +1 -0
  53. package/dist/cloud-workspace/runtime/chat-realtime.js +299 -0
  54. package/dist/cloud-workspace/runtime/chat-realtime.js.map +1 -0
  55. package/dist/cloud-workspace/runtime/errors.d.ts +1 -1
  56. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts +35 -0
  57. package/dist/cloud-workspace/runtime/git-auth-mode.d.ts.map +1 -0
  58. package/dist/cloud-workspace/runtime/git-auth-mode.js +73 -0
  59. package/dist/cloud-workspace/runtime/git-auth-mode.js.map +1 -0
  60. package/dist/cloud-workspace/runtime/handshake.d.ts +1 -1
  61. package/dist/cloud-workspace/runtime/index.d.ts +13 -3
  62. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -1
  63. package/dist/cloud-workspace/runtime/index.js +13 -3
  64. package/dist/cloud-workspace/runtime/index.js.map +1 -1
  65. package/dist/cloud-workspace/runtime/native-history.d.ts +66 -0
  66. package/dist/cloud-workspace/runtime/native-history.d.ts.map +1 -0
  67. package/dist/cloud-workspace/runtime/native-history.js +127 -0
  68. package/dist/cloud-workspace/runtime/native-history.js.map +1 -0
  69. package/dist/cloud-workspace/runtime/operations.d.ts +11 -0
  70. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -1
  71. package/dist/cloud-workspace/runtime/operations.js +15 -1
  72. package/dist/cloud-workspace/runtime/operations.js.map +1 -1
  73. package/dist/cloud-workspace/runtime/terminal-session.d.ts +78 -0
  74. package/dist/cloud-workspace/runtime/terminal-session.d.ts.map +1 -0
  75. package/dist/cloud-workspace/runtime/terminal-session.js +178 -0
  76. package/dist/cloud-workspace/runtime/terminal-session.js.map +1 -0
  77. package/dist/cloud-workspace/runtime/terminals.d.ts +36 -1
  78. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -1
  79. package/dist/cloud-workspace/runtime/terminals.js +46 -1
  80. package/dist/cloud-workspace/runtime/terminals.js.map +1 -1
  81. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +32 -3
  82. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -1
  83. package/dist/cloud-workspace/runtime/workspace-binding.js +9 -3
  84. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -1
  85. package/dist/database/operators.d.ts +2 -0
  86. package/dist/database/operators.d.ts.map +1 -0
  87. package/dist/database/operators.js +2 -0
  88. package/dist/database/operators.js.map +1 -0
  89. package/package.json +5 -1
  90. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts +0 -266
  91. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts.map +0 -1
  92. package/dist/cloud-workspace/runtime/agent-codebuddy.js +0 -189
  93. 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.ZodLiteral<"not_started">;
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;;;;;;;;;;;kBAU1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
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.literal('not_started'),
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":"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"}
@@ -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.ZodLiteral<"git-read-gateway-v1">;
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.ZodLiteral<"git-read-gateway-v1">;
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.ZodLiteral<"git-read-gateway-v1">;
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;AAExB,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;;;;;;;;;;;;kBAO6C,CAAC;AACrF,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
+ {"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.literal('git-read-gateway-v1'),
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;AAExB,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,OAAO,CAAC,qBAAqB,CAAC;IACtC,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,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,CAAC;AAGrF,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,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3E,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"}
1
+ {"version":3,"file":"workspace-binding.js","sourceRoot":"","sources":["../../../src/cloud-workspace/runtime/workspace-binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { eq, inArray } from 'drizzle-orm';
2
+ //# sourceMappingURL=operators.d.ts.map
@@ -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,2 @@
1
+ export { eq, inArray } from 'drizzle-orm';
2
+ //# sourceMappingURL=operators.js.map
@@ -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.0.59",
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"