@valon-technologies/gestalt 0.0.1-alpha.35 → 0.0.1-alpha.36
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/package.json +1 -1
- package/src/api.ts +9 -0
- package/src/authorization.ts +258 -0
- package/src/runtime.ts +7 -1
package/package.json
CHANGED
package/src/api.ts
CHANGED
|
@@ -7,6 +7,9 @@ export interface Subject {
|
|
|
7
7
|
id: string;
|
|
8
8
|
credentialSubjectId: string;
|
|
9
9
|
email: string;
|
|
10
|
+
kind?: string | undefined;
|
|
11
|
+
displayName?: string | undefined;
|
|
12
|
+
authSource?: string | undefined;
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
/**
|
|
@@ -169,11 +172,17 @@ export function request(
|
|
|
169
172
|
id: subject.id ?? "",
|
|
170
173
|
credentialSubjectId: subject.credentialSubjectId ?? "",
|
|
171
174
|
email: subject.email ?? "",
|
|
175
|
+
kind: subject.kind,
|
|
176
|
+
displayName: subject.displayName,
|
|
177
|
+
authSource: subject.authSource,
|
|
172
178
|
},
|
|
173
179
|
agentSubject: {
|
|
174
180
|
id: agentSubject.id ?? "",
|
|
175
181
|
credentialSubjectId: agentSubject.credentialSubjectId ?? "",
|
|
176
182
|
email: agentSubject.email ?? "",
|
|
183
|
+
kind: agentSubject.kind,
|
|
184
|
+
displayName: agentSubject.displayName,
|
|
185
|
+
authSource: agentSubject.authSource,
|
|
177
186
|
},
|
|
178
187
|
credential: {
|
|
179
188
|
mode: credential.mode ?? "",
|
package/src/authorization.ts
CHANGED
|
@@ -6,16 +6,25 @@ import {
|
|
|
6
6
|
type Client,
|
|
7
7
|
type ServiceImpl,
|
|
8
8
|
} from "@connectrpc/connect";
|
|
9
|
+
import { EmptySchema } from "@bufbuild/protobuf/wkt";
|
|
9
10
|
|
|
10
11
|
import {
|
|
12
|
+
ActionSchema,
|
|
13
|
+
AddRelationshipRequestSchema,
|
|
11
14
|
AddRelationshipResponseSchema,
|
|
15
|
+
AuthorizationModelSchema,
|
|
16
|
+
AuthorizationModelResourceTypeFilterSchema,
|
|
12
17
|
AuthorizationModelRefSchema,
|
|
13
18
|
AuthorizationModelResourceTypeSchema,
|
|
19
|
+
CheckAccessManyRequestSchema,
|
|
14
20
|
CheckAccessManyResponseSchema,
|
|
21
|
+
CheckAccessRequestSchema,
|
|
15
22
|
CheckAccessResponseSchema,
|
|
16
23
|
DefaultAccessPolicy as ProtoDefaultAccessPolicy,
|
|
24
|
+
DeleteRelationshipRequestSchema,
|
|
17
25
|
DeleteRelationshipResponseSchema,
|
|
18
26
|
GetActiveModelRefResponseSchema,
|
|
27
|
+
ListActiveModelResourceTypesRequestSchema,
|
|
19
28
|
ListRelationshipsRequestSchema,
|
|
20
29
|
ListActiveModelResourceTypesResponseSchema,
|
|
21
30
|
ListRelationshipsResponseSchema,
|
|
@@ -27,7 +36,9 @@ import {
|
|
|
27
36
|
RelationshipTargetType as ProtoRelationshipTargetType,
|
|
28
37
|
RelationshipTupleSchema,
|
|
29
38
|
ResourceSchema,
|
|
39
|
+
SetActiveModelRequestSchema,
|
|
30
40
|
SetActiveModelResponseSchema,
|
|
41
|
+
SetAuthorizationStateRequestSchema,
|
|
31
42
|
SetAuthorizationStateResponseSchema,
|
|
32
43
|
SourceLayer as ProtoSourceLayer,
|
|
33
44
|
SubjectSchema,
|
|
@@ -35,12 +46,18 @@ import {
|
|
|
35
46
|
SubjectSetTypeSchema,
|
|
36
47
|
AuthorizationProvider as AuthorizationProviderService,
|
|
37
48
|
type AddRelationshipRequest as ProtoAddRelationshipRequest,
|
|
49
|
+
type AddRelationshipResponse as ProtoAddRelationshipResponse,
|
|
38
50
|
type AuthorizationModel as ProtoAuthorizationModel,
|
|
39
51
|
type AuthorizationModelResourceType as ProtoAuthorizationModelResourceType,
|
|
40
52
|
type CheckAccessManyRequest as ProtoCheckAccessManyRequest,
|
|
53
|
+
type CheckAccessManyResponse as ProtoCheckAccessManyResponse,
|
|
41
54
|
type CheckAccessRequest as ProtoCheckAccessRequest,
|
|
55
|
+
type CheckAccessResponse as ProtoCheckAccessResponse,
|
|
42
56
|
type DeleteRelationshipRequest as ProtoDeleteRelationshipRequest,
|
|
57
|
+
type DeleteRelationshipResponse as ProtoDeleteRelationshipResponse,
|
|
58
|
+
type GetActiveModelRefResponse as ProtoGetActiveModelRefResponse,
|
|
43
59
|
type ListActiveModelResourceTypesRequest as ProtoListActiveModelResourceTypesRequest,
|
|
60
|
+
type ListActiveModelResourceTypesResponse as ProtoListActiveModelResourceTypesResponse,
|
|
44
61
|
type ListRelationshipsRequest as ProtoListRelationshipsRequest,
|
|
45
62
|
type ListRelationshipsResponse as ProtoListRelationshipsResponse,
|
|
46
63
|
type ModelAllowedTarget as ProtoModelAllowedTarget,
|
|
@@ -48,13 +65,16 @@ import {
|
|
|
48
65
|
type RelationshipFilter as ProtoRelationshipFilter,
|
|
49
66
|
type RelationshipTarget as ProtoRelationshipTarget,
|
|
50
67
|
type RelationshipTuple as ProtoRelationshipTuple,
|
|
68
|
+
type SetActiveModelResponse as ProtoSetActiveModelResponse,
|
|
51
69
|
type SetActiveModelRequest as ProtoSetActiveModelRequest,
|
|
70
|
+
type SetAuthorizationStateResponse as ProtoSetAuthorizationStateResponse,
|
|
52
71
|
type SetAuthorizationStateRequest as ProtoSetAuthorizationStateRequest,
|
|
53
72
|
type SubjectSet as ProtoSubjectSet,
|
|
54
73
|
} from "./internal/gen/v1/authorization_pb.ts";
|
|
55
74
|
import { errorMessage, type MaybePromise } from "./api.ts";
|
|
56
75
|
import { ProviderBase, type ProviderBaseOptions } from "./provider.ts";
|
|
57
76
|
import {
|
|
77
|
+
dateFromTimestamp,
|
|
58
78
|
jsonObjectFromStruct,
|
|
59
79
|
structFromObject,
|
|
60
80
|
timestampFromDate,
|
|
@@ -264,9 +284,29 @@ export interface ListActiveModelResourceTypesResponse {
|
|
|
264
284
|
}
|
|
265
285
|
|
|
266
286
|
export interface Authorization {
|
|
287
|
+
checkAccess(request: CheckAccessRequest): Promise<CheckAccessResponse>;
|
|
288
|
+
checkAccessMany(
|
|
289
|
+
request: CheckAccessManyRequest,
|
|
290
|
+
): Promise<CheckAccessManyResponse>;
|
|
267
291
|
listRelationships(
|
|
268
292
|
request: ListRelationshipsRequest,
|
|
269
293
|
): Promise<ListRelationshipsResponse>;
|
|
294
|
+
addRelationship(
|
|
295
|
+
request: AddRelationshipRequest,
|
|
296
|
+
): Promise<AddRelationshipResponse>;
|
|
297
|
+
deleteRelationship(
|
|
298
|
+
request: DeleteRelationshipRequest,
|
|
299
|
+
): Promise<DeleteRelationshipResponse>;
|
|
300
|
+
setAuthorizationState(
|
|
301
|
+
request: SetAuthorizationStateRequest,
|
|
302
|
+
): Promise<SetAuthorizationStateResponse>;
|
|
303
|
+
getActiveModelRef(): Promise<GetActiveModelRefResponse>;
|
|
304
|
+
setActiveModel(
|
|
305
|
+
request: SetActiveModelRequest,
|
|
306
|
+
): Promise<SetActiveModelResponse>;
|
|
307
|
+
listActiveModelResourceTypes(
|
|
308
|
+
request: ListActiveModelResourceTypesRequest,
|
|
309
|
+
): Promise<ListActiveModelResourceTypesResponse>;
|
|
270
310
|
}
|
|
271
311
|
|
|
272
312
|
class AuthorizationImpl implements Authorization {
|
|
@@ -283,6 +323,20 @@ class AuthorizationImpl implements Authorization {
|
|
|
283
323
|
this.client = createClient(AuthorizationProviderService, transport);
|
|
284
324
|
}
|
|
285
325
|
|
|
326
|
+
async checkAccess(request: CheckAccessRequest): Promise<CheckAccessResponse> {
|
|
327
|
+
return checkAccessResponseFromProto(
|
|
328
|
+
await this.client.checkAccess(checkAccessRequestToProto(request)),
|
|
329
|
+
);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
async checkAccessMany(
|
|
333
|
+
request: CheckAccessManyRequest,
|
|
334
|
+
): Promise<CheckAccessManyResponse> {
|
|
335
|
+
return checkAccessManyResponseFromProto(
|
|
336
|
+
await this.client.checkAccessMany(checkAccessManyRequestToProto(request)),
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
|
|
286
340
|
async listRelationships(
|
|
287
341
|
request: ListRelationshipsRequest,
|
|
288
342
|
): Promise<ListRelationshipsResponse> {
|
|
@@ -290,6 +344,56 @@ class AuthorizationImpl implements Authorization {
|
|
|
290
344
|
await this.client.listRelationships(listRelationshipsRequestToProto(request)),
|
|
291
345
|
);
|
|
292
346
|
}
|
|
347
|
+
|
|
348
|
+
async addRelationship(
|
|
349
|
+
request: AddRelationshipRequest,
|
|
350
|
+
): Promise<AddRelationshipResponse> {
|
|
351
|
+
return addRelationshipResponseFromProto(
|
|
352
|
+
await this.client.addRelationship(addRelationshipRequestToProto(request)),
|
|
353
|
+
);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
async deleteRelationship(
|
|
357
|
+
request: DeleteRelationshipRequest,
|
|
358
|
+
): Promise<DeleteRelationshipResponse> {
|
|
359
|
+
return deleteRelationshipResponseFromProto(
|
|
360
|
+
await this.client.deleteRelationship(deleteRelationshipRequestToProto(request)),
|
|
361
|
+
);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
async setAuthorizationState(
|
|
365
|
+
request: SetAuthorizationStateRequest,
|
|
366
|
+
): Promise<SetAuthorizationStateResponse> {
|
|
367
|
+
return setAuthorizationStateResponseFromProto(
|
|
368
|
+
await this.client.setAuthorizationState(
|
|
369
|
+
setAuthorizationStateRequestToProto(request),
|
|
370
|
+
),
|
|
371
|
+
);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
async getActiveModelRef(): Promise<GetActiveModelRefResponse> {
|
|
375
|
+
return getActiveModelRefResponseFromProto(
|
|
376
|
+
await this.client.getActiveModelRef(create(EmptySchema)),
|
|
377
|
+
);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
async setActiveModel(
|
|
381
|
+
request: SetActiveModelRequest,
|
|
382
|
+
): Promise<SetActiveModelResponse> {
|
|
383
|
+
return setActiveModelResponseFromProto(
|
|
384
|
+
await this.client.setActiveModel(setActiveModelRequestToProto(request)),
|
|
385
|
+
);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
async listActiveModelResourceTypes(
|
|
389
|
+
request: ListActiveModelResourceTypesRequest,
|
|
390
|
+
): Promise<ListActiveModelResourceTypesResponse> {
|
|
391
|
+
return listActiveModelResourceTypesResponseFromProto(
|
|
392
|
+
await this.client.listActiveModelResourceTypes(
|
|
393
|
+
listActiveModelResourceTypesRequestToProto(request),
|
|
394
|
+
),
|
|
395
|
+
);
|
|
396
|
+
}
|
|
293
397
|
}
|
|
294
398
|
|
|
295
399
|
let sharedAuthorization:
|
|
@@ -529,6 +633,30 @@ function checkAccessRequestFromProto(
|
|
|
529
633
|
};
|
|
530
634
|
}
|
|
531
635
|
|
|
636
|
+
function checkAccessRequestToProto(value: CheckAccessRequest) {
|
|
637
|
+
return create(CheckAccessRequestSchema, {
|
|
638
|
+
subject: subjectToProto(value.subject),
|
|
639
|
+
action: value.action
|
|
640
|
+
? create(ActionSchema, {
|
|
641
|
+
name: value.action.name ?? "",
|
|
642
|
+
properties: value.action.properties === undefined
|
|
643
|
+
? undefined
|
|
644
|
+
: structFromObject(value.action.properties),
|
|
645
|
+
})
|
|
646
|
+
: undefined,
|
|
647
|
+
resource: resourceToProto(value.resource),
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
function checkAccessResponseFromProto(
|
|
652
|
+
value: ProtoCheckAccessResponse,
|
|
653
|
+
): CheckAccessResponse {
|
|
654
|
+
return {
|
|
655
|
+
allowed: value.allowed,
|
|
656
|
+
modelId: value.modelId,
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
|
|
532
660
|
function checkAccessResponseToProto(value: CheckAccessResponse | undefined) {
|
|
533
661
|
if (!value) {
|
|
534
662
|
throw new ConnectError(
|
|
@@ -550,6 +678,20 @@ function checkAccessManyRequestFromProto(
|
|
|
550
678
|
};
|
|
551
679
|
}
|
|
552
680
|
|
|
681
|
+
function checkAccessManyRequestToProto(value: CheckAccessManyRequest) {
|
|
682
|
+
return create(CheckAccessManyRequestSchema, {
|
|
683
|
+
requests: (value.requests ?? []).map(checkAccessRequestToProto),
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
function checkAccessManyResponseFromProto(
|
|
688
|
+
value: ProtoCheckAccessManyResponse,
|
|
689
|
+
): CheckAccessManyResponse {
|
|
690
|
+
return {
|
|
691
|
+
decisions: value.decisions.map(checkAccessResponseFromProto),
|
|
692
|
+
};
|
|
693
|
+
}
|
|
694
|
+
|
|
553
695
|
function checkAccessManyResponseToProto(
|
|
554
696
|
value: CheckAccessManyResponse | undefined,
|
|
555
697
|
) {
|
|
@@ -616,6 +758,20 @@ function addRelationshipRequestFromProto(
|
|
|
616
758
|
};
|
|
617
759
|
}
|
|
618
760
|
|
|
761
|
+
function addRelationshipRequestToProto(value: AddRelationshipRequest) {
|
|
762
|
+
return create(AddRelationshipRequestSchema, {
|
|
763
|
+
relationship: relationshipToProto(value.relationship),
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
function addRelationshipResponseFromProto(
|
|
768
|
+
value: ProtoAddRelationshipResponse,
|
|
769
|
+
): AddRelationshipResponse {
|
|
770
|
+
return {
|
|
771
|
+
relationship: relationshipFromProto(value.relationship),
|
|
772
|
+
};
|
|
773
|
+
}
|
|
774
|
+
|
|
619
775
|
function addRelationshipResponseToProto(
|
|
620
776
|
value: AddRelationshipResponse | undefined,
|
|
621
777
|
) {
|
|
@@ -640,6 +796,18 @@ function deleteRelationshipRequestFromProto(
|
|
|
640
796
|
};
|
|
641
797
|
}
|
|
642
798
|
|
|
799
|
+
function deleteRelationshipRequestToProto(value: DeleteRelationshipRequest) {
|
|
800
|
+
return create(DeleteRelationshipRequestSchema, {
|
|
801
|
+
relationshipTuple: relationshipTupleToProto(value.relationshipTuple),
|
|
802
|
+
});
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
function deleteRelationshipResponseFromProto(
|
|
806
|
+
_value: ProtoDeleteRelationshipResponse,
|
|
807
|
+
): DeleteRelationshipResponse {
|
|
808
|
+
return {};
|
|
809
|
+
}
|
|
810
|
+
|
|
643
811
|
function setAuthorizationStateRequestFromProto(
|
|
644
812
|
value: ProtoSetAuthorizationStateRequest,
|
|
645
813
|
): SetAuthorizationStateRequest {
|
|
@@ -649,6 +817,23 @@ function setAuthorizationStateRequestFromProto(
|
|
|
649
817
|
};
|
|
650
818
|
}
|
|
651
819
|
|
|
820
|
+
function setAuthorizationStateRequestToProto(
|
|
821
|
+
value: SetAuthorizationStateRequest,
|
|
822
|
+
) {
|
|
823
|
+
return create(SetAuthorizationStateRequestSchema, {
|
|
824
|
+
model: authorizationModelToProto(value.model),
|
|
825
|
+
relationships: (value.relationships ?? []).map(relationshipToProtoRequired),
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
function setAuthorizationStateResponseFromProto(
|
|
830
|
+
value: ProtoSetAuthorizationStateResponse,
|
|
831
|
+
): SetAuthorizationStateResponse {
|
|
832
|
+
return {
|
|
833
|
+
activeModel: authorizationModelRefFromProto(value.activeModel),
|
|
834
|
+
};
|
|
835
|
+
}
|
|
836
|
+
|
|
652
837
|
function setAuthorizationStateResponseToProto(
|
|
653
838
|
value: SetAuthorizationStateResponse | undefined,
|
|
654
839
|
) {
|
|
@@ -665,6 +850,14 @@ function setAuthorizationStateResponseToProto(
|
|
|
665
850
|
});
|
|
666
851
|
}
|
|
667
852
|
|
|
853
|
+
function getActiveModelRefResponseFromProto(
|
|
854
|
+
value: ProtoGetActiveModelRefResponse,
|
|
855
|
+
): GetActiveModelRefResponse {
|
|
856
|
+
return {
|
|
857
|
+
model: authorizationModelRefFromProto(value.model),
|
|
858
|
+
};
|
|
859
|
+
}
|
|
860
|
+
|
|
668
861
|
function getActiveModelRefResponseToProto(
|
|
669
862
|
value: GetActiveModelRefResponse | undefined,
|
|
670
863
|
) {
|
|
@@ -687,6 +880,20 @@ function setActiveModelRequestFromProto(
|
|
|
687
880
|
};
|
|
688
881
|
}
|
|
689
882
|
|
|
883
|
+
function setActiveModelRequestToProto(value: SetActiveModelRequest) {
|
|
884
|
+
return create(SetActiveModelRequestSchema, {
|
|
885
|
+
model: authorizationModelToProto(value.model),
|
|
886
|
+
});
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
function setActiveModelResponseFromProto(
|
|
890
|
+
value: ProtoSetActiveModelResponse,
|
|
891
|
+
): SetActiveModelResponse {
|
|
892
|
+
return {
|
|
893
|
+
model: authorizationModelRefFromProto(value.model),
|
|
894
|
+
};
|
|
895
|
+
}
|
|
896
|
+
|
|
690
897
|
function setActiveModelResponseToProto(value: SetActiveModelResponse | undefined) {
|
|
691
898
|
if (!value) {
|
|
692
899
|
throw new ConnectError(
|
|
@@ -714,6 +921,31 @@ function listActiveModelResourceTypesRequestFromProto(
|
|
|
714
921
|
};
|
|
715
922
|
}
|
|
716
923
|
|
|
924
|
+
function listActiveModelResourceTypesRequestToProto(
|
|
925
|
+
value: ListActiveModelResourceTypesRequest,
|
|
926
|
+
) {
|
|
927
|
+
return create(ListActiveModelResourceTypesRequestSchema, {
|
|
928
|
+
filter: value.filter
|
|
929
|
+
? create(AuthorizationModelResourceTypeFilterSchema, {
|
|
930
|
+
name: value.filter.name ?? "",
|
|
931
|
+
sourceLayer: value.filter.sourceLayer ?? SourceLayer.UNSPECIFIED,
|
|
932
|
+
})
|
|
933
|
+
: undefined,
|
|
934
|
+
pageSize: value.pageSize ?? 0,
|
|
935
|
+
pageToken: value.pageToken ?? "",
|
|
936
|
+
});
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
function listActiveModelResourceTypesResponseFromProto(
|
|
940
|
+
value: ProtoListActiveModelResourceTypesResponse,
|
|
941
|
+
): ListActiveModelResourceTypesResponse {
|
|
942
|
+
return {
|
|
943
|
+
resourceTypes: value.resourceTypes.map(authorizationModelResourceTypeFromProto),
|
|
944
|
+
nextPageToken: value.nextPageToken,
|
|
945
|
+
modelId: value.modelId,
|
|
946
|
+
};
|
|
947
|
+
}
|
|
948
|
+
|
|
717
949
|
function listActiveModelResourceTypesResponseToProto(
|
|
718
950
|
value: ListActiveModelResourceTypesResponse | undefined,
|
|
719
951
|
) {
|
|
@@ -940,6 +1172,19 @@ function authorizationModelFromProto(
|
|
|
940
1172
|
};
|
|
941
1173
|
}
|
|
942
1174
|
|
|
1175
|
+
function authorizationModelToProto(value: AuthorizationModel | undefined) {
|
|
1176
|
+
if (!value) {
|
|
1177
|
+
return undefined;
|
|
1178
|
+
}
|
|
1179
|
+
return create(AuthorizationModelSchema, {
|
|
1180
|
+
id: value.id ?? "",
|
|
1181
|
+
version: value.version ?? "",
|
|
1182
|
+
resourceTypes: (value.resourceTypes ?? []).map(
|
|
1183
|
+
authorizationModelResourceTypeToProto,
|
|
1184
|
+
),
|
|
1185
|
+
});
|
|
1186
|
+
}
|
|
1187
|
+
|
|
943
1188
|
function authorizationModelResourceTypeFromProto(
|
|
944
1189
|
value: ProtoAuthorizationModelResourceType,
|
|
945
1190
|
): AuthorizationModelResourceType {
|
|
@@ -1027,6 +1272,19 @@ function modelAllowedTargetToProto(value: ModelAllowedTarget) {
|
|
|
1027
1272
|
return create(ModelAllowedTargetSchema);
|
|
1028
1273
|
}
|
|
1029
1274
|
|
|
1275
|
+
function authorizationModelRefFromProto(
|
|
1276
|
+
value: ProtoGetActiveModelRefResponse["model"] | undefined,
|
|
1277
|
+
): AuthorizationModelRef | undefined {
|
|
1278
|
+
if (!value) {
|
|
1279
|
+
return undefined;
|
|
1280
|
+
}
|
|
1281
|
+
return {
|
|
1282
|
+
id: value.id,
|
|
1283
|
+
version: value.version,
|
|
1284
|
+
createdAt: value.createdAt ? dateFromTimestamp(value.createdAt) : undefined,
|
|
1285
|
+
};
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1030
1288
|
function authorizationModelRefToProto(value: AuthorizationModelRef) {
|
|
1031
1289
|
return create(AuthorizationModelRefSchema, {
|
|
1032
1290
|
id: value.id ?? "",
|
package/src/runtime.ts
CHANGED
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
} from "./internal/gen/v1/runtime_pb.ts";
|
|
76
76
|
import { S3 as S3Service } from "./internal/gen/v1/s3_pb.ts";
|
|
77
77
|
import { WorkflowProvider as WorkflowProviderService } from "./internal/gen/v1/workflow_pb.ts";
|
|
78
|
-
import { errorMessage, type OperationResult, type Request } from "./api.ts";
|
|
78
|
+
import { errorMessage, parseSubjectId, type OperationResult, type Request } from "./api.ts";
|
|
79
79
|
import {
|
|
80
80
|
AgentProvider,
|
|
81
81
|
createAgentProviderService,
|
|
@@ -835,11 +835,13 @@ function providerRequest(
|
|
|
835
835
|
id: subject?.id ?? "",
|
|
836
836
|
credentialSubjectId: subject?.credentialSubjectId ?? "",
|
|
837
837
|
email: subject?.email ?? "",
|
|
838
|
+
kind: subjectKind(subject?.id ?? ""),
|
|
838
839
|
},
|
|
839
840
|
agentSubject: {
|
|
840
841
|
id: agentSubject?.id ?? "",
|
|
841
842
|
credentialSubjectId: agentSubject?.credentialSubjectId ?? "",
|
|
842
843
|
email: agentSubject?.email ?? "",
|
|
844
|
+
kind: subjectKind(agentSubject?.id ?? ""),
|
|
843
845
|
},
|
|
844
846
|
credential: {
|
|
845
847
|
mode: credential?.mode ?? "",
|
|
@@ -864,6 +866,10 @@ function providerRequest(
|
|
|
864
866
|
};
|
|
865
867
|
}
|
|
866
868
|
|
|
869
|
+
function subjectKind(subjectID: string): string {
|
|
870
|
+
return parseSubjectId(subjectID)?.kind ?? "";
|
|
871
|
+
}
|
|
872
|
+
|
|
867
873
|
function providerRequestToolRefs(
|
|
868
874
|
requestContext?: ProtoRequestContext,
|
|
869
875
|
): AgentToolRef[] {
|