@amalgm/live 0.2.81-preview.35320889761 → 0.2.81-preview.36771680084
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PURPOSE.md +160 -22
- package/dist/apply/contracts.d.ts +122 -29
- package/dist/apply/contracts.d.ts.map +1 -1
- package/dist/apply/contracts.js +3 -1
- package/dist/apply/contracts.js.map +1 -1
- package/dist/apply/index.d.ts +1 -0
- package/dist/apply/index.d.ts.map +1 -1
- package/dist/apply/index.js +1 -0
- package/dist/apply/index.js.map +1 -1
- package/dist/apply/plans.d.ts +2 -2
- package/dist/apply/plans.d.ts.map +1 -1
- package/dist/apply/plans.js +11 -12
- package/dist/apply/plans.js.map +1 -1
- package/dist/apply/rail.d.ts +8 -2
- package/dist/apply/rail.d.ts.map +1 -1
- package/dist/apply/rail.js +273 -111
- package/dist/apply/rail.js.map +1 -1
- package/dist/apply/repository-boundaries.d.ts +22 -0
- package/dist/apply/repository-boundaries.d.ts.map +1 -0
- package/dist/apply/repository-boundaries.js +20 -0
- package/dist/apply/repository-boundaries.js.map +1 -0
- package/dist/apply/repository-result.d.ts +3 -0
- package/dist/apply/repository-result.d.ts.map +1 -1
- package/dist/apply/repository-result.js +18 -6
- package/dist/apply/repository-result.js.map +1 -1
- package/dist/apply/type-adapters.d.ts +2 -2
- package/dist/apply/type-adapters.d.ts.map +1 -1
- package/dist/apply/type-adapters.js +6 -5
- package/dist/apply/type-adapters.js.map +1 -1
- package/dist/detection/adapter-contract.js +1 -1
- package/dist/detection/adapter-contract.js.map +1 -1
- package/dist/detection/batch.d.ts +4 -1
- package/dist/detection/batch.d.ts.map +1 -1
- package/dist/detection/batch.js +19 -9
- package/dist/detection/batch.js.map +1 -1
- package/dist/detection/dispositions.d.ts +130 -0
- package/dist/detection/dispositions.d.ts.map +1 -0
- package/dist/detection/dispositions.js +21 -0
- package/dist/detection/dispositions.js.map +1 -0
- package/dist/detection/echo.d.ts +8 -8
- package/dist/detection/echo.d.ts.map +1 -1
- package/dist/detection/echo.js +11 -15
- package/dist/detection/echo.js.map +1 -1
- package/dist/detection/enrollment.d.ts +12 -7
- package/dist/detection/enrollment.d.ts.map +1 -1
- package/dist/detection/enrollment.js +21 -13
- package/dist/detection/enrollment.js.map +1 -1
- package/dist/detection/identity.d.ts +87 -0
- package/dist/detection/identity.d.ts.map +1 -0
- package/dist/detection/identity.js +214 -0
- package/dist/detection/identity.js.map +1 -0
- package/dist/detection/index.d.ts +8 -2
- package/dist/detection/index.d.ts.map +1 -1
- package/dist/detection/index.js +8 -2
- package/dist/detection/index.js.map +1 -1
- package/dist/detection/record-proposal.d.ts +12 -9
- package/dist/detection/record-proposal.d.ts.map +1 -1
- package/dist/detection/record-proposal.js +37 -34
- package/dist/detection/record-proposal.js.map +1 -1
- package/dist/detection/removals.d.ts +10 -0
- package/dist/detection/removals.d.ts.map +1 -0
- package/dist/detection/removals.js +51 -0
- package/dist/detection/removals.js.map +1 -0
- package/dist/detection/repository.d.ts +0 -2
- package/dist/detection/repository.d.ts.map +1 -1
- package/dist/detection/repository.js +6 -4
- package/dist/detection/repository.js.map +1 -1
- package/dist/detection/scoped-identity.d.ts +94 -0
- package/dist/detection/scoped-identity.d.ts.map +1 -0
- package/dist/detection/scoped-identity.js +173 -0
- package/dist/detection/scoped-identity.js.map +1 -0
- package/dist/detection/territory.d.ts +3 -1
- package/dist/detection/territory.d.ts.map +1 -1
- package/dist/detection/territory.js +10 -6
- package/dist/detection/territory.js.map +1 -1
- package/dist/entities/bytes.d.ts +2 -0
- package/dist/entities/bytes.d.ts.map +1 -1
- package/dist/entities/bytes.js +2 -0
- package/dist/entities/bytes.js.map +1 -1
- package/dist/entities/cloud.d.ts +15 -2
- package/dist/entities/cloud.d.ts.map +1 -1
- package/dist/entities/cloud.js +92 -39
- package/dist/entities/cloud.js.map +1 -1
- package/dist/entities/graph-head.d.ts +10 -2
- package/dist/entities/graph-head.d.ts.map +1 -1
- package/dist/entities/graph-head.js +50 -15
- package/dist/entities/graph-head.js.map +1 -1
- package/dist/entities/index.d.ts +2 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +2 -0
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/repo-manifest.d.ts +8 -0
- package/dist/entities/repo-manifest.d.ts.map +1 -0
- package/dist/entities/repo-manifest.js +12 -0
- package/dist/entities/repo-manifest.js.map +1 -0
- package/dist/entities/repo-states.d.ts +46 -9
- package/dist/entities/repo-states.d.ts.map +1 -1
- package/dist/entities/repo-states.js +82 -41
- package/dist/entities/repo-states.js.map +1 -1
- package/dist/entities/rules.d.ts +18 -0
- package/dist/entities/rules.d.ts.map +1 -1
- package/dist/entities/rules.js +80 -21
- package/dist/entities/rules.js.map +1 -1
- package/dist/entities/trash.d.ts +7 -0
- package/dist/entities/trash.d.ts.map +1 -0
- package/dist/entities/trash.js +10 -0
- package/dist/entities/trash.js.map +1 -0
- package/dist/files/commands.d.ts +6 -1
- package/dist/files/commands.d.ts.map +1 -1
- package/dist/files/commands.js +5 -1
- package/dist/files/commands.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/records/contracts.d.ts.map +1 -1
- package/dist/records/contracts.js +20 -9
- package/dist/records/contracts.js.map +1 -1
- package/dist/records/index.d.ts +1 -0
- package/dist/records/index.d.ts.map +1 -1
- package/dist/records/index.js +1 -0
- package/dist/records/index.js.map +1 -1
- package/dist/records/outbox.d.ts +6 -0
- package/dist/records/outbox.d.ts.map +1 -1
- package/dist/records/outbox.js +19 -2
- package/dist/records/outbox.js.map +1 -1
- package/dist/records/publication.d.ts +74 -0
- package/dist/records/publication.d.ts.map +1 -0
- package/dist/records/publication.js +384 -0
- package/dist/records/publication.js.map +1 -0
- package/dist/records/rail.d.ts +71 -6
- package/dist/records/rail.d.ts.map +1 -1
- package/dist/records/rail.js +411 -120
- package/dist/records/rail.js.map +1 -1
- package/dist/registration/user-ground.d.ts +8 -1
- package/dist/registration/user-ground.d.ts.map +1 -1
- package/dist/registration/user-ground.js +4 -7
- package/dist/registration/user-ground.js.map +1 -1
- package/dist/steps.d.ts +21 -0
- package/dist/steps.d.ts.map +1 -0
- package/dist/steps.js +48 -0
- package/dist/steps.js.map +1 -0
- package/dist/transfer/artifacts.js +1 -1
- package/dist/transfer/artifacts.js.map +1 -1
- package/dist/transfer/cargo.js +1 -1
- package/dist/transfer/cargo.js.map +1 -1
- package/dist/transfer/upload.d.ts +7 -0
- package/dist/transfer/upload.d.ts.map +1 -1
- package/dist/transfer/upload.js +3 -2
- package/dist/transfer/upload.js.map +1 -1
- package/dist/watching/index.d.ts +1 -0
- package/dist/watching/index.d.ts.map +1 -1
- package/dist/watching/index.js +1 -0
- package/dist/watching/index.js.map +1 -1
- package/dist/watching/maintenance.d.ts +133 -0
- package/dist/watching/maintenance.d.ts.map +1 -0
- package/dist/watching/maintenance.js +204 -0
- package/dist/watching/maintenance.js.map +1 -0
- package/dist/watching/suspicion.d.ts +74 -13
- package/dist/watching/suspicion.d.ts.map +1 -1
- package/dist/watching/suspicion.js +363 -70
- package/dist/watching/suspicion.js.map +1 -1
- package/dist-cjs/apply/contracts.js +3 -1
- package/dist-cjs/apply/contracts.js.map +1 -1
- package/dist-cjs/apply/index.js +1 -0
- package/dist-cjs/apply/index.js.map +1 -1
- package/dist-cjs/apply/plans.js +11 -12
- package/dist-cjs/apply/plans.js.map +1 -1
- package/dist-cjs/apply/rail.js +273 -111
- package/dist-cjs/apply/rail.js.map +1 -1
- package/dist-cjs/apply/repository-boundaries.js +24 -0
- package/dist-cjs/apply/repository-boundaries.js.map +1 -0
- package/dist-cjs/apply/repository-result.js +19 -6
- package/dist-cjs/apply/repository-result.js.map +1 -1
- package/dist-cjs/apply/type-adapters.js +6 -5
- package/dist-cjs/apply/type-adapters.js.map +1 -1
- package/dist-cjs/detection/adapter-contract.js +1 -1
- package/dist-cjs/detection/adapter-contract.js.map +1 -1
- package/dist-cjs/detection/batch.js +20 -9
- package/dist-cjs/detection/batch.js.map +1 -1
- package/dist-cjs/detection/dispositions.js +22 -0
- package/dist-cjs/detection/dispositions.js.map +1 -0
- package/dist-cjs/detection/echo.js +11 -15
- package/dist-cjs/detection/echo.js.map +1 -1
- package/dist-cjs/detection/enrollment.js +21 -14
- package/dist-cjs/detection/enrollment.js.map +1 -1
- package/dist-cjs/detection/identity.js +224 -0
- package/dist-cjs/detection/identity.js.map +1 -0
- package/dist-cjs/detection/index.js +8 -2
- package/dist-cjs/detection/index.js.map +1 -1
- package/dist-cjs/detection/record-proposal.js +39 -35
- package/dist-cjs/detection/record-proposal.js.map +1 -1
- package/dist-cjs/detection/removals.js +55 -0
- package/dist-cjs/detection/removals.js.map +1 -0
- package/dist-cjs/detection/repository.js +6 -4
- package/dist-cjs/detection/repository.js.map +1 -1
- package/dist-cjs/detection/scoped-identity.js +176 -0
- package/dist-cjs/detection/scoped-identity.js.map +1 -0
- package/dist-cjs/detection/territory.js +11 -6
- package/dist-cjs/detection/territory.js.map +1 -1
- package/dist-cjs/entities/bytes.js +4 -1
- package/dist-cjs/entities/bytes.js.map +1 -1
- package/dist-cjs/entities/cloud.js +98 -39
- package/dist-cjs/entities/cloud.js.map +1 -1
- package/dist-cjs/entities/graph-head.js +50 -13
- package/dist-cjs/entities/graph-head.js.map +1 -1
- package/dist-cjs/entities/index.js +2 -0
- package/dist-cjs/entities/index.js.map +1 -1
- package/dist-cjs/entities/repo-manifest.js +15 -0
- package/dist-cjs/entities/repo-manifest.js.map +1 -0
- package/dist-cjs/entities/repo-states.js +88 -41
- package/dist-cjs/entities/repo-states.js.map +1 -1
- package/dist-cjs/entities/rules.js +82 -21
- package/dist-cjs/entities/rules.js.map +1 -1
- package/dist-cjs/entities/trash.js +14 -0
- package/dist-cjs/entities/trash.js.map +1 -0
- package/dist-cjs/files/commands.js +5 -1
- package/dist-cjs/files/commands.js.map +1 -1
- package/dist-cjs/index.js +2 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/records/contracts.js +19 -8
- package/dist-cjs/records/contracts.js.map +1 -1
- package/dist-cjs/records/index.js +1 -0
- package/dist-cjs/records/index.js.map +1 -1
- package/dist-cjs/records/outbox.js +20 -2
- package/dist-cjs/records/outbox.js.map +1 -1
- package/dist-cjs/records/publication.js +391 -0
- package/dist-cjs/records/publication.js.map +1 -0
- package/dist-cjs/records/rail.js +413 -121
- package/dist-cjs/records/rail.js.map +1 -1
- package/dist-cjs/registration/user-ground.js +4 -7
- package/dist-cjs/registration/user-ground.js.map +1 -1
- package/dist-cjs/steps.js +54 -0
- package/dist-cjs/steps.js.map +1 -0
- package/dist-cjs/transfer/artifacts.js +1 -1
- package/dist-cjs/transfer/artifacts.js.map +1 -1
- package/dist-cjs/transfer/cargo.js.map +1 -1
- package/dist-cjs/transfer/upload.js +6 -4
- package/dist-cjs/transfer/upload.js.map +1 -1
- package/dist-cjs/watching/index.js +1 -0
- package/dist-cjs/watching/index.js.map +1 -1
- package/dist-cjs/watching/maintenance.js +208 -0
- package/dist-cjs/watching/maintenance.js.map +1 -0
- package/dist-cjs/watching/suspicion.js +364 -71
- package/dist-cjs/watching/suspicion.js.map +1 -1
- package/package.json +6 -6
- package/dist/detection/diff.d.ts +0 -62
- package/dist/detection/diff.d.ts.map +0 -1
- package/dist/detection/diff.js +0 -81
- package/dist/detection/diff.js.map +0 -1
- package/dist-cjs/detection/diff.js +0 -85
- package/dist-cjs/detection/diff.js.map +0 -1
package/PURPOSE.md
CHANGED
|
@@ -26,6 +26,85 @@ are independently required; their evidence contract is
|
|
|
26
26
|
|
|
27
27
|
## Axioms
|
|
28
28
|
|
|
29
|
+
### Observation and publication
|
|
30
|
+
|
|
31
|
+
Detect describes physical truth. A separate publication decision chooses what
|
|
32
|
+
Record promises to share; an ignored observation is never pending Outbox work.
|
|
33
|
+
`src/records/README.md` states the selection laws and `publication.ts` implements
|
|
34
|
+
the portable graph decision. It retains excluded results and defers dependent
|
|
35
|
+
structural changes while admitting independent work. Re-inclusion compares
|
|
36
|
+
against the sharing baseline, including pending admitted local work, rather
|
|
37
|
+
than the latest suppressed observation. Committed records stay immutable through
|
|
38
|
+
policy changes. Named and broad host observation use this boundary. Full-ground
|
|
39
|
+
checks cover excluded observations and later enrollment; acknowledgement of a
|
|
40
|
+
machine's own selected Git result while excluded local files remain is still
|
|
41
|
+
unfinished. Complete native and multi-machine convergence are not yet proved.
|
|
42
|
+
|
|
43
|
+
Publication structure is the complete active UUID set with each node's type,
|
|
44
|
+
parent, name and policy address. When both inputs have the same structure,
|
|
45
|
+
choosing whole rows from either cannot change ancestry, collisions or repository
|
|
46
|
+
ownership. Selection reuses that one derived context within the call; contents,
|
|
47
|
+
provenance, policy and Record's original source proof remain independent.
|
|
48
|
+
|
|
49
|
+
### Deletion
|
|
50
|
+
|
|
51
|
+
Deleting a file or folder normally on a computer moves it to Amalgm Trash.
|
|
52
|
+
The same deletion reaches the other computers: trashed items are not
|
|
53
|
+
materialized on machines. Their inactive records and recoverable contents stay
|
|
54
|
+
in the cloud for 30 days, then Trash empties automatically. Users may
|
|
55
|
+
empty Trash sooner through the CLI/UI as those surfaces are completed. The
|
|
56
|
+
30 days start when the authority accepts the Trash change; Restore cancels that
|
|
57
|
+
period. Expiry is an authority responsibility, never a device-clock decision.
|
|
58
|
+
|
|
59
|
+
A settled removal below an accessible, unchanged workspace root authorizes
|
|
60
|
+
Trash after move reconciliation. A missing or unreadable workspace does not
|
|
61
|
+
mean its contents were deleted. Apply's temporary writes do not authorize Trash.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Files observation and application
|
|
65
|
+
|
|
66
|
+
People should be able to continue one working session on another computer.
|
|
67
|
+
Detect describes a complete result; Apply reproduces that result without
|
|
68
|
+
erasing another entity's independent identity or unrecorded local work.
|
|
69
|
+
These rules govern the ongoing Files rail, separately from construct sharing.
|
|
70
|
+
|
|
71
|
+
- A repository's payload fingerprint covers its complete Git state and member
|
|
72
|
+
identities. A different pack or incremental base is transport, not an edit.
|
|
73
|
+
- Git's shared refs and objects and a worktree's HEAD, index and unfinished work
|
|
74
|
+
are distinct responsibilities. This implementation transports independent checkout
|
|
75
|
+
copies; it does not promise to reproduce linked-worktree topology or safely
|
|
76
|
+
rewrite shared Git storage through several checkout authorities.
|
|
77
|
+
- An enclosing repository owns ordinary descendants, never a nested
|
|
78
|
+
repository's independent state. Projection must preserve that boundary even
|
|
79
|
+
when the enclosing result predates it.
|
|
80
|
+
- Named ownership and capability waits identify their prerequisite and its
|
|
81
|
+
producer. Relevant progress wakes them; unrelated work does not invalidate
|
|
82
|
+
their proof.
|
|
83
|
+
- An Apply wait consumes progress through its actual observation comparison.
|
|
84
|
+
Later relevant progress cannot be lost while the wait is installed; the
|
|
85
|
+
observation that established the wait cannot wake itself. Settled observation
|
|
86
|
+
requires a fresh guard, not a new Outbox row on the incoming target.
|
|
87
|
+
- Detect completion never authorizes a write: Apply must reacquire and re-prove
|
|
88
|
+
its final guard. Optimistic equality must pass that guard as well.
|
|
89
|
+
- Complete results decide Apply. Sender-side change labels and byte deltas
|
|
90
|
+
cannot limit what the receiving computer must reproduce.
|
|
91
|
+
- A change of publication owner never erases known lineage. An entity leaving
|
|
92
|
+
a Git parcel publishes its complete independent result, even when unchanged,
|
|
93
|
+
based on its last admitted sharing state. Its actual changed fields may be
|
|
94
|
+
empty. The selected ownership transition, record and baseline commit together;
|
|
95
|
+
repeating that settled observation produces nothing.
|
|
96
|
+
- Observation leaves source files and Git metadata unchanged. Private patch
|
|
97
|
+
generation cannot refresh source objects and thereby trigger its own watcher.
|
|
98
|
+
- Existing whole-result last-write-wins stays in force. Ordinary filesystem
|
|
99
|
+
deletion becomes recoverable Amalgm Trash; it never permanently deletes content. Independent simultaneous work needs separate working sessions;
|
|
100
|
+
recovery history does not promise automatic integration.
|
|
101
|
+
|
|
102
|
+
The review-stage cleanup preserves Register, cold upload/download, Watch setup,
|
|
103
|
+
and construct sharing. Their shared Git capture/reconstruction seam now describes literal worktree
|
|
104
|
+
bytes and the Git object format explicitly; their journeys and transfer
|
|
105
|
+
mechanisms stay intact.
|
|
106
|
+
|
|
107
|
+
|
|
29
108
|
Managed package delivery starts from a clean, exact main or preview source
|
|
30
109
|
commit. Its workflow occurrence supplies only the generated version and source
|
|
31
110
|
record, and native consumer gates use the same packed bytes as publication.
|
|
@@ -86,8 +165,15 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
86
165
|
projection; a reused ID with different composition is refused.
|
|
87
166
|
12. **User ground is portable; coordination state is not.** Everything beneath
|
|
88
167
|
an authenticated `users/<email>/` home is registrable except the reserved
|
|
89
|
-
`.amalgm/` directory
|
|
90
|
-
|
|
168
|
+
`.amalgm/` directory. Database-like filenames have no implicit exclusion;
|
|
169
|
+
Live's own databases and coordination files live inside that control tree.
|
|
170
|
+
`.amalgmignore` selects later publication, never physical observation,
|
|
171
|
+
registration or cold transfer.
|
|
172
|
+
Ignoring an already registered file preserves its UUID and last recorded
|
|
173
|
+
result; it does not remove the file from the registered snapshot.
|
|
174
|
+
Each materialized root reads its own tracked policy. Ignore never gates
|
|
175
|
+
incoming Apply; accepted changes still belong to selected local ground.
|
|
176
|
+
SQLite bytes, bindings, caches,
|
|
91
177
|
watcher evidence, paths, and physical identities are always machine-local.
|
|
92
178
|
13. **The graph, not SQLite, travels.** R2 receives canonical entity snapshots
|
|
93
179
|
and immutable content; a machine derives its SQLite rows, paths, physical
|
|
@@ -97,9 +183,10 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
97
183
|
cloud graph, and a simultaneous first-login loser adopts the winning graph.
|
|
98
184
|
15. **Cloud precedes Watch.** Login becomes ready only after the accepted
|
|
99
185
|
portable core baseline agrees with the active cloud snapshot and watcher
|
|
100
|
-
coverage is established over the resulting user ground.
|
|
101
|
-
|
|
102
|
-
|
|
186
|
+
coverage is established over the resulting user ground. Durable records
|
|
187
|
+
newer than that baseline survive restart and are never overwritten merely
|
|
188
|
+
to make login look current. Only records still awaiting the authority
|
|
189
|
+
report `syncing`; accepted receipts are history, not Send work.
|
|
103
190
|
16. **Files owns Files decisions.** `files register` identity declaration and
|
|
104
191
|
`files add` graph selection are Live operations behind injected effect
|
|
105
192
|
ports. A product shell routes them through its persistent Files host and
|
|
@@ -204,15 +291,27 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
204
291
|
path until one settled observation proves it; paths rung during that
|
|
205
292
|
observation remain suspect. A named burst widens first to its deepest
|
|
206
293
|
common directory; only a nameless event, a burst with no common directory,
|
|
207
|
-
watcher death, startup
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
294
|
+
watcher death, startup or explicit catch-up suspects the complete covered
|
|
295
|
+
domain. Native silence proves no physical freshness: an independent
|
|
296
|
+
metadata maintenance sweep visits every coverage owner on cadence C, a
|
|
297
|
+
configured jittered interval rather than a mutation→Record bound, reads
|
|
298
|
+
no bytes, and turns every difference into an examination request without
|
|
299
|
+
creating native suspicion. A leaf's
|
|
300
|
+
content proof holds only under a filesystem clock stamped before its read;
|
|
301
|
+
a later stamp alone never clears a racy leaf. One finite native turn
|
|
302
|
+
includes its necessary scope discovery and at most one complete-domain
|
|
303
|
+
continuation, with one shared source retry. Its original wider cutoff
|
|
304
|
+
freezes before scope release; later notices cannot renew that priority or
|
|
305
|
+
receive its completion.
|
|
306
|
+
Scope may reduce what is read, never change the state that is derived.
|
|
307
|
+
29. **Git owns stored objects; physical bytes own worktree truth.** A leaf's
|
|
308
|
+
type, payload and executable posture describe the same stable physical
|
|
309
|
+
observation. Git reporting a clean path, index flags, attributes and
|
|
310
|
+
conversion settings are never evidence that its stored blob equals those
|
|
311
|
+
bytes. A Git blob identity may stand for a worktree payload only after
|
|
312
|
+
raw byte equality is proved. Cached physical evidence follows the same
|
|
313
|
+
suspicion and freshness rules as ordinary files. Checkpoint capture must
|
|
314
|
+
reproduce those exact bytes independently of receiver Git settings.
|
|
216
315
|
30. **Proof travels forward; disposable bytes need not.** Registration reads
|
|
217
316
|
every ordinary text or binary file through one bounded stream to classify
|
|
218
317
|
it and derive its content head. When cloud cargo is missing, that same
|
|
@@ -263,6 +362,11 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
263
362
|
ground and never lifecycle authority. Beneath a root proven present for
|
|
264
363
|
the whole settled observation, an unmatched topmost disappearance is an
|
|
265
364
|
authorized Trash; descendants inherit it without per-child mutations.
|
|
365
|
+
An address means a name within a resolved parent UUID. Directories claim
|
|
366
|
+
unique physical continuity before address; leaves claim that parent-owned
|
|
367
|
+
address before unique physical continuity. Moving a directory therefore
|
|
368
|
+
carries its children's addresses even when another directory takes its
|
|
369
|
+
old path or an editor replaces a child's inode.
|
|
266
370
|
34. **Named Detect costs what changed, not what exists.** A valid named
|
|
267
371
|
suspicion loads indexed notebook rows for that path, its required parents,
|
|
268
372
|
and its nearest repository territory; it never walks or serializes the
|
|
@@ -349,7 +453,7 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
349
453
|
through the ordinary-file adapter.
|
|
350
454
|
A missing active target below a still-present materialized root first
|
|
351
455
|
passes through one finite Detect boundary. Before reveal, a proven move or
|
|
352
|
-
settled deletion becomes durable
|
|
456
|
+
settled local deletion becomes durable Trash work and supersedes the older Apply.
|
|
353
457
|
After reveal begins, the boundary may still preserve a concurrent move or
|
|
354
458
|
save, but Apply's own intermediate absence cannot authorize lifecycle; no
|
|
355
459
|
durable local result authorizes idempotent repair from the accepted result.
|
|
@@ -372,10 +476,21 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
372
476
|
41. **Verify, not a write syscall, commits Apply.** Applied Watch rings are
|
|
373
477
|
retained. Only exact type-specific reread may advance resolved and
|
|
374
478
|
materialized cursors, update the local notebook, mark Inbox history
|
|
375
|
-
resolved, and
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
479
|
+
resolved, and commit its exact terminal outcome; normal Detect equality
|
|
480
|
+
then makes the echo silent. That same intent remains cleanup-pending until
|
|
481
|
+
its finite private recovery objects are safely removed and cleanup is
|
|
482
|
+
acknowledged. Restart processes this cleanup before ordinary selection,
|
|
483
|
+
including without unresolved Inbox work or a current physical association.
|
|
484
|
+
A terminal intent never repeats Verify or machine effects. Cleanup cannot
|
|
485
|
+
require old cargo, adopt a changed private survivor, or overwrite later
|
|
486
|
+
observations. A phase alone does not prove whether physical effects exist:
|
|
487
|
+
adopting an exact target may reach `revealed` without changing disk. Only
|
|
488
|
+
a bound receipt proves effect ownership. Recovery may cancel an obsolete
|
|
489
|
+
plan after accounting for every original effect and conditionally repairing
|
|
490
|
+
its intermediate physical addresses. Cancellation preserves sharing values
|
|
491
|
+
and leaves Inbox and materialization progress unresolved; a fresh intent
|
|
492
|
+
replans only after the old owner's cleanup. An unexplained effect keeps its
|
|
493
|
+
responsibility. Exact target Verify is still required to claim installation. For a
|
|
379
494
|
repository, Verify commits Card, Checkpoint, and the complete transported
|
|
380
495
|
identity frontier as one notebook fact. The Watch observation caused by
|
|
381
496
|
that reveal must compare equal to that same fact; it can never become a new
|
|
@@ -423,9 +538,10 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
423
538
|
Local display names are opaque nonempty text without NUL, including native
|
|
424
539
|
root labels and separators; the separate nonempty, NUL-free host path owns
|
|
425
540
|
the address and never derives from the display name.
|
|
426
|
-
47. **An unfinished merge is settled Checkpoint truth.** Git lock files
|
|
427
|
-
|
|
428
|
-
stable
|
|
541
|
+
47. **An unfinished merge is settled Checkpoint truth.** Git lock files are
|
|
542
|
+
never portable state and their presence alone cannot prevent a proven
|
|
543
|
+
stable observation. Amalgm's own reveal marker identifies an incomplete
|
|
544
|
+
owned effect and refuses capture. A stable merge's heads, message and mode,
|
|
429
545
|
every unmerged index stage, and the current worktree conflict bytes are
|
|
430
546
|
one portable Checkpoint. Registration, Detect, transport, Apply, and
|
|
431
547
|
Verify preserve that state exactly so another machine can continue or
|
|
@@ -463,6 +579,24 @@ or certify a new wire contract, cloud migration or cross-machine rollout.
|
|
|
463
579
|
on the declared workload; excessive or unmeasured delay cannot inherit a
|
|
464
580
|
passing release verdict from eventual convergence.
|
|
465
581
|
|
|
582
|
+
## Apply attribution boundary
|
|
583
|
+
|
|
584
|
+
Detect describes observed user ground. A bound, nonterminal Apply recovery receipt
|
|
585
|
+
owns only its original effect participants and address cones; a phase alone owns
|
|
586
|
+
nothing. Detect defers dependent attribution and retains the Watch responsibility,
|
|
587
|
+
while independent observations may commit. Ownership is rechecked at Record
|
|
588
|
+
admission, including an originally empty answer. Terminal commit releases that
|
|
589
|
+
ownership before private cleanup and wakes its original scopes. A capture blocked
|
|
590
|
+
by its own receipt requests coherent cancellation; only proof of the original
|
|
591
|
+
effects authorizes cancellation, and cancellation never resolves Inbox or advances
|
|
592
|
+
verified state. Fresh intents have fresh host-minted attempt identities, even when
|
|
593
|
+
the target and wall clock are identical, and run fresh preflight before new effects.
|
|
594
|
+
Apply uses the same foreign-ownership rule at admission and terminal preparation;
|
|
595
|
+
a dependent cancellation waits without resolving history or discarding evidence.
|
|
596
|
+
Primary and collateral placement use the same retained original physical
|
|
597
|
+
association. A proved cancellation may repair O addresses, never sharing state,
|
|
598
|
+
payload/version, verification time, or the resolved/verified history positions.
|
|
599
|
+
|
|
466
600
|
## Five surfaces, one behavior
|
|
467
601
|
|
|
468
602
|
```
|
|
@@ -534,3 +668,7 @@ after every native examination proves the exact candidate bytes.
|
|
|
534
668
|
Native consumers install the archive as a dependency, so SDK development
|
|
535
669
|
dependencies never become an end-user installation requirement.
|
|
536
670
|
Each admitted owner gate proves its actual checkout equals the managed source.
|
|
671
|
+
|
|
672
|
+
An unchanged Git tip does not imply unchanged available history. A history
|
|
673
|
+
boundary change must transport the newly required closure; filenames remain
|
|
674
|
+
literal data when replay determines which operation to perform.
|
|
@@ -5,10 +5,12 @@ import type { ChangeFacet, TextSplice } from '../detection/record-proposal.js';
|
|
|
5
5
|
import type { AcceptedEntityRecord } from '../records/contracts.js';
|
|
6
6
|
import type { ContentManifest } from '../contracts/content.js';
|
|
7
7
|
import type { TransferArtifact } from '../transfer/artifacts.js';
|
|
8
|
-
export declare const ENTITY_APPLY_INTENT_CONTRACT = "amalgm.entity-apply-intent@
|
|
8
|
+
export declare const ENTITY_APPLY_INTENT_CONTRACT = "amalgm.entity-apply-intent@2";
|
|
9
9
|
export type ApplyIntentPhase = 'declared' | 'prepared' | 'revealed';
|
|
10
10
|
/** One crash-recovery responsibility. It is written before any machine effect. */
|
|
11
11
|
export interface EntityApplyIntent {
|
|
12
|
+
/** Fresh host-minted identity for this attempt, even at the same clock time. */
|
|
13
|
+
readonly attemptId: string;
|
|
12
14
|
readonly contract: typeof ENTITY_APPLY_INTENT_CONTRACT;
|
|
13
15
|
readonly authorityId: string;
|
|
14
16
|
readonly entityId: string;
|
|
@@ -33,6 +35,8 @@ export interface EntityApplyWork {
|
|
|
33
35
|
readonly materialized: MaterializedOfficialState | null;
|
|
34
36
|
readonly records: readonly AcceptedEntityRecord[];
|
|
35
37
|
readonly intent: EntityApplyIntent | null;
|
|
38
|
+
/** A terminal decision owns cleanup even with no remaining Inbox or ground. */
|
|
39
|
+
readonly retirement?: EntityApplyRetirement;
|
|
36
40
|
}
|
|
37
41
|
/** One stable page of unresolved entities. The cursor is opaque to Live. */
|
|
38
42
|
export interface EntityApplyWorkPage {
|
|
@@ -77,8 +81,8 @@ export interface LinkApplyPlan extends ApplyPlanBase {
|
|
|
77
81
|
/** Structure replay changes address/type/status without shipping new bytes. */
|
|
78
82
|
export interface StructureApplyPlan extends ApplyPlanBase {
|
|
79
83
|
readonly kind: 'structure';
|
|
80
|
-
/**
|
|
81
|
-
readonly
|
|
84
|
+
/** Complete leaf truth, including when the receiver holds different bytes. */
|
|
85
|
+
readonly resultArtifact: TransferArtifact | null;
|
|
82
86
|
}
|
|
83
87
|
export interface ReferenceApplyPlan extends ApplyPlanBase {
|
|
84
88
|
readonly kind: 'reference';
|
|
@@ -88,12 +92,11 @@ export interface RepositoryApplyPlan extends ApplyPlanBase {
|
|
|
88
92
|
readonly kind: 'repo.git';
|
|
89
93
|
readonly artifact: TransferArtifact;
|
|
90
94
|
readonly stateId: string;
|
|
95
|
+
readonly identityHash: string;
|
|
91
96
|
readonly cardId: string;
|
|
92
97
|
readonly checkpointId: string;
|
|
93
98
|
readonly parentTransportVersion: string | null;
|
|
94
99
|
readonly transportVersion: string;
|
|
95
|
-
readonly cardChanged: boolean;
|
|
96
|
-
readonly checkpointChanged: boolean;
|
|
97
100
|
}
|
|
98
101
|
export interface LifecycleApplyPlan extends ApplyPlanBase {
|
|
99
102
|
readonly kind: 'lifecycle';
|
|
@@ -108,11 +111,45 @@ export interface ConstructApplyPlan extends ApplyPlanBase {
|
|
|
108
111
|
readonly manifest: ContentManifest;
|
|
109
112
|
}
|
|
110
113
|
export type EntityApplyPlan = TextApplyPlan | BinaryApplyPlan | LinkApplyPlan | StructureApplyPlan | ReferenceApplyPlan | RepositoryApplyPlan | LifecycleApplyPlan | ConstructApplyPlan;
|
|
114
|
+
/** A concrete prerequisite and the component that can change it. `send`
|
|
115
|
+
* names local results still waiting for their authority sequence. */
|
|
116
|
+
export interface ApplyDependency {
|
|
117
|
+
readonly producer: 'detect' | 'apply' | 'capability' | 'send';
|
|
118
|
+
readonly entityIds: readonly string[];
|
|
119
|
+
}
|
|
120
|
+
/** A wait a person can see and resolve. It stays a dependency, never a
|
|
121
|
+
* fault: the lane wakes on its producer's progress, not on backoff. A blocker
|
|
122
|
+
* always names what releases it, so the current status can always show it. */
|
|
123
|
+
export interface ApplyBlocker {
|
|
124
|
+
readonly code: 'local-ground-would-be-displaced';
|
|
125
|
+
readonly effect: 'trash' | 'replace-container' | 'repository-reveal';
|
|
126
|
+
}
|
|
127
|
+
/** A named prerequisite that another component's progress can change. */
|
|
128
|
+
export interface ApplyDependencyOutcome {
|
|
129
|
+
readonly kind: 'dependency';
|
|
130
|
+
readonly reason: string;
|
|
131
|
+
readonly waitFor?: ApplyDependency;
|
|
132
|
+
readonly blocker?: ApplyBlocker;
|
|
133
|
+
}
|
|
134
|
+
export interface ApplyWait {
|
|
135
|
+
readonly entityId: string;
|
|
136
|
+
readonly reason: string;
|
|
137
|
+
readonly prerequisite: ApplyDependency;
|
|
138
|
+
readonly throughSequence: number;
|
|
139
|
+
readonly blocker?: ApplyBlocker;
|
|
140
|
+
}
|
|
111
141
|
export type ApplyGuard = {
|
|
112
142
|
readonly kind: 'safe';
|
|
113
143
|
} | {
|
|
114
144
|
readonly kind: 'already-target';
|
|
115
145
|
}
|
|
146
|
+
/** The original receipt can reach a safe cancellation, but no longer
|
|
147
|
+
* authorizes the current effect plan. Keep Inbox unresolved and replan only
|
|
148
|
+
* after that cancellation and its cleanup commit. */
|
|
149
|
+
| {
|
|
150
|
+
readonly kind: 'replan';
|
|
151
|
+
readonly reason: string;
|
|
152
|
+
}
|
|
116
153
|
/** Ground differs from the last observation at this entity's own address,
|
|
117
154
|
* or unrecorded ground holds the destination. Detect + Record can give that
|
|
118
155
|
* ground identity, so the rail captures it before deciding anything. */
|
|
@@ -121,8 +158,8 @@ export type ApplyGuard = {
|
|
|
121
158
|
readonly reason?: string;
|
|
122
159
|
}
|
|
123
160
|
/** The last verified entity is absent from its recorded address. Detect
|
|
124
|
-
* must first distinguish a move from
|
|
125
|
-
*
|
|
161
|
+
* must first distinguish a move from a proved removal. Before reveal, a proved
|
|
162
|
+
* removal becomes durable Trash work. After reveal, capture may
|
|
126
163
|
* preserve a concurrent move or save but cannot authorize lifecycle from
|
|
127
164
|
* Apply's own intermediate absence. A durable local result supersedes this
|
|
128
165
|
* Apply; no result authorizes idempotent cloud repair. */
|
|
@@ -130,14 +167,11 @@ export type ApplyGuard = {
|
|
|
130
167
|
readonly kind: 'unsettled-ground';
|
|
131
168
|
readonly reason?: string;
|
|
132
169
|
}
|
|
133
|
-
/**
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
* is re-proved
|
|
137
|
-
|
|
|
138
|
-
readonly kind: 'dependency';
|
|
139
|
-
readonly reason: string;
|
|
140
|
-
}
|
|
170
|
+
/** A prerequisite is not met yet: the accepted parent has not
|
|
171
|
+
* materialized, a capability is missing, or the effect would displace local
|
|
172
|
+
* remainder nothing else holds. The lane waits without capture or error and
|
|
173
|
+
* is re-proved when the named producer's progress may have changed it. */
|
|
174
|
+
| ApplyDependencyOutcome
|
|
141
175
|
/** The destination is held by a different recorded entity. Capture can never
|
|
142
176
|
* turn that into this entity's local work, so the lane parks: it re-runs
|
|
143
177
|
* only when its input changes or another lane's progress may have moved the
|
|
@@ -151,7 +185,10 @@ export type ApplyGuard = {
|
|
|
151
185
|
};
|
|
152
186
|
export type ApplyVerification = {
|
|
153
187
|
readonly kind: 'match';
|
|
154
|
-
}
|
|
188
|
+
} | {
|
|
189
|
+
readonly kind: 'replan';
|
|
190
|
+
readonly reason: string;
|
|
191
|
+
} | ApplyDependencyOutcome
|
|
155
192
|
/** An active accepted target below a present materialized root is absent.
|
|
156
193
|
* The rail re-enters the final guard and one lifecycle-protected Detect
|
|
157
194
|
* boundary. A concurrent move or save remains local work; otherwise the
|
|
@@ -170,6 +207,15 @@ export type ApplyCompletion = {
|
|
|
170
207
|
} | {
|
|
171
208
|
readonly kind: 'superseded-by-local';
|
|
172
209
|
};
|
|
210
|
+
export type ApplyTerminalPurpose = ApplyCompletion | {
|
|
211
|
+
readonly kind: 'cancelled';
|
|
212
|
+
};
|
|
213
|
+
/** The terminal decision is committed; only its exact private cleanup remains. */
|
|
214
|
+
export interface EntityApplyRetirement {
|
|
215
|
+
readonly token: string;
|
|
216
|
+
readonly intent: EntityApplyIntent;
|
|
217
|
+
readonly purpose: ApplyTerminalPurpose;
|
|
218
|
+
}
|
|
173
219
|
type MaybePromise<T> = T | Promise<T>;
|
|
174
220
|
/** One prepared SQLite owner supplies these transactions for the rail lifetime. */
|
|
175
221
|
export interface EntityApplyStorePort {
|
|
@@ -183,21 +229,40 @@ export interface EntityApplyStorePort {
|
|
|
183
229
|
* `targetSequence`. An accepted local receipt remains protective until its
|
|
184
230
|
* own official position is selected by Apply. */
|
|
185
231
|
hasLocalWorkAfter(authorityId: string, entityId: string, targetSequence: number): MaybePromise<boolean>;
|
|
232
|
+
/**
|
|
233
|
+
* Resolve this computer's own exact publication without any Apply effect.
|
|
234
|
+
* In one transaction, true only when no intent exists, Inbox work still
|
|
235
|
+
* starts at `work.resolvedThrough` and ends at `target`, the retained Outbox
|
|
236
|
+
* receipt `isExactOwnAcceptance` of `target`, no local work follows it, and
|
|
237
|
+
* the local sharing basis still holds `target.resultState`, and the host
|
|
238
|
+
* proves its ground sits at the derived address with no sibling relocation
|
|
239
|
+
* owed. Then the range through `target` resolves and materialization
|
|
240
|
+
* evidence is unchanged.
|
|
241
|
+
* Otherwise nothing is written and the ordinary Apply journey decides.
|
|
242
|
+
* The rail offers a page's lanes together, so calls for different entities
|
|
243
|
+
* overlap.
|
|
244
|
+
*/
|
|
245
|
+
resolveOwnPublication(work: EntityApplyWork, target: AcceptedEntityRecord): MaybePromise<boolean>;
|
|
186
246
|
beginIntent(intent: EntityApplyIntent): MaybePromise<void>;
|
|
187
247
|
setIntentPhase(intent: EntityApplyIntent): MaybePromise<void>;
|
|
188
|
-
cancelIntent(intent: EntityApplyIntent): MaybePromise<
|
|
189
|
-
/**
|
|
190
|
-
*
|
|
191
|
-
completeIntent(intent: EntityApplyIntent, completion: ApplyCompletion): MaybePromise<
|
|
248
|
+
cancelIntent(intent: EntityApplyIntent): MaybePromise<EntityApplyRetirement>;
|
|
249
|
+
/** Commit the exact terminal result and retain this intent for cleanup.
|
|
250
|
+
* This must be an outermost durable commit before cleanup can begin. */
|
|
251
|
+
completeIntent(intent: EntityApplyIntent, completion: ApplyCompletion): MaybePromise<EntityApplyRetirement>;
|
|
252
|
+
/** Remove only the intent bound to this nonreused terminal token. */
|
|
253
|
+
acknowledgeCleanup(retirement: EntityApplyRetirement): MaybePromise<void>;
|
|
192
254
|
}
|
|
193
255
|
/** Type-owned Apply behavior. Every operation is idempotent for the exact intent. */
|
|
194
256
|
export interface EntityApplySocket {
|
|
195
257
|
prepare(intent: EntityApplyIntent, plan: EntityApplyPlan): Promise<void>;
|
|
196
258
|
/** Compare ground with the last local observation before preparation and again before reveal. */
|
|
197
259
|
guard(intent: EntityApplyIntent, plan: EntityApplyPlan): Promise<ApplyGuard>;
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
260
|
+
/** Final effect admission can discover an owner through a physical alias. */
|
|
261
|
+
reveal(intent: EntityApplyIntent, plan: EntityApplyPlan): Promise<void | ApplyDependencyOutcome>;
|
|
262
|
+
/** Prove and stage a finite cleanup description without deleting recovery.
|
|
263
|
+
* The store consumes this proof together with the requested terminal outcome.
|
|
264
|
+
* Another effect owner can defer this boundary using the normal dependency. */
|
|
265
|
+
prepareRetirement(intent: EntityApplyIntent, plan: EntityApplyPlan, purpose: ApplyTerminalPurpose): Promise<void | ApplyDependencyOutcome>;
|
|
201
266
|
}
|
|
202
267
|
/** Type-owned reread of real ground after reveal. */
|
|
203
268
|
export interface EntityVerifySocket {
|
|
@@ -208,6 +273,25 @@ export interface OperationalEntityApplyAdapter {
|
|
|
208
273
|
readonly apply: EntityApplySocket;
|
|
209
274
|
readonly verify: EntityVerifySocket;
|
|
210
275
|
}
|
|
276
|
+
/** Observation completion is not a backup or an Outbox promise. The rail
|
|
277
|
+
* independently checks whether a newer durable local record protects ground. */
|
|
278
|
+
export type LocalCaptureResult = {
|
|
279
|
+
readonly kind: 'settled';
|
|
280
|
+
} | {
|
|
281
|
+
readonly kind: 'replan';
|
|
282
|
+
readonly reason: string;
|
|
283
|
+
} | {
|
|
284
|
+
readonly kind: 'owned';
|
|
285
|
+
readonly reason: string;
|
|
286
|
+
readonly entityIds: readonly string[];
|
|
287
|
+
} | {
|
|
288
|
+
readonly kind: 'local-only';
|
|
289
|
+
readonly reason: string;
|
|
290
|
+
readonly entityIds: readonly string[];
|
|
291
|
+
} | {
|
|
292
|
+
readonly kind: 'retry';
|
|
293
|
+
readonly reason: string;
|
|
294
|
+
};
|
|
211
295
|
/**
|
|
212
296
|
* Machine seam for the common rail. Type dispatch is explicit: the coordinator
|
|
213
297
|
* cannot perform a filesystem effect until it obtains the target type's full
|
|
@@ -215,12 +299,18 @@ export interface OperationalEntityApplyAdapter {
|
|
|
215
299
|
*/
|
|
216
300
|
export interface EntityApplyEffectsPort {
|
|
217
301
|
adapterFor(type: EntityType): OperationalEntityApplyAdapter;
|
|
218
|
-
/**
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
|
|
302
|
+
/** Resume only the recorded cleanup; never require current ground or cargo. */
|
|
303
|
+
cleanup(retirement: EntityApplyRetirement): Promise<void>;
|
|
304
|
+
/** Await the named observation. Local-only differences retain the Apply
|
|
305
|
+
* intent and must never be treated as safely recorded bytes. After reveal,
|
|
306
|
+
* the host protects the target from lifecycle inference while preserving
|
|
307
|
+
* a real move or save. The rail verifies any claimed Outbox protection.
|
|
308
|
+
* An owned result names unfinished Apply operations; a self-owned capture
|
|
309
|
+
* requests coherent cancellation/replanning, never a wait on itself.
|
|
310
|
+
* Call compared synchronously with the final observation comparison, after
|
|
311
|
+
* publishing its progress. A local-only result requires this fence so that
|
|
312
|
+
* later progress cannot be lost and this capture cannot wake itself. */
|
|
313
|
+
captureLocal(intent: EntityApplyIntent, plan: EntityApplyPlan, position: 'before-reveal' | 'after-reveal', compared: () => void): Promise<LocalCaptureResult>;
|
|
224
314
|
}
|
|
225
315
|
export interface EntityApplySchedulePort {
|
|
226
316
|
schedule(delayMs: number, callback: () => void): {
|
|
@@ -229,6 +319,7 @@ export interface EntityApplySchedulePort {
|
|
|
229
319
|
random(): number;
|
|
230
320
|
}
|
|
231
321
|
export interface EntityApplyRailOptions {
|
|
322
|
+
readonly newIntentId: () => string;
|
|
232
323
|
readonly store: EntityApplyStorePort;
|
|
233
324
|
readonly effects: EntityApplyEffectsPort;
|
|
234
325
|
readonly schedule: EntityApplySchedulePort;
|
|
@@ -236,10 +327,12 @@ export interface EntityApplyRailOptions {
|
|
|
236
327
|
readonly now: () => number;
|
|
237
328
|
readonly concurrency?: number;
|
|
238
329
|
readonly workLimit?: number;
|
|
330
|
+
readonly onWaiting?: (wait: ApplyWait) => void;
|
|
239
331
|
readonly onBackgroundError?: (error: unknown) => void;
|
|
240
332
|
}
|
|
241
333
|
export declare function assertApplyIntent(intent: EntityApplyIntent): void;
|
|
242
334
|
export declare function createApplyIntent(input: {
|
|
335
|
+
readonly attemptId: string;
|
|
243
336
|
readonly authorityId: string;
|
|
244
337
|
readonly entityId: string;
|
|
245
338
|
readonly fromSequence: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpE,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,4BAA4B,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,kEAAkE;AAClE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/apply/contracts.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/** Portable contracts at the Inbox -> Apply -> Verify boundary. */
|
|
2
2
|
import { isEntityType, UUID_PATTERN, } from '../entities/types.js';
|
|
3
|
-
export const ENTITY_APPLY_INTENT_CONTRACT = 'amalgm.entity-apply-intent@
|
|
3
|
+
export const ENTITY_APPLY_INTENT_CONTRACT = 'amalgm.entity-apply-intent@2';
|
|
4
4
|
const HASH = /^[0-9a-f]{64}$/;
|
|
5
5
|
const PHASES = new Set(['declared', 'prepared', 'revealed']);
|
|
6
6
|
const sequence = (value, positive = false) => Number.isSafeInteger(value) && value >= (positive ? 1 : 0);
|
|
7
7
|
export function assertApplyIntent(intent) {
|
|
8
8
|
if (intent.contract !== ENTITY_APPLY_INTENT_CONTRACT
|
|
9
|
+
|| !UUID_PATTERN.test(intent.attemptId)
|
|
9
10
|
|| !intent.authorityId
|
|
10
11
|
|| !UUID_PATTERN.test(intent.entityId)
|
|
11
12
|
|| !sequence(intent.fromSequence)
|
|
@@ -22,6 +23,7 @@ export function assertApplyIntent(intent) {
|
|
|
22
23
|
export function createApplyIntent(input) {
|
|
23
24
|
const intent = Object.freeze({
|
|
24
25
|
contract: ENTITY_APPLY_INTENT_CONTRACT,
|
|
26
|
+
attemptId: input.attemptId,
|
|
25
27
|
authorityId: input.authorityId,
|
|
26
28
|
entityId: input.entityId,
|
|
27
29
|
fromSequence: input.fromSequence,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EACL,YAAY,EACZ,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAM9B,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EACL,YAAY,EACZ,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAM9B,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AAwV3E,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/E,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK,EAAW,EAAE,CAC5D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,IAAI,MAAM,CAAC,QAAQ,KAAK,4BAA4B;WAC/C,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;WACpC,CAAC,MAAM,CAAC,WAAW;WACnB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;WACnC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;WAC9B,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;WACvC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;WAChD,CAAC,MAAM,CAAC,gBAAgB;WACxB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;WAC9B,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;WAChC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;WACzB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAOjC;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,4BAA4B;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAC5C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACzC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;QAC3C,KAAK,EAAE,UAAmB;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAyB,EACzB,KAA4C;IAE5C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK;WAC/B,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC;WACrD,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/apply/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './local-work.js';
|
|
|
5
5
|
export { planEntityApply } from './plans.js';
|
|
6
6
|
export * from './rail.js';
|
|
7
7
|
export * from './repository-result.js';
|
|
8
|
+
export * from './repository-boundaries.js';
|
|
8
9
|
export * from './selection.js';
|
|
9
10
|
export * from './type-adapters.js';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apply/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apply/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
package/dist/apply/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from './local-work.js';
|
|
|
5
5
|
export { planEntityApply } from './plans.js';
|
|
6
6
|
export * from './rail.js';
|
|
7
7
|
export * from './repository-result.js';
|
|
8
|
+
export * from './repository-boundaries.js';
|
|
8
9
|
export * from './selection.js';
|
|
9
10
|
export * from './type-adapters.js';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/apply/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apply/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/apply/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|