@abloatai/transaction 0.38.0 → 0.40.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 (114) hide show
  1. package/dist/auth/index.d.ts +16 -2
  2. package/dist/auth/index.d.ts.map +1 -1
  3. package/dist/auth/index.js +10 -1
  4. package/dist/auth/index.js.map +1 -1
  5. package/dist/coordination/events.d.ts +9 -0
  6. package/dist/coordination/events.d.ts.map +1 -1
  7. package/dist/coordination/index.d.ts +2 -2
  8. package/dist/coordination/index.d.ts.map +1 -1
  9. package/dist/coordination/index.js +1 -1
  10. package/dist/coordination/index.js.map +1 -1
  11. package/dist/coordination/schema.d.ts +226 -34
  12. package/dist/coordination/schema.d.ts.map +1 -1
  13. package/dist/coordination/schema.js +180 -48
  14. package/dist/coordination/schema.js.map +1 -1
  15. package/dist/coordination/trace.d.ts.map +1 -1
  16. package/dist/coordination/trace.js +9 -1
  17. package/dist/coordination/trace.js.map +1 -1
  18. package/dist/errorCodes.d.ts +6 -0
  19. package/dist/errorCodes.d.ts.map +1 -1
  20. package/dist/errorCodes.js +6 -0
  21. package/dist/errorCodes.js.map +1 -1
  22. package/dist/errors.d.ts.map +1 -1
  23. package/dist/errors.js +9 -2
  24. package/dist/errors.js.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +3 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/policy/types.d.ts +10 -2
  30. package/dist/policy/types.d.ts.map +1 -1
  31. package/dist/policy/types.js.map +1 -1
  32. package/dist/pricing.d.ts +194 -0
  33. package/dist/pricing.d.ts.map +1 -0
  34. package/dist/pricing.js +330 -0
  35. package/dist/pricing.js.map +1 -0
  36. package/dist/resources/functionalUpdate.d.ts.map +1 -1
  37. package/dist/resources/functionalUpdate.js +8 -8
  38. package/dist/resources/functionalUpdate.js.map +1 -1
  39. package/dist/schema/index.d.ts +2 -2
  40. package/dist/schema/index.d.ts.map +1 -1
  41. package/dist/schema/index.js +2 -2
  42. package/dist/schema/index.js.map +1 -1
  43. package/dist/schema/roles.d.ts +19 -0
  44. package/dist/schema/roles.d.ts.map +1 -1
  45. package/dist/schema/roles.js +23 -3
  46. package/dist/schema/roles.js.map +1 -1
  47. package/dist/schema/schema.d.ts +13 -1
  48. package/dist/schema/schema.d.ts.map +1 -1
  49. package/dist/schema/schema.js +1 -1
  50. package/dist/schema/schema.js.map +1 -1
  51. package/dist/schema/select.d.ts +13 -0
  52. package/dist/schema/select.d.ts.map +1 -1
  53. package/dist/schema/select.js +26 -0
  54. package/dist/schema/select.js.map +1 -1
  55. package/dist/schema/tenancy.d.ts +1 -1
  56. package/dist/transactions/settlement/commitEnvelope.d.ts +10 -2
  57. package/dist/transactions/settlement/commitEnvelope.d.ts.map +1 -1
  58. package/dist/transactions/settlement/pendingWrite.d.ts +10 -2
  59. package/dist/transactions/settlement/pendingWrite.d.ts.map +1 -1
  60. package/dist/transport/httpClient.d.ts.map +1 -1
  61. package/dist/transport/httpClient.js +10 -1
  62. package/dist/transport/httpClient.js.map +1 -1
  63. package/dist/transport/wsFrameHandlers.d.ts.map +1 -1
  64. package/dist/transport/wsFrameHandlers.js +9 -3
  65. package/dist/transport/wsFrameHandlers.js.map +1 -1
  66. package/dist/wire/accountResponses.d.ts +100 -0
  67. package/dist/wire/accountResponses.d.ts.map +1 -1
  68. package/dist/wire/accountResponses.js +70 -0
  69. package/dist/wire/accountResponses.js.map +1 -1
  70. package/dist/wire/auth.d.ts +7 -1
  71. package/dist/wire/auth.d.ts.map +1 -1
  72. package/dist/wire/auth.js +26 -3
  73. package/dist/wire/auth.js.map +1 -1
  74. package/dist/wire/commit.d.ts +708 -100
  75. package/dist/wire/commit.d.ts.map +1 -1
  76. package/dist/wire/dataSourceResponses.d.ts +171 -0
  77. package/dist/wire/dataSourceResponses.d.ts.map +1 -0
  78. package/dist/wire/dataSourceResponses.js +168 -0
  79. package/dist/wire/dataSourceResponses.js.map +1 -0
  80. package/dist/wire/frames.d.ts +20 -4
  81. package/dist/wire/frames.d.ts.map +1 -1
  82. package/dist/wire/inboundFrames.d.ts +102 -14
  83. package/dist/wire/inboundFrames.d.ts.map +1 -1
  84. package/dist/wire/index.d.ts +4 -2
  85. package/dist/wire/index.d.ts.map +1 -1
  86. package/dist/wire/index.js +5 -1
  87. package/dist/wire/index.js.map +1 -1
  88. package/dist/wire/pricing.d.ts +43 -0
  89. package/dist/wire/pricing.d.ts.map +1 -0
  90. package/dist/wire/pricing.js +36 -0
  91. package/dist/wire/pricing.js.map +1 -0
  92. package/package.json +6 -1
  93. package/src/auth/index.ts +31 -3
  94. package/src/coordination/events.ts +9 -0
  95. package/src/coordination/index.ts +8 -0
  96. package/src/coordination/schema.ts +200 -51
  97. package/src/coordination/trace.ts +9 -1
  98. package/src/errorCodes.ts +24 -0
  99. package/src/errors.ts +9 -2
  100. package/src/index.ts +4 -0
  101. package/src/policy/types.ts +10 -2
  102. package/src/pricing.ts +350 -0
  103. package/src/resources/functionalUpdate.ts +11 -11
  104. package/src/schema/index.ts +3 -1
  105. package/src/schema/roles.ts +26 -3
  106. package/src/schema/schema.ts +15 -0
  107. package/src/schema/select.ts +30 -0
  108. package/src/transport/httpClient.ts +8 -1
  109. package/src/transport/wsFrameHandlers.ts +9 -3
  110. package/src/wire/accountResponses.ts +76 -0
  111. package/src/wire/auth.ts +30 -3
  112. package/src/wire/dataSourceResponses.ts +188 -0
  113. package/src/wire/index.ts +33 -0
  114. package/src/wire/pricing.ts +41 -0
@@ -34,7 +34,13 @@ export declare const ephemeralKeyRequestSchema: z.ZodObject<{
34
34
  schemaProjectId: z.ZodOptional<z.ZodString>;
35
35
  schemaOwnerOrgId: z.ZodOptional<z.ZodString>;
36
36
  syncGroups: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodUnion<readonly [z.ZodLiteral<"default">, z.core.$ZodBranded<z.ZodTemplateLiteral<`${string}:${string}`>, "SyncGroup", "out">]>>>>;
37
- operations: z.ZodArray<z.ZodTemplateLiteral<`${string}.update` | `${string}.create` | `${string}.delete` | `${string}.read`>>;
37
+ operations: z.ZodOptional<z.ZodArray<z.ZodTemplateLiteral<`${string}.update` | `${string}.create` | `${string}.delete` | `${string}.read`>>>;
38
+ activeSchemaOperations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
39
+ update: "update";
40
+ create: "create";
41
+ delete: "delete";
42
+ read: "read";
43
+ }>>>;
38
44
  ttlSeconds: z.ZodOptional<z.ZodNumber>;
39
45
  label: z.ZodOptional<z.ZodString>;
40
46
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,4CAA4C;AAC5C,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAiCrC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,4CAA4C;AAC5C,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;iBA4DrC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/wire/auth.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * `auth/schemas.ts`.
11
11
  */
12
12
  import { z } from 'zod';
13
- import { grantedOperationSchema } from '../auth/capability.js';
13
+ import { capabilityOperationSchema, grantedOperationSchema } from '../auth/capability.js';
14
14
  import { syncGroupInputSchema } from '../coordination/schema.js';
15
15
  /** The participant this session acts as. */
16
16
  export const ephemeralKeyUserSchema = z.object({
@@ -44,8 +44,25 @@ export const ephemeralKeyRequestSchema = z.object({
44
44
  schemaOwnerOrgId: z.string().min(1).optional(),
45
45
  /** Narrow the session to these sync groups. */
46
46
  syncGroups: z.array(syncGroupInputSchema).readonly().optional(),
47
- /** Required least-privilege allowlist. */
48
- operations: z.array(grantedOperationSchema).min(1),
47
+ /**
48
+ * Least-privilege allowlist, named model by model. For a caller that knows
49
+ * the schema the session will resolve. Exactly one of this and
50
+ * {@link ephemeralKeyRequestSchema.shape.activeSchemaOperations} is required.
51
+ */
52
+ operations: z.array(grantedOperationSchema).min(1).optional(),
53
+ /**
54
+ * The same allowlist expressed as verbs alone, for a caller that CANNOT know
55
+ * the models: an identity service minting sessions for organizations whose
56
+ * schemas it does not own has no way to name them, and a grant is checked
57
+ * against the session's schema at mint time, so naming another schema's
58
+ * models fails every time.
59
+ *
60
+ * The server expands these across the models in the session's active schema
61
+ * and stores the concrete result, so what lands on the credential is the same
62
+ * enumerated allowlist as the field above. A verb is granted only where the
63
+ * model admits it — an immutable model takes `read` and nothing else.
64
+ */
65
+ activeSchemaOperations: z.array(capabilityOperationSchema).min(1).optional(),
49
66
  /** Lifetime in seconds. Capped by the server's maximum. */
50
67
  ttlSeconds: z.number().int().positive().optional(),
51
68
  /** A human-readable tag recorded with the key, for debugging. */
@@ -54,6 +71,12 @@ export const ephemeralKeyRequestSchema = z.object({
54
71
  (request.schemaOwnerOrgId === undefined), {
55
72
  message: 'schemaProjectId and schemaOwnerOrgId must be provided together',
56
73
  path: ['schemaProjectId'],
74
+ }).refine((request) => (request.operations === undefined) !== (request.activeSchemaOperations === undefined), {
75
+ // Exactly one, never both and never neither. Neither would leave the
76
+ // credential with an empty allowlist, which reads as UNRESTRICTED at the
77
+ // gate rather than as nothing; both would leave two answers to one question.
78
+ message: 'provide either operations or activeSchemaOperations, not both',
79
+ path: ['operations'],
57
80
  });
58
81
  /**
59
82
  * The capability mint body lives with the rest of the capability vocabulary in
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,4CAA4C;IAC5C,IAAI,EAAE,sBAAsB;IAC5B;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C;;;;OAIG;IACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,+CAA+C;IAC/C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/D,0CAA0C;IAC1C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,2DAA2D;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,iEAAiE;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,MAAM,CACP,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC;IACvC,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,EAC1C;IACE,OAAO,EACL,gEAAgE;IAClE,IAAI,EAAE,CAAC,iBAAiB,CAAC;CAC1B,CACF,CAAC;AAGF;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/wire/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,4CAA4C;IAC5C,IAAI,EAAE,sBAAsB;IAC5B;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C;;;;OAIG;IACH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,+CAA+C;IAC/C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/D;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D;;;;;;;;;;;OAWG;IACH,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5E,2DAA2D;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,iEAAiE;IACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,MAAM,CACP,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC;IACvC,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,EAC1C;IACE,OAAO,EACL,gEAAgE;IAClE,IAAI,EAAE,CAAC,iBAAiB,CAAC;CAC1B,CACF,CAAC,MAAM,CACN,CAAC,OAAO,EAAE,EAAE,CACV,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,KAAK,SAAS,CAAC,EACvF;IACE,qEAAqE;IACrE,yEAAyE;IACzE,6EAA6E;IAC7E,OAAO,EAAE,+DAA+D;IACxE,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CACF,CAAC;AAGF;;;;;;;;;;;GAWG;AACH,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC"}