@elaraai/e3-types 1.0.78 → 1.0.80

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 (153) hide show
  1. package/README.md +1 -1
  2. package/dist/src/api.d.ts +569 -36
  3. package/dist/src/api.d.ts.map +1 -1
  4. package/dist/src/api.js +257 -32
  5. package/dist/src/api.js.map +1 -1
  6. package/dist/src/collection-manifest.d.ts +37 -0
  7. package/dist/src/collection-manifest.d.ts.map +1 -0
  8. package/dist/src/collection-manifest.js +37 -0
  9. package/dist/src/collection-manifest.js.map +1 -0
  10. package/dist/src/dataflow.d.ts +264 -19
  11. package/dist/src/dataflow.d.ts.map +1 -1
  12. package/dist/src/dataflow.js +156 -15
  13. package/dist/src/dataflow.js.map +1 -1
  14. package/dist/src/dataflow.spec.js +184 -27
  15. package/dist/src/dataflow.spec.js.map +1 -1
  16. package/dist/src/dataset-blob.d.ts +75 -15
  17. package/dist/src/dataset-blob.d.ts.map +1 -1
  18. package/dist/src/dataset-blob.js +95 -28
  19. package/dist/src/dataset-blob.js.map +1 -1
  20. package/dist/src/dataset-blob.spec.d.ts +6 -0
  21. package/dist/src/dataset-blob.spec.d.ts.map +1 -0
  22. package/dist/src/dataset-blob.spec.js +92 -0
  23. package/dist/src/dataset-blob.spec.js.map +1 -0
  24. package/dist/src/dataset-ref.d.ts +5 -4
  25. package/dist/src/dataset-ref.d.ts.map +1 -1
  26. package/dist/src/dataset-ref.js +5 -4
  27. package/dist/src/dataset-ref.js.map +1 -1
  28. package/dist/src/environment.d.ts +3 -2
  29. package/dist/src/environment.d.ts.map +1 -1
  30. package/dist/src/environment.js +3 -2
  31. package/dist/src/environment.js.map +1 -1
  32. package/dist/src/execution.d.ts +112 -18
  33. package/dist/src/execution.d.ts.map +1 -1
  34. package/dist/src/execution.js +174 -45
  35. package/dist/src/execution.js.map +1 -1
  36. package/dist/src/execution.spec.d.ts +6 -0
  37. package/dist/src/execution.spec.d.ts.map +1 -0
  38. package/dist/src/execution.spec.js +108 -0
  39. package/dist/src/execution.spec.js.map +1 -0
  40. package/dist/src/function.d.ts +14 -12
  41. package/dist/src/function.d.ts.map +1 -1
  42. package/dist/src/function.js +17 -32
  43. package/dist/src/function.js.map +1 -1
  44. package/dist/src/index.d.ts +16 -12
  45. package/dist/src/index.d.ts.map +1 -1
  46. package/dist/src/index.js +25 -20
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/lock.d.ts +68 -22
  49. package/dist/src/lock.d.ts.map +1 -1
  50. package/dist/src/lock.js +33 -22
  51. package/dist/src/lock.js.map +1 -1
  52. package/dist/src/names.d.ts +21 -0
  53. package/dist/src/names.d.ts.map +1 -0
  54. package/dist/src/names.js +31 -0
  55. package/dist/src/names.js.map +1 -0
  56. package/dist/src/package.d.ts +11 -78
  57. package/dist/src/package.d.ts.map +1 -1
  58. package/dist/src/package.js +13 -66
  59. package/dist/src/package.js.map +1 -1
  60. package/dist/src/record.d.ts +582 -18
  61. package/dist/src/record.d.ts.map +1 -1
  62. package/dist/src/record.js +405 -7
  63. package/dist/src/record.js.map +1 -1
  64. package/dist/src/{stream.spec.d.ts → record.spec.d.ts} +1 -1
  65. package/dist/src/record.spec.d.ts.map +1 -0
  66. package/dist/src/record.spec.js +143 -0
  67. package/dist/src/record.spec.js.map +1 -0
  68. package/dist/src/release.d.ts +36 -0
  69. package/dist/src/release.d.ts.map +1 -0
  70. package/dist/src/release.js +71 -0
  71. package/dist/src/release.js.map +1 -0
  72. package/dist/src/release.spec.d.ts +6 -0
  73. package/dist/src/release.spec.d.ts.map +1 -0
  74. package/dist/src/release.spec.js +42 -0
  75. package/dist/src/release.spec.js.map +1 -0
  76. package/dist/src/repository.d.ts +64 -0
  77. package/dist/src/repository.d.ts.map +1 -0
  78. package/dist/src/repository.js +49 -0
  79. package/dist/src/repository.js.map +1 -0
  80. package/dist/src/runner.d.ts +16 -62
  81. package/dist/src/runner.d.ts.map +1 -1
  82. package/dist/src/runner.js +16 -79
  83. package/dist/src/runner.js.map +1 -1
  84. package/dist/src/runner.spec.js +11 -85
  85. package/dist/src/runner.spec.js.map +1 -1
  86. package/dist/src/structure.d.ts +0 -57
  87. package/dist/src/structure.d.ts.map +1 -1
  88. package/dist/src/structure.js +0 -3
  89. package/dist/src/structure.js.map +1 -1
  90. package/dist/src/task.d.ts +210 -318
  91. package/dist/src/task.d.ts.map +1 -1
  92. package/dist/src/task.js +117 -472
  93. package/dist/src/task.js.map +1 -1
  94. package/dist/src/task.spec.js +62 -154
  95. package/dist/src/task.spec.js.map +1 -1
  96. package/dist/src/transfer.d.ts +16 -22
  97. package/dist/src/transfer.d.ts.map +1 -1
  98. package/dist/src/transfer.js +16 -22
  99. package/dist/src/transfer.js.map +1 -1
  100. package/dist/src/transfer.spec.js +4 -34
  101. package/dist/src/transfer.spec.js.map +1 -1
  102. package/dist/src/unit-plan.d.ts +130 -0
  103. package/dist/src/unit-plan.d.ts.map +1 -0
  104. package/dist/src/unit-plan.js +107 -0
  105. package/dist/src/unit-plan.js.map +1 -0
  106. package/dist/src/unit-plan.spec.d.ts +6 -0
  107. package/dist/src/unit-plan.spec.d.ts.map +1 -0
  108. package/dist/src/unit-plan.spec.js +29 -0
  109. package/dist/src/unit-plan.spec.js.map +1 -0
  110. package/dist/src/workspace.d.ts +22 -11
  111. package/dist/src/workspace.d.ts.map +1 -1
  112. package/dist/src/workspace.js +10 -11
  113. package/dist/src/workspace.js.map +1 -1
  114. package/package.json +3 -3
  115. package/src/api.ts +276 -32
  116. package/src/collection-manifest.ts +53 -0
  117. package/src/dataflow.spec.ts +223 -31
  118. package/src/dataflow.ts +183 -26
  119. package/src/dataset-blob.spec.ts +117 -0
  120. package/src/dataset-blob.ts +157 -21
  121. package/src/dataset-ref.ts +5 -4
  122. package/src/environment.ts +3 -2
  123. package/src/execution.spec.ts +114 -0
  124. package/src/execution.ts +175 -51
  125. package/src/function.ts +19 -32
  126. package/src/index.ts +122 -39
  127. package/src/lock.ts +39 -22
  128. package/src/names.ts +39 -0
  129. package/src/package.ts +15 -71
  130. package/src/record.spec.ts +195 -0
  131. package/src/record.ts +489 -7
  132. package/src/release.spec.ts +47 -0
  133. package/src/release.ts +69 -0
  134. package/src/repository.ts +67 -0
  135. package/src/runner.spec.ts +11 -94
  136. package/src/runner.ts +16 -80
  137. package/src/structure.ts +0 -8
  138. package/src/task.spec.ts +67 -188
  139. package/src/task.ts +140 -522
  140. package/src/transfer.spec.ts +4 -51
  141. package/src/transfer.ts +16 -22
  142. package/src/unit-plan.spec.ts +31 -0
  143. package/src/unit-plan.ts +121 -0
  144. package/src/workspace.ts +13 -11
  145. package/dist/src/stream.d.ts +0 -97
  146. package/dist/src/stream.d.ts.map +0 -1
  147. package/dist/src/stream.js +0 -134
  148. package/dist/src/stream.js.map +0 -1
  149. package/dist/src/stream.spec.d.ts.map +0 -1
  150. package/dist/src/stream.spec.js +0 -60
  151. package/dist/src/stream.spec.js.map +0 -1
  152. package/src/stream.spec.ts +0 -88
  153. package/src/stream.ts +0 -170
@@ -21,7 +21,7 @@ import { StructType, StringType, ArrayType, OptionType, ValueTypeOf } from '@ela
21
21
  * `PackageObject.functions`.
22
22
  */
23
23
  export declare const FunctionObjectType: StructType<{
24
- /** Hash of the encoded EastIR bundle (encodeEastIR), like a task's commandIr object. */
24
+ /** Hash of the encoded EastIR bundle (encodeEastIR), as a task's program is. */
25
25
  readonly bodyIr: StringType;
26
26
  /** Positional parameter types — the IR's signature, surfaced for arity/type
27
27
  * validation and `describe` without decoding the whole IR. */
@@ -110,8 +110,8 @@ export declare const FunctionObjectType: StructType<{
110
110
  readonly Vector: import("@elaraai/east").RecursiveTypeMarker;
111
111
  readonly Matrix: import("@elaraai/east").RecursiveTypeMarker;
112
112
  }>>;
113
- /** Author-chosen runtime; resolved to argv by runnerToArgv. One of the known
114
- * runtime tags — there is no raw-argv runner for functions. */
113
+ /** Author-chosen runtime: a stock runner runs the function as a unit, and a
114
+ * `custom` one runs its command with `run`'s arguments. */
115
115
  readonly runner: import("@elaraai/east").VariantType<{
116
116
  readonly east_node: StructType<{
117
117
  readonly platforms: ArrayType<StringType>;
@@ -128,22 +128,24 @@ export declare const FunctionObjectType: StructType<{
128
128
  }>;
129
129
  /**
130
130
  * Hash of an `EnvironmentSpecType` object the function executes in;
131
- * `none` ⇒ the stock runtime image. Appended LAST (BEAST2 encodes struct
132
- * fields positionally) with a legacy dual decoder — see
133
- * {@link decodeFunctionObject}.
131
+ * `none` ⇒ the stock runtime image.
134
132
  */
135
133
  readonly environment: OptionType<StringType>;
136
134
  }>;
137
135
  export type FunctionObjectType = typeof FunctionObjectType;
138
136
  export type FunctionObject = ValueTypeOf<typeof FunctionObjectType>;
139
137
  /**
140
- * Decode a `FunctionObject` from BEAST2 bytes, tolerating the
141
- * pre-`environment` wire format (dual-decode migration, like
142
- * `decodePackageObject`).
138
+ * Decode a `FunctionObject` from BEAST2 bytes.
143
139
  *
144
- * Every function-read path — local AND cloud — must use this instead of
145
- * `decodeBeast2For(FunctionObjectType)` directly. Older bytes decode with
146
- * `environment` defaulted to `none`.
140
+ * @remarks
141
+ * A package-borne wire, so it changes by hard cutover: a package exported by
142
+ * an older SDK is re-exported with the current one, and this says so.
143
+ *
144
+ * @param data - the stored bytes
145
+ * @returns the function object
146
+ * @throws {Error} When the bytes are not a current function object — a
147
+ * package exported by an older SDK, which is re-exported with the current
148
+ * one.
147
149
  */
148
150
  export declare function decodeFunctionObject(data: Uint8Array): FunctionObject;
149
151
  //# sourceMappingURL=function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAgB,UAAU,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAC;AAGhI;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,wFAAwF;;IAExF;mEAC+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE/D,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAExE;oEACgE;;;;;;;;;;;;;;;IAEhE;;;;;OAKG;;EAEH,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAiBpE;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAWrE"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAgB,UAAU,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAC;AAG1H;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,gFAAgF;;IAEhF;mEAC+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE/D,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAExE;gEAC4D;;;;;;;;;;;;;;;IAE5D;;;OAGG;;EAEH,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAIpE;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CASrE"}
@@ -15,65 +15,50 @@
15
15
  * loading the IR bundle, and so dynamic callers (CLI literal parsing,
16
16
  * non-TS clients) have the types they need to encode arguments.
17
17
  */
18
- import { StructType, StringType, ArrayType, EastTypeType, OptionType, decodeBeast2For, none } from '@elaraai/east';
18
+ import { StructType, StringType, ArrayType, EastTypeType, OptionType, decodeBeast2For } from '@elaraai/east';
19
19
  import { RunnerType } from './runner.js';
20
20
  /**
21
21
  * Function object stored in the object store, referenced by name from
22
22
  * `PackageObject.functions`.
23
23
  */
24
24
  export const FunctionObjectType = StructType({
25
- /** Hash of the encoded EastIR bundle (encodeEastIR), like a task's commandIr object. */
25
+ /** Hash of the encoded EastIR bundle (encodeEastIR), as a task's program is. */
26
26
  bodyIr: StringType,
27
27
  /** Positional parameter types — the IR's signature, surfaced for arity/type
28
28
  * validation and `describe` without decoding the whole IR. */
29
29
  inputTypes: ArrayType(EastTypeType),
30
30
  /** Return type — used to decode the result `value` blob client-side. */
31
31
  outputType: EastTypeType,
32
- /** Author-chosen runtime; resolved to argv by runnerToArgv. One of the known
33
- * runtime tags — there is no raw-argv runner for functions. */
32
+ /** Author-chosen runtime: a stock runner runs the function as a unit, and a
33
+ * `custom` one runs its command with `run`'s arguments. */
34
34
  runner: RunnerType,
35
35
  /**
36
36
  * Hash of an `EnvironmentSpecType` object the function executes in;
37
- * `none` ⇒ the stock runtime image. Appended LAST (BEAST2 encodes struct
38
- * fields positionally) with a legacy dual decoder — see
39
- * {@link decodeFunctionObject}.
37
+ * `none` ⇒ the stock runtime image.
40
38
  */
41
39
  environment: OptionType(StringType),
42
40
  });
43
- /**
44
- * The pre-`environment` function object wire shape, kept only so
45
- * {@link decodeFunctionObject} can read functions exported before execution
46
- * environments existed.
47
- */
48
- const PreEnvironmentFunctionObjectType = StructType({
49
- bodyIr: StringType,
50
- inputTypes: ArrayType(EastTypeType),
51
- outputType: EastTypeType,
52
- runner: RunnerType,
53
- });
54
41
  const decodeCurrentFunction = decodeBeast2For(FunctionObjectType);
55
- const decodePreEnvironmentFunction = decodeBeast2For(PreEnvironmentFunctionObjectType);
56
42
  /**
57
- * Decode a `FunctionObject` from BEAST2 bytes, tolerating the
58
- * pre-`environment` wire format (dual-decode migration, like
59
- * `decodePackageObject`).
43
+ * Decode a `FunctionObject` from BEAST2 bytes.
44
+ *
45
+ * @remarks
46
+ * A package-borne wire, so it changes by hard cutover: a package exported by
47
+ * an older SDK is re-exported with the current one, and this says so.
60
48
  *
61
- * Every function-read path — local AND cloud — must use this instead of
62
- * `decodeBeast2For(FunctionObjectType)` directly. Older bytes decode with
63
- * `environment` defaulted to `none`.
49
+ * @param data - the stored bytes
50
+ * @returns the function object
51
+ * @throws {Error} When the bytes are not a current function object — a
52
+ * package exported by an older SDK, which is re-exported with the current
53
+ * one.
64
54
  */
65
55
  export function decodeFunctionObject(data) {
66
56
  try {
67
57
  return decodeCurrentFunction(data);
68
58
  }
69
59
  catch (err) {
70
- try {
71
- const legacy = decodePreEnvironmentFunction(data);
72
- return { ...legacy, environment: none };
73
- }
74
- catch {
75
- throw err; // no known shape — surface the current-format error
76
- }
60
+ throw new Error(`the function object does not decode: the package was exported by an older e3 SDK — re-export it with the current one ` +
61
+ `(${err instanceof Error ? err.message : String(err)})`);
77
62
  }
78
63
  }
79
64
  //# sourceMappingURL=function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAe,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,wFAAwF;IACxF,MAAM,EAAE,UAAU;IAClB;mEAC+D;IAC/D,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;IACnC,wEAAwE;IACxE,UAAU,EAAE,YAAY;IACxB;oEACgE;IAChE,MAAM,EAAE,UAAU;IAClB;;;;;OAKG;IACH,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;CACpC,CAAC,CAAC;AAKH;;;;GAIG;AACH,MAAM,gCAAgC,GAAG,UAAU,CAAC;IAClD,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;IACnC,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,UAAU;CACnB,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAClE,MAAM,4BAA4B,GAAG,eAAe,CAAC,gCAAgC,CAAC,CAAC;AAEvF;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,CAAC,CAAC,oDAAoD;QACjE,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAe,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1H,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,gFAAgF;IAChF,MAAM,EAAE,UAAU;IAClB;mEAC+D;IAC/D,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;IACnC,wEAAwE;IACxE,UAAU,EAAE,YAAY;IACxB;gEAC4D;IAC5D,MAAM,EAAE,UAAU;IAClB;;;OAGG;IACH,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC;CACpC,CAAC,CAAC;AAKH,MAAM,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uHAAuH;YACvH,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -22,21 +22,25 @@
22
22
  */
23
23
  export { DataRefType, type DataRef, unassignedRef, nullRef, DataTreeType, } from './dataset.js';
24
24
  export { VersionVectorType, type VersionVector, DatasetRefType, type DatasetRef, } from './dataset-ref.js';
25
- export { TaskObjectType, type TaskObject, decodeTaskObject, TASK_KIND_PARTITION, TASK_KIND_STREAM, TASK_KIND_MERGE, PartitionTaskMetadataType, type PartitionTaskMetadata, encodePartitionTaskMetadata, decodePartitionTaskMetadata, StreamTaskMetadataType, type StreamTaskMetadata, encodeStreamTaskMetadata, decodeStreamTaskMetadata, PartitionPlanType, MergeRangePlanType, type PartitionPlan, type MergeRangePlan, encodePartitionPlan, decodePartitionPlan, type ProjectionShape, partitionProjectionShape, projectedKeyType, projectKey, } from './task.js';
26
- export { type StreamMergeMode, type StreamCommandSpec, streamCommandIr, mergeCommandIr, } from './stream.js';
25
+ export { TASK_OBJECT_KIND, TaskObjectType, type TaskObject, decodeTaskObject, TaskBodyType, type TaskBody, TaskPartitionType, type TaskPartition, TaskInputType, type TaskInput, TaskOutputKindType, type TaskOutputKind, TaskOutputType, type TaskOutput, DataManifestType, type DataManifest, TaskRoleType, type TaskRole, } from './task.js';
27
26
  export { EnvironmentSpecType, type EnvironmentSpec, PythonEnvironmentType, type PythonEnvironment, NodeEnvironmentType, type NodeEnvironment, ImageEnvironmentType, type ImageEnvironment, ToolsEnvironmentType, type ToolsEnvironment, WorkspaceNodeEnvironmentType, type WorkspaceNodeEnvironment, environmentSpecObjectHashes, } from './environment.js';
28
- export { StructureType, type Structure, PathSegmentType, type PathSegment, TreePathType, type TreePath, type ParsePathResult, type ParseDatasetPathResult, type ParsePackageRefResult, treePath, pathToString, parsePath, parseDatasetPath, parsePackageRef, urlPathToTreePath, DatasetSchemaType, type DatasetSchema, } from './structure.js';
29
- export { RunnerType, type RunnerValue, runnerToArgv, withRunnerVerbose, withRunnerLifeline, } from './runner.js';
27
+ export { StructureType, type Structure, PathSegmentType, type PathSegment, TreePathType, type TreePath, type ParsePathResult, type ParseDatasetPathResult, type ParsePackageRefResult, treePath, pathToString, parsePath, parseDatasetPath, parsePackageRef, urlPathToTreePath, } from './structure.js';
28
+ export { RunnerType, type RunnerValue, withRunnerLifeline, } from './runner.js';
30
29
  export { FunctionObjectType, type FunctionObject, decodeFunctionObject, } from './function.js';
31
- export { RecordCommitType, type RecordCommit, MutationObjectType, type MutationObject, RecordObjectType, type RecordObject, } from './record.js';
32
- export { PackageDataType, type PackageData, PackageObjectType, type PackageObject, DatasetSourceWireType, type DatasetSourceWire, decodePackageObject, PackageDatasetsType, type PackageDatasets, PackageTransferInitRequestType, type PackageTransferInitRequest, PackageTransferInitResponseType, type PackageTransferInitResponse, PackageJobResponseType, type PackageJobResponse, PackageImportResultType, type PackageImportResult, PackageExportResultType, type PackageExportResult, PackageImportProgressType, type PackageImportProgress, PackageImportStatusType, type PackageImportStatus, PackageExportProgressType, type PackageExportProgress, PackageExportStatusType, type PackageExportStatus, } from './package.js';
33
- export { WorkspaceStateType, type WorkspaceState, } from './workspace.js';
34
- export { ExecutionStatusType, type ExecutionStatus, type ExecutionOwner, } from './execution.js';
35
- export { LockOperationType, type LockOperation, ProcessHolderType, type ProcessHolder, LockStateType, type LockState, } from './lock.js';
30
+ export { RecordCommitType, type RecordCommit, MutationObjectType, type MutationObject, RecordObjectType, type RecordObject, decodeRecordObject, RecordIndexObjectType, type RecordIndexObject, RECORD_STATE_KIND, RecordStateType, type RecordState, isRecordStateType, indexCollectionType, indexWindowType, decodeRecordCommit, decodeMutationObject, MutationFormType, type MutationForm, MigrationObjectType, type MigrationObject, decodeMigrationObject, MigrationFormType, type MigrationForm, DELTA_CONFLICT, patchOpsType, mutationDeltaType, editTypeOf, type DeltaTarget, } from './record.js';
31
+ export { PackageDataType, type PackageData, PackageObjectType, type PackageObject, DatasetSourceWireType, type DatasetSourceWire, decodePackageObject, PackageTransferInitRequestType, type PackageTransferInitRequest, PackageTransferInitResponseType, type PackageTransferInitResponse, PackageJobResponseType, type PackageJobResponse, PackageImportResultType, type PackageImportResult, PackageExportResultType, type PackageExportResult, PackageImportProgressType, type PackageImportProgress, PackageImportStatusType, type PackageImportStatus, PackageExportProgressType, type PackageExportProgress, PackageExportStatusType, type PackageExportStatus, } from './package.js';
32
+ export { WorkspaceStateType, type WorkspaceState, WorkspaceRecordType, type WorkspaceRecord, } from './workspace.js';
33
+ export { ExecutionStatusType, type ExecutionStatus, decodeExecutionStatus, executionStatusRoots, ExecutionOwnerType, type ExecutionOwner, } from './execution.js';
34
+ export { LockOperationType, type LockOperation, ProcessHolderType, type ProcessHolder, LambdaHolderType, type LambdaHolder, LockHolderVariantType, type LockHolderVariant, LockStateType, type LockState, } from './lock.js';
35
+ export { RepositoryRecordType, type RepositoryRecord, RepoStatusType, type RepoStatus, RepoMetadataType, type RepoMetadata, } from './repository.js';
36
+ export { E3_RELEASE, compareReleases } from './release.js';
37
+ export { type NamedKind, nameProblem } from './names.js';
36
38
  export { TRANSFER_PROTOCOL_VERSION, transferPartCount, transferPartRange, TransferUploadRequestType, type TransferUploadRequest, TransferUploadResponseType, type TransferUploadResponse, TransferPartResponseType, type TransferPartResponse, TransferDoneResponseType, type TransferDoneResponse, } from './transfer.js';
37
- export { isCollectionRoot, encodeDatasetBlob, } from './dataset-blob.js';
39
+ export { isCollectionRoot, encodeDatasetBlob, writeCollectionManifest, type CollectionSegmentRef, type CollectionPiece, type SegmentSink, } from './dataset-blob.js';
40
+ export { COLLECTION_MANIFEST_KIND, CollectionManifestType, CollectionManifestEntryType, type CollectionManifest, type CollectionManifestEntry, isCollectionManifestType, isCollectionManifest, encodeCollectionManifest, decodeCollectionManifest, manifestElementCount, manifestByteSize, } from './collection-manifest.js';
38
41
  export { checkDatasetType, datasetAddress, type DatasetTypeMismatch, } from './dataset-type.js';
39
42
  export { BEAST2_CONTENT_TYPE } from './constants.js';
40
- export { WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, DatasetTypeMismatchErrorType, ErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, ExecuteLimitsType, DiagnosticType, ExecuteResultType, FunctionCallRequestType, FunctionSignatureType, OneShotRequestType, MutationCallRequestType, MutationResultType, RecordSignatureType, RecordCommitInfoType, RecordHistoryResultType, type Error, type RepositoryStatus, type GcRequest, type GcResult, type AsyncOperationStatus, type GcStartResult, type GcStatusResult, type PackageListItem, type PackageInfo, type PackageDetails, type WorkspaceInfo, type WorkspaceCreateRequest, type WorkspaceDeployRequest, type DatasetStatus, type TaskStatus as ApiTaskStatus, type DatasetStatusInfo, type TaskStatusInfo, type WorkspaceStatusSummary, type WorkspaceStatusResult, type TaskListItem, type TaskDetails, type DataflowRequest, type LogChunk, type TaskExecutionResult, type DataflowResult, type DataflowEvent, type ApiExecutionStatus, type DataflowExecutionSummary, type ApiDataflowExecutionState, type ExecutionHistoryStatus, type ExecutionListItem, type TreeKind, type ListEntry, type DatasetStatusDetail, type ExecuteLimits, type Diagnostic, type ExecuteResult, type FunctionCallRequest, type FunctionSignature, type OneShotRequest, type MutationCallRequest, type MutationResult, type RecordSignature, type RecordCommitInfo, type RecordHistoryResult, } from './api.js';
41
- export { type DataflowExecutionStatus, type TaskStatus, TaskStateType, type TaskState, DataflowGraphTaskType, type DataflowGraphTask, DataflowGraphType, type DataflowGraph, ExecutionEventType, type ExecutionEvent, type PartitionProgress, DataflowExecutionStateType, type DataflowExecutionState, DataflowRunStatusType, type DataflowRunStatus, TaskExecutionRecordType, type TaskExecutionRecord, DataflowRunSummaryType, type DataflowRunSummary, DataflowRunType, type DataflowRun, } from './dataflow.js';
43
+ export { WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, DatasetTypeMismatchErrorType, InvalidNameErrorType, ErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, SchemaPolicyType, WorkspaceDeployRequestType, RecordPlanType, RecordIndexPlanType, WorkspaceDeployResultType, WorkspaceDeployProgressType, WorkspaceDeployStatusType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, DataflowBudgetType, UnitWaitType, SplitProgressType, ApiDataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, ExecuteLimitsType, DiagnosticType, ExecuteResultType, FunctionCallRequestType, FunctionSignatureType, OneShotRequestType, MutationCallRequestType, MutationResultType, RecordSignatureType, RecordCommitInfoType, RecordHistoryResultType, type Error, type RepositoryStatus, type GcRequest, type GcResult, type AsyncOperationStatus, type GcStartResult, type GcStatusResult, type PackageListItem, type PackageInfo, type PackageDetails, type WorkspaceInfo, type WorkspaceCreateRequest, type WorkspaceDeployRequest, type SchemaPolicy, type RecordPlan, type RecordIndexPlan, type WorkspaceDeployResult, type WorkspaceDeployProgress, type WorkspaceDeployStatus, type DatasetStatus, type TaskStatus as ApiTaskStatus, type DatasetStatusInfo, type TaskStatusInfo, type WorkspaceStatusSummary, type WorkspaceStatusResult, type TaskListItem, type TaskDetails, type DataflowRequest, type LogChunk, type TaskExecutionResult, type DataflowResult, type DataflowEvent, type ApiExecutionStatus, type DataflowExecutionSummary, type DataflowBudget, type UnitWait, type SplitProgress, type ApiDataflowExecutionState, type ExecutionHistoryStatus, type ExecutionListItem, type TreeKind, type ListEntry, type DatasetStatusDetail, type ExecuteLimits, type Diagnostic, type ExecuteResult, type FunctionCallRequest, type FunctionSignature, type OneShotRequest, type MutationCallRequest, type MutationResult, type RecordSignature, type RecordCommitInfo, type RecordHistoryResult, } from './api.js';
44
+ export { type DataflowExecutionStatus, type TaskStatus, TaskStateType, type TaskState, DataflowGraphTaskType, type DataflowGraphTask, DataflowGraphType, type DataflowGraph, StageUnitType, type StageUnit, RequeueReasonType, type RequeueReason, ExecutionEventType, type ExecutionEvent, type PartitionProgress, DataflowExecutionStateType, type DataflowExecutionState, decodeDataflowExecutionState, DataflowRunStatusType, type DataflowRunStatus, TaskExecutionRecordType, type TaskExecutionRecord, DataflowRunSummaryType, type DataflowRunSummary, DataflowRunType, type DataflowRun, } from './dataflow.js';
45
+ export { UNIT_PLAN_KIND, UnitPlanGroupType, type UnitPlanGroup, UnitPlanStageType, type UnitPlanStage, UnitPlanType, type UnitPlan, encodeUnitPlan, decodeUnitPlan, } from './unit-plan.js';
42
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -25,38 +25,41 @@ export { DataRefType, unassignedRef, nullRef, DataTreeType, } from './dataset.js
25
25
  // Per-dataset refs and version vectors (reactive dataflow)
26
26
  export { VersionVectorType, DatasetRefType, } from './dataset-ref.js';
27
27
  // Task definitions
28
- export { TaskObjectType, decodeTaskObject, TASK_KIND_PARTITION, TASK_KIND_STREAM, TASK_KIND_MERGE, PartitionTaskMetadataType, encodePartitionTaskMetadata, decodePartitionTaskMetadata, StreamTaskMetadataType, encodeStreamTaskMetadata, decodeStreamTaskMetadata, PartitionPlanType, MergeRangePlanType, encodePartitionPlan, decodePartitionPlan, partitionProjectionShape, projectedKeyType, projectKey, } from './task.js';
29
- // Stream and merge commands
30
- export { streamCommandIr, mergeCommandIr, } from './stream.js';
28
+ export { TASK_OBJECT_KIND, TaskObjectType, decodeTaskObject, TaskBodyType, TaskPartitionType, TaskInputType, TaskOutputKindType, TaskOutputType, DataManifestType, TaskRoleType, } from './task.js';
31
29
  // Execution environments
32
30
  export { EnvironmentSpecType, PythonEnvironmentType, NodeEnvironmentType, ImageEnvironmentType, ToolsEnvironmentType, WorkspaceNodeEnvironmentType, environmentSpecObjectHashes, } from './environment.js';
33
31
  // Data structure and paths
34
- export { StructureType, PathSegmentType, TreePathType, treePath, pathToString, parsePath, parseDatasetPath, parsePackageRef, urlPathToTreePath,
35
- // Backwards compatibility
36
- DatasetSchemaType, } from './structure.js';
37
- // Runner wire types (functions)
38
- export { RunnerType, runnerToArgv, withRunnerVerbose, withRunnerLifeline, } from './runner.js';
32
+ export { StructureType, PathSegmentType, TreePathType, treePath, pathToString, parsePath, parseDatasetPath, parsePackageRef, urlPathToTreePath, } from './structure.js';
33
+ // Runner wire types
34
+ export { RunnerType, withRunnerLifeline, } from './runner.js';
39
35
  // Function objects
40
36
  export { FunctionObjectType, decodeFunctionObject, } from './function.js';
41
37
  // Record objects
42
- export { RecordCommitType, MutationObjectType, RecordObjectType, } from './record.js';
38
+ export { RecordCommitType, MutationObjectType, RecordObjectType, decodeRecordObject, RecordIndexObjectType, RECORD_STATE_KIND, RecordStateType, isRecordStateType, indexCollectionType, indexWindowType, decodeRecordCommit, decodeMutationObject, MutationFormType, MigrationObjectType, decodeMigrationObject, MigrationFormType, DELTA_CONFLICT, patchOpsType, mutationDeltaType, editTypeOf, } from './record.js';
43
39
  // Package objects
44
40
  export { PackageDataType, PackageObjectType, DatasetSourceWireType, decodePackageObject,
45
- // Backwards compatibility
46
- PackageDatasetsType,
47
41
  // Package transfer types
48
42
  PackageTransferInitRequestType, PackageTransferInitResponseType, PackageJobResponseType, PackageImportResultType, PackageExportResultType, PackageImportProgressType, PackageImportStatusType, PackageExportProgressType, PackageExportStatusType, } from './package.js';
49
43
  // Workspace state
50
- export { WorkspaceStateType, } from './workspace.js';
44
+ export { WorkspaceStateType, WorkspaceRecordType, } from './workspace.js';
51
45
  // Execution status
52
- export { ExecutionStatusType, } from './execution.js';
46
+ export { ExecutionStatusType, decodeExecutionStatus, executionStatusRoots, ExecutionOwnerType, } from './execution.js';
53
47
  // Lock state
54
- export { LockOperationType, ProcessHolderType, LockStateType, } from './lock.js';
48
+ export { LockOperationType, ProcessHolderType, LambdaHolderType, LockHolderVariantType, LockStateType, } from './lock.js';
49
+ // The repository's own records
50
+ export { RepositoryRecordType, RepoStatusType, RepoMetadataType, } from './repository.js';
51
+ // The release of e3 this build is, which what it keeps and ships records
52
+ export { E3_RELEASE, compareReleases } from './release.js';
53
+ // The names e3 makes paths of
54
+ export { nameProblem } from './names.js';
55
55
  // Dataset transfer types
56
56
  export { TRANSFER_PROTOCOL_VERSION, transferPartCount, transferPartRange, TransferUploadRequestType, TransferUploadResponseType, TransferPartResponseType, TransferDoneResponseType, } from './transfer.js';
57
57
  // Dataset blob encoding — the ONE branch deciding segmentation, shared by the
58
- // store path (e3-core `datasetWrite`) and the package export path (e3 `export_`)
59
- export { isCollectionRoot, encodeDatasetBlob, } from './dataset-blob.js';
58
+ // store's door (e3-core `storeCollection`) and the package export (e3 `export_`)
59
+ export { isCollectionRoot, encodeDatasetBlob, writeCollectionManifest, } from './dataset-blob.js';
60
+ // The segment-object layout: a collection dataset is a manifest naming
61
+ // standalone segment objects, and the manifest is what the ref points at
62
+ export { COLLECTION_MANIFEST_KIND, CollectionManifestType, CollectionManifestEntryType, isCollectionManifestType, isCollectionManifest, encodeCollectionManifest, decodeCollectionManifest, manifestElementCount, manifestByteSize, } from './collection-manifest.js';
60
63
  // The ONE declared-type-vs-wire-type check, shared by every door a value
61
64
  // enters a dataset through (the export, the set, the adopt, the API)
62
65
  export { checkDatasetType, datasetAddress, } from './dataset-type.js';
@@ -65,13 +68,13 @@ export { BEAST2_CONTENT_TYPE } from './constants.js';
65
68
  // API wire types (shared between e3-api-client and e3-api-server)
66
69
  export {
67
70
  // Error types
68
- WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, DatasetTypeMismatchErrorType, ErrorType, ResponseType,
71
+ WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, DatasetTypeMismatchErrorType, InvalidNameErrorType, ErrorType, ResponseType,
69
72
  // Repository
70
73
  RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType,
71
74
  // Packages
72
75
  PackageListItemType, PackageInfoType, PackageDetailsType,
73
76
  // Workspaces
74
- WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType,
77
+ WorkspaceCreateRequestType, WorkspaceInfoType, SchemaPolicyType, WorkspaceDeployRequestType, RecordPlanType, RecordIndexPlanType, WorkspaceDeployResultType, WorkspaceDeployProgressType, WorkspaceDeployStatusType, WorkspaceExportRequestType,
75
78
  // Workspace Status
76
79
  DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType,
77
80
  // Tasks
@@ -79,7 +82,7 @@ TaskListItemType, TaskDetailsType,
79
82
  // Execution
80
83
  DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType,
81
84
  // Dataflow API polling
82
- DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType,
85
+ DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, DataflowBudgetType, UnitWaitType, SplitProgressType, ApiDataflowExecutionStateType,
83
86
  // Task Execution History
84
87
  ExecutionHistoryStatusType, ExecutionListItemType,
85
88
  // Dataset List
@@ -89,7 +92,9 @@ DatasetStatusDetailType,
89
92
  // Function / one-shot execution
90
93
  ExecuteLimitsType, DiagnosticType, ExecuteResultType, FunctionCallRequestType, FunctionSignatureType, OneShotRequestType, MutationCallRequestType, MutationResultType, RecordSignatureType, RecordCommitInfoType, RecordHistoryResultType, } from './api.js';
91
94
  // Dataflow execution state
92
- export { TaskStateType, DataflowGraphTaskType, DataflowGraphType, ExecutionEventType, DataflowExecutionStateType,
95
+ export { TaskStateType, DataflowGraphTaskType, DataflowGraphType, StageUnitType, RequeueReasonType, ExecutionEventType, DataflowExecutionStateType, decodeDataflowExecutionState,
93
96
  // Dataflow run history
94
97
  DataflowRunStatusType, TaskExecutionRecordType, DataflowRunSummaryType, DataflowRunType, } from './dataflow.js';
98
+ // A split task's unit graph, a stage at a time
99
+ export { UNIT_PLAN_KIND, UnitPlanGroupType, UnitPlanStageType, UnitPlanType, encodeUnitPlan, decodeUnitPlan, } from './unit-plan.js';
95
100
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,18 +5,15 @@
5
5
  /**
6
6
  * Lock state type definitions.
7
7
  *
8
- * A lock provides exclusive access to a workspace. The state tracks:
9
- * - What operation acquired the lock (dataflow, deployment, etc.)
10
- * - Who holds the lock (East text-encoded string)
11
- * - When it was acquired
12
- * - Optional expiry (for cloud TTL-based locks)
8
+ * A lock gives exclusive or shared access to a resource: a workspace, a
9
+ * workspace's dataflow, the repository's tasks, or one dataset's ref. The state
10
+ * records:
11
+ * - what operation acquired the lock (dataflow, deployment, etc.);
12
+ * - who holds it: a local process, or a cloud function;
13
+ * - when it was acquired;
14
+ * - when it expires, for a cloud backend's lease.
13
15
  *
14
- * Lock file location: workspaces/<name>.lock
15
- *
16
- * The holder field is an East text-encoded string, allowing different backends
17
- * to encode their own holder identification. Common patterns:
18
- * - Local: `.process (pid=1234, bootId="abc-123", startTime=98765, command="e3 start")`
19
- * - Cloud: `.lambda (requestId="req-123", functionName="e3-api")`
16
+ * A local repository keeps each resource's locks in `locks/<resource>/`.
20
17
  */
21
18
  import { VariantType, StructType, StringType, IntegerType, DateTimeType, OptionType, NullType, ValueTypeOf } from '@elaraai/east';
22
19
  /**
@@ -36,8 +33,8 @@ export declare const LockOperationType: VariantType<{
36
33
  }>;
37
34
  export type LockOperation = ValueTypeOf<typeof LockOperationType>;
38
35
  /**
39
- * Process holder schema - for local filesystem backends.
40
- * Used to encode/decode the holder string.
36
+ * A local process holding a lock: alive while a process of this pid and start
37
+ * time runs under this boot.
41
38
  */
42
39
  export declare const ProcessHolderType: StructType<{
43
40
  /** Process ID */
@@ -51,14 +48,44 @@ export declare const ProcessHolderType: StructType<{
51
48
  }>;
52
49
  export type ProcessHolder = ValueTypeOf<typeof ProcessHolderType>;
53
50
  /**
54
- * Lock state stored in workspaces/<name>.lock
55
- *
56
- * Represents an advisory lock on a workspace. The actual locking mechanism
57
- * is platform-specific (flock on Linux, DynamoDB conditional writes in cloud),
58
- * but the lock content follows this schema.
51
+ * A cloud function holding a lock, which the lock's lease bounds.
52
+ */
53
+ export declare const LambdaHolderType: StructType<{
54
+ /** The invocation's request ID */
55
+ readonly requestId: StringType;
56
+ /** The function's name */
57
+ readonly functionName: StringType;
58
+ }>;
59
+ export type LambdaHolder = ValueTypeOf<typeof LambdaHolderType>;
60
+ /**
61
+ * Who holds a lock.
62
+ */
63
+ export declare const LockHolderVariantType: VariantType<{
64
+ /** A local process */
65
+ readonly process: StructType<{
66
+ /** Process ID */
67
+ readonly pid: IntegerType;
68
+ /** System boot ID (from /proc/sys/kernel/random/boot_id) */
69
+ readonly bootId: StringType;
70
+ /** Process start time in jiffies since boot */
71
+ readonly startTime: IntegerType;
72
+ /** Command that acquired the lock (for debugging) */
73
+ readonly command: StringType;
74
+ }>;
75
+ /** A cloud function */
76
+ readonly lambda: StructType<{
77
+ /** The invocation's request ID */
78
+ readonly requestId: StringType;
79
+ /** The function's name */
80
+ readonly functionName: StringType;
81
+ }>;
82
+ }>;
83
+ export type LockHolderVariant = ValueTypeOf<typeof LockHolderVariantType>;
84
+ /**
85
+ * The state of a held lock.
59
86
  *
60
- * The holder field is an East text-encoded string representing a variant value.
61
- * Use `printFor`/`parseInferred` from @elaraai/east to encode/decode.
87
+ * The locking itself is the backend's — an atomically created file locally, a
88
+ * conditional write in the cloud — and every backend records this state.
62
89
  */
63
90
  export declare const LockStateType: StructType<{
64
91
  /** What operation acquired the lock */
@@ -74,8 +101,27 @@ export declare const LockStateType: StructType<{
74
101
  /** Exporting a workspace */
75
102
  readonly export: NullType;
76
103
  }>;
77
- /** Who holds the lock - East text-encoded variant (e.g., `.process (...)`) */
78
- readonly holder: StringType;
104
+ /** Who holds the lock */
105
+ readonly holder: VariantType<{
106
+ /** A local process */
107
+ readonly process: StructType<{
108
+ /** Process ID */
109
+ readonly pid: IntegerType;
110
+ /** System boot ID (from /proc/sys/kernel/random/boot_id) */
111
+ readonly bootId: StringType;
112
+ /** Process start time in jiffies since boot */
113
+ readonly startTime: IntegerType;
114
+ /** Command that acquired the lock (for debugging) */
115
+ readonly command: StringType;
116
+ }>;
117
+ /** A cloud function */
118
+ readonly lambda: StructType<{
119
+ /** The invocation's request ID */
120
+ readonly requestId: StringType;
121
+ /** The function's name */
122
+ readonly functionName: StringType;
123
+ }>;
124
+ }>;
79
125
  /** When the lock was acquired */
80
126
  readonly acquiredAt: DateTimeType;
81
127
  /** When the lock expires (for cloud TTL-based locks) */
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,yBAAyB;;IAEzB,2CAA2C;;IAE3C,6BAA6B;;IAE7B,2BAA2B;;IAE3B,4BAA4B;;EAE5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,iBAAiB;;IAEjB,4DAA4D;;IAE5D,+CAA+C;;IAE/C,qDAAqD;;EAErD,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;IACxB,uCAAuC;;QA1CvC,yBAAyB;;QAEzB,2CAA2C;;QAE3C,6BAA6B;;QAE7B,2BAA2B;;QAE3B,4BAA4B;;;IAoC5B,8EAA8E;;IAE9E,iCAAiC;;IAEjC,wDAAwD;;EAExD,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,WAAW,EACZ,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,yBAAyB;;IAEzB,2CAA2C;;IAE3C,6BAA6B;;IAE7B,2BAA2B;;IAE3B,4BAA4B;;EAE5B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,iBAAiB;;IAEjB,4DAA4D;;IAE5D,+CAA+C;;IAE/C,qDAAqD;;EAErD,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B,kCAAkC;;IAElC,0BAA0B;;EAE1B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,sBAAsB;;QA5BtB,iBAAiB;;QAEjB,4DAA4D;;QAE5D,+CAA+C;;QAE/C,qDAAqD;;;IAwBrD,uBAAuB;;QAdvB,kCAAkC;;QAElC,0BAA0B;;;EAc1B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IACxB,uCAAuC;;QA9DvC,yBAAyB;;QAEzB,2CAA2C;;QAE3C,6BAA6B;;QAE7B,2BAA2B;;QAE3B,4BAA4B;;;IAwD5B,yBAAyB;;QAjBzB,sBAAsB;;YA5BtB,iBAAiB;;YAEjB,4DAA4D;;YAE5D,+CAA+C;;YAE/C,qDAAqD;;;QAwBrD,uBAAuB;;YAdvB,kCAAkC;;YAElC,0BAA0B;;;;IA6B1B,iCAAiC;;IAEjC,wDAAwD;;EAExD,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC"}
package/dist/src/lock.js CHANGED
@@ -5,18 +5,15 @@
5
5
  /**
6
6
  * Lock state type definitions.
7
7
  *
8
- * A lock provides exclusive access to a workspace. The state tracks:
9
- * - What operation acquired the lock (dataflow, deployment, etc.)
10
- * - Who holds the lock (East text-encoded string)
11
- * - When it was acquired
12
- * - Optional expiry (for cloud TTL-based locks)
8
+ * A lock gives exclusive or shared access to a resource: a workspace, a
9
+ * workspace's dataflow, the repository's tasks, or one dataset's ref. The state
10
+ * records:
11
+ * - what operation acquired the lock (dataflow, deployment, etc.);
12
+ * - who holds it: a local process, or a cloud function;
13
+ * - when it was acquired;
14
+ * - when it expires, for a cloud backend's lease.
13
15
  *
14
- * Lock file location: workspaces/<name>.lock
15
- *
16
- * The holder field is an East text-encoded string, allowing different backends
17
- * to encode their own holder identification. Common patterns:
18
- * - Local: `.process (pid=1234, bootId="abc-123", startTime=98765, command="e3 start")`
19
- * - Cloud: `.lambda (requestId="req-123", functionName="e3-api")`
16
+ * A local repository keeps each resource's locks in `locks/<resource>/`.
20
17
  */
21
18
  import { VariantType, StructType, StringType, IntegerType, DateTimeType, OptionType, NullType, } from '@elaraai/east';
22
19
  /**
@@ -35,8 +32,8 @@ export const LockOperationType = VariantType({
35
32
  export: NullType,
36
33
  });
37
34
  /**
38
- * Process holder schema - for local filesystem backends.
39
- * Used to encode/decode the holder string.
35
+ * A local process holding a lock: alive while a process of this pid and start
36
+ * time runs under this boot.
40
37
  */
41
38
  export const ProcessHolderType = StructType({
42
39
  /** Process ID */
@@ -49,20 +46,34 @@ export const ProcessHolderType = StructType({
49
46
  command: StringType,
50
47
  });
51
48
  /**
52
- * Lock state stored in workspaces/<name>.lock
53
- *
54
- * Represents an advisory lock on a workspace. The actual locking mechanism
55
- * is platform-specific (flock on Linux, DynamoDB conditional writes in cloud),
56
- * but the lock content follows this schema.
49
+ * A cloud function holding a lock, which the lock's lease bounds.
50
+ */
51
+ export const LambdaHolderType = StructType({
52
+ /** The invocation's request ID */
53
+ requestId: StringType,
54
+ /** The function's name */
55
+ functionName: StringType,
56
+ });
57
+ /**
58
+ * Who holds a lock.
59
+ */
60
+ export const LockHolderVariantType = VariantType({
61
+ /** A local process */
62
+ process: ProcessHolderType,
63
+ /** A cloud function */
64
+ lambda: LambdaHolderType,
65
+ });
66
+ /**
67
+ * The state of a held lock.
57
68
  *
58
- * The holder field is an East text-encoded string representing a variant value.
59
- * Use `printFor`/`parseInferred` from @elaraai/east to encode/decode.
69
+ * The locking itself is the backend's — an atomically created file locally, a
70
+ * conditional write in the cloud — and every backend records this state.
60
71
  */
61
72
  export const LockStateType = StructType({
62
73
  /** What operation acquired the lock */
63
74
  operation: LockOperationType,
64
- /** Who holds the lock - East text-encoded variant (e.g., `.process (...)`) */
65
- holder: StringType,
75
+ /** Who holds the lock */
76
+ holder: LockHolderVariantType,
66
77
  /** When the lock was acquired */
67
78
  acquiredAt: DateTimeType,
68
79
  /** When the lock expires (for cloud TTL-based locks) */
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,GAET,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IAC3C,yBAAyB;IACzB,QAAQ,EAAE,QAAQ;IAClB,2CAA2C;IAC3C,UAAU,EAAE,QAAQ;IACpB,6BAA6B;IAC7B,OAAO,EAAE,QAAQ;IACjB,2BAA2B;IAC3B,aAAa,EAAE,QAAQ;IACvB,4BAA4B;IAC5B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,iBAAiB;IACjB,GAAG,EAAE,WAAW;IAChB,4DAA4D;IAC5D,MAAM,EAAE,UAAU;IAClB,+CAA+C;IAC/C,SAAS,EAAE,WAAW;IACtB,qDAAqD;IACrD,OAAO,EAAE,UAAU;CACpB,CAAC,CAAC;AAIH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,uCAAuC;IACvC,SAAS,EAAE,iBAAiB;IAC5B,8EAA8E;IAC9E,MAAM,EAAE,UAAU;IAClB,iCAAiC;IACjC,UAAU,EAAE,YAAY;IACxB,wDAAwD;IACxD,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC;CACpC,CAAC,CAAC"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lock.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,GAET,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IAC3C,yBAAyB;IACzB,QAAQ,EAAE,QAAQ;IAClB,2CAA2C;IAC3C,UAAU,EAAE,QAAQ;IACpB,6BAA6B;IAC7B,OAAO,EAAE,QAAQ;IACjB,2BAA2B;IAC3B,aAAa,EAAE,QAAQ;IACvB,4BAA4B;IAC5B,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,iBAAiB;IACjB,GAAG,EAAE,WAAW;IAChB,4DAA4D;IAC5D,MAAM,EAAE,UAAU;IAClB,+CAA+C;IAC/C,SAAS,EAAE,WAAW;IACtB,qDAAqD;IACrD,OAAO,EAAE,UAAU;CACpB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;IACzC,kCAAkC;IAClC,SAAS,EAAE,UAAU;IACrB,0BAA0B;IAC1B,YAAY,EAAE,UAAU;CACzB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;IAC/C,sBAAsB;IACtB,OAAO,EAAE,iBAAiB;IAC1B,uBAAuB;IACvB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,uCAAuC;IACvC,SAAS,EAAE,iBAAiB;IAC5B,yBAAyB;IACzB,MAAM,EAAE,qBAAqB;IAC7B,iCAAiC;IACjC,UAAU,EAAE,YAAY;IACxB,wDAAwD;IACxD,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC;CACpC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The rule for the names e3 makes paths of: a repository's name where a server
7
+ * keeps several, a workspace's name, a package's name and version, and a
8
+ * lock's resource. One place holds it, so the SDK, the CLI, the API server and
9
+ * the stores refuse the same names.
10
+ */
11
+ /** What a name names. */
12
+ export type NamedKind = 'repository' | 'workspace' | 'package' | 'package version' | 'lock';
13
+ /**
14
+ * Why a name cannot be one path segment, or `null` when it can.
15
+ *
16
+ * @param kind - What the name names
17
+ * @param name - The name
18
+ * @returns The problem, in words that follow the name, or `null`
19
+ */
20
+ export declare function nameProblem(kind: NamedKind, name: string): string | null;
21
+ //# sourceMappingURL=names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,yBAAyB;AACzB,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,iBAAiB,GAAG,MAAM,CAAC;AAU5F;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQxE"}