@fusebase/fusebase-gate-sdk 1.0.2-sdk.3 → 2.0.7

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 (79) hide show
  1. package/README.md +8 -10
  2. package/dist/apis/OrgUsersApi.d.ts +12 -1
  3. package/dist/apis/OrgUsersApi.js +15 -0
  4. package/dist/apis/SystemApi.d.ts +20 -0
  5. package/dist/apis/SystemApi.js +29 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +3 -1
  8. package/dist/types/index.d.ts +2 -20
  9. package/dist/types/index.js +1 -6
  10. package/dist/types/org-user/org-user.d.ts +33 -8
  11. package/dist/types/org-user/org-user.js +0 -4
  12. package/dist/types/shared/common.d.ts +0 -69
  13. package/dist/types/shared/common.js +0 -6
  14. package/dist/types/shared/enums.d.ts +1 -22
  15. package/dist/types/shared/enums.js +1 -7
  16. package/dist/types/shared/health.d.ts +0 -6
  17. package/dist/types/shared/health.js +0 -6
  18. package/dist/types/shared/parameters.d.ts +0 -54
  19. package/dist/types/system/system.d.ts +26 -0
  20. package/dist/types/system/system.js +7 -0
  21. package/dist/types/token/token.d.ts +0 -127
  22. package/dist/types/token/token.js +0 -6
  23. package/package.json +2 -2
  24. package/dist/apis/CustomDashboardRowsApi.d.ts +0 -113
  25. package/dist/apis/CustomDashboardRowsApi.js +0 -122
  26. package/dist/apis/DashboardDataApi.d.ts +0 -98
  27. package/dist/apis/DashboardDataApi.js +0 -91
  28. package/dist/apis/DashboardRelationsApi.d.ts +0 -92
  29. package/dist/apis/DashboardRelationsApi.js +0 -117
  30. package/dist/apis/DashboardsApi.d.ts +0 -405
  31. package/dist/apis/DashboardsApi.js +0 -507
  32. package/dist/apis/DatabasesApi.d.ts +0 -134
  33. package/dist/apis/DatabasesApi.js +0 -162
  34. package/dist/apis/ResolveApi.d.ts +0 -20
  35. package/dist/apis/ResolveApi.js +0 -29
  36. package/dist/apis/TemplatesApi.d.ts +0 -100
  37. package/dist/apis/TemplatesApi.js +0 -124
  38. package/dist/extras/messaging.d.ts +0 -81
  39. package/dist/extras/messaging.js +0 -16
  40. package/dist/types/common/portal-form.d.ts +0 -14
  41. package/dist/types/common/portal-form.js +0 -8
  42. package/dist/types/dashboard/custom-item.d.ts +0 -53
  43. package/dist/types/dashboard/custom-item.js +0 -22
  44. package/dist/types/dashboard/dashboard.d.ts +0 -421
  45. package/dist/types/dashboard/dashboard.js +0 -8
  46. package/dist/types/dashboard/dashboards.d.ts +0 -19
  47. package/dist/types/dashboard/dashboards.js +0 -8
  48. package/dist/types/dashboard/data.d.ts +0 -10
  49. package/dist/types/dashboard/data.js +0 -8
  50. package/dist/types/dashboard/export.d.ts +0 -11
  51. package/dist/types/dashboard/export.js +0 -8
  52. package/dist/types/dashboard/index.d.ts +0 -215
  53. package/dist/types/dashboard/index.js +0 -34
  54. package/dist/types/dashboard/intent.d.ts +0 -243
  55. package/dist/types/dashboard/intent.js +0 -8
  56. package/dist/types/dashboard/items.d.ts +0 -14
  57. package/dist/types/dashboard/items.js +0 -8
  58. package/dist/types/dashboard/metadata.d.ts +0 -12
  59. package/dist/types/dashboard/metadata.js +0 -8
  60. package/dist/types/dashboard/render.d.ts +0 -188
  61. package/dist/types/dashboard/render.js +0 -51
  62. package/dist/types/dashboard/rows.d.ts +0 -77
  63. package/dist/types/dashboard/rows.js +0 -14
  64. package/dist/types/dashboard/schema.d.ts +0 -172
  65. package/dist/types/dashboard/schema.js +0 -17
  66. package/dist/types/dashboard/values.d.ts +0 -187
  67. package/dist/types/dashboard/values.js +0 -8
  68. package/dist/types/dashboard/view.d.ts +0 -249
  69. package/dist/types/dashboard/view.js +0 -8
  70. package/dist/types/database/database.d.ts +0 -203
  71. package/dist/types/database/database.js +0 -8
  72. package/dist/types/database/export.d.ts +0 -11
  73. package/dist/types/database/export.js +0 -8
  74. package/dist/types/relations/relations.d.ts +0 -138
  75. package/dist/types/relations/relations.js +0 -14
  76. package/dist/types/resolve/resolve.d.ts +0 -86
  77. package/dist/types/resolve/resolve.js +0 -20
  78. package/dist/types/template/template.d.ts +0 -74
  79. package/dist/types/template/template.js +0 -8
package/README.md CHANGED
@@ -1,17 +1,17 @@
1
- # Dashboard Service SDK
1
+ # Fusebase Gate SDK
2
2
 
3
- TypeScript SDK for Dashboard Service API - Generated from contract introspection.
3
+ TypeScript SDK for Fusebase Gate APIs - Generated from contract introspection.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install @fusebase/fusebase-gate-sdk
8
+ npm install @internal/fusebase-gate-sdk
9
9
  ```
10
10
 
11
11
  ## Usage
12
12
 
13
13
  ```typescript
14
- import { createClient, TokensApi, HealthApi } from "@fusebase/fusebase-gate-sdk";
14
+ import { createClient, TokensApi, HealthApi } from "@internal/fusebase-gate-sdk";
15
15
 
16
16
  // Create client
17
17
  const client = createClient({
@@ -24,7 +24,7 @@ const client = createClient({
24
24
 
25
25
  // Use API classes
26
26
  const tokensApi = new TokensApi(client);
27
- const dashboardsApi = new DashboardsApi(client);
27
+ const healthApi = new HealthApi(client);
28
28
 
29
29
  // Call methods
30
30
  const token = await tokensApi.createToken({
@@ -38,15 +38,13 @@ const token = await tokensApi.createToken({
38
38
  ## API Classes
39
39
 
40
40
  - `TokensApi` - Token management
41
- - `DashboardsApi` - Dashboard operations
42
- - `DatabasesApi` - Database operations
43
- - `TemplatesApi` - Template operations
44
- - And more...
41
+ - `HealthApi` - Health and liveness checks
42
+ - Other API classes are generated from registered contracts
45
43
 
46
44
  ## Types
47
45
 
48
46
  All TypeScript types are exported from the package:
49
47
 
50
48
  ```typescript
51
- import type { CreateTokenRequestContract, TokenResponseContract } from "@fusebase/fusebase-gate-sdk";
49
+ import type { CreateTokenRequestContract, TokenResponseContract } from "@internal/fusebase-gate-sdk";
52
50
  ```
@@ -5,10 +5,21 @@
5
5
  * Domain: org-users
6
6
  */
7
7
  import type { Client } from "../runtime/transport";
8
- import type { orgIdInPathRequired, OrgUserListResponseContract } from "../types";
8
+ import type { orgIdInPathRequired, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserListResponseContract } from "../types";
9
9
  export declare class OrgUsersApi {
10
10
  private client;
11
11
  constructor(client: Client);
12
+ /**
13
+ * Add user to organization
14
+ * Invites a user (by email) into the organization, creating an org-service invite (or a member for auto-confirm cases). Requires org.members.write and org access.
15
+ */
16
+ addOrgUser(params: {
17
+ path: {
18
+ orgId: orgIdInPathRequired;
19
+ };
20
+ headers?: Record<string, string>;
21
+ body: OrgUserAddRequestContract;
22
+ }): Promise<OrgUserAddResponseContract>;
12
23
  /**
13
24
  * List organization users
14
25
  * Returns the list of users (members) of the organization. Requires org.members.read and org access.
@@ -11,6 +11,21 @@ class OrgUsersApi {
11
11
  constructor(client) {
12
12
  this.client = client;
13
13
  }
14
+ /**
15
+ * Add user to organization
16
+ * Invites a user (by email) into the organization, creating an org-service invite (or a member for auto-confirm cases). Requires org.members.write and org access.
17
+ */
18
+ async addOrgUser(params) {
19
+ return this.client.request({
20
+ method: "POST",
21
+ path: "/:orgId/users",
22
+ pathParams: params.path,
23
+ headers: params.headers,
24
+ body: params.body,
25
+ opId: "addOrgUser",
26
+ expectedContentType: "application/json",
27
+ });
28
+ }
14
29
  /**
15
30
  * List organization users
16
31
  * Returns the list of users (members) of the organization. Requires org.members.read and org access.
@@ -0,0 +1,20 @@
1
+ /**
2
+ * System API
3
+ *
4
+ * Generated from contract introspection
5
+ * Domain: system
6
+ */
7
+ import type { Client } from "../runtime/transport";
8
+ import type { ResolveOperationPermissionsRequestContract, ResolveOperationPermissionsResponseContract } from "../types";
9
+ export declare class SystemApi {
10
+ private client;
11
+ constructor(client: Client);
12
+ /**
13
+ * Resolve required permissions for operations
14
+ * Return the unique required permissions for a list of operation identifiers. Supports exact operation ids and sanitized MCP tool names. Public operations contribute no permission.
15
+ */
16
+ resolveOperationPermissions(params: {
17
+ headers?: Record<string, string>;
18
+ body: ResolveOperationPermissionsRequestContract;
19
+ }): Promise<ResolveOperationPermissionsResponseContract>;
20
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * System API
4
+ *
5
+ * Generated from contract introspection
6
+ * Domain: system
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SystemApi = void 0;
10
+ class SystemApi {
11
+ constructor(client) {
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Resolve required permissions for operations
16
+ * Return the unique required permissions for a list of operation identifiers. Supports exact operation ids and sanitized MCP tool names. Public operations contribute no permission.
17
+ */
18
+ async resolveOperationPermissions(params) {
19
+ return this.client.request({
20
+ method: "POST",
21
+ path: "/system/operations/permissions",
22
+ headers: params.headers,
23
+ body: params.body,
24
+ opId: "resolveOperationPermissions",
25
+ expectedContentType: "application/json",
26
+ });
27
+ }
28
+ }
29
+ exports.SystemApi = SystemApi;
package/dist/index.d.ts CHANGED
@@ -7,5 +7,6 @@ export * from "./runtime";
7
7
  export * from "./types";
8
8
  export { HealthApi } from "./apis/HealthApi";
9
9
  export { OrgUsersApi } from "./apis/OrgUsersApi";
10
+ export { SystemApi } from "./apis/SystemApi";
10
11
  export { TokensApi } from "./apis/TokensApi";
11
12
  export * from "./extras/fetchWithRetry";
package/dist/index.js CHANGED
@@ -19,13 +19,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.TokensApi = exports.OrgUsersApi = exports.HealthApi = void 0;
22
+ exports.TokensApi = exports.SystemApi = exports.OrgUsersApi = exports.HealthApi = void 0;
23
23
  __exportStar(require("./runtime"), exports);
24
24
  __exportStar(require("./types"), exports);
25
25
  var HealthApi_1 = require("./apis/HealthApi");
26
26
  Object.defineProperty(exports, "HealthApi", { enumerable: true, get: function () { return HealthApi_1.HealthApi; } });
27
27
  var OrgUsersApi_1 = require("./apis/OrgUsersApi");
28
28
  Object.defineProperty(exports, "OrgUsersApi", { enumerable: true, get: function () { return OrgUsersApi_1.OrgUsersApi; } });
29
+ var SystemApi_1 = require("./apis/SystemApi");
30
+ Object.defineProperty(exports, "SystemApi", { enumerable: true, get: function () { return SystemApi_1.SystemApi; } });
29
31
  var TokensApi_1 = require("./apis/TokensApi");
30
32
  Object.defineProperty(exports, "TokensApi", { enumerable: true, get: function () { return TokensApi_1.TokensApi; } });
31
33
  __exportStar(require("./extras/fetchWithRetry"), exports);
@@ -4,28 +4,10 @@
4
4
  * Re-exports all Contract types used by the SDK
5
5
  * Generated by SDK codegen
6
6
  */
7
- export type { PortalFormInfoContract, PortalFormInfoListResponseContract } from "./common/portal-form";
8
- export * from "./dashboard/custom-item";
9
- export type { CopyDashboardFromDashboardRequestContract, CreateDashboardFromFormRequestContract, CreateDashboardFromTemplateRequestContract, CreateDashboardRequestContract, DashboardContract, DashboardDataQueryContract, DashboardDataResponseContract, DashboardDescribeContract, DashboardDescribeResponseContract, DashboardExpandedContract, DashboardExpandedScopesContract, DashboardExpandedViewsContract, DashboardItemContract, DashboardListResponseContract, DashboardPropertiesContract, DashboardRefContract, DashboardResponseContract, GetChildTableLinkDashboardRequestContract, GetChildTableLinkDashboardResponseContract, GetOrCreateDashboardRequestContract, GetOrCreateDashboardResponseContract, ImportDashboardCsvColumnContract, ImportDashboardCsvRequestDataPartContract, ImportDashboardRequestContract, UpdateDashboardRequestContract } from "./dashboard/dashboard";
10
- export type { DeleteDashboardSchemaItem200ResponseContract } from "./dashboard/dashboards";
11
- export type { ReindexDashboardData200ResponseContract } from "./dashboard/data";
12
- export type { ExportDashboardAsJson200ResponseContract } from "./dashboard/export";
13
- export type { CreateDashboardIntentRequestContract, CreateDashboardIntentRequestNarrowContract, CreateViewIntentRequestContract, DashboardItemIntentContract, DashboardItemIntentNarrowContract, UpdateSchemaIntentRequestContract, UpdateViewIntentRequestContract } from "./dashboard/intent";
14
- export type { DashboardAllowedSchemaItemsResponseContract } from "./dashboard/items";
15
- export type { DashboardMetadataContract } from "./dashboard/metadata";
16
- export * from "./dashboard/render";
17
- export * from "./dashboard/rows";
18
- export * from "./dashboard/schema";
19
- export type { BatchDashboardValueResponseContract, BatchUpdateDashboardDataRequestContract, BatchUpdateRowDataRequestContract, DashboardValueBaseContract, DashboardValueBooleanContract, DashboardValueDateContract, DashboardValueJsonContract, DashboardValueLookupContract, DashboardValueLookupItemErrorCodeContract, DashboardValueNumberContract, DashboardValueResponseContract, DashboardValueStringContract, LookupRelationValueContract, UpdateDashboardDataRequestContract } from "./dashboard/values";
20
- export type { AssignRepresentationToViewRequestContract, CreateDashboardViewRepresentationTemplateRequestContract, CreateDashboardViewRepresentationTemplateResponseContract, CreateDashboardViewRequestContract, DashboardViewContract, DashboardViewExpandedContract, DashboardViewItemContract, DashboardViewListResponseContract, DashboardViewPropertiesContract, DashboardViewRefContract, DashboardViewRepresentationSummaryContract, DashboardViewRepresentationTemplateContract, DashboardViewRepresentationTemplateListResponseContract, DashboardViewResponseContract, UpdateDashboardViewFiltersRequestContract, UpdateDashboardViewRequestContract } from "./dashboard/view";
21
- export type { CopyDatabaseFromDatabaseRequestContract, CreateDatabaseRequestContract, DatabaseContract, DatabaseExpandedContract, DatabaseListResponseContract, DatabaseMetadataContract, DatabasePropertiesContract, DatabaseRefContract, DatabaseResponseContract, GetOrCreateDatabaseRequestContract, GetOrCreateDatabaseResponseContract, ImportDatabaseRequestContract, UpdateDatabaseRequestContract } from "./database/database";
22
- export type { ExportDatabaseAsJson200ResponseContract } from "./database/export";
23
- export type { OrgUserContract, OrgUserListResponseContract } from "./org-user/org-user";
24
- export * from "./relations/relations";
25
- export * from "./resolve/resolve";
7
+ export type { OrgInviteContract, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserContract, OrgUserListResponseContract } from "./org-user/org-user";
26
8
  export * from "./shared/common";
27
9
  export * from "./shared/enums";
28
10
  export type { GetHealth200ResponseContract } from "./shared/health";
29
11
  export type { aliasInQueryOptional, aliasInQueryRequired, cacheStrategyInQueryOptional, copyDataInQueryRequired, copyRelationsInQueryRequired, copyTablesInQueryRequired, copyViewsInQueryRequired, createDefaultRowsInQuery, dashboardIdInPathRequired, databaseIdInQueryRequired, includeRows, limitInQueryOptional, mappingInQueryRequiredContract, nameInQueryOptional, orgIdInPathRequired, pageInQueryOptional, relationId, rootEntitiesInQueryOptional, rootEntityInQueryOptional, scopeIdInQueryRequired, scopeTypeInQueryRequired, scopeTypeOrgInQueryRequired, sectionKeyInQueryOptional, sectionKeyInQueryRequired, sectionTypeInQueryOptional, sectionTypeInQueryRequired, sourceDashboardIdInQueryRequired, sourceIndexInQueryRequired, targetDashboardIdInQueryRequired, templateIdInPathRequired, viewIdInPathRequired, viewIdInQueryOptional, viewIdInQueryRequired } from "./shared/parameters";
30
- export type { CreateTemplateRequestContract, TemplateContract, TemplateListResponseContract, TemplateResponseContract, UpdateTemplateRequestContract } from "./template/template";
12
+ export * from "./system/system";
31
13
  export type { CreateTokenRequestContract, CreateTokenResponseContract, ResourceScopeContract, ResourceScopeRuleContract, RevokeTokenResponseContract, TokenContract, TokenListResponseContract, TokenResponseContract, UpdateTokenRequestContract } from "./token/token";
@@ -20,11 +20,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- __exportStar(require("./dashboard/custom-item"), exports);
24
- __exportStar(require("./dashboard/render"), exports);
25
- __exportStar(require("./dashboard/rows"), exports);
26
- __exportStar(require("./dashboard/schema"), exports);
27
- __exportStar(require("./relations/relations"), exports);
28
- __exportStar(require("./resolve/resolve"), exports);
29
23
  __exportStar(require("./shared/common"), exports);
30
24
  __exportStar(require("./shared/enums"), exports);
25
+ __exportStar(require("./system/system"), exports);
@@ -1,19 +1,44 @@
1
- /**
2
- * Org-user contract schemas for list-org-users response.
3
- * Maps from org-service member + user to a single user-with-role item.
4
- */
5
- /** Single org user in list (from org-service member + user). */
6
1
  export interface OrgUserContract {
7
- /** User id (from user-api). */
8
2
  id: number;
9
3
  firstname?: string | null;
10
4
  lastname?: string | null;
11
5
  email?: string | null;
12
6
  username?: string | null;
13
- /** Org role (owner, manager, member, etc.). */
14
7
  role: string;
15
8
  }
16
- /** Response for GET /:orgId/users */
17
9
  export interface OrgUserListResponseContract {
18
10
  users: OrgUserContract[];
19
11
  }
12
+ export interface OrgUserAddRequestContract {
13
+ /**
14
+ * Email to invite/create access for.
15
+ * org-service `POST /orgs/:org/members` uses an invite flow and expects `email`
16
+ * (or `username`) together with `role`.
17
+ */
18
+ email: string;
19
+ /**
20
+ * Root role in org-service (e.g. owner/manager/member/guest/client).
21
+ * If omitted, gate defaults to `member`.
22
+ */
23
+ role?: string | null;
24
+ fullName?: string;
25
+ memberTTL?: number | null;
26
+ portalUrl?: string;
27
+ autoConfirmClientInvite?: boolean;
28
+ }
29
+ export interface OrgInviteContract {
30
+ id: number;
31
+ orgId?: string;
32
+ role: string;
33
+ email: string;
34
+ used: boolean;
35
+ url?: string;
36
+ }
37
+ export interface OrgUserAddResponseContract {
38
+ /**
39
+ * org-service returns either an invite (most roles) or a member (autoConfirmClientInvite for `client`).
40
+ */
41
+ result: "invite" | "member";
42
+ invite?: OrgInviteContract;
43
+ member?: OrgUserContract;
44
+ }
@@ -1,6 +1,2 @@
1
1
  "use strict";
2
- /**
3
- * Org-user contract schemas for list-org-users response.
4
- * Maps from org-service member + user to a single user-with-role item.
5
- */
6
2
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,23 +1,8 @@
1
- /**
2
- * Common Schemas
3
- *
4
- * Generated from OpenAPI specification
5
- * Source: schemas/shared/common.yaml
6
- */
7
1
  import type { ScopeTypeContract, ScopeTypeOrgContract } from "./enums";
8
- /**
9
- * Human-readable alias (5-64 chars, lowercase letters, numbers, dots, underscores, and hyphens). Unique within org scope for databases/dashboards, unique within dashboard for views.
10
- *
11
- * @minLength 5
12
- * @maxLength 64
13
- * @pattern ^[a-z0-9._-]+$
14
- * @nullable true
15
- */
16
2
  export type AliasContract = (string & {
17
3
  __pattern: "^[a-z0-9._-]+$";
18
4
  }) | null;
19
5
  export type ApiErrorCodeContract = "INTERNAL_ERROR" | "COLUMN_VALUE_NOT_UNIQUE" | "DATA_LOSS_CHILD_TABLE_LINK";
20
- /** Filter config (Gate: no dashboard view filters) */
21
6
  export interface FilterConfigContract {
22
7
  required?: Record<string, unknown>;
23
8
  optional?: Record<string, unknown>;
@@ -27,47 +12,17 @@ export interface GetHealthResponseContract extends StandardApiResponseContract {
27
12
  status: string;
28
13
  };
29
14
  }
30
- /**
31
- * Optional predefined mapping of old global IDs to new global IDs for copying entities
32
- */
33
15
  export interface GlobalIdsToReplaceMapContract {
34
- /**
35
- * Mapping of old database IDs to new database IDs
36
- */
37
16
  database?: Record<string, string>;
38
- /**
39
- * Mapping of old dashboard IDs to new dashboard IDs
40
- */
41
17
  dashboard?: Record<string, string>;
42
- /**
43
- * Mapping of old view IDs to new view IDs
44
- */
45
18
  view?: Record<string, string>;
46
- /**
47
- * Mapping of old representation IDs to new representation IDs
48
- */
49
19
  representation?: Record<string, string>;
50
- /**
51
- * Mapping of old row UUIDs to new row UUIDs
52
- */
53
20
  row?: Record<string, string>;
54
- /**
55
- * Mapping of old section UUIDs to new section UUIDs
56
- */
57
21
  section?: Record<string, string>;
58
- /**
59
- * Mapping of old relation IDs to new relation IDs
60
- */
61
22
  relation?: Record<string, string>;
62
- /**
63
- * Mapping of old value IDs to new value IDs
64
- */
65
23
  value?: Record<string, string>;
66
24
  }
67
25
  export interface PaginatedResponseContract {
68
- /**
69
- * Array of items
70
- */
71
26
  data: unknown[];
72
27
  meta: {
73
28
  total: number;
@@ -77,41 +32,17 @@ export interface PaginatedResponseContract {
77
32
  };
78
33
  }
79
34
  export interface ScopeContract {
80
- /**
81
- * Type of scope (e.g., workspace, portal)
82
- */
83
35
  scope_type: ScopeTypeContract;
84
- /**
85
- * ID of the scoped entity
86
- */
87
36
  scope_id: string;
88
37
  }
89
38
  export interface ScopeOrgContract {
90
- /**
91
- * Type of org scope (org)
92
- */
93
39
  scope_type: ScopeTypeOrgContract;
94
- /**
95
- * ID of the org scope
96
- */
97
40
  scope_id: string;
98
41
  }
99
- /**
100
- * Standard API response format
101
- */
102
42
  export interface StandardApiResponseContract {
103
- /**
104
- * Whether the operation was successful
105
- */
106
43
  success: boolean;
107
- /**
108
- * Response message
109
- */
110
44
  message: string;
111
45
  error_code?: ApiErrorCodeContract;
112
- /**
113
- * Response data (optional)
114
- */
115
46
  data?: object;
116
47
  }
117
48
  export declare const ApiErrorCodeContract: {
@@ -1,10 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * Common Schemas
4
- *
5
- * Generated from OpenAPI specification
6
- * Source: schemas/shared/common.yaml
7
- */
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.ApiErrorCodeContract = void 0;
10
4
  exports.asAlias = asAlias;
@@ -1,28 +1,7 @@
1
- /**
2
- * Enums Schemas
3
- *
4
- * Generated from OpenAPI specification
5
- * Source: schemas/shared/enums.yaml
6
- */
7
- /**
8
- * Organization role that determines default permissions
9
- *
10
- * @enum "owner", "manager", "member", "client", "guest", "visitor"
11
- */
12
1
  export type OrgRoleContract = "owner" | "manager" | "member" | "client" | "guest" | "visitor";
13
- /**
14
- * Permission contract: domain.action format (e.g. token.read, automation.write).
15
- *
16
- * @pattern ^[a-z][a-z0-9_]*(\.[a-z0-9_]+)*\.(read|write|delete)$
17
- */
18
2
  export type PermissionContract = string & {
19
- __pattern: "^[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*\\.(read|write|delete)$";
3
+ __pattern: "^[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*\\.(read|write|delete|execute)$";
20
4
  };
21
- /**
22
- * The type of entity that the dashboard is based on
23
- *
24
- * @enum "custom", "portal", "workspace", "org", "user", "client", "form", "form-response", "tracker", "tracker-result", "meeting"
25
- */
26
5
  export type RootEntityContract = "custom" | "portal" | "workspace" | "org" | "user" | "client" | "form" | "form-response" | "tracker" | "tracker-result" | "meeting";
27
6
  export type ScopeTypeContract = "org" | "workspace" | "portal" | "user" | "client" | "block" | "tracker" | "parent_row" | "parent_table";
28
7
  export type ScopeTypeOrgContract = "org";
@@ -1,10 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * Enums Schemas
4
- *
5
- * Generated from OpenAPI specification
6
- * Source: schemas/shared/enums.yaml
7
- */
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
3
  exports.ScopeTypeOrgContract = exports.ScopeTypeContract = exports.RootEntityContract = exports.OrgRoleContract = void 0;
10
4
  exports.asPermission = asPermission;
@@ -43,7 +37,7 @@ exports.ScopeTypeContract = {
43
37
  exports.ScopeTypeOrgContract = {
44
38
  Org: "org"
45
39
  };
46
- const PERMISSION_RE = /^[a-z][a-z0-9_]*(\\.[a-z0-9_]+)*\\.(read|write|delete)$/;
40
+ const PERMISSION_RE = /^[a-z][a-z0-9_]*(\.[a-z0-9_]+)*\.(read|write|delete|execute)$/;
47
41
  function asPermission(value) {
48
42
  if (!PERMISSION_RE.test(value)) {
49
43
  throw new Error(`Invalid permission: ${value}`);
@@ -1,9 +1,3 @@
1
- /**
2
- * Health Schemas
3
- *
4
- * Generated from OpenAPI specification
5
- * Source: schemas/shared/health.yaml
6
- */
7
1
  import type { StandardApiResponseContract } from "./common";
8
2
  export interface GetHealth200ResponseContract extends StandardApiResponseContract {
9
3
  data?: {
@@ -1,8 +1,2 @@
1
1
  "use strict";
2
- /**
3
- * Health Schemas
4
- *
5
- * Generated from OpenAPI specification
6
- * Source: schemas/shared/health.yaml
7
- */
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,53 +1,26 @@
1
1
  import type { AliasContract } from "./common";
2
2
  import type { RootEntityContract, ScopeTypeContract, ScopeTypeOrgContract } from "./enums";
3
- /**
4
- * Parameter Schemas
5
- *
6
- * Generated from OpenAPI parameter $refs
7
- */
8
3
  export type scopeTypeOrgInQueryRequired = ScopeTypeOrgContract;
9
4
  export type scopeIdInQueryRequired = string;
10
5
  export type copyViewsInQueryRequired = boolean;
11
6
  export type copyDataInQueryRequired = boolean;
12
7
  export type copyRelationsInQueryRequired = boolean;
13
- /**
14
- * @default false
15
- */
16
8
  export type createDefaultRowsInQuery = boolean;
17
9
  export type rootEntitiesInQueryOptional = RootEntityContract[];
18
10
  export type nameInQueryOptional = string;
19
11
  export type aliasInQueryOptional = AliasContract;
20
12
  export type scopeTypeInQueryRequired = ScopeTypeContract;
21
- /**
22
- * @format uuid
23
- */
24
13
  export type dashboardIdInPathRequired = string;
25
- /**
26
- * @format uuid
27
- */
28
14
  export type viewIdInPathRequired = string;
29
- /**
30
- * @default "use"
31
- */
32
15
  export type cacheStrategyInQueryOptional = "use" | "bypass" | "reset";
33
16
  export type sectionTypeInQueryOptional = string;
34
- /**
35
- * @maxLength 32
36
- */
37
17
  export type sectionKeyInQueryOptional = string;
38
18
  export type sourceDashboardIdInQueryRequired = string;
39
19
  export type sourceIndexInQueryRequired = string;
40
20
  export type rootEntityInQueryOptional = RootEntityContract;
41
- /**
42
- * @format uuid
43
- */
44
21
  export type viewIdInQueryOptional = string;
45
22
  export type aliasInQueryRequired = AliasContract;
46
- /**
47
- * @format uuid
48
- */
49
23
  export type databaseIdInQueryRequired = string;
50
- /** Column mapping (Gate: minimal stub) */
51
24
  export interface mappingInQueryRequiredContract {
52
25
  columns?: {
53
26
  index: number;
@@ -55,41 +28,14 @@ export interface mappingInQueryRequiredContract {
55
28
  edit_type: string;
56
29
  }[];
57
30
  }
58
- /**
59
- * @format uuid
60
- */
61
31
  export type viewIdInQueryRequired = string;
62
32
  export type sectionTypeInQueryRequired = string;
63
- /**
64
- * @maxLength 32
65
- */
66
33
  export type sectionKeyInQueryRequired = string;
67
34
  export type copyTablesInQueryRequired = boolean;
68
- /**
69
- * @minimum 1
70
- * @default 1
71
- */
72
35
  export type pageInQueryOptional = number;
73
- /**
74
- * @minimum 1
75
- * @maximum 100
76
- * @default 20
77
- */
78
36
  export type limitInQueryOptional = number;
79
37
  export type targetDashboardIdInQueryRequired = string;
80
- /**
81
- * @format uuid
82
- */
83
38
  export type relationId = string;
84
- /**
85
- * @default true
86
- */
87
39
  export type includeRows = boolean;
88
- /**
89
- * @format uuid
90
- */
91
40
  export type templateIdInPathRequired = string;
92
- /**
93
- * Organization global ID (path param for org-scoped routes, e.g. /:orgId/users).
94
- */
95
41
  export type orgIdInPathRequired = string;
@@ -0,0 +1,26 @@
1
+ import type { PermissionContract } from "../shared/enums";
2
+ export interface ResolveOperationPermissionsRequestContract {
3
+ operations: string[];
4
+ }
5
+ export type OperationPermissionMatchTypeContract = "operation_id" | "mcp_tool_name";
6
+ export interface ResolvedOperationPermissionContract {
7
+ requested: string;
8
+ found: boolean;
9
+ operation_id?: string | null;
10
+ required_permission?: PermissionContract | null;
11
+ match_type?: OperationPermissionMatchTypeContract | null;
12
+ }
13
+ export interface ResolveOperationPermissionsResultContract {
14
+ permissions: PermissionContract[];
15
+ operations: ResolvedOperationPermissionContract[];
16
+ missing: string[];
17
+ }
18
+ export interface ResolveOperationPermissionsResponseContract {
19
+ success: boolean;
20
+ message?: string | null;
21
+ data: ResolveOperationPermissionsResultContract;
22
+ }
23
+ export declare const OperationPermissionMatchTypeContract: {
24
+ readonly OperationId: "operation_id";
25
+ readonly McpToolName: "mcp_tool_name";
26
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperationPermissionMatchTypeContract = void 0;
4
+ exports.OperationPermissionMatchTypeContract = {
5
+ OperationId: "operation_id",
6
+ McpToolName: "mcp_tool_name"
7
+ };