@agentforge-io/sdk-server 4.13.1 → 4.15.0

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/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { AgentForgeClient, INSTALLED_TENANT_HEADER } from './client';
2
2
  export type { AgentForgeClientOptions, RequestOptions } from './client';
3
3
  export { AgentForgeError, AgentForgeAuthError, AgentForgeNotFoundError, AgentForgeNetworkError, } from './errors';
4
4
  export { TOOL_CALLBACK_HEADERS, ToolCallbackSignatureError, signToolCallbackPayload, verifyToolCallbackSignature, } from './webhooks';
5
- export type { AgentMe, AgentSummary, AppUserConnectorStatus, ApprovalCopyBundle, ChannelContext, ChatStreamChunk, ChatStreamEvent, ChatTokenRecord, ConnectorDefaultsResult, ConnectorDefaultsSource, ConnectorResourceItem, ConnectorStatus, ConnectorToolInfo, ConversationHistory, ConversationStatus, CreateAgentInput, CreateClickupTaskInput, CreateClickupTaskResult, ExternalToolSummary, IssueChatTokenInput, ListAgentsResult, ListConnectorResourcesResult, McpServerConfig, MessageRecord, MessageRole, PublicAppBranding, PublicProfileBlock, PublicProfileTemplate, PublicTeamLanding, CreateTeamInput, UpdateTeamInput, TeamSummary, AppInstallation, TemplateConfigField, TemplateSummary, TemplateDetail, TemplateInstallResult, TenantConfigEntry, AppSelf, AppSelfConnector, AppSelfConnectors, AppSelfConnectorTools, AppSelfConnectorToolsResponse, RegisterToolInput, RegisterToolsInput, BusinessRoleEntry, RegisterToolsResult, ToolCallbackPayload, ToolCallRecord, ToolPermission, ToolPermissionMode, TokenUsage, TenantSecretEntry, UpdateAgentInput, InboxThreadMode, InboxMessageDirection, InboxMessageSource, InboxMessageType, InboxThreadCustomerProfileView, InboxThreadView, InboxMessageView, SupportKpiTotals, SupportKpiResponse, AgentAttentionLogRow, } from './types';
5
+ export type { AgentMe, AgentSummary, AppUserConnectorStatus, ApprovalCopyBundle, ChannelContext, ChatStreamChunk, ChatStreamEvent, ChatTokenRecord, ConnectorDefaultsResult, ConnectorDefaultsSource, ConnectorResourceItem, ConnectorStatus, ConnectorToolInfo, ConversationHistory, ConversationStatus, CreateAgentInput, CreateClickupTaskInput, CreateClickupTaskResult, ExternalToolSummary, IssueChatTokenInput, ListAgentsResult, ListConnectorResourcesResult, McpServerConfig, MessageRecord, MessageRole, PublicAppBranding, PublicProfileBlock, PublicProfileTemplate, PublicTeamLanding, CreateTeamInput, UpdateTeamInput, TeamSummary, TeamDetail, TeamTheme, TeamBusinessHours, TeamWeekday, TeamProfileBlock, AppInstallation, TemplateConfigField, TemplateSummary, TemplateDetail, TemplateInstallResult, TenantConfigEntry, AppSelf, AppSelfConnector, AppSelfConnectors, AppSelfConnectorTools, AppSelfConnectorToolsResponse, RegisterToolInput, RegisterToolsInput, BusinessRoleEntry, RegisterToolsResult, ToolCallbackPayload, ToolCallRecord, ToolPermission, ToolPermissionMode, TokenUsage, TenantSecretEntry, UpdateAgentInput, InboxThreadMode, InboxMessageDirection, InboxMessageSource, InboxMessageType, InboxThreadCustomerProfileView, InboxThreadView, InboxMessageView, SupportKpiTotals, SupportKpiResponse, AgentAttentionLogRow, } from './types';
6
6
  export { AgentsResource } from './resources/agents';
7
7
  export { AnalyticsResource } from './resources/analytics';
8
8
  export type { GetSupportKpisInput, GetAgentAttentionLogInput, } from './resources/analytics';
@@ -1,10 +1,12 @@
1
1
  import type { AgentForgeClient } from '../client';
2
- import type { CreateTeamInput, PublicTeamLanding, TeamSummary, UpdateTeamInput } from '../types';
2
+ import type { CreateTeamInput, PublicTeamLanding, TeamDetail, TeamSummary, UpdateTeamInput } from '../types';
3
3
  export declare class TeamsResource {
4
4
  private readonly client;
5
5
  constructor(client: AgentForgeClient);
6
6
  /** `GET /team/:slug` — public landing payload of a public team. 404 → `AgentForgeNotFoundError`. */
7
7
  getPublic(slug: string): Promise<PublicTeamLanding>;
8
+ /** `GET /api/v1/teams/:teamId` — a team of the caller's tenant with its page settings and members. */
9
+ get(teamId: string): Promise<TeamDetail>;
8
10
  /** `POST /api/v1/teams` — create a team (and its orchestrator) in the caller's tenant. */
9
11
  create(input: CreateTeamInput): Promise<TeamSummary>;
10
12
  /** `PATCH /api/v1/teams/:teamId` — e.g. give a team installed from a
@@ -28,6 +28,10 @@ class TeamsResource {
28
28
  async getPublic(slug) {
29
29
  return this.client.request('GET', `/team/${encodeURIComponent(slug)}`);
30
30
  }
31
+ /** `GET /api/v1/teams/:teamId` — a team of the caller's tenant with its page settings and members. */
32
+ async get(teamId) {
33
+ return this.client.request('GET', `/api/v1/teams/${encodeURIComponent(teamId)}`);
34
+ }
31
35
  /** `POST /api/v1/teams` — create a team (and its orchestrator) in the caller's tenant. */
32
36
  async create(input) {
33
37
  return this.client.request('POST', '/api/v1/teams', input);
package/dist/types.d.ts CHANGED
@@ -691,6 +691,125 @@ export interface UpdateTeamInput {
691
691
  publicSlug?: string | null;
692
692
  visibility?: 'private' | 'public';
693
693
  orchestrationMode?: 'flat' | 'hierarchical';
694
+ /** The public page's theme (colors as hex, persona texts, logo / banner
695
+ * URLs, mode, shortcuts). Unknown keys are dropped; an invalid value is a
696
+ * 400. `null` clears it. */
697
+ theme?: TeamTheme | null;
698
+ /** Page layout. `null` resets to the default. */
699
+ profileTemplate?: 'minimal' | 'brand' | 'beacons' | null;
700
+ /** The page's blocks in render order (`enabled: false` hides one). Links
701
+ * must be http(s), mailto:, tel: or sms:. `null` or `[]` clears them. */
702
+ profileBlocks?: TeamProfileBlock[] | null;
703
+ /** When the team takes human escalations (and what the agent tells
704
+ * customers about being open). Normalized by the platform: windows
705
+ * sorted, overlapping ones merged. `null` clears it (always open). An
706
+ * empty `schedule` is a 400 — send `null` instead. */
707
+ businessHours?: TeamBusinessHours | null;
708
+ }
709
+ /** A team's weekly opening hours (AGF-HOURS). */
710
+ export interface TeamBusinessHours {
711
+ /** IANA timezone, e.g. `America/Bogota`. */
712
+ timezone: string;
713
+ /** Open windows, `"HH:mm"` 00:00–23:59, `to` after `from`; a day may
714
+ * have several (split shift); a day with none is closed. Overnight
715
+ * windows go as two entries on adjacent days. */
716
+ schedule: Array<{
717
+ day: TeamWeekday;
718
+ from: string;
719
+ to: string;
720
+ }>;
721
+ }
722
+ export type TeamWeekday = 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun';
723
+ /** A team's public-page theme (`af_teams.theme`). Colors are hex strings. */
724
+ export interface TeamTheme {
725
+ logoUrl?: string;
726
+ bannerUrl?: string;
727
+ primaryColor?: string;
728
+ accentColor?: string;
729
+ headerBg?: string;
730
+ surfaceBg?: string;
731
+ surfaceFg?: string;
732
+ font?: 'inter' | 'geist' | 'dm-sans' | 'serif';
733
+ mode?: 'light' | 'dark' | 'auto';
734
+ personaName?: string;
735
+ tagline?: string;
736
+ bio?: string;
737
+ greeting?: string;
738
+ shortcuts?: string[];
739
+ bubbleAgentBg?: string;
740
+ bubbleAgentFg?: string;
741
+ bubbleUserBg?: string;
742
+ bubbleUserFg?: string;
743
+ sendButtonBg?: string;
744
+ inputBg?: string;
745
+ inputFg?: string;
746
+ avatarBg?: string;
747
+ }
748
+ /** One block of a public page. `id` is minted by the platform when omitted. */
749
+ export type TeamProfileBlock = {
750
+ id?: string;
751
+ enabled?: boolean;
752
+ title?: string;
753
+ } & ({
754
+ kind: 'links';
755
+ links: Array<{
756
+ label: string;
757
+ url: string;
758
+ icon?: string;
759
+ imageUrl?: string;
760
+ }>;
761
+ [field: string]: unknown;
762
+ } | {
763
+ kind: 'socials';
764
+ entries: Array<{
765
+ presetId: string;
766
+ handle?: string;
767
+ url?: string;
768
+ prefillMessage?: string;
769
+ }>;
770
+ [field: string]: unknown;
771
+ } | {
772
+ kind: 'faq';
773
+ items: Array<{
774
+ question: string;
775
+ answer: string;
776
+ }>;
777
+ } | {
778
+ kind: 'examples';
779
+ prompts: string[];
780
+ } | {
781
+ kind: 'video';
782
+ url: string;
783
+ caption?: string;
784
+ } | {
785
+ kind: 'website';
786
+ url: string;
787
+ label?: string;
788
+ description?: string;
789
+ imageUrl?: string;
790
+ [field: string]: unknown;
791
+ } | {
792
+ kind: 'catalog';
793
+ catalogId: string;
794
+ [field: string]: unknown;
795
+ });
796
+ /** `GET /api/v1/teams/:id` — the team with its page settings, and its members. */
797
+ export interface TeamDetail {
798
+ team: TeamSummary & {
799
+ theme?: TeamTheme | null;
800
+ profileTemplate?: 'minimal' | 'brand' | 'beacons' | null;
801
+ profileBlocks?: Array<TeamProfileBlock & {
802
+ id: string;
803
+ enabled: boolean;
804
+ }> | null;
805
+ businessHours?: TeamBusinessHours | null;
806
+ };
807
+ members: Array<{
808
+ agentId: string;
809
+ roleHint?: string | null;
810
+ parentAgentId?: string | null;
811
+ [field: string]: unknown;
812
+ }>;
694
813
  }
695
814
  /** An App's installation in a tenant (AGF-096v, `/api/v1/installations`). */
696
815
  export interface AppInstallation {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentforge-io/sdk-server",
3
- "version": "4.13.1",
3
+ "version": "4.15.0",
4
4
  "description": "Server-side SDK for backend apps integrating with AgentForge platform. Auth via ChatToken, ak_live_ API key or App secret (sk_live_), with App installations across tenants.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",