@voltro/protocol 0.37.0 → 0.38.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/dist/index.js CHANGED
@@ -1,30 +1,30 @@
1
- import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as ee, L as te, M as ne, N as re, O as ie, P as ae, R as s, S as oe, T as c, U as se, V as ce, _ as le, a as ue, b as de, c as fe, d as pe, f as me, g as he, h as ge, i as _e, j as ve, k as ye, l as be, m as xe, n as Se, o as Ce, p as we, r as Te, s as Ee, t as De, u as Oe, v as ke, w as Ae, x as je, y as Me, z as Ne } from "./auth-B6YZuSBr.js";
2
- import { a as Pe, c as Fe, i as Ie, n as Le, o as Re, r as ze, s as Be, t as Ve } from "./serverErrorBus-BeN9pOpY.js";
3
- import { Context as He, Layer as Ue, Schema as l } from "effect";
4
- import { Rpc as u } from "@effect/rpc";
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, H as ee, I as te, L as s, M as ne, N as re, O as ie, P as ae, R as oe, S as se, T as ce, U as le, V as ue, W as de, _ as fe, a as pe, b as me, c as he, d as ge, f as _e, g as ve, h as ye, i as be, j as xe, k as Se, l as Ce, m as we, n as Te, o as Ee, p as De, r as Oe, s as ke, t as Ae, u as je, v as Me, w as Ne, x as Pe, y as Fe, z as Ie } from "./auth-CKS3UNnf.js";
2
+ import { a as Le, c as Re, i as ze, n as Be, o as Ve, r as He, s as Ue, t as We } from "./serverErrorBus-BeN9pOpY.js";
3
+ import { Context as Ge, Layer as Ke, Schema as c } from "effect";
4
+ import { Rpc as l } from "@effect/rpc";
5
5
  //#region src/rowPatch.ts
6
- var We = l.Union(l.String, l.Number), d = l.Record({
7
- key: l.String,
8
- value: l.Unknown
9
- }).pipe(l.filter((e) => "id" in e, { message: () => "patch row must carry an id" })), f = l.Union(l.Struct({
10
- op: l.Literal("add"),
11
- path: l.String,
12
- value: d
13
- }), l.Struct({
14
- op: l.Literal("replace"),
15
- path: l.String,
16
- value: d
17
- }), l.Struct({
18
- op: l.Literal("remove"),
19
- path: l.String
20
- })), p = l.Struct({
21
- ops: l.Array(f),
22
- order: l.Array(We)
23
- }), m = (e) => `/${String(e).replace(/~/g, "~0").replace(/\//g, "~1")}`, Ge = (e) => (e.startsWith("/") ? e.slice(1) : e).replace(/~1/g, "/").replace(/~0/g, "~"), h = (e) => {
6
+ var qe = c.Union(c.String, c.Number), u = c.Record({
7
+ key: c.String,
8
+ value: c.Unknown
9
+ }).pipe(c.filter((e) => "id" in e, { message: () => "patch row must carry an id" })), d = c.Union(c.Struct({
10
+ op: c.Literal("add"),
11
+ path: c.String,
12
+ value: u
13
+ }), c.Struct({
14
+ op: c.Literal("replace"),
15
+ path: c.String,
16
+ value: u
17
+ }), c.Struct({
18
+ op: c.Literal("remove"),
19
+ path: c.String
20
+ })), f = c.Struct({
21
+ ops: c.Array(d),
22
+ order: c.Array(qe)
23
+ }), p = (e) => `/${String(e).replace(/~/g, "~0").replace(/\//g, "~1")}`, Je = (e) => (e.startsWith("/") ? e.slice(1) : e).replace(/~1/g, "/").replace(/~0/g, "~"), m = (e) => {
24
24
  let t = Object.keys(e).sort(), n = {};
25
25
  for (let r of t) n[r] = e[r];
26
26
  return JSON.stringify(n);
27
- }, Ke = (e, t) => h(e) === h(t), qe = (e, t) => {
27
+ }, Ye = (e, t) => m(e) === m(t), Xe = (e, t) => {
28
28
  let n = /* @__PURE__ */ new Map();
29
29
  for (let t of e) n.set(t.id, t);
30
30
  let r = [], i = [], a = /* @__PURE__ */ new Set();
@@ -33,26 +33,26 @@ var We = l.Union(l.String, l.Number), d = l.Record({
33
33
  let t = n.get(e.id);
34
34
  t === void 0 ? r.push({
35
35
  op: "add",
36
- path: m(e.id),
36
+ path: p(e.id),
37
37
  value: e
38
- }) : Ke(t, e) || r.push({
38
+ }) : Ye(t, e) || r.push({
39
39
  op: "replace",
40
- path: m(e.id),
40
+ path: p(e.id),
41
41
  value: e
42
42
  });
43
43
  }
44
44
  for (let t of e) a.has(t.id) || r.push({
45
45
  op: "remove",
46
- path: m(t.id)
46
+ path: p(t.id)
47
47
  });
48
48
  return {
49
49
  ops: r,
50
50
  order: i
51
51
  };
52
- }, Je = (e) => e.every((e) => {
52
+ }, Ze = (e) => e.every((e) => {
53
53
  let t = e.id;
54
54
  return typeof t == "string" || typeof t == "number";
55
- }), Ye = (e, t) => {
55
+ }), Qe = (e, t) => {
56
56
  let n = /* @__PURE__ */ new Map();
57
57
  for (let t of e) n.set(t.id, t);
58
58
  for (let e of t.ops) (e.op === "add" || e.op === "replace") && n.set(e.value.id, e.value);
@@ -62,98 +62,98 @@ var We = l.Union(l.String, l.Number), d = l.Record({
62
62
  t !== void 0 && r.push(t);
63
63
  }
64
64
  return r;
65
- }, g = (e) => l.Union(l.Struct({
66
- _tag: l.Literal("snapshot"),
67
- revision: l.Number,
65
+ }, h = (e) => c.Union(c.Struct({
66
+ _tag: c.Literal("snapshot"),
67
+ revision: c.Number,
68
68
  data: e,
69
- computed: l.optional(l.Boolean)
70
- }), l.Struct({
71
- _tag: l.Literal("delta"),
72
- revision: l.Number,
73
- emittedAt: l.Number,
74
- patch: p
75
- }), l.Struct({
76
- _tag: l.Literal("error"),
77
- error: l.Unknown,
78
- revision: l.optional(l.Number)
79
- })), Xe = (e) => {
69
+ computed: c.optional(c.Boolean)
70
+ }), c.Struct({
71
+ _tag: c.Literal("delta"),
72
+ revision: c.Number,
73
+ emittedAt: c.Number,
74
+ patch: f
75
+ }), c.Struct({
76
+ _tag: c.Literal("error"),
77
+ error: c.Unknown,
78
+ revision: c.optional(c.Number)
79
+ })), $e = (e) => {
80
80
  let t = e.ast;
81
81
  return t._tag === "TypeLiteral" && (t.propertySignatures?.length ?? 0) === 0 && (t.indexSignatures?.length ?? 0) === 0;
82
- }, _ = (e) => {
82
+ }, g = (e) => {
83
83
  let t = e.annotations({ parseOptions: { onExcessProperty: "error" } });
84
- return Xe(e) ? l.filter((e) => typeof e == "object" && e && Object.keys(e).length > 0 ? `this procedure declares no input; received: ${Object.keys(e).join(", ")}` : void 0)(t) : t;
85
- }, v = class extends l.TaggedError()("BusinessRuleViolation", {
86
- rule: l.String,
87
- params: l.optional(l.Record({
88
- key: l.String,
89
- value: l.Unknown
84
+ return $e(e) ? c.filter((e) => typeof e == "object" && e && Object.keys(e).length > 0 ? `this procedure declares no input; received: ${Object.keys(e).join(", ")}` : void 0)(t) : t;
85
+ }, _ = class extends c.TaggedError()("BusinessRuleViolation", {
86
+ rule: c.String,
87
+ params: c.optional(c.Record({
88
+ key: c.String,
89
+ value: c.Unknown
90
90
  })),
91
- field: l.optional(l.String),
92
- message: l.optional(l.String),
93
- severity: l.Literal("error", "warning")
94
- }) {}, y = class extends l.TaggedError()("ApprovalRequired", {
95
- approvalId: l.String,
96
- procedure: l.String,
97
- expiresAt: l.String,
98
- requiredScopes: l.Array(l.String),
99
- reason: l.NullOr(l.String),
100
- created: l.Boolean
101
- }) {}, b = class extends l.TaggedError()("ApprovalNotFound", { approvalId: l.String }) {}, x = class extends l.TaggedError()("ApprovalSelfApproval", {
102
- approvalId: l.String,
103
- subjectId: l.NullOr(l.String)
104
- }) {}, S = class extends l.TaggedError()("ApprovalRejected", {
105
- approvalId: l.String,
106
- decidedBy: l.NullOr(l.String),
107
- note: l.NullOr(l.String)
108
- }) {}, C = class extends l.TaggedError()("ApprovalExpired", {
109
- approvalId: l.String,
110
- expiredAt: l.String
111
- }) {}, w = class extends l.TaggedError()("ApprovalNotPending", {
112
- approvalId: l.String,
113
- status: l.String
114
- }) {}, T = class extends l.TaggedError()("ApprovalForbidden", {
115
- approvalId: l.String,
116
- required: l.NullOr(l.String),
117
- message: l.String
118
- }) {}, E = class extends l.TaggedError()("ApprovalUnavailable", {
119
- procedure: l.String,
120
- message: l.String
121
- }) {}, D = l.Union(y, S, C, E), O = l.Union(b, x, C, w, T, E), k = l.Struct({
122
- id: l.String,
123
- procedure: l.String,
124
- kind: l.Literal("mutation", "action"),
125
- requestedBy: l.NullOr(l.String),
126
- status: l.Literal("pending", "approved", "rejected", "expired", "consumed"),
127
- reason: l.NullOr(l.String),
128
- requiredScopes: l.Array(l.String),
129
- requestedAt: l.String,
130
- expiresAt: l.String,
131
- decidedBy: l.NullOr(l.String),
132
- decidedAt: l.NullOr(l.String),
133
- note: l.NullOr(l.String),
134
- relation: l.Literal("to-decide", "requested")
135
- }), A = "channel:", j = Symbol.for("@voltro/protocol/reactivityChannels"), M = globalThis, N = M[j] ?? (M[j] = /* @__PURE__ */ new Map()), Ze = /^[a-z][a-z0-9-]*(\.[a-z0-9-]+)*$/, Qe = (e) => {
136
- if (!Ze.test(e)) throw Error(`reactivityChannel('${e}'): invalid channel name.\n Use lowercase kebab segments separated by dots — \`presence\`, \`job-queue\`,
91
+ field: c.optional(c.String),
92
+ message: c.optional(c.String),
93
+ severity: c.Literal("error", "warning")
94
+ }) {}, v = class extends c.TaggedError()("ApprovalRequired", {
95
+ approvalId: c.String,
96
+ procedure: c.String,
97
+ expiresAt: c.String,
98
+ requiredScopes: c.Array(c.String),
99
+ reason: c.NullOr(c.String),
100
+ created: c.Boolean
101
+ }) {}, y = class extends c.TaggedError()("ApprovalNotFound", { approvalId: c.String }) {}, b = class extends c.TaggedError()("ApprovalSelfApproval", {
102
+ approvalId: c.String,
103
+ subjectId: c.NullOr(c.String)
104
+ }) {}, x = class extends c.TaggedError()("ApprovalRejected", {
105
+ approvalId: c.String,
106
+ decidedBy: c.NullOr(c.String),
107
+ note: c.NullOr(c.String)
108
+ }) {}, S = class extends c.TaggedError()("ApprovalExpired", {
109
+ approvalId: c.String,
110
+ expiredAt: c.String
111
+ }) {}, C = class extends c.TaggedError()("ApprovalNotPending", {
112
+ approvalId: c.String,
113
+ status: c.String
114
+ }) {}, w = class extends c.TaggedError()("ApprovalForbidden", {
115
+ approvalId: c.String,
116
+ required: c.NullOr(c.String),
117
+ message: c.String
118
+ }) {}, T = class extends c.TaggedError()("ApprovalUnavailable", {
119
+ procedure: c.String,
120
+ message: c.String
121
+ }) {}, E = c.Union(v, x, S, T), D = c.Union(y, b, S, C, w, T), O = c.Struct({
122
+ id: c.String,
123
+ procedure: c.String,
124
+ kind: c.Literal("mutation", "action"),
125
+ requestedBy: c.NullOr(c.String),
126
+ status: c.Literal("pending", "approved", "rejected", "expired", "consumed"),
127
+ reason: c.NullOr(c.String),
128
+ requiredScopes: c.Array(c.String),
129
+ requestedAt: c.String,
130
+ expiresAt: c.String,
131
+ decidedBy: c.NullOr(c.String),
132
+ decidedAt: c.NullOr(c.String),
133
+ note: c.NullOr(c.String),
134
+ relation: c.Literal("to-decide", "requested")
135
+ }), k = "channel:", A = Symbol.for("@voltro/protocol/reactivityChannels"), j = globalThis, M = j[A] ?? (j[A] = /* @__PURE__ */ new Map()), et = /^[a-z][a-z0-9-]*(\.[a-z0-9-]+)*$/, tt = (e) => {
136
+ if (!et.test(e)) throw Error(`reactivityChannel('${e}'): invalid channel name.\n Use lowercase kebab segments separated by dots — \`presence\`, \`job-queue\`,
137
137
  \`billing.usage\`. A \`:\` is refused because it is the namespace separator in
138
- the routing key (\`${A}<name>\`), and an uppercase letter is\n refused because a key that differs only by case reads as one channel and
138
+ the routing key (\`${k}<name>\`), and an uppercase letter is\n refused because a key that differs only by case reads as one channel and
139
139
  routes as two.`);
140
- let t = N.get(e);
140
+ let t = M.get(e);
141
141
  if (t !== void 0) return t;
142
- let n = `${A}${e}`, r = Object.freeze({
142
+ let n = `${k}${e}`, r = Object.freeze({
143
143
  kind: "reactivity-channel",
144
144
  name: e,
145
145
  key: n,
146
146
  toString: () => n
147
147
  });
148
- return N.set(e, r), r;
149
- }, P = (e) => typeof e == "object" && !!e && e.kind === "reactivity-channel", F = (e) => e.startsWith(A), I = () => new Set([...N.values()].map((e) => e.key)), L = (e) => P(e) ? e.key : e, $e = (e) => e === void 0 ? [] : Array.isArray(e) ? e.map(L) : [L(e)], et = (e) => e === void 0 ? void 0 : Array.isArray(e) ? e.map(L) : L(e), tt = (e) => {
150
- let t = I(), n = [];
151
- for (let r of e) for (let e of $e(r.source)) !F(e) || t.has(e) || n.push({
148
+ return M.set(e, r), r;
149
+ }, N = (e) => typeof e == "object" && !!e && e.kind === "reactivity-channel", P = (e) => e.startsWith(k), F = () => new Set([...M.values()].map((e) => e.key)), I = (e) => N(e) ? e.key : e, L = (e) => e === void 0 ? [] : Array.isArray(e) ? e.map(I) : [I(e)], nt = (e) => e === void 0 ? void 0 : Array.isArray(e) ? e.map(I) : I(e), rt = (e) => {
150
+ let t = F(), n = [];
151
+ for (let r of e) for (let e of L(r.source)) !P(e) || t.has(e) || n.push({
152
152
  procedure: r.name,
153
153
  key: e
154
154
  });
155
155
  return n;
156
- }, nt = (e, t) => {
156
+ }, it = (e, t) => {
157
157
  let n = e?.injectExternalChange;
158
158
  return n === void 0 ? !1 : (n.call(e, {
159
159
  table: t.key,
@@ -162,8 +162,8 @@ var We = l.Union(l.String, l.Number), d = l.Record({
162
162
  old: {},
163
163
  origin: "inline"
164
164
  }), !0);
165
- }, rt = (e) => e.internal !== !0, R = (e) => {
166
- if (it(e), Array.isArray(e.guards) && e.guards.length === 0) throw Error(`${e.name}: \`guards: []\` is empty, so it enforces nothing — but it reads\n at the call site as if this procedure were protected. Omit the field for an
165
+ }, at = (e) => e.internal !== !0, R = (e) => {
166
+ if (ot(e), Array.isArray(e.guards) && e.guards.length === 0) throw Error(`${e.name}: \`guards: []\` is empty, so it enforces nothing — but it reads\n at the call site as if this procedure were protected. Omit the field for an
167
167
  unguarded procedure, or list the scopes required to call it.`);
168
168
  let t = typeof e.source == "string" ? [e.source] : Array.isArray(e.source) ? e.source : void 0;
169
169
  if (t !== void 0 && (t.length === 0 || t.some((e) => String(e).trim() === ""))) throw Error(`${e.name}: \`source\` is empty, so this query declares reactivity and\n subscribes to nothing — it serves one snapshot and never updates again,
@@ -180,7 +180,7 @@ var We = l.Union(l.String, l.Number), d = l.Record({
180
180
  let n = [e.publicApi === void 0 ? void 0 : "publicApi", e.exposeAsTool === void 0 ? void 0 : "exposeAsTool"].filter((e) => e !== void 0);
181
181
  if (n.length === 0) return e;
182
182
  throw Error(`${e.name}: \`internal: true\` cannot be combined with ${n.map((e) => `\`${e}\``).join(" or ")}. \`internal\` takes the procedure OFF the wire; those put it back ON a different one (${n.includes("publicApi") ? "a REST route" : "an agent tool"}), and that surface is projected without consulting the flag — so the procedure would be unreachable from your client and reachable from the internet. Drop \`internal: true\` if the wider surface is intended, or remove the ${n.join(" / ")} annotation if it is not.`);
183
- }, it = (e) => {
183
+ }, ot = (e) => {
184
184
  let t = e.requiresApproval;
185
185
  if (t !== void 0) {
186
186
  if (!Array.isArray(t.approvers) || t.approvers.length === 0) throw Error(`${e.name}: \`requiresApproval.approvers\` is empty, so NOBODY can approve this\n procedure and every call would park forever. Name the scope(s) an approver must hold
@@ -190,20 +190,20 @@ var We = l.Union(l.String, l.Number), d = l.Record({
190
190
  human from every other, and the second-pair-of-eyes control would enforce nothing.
191
191
  Give the procedure a \`guards:\` decision, or drop \`requiresApproval\`.`);
192
192
  }
193
- }, at = (e) => e.action !== void 0 && e.resourceType !== void 0, ot = (e) => e.openAccess !== void 0 || e.guards !== void 0 && e.guards.length > 0, z = (e, t, n) => {
194
- if (n === void 0) return t;
195
- if (n.trim() === "") throw Error(`${e}: \`openAccess\` needs a REASON, not an empty string. It is the sentence a\n reviewer reads to decide whether this procedure should really be callable
193
+ }, st = (e) => e.action !== void 0 && e.resourceType !== void 0, ct = (e) => e.openAccess !== void 0 || e.guards !== void 0 && e.guards.length > 0, z = (e, n, r) => {
194
+ if (r === void 0) return n;
195
+ if (r.trim() === "") throw Error(`${e}: \`openAccess\` needs a REASON, not an empty string. It is the sentence a\n reviewer reads to decide whether this procedure should really be callable
196
196
  without an authorization check — e.g. \`openAccess: 'public pricing, no caller data'\`.`);
197
- if (t !== void 0 && t.length > 0) throw Error(`${e}: \`openAccess\` and \`guards\` are two different access decisions, so\n declaring both says the procedure is protected AND open. Keep the guards if a
197
+ if (n !== void 0 && n.length > 0) throw Error(`${e}: \`openAccess\` and \`guards\` are two different access decisions, so\n declaring both says the procedure is protected AND open. Keep the guards if a
198
198
  caller must hold a scope; drop them if anyone may call it.`);
199
- return [s(n.trim())];
199
+ return [t(r.trim())];
200
200
  }, B = (e) => R({
201
201
  kind: "query",
202
202
  name: e.name,
203
203
  input: e.input,
204
204
  output: e.output,
205
- error: e.error ?? l.Never,
206
- source: et(e.source),
205
+ error: e.error ?? c.Never,
206
+ source: nt(e.source),
207
207
  cache: e.cache,
208
208
  guards: z(e.name, e.guards, e.openAccess),
209
209
  openAccess: e.openAccess,
@@ -216,7 +216,7 @@ var We = l.Union(l.String, l.Number), d = l.Record({
216
216
  name: e.name,
217
217
  input: e.input,
218
218
  output: e.output,
219
- error: e.error ?? l.Never,
219
+ error: e.error ?? c.Never,
220
220
  target: e.target,
221
221
  guards: z(e.name, e.guards, e.openAccess),
222
222
  openAccess: e.openAccess,
@@ -230,7 +230,7 @@ var We = l.Union(l.String, l.Number), d = l.Record({
230
230
  name: e.name,
231
231
  input: e.input,
232
232
  output: e.output,
233
- error: e.error ?? l.Never,
233
+ error: e.error ?? c.Never,
234
234
  guards: z(e.name, e.guards, e.openAccess),
235
235
  openAccess: e.openAccess,
236
236
  source: e.source,
@@ -240,46 +240,46 @@ var We = l.Union(l.String, l.Number), d = l.Record({
240
240
  requiresApproval: e.requiresApproval,
241
241
  internal: e.internal,
242
242
  overridesPlugin: e.overridesPlugin
243
- }), st = (e) => R({
243
+ }), lt = (e) => R({
244
244
  kind: "stream",
245
245
  name: e.name,
246
246
  input: e.input,
247
247
  element: e.element,
248
- error: e.error ?? l.Never,
248
+ error: e.error ?? c.Never,
249
249
  internal: e.internal,
250
250
  overridesPlugin: e.overridesPlugin,
251
251
  guards: z(e.name, e.guards, e.openAccess),
252
252
  openAccess: e.openAccess
253
- }), U = (e, t) => t && t.length > 0 ? l.Union(e, ...t) : e, W = (e, t) => t && t.some((e) => !a(e)) ? l.Union(e, c) : e, ct = (e) => l.Union(e, v), lt = (e, t) => t === void 0 ? e : l.Union(e, D), ut = (e, t) => u.make(e.name, {
254
- payload: _(e.input),
255
- success: g(e.output),
253
+ }), U = (e, t) => t && t.length > 0 ? c.Union(e, ...t) : e, W = (e, t) => t && t.some((e) => !s(e)) ? c.Union(e, r) : e, ut = (e) => c.Union(e, _), dt = (e, t) => t === void 0 ? e : c.Union(e, E), ft = (e, t) => l.make(e.name, {
254
+ payload: g(e.input),
255
+ success: h(e.output),
256
256
  error: U(W(e.error, e.guards), t),
257
257
  stream: !0
258
- }), dt = (e, t) => u.make(e.name, {
259
- payload: _(e.input),
258
+ }), G = (e, t) => l.make(e.name, {
259
+ payload: g(e.input),
260
260
  success: e.output,
261
- error: U(lt(ct(W(e.error, e.guards)), e.requiresApproval), t)
262
- }), ft = (e, t) => u.make(e.name, {
263
- payload: _(e.input),
261
+ error: U(dt(ut(W(e.error, e.guards)), e.requiresApproval), t)
262
+ }), pt = (e, t) => l.make(e.name, {
263
+ payload: g(e.input),
264
264
  success: e.output,
265
- error: U(lt(W(e.error, e.guards), e.requiresApproval), t)
266
- }), pt = (e, t) => u.make(e.name, {
267
- payload: _(e.input),
265
+ error: U(dt(W(e.error, e.guards), e.requiresApproval), t)
266
+ }), mt = (e, t) => l.make(e.name, {
267
+ payload: g(e.input),
268
268
  success: e.element,
269
269
  error: U(e.error, t),
270
270
  stream: !0
271
- }), mt = (e) => {
271
+ }), ht = (e) => {
272
272
  if (typeof e != "object" || !e) return;
273
273
  let t = e._tag;
274
274
  return typeof t == "string" ? t : void 0;
275
- }, ht = (e) => {
275
+ }, gt = (e) => {
276
276
  switch (e.kind) {
277
- case "query": return ut(e);
278
- case "mutation": return dt(e);
279
- case "action": return ft(e);
280
- case "stream": return pt(e);
277
+ case "query": return ft(e);
278
+ case "mutation": return G(e);
279
+ case "action": return pt(e);
280
+ case "stream": return mt(e);
281
281
  }
282
- }, gt = (e) => {
282
+ }, _t = (e) => {
283
283
  let t = e.input, n = t === void 0 ? {} : { input: t }, r = e.output, i = r === void 0 ? {} : { output: r };
284
284
  if (e.kind === "query") return {
285
285
  kind: "query",
@@ -320,7 +320,7 @@ var We = l.Union(l.String, l.Number), d = l.Record({
320
320
  ..."shapeItem" in e && e.shapeItem !== void 0 ? { shapeItem: e.shapeItem } : {}
321
321
  }))
322
322
  };
323
- }, _t = 7500, vt = (e) => typeof e == "object" && !!e && e.kind === "event", yt = (e) => {
323
+ }, vt = 7500, yt = (e) => typeof e == "object" && !!e && e.kind === "event", bt = (e) => {
324
324
  if (e.name.length === 0) throw Error("defineEvent: `name` must not be empty");
325
325
  if (/\s/.test(e.name)) throw Error(`defineEvent("${e.name}"): \`name\` must not contain whitespace.\n The name is used as a broker subject segment. NATS refuses a subject with
326
326
  whitespace and delivers nothing — silently, and only on that broker, so an
@@ -349,73 +349,73 @@ var We = l.Union(l.String, l.Number), d = l.Record({
349
349
  name: e.name,
350
350
  key: e.key,
351
351
  payload: e.payload,
352
- guards: e.openAccess === void 0 ? e.guards : [s(e.openAccess.trim())],
352
+ guards: e.openAccess === void 0 ? e.guards : [t(e.openAccess.trim())],
353
353
  openAccess: e.openAccess,
354
354
  rewind: e.rewind,
355
355
  webhook: e.webhook,
356
356
  delivery: e.delivery
357
357
  };
358
- }, bt = (e) => l.Struct({
359
- _tag: l.Literal("event"),
360
- origin: l.String,
361
- n: l.Number,
362
- emittedAt: l.Number,
358
+ }, xt = (e) => c.Struct({
359
+ _tag: c.Literal("event"),
360
+ origin: c.String,
361
+ n: c.Number,
362
+ emittedAt: c.Number,
363
363
  payload: e
364
- }), xt = l.Struct({
365
- _tag: l.Literal("gap"),
366
- missed: l.Number,
367
- reason: l.Literal("buffer", "resume")
368
- }), G = l.Struct({ _tag: l.Literal("attached") }), St = (e) => l.Union(G, bt(e), xt), Ct = l.Struct({
369
- origin: l.String,
370
- n: l.Number
371
- }), wt = (e) => l.Struct({
364
+ }), St = c.Struct({
365
+ _tag: c.Literal("gap"),
366
+ missed: c.Number,
367
+ reason: c.Literal("buffer", "resume")
368
+ }), Ct = c.Struct({ _tag: c.Literal("attached") }), wt = (e) => c.Union(Ct, xt(e), St), Tt = c.Struct({
369
+ origin: c.String,
370
+ n: c.Number
371
+ }), Et = (e) => c.Struct({
372
372
  key: e,
373
- resume: l.optional(l.Array(Ct))
374
- }), Tt = (e, t) => {
375
- let n = e.guards !== void 0 && e.guards.some((e) => !a(e)) ? c : l.Never, r = t && t.length > 0 ? l.Union(n, ...t) : n;
376
- return u.make(e.name, {
377
- payload: _(wt(e.key)),
378
- success: St(e.payload),
379
- error: r,
373
+ resume: c.optional(c.Array(Tt))
374
+ }), Dt = (e, t) => {
375
+ let n = e.guards !== void 0 && e.guards.some((e) => !s(e)) ? r : c.Never, i = t && t.length > 0 ? c.Union(n, ...t) : n;
376
+ return l.make(e.name, {
377
+ payload: g(Et(e.key)),
378
+ success: wt(e.payload),
379
+ error: i,
380
380
  stream: !0
381
381
  });
382
- }, Et = class extends l.TaggedError()("EventPayloadInvalid", {
383
- event: l.String,
384
- message: l.String
385
- }) {}, Dt = class extends l.TaggedError()("EventKeyInvalid", {
386
- event: l.String,
387
- message: l.String
388
- }) {}, Ot = class extends l.TaggedError()("EventPayloadTooLarge", {
389
- event: l.String,
390
- bytes: l.Number,
391
- limit: l.Number
392
- }) {}, kt = (e) => {
382
+ }, Ot = class extends c.TaggedError()("EventPayloadInvalid", {
383
+ event: c.String,
384
+ message: c.String
385
+ }) {}, kt = class extends c.TaggedError()("EventKeyInvalid", {
386
+ event: c.String,
387
+ message: c.String
388
+ }) {}, At = class extends c.TaggedError()("EventPayloadTooLarge", {
389
+ event: c.String,
390
+ bytes: c.Number,
391
+ limit: c.Number
392
+ }) {}, jt = (e) => {
393
393
  if (typeof e != "object" || !e) return JSON.stringify(e) ?? "null";
394
394
  let t = Object.entries(e).filter(([, e]) => e !== void 0).sort(([e], [t]) => e < t ? -1 : +(e > t));
395
395
  return JSON.stringify(t);
396
- }, At = "\0", jt = (e, t, n) => [
396
+ }, Mt = "\0", Nt = (e, t, n) => [
397
397
  e ?? "~",
398
398
  t,
399
- kt(n)
400
- ].join("\0"), Mt = (e) => {
399
+ jt(n)
400
+ ].join("\0"), Pt = (e) => {
401
401
  let [t = "~", n = "", r = ""] = e.split("\0");
402
402
  return {
403
403
  tenantId: t === "~" ? null : t,
404
404
  event: n,
405
405
  key: r
406
406
  };
407
- }, Nt = (e) => e.split("\0").join(" · "), Pt = (e) => e, Ft = (e) => e, It = (e) => {
407
+ }, Ft = (e) => e.split("\0").join(" · "), It = (e) => e, Lt = (e) => e, Rt = (e) => {
408
408
  let t = e.alias?.trim(), n = e.instance?.trim(), r = t !== void 0 && t !== "" ? t : e.base;
409
409
  return n !== void 0 && n !== "" ? `${r}#${n}` : r;
410
- }, Lt = (e) => {
410
+ }, zt = (e) => {
411
411
  if (e.length !== 0) return (t, n) => e.reduceRight((e, t) => t(e, n), t);
412
- }, Rt = (e, t) => {
413
- let n = He.GenericTag(e);
412
+ }, Bt = (e, t) => {
413
+ let n = Ge.GenericTag(e);
414
414
  return {
415
415
  Tag: n,
416
- Live: Ue.succeed(n, t)
416
+ Live: Ke.succeed(n, t)
417
417
  };
418
- }, zt = (e, t, n) => {
418
+ }, Vt = (e, t, n) => {
419
419
  if (!t) return { ok: !0 };
420
420
  let r = K(n);
421
421
  if (!r) return {
@@ -425,7 +425,7 @@ var We = l.Union(l.String, l.Number), d = l.Record({
425
425
  let i = t.trim();
426
426
  if (i === "*" || i === "") return { ok: !0 };
427
427
  let a = i.split(/\s+/).filter((e) => e.length > 0);
428
- for (let i of a) if (!Bt(i, r)) return {
428
+ for (let i of a) if (!Ht(i, r)) return {
429
429
  ok: !1,
430
430
  reason: `plugin "${e}" requires framework ${t}, running ${n}`
431
431
  };
@@ -438,7 +438,7 @@ var We = l.Union(l.String, l.Number), d = l.Record({
438
438
  patch: Number(t[3]),
439
439
  pre: t[4] ?? ""
440
440
  } : null;
441
- }, q = (e, t) => e.major === t.major ? e.minor === t.minor ? e.patch === t.patch ? e.pre && !t.pre ? -1 : !e.pre && t.pre ? 1 : e.pre && t.pre ? e.pre < t.pre ? -1 : +(e.pre > t.pre) : 0 : e.patch - t.patch : e.minor - t.minor : e.major - t.major, Bt = (e, t) => {
441
+ }, q = (e, t) => e.major === t.major ? e.minor === t.minor ? e.patch === t.patch ? e.pre && !t.pre ? -1 : !e.pre && t.pre ? 1 : e.pre && t.pre ? e.pre < t.pre ? -1 : +(e.pre > t.pre) : 0 : e.patch - t.patch : e.minor - t.minor : e.major - t.major, Ht = (e, t) => {
442
442
  if (e === "*") return !0;
443
443
  if (e.startsWith("^")) {
444
444
  let n = K(e.slice(1));
@@ -460,253 +460,253 @@ var We = l.Union(l.String, l.Number), d = l.Record({
460
460
  }
461
461
  let r = K(e);
462
462
  return r ? q(t, r) === 0 : !1;
463
- }, J = l.Literal("running", "succeeded", "failed", "cancelled", "suspended"), Vt = l.Literal("cancel", "terminate", "abandon"), Ht = l.Struct({
464
- mode: l.String,
465
- dueAt: l.NullOr(l.Number),
466
- retryAfterMs: l.NullOr(l.Number),
467
- intentId: l.NullOr(l.String)
468
- }), Ut = l.Struct({
469
- id: l.String,
470
- workflowName: l.String,
471
- executionId: l.NullOr(l.String),
472
- status: l.Literal("running", "queued", "dropped", "skipped"),
473
- deferral: l.optional(Ht)
474
- }), Y = l.Struct({
475
- id: l.String,
476
- tag: l.String,
477
- executionId: l.String,
463
+ }, J = c.Literal("running", "succeeded", "failed", "cancelled", "suspended"), Ut = c.Literal("cancel", "terminate", "abandon"), Wt = c.Struct({
464
+ mode: c.String,
465
+ dueAt: c.NullOr(c.Number),
466
+ retryAfterMs: c.NullOr(c.Number),
467
+ intentId: c.NullOr(c.String)
468
+ }), Gt = c.Struct({
469
+ id: c.String,
470
+ workflowName: c.String,
471
+ executionId: c.NullOr(c.String),
472
+ status: c.Literal("running", "queued", "dropped", "skipped"),
473
+ deferral: c.optional(Wt)
474
+ }), Y = c.Struct({
475
+ id: c.String,
476
+ tag: c.String,
477
+ executionId: c.String,
478
478
  status: J,
479
- payload: l.Unknown,
480
- workflowVersion: l.NullOr(l.String),
481
- workflowPatches: l.NullOr(l.Unknown),
482
- output: l.NullOr(l.Unknown),
483
- subject: l.NullOr(l.Unknown),
484
- source: l.NullOr(l.String),
485
- errorTag: l.NullOr(l.String),
486
- errorMessage: l.NullOr(l.String),
487
- cancelled: l.Boolean,
488
- startedAt: l.Date,
489
- completedAt: l.NullOr(l.Date),
490
- durationMs: l.NullOr(l.Number),
491
- traceId: l.NullOr(l.String),
492
- parentExecutionId: l.NullOr(l.String),
493
- parentClosePolicy: l.NullOr(Vt)
494
- }), Wt = l.Struct({
495
- tag: l.optional(l.String),
496
- status: l.optional(J),
497
- limit: l.optional(l.Number)
498
- }), Gt = l.Struct({
499
- id: l.String,
500
- runId: l.String,
501
- stepName: l.String,
502
- attempt: l.Number,
503
- status: l.Literal("running", "succeeded", "failed"),
504
- input: l.NullOr(l.Unknown),
505
- retryPolicy: l.NullOr(l.Unknown),
506
- output: l.NullOr(l.Unknown),
507
- errorTag: l.NullOr(l.String),
508
- errorMessage: l.NullOr(l.String),
509
- errorCause: l.NullOr(l.Unknown),
510
- startedAt: l.Date,
511
- completedAt: l.NullOr(l.Date),
512
- durationMs: l.NullOr(l.Number)
513
- }), Kt = l.Struct({
514
- id: l.String,
515
- runId: l.String,
516
- eventType: l.String,
517
- payload: l.NullOr(l.Unknown),
518
- occurredAt: l.Date,
519
- stepName: l.NullOr(l.String),
520
- attempt: l.NullOr(l.Number)
521
- }), qt = l.Struct({
522
- id: l.String,
523
- name: l.String,
524
- payload: l.Unknown,
525
- source: l.String,
526
- subject: l.NullOr(l.Unknown),
527
- traceId: l.NullOr(l.String),
528
- occurredAt: l.Date
529
- }), Jt = l.Struct({
530
- id: l.String,
531
- eventId: l.String,
532
- eventName: l.String,
533
- triggerId: l.String,
534
- workflowName: l.String,
535
- executionId: l.NullOr(l.String),
536
- status: l.Literal("starting", "started", "skipped", "failed"),
537
- idempotencyKey: l.String,
538
- skipped: l.Boolean,
539
- errorMessage: l.NullOr(l.String),
540
- createdAt: l.Date,
541
- completedAt: l.NullOr(l.Date)
542
- }), Yt = l.Struct({ id: l.String }), X = l.Struct({ runId: l.String }), Xt = l.Struct({
543
- name: l.optional(l.String),
544
- limit: l.optional(l.Number)
545
- }), Zt = l.Struct({ eventId: l.String }), Z = l.Struct({
546
- workflowName: l.String,
547
- executionId: l.String
548
- }), Qt = l.Struct({
549
- id: l.String,
550
- signalName: l.String,
551
- payload: l.optional(l.Unknown)
552
- }), $t = l.Struct({
553
- id: l.String,
554
- updateName: l.String,
555
- payload: l.optional(l.Unknown),
556
- timeoutMs: l.optional(l.Number)
557
- }), en = l.Struct({
558
- eventId: l.String,
559
- updateId: l.String,
560
- completedEventId: l.String,
561
- result: l.Unknown
562
- }), tn = B({
479
+ payload: c.Unknown,
480
+ workflowVersion: c.NullOr(c.String),
481
+ workflowPatches: c.NullOr(c.Unknown),
482
+ output: c.NullOr(c.Unknown),
483
+ subject: c.NullOr(c.Unknown),
484
+ source: c.NullOr(c.String),
485
+ errorTag: c.NullOr(c.String),
486
+ errorMessage: c.NullOr(c.String),
487
+ cancelled: c.Boolean,
488
+ startedAt: c.Date,
489
+ completedAt: c.NullOr(c.Date),
490
+ durationMs: c.NullOr(c.Number),
491
+ traceId: c.NullOr(c.String),
492
+ parentExecutionId: c.NullOr(c.String),
493
+ parentClosePolicy: c.NullOr(Ut)
494
+ }), Kt = c.Struct({
495
+ tag: c.optional(c.String),
496
+ status: c.optional(J),
497
+ limit: c.optional(c.Number)
498
+ }), qt = c.Struct({
499
+ id: c.String,
500
+ runId: c.String,
501
+ stepName: c.String,
502
+ attempt: c.Number,
503
+ status: c.Literal("running", "succeeded", "failed"),
504
+ input: c.NullOr(c.Unknown),
505
+ retryPolicy: c.NullOr(c.Unknown),
506
+ output: c.NullOr(c.Unknown),
507
+ errorTag: c.NullOr(c.String),
508
+ errorMessage: c.NullOr(c.String),
509
+ errorCause: c.NullOr(c.Unknown),
510
+ startedAt: c.Date,
511
+ completedAt: c.NullOr(c.Date),
512
+ durationMs: c.NullOr(c.Number)
513
+ }), Jt = c.Struct({
514
+ id: c.String,
515
+ runId: c.String,
516
+ eventType: c.String,
517
+ payload: c.NullOr(c.Unknown),
518
+ occurredAt: c.Date,
519
+ stepName: c.NullOr(c.String),
520
+ attempt: c.NullOr(c.Number)
521
+ }), Yt = c.Struct({
522
+ id: c.String,
523
+ name: c.String,
524
+ payload: c.Unknown,
525
+ source: c.String,
526
+ subject: c.NullOr(c.Unknown),
527
+ traceId: c.NullOr(c.String),
528
+ occurredAt: c.Date
529
+ }), Xt = c.Struct({
530
+ id: c.String,
531
+ eventId: c.String,
532
+ eventName: c.String,
533
+ triggerId: c.String,
534
+ workflowName: c.String,
535
+ executionId: c.NullOr(c.String),
536
+ status: c.Literal("starting", "started", "skipped", "failed"),
537
+ idempotencyKey: c.String,
538
+ skipped: c.Boolean,
539
+ errorMessage: c.NullOr(c.String),
540
+ createdAt: c.Date,
541
+ completedAt: c.NullOr(c.Date)
542
+ }), Zt = c.Struct({ id: c.String }), X = c.Struct({ runId: c.String }), Qt = c.Struct({
543
+ name: c.optional(c.String),
544
+ limit: c.optional(c.Number)
545
+ }), $t = c.Struct({ eventId: c.String }), Z = c.Struct({
546
+ workflowName: c.String,
547
+ executionId: c.String
548
+ }), en = c.Struct({
549
+ id: c.String,
550
+ signalName: c.String,
551
+ payload: c.optional(c.Unknown)
552
+ }), tn = c.Struct({
553
+ id: c.String,
554
+ updateName: c.String,
555
+ payload: c.optional(c.Unknown),
556
+ timeoutMs: c.optional(c.Number)
557
+ }), nn = c.Struct({
558
+ eventId: c.String,
559
+ updateId: c.String,
560
+ completedEventId: c.String,
561
+ result: c.Unknown
562
+ }), rn = B({
563
563
  name: "__voltro.workflow.run",
564
564
  source: "_voltro_workflow_runs",
565
- input: Yt,
566
- output: l.Array(Y)
567
- }), nn = B({
565
+ input: Zt,
566
+ output: c.Array(Y)
567
+ }), an = B({
568
568
  name: "__voltro.workflow.runs",
569
569
  source: "_voltro_workflow_runs",
570
- input: Wt,
571
- output: l.Array(Y)
572
- }), rn = B({
570
+ input: Kt,
571
+ output: c.Array(Y)
572
+ }), on = B({
573
573
  name: "__voltro.workflow.run.steps",
574
574
  source: "_voltro_workflow_run_steps",
575
575
  input: X,
576
- output: l.Array(Gt)
577
- }), an = B({
576
+ output: c.Array(qt)
577
+ }), sn = B({
578
578
  name: "__voltro.workflow.run.events",
579
579
  source: "_voltro_workflow_run_events",
580
580
  input: X,
581
- output: l.Array(Kt)
582
- }), on = B({
581
+ output: c.Array(Jt)
582
+ }), cn = B({
583
583
  name: "__voltro.workflow.domainEvents",
584
584
  source: "_voltro_workflow_events",
585
- input: Xt,
586
- output: l.Array(qt)
587
- }), sn = B({
585
+ input: Qt,
586
+ output: c.Array(Yt)
587
+ }), ln = B({
588
588
  name: "__voltro.workflow.event.deliveries",
589
589
  source: "_voltro_workflow_event_deliveries",
590
- input: Zt,
591
- output: l.Array(Jt)
592
- }), cn = H({
590
+ input: $t,
591
+ output: c.Array(Xt)
592
+ }), un = H({
593
593
  name: "__voltro.workflow.cancel",
594
594
  input: Z,
595
- output: l.Struct({ ok: l.Boolean })
596
- }), ln = H({
595
+ output: c.Struct({ ok: c.Boolean })
596
+ }), dn = H({
597
597
  name: "__voltro.workflow.resume",
598
598
  input: Z,
599
- output: l.Struct({ ok: l.Boolean })
600
- }), un = H({
599
+ output: c.Struct({ ok: c.Boolean })
600
+ }), fn = H({
601
601
  name: "__voltro.workflow.signal",
602
- input: Qt,
603
- output: l.Struct({ eventId: l.String })
604
- }), dn = H({
602
+ input: en,
603
+ output: c.Struct({ eventId: c.String })
604
+ }), pn = H({
605
605
  name: "__voltro.workflow.update",
606
- input: $t,
607
- output: en
608
- }), fn = "__voltro.undo.log", pn = "__voltro.undo.apply", mn = "__voltro.undo.redo", hn = l.Struct({
609
- id: l.String,
610
- tag: l.String,
611
- label: l.NullOr(l.String),
612
- undone: l.Boolean,
613
- crossesAction: l.Boolean,
614
- createdAt: l.String
615
- }), gn = class extends l.TaggedError()("UndoNotFound", { invocationId: l.String }) {}, _n = class extends l.TaggedError()("UndoForbidden", { invocationId: l.String }) {}, vn = class extends l.TaggedError()("UndoConflict", {
616
- invocationId: l.String,
617
- reason: l.Literal("conflict", "action")
618
- }) {}, yn = l.Union(gn, _n, vn), bn = B({
619
- name: fn,
606
+ input: tn,
607
+ output: nn
608
+ }), mn = "__voltro.undo.log", hn = "__voltro.undo.apply", gn = "__voltro.undo.redo", _n = c.Struct({
609
+ id: c.String,
610
+ tag: c.String,
611
+ label: c.NullOr(c.String),
612
+ undone: c.Boolean,
613
+ crossesAction: c.Boolean,
614
+ createdAt: c.String
615
+ }), vn = class extends c.TaggedError()("UndoNotFound", { invocationId: c.String }) {}, yn = class extends c.TaggedError()("UndoForbidden", { invocationId: c.String }) {}, bn = class extends c.TaggedError()("UndoConflict", {
616
+ invocationId: c.String,
617
+ reason: c.Literal("conflict", "action")
618
+ }) {}, xn = c.Union(vn, yn, bn), Sn = B({
619
+ name: mn,
620
620
  source: "_voltro_undo_log",
621
- input: l.Struct({ limit: l.optional(l.Number) }),
622
- output: l.Array(hn),
621
+ input: c.Struct({ limit: c.optional(c.Number) }),
622
+ output: c.Array(_n),
623
623
  openAccess: "subject-scoped by construction: lists only the calling subject's own undoable actions"
624
- }), xn = V({
625
- name: pn,
626
- input: l.Struct({ invocationId: l.String }),
627
- output: l.Struct({ ok: l.Boolean }),
628
- error: yn,
624
+ }), Cn = V({
625
+ name: hn,
626
+ input: c.Struct({ invocationId: c.String }),
627
+ output: c.Struct({ ok: c.Boolean }),
628
+ error: xn,
629
629
  openAccess: "subject-scoped by construction: undo is per-actor — another subject's invocation fails typed with UndoForbidden"
630
- }), Sn = V({
631
- name: mn,
632
- input: l.Struct({ invocationId: l.String }),
633
- output: l.Struct({ ok: l.Boolean }),
634
- error: yn,
630
+ }), wn = V({
631
+ name: gn,
632
+ input: c.Struct({ invocationId: c.String }),
633
+ output: c.Struct({ ok: c.Boolean }),
634
+ error: xn,
635
635
  openAccess: "subject-scoped by construction: redo is per-actor — another subject's invocation fails typed with UndoForbidden"
636
- }), Cn = "__voltro.approvals.pending", wn = "__voltro.approvals.decide", Tn = B({
637
- name: Cn,
636
+ }), Tn = "__voltro.approvals.pending", En = "__voltro.approvals.decide", Dn = B({
637
+ name: Tn,
638
638
  source: "_voltro_approvals",
639
- input: l.Struct({ limit: l.optional(l.Number) }),
640
- output: l.Array(k),
639
+ input: c.Struct({ limit: c.optional(c.Number) }),
640
+ output: c.Array(O),
641
641
  openAccess: "the answer is scoped to the caller — a row appears only if they requested it or hold its recorded approver scopes, so an anonymous caller sees nothing"
642
- }), En = V({
643
- name: wn,
644
- input: l.Struct({
645
- approvalId: l.String,
646
- decision: l.Literal("approve", "reject"),
647
- note: l.optional(l.String)
642
+ }), On = V({
643
+ name: En,
644
+ input: c.Struct({
645
+ approvalId: c.String,
646
+ decision: c.Literal("approve", "reject"),
647
+ note: c.optional(c.String)
648
648
  }),
649
- output: l.Struct({
650
- approvalId: l.String,
651
- status: l.Literal("approved", "rejected")
649
+ output: c.Struct({
650
+ approvalId: c.String,
651
+ status: c.Literal("approved", "rejected")
652
652
  }),
653
- error: O,
653
+ error: D,
654
654
  openAccess: "the approver authority is the PENDING ROW's own recorded scopes (plus an unconditional self-approval refusal), checked in-handler — a descriptor-level scope would have to be the union of every approval-requiring procedure in the app"
655
- }), Dn = "__voltro.connections.list", On = "__voltro.connections.start", kn = "__voltro.connections.submitToken", An = "__voltro.connections.disconnect", Q = l.Literal("oauth2", "pat"), jn = l.Literal("disconnected", "connected", "expired", "revoked", "error"), Mn = l.Struct({
656
- connectionId: l.String,
655
+ }), kn = "__voltro.connections.list", An = "__voltro.connections.start", jn = "__voltro.connections.submitToken", Mn = "__voltro.connections.disconnect", Q = c.Literal("oauth2", "pat"), Nn = c.Literal("disconnected", "connected", "expired", "revoked", "error"), Pn = c.Struct({
656
+ connectionId: c.String,
657
657
  kind: Q,
658
- label: l.String,
659
- status: jn,
660
- accountId: l.NullOr(l.String),
661
- accountLabel: l.NullOr(l.String),
662
- scopes: l.Array(l.String),
663
- expiresAt: l.NullOr(l.String),
664
- lastError: l.NullOr(l.String),
665
- connectedAt: l.NullOr(l.String)
666
- }), Nn = class extends l.TaggedError()("ConnectionNotDeclared", { connectionId: l.String }) {}, Pn = class extends l.TaggedError()("ConnectionSubjectRequired", { connectionId: l.String }) {}, Fn = class extends l.TaggedError()("ConnectionKindMismatch", {
667
- connectionId: l.String,
658
+ label: c.String,
659
+ status: Nn,
660
+ accountId: c.NullOr(c.String),
661
+ accountLabel: c.NullOr(c.String),
662
+ scopes: c.Array(c.String),
663
+ expiresAt: c.NullOr(c.String),
664
+ lastError: c.NullOr(c.String),
665
+ connectedAt: c.NullOr(c.String)
666
+ }), Fn = class extends c.TaggedError()("ConnectionNotDeclared", { connectionId: c.String }) {}, In = class extends c.TaggedError()("ConnectionSubjectRequired", { connectionId: c.String }) {}, Ln = class extends c.TaggedError()("ConnectionKindMismatch", {
667
+ connectionId: c.String,
668
668
  expected: Q,
669
669
  actual: Q
670
- }) {}, In = class extends l.TaggedError()("ConnectionHandshakeFailed", {
671
- connectionId: l.String,
672
- reason: l.String,
673
- transient: l.Boolean
674
- }) {}, $ = l.Union(Nn, Pn, Fn, In), Ln = B({
675
- name: Dn,
670
+ }) {}, Rn = class extends c.TaggedError()("ConnectionHandshakeFailed", {
671
+ connectionId: c.String,
672
+ reason: c.String,
673
+ transient: c.Boolean
674
+ }) {}, $ = c.Union(Fn, In, Ln, Rn), zn = B({
675
+ name: kn,
676
676
  source: "_voltro_connections",
677
- input: l.Struct({}),
678
- output: l.Array(Mn),
677
+ input: c.Struct({}),
678
+ output: c.Array(Pn),
679
679
  openAccess: "self-scoped read: projects the declared connections for the calling subject only (its own connect/disconnect state)"
680
- }), Rn = H({
681
- name: On,
682
- input: l.Struct({
683
- connectionId: l.String,
684
- redirectTo: l.optional(l.String)
680
+ }), Bn = H({
681
+ name: An,
682
+ input: c.Struct({
683
+ connectionId: c.String,
684
+ redirectTo: c.optional(c.String)
685
685
  }),
686
- output: l.Struct({
687
- authorizeUrl: l.String,
688
- state: l.String
686
+ output: c.Struct({
687
+ authorizeUrl: c.String,
688
+ state: c.String
689
689
  }),
690
690
  error: $,
691
691
  openAccess: "self-service: begins an oauth handshake that stores a credential for the calling subject only; anonymous callers fail typed with ConnectionSubjectRequired"
692
- }), zn = V({
693
- name: kn,
694
- input: l.Struct({
695
- connectionId: l.String,
696
- token: l.String
692
+ }), Vn = V({
693
+ name: jn,
694
+ input: c.Struct({
695
+ connectionId: c.String,
696
+ token: c.String
697
697
  }),
698
- output: l.Struct({ ok: l.Boolean }),
698
+ output: c.Struct({ ok: c.Boolean }),
699
699
  error: $,
700
700
  openAccess: "self-service: stores a pasted token as the calling subject's own credential; anonymous callers fail typed with ConnectionSubjectRequired"
701
- }), Bn = V({
702
- name: An,
703
- input: l.Struct({ connectionId: l.String }),
704
- output: l.Struct({ ok: l.Boolean }),
701
+ }), Hn = V({
702
+ name: Mn,
703
+ input: c.Struct({ connectionId: c.String }),
704
+ output: c.Struct({ ok: c.Boolean }),
705
705
  error: $,
706
706
  openAccess: "self-service: deletes only the calling subject's own credential row for this connection"
707
- }), Vn = (e) => {
707
+ }), Un = (e) => {
708
708
  let t = e instanceof Date ? e.getTime() : typeof e == "number" ? e : typeof e == "string" ? new Date(e).getTime() : 0;
709
709
  return Number.isNaN(t) ? 0 : t;
710
- }, Hn = 1;
710
+ }, Wn = 1;
711
711
  //#endregion
712
- export { je as ADMIN_SCOPE, oe as APIKEY_ISSUE_ORG_SCOPE, n as APIKEY_ISSUE_OTHER_SCOPE, Ae as APIKEY_ISSUE_SELF_SCOPE, wn as APPROVALS_DECIDE_TAG, Cn as APPROVALS_PENDING_TAG, O as ApprovalDecisionErrors, D as ApprovalErrors, C as ApprovalExpired, T as ApprovalForbidden, b as ApprovalNotFound, w as ApprovalNotPending, S as ApprovalRejected, y as ApprovalRequired, x as ApprovalSelfApproval, E as ApprovalUnavailable, De as AuthMiddleware, v as BusinessRuleViolation, Dn as CONNECTIONS_LIST_TAG, An as CONNECTION_DISCONNECT_TAG, On as CONNECTION_START_TAG, kn as CONNECTION_SUBMIT_TOKEN_TAG, In as ConnectionHandshakeFailed, Se as ConnectionInfo, Te as ConnectionInfoMiddleware, Q as ConnectionKind, Fn as ConnectionKindMismatch, Nn as ConnectionNotDeclared, Mn as ConnectionState, jn as ConnectionStatus, Pn as ConnectionSubjectRequired, _e as DEFAULT_SCOPE_CACHE_MAX_ENTRIES, ue as DEFAULT_SCOPE_CACHE_TTL_MS, At as EVENT_ROUTE_SEP, Dt as EventKeyInvalid, Et as EventPayloadInvalid, Ot as EventPayloadTooLarge, _t as MAX_EVENT_ENVELOPE_BYTES, Hn as PROTOCOL_VERSION, k as PendingApproval, A as REACTIVITY_CHANNEL_PREFIX, c as ScopeError, Ce as Subject, Ee as SubjectIdentity, fe as SubjectService, pn as UNDO_APPLY_TAG, fn as UNDO_LOG_TAG, mn as UNDO_REDO_TAG, be as Unauthenticated, vn as UndoConflict, _n as UndoForbidden, hn as UndoLogEntry, gn as UndoNotFound, Z as WorkflowControlInputSchema, qt as WorkflowDomainEventRowSchema, Xt as WorkflowDomainEventsInputSchema, Zt as WorkflowEventDeliveriesInputSchema, Jt as WorkflowEventDeliveryRowSchema, Vt as WorkflowParentClosePolicySchema, Kt as WorkflowRunEventRowSchema, Ut as WorkflowRunHandleSchema, Yt as WorkflowRunRefSchema, Y as WorkflowRunRowSchema, J as WorkflowRunStatusSchema, Gt as WorkflowRunStepRowSchema, X as WorkflowRunTableRefSchema, Wt as WorkflowRunsInputSchema, Qt as WorkflowSignalInputSchema, Ht as WorkflowStartDeferralSchema, $t as WorkflowUpdateInputSchema, en as WorkflowUpdateResultSchema, ft as actionToRpc, i as advisoryResourceGuardWarning, Oe as anonymousSubject, Ye as applyRowPatch, pe as applyScopeDecision, En as approvalsDecideDescriptor, Tn as approvalsPendingQueryDescriptor, me as assertAuthenticated, ze as beginIdempotent, zt as checkFrameworkCompat, r as checkGuards, ie as checkGuardsEffect, we as composeAuthStrategies, Lt as composeRpcInterceptors, Bn as connectionDisconnectDescriptor, Rn as connectionStartDescriptor, zn as connectionSubmitTokenDescriptor, Ln as connectionsListQueryDescriptor, I as declaredReactivityChannelKeys, H as defineAction, yt as defineEvent, V as defineMutation, Pt as definePlugin, Ft as definePluginRoute, Rt as definePluginService, B as defineQuery, st as defineStream, qe as diffRows, ye as effectiveScopes, kt as encodeEventKey, mt as errorTag, G as eventAttached, bt as eventEnvelope, xt as eventGap, Ct as eventResumePoint, jt as eventRoute, St as eventStreamEvent, wt as eventSubscribeInput, Tt as eventToRpc, Ie as failIdempotent, e as findAdvisoryResourceGuards, Pe as finishIdempotent, Nt as formatEventRoute, ve as getPolicyGuardResolver, ne as getResourceScopeResolver, ot as hasAccessDecision, xe as hasCallbackRoutes, re as hasEffectiveScope, ae as hasScope, m as idToPath, Re as idempotencyScope, vt as isEventDescriptor, Je as isIdKeyed, a as isOpenAccess, ee as isPolicyCheck, at as isPolicyGuard, P as isReactivityChannel, F as isReactivityChannelKey, ge as isSystemSubject, rt as isWireReachable, he as makeScopeCache, Be as memoryIdempotencyStore, te as missingAccessDecision, dt as mutationToRpc, gt as normalizeDescriptor, et as normalizeSource, s as openAccessSpec, Mt as parseEventRoute, Ge as pathToId, It as pluginInstanceName, nt as publishReactivity, Ve as publishServerError, ut as queryToRpc, Qe as reactivityChannel, Ne as requireScope, f as rowPatchOpSchema, p as rowPatchSchema, le as scopeCacheKey, t as setEffectiveScopes, ce as setPolicyGuardResolver, o as setResourceScopeResolver, $e as sourceKeys, pt as streamToRpc, _ as strictInput, ke as subjectIdentity, se as subjectScopes, Le as subscribeServerErrors, g as subscriptionEvent, Me as systemSubject, de as tenantScopedSubject, ht as toRpc, Vn as tsMs, tt as undeclaredChannelKeys, xn as undoApplyDescriptor, bn as undoLogQueryDescriptor, Sn as undoRedoDescriptor, cn as workflowCancelDescriptor, on as workflowDomainEventsQueryDescriptor, sn as workflowEventDeliveriesQueryDescriptor, ln as workflowResumeDescriptor, an as workflowRunEventsQueryDescriptor, tn as workflowRunQueryDescriptor, rn as workflowRunStepsQueryDescriptor, nn as workflowRunsQueryDescriptor, un as workflowSignalDescriptor, dn as workflowUpdateDescriptor, Fe as wsMutationIdempotencyScope };
712
+ export { n as ADMIN_SCOPE, Ne as APIKEY_ISSUE_ORG_SCOPE, ce as APIKEY_ISSUE_OTHER_SCOPE, i as APIKEY_ISSUE_SELF_SCOPE, En as APPROVALS_DECIDE_TAG, Tn as APPROVALS_PENDING_TAG, D as ApprovalDecisionErrors, E as ApprovalErrors, S as ApprovalExpired, w as ApprovalForbidden, y as ApprovalNotFound, C as ApprovalNotPending, x as ApprovalRejected, v as ApprovalRequired, b as ApprovalSelfApproval, T as ApprovalUnavailable, Ae as AuthMiddleware, _ as BusinessRuleViolation, kn as CONNECTIONS_LIST_TAG, Mn as CONNECTION_DISCONNECT_TAG, An as CONNECTION_START_TAG, jn as CONNECTION_SUBMIT_TOKEN_TAG, Rn as ConnectionHandshakeFailed, Te as ConnectionInfo, Oe as ConnectionInfoMiddleware, Q as ConnectionKind, Ln as ConnectionKindMismatch, Fn as ConnectionNotDeclared, Pn as ConnectionState, Nn as ConnectionStatus, In as ConnectionSubjectRequired, be as DEFAULT_SCOPE_CACHE_MAX_ENTRIES, pe as DEFAULT_SCOPE_CACHE_TTL_MS, Mt as EVENT_ROUTE_SEP, kt as EventKeyInvalid, Ot as EventPayloadInvalid, At as EventPayloadTooLarge, Ee as IMPERSONATION_METADATA_KEY, vt as MAX_EVENT_ENVELOPE_BYTES, Wn as PROTOCOL_VERSION, O as PendingApproval, k as REACTIVITY_CHANNEL_PREFIX, r as ScopeError, ke as Subject, he as SubjectIdentity, Ce as SubjectService, hn as UNDO_APPLY_TAG, mn as UNDO_LOG_TAG, gn as UNDO_REDO_TAG, je as Unauthenticated, bn as UndoConflict, yn as UndoForbidden, _n as UndoLogEntry, vn as UndoNotFound, Z as WorkflowControlInputSchema, Yt as WorkflowDomainEventRowSchema, Qt as WorkflowDomainEventsInputSchema, $t as WorkflowEventDeliveriesInputSchema, Xt as WorkflowEventDeliveryRowSchema, Ut as WorkflowParentClosePolicySchema, Jt as WorkflowRunEventRowSchema, Gt as WorkflowRunHandleSchema, Zt as WorkflowRunRefSchema, Y as WorkflowRunRowSchema, J as WorkflowRunStatusSchema, qt as WorkflowRunStepRowSchema, X as WorkflowRunTableRefSchema, Kt as WorkflowRunsInputSchema, en as WorkflowSignalInputSchema, Wt as WorkflowStartDeferralSchema, tn as WorkflowUpdateInputSchema, nn as WorkflowUpdateResultSchema, pt as actionToRpc, ie as advisoryResourceGuardWarning, ge as anonymousSubject, Qe as applyRowPatch, _e as applyScopeDecision, On as approvalsDecideDescriptor, Dn as approvalsPendingQueryDescriptor, De as assertAuthenticated, He as beginIdempotent, Vt as checkFrameworkCompat, Se as checkGuards, e as checkGuardsEffect, we as composeAuthStrategies, zt as composeRpcInterceptors, Hn as connectionDisconnectDescriptor, Bn as connectionStartDescriptor, Vn as connectionSubmitTokenDescriptor, zn as connectionsListQueryDescriptor, F as declaredReactivityChannelKeys, H as defineAction, bt as defineEvent, V as defineMutation, It as definePlugin, Lt as definePluginRoute, Bt as definePluginService, B as defineQuery, lt as defineStream, Xe as diffRows, xe as effectiveScopes, jt as encodeEventKey, ht as errorTag, Ct as eventAttached, xt as eventEnvelope, St as eventGap, Tt as eventResumePoint, Nt as eventRoute, wt as eventStreamEvent, Et as eventSubscribeInput, Dt as eventToRpc, ze as failIdempotent, ne as findAdvisoryResourceGuards, Le as finishIdempotent, Ft as formatEventRoute, re as getPolicyGuardResolver, ae as getResourceScopeResolver, ct as hasAccessDecision, ye as hasCallbackRoutes, a as hasEffectiveScope, te as hasScope, p as idToPath, Ve as idempotencyScope, yt as isEventDescriptor, Ze as isIdKeyed, s as isOpenAccess, oe as isPolicyCheck, st as isPolicyGuard, N as isReactivityChannel, P as isReactivityChannelKey, ve as isSystemSubject, at as isWireReachable, fe as makeScopeCache, Ue as memoryIdempotencyStore, Ie as missingAccessDecision, G as mutationToRpc, _t as normalizeDescriptor, nt as normalizeSource, t as openAccessSpec, Pt as parseEventRoute, Je as pathToId, Rt as pluginInstanceName, it as publishReactivity, We as publishServerError, ft as queryToRpc, Me as rawImpersonationMark, tt as reactivityChannel, ue as requireScope, d as rowPatchOpSchema, f as rowPatchSchema, Fe as scopeCacheKey, ee as setEffectiveScopes, le as setPolicyGuardResolver, de as setResourceScopeResolver, L as sourceKeys, mt as streamToRpc, g as strictInput, me as subjectIdentity, o as subjectScopes, Be as subscribeServerErrors, h as subscriptionEvent, Pe as systemSubject, se as tenantScopedSubject, gt as toRpc, Un as tsMs, rt as undeclaredChannelKeys, Cn as undoApplyDescriptor, Sn as undoLogQueryDescriptor, wn as undoRedoDescriptor, un as workflowCancelDescriptor, cn as workflowDomainEventsQueryDescriptor, ln as workflowEventDeliveriesQueryDescriptor, dn as workflowResumeDescriptor, sn as workflowRunEventsQueryDescriptor, rn as workflowRunQueryDescriptor, on as workflowRunStepsQueryDescriptor, an as workflowRunsQueryDescriptor, fn as workflowSignalDescriptor, pn as workflowUpdateDescriptor, Re as wsMutationIdempotencyScope };