@elaraai/e3-api-server 1.0.82 → 1.0.84

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 (69) hide show
  1. package/README.md +75 -8
  2. package/dist/src/auth/keys.d.ts +3 -0
  3. package/dist/src/auth/keys.d.ts.map +1 -1
  4. package/dist/src/auth/keys.js.map +1 -1
  5. package/dist/src/errors.d.ts.map +1 -1
  6. package/dist/src/errors.js +6 -1
  7. package/dist/src/errors.js.map +1 -1
  8. package/dist/src/handlers/dataflow.d.ts +6 -3
  9. package/dist/src/handlers/dataflow.d.ts.map +1 -1
  10. package/dist/src/handlers/dataflow.js +8 -8
  11. package/dist/src/handlers/dataflow.js.map +1 -1
  12. package/dist/src/handlers/dataflow.spec.js +30 -0
  13. package/dist/src/handlers/dataflow.spec.js.map +1 -1
  14. package/dist/src/handlers/datasets.spec.js +2 -2
  15. package/dist/src/handlers/datasets.spec.js.map +1 -1
  16. package/dist/src/handlers/functions.d.ts +88 -8
  17. package/dist/src/handlers/functions.d.ts.map +1 -1
  18. package/dist/src/handlers/functions.js +204 -145
  19. package/dist/src/handlers/functions.js.map +1 -1
  20. package/dist/src/handlers/functions.spec.js +156 -32
  21. package/dist/src/handlers/functions.spec.js.map +1 -1
  22. package/dist/src/handlers/index.d.ts +1 -1
  23. package/dist/src/handlers/index.d.ts.map +1 -1
  24. package/dist/src/handlers/index.js +1 -1
  25. package/dist/src/handlers/index.js.map +1 -1
  26. package/dist/src/handlers/records.spec.js +1 -1
  27. package/dist/src/handlers/records.spec.js.map +1 -1
  28. package/dist/src/handlers/workspaces.spec.js +1 -1
  29. package/dist/src/handlers/workspaces.spec.js.map +1 -1
  30. package/dist/src/index.d.ts +3 -2
  31. package/dist/src/index.d.ts.map +1 -1
  32. package/dist/src/index.js +3 -0
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/middleware/repository.d.ts +40 -1
  35. package/dist/src/middleware/repository.d.ts.map +1 -1
  36. package/dist/src/middleware/repository.js +42 -4
  37. package/dist/src/middleware/repository.js.map +1 -1
  38. package/dist/src/middleware/repository.spec.d.ts +6 -0
  39. package/dist/src/middleware/repository.spec.d.ts.map +1 -0
  40. package/dist/src/middleware/repository.spec.js +118 -0
  41. package/dist/src/middleware/repository.spec.js.map +1 -0
  42. package/dist/src/routes/functions.d.ts +94 -13
  43. package/dist/src/routes/functions.d.ts.map +1 -1
  44. package/dist/src/routes/functions.js +116 -30
  45. package/dist/src/routes/functions.js.map +1 -1
  46. package/dist/src/routes/index.d.ts +1 -1
  47. package/dist/src/routes/index.d.ts.map +1 -1
  48. package/dist/src/routes/index.js +1 -1
  49. package/dist/src/routes/index.js.map +1 -1
  50. package/dist/src/routes/package-transfer.d.ts +5 -0
  51. package/dist/src/routes/package-transfer.d.ts.map +1 -1
  52. package/dist/src/routes/package-transfer.js +19 -6
  53. package/dist/src/routes/package-transfer.js.map +1 -1
  54. package/dist/src/routes/transfer.d.ts +9 -6
  55. package/dist/src/routes/transfer.d.ts.map +1 -1
  56. package/dist/src/routes/transfer.js +23 -14
  57. package/dist/src/routes/transfer.js.map +1 -1
  58. package/dist/src/routes/transfer.spec.d.ts +6 -0
  59. package/dist/src/routes/transfer.spec.d.ts.map +1 -0
  60. package/dist/src/routes/transfer.spec.js +91 -0
  61. package/dist/src/routes/transfer.spec.js.map +1 -0
  62. package/dist/src/server.d.ts.map +1 -1
  63. package/dist/src/server.js +13 -6
  64. package/dist/src/server.js.map +1 -1
  65. package/dist/src/types.d.ts +204 -2
  66. package/dist/src/types.d.ts.map +1 -1
  67. package/dist/src/types.js +10 -2
  68. package/dist/src/types.js.map +1 -1
  69. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjI,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC"}
@@ -13,6 +13,6 @@ export { createObjectRoutes } from './objects.js';
13
13
  export { createTransferRoutes } from './transfer.js';
14
14
  export { createPackageTransferRoutes } from './package-transfer.js';
15
15
  export { createDataEndpoints } from './data.js';
16
- export { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes } from './functions.js';
16
+ export { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes, oneShotAccessByRoles, } from './functions.js';
17
17
  export { createWorkspaceRecordRoutes } from './records.js';
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAsB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,mBAAmB,EAAkB,MAAM,gBAAgB,CAAC;AACjI,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAsB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAA6B,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,GAKrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC"}
@@ -7,6 +7,11 @@ import type { StorageBackend, TransferBackend } from '@elaraai/e3-core';
7
7
  /**
8
8
  * Create package transfer routes.
9
9
  *
10
+ * A job belongs to the repository that started it: each route that names a job
11
+ * by its id answers only through that repository, and through any other as it
12
+ * answers for a job that does not exist, so a request authorized for one
13
+ * repository never reaches another's.
14
+ *
10
15
  * Returns two Hono apps:
11
16
  * - `repoApi`: Authenticated routes at repo level — mount at /api/repos/:repo
12
17
  * (POST /import, POST /import/:id, GET /import/:id, GET /export/:id)
@@ -1 +1 @@
1
- {"version":3,"file":"package-transfer.d.ts","sourceRoot":"","sources":["../../../src/routes/package-transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAWxE;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,eAAe,EAAE,eAAe;;;EAuJjC"}
1
+ {"version":3,"file":"package-transfer.d.ts","sourceRoot":"","sources":["../../../src/routes/package-transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiBxE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,eAAe,EAAE,eAAe;;;EA0JjC"}
@@ -9,9 +9,19 @@ import { packageResolve, PackageNotFoundError } from '@elaraai/e3-core';
9
9
  import { PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, PackageImportStatusType, PackageExportStatusType, } from '@elaraai/e3-types';
10
10
  import { decodeBody, sendSuccess, sendError } from '../beast2.js';
11
11
  import { errorToVariant } from '../errors.js';
12
+ /** How a package job route answers for a job the repository it addresses did
13
+ * not start: as for no job at all, since a job belongs to its repository. */
14
+ function noJob(repo, kind, id) {
15
+ return `repository '${repo}' has no ${kind} job '${id}'`;
16
+ }
12
17
  /**
13
18
  * Create package transfer routes.
14
19
  *
20
+ * A job belongs to the repository that started it: each route that names a job
21
+ * by its id answers only through that repository, and through any other as it
22
+ * answers for a job that does not exist, so a request authorized for one
23
+ * repository never reaches another's.
24
+ *
15
25
  * Returns two Hono apps:
16
26
  * - `repoApi`: Authenticated routes at repo level — mount at /api/repos/:repo
17
27
  * (POST /import, POST /import/:id, GET /import/:id, GET /export/:id)
@@ -52,10 +62,11 @@ export function createPackageTransferRoutes(storage, getRepoPath, transferBacken
52
62
  });
53
63
  // POST /api/repos/:repo/import/:id — Trigger import processing
54
64
  repoApi.post('/import/:id', async (c) => {
65
+ const repo = c.req.param('repo');
55
66
  const id = c.req.param('id');
56
67
  const record = await transferBackend.packageImport.get(id);
57
- if (!record) {
58
- return sendError(PackageJobResponseType, variant('internal', { message: 'transfer not found' }));
68
+ if (!record || record.repo !== repo) {
69
+ return sendError(PackageJobResponseType, variant('internal', { message: noJob(repo, 'import', id) }));
59
70
  }
60
71
  if (record.status.type === 'completed' || record.status.type === 'failed') {
61
72
  return sendSuccess(PackageJobResponseType, { id });
@@ -70,10 +81,11 @@ export function createPackageTransferRoutes(storage, getRepoPath, transferBacken
70
81
  });
71
82
  // GET /api/repos/:repo/import/:id — Poll import status
72
83
  repoApi.get('/import/:id', async (c) => {
84
+ const repo = c.req.param('repo');
73
85
  const id = c.req.param('id');
74
86
  const record = await transferBackend.packageImport.get(id);
75
- if (!record) {
76
- return sendError(PackageImportStatusType, variant('internal', { message: 'import job not found' }));
87
+ if (!record || record.repo !== repo) {
88
+ return sendError(PackageImportStatusType, variant('internal', { message: noJob(repo, 'import', id) }));
77
89
  }
78
90
  const status = record.status;
79
91
  if (status.type === 'processing') {
@@ -92,10 +104,11 @@ export function createPackageTransferRoutes(storage, getRepoPath, transferBacken
92
104
  });
93
105
  // GET /api/repos/:repo/export/:id — Poll export status
94
106
  repoApi.get('/export/:id', async (c) => {
107
+ const repo = c.req.param('repo');
95
108
  const id = c.req.param('id');
96
109
  const record = await transferBackend.packageExport.get(id);
97
- if (!record) {
98
- return sendError(PackageExportStatusType, variant('internal', { message: 'export job not found' }));
110
+ if (!record || record.repo !== repo) {
111
+ return sendError(PackageExportStatusType, variant('internal', { message: noJob(repo, 'export', id) }));
99
112
  }
100
113
  const status = record.status;
101
114
  if (status.type === 'processing') {
@@ -1 +1 @@
1
- {"version":3,"file":"package-transfer.js","sourceRoot":"","sources":["../../../src/routes/package-transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-transfer.js","sourceRoot":"","sources":["../../../src/routes/package-transfer.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  */
5
5
  import { Hono } from 'hono';
6
6
  import { type StorageBackend, type TransferBackend } from '@elaraai/e3-core';
7
- import type { GetRunner } from './functions.js';
8
7
  /** Options for {@link createTransferRoutes}. */
9
8
  export interface TransferRouteOptions {
10
9
  /**
@@ -33,16 +32,20 @@ export interface TransferRouteOptions {
33
32
  * whichever instance answers — so verifying a delivery of many gigabytes never
34
33
  * holds one request open for as long as its SHA-256 takes.
35
34
  *
36
- * The init's dedup takes a delivery the store holds whole in on the
37
- * repository's runner, as intake units, when it is a collection.
35
+ * The init answers at once. Its dedup adopts only what takes nothing in: the
36
+ * manifest the adoption memo names for the delivery, or an object of a value
37
+ * that is not a collection. A collection the store holds whole, and the memo
38
+ * does not name — its intake still running, or stopped — is uploaded and
39
+ * committed as any other, and the commit takes it in where commits run,
40
+ * resuming from the pieces an earlier intake finished.
38
41
  *
39
42
  * @param storage - Storage backend
40
43
  * @param getRepoPath - The repository a request names, as a path
41
- * @param transferBackend - The uploads, and where their commits run
42
- * @param getRunner - The runner a repository's intake units run on
44
+ * @param transferBackend - The uploads, and where their commits run: the
45
+ * upload store takes a delivery in, on the runner it was given
43
46
  * @param options - How long a commit is waited for before it answers
44
47
  */
45
- export declare function createTransferRoutes(storage: StorageBackend, getRepoPath: (repo: string) => string, transferBackend: TransferBackend, getRunner: GetRunner, options?: TransferRouteOptions): {
48
+ export declare function createTransferRoutes(storage: StorageBackend, getRepoPath: (repo: string) => string, transferBackend: TransferBackend, options?: TransferRouteOptions): {
46
49
  api: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
47
50
  };
48
51
  //# sourceMappingURL=transfer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/routes/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQhD,gDAAgD;AAChD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,oBAAyB;;EAqLnC"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/routes/transfer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAU1B,gDAAgD;AAChD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACrC,eAAe,EAAE,eAAe,EAChC,OAAO,GAAE,oBAAyB;;EAyLnC"}
@@ -6,7 +6,7 @@ import { Hono } from 'hono';
6
6
  import { randomUUID } from 'node:crypto';
7
7
  import { none, variant } from '@elaraai/east';
8
8
  import { E3_RELEASE, TRANSFER_PROTOCOL_VERSION, transferPartCount, urlPathToTreePath } from '@elaraai/e3-types';
9
- import { datasetAdoptObject, deliveryKnown, } from '@elaraai/e3-core';
9
+ import { datasetAdoptKnown, } from '@elaraai/e3-core';
10
10
  import { decodeBody, sendSuccess, sendError } from '../beast2.js';
11
11
  import { errorToVariant } from '../errors.js';
12
12
  import { TransferUploadRequestType, TransferUploadResponseType, TransferPartResponseType, TransferDoneResponseType, } from '../types.js';
@@ -84,16 +84,20 @@ function sendCommitStatus(transfer, status) {
84
84
  * whichever instance answers — so verifying a delivery of many gigabytes never
85
85
  * holds one request open for as long as its SHA-256 takes.
86
86
  *
87
- * The init's dedup takes a delivery the store holds whole in on the
88
- * repository's runner, as intake units, when it is a collection.
87
+ * The init answers at once. Its dedup adopts only what takes nothing in: the
88
+ * manifest the adoption memo names for the delivery, or an object of a value
89
+ * that is not a collection. A collection the store holds whole, and the memo
90
+ * does not name — its intake still running, or stopped — is uploaded and
91
+ * committed as any other, and the commit takes it in where commits run,
92
+ * resuming from the pieces an earlier intake finished.
89
93
  *
90
94
  * @param storage - Storage backend
91
95
  * @param getRepoPath - The repository a request names, as a path
92
- * @param transferBackend - The uploads, and where their commits run
93
- * @param getRunner - The runner a repository's intake units run on
96
+ * @param transferBackend - The uploads, and where their commits run: the
97
+ * upload store takes a delivery in, on the runner it was given
94
98
  * @param options - How long a commit is waited for before it answers
95
99
  */
96
- export function createTransferRoutes(storage, getRepoPath, transferBackend, getRunner, options = {}) {
100
+ export function createTransferRoutes(storage, getRepoPath, transferBackend, options = {}) {
97
101
  const api = new Hono();
98
102
  const commitWaitMs = options.commitWaitMs ?? DEFAULT_COMMIT_WAIT_MS;
99
103
  const uploads = transferBackend.datasetUpload;
@@ -175,14 +179,19 @@ export function createTransferRoutes(storage, getRepoPath, transferBackend, getR
175
179
  const repoPath = getRepoPath(repo);
176
180
  const pathStr = extractDatasetPath(c, '/upload');
177
181
  const { hash, size } = await decodeBody(c, TransferUploadRequestType);
178
- // Dedup — the store knows these bytes, as the manifest they were split
179
- // into or as an object, so no upload is needed. It may have stored them
180
- // for another dataset, of another type, so the pairing is checked here: it
181
- // is the only door that skips the commit.
182
- if (await deliveryKnown(storage, repoPath, hash)) {
183
- const treePath = urlPathToTreePath(pathStr);
184
- await datasetAdoptObject(storage, repoPath, ws, treePath, hash, getRunner(repoPath));
185
- return sendSuccess(TransferUploadResponseType, variant('completed', null));
182
+ // Dedup — the store knows these bytes as the manifest they were split
183
+ // into, or as an object of a value that is no collection, so no upload is
184
+ // needed. It may have stored them for another dataset, of another type, so
185
+ // the pairing is checked here: it is the only door that skips the commit.
186
+ // It takes nothing in, so the init answers at once: a collection the store
187
+ // holds whole is left for the commit.
188
+ try {
189
+ if (await datasetAdoptKnown(storage, repoPath, ws, urlPathToTreePath(pathStr), hash) !== null) {
190
+ return sendSuccess(TransferUploadResponseType, variant('completed', null));
191
+ }
192
+ }
193
+ catch (err) {
194
+ return sendError(TransferUploadResponseType, errorToVariant(err));
186
195
  }
187
196
  // The upload's record, and its plan as parts, which the store makes ready
188
197
  // to stage
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/routes/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/routes/transfer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=transfer.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.spec.d.ts","sourceRoot":"","sources":["../../../src/routes/transfer.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The dataset transfer routes: an init answers at once, and takes nothing in.
7
+ * A collection the store holds whole, which the adoption memo does not name, is
8
+ * taken in by the upload's commit, where commits run.
9
+ */
10
+ import { describe, it } from 'node:test';
11
+ import assert from 'node:assert/strict';
12
+ import { Hono } from 'hono';
13
+ import { ArrayType, IntegerType, decodeBeast2For, encodeBeast2For, encodeBeast2PagedFor, none, some, toEastTypeValue, variant } from '@elaraai/east';
14
+ import { InMemoryTransferBackend, LocalStorage, MockTaskRunner, datasetWrite, storeDatasetBytes, storeDatasetFile, } from '@elaraai/e3-core';
15
+ import { createTestRepo, removeTestRepo } from '@elaraai/e3-core/test';
16
+ import { BEAST2_CONTENT_TYPE, E3_RELEASE, PackageObjectType, TRANSFER_PROTOCOL_VERSION, WorkspaceRecordType, transferPartCount, } from '@elaraai/e3-types';
17
+ import { createDataEndpoints } from './data.js';
18
+ import { createTransferRoutes } from './transfer.js';
19
+ import { ResponseType, TransferDoneResponseType, TransferPartResponseType, TransferUploadRequestType, TransferUploadResponseType, } from '../types.js';
20
+ const RowsType = ArrayType(IntegerType);
21
+ describe('dataset transfer routes', () => {
22
+ it('answer an init whose bytes the store holds whole as a collection at once, taking nothing in, and take the delivery in at its commit', async (t) => {
23
+ const repo = createTestRepo();
24
+ t.after(() => removeTestRepo(repo));
25
+ const storage = new LocalStorage();
26
+ // A workspace whose one input is a collection.
27
+ const pkg = await storage.objects.write(repo, encodeBeast2For(PackageObjectType)({
28
+ tasks: new Map(),
29
+ data: {
30
+ structure: variant('struct', new Map([['inputs', variant('struct', new Map([
31
+ ['rows', variant('value', { type: toEastTypeValue(RowsType), writable: true })],
32
+ ]))]])),
33
+ refs: new Map([['inputs/rows', variant('unassigned', null)]]),
34
+ },
35
+ functions: new Map(), records: new Map(), sources: new Map(),
36
+ }));
37
+ await storage.refs.workspaceWrite(repo, 'ws', encodeBeast2For(WorkspaceRecordType)(some({
38
+ packageName: 'rows', packageVersion: '1.0.0', packageHash: pkg, deployedAt: new Date(), currentRunId: none,
39
+ })));
40
+ await storage.datasets.write(repo, 'ws', 'inputs/rows', variant('unassigned', null));
41
+ // The delivery's bytes are in the store whole, as an object, and the memo
42
+ // names nothing for them: as a store that stages an upload as an object
43
+ // leaves them while that object's intake runs, or after it failed.
44
+ const values = Array.from({ length: 5_000 }, (_, i) => BigInt(i));
45
+ const delivery = encodeBeast2PagedFor(RowsType)(values);
46
+ const hash = await storage.objects.write(repo, delivery);
47
+ // A runner's intake, which stores the delivery's rows as the Writer writes
48
+ // them: through the store's door.
49
+ const intakes = [];
50
+ const runner = new MockTaskRunner();
51
+ runner.setIntakeResult(async (store, spec) => {
52
+ intakes.push(spec);
53
+ const stored = 'file' in spec.source
54
+ ? await storeDatasetFile(store, repo, spec.source.file)
55
+ : await storeDatasetBytes(store, repo, await store.objects.read(repo, spec.source.object));
56
+ return { hash: stored, runner: 'test' };
57
+ });
58
+ const transferBackend = new InMemoryTransferBackend({ baseUrl: 'http://server', storage, getRepoPath: () => repo, getRunner: () => runner });
59
+ const app = new Hono();
60
+ app.route('/api/uploads', createDataEndpoints(transferBackend, storage, () => repo).uploads);
61
+ app.route('/api/repos/:repo/workspaces/:ws/datasets', createTransferRoutes(storage, () => repo, transferBackend).api);
62
+ const protocol = `protocol=${TRANSFER_PROTOCOL_VERSION}&release=${E3_RELEASE}`;
63
+ const at = '/api/repos/r/workspaces/ws/datasets/inputs/rows/upload';
64
+ const init = await app.request(`${at}?${protocol}`, {
65
+ method: 'POST',
66
+ headers: { 'Content-Type': BEAST2_CONTENT_TYPE },
67
+ body: encodeBeast2For(TransferUploadRequestType)({ hash, size: BigInt(delivery.byteLength) }),
68
+ });
69
+ const planned = decodeBeast2For(ResponseType(TransferUploadResponseType))(new Uint8Array(await init.arrayBuffer()));
70
+ if (planned.type !== 'success' || planned.value.type !== 'upload_parts')
71
+ assert.fail(`the init answered ${JSON.stringify(planned.type)}, not a plan`);
72
+ assert.deepEqual(intakes, [], 'the init took nothing in');
73
+ assert.equal((await storage.datasets.read(repo, 'ws', 'inputs/rows'))?.type, 'unassigned');
74
+ // The client sends its bytes, and commits.
75
+ const { id, partBytes } = planned.value.value;
76
+ for (let part = 1; part <= transferPartCount(BigInt(delivery.byteLength), partBytes); part++) {
77
+ const target = decodeBeast2For(ResponseType(TransferPartResponseType))(new Uint8Array(await (await app.request(`${at}/${id}/parts/${part}`)).arrayBuffer()));
78
+ if (target.type !== 'success')
79
+ assert.fail('no part target');
80
+ const from = Number(partBytes) * (part - 1);
81
+ const sent = await app.request(target.value.url, { method: 'PUT', body: delivery.subarray(from, Math.min(delivery.byteLength, from + Number(partBytes))) });
82
+ assert.equal(sent.status, 200);
83
+ }
84
+ const committed = decodeBeast2For(ResponseType(TransferDoneResponseType))(new Uint8Array(await (await app.request(`${at}/${id}?${protocol}`, { method: 'POST' })).arrayBuffer()));
85
+ assert.deepEqual(committed, variant('success', variant('completed', null)));
86
+ assert.ok(intakes.length > 0, 'the commit took the delivery in');
87
+ const ref = await storage.datasets.read(repo, 'ws', 'inputs/rows');
88
+ assert.ok(ref?.type === 'value' && ref.value.hash === await datasetWrite(storage, repo, values, RowsType), 'as the value path stores its value');
89
+ });
90
+ });
91
+ //# sourceMappingURL=transfer.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer.spec.js","sourceRoot":"","sources":["../../../src/routes/transfer.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBzF,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;iFAC6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;0BAEsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;mBAGe;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;wEAKoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA0OxE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAA+C,MAAM,kBAAkB,CAAC;AACpG,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBzF,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;iFAC6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;0BAEsB;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;mBAGe;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;wEAKoE;IACpE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,uBAAuB;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAkPxE"}
@@ -22,7 +22,7 @@ import { createObjectRoutes } from './routes/objects.js';
22
22
  import { createTransferRoutes } from './routes/transfer.js';
23
23
  import { createPackageTransferRoutes } from './routes/package-transfer.js';
24
24
  import { createDataEndpoints } from './routes/data.js';
25
- import { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes } from './routes/functions.js';
25
+ import { createPackageFunctionRoutes, createWorkspaceFunctionRoutes, createOneShotRoutes, oneShotAccessByRoles } from './routes/functions.js';
26
26
  import { createWorkspaceRecordRoutes } from './routes/records.js';
27
27
  import { localDataflow } from './local-dataflow.js';
28
28
  /**
@@ -129,7 +129,7 @@ export async function createServer(config) {
129
129
  // Must be mounted BEFORE auth middleware so they bypass JWT validation.
130
130
  // In cloud deployments these URLs are S3 presigned URLs that reject auth headers.
131
131
  const pkgTransfer = createPackageTransferRoutes(storage, getRepoPath, transferBackend);
132
- const dsTransfer = createTransferRoutes(storage, getRepoPath, transferBackend, getRunner, {
132
+ const dsTransfer = createTransferRoutes(storage, getRepoPath, transferBackend, {
133
133
  ...(transferCommitWaitMs !== undefined && { commitWaitMs: transferCommitWaitMs }),
134
134
  });
135
135
  const dataEndpoints = createDataEndpoints(transferBackend, storage, getRepoPath);
@@ -172,8 +172,14 @@ export async function createServer(config) {
172
172
  app.route('/api/repos/:repo/packages', pkgTransfer.pkgApi);
173
173
  // Package routes: /api/repos/:repo/packages/*
174
174
  app.route('/api/repos/:repo/packages', createPackageRoutes(storage, getRepoPath));
175
+ // Who may run what a caller supplies: with auth, an elevated role runs any
176
+ // one-shot, and gives a function's runner any platform package, and any
177
+ // other caller a platform-free one-shot, and a function on its own runner;
178
+ // without, the server is single-tenant — its author is its operator — and
179
+ // runs any.
180
+ const access = auth || oidcProvider ? oneShotAccessByRoles() : () => 'any';
175
181
  // Package-scoped function routes: /api/repos/:repo/packages/:pkg/:version/functions/*
176
- app.route('/api/repos/:repo/packages/:pkg/:version/functions', createPackageFunctionRoutes(storage, getRepoPath, getRunner));
182
+ app.route('/api/repos/:repo/packages/:pkg/:version/functions', createPackageFunctionRoutes(storage, getRepoPath, getRunner, { access }));
177
183
  // Workspace routes: /api/repos/:repo/workspaces/*
178
184
  app.route('/api/repos/:repo/workspaces', createWorkspaceRoutes(storage, getRepoPath, transferBackend, getRunner));
179
185
  // Dataset transfer auth routes (init + commit) mount alongside dataset routes
@@ -185,9 +191,10 @@ export async function createServer(config) {
185
191
  // Task routes: /api/repos/:repo/workspaces/:ws/tasks/*
186
192
  app.route('/api/repos/:repo/workspaces/:ws/tasks', createTaskRoutes(storage, getRepoPath));
187
193
  // Workspace-scoped function routes: /api/repos/:repo/workspaces/:ws/functions/*
188
- app.route('/api/repos/:repo/workspaces/:ws/functions', createWorkspaceFunctionRoutes(storage, getRepoPath, getRunner));
189
- // One-shot routes (role-gated): /api/repos/:repo/workspaces/:ws/one-shot/*
190
- app.route('/api/repos/:repo/workspaces/:ws/one-shot', createOneShotRoutes(storage, getRepoPath, getRunner));
194
+ app.route('/api/repos/:repo/workspaces/:ws/functions', createWorkspaceFunctionRoutes(storage, getRepoPath, getRunner, { access }));
195
+ // One-shot routes: /api/repos/:repo/workspaces/:ws/one-shot/*, and the split
196
+ // calls launched under the same grant, run as jobs on the transfer backend.
197
+ app.route('/api/repos/:repo/workspaces/:ws/one-shot', createOneShotRoutes(storage, getRepoPath, transferBackend, getRunner, { access }));
191
198
  // Workspace-scoped record routes: /api/repos/:repo/workspaces/:ws/records/*
192
199
  app.route('/api/repos/:repo/workspaces/:ws/records', createWorkspaceRecordRoutes(storage, getRepoPath, getRunner));
193
200
  // Execution/Dataflow routes: /api/repos/:repo/workspaces/:ws/dataflow/*,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAmB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,GAC7H,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAmB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAsC,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC9I,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA8DpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAoB;IACrD,MAAM,EACJ,QAAQ,EAAE,cAAc,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAC/G,iBAAiB,EAAE,oBAAoB,GACxC,GAAG,MAAM,CAAC;IACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE5E,+EAA+E;IAC/E,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,cAAc,CAAC;IAE1C,qDAAqD;IACrD,yEAAyE;IACzE,MAAM,OAAO,GAAmB,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE1F,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,0BAA0B;IAC1B,IAAI,gBAAgB;QAAE,MAAM,cAAc,CAAC,OAAO,EAAE,cAAe,CAAC,CAAC;IAErE,6CAA6C;IAC7C,+EAA+E;IAC/E,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;QAC/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,+DAA+D;YAC/D,OAAO,cAAe,CAAC;QACzB,CAAC;QACD,2EAA2E;QAC3E,SAAS;QACT,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAS,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,oEAAoE;IACpE,yEAAyE;IACzE,0BAA0B;IAC1B,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;YAChB,MAAM,EAAE,GAAG;YACX,aAAa,EAAE;gBACb,kBAAkB,EAAE,kBAAkB;gBACtC,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc;aAC7G;SACF,CAAC,CAAC,CAAC;QACJ,yEAAyE;QACzE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YAC7B,MAAM,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,wCAAwC,CAAC,KAAK,MAAM,EAAE,CAAC;gBACtE,CAAC,CAAC,MAAM,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,IAAI,YAAsC,CAAC;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACxC,iEAAiE;QACjE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,yEAAyE;IACzE,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAc,EAAE;QACjD,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,eAAe,GAAoB,IAAI,uBAAuB,CAAC;QACnE,OAAO,EAAE,EAAE;QACX,OAAO;QACP,WAAW;QACX,SAAS;QACT,GAAG,CAAC,iBAAiB,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;KACzE,CAAC,CAAC;IAEH,0DAA0D;IAC1D,wEAAwE;IACxE,kFAAkF;IAClF,MAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAC7E,GAAG,CAAC,oBAAoB,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;KAClF,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACjF,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAErD,kEAAkE;IAClE,yFAAyF;IACzF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,kDAAkD;QAClD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC;YAChD,OAAO,EAAE,GAAG,IAAK,CAAC,OAAO,wBAAwB;YACjD,MAAM,EAAE,IAAK,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAK,CAAC,OAAO;YACvB,oDAAoD;YACpD,aAAa,EAAE,YAAY,CAAC,IAAI;SACjC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,SAAS;IACT,IAAI,gBAAgB,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,4BAA4B,EAAE,CAAC,CAAC;QACxD,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1E,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,mCAAmC;IACnC,8EAA8E;IAE9E,yEAAyE;IACzE,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAE7F,mFAAmF;IACnF,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3D,8CAA8C;IAC9C,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAElF,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,YAAY;IACZ,MAAM,MAAM,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAc,CAAC;IAEpF,sFAAsF;IACtF,GAAG,CAAC,KAAK,CAAC,mDAAmD,EAAE,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzI,kDAAkD;IAClD,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IAElH,8EAA8E;IAC9E,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAEtE,6DAA6D;IAC7D,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAC/G,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,CAAC;KACxD,CAAC,CAAC,CAAC;IAEJ,uDAAuD;IACvD,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3F,gFAAgF;IAChF,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,6BAA6B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAEnI,6EAA6E;IAC7E,4EAA4E;IAC5E,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzI,4EAA4E;IAC5E,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnH,yEAAyE;IACzE,yEAAyE;IACzE,gCAAgC;IAChC,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;QAChG,SAAS,EAAE,GAAG,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM;KAC3D,CAAC,CAAC,CAAC;IAEJ,6EAA6E;IAC7E,mCAAmC;IACnC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAEjG,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,MAAM,MAAM,GAAW;QACrB,KAAK,CAAC,KAAK;YACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,UAAU,GAAG,KAAK,CAAC;oBACjB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,IAAI;oBACJ,QAAQ,EAAE,IAAI;iBACf,EAAE,CAAC,IAAI,EAAE,EAAE;oBACV,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI;YACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,EAAE,CAAC;oBACV,OAAO;gBACT,CAAC;gBACD,0CAA0C;gBACzC,UAAyD,CAAC,mBAAmB,EAAE,CAAC;gBACjF,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACvB,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU;YACZ,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI;YACN,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}