@synoikia/core 0.5.2 → 0.6.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 (163) hide show
  1. package/dist/app.d.ts +4 -8
  2. package/dist/app.js.map +1 -1
  3. package/dist/approvals/links.d.ts +2 -5
  4. package/dist/approvals/links.js +2 -5
  5. package/dist/approvals/links.js.map +1 -1
  6. package/dist/approvals/service.d.ts +3 -16
  7. package/dist/approvals/service.js +1 -4
  8. package/dist/approvals/service.js.map +1 -1
  9. package/dist/audit-query.d.ts +1 -5
  10. package/dist/audit-query.js +1 -5
  11. package/dist/audit-query.js.map +1 -1
  12. package/dist/auth/mcp-auth.d.ts +8 -17
  13. package/dist/auth/mcp-auth.js +5 -13
  14. package/dist/auth/mcp-auth.js.map +1 -1
  15. package/dist/auth/mcp-tokens.d.ts +2 -4
  16. package/dist/auth/mcp-tokens.js +2 -4
  17. package/dist/auth/mcp-tokens.js.map +1 -1
  18. package/dist/auth/oauth.d.ts +5 -18
  19. package/dist/auth/oauth.js +5 -18
  20. package/dist/auth/oauth.js.map +1 -1
  21. package/dist/auth/oidc.d.ts +1 -4
  22. package/dist/auth/oidc.js +3 -9
  23. package/dist/auth/oidc.js.map +1 -1
  24. package/dist/auth/sessions.d.ts +2 -4
  25. package/dist/auth/sessions.js.map +1 -1
  26. package/dist/auth/throttle.d.ts +2 -8
  27. package/dist/auth/throttle.js +2 -8
  28. package/dist/auth/throttle.js.map +1 -1
  29. package/dist/auth/totp.d.ts +1 -4
  30. package/dist/auth/totp.js +1 -4
  31. package/dist/auth/totp.js.map +1 -1
  32. package/dist/auth/users.d.ts +1 -4
  33. package/dist/auth/users.js +3 -8
  34. package/dist/auth/users.js.map +1 -1
  35. package/dist/catalog/groups.d.ts +6 -18
  36. package/dist/catalog/groups.js +7 -23
  37. package/dist/catalog/groups.js.map +1 -1
  38. package/dist/catalog/registry.d.ts +1 -4
  39. package/dist/catalog/registry.js +1 -4
  40. package/dist/catalog/registry.js.map +1 -1
  41. package/dist/catalog/rules.d.ts +6 -18
  42. package/dist/catalog/rules.js +3 -9
  43. package/dist/catalog/rules.js.map +1 -1
  44. package/dist/catalog/sync.d.ts +2 -17
  45. package/dist/catalog/sync.js +5 -20
  46. package/dist/catalog/sync.js.map +1 -1
  47. package/dist/cli.js +2 -9
  48. package/dist/cli.js.map +1 -1
  49. package/dist/config/env.js +3 -8
  50. package/dist/config/env.js.map +1 -1
  51. package/dist/crypto/index.js +1 -4
  52. package/dist/crypto/index.js.map +1 -1
  53. package/dist/crypto/rotate.d.ts +2 -5
  54. package/dist/crypto/rotate.js.map +1 -1
  55. package/dist/db/index.d.ts +1 -4
  56. package/dist/db/index.js +1 -4
  57. package/dist/db/index.js.map +1 -1
  58. package/dist/db/schema.d.ts +44 -0
  59. package/dist/db/schema.js +7 -9
  60. package/dist/db/schema.js.map +1 -1
  61. package/dist/events.d.ts +1 -4
  62. package/dist/events.js.map +1 -1
  63. package/dist/gate/access.d.ts +3 -20
  64. package/dist/gate/access.js +3 -20
  65. package/dist/gate/access.js.map +1 -1
  66. package/dist/gate/attestation.d.ts +2 -6
  67. package/dist/gate/attestation.js +2 -6
  68. package/dist/gate/attestation.js.map +1 -1
  69. package/dist/gate/match.d.ts +5 -13
  70. package/dist/gate/match.js +5 -21
  71. package/dist/gate/match.js.map +1 -1
  72. package/dist/gate/pipeline.d.ts +8 -21
  73. package/dist/gate/pipeline.js +13 -8
  74. package/dist/gate/pipeline.js.map +1 -1
  75. package/dist/gate/preapproval.d.ts +3 -10
  76. package/dist/gate/preapproval.js +2 -5
  77. package/dist/gate/preapproval.js.map +1 -1
  78. package/dist/gate/rate-limit.d.ts +4 -14
  79. package/dist/gate/rate-limit.js +4 -14
  80. package/dist/gate/rate-limit.js.map +1 -1
  81. package/dist/gate/redact.d.ts +10 -26
  82. package/dist/gate/redact.js +12 -26
  83. package/dist/gate/redact.js.map +1 -1
  84. package/dist/http/admin/auth.d.ts +2 -8
  85. package/dist/http/admin/auth.js +1 -4
  86. package/dist/http/admin/auth.js.map +1 -1
  87. package/dist/http/common.d.ts +2 -5
  88. package/dist/http/common.js +2 -5
  89. package/dist/http/common.js.map +1 -1
  90. package/dist/http/mcp/approval-routes.d.ts +2 -6
  91. package/dist/http/mcp/approval-routes.js +2 -6
  92. package/dist/http/mcp/approval-routes.js.map +1 -1
  93. package/dist/http/mcp/endpoint.d.ts +4 -16
  94. package/dist/http/mcp/endpoint.js +6 -20
  95. package/dist/http/mcp/endpoint.js.map +1 -1
  96. package/dist/http/mcp/oauth-routes.d.ts +3 -10
  97. package/dist/http/mcp/oauth-routes.js +1 -4
  98. package/dist/http/mcp/oauth-routes.js.map +1 -1
  99. package/dist/http/mcp/pages.js.map +1 -1
  100. package/dist/http/mcp-app.d.ts +1 -4
  101. package/dist/http/mcp-app.js +1 -4
  102. package/dist/http/mcp-app.js.map +1 -1
  103. package/dist/instances/connection.d.ts +5 -14
  104. package/dist/instances/connection.js +6 -18
  105. package/dist/instances/connection.js.map +1 -1
  106. package/dist/instances/manager.d.ts +6 -18
  107. package/dist/instances/manager.js +33 -19
  108. package/dist/instances/manager.js.map +1 -1
  109. package/dist/instances/settings.js +2 -5
  110. package/dist/instances/settings.js.map +1 -1
  111. package/dist/lenient.d.ts +3 -9
  112. package/dist/lenient.js +3 -9
  113. package/dist/lenient.js.map +1 -1
  114. package/dist/lock.d.ts +4 -10
  115. package/dist/lock.js +5 -15
  116. package/dist/lock.js.map +1 -1
  117. package/dist/log.d.ts +2 -5
  118. package/dist/log.js +2 -5
  119. package/dist/log.js.map +1 -1
  120. package/dist/maintenance.js +2 -5
  121. package/dist/maintenance.js.map +1 -1
  122. package/dist/notify/service.d.ts +2 -5
  123. package/dist/notify/service.js +2 -5
  124. package/dist/notify/service.js.map +1 -1
  125. package/dist/plugins/default-repo.d.ts +1 -4
  126. package/dist/plugins/default-repo.js +1 -4
  127. package/dist/plugins/default-repo.js.map +1 -1
  128. package/dist/plugins/discovery.d.ts +2 -5
  129. package/dist/plugins/discovery.js +2 -5
  130. package/dist/plugins/discovery.js.map +1 -1
  131. package/dist/plugins/minisign.d.ts +2 -6
  132. package/dist/plugins/minisign.js.map +1 -1
  133. package/dist/plugins/process.d.ts +1 -4
  134. package/dist/plugins/process.js +1 -4
  135. package/dist/plugins/process.js.map +1 -1
  136. package/dist/plugins/repos.d.ts +4 -16
  137. package/dist/plugins/repos.js +7 -25
  138. package/dist/plugins/repos.js.map +1 -1
  139. package/dist/plugins/supervisor.d.ts +3 -9
  140. package/dist/plugins/supervisor.js +5 -5
  141. package/dist/plugins/supervisor.js.map +1 -1
  142. package/dist/runtime/index.d.ts +3 -9
  143. package/dist/runtime/index.js +5 -14
  144. package/dist/runtime/index.js.map +1 -1
  145. package/dist/sandbox/index.d.ts +3 -10
  146. package/dist/sandbox/index.js +2 -3
  147. package/dist/sandbox/index.js.map +1 -1
  148. package/dist/settings.d.ts +1 -4
  149. package/dist/settings.js +1 -4
  150. package/dist/settings.js.map +1 -1
  151. package/dist/testing/contract.d.ts +2 -7
  152. package/dist/testing/contract.js.map +1 -1
  153. package/dist/testing/fake-http.d.ts +1 -5
  154. package/dist/testing/fake-http.js.map +1 -1
  155. package/dist/testing/index.d.ts +3 -11
  156. package/dist/testing/index.js.map +1 -1
  157. package/dist/testing/repository.d.ts +2 -7
  158. package/dist/testing/repository.js +3 -12
  159. package/dist/testing/repository.js.map +1 -1
  160. package/drizzle/0012_sensitive_result.sql +7 -0
  161. package/drizzle/meta/0012_snapshot.json +2368 -0
  162. package/drizzle/meta/_journal.json +7 -0
  163. package/package.json +2 -2
@@ -4,10 +4,7 @@ import { and, asc, eq, or, sql } from 'drizzle-orm';
4
4
  import { z } from 'zod';
5
5
  import { registryEntries } from '../db/schema.js';
6
6
  import { ValidationError } from '../errors.js';
7
- /**
8
- * Registry mirror (design §2.4): pickable upstream objects, of kinds the plugin defines, mirrored
9
- * locally so pickers and `search` never pull the whole registry from the upstream.
10
- */
7
+ /** Registry mirror: the plugin's pickable upstream objects, kept locally for pickers and `search`. */
11
8
  export function applyRegistrySync(db, instanceId, raw, now = new Date()) {
12
9
  const entries = z.array(RegistryEntrySchema).parse(raw);
13
10
  return db.transaction((tx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/catalog/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AAEH,MAAM,UAAU,iBAAiB,CAC/B,EAAM,EACN,UAAkB,EAClB,GAAY,EACZ,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,EAAE;aACC,MAAM,EAAE;aACR,IAAI,CAAC,eAAe,CAAC;aACrB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aACjD,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAChD,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;gBAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI;gBACxB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,KAAK,EAAE,KAAK;gBACZ,YAAY,EAAE,GAAG;aAClB,CAAC;YACF,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI;gBAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;;gBAE5F,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;qBACvB,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;qBAC9E,GAAG,EAAE,CAAC;QACb,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC7F,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,qGAAqG;AACrG,MAAM,UAAU,eAAe,CAAC,KAA6B;IAC3D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,mBAAmB,CAAC,EAAU,EAAE,UAAkB,EAAE,IAAmB,EAAE;IACvF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAClG,IAAI,CAAC,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,CAAC,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,IAAI,GAAG,sBAAsB,CAAC,CAAC;QACpG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAA,gBAAgB,eAAe,CAAC,MAAM,KAAK,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;QAClE,UAAU,CAAC,IAAI,CACb,EAAE,CACA,GAAG,CAAA,GAAG,eAAe,CAAC,IAAI,SAAS,OAAO,cAAc,EACxD,GAAG,CAAA,GAAG,eAAe,CAAC,KAAK,SAAS,OAAO,cAAc,CACzD,CACH,CAAC;IACJ,CAAC;IACD,OAAO,EAAE;SACN,MAAM,CAAC;QACN,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,EAAE,EAAE,eAAe,CAAC,KAAK;QACzB,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,QAAQ,EAAE,eAAe,CAAC,WAAW;QACrC,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;KAC7B,CAAC;SACD,IAAI,CAAC,eAAe,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;SACzB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC7D,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1C,GAAG,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/catalog/registry.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,8 @@ import { z } from 'zod';
3
3
  import type { Db } from '../db/index.js';
4
4
  import { operations } from '../db/schema.js';
5
5
  import { ValidationError } from '../errors.js';
6
- /**
7
- * Pre-approval rules (design §5.2): picked from the synced catalog, never free text; a
8
- * required reason; structured match; optional rate limit and expiry. Locked operations can never be
9
- * referenced (409), enforced here regardless of what the UI offers.
10
- */
6
+ /** Pre-approval rules (design §5.2): from the catalog, with a required reason, structured match and
7
+ * optional rate limit and expiry. Locked operations are refused here (409), whatever the UI offers. */
11
8
  declare const RuleInputSchema: z.ZodObject<{
12
9
  operationId: z.ZodString;
13
10
  match: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -17,8 +14,8 @@ declare const RuleInputSchema: z.ZodObject<{
17
14
  }, z.core.$strict>, z.ZodObject<{
18
15
  field: z.ZodString;
19
16
  op: z.ZodEnum<{
20
- any: "any";
21
17
  in: "in";
18
+ any: "any";
22
19
  eq: "eq";
23
20
  prefix: "prefix";
24
21
  range: "range";
@@ -43,10 +40,7 @@ export declare function listRules(db: Db, instanceId: string): {
43
40
  locked: boolean;
44
41
  matchProfile: string | null;
45
42
  };
46
- /**
47
- * Rules only apply at level `ask`: on an unreachable operation, or one at level `write`, a rule
48
- * never fires; the UI flags it (design §5.2.1).
49
- */
43
+ /** Rules only fire at level `ask`; on unreachable or `write` operations they never do (UI flags it). */
50
44
  inert: string | null;
51
45
  id: string;
52
46
  match: unknown;
@@ -72,10 +66,7 @@ export declare function createRule(db: Db, manifest: Manifest, instanceId: strin
72
66
  locked: boolean;
73
67
  matchProfile: string | null;
74
68
  };
75
- /**
76
- * Rules only apply at level `ask`: on an unreachable operation, or one at level `write`, a rule
77
- * never fires; the UI flags it (design §5.2.1).
78
- */
69
+ /** Rules only fire at level `ask`; on unreachable or `write` operations they never do (UI flags it). */
79
70
  inert: string | null;
80
71
  id: string;
81
72
  match: unknown;
@@ -101,10 +92,7 @@ export declare function updateRule(db: Db, manifest: Manifest, instanceId: strin
101
92
  locked: boolean;
102
93
  matchProfile: string | null;
103
94
  };
104
- /**
105
- * Rules only apply at level `ask`: on an unreachable operation, or one at level `write`, a rule
106
- * never fires; the UI flags it (design §5.2.1).
107
- */
95
+ /** Rules only fire at level `ask`; on unreachable or `write` operations they never do (UI flags it). */
108
96
  inert: string | null;
109
97
  id: string;
110
98
  match: unknown;
@@ -6,11 +6,8 @@ import { operations, preApprovalRules } from '../db/schema.js';
6
6
  import { ConflictError, NotFoundError, ValidationError } from '../errors.js';
7
7
  import { MatchSchema } from '../gate/match.js';
8
8
  import { resolveAccess } from './groups.js';
9
- /**
10
- * Pre-approval rules (design §5.2): picked from the synced catalog, never free text; a
11
- * required reason; structured match; optional rate limit and expiry. Locked operations can never be
12
- * referenced (409), enforced here regardless of what the UI offers.
13
- */
9
+ /** Pre-approval rules (design §5.2): from the catalog, with a required reason, structured match and
10
+ * optional rate limit and expiry. Locked operations are refused here (409), whatever the UI offers. */
14
11
  const RuleInputSchema = z.object({
15
12
  operationId: z.string().min(1),
16
13
  match: MatchSchema.default([]),
@@ -73,10 +70,7 @@ function describe(db, instanceId, rule, op) {
73
70
  return {
74
71
  ...rule,
75
72
  operation: { id: op.id, key: op.key, locked: op.locked, matchProfile: op.matchProfile },
76
- /**
77
- * Rules only apply at level `ask`: on an unreachable operation, or one at level `write`, a rule
78
- * never fires; the UI flags it (design §5.2.1).
79
- */
73
+ /** Rules only fire at level `ask`; on unreachable or `write` operations they never do (UI flags it). */
80
74
  inert: !rule.enabled ? null : !access.reachable ? access.reason : access.level === 'write' ? 'level_write' : null,
81
75
  };
82
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/catalog/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/catalog/rules.ts"],"names":[],"mappings":"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"}
@@ -13,21 +13,6 @@ export interface SyncSummary {
13
13
  /** Rules disabled because their operation became locked or their match no longer fits it. */
14
14
  rulesDisabled: number;
15
15
  }
16
- /**
17
- * Applies a plugin's `syncCatalog` result to an instance (design §5.2.1, §10). Plugin output is
18
- * untrusted and re-validated here. Runs in one transaction: either the whole catalog lands or none.
19
- *
20
- * - Operations missing from the result are marked `stale`, never deleted (history is kept).
21
- * - Read or write always comes from the plugin (the upstream API decides); `locked` follows its seed.
22
- * - New writes, and reads reclassified to writes, arrive unacknowledged (quarantined). So does an
23
- * acknowledged write whose parameters, kind, match profile or lock changed, or that returns from
24
- * stale: the admin acknowledged what it was, not what it became.
25
- * - Enabled pre-approval rules are re-checked against the new catalog (and the plugin's match
26
- * profiles, when given); rules that no longer fit are disabled and audited.
27
- * - Plugin groups are mapped through admin aliases; missing groups are created at `ask`.
28
- * - An operation that appears in a group that already existed gets its own level, so a group an admin
29
- * already opened never exposes it by itself: reads at Read, writes at None. In a group at None it
30
- * just follows the group. Operations in a brand-new group follow it.
31
- * - An operation's own level that no longer fits its kind (it became a write, or locked) is narrowed.
32
- */
16
+ /** Applies a `syncCatalog` result in one transaction (design §5.2.1, §10). Changes are quarantined:
17
+ * missing ops go stale, changed writes need acknowledgement again, and nothing opens wider by itself. */
33
18
  export declare function applyCatalogSync(db: Db, instanceId: string, rawResult: unknown, now?: Date, manifest?: Pick<Manifest, 'matchProfiles' | 'targets'>): SyncSummary;
@@ -10,23 +10,8 @@ import { matchMisfit } from './rules.js';
10
10
  /** What an acknowledgement covers: a change to any of these makes the write ask again. */
11
11
  const fingerprint = (op) => JSON.stringify([op.kind, op.paramsSchema ?? null, op.matchProfile ?? null, op.locked]);
12
12
  const isEffectiveWrite = (op) => op.locked || op.classification === 'write';
13
- /**
14
- * Applies a plugin's `syncCatalog` result to an instance (design §5.2.1, §10). Plugin output is
15
- * untrusted and re-validated here. Runs in one transaction: either the whole catalog lands or none.
16
- *
17
- * - Operations missing from the result are marked `stale`, never deleted (history is kept).
18
- * - Read or write always comes from the plugin (the upstream API decides); `locked` follows its seed.
19
- * - New writes, and reads reclassified to writes, arrive unacknowledged (quarantined). So does an
20
- * acknowledged write whose parameters, kind, match profile or lock changed, or that returns from
21
- * stale: the admin acknowledged what it was, not what it became.
22
- * - Enabled pre-approval rules are re-checked against the new catalog (and the plugin's match
23
- * profiles, when given); rules that no longer fit are disabled and audited.
24
- * - Plugin groups are mapped through admin aliases; missing groups are created at `ask`.
25
- * - An operation that appears in a group that already existed gets its own level, so a group an admin
26
- * already opened never exposes it by itself: reads at Read, writes at None. In a group at None it
27
- * just follows the group. Operations in a brand-new group follow it.
28
- * - An operation's own level that no longer fits its kind (it became a write, or locked) is narrowed.
29
- */
13
+ /** Applies a `syncCatalog` result in one transaction (design §5.2.1, §10). Changes are quarantined:
14
+ * missing ops go stale, changed writes need acknowledgement again, and nothing opens wider by itself. */
30
15
  export function applyCatalogSync(db, instanceId, rawResult, now = new Date(), manifest) {
31
16
  const result = SyncCatalogResultSchema.parse(rawResult);
32
17
  const seen = new Set();
@@ -99,6 +84,7 @@ export function applyCatalogSync(db, instanceId, rawResult, now = new Date(), ma
99
84
  matchProfile: d.matchProfile ?? null,
100
85
  paramsSchema: d.paramsSchema ?? null,
101
86
  sensitiveParams: d.sensitiveParams ?? null,
87
+ sensitiveResult: d.sensitiveResult ?? null,
102
88
  docs: d.docs ?? null,
103
89
  lastSeenAt: now,
104
90
  stale: false,
@@ -126,9 +112,8 @@ export function applyCatalogSync(db, instanceId, rawResult, now = new Date(), ma
126
112
  const becameLocked = locked && !prev.locked;
127
113
  const changed = fingerprint(prev) !== fingerprint(fields) || prev.stale;
128
114
  const becameWrite = nowWrite && (!isEffectiveWrite(prev) || (prev.writeAcknowledged && changed));
129
- // Its own level, made to fit what it is now. A newly locked op starts closed again (it needs its
130
- // own `ask`). One the plugin moved to another group keeps the access it had there, so a regroup
131
- // never opens it wider (a new group starts at `ask`; an existing one may be at `write`).
115
+ // Its own level, refit to what it is now: newly locked starts closed, and a regrouped operation
116
+ // keeps the access it had.
132
117
  let levelOverride = prev.levelOverride;
133
118
  if (becameLocked)
134
119
  levelOverride = null;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/catalog/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/catalog/sync.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -7,15 +7,8 @@ import { loadMasterKey, MASTER_KEY_FILENAME, SecretBox } from './crypto/index.js
7
7
  import { rotateSecrets } from './crypto/rotate.js';
8
8
  import { openDatabase } from './db/index.js';
9
9
  import { assertServerStopped } from './lock.js';
10
- /**
11
- * Operator commands, run with the server stopped:
12
- *
13
- * node dist/cli.js rotate-master-key [--force]
14
- *
15
- * With `MASTER_KEY` set, the new key must be supplied as `NEW_MASTER_KEY` (so it exists before any
16
- * data depends on it); update `MASTER_KEY` to it afterwards. With a key file, a new key is generated,
17
- * written next to it as `master.key.new` before the database changes, then moved into place.
18
- */
10
+ /** Operator commands, server stopped: `node dist/cli.js rotate-master-key [--force]`. With MASTER_KEY set,
11
+ * pass the new key as NEW_MASTER_KEY; with a key file, the new key is written as master.key.new first. */
19
12
  const USAGE = 'Usage: cli.js rotate-master-key [--force] (stop the server first; --force skips the running-server check)';
20
13
  export function rotateMasterKeyCommand(env, log = console.log, opts = {}) {
21
14
  const config = loadConfig(env);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -24,10 +24,7 @@ const EnvSchema = z
24
24
  ADMIN_PORT: port.default(8081),
25
25
  PUBLIC_MCP_URL: optionalUrl,
26
26
  PUBLIC_ADMIN_URL: optionalUrl,
27
- /**
28
- * How many reverse proxies in front of core to trust: `true`/`1` for one, `2` for two chained, and so
29
- * on. X-Forwarded-For is read from the right, skipping only what those proxies appended.
30
- */
27
+ /** How many reverse proxies to trust (`true`/`1`, `2`, …); X-Forwarded-For is read from the right. */
31
28
  TRUST_PROXY: z
32
29
  .string()
33
30
  .optional()
@@ -42,10 +39,8 @@ const EnvSchema = z
42
39
  ctx.addIssue({ code: 'custom', message: 'TRUST_PROXY must be true, false or a hop count (0–10)' });
43
40
  return z.NEVER;
44
41
  }),
45
- /**
46
- * Extra host names the MCP listener answers to (comma-separated), besides PUBLIC_MCP_URL's host,
47
- * localhost and IP addresses. Anything else is refused, which stops DNS rebinding.
48
- */
42
+ /** Extra host names the MCP listener answers to, besides PUBLIC_MCP_URL's host, localhost and IPs
43
+ * (DNS-rebinding defence). */
49
44
  MCP_ALLOWED_HOSTS: z
50
45
  .string()
51
46
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import { createCipheriv, createDecipheriv, hkdfSync, randomBytes } from 'node:crypto';
2
2
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
3
  import path from 'node:path';
4
- /**
5
- * Application-level encryption for secrets at rest (design §7.2): AES-256-GCM with a random 96-bit
6
- * nonce per value and associated data binding each ciphertext to its table/column/row.
7
- */
4
+ /** Secrets at rest (design §7.2): AES-256-GCM, random nonce per value, AAD binding table/column/row. */
8
5
  const VERSION = 0x01;
9
6
  const NONCE_BYTES = 12;
10
7
  const TAG_BYTES = 16;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
1
  import type { Db } from '../db/index.js';
2
2
  import type { SecretBox } from './index.js';
3
- /**
4
- * Master-key rotation (design §7.2): re-encrypts every secret column under the new key in one
5
- * transaction. Everything is decrypted first, so a wrong current key changes nothing. Sessions are
6
- * cleared because their ids are peppered with a key derived from the master key.
7
- */
3
+ /** Master-key rotation (design §7.2): decrypt everything, then re-encrypt in one transaction (a wrong
4
+ * key changes nothing); sessions are cleared since their pepper derives from the key. */
8
5
  export interface RotationResult {
9
6
  users: number;
10
7
  oidc: number;
@@ -1 +1 @@
1
- {"version":3,"file":"rotate.js","sourceRoot":"","sources":["../../src/crypto/rotate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rotate.js","sourceRoot":"","sources":["../../src/crypto/rotate.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,7 @@ export type Db = BetterSQLite3Database<typeof schema> & {
7
7
  /** A transaction handle; services accept either so callers can compose them in one transaction. */
8
8
  export type Tx = Parameters<Parameters<Db['transaction']>[0]>[0];
9
9
  export type DbLike = Db | Tx;
10
- /**
11
- * Opens (creating if needed) the single SQLite database and applies pending migrations
12
- * (design §7). Pass `':memory:'` for tests.
13
- */
10
+ /** Opens the SQLite database and applies pending migrations (design §7); `':memory:'` for tests. */
14
11
  export declare function openDatabase(location: {
15
12
  dataDir: string;
16
13
  } | ':memory:'): Db;
package/dist/db/index.js CHANGED
@@ -8,10 +8,7 @@ import * as schema from './schema.js';
8
8
  // src/db or dist/db → packages/core/drizzle
9
9
  const MIGRATIONS_DIR = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../drizzle');
10
10
  const DB_FILENAME = 'synoikia.sqlite';
11
- /**
12
- * Opens (creating if needed) the single SQLite database and applies pending migrations
13
- * (design §7). Pass `':memory:'` for tests.
14
- */
11
+ /** Opens the SQLite database and applies pending migrations (design §7); `':memory:'` for tests. */
15
12
  export function openDatabase(location) {
16
13
  let file = ':memory:';
17
14
  if (location !== ':memory:') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,4CAA4C;AAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAEnG,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAA0C;IACrE,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,4CAA4C;AAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAEnG,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,oGAAoG;AACpG,MAAM,UAAU,YAAY,CAAC,QAA0C;IACrE,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1275,6 +1275,25 @@ export declare const pluginInstances: import("drizzle-orm/sqlite-core").SQLiteTa
1275
1275
  }, {}, {
1276
1276
  length: number | undefined;
1277
1277
  }>;
1278
+ catalogPluginVersion: import("drizzle-orm/sqlite-core").SQLiteColumn<{
1279
+ name: "catalog_plugin_version";
1280
+ tableName: "plugin_instances";
1281
+ dataType: "string";
1282
+ columnType: "SQLiteText";
1283
+ data: string;
1284
+ driverParam: string;
1285
+ notNull: false;
1286
+ hasDefault: false;
1287
+ isPrimaryKey: false;
1288
+ isAutoincrement: false;
1289
+ hasRuntimeDefault: false;
1290
+ enumValues: [string, ...string[]];
1291
+ baseColumn: never;
1292
+ identity: undefined;
1293
+ generated: undefined;
1294
+ }, {}, {
1295
+ length: number | undefined;
1296
+ }>;
1278
1297
  createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
1279
1298
  name: string;
1280
1299
  tableName: "plugin_instances";
@@ -1977,6 +1996,31 @@ export declare const operations: import("drizzle-orm/sqlite-core").SQLiteTableWi
1977
1996
  }, {}, {
1978
1997
  $type: string[];
1979
1998
  }>;
1999
+ sensitiveResult: import("drizzle-orm/sqlite-core").SQLiteColumn<{
2000
+ name: string;
2001
+ tableName: "operations";
2002
+ dataType: "json";
2003
+ columnType: "SQLiteTextJson";
2004
+ data: "whole" | {
2005
+ keys: string[];
2006
+ deep?: boolean | undefined;
2007
+ };
2008
+ driverParam: string;
2009
+ notNull: false;
2010
+ hasDefault: false;
2011
+ isPrimaryKey: false;
2012
+ isAutoincrement: false;
2013
+ hasRuntimeDefault: false;
2014
+ enumValues: undefined;
2015
+ baseColumn: never;
2016
+ identity: undefined;
2017
+ generated: undefined;
2018
+ }, {}, {
2019
+ $type: "whole" | {
2020
+ keys: string[];
2021
+ deep?: boolean | undefined;
2022
+ };
2023
+ }>;
1980
2024
  docs: import("drizzle-orm/sqlite-core").SQLiteColumn<{
1981
2025
  name: string;
1982
2026
  tableName: "operations";
package/dist/db/schema.js CHANGED
@@ -1,9 +1,6 @@
1
1
  import { sql } from 'drizzle-orm';
2
2
  import { blob, index, integer, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core';
3
- /**
4
- * Single SQLite schema for the whole server (design §7.1). JSON is stored as TEXT, timestamps as
5
- * epoch milliseconds, encrypted values as AES-256-GCM blobs (design §7.2).
6
- */
3
+ /** The SQLite schema (design §7.1): JSON as TEXT, timestamps as epoch ms, secrets as AES-256-GCM blobs. */
7
4
  const id = () => text('id').primaryKey();
8
5
  const ts = (name) => integer(name, { mode: 'timestamp_ms' });
9
6
  const createdAt = () => ts('created_at')
@@ -103,6 +100,8 @@ export const pluginInstances = sqliteTable('plugin_instances', {
103
100
  sourceRef: text('source_ref'),
104
101
  lastSyncedAt: ts('last_synced_at'),
105
102
  lastSyncStatus: text('last_sync_status'),
103
+ /** The plugin version the catalog was synced from; another bundle is synced before serving again. */
104
+ catalogPluginVersion: text('catalog_plugin_version'),
106
105
  createdAt: createdAt(),
107
106
  });
108
107
  // ── catalog ──────────────────────────────────────────────────────────────────────────────────────
@@ -166,6 +165,8 @@ export const operations = sqliteTable('operations', {
166
165
  paramsSchema: json('params_schema'),
167
166
  /** JSON-pointer paths into params that hold a secret without a key name (a positional password). */
168
167
  sensitiveParams: json('sensitive_params').$type(),
168
+ /** Secrets in the result that no key name gives away; core masks them after `invoke` (design §5.5). */
169
+ sensitiveResult: json('sensitive_result').$type(),
169
170
  docs: json('docs'),
170
171
  firstSeenAt: ts('first_seen_at').notNull(),
171
172
  lastSeenAt: ts('last_seen_at').notNull(),
@@ -313,11 +314,8 @@ export const oauthGrants = sqliteTable('oauth_grants', {
313
314
  .notNull()
314
315
  .references(() => users.id, { onDelete: 'cascade' }),
315
316
  resources: json('resources').$type().notNull(),
316
- /**
317
- * The instance each consented resource URL named at consent time (same order as `resources`).
318
- * Tokens are checked against these ids, so renaming a slug or re-using it for another instance
319
- * never carries a grant over (design §6.2). NULL only for grants from before this column.
320
- */
317
+ /** Instance ids the consented resources named at consent; tokens are checked against these, not slugs
318
+ * (design §6.2). NULL only for grants from before this column. */
321
319
  instanceIds: json('instance_ids').$type(),
322
320
  /** Chosen on the consent page (design §6.3); `read` hides and blocks every write. */
323
321
  access: text('access', { enum: ['read', 'write'] })