@fabricorg/platform-host 8.7.0 → 8.8.0
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/CHANGELOG.md +6 -0
- package/README.md +12 -0
- package/dist/index.cjs +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @fabricorg/platform-host
|
|
2
2
|
|
|
3
|
+
## 8.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 385a989: Expose the optional execution lease owner and token in adapter execution context, using the same frozen identity as Host write fencing and omitting the key for unleased execution. Platform Host 8.8.0 is the first Host that supplies it, so with an older Host the key is also absent: an adapter that requires fencing must treat a missing lease as "cannot fence", not as "safe". Every new claim of the invocation, including a takeover by another worker, rotates the token. Adapters can check this evidence in the transaction that claims their domain row immediately before a provider call; Host does not check the lease during the adapter call.
|
|
8
|
+
|
|
3
9
|
## 8.7.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -496,6 +496,18 @@ Expiry before an attempt prevents that attempt; an aborted call that throws foll
|
|
|
496
496
|
the existing ambiguous-outcome reconciliation path. With no step duration and an
|
|
497
497
|
unset or zero Host duration, neither context field is supplied.
|
|
498
498
|
|
|
499
|
+
When Host executes under a lease, `AdapterExecutionContext.lease` contains the
|
|
500
|
+
`leaseOwner` and `leaseToken` used to fence Host's own writes (Host 8.8.0 and
|
|
501
|
+
later). The key is absent for unleased execution and on older Hosts, so an adapter
|
|
502
|
+
that requires fencing must treat a missing lease as "cannot fence", not as "safe".
|
|
503
|
+
Every new claim of the invocation, such as a takeover by another worker, changes
|
|
504
|
+
`leaseToken`.
|
|
505
|
+
An adapter guarding a provider call should check this identity immediately before
|
|
506
|
+
that call, in the same transaction as its own domain claim (for example, by locking
|
|
507
|
+
the Host lease row and comparing owner and token). Host does not check the lease
|
|
508
|
+
during the adapter call; this context is evidence for the adapter's transaction,
|
|
509
|
+
not a guarantee that a provider operation remains protected after that transaction.
|
|
510
|
+
|
|
499
511
|
## Execution authorization
|
|
500
512
|
|
|
501
513
|
Submission authorization proves that a caller may create an invocation. Applications that delegate
|
package/dist/index.cjs
CHANGED
|
@@ -3148,6 +3148,7 @@ function createGovernedActionHost(options) {
|
|
|
3148
3148
|
...invocation.causationId ? { causationId: invocation.causationId } : {},
|
|
3149
3149
|
attempt,
|
|
3150
3150
|
maxAttempts,
|
|
3151
|
+
...executionLease ? { lease: executionLease } : {},
|
|
3151
3152
|
...deadlineMs ? { deadlineMs } : {},
|
|
3152
3153
|
...adapterController ? { signal: adapterController.signal } : {}
|
|
3153
3154
|
});
|