@stigmer/protos 3.0.4 → 3.0.5

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.
@@ -419,6 +419,49 @@ export type CheckAuthorizationResult = Message<"ai.stigmer.iam.iampolicy.v1.Chec
419
419
  * Use `create(CheckAuthorizationResultSchema)` to create a new message.
420
420
  */
421
421
  export declare const CheckAuthorizationResultSchema: GenMessage<CheckAuthorizationResult>;
422
+ /**
423
+ * CheckMyPermissionInput defines input for checking whether the AUTHENTICATED
424
+ * CALLER has a permission on a resource.
425
+ *
426
+ * Unlike CheckAuthorizationInput, there is deliberately NO principal field:
427
+ * the principal is always derived server-side from the authenticated token —
428
+ * the only trustworthy source of caller identity. Clients cannot probe another
429
+ * user's permissions because the API gives them no way to name a principal.
430
+ *
431
+ * This mirrors the industry-standard self-check pattern (e.g. Kubernetes
432
+ * SelfSubjectAccessReview): self checks and cross-principal checks are
433
+ * separate API surfaces with separate trust models.
434
+ *
435
+ * @generated from message ai.stigmer.iam.iampolicy.v1.CheckMyPermissionInput
436
+ */
437
+ export type CheckMyPermissionInput = Message<"ai.stigmer.iam.iampolicy.v1.CheckMyPermissionInput"> & {
438
+ /**
439
+ * The resource being accessed (WHAT)
440
+ *
441
+ * @generated from field: ai.stigmer.iam.iampolicy.v1.ApiResourceRef resource = 1;
442
+ */
443
+ resource?: ApiResourceRef;
444
+ /**
445
+ * The permission to check (e.g., "can_edit", "can_grant_access").
446
+ *
447
+ * @internal
448
+ * This is the FGA relation checked against the resource object.
449
+ *
450
+ * @generated from field: string relation = 2;
451
+ */
452
+ relation: string;
453
+ /**
454
+ * Optional contextual policies for "what-if" scenarios
455
+ *
456
+ * @generated from field: repeated ai.stigmer.iam.iampolicy.v1.IamPolicySpec contextual_policies = 3;
457
+ */
458
+ contextualPolicies: IamPolicySpec[];
459
+ };
460
+ /**
461
+ * Describes the message ai.stigmer.iam.iampolicy.v1.CheckMyPermissionInput.
462
+ * Use `create(CheckMyPermissionInputSchema)` to create a new message.
463
+ */
464
+ export declare const CheckMyPermissionInputSchema: GenMessage<CheckMyPermissionInput>;
422
465
  /**
423
466
  * ListAuthorizedResourceIdsInput defines input for listing resources a principal can access.
424
467
  *
@@ -8,7 +8,7 @@ import { file_buf_validate_validate } from "../../../../../buf/validate/validate
8
8
  /**
9
9
  * Describes the file ai/stigmer/iam/iampolicy/v1/io.proto.
10
10
  */
11
- export const file_ai_stigmer_iam_iampolicy_v1_io = /*@__PURE__*/ fileDesc("CiRhaS9zdGlnbWVyL2lhbS9pYW1wb2xpY3kvdjEvaW8ucHJvdG8SG2FpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MSL9AQoSQXBpUmVzb3VyY2VSZWZWaWV3EgwKBGtpbmQYASABKAkSCgoCaWQYAiABKAkSEAoIcmVsYXRpb24YAyABKAkSDAoEbmFtZRgEIAEoCRINCgVlbWFpbBgFIAEoCRIMCgRzbHVnGAYgASgJEg4KBmF2YXRhchgHIAEoCRJACgdtZW1iZXJzGAggAygLMi8uYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkFwaVJlc291cmNlUmVmVmlldxI+CgV0ZWFtcxgJIAMoCzIvLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZlZpZXciJAoLSWFtUG9saWN5SWQSFQoFdmFsdWUYASABKAlCBrpIA8gBASKnAQoWUHJpbmNpcGFsUmVzb3VyY2VJbnB1dBJGCglwcmluY2lwYWwYASABKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBARJFCghyZXNvdXJjZRgCIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZkIGukgDyAEBIqkBChdSZXNvdXJjZVByaW5jaXBhbHNJbnB1dBJFCghyZXNvdXJjZRgBIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZkIGukgDyAEBEkcKCnByaW5jaXBhbHMYAiADKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBASJkChRSZXZva2VPcmdBY2Nlc3NJbnB1dBInChNpZGVudGl0eV9hY2NvdW50X2lkGAEgASgJQgq6SAfIAQFyAhABEiMKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIKukgHyAEBcgIQASJKCg9JYW1Qb2xpY2llc0xpc3QSNwoHZW50cmllcxgBIAMoCzImLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5JYW1Qb2xpY3kiewoXTGlzdFJlc291cmNlQWNjZXNzSW5wdXQSRQoIcmVzb3VyY2UYASABKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBARIZChFpbmNsdWRlX2luaGVyaXRlZBgCIAEoCCJeCh1SZXNvdXJjZUFjY2Vzc0J5UHJpbmNpcGFsTGlzdBI9CgdlbnRyaWVzGAEgAygLMiwuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlByaW5jaXBhbEFjY2VzcyKMAQoPUHJpbmNpcGFsQWNjZXNzEkIKCXByaW5jaXBhbBgBIAEoCzIvLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZlZpZXcSNQoFcm9sZXMYAiADKAsyJi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuUm9sZUdyYW50IpsBCglSb2xlR3JhbnQSMwoEcm9sZRgBIAEoCzIlLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5Sb2xlSW5mbxJDCg5vd25lcl9yZXNvdXJjZRgCIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZhIUCgxpc19pbmhlcml0ZWQYAyABKAgiVAoYUmVzb3VyY2VBY2Nlc3NCeVJvbGVMaXN0EjgKB2VudHJpZXMYASADKAsyJy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuUm9sZUFjY2VzcyKHAQoKUm9sZUFjY2VzcxI0CgRyb2xlGAEgASgLMiYuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlJvbGVHcmFudBJDCgpwcmluY2lwYWxzGAIgAygLMi8uYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkFwaVJlc291cmNlUmVmVmlldyJHCghSb2xlSW5mbxIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEgwKBG5hbWUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiTgoWUHJpbmNpcGFsUmVzb3VyY2VSb2xlcxI0CgVyb2xlcxgBIAMoCzIlLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5Sb2xlSW5mbyKmAQoXQ2hlY2tBdXRob3JpemF0aW9uSW5wdXQSQgoGcG9saWN5GAEgASgLMiouYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLklhbVBvbGljeVNwZWNCBrpIA8gBARJHChNjb250ZXh0dWFsX3BvbGljaWVzGAIgAygLMiouYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLklhbVBvbGljeVNwZWMiMQoYQ2hlY2tBdXRob3JpemF0aW9uUmVzdWx0EhUKDWlzX2F1dGhvcml6ZWQYASABKAgi8gEKHkxpc3RBdXRob3JpemVkUmVzb3VyY2VJZHNJbnB1dBJGCglwcmluY2lwYWwYASABKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBARIhCg1yZXNvdXJjZV9raW5kGAIgASgJQgq6SAfIAQFyAhABEhwKCHJlbGF0aW9uGAMgASgJQgq6SAfIAQFyAhABEkcKE2NvbnRleHR1YWxfcG9saWNpZXMYBCADKAsyKi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5U3BlYyIxChlBdXRob3JpemVkUmVzb3VyY2VJZHNMaXN0EhQKDHJlc291cmNlX2lkcxgBIAMoCSLzAQofTGlzdEF1dGhvcml6ZWRQcmluY2lwYWxJZHNJbnB1dBJFCghyZXNvdXJjZRgBIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZkIGukgDyAEBEiIKDnByaW5jaXBhbF9raW5kGAIgASgJQgq6SAfIAQFyAhABEhwKCHJlbGF0aW9uGAMgASgJQgq6SAfIAQFyAhABEkcKE2NvbnRleHR1YWxfcG9saWNpZXMYBCADKAsyKi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5U3BlYyIzChpBdXRob3JpemVkUHJpbmNpcGFsSWRzTGlzdBIVCg1wcmluY2lwYWxfaWRzGAEgAygJIlkKF0dldFByaW5jaXBhbHNDb3VudElucHV0EhoKBm9yZ19pZBgBIAEoCUIKukgHyAEBcgIQARIiCg5wcmluY2lwYWxfa2luZBgCIAEoCUIKukgHyAEBcgIQASIgCg9QcmluY2lwYWxzQ291bnQSDQoFY291bnQYASABKAViBnByb3RvMw", [file_ai_stigmer_iam_iampolicy_v1_api, file_ai_stigmer_iam_iampolicy_v1_spec, file_buf_validate_validate]);
11
+ export const file_ai_stigmer_iam_iampolicy_v1_io = /*@__PURE__*/ fileDesc("CiRhaS9zdGlnbWVyL2lhbS9pYW1wb2xpY3kvdjEvaW8ucHJvdG8SG2FpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MSL9AQoSQXBpUmVzb3VyY2VSZWZWaWV3EgwKBGtpbmQYASABKAkSCgoCaWQYAiABKAkSEAoIcmVsYXRpb24YAyABKAkSDAoEbmFtZRgEIAEoCRINCgVlbWFpbBgFIAEoCRIMCgRzbHVnGAYgASgJEg4KBmF2YXRhchgHIAEoCRJACgdtZW1iZXJzGAggAygLMi8uYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkFwaVJlc291cmNlUmVmVmlldxI+CgV0ZWFtcxgJIAMoCzIvLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZlZpZXciJAoLSWFtUG9saWN5SWQSFQoFdmFsdWUYASABKAlCBrpIA8gBASKnAQoWUHJpbmNpcGFsUmVzb3VyY2VJbnB1dBJGCglwcmluY2lwYWwYASABKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBARJFCghyZXNvdXJjZRgCIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZkIGukgDyAEBIqkBChdSZXNvdXJjZVByaW5jaXBhbHNJbnB1dBJFCghyZXNvdXJjZRgBIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZkIGukgDyAEBEkcKCnByaW5jaXBhbHMYAiADKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBASJkChRSZXZva2VPcmdBY2Nlc3NJbnB1dBInChNpZGVudGl0eV9hY2NvdW50X2lkGAEgASgJQgq6SAfIAQFyAhABEiMKD29yZ2FuaXphdGlvbl9pZBgCIAEoCUIKukgHyAEBcgIQASJKCg9JYW1Qb2xpY2llc0xpc3QSNwoHZW50cmllcxgBIAMoCzImLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5JYW1Qb2xpY3kiewoXTGlzdFJlc291cmNlQWNjZXNzSW5wdXQSRQoIcmVzb3VyY2UYASABKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBARIZChFpbmNsdWRlX2luaGVyaXRlZBgCIAEoCCJeCh1SZXNvdXJjZUFjY2Vzc0J5UHJpbmNpcGFsTGlzdBI9CgdlbnRyaWVzGAEgAygLMiwuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlByaW5jaXBhbEFjY2VzcyKMAQoPUHJpbmNpcGFsQWNjZXNzEkIKCXByaW5jaXBhbBgBIAEoCzIvLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZlZpZXcSNQoFcm9sZXMYAiADKAsyJi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuUm9sZUdyYW50IpsBCglSb2xlR3JhbnQSMwoEcm9sZRgBIAEoCzIlLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5Sb2xlSW5mbxJDCg5vd25lcl9yZXNvdXJjZRgCIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZhIUCgxpc19pbmhlcml0ZWQYAyABKAgiVAoYUmVzb3VyY2VBY2Nlc3NCeVJvbGVMaXN0EjgKB2VudHJpZXMYASADKAsyJy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuUm9sZUFjY2VzcyKHAQoKUm9sZUFjY2VzcxI0CgRyb2xlGAEgASgLMiYuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlJvbGVHcmFudBJDCgpwcmluY2lwYWxzGAIgAygLMi8uYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkFwaVJlc291cmNlUmVmVmlldyJHCghSb2xlSW5mbxIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEgwKBG5hbWUYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiTgoWUHJpbmNpcGFsUmVzb3VyY2VSb2xlcxI0CgVyb2xlcxgBIAMoCzIlLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5Sb2xlSW5mbyKmAQoXQ2hlY2tBdXRob3JpemF0aW9uSW5wdXQSQgoGcG9saWN5GAEgASgLMiouYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLklhbVBvbGljeVNwZWNCBrpIA8gBARJHChNjb250ZXh0dWFsX3BvbGljaWVzGAIgAygLMiouYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLklhbVBvbGljeVNwZWMiMQoYQ2hlY2tBdXRob3JpemF0aW9uUmVzdWx0EhUKDWlzX2F1dGhvcml6ZWQYASABKAgiyAEKFkNoZWNrTXlQZXJtaXNzaW9uSW5wdXQSRQoIcmVzb3VyY2UYASABKAsyKy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXBpUmVzb3VyY2VSZWZCBrpIA8gBARIeCghyZWxhdGlvbhgCIAEoCUIMukgJyAEBcgQQARhAEkcKE2NvbnRleHR1YWxfcG9saWNpZXMYAyADKAsyKi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5U3BlYyLyAQoeTGlzdEF1dGhvcml6ZWRSZXNvdXJjZUlkc0lucHV0EkYKCXByaW5jaXBhbBgBIAEoCzIrLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BcGlSZXNvdXJjZVJlZkIGukgDyAEBEiEKDXJlc291cmNlX2tpbmQYAiABKAlCCrpIB8gBAXICEAESHAoIcmVsYXRpb24YAyABKAlCCrpIB8gBAXICEAESRwoTY29udGV4dHVhbF9wb2xpY2llcxgEIAMoCzIqLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5JYW1Qb2xpY3lTcGVjIjEKGUF1dGhvcml6ZWRSZXNvdXJjZUlkc0xpc3QSFAoMcmVzb3VyY2VfaWRzGAEgAygJIvMBCh9MaXN0QXV0aG9yaXplZFByaW5jaXBhbElkc0lucHV0EkUKCHJlc291cmNlGAEgASgLMisuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkFwaVJlc291cmNlUmVmQga6SAPIAQESIgoOcHJpbmNpcGFsX2tpbmQYAiABKAlCCrpIB8gBAXICEAESHAoIcmVsYXRpb24YAyABKAlCCrpIB8gBAXICEAESRwoTY29udGV4dHVhbF9wb2xpY2llcxgEIAMoCzIqLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5JYW1Qb2xpY3lTcGVjIjMKGkF1dGhvcml6ZWRQcmluY2lwYWxJZHNMaXN0EhUKDXByaW5jaXBhbF9pZHMYASADKAkiWQoXR2V0UHJpbmNpcGFsc0NvdW50SW5wdXQSGgoGb3JnX2lkGAEgASgJQgq6SAfIAQFyAhABEiIKDnByaW5jaXBhbF9raW5kGAIgASgJQgq6SAfIAQFyAhABIiAKD1ByaW5jaXBhbHNDb3VudBINCgVjb3VudBgBIAEoBWIGcHJvdG8z", [file_ai_stigmer_iam_iampolicy_v1_api, file_ai_stigmer_iam_iampolicy_v1_spec, file_buf_validate_validate]);
12
12
  /**
13
13
  * Describes the message ai.stigmer.iam.iampolicy.v1.ApiResourceRefView.
14
14
  * Use `create(ApiResourceRefViewSchema)` to create a new message.
@@ -89,34 +89,39 @@ export const CheckAuthorizationInputSchema = /*@__PURE__*/ messageDesc(file_ai_s
89
89
  * Use `create(CheckAuthorizationResultSchema)` to create a new message.
90
90
  */
91
91
  export const CheckAuthorizationResultSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 15);
92
+ /**
93
+ * Describes the message ai.stigmer.iam.iampolicy.v1.CheckMyPermissionInput.
94
+ * Use `create(CheckMyPermissionInputSchema)` to create a new message.
95
+ */
96
+ export const CheckMyPermissionInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 16);
92
97
  /**
93
98
  * Describes the message ai.stigmer.iam.iampolicy.v1.ListAuthorizedResourceIdsInput.
94
99
  * Use `create(ListAuthorizedResourceIdsInputSchema)` to create a new message.
95
100
  */
96
- export const ListAuthorizedResourceIdsInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 16);
101
+ export const ListAuthorizedResourceIdsInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 17);
97
102
  /**
98
103
  * Describes the message ai.stigmer.iam.iampolicy.v1.AuthorizedResourceIdsList.
99
104
  * Use `create(AuthorizedResourceIdsListSchema)` to create a new message.
100
105
  */
101
- export const AuthorizedResourceIdsListSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 17);
106
+ export const AuthorizedResourceIdsListSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 18);
102
107
  /**
103
108
  * Describes the message ai.stigmer.iam.iampolicy.v1.ListAuthorizedPrincipalIdsInput.
104
109
  * Use `create(ListAuthorizedPrincipalIdsInputSchema)` to create a new message.
105
110
  */
106
- export const ListAuthorizedPrincipalIdsInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 18);
111
+ export const ListAuthorizedPrincipalIdsInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 19);
107
112
  /**
108
113
  * Describes the message ai.stigmer.iam.iampolicy.v1.AuthorizedPrincipalIdsList.
109
114
  * Use `create(AuthorizedPrincipalIdsListSchema)` to create a new message.
110
115
  */
111
- export const AuthorizedPrincipalIdsListSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 19);
116
+ export const AuthorizedPrincipalIdsListSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 20);
112
117
  /**
113
118
  * Describes the message ai.stigmer.iam.iampolicy.v1.GetPrincipalsCountInput.
114
119
  * Use `create(GetPrincipalsCountInputSchema)` to create a new message.
115
120
  */
116
- export const GetPrincipalsCountInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 20);
121
+ export const GetPrincipalsCountInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 21);
117
122
  /**
118
123
  * Describes the message ai.stigmer.iam.iampolicy.v1.PrincipalsCount.
119
124
  * Use `create(PrincipalsCountSchema)` to create a new message.
120
125
  */
121
- export const PrincipalsCountSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 21);
126
+ export const PrincipalsCountSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_iampolicy_v1_io, 22);
122
127
  //# sourceMappingURL=io_pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/iampolicy/v1/io_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,iHAAiH;AACjH,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,qCAAqC,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAGxF;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAY,aAAa,CACvE,QAAQ,CAAC,wjHAAwjH,EAAE,CAAC,oCAAoC,EAAE,qCAAqC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AA2EhrH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CACnF,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAgBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA4B,aAAa,CACrE,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAuBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAuC,aAAa,CAC3F,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAuBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAuBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAgBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAuBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAiBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAA8C,aAAa,CACzG,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAuBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AA8BtD;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B,aAAa,CACjE,WAAW,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;AAiBtD;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyC,aAAa,CAC/F,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAuBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B,aAAa,CACnE,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAqCvD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB,aAAa,CAC/D,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAgBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAuC,aAAa,CAC3F,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAuBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAgBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAyC,aAAa,CAC/F,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAqCvD;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAA+C,aAAa,CAC3G,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAgBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAA0C,aAAa,CACjG,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAqCvD;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAgD,aAAa,CAC7G,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAgBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAA2C,aAAa,CACnG,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAuBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwC,aAAa,CAC7F,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;AAgBvD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/iampolicy/v1/io_pb.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,37 @@ export declare const IamPolicyQueryController: {
22
22
  readonly O: any;
23
23
  readonly kind: any;
24
24
  };
25
+ /**
26
+ * Check whether the AUTHENTICATED CALLER has a permission on a resource.
27
+ *
28
+ * This is the self-check RPC for clients (web console, desktop, SDKs):
29
+ * "Do I have permission Y on resource Z?"
30
+ *
31
+ * The principal is always derived server-side from the authenticated token.
32
+ * The input has no principal field by design — clients cannot name a
33
+ * principal, so cross-principal permission probing is structurally
34
+ * impossible (the Kubernetes SelfSubjectAccessReview pattern).
35
+ *
36
+ * Use Cases:
37
+ * - Pre-flight UI checks before showing buttons/actions
38
+ * - Permission-gated rendering (PermissionGate components)
39
+ *
40
+ * Input: CheckMyPermissionInput with resource, relation, and optional contextual policies
41
+ * Output: CheckAuthorizationResult with is_authorized boolean
42
+ *
43
+ * @internal
44
+ * Skips standard authorization because authorizing this RPC via IAM would
45
+ * recurse into IAM. Authentication is still required; the handler anchors
46
+ * the FGA check to the caller's identity account.
47
+ *
48
+ * @generated from rpc ai.stigmer.iam.iampolicy.v1.IamPolicyQueryController.checkMyPermission
49
+ */
50
+ readonly checkMyPermission: {
51
+ readonly name: "checkMyPermission";
52
+ readonly I: any;
53
+ readonly O: any;
54
+ readonly kind: any;
55
+ };
25
56
  /**
26
57
  * Check if a principal is authorized to perform a relation on a resource
27
58
  *
@@ -31,8 +62,11 @@ export declare const IamPolicyQueryController: {
31
62
  * It provides a simple boolean answer based on the complete authorization state,
32
63
  * including existing IAM policies, inherited permissions, and group memberships.
33
64
  *
65
+ * This RPC is an INTERNAL-FACING contract for the platform's own
66
+ * authorization pipeline (service-to-service and in-process checks).
67
+ * Client-facing self checks must use checkMyPermission instead.
68
+ *
34
69
  * Use Cases:
35
- * - Pre-flight UI checks before showing buttons/actions
36
70
  * - API request authorization before processing operations
37
71
  * - Service-to-service authorization
38
72
  * - Team-based access checks
@@ -40,6 +74,11 @@ export declare const IamPolicyQueryController: {
40
74
  * Input: CheckAuthorizationInput with policy spec and optional contextual policies
41
75
  * Output: CheckAuthorizationResult with is_authorized boolean
42
76
  *
77
+ * @internal
78
+ * Skips standard authorization to avoid IAM-authorizing-IAM recursion.
79
+ * The handler enforces principal trust instead: the caller must either BE
80
+ * the principal being checked, or be a machine (system) account.
81
+ *
43
82
  * @generated from rpc ai.stigmer.iam.iampolicy.v1.IamPolicyQueryController.checkAuthorization
44
83
  */
45
84
  readonly checkAuthorization: {
@@ -2,7 +2,7 @@
2
2
  // @generated from file ai/stigmer/iam/iampolicy/v1/query.proto (package ai.stigmer.iam.iampolicy.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
- import { AuthorizedPrincipalIdsList, AuthorizedResourceIdsList, CheckAuthorizationInput, CheckAuthorizationResult, GetPrincipalsCountInput, IamPolicyId, ListAuthorizedPrincipalIdsInput, ListAuthorizedResourceIdsInput, ListResourceAccessInput, PrincipalResourceInput, PrincipalResourceRoles, PrincipalsCount, ResourceAccessByPrincipalList } from "./io_pbjs";
5
+ import { AuthorizedPrincipalIdsList, AuthorizedResourceIdsList, CheckAuthorizationInput, CheckAuthorizationResult, CheckMyPermissionInput, GetPrincipalsCountInput, IamPolicyId, ListAuthorizedPrincipalIdsInput, ListAuthorizedResourceIdsInput, ListResourceAccessInput, PrincipalResourceInput, PrincipalResourceRoles, PrincipalsCount, ResourceAccessByPrincipalList } from "./io_pbjs";
6
6
  import { IamPolicy } from "./api_pbjs";
7
7
  import { MethodKind } from "@bufbuild/protobuf";
8
8
  /**
@@ -29,6 +29,37 @@ export const IamPolicyQueryController = {
29
29
  O: IamPolicy,
30
30
  kind: MethodKind.Unary,
31
31
  },
32
+ /**
33
+ * Check whether the AUTHENTICATED CALLER has a permission on a resource.
34
+ *
35
+ * This is the self-check RPC for clients (web console, desktop, SDKs):
36
+ * "Do I have permission Y on resource Z?"
37
+ *
38
+ * The principal is always derived server-side from the authenticated token.
39
+ * The input has no principal field by design — clients cannot name a
40
+ * principal, so cross-principal permission probing is structurally
41
+ * impossible (the Kubernetes SelfSubjectAccessReview pattern).
42
+ *
43
+ * Use Cases:
44
+ * - Pre-flight UI checks before showing buttons/actions
45
+ * - Permission-gated rendering (PermissionGate components)
46
+ *
47
+ * Input: CheckMyPermissionInput with resource, relation, and optional contextual policies
48
+ * Output: CheckAuthorizationResult with is_authorized boolean
49
+ *
50
+ * @internal
51
+ * Skips standard authorization because authorizing this RPC via IAM would
52
+ * recurse into IAM. Authentication is still required; the handler anchors
53
+ * the FGA check to the caller's identity account.
54
+ *
55
+ * @generated from rpc ai.stigmer.iam.iampolicy.v1.IamPolicyQueryController.checkMyPermission
56
+ */
57
+ checkMyPermission: {
58
+ name: "checkMyPermission",
59
+ I: CheckMyPermissionInput,
60
+ O: CheckAuthorizationResult,
61
+ kind: MethodKind.Unary,
62
+ },
32
63
  /**
33
64
  * Check if a principal is authorized to perform a relation on a resource
34
65
  *
@@ -38,8 +69,11 @@ export const IamPolicyQueryController = {
38
69
  * It provides a simple boolean answer based on the complete authorization state,
39
70
  * including existing IAM policies, inherited permissions, and group memberships.
40
71
  *
72
+ * This RPC is an INTERNAL-FACING contract for the platform's own
73
+ * authorization pipeline (service-to-service and in-process checks).
74
+ * Client-facing self checks must use checkMyPermission instead.
75
+ *
41
76
  * Use Cases:
42
- * - Pre-flight UI checks before showing buttons/actions
43
77
  * - API request authorization before processing operations
44
78
  * - Service-to-service authorization
45
79
  * - Team-based access checks
@@ -47,6 +81,11 @@ export const IamPolicyQueryController = {
47
81
  * Input: CheckAuthorizationInput with policy spec and optional contextual policies
48
82
  * Output: CheckAuthorizationResult with is_authorized boolean
49
83
  *
84
+ * @internal
85
+ * Skips standard authorization to avoid IAM-authorizing-IAM recursion.
86
+ * The handler enforces principal trust instead: the caller must either BE
87
+ * the principal being checked, or be a machine (system) account.
88
+ *
50
89
  * @generated from rpc ai.stigmer.iam.iampolicy.v1.IamPolicyQueryController.checkAuthorization
51
90
  */
52
91
  checkAuthorization: {
@@ -1 +1 @@
1
- {"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/iampolicy/v1/query_connect.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,oHAAoH;AACpH,oBAAoB;AACpB,cAAc;AAEd,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,WAAW,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AACrW,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE,sDAAsD;IAChE,OAAO,EAAE;QACP;;;;;;;;;WASG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,WAAW;YACd,CAAC,EAAE,SAAS;YACZ,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;WAmBG;QACH,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,wBAAwB;YAC3B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,yBAAyB,EAAE;YACzB,IAAI,EAAE,2BAA2B;YACjC,CAAC,EAAE,8BAA8B;YACjC,CAAC,EAAE,yBAAyB;YAC5B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,0BAA0B,EAAE;YAC1B,IAAI,EAAE,4BAA4B;YAClC,CAAC,EAAE,+BAA+B;YAClC,CAAC,EAAE,0BAA0B;YAC7B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;WAgBG;QACH,6BAA6B,EAAE;YAC7B,IAAI,EAAE,+BAA+B;YACrC,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,6BAA6B;YAChC,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,yBAAyB,EAAE;YACzB,IAAI,EAAE,2BAA2B;YACjC,CAAC,EAAE,sBAAsB;YACzB,CAAC,EAAE,sBAAsB;YACzB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;WAcG;QACH,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
1
+ {"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/iampolicy/v1/query_connect.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,oHAAoH;AACpH,oBAAoB;AACpB,cAAc;AAEd,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,WAAW,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAC7X,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE,sDAAsD;IAChE,OAAO,EAAE;QACP;;;;;;;;;WASG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,WAAW;YACd,CAAC,EAAE,SAAS;YACZ,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,iBAAiB,EAAE;YACjB,IAAI,EAAE,mBAAmB;YACzB,CAAC,EAAE,sBAAsB;YACzB,CAAC,EAAE,wBAAwB;YAC3B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;WA2BG;QACH,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,wBAAwB;YAC3B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,yBAAyB,EAAE;YACzB,IAAI,EAAE,2BAA2B;YACjC,CAAC,EAAE,8BAA8B;YACjC,CAAC,EAAE,yBAAyB;YAC5B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,0BAA0B,EAAE;YAC1B,IAAI,EAAE,4BAA4B;YAClC,CAAC,EAAE,+BAA+B;YAClC,CAAC,EAAE,0BAA0B;YAC7B,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;WAgBG;QACH,6BAA6B,EAAE;YAC7B,IAAI,EAAE,+BAA+B;YACrC,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,6BAA6B;YAChC,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,yBAAyB,EAAE;YACzB,IAAI,EAAE,2BAA2B;YACjC,CAAC,EAAE,sBAAsB;YACzB,CAAC,EAAE,sBAAsB;YACzB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;WAcG;QACH,kBAAkB,EAAE;YAClB,IAAI,EAAE,oBAAoB;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv1";
2
2
  import type { IamPolicySchema } from "./api_pb.js";
3
- import type { AuthorizedPrincipalIdsListSchema, AuthorizedResourceIdsListSchema, CheckAuthorizationInputSchema, CheckAuthorizationResultSchema, GetPrincipalsCountInputSchema, IamPolicyIdSchema, ListAuthorizedPrincipalIdsInputSchema, ListAuthorizedResourceIdsInputSchema, ListResourceAccessInputSchema, PrincipalResourceInputSchema, PrincipalResourceRolesSchema, PrincipalsCountSchema, ResourceAccessByPrincipalListSchema } from "./io_pb.js";
3
+ import type { AuthorizedPrincipalIdsListSchema, AuthorizedResourceIdsListSchema, CheckAuthorizationInputSchema, CheckAuthorizationResultSchema, CheckMyPermissionInputSchema, GetPrincipalsCountInputSchema, IamPolicyIdSchema, ListAuthorizedPrincipalIdsInputSchema, ListAuthorizedResourceIdsInputSchema, ListResourceAccessInputSchema, PrincipalResourceInputSchema, PrincipalResourceRolesSchema, PrincipalsCountSchema, ResourceAccessByPrincipalListSchema } from "./io_pb.js";
4
4
  /**
5
5
  * Describes the file ai/stigmer/iam/iampolicy/v1/query.proto.
6
6
  */
@@ -26,6 +26,36 @@ export declare const IamPolicyQueryController: GenService<{
26
26
  input: typeof IamPolicyIdSchema;
27
27
  output: typeof IamPolicySchema;
28
28
  };
29
+ /**
30
+ * Check whether the AUTHENTICATED CALLER has a permission on a resource.
31
+ *
32
+ * This is the self-check RPC for clients (web console, desktop, SDKs):
33
+ * "Do I have permission Y on resource Z?"
34
+ *
35
+ * The principal is always derived server-side from the authenticated token.
36
+ * The input has no principal field by design — clients cannot name a
37
+ * principal, so cross-principal permission probing is structurally
38
+ * impossible (the Kubernetes SelfSubjectAccessReview pattern).
39
+ *
40
+ * Use Cases:
41
+ * - Pre-flight UI checks before showing buttons/actions
42
+ * - Permission-gated rendering (PermissionGate components)
43
+ *
44
+ * Input: CheckMyPermissionInput with resource, relation, and optional contextual policies
45
+ * Output: CheckAuthorizationResult with is_authorized boolean
46
+ *
47
+ * @internal
48
+ * Skips standard authorization because authorizing this RPC via IAM would
49
+ * recurse into IAM. Authentication is still required; the handler anchors
50
+ * the FGA check to the caller's identity account.
51
+ *
52
+ * @generated from rpc ai.stigmer.iam.iampolicy.v1.IamPolicyQueryController.checkMyPermission
53
+ */
54
+ checkMyPermission: {
55
+ methodKind: "unary";
56
+ input: typeof CheckMyPermissionInputSchema;
57
+ output: typeof CheckAuthorizationResultSchema;
58
+ };
29
59
  /**
30
60
  * Check if a principal is authorized to perform a relation on a resource
31
61
  *
@@ -35,8 +65,11 @@ export declare const IamPolicyQueryController: GenService<{
35
65
  * It provides a simple boolean answer based on the complete authorization state,
36
66
  * including existing IAM policies, inherited permissions, and group memberships.
37
67
  *
68
+ * This RPC is an INTERNAL-FACING contract for the platform's own
69
+ * authorization pipeline (service-to-service and in-process checks).
70
+ * Client-facing self checks must use checkMyPermission instead.
71
+ *
38
72
  * Use Cases:
39
- * - Pre-flight UI checks before showing buttons/actions
40
73
  * - API request authorization before processing operations
41
74
  * - Service-to-service authorization
42
75
  * - Team-based access checks
@@ -44,6 +77,11 @@ export declare const IamPolicyQueryController: GenService<{
44
77
  * Input: CheckAuthorizationInput with policy spec and optional contextual policies
45
78
  * Output: CheckAuthorizationResult with is_authorized boolean
46
79
  *
80
+ * @internal
81
+ * Skips standard authorization to avoid IAM-authorizing-IAM recursion.
82
+ * The handler enforces principal trust instead: the caller must either BE
83
+ * the principal being checked, or be a machine (system) account.
84
+ *
47
85
  * @generated from rpc ai.stigmer.iam.iampolicy.v1.IamPolicyQueryController.checkAuthorization
48
86
  */
49
87
  checkAuthorization: {
@@ -9,7 +9,7 @@ import { file_ai_stigmer_iam_iampolicy_v1_io } from "./io_pb.js";
9
9
  /**
10
10
  * Describes the file ai/stigmer/iam/iampolicy/v1/query.proto.
11
11
  */
12
- export const file_ai_stigmer_iam_iampolicy_v1_query = /*@__PURE__*/ fileDesc("CidhaS9zdGlnbWVyL2lhbS9pYW1wb2xpY3kvdjEvcXVlcnkucHJvdG8SG2FpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MTLqCQoYSWFtUG9saWN5UXVlcnlDb250cm9sbGVyEoUBCgNnZXQSKC5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5SWQaJi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5IizCuBgoCAUqJHVuYXV0aG9yaXplZCB0byB2aWV3IGFjY2VzcyBwb2xpY2llcxKHAQoSY2hlY2tBdXRob3JpemF0aW9uEjQuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkNoZWNrQXV0aG9yaXphdGlvbklucHV0GjUuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkNoZWNrQXV0aG9yaXphdGlvblJlc3VsdCIE0LgYARLGAQoZbGlzdEF1dGhvcml6ZWRSZXNvdXJjZUlkcxI7LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5MaXN0QXV0aG9yaXplZFJlc291cmNlSWRzSW5wdXQaNi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXV0aG9yaXplZFJlc291cmNlSWRzTGlzdCI0wrgYMAgFKix1bmF1dGhvcml6ZWQgdG8gdmlldyBhdXRob3JpemVkIHJlc291cmNlIGlkcxLKAQoabGlzdEF1dGhvcml6ZWRQcmluY2lwYWxJZHMSPC5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuTGlzdEF1dGhvcml6ZWRQcmluY2lwYWxJZHNJbnB1dBo3LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5BdXRob3JpemVkUHJpbmNpcGFsSWRzTGlzdCI1wrgYMQgFKi11bmF1dGhvcml6ZWQgdG8gdmlldyBhdXRob3JpemVkIHByaW5jaXBhbCBpZHMSvwEKHWxpc3RSZXNvdXJjZUFjY2Vzc0J5UHJpbmNpcGFsEjQuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkxpc3RSZXNvdXJjZUFjY2Vzc0lucHV0GjouYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlJlc291cmNlQWNjZXNzQnlQcmluY2lwYWxMaXN0IizCuBgoCAUqJHVuYXV0aG9yaXplZCB0byB2aWV3IHJlc291cmNlIGFjY2VzcxKzAQoZZ2V0UHJpbmNpcGFsUmVzb3VyY2VSb2xlcxIzLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5QcmluY2lwYWxSZXNvdXJjZUlucHV0GjMuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlByaW5jaXBhbFJlc291cmNlUm9sZXMiLMK4GCgIBSokdW5hdXRob3JpemVkIHRvIHZpZXcgcHJpbmNpcGFsIHJvbGVzEqcBChJnZXRQcmluY2lwYWxzQ291bnQSNC5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuR2V0UHJpbmNpcGFsc0NvdW50SW5wdXQaLC5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuUHJpbmNpcGFsc0NvdW50Ii3CuBgpCAUqJXVuYXV0aG9yaXplZCB0byB2aWV3IHByaW5jaXBhbHMgY291bnQaBKD/KwpiBnByb3RvMw", [file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_iampolicy_v1_api, file_ai_stigmer_iam_iampolicy_v1_io]);
12
+ export const file_ai_stigmer_iam_iampolicy_v1_query = /*@__PURE__*/ fileDesc("CidhaS9zdGlnbWVyL2lhbS9pYW1wb2xpY3kvdjEvcXVlcnkucHJvdG8SG2FpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MTLyCgoYSWFtUG9saWN5UXVlcnlDb250cm9sbGVyEoUBCgNnZXQSKC5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5SWQaJi5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuSWFtUG9saWN5IizCuBgoCAUqJHVuYXV0aG9yaXplZCB0byB2aWV3IGFjY2VzcyBwb2xpY2llcxKFAQoRY2hlY2tNeVBlcm1pc3Npb24SMy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQ2hlY2tNeVBlcm1pc3Npb25JbnB1dBo1LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5DaGVja0F1dGhvcml6YXRpb25SZXN1bHQiBNC4GAEShwEKEmNoZWNrQXV0aG9yaXphdGlvbhI0LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5DaGVja0F1dGhvcml6YXRpb25JbnB1dBo1LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5DaGVja0F1dGhvcml6YXRpb25SZXN1bHQiBNC4GAESxgEKGWxpc3RBdXRob3JpemVkUmVzb3VyY2VJZHMSOy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuTGlzdEF1dGhvcml6ZWRSZXNvdXJjZUlkc0lucHV0GjYuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkF1dGhvcml6ZWRSZXNvdXJjZUlkc0xpc3QiNMK4GDAIBSosdW5hdXRob3JpemVkIHRvIHZpZXcgYXV0aG9yaXplZCByZXNvdXJjZSBpZHMSygEKGmxpc3RBdXRob3JpemVkUHJpbmNpcGFsSWRzEjwuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkxpc3RBdXRob3JpemVkUHJpbmNpcGFsSWRzSW5wdXQaNy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuQXV0aG9yaXplZFByaW5jaXBhbElkc0xpc3QiNcK4GDEIBSotdW5hdXRob3JpemVkIHRvIHZpZXcgYXV0aG9yaXplZCBwcmluY2lwYWwgaWRzEr8BCh1saXN0UmVzb3VyY2VBY2Nlc3NCeVByaW5jaXBhbBI0LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5MaXN0UmVzb3VyY2VBY2Nlc3NJbnB1dBo6LmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5SZXNvdXJjZUFjY2Vzc0J5UHJpbmNpcGFsTGlzdCIswrgYKAgFKiR1bmF1dGhvcml6ZWQgdG8gdmlldyByZXNvdXJjZSBhY2Nlc3MSswEKGWdldFByaW5jaXBhbFJlc291cmNlUm9sZXMSMy5haS5zdGlnbWVyLmlhbS5pYW1wb2xpY3kudjEuUHJpbmNpcGFsUmVzb3VyY2VJbnB1dBozLmFpLnN0aWdtZXIuaWFtLmlhbXBvbGljeS52MS5QcmluY2lwYWxSZXNvdXJjZVJvbGVzIizCuBgoCAUqJHVuYXV0aG9yaXplZCB0byB2aWV3IHByaW5jaXBhbCByb2xlcxKnAQoSZ2V0UHJpbmNpcGFsc0NvdW50EjQuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLkdldFByaW5jaXBhbHNDb3VudElucHV0GiwuYWkuc3RpZ21lci5pYW0uaWFtcG9saWN5LnYxLlByaW5jaXBhbHNDb3VudCItwrgYKQgFKiV1bmF1dGhvcml6ZWQgdG8gdmlldyBwcmluY2lwYWxzIGNvdW50GgSg/ysKYgZwcm90bzM", [file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_iampolicy_v1_api, file_ai_stigmer_iam_iampolicy_v1_io]);
13
13
  /**
14
14
  * IamPolicyQueryController handles read operations for IAM policies.
15
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/iampolicy/v1/query_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,oHAAoH;AACpH,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uDAAuD,EAAE,MAAM,wDAAwD,CAAC;AACjI,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAEvG,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAY,aAAa,CAC1E,QAAQ,CAAC,4vDAA4vD,EAAE,CAAC,uDAAuD,EAAE,0CAA0C,EAAE,oCAAoC,EAAE,mCAAmC,CAAC,CAAC,CAAC;AAE37D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAkJhC,aAAa,CAChB,WAAW,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/iampolicy/v1/query_pb.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,oHAAoH;AACpH,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uDAAuD,EAAE,MAAM,wDAAwD,CAAC;AACjI,OAAO,EAAE,0CAA0C,EAAE,MAAM,2CAA2C,CAAC;AAEvG,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAY,aAAa,CAC1E,QAAQ,CAAC,i7DAAi7D,EAAE,CAAC,uDAAuD,EAAE,0CAA0C,EAAE,oCAAoC,EAAE,mCAAmC,CAAC,CAAC,CAAC;AAEhnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAwLhC,aAAa,CAChB,WAAW,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/protos",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
4
4
  "description": "Generated TypeScript protobuf stubs for Stigmer APIs",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",