@voltro/plugin-releases 0.87.0 → 0.88.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 CHANGED
@@ -41,6 +41,166 @@ _Changes staged for the next release accumulate here (rolled up from
41
41
 
42
42
  ---
43
43
 
44
+ ## [0.88.0] — 2026-11-02
45
+
46
+ ### ⚠ BREAKING
47
+
48
+ - **Direct computed-cache key callers handle unencodable subjects** — `@voltro/runtime`, `@voltro/voltro`
49
+
50
+ `computedCacheKey()` can return `bypass: 'subject-not-encodable'` for claims that cannot safely identify a cache entry. Direct consumers with exhaustive bypass switches must handle this case by running without caching. `voltro update` identifies the direct imports to review. Queries using the native `cache:` declaration and `invoke()` tests need no manual key or code change.
51
+ - **The framework runs on effect 4.1.0** — `@voltro/cli`, `@voltro/devtools`, `@voltro/runtime`, `@voltro/database`, `@voltro/voltro`, `@voltro/sql-sqlite`, `@voltro/sql-mysql`, `@voltro/sql-mssql`, `@voltro/sql-postgres`
52
+
53
+ Every `@voltro/*` package now pins `effect` and its `@effect/*` companions to 4.1.0. Apps pin the same version and run `voltro add patches`: it writes the 4.1.0 patch files, retires the `patchedDependencies` entries an earlier CLI shipped for 4.0.1 (pnpm refuses an install over an unused patch) and moves the lockstep overrides. Two former patch fixes ship upstream in 4.1.0 (SQL Server request cancellation, the SQL Server message-storage MERGE). On SQL Server the shared transaction key now applies to every client in the process, not only the first one built.
54
+
55
+ `chunkRowsForInsert` from `@voltro/database` returns non-empty chunks (`NonEmptyReadonlyArray`), the shape effect 4.1's `sql.insert` requires; an empty input yields no chunk instead of one empty chunk.
56
+
57
+ SQL statement spans are named after their database, following the OpenTelemetry database conventions: the database name, else the server address, else the system name (`postgresql`, `mysql`, `microsoft.sql_server`, `sqlite`). Before, every statement span was `sql.execute`. Trace queries and dashboards that match that name should match the `db.query.text` attribute instead; the devtools trace panel and durable-trace sampling already do.
58
+
59
+ **`voltro update` carries you across this** — codemod `0.88.0/01_effect-4-1`. If you pin versions by hand and never run it, print the notes without changing anything: `voltro update --codemods-only --from <your current version> --dry-run` (this one ships in 0.88.0).
60
+ - **Runtime patch pins preserve third-party Effect majors** — `@voltro/cli`
61
+
62
+ `voltro add patches` scopes Effect pins to their current major instead of replacing unrelated libraries' Effect 3 dependencies. It migrates exact pins previously shipped by the framework, preserves unrelated policies, and refuses conflicting custom policies before writing files. In pnpm workspaces it names competing nonempty root `resolutions` or `pnpm.overrides` and explains their explicit reconciliation. Peer repair refuses cross-major global policy changes. Bun workspaces require Bun >=1.4.4 and a supported `packageManager` pin or `engines.bun` floor; upgrade the actual tool and older declarations before retrying, because Bun 1.2.0 ignored the scoped companion pin. `voltro update` carries the review as `0.88.0/06_effect-override-scope`.
63
+ - **Keep test runners out of production KV and workflow dependency closures** — `@voltro/kv`, `@voltro/workflow`
64
+
65
+ The test-only HotStore and workflow conformance suites now require their caller to supply runner operations. Pass `{ describe, it, expect }` as the third argument to `hotStoreConformance`, and `{ describe, test, expect, beforeAll, afterEach }` as the second argument to `runClusterEngineSuite` and `runJournalEncryptionSuite`. The exported structural runner interfaces have no dependency on Vitest. Both production packages remove their optional Vitest peer; an application's development runner can no longer enter a production deployment through those peer links. Keep Vitest in the test application's own devDependencies. Runtime KV/workflow calls and `runHotStoreSqlParity` are unchanged. `voltro update` identifies direct suite imports for review.
66
+ - **REST test handlers publish events under the request tenant** — `@voltro/testing`, `@voltro/cli`
67
+
68
+ When crossing 0.87.0, custom `makeTestApp({ restRoutes })` handlers receive a request-scoped `ctx.app` instead of the root fixture context. Event assertions must subscribe to that request tenant: the default anonymous request uses `acme` or `x-tenant`; an explicit `anonymous: 'no-tenant'` uses `''`, distinct from the event bus subscriber's default `null`. Pass the app's anonymous policy, select the subscriber tenant explicitly and assert delivered payloads even when HTTP success and `notified` already pass. Direct `invoke` retains its supplied context identity, and projected `publicApi` handlers already use request-scoped invocation. Plugin HTTP routes are not mounted by this request harness. `voltro update` locates raw request harness calls and prints the review steps.
69
+
70
+ ### Added
71
+
72
+ - **voltro add patches --ai accepts ai 7.0.156** — `@voltro/cli`, `@voltro/ai`
73
+
74
+ `voltro add patches --ai 7.0.156` wires the AI SDK declaration correction for `@ai-sdk/provider-utils` 5.0.70, regenerated with the original build from the release commit; JavaScript stays byte-identical to the published package. 7.0.105 and 7.0.132 remain selectable. `@voltro/ai` is built and tested against ai 7.0.156.
75
+ - **The retained invoice observations table is exported from the billing package** — `@voltro/plugin-billing`
76
+
77
+ `billingRetainedInvoiceObservationsTable` is exported from `@voltro/plugin-billing` beside the other billing tables, so an app can reference it.
78
+ - **plugin-billing accepts stripe 23** — `@voltro/plugin-billing`
79
+
80
+ The `stripe` peer range is `^22.6.1 || ^23.0.1`. stripe 23 pins Stripe API version `2026-09-30.endive`; the plugin still sends no `apiVersion` of its own, so the SDK's pinned version applies.
81
+
82
+ ### Changed
83
+
84
+ - **A booting server holds requests until the app is ready instead of answering 503** — `@voltro/runtime`, `@voltro/voltro`
85
+
86
+ `voltro serve`, `voltro start` and `voltro dev` used to answer every request that arrived before the boot finished with a plain-text `503 starting`. On a platform that scales to zero, that request is the visitor who woke the instance, and a browser does not act on `Retry-After` for a navigation. Requests and WebSocket upgrades that arrive while the app boots now wait and are handed to the app in arrival order once it is ready. The wait is bounded by `VOLTRO_BOOT_HOLD_MS` (default `30000`, at most five minutes, `0` restores the immediate `503`) and by 512 waiting requests. A request the wait cannot cover still gets `503` with `Retry-After: 1`, and a browser navigation gets a minimal page that reloads itself. `/internal/startup` reports waiting requests as `held`, and `bindBootListener` accepts `holdMs` and `maxHeld`. Probes are unchanged, so nothing changes under Kubernetes.
87
+ - **DocsLayout navigation nests collapsible groups with page counts** — `@voltro/ui-shadcn`
88
+
89
+ `DocsLayout` renders its sidebar as one tree: headerless groups are flat start links, other groups and sub-groups are collapsible rows with page counts, `DocsNavSubGroup` accepts nested `subgroups` and `trailingEntries`, the current page's link carries `aria-current="page"` (forwarded through `ShellLinkProps`), and the rail scrolls the active link into view after navigation.
90
+ - **Native Redis connections use ioredis 6 and keep the RESP2 protocol** — `@voltro/kv`, `@voltro/runtime`, `@voltro/cli`
91
+
92
+ The native Redis transport moved to ioredis 6, which defaults to RESP3. Registry connections set `protocol: 2`, so command replies, Pub/Sub and Lua results keep their shapes.
93
+ - **Connection drivers install only with the server runtime** — `@voltro/kv`, `@voltro/runtime`
94
+
95
+ `ioredis`, `@upstash/redis` and `@nats-io/transport-node` are optional peers of `@voltro/kv` and dependencies of `@voltro/runtime`. API apps keep all three without a step; web apps and SDKs that reach `@voltro/kv` only through types no longer download server drivers. Code that opens a connection without `@voltro/runtime` adds its driver, and a missing driver now fails naming the package.
96
+ - **The mobile template targets Expo SDK 58** — `@voltro/cli`
97
+
98
+ New mobile apps scaffold on Expo SDK 58 with React Native 0.88.1 and React 19.3.0, using the versions SDK 58 bundles for its native modules.
99
+ - **plugin-sentry runs on Sentry 11 and exports server spans over OTLP** — `@voltro/plugin-sentry`
100
+
101
+ Sentry 11 removed `SentrySpanProcessor`. The plugin now exports the framework's spans to the OTLP endpoint Sentry derives from the DSN and links errors and logs to the active span with `openTelemetryIntegration()`; the Sentry SDK records no spans of its own. `tracesSampleRate` keeps its meaning and is applied per trace id at the export. Server traces need the optional `@opentelemetry/sdk-trace-base` and `@opentelemetry/exporter-trace-otlp-http` packages (they replace `@sentry/opentelemetry`); without them the plugin warns and reports errors and breadcrumbs only. `init.tracesSampleRate` and `init.enableOpenTelemetrySetup` are ignored, and `init.skipOpenTelemetrySetup` no longer exists in Sentry 11.
102
+
103
+ ### Fixed
104
+
105
+ - **Deferred workflow starts retain their original caller receipt** — `@voltro/workflow`, `@voltro/cli`
106
+
107
+ A controlled workflow start now returns its existing queued receipt when another replica exhausts submission retries, or shared capacity moves, before its acceptance callback dispatches. It no longer reports an ordinary start failure while the committed submission remains unresolved. Execution identity, caller input, capacity ownership and retry limits stay unchanged; definite rejection and invalid ownership still fail explicitly.
108
+
109
+ - **Aggregate counters are non-negative safe integers on every dialect** — `@voltro/database`
110
+
111
+ A `count()` / `countDistinct()` / ranking counter now decodes to a number only when it is a non-negative safe integer; a fractional, negative, non-numeric or larger value is refused instead of passed through or rounded. SQLite and Turso decode counters too when the queried table has decimal columns, where they used to stay strings.
112
+ - **Cache clear honors connection namespace prefixes** — `@voltro/kv`, `@voltro/cache`
113
+
114
+ Clearing a cache through a named, namespaced Redis connection now binds logical cache keys to that connection's physical namespace. Redis-family engines and the local transport preserve neighboring caches and invalidation fences, while refusing foreign prefixes and forged key sets. The existing atomic cache command format remains unchanged.
115
+ - **Cache commands use the selected app's configuration and connections** — `@voltro/cli`
116
+
117
+ `voltro cache status`, `flush` and `invalidate` resolve `app.config.ts`, environment overrides and named Redis connections exactly like Dev and Serve, including an optional target app directory. Invalid configuration fails instead of silently reporting memory, in-process transports refuse CLI mutation, and diagnostics omit endpoint URLs and credentials.
118
+ - **Generated cache examples boot and upgrade reviews name affected lines** — `@voltro/cli`
119
+
120
+ The seeded core API example now uses an object cache declaration. Forced guide refresh discovers both flat and project-grouped app layouts, replacing stale nested examples without executing configs or crossing an app boundary. The shared cache/KV migration review lists authored code locations, including asserted backend literals, and a new review reaches applications that already crossed the original migration. It also identifies stale core guides for refresh; protected hand-maintained guides stay under their owner's control.
121
+ - **Subject query caches follow current authority** — `@voltro/runtime`, `@voltro/testing`
122
+
123
+ Subject-scoped computed queries key the complete subject claims and raw and resolved permission sets. Removing an admin grant, changing roles or switching tenant or credential type cannot reuse a result admitted under earlier authority. Authentication refreshes before lookup, and a change while a read is pending refuses retention and delivery. Connection-local state is never covered by subject scope; handlers that read it do not retain their results. The same decisions apply to `invoke` tests, memory caches and Redis caches.
124
+ - **Preserve connection declaration errors across module boundaries** — `@voltro/kv`
125
+
126
+ Redis, NATS, Storage, Analytics and SQL registries retain typed configuration diagnostics across module and VM boundaries instead of mislabeling them as dynamic credential failures. Errors returned by credential resolvers remain redacted.
127
+ - **Bind demo API tenants consistently in browser and server renders** — `@voltro/cli`
128
+
129
+ The fullstack, admin, SSR API and public status templates now send their explicit demo tenant to header-based anonymous APIs. SSR API and status pages use the same binding for server-side RPC reads, so a fresh scaffold renders successfully and its browser subscriptions select the same data. API refusals for missing tenants and access checks remain enforced. These demo bindings select rows and do not authenticate users; private production data requires verified authentication. Fresh-consumer diagnostics retain uppercase error log lines.
130
+ - **Two voltro dev processes starting together mint one set of secrets, not two** — `@voltro/cli`
131
+
132
+ `voltro dev` mints missing project secrets into `.env.local`. Two processes on one project starting at the same time (two local replicas, a dev server beside a test boot) each minted their own values; with field encryption the database recorded one key and refused the second process at boot. Minting now runs under a lock and adopts a value another process wrote meanwhile; a lock left by a crashed mint is taken over.
133
+ - **Event warnings follow workspace package exports** — `@voltro/cli`
134
+
135
+ Development event wiring warnings now recognise sibling `useEvent` consumers imported through package exports, TypeScript path aliases, named and namespace re-exports, and static local aliases. Each subscription is matched to its descriptor so an unused import or another API's same-named module does not hide a missing consumer. Workspace discovery supports declared pnpm, npm, Yarn and Bun members and excludes nested projects and build output.
136
+ - **Index audit preserves partial row coverage and uniqueness** — `@voltro/database`
137
+
138
+ The index audit recommends dropping an index only when another B-tree index preserves its row coverage and uniqueness. Partial unique indexes no longer make full indexes appear redundant; specialized index methods and unproved predicate relationships are excluded, and recommendations name only the safe replacement direction.
139
+ - **Migration logs identify which operations their count includes** — `@voltro/database`
140
+
141
+ Development auto-migration logs now identify their applied-operation count as the planner pass, excluding framework bootstrap and file-based migrations. A schema plan taken before boot can include work completed by those earlier stages; run a new plan after boot to verify that no operations remain.
142
+ - **Filter completed workflow pool owners before recovery transport** — `@voltro/cli`, `@voltro/voltro`, `@voltro/workflow`
143
+
144
+ Pool release recovery now persists its terminal settlement on submission and restart owners and filters those markers through indexed SQL predicates. Finished owner history no longer crosses the wire on every idle pass or after process restart. Lost release acknowledgements, held owners and missing evidence remain recoverable and reported; immutable owners and permit tombstones remain for receipt and replay safety. Normal framework schema migration adds two nullable settlement markers and their indexes; existing history is checked once in bounded pages. Settlement indexes use explicit short names within SQL identifier limits. Reconciliation cadence is unchanged.
145
+ - **Presence transport warnings follow actual subscription readiness** — `@voltro/plugin-presence`
146
+
147
+ Presence reports pending binding or subscription acquisition without a false missing-provider warning after five seconds. It reports cross-instance readiness only after acquiring the broadcast subscription, while local-only bindings and failed subscriptions still warn. Closing or replacing a binding prevents stale callbacks and releases subscriptions acquired afterward.
148
+ - **Self-updates finish after the old CLI installation is removed** — `@voltro/cli`, `@voltro/runtime`
149
+
150
+ `voltro update` loads its completion helpers before installing the target version, so removing the running CLI package no longer turns a successful upgrade into a missing-module failure. Error reporting uses the shared lightweight `@voltro/runtime/boot-refusal` entry loaded before dispatch; genuine failures keep their original message and exit code without loading the server dependency graph for help or version commands.
151
+ - **Compiled API servers start without a source-analysis dependency** — `@voltro/cli`
152
+
153
+ The development event-consumer audit loads its source compiler only when scanning. A compiled API server can start after relocation without app sources or a direct `ts-morph` dependency. Package-export consumer discovery keeps its existing scope and does not execute application modules.
154
+ - **SignalHeader centers its brand in the masthead** — `@voltro/ui-shadcn`
155
+
156
+ The `SignalHeader` brand slot is a centered flex row, so a brand link no longer sits on the text baseline and renders a few pixels above the masthead's center.
157
+ - **Update reports changed runtime patch assets before boot** — `@voltro/cli`
158
+
159
+ `voltro update` compares configured pnpm Effect and SQL-driver patches with the target CLI's assets during its codemod step, including `--codemods-only`. Changed bytes produce refresh and install instructions even without workflows. Same-version checks also report drift. Custom patch paths are named and files remain untouched.
160
+ - **Upgrade reviews omit locator counts and unchanged REST type plumbing** — `@voltro/cli`
161
+
162
+ The aggregate review excludes locator chains and local locator aliases while retaining uncertain query receivers. The idempotency review lists REST context constructions, context factories and guard definitions instead of every context or guard parameter annotation. Aliased imported calls in JavaScript custom hosts remain visible.
163
+
164
+ ### Internal (no consumer-facing effect)
165
+
166
+ - **Effect audits distinguish regression data from executable legacy APIs**
167
+
168
+ Effect migration audits allow test data to describe a foreign dependency's retained major. Removed package imports and obsolete bound API calls remain findings in tests and application code, while production migration-residue checks remain unchanged.
169
+ - **The doctor's table nullability manifest covers the billing history tables** — `@voltro/cli`
170
+
171
+ The generated nullability manifest `voltro doctor` reads was missing the invoice-history and customer-account tables the billing plugin added; it is regenerated from the declarations.
172
+ - **Installation checks refuse ambient workspaces and source overrides**
173
+
174
+ Installation checks require standalone directories before creating projects. Artifact consumers use shipped template and documentation assets without inheriting maintainer source overrides or Node module loaders. Registry, package-manager and explicit application settings remain available.
175
+ - **Installation checks require healthy applications and usable modules**
176
+
177
+ Installation checks require API readiness, successful web responses and transformed JavaScript modules while the development process remains running. HTTP errors and HTML fallbacks cannot satisfy those checks. Diagnostics distinguish application startup from shutdown.
178
+ - **Keep CLI fixture temporary roots and child outcomes explicit**
179
+
180
+ Automatic sidecar tests inspect the actual operating-system temporary directory and release their bound owner even when an assertion fails. Schema-boot fixtures retain the child's exit signal and assert the real exit tuple alongside readiness and migration counts, so a signal cannot become a false successful process result. Production security and signal guards remain unchanged.
181
+
182
+ Workflow recovery tests distinguish the recorded failure budget from concurrent dispatches already in flight. They retain the same prepared execution identity, require one body execution, and verify that stopped or accepted submissions cannot dispatch again.
183
+ - **Native SQL checks isolate schema ownership across fixtures**
184
+
185
+ Wallet and shop checks own separate server databases so concurrent schema creation cannot contend with another fixture's live writes. Independent pools within a fixture still share the real database. Cleanup closes all acquired pools before dropping only the owned namespace, and a native regression verifies isolation with identical wallet identities.
186
+ - **Native reload checks retain manifests published during SQL observation**
187
+
188
+ Native geometry checks establish the expected-version receiver before reload activation. A real transport regression holds the consumer until the new manifest arrives, so asynchronous SQL observation cannot hide a missed publication. Frame deadlines retain their original call sites.
189
+ - **Native snapshot probes join their scheduled driver**
190
+
191
+ Held-source stream probes quiesce and join the actual Host driver before directly pumping its captured graph. This prevents a scheduled turn from concurrently entering that graph and closing the fixture's native Session. Listener, SQL, controller, wire delivery, rights withdrawal and final cleanup assertions remain active; ordinary stream cases retain the running driver.
192
+ - **Bound the reviewed Sentry tool exception and retain every dependency instance**
193
+
194
+ The owner-reviewed exception accepts only sentry 0.45.0 under FSL-1.1-Apache-2.0 as unmodified external tooling for the Sentry integration. This does not classify FSL as permissive or remove its competing-use restriction. The runtime license walk checks every resolved instance, so an accepted version cannot hide a second version or license. Generated notices and the SBOM use actual package identities. Containment checks cover framework, workspace and scaffold patch files plus declared patches with arbitrary filenames; the API bundler leaves the tool external.
195
+ - **Stack scaffold checks require major-scoped runtime alignment**
196
+
197
+ The normal stack scaffold regression parses its generated workspace policy and verifies both Effect 4 selectors while refusing unqualified Effect and companion pins. Patch declaration and actual patch-byte checks remain, so the regression follows the preserved foreign-major contract instead of demanding its earlier unsafe global override. Its synthetic workspace declares its own pnpm version, making Compose baseline coverage independent of the test runner's package-manager environment.
198
+ - **Dependency security checks verify installed source remediations**
199
+
200
+ Dependency security checks accept a reviewed source remediation only after verifying exact patch and implementation hashes, patched references in every lockfile document, actual caller resolution and runtime behavior. Deepmerge's returned-object prototype protection preserves ordinary configuration merging. Unaffected dependency graphs receive no exception, and a local source remediation is never reported as an upstream fixed version.
201
+
202
+ ---
203
+
44
204
  ## [0.87.0] — 2026-10-31
45
205
 
46
206
  ### ⚠ BREAKING
@@ -3231,6 +3391,15 @@ _Changes staged for the next release accumulate here (rolled up from
3231
3391
  - **Prepare the exact XYFlow type correction before normal installation** — `@voltro/cli`
3232
3392
 
3233
3393
  `voltro add patches --xyflow 12.12.0` prepares the original XYFlow declaration correction and its complete license/notice before a normal package-manager or UI installation. Existing conflicting project patch assets are preserved and rejected before writes.
3394
+ - **Dispatchers drain accepted reads before store disposal** — `@voltro/runtime`, `@voltro/cli`
3395
+
3396
+ Runtime adds `Dispatcher.closeAndDrain()` to join accepted reads and deliveries before store disposal. Normal Dev and Serve API shutdown await it; synchronous `close()` remains available.
3397
+ - **Workflow cluster hosts declare shard groups and ClusterCron routing groups** — `@voltro/workflow`, `@voltro/cli`
3398
+
3399
+ Workflow cluster hosts can explicitly declare available/assigned shard groups and ClusterCron routing groups. Omitted settings retain existing routing; persistent journal migration is a separate prerequisite for changing groups.
3400
+ - **PostgreSQL workflow hosts can persist routing-generation admission** — `@voltro/workflow`, `@voltro/cli`
3401
+
3402
+ PostgreSQL workflow engine hosts can opt into persisted routing-generation admission with `journalRouting`; actual durable MessageStorage operations use the ownership guard. Full API-role wiring and maintenance rollout remain separate requirements.
3234
3403
 
3235
3404
  ### Changed
3236
3405
 
@@ -24321,9 +24490,3 @@ public registry yet.
24321
24490
 
24322
24491
  Subsequent releases record their deltas from here under dated headings, with
24323
24492
  `⚠ BREAKING` first.
24324
-
24325
- - Runtime adds `Dispatcher.closeAndDrain()` to join accepted reads and deliveries before store disposal. Normal Dev and Serve API shutdown await it; synchronous `close()` remains available.
24326
-
24327
- - Workflow cluster hosts can explicitly declare available/assigned shard groups and ClusterCron routing groups. Omitted settings retain existing routing; persistent journal migration is a separate prerequisite for changing groups.
24328
-
24329
- - PostgreSQL workflow engine hosts can opt into persisted routing-generation admission with `journalRouting`; actual durable MessageStorage operations use the ownership guard. Full API-role wiring and maintenance rollout remain separate requirements.
@@ -1,15 +1,15 @@
1
1
  # Third-Party Notices — @voltro/plugin-releases
2
2
 
3
- This package uses the open-source software listed below. Each is the
3
+ This package uses the third-party software listed below. Each is the
4
4
  property of its respective copyright holders and is used under the terms of
5
5
  its license. This file is provided for attribution; it grants no rights in
6
6
  @voltro/plugin-releases itself, which is proprietary (see LICENSE).
7
7
 
8
- Generated from the resolved runtime dependency closure (50 packages).
8
+ Generated from the resolved runtime dependency closure (52 packages).
9
9
 
10
10
  ---
11
11
 
12
- ## @effect/platform-node@4.0.1
12
+ ## @effect/platform-node@4.1.0
13
13
 
14
14
  License: MIT
15
15
 
@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37
37
  SOFTWARE.
38
38
  ```
39
39
 
40
- ## @effect/platform-node-shared@4.0.1
40
+ ## @effect/platform-node-shared@4.1.0
41
41
 
42
42
  License: MIT
43
43
 
@@ -65,7 +65,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
65
65
  SOFTWARE.
66
66
  ```
67
67
 
68
- ## @ioredis/commands@1.10.0
68
+ ## @ioredis/commands@2.0.0
69
69
 
70
70
  License: MIT
71
71
 
@@ -1342,7 +1342,7 @@ Apache License
1342
1342
  limitations under the License.
1343
1343
  ```
1344
1344
 
1345
- ## @opentelemetry/context-async-hooks@2.11.0
1345
+ ## @opentelemetry/context-async-hooks@2.12.0
1346
1346
 
1347
1347
  License: Apache-2.0
1348
1348
 
@@ -1550,7 +1550,7 @@ Apache License
1550
1550
  limitations under the License.
1551
1551
  ```
1552
1552
 
1553
- ## @opentelemetry/core@2.10.0
1553
+ ## @opentelemetry/core@2.12.0
1554
1554
 
1555
1555
  License: Apache-2.0
1556
1556
 
@@ -2798,6 +2798,214 @@ Apache License
2798
2798
  limitations under the License.
2799
2799
  ```
2800
2800
 
2801
+ ## @opentelemetry/resources@2.12.0
2802
+
2803
+ License: Apache-2.0
2804
+
2805
+ ```
2806
+ Apache License
2807
+ Version 2.0, January 2004
2808
+ http://www.apache.org/licenses/
2809
+
2810
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
2811
+
2812
+ 1. Definitions.
2813
+
2814
+ "License" shall mean the terms and conditions for use, reproduction,
2815
+ and distribution as defined by Sections 1 through 9 of this document.
2816
+
2817
+ "Licensor" shall mean the copyright owner or entity authorized by
2818
+ the copyright owner that is granting the License.
2819
+
2820
+ "Legal Entity" shall mean the union of the acting entity and all
2821
+ other entities that control, are controlled by, or are under common
2822
+ control with that entity. For the purposes of this definition,
2823
+ "control" means (i) the power, direct or indirect, to cause the
2824
+ direction or management of such entity, whether by contract or
2825
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
2826
+ outstanding shares, or (iii) beneficial ownership of such entity.
2827
+
2828
+ "You" (or "Your") shall mean an individual or Legal Entity
2829
+ exercising permissions granted by this License.
2830
+
2831
+ "Source" form shall mean the preferred form for making modifications,
2832
+ including but not limited to software source code, documentation
2833
+ source, and configuration files.
2834
+
2835
+ "Object" form shall mean any form resulting from mechanical
2836
+ transformation or translation of a Source form, including but
2837
+ not limited to compiled object code, generated documentation,
2838
+ and conversions to other media types.
2839
+
2840
+ "Work" shall mean the work of authorship, whether in Source or
2841
+ Object form, made available under the License, as indicated by a
2842
+ copyright notice that is included in or attached to the work
2843
+ (an example is provided in the Appendix below).
2844
+
2845
+ "Derivative Works" shall mean any work, whether in Source or Object
2846
+ form, that is based on (or derived from) the Work and for which the
2847
+ editorial revisions, annotations, elaborations, or other modifications
2848
+ represent, as a whole, an original work of authorship. For the purposes
2849
+ of this License, Derivative Works shall not include works that remain
2850
+ separable from, or merely link (or bind by name) to the interfaces of,
2851
+ the Work and Derivative Works thereof.
2852
+
2853
+ "Contribution" shall mean any work of authorship, including
2854
+ the original version of the Work and any modifications or additions
2855
+ to that Work or Derivative Works thereof, that is intentionally
2856
+ submitted to Licensor for inclusion in the Work by the copyright owner
2857
+ or by an individual or Legal Entity authorized to submit on behalf of
2858
+ the copyright owner. For the purposes of this definition, "submitted"
2859
+ means any form of electronic, verbal, or written communication sent
2860
+ to the Licensor or its representatives, including but not limited to
2861
+ communication on electronic mailing lists, source code control systems,
2862
+ and issue tracking systems that are managed by, or on behalf of, the
2863
+ Licensor for the purpose of discussing and improving the Work, but
2864
+ excluding communication that is conspicuously marked or otherwise
2865
+ designated in writing by the copyright owner as "Not a Contribution."
2866
+
2867
+ "Contributor" shall mean Licensor and any individual or Legal Entity
2868
+ on behalf of whom a Contribution has been received by Licensor and
2869
+ subsequently incorporated within the Work.
2870
+
2871
+ 2. Grant of Copyright License. Subject to the terms and conditions of
2872
+ this License, each Contributor hereby grants to You a perpetual,
2873
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2874
+ copyright license to reproduce, prepare Derivative Works of,
2875
+ publicly display, publicly perform, sublicense, and distribute the
2876
+ Work and such Derivative Works in Source or Object form.
2877
+
2878
+ 3. Grant of Patent License. Subject to the terms and conditions of
2879
+ this License, each Contributor hereby grants to You a perpetual,
2880
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2881
+ (except as stated in this section) patent license to make, have made,
2882
+ use, offer to sell, sell, import, and otherwise transfer the Work,
2883
+ where such license applies only to those patent claims licensable
2884
+ by such Contributor that are necessarily infringed by their
2885
+ Contribution(s) alone or by combination of their Contribution(s)
2886
+ with the Work to which such Contribution(s) was submitted. If You
2887
+ institute patent litigation against any entity (including a
2888
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
2889
+ or a Contribution incorporated within the Work constitutes direct
2890
+ or contributory patent infringement, then any patent licenses
2891
+ granted to You under this License for that Work shall terminate
2892
+ as of the date such litigation is filed.
2893
+
2894
+ 4. Redistribution. You may reproduce and distribute copies of the
2895
+ Work or Derivative Works thereof in any medium, with or without
2896
+ modifications, and in Source or Object form, provided that You
2897
+ meet the following conditions:
2898
+
2899
+ (a) You must give any other recipients of the Work or
2900
+ Derivative Works a copy of this License; and
2901
+
2902
+ (b) You must cause any modified files to carry prominent notices
2903
+ stating that You changed the files; and
2904
+
2905
+ (c) You must retain, in the Source form of any Derivative Works
2906
+ that You distribute, all copyright, patent, trademark, and
2907
+ attribution notices from the Source form of the Work,
2908
+ excluding those notices that do not pertain to any part of
2909
+ the Derivative Works; and
2910
+
2911
+ (d) If the Work includes a "NOTICE" text file as part of its
2912
+ distribution, then any Derivative Works that You distribute must
2913
+ include a readable copy of the attribution notices contained
2914
+ within such NOTICE file, excluding those notices that do not
2915
+ pertain to any part of the Derivative Works, in at least one
2916
+ of the following places: within a NOTICE text file distributed
2917
+ as part of the Derivative Works; within the Source form or
2918
+ documentation, if provided along with the Derivative Works; or,
2919
+ within a display generated by the Derivative Works, if and
2920
+ wherever such third-party notices normally appear. The contents
2921
+ of the NOTICE file are for informational purposes only and
2922
+ do not modify the License. You may add Your own attribution
2923
+ notices within Derivative Works that You distribute, alongside
2924
+ or as an addendum to the NOTICE text from the Work, provided
2925
+ that such additional attribution notices cannot be construed
2926
+ as modifying the License.
2927
+
2928
+ You may add Your own copyright statement to Your modifications and
2929
+ may provide additional or different license terms and conditions
2930
+ for use, reproduction, or distribution of Your modifications, or
2931
+ for any such Derivative Works as a whole, provided Your use,
2932
+ reproduction, and distribution of the Work otherwise complies with
2933
+ the conditions stated in this License.
2934
+
2935
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
2936
+ any Contribution intentionally submitted for inclusion in the Work
2937
+ by You to the Licensor shall be under the terms and conditions of
2938
+ this License, without any additional terms or conditions.
2939
+ Notwithstanding the above, nothing herein shall supersede or modify
2940
+ the terms of any separate license agreement you may have executed
2941
+ with Licensor regarding such Contributions.
2942
+
2943
+ 6. Trademarks. This License does not grant permission to use the trade
2944
+ names, trademarks, service marks, or product names of the Licensor,
2945
+ except as required for reasonable and customary use in describing the
2946
+ origin of the Work and reproducing the content of the NOTICE file.
2947
+
2948
+ 7. Disclaimer of Warranty. Unless required by applicable law or
2949
+ agreed to in writing, Licensor provides the Work (and each
2950
+ Contributor provides its Contributions) on an "AS IS" BASIS,
2951
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
2952
+ implied, including, without limitation, any warranties or conditions
2953
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
2954
+ PARTICULAR PURPOSE. You are solely responsible for determining the
2955
+ appropriateness of using or redistributing the Work and assume any
2956
+ risks associated with Your exercise of permissions under this License.
2957
+
2958
+ 8. Limitation of Liability. In no event and under no legal theory,
2959
+ whether in tort (including negligence), contract, or otherwise,
2960
+ unless required by applicable law (such as deliberate and grossly
2961
+ negligent acts) or agreed to in writing, shall any Contributor be
2962
+ liable to You for damages, including any direct, indirect, special,
2963
+ incidental, or consequential damages of any character arising as a
2964
+ result of this License or out of the use or inability to use the
2965
+ Work (including but not limited to damages for loss of goodwill,
2966
+ work stoppage, computer failure or malfunction, or any and all
2967
+ other commercial damages or losses), even if such Contributor
2968
+ has been advised of the possibility of such damages.
2969
+
2970
+ 9. Accepting Warranty or Additional Liability. While redistributing
2971
+ the Work or Derivative Works thereof, You may choose to offer,
2972
+ and charge a fee for, acceptance of support, warranty, indemnity,
2973
+ or other liability obligations and/or rights consistent with this
2974
+ License. However, in accepting such obligations, You may act only
2975
+ on Your own behalf and on Your sole responsibility, not on behalf
2976
+ of any other Contributor, and only if You agree to indemnify,
2977
+ defend, and hold each Contributor harmless for any liability
2978
+ incurred by, or claims asserted against, such Contributor by reason
2979
+ of your accepting any such warranty or additional liability.
2980
+
2981
+ END OF TERMS AND CONDITIONS
2982
+
2983
+ APPENDIX: How to apply the Apache License to your work.
2984
+
2985
+ To apply the Apache License to your work, attach the following
2986
+ boilerplate notice, with the fields enclosed by brackets "[]"
2987
+ replaced with your own identifying information. (Don't include
2988
+ the brackets!) The text should be enclosed in the appropriate
2989
+ comment syntax for the file format. We also recommend that a
2990
+ file or class name and description of purpose be included on the
2991
+ same "printed page" as the copyright notice for easier
2992
+ identification within third-party archives.
2993
+
2994
+ Copyright [yyyy] [name of copyright owner]
2995
+
2996
+ Licensed under the Apache License, Version 2.0 (the "License");
2997
+ you may not use this file except in compliance with the License.
2998
+ You may obtain a copy of the License at
2999
+
3000
+ http://www.apache.org/licenses/LICENSE-2.0
3001
+
3002
+ Unless required by applicable law or agreed to in writing, software
3003
+ distributed under the License is distributed on an "AS IS" BASIS,
3004
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3005
+ See the License for the specific language governing permissions and
3006
+ limitations under the License.
3007
+ ```
3008
+
2801
3009
  ## @opentelemetry/sdk-logs@0.222.0
2802
3010
 
2803
3011
  License: Apache-2.0
@@ -3006,7 +3214,215 @@ Apache License
3006
3214
  limitations under the License.
3007
3215
  ```
3008
3216
 
3009
- ## @opentelemetry/sdk-metrics@2.11.0
3217
+ ## @opentelemetry/sdk-metrics@2.11.0
3218
+
3219
+ License: Apache-2.0
3220
+
3221
+ ```
3222
+ Apache License
3223
+ Version 2.0, January 2004
3224
+ http://www.apache.org/licenses/
3225
+
3226
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
3227
+
3228
+ 1. Definitions.
3229
+
3230
+ "License" shall mean the terms and conditions for use, reproduction,
3231
+ and distribution as defined by Sections 1 through 9 of this document.
3232
+
3233
+ "Licensor" shall mean the copyright owner or entity authorized by
3234
+ the copyright owner that is granting the License.
3235
+
3236
+ "Legal Entity" shall mean the union of the acting entity and all
3237
+ other entities that control, are controlled by, or are under common
3238
+ control with that entity. For the purposes of this definition,
3239
+ "control" means (i) the power, direct or indirect, to cause the
3240
+ direction or management of such entity, whether by contract or
3241
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
3242
+ outstanding shares, or (iii) beneficial ownership of such entity.
3243
+
3244
+ "You" (or "Your") shall mean an individual or Legal Entity
3245
+ exercising permissions granted by this License.
3246
+
3247
+ "Source" form shall mean the preferred form for making modifications,
3248
+ including but not limited to software source code, documentation
3249
+ source, and configuration files.
3250
+
3251
+ "Object" form shall mean any form resulting from mechanical
3252
+ transformation or translation of a Source form, including but
3253
+ not limited to compiled object code, generated documentation,
3254
+ and conversions to other media types.
3255
+
3256
+ "Work" shall mean the work of authorship, whether in Source or
3257
+ Object form, made available under the License, as indicated by a
3258
+ copyright notice that is included in or attached to the work
3259
+ (an example is provided in the Appendix below).
3260
+
3261
+ "Derivative Works" shall mean any work, whether in Source or Object
3262
+ form, that is based on (or derived from) the Work and for which the
3263
+ editorial revisions, annotations, elaborations, or other modifications
3264
+ represent, as a whole, an original work of authorship. For the purposes
3265
+ of this License, Derivative Works shall not include works that remain
3266
+ separable from, or merely link (or bind by name) to the interfaces of,
3267
+ the Work and Derivative Works thereof.
3268
+
3269
+ "Contribution" shall mean any work of authorship, including
3270
+ the original version of the Work and any modifications or additions
3271
+ to that Work or Derivative Works thereof, that is intentionally
3272
+ submitted to Licensor for inclusion in the Work by the copyright owner
3273
+ or by an individual or Legal Entity authorized to submit on behalf of
3274
+ the copyright owner. For the purposes of this definition, "submitted"
3275
+ means any form of electronic, verbal, or written communication sent
3276
+ to the Licensor or its representatives, including but not limited to
3277
+ communication on electronic mailing lists, source code control systems,
3278
+ and issue tracking systems that are managed by, or on behalf of, the
3279
+ Licensor for the purpose of discussing and improving the Work, but
3280
+ excluding communication that is conspicuously marked or otherwise
3281
+ designated in writing by the copyright owner as "Not a Contribution."
3282
+
3283
+ "Contributor" shall mean Licensor and any individual or Legal Entity
3284
+ on behalf of whom a Contribution has been received by Licensor and
3285
+ subsequently incorporated within the Work.
3286
+
3287
+ 2. Grant of Copyright License. Subject to the terms and conditions of
3288
+ this License, each Contributor hereby grants to You a perpetual,
3289
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
3290
+ copyright license to reproduce, prepare Derivative Works of,
3291
+ publicly display, publicly perform, sublicense, and distribute the
3292
+ Work and such Derivative Works in Source or Object form.
3293
+
3294
+ 3. Grant of Patent License. Subject to the terms and conditions of
3295
+ this License, each Contributor hereby grants to You a perpetual,
3296
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
3297
+ (except as stated in this section) patent license to make, have made,
3298
+ use, offer to sell, sell, import, and otherwise transfer the Work,
3299
+ where such license applies only to those patent claims licensable
3300
+ by such Contributor that are necessarily infringed by their
3301
+ Contribution(s) alone or by combination of their Contribution(s)
3302
+ with the Work to which such Contribution(s) was submitted. If You
3303
+ institute patent litigation against any entity (including a
3304
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
3305
+ or a Contribution incorporated within the Work constitutes direct
3306
+ or contributory patent infringement, then any patent licenses
3307
+ granted to You under this License for that Work shall terminate
3308
+ as of the date such litigation is filed.
3309
+
3310
+ 4. Redistribution. You may reproduce and distribute copies of the
3311
+ Work or Derivative Works thereof in any medium, with or without
3312
+ modifications, and in Source or Object form, provided that You
3313
+ meet the following conditions:
3314
+
3315
+ (a) You must give any other recipients of the Work or
3316
+ Derivative Works a copy of this License; and
3317
+
3318
+ (b) You must cause any modified files to carry prominent notices
3319
+ stating that You changed the files; and
3320
+
3321
+ (c) You must retain, in the Source form of any Derivative Works
3322
+ that You distribute, all copyright, patent, trademark, and
3323
+ attribution notices from the Source form of the Work,
3324
+ excluding those notices that do not pertain to any part of
3325
+ the Derivative Works; and
3326
+
3327
+ (d) If the Work includes a "NOTICE" text file as part of its
3328
+ distribution, then any Derivative Works that You distribute must
3329
+ include a readable copy of the attribution notices contained
3330
+ within such NOTICE file, excluding those notices that do not
3331
+ pertain to any part of the Derivative Works, in at least one
3332
+ of the following places: within a NOTICE text file distributed
3333
+ as part of the Derivative Works; within the Source form or
3334
+ documentation, if provided along with the Derivative Works; or,
3335
+ within a display generated by the Derivative Works, if and
3336
+ wherever such third-party notices normally appear. The contents
3337
+ of the NOTICE file are for informational purposes only and
3338
+ do not modify the License. You may add Your own attribution
3339
+ notices within Derivative Works that You distribute, alongside
3340
+ or as an addendum to the NOTICE text from the Work, provided
3341
+ that such additional attribution notices cannot be construed
3342
+ as modifying the License.
3343
+
3344
+ You may add Your own copyright statement to Your modifications and
3345
+ may provide additional or different license terms and conditions
3346
+ for use, reproduction, or distribution of Your modifications, or
3347
+ for any such Derivative Works as a whole, provided Your use,
3348
+ reproduction, and distribution of the Work otherwise complies with
3349
+ the conditions stated in this License.
3350
+
3351
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
3352
+ any Contribution intentionally submitted for inclusion in the Work
3353
+ by You to the Licensor shall be under the terms and conditions of
3354
+ this License, without any additional terms or conditions.
3355
+ Notwithstanding the above, nothing herein shall supersede or modify
3356
+ the terms of any separate license agreement you may have executed
3357
+ with Licensor regarding such Contributions.
3358
+
3359
+ 6. Trademarks. This License does not grant permission to use the trade
3360
+ names, trademarks, service marks, or product names of the Licensor,
3361
+ except as required for reasonable and customary use in describing the
3362
+ origin of the Work and reproducing the content of the NOTICE file.
3363
+
3364
+ 7. Disclaimer of Warranty. Unless required by applicable law or
3365
+ agreed to in writing, Licensor provides the Work (and each
3366
+ Contributor provides its Contributions) on an "AS IS" BASIS,
3367
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
3368
+ implied, including, without limitation, any warranties or conditions
3369
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
3370
+ PARTICULAR PURPOSE. You are solely responsible for determining the
3371
+ appropriateness of using or redistributing the Work and assume any
3372
+ risks associated with Your exercise of permissions under this License.
3373
+
3374
+ 8. Limitation of Liability. In no event and under no legal theory,
3375
+ whether in tort (including negligence), contract, or otherwise,
3376
+ unless required by applicable law (such as deliberate and grossly
3377
+ negligent acts) or agreed to in writing, shall any Contributor be
3378
+ liable to You for damages, including any direct, indirect, special,
3379
+ incidental, or consequential damages of any character arising as a
3380
+ result of this License or out of the use or inability to use the
3381
+ Work (including but not limited to damages for loss of goodwill,
3382
+ work stoppage, computer failure or malfunction, or any and all
3383
+ other commercial damages or losses), even if such Contributor
3384
+ has been advised of the possibility of such damages.
3385
+
3386
+ 9. Accepting Warranty or Additional Liability. While redistributing
3387
+ the Work or Derivative Works thereof, You may choose to offer,
3388
+ and charge a fee for, acceptance of support, warranty, indemnity,
3389
+ or other liability obligations and/or rights consistent with this
3390
+ License. However, in accepting such obligations, You may act only
3391
+ on Your own behalf and on Your sole responsibility, not on behalf
3392
+ of any other Contributor, and only if You agree to indemnify,
3393
+ defend, and hold each Contributor harmless for any liability
3394
+ incurred by, or claims asserted against, such Contributor by reason
3395
+ of your accepting any such warranty or additional liability.
3396
+
3397
+ END OF TERMS AND CONDITIONS
3398
+
3399
+ APPENDIX: How to apply the Apache License to your work.
3400
+
3401
+ To apply the Apache License to your work, attach the following
3402
+ boilerplate notice, with the fields enclosed by brackets "[]"
3403
+ replaced with your own identifying information. (Don't include
3404
+ the brackets!) The text should be enclosed in the appropriate
3405
+ comment syntax for the file format. We also recommend that a
3406
+ file or class name and description of purpose be included on the
3407
+ same "printed page" as the copyright notice for easier
3408
+ identification within third-party archives.
3409
+
3410
+ Copyright [yyyy] [name of copyright owner]
3411
+
3412
+ Licensed under the Apache License, Version 2.0 (the "License");
3413
+ you may not use this file except in compliance with the License.
3414
+ You may obtain a copy of the License at
3415
+
3416
+ http://www.apache.org/licenses/LICENSE-2.0
3417
+
3418
+ Unless required by applicable law or agreed to in writing, software
3419
+ distributed under the License is distributed on an "AS IS" BASIS,
3420
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3421
+ See the License for the specific language governing permissions and
3422
+ limitations under the License.
3423
+ ```
3424
+
3425
+ ## @opentelemetry/sdk-metrics@2.12.0
3010
3426
 
3011
3427
  License: Apache-2.0
3012
3428
 
@@ -3422,7 +3838,215 @@ Apache License
3422
3838
  limitations under the License.
3423
3839
  ```
3424
3840
 
3425
- ## @opentelemetry/sdk-trace-base@2.11.0
3841
+ ## @opentelemetry/sdk-trace@2.12.0
3842
+
3843
+ License: Apache-2.0
3844
+
3845
+ ```
3846
+ Apache License
3847
+ Version 2.0, January 2004
3848
+ http://www.apache.org/licenses/
3849
+
3850
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
3851
+
3852
+ 1. Definitions.
3853
+
3854
+ "License" shall mean the terms and conditions for use, reproduction,
3855
+ and distribution as defined by Sections 1 through 9 of this document.
3856
+
3857
+ "Licensor" shall mean the copyright owner or entity authorized by
3858
+ the copyright owner that is granting the License.
3859
+
3860
+ "Legal Entity" shall mean the union of the acting entity and all
3861
+ other entities that control, are controlled by, or are under common
3862
+ control with that entity. For the purposes of this definition,
3863
+ "control" means (i) the power, direct or indirect, to cause the
3864
+ direction or management of such entity, whether by contract or
3865
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
3866
+ outstanding shares, or (iii) beneficial ownership of such entity.
3867
+
3868
+ "You" (or "Your") shall mean an individual or Legal Entity
3869
+ exercising permissions granted by this License.
3870
+
3871
+ "Source" form shall mean the preferred form for making modifications,
3872
+ including but not limited to software source code, documentation
3873
+ source, and configuration files.
3874
+
3875
+ "Object" form shall mean any form resulting from mechanical
3876
+ transformation or translation of a Source form, including but
3877
+ not limited to compiled object code, generated documentation,
3878
+ and conversions to other media types.
3879
+
3880
+ "Work" shall mean the work of authorship, whether in Source or
3881
+ Object form, made available under the License, as indicated by a
3882
+ copyright notice that is included in or attached to the work
3883
+ (an example is provided in the Appendix below).
3884
+
3885
+ "Derivative Works" shall mean any work, whether in Source or Object
3886
+ form, that is based on (or derived from) the Work and for which the
3887
+ editorial revisions, annotations, elaborations, or other modifications
3888
+ represent, as a whole, an original work of authorship. For the purposes
3889
+ of this License, Derivative Works shall not include works that remain
3890
+ separable from, or merely link (or bind by name) to the interfaces of,
3891
+ the Work and Derivative Works thereof.
3892
+
3893
+ "Contribution" shall mean any work of authorship, including
3894
+ the original version of the Work and any modifications or additions
3895
+ to that Work or Derivative Works thereof, that is intentionally
3896
+ submitted to Licensor for inclusion in the Work by the copyright owner
3897
+ or by an individual or Legal Entity authorized to submit on behalf of
3898
+ the copyright owner. For the purposes of this definition, "submitted"
3899
+ means any form of electronic, verbal, or written communication sent
3900
+ to the Licensor or its representatives, including but not limited to
3901
+ communication on electronic mailing lists, source code control systems,
3902
+ and issue tracking systems that are managed by, or on behalf of, the
3903
+ Licensor for the purpose of discussing and improving the Work, but
3904
+ excluding communication that is conspicuously marked or otherwise
3905
+ designated in writing by the copyright owner as "Not a Contribution."
3906
+
3907
+ "Contributor" shall mean Licensor and any individual or Legal Entity
3908
+ on behalf of whom a Contribution has been received by Licensor and
3909
+ subsequently incorporated within the Work.
3910
+
3911
+ 2. Grant of Copyright License. Subject to the terms and conditions of
3912
+ this License, each Contributor hereby grants to You a perpetual,
3913
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
3914
+ copyright license to reproduce, prepare Derivative Works of,
3915
+ publicly display, publicly perform, sublicense, and distribute the
3916
+ Work and such Derivative Works in Source or Object form.
3917
+
3918
+ 3. Grant of Patent License. Subject to the terms and conditions of
3919
+ this License, each Contributor hereby grants to You a perpetual,
3920
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
3921
+ (except as stated in this section) patent license to make, have made,
3922
+ use, offer to sell, sell, import, and otherwise transfer the Work,
3923
+ where such license applies only to those patent claims licensable
3924
+ by such Contributor that are necessarily infringed by their
3925
+ Contribution(s) alone or by combination of their Contribution(s)
3926
+ with the Work to which such Contribution(s) was submitted. If You
3927
+ institute patent litigation against any entity (including a
3928
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
3929
+ or a Contribution incorporated within the Work constitutes direct
3930
+ or contributory patent infringement, then any patent licenses
3931
+ granted to You under this License for that Work shall terminate
3932
+ as of the date such litigation is filed.
3933
+
3934
+ 4. Redistribution. You may reproduce and distribute copies of the
3935
+ Work or Derivative Works thereof in any medium, with or without
3936
+ modifications, and in Source or Object form, provided that You
3937
+ meet the following conditions:
3938
+
3939
+ (a) You must give any other recipients of the Work or
3940
+ Derivative Works a copy of this License; and
3941
+
3942
+ (b) You must cause any modified files to carry prominent notices
3943
+ stating that You changed the files; and
3944
+
3945
+ (c) You must retain, in the Source form of any Derivative Works
3946
+ that You distribute, all copyright, patent, trademark, and
3947
+ attribution notices from the Source form of the Work,
3948
+ excluding those notices that do not pertain to any part of
3949
+ the Derivative Works; and
3950
+
3951
+ (d) If the Work includes a "NOTICE" text file as part of its
3952
+ distribution, then any Derivative Works that You distribute must
3953
+ include a readable copy of the attribution notices contained
3954
+ within such NOTICE file, excluding those notices that do not
3955
+ pertain to any part of the Derivative Works, in at least one
3956
+ of the following places: within a NOTICE text file distributed
3957
+ as part of the Derivative Works; within the Source form or
3958
+ documentation, if provided along with the Derivative Works; or,
3959
+ within a display generated by the Derivative Works, if and
3960
+ wherever such third-party notices normally appear. The contents
3961
+ of the NOTICE file are for informational purposes only and
3962
+ do not modify the License. You may add Your own attribution
3963
+ notices within Derivative Works that You distribute, alongside
3964
+ or as an addendum to the NOTICE text from the Work, provided
3965
+ that such additional attribution notices cannot be construed
3966
+ as modifying the License.
3967
+
3968
+ You may add Your own copyright statement to Your modifications and
3969
+ may provide additional or different license terms and conditions
3970
+ for use, reproduction, or distribution of Your modifications, or
3971
+ for any such Derivative Works as a whole, provided Your use,
3972
+ reproduction, and distribution of the Work otherwise complies with
3973
+ the conditions stated in this License.
3974
+
3975
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
3976
+ any Contribution intentionally submitted for inclusion in the Work
3977
+ by You to the Licensor shall be under the terms and conditions of
3978
+ this License, without any additional terms or conditions.
3979
+ Notwithstanding the above, nothing herein shall supersede or modify
3980
+ the terms of any separate license agreement you may have executed
3981
+ with Licensor regarding such Contributions.
3982
+
3983
+ 6. Trademarks. This License does not grant permission to use the trade
3984
+ names, trademarks, service marks, or product names of the Licensor,
3985
+ except as required for reasonable and customary use in describing the
3986
+ origin of the Work and reproducing the content of the NOTICE file.
3987
+
3988
+ 7. Disclaimer of Warranty. Unless required by applicable law or
3989
+ agreed to in writing, Licensor provides the Work (and each
3990
+ Contributor provides its Contributions) on an "AS IS" BASIS,
3991
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
3992
+ implied, including, without limitation, any warranties or conditions
3993
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
3994
+ PARTICULAR PURPOSE. You are solely responsible for determining the
3995
+ appropriateness of using or redistributing the Work and assume any
3996
+ risks associated with Your exercise of permissions under this License.
3997
+
3998
+ 8. Limitation of Liability. In no event and under no legal theory,
3999
+ whether in tort (including negligence), contract, or otherwise,
4000
+ unless required by applicable law (such as deliberate and grossly
4001
+ negligent acts) or agreed to in writing, shall any Contributor be
4002
+ liable to You for damages, including any direct, indirect, special,
4003
+ incidental, or consequential damages of any character arising as a
4004
+ result of this License or out of the use or inability to use the
4005
+ Work (including but not limited to damages for loss of goodwill,
4006
+ work stoppage, computer failure or malfunction, or any and all
4007
+ other commercial damages or losses), even if such Contributor
4008
+ has been advised of the possibility of such damages.
4009
+
4010
+ 9. Accepting Warranty or Additional Liability. While redistributing
4011
+ the Work or Derivative Works thereof, You may choose to offer,
4012
+ and charge a fee for, acceptance of support, warranty, indemnity,
4013
+ or other liability obligations and/or rights consistent with this
4014
+ License. However, in accepting such obligations, You may act only
4015
+ on Your own behalf and on Your sole responsibility, not on behalf
4016
+ of any other Contributor, and only if You agree to indemnify,
4017
+ defend, and hold each Contributor harmless for any liability
4018
+ incurred by, or claims asserted against, such Contributor by reason
4019
+ of your accepting any such warranty or additional liability.
4020
+
4021
+ END OF TERMS AND CONDITIONS
4022
+
4023
+ APPENDIX: How to apply the Apache License to your work.
4024
+
4025
+ To apply the Apache License to your work, attach the following
4026
+ boilerplate notice, with the fields enclosed by brackets "[]"
4027
+ replaced with your own identifying information. (Don't include
4028
+ the brackets!) The text should be enclosed in the appropriate
4029
+ comment syntax for the file format. We also recommend that a
4030
+ file or class name and description of purpose be included on the
4031
+ same "printed page" as the copyright notice for easier
4032
+ identification within third-party archives.
4033
+
4034
+ Copyright [yyyy] [name of copyright owner]
4035
+
4036
+ Licensed under the Apache License, Version 2.0 (the "License");
4037
+ you may not use this file except in compliance with the License.
4038
+ You may obtain a copy of the License at
4039
+
4040
+ http://www.apache.org/licenses/LICENSE-2.0
4041
+
4042
+ Unless required by applicable law or agreed to in writing, software
4043
+ distributed under the License is distributed on an "AS IS" BASIS,
4044
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4045
+ See the License for the specific language governing permissions and
4046
+ limitations under the License.
4047
+ ```
4048
+
4049
+ ## @opentelemetry/sdk-trace-base@2.12.0
3426
4050
 
3427
4051
  License: Apache-2.0
3428
4052
 
@@ -3630,7 +4254,7 @@ Apache License
3630
4254
  limitations under the License.
3631
4255
  ```
3632
4256
 
3633
- ## @opentelemetry/sdk-trace-node@2.11.0
4257
+ ## @opentelemetry/sdk-trace-node@2.12.0
3634
4258
 
3635
4259
  License: Apache-2.0
3636
4260
 
@@ -3838,7 +4462,7 @@ Apache License
3838
4462
  limitations under the License.
3839
4463
  ```
3840
4464
 
3841
- ## @opentelemetry/semantic-conventions@1.43.0
4465
+ ## @opentelemetry/semantic-conventions@1.44.0
3842
4466
 
3843
4467
  License: Apache-2.0
3844
4468
 
@@ -4130,7 +4754,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4130
4754
  SOFTWARE.
4131
4755
  ```
4132
4756
 
4133
- ## @tanstack/react-store@0.11.1
4757
+ ## @tanstack/react-store@0.11.2
4134
4758
 
4135
4759
  License: MIT
4136
4760
 
@@ -4158,7 +4782,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4158
4782
  SOFTWARE.
4159
4783
  ```
4160
4784
 
4161
- ## @tanstack/store@0.11.1
4785
+ ## @tanstack/store@0.11.2
4162
4786
 
4163
4787
  License: MIT
4164
4788
 
@@ -4186,7 +4810,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4186
4810
  SOFTWARE.
4187
4811
  ```
4188
4812
 
4189
- ## @types/node@26.4.1
4813
+ ## @types/node@26.6.6
4190
4814
 
4191
4815
  License: MIT
4192
4816
 
@@ -4214,7 +4838,7 @@ MIT License
4214
4838
  SOFTWARE
4215
4839
  ```
4216
4840
 
4217
- ## @types/ws@8.18.1
4841
+ ## @types/ws@8.18.2
4218
4842
 
4219
4843
  License: MIT
4220
4844
 
@@ -4242,7 +4866,7 @@ MIT License
4242
4866
  SOFTWARE
4243
4867
  ```
4244
4868
 
4245
- ## @upstash/redis@1.38.4
4869
+ ## @upstash/redis@1.40.0
4246
4870
 
4247
4871
  License: MIT
4248
4872
 
@@ -4524,7 +5148,7 @@ Apache License
4524
5148
  limitations under the License.
4525
5149
  ```
4526
5150
 
4527
- ## ioredis@5.11.1
5151
+ ## ioredis@6.0.0
4528
5152
 
4529
5153
  License: MIT
4530
5154
 
@@ -4580,7 +5204,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4580
5204
  SOFTWARE.
4581
5205
  ```
4582
5206
 
4583
- ## jose@6.2.12
5207
+ ## jose@6.2.13
4584
5208
 
4585
5209
  License: MIT
4586
5210
 
@@ -4608,7 +5232,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4608
5232
  SOFTWARE.
4609
5233
  ```
4610
5234
 
4611
- ## lib0@0.2.117
5235
+ ## lib0@0.2.119
4612
5236
 
4613
5237
  License: MIT
4614
5238
 
@@ -4692,34 +5316,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4692
5316
  SOFTWARE.
4693
5317
  ```
4694
5318
 
4695
- ## redis-parser@3.0.0
4696
-
4697
- License: MIT
4698
-
4699
- ```
4700
- The MIT License (MIT)
4701
-
4702
- Copyright (c) 2015 NodeRedis
4703
-
4704
- Permission is hereby granted, free of charge, to any person obtaining a copy
4705
- of this software and associated documentation files (the "Software"), to deal
4706
- in the Software without restriction, including without limitation the rights
4707
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4708
- copies of the Software, and to permit persons to whom the Software is
4709
- furnished to do so, subject to the following conditions:
4710
-
4711
- The above copyright notice and this permission notice shall be included in all
4712
- copies or substantial portions of the Software.
4713
-
4714
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4715
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4716
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4717
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4718
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4719
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4720
- SOFTWARE.
4721
- ```
4722
-
4723
5319
  ## standard-as-callback@2.1.0
4724
5320
 
4725
5321
  License: MIT
@@ -4864,7 +5460,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4864
5460
  SOFTWARE.
4865
5461
  ```
4866
5462
 
4867
- ## undici-types@8.3.0
5463
+ ## undici-types@8.9.0
4868
5464
 
4869
5465
  License: MIT
4870
5466
 
@@ -4892,7 +5488,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4892
5488
  SOFTWARE.
4893
5489
  ```
4894
5490
 
4895
- ## use-sync-external-store@1.6.0
5491
+ ## use-sync-external-store@1.7.0
4896
5492
 
4897
5493
  License: MIT
4898
5494
 
@@ -4920,7 +5516,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4920
5516
  SOFTWARE.
4921
5517
  ```
4922
5518
 
4923
- ## ws@8.21.0
5519
+ ## ws@8.22.0
4924
5520
 
4925
5521
  License: MIT
4926
5522
 
@@ -4975,7 +5571,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4975
5571
  SOFTWARE.
4976
5572
  ```
4977
5573
 
4978
- ## yjs@13.6.32
5574
+ ## yjs@13.6.33
4979
5575
 
4980
5576
  License: MIT
4981
5577
 
@@ -1,4 +1,4 @@
1
- //#region src/artifactMetadata.ts
1
+ // src/artifactMetadata.ts
2
2
  var e = (e) => typeof e == "string" && e.trim().length > 0 && !/[\u0000-\u001f\u007f]/.test(e), t = (t) => e(t) && t.length <= 200, n = (e) => typeof e == "string" && /^[a-f0-9]{64}$/i.test(e), r = (e) => Number.isSafeInteger(e) && e > 0, i = (e) => typeof e == "string" && e.trim().length > 0 && !e.includes("\0"), a = (a) => {
3
3
  for (let t of [
4
4
  "releaseId",
@@ -23,5 +23,4 @@ var e = (e) => typeof e == "string" && e.trim().length > 0 && !/[\u0000-\u001f\u
23
23
  if (!r(t)) throw Error("Stored artifact size exceeds the numeric feed range");
24
24
  return t;
25
25
  };
26
- //#endregion
27
26
  export { n as artifactHash, a as artifactMetadataIssue, t as artifactOperationId, r as artifactSize, o as artifactStoredSize, e as artifactText, i as hasArtifactSignature };
package/dist/errors.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/errors.ts
2
+ // src/errors.ts
3
3
  var t = class extends e.TaggedError()("ReleaseNotFound", {
4
4
  app: e.String,
5
5
  version: e.optional(e.String),
@@ -9,5 +9,4 @@ var t = class extends e.TaggedError()("ReleaseNotFound", {
9
9
  return this.reason;
10
10
  }
11
11
  }, r = [t, n];
12
- //#endregion
13
12
  export { t as ReleaseNotFound, n as ReleaseRefused, r as releaseErrors };
package/dist/feeds.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { hasArtifactSignature as e } from "./artifactMetadata.js";
2
2
  import { compareVersions as t, inRollout as n } from "./rollout.js";
3
- //#region src/feeds.ts
3
+ // src/feeds.ts
4
4
  var r = (e, r) => r.currentVersion !== null && t(e.version, r.currentVersion) <= 0 ? !1 : n({
5
5
  installId: r.installId,
6
6
  salt: e.rolloutSalt,
@@ -108,5 +108,4 @@ var r = (e, r) => r.currentVersion !== null && t(e.version, r.currentVersion) <=
108
108
  os: "linux",
109
109
  arch: /aarch64|arm64/i.test(e) ? "aarch64" : "x86_64"
110
110
  } : null;
111
- //#endregion
112
111
  export { r as offeredTo, l as osFromUserAgent, c as pickDownload, a as renderElectronLatestYml, o as renderExpoFeed, i as renderTauriFeed };
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import { AsyncLocalStorage as we } from "node:async_hooks";
13
13
  import { definePlugin as Te } from "@voltro/protocol";
14
14
  import { and as Ee, eq as O, inSet as De, queryFor as k, registerRetention as Oe, retentionTtlMsFromEnv as ke } from "@voltro/database";
15
15
  import { newTraceId as Ae } from "@voltro/runtime";
16
- //#region src/index.ts
16
+ // src/index.ts
17
17
  var A = (e, t, n = {}) => ({
18
18
  status: e,
19
19
  body: JSON.stringify(t),
@@ -735,5 +735,4 @@ var A = (e, t, n = {}) => ({
735
735
  secret: !1,
736
736
  description: "Hours a release event (create, upload, promote, rollout, rollback, policy, prune) is kept before the retention sweep removes it. Default 8760 (one year)."
737
737
  }];
738
- //#endregion
739
738
  export { v as BASE_NAME, y as RELEASES_MANAGE_SCOPE, m as RELEASES_TABLE, ne as RELEASE_APPS_TABLE, h as RELEASE_ARTIFACTS_TABLE, g as RELEASE_CHANNELS_TABLE, _ as RELEASE_EVENTS_TABLE, b as RELEASE_PLATFORMS, x as RELEASE_SHELLS, o as ReleaseNotFound, s as ReleaseRefused, c as compareVersions, l as evaluatePolicy, u as inRollout, d as isNewerVersion, ge as offeredTo, _e as osFromUserAgent, f as parseVersion, ve as pickDownload, S as releaseAppsTable, C as releaseArtifactsTable, w as releaseChannelsTable, me as releaseEventsTable, he as releaseTables, N as releasesPlugin, T as releasesTable, ye as renderElectronLatestYml, be as renderExpoFeed, xe as renderTauriFeed, p as rolloutBucket, ee as sortVersionsDesc };
package/dist/names.js CHANGED
@@ -1,4 +1,3 @@
1
- //#region src/names.ts
1
+ // src/names.ts
2
2
  var e = "_voltro_release_apps", t = "_voltro_release_channels", n = "_voltro_releases", r = "_voltro_release_artifacts", i = "_voltro_release_events";
3
- //#endregion
4
3
  export { n as RELEASES_TABLE, e as RELEASE_APPS_TABLE, r as RELEASE_ARTIFACTS_TABLE, t as RELEASE_CHANNELS_TABLE, i as RELEASE_EVENTS_TABLE };
package/dist/retention.js CHANGED
@@ -9,5 +9,4 @@ var t = (t, n, r) => {
9
9
  }
10
10
  return a;
11
11
  };
12
- //#endregion
13
12
  export { t as planRetention };
package/dist/rollout.js CHANGED
@@ -1,4 +1,4 @@
1
- //#region src/rollout.ts
1
+ // src/rollout.ts
2
2
  var e = (e) => {
3
3
  let t = /^v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-([0-9A-Za-z.-]+))?(?:\+[0-9A-Za-z.-]+)?$/.exec(e.trim());
4
4
  return t ? {
@@ -51,5 +51,4 @@ var e = (e) => {
51
51
  killed: s
52
52
  };
53
53
  }, s = (e) => [...e].sort((e, n) => t(n, e));
54
- //#endregion
55
54
  export { t as compareVersions, o as evaluatePolicy, a as inRollout, n as isNewerVersion, e as parseVersion, i as rolloutBucket, s as sortVersionsDesc };
package/dist/rpc.js CHANGED
@@ -3,7 +3,7 @@ import { ReleaseNotFound as a, ReleaseRefused as o } from "./errors.js";
3
3
  import { RELEASES_TABLE as s, RELEASE_APPS_TABLE as c, RELEASE_ARTIFACTS_TABLE as l, RELEASE_CHANNELS_TABLE as u } from "./names.js";
4
4
  import { Schema as d } from "effect";
5
5
  import { defineMutation as f, defineQuery as p } from "@voltro/protocol";
6
- //#region src/rpc.ts
6
+ // src/rpc.ts
7
7
  var m = "@voltro/plugin-releases", h = "releases:manage", g = d.optional(d.Struct({
8
8
  id: d.String,
9
9
  revision: d.Number.pipe(d.check(d.isInt()), d.check(d.isGreaterThanOrEqualTo(0)))
@@ -259,5 +259,4 @@ var m = "@voltro/plugin-releases", h = "releases:manage", g = d.optional(d.Struc
259
259
  }
260
260
  }
261
261
  ];
262
- //#endregion
263
262
  export { m as BASE_NAME, _ as PolicySchema, h as RELEASES_MANAGE_SCOPE, y as ReleaseSummarySchema, O as ReleaseUploadPreparationInput, S as createDescriptor, b as listDescriptor, v as policyDescriptor, k as prepareUploadDescriptor, j as promoteDescriptor, x as registerAppDescriptor, F as releasesRpcClientImports, N as rollbackDescriptor, M as rolloutDescriptor, P as setPolicyDescriptor, A as uploadDescriptor };
package/dist/schema.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { RELEASES_TABLE as e, RELEASE_APPS_TABLE as t, RELEASE_ARTIFACTS_TABLE as n, RELEASE_CHANNELS_TABLE as r, RELEASE_EVENTS_TABLE as i } from "./names.js";
2
2
  import { bigint as a, boolean as o, id as s, integer as c, json as l, table as u, text as d, timestamp as f } from "@voltro/database";
3
- //#region src/schema.ts
3
+ // src/schema.ts
4
4
  var p = [
5
5
  "web",
6
6
  "ios",
@@ -81,5 +81,4 @@ var p = [
81
81
  v,
82
82
  y
83
83
  ];
84
- //#endregion
85
84
  export { e as RELEASES_TABLE, t as RELEASE_APPS_TABLE, n as RELEASE_ARTIFACTS_TABLE, r as RELEASE_CHANNELS_TABLE, i as RELEASE_EVENTS_TABLE, p as RELEASE_PLATFORMS, m as RELEASE_SHELLS, h as releaseAppsTable, v as releaseArtifactsTable, g as releaseChannelsTable, y as releaseEventsTable, b as releaseTables, _ as releasesTable };
@@ -1,5 +1,4 @@
1
1
  import { createHash as e } from "node:crypto";
2
- //#region src/uploadIdentity.server.ts
2
+ // src/uploadIdentity.server.ts
3
3
  var t = (t, n) => "relart_" + e("sha256").update(JSON.stringify([t, n])).digest("hex"), n = (e, t) => e.releaseId === t.releaseId && e.kind === t.kind && e.target === (t.target ?? null) && e.url === t.url && e.sha256 === t.sha256.toLowerCase() && e.size === String(t.size) && e.signature === (t.signature ?? null) && e.notarized === (t.notarized ?? !1) && e.assetKey === (t.assetKey ?? null) && e.contentType === (t.contentType ?? null);
4
- //#endregion
5
4
  export { n as matchesUploadArtifact, t as uploadArtifactId };
package/dist/web.js CHANGED
@@ -3,7 +3,7 @@ import { BASE_NAME as t } from "./rpc.js";
3
3
  import { pluginTag as n } from "@voltro/protocol";
4
4
  import { createElement as r, useEffect as i, useRef as a } from "react";
5
5
  import { usePlatform as o, useSubscription as s } from "@voltro/client";
6
- //#region src/web.ts
6
+ // src/web.ts
7
7
  var c = (e) => n(t, e), l = "voltro:install-id", u = (e) => {
8
8
  let { storage: t } = o();
9
9
  if (e !== void 0) return e;
@@ -43,5 +43,4 @@ var c = (e) => n(t, e), l = "voltro:install-id", u = (e) => {
43
43
  e !== null && e !== r.current && (r.current = e, n?.check());
44
44
  }, [t.verdict, n]), t;
45
45
  };
46
- //#endregion
47
46
  export { p as ForcedUpdateGate, u as useInstallId, f as useKillSwitch, d as useReleasePolicy, h as useUpdateImpulse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/plugin-releases",
3
- "version": "0.87.0",
3
+ "version": "0.88.0",
4
4
  "description": "Release channels, artefacts and rollouts for the apps a Voltro api serves — the self-hosted update server behind Tauri, Expo OTA, electron-updater and PWA update feeds, with a reactive release policy every client subscribes to.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -48,14 +48,14 @@
48
48
  "node": ">=24.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@voltro/client": "0.87.0",
52
- "@voltro/database": "0.87.0",
53
- "@voltro/logger": "0.87.0",
54
- "@voltro/protocol": "0.87.0",
55
- "@voltro/runtime": "0.87.0"
51
+ "@voltro/client": "0.88.0",
52
+ "@voltro/database": "0.88.0",
53
+ "@voltro/logger": "0.88.0",
54
+ "@voltro/protocol": "0.88.0",
55
+ "@voltro/runtime": "0.88.0"
56
56
  },
57
57
  "peerDependencies": {
58
- "effect": "4.0.1",
58
+ "effect": "4.1.0",
59
59
  "react": "^19.0.0"
60
60
  },
61
61
  "peerDependenciesMeta": {