@f-inverse/jammi-client 0.44.0 → 0.46.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.
|
@@ -153,21 +153,60 @@ export type AuditFetchRecentResponse = Message<"jammi.v1.audit.AuditFetchRecentR
|
|
|
153
153
|
* Use `create(AuditFetchRecentResponseSchema)` to create a new message.
|
|
154
154
|
*/
|
|
155
155
|
export declare const AuditFetchRecentResponseSchema: GenMessage<AuditFetchRecentResponse>;
|
|
156
|
+
/**
|
|
157
|
+
* @generated from message jammi.v1.audit.VerifyRequest
|
|
158
|
+
*/
|
|
159
|
+
export type VerifyRequest = Message<"jammi.v1.audit.VerifyRequest"> & {
|
|
160
|
+
/**
|
|
161
|
+
* The record to check, exactly as a fetch verb returned it — every field the
|
|
162
|
+
* canonical signature covers (including `tenant_id`, `signature`, and
|
|
163
|
+
* `executed_at`) carried verbatim, so the check runs over the identical
|
|
164
|
+
* canonical bytes the engine signed.
|
|
165
|
+
*
|
|
166
|
+
* @generated from field: jammi.v1.audit.PerQueryAudit record = 1;
|
|
167
|
+
*/
|
|
168
|
+
record?: PerQueryAudit | undefined;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Describes the message jammi.v1.audit.VerifyRequest.
|
|
172
|
+
* Use `create(VerifyRequestSchema)` to create a new message.
|
|
173
|
+
*/
|
|
174
|
+
export declare const VerifyRequestSchema: GenMessage<VerifyRequest>;
|
|
175
|
+
/**
|
|
176
|
+
* @generated from message jammi.v1.audit.VerifyResponse
|
|
177
|
+
*/
|
|
178
|
+
export type VerifyResponse = Message<"jammi.v1.audit.VerifyResponse"> & {
|
|
179
|
+
/**
|
|
180
|
+
* True when the record's signature matches the one the session's tenant would
|
|
181
|
+
* compute over the same canonical bytes. A signature that does not match —
|
|
182
|
+
* including a record signed by a different tenant, whose derived secret
|
|
183
|
+
* differs — is `false`, not an error. A genuine fault (no bound tenant, or an
|
|
184
|
+
* unavailable master key) surfaces as a gRPC error status instead.
|
|
185
|
+
*
|
|
186
|
+
* @generated from field: bool verified = 1;
|
|
187
|
+
*/
|
|
188
|
+
verified: boolean;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Describes the message jammi.v1.audit.VerifyResponse.
|
|
192
|
+
* Use `create(VerifyResponseSchema)` to create a new message.
|
|
193
|
+
*/
|
|
194
|
+
export declare const VerifyResponseSchema: GenMessage<VerifyResponse>;
|
|
156
195
|
/**
|
|
157
196
|
* AuditService — the wire surface for the engine's per-query audit verbs.
|
|
158
197
|
*
|
|
159
|
-
* `AuditLog`, `AuditFetchByQueryId`, and `
|
|
160
|
-
* session methods — signing, tenant-injection, and signature
|
|
161
|
-
* are non-SQL logic — so they live as typed gRPC RPCs alongside
|
|
162
|
-
* engine-backed services rather than on the Flight SQL surface
|
|
163
|
-
* only, per ADR-01 §3.2). The verbs name a substrate primitive —
|
|
164
|
-
* per-query audit log — and carry no tenant-domain concept.
|
|
198
|
+
* `AuditLog`, `AuditFetchByQueryId`, `AuditFetchRecent`, and `Verify` are
|
|
199
|
+
* imperative session methods — signing, tenant-injection, and signature
|
|
200
|
+
* verification are non-SQL logic — so they live as typed gRPC RPCs alongside
|
|
201
|
+
* the other engine-backed services rather than on the Flight SQL surface
|
|
202
|
+
* (query/result only, per ADR-01 §3.2). The verbs name a substrate primitive —
|
|
203
|
+
* a signed per-query audit log — and carry no tenant-domain concept.
|
|
165
204
|
*
|
|
166
|
-
* Each verb delegates 1:1 to the consumer-facing `Session`
|
|
167
|
-
*
|
|
168
|
-
* the service reimplements no signing, storage,
|
|
169
|
-
* `PerQueryAudit` message mirrors the Rust record field
|
|
170
|
-
* its server-computed `signature`.
|
|
205
|
+
* Each verb delegates 1:1 to the consumer-facing `Session` abstraction
|
|
206
|
+
* (`audit_log` / `audit_fetch_by_query_id` / `audit_fetch_recent` /
|
|
207
|
+
* `audit_verify`); the service reimplements no signing, storage, query, or
|
|
208
|
+
* verification logic. The `PerQueryAudit` message mirrors the Rust record field
|
|
209
|
+
* for field, including its server-computed `signature`.
|
|
171
210
|
*
|
|
172
211
|
* Tenant scope is read from the request's `SessionTenant` extension, set by
|
|
173
212
|
* the single async tenant-binding layer driven by the engine's
|
|
@@ -210,5 +249,19 @@ export declare const AuditService: GenService<{
|
|
|
210
249
|
input: typeof AuditFetchRecentRequestSchema;
|
|
211
250
|
output: typeof AuditFetchRecentResponseSchema;
|
|
212
251
|
};
|
|
252
|
+
/**
|
|
253
|
+
* Verify a presented record's HMAC signature under the session's tenant. The
|
|
254
|
+
* engine re-derives the per-tenant signing secret from the SESSION tenant —
|
|
255
|
+
* never the record's own `tenant_id` — and holds the master key server-side,
|
|
256
|
+
* never returning it: `verified` is true only when the record was signed by
|
|
257
|
+
* this tenant. Peer of the abstraction's `audit_verify`.
|
|
258
|
+
*
|
|
259
|
+
* @generated from rpc jammi.v1.audit.AuditService.Verify
|
|
260
|
+
*/
|
|
261
|
+
verify: {
|
|
262
|
+
methodKind: "unary";
|
|
263
|
+
input: typeof VerifyRequestSchema;
|
|
264
|
+
output: typeof VerifyResponseSchema;
|
|
265
|
+
};
|
|
213
266
|
}>;
|
|
214
267
|
//# sourceMappingURL=audit_pb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit_pb.d.ts","sourceRoot":"","sources":["../../../../src/gen/jammi/v1/audit_pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"audit_pb.d.ts","sourceRoot":"","sources":["../../../../src/gen/jammi/v1/audit_pb.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
|
|
|
6
6
|
/**
|
|
7
7
|
* Describes the file jammi/v1/audit.proto.
|
|
8
8
|
*/
|
|
9
|
-
export const file_jammi_v1_audit = /*@__PURE__*/ fileDesc("
|
|
9
|
+
export const file_jammi_v1_audit = /*@__PURE__*/ fileDesc("ChRqYW1taS92MS9hdWRpdC5wcm90bxIOamFtbWkudjEuYXVkaXQi1wEKDVBlclF1ZXJ5QXVkaXQSEAoIcXVlcnlfaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhAKCG1vZGVsX2lkGAMgASgJEhUKDW1vZGVsX3ZlcnNpb24YBCABKAkSFQoNcXVlcnlfbGluZWFnZRgFIAEoCRIYChB0b3Bfa19yZXN1bHRfaWRzGAYgAygJEhgKEHJldHJpZXZhbF9zY29yZXMYByADKAISGgoSZXhlY3V0ZWRfYXRfbWljcm9zGAggASgDEhEKCXNpZ25hdHVyZRgJIAEoCSJBCg9BdWRpdExvZ1JlcXVlc3QSLgoHcmVjb3JkcxgBIAMoCzIdLmphbW1pLnYxLmF1ZGl0LlBlclF1ZXJ5QXVkaXQiLgoaQXVkaXRGZXRjaEJ5UXVlcnlJZFJlcXVlc3QSEAoIcXVlcnlfaWQYASABKAkiXAobQXVkaXRGZXRjaEJ5UXVlcnlJZFJlc3BvbnNlEjIKBnJlY29yZBgBIAEoCzIdLmphbW1pLnYxLmF1ZGl0LlBlclF1ZXJ5QXVkaXRIAIgBAUIJCgdfcmVjb3JkIigKF0F1ZGl0RmV0Y2hSZWNlbnRSZXF1ZXN0Eg0KBWxpbWl0GAEgASgNIkoKGEF1ZGl0RmV0Y2hSZWNlbnRSZXNwb25zZRIuCgdyZWNvcmRzGAEgAygLMh0uamFtbWkudjEuYXVkaXQuUGVyUXVlcnlBdWRpdCI+Cg1WZXJpZnlSZXF1ZXN0Ei0KBnJlY29yZBgBIAEoCzIdLmphbW1pLnYxLmF1ZGl0LlBlclF1ZXJ5QXVkaXQiIgoOVmVyaWZ5UmVzcG9uc2USEAoIdmVyaWZpZWQYASABKAgy8wIKDEF1ZGl0U2VydmljZRJDCghBdWRpdExvZxIfLmphbW1pLnYxLmF1ZGl0LkF1ZGl0TG9nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJuChNBdWRpdEZldGNoQnlRdWVyeUlkEiouamFtbWkudjEuYXVkaXQuQXVkaXRGZXRjaEJ5UXVlcnlJZFJlcXVlc3QaKy5qYW1taS52MS5hdWRpdC5BdWRpdEZldGNoQnlRdWVyeUlkUmVzcG9uc2USZQoQQXVkaXRGZXRjaFJlY2VudBInLmphbW1pLnYxLmF1ZGl0LkF1ZGl0RmV0Y2hSZWNlbnRSZXF1ZXN0GiguamFtbWkudjEuYXVkaXQuQXVkaXRGZXRjaFJlY2VudFJlc3BvbnNlEkcKBlZlcmlmeRIdLmphbW1pLnYxLmF1ZGl0LlZlcmlmeVJlcXVlc3QaHi5qYW1taS52MS5hdWRpdC5WZXJpZnlSZXNwb25zZWIGcHJvdG8z", [file_google_protobuf_empty]);
|
|
10
10
|
/**
|
|
11
11
|
* Describes the message jammi.v1.audit.PerQueryAudit.
|
|
12
12
|
* Use `create(PerQueryAuditSchema)` to create a new message.
|
|
@@ -37,21 +37,31 @@ export const AuditFetchRecentRequestSchema = /*@__PURE__*/ messageDesc(file_jamm
|
|
|
37
37
|
* Use `create(AuditFetchRecentResponseSchema)` to create a new message.
|
|
38
38
|
*/
|
|
39
39
|
export const AuditFetchRecentResponseSchema = /*@__PURE__*/ messageDesc(file_jammi_v1_audit, 5);
|
|
40
|
+
/**
|
|
41
|
+
* Describes the message jammi.v1.audit.VerifyRequest.
|
|
42
|
+
* Use `create(VerifyRequestSchema)` to create a new message.
|
|
43
|
+
*/
|
|
44
|
+
export const VerifyRequestSchema = /*@__PURE__*/ messageDesc(file_jammi_v1_audit, 6);
|
|
45
|
+
/**
|
|
46
|
+
* Describes the message jammi.v1.audit.VerifyResponse.
|
|
47
|
+
* Use `create(VerifyResponseSchema)` to create a new message.
|
|
48
|
+
*/
|
|
49
|
+
export const VerifyResponseSchema = /*@__PURE__*/ messageDesc(file_jammi_v1_audit, 7);
|
|
40
50
|
/**
|
|
41
51
|
* AuditService — the wire surface for the engine's per-query audit verbs.
|
|
42
52
|
*
|
|
43
|
-
* `AuditLog`, `AuditFetchByQueryId`, and `
|
|
44
|
-
* session methods — signing, tenant-injection, and signature
|
|
45
|
-
* are non-SQL logic — so they live as typed gRPC RPCs alongside
|
|
46
|
-
* engine-backed services rather than on the Flight SQL surface
|
|
47
|
-
* only, per ADR-01 §3.2). The verbs name a substrate primitive —
|
|
48
|
-
* per-query audit log — and carry no tenant-domain concept.
|
|
53
|
+
* `AuditLog`, `AuditFetchByQueryId`, `AuditFetchRecent`, and `Verify` are
|
|
54
|
+
* imperative session methods — signing, tenant-injection, and signature
|
|
55
|
+
* verification are non-SQL logic — so they live as typed gRPC RPCs alongside
|
|
56
|
+
* the other engine-backed services rather than on the Flight SQL surface
|
|
57
|
+
* (query/result only, per ADR-01 §3.2). The verbs name a substrate primitive —
|
|
58
|
+
* a signed per-query audit log — and carry no tenant-domain concept.
|
|
49
59
|
*
|
|
50
|
-
* Each verb delegates 1:1 to the consumer-facing `Session`
|
|
51
|
-
*
|
|
52
|
-
* the service reimplements no signing, storage,
|
|
53
|
-
* `PerQueryAudit` message mirrors the Rust record field
|
|
54
|
-
* its server-computed `signature`.
|
|
60
|
+
* Each verb delegates 1:1 to the consumer-facing `Session` abstraction
|
|
61
|
+
* (`audit_log` / `audit_fetch_by_query_id` / `audit_fetch_recent` /
|
|
62
|
+
* `audit_verify`); the service reimplements no signing, storage, query, or
|
|
63
|
+
* verification logic. The `PerQueryAudit` message mirrors the Rust record field
|
|
64
|
+
* for field, including its server-computed `signature`.
|
|
55
65
|
*
|
|
56
66
|
* Tenant scope is read from the request's `SessionTenant` extension, set by
|
|
57
67
|
* the single async tenant-binding layer driven by the engine's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit_pb.js","sourceRoot":"","sources":["../../../../src/gen/jammi/v1/audit_pb.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,oFAAoF;AACpF,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAY,aAAa,CACvD,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"audit_pb.js","sourceRoot":"","sources":["../../../../src/gen/jammi/v1/audit_pb.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,oFAAoF;AACpF,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGpE;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAY,aAAa,CACvD,QAAQ,CAAC,84CAA84C,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAgFz7C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA8B,aAAa,CACzE,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AAYtC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AAYtC;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAA2C,aAAa,CACnG,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AActC;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AActC;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AAYtC;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyC,aAAa,CAC/F,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AAiBtC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA8B,aAAa,CACzE,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AAkBtC;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA+B,aAAa,CAC3E,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAgDpB,aAAa,CAChB,WAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@f-inverse/jammi-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "Official TypeScript gRPC-web client for the Jammi engine, generated from the canonical jammi.v1 proto. Runs on fetch (Cloudflare Workers / V8 isolates).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|