@voltro/protocol 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.
Files changed (72) hide show
  1. package/CHANGELOG.md +169 -6
  2. package/THIRD-PARTY-NOTICES.md +3 -1346
  3. package/dist/apiRoleEndpoints.js +1 -2
  4. package/dist/apiRoleObservation.js +1 -2
  5. package/dist/apikey.js +1 -2
  6. package/dist/approval.js +1 -2
  7. package/dist/approvalDescriptors.js +1 -2
  8. package/dist/auth.js +1 -2
  9. package/dist/boundedRing.js +1 -2
  10. package/dist/businessRule.js +1 -2
  11. package/dist/canonicalJson.js +1 -2
  12. package/dist/connection.js +1 -2
  13. package/dist/devActivity.js +1 -2
  14. package/dist/errorSchema.js +1 -2
  15. package/dist/errorValue.js +1 -2
  16. package/dist/event.js +1 -2
  17. package/dist/formCapture.js +1 -2
  18. package/dist/httpStreamMaxDuration.js +1 -2
  19. package/dist/idempotency.js +1 -2
  20. package/dist/idempotencyInput.js +1 -2
  21. package/dist/identity.js +1 -2
  22. package/dist/index.js +1 -2
  23. package/dist/inspect.js +1 -2
  24. package/dist/inspectBackfill.js +1 -2
  25. package/dist/inspectCommandRejection.js +1 -2
  26. package/dist/inspectProjection.js +1 -2
  27. package/dist/inspectStorageProjection.js +1 -2
  28. package/dist/inspectValueIdentity.js +1 -2
  29. package/dist/inspectWorkflowExecution.js +1 -2
  30. package/dist/inspectWorkflowQueuedStart.js +1 -2
  31. package/dist/jsonSchema.js +1 -2
  32. package/dist/jwt.js +1 -2
  33. package/dist/outbox.js +1 -2
  34. package/dist/pairing.js +1 -2
  35. package/dist/plugin.js +1 -2
  36. package/dist/pluginAccountMerge.js +2 -3
  37. package/dist/pluginNaming.js +1 -2
  38. package/dist/pluginPrivacy.js +1 -2
  39. package/dist/procedure.js +1 -2
  40. package/dist/publicApi.js +1 -2
  41. package/dist/queryOptionalSources.js +1 -2
  42. package/dist/reactivityChannel.js +1 -2
  43. package/dist/rest.js +1 -2
  44. package/dist/restFormat.js +1 -2
  45. package/dist/restReceipt.js +1 -2
  46. package/dist/revalidate.js +1 -2
  47. package/dist/rowEquality.js +1 -2
  48. package/dist/rowPatch.js +1 -2
  49. package/dist/schemaShape.js +1 -2
  50. package/dist/scopes.js +1 -2
  51. package/dist/secretWindows.js +1 -2
  52. package/dist/serverErrorBus.js +1 -2
  53. package/dist/serviceCall.js +1 -2
  54. package/dist/session.js +1 -2
  55. package/dist/sessionHeader.js +1 -2
  56. package/dist/ssrfPolicy.js +1 -2
  57. package/dist/storageAccess.js +1 -2
  58. package/dist/storeErrors.js +1 -2
  59. package/dist/storeScreenshots.js +1 -2
  60. package/dist/strictInput.js +1 -2
  61. package/dist/subscriptionEvent.js +1 -2
  62. package/dist/tenantSelection.js +1 -2
  63. package/dist/time.js +1 -2
  64. package/dist/undo.js +1 -2
  65. package/dist/validation.js +1 -2
  66. package/dist/webSocketGateway.js +1 -2
  67. package/dist/workflow.js +1 -2
  68. package/dist/workflowAccess.js +1 -2
  69. package/dist/workflowRestart.js +1 -2
  70. package/dist/workflowRetry.js +1 -2
  71. package/dist/workflowStartOutcome.js +1 -2
  72. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
- //#region src/revalidate.ts
1
+ // src/revalidate.ts
2
2
  var e = (e) => {
3
3
  if (typeof e == "number" && Number.isFinite(e) && e > 0) return e * 1e3;
4
4
  if (typeof e != "string") return null;
@@ -9,5 +9,4 @@ var e = (e) => {
9
9
  let r = t[2].toLowerCase();
10
10
  return r === "s" || r.startsWith("second") ? n * 1e3 : r === "m" || r.startsWith("minute") ? n * 6e4 : r === "h" || r.startsWith("hour") ? n * 36e5 : r === "d" || r.startsWith("day") ? n * 864e5 : null;
11
11
  };
12
- //#endregion
13
12
  export { e as parseRevalidateMs };
@@ -1,4 +1,4 @@
1
- //#region src/rowEquality.ts
1
+ // src/rowEquality.ts
2
2
  var e = (e) => e instanceof Uint8Array && Object.getPrototypeOf(e) === Uint8Array.prototype && !("toJSON" in e) && Object.keys(e).length === e.length, t = (e) => {
3
3
  let t = Object.getPrototypeOf(e);
4
4
  return (t === null || t === Object.prototype) && !("toJSON" in e) && !("toJSON" in Object.prototype);
@@ -27,5 +27,4 @@ var e = (e) => e instanceof Uint8Array && Object.getPrototypeOf(e) === Uint8Arra
27
27
  }
28
28
  return s;
29
29
  };
30
- //#endregion
31
30
  export { i as flatRowsEqual };
package/dist/rowPatch.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { flatRowsEqual as e } from "./rowEquality.js";
2
2
  import { Result as t, Schema as n, SchemaGetter as r } from "effect";
3
3
  import * as i from "effect/encoding/Base64";
4
- //#region src/rowPatch.ts
4
+ // src/rowPatch.ts
5
5
  var a = n.Union([n.String, n.Number]), o = (e) => typeof e == "object" && !!e && !Array.isArray(e) && Object.keys(e).length === 1 && typeof e.$bytes == "string", s = n.Unknown.pipe(n.decodeTo(n.Unknown, {
6
6
  decode: r.transform((e) => {
7
7
  if (!o(e)) return e;
@@ -178,5 +178,4 @@ var a = n.Union([n.String, n.Number]), o = (e) => typeof e == "object" && !!e &&
178
178
  }
179
179
  };
180
180
  };
181
- //#endregion
182
181
  export { v as applyRowPatch, b as createRowPatchApplier, g as diffRows, d as idToPath, _ as isIdKeyed, s as patchCellSchema, f as pathToId, l as rowPatchOpSchema, u as rowPatchSchema };
@@ -1,5 +1,5 @@
1
1
  import { RpcSchema as e } from "effect/rpc";
2
- //#region src/schemaShape.ts
2
+ // src/schemaShape.ts
3
3
  var t = (e) => typeof e == "object" && !!e && typeof e._tag == "string", n = 64, r = (e, i = 0) => {
4
4
  if (!t(e)) return String(e);
5
5
  if (i >= n) return "…";
@@ -63,5 +63,4 @@ var t = (e) => typeof e == "object" && !!e && typeof e._tag == "string", n = 64,
63
63
  missingHere: r.sort()
64
64
  };
65
65
  };
66
- //#endregion
67
66
  export { c as compareSurfaces, s as groupShapeDigests, o as procedureShapeDigest, r as schemaShape, i as shapeDigest };
package/dist/scopes.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RequestedTenantRefused as e } from "./tenantSelection.js";
2
2
  import { Unauthenticated as t, currentSubjectAuthority as n, reauthorizeSubject as r } from "./auth.js";
3
3
  import { Effect as i, Schema as a } from "effect";
4
- //#region src/scopes.ts
4
+ // src/scopes.ts
5
5
  var o = "admin:full", s = "apikeys:issue:self", c = "apikeys:issue:org", l = "apikeys:issue:other", u = "devices:manage", d = class extends a.TaggedError()("ScopeError", {
6
6
  required: a.String,
7
7
  message: a.String
@@ -269,5 +269,4 @@ var o = "admin:full", s = "apikeys:issue:self", c = "apikeys:issue:org", l = "ap
269
269
  onFailure: (n) => a.is(t)(n) || a.is(e)(n) ? i.succeed(n) : i.die(n),
270
270
  onSuccess: (e) => Q(e, o, s, c)
271
271
  }));
272
- //#endregion
273
272
  export { o as ADMIN_SCOPE, c as APIKEY_ISSUE_ORG_SCOPE, l as APIKEY_ISSUE_OTHER_SCOPE, s as APIKEY_ISSUE_SELF_SCOPE, u as DEVICES_MANAGE_SCOPE, f as NoSuchResource, d as ScopeError, B as advisoryResourceGuardWarning, Y as checkGuards, Q as checkGuardsEffect, T as declaresResourceGuard, y as effectiveScopes, z as findAdvisoryResourceGuards, W as getPolicyGuardResolver, V as getResourceScopeResolver, b as hasEffectiveScope, x as hasScope, j as isAuthenticatedCheck, E as isOpenAccess, w as isPolicyCheck, D as isServiceAccess, M as isUpgradedCheck, G as missingAccessDecision, F as openAccessSpec, $ as recheckGuardsEffect, _ as refreshEffectiveScopes, S as requireScope, C as resolvePolicyAction, O as serviceAccessSpec, k as serviceCallersOf, v as setEffectiveScopes, g as setEffectiveScopesRefresher, U as setPolicyGuardResolver, R as setResourceScopeResolver, p as subjectScopes, N as upgradedGuardShapeError };
@@ -1,5 +1,5 @@
1
1
  import { createHash as e, createHmac as t, timingSafeEqual as n } from "node:crypto";
2
- //#region src/secretWindows.ts
2
+ // src/secretWindows.ts
3
3
  var r = (e) => t("sha256", e).update("voltro:secret-fingerprint:v1").digest("hex").slice(0, 16), i = Symbol.for("voltro.secretWindows"), a = () => {
4
4
  let e = globalThis;
5
5
  return e[i] ??= {
@@ -67,5 +67,4 @@ var r = (e) => t("sha256", e).update("voltro:secret-fingerprint:v1").digest("hex
67
67
  let c = h(t), l = i !== "" && n(c, h(i)), u = s !== void 0 && s !== "" && s !== i && n(c, h(s));
68
68
  return l ? !0 : !u || !m(e, s) ? !1 : (o(a().presented, e).set(r(s), Date.now()), !0);
69
69
  };
70
- //#endregion
71
70
  export { d as applySecretWindows, g as bearerMatches, p as clearSecretWindows, u as drainSecretActivity, l as noteConfigured, s as noteSigned, c as noteSigningLifetime, m as previousAccepted, r as secretFingerprint, f as setSecretWindow };
@@ -1,4 +1,4 @@
1
- //#region src/serverErrorBus.ts
1
+ // src/serverErrorBus.ts
2
2
  var e = (e) => {
3
3
  let t = e.error, n = t instanceof Error ? t.name : typeof t?._tag == "string" ? String(t._tag) : "Error", r = [e.name === void 0 ? e.source : `${e.source} '${e.name}'`, ...typeof e.fields?.runId == "string" ? [`run ${e.fields.runId}`] : []].join(", "), i = /* @__PURE__ */ Error(`[message withheld: ${r} is declared encrypted — read it where the run is shown]`);
4
4
  i.name = n;
@@ -11,5 +11,4 @@ var e = (e) => {
11
11
  }, r = (e) => (t.add(e), () => {
12
12
  t.delete(e);
13
13
  });
14
- //#endregion
15
14
  export { n as publishServerError, r as subscribeServerErrors, e as withheldServerError };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/serviceCall.ts
2
+ // src/serviceCall.ts
3
3
  var t = class extends e.TaggedError()("ApiUnavailable", {
4
4
  api: e.String,
5
5
  tag: e.String,
@@ -10,5 +10,4 @@ var t = class extends e.TaggedError()("ApiUnavailable", {
10
10
  ]),
11
11
  message: e.String
12
12
  }) {}, n = (e) => typeof e == "object" && !!e && e._tag === "ApiUnavailable";
13
- //#endregion
14
13
  export { t as ApiUnavailable, n as isApiUnavailable };
package/dist/session.js CHANGED
@@ -5,7 +5,7 @@ import { applySecretWindows as a, bearerMatches as o, clearSecretWindows as s, d
5
5
  import { Schema as h } from "effect";
6
6
  import { createHmac as g, timingSafeEqual as _ } from "node:crypto";
7
7
  import { createLogger as v } from "@voltro/logger";
8
- //#region src/session.ts
8
+ // src/session.ts
9
9
  var y = v({ scope: "@voltro/protocol:session" }), b = 2, x = h.Struct({
10
10
  v: h.Literal(2),
11
11
  subject: e,
@@ -125,5 +125,4 @@ var y = v({ scope: "@voltro/protocol:session" }), b = 2, x = h.Struct({
125
125
  }, Q = () => {
126
126
  X = !1;
127
127
  };
128
- //#endregion
129
128
  export { C as DEFAULT_PREVIOUS_SESSION_KID, S as DEFAULT_SESSION_KID, k as MIN_SESSION_SECRET_LENGTH, q as SESSION_COOKIE_NAME, r as SESSION_HEADER_NAME, b as SESSION_PAYLOAD_VERSION, a as applySecretWindows, A as assertProductionSessionSecret, o as bearerMatches, K as buildSetCookie, W as checkBearer, s as clearSecretWindows, c as drainSecretActivity, l as noteConfigured, u as noteSigned, d as noteSigningLifetime, f as previousAccepted, G as readCookie, J as readSessionValue, Q as resetSessionSecretWarningLatch, O as resolveOptionalSessionSecrets, T as resolveSessionSecret, E as resolveSessionSecrets, p as secretFingerprint, Y as sessionExpiryFromHeaders, m as setSecretWindow, z as signSession, U as timingSafeStringEqual, V as verifySession, H as verifySessionKeyed };
@@ -1,7 +1,6 @@
1
- //#region src/sessionHeader.ts
1
+ // src/sessionHeader.ts
2
2
  var e = "x-voltro-session", t = (e, t, n) => {
3
3
  let r = e["x-voltro-session"] ?? e["X-Voltro-Session"];
4
4
  return r !== void 0 && r.length > 0 ? r : n(e.cookie ?? e.Cookie, t);
5
5
  };
6
- //#endregion
7
6
  export { e as SESSION_HEADER_NAME, t as sessionValueFromHeaders };
@@ -1,4 +1,4 @@
1
- //#region src/ssrfPolicy.ts
1
+ // src/ssrfPolicy.ts
2
2
  var e = (e, t) => e === 0 || e === 10 || e === 127 || e === 100 && t >= 64 && t <= 127 || e === 169 && t === 254 || e === 172 && t >= 16 && t <= 31 || e === 192 && t === 168 || e === 198 && (t === 18 || t === 19) || e >= 224, t = (e) => e === "::" || e === "::1" || e.startsWith("fc") || e.startsWith("fd") || e.startsWith("fe80") || e.startsWith("::ffff:"), n = (e, t, n) => n.some((n) => {
3
3
  let r = n.trim().toLowerCase();
4
4
  if (r === "") return !1;
@@ -26,5 +26,4 @@ var e = (e, t) => e === 0 || e === 10 || e === 127 || e === 100 && t >= 64 && t
26
26
  }
27
27
  return null;
28
28
  };
29
- //#endregion
30
29
  export { r as ssrfReason };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/storageAccess.ts
2
+ // src/storageAccess.ts
3
3
  var t = e.Array(e.String).pipe(e.check(e.isMaxLength(64))), n = e.Struct({
4
4
  owner: e.optional(e.Boolean),
5
5
  roles: e.optional(t),
@@ -10,5 +10,4 @@ var t = e.Array(e.String).pipe(e.check(e.isMaxLength(64))), n = e.Struct({
10
10
  password: e.optional(e.Boolean),
11
11
  guard: e.optional(e.String)
12
12
  }), r = e.Array(n).pipe(e.check(e.isMaxLength(32)));
13
- //#endregion
14
13
  export { r as StorageAccessPolicySchema, n as StorageAccessRuleSchema };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/storeErrors.ts
2
+ // src/storeErrors.ts
3
3
  var t = class extends e.TaggedError()("TenantScopeViolation", {
4
4
  table: e.String,
5
5
  reason: e.String
@@ -62,5 +62,4 @@ var t = class extends e.TaggedError()("TenantScopeViolation", {
62
62
  }
63
63
  }
64
64
  };
65
- //#endregion
66
65
  export { s as ConstraintViolation, r as NoRowFound, o as ServerOnlyColumnWrite, n as StoreOperationFailed, i as TableValidationFailed, a as TenantRowNotFound, t as TenantScopeViolation };
@@ -1,4 +1,4 @@
1
- //#region src/storeScreenshots.ts
1
+ // src/storeScreenshots.ts
2
2
  var e = [
3
3
  "app-store",
4
4
  "play",
@@ -86,5 +86,4 @@ var e = [
86
86
  width: e.viewport.width * e.deviceScaleFactor,
87
87
  height: e.viewport.height * e.deviceScaleFactor
88
88
  }), a = (e) => t.filter((t) => t.stores.includes(e));
89
- //#endregion
90
89
  export { t as STORE_SCREENSHOT_PRESETS, n as STORE_SCREENSHOT_PRESET_NAMES, e as STORE_SCREENSHOT_STORES, i as storeScreenshotPixels, r as storeScreenshotPreset, a as storeScreenshotPresetsFor };
@@ -1,6 +1,6 @@
1
1
  import { Effect as e, Schema as t, SchemaIssue as n } from "effect";
2
2
  import * as r from "effect/SchemaAST";
3
- //#region src/strictInput.ts
3
+ // src/strictInput.ts
4
4
  var i = (e, t) => {
5
5
  let n = `${e ?? "this procedure"} input`;
6
6
  return t === !0 ? `${n} (guarded — the guard did NOT run: the payload failed to decode first, so this says nothing about access)` : n;
@@ -23,5 +23,4 @@ var i = (e, t) => {
23
23
  let l = i(o, s);
24
24
  return t.make(c(r.ast)).pipe(t.middlewareDecoding((t) => e.catch(t, (t) => e.fail(new n.InvalidValue({ message: `${l}\n${a(t)}` })))));
25
25
  };
26
- //#endregion
27
26
  export { i as inputLabel, u as strictInput };
@@ -1,6 +1,6 @@
1
1
  import { rowPatchSchema as e } from "./rowPatch.js";
2
2
  import { Schema as t, SchemaGetter as n } from "effect";
3
- //#region src/subscriptionEvent.ts
3
+ // src/subscriptionEvent.ts
4
4
  var r = t.Json.pipe(t.decodeTo(t.Unknown, {
5
5
  decode: n.passthrough({ strict: !1 }),
6
6
  encode: n.transform((e) => JSON.parse(JSON.stringify(e)))
@@ -33,5 +33,4 @@ var r = t.Json.pipe(t.decodeTo(t.Unknown, {
33
33
  default: return t;
34
34
  }
35
35
  };
36
- //#endregion
37
36
  export { a as firstEventValue, i as subscriptionEvent };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/tenantSelection.ts
2
+ // src/tenantSelection.ts
3
3
  var t = class extends e.TaggedError()("RequestedTenantRefused", { reason: e.Literals([
4
4
  "target-unavailable",
5
5
  "invalid-target",
@@ -36,5 +36,4 @@ var t = class extends e.TaggedError()("RequestedTenantRefused", { reason: e.Lite
36
36
  }
37
37
  };
38
38
  };
39
- //#endregion
40
39
  export { t as RequestedTenantRefused, r as TenantSelectionRefused, n as isTenantSelectable, i as selectSubjectTenant };
package/dist/time.js CHANGED
@@ -1,7 +1,6 @@
1
- //#region src/time.ts
1
+ // src/time.ts
2
2
  var e = (e) => {
3
3
  let t = e instanceof Date ? e.getTime() : typeof e == "number" ? e : typeof e == "string" ? new Date(e).getTime() : 0;
4
4
  return Number.isNaN(t) ? 0 : t;
5
5
  };
6
- //#endregion
7
6
  export { e as tsMs };
package/dist/undo.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineMutation as e, defineQuery as t } from "./procedure.js";
2
2
  import { Schema as n } from "effect";
3
- //#region src/undo.ts
3
+ // src/undo.ts
4
4
  var r = "__voltro.undo.log", i = "__voltro.undo.apply", a = "__voltro.undo.redo", o = n.Struct({
5
5
  id: n.String,
6
6
  tag: n.String,
@@ -34,5 +34,4 @@ var r = "__voltro.undo.log", i = "__voltro.undo.apply", a = "__voltro.undo.redo"
34
34
  error: u,
35
35
  openAccess: "subject-scoped by construction: redo is per-actor — another subject's invocation fails typed with UndoForbidden"
36
36
  });
37
- //#endregion
38
37
  export { i as UNDO_APPLY_TAG, r as UNDO_LOG_TAG, a as UNDO_REDO_TAG, l as UndoConflict, c as UndoForbidden, o as UndoLogEntry, s as UndoNotFound, f as undoApplyDescriptor, d as undoLogQueryDescriptor, p as undoRedoDescriptor };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/validation.ts
2
+ // src/validation.ts
3
3
  var t = e.Struct({
4
4
  field: e.String,
5
5
  message: e.String,
@@ -35,5 +35,4 @@ var t = e.Struct({
35
35
  }
36
36
  return [];
37
37
  };
38
- //#endregion
39
38
  export { n as ValidationError, r as ValidationErrors, t as ValidationIssue, i as fieldIssuesOf };
@@ -1,4 +1,4 @@
1
- //#region src/webSocketGateway.ts
1
+ // src/webSocketGateway.ts
2
2
  var e = 4001, t = /* @__PURE__ */ new Set(["/rpc", "/ws"]), n = (e) => {
3
3
  if (e.auth === "token") {
4
4
  if (typeof e.verify != "function") throw Error("defineWebSocket: auth: 'token' requires verify(firstFrame, context)");
@@ -12,5 +12,4 @@ var e = 4001, t = /* @__PURE__ */ new Set(["/rpc", "/ws"]), n = (e) => {
12
12
  if (e.auth !== "subject" && e.auth !== "public" && e.auth !== "token") throw Error(`defineWebSocket: auth must be 'subject', 'public' or 'token' (explicitly — an unauthenticated socket has to be a decision somebody wrote down), got '${String(e.auth)}'`);
13
13
  return e;
14
14
  };
15
- //#endregion
16
15
  export { e as GATEWAY_CREDENTIAL_EXPIRED_CLOSE_CODE, n as defineWebSocket };
package/dist/workflow.js CHANGED
@@ -4,7 +4,7 @@ import { getWorkflowAccess as a } from "./workflowAccess.js";
4
4
  import { WorkflowStartTerminalOutcomeSchema as o } from "./workflowStartOutcome.js";
5
5
  import { Schema as s } from "effect";
6
6
  import { Rpc as c } from "effect/rpc";
7
- //#region src/workflow.ts
7
+ // src/workflow.ts
8
8
  var l = s.Literals([
9
9
  "running",
10
10
  "succeeded",
@@ -293,5 +293,4 @@ var l = s.Literals([
293
293
  output: L,
294
294
  openAccess: "authorization happens in the executor against the target run — the caller must be authenticated and belong to the run's tenant, and a missing run answers exactly like a foreign one"
295
295
  });
296
- //#endregion
297
296
  export { O as WorkflowControlInputSchema, D as WorkflowControlIntentSchema, k as WorkflowControlReadInputSchema, d as WorkflowControlResultSchema, x as WorkflowDomainEventRowSchema, T as WorkflowDomainEventsInputSchema, E as WorkflowEventDeliveriesInputSchema, S as WorkflowEventDeliveryRowSchema, p as WorkflowParentClosePolicySchema, j as WorkflowQueuedCancelInputSchema, f as WorkflowQueuedCancellationResultSchema, A as WorkflowQueuedControlTargetSchema, b as WorkflowRunEventRowSchema, h as WorkflowRunHandleSchema, C as WorkflowRunRefSchema, _ as WorkflowRunRowSchema, u as WorkflowRunSnapshotSchema, l as WorkflowRunStatusSchema, y as WorkflowRunStepRowSchema, w as WorkflowRunTableRefSchema, v as WorkflowRunsInputSchema, F as WorkflowSignalInputSchema, m as WorkflowStartDeferralSchema, I as WorkflowUpdateInputSchema, L as WorkflowUpdateResultSchema, W as workflowCancelDescriptor, P as workflowControlQueryDescriptor, H as workflowDomainEventsQueryDescriptor, U as workflowEventDeliveriesQueryDescriptor, M as workflowQueuedCancelDescriptor, N as workflowQueuedControlQueryDescriptor, G as workflowResumeDescriptor, V as workflowRunEventsQueryDescriptor, R as workflowRunQueryDescriptor, B as workflowRunStepsQueryDescriptor, z as workflowRunsQueryDescriptor, K as workflowSignalDescriptor, g as workflowToRpc, q as workflowUpdateDescriptor };
@@ -1,5 +1,5 @@
1
1
  import { openAccessSpec as e } from "./scopes.js";
2
- //#region src/workflowAccess.ts
2
+ // src/workflowAccess.ts
3
3
  var t = Symbol.for("@voltro/protocol/workflow-access"), n = {
4
4
  guards: void 0,
5
5
  openAccess: void 0,
@@ -57,5 +57,4 @@ var t = Symbol.for("@voltro/protocol/workflow-access"), n = {
57
57
  controls: t.controls
58
58
  };
59
59
  };
60
- //#endregion
61
60
  export { t as WorkflowAccessProperty, i as attachWorkflowAccess, a as getWorkflowAccess, r as resolveWorkflowAccess, o as workflowAccessDescriptor };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/workflowRestart.ts
2
+ // src/workflowRestart.ts
3
3
  var t = e.NonEmptyString.pipe(e.check(e.makeFilter((e) => e.trim().length > 0, { message: "A workflow restart identity must not be blank" }))), n = e.Union([e.Struct({ kind: e.Literal("failed-steps") }), e.Struct({
4
4
  kind: e.Literal("from-step"),
5
5
  stepName: t
@@ -41,5 +41,4 @@ var t = e.NonEmptyString.pipe(e.check(e.makeFilter((e) => e.trim().length > 0, {
41
41
  kind: e.Literal("not-reserved"),
42
42
  reason: e.Literals(["admission", "journal"])
43
43
  })]);
44
- //#endregion
45
44
  export { i as WorkflowRestartCommandSchema, o as WorkflowRestartObservationSchema, s as WorkflowRestartResultSchema, n as WorkflowRestartSelectionSchema, r as WorkflowRestartTargetSchema };
@@ -1,6 +1,6 @@
1
1
  import { WorkflowStartTerminalOutcomeSchema as e } from "./workflowStartOutcome.js";
2
2
  import { Schema as t } from "effect";
3
- //#region src/workflowRetry.ts
3
+ // src/workflowRetry.ts
4
4
  var n = t.NonEmptyString.pipe(t.check(t.makeFilter((e) => e.trim().length > 0, { message: "A workflow retry identity must not be blank" }))), r = t.Struct({
5
5
  runId: n,
6
6
  requestId: n
@@ -40,5 +40,4 @@ var n = t.NonEmptyString.pipe(t.check(t.makeFilter((e) => e.trim().length > 0, {
40
40
  failureId: t.NonEmptyString
41
41
  })
42
42
  ]);
43
- //#endregion
44
43
  export { i as WorkflowRetryCommandSchema, o as WorkflowRetryObservationSchema, r as WorkflowRetryTargetSchema };
@@ -1,5 +1,5 @@
1
1
  import { Schema as e } from "effect";
2
- //#region src/workflowStartOutcome.ts
2
+ // src/workflowStartOutcome.ts
3
3
  var t = e.Union([
4
4
  e.Struct({
5
5
  kind: e.Literal("dropped"),
@@ -26,5 +26,4 @@ var t = e.Union([
26
26
  failureId: e.NonEmptyString
27
27
  })
28
28
  ]);
29
- //#endregion
30
29
  export { t as WorkflowStartTerminalOutcomeSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voltro/protocol",
3
- "version": "0.87.0",
3
+ "version": "0.88.0",
4
4
  "description": "The Voltro wire + plugin contract — defineQuery/Mutation/Action/Stream, definePlugin, sessions / JWT / API-keys, and the RPC protocol.",
5
5
  "keywords": [
6
6
  "voltro",
@@ -63,14 +63,14 @@
63
63
  "node": ">=24.0.0"
64
64
  },
65
65
  "dependencies": {
66
- "@voltro/database": "0.87.0",
67
- "@voltro/kv": "0.87.0",
68
- "@voltro/logger": "0.87.0",
69
- "@voltro/shared": "0.87.0",
70
- "jose": "^6.2.12"
66
+ "@voltro/database": "0.88.0",
67
+ "@voltro/kv": "0.88.0",
68
+ "@voltro/logger": "0.88.0",
69
+ "@voltro/shared": "0.88.0",
70
+ "jose": "^6.2.13"
71
71
  },
72
72
  "peerDependencies": {
73
- "effect": "4.0.1"
73
+ "effect": "4.1.0"
74
74
  },
75
75
  "publishConfig": {
76
76
  "access": "public"