@absolutejs/absolute 0.20.0-beta.111 → 0.20.0-beta.113

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 CHANGED
@@ -6,6 +6,20 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.20.0-beta.113 — 2026-09-17
10
+
11
+ ### Added
12
+
13
+ - **Mobile CI promotions survive local interruption without duplicate dispatch** (`ABSOLUTE_MOBILE_CI_PROMOTION_OPERATION_FORMAT`, `AbsoluteMobilePromotionOperation`, `AbsoluteMobilePromotionOperationPhase`, `AdvanceAbsoluteMobilePromotionOperationOptions`, `CreateAbsoluteMobilePromotionOperationOptions`, `absoluteMobilePromotionOperationPath`, `advanceAbsoluteMobilePromotionOperation`, `createAbsoluteMobilePromotionOperation`, `listAbsoluteMobilePromotionOperations`, `parseAbsoluteMobilePromotionOperation`, `readAbsoluteMobilePromotionOperation`, `relativeAbsoluteMobilePromotionOperationPath`)
14
+ AbsoluteJS fsyncs and atomically installs a bounded non-secret promotion operation before contacting GitHub, advances the same identity through exact run discovery, completion and audit, lists local operations, and resumes persisted intent after sleep, disconnect or process failure without issuing another workflow dispatch.
15
+
16
+ ## 0.20.0-beta.112 — 2026-09-17
17
+
18
+ ### Added
19
+
20
+ - **Mobile CI promotions correlate, watch, and audit the exact dispatched workflow run** (`ABSOLUTE_MOBILE_CI_PROMOTION_CONTEXT_FORMAT`, `ABSOLUTE_MOBILE_CI_WORKFLOW_FORMAT`, `AbsoluteMobileCiRunStatus`, `AbsoluteMobilePromotionAudit`, `AbsoluteMobilePromotionContext`, `AbsoluteMobilePromotionRun`, `discoverAbsoluteMobilePromotionRun`, `parseAbsoluteMobilePromotionRunList`)
21
+ The promotion CLI assigns each protected dispatch a unique non-secret identity, discovers only the GitHub Actions run carrying that identity, returns its run ID and URL, optionally waits for completion, and can chain an independent local audit without racing concurrent promotions; retained format-1 audit context remains readable.
22
+
9
23
  ## 0.20.0-beta.111 — 2026-09-17
10
24
 
11
25
  ### Added
package/changelog.json CHANGED
@@ -2,6 +2,52 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "AbsoluteJS fsyncs and atomically installs a bounded non-secret promotion operation before contacting GitHub, advances the same identity through exact run discovery, completion and audit, lists local operations, and resumes persisted intent after sleep, disconnect or process failure without issuing another workflow dispatch.",
9
+ "kind": "added",
10
+ "summary": "Mobile CI promotions survive local interruption without duplicate dispatch",
11
+ "symbols": [
12
+ "ABSOLUTE_MOBILE_CI_PROMOTION_OPERATION_FORMAT",
13
+ "AbsoluteMobilePromotionOperation",
14
+ "AbsoluteMobilePromotionOperationPhase",
15
+ "AdvanceAbsoluteMobilePromotionOperationOptions",
16
+ "CreateAbsoluteMobilePromotionOperationOptions",
17
+ "absoluteMobilePromotionOperationPath",
18
+ "advanceAbsoluteMobilePromotionOperation",
19
+ "createAbsoluteMobilePromotionOperation",
20
+ "listAbsoluteMobilePromotionOperations",
21
+ "parseAbsoluteMobilePromotionOperation",
22
+ "readAbsoluteMobilePromotionOperation",
23
+ "relativeAbsoluteMobilePromotionOperationPath"
24
+ ]
25
+ }
26
+ ],
27
+ "date": "2026-09-17",
28
+ "version": "0.20.0-beta.113"
29
+ },
30
+ {
31
+ "changes": [
32
+ {
33
+ "detail": "The promotion CLI assigns each protected dispatch a unique non-secret identity, discovers only the GitHub Actions run carrying that identity, returns its run ID and URL, optionally waits for completion, and can chain an independent local audit without racing concurrent promotions; retained format-1 audit context remains readable.",
34
+ "kind": "added",
35
+ "summary": "Mobile CI promotions correlate, watch, and audit the exact dispatched workflow run",
36
+ "symbols": [
37
+ "ABSOLUTE_MOBILE_CI_PROMOTION_CONTEXT_FORMAT",
38
+ "ABSOLUTE_MOBILE_CI_WORKFLOW_FORMAT",
39
+ "AbsoluteMobileCiRunStatus",
40
+ "AbsoluteMobilePromotionAudit",
41
+ "AbsoluteMobilePromotionContext",
42
+ "AbsoluteMobilePromotionRun",
43
+ "discoverAbsoluteMobilePromotionRun",
44
+ "parseAbsoluteMobilePromotionRunList"
45
+ ]
46
+ }
47
+ ],
48
+ "date": "2026-09-17",
49
+ "version": "0.20.0-beta.112"
50
+ },
5
51
  {
6
52
  "changes": [
7
53
  {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-gyyIkV/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-skhGcA/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-gyyIkV/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-skhGcA/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
48
48
  getWarningController()?.maybeWarn(primitiveName);
49
49
  };
50
50
 
51
- // .angular-partial-tmp-gyyIkV/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-skhGcA/src/core/streamingSlotRegistry.ts
52
52
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
53
53
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
54
54
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
package/dist/cli/index.js CHANGED
@@ -203,7 +203,7 @@ if (command === "dev") {
203
203
  sendTelemetryEvent("cli:command", {
204
204
  command: `mobile:${workspaceCommand ?? "unknown"}`
205
205
  });
206
- const { runMobile } = await import("./mobile-k7gpwfs8.js");
206
+ const { runMobile } = await import("./mobile-v11nwcj9.js");
207
207
  try {
208
208
  await runMobile(args);
209
209
  } catch (error) {