@rikalabs/akter 0.1.0-alpha.3 → 0.1.0-alpha.4

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
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.4 (2026-10-09)
4
+
5
+ The framework and CLI release together on the `alpha` and `latest` npm dist-tags. The framework runtime and stored formats are unchanged from alpha.3; the hosted quota and cloud API contracts change during alpha.
6
+
7
+ - **Breaking:** `QuotaExceeded.cap` is now `compute`, `connections` or `spend`; `storage` is removed because Akter Cloud no longer supplies or bills managed databases. Only the connections cap remains retryable. HTTP 429 and WebSocket 1008 mappings are unchanged.
8
+ - **Breaking cloud API:** every environment uses customer Postgres through `DATABASE_URL`. The optional `Environment.database` report has source `customer`, state `missing`, `reachable` or `unreachable`, nullable p50 `latency` in milliseconds, boolean `latencyWarning`, and nullable integer `runnerCap`. A deploy probes from the runner region: p50 above 5 ms warns without refusing, and runner cap is `floor((max_connections - in_use - 10) / 9)`.
9
+ - **Breaking billing API:** base subscription plus compute unit-hours only. Removes every storage allowance, hard cap, price, meter, sample and per-project storage figure, plus storage and dedicated managed database plan features. The contract continues to ship at `@rikalabs/akter-cli/cloud-api`, not as a separate package.
10
+ - `akter env list` no longer marks variables `managed`. `akter deploy` confirms a live rollout and prints its matching database probe's latency warning and non-null runner cap, preserving zero and unknown measurements. Failed or superseded diagnostic reads warn without changing the successful exit status.
11
+ - Includes [#711](https://github.com/Rika-Labs/akter/pull/711): deploy following retries transient transport failures, typed `Unavailable` outages and unreadable 5xx responses with bounded exponential delays; refusals are never retried. Authentication declares `Unavailable`, so `whoami` reports a session-store outage without asking for another login.
12
+
3
13
  ## 0.1.0-alpha.3 (2026-10-08)
4
14
 
5
15
  The framework and CLI release together on the `alpha` and `latest` npm dist-tags; verified-main canaries use only `next`. This launch release includes the unpublished alpha.2 draft and subsequent changes. Alpha APIs and stored formats can change. Read the [upgrade notes](https://docs.akter.dev/operations/alpha-upgrades), back up the database, and stop every earlier alpha runner before starting alpha.3; mixed-alpha rolling upgrades are not established as safe.
@@ -107,7 +107,7 @@ export declare class RunnerAtCapacity extends RunnerAtCapacity_base {
107
107
  declare const QuotaExceeded_base: Schema.Class<QuotaExceeded, Schema.TaggedStruct<"QuotaExceeded", {
108
108
  readonly organizationId: Schema.String;
109
109
  readonly period: Schema.String;
110
- readonly cap: Schema.Literals<readonly ["compute", "storage", "connections", "spend"]>;
110
+ readonly cap: Schema.Literals<readonly ["compute", "connections", "spend"]>;
111
111
  readonly limit: Schema.Finite;
112
112
  readonly used: Schema.Finite;
113
113
  readonly retryAfterMs: Schema.Finite;
@@ -116,8 +116,7 @@ declare const QuotaExceeded_base: Schema.Class<QuotaExceeded, Schema.TaggedStruc
116
116
  * The hosted organization reached one of its plan's hard caps. `cap` names it,
117
117
  * and `limit` and `used` are in that cap's units: cents for `spend`, open
118
118
  * connections for `connections`, compute unit-hours this period for
119
- * `compute`, and decimal gigabytes of pooled managed database storage for
120
- * `storage`. A `connections` refusal clears as connections close, so it is
119
+ * `compute`. A `connections` refusal clears as connections close, so it is
121
120
  * retryable with the same command id after `retryAfterMs`; the others hold
122
121
  * until usage drops, the period resets or the plan changes.
123
122
  */
@@ -123,15 +123,14 @@ export class RunnerAtCapacity extends Schema.TaggedError()("RunnerAtCapacity", {
123
123
  * The hosted organization reached one of its plan's hard caps. `cap` names it,
124
124
  * and `limit` and `used` are in that cap's units: cents for `spend`, open
125
125
  * connections for `connections`, compute unit-hours this period for
126
- * `compute`, and decimal gigabytes of pooled managed database storage for
127
- * `storage`. A `connections` refusal clears as connections close, so it is
126
+ * `compute`. A `connections` refusal clears as connections close, so it is
128
127
  * retryable with the same command id after `retryAfterMs`; the others hold
129
128
  * until usage drops, the period resets or the plan changes.
130
129
  */
131
130
  export class QuotaExceeded extends Schema.TaggedError()("QuotaExceeded", {
132
131
  organizationId: Schema.String,
133
132
  period: Schema.String,
134
- cap: Schema.Literals(["compute", "storage", "connections", "spend"]),
133
+ cap: Schema.Literals(["compute", "connections", "spend"]),
135
134
  limit: Schema.Finite,
136
135
  used: Schema.Finite,
137
136
  retryAfterMs: Schema.Finite,
@@ -31,7 +31,7 @@ declare const reasonSchemas: {
31
31
  readonly _tag: Schema.tag<"QuotaExceeded">;
32
32
  readonly organizationId: Schema.String;
33
33
  readonly period: Schema.String;
34
- readonly cap: Schema.Literals<readonly ["compute", "storage", "connections", "spend"]>;
34
+ readonly cap: Schema.Literals<readonly ["compute", "connections", "spend"]>;
35
35
  readonly limit: Schema.Finite;
36
36
  readonly used: Schema.Finite;
37
37
  readonly retryAfterMs: Schema.Finite;
@@ -83,7 +83,7 @@ export declare const envelope: (route: {
83
83
  readonly _tag: Schema.tag<"QuotaExceeded">;
84
84
  readonly organizationId: Schema.String;
85
85
  readonly period: Schema.String;
86
- readonly cap: Schema.Literals<readonly ["compute", "storage", "connections", "spend"]>;
86
+ readonly cap: Schema.Literals<readonly ["compute", "connections", "spend"]>;
87
87
  readonly limit: Schema.Finite;
88
88
  readonly used: Schema.Finite;
89
89
  readonly retryAfterMs: Schema.Finite;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@rikalabs/akter","version":"0.1.0-alpha.3","files":["dist","CHANGELOG.md","README.md","LICENSE","NOTICE"],"dependencies":{"@effect/platform-node-shared":"4.0.2","@electric-sql/pglite":"0.5.8","@noble/hashes":"2.4.0","@node-rs/xxhash":"1.7.8","koffi":"3.3.2"},"peerDependencies":{"@effect/platform-bun":"^4.0.2","@effect/platform-node":"^4.0.2","@effect/sql-pg":"^4.0.2","@effect/sql-pglite":"^4.0.2","drizzle-orm":"^1.0.0-rc.5-5935859","effect":"^4.0.2"},"publishConfig":{"access":"public"},"description":"The framework for durable, stateful backends that power realtime apps, background work, and agents.","keywords":["actor-model","actors","agents","background-jobs","bun","durable","effect","effect-ts","pglite","postgres","realtime","stateful","transactions","workflows"],"homepage":"https://github.com/Rika-Labs/akter#readme","bugs":"https://github.com/Rika-Labs/akter/issues","license":"Apache-2.0","author":"Rika Labs","repository":{"type":"git","url":"git+https://github.com/Rika-Labs/akter.git","directory":"packages/akter"},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","default":"./dist/runtime/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./package.json":"./package.json"},"peerDependenciesMeta":{"@effect/platform-bun":{"optional":true},"@effect/platform-node":{"optional":true}},"engines":{"bun":">=1.4.2","node":">=24.0.0"}}
1
+ {"name":"@rikalabs/akter","version":"0.1.0-alpha.4","files":["dist","CHANGELOG.md","README.md","LICENSE","NOTICE"],"dependencies":{"@effect/platform-node-shared":"4.0.2","@electric-sql/pglite":"0.5.8","@noble/hashes":"2.4.0","@node-rs/xxhash":"1.7.8","koffi":"3.3.2"},"peerDependencies":{"@effect/platform-bun":"^4.0.2","@effect/platform-node":"^4.0.2","@effect/sql-pg":"^4.0.2","@effect/sql-pglite":"^4.0.2","drizzle-orm":"^1.0.0-rc.5-5935859","effect":"^4.0.2"},"publishConfig":{"access":"public"},"description":"The framework for durable, stateful backends that power realtime apps, background work, and agents.","keywords":["actor-model","actors","agents","background-jobs","bun","durable","effect","effect-ts","pglite","postgres","realtime","stateful","transactions","workflows"],"homepage":"https://github.com/Rika-Labs/akter#readme","bugs":"https://github.com/Rika-Labs/akter/issues","license":"Apache-2.0","author":"Rika Labs","repository":{"type":"git","url":"git+https://github.com/Rika-Labs/akter.git","directory":"packages/akter"},"type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","default":"./dist/runtime/index.js"},"./client":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./package.json":"./package.json"},"peerDependenciesMeta":{"@effect/platform-bun":{"optional":true},"@effect/platform-node":{"optional":true}},"engines":{"bun":">=1.4.2","node":">=24.0.0"}}