@fusebase/fusebase-gate-sdk 2.10.1-sdk.0 → 2.11.1
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/dist/apis/AppApisApi.d.ts +12 -1
- package/dist/apis/AppApisApi.js +14 -0
- package/dist/apis/OrgUsersApi.d.ts +1 -1
- package/dist/apis/OrgUsersApi.js +1 -1
- package/dist/apis/PaperclipAgentsApi.d.ts +44 -0
- package/dist/apis/PaperclipAgentsApi.js +58 -0
- package/dist/apis/PortalsApi.d.ts +11 -1
- package/dist/apis/PortalsApi.js +14 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -1
- package/dist/types/app-api/app-api.d.ts +32 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/org-user/org-user.d.ts +7 -0
- package/dist/types/paperclip-agents/paperclip-agents.d.ts +50 -0
- package/dist/types/paperclip-agents/paperclip-agents.js +2 -0
- package/dist/types/portals/portals.d.ts +34 -0
- package/package.json +1 -1
- package/release-notes/2.11.0.md +80 -0
- package/release-notes/2.11.1.md +9 -0
- package/release-notes/latest.md +3 -3
- package/release-notes/2.10.1-sdk.0.md +0 -9
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Domain: app-apis
|
|
6
6
|
*/
|
|
7
7
|
import type { Client } from "../runtime/transport";
|
|
8
|
-
import type { AppApiOperationContract, AppApiOperationListResponseContract, CallAppApiRequestContract, CallAppApiResponseContract, orgIdInPathRequired, PublishedAppListResponseContract, VerifyAppApiContractsRequestContract, VerifyAppApiContractsResponseContract } from "../types";
|
|
8
|
+
import type { AppApiOperationContract, AppApiOperationListResponseContract, CallAppApiRequestContract, CallAppApiResponseContract, orgIdInPathRequired, PublishedAppApiManifestContract, PublishedAppListResponseContract, VerifyAppApiContractsRequestContract, VerifyAppApiContractsResponseContract } from "../types";
|
|
9
9
|
export declare class AppApisApi {
|
|
10
10
|
private client;
|
|
11
11
|
constructor(client: Client);
|
|
@@ -48,6 +48,17 @@ export declare class AppApisApi {
|
|
|
48
48
|
};
|
|
49
49
|
headers?: Record<string, string>;
|
|
50
50
|
}): Promise<AppApiOperationContract>;
|
|
51
|
+
/**
|
|
52
|
+
* Get a published app API manifest
|
|
53
|
+
* Returns the selected app's published app-api-registry manifest, including the complete parsed OpenAPI document. The caller must have org.read access and user-bound context.
|
|
54
|
+
*/
|
|
55
|
+
getPublishedAppApiManifest(params: {
|
|
56
|
+
path: {
|
|
57
|
+
orgId: orgIdInPathRequired;
|
|
58
|
+
appId: string;
|
|
59
|
+
};
|
|
60
|
+
headers?: Record<string, string>;
|
|
61
|
+
}): Promise<PublishedAppApiManifestContract>;
|
|
51
62
|
/**
|
|
52
63
|
* List app API operations
|
|
53
64
|
* Returns published app API operations visible inside the organization. Optional filters narrow the result by app, feature, visibility, and limit.
|
package/dist/apis/AppApisApi.js
CHANGED
|
@@ -55,6 +55,20 @@ class AppApisApi {
|
|
|
55
55
|
expectedContentType: "application/json",
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Get a published app API manifest
|
|
60
|
+
* Returns the selected app's published app-api-registry manifest, including the complete parsed OpenAPI document. The caller must have org.read access and user-bound context.
|
|
61
|
+
*/
|
|
62
|
+
async getPublishedAppApiManifest(params) {
|
|
63
|
+
return this.client.request({
|
|
64
|
+
method: "GET",
|
|
65
|
+
path: "/:orgId/apps/:appId/app-api-manifest",
|
|
66
|
+
pathParams: params.path,
|
|
67
|
+
headers: params.headers,
|
|
68
|
+
opId: "getPublishedAppApiManifest",
|
|
69
|
+
expectedContentType: "application/json",
|
|
70
|
+
});
|
|
71
|
+
}
|
|
58
72
|
/**
|
|
59
73
|
* List app API operations
|
|
60
74
|
* Returns published app API operations visible inside the organization. Optional filters narrow the result by app, feature, visibility, and limit.
|
|
@@ -11,7 +11,7 @@ export declare class OrgUsersApi {
|
|
|
11
11
|
constructor(client: Client);
|
|
12
12
|
/**
|
|
13
13
|
* Add user to organization
|
|
14
|
-
* Invites a user into the organization. Without workspaceId it performs an org invite. With workspaceId it performs a workspace-aware invite and can resolve `default` to the organization's default workspace. For org-only instant client onboarding, send orgRole=`client` with autoConfirmClientInvite=`true`. A successful write does not prove that the current session already has org access; confirm access with getMyOrgAccess. Requires org.members.write and org access.
|
|
14
|
+
* Invites a user into the organization. Without workspaceId it performs an org invite. With workspaceId it performs a workspace-aware invite and can resolve `default` to the organization's default workspace. For org-only instant client onboarding, send orgRole=`client` with autoConfirmClientInvite=`true`. For service accounts (bots) that cannot click an invite email, send autoConfirmInvite=`true` to add an existing Fusebase account as a member of the path org right away with the requested orgRole. A successful write does not prove that the current session already has org access; confirm access with getMyOrgAccess. Requires org.members.write and org access.
|
|
15
15
|
*/
|
|
16
16
|
addOrgUser(params: {
|
|
17
17
|
path: {
|
package/dist/apis/OrgUsersApi.js
CHANGED
|
@@ -13,7 +13,7 @@ class OrgUsersApi {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Add user to organization
|
|
16
|
-
* Invites a user into the organization. Without workspaceId it performs an org invite. With workspaceId it performs a workspace-aware invite and can resolve `default` to the organization's default workspace. For org-only instant client onboarding, send orgRole=`client` with autoConfirmClientInvite=`true`. A successful write does not prove that the current session already has org access; confirm access with getMyOrgAccess. Requires org.members.write and org access.
|
|
16
|
+
* Invites a user into the organization. Without workspaceId it performs an org invite. With workspaceId it performs a workspace-aware invite and can resolve `default` to the organization's default workspace. For org-only instant client onboarding, send orgRole=`client` with autoConfirmClientInvite=`true`. For service accounts (bots) that cannot click an invite email, send autoConfirmInvite=`true` to add an existing Fusebase account as a member of the path org right away with the requested orgRole. A successful write does not prove that the current session already has org access; confirm access with getMyOrgAccess. Requires org.members.write and org access.
|
|
17
17
|
*/
|
|
18
18
|
async addOrgUser(params) {
|
|
19
19
|
return this.client.request({
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PaperclipAgents API
|
|
3
|
+
*
|
|
4
|
+
* Generated from contract introspection
|
|
5
|
+
* Domain: paperclip-agents
|
|
6
|
+
*/
|
|
7
|
+
import type { Client } from "../runtime/transport";
|
|
8
|
+
import type { CreatePaperclipAgentTaskRequestContract, orgIdInPathRequired, PaperclipAgentTaskAcceptedContract, PaperclipAgentTaskIdInPathRequired, PaperclipAgentTaskStatusContract, PaperclipCallableAgentListContract } from "../types";
|
|
9
|
+
export declare class PaperclipAgentsApi {
|
|
10
|
+
private client;
|
|
11
|
+
constructor(client: Client);
|
|
12
|
+
/**
|
|
13
|
+
* Create a FuseBase Work agent task
|
|
14
|
+
* Creates an asynchronous issue assigned to an agent in the caller's organization. Supply externalRef for idempotent retries.
|
|
15
|
+
*/
|
|
16
|
+
createPaperclipAgentTask(params: {
|
|
17
|
+
path: {
|
|
18
|
+
orgId: orgIdInPathRequired;
|
|
19
|
+
};
|
|
20
|
+
headers?: Record<string, string>;
|
|
21
|
+
body: CreatePaperclipAgentTaskRequestContract;
|
|
22
|
+
}): Promise<PaperclipAgentTaskAcceptedContract>;
|
|
23
|
+
/**
|
|
24
|
+
* Get a FuseBase Work agent task
|
|
25
|
+
* Returns task state, the associated run, comments, and produced work products.
|
|
26
|
+
*/
|
|
27
|
+
getPaperclipAgentTask(params: {
|
|
28
|
+
path: {
|
|
29
|
+
orgId: orgIdInPathRequired;
|
|
30
|
+
taskId: PaperclipAgentTaskIdInPathRequired;
|
|
31
|
+
};
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
}): Promise<PaperclipAgentTaskStatusContract>;
|
|
34
|
+
/**
|
|
35
|
+
* List callable FuseBase Work agents
|
|
36
|
+
* Lists agents from the caller's organization-scoped FuseBase Work runtime.
|
|
37
|
+
*/
|
|
38
|
+
listPaperclipCallableAgents(params: {
|
|
39
|
+
path: {
|
|
40
|
+
orgId: orgIdInPathRequired;
|
|
41
|
+
};
|
|
42
|
+
headers?: Record<string, string>;
|
|
43
|
+
}): Promise<PaperclipCallableAgentListContract>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PaperclipAgents API
|
|
4
|
+
*
|
|
5
|
+
* Generated from contract introspection
|
|
6
|
+
* Domain: paperclip-agents
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.PaperclipAgentsApi = void 0;
|
|
10
|
+
class PaperclipAgentsApi {
|
|
11
|
+
constructor(client) {
|
|
12
|
+
this.client = client;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Create a FuseBase Work agent task
|
|
16
|
+
* Creates an asynchronous issue assigned to an agent in the caller's organization. Supply externalRef for idempotent retries.
|
|
17
|
+
*/
|
|
18
|
+
async createPaperclipAgentTask(params) {
|
|
19
|
+
return this.client.request({
|
|
20
|
+
method: "POST",
|
|
21
|
+
path: "/:orgId/paperclip-agents/tasks",
|
|
22
|
+
pathParams: params.path,
|
|
23
|
+
headers: params.headers,
|
|
24
|
+
body: params.body,
|
|
25
|
+
opId: "createPaperclipAgentTask",
|
|
26
|
+
expectedContentType: "application/json",
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get a FuseBase Work agent task
|
|
31
|
+
* Returns task state, the associated run, comments, and produced work products.
|
|
32
|
+
*/
|
|
33
|
+
async getPaperclipAgentTask(params) {
|
|
34
|
+
return this.client.request({
|
|
35
|
+
method: "GET",
|
|
36
|
+
path: "/:orgId/paperclip-agents/tasks/:taskId",
|
|
37
|
+
pathParams: params.path,
|
|
38
|
+
headers: params.headers,
|
|
39
|
+
opId: "getPaperclipAgentTask",
|
|
40
|
+
expectedContentType: "application/json",
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* List callable FuseBase Work agents
|
|
45
|
+
* Lists agents from the caller's organization-scoped FuseBase Work runtime.
|
|
46
|
+
*/
|
|
47
|
+
async listPaperclipCallableAgents(params) {
|
|
48
|
+
return this.client.request({
|
|
49
|
+
method: "GET",
|
|
50
|
+
path: "/:orgId/paperclip-agents",
|
|
51
|
+
pathParams: params.path,
|
|
52
|
+
headers: params.headers,
|
|
53
|
+
opId: "listPaperclipCallableAgents",
|
|
54
|
+
expectedContentType: "application/json",
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.PaperclipAgentsApi = PaperclipAgentsApi;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Domain: portals
|
|
6
6
|
*/
|
|
7
7
|
import type { Client } from "../runtime/transport";
|
|
8
|
-
import type { AddPortalAiAgentBlockRequestContract, AddPortalAiAgentBlockResponseContract, AddPortalAppBlockRequestContract, AddPortalAppBlockResponseContract, AddPortalAppPageRequestContract, AddPortalAppPageResponseContract, AddPortalBlankNoteBlockRequestContract, AddPortalBlankNoteBlockResponseContract, AddPortalBpmnDiagramBlockRequestContract, AddPortalBpmnDiagramBlockResponseContract, AddPortalCardBlockRequestContract, AddPortalCardBlockResponseContract, AddPortalCardGroupBlockRequestContract, AddPortalCardGroupBlockResponseContract, AddPortalCarouselBlockRequestContract, AddPortalCarouselBlockResponseContract, AddPortalChatBlockRequestContract, AddPortalChatBlockResponseContract, AddPortalChatsDashboardMenuItemRequestContract, AddPortalChatsDashboardMenuItemResponseContract, AddPortalCountdownBlockRequestContract, AddPortalCountdownBlockResponseContract, AddPortalCustomWidgetBlockRequestContract, AddPortalCustomWidgetBlockResponseContract, AddPortalDatabaseBlockRequestContract, AddPortalDatabaseBlockResponseContract, AddPortalDynamicTableBlockRequestContract, AddPortalDynamicTableBlockResponseContract, AddPortalEmbedBlockRequestContract, AddPortalEmbedBlockResponseContract, AddPortalFilesDashboardMenuItemRequestContract, AddPortalFilesDashboardMenuItemResponseContract, AddPortalFileUploaderBlockRequestContract, AddPortalFileUploaderBlockResponseContract, AddPortalFormBlockRequestContract, AddPortalFormBlockResponseContract, AddPortalHeadingBlockRequestContract, AddPortalHtmlCssBlockRequestContract, AddPortalHtmlCssBlockResponseContract, AddPortalImageBlockRequestContract, AddPortalInfoBlockRequestContract, AddPortalInfoBlockResponseContract, AddPortalInternalSpacePageRequestContract, AddPortalInternalSpacePageResponseContract, AddPortalKanbanBlockRequestContract, AddPortalKanbanBlockResponseContract, AddPortalLinkedBlockRequestContract, AddPortalLinkedBlockResponseContract, AddPortalNoteBlockRequestContract, AddPortalNoteBlockResponseContract, AddPortalRecentFilesBlockRequestContract, AddPortalRecentFilesBlockResponseContract, AddPortalTaskListBlockRequestContract, AddPortalTaskListBlockResponseContract, AddPortalTasksDashboardMenuItemRequestContract, AddPortalTasksDashboardMenuItemResponseContract, AddPortalTextBlockRequestContract, AddPortalTimelineBlockRequestContract, AddPortalTimelineBlockResponseContract, BulkInviteToPortalRequestContract, BulkInviteToPortalResponseContract, CreatePortalFolderRequestContract, CreatePortalFolderResponseContract, CreatePortalLinkRequestContract, CreatePortalLinkResponseContract, CreatePortalPageRequestContract, CreatePortalPageResponseContract, CreatePortalPageWithNoteRequestContract, CreatePortalPageWithNoteResponseContract, CreatePortalRequestContract, CreatePortalResponseContract, DeletePortalItemResponseContract, DuplicatePortalItemRequestContract, DuplicatePortalItemResponseContract, DuplicatePortalRequestContract, GetPortalBlockResponseContract, GetPortalPageBlockCountResponseContract, globalIdInPathRequired, InvitePortalManagerRequestContract, InvitePortalManagerResponseContract, InviteToPortalRequestContract, InviteToPortalResponseContract, ListPortalAiAgentsResponseContract, ListPortalChatChannelsResponseContract, ListPortalChatUsersResponseContract, ListPortalContentResponseContract, ListPortalDatabaseBlockSourcesResponseContract, ListPortalLinkableBlocksResponseContract, ListPortalPageBlocksResponseContract, MovePortalBlockRequestContract, orgIdInPathRequired, OrgPortalListResponseContract, PortalDetailContract, PortalTextAndMediaBlockResponseContract, PublishPortalDraftResponseContract, SearchPortalInfoBlockIconsResponseContract, SetDashboardViewReadonlyRequestContract, SetDashboardViewReadonlyResponseContract, StagedPortalBlockResponseContract, UpdatePortalAccessRequestContract, UpdatePortalAccessResponseContract, UpdatePortalAiAgentBlockRequestContract, UpdatePortalAppBlockRequestContract, UpdatePortalBpmnDiagramBlockRequestContract, UpdatePortalCardBlockRequestContract, UpdatePortalCardGroupBlockRequestContract, UpdatePortalCarouselBlockRequestContract, UpdatePortalChatBlockRequestContract, UpdatePortalContentPermissionsRequestContract, UpdatePortalContentPermissionsResponseContract, UpdatePortalCountdownBlockRequestContract, UpdatePortalCustomCodeRequestContract, UpdatePortalCustomCodeResponseContract, UpdatePortalCustomWidgetBlockRequestContract, UpdatePortalDatabaseBlockRequestContract, UpdatePortalDynamicTableBlockRequestContract, UpdatePortalEmbedBlockRequestContract, UpdatePortalFileUploaderBlockRequestContract, UpdatePortalFormBlockRequestContract, UpdatePortalHomepageRequestContract, UpdatePortalHomepageResponseContract, UpdatePortalHtmlCssBlockRequestContract, UpdatePortalImageBlockRequestContract, UpdatePortalInfoBlockRequestContract, UpdatePortalItemRequestContract, UpdatePortalItemResponseContract, UpdatePortalLinkedBlockRequestContract, UpdatePortalNoteBlockRequestContract, UpdatePortalRecentFilesBlockRequestContract, UpdatePortalStyleRequestContract, UpdatePortalStyleResponseContract, UpdatePortalTextBlockRequestContract, UpdatePortalTimelineBlockRequestContract } from "../types";
|
|
8
|
+
import type { AddPortalAiAgentBlockRequestContract, AddPortalAiAgentBlockResponseContract, AddPortalAppBlockRequestContract, AddPortalAppBlockResponseContract, AddPortalAppPageRequestContract, AddPortalAppPageResponseContract, AddPortalBlankNoteBlockRequestContract, AddPortalBlankNoteBlockResponseContract, AddPortalBpmnDiagramBlockRequestContract, AddPortalBpmnDiagramBlockResponseContract, AddPortalCardBlockRequestContract, AddPortalCardBlockResponseContract, AddPortalCardGroupBlockRequestContract, AddPortalCardGroupBlockResponseContract, AddPortalCarouselBlockRequestContract, AddPortalCarouselBlockResponseContract, AddPortalChatBlockRequestContract, AddPortalChatBlockResponseContract, AddPortalChatsDashboardMenuItemRequestContract, AddPortalChatsDashboardMenuItemResponseContract, AddPortalCountdownBlockRequestContract, AddPortalCountdownBlockResponseContract, AddPortalCustomWidgetBlockRequestContract, AddPortalCustomWidgetBlockResponseContract, AddPortalDatabaseBlockRequestContract, AddPortalDatabaseBlockResponseContract, AddPortalDynamicTableBlockRequestContract, AddPortalDynamicTableBlockResponseContract, AddPortalEmbedBlockRequestContract, AddPortalEmbedBlockResponseContract, AddPortalFilesDashboardMenuItemRequestContract, AddPortalFilesDashboardMenuItemResponseContract, AddPortalFileUploaderBlockRequestContract, AddPortalFileUploaderBlockResponseContract, AddPortalFormBlockRequestContract, AddPortalFormBlockResponseContract, AddPortalHeadingBlockRequestContract, AddPortalHtmlCssBlockRequestContract, AddPortalHtmlCssBlockResponseContract, AddPortalImageBlockRequestContract, AddPortalInfoBlockRequestContract, AddPortalInfoBlockResponseContract, AddPortalInternalSpacePageRequestContract, AddPortalInternalSpacePageResponseContract, AddPortalKanbanBlockRequestContract, AddPortalKanbanBlockResponseContract, AddPortalLinkedBlockRequestContract, AddPortalLinkedBlockResponseContract, AddPortalNoteBlockRequestContract, AddPortalNoteBlockResponseContract, AddPortalRecentFilesBlockRequestContract, AddPortalRecentFilesBlockResponseContract, AddPortalTaskListBlockRequestContract, AddPortalTaskListBlockResponseContract, AddPortalTasksDashboardMenuItemRequestContract, AddPortalTasksDashboardMenuItemResponseContract, AddPortalTextBlockRequestContract, AddPortalTimelineBlockRequestContract, AddPortalTimelineBlockResponseContract, BulkInviteToPortalRequestContract, BulkInviteToPortalResponseContract, CreatePortalFolderRequestContract, CreatePortalFolderResponseContract, CreatePortalLinkRequestContract, CreatePortalLinkResponseContract, CreatePortalPageRequestContract, CreatePortalPageResponseContract, CreatePortalPageWithNoteRequestContract, CreatePortalPageWithNoteResponseContract, CreatePortalRequestContract, CreatePortalResponseContract, DeletePortalItemResponseContract, DuplicatePortalItemRequestContract, DuplicatePortalItemResponseContract, DuplicatePortalRequestContract, GetPortalBlockResponseContract, GetPortalPageBlockCountResponseContract, globalIdInPathRequired, InvitePortalManagerRequestContract, InvitePortalManagerResponseContract, InviteToPortalRequestContract, InviteToPortalResponseContract, ListPortalAiAgentsResponseContract, ListPortalChatChannelsResponseContract, ListPortalChatUsersResponseContract, ListPortalContentResponseContract, ListPortalDatabaseBlockSourcesResponseContract, ListPortalLinkableBlocksResponseContract, ListPortalPageBlocksResponseContract, MovePortalBlockRequestContract, orgIdInPathRequired, OrgPortalListResponseContract, PortalDetailContract, PortalStyleContractResponseContract, PortalTextAndMediaBlockResponseContract, PublishPortalDraftResponseContract, SearchPortalInfoBlockIconsResponseContract, SetDashboardViewReadonlyRequestContract, SetDashboardViewReadonlyResponseContract, StagedPortalBlockResponseContract, UpdatePortalAccessRequestContract, UpdatePortalAccessResponseContract, UpdatePortalAiAgentBlockRequestContract, UpdatePortalAppBlockRequestContract, UpdatePortalBpmnDiagramBlockRequestContract, UpdatePortalCardBlockRequestContract, UpdatePortalCardGroupBlockRequestContract, UpdatePortalCarouselBlockRequestContract, UpdatePortalChatBlockRequestContract, UpdatePortalContentPermissionsRequestContract, UpdatePortalContentPermissionsResponseContract, UpdatePortalCountdownBlockRequestContract, UpdatePortalCustomCodeRequestContract, UpdatePortalCustomCodeResponseContract, UpdatePortalCustomWidgetBlockRequestContract, UpdatePortalDatabaseBlockRequestContract, UpdatePortalDynamicTableBlockRequestContract, UpdatePortalEmbedBlockRequestContract, UpdatePortalFileUploaderBlockRequestContract, UpdatePortalFormBlockRequestContract, UpdatePortalHomepageRequestContract, UpdatePortalHomepageResponseContract, UpdatePortalHtmlCssBlockRequestContract, UpdatePortalImageBlockRequestContract, UpdatePortalInfoBlockRequestContract, UpdatePortalItemRequestContract, UpdatePortalItemResponseContract, UpdatePortalLinkedBlockRequestContract, UpdatePortalNoteBlockRequestContract, UpdatePortalRecentFilesBlockRequestContract, UpdatePortalStyleRequestContract, UpdatePortalStyleResponseContract, UpdatePortalTextBlockRequestContract, UpdatePortalTimelineBlockRequestContract } from "../types";
|
|
9
9
|
export declare class PortalsApi {
|
|
10
10
|
private client;
|
|
11
11
|
constructor(client: Client);
|
|
@@ -567,6 +567,16 @@ export declare class PortalsApi {
|
|
|
567
567
|
};
|
|
568
568
|
headers?: Record<string, string>;
|
|
569
569
|
}): Promise<GetPortalPageBlockCountResponseContract>;
|
|
570
|
+
/**
|
|
571
|
+
* Get the portal styling contract
|
|
572
|
+
* Returns the machine-readable styling contract for portals: the stable `data-portal` structural hooks and class hooks that custom CSS may target, how to write selectors that apply, a verified example override, and the anti-contract. Pull it at runtime instead of hard-coding hooks; `version` is the same value getPortal returns as `style.styleContractVersion`, so a consumer can cache the contract and refetch when it changes. The contract is the same for every portal — orgId only scopes access. Requires portals.read access.
|
|
573
|
+
*/
|
|
574
|
+
getPortalStyleContract(params: {
|
|
575
|
+
path: {
|
|
576
|
+
orgId: orgIdInPathRequired;
|
|
577
|
+
};
|
|
578
|
+
headers?: Record<string, string>;
|
|
579
|
+
}): Promise<PortalStyleContractResponseContract>;
|
|
570
580
|
/**
|
|
571
581
|
* Invite a portal manager (customizer access)
|
|
572
582
|
* Invites a user as a PORTAL MANAGER via a magic link. A manager has access to the portal customizer and can build, edit, and publish the portal (layout, settings, widgets, custom code); they always get full access to all portal pages. This is a dedicated shortcut for inviteToPortal with orgRole='manager' — no access question is needed (managers are always full access). Returns a magic link for direct portal/customizer access without email confirmation. Requires portals.manage access.
|
package/dist/apis/PortalsApi.js
CHANGED
|
@@ -667,6 +667,20 @@ class PortalsApi {
|
|
|
667
667
|
expectedContentType: "application/json",
|
|
668
668
|
});
|
|
669
669
|
}
|
|
670
|
+
/**
|
|
671
|
+
* Get the portal styling contract
|
|
672
|
+
* Returns the machine-readable styling contract for portals: the stable `data-portal` structural hooks and class hooks that custom CSS may target, how to write selectors that apply, a verified example override, and the anti-contract. Pull it at runtime instead of hard-coding hooks; `version` is the same value getPortal returns as `style.styleContractVersion`, so a consumer can cache the contract and refetch when it changes. The contract is the same for every portal — orgId only scopes access. Requires portals.read access.
|
|
673
|
+
*/
|
|
674
|
+
async getPortalStyleContract(params) {
|
|
675
|
+
return this.client.request({
|
|
676
|
+
method: "GET",
|
|
677
|
+
path: "/:orgId/portal-style-contract",
|
|
678
|
+
pathParams: params.path,
|
|
679
|
+
headers: params.headers,
|
|
680
|
+
opId: "getPortalStyleContract",
|
|
681
|
+
expectedContentType: "application/json",
|
|
682
|
+
});
|
|
683
|
+
}
|
|
670
684
|
/**
|
|
671
685
|
* Invite a portal manager (customizer access)
|
|
672
686
|
* Invites a user as a PORTAL MANAGER via a magic link. A manager has access to the portal customizer and can build, edit, and publish the portal (layout, settings, widgets, custom code); they always get full access to all portal pages. This is a dedicated shortcut for inviteToPortal with orgRole='manager' — no access question is needed (managers are always full access). Returns a magic link for direct portal/customizer access without email confirmation. Requires portals.manage access.
|
package/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { NotesApi } from "./apis/NotesApi";
|
|
|
20
20
|
export { OrgGroupsApi } from "./apis/OrgGroupsApi";
|
|
21
21
|
export { OrgUsersApi } from "./apis/OrgUsersApi";
|
|
22
22
|
export { OrgsApi } from "./apis/OrgsApi";
|
|
23
|
+
export { PaperclipAgentsApi } from "./apis/PaperclipAgentsApi";
|
|
23
24
|
export { PaperclipServicesApi } from "./apis/PaperclipServicesApi";
|
|
24
25
|
export { PortalFeatureContextApi } from "./apis/PortalFeatureContextApi";
|
|
25
26
|
export { PortalsApi } from "./apis/PortalsApi";
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ 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.WorkspacesApi = exports.TokensApi = exports.SystemApi = exports.PortalsApi = exports.PortalFeatureContextApi = exports.PaperclipServicesApi = exports.OrgsApi = exports.OrgUsersApi = exports.OrgGroupsApi = exports.NotesApi = exports.McpManagerApi = exports.IsolatedStoresApi = exports.HealthApi = exports.FusebaseAuthApi = exports.FilesApi = exports.EmailsApi = exports.BillingApi = exports.AppMagicLinksApi = exports.AppEmbedTargetsApi = exports.AppApisApi = exports.AccessApi = void 0;
|
|
22
|
+
exports.WorkspacesApi = exports.TokensApi = exports.SystemApi = exports.PortalsApi = exports.PortalFeatureContextApi = exports.PaperclipServicesApi = exports.PaperclipAgentsApi = exports.OrgsApi = exports.OrgUsersApi = exports.OrgGroupsApi = exports.NotesApi = exports.McpManagerApi = exports.IsolatedStoresApi = exports.HealthApi = exports.FusebaseAuthApi = exports.FilesApi = exports.EmailsApi = exports.BillingApi = exports.AppMagicLinksApi = exports.AppEmbedTargetsApi = exports.AppApisApi = exports.AccessApi = void 0;
|
|
23
23
|
__exportStar(require("./runtime"), exports);
|
|
24
24
|
__exportStar(require("./types"), exports);
|
|
25
25
|
var AccessApi_1 = require("./apis/AccessApi");
|
|
@@ -52,6 +52,8 @@ var OrgUsersApi_1 = require("./apis/OrgUsersApi");
|
|
|
52
52
|
Object.defineProperty(exports, "OrgUsersApi", { enumerable: true, get: function () { return OrgUsersApi_1.OrgUsersApi; } });
|
|
53
53
|
var OrgsApi_1 = require("./apis/OrgsApi");
|
|
54
54
|
Object.defineProperty(exports, "OrgsApi", { enumerable: true, get: function () { return OrgsApi_1.OrgsApi; } });
|
|
55
|
+
var PaperclipAgentsApi_1 = require("./apis/PaperclipAgentsApi");
|
|
56
|
+
Object.defineProperty(exports, "PaperclipAgentsApi", { enumerable: true, get: function () { return PaperclipAgentsApi_1.PaperclipAgentsApi; } });
|
|
55
57
|
var PaperclipServicesApi_1 = require("./apis/PaperclipServicesApi");
|
|
56
58
|
Object.defineProperty(exports, "PaperclipServicesApi", { enumerable: true, get: function () { return PaperclipServicesApi_1.PaperclipServicesApi; } });
|
|
57
59
|
var PortalFeatureContextApi_1 = require("./apis/PortalFeatureContextApi");
|
|
@@ -40,6 +40,38 @@ export interface PublishedAppListResponseContract {
|
|
|
40
40
|
apps: PublishedAppContract[];
|
|
41
41
|
total: number;
|
|
42
42
|
}
|
|
43
|
+
export interface AppApiManifestOperationContract {
|
|
44
|
+
operationId: string;
|
|
45
|
+
method: string;
|
|
46
|
+
path: string;
|
|
47
|
+
summary?: string;
|
|
48
|
+
description?: string;
|
|
49
|
+
tags?: string[];
|
|
50
|
+
visibility?: string;
|
|
51
|
+
executionMode?: string;
|
|
52
|
+
allowedCallers?: string[];
|
|
53
|
+
requiredPermissions?: string[];
|
|
54
|
+
}
|
|
55
|
+
export interface AppApiRegistryManifestContract {
|
|
56
|
+
kind: "app-api-registry";
|
|
57
|
+
format: "openapi";
|
|
58
|
+
schemaVersion: string;
|
|
59
|
+
sourceFile: string;
|
|
60
|
+
publishedAt: string;
|
|
61
|
+
info: {
|
|
62
|
+
title: string;
|
|
63
|
+
version: string;
|
|
64
|
+
};
|
|
65
|
+
openapiVersion: string;
|
|
66
|
+
operations: AppApiManifestOperationContract[];
|
|
67
|
+
document: Record<string, unknown>;
|
|
68
|
+
}
|
|
69
|
+
export interface PublishedAppApiManifestContract {
|
|
70
|
+
productId: string;
|
|
71
|
+
appId: string;
|
|
72
|
+
title: string;
|
|
73
|
+
manifest: AppApiRegistryManifestContract;
|
|
74
|
+
}
|
|
43
75
|
export interface CallAppApiRequestContract {
|
|
44
76
|
path?: Record<string, string>;
|
|
45
77
|
query?: Record<string, string | number | boolean>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export type { AuthenticatedUserSummaryContract, MyOrgAccessResponseContract } from "./access/access";
|
|
8
8
|
export type { AppAccessPrincipalContract, RemoveAppAccessPrincipalRequestContract, RemoveAppAccessPrincipalResponseContract } from "./app-access-principal/app-access-principal";
|
|
9
|
-
export type { AppApiOperationContract, AppApiOperationListResponseContract, CallAppApiRequestContract, CallAppApiResponseContract, PublishedAppContract, PublishedAppListResponseContract, VerifyAppApiContractsRequestContract, VerifyAppApiContractsResponseContract, VerifyCaseResultContract } from "./app-api/app-api";
|
|
9
|
+
export type { AppApiManifestOperationContract, AppApiOperationContract, AppApiOperationListResponseContract, AppApiRegistryManifestContract, CallAppApiRequestContract, CallAppApiResponseContract, PublishedAppApiManifestContract, PublishedAppContract, PublishedAppListResponseContract, VerifyAppApiContractsRequestContract, VerifyAppApiContractsResponseContract, VerifyCaseResultContract } from "./app-api/app-api";
|
|
10
10
|
export type { AppPortalEmbedContract, ListAppPortalEmbedsResponseContract } from "./app-embed-targets/app-embed-targets";
|
|
11
11
|
export type { ActivateAppMagicLinkResponseContract, AppMagicLinkSummaryContract, BulkAppMagicLinkInvitationContract, BulkAppMagicLinkResultItemContract, BulkCreateAppMagicLinksRequestContract, BulkCreateAppMagicLinksResponseContract, CreateAppClientInviteRequestContract, CreateAppMagicLinkRequestContract, CreateAppMagicLinkResponseContract, ListAppMagicLinksResponseContract, RequestAppMagicLinkRequestContract, RequestAppMagicLinkResponseContract, RevokeAppMagicLinkResponseContract } from "./app-magic-link/app-magic-link";
|
|
12
12
|
export * from "./billing/billing";
|
|
@@ -20,6 +20,7 @@ export * from "./note/note";
|
|
|
20
20
|
export * from "./org-group/org-group";
|
|
21
21
|
export type { ClientAccountScheduledDeletionRequestContract, ClientAccountScheduledDeletionResponseContract, CreateWorkspaceRequestContract, OrgInviteContract, OrgMagicLinkContract, OrgMemberExpectedJoinedAfterInQueryOptional, OrgMemberExpectedRoleInQueryOptional, OrgMemberRemoveResponseContract, OrgPortalContract, OrgPortalListResponseContract, OrgUserAddRequestContract, OrgUserAddResponseContract, OrgUserContract, OrgUserIdInPathRequired, OrgUserListResponseContract, OrgUserWorkspaceIdInPathRequired, OrgWorkspaceContract, OrgWorkspaceInviteContract, OrgWorkspaceListResponseContract, OrgWorkspaceMemberContract, OrgWorkspaceMemberListResponseContract, WorkspaceMemberRemoveResponseContract } from "./org-user/org-user";
|
|
22
22
|
export * from "./orgs/orgs";
|
|
23
|
+
export type { CreatePaperclipAgentTaskRequestContract, PaperclipAgentRunContract, PaperclipAgentTaskAcceptedContract, PaperclipAgentTaskContract, PaperclipAgentTaskIdInPathRequired, PaperclipAgentTaskStatusContract, PaperclipCallableAgentContract, PaperclipCallableAgentListContract } from "./paperclip-agents/paperclip-agents";
|
|
23
24
|
export * from "./paperclip-services/paperclip-services";
|
|
24
25
|
export type { VerifyPortalFeatureContextTokenRequestContract, VerifyPortalFeatureContextTokenResponseContract } from "./portal-feature-context/portal-feature-context";
|
|
25
26
|
export * from "./portals/portals";
|
|
@@ -51,6 +51,13 @@ export interface OrgUserAddRequestContract {
|
|
|
51
51
|
* is omitted.
|
|
52
52
|
*/
|
|
53
53
|
autoConfirmClientInvite?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Org-only shortcut for service accounts (bots): when the email already has
|
|
56
|
+
* a Fusebase account, add it as an org member right away with `orgRole`
|
|
57
|
+
* instead of sending an invite email a bot can never click. Falls back to a
|
|
58
|
+
* normal invite when no account exists yet. Requires `workspaceId` omitted.
|
|
59
|
+
*/
|
|
60
|
+
autoConfirmInvite?: boolean;
|
|
54
61
|
}
|
|
55
62
|
export interface OrgInviteContract {
|
|
56
63
|
id: number;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export type PaperclipAgentTaskIdInPathRequired = string;
|
|
2
|
+
export interface PaperclipCallableAgentContract {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
role: string;
|
|
6
|
+
title?: string | null;
|
|
7
|
+
status: string;
|
|
8
|
+
capabilities?: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface PaperclipCallableAgentListContract {
|
|
11
|
+
agents: PaperclipCallableAgentContract[];
|
|
12
|
+
total: number;
|
|
13
|
+
}
|
|
14
|
+
export interface CreatePaperclipAgentTaskRequestContract {
|
|
15
|
+
agentId: string;
|
|
16
|
+
title: string;
|
|
17
|
+
description?: string | null;
|
|
18
|
+
externalRef?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface PaperclipAgentTaskContract {
|
|
21
|
+
id: string;
|
|
22
|
+
identifier?: string | null;
|
|
23
|
+
title: string;
|
|
24
|
+
description?: string | null;
|
|
25
|
+
status: string;
|
|
26
|
+
assigneeAgentId?: string | null;
|
|
27
|
+
originKind: string;
|
|
28
|
+
originId?: string | null;
|
|
29
|
+
createdAt?: string;
|
|
30
|
+
updatedAt?: string;
|
|
31
|
+
completedAt?: string | null;
|
|
32
|
+
}
|
|
33
|
+
export interface PaperclipAgentTaskAcceptedContract {
|
|
34
|
+
task: PaperclipAgentTaskContract;
|
|
35
|
+
reused: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface PaperclipAgentRunContract {
|
|
38
|
+
id: string;
|
|
39
|
+
status: string;
|
|
40
|
+
startedAt?: string | null;
|
|
41
|
+
finishedAt?: string | null;
|
|
42
|
+
error?: string | null;
|
|
43
|
+
stdoutExcerpt?: string | null;
|
|
44
|
+
}
|
|
45
|
+
export interface PaperclipAgentTaskStatusContract {
|
|
46
|
+
task: PaperclipAgentTaskContract;
|
|
47
|
+
latestRun: PaperclipAgentRunContract | null;
|
|
48
|
+
comments: Record<string, unknown>[];
|
|
49
|
+
workProducts: Record<string, unknown>[];
|
|
50
|
+
}
|
|
@@ -2926,6 +2926,12 @@ export interface PortalDetailContract {
|
|
|
2926
2926
|
}
|
|
2927
2927
|
/** Published branding of a portal, as stored in its theme. */
|
|
2928
2928
|
export interface PortalStyleContract {
|
|
2929
|
+
/**
|
|
2930
|
+
* Version of the portal styling contract this portal renders with. Compare it
|
|
2931
|
+
* against a cached value to detect a breaking change; call
|
|
2932
|
+
* getPortalStyleContract for the contract itself.
|
|
2933
|
+
*/
|
|
2934
|
+
styleContractVersion: string;
|
|
2929
2935
|
/** Color theme key. Absent when the portal never had one set explicitly. */
|
|
2930
2936
|
theme?: PortalThemeKey;
|
|
2931
2937
|
/** Logo image URL, as rendered in the portal header. */
|
|
@@ -2933,6 +2939,34 @@ export interface PortalStyleContract {
|
|
|
2933
2939
|
/** Favicon image URL, used as the portal's browser tab icon. */
|
|
2934
2940
|
faviconUrl?: string;
|
|
2935
2941
|
}
|
|
2942
|
+
/**
|
|
2943
|
+
* The portal styling contract: the stable hooks custom CSS may target. Mirrors
|
|
2944
|
+
* PORTAL_STYLE_CONTRACT in nx-frontend, where a CI guard fails the portal build
|
|
2945
|
+
* if any hook below disappears from the source.
|
|
2946
|
+
*/
|
|
2947
|
+
export interface PortalStyleContractResponseContract {
|
|
2948
|
+
/**
|
|
2949
|
+
* Contract version. Removing or renaming a hook bumps the major, adding one
|
|
2950
|
+
* bumps the minor.
|
|
2951
|
+
*/
|
|
2952
|
+
version: string;
|
|
2953
|
+
/**
|
|
2954
|
+
* Preferred surface: `data-portal` attribute values, targeted as
|
|
2955
|
+
* `[data-portal="sidebar"]`.
|
|
2956
|
+
*/
|
|
2957
|
+
structuralHooks: string[];
|
|
2958
|
+
/** Legacy stable class hooks, also part of the contract, e.g. `.container`. */
|
|
2959
|
+
classHooks: string[];
|
|
2960
|
+
/** How to write CSS that actually applies. */
|
|
2961
|
+
usage: string;
|
|
2962
|
+
/** A working override, verified against the portal build. */
|
|
2963
|
+
canonicalOverride: string;
|
|
2964
|
+
/**
|
|
2965
|
+
* Things that look styleable but are not part of the contract, each written
|
|
2966
|
+
* as a sentence explaining why targeting it fails.
|
|
2967
|
+
*/
|
|
2968
|
+
antiContract: string[];
|
|
2969
|
+
}
|
|
2936
2970
|
export interface UpdatePortalStyleRequestContract {
|
|
2937
2971
|
/** Color theme to apply, the same picker the customizer's Theme screen shows. */
|
|
2938
2972
|
theme?: PortalThemeKey;
|
package/package.json
CHANGED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Release Notes 2.11.0
|
|
2
|
+
|
|
3
|
+
- Current ref: `HEAD`
|
|
4
|
+
- Previous tag: `v2.11.0`
|
|
5
|
+
- Generated at: 2026-08-27T10:06:16.345Z
|
|
6
|
+
|
|
7
|
+
## Included Drafts
|
|
8
|
+
|
|
9
|
+
- `docs/release-notes/2026-08-26-owner-delegated-private-app-apis.md` - Owner-delegated private App APIs
|
|
10
|
+
- `docs/release-notes/2026-08-27-fusebase-app-work-agent-calls.md` - FuseBase Apps can invoke Work agents
|
|
11
|
+
|
|
12
|
+
## Summary
|
|
13
|
+
|
|
14
|
+
### Owner-delegated private App APIs
|
|
15
|
+
|
|
16
|
+
FuseBase Work connections may invoke a private AI App API operation when the
|
|
17
|
+
stored Gate token is bound to a user who currently has access to private App API
|
|
18
|
+
operations.
|
|
19
|
+
|
|
20
|
+
### FuseBase Apps can invoke Work agents
|
|
21
|
+
|
|
22
|
+
Adds an organization-scoped asynchronous bridge for FuseBase App backends to list FuseBase Work agents, create assigned tasks, and poll task results. The bridge is disabled unless the `app_agent_invocation` Gate feature flag is enabled.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## API / SDK Changes
|
|
26
|
+
|
|
27
|
+
### Owner-delegated private App APIs
|
|
28
|
+
|
|
29
|
+
No request or response contracts changed. The App API call endpoint now accepts
|
|
30
|
+
a private operation after Nimbus AI's user-aware operation lookup authorizes it.
|
|
31
|
+
The lower-level runtime call service remains fail-closed without that explicit
|
|
32
|
+
authorization result.
|
|
33
|
+
|
|
34
|
+
### FuseBase Apps can invoke Work agents
|
|
35
|
+
|
|
36
|
+
- Added `listPaperclipCallableAgents` (`GET /:orgId/paperclip-agents`).
|
|
37
|
+
- Added `createPaperclipAgentTask` (`POST /:orgId/paperclip-agents/tasks`).
|
|
38
|
+
- Added `getPaperclipAgentTask` (`GET /:orgId/paperclip-agents/tasks/:taskId`).
|
|
39
|
+
- Added backend permissions `paperclip_agents.read` and `paperclip_agents.invoke`.
|
|
40
|
+
- Regenerated OpenAPI and TypeScript SDK artifacts.
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
## Consumer Impact
|
|
44
|
+
|
|
45
|
+
### Owner-delegated private App APIs
|
|
46
|
+
|
|
47
|
+
Owners can connect private AI App APIs to FuseBase Work without changing their
|
|
48
|
+
OpenAPI visibility to `org`. Non-owner and cross-organization callers continue
|
|
49
|
+
to be denied by Nimbus AI's operation lookup.
|
|
50
|
+
|
|
51
|
+
### FuseBase Apps can invoke Work agents
|
|
52
|
+
|
|
53
|
+
App backends must use a user-bound Gate token for the same organization and explicitly request the new permissions. Supplying `externalRef` when creating a task makes retries idempotent. Browser clients should not receive tokens carrying `paperclip_agents.invoke`.
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
## Verification
|
|
57
|
+
|
|
58
|
+
### Owner-delegated private App APIs
|
|
59
|
+
|
|
60
|
+
- Unit coverage confirms an authorized private operation reaches the runtime.
|
|
61
|
+
- Unit coverage confirms a denied private-operation lookup never reaches the runtime.
|
|
62
|
+
- Existing service coverage confirms direct low-level private calls remain denied.
|
|
63
|
+
|
|
64
|
+
### FuseBase Apps can invoke Work agents
|
|
65
|
+
|
|
66
|
+
- Gate TypeScript build passes.
|
|
67
|
+
- Nimbus AI forwarding routes compile; its repository-wide build remains blocked by pre-existing database config and stale coupon-test type errors.
|
|
68
|
+
- Paperclip server typecheck passes; its embedded PostgreSQL integration test is skipped where embedded PostgreSQL is unavailable.
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## Follow-ups
|
|
72
|
+
|
|
73
|
+
### Owner-delegated private App APIs
|
|
74
|
+
|
|
75
|
+
None.
|
|
76
|
+
|
|
77
|
+
### FuseBase Apps can invoke Work agents
|
|
78
|
+
|
|
79
|
+
- Add optional signed webhook delivery after polling behavior is proven in dev.
|
|
80
|
+
- Add the permissions to selected App backend manifests; do not add them to browser/default client token sets.
|
package/release-notes/latest.md
CHANGED