@rool-dev/sdk 0.10.2-dev.58d3ca8 → 0.10.2-dev.6db6154

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 (50) hide show
  1. package/README.md +1 -3
  2. package/dist/channel.d.ts +29 -61
  3. package/dist/channel.d.ts.map +1 -1
  4. package/dist/channel.js +109 -136
  5. package/dist/channel.js.map +1 -1
  6. package/dist/client.d.ts +0 -11
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +0 -15
  9. package/dist/client.js.map +1 -1
  10. package/dist/graphql.d.ts +1 -2
  11. package/dist/graphql.d.ts.map +1 -1
  12. package/dist/graphql.js +19 -40
  13. package/dist/graphql.js.map +1 -1
  14. package/dist/index.d.ts +3 -6
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/path.d.ts +6 -0
  19. package/dist/path.d.ts.map +1 -0
  20. package/dist/path.js +47 -0
  21. package/dist/path.js.map +1 -0
  22. package/dist/reroute.d.ts +22 -0
  23. package/dist/reroute.d.ts.map +1 -0
  24. package/dist/reroute.js +61 -0
  25. package/dist/reroute.js.map +1 -0
  26. package/dist/rest.d.ts +1 -1
  27. package/dist/rest.d.ts.map +1 -1
  28. package/dist/rest.js +21 -25
  29. package/dist/rest.js.map +1 -1
  30. package/dist/space.d.ts +2 -9
  31. package/dist/space.d.ts.map +1 -1
  32. package/dist/space.js +7 -23
  33. package/dist/space.js.map +1 -1
  34. package/dist/subscription.js +0 -2
  35. package/dist/subscription.js.map +1 -1
  36. package/dist/types.d.ts +14 -41
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/webdav.d.ts +21 -21
  39. package/dist/webdav.d.ts.map +1 -1
  40. package/dist/webdav.js +37 -101
  41. package/dist/webdav.js.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/locations.d.ts +0 -29
  44. package/dist/locations.d.ts.map +0 -1
  45. package/dist/locations.js +0 -78
  46. package/dist/locations.js.map +0 -1
  47. package/dist/machine.d.ts +0 -16
  48. package/dist/machine.d.ts.map +0 -1
  49. package/dist/machine.js +0 -51
  50. package/dist/machine.js.map +0 -1
package/dist/webdav.js CHANGED
@@ -1,8 +1,6 @@
1
+ import { machinePath } from './path.js';
2
+ import { fetchWithReroute, isThrowRetryable } from './reroute.js';
1
3
  const XML_HEADER = '<?xml version="1.0" encoding="utf-8"?>';
2
- const REQUEST_MAX_RETRIES = 6;
3
- const RETRY_BASE_MS = 150;
4
- const RETRY_MAX_MS = 5_000;
5
- const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
6
4
  function getTimezone() {
7
5
  try {
8
6
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
@@ -11,10 +9,6 @@ function getTimezone() {
11
9
  return undefined;
12
10
  }
13
11
  }
14
- function retryBackoffMs(attempt) {
15
- const ceil = Math.min(RETRY_BASE_MS * 2 ** attempt, RETRY_MAX_MS);
16
- return ceil / 2 + Math.random() * (ceil / 2);
17
- }
18
12
  const KNOWN_PROPS = [
19
13
  'creationdate',
20
14
  'displayname',
@@ -59,46 +53,37 @@ export class RoolWebDAV {
59
53
  setWebDAVUrl(webdavUrl) {
60
54
  this.webdavUrl = normalizeWebDAVBaseUrl(webdavUrl);
61
55
  }
62
- /** Normalize a WebDAV path to a machine path. Relative paths resolve under /rool-drive. */
63
- path(path) {
64
- const target = parseWebDAVPath(path);
65
- return target.root ? `/${target.root}${target.path ? `/${target.path}` : ''}` : '/';
66
- }
67
- /** Return the WebDAV href for a machine path or relative /rool-drive path. */
68
- href(path = '', options) {
56
+ /** Return the WebDAV href for a machine path. */
57
+ href(path = '/', options) {
69
58
  return this.pathUrl(path, options).href;
70
59
  }
71
- /** Return the absolute WebDAV URL for a root-relative path. */
72
- url(path = '', options) {
60
+ /** Return the absolute WebDAV URL for a machine path. */
61
+ url(path = '/', options) {
73
62
  const davPath = this.pathUrl(path, options);
74
63
  return `${this.webdavUrl}${davPath.href}`;
75
64
  }
76
- /** Low-level WebDAV request for a machine path or relative /rool-drive path. Adds Rool auth and returns the raw Response. */
77
- async request(method, path = '', init = {}) {
65
+ /** Low-level WebDAV request for a machine path. Adds Rool auth and returns the raw Response. */
66
+ async request(method, path = '/', init = {}) {
78
67
  const { collection, ...fetchInit } = init;
79
68
  const requestInit = { ...fetchInit, method };
80
- let response = await this.authenticatedFetch(this.url(path, { collection }), requestInit);
81
- // 421 (wrong shard) and 503 (draining) reject before executing server-side.
82
- // Re-resolve the owning shard and retry. This is safe for channel object
83
- // mutations; callers using one-shot ReadableStreams should avoid retries.
84
- for (let attempt = 0; (response.status === 421 || response.status === 503) && this.onRefused && attempt < REQUEST_MAX_RETRIES; attempt++) {
85
- await delay(retryBackoffMs(attempt));
86
- try {
87
- this.setWebDAVUrl(await this.onRefused());
88
- }
89
- catch {
90
- continue;
91
- }
92
- response = await this.authenticatedFetch(this.url(path, { collection }), requestInit);
93
- }
94
- return response;
69
+ // 421 (wrong shard) and 503 (draining) reject before executing server-side;
70
+ // a node that rolled fully away rejects the fetch opaquely (no CORS on the
71
+ // LB's 5xx). Both re-resolve the owner and retry. A one-shot ReadableStream
72
+ // body can't be re-sent, so it disables retries.
73
+ const onRefused = this.onRefused;
74
+ const bodyIsStream = typeof ReadableStream !== 'undefined' && requestInit.body instanceof ReadableStream;
75
+ return fetchWithReroute({
76
+ send: () => this.authenticatedFetch(this.url(path, { collection }), requestInit),
77
+ reroute: onRefused ? async () => this.setWebDAVUrl(await onRefused()) : undefined,
78
+ retryOnThrow: isThrowRetryable(method) && !bodyIsStream,
79
+ });
95
80
  }
96
- async options(path = '') {
81
+ async options(path = '/') {
97
82
  return this.request('OPTIONS', path);
98
83
  }
99
84
  async propfind(path, options) {
100
85
  const response = await this.request('PROPFIND', path, {
101
- collection: isCollectionInput(path),
86
+ collection: true,
102
87
  signal: options.signal,
103
88
  headers: {
104
89
  Depth: options.depth,
@@ -175,7 +160,7 @@ export class RoolWebDAV {
175
160
  }
176
161
  async delete(path, options = {}) {
177
162
  const response = await this.request('DELETE', path, {
178
- collection: isCollectionInput(path),
163
+ collection: options.collection,
179
164
  headers: writeHeaders(options),
180
165
  });
181
166
  await assertStatus(response, 204);
@@ -203,7 +188,7 @@ export class RoolWebDAV {
203
188
  if (options.timeoutSeconds)
204
189
  headers.set('Timeout', `Second-${options.timeoutSeconds}`);
205
190
  const response = await this.request('LOCK', path, {
206
- collection: isCollectionInput(path),
191
+ collection: options.collection,
207
192
  signal: options.signal,
208
193
  headers,
209
194
  body: lockXml(options.owner ?? ''),
@@ -216,7 +201,7 @@ export class RoolWebDAV {
216
201
  if (options.timeoutSeconds)
217
202
  headers.set('Timeout', `Second-${options.timeoutSeconds}`);
218
203
  const response = await this.request('LOCK', path, {
219
- collection: isCollectionInput(path),
204
+ collection: options.collection,
220
205
  signal: options.signal,
221
206
  headers,
222
207
  });
@@ -224,7 +209,7 @@ export class RoolWebDAV {
224
209
  return lockResult(response, await response.text());
225
210
  }
226
211
  async unlock(token) {
227
- const response = await this.request('UNLOCK', '', {
212
+ const response = await this.request('UNLOCK', '/', {
228
213
  collection: true,
229
214
  headers: { 'Lock-Token': `<${token}>` },
230
215
  });
@@ -232,13 +217,12 @@ export class RoolWebDAV {
232
217
  }
233
218
  async moveOrCopy(method, source, destination, options) {
234
219
  const headers = writeHeaders(options);
235
- headers.set('Destination', this.url(destination, { collection: isCollectionInput(destination) }));
220
+ headers.set('Destination', this.url(destination));
236
221
  if (options.overwrite !== undefined)
237
222
  headers.set('Overwrite', options.overwrite ? 'T' : 'F');
238
223
  if (method === 'COPY' && options.depth)
239
224
  headers.set('Depth', options.depth);
240
225
  const response = await this.request(method, source, {
241
- collection: isCollectionInput(source),
242
226
  headers,
243
227
  });
244
228
  await assertStatus(response, 201, 204);
@@ -261,62 +245,26 @@ export class RoolWebDAV {
261
245
  return fetch(url, requestInit);
262
246
  }
263
247
  pathUrl(path, options) {
264
- const isCollection = options?.collection ?? isCollectionInput(path);
265
- const target = parseWebDAVPath(path);
248
+ const parsed = machinePath(path, { spaceId: this.spaceId });
249
+ if (parsed !== '/' && parsed !== '/space' && !parsed.startsWith('/space/') && parsed !== '/rool-drive' && !parsed.startsWith('/rool-drive/')) {
250
+ throw new Error('WebDAV paths must be machine paths under /space or /rool-drive');
251
+ }
252
+ const isCollection = options?.collection ?? parsed === '/';
266
253
  const encodedSpace = encodeURIComponent(this.spaceId);
267
- const encodedPath = target.path
268
- .split('/')
269
- .filter(Boolean)
270
- .map(encodeURIComponent)
271
- .join('/');
254
+ const encodedPath = parsed === '/'
255
+ ? ''
256
+ : parsed.slice(1).split('/').map(encodeURIComponent).join('/');
272
257
  const suffix = encodedPath ? `/${encodedPath}` : '';
273
- const root = target.root ? `/${target.root}` : '';
274
258
  return {
275
- href: `/space/${encodedSpace}${root}${suffix}${isCollection ? '/' : ''}`,
276
- path: target.path,
259
+ href: `/space/${encodedSpace}${suffix}${isCollection ? '/' : ''}`,
260
+ path: parsed,
277
261
  isCollection,
278
262
  };
279
263
  }
280
264
  }
281
- function isCollectionInput(path) {
282
- return path === '' || path.endsWith('/');
283
- }
284
265
  function normalizeWebDAVBaseUrl(url) {
285
266
  return url.replace(/\/+$/, '').replace(/\/dav$/, '');
286
267
  }
287
- function parseWebDAVPath(path) {
288
- if (path.includes('\\'))
289
- throw new Error('Invalid WebDAV path');
290
- if (/^[a-z][a-z0-9+.-]*:/i.test(path))
291
- throw new Error('Invalid WebDAV path');
292
- if (/[\x00-\x1f\x7f]/.test(path))
293
- throw new Error('Invalid WebDAV path');
294
- if (path === '/')
295
- return { root: '', path: '' };
296
- const normalized = path.replace(/\/+$/, '');
297
- if (normalized === '')
298
- return { root: 'rool-drive', path: '' };
299
- if (normalized === '/rool-drive')
300
- return { root: 'rool-drive', path: '' };
301
- if (normalized.startsWith('/rool-drive/')) {
302
- return { root: 'rool-drive', path: validateRelativeWebDAVPath(normalized.slice('/rool-drive/'.length)) };
303
- }
304
- if (normalized === '/space')
305
- return { root: 'space', path: '' };
306
- if (normalized.startsWith('/space/')) {
307
- return { root: 'space', path: validateRelativeWebDAVPath(normalized.slice('/space/'.length)) };
308
- }
309
- if (normalized.startsWith('/'))
310
- throw new Error('Invalid WebDAV path');
311
- return { root: 'rool-drive', path: validateRelativeWebDAVPath(normalized) };
312
- }
313
- function validateRelativeWebDAVPath(path) {
314
- const parts = path.split('/');
315
- if (parts.some((part) => part === '' || part === '.' || part === '..')) {
316
- throw new Error('Invalid WebDAV path');
317
- }
318
- return path;
319
- }
320
268
  function rangeHeader(range) {
321
269
  if (typeof range === 'string')
322
270
  return range;
@@ -488,19 +436,7 @@ function parseTimeout(value) {
488
436
  }
489
437
  function pathFromHref(href, spaceId) {
490
438
  try {
491
- const pathname = new URL(href, 'http://rool.local').pathname;
492
- const parts = pathname.split('/').filter(Boolean).map(decodeURIComponent);
493
- if (parts[0] === 'space' && parts[1] === spaceId) {
494
- const root = parts[2];
495
- if (root === 'space')
496
- return `/space${parts.length > 3 ? `/${parts.slice(3).join('/')}` : ''}`;
497
- if (root === 'rool-drive')
498
- return `/rool-drive${parts.length > 3 ? `/${parts.slice(3).join('/')}` : ''}`;
499
- return '/';
500
- }
501
- if (parts[0] === 'dav' && parts[1] === spaceId)
502
- return parts.slice(2).join('/');
503
- return href;
439
+ return machinePath(href, { spaceId });
504
440
  }
505
441
  catch {
506
442
  return href;
@@ -1 +1 @@
1
- {"version":3,"file":"webdav.js","sourceRoot":"","sources":["../src/webdav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webdav.js","sourceRoot":"","sources":["../src/webdav.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rool-dev/sdk",
3
- "version": "0.10.2-dev.58d3ca8",
3
+ "version": "0.10.2-dev.6db6154",
4
4
  "description": "TypeScript SDK for working with Rool Spaces",
5
5
  "packageManager": "pnpm@10.17.1",
6
6
  "type": "module",
@@ -1,29 +0,0 @@
1
- export interface ParsedLocation {
2
- collection: string;
3
- basename: string;
4
- }
5
- /**
6
- * Build a canonical location string from a collection and basename.
7
- * Validates both parts. Throws on invalid input.
8
- */
9
- export declare function loc(collection: string, basename: string): string;
10
- /**
11
- * Parse a canonical location string into its collection and basename.
12
- * Throws on malformed input. Use {@link normalizeLocation} first if the
13
- * input might be a short form like `"article/welcome"`.
14
- */
15
- export declare function parseLocation(location: string): ParsedLocation;
16
- /**
17
- * Normalize a user-provided location to the canonical full form.
18
- *
19
- * Accepts:
20
- * - `/space/<collection>/<basename>.json` — canonical
21
- * - `<collection>/<basename>` — short form
22
- * - `<collection>/<basename>.json` — short form with extension
23
- *
24
- * Always returns the canonical form. Throws on malformed input.
25
- */
26
- export declare function normalizeLocation(input: string): string;
27
- /** Return true if `input` is a syntactically valid (full or short) location. */
28
- export declare function isLocation(input: unknown): input is string;
29
- //# sourceMappingURL=locations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQhE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAQ9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAQ1D"}
package/dist/locations.js DELETED
@@ -1,78 +0,0 @@
1
- // =============================================================================
2
- // Object location helpers
3
- //
4
- // An object lives at a "location" — a path of the form
5
- // `/space/<collection>/<basename>.json`. The collection is the parent
6
- // directory; the basename is the filename without `.json`. The two together
7
- // fully identify the object inside its space.
8
- //
9
- // Functions here normalize user-provided strings, parse locations into their
10
- // parts, and build canonical locations from validated parts.
11
- // =============================================================================
12
- const COLLECTION_RE = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
13
- const BASENAME_RE = /^[a-zA-Z0-9][a-zA-Z0-9_-]*$/;
14
- const FULL_LOCATION_RE = /^\/space\/([^/]+)\/([^/]+)\.json$/;
15
- /**
16
- * Build a canonical location string from a collection and basename.
17
- * Validates both parts. Throws on invalid input.
18
- */
19
- export function loc(collection, basename) {
20
- if (!COLLECTION_RE.test(collection)) {
21
- throw new Error(`Invalid collection "${collection}". Must start with a letter and contain only alphanumeric characters, hyphens, and underscores.`);
22
- }
23
- if (!BASENAME_RE.test(basename)) {
24
- throw new Error(`Invalid basename "${basename}". Must start with an alphanumeric character and contain only alphanumeric characters, hyphens, and underscores.`);
25
- }
26
- return `/space/${collection}/${basename}.json`;
27
- }
28
- /**
29
- * Parse a canonical location string into its collection and basename.
30
- * Throws on malformed input. Use {@link normalizeLocation} first if the
31
- * input might be a short form like `"article/welcome"`.
32
- */
33
- export function parseLocation(location) {
34
- const match = FULL_LOCATION_RE.exec(location);
35
- if (!match)
36
- throw new Error(`Invalid location "${location}". Expected /space/<collection>/<basename>.json.`);
37
- const [, collection, basename] = match;
38
- if (!COLLECTION_RE.test(collection) || !BASENAME_RE.test(basename)) {
39
- throw new Error(`Invalid location "${location}".`);
40
- }
41
- return { collection, basename };
42
- }
43
- /**
44
- * Normalize a user-provided location to the canonical full form.
45
- *
46
- * Accepts:
47
- * - `/space/<collection>/<basename>.json` — canonical
48
- * - `<collection>/<basename>` — short form
49
- * - `<collection>/<basename>.json` — short form with extension
50
- *
51
- * Always returns the canonical form. Throws on malformed input.
52
- */
53
- export function normalizeLocation(input) {
54
- if (input.startsWith('/space/')) {
55
- parseLocation(input); // validate
56
- return input;
57
- }
58
- // Short form: "collection/basename" or "collection/basename.json"
59
- const stripped = input.endsWith('.json') ? input.slice(0, -5) : input;
60
- const slash = stripped.indexOf('/');
61
- if (slash <= 0 || stripped.indexOf('/', slash + 1) !== -1) {
62
- throw new Error(`Invalid location "${input}". Expected /space/<collection>/<basename>.json or <collection>/<basename>.`);
63
- }
64
- return loc(stripped.slice(0, slash), stripped.slice(slash + 1));
65
- }
66
- /** Return true if `input` is a syntactically valid (full or short) location. */
67
- export function isLocation(input) {
68
- if (typeof input !== 'string')
69
- return false;
70
- try {
71
- normalizeLocation(input);
72
- return true;
73
- }
74
- catch {
75
- return false;
76
- }
77
- }
78
- //# sourceMappingURL=locations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locations.js","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,0BAA0B;AAC1B,EAAE;AACF,uDAAuD;AACvD,sEAAsE;AACtE,4EAA4E;AAC5E,8CAA8C;AAC9C,EAAE;AACF,6EAA6E;AAC7E,6DAA6D;AAC7D,gFAAgF;AAEhF,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAClD,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAO7D;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,QAAgB;IACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,iGAAiG,CAAC,CAAC;IACtJ,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,kHAAkH,CAAC,CAAC;IACnK,CAAC;IACD,OAAO,UAAU,UAAU,IAAI,QAAQ,OAAO,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,kDAAkD,CAAC,CAAC;IAC7G,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;IACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,kEAAkE;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,6EAA6E,CAAC,CAAC;IAC3H,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
package/dist/machine.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export type MachineResource = {
2
- kind: 'object';
3
- path: string;
4
- } | {
5
- kind: 'file';
6
- path: string;
7
- };
8
- /**
9
- * Resolve a Rool machine resource from either a canonical `rool-machine:/...`
10
- * URI or a bare machine path such as `/rool-drive/...`.
11
- *
12
- * Returns null for ordinary strings, malformed machine paths, and unsupported
13
- * machine areas.
14
- */
15
- export declare function resolveMachineResource(input: string): MachineResource | null;
16
- //# sourceMappingURL=machine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAa5E"}
package/dist/machine.js DELETED
@@ -1,51 +0,0 @@
1
- const MACHINE_URI_RE = /^rool-machine(?::|%3A)(\/.+)$/i;
2
- const ROOL_DRIVE_PREFIX = '/rool-drive/';
3
- /**
4
- * Resolve a Rool machine resource from either a canonical `rool-machine:/...`
5
- * URI or a bare machine path such as `/rool-drive/...`.
6
- *
7
- * Returns null for ordinary strings, malformed machine paths, and unsupported
8
- * machine areas.
9
- */
10
- export function resolveMachineResource(input) {
11
- const path = machinePathFromInput(input);
12
- if (!path)
13
- return null;
14
- if (path.startsWith(ROOL_DRIVE_PREFIX)) {
15
- return { kind: 'file', path };
16
- }
17
- if (isObjectPath(path)) {
18
- return { kind: 'object', path };
19
- }
20
- return null;
21
- }
22
- function machinePathFromInput(input) {
23
- const match = MACHINE_URI_RE.exec(input);
24
- const encodedPath = match ? match[1] : input.startsWith('/') ? input : null;
25
- if (!encodedPath)
26
- return null;
27
- try {
28
- const path = encodedPath.split('/').map(decodeURIComponent).join('/');
29
- validateMachinePath(path);
30
- return path;
31
- }
32
- catch {
33
- return null;
34
- }
35
- }
36
- function isObjectPath(path) {
37
- return /^\/space\/[a-zA-Z][a-zA-Z0-9_-]*\/[a-zA-Z0-9][a-zA-Z0-9_-]*\.json$/.test(path);
38
- }
39
- function validateMachinePath(path) {
40
- if (!path.startsWith('/'))
41
- throw new Error('Invalid machine path');
42
- if (path.includes('\\'))
43
- throw new Error('Invalid machine path');
44
- if (/[\x00-\x1f\x7f]/.test(path))
45
- throw new Error('Invalid machine path');
46
- const parts = path.split('/').slice(1);
47
- if (parts.some((part) => part === '' || part === '.' || part === '..')) {
48
- throw new Error('Invalid machine path');
49
- }
50
- }
51
- //# sourceMappingURL=machine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"machine.js","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,gCAAgC,CAAC;AACxD,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAMzC;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,oEAAoE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACjE,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}