Skip to content

Commit 59abf01

Browse files
committed
GRPC clients version 12.0.5
1 parent f6059d6 commit 59abf01

File tree

11 files changed

+1443
-374
lines changed

11 files changed

+1443
-374
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
12.0.4
1+
12.0.5

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "clarifai-nodejs-grpc",
3-
"version": "12.0.4",
3+
"version": "12.0.5",
44
"description": "The official Clarifai Node.js gRPC client",
55
"main": "src/index.js",
66
"repository": "https://github.com/Clarifai/clarifai-javascript-grpc",

proto/clarifai/api/service.proto

Lines changed: 65 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -351,8 +351,8 @@ service V2 {
351351
option (clarifai.auth.util.cl_depending_scopes) = Models_Get; // to get the model for the worker.
352352
}
353353

354-
// Stream video track annotations for a specific input one-by-one.
355-
rpc StreamTrackAnnotationsSearches (StreamTrackAnnotationsSearchesRequest) returns (stream SingleStreamTrackAnnotationResponse) {
354+
// Stream annotations for a specific input one-by-one.
355+
rpc StreamAnnotations (StreamAnnotationsRequest) returns (stream SingleStreamAnnotationResponse) {
356356
option (google.api.http) = {
357357
post: "/v2/users/{user_app_id.user_id}/apps/{user_app_id.app_id}/inputs/{input_id}/track_annotations/searches/stream"
358358
body: "*"
@@ -370,6 +370,23 @@ service V2 {
370370
option (clarifai.auth.util.cl_depending_scopes) = AnnotationTracks_Get;
371371
}
372372

373+
// Stream live video annotations as they are being created by the runner.
374+
// This endpoint reads from Redis instead of the database for real-time streaming.
375+
rpc StreamLivestreamAnnotations (StreamLivestreamAnnotationsRequest) returns (stream SingleStreamAnnotationResponse) {
376+
option (google.api.http) = {
377+
post: "/v2/users/{user_app_id.user_id}/apps/{user_app_id.app_id}/inputs/{input_id}/annotations/stream/live"
378+
body: "*"
379+
additional_bindings {
380+
post: "/v2/inputs/{input_id}/annotations/stream/live"
381+
body: "*"
382+
}
383+
};
384+
option (clarifai.auth.util.cl_auth_type) = KeyAuth;
385+
option (clarifai.auth.util.cl_depending_scopes) = Apps_Get;
386+
option (clarifai.auth.util.cl_depending_scopes) = Inputs_Get;
387+
option (clarifai.auth.util.cl_depending_scopes) = Annotations_Get;
388+
}
389+
373390
// Post annotations.
374391
rpc PostAnnotations (PostAnnotationsRequest) returns (MultiAnnotationResponse) {
375392
option (google.api.http) = {
@@ -4780,14 +4797,15 @@ message PostTrackAnnotationsSearchesRequest {
47804797
Worker worker = 9;
47814798
}
47824799

4783-
// StreamTrackAnnotationsSearchesRequest
4784-
message StreamTrackAnnotationsSearchesRequest {
4800+
// StreamAnnotationsRequest
4801+
message StreamAnnotationsRequest {
47854802
clarifai.api.UserAppIDSet user_app_id = 1;
47864803

4787-
// The input ID containing the video track annotations to stream
4804+
// The input ID containing the annotations to stream
47884805
string input_id = 2;
47894806

4790-
// Filter annotations by track_ids
4807+
// Filter annotations by track_ids (optional - omit to stream all tracks for the input).
4808+
// This is useful for historical playback where you want to stream all annotations in a time range.
47914809
repeated string track_ids = 3;
47924810

47934811
// Filter annotations starting from this frame number (inclusive)
@@ -4801,11 +4819,11 @@ message StreamTrackAnnotationsSearchesRequest {
48014819

48024820
// Maximum number of frames to return. Returns annotations from frames in range [frame_number_start, frame_number_start + max_frames - 1] (inclusive on both ends).
48034821
// For example: frame_number_start=5, max_frames=3 returns frames 5, 6, and 7.
4804-
// Default and max: 10800 frames (3 minutes at 60 FPS)
4822+
// Default and max: 216000 frames (60 minutes at 60 FPS)
48054823
uint32 max_frames = 7;
48064824

48074825
// Maximum duration in milliseconds to return. Returns annotations from time range [frame_time_start, frame_time_start + max_duration - 1] (inclusive on both ends).
4808-
// Default and max: 180000 ms (3 minutes)
4826+
// Default and max: 3600000 ms (60 minutes)
48094827
uint32 max_duration = 8;
48104828

48114829
// Filtering by model version ID within a worker (optional).
@@ -4814,6 +4832,24 @@ message StreamTrackAnnotationsSearchesRequest {
48144832
Worker worker = 9;
48154833
}
48164834

4835+
// StreamLivestreamAnnotationsRequest
4836+
// Streams live annotations from Redis as they are being created by the runner
4837+
message StreamLivestreamAnnotationsRequest {
4838+
clarifai.api.UserAppIDSet user_app_id = 1;
4839+
4840+
// The input ID containing the video being processed
4841+
string input_id = 2;
4842+
4843+
// (Optional) Filter by specific task ID if known
4844+
string task_id = 3;
4845+
4846+
// (Optional) Filter annotations by track_ids
4847+
repeated string track_ids = 4;
4848+
4849+
// (Optional) Filter by annotation type (e.g., "bounding_box", "point", "mask")
4850+
AnnotationDataType annotation_type = 5;
4851+
}
4852+
48174853
// PostAnnotationsRequest
48184854
message PostAnnotationsRequest {
48194855

@@ -4932,8 +4968,8 @@ message SingleAnnotationResponse {
49324968
Annotation annotation = 2;
49334969
}
49344970

4935-
// SingleStreamTrackAnnotationResponse similar to SingleAnnotationResponse but with an extra field
4936-
message SingleStreamTrackAnnotationResponse {
4971+
// SingleStreamAnnotationResponse similar to SingleAnnotationResponse but with an extra field
4972+
message SingleStreamAnnotationResponse {
49374973
clarifai.api.status.Status status = 1;
49384974
Annotation annotation = 2;
49394975

@@ -8685,11 +8721,30 @@ message RunnerItem {
86858721
PostModelOutputsRequest post_model_outputs_request = 4;
86868722
// Agent sync request from control plane.
86878723
SyncStateRequest sync_state_request = 5;
8724+
// Auto annotation request from a user.
8725+
AutoAnnotationRequest auto_annotation_request = 6;
86888726
// Workflow request from a user. // FUTURE
86898727
// training request next, etc.
86908728
}
86918729
}
86928730

8731+
message AutoAnnotationRequest {
8732+
// Perform prediction request and call PostAnnotations endpoint using post_annotations_info and prediction results.
8733+
PostModelOutputsRequest post_model_outputs_request = 1;
8734+
8735+
PostAnnotationsInfo post_annotations_info = 2;
8736+
8737+
message PostAnnotationsInfo {
8738+
UserAppIDSet user_app_id = 1;
8739+
8740+
// Authorization value to be used when calling PostAnnotations endpoint.
8741+
string authorization_value = 2;
8742+
8743+
// Task ID linked to the annotations being created.
8744+
string task_id = 3;
8745+
}
8746+
}
8747+
86938748
// This contains the response of the user's request once processing is done.
86948749
// The runner should fill in the matching output to the RunnerItem.request
86958750
// oneof field. This is sent to the API within PostRunnerItemOutputsRequest

proto/clarifai/api/service_grpc_pb.d.ts

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ interface IV2Service extends grpc.ServiceDefinition<grpc.UntypedServiceImplement
3636
getAnnotation: IV2Service_IGetAnnotation;
3737
listAnnotations: IV2Service_IListAnnotations;
3838
postTrackAnnotationsSearches: IV2Service_IPostTrackAnnotationsSearches;
39-
streamTrackAnnotationsSearches: IV2Service_IStreamTrackAnnotationsSearches;
39+
streamAnnotations: IV2Service_IStreamAnnotations;
40+
streamLivestreamAnnotations: IV2Service_IStreamLivestreamAnnotations;
4041
postAnnotations: IV2Service_IPostAnnotations;
4142
patchAnnotations: IV2Service_IPatchAnnotations;
4243
patchAnnotationsStatus: IV2Service_IPatchAnnotationsStatus;
@@ -480,14 +481,23 @@ interface IV2Service_IPostTrackAnnotationsSearches extends grpc.MethodDefinition
480481
responseSerialize: grpc.serialize<proto_clarifai_api_service_pb.MultiAnnotationResponse>;
481482
responseDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.MultiAnnotationResponse>;
482483
}
483-
interface IV2Service_IStreamTrackAnnotationsSearches extends grpc.MethodDefinition<proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest, proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse> {
484-
path: "/clarifai.api.V2/StreamTrackAnnotationsSearches";
484+
interface IV2Service_IStreamAnnotations extends grpc.MethodDefinition<proto_clarifai_api_service_pb.StreamAnnotationsRequest, proto_clarifai_api_service_pb.SingleStreamAnnotationResponse> {
485+
path: "/clarifai.api.V2/StreamAnnotations";
485486
requestStream: false;
486487
responseStream: true;
487-
requestSerialize: grpc.serialize<proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest>;
488-
requestDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest>;
489-
responseSerialize: grpc.serialize<proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
490-
responseDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
488+
requestSerialize: grpc.serialize<proto_clarifai_api_service_pb.StreamAnnotationsRequest>;
489+
requestDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.StreamAnnotationsRequest>;
490+
responseSerialize: grpc.serialize<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
491+
responseDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
492+
}
493+
interface IV2Service_IStreamLivestreamAnnotations extends grpc.MethodDefinition<proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest, proto_clarifai_api_service_pb.SingleStreamAnnotationResponse> {
494+
path: "/clarifai.api.V2/StreamLivestreamAnnotations";
495+
requestStream: false;
496+
responseStream: true;
497+
requestSerialize: grpc.serialize<proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest>;
498+
requestDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest>;
499+
responseSerialize: grpc.serialize<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
500+
responseDeserialize: grpc.deserialize<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
491501
}
492502
interface IV2Service_IPostAnnotations extends grpc.MethodDefinition<proto_clarifai_api_service_pb.PostAnnotationsRequest, proto_clarifai_api_service_pb.MultiAnnotationResponse> {
493503
path: "/clarifai.api.V2/PostAnnotations";
@@ -2942,7 +2952,8 @@ export interface IV2Server {
29422952
getAnnotation: grpc.handleUnaryCall<proto_clarifai_api_service_pb.GetAnnotationRequest, proto_clarifai_api_service_pb.SingleAnnotationResponse>;
29432953
listAnnotations: grpc.handleUnaryCall<proto_clarifai_api_service_pb.ListAnnotationsRequest, proto_clarifai_api_service_pb.MultiAnnotationResponse>;
29442954
postTrackAnnotationsSearches: grpc.handleUnaryCall<proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, proto_clarifai_api_service_pb.MultiAnnotationResponse>;
2945-
streamTrackAnnotationsSearches: grpc.handleServerStreamingCall<proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest, proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
2955+
streamAnnotations: grpc.handleServerStreamingCall<proto_clarifai_api_service_pb.StreamAnnotationsRequest, proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
2956+
streamLivestreamAnnotations: grpc.handleServerStreamingCall<proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest, proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
29462957
postAnnotations: grpc.handleUnaryCall<proto_clarifai_api_service_pb.PostAnnotationsRequest, proto_clarifai_api_service_pb.MultiAnnotationResponse>;
29472958
patchAnnotations: grpc.handleUnaryCall<proto_clarifai_api_service_pb.PatchAnnotationsRequest, proto_clarifai_api_service_pb.MultiAnnotationResponse>;
29482959
patchAnnotationsStatus: grpc.handleUnaryCall<proto_clarifai_api_service_pb.PatchAnnotationsStatusRequest, proto_clarifai_api_service_pb.PatchAnnotationsStatusResponse>;
@@ -3273,8 +3284,10 @@ export interface IV2Client {
32733284
postTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
32743285
postTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
32753286
postTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
3276-
streamTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
3277-
streamTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
3287+
streamAnnotations(request: proto_clarifai_api_service_pb.StreamAnnotationsRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
3288+
streamAnnotations(request: proto_clarifai_api_service_pb.StreamAnnotationsRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
3289+
streamLivestreamAnnotations(request: proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
3290+
streamLivestreamAnnotations(request: proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
32783291
postAnnotations(request: proto_clarifai_api_service_pb.PostAnnotationsRequest, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
32793292
postAnnotations(request: proto_clarifai_api_service_pb.PostAnnotationsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
32803293
postAnnotations(request: proto_clarifai_api_service_pb.PostAnnotationsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
@@ -4144,8 +4157,10 @@ export class V2Client extends grpc.Client implements IV2Client {
41444157
public postTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
41454158
public postTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
41464159
public postTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.PostTrackAnnotationsSearchesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
4147-
public streamTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
4148-
public streamTrackAnnotationsSearches(request: proto_clarifai_api_service_pb.StreamTrackAnnotationsSearchesRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamTrackAnnotationResponse>;
4160+
public streamAnnotations(request: proto_clarifai_api_service_pb.StreamAnnotationsRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
4161+
public streamAnnotations(request: proto_clarifai_api_service_pb.StreamAnnotationsRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
4162+
public streamLivestreamAnnotations(request: proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
4163+
public streamLivestreamAnnotations(request: proto_clarifai_api_service_pb.StreamLivestreamAnnotationsRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<proto_clarifai_api_service_pb.SingleStreamAnnotationResponse>;
41494164
public postAnnotations(request: proto_clarifai_api_service_pb.PostAnnotationsRequest, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
41504165
public postAnnotations(request: proto_clarifai_api_service_pb.PostAnnotationsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;
41514166
public postAnnotations(request: proto_clarifai_api_service_pb.PostAnnotationsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: proto_clarifai_api_service_pb.MultiAnnotationResponse) => void): grpc.ClientUnaryCall;

0 commit comments

Comments
 (0)