jennah-sdk-ts 0.67.0 → 0.68.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/gen/jennah/agent/v1/agent_pb.d.ts +16 -19
- package/dist/gen/jennah/agent/v1/agent_pb.js +3 -4
- package/dist/gen/jennah/agent/v1/memory_pb.d.ts +77 -83
- package/dist/gen/jennah/agent/v1/memory_pb.js +1 -1
- package/dist/gen/jennah/agent/v1/scope_pb.d.ts +2 -2
- package/dist/gen/jennah/auth/v1/auth_pb.d.ts +10 -11
- package/dist/gen/jennah/auth/v1/auth_pb.js +1 -1
- package/dist/gen/jennah/billing/v1/billing_pb.d.ts +4 -3
- package/dist/gen/jennah/datastore/v1/data_pb.d.ts +33 -32
- package/dist/gen/jennah/datastore/v1/data_pb.js +2 -2
- package/dist/gen/jennah/datastore/v1/dataset_pb.d.ts +12 -15
- package/dist/gen/jennah/datastore/v1/dataset_pb.js +3 -4
- package/dist/gen/jennah/datastore/v1/schema_pb.d.ts +10 -12
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -71,9 +71,9 @@ export declare const AgentInstanceSchema: GenMessage<AgentInstance>;
|
|
|
71
71
|
* the per-query scan budget are measured against, reported so a caller can see it
|
|
72
72
|
* before either limit refuses them.
|
|
73
73
|
*
|
|
74
|
-
* It counts vector chunk
|
|
75
|
-
* chunk still
|
|
76
|
-
* it, so it costs what a current chunk costs. It can therefore exceed the number
|
|
74
|
+
* It counts every STORED vector chunk, including chunks retired by supersession:
|
|
75
|
+
* a retired chunk is still stored and is still read by a search that travels back
|
|
76
|
+
* to it, so it costs what a current chunk costs. It can therefore exceed the number
|
|
77
77
|
* of chunks an ordinary query returns. It may briefly lag a commit that just
|
|
78
78
|
* landed.
|
|
79
79
|
*
|
|
@@ -250,12 +250,12 @@ export declare const DeleteAgentRequestSchema: GenMessage<DeleteAgentRequest>;
|
|
|
250
250
|
* Response message for the AgentService.DeleteAgent rpc.
|
|
251
251
|
*
|
|
252
252
|
* The deletion receipt: the instant the erasure committed. It deliberately does
|
|
253
|
-
* NOT enumerate what was removed.
|
|
254
|
-
*
|
|
255
|
-
* an enumeration would have to be widened
|
|
256
|
-
* would report
|
|
257
|
-
*
|
|
258
|
-
*
|
|
253
|
+
* NOT enumerate what was removed. Everything stored beneath the workspace is
|
|
254
|
+
* erased with it, including kinds of data added after this message was written,
|
|
255
|
+
* so an enumeration would have to be widened every time a new kind is added and
|
|
256
|
+
* would report counts the caller cannot verify against anything. What the
|
|
257
|
+
* receipt attests to is that the workspace and everything beneath it were erased
|
|
258
|
+
* in one transaction, at one instant.
|
|
259
259
|
*
|
|
260
260
|
* @generated from message jennahapi.agent.v1.DeleteAgentResponse
|
|
261
261
|
*/
|
|
@@ -283,8 +283,7 @@ export declare enum AgentStatus {
|
|
|
283
283
|
*/
|
|
284
284
|
UNSPECIFIED = 0,
|
|
285
285
|
/**
|
|
286
|
-
* Ready for use: the
|
|
287
|
-
* AgentInstances row exists in the data plane.
|
|
286
|
+
* Ready for use: the workspace exists in its home region.
|
|
288
287
|
*
|
|
289
288
|
* @generated from enum value: AGENT_STATUS_ACTIVE = 1;
|
|
290
289
|
*/
|
|
@@ -298,8 +297,8 @@ export declare enum AgentStatus {
|
|
|
298
297
|
*/
|
|
299
298
|
COMPLETED = 3,
|
|
300
299
|
/**
|
|
301
|
-
* Provisioning is still in flight
|
|
302
|
-
*
|
|
300
|
+
* Provisioning is still in flight: the home region is being prepared and the
|
|
301
|
+
* workspace cannot hold memory yet. Poll GetAgent until ACTIVE.
|
|
303
302
|
*
|
|
304
303
|
* @generated from enum value: AGENT_STATUS_PROVISIONING = 4;
|
|
305
304
|
*/
|
|
@@ -324,12 +323,10 @@ export declare const AgentStatusSchema: GenEnum<AgentStatus>;
|
|
|
324
323
|
export declare const AgentService: GenService<{
|
|
325
324
|
/**
|
|
326
325
|
* Creates a new agent workspace under the caller's enterprise. The home region
|
|
327
|
-
* is resolved from the optional `region` field (a Jennah region identifier
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
* is keyed by EnterpriseId). The EnterpriseId is taken from the token, never
|
|
332
|
-
* the body.
|
|
326
|
+
* is resolved from the optional `region` field (a Jennah region identifier, one
|
|
327
|
+
* of those ListLocations reports) or the platform default region, and the
|
|
328
|
+
* region is prepared for the enterprise on first use. The enterprise is taken
|
|
329
|
+
* from the token, never the body.
|
|
333
330
|
*
|
|
334
331
|
* Returns the workspace synchronously. When provisioning is still in flight
|
|
335
332
|
* the returned AgentInstance carries status AGENT_STATUS_PROVISIONING; poll
|
|
@@ -70,8 +70,7 @@ export var AgentStatus;
|
|
|
70
70
|
*/
|
|
71
71
|
AgentStatus[AgentStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
72
72
|
/**
|
|
73
|
-
* Ready for use: the
|
|
74
|
-
* AgentInstances row exists in the data plane.
|
|
73
|
+
* Ready for use: the workspace exists in its home region.
|
|
75
74
|
*
|
|
76
75
|
* @generated from enum value: AGENT_STATUS_ACTIVE = 1;
|
|
77
76
|
*/
|
|
@@ -85,8 +84,8 @@ export var AgentStatus;
|
|
|
85
84
|
*/
|
|
86
85
|
AgentStatus[AgentStatus["COMPLETED"] = 3] = "COMPLETED";
|
|
87
86
|
/**
|
|
88
|
-
* Provisioning is still in flight
|
|
89
|
-
*
|
|
87
|
+
* Provisioning is still in flight: the home region is being prepared and the
|
|
88
|
+
* workspace cannot hold memory yet. Poll GetAgent until ACTIVE.
|
|
90
89
|
*
|
|
91
90
|
* @generated from enum value: AGENT_STATUS_PROVISIONING = 4;
|
|
92
91
|
*/
|
|
@@ -34,7 +34,7 @@ export type CommitMemoryRequest = Message<"jennahapi.agent.v1.CommitMemoryReques
|
|
|
34
34
|
*/
|
|
35
35
|
log?: ExecutionLogStep | undefined;
|
|
36
36
|
/**
|
|
37
|
-
* Vector section: chunks to upsert (write-or-replace) within the
|
|
37
|
+
* Vector section: chunks to upsert (write-or-replace) within the scope.
|
|
38
38
|
* Empty to commit no vectors.
|
|
39
39
|
*
|
|
40
40
|
* @generated from field: repeated jennahapi.agent.v1.VectorChunk vectors = 3;
|
|
@@ -59,10 +59,10 @@ export type CommitMemoryRequest = Message<"jennahapi.agent.v1.CommitMemoryReques
|
|
|
59
59
|
* Every section of the commit is applied to this ONE scope in one transaction.
|
|
60
60
|
*
|
|
61
61
|
* A commit never writes more than one scope, and that holds even when two
|
|
62
|
-
* scopes
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
62
|
+
* scopes share a home region. A commit spanning scopes is impossible across
|
|
63
|
+
* regions, so permitting it for scopes in the same region alone would make the
|
|
64
|
+
* atomicity a caller can rely on depend on where scopes happen to live rather
|
|
65
|
+
* than on the contract. Naming a second scope is INVALID_ARGUMENT.
|
|
66
66
|
*
|
|
67
67
|
* @generated from field: string target_scope = 6;
|
|
68
68
|
*/
|
|
@@ -116,7 +116,7 @@ export declare const CommitMemoryRequestSchema: GenMessage<CommitMemoryRequest>;
|
|
|
116
116
|
*/
|
|
117
117
|
export type ExecutionLogStep = Message<"jennahapi.agent.v1.ExecutionLogStep"> & {
|
|
118
118
|
/**
|
|
119
|
-
* caller-chosen; unique within the
|
|
119
|
+
* caller-chosen; unique within the scope
|
|
120
120
|
*
|
|
121
121
|
* @generated from field: string step_id = 1;
|
|
122
122
|
*/
|
|
@@ -186,7 +186,7 @@ export declare const ExecutionLogStepSchema: GenMessage<ExecutionLogStep>;
|
|
|
186
186
|
*/
|
|
187
187
|
export type VectorChunk = Message<"jennahapi.agent.v1.VectorChunk"> & {
|
|
188
188
|
/**
|
|
189
|
-
* caller-chosen; unique within the
|
|
189
|
+
* caller-chosen; unique within the scope
|
|
190
190
|
*
|
|
191
191
|
* @generated from field: string chunk_id = 1;
|
|
192
192
|
*/
|
|
@@ -263,7 +263,7 @@ export type VectorChunk = Message<"jennahapi.agent.v1.VectorChunk"> & {
|
|
|
263
263
|
export declare const VectorChunkSchema: GenMessage<VectorChunk>;
|
|
264
264
|
/**
|
|
265
265
|
* Graph-memory writes for one commit. Edges may only connect nodes within the
|
|
266
|
-
* same
|
|
266
|
+
* same scope. Edges carry an optional bi-temporal
|
|
267
267
|
* validity window (see GraphEdge.valid_at/invalid_at); a plain write with neither
|
|
268
268
|
* field set records an always-current fact. Replacing a fact while preserving
|
|
269
269
|
* history is the caller-driven supersession operation (CommitMemoryRequest's
|
|
@@ -319,7 +319,7 @@ export type SupersessionWrite = Message<"jennahapi.agent.v1.SupersessionWrite">
|
|
|
319
319
|
export declare const SupersessionWriteSchema: GenMessage<SupersessionWrite>;
|
|
320
320
|
/**
|
|
321
321
|
* One edge supersession: close `prior_edge_id`'s valid-time window at the
|
|
322
|
-
* replacement's valid_at, and insert `new_edge` in the same
|
|
322
|
+
* replacement's valid_at, and insert `new_edge` in the same scope. The prior edge
|
|
323
323
|
* stays stored and queryable as history, with its own transaction-time start
|
|
324
324
|
* preserved.
|
|
325
325
|
*
|
|
@@ -333,14 +333,14 @@ export declare const SupersessionWriteSchema: GenMessage<SupersessionWrite>;
|
|
|
333
333
|
*/
|
|
334
334
|
export type EdgeSupersession = Message<"jennahapi.agent.v1.EdgeSupersession"> & {
|
|
335
335
|
/**
|
|
336
|
-
* The currently-held edge to close. Resolved within the caller's
|
|
337
|
-
* unknown id is NotFound (never a
|
|
336
|
+
* The currently-held edge to close. Resolved within the caller's scope; an
|
|
337
|
+
* unknown id is NotFound (never a touch outside the scope).
|
|
338
338
|
*
|
|
339
339
|
* @generated from field: string prior_edge_id = 1;
|
|
340
340
|
*/
|
|
341
341
|
priorEdgeId: string;
|
|
342
342
|
/**
|
|
343
|
-
* The replacement fact, INSERTED in the same
|
|
343
|
+
* The replacement fact, INSERTED in the same scope. new_edge.valid_at is
|
|
344
344
|
* REQUIRED: it is the supersession boundary (the prior edge's invalid_at and the
|
|
345
345
|
* new edge's valid_at) and must be a concrete, non-future timestamp.
|
|
346
346
|
* new_edge.edge_id must be set and differ from prior_edge_id; because the
|
|
@@ -360,7 +360,7 @@ export type EdgeSupersession = Message<"jennahapi.agent.v1.EdgeSupersession"> &
|
|
|
360
360
|
export declare const EdgeSupersessionSchema: GenMessage<EdgeSupersession>;
|
|
361
361
|
/**
|
|
362
362
|
* One chunk supersession: close `prior_chunk_id`'s valid-time window at the
|
|
363
|
-
* replacement's valid_at, and insert `new_chunk` in the same
|
|
363
|
+
* replacement's valid_at, and insert `new_chunk` in the same scope. The prior
|
|
364
364
|
* chunk stays stored with its CONTENT INTACT and readable as history: closing a
|
|
365
365
|
* window writes the validity end and nothing else.
|
|
366
366
|
*
|
|
@@ -371,14 +371,14 @@ export declare const EdgeSupersessionSchema: GenMessage<EdgeSupersession>;
|
|
|
371
371
|
*/
|
|
372
372
|
export type ChunkSupersession = Message<"jennahapi.agent.v1.ChunkSupersession"> & {
|
|
373
373
|
/**
|
|
374
|
-
* The currently-held chunk to close. Resolved within the caller's
|
|
375
|
-
* unknown id is NotFound (never a
|
|
374
|
+
* The currently-held chunk to close. Resolved within the caller's scope; an
|
|
375
|
+
* unknown id is NotFound (never a touch outside the scope).
|
|
376
376
|
*
|
|
377
377
|
* @generated from field: string prior_chunk_id = 1;
|
|
378
378
|
*/
|
|
379
379
|
priorChunkId: string;
|
|
380
380
|
/**
|
|
381
|
-
* The replacement passage, INSERTED in the same
|
|
381
|
+
* The replacement passage, INSERTED in the same scope. new_chunk.valid_at is
|
|
382
382
|
* REQUIRED: it is the supersession boundary (the prior chunk's invalid_at and
|
|
383
383
|
* the new chunk's valid_at) and must be a concrete, non-future timestamp.
|
|
384
384
|
* new_chunk.chunk_id must be set and differ from prior_chunk_id; because the
|
|
@@ -406,7 +406,7 @@ export declare const ChunkSupersessionSchema: GenMessage<ChunkSupersession>;
|
|
|
406
406
|
*/
|
|
407
407
|
export type GraphNode = Message<"jennahapi.agent.v1.GraphNode"> & {
|
|
408
408
|
/**
|
|
409
|
-
* caller-chosen; unique within the
|
|
409
|
+
* caller-chosen; unique within the scope
|
|
410
410
|
*
|
|
411
411
|
* @generated from field: string node_id = 1;
|
|
412
412
|
*/
|
|
@@ -493,19 +493,19 @@ export declare const GraphNodeSchema: GenMessage<GraphNode>;
|
|
|
493
493
|
*/
|
|
494
494
|
export type GraphEdge = Message<"jennahapi.agent.v1.GraphEdge"> & {
|
|
495
495
|
/**
|
|
496
|
-
* caller-chosen; unique within the
|
|
496
|
+
* caller-chosen; unique within the scope
|
|
497
497
|
*
|
|
498
498
|
* @generated from field: string edge_id = 1;
|
|
499
499
|
*/
|
|
500
500
|
edgeId: string;
|
|
501
501
|
/**
|
|
502
|
-
* must reference a GraphNode in the same
|
|
502
|
+
* must reference a GraphNode in the same scope
|
|
503
503
|
*
|
|
504
504
|
* @generated from field: string source_node_id = 2;
|
|
505
505
|
*/
|
|
506
506
|
sourceNodeId: string;
|
|
507
507
|
/**
|
|
508
|
-
* must reference a GraphNode in the same
|
|
508
|
+
* must reference a GraphNode in the same scope
|
|
509
509
|
*
|
|
510
510
|
* @generated from field: string target_node_id = 3;
|
|
511
511
|
*/
|
|
@@ -728,18 +728,17 @@ export type QueryMemoryRequest = Message<"jennahapi.agent.v1.QueryMemoryRequest"
|
|
|
728
728
|
* with PERMISSION_DENIED. It is never dropped from the set, because a
|
|
729
729
|
* silently narrowed set returns a partial answer indistinguishable from a
|
|
730
730
|
* complete one.
|
|
731
|
-
* - Every named scope must
|
|
732
|
-
*
|
|
733
|
-
*
|
|
734
|
-
*
|
|
735
|
-
*
|
|
736
|
-
* consistent answer. A query naming exactly ONE scope is servable from
|
|
731
|
+
* - Every named scope must have the SAME home region. A query naming a
|
|
732
|
+
* scope homed in another region is refused with an error identifying the
|
|
733
|
+
* offending scope and the mismatch, never satisfied by reading each region
|
|
734
|
+
* separately: two regions cannot share a read snapshot, so combining their
|
|
735
|
+
* results would present two instants as one consistent answer. A query naming exactly ONE scope is servable from
|
|
737
736
|
* anywhere, because routing resolves that scope to its own region.
|
|
738
737
|
* - The number of scopes in one query is bounded by a server maximum;
|
|
739
738
|
* exceeding it is refused with an error naming the limit rather than
|
|
740
739
|
* truncated to the first N. Semantic search is exact KNN, affordable
|
|
741
|
-
* because each scope is
|
|
742
|
-
*
|
|
740
|
+
* because each scope is searched on its own, and a multi-scope query
|
|
741
|
+
* searches each named scope once.
|
|
743
742
|
*
|
|
744
743
|
* Graph traversal stays INSIDE a scope: an edge connects nodes within one
|
|
745
744
|
* scope, so a multi-scope graph section returns one subgraph per requested
|
|
@@ -770,16 +769,16 @@ export type QueryMemoryRequest = Message<"jennahapi.agent.v1.QueryMemoryRequest"
|
|
|
770
769
|
export declare const QueryMemoryRequestSchema: GenMessage<QueryMemoryRequest>;
|
|
771
770
|
/**
|
|
772
771
|
* Semantic-section query. Exactly one of `embedding` or `query_text` MUST be
|
|
773
|
-
* supplied; when `query_text` is given the
|
|
772
|
+
* supplied; when `query_text` is given the platform embeds it server-side
|
|
774
773
|
* (task_type RETRIEVAL_QUERY). Results are ranked by ascending cosine distance
|
|
775
|
-
* and
|
|
774
|
+
* and drawn only from the caller's own scope (which never silently truncates
|
|
776
775
|
* below `limit`).
|
|
777
776
|
*
|
|
778
777
|
* @generated from message jennahapi.agent.v1.SemanticQuery
|
|
779
778
|
*/
|
|
780
779
|
export type SemanticQuery = Message<"jennahapi.agent.v1.SemanticQuery"> & {
|
|
781
780
|
/**
|
|
782
|
-
* precomputed query embedding; width must match the
|
|
781
|
+
* precomputed query embedding; width must match the scope's embedding width
|
|
783
782
|
*
|
|
784
783
|
* @generated from field: repeated float embedding = 1;
|
|
785
784
|
*/
|
|
@@ -823,8 +822,7 @@ export type SemanticQuery = Message<"jennahapi.agent.v1.SemanticQuery"> & {
|
|
|
823
822
|
*
|
|
824
823
|
* A filtered section MAY therefore return fewer than `limit` results when fewer
|
|
825
824
|
* chunks match. That is the caller's own narrowing and is reproducible from the
|
|
826
|
-
* filters; it is NOT
|
|
827
|
-
* against.
|
|
825
|
+
* filters; it is NOT a silent truncation, which the platform never applies.
|
|
828
826
|
*
|
|
829
827
|
* @generated from field: repeated jennahapi.agent.v1.MetadataFilter filters = 4;
|
|
830
828
|
*/
|
|
@@ -849,11 +847,10 @@ export type SemanticQuery = Message<"jennahapi.agent.v1.SemanticQuery"> & {
|
|
|
849
847
|
* agent held at that instant, consistent with one another.
|
|
850
848
|
*
|
|
851
849
|
* This is NOT QueryMemoryRequest.as_of. That field moves the physical read
|
|
852
|
-
* snapshot and
|
|
853
|
-
*
|
|
854
|
-
*
|
|
855
|
-
*
|
|
856
|
-
* omitted or widened.
|
|
850
|
+
* snapshot and may be at most about an hour in the past; valid-time is a bound
|
|
851
|
+
* predicate over stored columns evaluated at the current snapshot, so it
|
|
852
|
+
* reaches arbitrarily far back. Both bounds only narrow the read; they never
|
|
853
|
+
* reach outside the caller's own scope.
|
|
857
854
|
*
|
|
858
855
|
* @generated from field: google.protobuf.Timestamp as_of_valid = 5;
|
|
859
856
|
*/
|
|
@@ -878,7 +875,7 @@ export type SemanticQuery = Message<"jennahapi.agent.v1.SemanticQuery"> & {
|
|
|
878
875
|
* Hybrid also requires the workspace's enterprise to have the lexical channel
|
|
879
876
|
* enabled and its stored chunks fully indexed. Where that is not yet true the
|
|
880
877
|
* request is refused rather than answered from a partial index, because a lexical
|
|
881
|
-
* channel ranking over part of a
|
|
878
|
+
* channel ranking over part of a scope returns fewer results than the scope holds
|
|
882
879
|
* without saying so.
|
|
883
880
|
*
|
|
884
881
|
* @generated from field: jennahapi.agent.v1.RetrievalMode retrieval_mode = 7;
|
|
@@ -902,7 +899,7 @@ export type SemanticQuery = Message<"jennahapi.agent.v1.SemanticQuery"> & {
|
|
|
902
899
|
* constant, not a caller knob, because its right value is a property of the
|
|
903
900
|
* retrieval path rather than of any one request.
|
|
904
901
|
*
|
|
905
|
-
* Reranking resolves within the workspace's own
|
|
902
|
+
* Reranking resolves within the workspace's own home region, on the same
|
|
906
903
|
* rule every other external inference follows. A region with no configured
|
|
907
904
|
* reranking endpoint refuses the request rather than sending the workspace's
|
|
908
905
|
* content elsewhere, and a request that opts in where reranking cannot be
|
|
@@ -1003,7 +1000,7 @@ export declare const MetadataFilter_OperatorSchema: GenEnum<MetadataFilter_Opera
|
|
|
1003
1000
|
/**
|
|
1004
1001
|
* Graph-section query: a STRUCTURED traversal over the agent's knowledge graph.
|
|
1005
1002
|
* The platform ensures graph queries remain within the caller's authorized
|
|
1006
|
-
*
|
|
1003
|
+
* scope.
|
|
1007
1004
|
*
|
|
1008
1005
|
* A query is an anchor node set plus zero or more single-hop traversals. Each
|
|
1009
1006
|
* hop is one `GraphStep`; multi-hop traversal is expressed as successive steps.
|
|
@@ -1038,11 +1035,10 @@ export type GraphQuery = Message<"jennahapi.agent.v1.GraphQuery"> & {
|
|
|
1038
1035
|
* as_of_tx additionally constrains transaction-time ("as known at as_of_tx"),
|
|
1039
1036
|
* and is only meaningful together with as_of_valid.
|
|
1040
1037
|
*
|
|
1041
|
-
* Graph valid-time is evaluated as a
|
|
1042
|
-
* at the current snapshot, never by moving
|
|
1043
|
-
*
|
|
1044
|
-
*
|
|
1045
|
-
* omitted or widened.
|
|
1038
|
+
* Graph valid-time is evaluated as a predicate over each edge's validity window
|
|
1039
|
+
* at the current snapshot, never by moving the physical read timestamp. It
|
|
1040
|
+
* applies to every hop, only narrows the traversal, and never reaches outside
|
|
1041
|
+
* the caller's own scope.
|
|
1046
1042
|
*
|
|
1047
1043
|
* @generated from field: google.protobuf.Timestamp as_of_valid = 4;
|
|
1048
1044
|
*/
|
|
@@ -1060,8 +1056,8 @@ export declare const GraphQuerySchema: GenMessage<GraphQuery>;
|
|
|
1060
1056
|
/**
|
|
1061
1057
|
* A node-pattern constraint. `label` optionally filters the node's semantic
|
|
1062
1058
|
* `Label` property (e.g. "Person"); `filters` are optional equality predicates.
|
|
1063
|
-
* The
|
|
1064
|
-
*
|
|
1059
|
+
* The platform always confines the match to the caller's own scope: that is NOT
|
|
1060
|
+
* expressible here and cannot be overridden.
|
|
1065
1061
|
*
|
|
1066
1062
|
* @generated from message jennahapi.agent.v1.GraphNodeMatch
|
|
1067
1063
|
*/
|
|
@@ -1084,11 +1080,11 @@ export type GraphNodeMatch = Message<"jennahapi.agent.v1.GraphNodeMatch"> & {
|
|
|
1084
1080
|
*
|
|
1085
1081
|
* THIS IS A SEPARATE LIST FROM `filters`, and it stays separate deliberately.
|
|
1086
1082
|
* `filters` names FIRST-CLASS COLUMNS and is allowlisted (`NodeId`, `Label`,
|
|
1087
|
-
* `NodeType`) so that a caller cannot filter on
|
|
1088
|
-
*
|
|
1089
|
-
*
|
|
1090
|
-
* takes and make a metadata key
|
|
1091
|
-
* an answer. Two lists means a key's meaning is fixed by which list it is in.
|
|
1083
|
+
* `NodeType`) so that a caller cannot filter on any column the platform uses
|
|
1084
|
+
* to keep scopes apart. If the two lists merged, resolving a key would mean
|
|
1085
|
+
* asking "is this the name of a column?", which would hand a caller-chosen
|
|
1086
|
+
* string the power to pick which branch it takes and make a metadata key that
|
|
1087
|
+
* shares a column's name a question rather than an answer. Two lists means a key's meaning is fixed by which list it is in.
|
|
1092
1088
|
*
|
|
1093
1089
|
* The rule for choosing: filtering a stored column (`NodeId`, `Label`,
|
|
1094
1090
|
* `NodeType`) is `filters`; filtering a tag you wrote in GraphNode.metadata is
|
|
@@ -1158,8 +1154,8 @@ export declare const GraphStepSchema: GenMessage<GraphStep>;
|
|
|
1158
1154
|
* classes its current vocabulary no longer declares, and those nodes stay
|
|
1159
1155
|
* reachable.
|
|
1160
1156
|
*
|
|
1161
|
-
* The allowlist is what keeps a caller off the
|
|
1162
|
-
* purpose and does not fall back to anything. In particular it does NOT reach into
|
|
1157
|
+
* The allowlist is what keeps a caller off the columns that keep scopes apart, so
|
|
1158
|
+
* it is narrow on purpose and does not fall back to anything. In particular it does NOT reach into
|
|
1163
1159
|
* `properties`: that field is a payload and is not filterable at all, because
|
|
1164
1160
|
* filtering a JSON column needs a caller-supplied key inside a JSON path and that
|
|
1165
1161
|
* is an injection surface the platform does not open. To filter on something a
|
|
@@ -1213,7 +1209,7 @@ export type LogQuery = Message<"jennahapi.agent.v1.LogQuery"> & {
|
|
|
1213
1209
|
*
|
|
1214
1210
|
* A filtered section returning fewer steps than `limit` means fewer steps
|
|
1215
1211
|
* matched. That is the caller's own narrowing and is reproducible from the
|
|
1216
|
-
* filter; it is not
|
|
1212
|
+
* filter; it is not a silent truncation, which the platform never applies.
|
|
1217
1213
|
*
|
|
1218
1214
|
* @generated from field: repeated jennahapi.agent.v1.MetadataFilter metadata = 3;
|
|
1219
1215
|
*/
|
|
@@ -1326,7 +1322,7 @@ export type SemanticMatch = Message<"jennahapi.agent.v1.SemanticMatch"> & {
|
|
|
1326
1322
|
*/
|
|
1327
1323
|
channels: RetrievalChannel[];
|
|
1328
1324
|
/**
|
|
1329
|
-
*
|
|
1325
|
+
* The lexical (whole-word) relevance score, set only when `channels` includes
|
|
1330
1326
|
* RETRIEVAL_CHANNEL_LEXICAL and 0 otherwise. Higher is more relevant, OPPOSITE to
|
|
1331
1327
|
* `distance`.
|
|
1332
1328
|
*
|
|
@@ -1406,7 +1402,7 @@ export type SemanticMatch = Message<"jennahapi.agent.v1.SemanticMatch"> & {
|
|
|
1406
1402
|
*
|
|
1407
1403
|
* It is reported so a layer above the platform can compare WHEN a recalled
|
|
1408
1404
|
* passage became valid against when a new statement was made, through the
|
|
1409
|
-
* ordinary
|
|
1405
|
+
* ordinary scope-confined query path rather than a privileged read. Memory formation is
|
|
1410
1406
|
* the first such caller: it is how a revision knows it is not retiring something
|
|
1411
1407
|
* newer than the conversation it came from.
|
|
1412
1408
|
*
|
|
@@ -1439,7 +1435,7 @@ export type SemanticMatch = Message<"jennahapi.agent.v1.SemanticMatch"> & {
|
|
|
1439
1435
|
export declare const SemanticMatchSchema: GenMessage<SemanticMatch>;
|
|
1440
1436
|
/**
|
|
1441
1437
|
* Graph traversal result rows. Each row carries the matched elements' key
|
|
1442
|
-
* fields (node ids and labels, and edge relationship types) keyed by
|
|
1438
|
+
* fields (node ids and labels, and edge relationship types) keyed by platform-
|
|
1443
1439
|
* assigned binding names, so the shape is carried as a structured value rather
|
|
1444
1440
|
* than a fixed schema.
|
|
1445
1441
|
*
|
|
@@ -1447,7 +1443,7 @@ export declare const SemanticMatchSchema: GenMessage<SemanticMatch>;
|
|
|
1447
1443
|
* rather than as a field beside it: the row has no fixed schema to add a field
|
|
1448
1444
|
* to, and a parallel array would have to stay index-aligned with one. The key
|
|
1449
1445
|
* cannot collide with a caller's binding, because binding names are assigned by
|
|
1450
|
-
* the
|
|
1446
|
+
* the platform and never taken from the request. Every row carries it, including
|
|
1451
1447
|
* for a single-scope query, and no returned path crosses scopes, so one row
|
|
1452
1448
|
* names exactly one scope.
|
|
1453
1449
|
*
|
|
@@ -1508,7 +1504,7 @@ export declare const FusedResultSchema: GenMessage<FusedResult>;
|
|
|
1508
1504
|
*
|
|
1509
1505
|
* Any subset of the three section fields may be present; at least one SHOULD
|
|
1510
1506
|
* be. All present sections are enumerated at one read snapshot within the
|
|
1511
|
-
* caller's
|
|
1507
|
+
* caller's own scope. There is no query anchor:
|
|
1512
1508
|
* unlike QueryMemory this lists stored rows for debugging, so a section is
|
|
1513
1509
|
* requested simply by being present, bounded by its limit.
|
|
1514
1510
|
*
|
|
@@ -1718,8 +1714,8 @@ export type InspectMemoryResponse = Message<"jennahapi.agent.v1.InspectMemoryRes
|
|
|
1718
1714
|
* recent steps rather than an enumerable listing and has nothing to continue.
|
|
1719
1715
|
*
|
|
1720
1716
|
* CONSISTENCY: pages are independently snapshotted, so a commit landing mid-walk
|
|
1721
|
-
* may appear. Set `as_of` on every request of the walk for a stable view
|
|
1722
|
-
*
|
|
1717
|
+
* may appear. Set `as_of` on every request of the walk for a stable view; it
|
|
1718
|
+
* may be at most about an hour in the past.
|
|
1723
1719
|
*
|
|
1724
1720
|
* @generated from field: string next_chunk_token = 5;
|
|
1725
1721
|
*/
|
|
@@ -1898,14 +1894,14 @@ export type SupersedeEdgeRequest = Message<"jennahapi.agent.v1.SupersedeEdgeRequ
|
|
|
1898
1894
|
*/
|
|
1899
1895
|
agentInstanceId: string;
|
|
1900
1896
|
/**
|
|
1901
|
-
* The currently-held edge to close. Resolved within the caller's
|
|
1902
|
-
* unknown id is NotFound (never a
|
|
1897
|
+
* The currently-held edge to close. Resolved within the caller's scope; an
|
|
1898
|
+
* unknown id is NotFound (never a touch outside the scope).
|
|
1903
1899
|
*
|
|
1904
1900
|
* @generated from field: string prior_edge_id = 2;
|
|
1905
1901
|
*/
|
|
1906
1902
|
priorEdgeId: string;
|
|
1907
1903
|
/**
|
|
1908
|
-
* The replacement fact, inserted in the same
|
|
1904
|
+
* The replacement fact, inserted in the same scope. new_edge.valid_at is
|
|
1909
1905
|
* REQUIRED: it is the supersession boundary (the prior edge's invalid_at and
|
|
1910
1906
|
* the new edge's valid_at) and must be a concrete timestamp. new_edge.edge_id
|
|
1911
1907
|
* must be set and differ from prior_edge_id (the replacement is inserted, not
|
|
@@ -1971,8 +1967,8 @@ export type SupersedeChunkRequest = Message<"jennahapi.agent.v1.SupersedeChunkRe
|
|
|
1971
1967
|
*/
|
|
1972
1968
|
agentInstanceId: string;
|
|
1973
1969
|
/**
|
|
1974
|
-
* The currently-held chunk to close. Resolved within the caller's
|
|
1975
|
-
* unknown id is NotFound (never a
|
|
1970
|
+
* The currently-held chunk to close. Resolved within the caller's scope; an
|
|
1971
|
+
* unknown id is NotFound (never a touch outside the scope). Its content is left
|
|
1976
1972
|
* intact: closing a window writes the validity end and nothing else, so the
|
|
1977
1973
|
* superseded passage stays readable as history.
|
|
1978
1974
|
*
|
|
@@ -1980,7 +1976,7 @@ export type SupersedeChunkRequest = Message<"jennahapi.agent.v1.SupersedeChunkRe
|
|
|
1980
1976
|
*/
|
|
1981
1977
|
priorChunkId: string;
|
|
1982
1978
|
/**
|
|
1983
|
-
* The replacement passage, inserted in the same
|
|
1979
|
+
* The replacement passage, inserted in the same scope. new_chunk.valid_at is
|
|
1984
1980
|
* REQUIRED: it is the supersession boundary (the prior chunk's invalid_at and the
|
|
1985
1981
|
* new chunk's valid_at) and must be a concrete timestamp. new_chunk.chunk_id must
|
|
1986
1982
|
* be set and differ from prior_chunk_id (the replacement is inserted, not
|
|
@@ -2113,10 +2109,10 @@ export declare const ConversationTurnSchema: GenMessage<ConversationTurn>;
|
|
|
2113
2109
|
export type FormMemoryRequest = Message<"jennahapi.agent.v1.FormMemoryRequest"> & {
|
|
2114
2110
|
/**
|
|
2115
2111
|
* Route path parameter, never read from the body: the agent workspace this
|
|
2116
|
-
* formation reads and writes. Every stage is
|
|
2117
|
-
*
|
|
2118
|
-
*
|
|
2119
|
-
*
|
|
2112
|
+
* formation reads and writes. Every stage is confined to this scope of the
|
|
2113
|
+
* caller's enterprise: extraction has no field that could widen it, and recall
|
|
2114
|
+
* and commit take the same scope-confined paths CommitMemory and QueryMemory
|
|
2115
|
+
* take.
|
|
2120
2116
|
*
|
|
2121
2117
|
* @generated from field: string scope_id = 1;
|
|
2122
2118
|
*/
|
|
@@ -2857,7 +2853,7 @@ export declare enum RetrievalMode {
|
|
|
2857
2853
|
*/
|
|
2858
2854
|
UNSPECIFIED = 0,
|
|
2859
2855
|
/**
|
|
2860
|
-
* Rank by exact cosine distance over the caller's
|
|
2856
|
+
* Rank by exact cosine distance over the caller's scope. The default, and what
|
|
2861
2857
|
* the semantic section has always done.
|
|
2862
2858
|
*
|
|
2863
2859
|
* @generated from enum value: RETRIEVAL_MODE_VECTOR_ONLY = 1;
|
|
@@ -3075,7 +3071,8 @@ export declare const MemoryService: GenService<{
|
|
|
3075
3071
|
* optional execution-log step, an optional set of vector chunks, an optional
|
|
3076
3072
|
* set of graph writes, and an optional set of supersessions. The commit is
|
|
3077
3073
|
* all-or-nothing: if any section fails (e.g. a vector whose width does not
|
|
3078
|
-
* match the
|
|
3074
|
+
* match the workspace's embedding width, or a supersession naming a prior id
|
|
3075
|
+
* that is not there),
|
|
3079
3076
|
* no section's rows are written. The commit is rejected, writing nothing, if
|
|
3080
3077
|
* the target workspace does not exist under the caller's tenant. Returns a
|
|
3081
3078
|
* receipt: the commit timestamp and per-memory-type row counts.
|
|
@@ -3094,8 +3091,7 @@ export declare const MemoryService: GenService<{
|
|
|
3094
3091
|
* section. Returns one result section per requested section, plus a fused
|
|
3095
3092
|
* result when `link` is set. An optional `as_of` timestamp is applied
|
|
3096
3093
|
* uniformly to every section so all sections observe the same historical
|
|
3097
|
-
* instant. Every section
|
|
3098
|
-
* AgentInstanceId) slice.
|
|
3094
|
+
* instant. Every section reads only the caller's own scope.
|
|
3099
3095
|
*
|
|
3100
3096
|
* @generated from rpc jennahapi.agent.v1.MemoryService.QueryMemory
|
|
3101
3097
|
*/
|
|
@@ -3110,7 +3106,7 @@ export declare const MemoryService: GenService<{
|
|
|
3110
3106
|
* vectors are never returned), the graph nodes and edges, and the recent
|
|
3111
3107
|
* execution-log steps. Unlike QueryMemory it takes no semantic query or graph
|
|
3112
3108
|
* start pattern; each requested section is simply enumerated within the
|
|
3113
|
-
* caller's
|
|
3109
|
+
* caller's own scope, up to a per-section limit,
|
|
3114
3110
|
* at ONE read snapshot so every section observes the same instant. This is a
|
|
3115
3111
|
* read-only diagnostic surface, not a retrieval path.
|
|
3116
3112
|
*
|
|
@@ -3125,9 +3121,8 @@ export declare const MemoryService: GenService<{
|
|
|
3125
3121
|
* Replaces a currently-held graph fact WITHOUT destroying it (add-temporal-
|
|
3126
3122
|
* graph). In one read-write transaction it closes the prior edge's valid-time
|
|
3127
3123
|
* window (its invalid_at becomes the new edge's valid_at, its transaction-time
|
|
3128
|
-
* start preserved) and inserts the replacement edge in the same
|
|
3129
|
-
*
|
|
3130
|
-
* an open window (unless new_edge.invalid_at is set). The prior edge stays
|
|
3124
|
+
* start preserved) and inserts the replacement edge in the same scope with a
|
|
3125
|
+
* fresh transaction-time start and an open window (unless new_edge.invalid_at is set). The prior edge stays
|
|
3131
3126
|
* queryable as history via an as_of graph query. Supersession is caller-driven:
|
|
3132
3127
|
* the platform never infers which facts conflict. new_edge.valid_at (the
|
|
3133
3128
|
* supersession boundary) is REQUIRED and new_edge.edge_id must differ from
|
|
@@ -3153,8 +3148,7 @@ export declare const MemoryService: GenService<{
|
|
|
3153
3148
|
* semantics on the same terms: in one read-write transaction it closes the prior
|
|
3154
3149
|
* chunk's valid-time window (its invalid_at becomes the new chunk's valid_at, its
|
|
3155
3150
|
* transaction-time start preserved) and inserts the replacement chunk in the same
|
|
3156
|
-
*
|
|
3157
|
-
* open window. The prior chunk keeps its content and stays readable as history via
|
|
3151
|
+
* scope with a fresh transaction-time start and an open window. The prior chunk keeps its content and stays readable as history via
|
|
3158
3152
|
* an as_of_valid semantic query. Supersession is caller-driven: the platform never
|
|
3159
3153
|
* infers which passages conflict, and performs no model-driven detection of it.
|
|
3160
3154
|
* new_chunk.valid_at (the supersession boundary) is REQUIRED and new_chunk.chunk_id
|
|
@@ -382,7 +382,7 @@ export var RetrievalMode;
|
|
|
382
382
|
*/
|
|
383
383
|
RetrievalMode[RetrievalMode["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
384
384
|
/**
|
|
385
|
-
* Rank by exact cosine distance over the caller's
|
|
385
|
+
* Rank by exact cosine distance over the caller's scope. The default, and what
|
|
386
386
|
* the semantic section has always done.
|
|
387
387
|
*
|
|
388
388
|
* @generated from enum value: RETRIEVAL_MODE_VECTOR_ONLY = 1;
|
|
@@ -299,8 +299,8 @@ export declare const ScopeService: GenService<{
|
|
|
299
299
|
* Creates a memory scope of an explicit kind under the caller's enterprise.
|
|
300
300
|
* The home region is resolved exactly as it is for an agent workspace, from
|
|
301
301
|
* the optional `region` field or the platform default, and is FIXED for the
|
|
302
|
-
* scope's life: a subject scope's memory
|
|
303
|
-
*
|
|
302
|
+
* scope's life: a subject scope's memory is stored in that region and is never
|
|
303
|
+
* replicated elsewhere, which is what makes a residency
|
|
304
304
|
* commitment about a subject hold irrespective of which agent reads it.
|
|
305
305
|
*
|
|
306
306
|
* The identifier space is shared across both kinds, so an id that already
|
|
@@ -6,9 +6,8 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const file_jennah_auth_v1_auth: GenFile;
|
|
8
8
|
/**
|
|
9
|
-
* One of the caller's enterprise memberships
|
|
10
|
-
*
|
|
11
|
-
* switch into.
|
|
9
|
+
* One of the caller's enterprise memberships, surfaced in Identity so a
|
|
10
|
+
* multi-enterprise user can pick which one to switch into.
|
|
12
11
|
*
|
|
13
12
|
* @generated from message jennahapi.auth.v1.Membership
|
|
14
13
|
*/
|
|
@@ -1004,7 +1003,7 @@ export type Member = Message<"jennahapi.auth.v1.Member"> & {
|
|
|
1004
1003
|
*/
|
|
1005
1004
|
role: Role;
|
|
1006
1005
|
/**
|
|
1007
|
-
*
|
|
1006
|
+
* when the member joined the enterprise
|
|
1008
1007
|
*
|
|
1009
1008
|
* @generated from field: google.protobuf.Timestamp joined_at = 4;
|
|
1010
1009
|
*/
|
|
@@ -2065,7 +2064,7 @@ export declare enum ResponseMode {
|
|
|
2065
2064
|
export declare const ResponseModeSchema: GenEnum<ResponseMode>;
|
|
2066
2065
|
/**
|
|
2067
2066
|
* A caller's role within an enterprise. Exactly one ROLE_ROOT per enterprise
|
|
2068
|
-
* (its creator/owner); resolved from the
|
|
2067
|
+
* (its creator/owner); resolved from the current membership, never carried in
|
|
2069
2068
|
* the access token (so role changes apply immediately).
|
|
2070
2069
|
*
|
|
2071
2070
|
* @generated from enum jennahapi.auth.v1.Role
|
|
@@ -2221,8 +2220,8 @@ export declare const AuthService: GenService<{
|
|
|
2221
2220
|
};
|
|
2222
2221
|
/**
|
|
2223
2222
|
* Mints a new API key for the caller's active enterprise. External (gateway)
|
|
2224
|
-
* RPC. Authenticated AND gated to ROLE_ROOT/ROLE_ADMIN,
|
|
2225
|
-
*
|
|
2223
|
+
* RPC. Authenticated AND gated to ROLE_ROOT/ROLE_ADMIN, checked against the
|
|
2224
|
+
* caller's current role (never trusted from a claim). The plaintext secret is
|
|
2226
2225
|
* returned exactly once, in this response, and is NOT retrievable afterward,
|
|
2227
2226
|
* only its sha256 hash is stored. The key resolves to a ROLE_MEMBER-equivalent
|
|
2228
2227
|
* service principal scoped to the enterprise.
|
|
@@ -2266,8 +2265,8 @@ export declare const AuthService: GenService<{
|
|
|
2266
2265
|
/**
|
|
2267
2266
|
* Invites a person by email into the caller's active enterprise, granting
|
|
2268
2267
|
* ROLE_ADMIN or ROLE_MEMBER (never ROLE_ROOT). External (gateway) RPC.
|
|
2269
|
-
* Authenticated AND gated to ROLE_ROOT/ROLE_ADMIN (
|
|
2270
|
-
*
|
|
2268
|
+
* Authenticated AND gated to ROLE_ROOT/ROLE_ADMIN (checked against the
|
|
2269
|
+
* caller's current role). Membership is NOT granted by email match: this only
|
|
2271
2270
|
* creates a pending invitation bound to a single-use token, returned exactly
|
|
2272
2271
|
* once in the response for the inviter to share. The grant happens when the
|
|
2273
2272
|
* invitee accepts (AcceptInvitation) while signed in. Rejects an email already
|
|
@@ -2350,7 +2349,7 @@ export declare const AuthService: GenService<{
|
|
|
2350
2349
|
};
|
|
2351
2350
|
/**
|
|
2352
2351
|
* Removes a member from the caller's active enterprise, deleting their
|
|
2353
|
-
*
|
|
2352
|
+
* membership and revoking their refresh sessions scoped to it (so no new
|
|
2354
2353
|
* access token can be minted for it; an already-issued one lasts until it
|
|
2355
2354
|
* expires). External (gateway) RPC. Authenticated AND gated to
|
|
2356
2355
|
* ROLE_ROOT/ROLE_ADMIN (a member MAY remove themselves, which is a leave). The
|
|
@@ -2383,7 +2382,7 @@ export declare const AuthService: GenService<{
|
|
|
2383
2382
|
/**
|
|
2384
2383
|
* Updates mutable fields of the caller's active enterprise (currently just its
|
|
2385
2384
|
* display name). External (gateway) RPC. Authenticated AND gated to
|
|
2386
|
-
* ROLE_ROOT/ROLE_ADMIN (
|
|
2385
|
+
* ROLE_ROOT/ROLE_ADMIN (checked against the caller's current role). The target
|
|
2387
2386
|
* is always the caller's active enterprise (from the token), never a path/body
|
|
2388
2387
|
* id, mirroring ListMembers/ChangeMemberRole.
|
|
2389
2388
|
*
|
|
@@ -452,7 +452,7 @@ export var ResponseMode;
|
|
|
452
452
|
export const ResponseModeSchema = /*@__PURE__*/ enumDesc(file_jennah_auth_v1_auth, 2);
|
|
453
453
|
/**
|
|
454
454
|
* A caller's role within an enterprise. Exactly one ROLE_ROOT per enterprise
|
|
455
|
-
* (its creator/owner); resolved from the
|
|
455
|
+
* (its creator/owner); resolved from the current membership, never carried in
|
|
456
456
|
* the access token (so role changes apply immediately).
|
|
457
457
|
*
|
|
458
458
|
* @generated from enum jennahapi.auth.v1.Role
|
|
@@ -739,8 +739,9 @@ export declare const BillingService: GenService<{
|
|
|
739
739
|
* Binds the subscription behind a single-use registration handle to the caller's
|
|
740
740
|
* active enterprise and applies its resolved tier. External (gateway) RPC.
|
|
741
741
|
* Authenticated AND gated to ROLE_ROOT/ROLE_ADMIN on the active enterprise,
|
|
742
|
-
*
|
|
743
|
-
* allowlist, since this is the call that
|
|
742
|
+
* checked against the caller's current role, so a role change applies at once.
|
|
743
|
+
* Also on the entitlement exempt allowlist, since this is the call that
|
|
744
|
+
* restores a blocked caller's access.
|
|
744
745
|
*
|
|
745
746
|
* The handle is a bearer capability with a deliberately small blast radius:
|
|
746
747
|
* whoever presents it attaches that subscription to THEIR active enterprise.
|
|
@@ -779,7 +780,7 @@ export declare const BillingService: GenService<{
|
|
|
779
780
|
* taken or returned.
|
|
780
781
|
*
|
|
781
782
|
* Only a signed-in user holding ROLE_ROOT or ROLE_ADMIN on the active
|
|
782
|
-
* enterprise can call it,
|
|
783
|
+
* enterprise can call it, checked against the caller's current role. It is not
|
|
783
784
|
* grantable by any permission, and an API key is refused before any role is
|
|
784
785
|
* resolved, including a key created by an administrator, so an agent can never
|
|
785
786
|
* raise its own spending limit.
|
|
@@ -139,19 +139,19 @@ export declare const RowSchema: GenMessage<Row>;
|
|
|
139
139
|
/**
|
|
140
140
|
* One predicate over a column.
|
|
141
141
|
*
|
|
142
|
-
* The operator set is deliberately IDENTICAL to
|
|
143
|
-
*
|
|
142
|
+
* The operator set is deliberately IDENTICAL to agent memory's metadata filter
|
|
143
|
+
* grammar (MemoryService). Predicates combine conjunctively: all must match.
|
|
144
144
|
*
|
|
145
145
|
* ONE SEMANTIC DIFFERENCE, and it is deliberate. Metadata comparison is
|
|
146
146
|
* LEXICOGRAPHIC, because a metadata value is an untyped string and the platform
|
|
147
147
|
* refuses to guess a type for it. An application column HAS a declared type, so
|
|
148
148
|
* comparison here is TYPED and natural: an INT64 column orders numerically
|
|
149
|
-
* (10 > 9), a TIMESTAMP column chronologically. The
|
|
150
|
-
*
|
|
149
|
+
* (10 > 9), a TIMESTAMP column chronologically. The zero-pad-your-numbers advice
|
|
150
|
+
* for memory metadata filters does not apply and must not be carried over.
|
|
151
151
|
*
|
|
152
152
|
* A row whose column is NULL matches NO operator, including OPERATOR_EQUALS:
|
|
153
153
|
* there is no value to compare or order against, so a NULL excludes. This
|
|
154
|
-
* matches
|
|
154
|
+
* matches memory metadata filters, where an absent key matches nothing.
|
|
155
155
|
*
|
|
156
156
|
* @generated from message jennahapi.datastore.v1.Predicate
|
|
157
157
|
*/
|
|
@@ -319,18 +319,18 @@ export type RowOperation = Message<"jennahapi.datastore.v1.RowOperation"> & {
|
|
|
319
319
|
* A SUPPLIED vector is stored exactly as given and the model is not invoked,
|
|
320
320
|
* so a caller may use its own embedding model provided the width matches. The
|
|
321
321
|
* platform can dimension-check a supplied vector but cannot verify which model
|
|
322
|
-
* produced it, as is already true of
|
|
322
|
+
* produced it, as is already true of agent memory.
|
|
323
323
|
*
|
|
324
324
|
* @generated from field: jennahapi.datastore.v1.Row row = 3;
|
|
325
325
|
*/
|
|
326
326
|
row?: Row | undefined;
|
|
327
327
|
/**
|
|
328
|
-
* Row selector for UPDATE and DELETE
|
|
329
|
-
*
|
|
330
|
-
* for INSERT and UPSERT.
|
|
328
|
+
* Row selector for UPDATE and DELETE. It can only narrow within the dataset:
|
|
329
|
+
* the platform always confines the operation to this dataset, and no predicate
|
|
330
|
+
* can omit or widen that. Ignored for INSERT and UPSERT.
|
|
331
331
|
*
|
|
332
332
|
* An UPDATE or DELETE with no predicates affects every row of the table
|
|
333
|
-
* WITHIN THE DATASET
|
|
333
|
+
* WITHIN THE DATASET. That is permitted and bounded, but it is rarely
|
|
334
334
|
* what a caller means, so state the key explicitly unless a full-table
|
|
335
335
|
* operation is intended.
|
|
336
336
|
*
|
|
@@ -479,8 +479,8 @@ export type CommitDataRequest = Message<"jennahapi.datastore.v1.CommitDataReques
|
|
|
479
479
|
* merely reported: if the model truncates any embedding the SERVER generated,
|
|
480
480
|
* the commit is rejected and no row from any table in it is written.
|
|
481
481
|
*
|
|
482
|
-
* Truncation policy belongs to the caller, exactly as it does
|
|
483
|
-
*
|
|
482
|
+
* Truncation policy belongs to the caller, exactly as it does for agent
|
|
483
|
+
* memory, and the same reasoning applies: an audit-trail writer may prefer a
|
|
484
484
|
* degraded embedding over a lost commit, while a retrieval-critical writer
|
|
485
485
|
* prefers to fail, split the content, and re-commit. Defaults to false, where
|
|
486
486
|
* the receipt's `truncations` reports the same fact without refusing the
|
|
@@ -672,7 +672,7 @@ export type RelationalQuery = Message<"jennahapi.datastore.v1.RelationalQuery">
|
|
|
672
672
|
*/
|
|
673
673
|
select: string[];
|
|
674
674
|
/**
|
|
675
|
-
* Conjunctive predicates
|
|
675
|
+
* Conjunctive predicates. They narrow within the dataset and cannot widen it.
|
|
676
676
|
*
|
|
677
677
|
* @generated from field: repeated jennahapi.datastore.v1.Predicate where = 3;
|
|
678
678
|
*/
|
|
@@ -701,7 +701,7 @@ export type RelationalQuery = Message<"jennahapi.datastore.v1.RelationalQuery">
|
|
|
701
701
|
* QueryDataResponse.next_page_token for the exhaustion contract. Opaque and
|
|
702
702
|
* server-generated: a token the server cannot interpret is REJECTED with
|
|
703
703
|
* INVALID_ARGUMENT rather than silently restarting, and a token can only
|
|
704
|
-
* narrow within the caller's
|
|
704
|
+
* narrow within the caller's dataset, never widen it.
|
|
705
705
|
*
|
|
706
706
|
* @generated from field: string page_token = 7;
|
|
707
707
|
*/
|
|
@@ -715,9 +715,9 @@ export declare const RelationalQuerySchema: GenMessage<RelationalQuery>;
|
|
|
715
715
|
/**
|
|
716
716
|
* Vector section: exact-KNN ranking over one vector column.
|
|
717
717
|
*
|
|
718
|
-
* Ranking is by EXACT cosine distance, not an approximate index. Each query
|
|
719
|
-
*
|
|
720
|
-
* index pointless:
|
|
718
|
+
* Ranking is by EXACT cosine distance, not an approximate index. Each query
|
|
719
|
+
* searches one dataset only, which keeps the search small and makes an
|
|
720
|
+
* approximate index pointless: agent memory search is exact for the same reason.
|
|
721
721
|
*
|
|
722
722
|
* @generated from message jennahapi.datastore.v1.VectorQuery
|
|
723
723
|
*/
|
|
@@ -768,7 +768,7 @@ export type VectorQuery = Message<"jennahapi.datastore.v1.VectorQuery"> & {
|
|
|
768
768
|
* the nearest `limit` rows AMONG those matching the predicates, not the
|
|
769
769
|
* predicates applied to an unfiltered nearest-`limit` set, which would return
|
|
770
770
|
* fewer rows (often zero) for reasons a caller could not predict. Same rule
|
|
771
|
-
*
|
|
771
|
+
* agent memory applies to metadata filters.
|
|
772
772
|
*
|
|
773
773
|
* @generated from field: repeated jennahapi.datastore.v1.Predicate where = 6;
|
|
774
774
|
*/
|
|
@@ -777,7 +777,7 @@ export type VectorQuery = Message<"jennahapi.datastore.v1.VectorQuery"> & {
|
|
|
777
777
|
* Max matches to return, clamped to the tier's ceiling like the relational
|
|
778
778
|
* section's. A filtered section MAY return fewer when fewer rows match; that
|
|
779
779
|
* is the caller's own narrowing and is reproducible from the predicates, not
|
|
780
|
-
*
|
|
780
|
+
* a silent truncation, which the platform never applies.
|
|
781
781
|
*
|
|
782
782
|
* @generated from field: int32 limit = 7;
|
|
783
783
|
*/
|
|
@@ -789,9 +789,9 @@ export type VectorQuery = Message<"jennahapi.datastore.v1.VectorQuery"> & {
|
|
|
789
789
|
*/
|
|
790
790
|
export declare const VectorQuerySchema: GenMessage<VectorQuery>;
|
|
791
791
|
/**
|
|
792
|
-
* Read staleness for the whole query. Absent means a STRONG,
|
|
793
|
-
*
|
|
794
|
-
* otherwise.
|
|
792
|
+
* Read staleness for the whole query. Absent means a STRONG read, which sees
|
|
793
|
+
* every commit acknowledged before the query began: the default, and the right
|
|
794
|
+
* one unless latency demands otherwise.
|
|
795
795
|
*
|
|
796
796
|
* A staleness bound is applied UNIFORMLY to every section, so sections can never
|
|
797
797
|
* observe different instants. Bounded staleness is what makes a multi-region
|
|
@@ -805,8 +805,9 @@ export type ReadStaleness = Message<"jennahapi.datastore.v1.ReadStaleness"> & {
|
|
|
805
805
|
*/
|
|
806
806
|
mode: {
|
|
807
807
|
/**
|
|
808
|
-
* Read at any
|
|
809
|
-
*
|
|
808
|
+
* Read at any instant at most this far in the past, letting the platform
|
|
809
|
+
* serve the read from the nearest copy of the data. The usual choice for a
|
|
810
|
+
* low-latency global read.
|
|
810
811
|
*
|
|
811
812
|
* @generated from field: google.protobuf.Duration max_staleness = 1;
|
|
812
813
|
*/
|
|
@@ -822,8 +823,8 @@ export type ReadStaleness = Message<"jennahapi.datastore.v1.ReadStaleness"> & {
|
|
|
822
823
|
case: "exactStaleness";
|
|
823
824
|
} | {
|
|
824
825
|
/**
|
|
825
|
-
* Read at this exact timestamp
|
|
826
|
-
*
|
|
826
|
+
* Read at this exact timestamp, at most about an hour in the past; an older
|
|
827
|
+
* timestamp is refused.
|
|
827
828
|
*
|
|
828
829
|
* @generated from field: google.protobuf.Timestamp read_timestamp = 3;
|
|
829
830
|
*/
|
|
@@ -1034,8 +1035,8 @@ export declare enum OperationType {
|
|
|
1034
1035
|
export declare const OperationTypeSchema: GenEnum<OperationType>;
|
|
1035
1036
|
/**
|
|
1036
1037
|
* How a join combines rows. Both sides must be tables in the SAME dataset:
|
|
1037
|
-
* cross-dataset joins are not expressible, because each query is
|
|
1038
|
-
* dataset
|
|
1038
|
+
* cross-dataset joins are not expressible, because each query is confined to one
|
|
1039
|
+
* dataset exactly as a memory query is confined to one agent.
|
|
1039
1040
|
*
|
|
1040
1041
|
* @generated from enum jennahapi.datastore.v1.JoinType
|
|
1041
1042
|
*/
|
|
@@ -1067,9 +1068,9 @@ export declare const JoinTypeSchema: GenEnum<JoinType>;
|
|
|
1067
1068
|
export declare const DataService: GenService<{
|
|
1068
1069
|
/**
|
|
1069
1070
|
* Applies a set of structured row operations across one or more of the
|
|
1070
|
-
* dataset's tables in a SINGLE read-write transaction,
|
|
1071
|
-
*
|
|
1072
|
-
* operation's rows are written.
|
|
1071
|
+
* dataset's tables in a SINGLE read-write transaction, confined to that one
|
|
1072
|
+
* dataset of the caller's enterprise. All-or-nothing: if any operation fails,
|
|
1073
|
+
* no operation's rows are written.
|
|
1073
1074
|
*
|
|
1074
1075
|
* This is the atomic multi-table write a split stack cannot offer: a row, its
|
|
1075
1076
|
* embedding, and rows in other tables land together or not at all. An
|
|
@@ -1103,7 +1104,7 @@ export declare const DataService: GenService<{
|
|
|
1103
1104
|
* Evaluates a multi-section read against ONE read snapshot, so a relational
|
|
1104
1105
|
* predicate and a vector ranking observe the same instant: an optional
|
|
1105
1106
|
* relational section and an optional exact-KNN vector section. Every section
|
|
1106
|
-
*
|
|
1107
|
+
* reads only the named dataset of the caller's enterprise, and joins are
|
|
1107
1108
|
* restricted to tables within the same dataset.
|
|
1108
1109
|
*
|
|
1109
1110
|
* The request is a SECTIONED ENVELOPE for the same reason QueryMemory is: a
|
|
@@ -237,8 +237,8 @@ export var OperationType;
|
|
|
237
237
|
export const OperationTypeSchema = /*@__PURE__*/ enumDesc(file_jennah_datastore_v1_data, 0);
|
|
238
238
|
/**
|
|
239
239
|
* How a join combines rows. Both sides must be tables in the SAME dataset:
|
|
240
|
-
* cross-dataset joins are not expressible, because each query is
|
|
241
|
-
* dataset
|
|
240
|
+
* cross-dataset joins are not expressible, because each query is confined to one
|
|
241
|
+
* dataset exactly as a memory query is confined to one agent.
|
|
242
242
|
*
|
|
243
243
|
* @generated from enum jennahapi.datastore.v1.JoinType
|
|
244
244
|
*/
|
|
@@ -113,7 +113,7 @@ export type CreateDatasetRequest = Message<"jennahapi.datastore.v1.CreateDataset
|
|
|
113
113
|
/**
|
|
114
114
|
* Scopes for the key minted when create_api_key is set. Each MUST be a subset
|
|
115
115
|
* of the caller's own effective permissions and MUST NOT be management-class.
|
|
116
|
-
* When empty the key defaults to the member-equivalent data
|
|
116
|
+
* When empty the key defaults to the member-equivalent data scopes, which
|
|
117
117
|
* includes datastore.data:read/write but NOT datastore.schema:manage, so a key
|
|
118
118
|
* meant to declare tables must name that permission explicitly.
|
|
119
119
|
*
|
|
@@ -215,8 +215,8 @@ export type ListDatasetsRequest = Message<"jennahapi.datastore.v1.ListDatasetsRe
|
|
|
215
215
|
* one: a token the server cannot interpret is REJECTED with INVALID_ARGUMENT
|
|
216
216
|
* rather than quietly restarting from the first page, because a silent restart
|
|
217
217
|
* would hand a caller walking to exhaustion a partial listing that looks
|
|
218
|
-
* complete. A token can only narrow within the caller's
|
|
219
|
-
* widen it.
|
|
218
|
+
* complete. A token can only narrow within the caller's enterprise; it can
|
|
219
|
+
* never widen it.
|
|
220
220
|
*
|
|
221
221
|
* @generated from field: string page_token = 2;
|
|
222
222
|
*/
|
|
@@ -304,15 +304,14 @@ export declare enum DatasetStatus {
|
|
|
304
304
|
*/
|
|
305
305
|
UNSPECIFIED = 0,
|
|
306
306
|
/**
|
|
307
|
-
* Ready for use:
|
|
308
|
-
* registered. Tables may be declared and data committed.
|
|
307
|
+
* Ready for use: tables may be declared and data committed.
|
|
309
308
|
*
|
|
310
309
|
* @generated from enum value: DATASET_STATUS_ACTIVE = 1;
|
|
311
310
|
*/
|
|
312
311
|
ACTIVE = 1,
|
|
313
312
|
/**
|
|
314
|
-
* The
|
|
315
|
-
*
|
|
313
|
+
* The chosen location is being prepared (which can take minutes). No table may
|
|
314
|
+
* be declared yet; poll GetDataset until ACTIVE.
|
|
316
315
|
*
|
|
317
316
|
* @generated from enum value: DATASET_STATUS_PROVISIONING = 2;
|
|
318
317
|
*/
|
|
@@ -342,14 +341,12 @@ export declare const DatasetStatusSchema: GenEnum<DatasetStatus>;
|
|
|
342
341
|
*/
|
|
343
342
|
export declare const DatasetService: GenService<{
|
|
344
343
|
/**
|
|
345
|
-
* Creates a dataset under the caller's enterprise
|
|
346
|
-
*
|
|
347
|
-
* with the requested location. The EnterpriseId is taken from the token, never
|
|
348
|
-
* the body.
|
|
344
|
+
* Creates a dataset under the caller's enterprise and places it in the
|
|
345
|
+
* requested location. The enterprise is taken from the token, never the body.
|
|
349
346
|
*
|
|
350
|
-
* Returns the dataset synchronously. When the
|
|
351
|
-
*
|
|
352
|
-
*
|
|
347
|
+
* Returns the dataset synchronously. When the chosen location must be prepared
|
|
348
|
+
* first, the returned Dataset carries DATASET_STATUS_PROVISIONING; poll
|
|
349
|
+
* GetDataset until DATASET_STATUS_ACTIVE.
|
|
353
350
|
*
|
|
354
351
|
* Requires datastore.datasets:create AND a dataset selector already covering
|
|
355
352
|
* the requested dataset_id: creating a dataset grants no access to it, for
|
|
@@ -391,7 +388,7 @@ export declare const DatasetService: GenService<{
|
|
|
391
388
|
};
|
|
392
389
|
/**
|
|
393
390
|
* Deletes a dataset the caller owns: drops its declared tables and removes its
|
|
394
|
-
* catalog and
|
|
391
|
+
* table catalog and the dataset itself, along with all of its application rows.
|
|
395
392
|
* Every table the dataset holds is dropped, whatever their number. Returns a
|
|
396
393
|
* receipt carrying the instant the teardown committed. A dataset_id not owned
|
|
397
394
|
* by the caller's enterprise is treated as not found.
|
|
@@ -65,15 +65,14 @@ export var DatasetStatus;
|
|
|
65
65
|
*/
|
|
66
66
|
DatasetStatus[DatasetStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
67
67
|
/**
|
|
68
|
-
* Ready for use:
|
|
69
|
-
* registered. Tables may be declared and data committed.
|
|
68
|
+
* Ready for use: tables may be declared and data committed.
|
|
70
69
|
*
|
|
71
70
|
* @generated from enum value: DATASET_STATUS_ACTIVE = 1;
|
|
72
71
|
*/
|
|
73
72
|
DatasetStatus[DatasetStatus["ACTIVE"] = 1] = "ACTIVE";
|
|
74
73
|
/**
|
|
75
|
-
* The
|
|
76
|
-
*
|
|
74
|
+
* The chosen location is being prepared (which can take minutes). No table may
|
|
75
|
+
* be declared yet; poll GetDataset until ACTIVE.
|
|
77
76
|
*
|
|
78
77
|
* @generated from enum value: DATASET_STATUS_PROVISIONING = 2;
|
|
79
78
|
*/
|
|
@@ -125,9 +125,8 @@ export type IndexDeclaration = Message<"jennahapi.datastore.v1.IndexDeclaration"
|
|
|
125
125
|
*/
|
|
126
126
|
columns: string[];
|
|
127
127
|
/**
|
|
128
|
-
* Uniqueness is enforced WITHIN the dataset
|
|
129
|
-
*
|
|
130
|
-
* key, so two datasets may each hold a row with the same value.
|
|
128
|
+
* Uniqueness is enforced WITHIN the dataset, never across datasets, so two
|
|
129
|
+
* datasets may each hold a row with the same value.
|
|
131
130
|
*
|
|
132
131
|
* @generated from field: bool unique = 3;
|
|
133
132
|
*/
|
|
@@ -156,10 +155,9 @@ export type TableDeclaration = Message<"jennahapi.datastore.v1.TableDeclaration"
|
|
|
156
155
|
columns: ColumnDeclaration[];
|
|
157
156
|
/**
|
|
158
157
|
* Logical column names forming the table's primary key, in order. The
|
|
159
|
-
* platform
|
|
160
|
-
* that
|
|
161
|
-
*
|
|
162
|
-
* impossible rather than merely denied.
|
|
158
|
+
* platform additionally scopes every key to the dataset, outside the
|
|
159
|
+
* declaration: that cannot be overridden, and it is what makes access across
|
|
160
|
+
* datasets structurally impossible rather than merely denied.
|
|
163
161
|
*
|
|
164
162
|
* @generated from field: repeated string primary_key = 3;
|
|
165
163
|
*/
|
|
@@ -328,9 +326,9 @@ export type TableSchema = Message<"jennahapi.datastore.v1.TableSchema"> & {
|
|
|
328
326
|
*/
|
|
329
327
|
columns: ColumnSchema[];
|
|
330
328
|
/**
|
|
331
|
-
* Logical primary-key columns AS DECLARED
|
|
332
|
-
*
|
|
333
|
-
*
|
|
329
|
+
* Logical primary-key columns AS DECLARED. The platform's own scoping of the
|
|
330
|
+
* key to the dataset is not listed: it is not something a caller declares or
|
|
331
|
+
* can change.
|
|
334
332
|
*
|
|
335
333
|
* @generated from field: repeated string primary_key = 3;
|
|
336
334
|
*/
|
|
@@ -542,8 +540,8 @@ export declare const SchemaService: GenService<{
|
|
|
542
540
|
* table reaches SCHEMA_STATUS_READY before committing data to it.
|
|
543
541
|
*
|
|
544
542
|
* Requires datastore.schema:manage, which is deliberately NOT part of the
|
|
545
|
-
* built-in member role: declaring a table
|
|
546
|
-
*
|
|
543
|
+
* built-in member role: declaring a table changes schema on storage shared
|
|
544
|
+
* with other datasets, so it is always an explicit grant to a custom role or
|
|
547
545
|
* an explicitly scoped key. It IS grantable to an API key: a machine
|
|
548
546
|
* principal building an app has to be able to declare its own tables.
|
|
549
547
|
*
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "0.
|
|
1
|
+
export declare const version = "0.68.0";
|
|
2
2
|
export declare const sourceCommit = "33a6dde78cb5eb3540379687e241318e0981acff";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED