@stigmer/protos 0.0.89 → 0.0.90
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/ai/stigmer/agentic/agentexecution/v1/approval_pb.d.ts +1 -1
- package/ai/stigmer/agentic/agentexecution/v1/message_pb.d.ts +2 -2
- package/ai/stigmer/agentic/workflow/v1/spec_pb.d.ts +2 -2
- package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +6 -0
- package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +7 -1
- package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
- package/ai/stigmer/iam/identityaccount/v1/enum_pb.d.ts +17 -1
- package/ai/stigmer/iam/identityaccount/v1/enum_pb.js +17 -1
- package/ai/stigmer/iam/identityaccount/v1/enum_pb.js.map +1 -1
- package/ai/stigmer/iam/identityaccount/v1/spec_pb.d.ts +15 -2
- package/ai/stigmer/iam/identityaccount/v1/spec_pb.js.map +1 -1
- package/ai/stigmer/iam/identityprovider/v1/api_pb.d.ts +4 -4
- package/ai/stigmer/iam/identityprovider/v1/query_connect.d.ts +1 -1
- package/ai/stigmer/iam/identityprovider/v1/query_connect.js +1 -1
- package/ai/stigmer/iam/identityprovider/v1/query_pb.d.ts +1 -1
- package/ai/stigmer/iam/identityprovider/v1/spec_pb.d.ts +3 -3
- package/ai/stigmer/iam/platformclient/v1/api_pb.d.ts +107 -0
- package/ai/stigmer/iam/platformclient/v1/api_pb.js +24 -0
- package/ai/stigmer/iam/platformclient/v1/api_pb.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/command_connect.d.ts +97 -0
- package/ai/stigmer/iam/platformclient/v1/command_connect.js +103 -0
- package/ai/stigmer/iam/platformclient/v1/command_connect.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/command_pb.d.ts +98 -0
- package/ai/stigmer/iam/platformclient/v1/command_pb.js +30 -0
- package/ai/stigmer/iam/platformclient/v1/command_pb.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/io_pb.d.ts +95 -0
- package/ai/stigmer/iam/platformclient/v1/io_pb.js +31 -0
- package/ai/stigmer/iam/platformclient/v1/io_pb.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/query_connect.d.ts +59 -0
- package/ai/stigmer/iam/platformclient/v1/query_connect.js +65 -0
- package/ai/stigmer/iam/platformclient/v1/query_connect.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/query_pb.d.ts +61 -0
- package/ai/stigmer/iam/platformclient/v1/query_pb.js +20 -0
- package/ai/stigmer/iam/platformclient/v1/query_pb.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/spec_pb.d.ts +160 -0
- package/ai/stigmer/iam/platformclient/v1/spec_pb.js +17 -0
- package/ai/stigmer/iam/platformclient/v1/spec_pb.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/token_connect.d.ts +56 -0
- package/ai/stigmer/iam/platformclient/v1/token_connect.js +62 -0
- package/ai/stigmer/iam/platformclient/v1/token_connect.js.map +1 -0
- package/ai/stigmer/iam/platformclient/v1/token_pb.d.ts +155 -0
- package/ai/stigmer/iam/platformclient/v1/token_pb.js +37 -0
- package/ai/stigmer/iam/platformclient/v1/token_pb.js.map +1 -0
- package/ai/stigmer/iam/v1/enum_pb.d.ts +4 -0
- package/ai/stigmer/iam/v1/enum_pb.js +5 -1
- package/ai/stigmer/iam/v1/enum_pb.js.map +1 -1
- package/ai/stigmer/tenancy/organization/v1/enum_pb.d.ts +1 -1
- package/ai/stigmer/tenancy/organization/v1/enum_pb.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv1";
|
|
2
|
+
import type { ApiResourceDeleteInputSchema } from "../../../commons/apiresource/io_pb";
|
|
3
|
+
import type { PlatformClientSchema } from "./api_pb";
|
|
4
|
+
import type { PlatformClientCreateResponseSchema, PlatformClientIdSchema } from "./io_pb";
|
|
5
|
+
/**
|
|
6
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/command.proto.
|
|
7
|
+
*/
|
|
8
|
+
export declare const file_ai_stigmer_iam_platformclient_v1_command: GenFile;
|
|
9
|
+
/**
|
|
10
|
+
* PlatformClientCommandController provides write operations for platform client resources.
|
|
11
|
+
*
|
|
12
|
+
* Platform clients hold OAuth2 credentials (client_id + client_secret) for
|
|
13
|
+
* platform builders embedding Stigmer into their products. The client_secret
|
|
14
|
+
* is generated server-side and returned only once in the create and
|
|
15
|
+
* rotateSecret responses.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
* PlatformClients hold credential material (client_secret_hash) and are always
|
|
19
|
+
* org-private. There is no updateVisibility RPC — public visibility is
|
|
20
|
+
* intentionally unsupported to prevent credential leakage.
|
|
21
|
+
*
|
|
22
|
+
* @generated from service ai.stigmer.iam.platformclient.v1.PlatformClientCommandController
|
|
23
|
+
*/
|
|
24
|
+
export declare const PlatformClientCommandController: GenService<{
|
|
25
|
+
/**
|
|
26
|
+
* Create a platform client.
|
|
27
|
+
*
|
|
28
|
+
* Generates a new client_id (stgm_cid_ prefix) and client_secret (stgm_cs_ prefix).
|
|
29
|
+
* The raw client_secret is included in the response and is never returned again.
|
|
30
|
+
* Store it securely before discarding the response.
|
|
31
|
+
*
|
|
32
|
+
* The creator's organization owns the platform client. The creator is granted
|
|
33
|
+
* the owner role automatically.
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
|
+
* Authorization: Requires can_create_platform_client permission in the organization.
|
|
37
|
+
*
|
|
38
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientCommandController.create
|
|
39
|
+
*/
|
|
40
|
+
create: {
|
|
41
|
+
methodKind: "unary";
|
|
42
|
+
input: typeof PlatformClientSchema;
|
|
43
|
+
output: typeof PlatformClientCreateResponseSchema;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Update an existing platform client.
|
|
47
|
+
*
|
|
48
|
+
* Only mutable fields can be changed: auto_provision_accounts, auto_grant_on_org,
|
|
49
|
+
* auto_grant_role, and allowed_origins. Credential fields (client_id,
|
|
50
|
+
* client_secret_hash, secret_fingerprint) are immutable after creation.
|
|
51
|
+
* Use rotateSecret to change the client secret.
|
|
52
|
+
*
|
|
53
|
+
* @internal
|
|
54
|
+
* Authorization: Requires can_edit permission on the platform client resource.
|
|
55
|
+
*
|
|
56
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientCommandController.update
|
|
57
|
+
*/
|
|
58
|
+
update: {
|
|
59
|
+
methodKind: "unary";
|
|
60
|
+
input: typeof PlatformClientSchema;
|
|
61
|
+
output: typeof PlatformClientSchema;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Delete a platform client.
|
|
65
|
+
*
|
|
66
|
+
* Immediately invalidates the client_id and client_secret. Any tokens
|
|
67
|
+
* previously minted by this platform client remain valid until their
|
|
68
|
+
* own expiration — deletion does not revoke already-issued tokens.
|
|
69
|
+
*
|
|
70
|
+
* @internal
|
|
71
|
+
* Authorization: Requires can_delete permission on the platform client resource.
|
|
72
|
+
*
|
|
73
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientCommandController.delete
|
|
74
|
+
*/
|
|
75
|
+
delete: {
|
|
76
|
+
methodKind: "unary";
|
|
77
|
+
input: typeof ApiResourceDeleteInputSchema;
|
|
78
|
+
output: typeof PlatformClientSchema;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Rotate the client secret.
|
|
82
|
+
*
|
|
83
|
+
* Generates a new client_secret, invalidates the old one immediately,
|
|
84
|
+
* and returns the new raw secret in the response. The client_id remains
|
|
85
|
+
* unchanged — platform builders do not need to update their client_id
|
|
86
|
+
* configuration after rotation.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
* Authorization: Requires can_edit permission on the platform client resource.
|
|
90
|
+
*
|
|
91
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientCommandController.rotateSecret
|
|
92
|
+
*/
|
|
93
|
+
rotateSecret: {
|
|
94
|
+
methodKind: "unary";
|
|
95
|
+
input: typeof PlatformClientIdSchema;
|
|
96
|
+
output: typeof PlatformClientCreateResponseSchema;
|
|
97
|
+
};
|
|
98
|
+
}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
|
|
2
|
+
// @generated from file ai/stigmer/iam/platformclient/v1/command.proto (package ai.stigmer.iam.platformclient.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
|
5
|
+
import { file_ai_stigmer_commons_apiresource_io } from "../../../commons/apiresource/io_pb";
|
|
6
|
+
import { file_ai_stigmer_commons_apiresource_rpc_service_options } from "../../../commons/apiresource/rpc_service_options_pb";
|
|
7
|
+
import { file_ai_stigmer_commons_rpc_method_options } from "../../../commons/rpc/method_options_pb";
|
|
8
|
+
import { file_ai_stigmer_iam_platformclient_v1_api } from "./api_pb";
|
|
9
|
+
import { file_ai_stigmer_iam_platformclient_v1_io } from "./io_pb";
|
|
10
|
+
/**
|
|
11
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/command.proto.
|
|
12
|
+
*/
|
|
13
|
+
export const file_ai_stigmer_iam_platformclient_v1_command = /*@__PURE__*/ fileDesc("Ci5haS9zdGlnbWVyL2lhbS9wbGF0Zm9ybWNsaWVudC92MS9jb21tYW5kLnByb3RvEiBhaS5zdGlnbWVyLmlhbS5wbGF0Zm9ybWNsaWVudC52MTKgBgofUGxhdGZvcm1DbGllbnRDb21tYW5kQ29udHJvbGxlchLPAQoGY3JlYXRlEjAuYWkuc3RpZ21lci5pYW0ucGxhdGZvcm1jbGllbnQudjEuUGxhdGZvcm1DbGllbnQaPi5haS5zdGlnbWVyLmlhbS5wbGF0Zm9ybWNsaWVudC52MS5QbGF0Zm9ybUNsaWVudENyZWF0ZVJlc3BvbnNlIlPCuBhPCBgQHiIMbWV0YWRhdGEub3JnKjt1bmF1dGhvcml6ZWQgdG8gY3JlYXRlIHBsYXRmb3JtIGNsaWVudCBpbiB0aGlzIG9yZ2FuaXphdGlvbhKrAQoGdXBkYXRlEjAuYWkuc3RpZ21lci5pYW0ucGxhdGZvcm1jbGllbnQudjEuUGxhdGZvcm1DbGllbnQaMC5haS5zdGlnbWVyLmlhbS5wbGF0Zm9ybWNsaWVudC52MS5QbGF0Zm9ybUNsaWVudCI9wrgYOQgCEBciC21ldGFkYXRhLmlkKiZ1bmF1dGhvcml6ZWQgdG8gdXBkYXRlIHBsYXRmb3JtIGNsaWVudBKxAQoGZGVsZXRlEjYuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlRGVsZXRlSW5wdXQaMC5haS5zdGlnbWVyLmlhbS5wbGF0Zm9ybWNsaWVudC52MS5QbGF0Zm9ybUNsaWVudCI9wrgYOQgDEBciC3Jlc291cmNlX2lkKiZ1bmF1dGhvcml6ZWQgdG8gZGVsZXRlIHBsYXRmb3JtIGNsaWVudBLCAQoMcm90YXRlU2VjcmV0EjIuYWkuc3RpZ21lci5pYW0ucGxhdGZvcm1jbGllbnQudjEuUGxhdGZvcm1DbGllbnRJZBo+LmFpLnN0aWdtZXIuaWFtLnBsYXRmb3JtY2xpZW50LnYxLlBsYXRmb3JtQ2xpZW50Q3JlYXRlUmVzcG9uc2UiPsK4GDoIAhAXIgV2YWx1ZSotdW5hdXRob3JpemVkIHRvIHJvdGF0ZSBwbGF0Zm9ybSBjbGllbnQgc2VjcmV0GgSg/ysXYgZwcm90bzM", [file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_platformclient_v1_api, file_ai_stigmer_iam_platformclient_v1_io]);
|
|
14
|
+
/**
|
|
15
|
+
* PlatformClientCommandController provides write operations for platform client resources.
|
|
16
|
+
*
|
|
17
|
+
* Platform clients hold OAuth2 credentials (client_id + client_secret) for
|
|
18
|
+
* platform builders embedding Stigmer into their products. The client_secret
|
|
19
|
+
* is generated server-side and returned only once in the create and
|
|
20
|
+
* rotateSecret responses.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
* PlatformClients hold credential material (client_secret_hash) and are always
|
|
24
|
+
* org-private. There is no updateVisibility RPC — public visibility is
|
|
25
|
+
* intentionally unsupported to prevent credential leakage.
|
|
26
|
+
*
|
|
27
|
+
* @generated from service ai.stigmer.iam.platformclient.v1.PlatformClientCommandController
|
|
28
|
+
*/
|
|
29
|
+
export const PlatformClientCommandController = /*@__PURE__*/ serviceDesc(file_ai_stigmer_iam_platformclient_v1_command, 0);
|
|
30
|
+
//# sourceMappingURL=command_pb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/platformclient/v1/command_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,gIAAgI;AAChI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAC9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AAEpG,OAAO,EAAE,yCAAyC,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,EAAE,wCAAwC,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAY,aAAa,CACjF,QAAQ,CAAC,yqCAAyqC,EAAE,CAAC,sCAAsC,EAAE,uDAAuD,EAAE,0CAA0C,EAAE,yCAAyC,EAAE,wCAAwC,CAAC,CAAC,CAAC;AAE15C;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,+BAA+B,GA0EvC,aAAa,CAChB,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
|
|
2
|
+
import type { PlatformClient } from "./api_pb";
|
|
3
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
4
|
+
/**
|
|
5
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/io.proto.
|
|
6
|
+
*/
|
|
7
|
+
export declare const file_ai_stigmer_iam_platformclient_v1_io: GenFile;
|
|
8
|
+
/**
|
|
9
|
+
* PlatformClientId identifies a platform client by its unique identifier.
|
|
10
|
+
*
|
|
11
|
+
* @generated from message ai.stigmer.iam.platformclient.v1.PlatformClientId
|
|
12
|
+
*/
|
|
13
|
+
export type PlatformClientId = Message<"ai.stigmer.iam.platformclient.v1.PlatformClientId"> & {
|
|
14
|
+
/**
|
|
15
|
+
* Unique identifier of the platform client resource.
|
|
16
|
+
*
|
|
17
|
+
* @generated from field: string value = 1;
|
|
18
|
+
*/
|
|
19
|
+
value: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClientId.
|
|
23
|
+
* Use `create(PlatformClientIdSchema)` to create a new message.
|
|
24
|
+
*/
|
|
25
|
+
export declare const PlatformClientIdSchema: GenMessage<PlatformClientId>;
|
|
26
|
+
/**
|
|
27
|
+
* PlatformClients contains a list of platform client resources.
|
|
28
|
+
*
|
|
29
|
+
* @generated from message ai.stigmer.iam.platformclient.v1.PlatformClients
|
|
30
|
+
*/
|
|
31
|
+
export type PlatformClients = Message<"ai.stigmer.iam.platformclient.v1.PlatformClients"> & {
|
|
32
|
+
/**
|
|
33
|
+
* Platform client entries.
|
|
34
|
+
*
|
|
35
|
+
* @generated from field: repeated ai.stigmer.iam.platformclient.v1.PlatformClient entries = 1;
|
|
36
|
+
*/
|
|
37
|
+
entries: PlatformClient[];
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClients.
|
|
41
|
+
* Use `create(PlatformClientsSchema)` to create a new message.
|
|
42
|
+
*/
|
|
43
|
+
export declare const PlatformClientsSchema: GenMessage<PlatformClients>;
|
|
44
|
+
/**
|
|
45
|
+
* ListPlatformClientsByOrgInput specifies the organization whose platform
|
|
46
|
+
* clients should be returned.
|
|
47
|
+
*
|
|
48
|
+
* @generated from message ai.stigmer.iam.platformclient.v1.ListPlatformClientsByOrgInput
|
|
49
|
+
*/
|
|
50
|
+
export type ListPlatformClientsByOrgInput = Message<"ai.stigmer.iam.platformclient.v1.ListPlatformClientsByOrgInput"> & {
|
|
51
|
+
/**
|
|
52
|
+
* Organization slug to list platform clients for.
|
|
53
|
+
*
|
|
54
|
+
* @generated from field: string org = 1;
|
|
55
|
+
*/
|
|
56
|
+
org: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.ListPlatformClientsByOrgInput.
|
|
60
|
+
* Use `create(ListPlatformClientsByOrgInputSchema)` to create a new message.
|
|
61
|
+
*/
|
|
62
|
+
export declare const ListPlatformClientsByOrgInputSchema: GenMessage<ListPlatformClientsByOrgInput>;
|
|
63
|
+
/**
|
|
64
|
+
* PlatformClientCreateResponse wraps a PlatformClient resource with the
|
|
65
|
+
* one-time raw client secret.
|
|
66
|
+
*
|
|
67
|
+
* Returned by the create and rotateSecret RPCs. The client_secret field
|
|
68
|
+
* contains the raw secret value that must be stored securely by the caller —
|
|
69
|
+
* it is never returned again after this response.
|
|
70
|
+
*
|
|
71
|
+
* This wrapper makes the one-time secret explicit in the type system rather
|
|
72
|
+
* than relying on transient field injection in the resource message.
|
|
73
|
+
*
|
|
74
|
+
* @generated from message ai.stigmer.iam.platformclient.v1.PlatformClientCreateResponse
|
|
75
|
+
*/
|
|
76
|
+
export type PlatformClientCreateResponse = Message<"ai.stigmer.iam.platformclient.v1.PlatformClientCreateResponse"> & {
|
|
77
|
+
/**
|
|
78
|
+
* The created or updated platform client resource.
|
|
79
|
+
*
|
|
80
|
+
* @generated from field: ai.stigmer.iam.platformclient.v1.PlatformClient platform_client = 1;
|
|
81
|
+
*/
|
|
82
|
+
platformClient?: PlatformClient;
|
|
83
|
+
/**
|
|
84
|
+
* The raw client secret. Store this value securely — it is not retrievable
|
|
85
|
+
* after this response. If lost, use rotateSecret to generate a new one.
|
|
86
|
+
*
|
|
87
|
+
* @generated from field: string client_secret = 2;
|
|
88
|
+
*/
|
|
89
|
+
clientSecret: string;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClientCreateResponse.
|
|
93
|
+
* Use `create(PlatformClientCreateResponseSchema)` to create a new message.
|
|
94
|
+
*/
|
|
95
|
+
export declare const PlatformClientCreateResponseSchema: GenMessage<PlatformClientCreateResponse>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
|
|
2
|
+
// @generated from file ai/stigmer/iam/platformclient/v1/io.proto (package ai.stigmer.iam.platformclient.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
|
|
5
|
+
import { file_ai_stigmer_iam_platformclient_v1_api } from "./api_pb";
|
|
6
|
+
import { file_buf_validate_validate } from "../../../../../buf/validate/validate_pb";
|
|
7
|
+
/**
|
|
8
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/io.proto.
|
|
9
|
+
*/
|
|
10
|
+
export const file_ai_stigmer_iam_platformclient_v1_io = /*@__PURE__*/ fileDesc("CilhaS9zdGlnbWVyL2lhbS9wbGF0Zm9ybWNsaWVudC92MS9pby5wcm90bxIgYWkuc3RpZ21lci5pYW0ucGxhdGZvcm1jbGllbnQudjEiLAoQUGxhdGZvcm1DbGllbnRJZBIYCgV2YWx1ZRgBIAEoCUIJukgGcgQQARhAIlQKD1BsYXRmb3JtQ2xpZW50cxJBCgdlbnRyaWVzGAEgAygLMjAuYWkuc3RpZ21lci5pYW0ucGxhdGZvcm1jbGllbnQudjEuUGxhdGZvcm1DbGllbnQiNQodTGlzdFBsYXRmb3JtQ2xpZW50c0J5T3JnSW5wdXQSFAoDb3JnGAEgASgJQge6SARyAhABIoABChxQbGF0Zm9ybUNsaWVudENyZWF0ZVJlc3BvbnNlEkkKD3BsYXRmb3JtX2NsaWVudBgBIAEoCzIwLmFpLnN0aWdtZXIuaWFtLnBsYXRmb3JtY2xpZW50LnYxLlBsYXRmb3JtQ2xpZW50EhUKDWNsaWVudF9zZWNyZXQYAiABKAliBnByb3RvMw", [file_ai_stigmer_iam_platformclient_v1_api, file_buf_validate_validate]);
|
|
11
|
+
/**
|
|
12
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClientId.
|
|
13
|
+
* Use `create(PlatformClientIdSchema)` to create a new message.
|
|
14
|
+
*/
|
|
15
|
+
export const PlatformClientIdSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_platformclient_v1_io, 0);
|
|
16
|
+
/**
|
|
17
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClients.
|
|
18
|
+
* Use `create(PlatformClientsSchema)` to create a new message.
|
|
19
|
+
*/
|
|
20
|
+
export const PlatformClientsSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_platformclient_v1_io, 1);
|
|
21
|
+
/**
|
|
22
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.ListPlatformClientsByOrgInput.
|
|
23
|
+
* Use `create(ListPlatformClientsByOrgInputSchema)` to create a new message.
|
|
24
|
+
*/
|
|
25
|
+
export const ListPlatformClientsByOrgInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_platformclient_v1_io, 2);
|
|
26
|
+
/**
|
|
27
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClientCreateResponse.
|
|
28
|
+
* Use `create(PlatformClientCreateResponseSchema)` to create a new message.
|
|
29
|
+
*/
|
|
30
|
+
export const PlatformClientCreateResponseSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_platformclient_v1_io, 3);
|
|
31
|
+
//# sourceMappingURL=io_pb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/platformclient/v1/io_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,2HAA2H;AAC3H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,yCAAyC,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAY,aAAa,CAC5E,QAAQ,CAAC,4hBAA4hB,EAAE,CAAC,yCAAyC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgBlnB;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;AAgB3D;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;AAiB3D;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAA8C,aAAa,CACzG,WAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;AAgC3D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6C,aAAa,CACvG,WAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlatformClientQueryController provides read operations for platform client resources.
|
|
3
|
+
*
|
|
4
|
+
* @generated from service ai.stigmer.iam.platformclient.v1.PlatformClientQueryController
|
|
5
|
+
*/
|
|
6
|
+
export declare const PlatformClientQueryController: {
|
|
7
|
+
readonly typeName: "ai.stigmer.iam.platformclient.v1.PlatformClientQueryController";
|
|
8
|
+
readonly methods: {
|
|
9
|
+
/**
|
|
10
|
+
* Get a platform client by its unique identifier.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
* Authorization: Requires can_view permission on the platform client resource.
|
|
14
|
+
*
|
|
15
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.get
|
|
16
|
+
*/
|
|
17
|
+
readonly get: {
|
|
18
|
+
readonly name: "get";
|
|
19
|
+
readonly I: any;
|
|
20
|
+
readonly O: any;
|
|
21
|
+
readonly kind: any;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Get a platform client by its organization-scoped reference (org/slug).
|
|
25
|
+
*
|
|
26
|
+
* Resolves a human-readable reference like "acme/acme-dashboard" to the full
|
|
27
|
+
* PlatformClient resource.
|
|
28
|
+
*
|
|
29
|
+
* @internal
|
|
30
|
+
* Custom authorization in handler — checks both direct resource access
|
|
31
|
+
* and organization-level visibility permissions.
|
|
32
|
+
*
|
|
33
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.getByReference
|
|
34
|
+
*/
|
|
35
|
+
readonly getByReference: {
|
|
36
|
+
readonly name: "getByReference";
|
|
37
|
+
readonly I: any;
|
|
38
|
+
readonly O: any;
|
|
39
|
+
readonly kind: any;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* List all platform clients belonging to an organization.
|
|
43
|
+
*
|
|
44
|
+
* Returns every PlatformClient whose metadata.org matches the input org.
|
|
45
|
+
* Typically a small set per org, so results are not paginated.
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
* Authorization: Requires can_view permission on the organization resource.
|
|
49
|
+
*
|
|
50
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.listByOrg
|
|
51
|
+
*/
|
|
52
|
+
readonly listByOrg: {
|
|
53
|
+
readonly name: "listByOrg";
|
|
54
|
+
readonly I: any;
|
|
55
|
+
readonly O: any;
|
|
56
|
+
readonly kind: any;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// @generated by protoc-gen-connect-es v1.6.1 with parameter "target=ts"
|
|
2
|
+
// @generated from file ai/stigmer/iam/platformclient/v1/query.proto (package ai.stigmer.iam.platformclient.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
import { MethodKind } from "@bufbuild/protobuf";
|
|
6
|
+
/**
|
|
7
|
+
* PlatformClientQueryController provides read operations for platform client resources.
|
|
8
|
+
*
|
|
9
|
+
* @generated from service ai.stigmer.iam.platformclient.v1.PlatformClientQueryController
|
|
10
|
+
*/
|
|
11
|
+
export const PlatformClientQueryController = {
|
|
12
|
+
typeName: "ai.stigmer.iam.platformclient.v1.PlatformClientQueryController",
|
|
13
|
+
methods: {
|
|
14
|
+
/**
|
|
15
|
+
* Get a platform client by its unique identifier.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
* Authorization: Requires can_view permission on the platform client resource.
|
|
19
|
+
*
|
|
20
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.get
|
|
21
|
+
*/
|
|
22
|
+
get: {
|
|
23
|
+
name: "get",
|
|
24
|
+
I: ApiResourceId,
|
|
25
|
+
O: PlatformClient,
|
|
26
|
+
kind: MethodKind.Unary,
|
|
27
|
+
},
|
|
28
|
+
/**
|
|
29
|
+
* Get a platform client by its organization-scoped reference (org/slug).
|
|
30
|
+
*
|
|
31
|
+
* Resolves a human-readable reference like "acme/acme-dashboard" to the full
|
|
32
|
+
* PlatformClient resource.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
* Custom authorization in handler — checks both direct resource access
|
|
36
|
+
* and organization-level visibility permissions.
|
|
37
|
+
*
|
|
38
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.getByReference
|
|
39
|
+
*/
|
|
40
|
+
getByReference: {
|
|
41
|
+
name: "getByReference",
|
|
42
|
+
I: ApiResourceReference,
|
|
43
|
+
O: PlatformClient,
|
|
44
|
+
kind: MethodKind.Unary,
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* List all platform clients belonging to an organization.
|
|
48
|
+
*
|
|
49
|
+
* Returns every PlatformClient whose metadata.org matches the input org.
|
|
50
|
+
* Typically a small set per org, so results are not paginated.
|
|
51
|
+
*
|
|
52
|
+
* @internal
|
|
53
|
+
* Authorization: Requires can_view permission on the organization resource.
|
|
54
|
+
*
|
|
55
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.listByOrg
|
|
56
|
+
*/
|
|
57
|
+
listByOrg: {
|
|
58
|
+
name: "listByOrg",
|
|
59
|
+
I: ListPlatformClientsByOrgInput,
|
|
60
|
+
O: PlatformClients,
|
|
61
|
+
kind: MethodKind.Unary,
|
|
62
|
+
},
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=query_connect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/platformclient/v1/query_connect.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,8HAA8H;AAC9H,oBAAoB;AACpB,cAAc;AAId,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,gEAAgE;IAC1E,OAAO,EAAE;QACP;;;;;;;WAOG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,aAAa;YAChB,CAAC,EAAE,cAAc;YACjB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;WAWG;QACH,cAAc,EAAE;YACd,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,cAAc;YACjB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;WAUG;QACH,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,CAAC,EAAE,6BAA6B;YAChC,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv1";
|
|
2
|
+
import type { ApiResourceIdSchema, ApiResourceReferenceSchema } from "../../../commons/apiresource/io_pb";
|
|
3
|
+
import type { PlatformClientSchema } from "./api_pb";
|
|
4
|
+
import type { ListPlatformClientsByOrgInputSchema, PlatformClientsSchema } from "./io_pb";
|
|
5
|
+
/**
|
|
6
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/query.proto.
|
|
7
|
+
*/
|
|
8
|
+
export declare const file_ai_stigmer_iam_platformclient_v1_query: GenFile;
|
|
9
|
+
/**
|
|
10
|
+
* PlatformClientQueryController provides read operations for platform client resources.
|
|
11
|
+
*
|
|
12
|
+
* @generated from service ai.stigmer.iam.platformclient.v1.PlatformClientQueryController
|
|
13
|
+
*/
|
|
14
|
+
export declare const PlatformClientQueryController: GenService<{
|
|
15
|
+
/**
|
|
16
|
+
* Get a platform client by its unique identifier.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
* Authorization: Requires can_view permission on the platform client resource.
|
|
20
|
+
*
|
|
21
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.get
|
|
22
|
+
*/
|
|
23
|
+
get: {
|
|
24
|
+
methodKind: "unary";
|
|
25
|
+
input: typeof ApiResourceIdSchema;
|
|
26
|
+
output: typeof PlatformClientSchema;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Get a platform client by its organization-scoped reference (org/slug).
|
|
30
|
+
*
|
|
31
|
+
* Resolves a human-readable reference like "acme/acme-dashboard" to the full
|
|
32
|
+
* PlatformClient resource.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
* Custom authorization in handler — checks both direct resource access
|
|
36
|
+
* and organization-level visibility permissions.
|
|
37
|
+
*
|
|
38
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.getByReference
|
|
39
|
+
*/
|
|
40
|
+
getByReference: {
|
|
41
|
+
methodKind: "unary";
|
|
42
|
+
input: typeof ApiResourceReferenceSchema;
|
|
43
|
+
output: typeof PlatformClientSchema;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* List all platform clients belonging to an organization.
|
|
47
|
+
*
|
|
48
|
+
* Returns every PlatformClient whose metadata.org matches the input org.
|
|
49
|
+
* Typically a small set per org, so results are not paginated.
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
* Authorization: Requires can_view permission on the organization resource.
|
|
53
|
+
*
|
|
54
|
+
* @generated from rpc ai.stigmer.iam.platformclient.v1.PlatformClientQueryController.listByOrg
|
|
55
|
+
*/
|
|
56
|
+
listByOrg: {
|
|
57
|
+
methodKind: "unary";
|
|
58
|
+
input: typeof ListPlatformClientsByOrgInputSchema;
|
|
59
|
+
output: typeof PlatformClientsSchema;
|
|
60
|
+
};
|
|
61
|
+
}>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
|
|
2
|
+
// @generated from file ai/stigmer/iam/platformclient/v1/query.proto (package ai.stigmer.iam.platformclient.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
|
5
|
+
import { file_ai_stigmer_commons_apiresource_io } from "../../../commons/apiresource/io_pb";
|
|
6
|
+
import { file_ai_stigmer_commons_apiresource_rpc_service_options } from "../../../commons/apiresource/rpc_service_options_pb";
|
|
7
|
+
import { file_ai_stigmer_commons_rpc_method_options } from "../../../commons/rpc/method_options_pb";
|
|
8
|
+
import { file_ai_stigmer_iam_platformclient_v1_api } from "./api_pb";
|
|
9
|
+
import { file_ai_stigmer_iam_platformclient_v1_io } from "./io_pb";
|
|
10
|
+
/**
|
|
11
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/query.proto.
|
|
12
|
+
*/
|
|
13
|
+
export const file_ai_stigmer_iam_platformclient_v1_query = /*@__PURE__*/ fileDesc("CixhaS9zdGlnbWVyL2lhbS9wbGF0Zm9ybWNsaWVudC92MS9xdWVyeS5wcm90bxIgYWkuc3RpZ21lci5pYW0ucGxhdGZvcm1jbGllbnQudjEykgQKHVBsYXRmb3JtQ2xpZW50UXVlcnlDb250cm9sbGVyEp0BCgNnZXQSLS5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VJZBowLmFpLnN0aWdtZXIuaWFtLnBsYXRmb3JtY2xpZW50LnYxLlBsYXRmb3JtQ2xpZW50IjXCuBgxCAEQFyIFdmFsdWUqJHVuYXV0aG9yaXplZCB0byB2aWV3IHBsYXRmb3JtIGNsaWVudBJ+Cg5nZXRCeVJlZmVyZW5jZRI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZRowLmFpLnN0aWdtZXIuaWFtLnBsYXRmb3JtY2xpZW50LnYxLlBsYXRmb3JtQ2xpZW50IgTQuBgBEsoBCglsaXN0QnlPcmcSPy5haS5zdGlnbWVyLmlhbS5wbGF0Zm9ybWNsaWVudC52MS5MaXN0UGxhdGZvcm1DbGllbnRzQnlPcmdJbnB1dBoxLmFpLnN0aWdtZXIuaWFtLnBsYXRmb3JtY2xpZW50LnYxLlBsYXRmb3JtQ2xpZW50cyJJwrgYRQgBEB4iA29yZyo6dW5hdXRob3JpemVkIHRvIGxpc3QgcGxhdGZvcm0gY2xpZW50cyBpbiB0aGlzIG9yZ2FuaXphdGlvbhoEoP8rF2IGcHJvdG8z", [file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_platformclient_v1_api, file_ai_stigmer_iam_platformclient_v1_io]);
|
|
14
|
+
/**
|
|
15
|
+
* PlatformClientQueryController provides read operations for platform client resources.
|
|
16
|
+
*
|
|
17
|
+
* @generated from service ai.stigmer.iam.platformclient.v1.PlatformClientQueryController
|
|
18
|
+
*/
|
|
19
|
+
export const PlatformClientQueryController = /*@__PURE__*/ serviceDesc(file_ai_stigmer_iam_platformclient_v1_query, 0);
|
|
20
|
+
//# sourceMappingURL=query_pb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/platformclient/v1/query_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,8HAA8H;AAC9H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAC9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AAEpG,OAAO,EAAE,yCAAyC,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,EAAE,wCAAwC,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAY,aAAa,CAC/E,QAAQ,CAAC,8zBAA8zB,EAAE,CAAC,sCAAsC,EAAE,uDAAuD,EAAE,0CAA0C,EAAE,yCAAyC,EAAE,wCAAwC,CAAC,CAAC,CAAC;AAE/iC;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GA+CrC,aAAa,CAChB,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
|
|
2
|
+
import type { IamRole } from "../../v1/enum_pb";
|
|
3
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
4
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
5
|
+
/**
|
|
6
|
+
* Describes the file ai/stigmer/iam/platformclient/v1/spec.proto.
|
|
7
|
+
*/
|
|
8
|
+
export declare const file_ai_stigmer_iam_platformclient_v1_spec: GenFile;
|
|
9
|
+
/**
|
|
10
|
+
* PlatformClientSpec defines the configuration for a platform client credential.
|
|
11
|
+
*
|
|
12
|
+
* A PlatformClient holds an OAuth2 client credential pair (client_id + client_secret)
|
|
13
|
+
* where Stigmer acts as the authorization server. Platform builders use these
|
|
14
|
+
* credentials from their backend to mint user-scoped JWTs via the mintUserToken RPC,
|
|
15
|
+
* enabling their users to interact with Stigmer resources through the React SDK
|
|
16
|
+
* without requiring OIDC federation setup.
|
|
17
|
+
*
|
|
18
|
+
* This is the inbound auth counterpart to OAuthApp (outbound auth):
|
|
19
|
+
* - OAuthApp: Stigmer authenticates with external vendors on behalf of users.
|
|
20
|
+
* - PlatformClient: Platform builders authenticate with Stigmer on behalf of their users.
|
|
21
|
+
*
|
|
22
|
+
* Credential lifecycle:
|
|
23
|
+
* - client_id is generated on creation and is permanent (survives secret rotation).
|
|
24
|
+
* - client_secret is generated on creation, returned once, and only the hash is stored.
|
|
25
|
+
* - Secret rotation generates a new client_secret and invalidates the old one immediately.
|
|
26
|
+
*
|
|
27
|
+
* Identity resolution is org-scoped: the same user_id presented via any
|
|
28
|
+
* PlatformClient owned by the same organization resolves to a single
|
|
29
|
+
* IdentityAccount (keyed as "stgm_pc|{org}|{external_user_id}"). This means
|
|
30
|
+
* a customer with multiple PlatformClients (e.g., dashboard, mobile, admin)
|
|
31
|
+
* sees one Stigmer identity per end user, with one set of FGA grants.
|
|
32
|
+
*
|
|
33
|
+
* Three provisioning modes for users presented via mintUserToken:
|
|
34
|
+
*
|
|
35
|
+
* 1. Manual (default): The platform explicitly creates identity accounts and IAM
|
|
36
|
+
* policies before minting tokens. mintUserToken fails if the user does not exist.
|
|
37
|
+
*
|
|
38
|
+
* 2. JIT (Just-In-Time): When auto_provision_accounts is true, Stigmer creates an
|
|
39
|
+
* IdentityAccount from the user identity provided in the mintUserToken request
|
|
40
|
+
* on first encounter. Authorization is controlled independently via
|
|
41
|
+
* auto_grant_on_org and auto_grant_role.
|
|
42
|
+
*
|
|
43
|
+
* 3. JIT + Auto-Grant: When both auto_provision_accounts and auto_grant_on_org are
|
|
44
|
+
* true, newly provisioned accounts are immediately granted auto_grant_role on
|
|
45
|
+
* the PlatformClient's owning organization.
|
|
46
|
+
*
|
|
47
|
+
* Example YAML:
|
|
48
|
+
* apiVersion: iam.stigmer.ai/v1
|
|
49
|
+
* kind: PlatformClient
|
|
50
|
+
* metadata:
|
|
51
|
+
* name: Acme Dashboard
|
|
52
|
+
* slug: acme-dashboard
|
|
53
|
+
* org: acme
|
|
54
|
+
* spec:
|
|
55
|
+
* auto_provision_accounts: true
|
|
56
|
+
* auto_grant_on_org: true
|
|
57
|
+
* auto_grant_role: viewer
|
|
58
|
+
* allowed_origins: ["https://app.acme.com"]
|
|
59
|
+
*
|
|
60
|
+
* @generated from message ai.stigmer.iam.platformclient.v1.PlatformClientSpec
|
|
61
|
+
*/
|
|
62
|
+
export type PlatformClientSpec = Message<"ai.stigmer.iam.platformclient.v1.PlatformClientSpec"> & {
|
|
63
|
+
/**
|
|
64
|
+
* OAuth client identifier.
|
|
65
|
+
* Generated on creation with the prefix "stgm_cid_" followed by 32 random
|
|
66
|
+
* alphanumeric characters. Permanent across secret rotations — safe for logs,
|
|
67
|
+
* configuration files, and client-side code.
|
|
68
|
+
*
|
|
69
|
+
* @generated from field: string client_id = 1;
|
|
70
|
+
*/
|
|
71
|
+
clientId: string;
|
|
72
|
+
/**
|
|
73
|
+
* SHA-256 hash of the raw client secret.
|
|
74
|
+
* The raw secret is returned only in the create and rotateSecret responses
|
|
75
|
+
* and is never stored or retrievable. Authentication compares the hash of
|
|
76
|
+
* the presented secret against this value.
|
|
77
|
+
*
|
|
78
|
+
* @generated from field: string client_secret_hash = 2;
|
|
79
|
+
*/
|
|
80
|
+
clientSecretHash: string;
|
|
81
|
+
/**
|
|
82
|
+
* Short fingerprint of the client secret for display purposes (last 6 characters).
|
|
83
|
+
* Allows users to identify which secret is active without exposing the full value.
|
|
84
|
+
*
|
|
85
|
+
* @generated from field: string secret_fingerprint = 3;
|
|
86
|
+
*/
|
|
87
|
+
secretFingerprint: string;
|
|
88
|
+
/**
|
|
89
|
+
* Expiration time for the client secret. Ignored when never_expires is true.
|
|
90
|
+
*
|
|
91
|
+
* @generated from field: google.protobuf.Timestamp expires_at = 4;
|
|
92
|
+
*/
|
|
93
|
+
expiresAt?: Timestamp;
|
|
94
|
+
/**
|
|
95
|
+
* When true, the client secret never expires regardless of expires_at.
|
|
96
|
+
*
|
|
97
|
+
* @generated from field: bool never_expires = 5;
|
|
98
|
+
*/
|
|
99
|
+
neverExpires: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Whether to automatically create an identity account when mintUserToken is
|
|
102
|
+
* called with a user_id that has no existing account.
|
|
103
|
+
*
|
|
104
|
+
* When false (default), the platform must explicitly create identity accounts
|
|
105
|
+
* before minting tokens. mintUserToken returns NOT_FOUND if the user does
|
|
106
|
+
* not exist. This gives platforms full control over which users can access
|
|
107
|
+
* Stigmer resources.
|
|
108
|
+
*
|
|
109
|
+
* When true, Stigmer creates an IdentityAccount automatically on first
|
|
110
|
+
* encounter, using the user_email and user_name from the mintUserToken request
|
|
111
|
+
* for profile data.
|
|
112
|
+
*
|
|
113
|
+
* @generated from field: bool auto_provision_accounts = 6;
|
|
114
|
+
*/
|
|
115
|
+
autoProvisionAccounts: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Whether to automatically grant a role on the PlatformClient's owning
|
|
118
|
+
* organization when an account is auto-provisioned.
|
|
119
|
+
*
|
|
120
|
+
* When false (default), auto-provisioned accounts receive no organization
|
|
121
|
+
* access. The platform must create IAM policies to grant access.
|
|
122
|
+
*
|
|
123
|
+
* When true, Stigmer grants auto_grant_role (default: viewer) on the
|
|
124
|
+
* PlatformClient's owning organization immediately after account creation.
|
|
125
|
+
*
|
|
126
|
+
* Requires auto_provision_accounts to be true.
|
|
127
|
+
*
|
|
128
|
+
* @generated from field: bool auto_grant_on_org = 7;
|
|
129
|
+
*/
|
|
130
|
+
autoGrantOnOrg: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* The role to grant when auto_grant_on_org is true.
|
|
133
|
+
*
|
|
134
|
+
* Defaults to viewer when unspecified (iam_role_unspecified). The owner role
|
|
135
|
+
* is not permitted — organization ownership must be assigned explicitly.
|
|
136
|
+
*
|
|
137
|
+
* Only meaningful when auto_grant_on_org is true. Ignored otherwise.
|
|
138
|
+
*
|
|
139
|
+
* @generated from field: ai.stigmer.iam.v1.IamRole auto_grant_role = 8;
|
|
140
|
+
*/
|
|
141
|
+
autoGrantRole: IamRole;
|
|
142
|
+
/**
|
|
143
|
+
* CORS origins allowed for browser-based requests using tokens minted by
|
|
144
|
+
* this PlatformClient.
|
|
145
|
+
*
|
|
146
|
+
* When non-empty, the server validates the Origin header of browser requests
|
|
147
|
+
* against this list. Requests from unlisted origins are rejected.
|
|
148
|
+
*
|
|
149
|
+
* When empty, origin validation is not enforced (suitable for development
|
|
150
|
+
* or when the platform controls all access points).
|
|
151
|
+
*
|
|
152
|
+
* @generated from field: repeated string allowed_origins = 9;
|
|
153
|
+
*/
|
|
154
|
+
allowedOrigins: string[];
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Describes the message ai.stigmer.iam.platformclient.v1.PlatformClientSpec.
|
|
158
|
+
* Use `create(PlatformClientSpecSchema)` to create a new message.
|
|
159
|
+
*/
|
|
160
|
+
export declare const PlatformClientSpecSchema: GenMessage<PlatformClientSpec>;
|