@voltro/plugin-releases 0.83.1 → 0.84.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.
@@ -2,7 +2,10 @@ import { ReleaseNotFound as e, ReleaseRefused as t } from "./errors.js";
2
2
  import { Schema as n } from "effect";
3
3
  import { defineMutation as r, defineQuery as i } from "@voltro/protocol";
4
4
  //#region src/names.ts
5
- var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_releases", c = "_voltro_release_artifacts", l = "_voltro_release_events", u = "@voltro/plugin-releases", d = "releases:manage", f = n.Struct({
5
+ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_releases", c = "_voltro_release_artifacts", l = "_voltro_release_events", u = "@voltro/plugin-releases", d = "releases:manage", f = n.optional(n.Struct({
6
+ id: n.String,
7
+ revision: n.Number.pipe(n.int(), n.nonNegative())
8
+ })), p = n.Struct({
6
9
  app: n.String,
7
10
  channel: n.String,
8
11
  latestVersion: n.NullOr(n.String),
@@ -14,16 +17,16 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
14
17
  rolloutPercent: n.Number,
15
18
  rolloutSalt: n.NullOr(n.String),
16
19
  cohorts: n.NullOr(n.Array(n.String))
17
- }), p = i({
20
+ }), m = i({
18
21
  name: "releases.policy",
19
22
  input: n.Struct({
20
23
  app: n.String,
21
24
  channel: n.String
22
25
  }),
23
- output: f,
26
+ output: p,
24
27
  source: [o, s],
25
28
  openAccess: "the release policy of a channel is what every client — signed in or not — must evaluate before it may continue; it carries versions and feature keys, no data"
26
- }), m = n.Struct({
29
+ }), h = n.Struct({
27
30
  id: n.String,
28
31
  version: n.String,
29
32
  buildId: n.NullOr(n.String),
@@ -33,13 +36,13 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
33
36
  createdAt: n.String,
34
37
  artifacts: n.Number,
35
38
  signed: n.Boolean
36
- }), h = i({
39
+ }), g = i({
37
40
  name: "releases.list",
38
41
  input: n.Struct({ app: n.String }),
39
- output: n.Array(m),
42
+ output: n.Array(h),
40
43
  source: [s],
41
44
  guards: [{ scope: d }]
42
- }), g = r({
45
+ }), _ = r({
43
46
  name: "releases.registerApp",
44
47
  input: n.Struct({
45
48
  app: n.String,
@@ -56,9 +59,10 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
56
59
  }),
57
60
  error: t,
58
61
  guards: [{ scope: d }]
59
- }), _ = r({
62
+ }), v = r({
60
63
  name: "releases.create",
61
64
  input: n.Struct({
65
+ expectedTarget: f,
62
66
  app: n.String,
63
67
  channel: n.String,
64
68
  version: n.String,
@@ -69,9 +73,10 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
69
73
  output: n.Struct({ id: n.String }),
70
74
  error: n.Union(t, e),
71
75
  guards: [{ scope: d }]
72
- }), v = r({
76
+ }), y = r({
73
77
  name: "releases.upload",
74
78
  input: n.Struct({
79
+ expectedTarget: f,
75
80
  releaseId: n.String,
76
81
  kind: n.String,
77
82
  target: n.optional(n.String),
@@ -86,13 +91,14 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
86
91
  output: n.Struct({ id: n.String }),
87
92
  error: n.Union(t, e),
88
93
  guards: [{ scope: d }]
89
- }), y = r({
94
+ }), b = r({
90
95
  name: "releases.promote",
91
96
  input: n.Struct({
97
+ expectedTarget: f,
92
98
  app: n.String,
93
99
  version: n.String,
94
100
  to: n.String,
95
- rolloutPercent: n.optional(n.Number)
101
+ rolloutPercent: n.optional(n.Number.pipe(n.int()))
96
102
  }),
97
103
  output: n.Struct({
98
104
  channel: n.String,
@@ -101,12 +107,13 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
101
107
  }),
102
108
  error: n.Union(t, e),
103
109
  guards: [{ scope: d }]
104
- }), b = r({
110
+ }), x = r({
105
111
  name: "releases.rollout",
106
112
  input: n.Struct({
107
113
  app: n.String,
108
114
  channel: n.String,
109
- percent: n.Number
115
+ percent: n.Number.pipe(n.int()),
116
+ expectedTarget: f
110
117
  }),
111
118
  output: n.Struct({
112
119
  version: n.String,
@@ -114,19 +121,21 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
114
121
  }),
115
122
  error: n.Union(t, e),
116
123
  guards: [{ scope: d }]
117
- }), x = r({
124
+ }), S = r({
118
125
  name: "releases.rollback",
119
126
  input: n.Struct({
120
127
  app: n.String,
121
128
  channel: n.String,
122
- reason: n.String
129
+ reason: n.String,
130
+ expectedTarget: f
123
131
  }),
124
132
  output: n.Struct({ version: n.NullOr(n.String) }),
125
133
  error: n.Union(t, e),
126
134
  guards: [{ scope: d }]
127
- }), S = r({
135
+ }), C = r({
128
136
  name: "releases.setPolicy",
129
137
  input: n.Struct({
138
+ expectedTarget: f,
130
139
  app: n.String,
131
140
  channel: n.String,
132
141
  minSupportedVersion: n.optional(n.NullOr(n.String)),
@@ -136,10 +145,10 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
136
145
  })),
137
146
  reason: n.String
138
147
  }),
139
- output: f,
148
+ output: p,
140
149
  error: n.Union(t, e),
141
150
  guards: [{ scope: d }]
142
- }), C = [
151
+ }), w = [
143
152
  {
144
153
  tag: "releases.policy",
145
154
  kind: "query",
@@ -214,4 +223,4 @@ var a = "_voltro_release_apps", o = "_voltro_release_channels", s = "_voltro_rel
214
223
  }
215
224
  ];
216
225
  //#endregion
217
- export { c as _, _ as a, y as c, x as d, b as f, a as g, s as h, m as i, g as l, v as m, f as n, h as o, S as p, d as r, p as s, u as t, C as u, o as v, l as y };
226
+ export { c as _, v as a, b as c, S as d, x as f, a as g, s as h, h as i, _ as l, y as m, p as n, g as o, C as p, d as r, m as s, u as t, w as u, o as v, l as y };
package/dist/rpc.d.ts CHANGED
@@ -6,6 +6,10 @@ import { Schema } from 'effect';
6
6
  export declare const BASE_NAME = "@voltro/plugin-releases";
7
7
 
8
8
  export declare const createDescriptor: MutationProcedureDescriptor<"releases.create", Schema.Struct<{
9
+ expectedTarget: Schema.optional<Schema.Struct<{
10
+ id: typeof Schema.String;
11
+ revision: Schema.filter<Schema.filter<typeof Schema.Number>>;
12
+ }>>;
9
13
  app: typeof Schema.String;
10
14
  channel: typeof Schema.String;
11
15
  version: typeof Schema.String;
@@ -60,10 +64,14 @@ export declare const PolicySchema: Schema.Struct<{
60
64
  export declare type PolicyWire = typeof PolicySchema.Type;
61
65
 
62
66
  export declare const promoteDescriptor: MutationProcedureDescriptor<"releases.promote", Schema.Struct<{
67
+ expectedTarget: Schema.optional<Schema.Struct<{
68
+ id: typeof Schema.String;
69
+ revision: Schema.filter<Schema.filter<typeof Schema.Number>>;
70
+ }>>;
63
71
  app: typeof Schema.String;
64
72
  version: typeof Schema.String;
65
73
  to: typeof Schema.String;
66
- rolloutPercent: Schema.optional<typeof Schema.Number>;
74
+ rolloutPercent: Schema.optional<Schema.filter<typeof Schema.Number>>;
67
75
  }>, Schema.Struct<{
68
76
  channel: typeof Schema.String;
69
77
  version: typeof Schema.String;
@@ -127,6 +135,10 @@ export declare const rollbackDescriptor: MutationProcedureDescriptor<"releases.r
127
135
  app: typeof Schema.String;
128
136
  channel: typeof Schema.String;
129
137
  reason: typeof Schema.String;
138
+ expectedTarget: Schema.optional<Schema.Struct<{
139
+ id: typeof Schema.String;
140
+ revision: Schema.filter<Schema.filter<typeof Schema.Number>>;
141
+ }>>;
130
142
  }>, Schema.Struct<{
131
143
  version: Schema.NullOr<typeof Schema.String>;
132
144
  }>, Schema.Union<[typeof ReleaseRefused, typeof ReleaseNotFound]>>;
@@ -134,13 +146,21 @@ export declare const rollbackDescriptor: MutationProcedureDescriptor<"releases.r
134
146
  export declare const rolloutDescriptor: MutationProcedureDescriptor<"releases.rollout", Schema.Struct<{
135
147
  app: typeof Schema.String;
136
148
  channel: typeof Schema.String;
137
- percent: typeof Schema.Number;
149
+ percent: Schema.filter<typeof Schema.Number>;
150
+ expectedTarget: Schema.optional<Schema.Struct<{
151
+ id: typeof Schema.String;
152
+ revision: Schema.filter<Schema.filter<typeof Schema.Number>>;
153
+ }>>;
138
154
  }>, Schema.Struct<{
139
155
  version: typeof Schema.String;
140
156
  rolloutPercent: typeof Schema.Number;
141
157
  }>, Schema.Union<[typeof ReleaseRefused, typeof ReleaseNotFound]>>;
142
158
 
143
159
  export declare const setPolicyDescriptor: MutationProcedureDescriptor<"releases.setPolicy", Schema.Struct<{
160
+ expectedTarget: Schema.optional<Schema.Struct<{
161
+ id: typeof Schema.String;
162
+ revision: Schema.filter<Schema.filter<typeof Schema.Number>>;
163
+ }>>;
144
164
  app: typeof Schema.String;
145
165
  channel: typeof Schema.String;
146
166
  minSupportedVersion: Schema.optional<Schema.NullOr<typeof Schema.String>>;
@@ -158,6 +178,10 @@ export declare const setPolicyDescriptor: MutationProcedureDescriptor<"releases.
158
178
  }>, Schema.Union<[typeof ReleaseRefused, typeof ReleaseNotFound]>>;
159
179
 
160
180
  export declare const uploadDescriptor: MutationProcedureDescriptor<"releases.upload", Schema.Struct<{
181
+ expectedTarget: Schema.optional<Schema.Struct<{
182
+ id: typeof Schema.String;
183
+ revision: Schema.filter<Schema.filter<typeof Schema.Number>>;
184
+ }>>;
161
185
  releaseId: typeof Schema.String;
162
186
  kind: typeof Schema.String;
163
187
  target: Schema.optional<typeof Schema.String>;
package/dist/rpc.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./rpc-U7ytx6SC.js";
1
+ import { a as e, c as t, d as n, f as r, i, l as a, m as o, n as s, o as c, p as l, r as u, s as d, t as f, u as p } from "./rpc-DeEV8l3U.js";
2
2
  export { f as BASE_NAME, s as PolicySchema, u as RELEASES_MANAGE_SCOPE, i as ReleaseSummarySchema, e as createDescriptor, c as listDescriptor, d as policyDescriptor, t as promoteDescriptor, a as registerAppDescriptor, p as releasesRpcClientImports, n as rollbackDescriptor, r as rolloutDescriptor, l as setPolicyDescriptor, o as uploadDescriptor };
package/dist/web.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as e } from "./rollout-CGRKMTfv.js";
2
- import { t } from "./rpc-U7ytx6SC.js";
2
+ import { t } from "./rpc-DeEV8l3U.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";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/plugin-releases",
3
- "version": "0.83.1",
3
+ "version": "0.84.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,11 +48,11 @@
48
48
  "node": ">=24.0.0"
49
49
  },
50
50
  "dependencies": {
51
- "@voltro/client": "0.83.1",
52
- "@voltro/database": "0.83.1",
53
- "@voltro/logger": "0.83.1",
54
- "@voltro/protocol": "0.83.1",
55
- "@voltro/runtime": "0.83.1"
51
+ "@voltro/client": "0.84.0",
52
+ "@voltro/database": "0.84.0",
53
+ "@voltro/logger": "0.84.0",
54
+ "@voltro/protocol": "0.84.0",
55
+ "@voltro/runtime": "0.84.0"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "effect": "^3.22.2",