jennah-sdk-ts 0.66.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/client.d.ts +5 -0
- 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 +116 -2
- package/dist/gen/jennah/billing/v1/billing_pb.js +19 -9
- 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/retry.js +2 -0
- package/dist/version.d.ts +2 -2
- package/dist/version.js +2 -2
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -379,6 +379,11 @@ export declare const SERVICES: {
|
|
|
379
379
|
input: typeof import("./gen/jennah/billing/v1/billing_pb.js").BindMarketplaceRegistrationRequestSchema;
|
|
380
380
|
output: typeof import("./gen/jennah/billing/v1/billing_pb.js").BindMarketplaceRegistrationResponseSchema;
|
|
381
381
|
};
|
|
382
|
+
setFormationOverageCap: {
|
|
383
|
+
methodKind: "unary";
|
|
384
|
+
input: typeof import("./gen/jennah/billing/v1/billing_pb.js").SetFormationOverageCapRequestSchema;
|
|
385
|
+
output: typeof import("./gen/jennah/billing/v1/billing_pb.js").SetFormationOverageCapResponseSchema;
|
|
386
|
+
};
|
|
382
387
|
resolveMarketplaceRegistration: {
|
|
383
388
|
methodKind: "unary";
|
|
384
389
|
input: typeof import("./gen/jennah/billing/v1/billing_pb.js").ResolveMarketplaceRegistrationRequestSchema;
|
|
@@ -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
|