@scalekit-sdk/node 2.2.0 → 2.2.2

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.
Files changed (62) hide show
  1. package/{reference.md → REFERENCE.md} +530 -77
  2. package/lib/core.js +1 -1
  3. package/package.json +9 -3
  4. package/.github/dependabot.yml +0 -10
  5. package/.nvmrc +0 -1
  6. package/buf.gen.yaml +0 -20
  7. package/jest.config.js +0 -15
  8. package/src/auth.ts +0 -99
  9. package/src/connect.ts +0 -32
  10. package/src/connection.ts +0 -267
  11. package/src/constants/user.ts +0 -22
  12. package/src/core.ts +0 -139
  13. package/src/directory.ts +0 -431
  14. package/src/domain.ts +0 -273
  15. package/src/errors/base-exception.ts +0 -263
  16. package/src/errors/index.ts +0 -3
  17. package/src/errors/specific-exceptions.ts +0 -88
  18. package/src/index.ts +0 -10
  19. package/src/organization.ts +0 -571
  20. package/src/passwordless.ts +0 -139
  21. package/src/permission.ts +0 -310
  22. package/src/pkg/grpc/buf/validate/validate_pb.ts +0 -28
  23. package/src/pkg/grpc/google/api/annotations_pb.ts +0 -28
  24. package/src/pkg/grpc/google/api/field_behavior_pb.ts +0 -28
  25. package/src/pkg/grpc/google/api/visibility_pb.ts +0 -28
  26. package/src/pkg/grpc/protoc-gen-openapiv2/options/annotations_pb.ts +0 -28
  27. package/src/pkg/grpc/scalekit/v1/auditlogs/auditlogs_pb.ts +0 -257
  28. package/src/pkg/grpc/scalekit/v1/auth/auth_pb.ts +0 -836
  29. package/src/pkg/grpc/scalekit/v1/auth/passwordless_pb.ts +0 -264
  30. package/src/pkg/grpc/scalekit/v1/auth/webauthn_pb.ts +0 -794
  31. package/src/pkg/grpc/scalekit/v1/commons/commons_pb.ts +0 -452
  32. package/src/pkg/grpc/scalekit/v1/connections/connections_pb.ts +0 -2645
  33. package/src/pkg/grpc/scalekit/v1/directories/directories_pb.ts +0 -1393
  34. package/src/pkg/grpc/scalekit/v1/domains/domains_pb.ts +0 -599
  35. package/src/pkg/grpc/scalekit/v1/errdetails/errdetails_pb.ts +0 -311
  36. package/src/pkg/grpc/scalekit/v1/options/options_pb.ts +0 -200
  37. package/src/pkg/grpc/scalekit/v1/organizations/organizations_pb.ts +0 -1141
  38. package/src/pkg/grpc/scalekit/v1/roles/roles_pb.ts +0 -1491
  39. package/src/pkg/grpc/scalekit/v1/sessions/sessions_pb.ts +0 -497
  40. package/src/pkg/grpc/scalekit/v1/users/users_pb.ts +0 -1404
  41. package/src/role.ts +0 -463
  42. package/src/scalekit.ts +0 -800
  43. package/src/session.ts +0 -323
  44. package/src/types/auth.ts +0 -73
  45. package/src/types/organization.ts +0 -12
  46. package/src/types/scalekit.ts +0 -50
  47. package/src/types/user.ts +0 -21
  48. package/src/user.ts +0 -829
  49. package/src/webauthn.ts +0 -99
  50. package/tests/README.md +0 -25
  51. package/tests/connection.test.ts +0 -42
  52. package/tests/directory.test.ts +0 -46
  53. package/tests/domain.test.ts +0 -293
  54. package/tests/organization.test.ts +0 -81
  55. package/tests/passwordless.test.ts +0 -108
  56. package/tests/permission.test.ts +0 -399
  57. package/tests/role.test.ts +0 -323
  58. package/tests/scalekit.test.ts +0 -104
  59. package/tests/setup.ts +0 -34
  60. package/tests/users.test.ts +0 -168
  61. package/tests/utils/test-data.ts +0 -490
  62. package/tsconfig.json +0 -19
@@ -1,139 +0,0 @@
1
- import { create } from '@bufbuild/protobuf';
2
- import type { Client } from '@connectrpc/connect';
3
- import GrpcConnect from './connect';
4
- import CoreClient from './core';
5
- import { PasswordlessService } from './pkg/grpc/scalekit/v1/auth/passwordless_pb';
6
- import {
7
- SendPasswordlessRequestSchema,
8
- VerifyPasswordLessRequestSchema,
9
- SendPasswordlessResponse,
10
- VerifyPasswordLessResponse,
11
- TemplateType,
12
- } from './pkg/grpc/scalekit/v1/auth/passwordless_pb';
13
-
14
- export default class PasswordlessClient {
15
- private client: Client<typeof PasswordlessService>;
16
- constructor(
17
- private readonly grpcConnect: GrpcConnect,
18
- private readonly coreClient: CoreClient
19
- ) {
20
- this.client = this.grpcConnect.createClient(PasswordlessService);
21
- }
22
-
23
- /**
24
- * Send a passwordless authentication email
25
- * @param {string} email The email address to send the passwordless link to
26
- * @param {object} options The options for sending the passwordless email
27
- * @param {TemplateType} options.template The template type (SIGNIN/SIGNUP)
28
- * @param {string} options.state Optional state parameter to maintain state between request and callback
29
- * @param {string} options.magiclinkAuthUri Optional auth URI for magic link authentication
30
- * @param {number} options.expiresIn Optional expiration time in seconds (default: 3600)
31
- * @param {object} options.templateVariables Optional template variables
32
- * @returns {Promise<SendPasswordlessResponse>} The response containing:
33
- * - authRequestId: Unique identifier for the passwordless authentication request
34
- * - expiresAt: Expiration time in seconds since epoch
35
- * - expiresIn: Expiration time in seconds
36
- * - passwordlessType: Type of passwordless authentication (OTP/LINK/LINK_OTP)
37
- */
38
- async sendPasswordlessEmail(
39
- email: string,
40
- options?: {
41
- template?: TemplateType;
42
- state?: string;
43
- magiclinkAuthUri?: string;
44
- expiresIn?: number;
45
- templateVariables?: Record<string, string>;
46
- }
47
- ): Promise<SendPasswordlessResponse> {
48
- if (!email || typeof email !== 'string') {
49
- throw new Error('Email must be a valid string');
50
- }
51
-
52
- let templateValue: TemplateType | undefined;
53
- if (options?.template) {
54
- if (typeof options.template === 'string') {
55
- templateValue = TemplateType[options.template as keyof typeof TemplateType];
56
- if (templateValue === undefined) {
57
- throw new Error('Invalid template type');
58
- }
59
- } else {
60
- templateValue = options.template;
61
- }
62
- }
63
-
64
- if (options?.state && typeof options.state !== 'string') {
65
- throw new Error('State must be a string');
66
- }
67
-
68
- if (options?.magiclinkAuthUri && typeof options.magiclinkAuthUri !== 'string') {
69
- throw new Error('Magic link auth URI must be a string');
70
- }
71
-
72
- const request = create(SendPasswordlessRequestSchema, {
73
- email,
74
- template: templateValue,
75
- state: options?.state,
76
- magiclinkAuthUri: options?.magiclinkAuthUri,
77
- expiresIn: options?.expiresIn,
78
- templateVariables: options?.templateVariables || {}
79
- });
80
-
81
- return this.coreClient.connectExec(
82
- this.client.sendPasswordlessEmail,
83
- request
84
- );
85
- }
86
-
87
- /**
88
- * Verify a passwordless authentication code or link token
89
- * @param {object} credential The credential to verify
90
- * @param {string} credential.code The one-time code received via email
91
- * @param {string} credential.linkToken The link token received via email
92
- * @param {string} [authRequestId] Optional auth request ID from the send response
93
- * @returns {Promise<VerifyPasswordLessResponse>} The response containing:
94
- * - email: The email address that was verified
95
- * - state: Optional state parameter that was passed in the send request
96
- * - template: The template type used for the authentication
97
- * - passwordlessType: Type of passwordless authentication used
98
- */
99
- async verifyPasswordlessEmail(
100
- credential: { code?: string; linkToken?: string },
101
- authRequestId?: string
102
- ): Promise<VerifyPasswordLessResponse> {
103
- if (!credential.code && !credential.linkToken) {
104
- throw new Error('Either code or linkToken must be provided');
105
- }
106
-
107
- const request = create(VerifyPasswordLessRequestSchema, {
108
- authRequestId,
109
- authCredential: credential.code
110
- ? { case: "code", value: credential.code }
111
- : { case: "linkToken", value: credential.linkToken! }
112
- });
113
-
114
- return this.coreClient.connectExec(
115
- this.client.verifyPasswordlessEmail,
116
- request
117
- );
118
- }
119
-
120
- /**
121
- * Resend a passwordless authentication email
122
- * @param {string} authRequestId The auth request ID from the original send response
123
- * @returns {Promise<SendPasswordlessResponse>} The response containing:
124
- * - authRequestId: New unique identifier for the passwordless authentication request
125
- * - expiresAt: New expiration time in seconds since epoch
126
- * - expiresIn: New expiration time in seconds
127
- * - passwordlessType: Type of passwordless authentication (OTP/LINK/LINK_OTP)
128
- */
129
- async resendPasswordlessEmail(
130
- authRequestId: string
131
- ): Promise<SendPasswordlessResponse> {
132
- return this.coreClient.connectExec(
133
- this.client.resendPasswordlessEmail,
134
- {
135
- authRequestId
136
- }
137
- );
138
- }
139
- }
package/src/permission.ts DELETED
@@ -1,310 +0,0 @@
1
- import type { MessageShape } from "@bufbuild/protobuf";
2
- import { create } from "@bufbuild/protobuf";
3
- import { EmptySchema } from "@bufbuild/protobuf/wkt";
4
- import type { Client } from "@connectrpc/connect";
5
- import GrpcConnect from "./connect";
6
- import CoreClient from "./core";
7
- import { RolesService } from "./pkg/grpc/scalekit/v1/roles/roles_pb";
8
- import {
9
- CreatePermissionRequest,
10
- CreatePermissionResponse,
11
- GetPermissionRequest,
12
- GetPermissionResponse,
13
- UpdatePermissionRequest,
14
- UpdatePermissionResponse,
15
- ListPermissionsRequest,
16
- ListPermissionsResponse,
17
- DeletePermissionRequest,
18
- ListRolePermissionsRequest,
19
- ListRolePermissionsResponse,
20
- AddPermissionsToRoleRequest,
21
- AddPermissionsToRoleResponse,
22
- RemovePermissionFromRoleRequest,
23
- ListEffectiveRolePermissionsRequest,
24
- ListEffectiveRolePermissionsResponse,
25
- CreatePermission,
26
- ListPermissionsRequestSchema,
27
- } from "./pkg/grpc/scalekit/v1/roles/roles_pb";
28
-
29
- /**
30
- * Client for managing permissions and role-permission assignments.
31
- *
32
- * Permissions represent granular access controls defining specific actions users can perform
33
- * on resources (e.g., 'read:documents', 'write:settings', 'delete:users'). This client provides
34
- * comprehensive permission management including CRUD operations and role assignment.
35
- *
36
- * **Key Concepts:**
37
- * - **Direct Permissions**: Explicitly assigned to a role
38
- * - **Effective Permissions**: Direct + inherited from parent roles through hierarchy
39
- * - **Permission Format**: 'action:resource' (e.g., 'read:invoices', 'admin:users')
40
- *
41
- * @example
42
- * const scalekitClient = new ScalekitClient(envUrl, clientId, clientSecret);
43
- * const permissionClient = scalekitClient.permission;
44
- *
45
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Permission API Documentation}
46
- */
47
- export default class PermissionClient {
48
- private client: Client<typeof RolesService>;
49
-
50
- constructor(
51
- private readonly grpcConnect: GrpcConnect,
52
- private readonly coreClient: CoreClient
53
- ) {
54
- this.client = this.grpcConnect.createClient(RolesService);
55
- }
56
-
57
- /**
58
- * Creates a new permission defining a specific action users can perform.
59
- *
60
- * Permissions represent granular access controls following the 'action:resource' format.
61
- * Use this to define the building blocks of your access control system.
62
- *
63
- * @param {CreatePermission} permission - Permission object containing:
64
- * - name: Permission identifier in 'action:resource' format (e.g., 'read:documents', 'write:settings')
65
- * - description: Optional explanation of what this permission grants
66
- *
67
- * @returns {Promise<CreatePermissionResponse>} Created permission with ID and timestamps
68
- *
69
- * @example
70
- * // Create basic permissions
71
- * await scalekitClient.permission.createPermission({
72
- * name: 'read:invoices',
73
- * description: 'View invoice details'
74
- * });
75
-
76
- *
77
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Create Permission API}
78
- */
79
- async createPermission(
80
- permission: CreatePermission
81
- ): Promise<CreatePermissionResponse> {
82
- return this.coreClient.connectExec(this.client.createPermission, {
83
- permission,
84
- });
85
- }
86
-
87
- /**
88
- * Retrieves complete information for a specific permission.
89
- *
90
- * @param {string} permissionName - Permission identifier (e.g., 'read:documents')
91
- *
92
- * @returns {Promise<GetPermissionResponse>} Permission details including description and timestamps
93
- *
94
- * @example
95
- * const response = await scalekitClient.permission.getPermission('read:invoices');
96
- * console.log('Description:', response.permission.description);
97
- *
98
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Get Permission API}
99
- */
100
- async getPermission(permissionName: string): Promise<GetPermissionResponse> {
101
- return this.coreClient.connectExec(this.client.getPermission, {
102
- permissionName,
103
- });
104
- }
105
-
106
- /**
107
- * Lists all permissions with pagination support.
108
- *
109
- * View all permission definitions for auditing, role management, or understanding available access controls.
110
- *
111
- * @param {string} [pageToken] - Token for retrieving the next page
112
- * @param {number} [pageSize] - Number of permissions per page (max: 100)
113
- *
114
- * @returns {Promise<ListPermissionsResponse>} Paginated list of permissions
115
- *
116
- * @example
117
- * // List all permissions
118
- * const response = await scalekitClient.permission.listPermissions();
119
- * response.permissions.forEach(perm => {
120
- * console.log(`${perm.name}: ${perm.description}`);
121
- * });
122
- *
123
- * @example
124
- * // Paginate through permissions
125
- * let pageToken = undefined;
126
- * do {
127
- * const response = await scalekitClient.permission.listPermissions(pageToken, 50);
128
- * // Process permissions
129
- * pageToken = response.nextPageToken;
130
- * } while (pageToken);
131
- *
132
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | List Permissions API}
133
- */
134
- async listPermissions(
135
- pageToken?: string,
136
- pageSize?: number
137
- ): Promise<ListPermissionsResponse> {
138
- const request = create(ListPermissionsRequestSchema, {
139
- pageToken,
140
- pageSize,
141
- });
142
-
143
- return this.coreClient.connectExec(this.client.listPermissions, request);
144
- }
145
-
146
- /**
147
- * Updates an existing permission's attributes.
148
- *
149
- * Note: The permission name itself cannot be changed as it serves as the immutable identifier.
150
- *
151
- * @param {string} permissionName - Permission to update
152
- * @param {CreatePermission} permission - Updated permission properties
153
- *
154
- * @returns {Promise<UpdatePermissionResponse>} Updated permission details
155
- *
156
- * @example
157
- * await scalekitClient.permission.updatePermission('read:invoices', {
158
- * name: 'read:invoices',
159
- * description: 'View invoice details and history (updated)'
160
- * });
161
- *
162
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Update Permission API}
163
- */
164
- async updatePermission(
165
- permissionName: string,
166
- permission: CreatePermission
167
- ): Promise<UpdatePermissionResponse> {
168
- return this.coreClient.connectExec(this.client.updatePermission, {
169
- permissionName,
170
- permission,
171
- });
172
- }
173
-
174
- /**
175
- * Permanently removes a permission.
176
- *
177
- * Ensure no active roles depend on the permission before deletion.
178
- *
179
- * @param {string} permissionName - Permission identifier to delete
180
- *
181
- * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
182
- *
183
- * @example
184
- * await scalekitClient.permission.deletePermission('deprecated:feature');
185
- *
186
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Delete Permission API}
187
- */
188
- async deletePermission(permissionName: string): Promise<MessageShape<typeof EmptySchema>> {
189
- return this.coreClient.connectExec(this.client.deletePermission, {
190
- permissionName,
191
- });
192
- }
193
-
194
- /**
195
- * Lists direct permissions assigned to a role (excluding inherited permissions).
196
- *
197
- * Use this to view explicit permission assignments without inheritance from base roles.
198
- *
199
- * @param {string} roleName - Role to examine
200
- *
201
- * @returns {Promise<ListRolePermissionsResponse>} List of directly assigned permissions only
202
- *
203
- * @example
204
- * const response = await scalekitClient.permission.listRolePermissions('editor');
205
- * console.log('Direct permissions:', response.permissions);
206
- *
207
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | List Role Permissions API}
208
- * @see {@link listEffectiveRolePermissions} - Get all permissions including inherited
209
- */
210
- async listRolePermissions(
211
- roleName: string
212
- ): Promise<ListRolePermissionsResponse> {
213
- return this.coreClient.connectExec(this.client.listRolePermissions, {
214
- roleName,
215
- });
216
- }
217
-
218
- /**
219
- * Grants additional permissions to a role without removing existing assignments.
220
- *
221
- * This is an incremental operation that adds new permissions while preserving existing ones.
222
- * System validates permission existence before assignment.
223
- *
224
- * @param {string} roleName - Target role to enhance
225
- * @param {string[]} permissionNames - Array of permission identifiers to add
226
- *
227
- * @returns {Promise<AddPermissionsToRoleResponse>} Updated list of all role permissions
228
- *
229
- * @example
230
- * // Add multiple permissions to a role
231
- * await scalekitClient.permission.addPermissionsToRole('editor', [
232
- * 'read:documents',
233
- * 'write:documents',
234
- * 'edit:documents'
235
- * ]);
236
- *
237
- * @example
238
- * // Incrementally add permissions
239
- * await scalekitClient.permission.addPermissionsToRole('support', ['read:tickets']);
240
- * await scalekitClient.permission.addPermissionsToRole('support', ['update:tickets']);
241
- *
242
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Add Permissions to Role API}
243
- */
244
- async addPermissionsToRole(
245
- roleName: string,
246
- permissionNames: string[]
247
- ): Promise<AddPermissionsToRoleResponse> {
248
- return this.coreClient.connectExec(this.client.addPermissionsToRole, {
249
- roleName,
250
- permissionNames,
251
- });
252
- }
253
-
254
- /**
255
- * Revokes a specific permission from a role, restricting access for all assigned users.
256
- *
257
- * Only affects direct assignments; doesn't impact inherited permissions from base roles.
258
- *
259
- * @param {string} roleName - Role to modify
260
- * @param {string} permissionName - Permission to remove
261
- *
262
- * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
263
- *
264
- * @example
265
- * // Remove delete permission from editor role
266
- * await scalekitClient.permission.removePermissionFromRole('editor', 'delete:documents');
267
- *
268
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | Remove Permission from Role API}
269
- */
270
- async removePermissionFromRole(
271
- roleName: string,
272
- permissionName: string
273
- ): Promise<MessageShape<typeof EmptySchema>> {
274
- return this.coreClient.connectExec(this.client.removePermissionFromRole, {
275
- roleName,
276
- permissionName,
277
- });
278
- }
279
-
280
- /**
281
- * Lists all effective permissions for a role including both direct and inherited permissions.
282
- *
283
- * This returns the complete set of capabilities available through the role hierarchy.
284
- * Essential for understanding the full scope of access granted to users assigned to this role.
285
- *
286
- * @param {string} roleName - Role to analyze
287
- *
288
- * @returns {Promise<ListEffectiveRolePermissionsResponse>} Complete list including inherited permissions
289
- *
290
- * @example
291
- * // Compare direct vs effective permissions
292
- * const direct = await scalekitClient.permission.listRolePermissions('senior_editor');
293
- * const effective = await scalekitClient.permission.listEffectiveRolePermissions('senior_editor');
294
- *
295
- * console.log('Direct permissions:', direct.permissions.length);
296
- * console.log('Total effective permissions:', effective.permissions.length);
297
- * console.log('Inherited:', effective.permissions.length - direct.permissions.length);
298
- *
299
- * @see {@link https://docs.scalekit.com/apis/#tag/permissions | List Effective Role Permissions API}
300
- * @see {@link listRolePermissions} - Get only direct permissions
301
- */
302
- async listEffectiveRolePermissions(
303
- roleName: string
304
- ): Promise<ListEffectiveRolePermissionsResponse> {
305
- return this.coreClient.connectExec(
306
- this.client.listEffectiveRolePermissions,
307
- { roleName }
308
- );
309
- }
310
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Stub for buf/validate/validate.proto dependency.
3
- * The generated code references this for file descriptor linking; we export a minimal
4
- * placeholder so the SDK builds without the full buf validate proto source.
5
- */
6
- import type { GenFile } from "@bufbuild/protobuf/codegenv2";
7
-
8
- const NAME = "buf/validate/validate.proto";
9
- const EMPTY_ARR: never[] = [];
10
- export const file_buf_validate_validate: GenFile = {
11
- get name() { return NAME; },
12
- get syntax() { return "proto3"; },
13
- get dependency() { return []; },
14
- get enumType() { return EMPTY_ARR; },
15
- get messageType() { return EMPTY_ARR; },
16
- get service() { return EMPTY_ARR; },
17
- get extension() { return EMPTY_ARR; },
18
- get proto() {
19
- return {
20
- name: NAME,
21
- syntax: "proto3",
22
- enumType: EMPTY_ARR,
23
- messageType: EMPTY_ARR,
24
- service: EMPTY_ARR,
25
- extension: EMPTY_ARR,
26
- };
27
- },
28
- } as unknown as GenFile;
@@ -1,28 +0,0 @@
1
- /**
2
- * Stub for google/api/annotations.proto dependency.
3
- * The generated code references this for file descriptor linking; we export a minimal
4
- * placeholder so the SDK builds without the full google API proto source.
5
- */
6
- import type { GenFile } from "@bufbuild/protobuf/codegenv2";
7
-
8
- const NAME = "google/api/annotations.proto";
9
- const EMPTY_ARR: never[] = [];
10
- export const file_google_api_annotations: GenFile = {
11
- get name() { return NAME; },
12
- get syntax() { return "proto3"; },
13
- get dependency() { return []; },
14
- get enumType() { return EMPTY_ARR; },
15
- get messageType() { return EMPTY_ARR; },
16
- get service() { return EMPTY_ARR; },
17
- get extension() { return EMPTY_ARR; },
18
- get proto() {
19
- return {
20
- name: NAME,
21
- syntax: "proto3",
22
- enumType: EMPTY_ARR,
23
- messageType: EMPTY_ARR,
24
- service: EMPTY_ARR,
25
- extension: EMPTY_ARR,
26
- };
27
- },
28
- } as unknown as GenFile;
@@ -1,28 +0,0 @@
1
- /**
2
- * Stub for google/api/field_behavior.proto dependency.
3
- * The generated code references this for file descriptor linking; we export a minimal
4
- * placeholder so the SDK builds without the full google API proto source.
5
- */
6
- import type { GenFile } from "@bufbuild/protobuf/codegenv2";
7
-
8
- const NAME = "google/api/field_behavior.proto";
9
- const EMPTY_ARR: never[] = [];
10
- export const file_google_api_field_behavior: GenFile = {
11
- get name() { return NAME; },
12
- get syntax() { return "proto3"; },
13
- get dependency() { return []; },
14
- get enumType() { return EMPTY_ARR; },
15
- get messageType() { return EMPTY_ARR; },
16
- get service() { return EMPTY_ARR; },
17
- get extension() { return EMPTY_ARR; },
18
- get proto() {
19
- return {
20
- name: NAME,
21
- syntax: "proto3",
22
- enumType: EMPTY_ARR,
23
- messageType: EMPTY_ARR,
24
- service: EMPTY_ARR,
25
- extension: EMPTY_ARR,
26
- };
27
- },
28
- } as unknown as GenFile;
@@ -1,28 +0,0 @@
1
- /**
2
- * Stub for google/api/visibility.proto dependency.
3
- * The generated code references this for file descriptor linking; we export a minimal
4
- * placeholder so the SDK builds without the full google API proto source.
5
- */
6
- import type { GenFile } from "@bufbuild/protobuf/codegenv2";
7
-
8
- const NAME = "google/api/visibility.proto";
9
- const EMPTY_ARR: never[] = [];
10
- export const file_google_api_visibility: GenFile = {
11
- get name() { return NAME; },
12
- get syntax() { return "proto3"; },
13
- get dependency() { return []; },
14
- get enumType() { return EMPTY_ARR; },
15
- get messageType() { return EMPTY_ARR; },
16
- get service() { return EMPTY_ARR; },
17
- get extension() { return EMPTY_ARR; },
18
- get proto() {
19
- return {
20
- name: NAME,
21
- syntax: "proto3",
22
- enumType: EMPTY_ARR,
23
- messageType: EMPTY_ARR,
24
- service: EMPTY_ARR,
25
- extension: EMPTY_ARR,
26
- };
27
- },
28
- } as unknown as GenFile;
@@ -1,28 +0,0 @@
1
- /**
2
- * Stub for protoc-gen-openapiv2/options/annotations.proto dependency.
3
- * The generated code references this for file descriptor linking; we export a minimal
4
- * placeholder so the SDK builds without the full openapiv2 options proto source.
5
- */
6
- import type { GenFile } from "@bufbuild/protobuf/codegenv2";
7
-
8
- const NAME = "protoc-gen-openapiv2/options/annotations.proto";
9
- const EMPTY_ARR: never[] = [];
10
- export const file_protoc_gen_openapiv2_options_annotations: GenFile = {
11
- get name() { return NAME; },
12
- get syntax() { return "proto3"; },
13
- get dependency() { return []; },
14
- get enumType() { return EMPTY_ARR; },
15
- get messageType() { return EMPTY_ARR; },
16
- get service() { return EMPTY_ARR; },
17
- get extension() { return EMPTY_ARR; },
18
- get proto() {
19
- return {
20
- name: NAME,
21
- syntax: "proto3",
22
- enumType: EMPTY_ARR,
23
- messageType: EMPTY_ARR,
24
- service: EMPTY_ARR,
25
- extension: EMPTY_ARR,
26
- };
27
- },
28
- } as unknown as GenFile;