@flashbacktech/tsclient 0.4.42 → 0.4.46

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.cts CHANGED
@@ -365,6 +365,47 @@ interface SimpleOrgResponse {
365
365
  message?: string;
366
366
  data?: unknown;
367
367
  }
368
+ /**
369
+ * Platform-admin payload for adding a new member to an existing org.
370
+ * POST /orgs/:id/users — creates the user without a password and sends an
371
+ * invite email via the same TokenOrgInvite flow as the regular member invite.
372
+ */
373
+ interface AddUserToOrgRequest {
374
+ email: string;
375
+ firstName: string;
376
+ lastName?: string;
377
+ /** Org role integer (e.g. OrgRoles.User). Defaults to the lowest non-owner role when omitted. */
378
+ orgRole?: number;
379
+ }
380
+ interface AddUserToOrgResult {
381
+ user: OrganizationUser;
382
+ }
383
+ /** Two-bucket credit balance for an org (USD micros, post-0019 schema). */
384
+ interface OrgCreditBalance {
385
+ permanentCreditMicros: number;
386
+ subscriptionCreditMicros: number;
387
+ /** ISO 8601 timestamp; null/undefined means the subscription bucket never expires. */
388
+ subscriptionCreditExpiresAt?: string | null;
389
+ }
390
+ /**
391
+ * Platform-admin payload for granting or revoking credits on an existing org.
392
+ * POST /orgs/:id/credits/adjust — records a CreditKindAdminAdjust ledger entry.
393
+ * amountMicros is signed: positive = grant, negative = revoke.
394
+ */
395
+ interface AdjustOrgCreditsRequest {
396
+ amountMicros: number;
397
+ bucket: 'permanent' | 'subscription';
398
+ description?: string;
399
+ }
400
+ interface AdjustOrgCreditsResult {
401
+ balance: OrgCreditBalance;
402
+ transaction: {
403
+ amountMicros: number;
404
+ kind: string;
405
+ bucket: string;
406
+ description?: string;
407
+ };
408
+ }
368
409
 
369
410
  declare class OrganizationClient {
370
411
  private readonly http;
@@ -407,6 +448,24 @@ declare class OrganizationClient {
407
448
  name: string;
408
449
  allowDebug: boolean;
409
450
  }>;
451
+ /**
452
+ * Platform-admin only: add a new member to an existing org.
453
+ * Creates the user without a password and sends an invite email via the
454
+ * same TokenOrgInvite flow as the regular member invite.
455
+ * Returns 403 unless platform admin; 409 when the email already exists.
456
+ */
457
+ addUserToOrg(orgId: string, body: AddUserToOrgRequest): Promise<AddUserToOrgResult>;
458
+ /**
459
+ * Platform-admin only: fetch an org's two-bucket credit balance.
460
+ * Returns 403 unless platform admin; 404 when the org doesn't exist.
461
+ */
462
+ getOrgCreditBalance(orgId: string): Promise<OrgCreditBalance>;
463
+ /**
464
+ * Platform-admin only: grant or revoke credits on an org.
465
+ * amountMicros is signed: positive = grant, negative = revoke.
466
+ * Records a CreditKindAdminAdjust ledger entry and returns the updated balance.
467
+ */
468
+ adjustOrgCredits(orgId: string, body: AdjustOrgCreditsRequest): Promise<AdjustOrgCreditsResult>;
410
469
  }
411
470
 
412
471
  interface ProjectMember {
@@ -654,6 +713,13 @@ interface ChatScope {
654
713
  }
655
714
  type ChatSessionSource = 'adhoc' | 'template';
656
715
  type ChatMessageRole = 'user' | 'assistant' | 'system';
716
+ /**
717
+ * Status of a single chat turn (agent_chat_turns.status). The first four are
718
+ * in-progress phases; the last three are terminal. The Chats/Runs table folds
719
+ * the in-progress values into a single "running" badge and renders the
720
+ * terminal ones directly.
721
+ */
722
+ type ChatTurnStatus = 'classifying' | 'clarifying' | 'planning' | 'executing' | 'completed' | 'failed' | 'cancelled';
657
723
  type ChatMessageKind = 'text' | 'question' | 'answer' | 'tool_call' | 'tool_result';
658
724
  interface ChatSession {
659
725
  id: string;
@@ -682,6 +748,11 @@ interface ChatSession {
682
748
  /** Sum of prompt + completion tokens across this session's LLM calls.
683
749
  * Populated only by list endpoints; absent on single-session fetches. */
684
750
  total_tokens?: number | null;
751
+ /** Status of this session's most recent turn. Populated only by list
752
+ * endpoints; null/absent when the session has no turns yet. The Runs
753
+ * table maps the in-progress phases to a "running" badge and surfaces
754
+ * completed / failed / cancelled directly. */
755
+ latest_turn_status?: ChatTurnStatus | null;
685
756
  }
686
757
  interface ChatMessage {
687
758
  id: string;
@@ -736,6 +807,36 @@ interface PostChatMessageResponse {
736
807
  message_id: string;
737
808
  turn_id: string;
738
809
  }
810
+ /**
811
+ * One user's "Satisfied? Yes/No" rating plus an optional free-text comment on
812
+ * the agent's behaviour (agent_chat_feedback). `turn_id` is null for
813
+ * whole-conversation feedback; non-null scopes it to a single turn. Fields are
814
+ * snake_case to match the wire format.
815
+ */
816
+ interface ChatFeedback {
817
+ id: string;
818
+ conversation_id: string;
819
+ turn_id?: string | null;
820
+ org_id: string;
821
+ repo_id: string;
822
+ user_id: string;
823
+ satisfied: boolean;
824
+ comment?: string | null;
825
+ created_at: string;
826
+ updated_at: string;
827
+ }
828
+ interface SubmitChatFeedbackRequest {
829
+ satisfied: boolean;
830
+ comment?: string;
831
+ /** Omit (or null) for whole-conversation feedback; set to scope to a turn. */
832
+ turn_id?: string;
833
+ }
834
+ interface ChatFeedbackEnvelope {
835
+ feedback: ChatFeedback;
836
+ }
837
+ interface ListChatFeedbackResponse {
838
+ feedback: ChatFeedback[];
839
+ }
739
840
  interface AnswerChatQuestionRequest {
740
841
  question_id: string;
741
842
  selected_ids?: string[];
@@ -1210,6 +1311,22 @@ declare class ChatSchedulesScope {
1210
1311
  */
1211
1312
  listRuns(scope: ChatScope, scheduleId: string): Promise<ListChatScheduleRunsResponse>;
1212
1313
  }
1314
+ /**
1315
+ * Feedback scope — a user's "Satisfied? Yes/No" rating + optional comment on a
1316
+ * chat session, and the list of feedback recorded for it (so the UI can
1317
+ * pre-fill and so an org admin can review past ratings). Conversation-scoped;
1318
+ * pass `turn_id` in the body to scope feedback to a single turn.
1319
+ *
1320
+ * Endpoint shape:
1321
+ * POST /v1/agent/chat/sessions/:id/feedback
1322
+ * GET /v1/agent/chat/sessions/:id/feedback
1323
+ */
1324
+ declare class ChatFeedbackScope {
1325
+ private readonly http;
1326
+ constructor(http: BaseClient);
1327
+ submit(scope: ChatScope, conversationId: string, body: SubmitChatFeedbackRequest): Promise<ChatFeedbackEnvelope>;
1328
+ list(scope: ChatScope, conversationId: string): Promise<ListChatFeedbackResponse>;
1329
+ }
1213
1330
  declare class ChatClient {
1214
1331
  private readonly http;
1215
1332
  private readonly streamDeps;
@@ -1218,6 +1335,7 @@ declare class ChatClient {
1218
1335
  readonly questions: ChatQuestionsScope;
1219
1336
  readonly debug: ChatDebugScope;
1220
1337
  readonly schedules: ChatSchedulesScope;
1338
+ readonly feedback: ChatFeedbackScope;
1221
1339
  constructor(http: BaseClient, streamDeps: {
1222
1340
  baseUrl: string;
1223
1341
  getToken?: TokenProvider;
@@ -2097,4 +2215,4 @@ declare class NotImplementedError extends Error {
2097
2215
  constructor(method: string);
2098
2216
  }
2099
2217
 
2100
- export { type AcceptInviteRequest, AccessType, type AcquireScanLeaseRequest, type AcquireScanLeaseResponse, type ActionCategory, type ActivateRequest, type AddMemberRequest, type AnswerChatQuestionRequest, type AnswerChatQuestionResponse, type AuthUser, BaseClient, type BaseClientOptions, type BudgetScope, BudgetsClient, type BuyCustomCreditRequest, type BuyCustomCreditResponse, type BuySubscriptionRequest, type BuySubscriptionResponse, CAP_AI, CAP_COMPUTE, CAP_GENERAL, CAP_NOTIFY, CAP_STORAGE, CAP_VCS, type CancelChatTurnResponse, type CancelSubscriptionResponse, type ChatAssistantMessagePayload, type ChatBillingRefuseCode, type ChatBillingRefuseError, type ChatBudget, type ChatCheckpointedPayload, type ChatCompactionFiredPayload, type ChatDonePayload, type ChatEvent, type ChatEventType, type ChatMessage, type ChatMessageKind, type ChatMessageRole, type ChatNarrationPayload, type ChatPhase, type ChatPhasePayload, type ChatPlanDraftPayload, type ChatQuestionPayload, type ChatSchedule, type ChatScheduleEnvelope, type ChatScheduleNotifyOn, type ChatScheduleRunStatus, type ChatScope, type ChatSession, type ChatSessionSource, type ChatSessionTitlePayload, type ChatStepEventPayload, type ChatStepProgressPayload, type ChatStreamHandle, type ChatToolCallConfirmationRequiredPayload, type ChatToolCallFinishedPayload, type ChatToolCallStartedPayload, type ClarificationOption, CloudAgentClient, type CloudAgentClientOptions, type CloudResource, type CloudResourceContainerRef, type CloudResourceEdge, type CloudScanHistory, type CloudScanLease, type ConfirmChatToolCallRequest, type ConfirmChatToolCallResponse, type CreateAgentTemplateRequest, type CreateChatScheduleRequest, type CreateChatSessionRequest, type CreateChatSessionResponse, type CreateCredentialRequest, type CreateGatewayTokenRequest, type CreateGatewayTokenResponse, type CreateOrganizationUserRequest, type CreateProjectRequest, type CreateSandboxRequest, type CreateScheduledTaskRequest, type Credential, type CreditBalance, type CreditTransaction, type CreditTransactionKind, type CreditTransactionType, type CustomCreditPurchaseConfig, type DebugPayload, type DebugReceipt, type EffectiveChatBudget, type ExchangeCodeRequest, type FieldSpec, type FieldType, type FineTuneParams, type GatewayToken, type GetChatSessionResponse, type GetUsageSummaryQuery, type GetUsageSummaryResponse, HttpError, type ImpersonationProvider, type InviteOrgRequest, type InviteOrgResult, type ListAgentTemplatesQuery, type ListAgentTemplatesResponse, type ListChatScheduleRunsResponse, type ListChatSchedulesResponse, type ListChatSessionsQuery, type ListChatSessionsResponse, type ListCredentialsQuery, type ListCreditsTransactionsQuery, type ListCreditsTransactionsResponse, type ListPaymentsResponse, type ListSandboxesQuery, type ListScanHistoryQuery, type ListScanHistoryResponse, type ListScheduledTasksQuery, type ListScheduledTasksResponse, type LoginRequest, type MFASetupResponse, type MFASimpleResponse, type MFAStatus, MFAType, type MFAVerifyLoginRequest, type MFAVerifyLoginResponse, type MFAVerifySetupRequest, type MagicLinkActivateRequest, type MagicLinkSendResponse, type ModeType, type MonthlyCreditStats, NotImplementedError, type OpenChatStreamOptions, type OrgBudget, OrgRoles, type OrgSubscription, type Organization, type OrganizationUser, PROVIDER_CATALOG, type Payment, type PeekScanLeaseResponse, type PostChatMessageRequest, type PostChatMessageResponse, type Project, type ProjectMember, type ProviderID, type ProviderSpec, ProviderType, type PublicConfig, type Query, type ReconcileScope, type ReconcileTuple, type RefreshRequest, type RegisterRequest, type RequestOptions, type ResetPasswordRequest, type ResourceTreeCategory, type ResourceTreeCredential, type ResourceTreeGrouping, type ResourceTreeResource, type ResourceTreeResponse, ResourcesClient, type Sandbox, type SandboxCredential, type ScanInProgressError, type ScheduledTask, type ScopedBudget, type SessionResponse, type SessionTokens, type SimpleAgentResponse, type SimpleKeysResponse, type SimpleOrgResponse, type SimpleResponse$2 as SimpleResponse, type StorageType, type SubgraphDirection, type SubgraphRequest, type SubgraphResponse, type Subscription, type SubscriptionCapability, type SubscriptionPeriod, type SystemEvent, type SystemEventQuery, type SystemEventQueryResponse, type SystemEventReadResponse, type Template, type TokenProvider, type UnauthorizedHandler, type UpdateChatBudgetRequest, type UpdateChatScheduleRequest, type UpdateCostLimitRequest, type UpdateCredentialRequest, type UpdateMemberRoleRequest, type UpdateOrgBudgetRequest, type UpdateOrgUserRequest, type UpdateOrganizationRequest, type UpdateProjectRequest, type UpdateSandboxRequest, type UpdateScopedBudgetRequest, type UpdateUserRequest, type UpdateUserResponse, type UsageBucket, type UsageByModelQuery, type UsageByModelResponse, type UsageByModelRow, type UsageReportQuery, type UsageReportResponse, type UsageSummary, type UsageSummaryQuery, type UsageSummaryResponse, type UsageTotals, type UsageWindow, type UserProfile, type UserSummary, computeDisplayHint, getProvider, getValueAt, isMetadataPath, isSecretPath, listProviders, metadataKey, setValueAt, usdMicros, validate };
2218
+ export { type AcceptInviteRequest, AccessType, type AcquireScanLeaseRequest, type AcquireScanLeaseResponse, type ActionCategory, type ActivateRequest, type AddMemberRequest, type AddUserToOrgRequest, type AddUserToOrgResult, type AdjustOrgCreditsRequest, type AdjustOrgCreditsResult, type AnswerChatQuestionRequest, type AnswerChatQuestionResponse, type AuthUser, BaseClient, type BaseClientOptions, type BudgetScope, BudgetsClient, type BuyCustomCreditRequest, type BuyCustomCreditResponse, type BuySubscriptionRequest, type BuySubscriptionResponse, CAP_AI, CAP_COMPUTE, CAP_GENERAL, CAP_NOTIFY, CAP_STORAGE, CAP_VCS, type CancelChatTurnResponse, type CancelSubscriptionResponse, type ChatAssistantMessagePayload, type ChatBillingRefuseCode, type ChatBillingRefuseError, type ChatBudget, type ChatCheckpointedPayload, type ChatCompactionFiredPayload, type ChatDonePayload, type ChatEvent, type ChatEventType, type ChatFeedback, type ChatFeedbackEnvelope, type ChatMessage, type ChatMessageKind, type ChatMessageRole, type ChatNarrationPayload, type ChatPhase, type ChatPhasePayload, type ChatPlanDraftPayload, type ChatQuestionPayload, type ChatSchedule, type ChatScheduleEnvelope, type ChatScheduleNotifyOn, type ChatScheduleRunStatus, type ChatScope, type ChatSession, type ChatSessionSource, type ChatSessionTitlePayload, type ChatStepEventPayload, type ChatStepProgressPayload, type ChatStreamHandle, type ChatToolCallConfirmationRequiredPayload, type ChatToolCallFinishedPayload, type ChatToolCallStartedPayload, type ChatTurnStatus, type ClarificationOption, CloudAgentClient, type CloudAgentClientOptions, type CloudResource, type CloudResourceContainerRef, type CloudResourceEdge, type CloudScanHistory, type CloudScanLease, type ConfirmChatToolCallRequest, type ConfirmChatToolCallResponse, type CreateAgentTemplateRequest, type CreateChatScheduleRequest, type CreateChatSessionRequest, type CreateChatSessionResponse, type CreateCredentialRequest, type CreateGatewayTokenRequest, type CreateGatewayTokenResponse, type CreateOrganizationUserRequest, type CreateProjectRequest, type CreateSandboxRequest, type CreateScheduledTaskRequest, type Credential, type CreditBalance, type CreditTransaction, type CreditTransactionKind, type CreditTransactionType, type CustomCreditPurchaseConfig, type DebugPayload, type DebugReceipt, type EffectiveChatBudget, type ExchangeCodeRequest, type FieldSpec, type FieldType, type FineTuneParams, type GatewayToken, type GetChatSessionResponse, type GetUsageSummaryQuery, type GetUsageSummaryResponse, HttpError, type ImpersonationProvider, type InviteOrgRequest, type InviteOrgResult, type ListAgentTemplatesQuery, type ListAgentTemplatesResponse, type ListChatFeedbackResponse, type ListChatScheduleRunsResponse, type ListChatSchedulesResponse, type ListChatSessionsQuery, type ListChatSessionsResponse, type ListCredentialsQuery, type ListCreditsTransactionsQuery, type ListCreditsTransactionsResponse, type ListPaymentsResponse, type ListSandboxesQuery, type ListScanHistoryQuery, type ListScanHistoryResponse, type ListScheduledTasksQuery, type ListScheduledTasksResponse, type LoginRequest, type MFASetupResponse, type MFASimpleResponse, type MFAStatus, MFAType, type MFAVerifyLoginRequest, type MFAVerifyLoginResponse, type MFAVerifySetupRequest, type MagicLinkActivateRequest, type MagicLinkSendResponse, type ModeType, type MonthlyCreditStats, NotImplementedError, type OpenChatStreamOptions, type OrgBudget, type OrgCreditBalance, OrgRoles, type OrgSubscription, type Organization, type OrganizationUser, PROVIDER_CATALOG, type Payment, type PeekScanLeaseResponse, type PostChatMessageRequest, type PostChatMessageResponse, type Project, type ProjectMember, type ProviderID, type ProviderSpec, ProviderType, type PublicConfig, type Query, type ReconcileScope, type ReconcileTuple, type RefreshRequest, type RegisterRequest, type RequestOptions, type ResetPasswordRequest, type ResourceTreeCategory, type ResourceTreeCredential, type ResourceTreeGrouping, type ResourceTreeResource, type ResourceTreeResponse, ResourcesClient, type Sandbox, type SandboxCredential, type ScanInProgressError, type ScheduledTask, type ScopedBudget, type SessionResponse, type SessionTokens, type SimpleAgentResponse, type SimpleKeysResponse, type SimpleOrgResponse, type SimpleResponse$2 as SimpleResponse, type StorageType, type SubgraphDirection, type SubgraphRequest, type SubgraphResponse, type SubmitChatFeedbackRequest, type Subscription, type SubscriptionCapability, type SubscriptionPeriod, type SystemEvent, type SystemEventQuery, type SystemEventQueryResponse, type SystemEventReadResponse, type Template, type TokenProvider, type UnauthorizedHandler, type UpdateChatBudgetRequest, type UpdateChatScheduleRequest, type UpdateCostLimitRequest, type UpdateCredentialRequest, type UpdateMemberRoleRequest, type UpdateOrgBudgetRequest, type UpdateOrgUserRequest, type UpdateOrganizationRequest, type UpdateProjectRequest, type UpdateSandboxRequest, type UpdateScopedBudgetRequest, type UpdateUserRequest, type UpdateUserResponse, type UsageBucket, type UsageByModelQuery, type UsageByModelResponse, type UsageByModelRow, type UsageReportQuery, type UsageReportResponse, type UsageSummary, type UsageSummaryQuery, type UsageSummaryResponse, type UsageTotals, type UsageWindow, type UserProfile, type UserSummary, computeDisplayHint, getProvider, getValueAt, isMetadataPath, isSecretPath, listProviders, metadataKey, setValueAt, usdMicros, validate };
package/dist/index.d.ts CHANGED
@@ -365,6 +365,47 @@ interface SimpleOrgResponse {
365
365
  message?: string;
366
366
  data?: unknown;
367
367
  }
368
+ /**
369
+ * Platform-admin payload for adding a new member to an existing org.
370
+ * POST /orgs/:id/users — creates the user without a password and sends an
371
+ * invite email via the same TokenOrgInvite flow as the regular member invite.
372
+ */
373
+ interface AddUserToOrgRequest {
374
+ email: string;
375
+ firstName: string;
376
+ lastName?: string;
377
+ /** Org role integer (e.g. OrgRoles.User). Defaults to the lowest non-owner role when omitted. */
378
+ orgRole?: number;
379
+ }
380
+ interface AddUserToOrgResult {
381
+ user: OrganizationUser;
382
+ }
383
+ /** Two-bucket credit balance for an org (USD micros, post-0019 schema). */
384
+ interface OrgCreditBalance {
385
+ permanentCreditMicros: number;
386
+ subscriptionCreditMicros: number;
387
+ /** ISO 8601 timestamp; null/undefined means the subscription bucket never expires. */
388
+ subscriptionCreditExpiresAt?: string | null;
389
+ }
390
+ /**
391
+ * Platform-admin payload for granting or revoking credits on an existing org.
392
+ * POST /orgs/:id/credits/adjust — records a CreditKindAdminAdjust ledger entry.
393
+ * amountMicros is signed: positive = grant, negative = revoke.
394
+ */
395
+ interface AdjustOrgCreditsRequest {
396
+ amountMicros: number;
397
+ bucket: 'permanent' | 'subscription';
398
+ description?: string;
399
+ }
400
+ interface AdjustOrgCreditsResult {
401
+ balance: OrgCreditBalance;
402
+ transaction: {
403
+ amountMicros: number;
404
+ kind: string;
405
+ bucket: string;
406
+ description?: string;
407
+ };
408
+ }
368
409
 
369
410
  declare class OrganizationClient {
370
411
  private readonly http;
@@ -407,6 +448,24 @@ declare class OrganizationClient {
407
448
  name: string;
408
449
  allowDebug: boolean;
409
450
  }>;
451
+ /**
452
+ * Platform-admin only: add a new member to an existing org.
453
+ * Creates the user without a password and sends an invite email via the
454
+ * same TokenOrgInvite flow as the regular member invite.
455
+ * Returns 403 unless platform admin; 409 when the email already exists.
456
+ */
457
+ addUserToOrg(orgId: string, body: AddUserToOrgRequest): Promise<AddUserToOrgResult>;
458
+ /**
459
+ * Platform-admin only: fetch an org's two-bucket credit balance.
460
+ * Returns 403 unless platform admin; 404 when the org doesn't exist.
461
+ */
462
+ getOrgCreditBalance(orgId: string): Promise<OrgCreditBalance>;
463
+ /**
464
+ * Platform-admin only: grant or revoke credits on an org.
465
+ * amountMicros is signed: positive = grant, negative = revoke.
466
+ * Records a CreditKindAdminAdjust ledger entry and returns the updated balance.
467
+ */
468
+ adjustOrgCredits(orgId: string, body: AdjustOrgCreditsRequest): Promise<AdjustOrgCreditsResult>;
410
469
  }
411
470
 
412
471
  interface ProjectMember {
@@ -654,6 +713,13 @@ interface ChatScope {
654
713
  }
655
714
  type ChatSessionSource = 'adhoc' | 'template';
656
715
  type ChatMessageRole = 'user' | 'assistant' | 'system';
716
+ /**
717
+ * Status of a single chat turn (agent_chat_turns.status). The first four are
718
+ * in-progress phases; the last three are terminal. The Chats/Runs table folds
719
+ * the in-progress values into a single "running" badge and renders the
720
+ * terminal ones directly.
721
+ */
722
+ type ChatTurnStatus = 'classifying' | 'clarifying' | 'planning' | 'executing' | 'completed' | 'failed' | 'cancelled';
657
723
  type ChatMessageKind = 'text' | 'question' | 'answer' | 'tool_call' | 'tool_result';
658
724
  interface ChatSession {
659
725
  id: string;
@@ -682,6 +748,11 @@ interface ChatSession {
682
748
  /** Sum of prompt + completion tokens across this session's LLM calls.
683
749
  * Populated only by list endpoints; absent on single-session fetches. */
684
750
  total_tokens?: number | null;
751
+ /** Status of this session's most recent turn. Populated only by list
752
+ * endpoints; null/absent when the session has no turns yet. The Runs
753
+ * table maps the in-progress phases to a "running" badge and surfaces
754
+ * completed / failed / cancelled directly. */
755
+ latest_turn_status?: ChatTurnStatus | null;
685
756
  }
686
757
  interface ChatMessage {
687
758
  id: string;
@@ -736,6 +807,36 @@ interface PostChatMessageResponse {
736
807
  message_id: string;
737
808
  turn_id: string;
738
809
  }
810
+ /**
811
+ * One user's "Satisfied? Yes/No" rating plus an optional free-text comment on
812
+ * the agent's behaviour (agent_chat_feedback). `turn_id` is null for
813
+ * whole-conversation feedback; non-null scopes it to a single turn. Fields are
814
+ * snake_case to match the wire format.
815
+ */
816
+ interface ChatFeedback {
817
+ id: string;
818
+ conversation_id: string;
819
+ turn_id?: string | null;
820
+ org_id: string;
821
+ repo_id: string;
822
+ user_id: string;
823
+ satisfied: boolean;
824
+ comment?: string | null;
825
+ created_at: string;
826
+ updated_at: string;
827
+ }
828
+ interface SubmitChatFeedbackRequest {
829
+ satisfied: boolean;
830
+ comment?: string;
831
+ /** Omit (or null) for whole-conversation feedback; set to scope to a turn. */
832
+ turn_id?: string;
833
+ }
834
+ interface ChatFeedbackEnvelope {
835
+ feedback: ChatFeedback;
836
+ }
837
+ interface ListChatFeedbackResponse {
838
+ feedback: ChatFeedback[];
839
+ }
739
840
  interface AnswerChatQuestionRequest {
740
841
  question_id: string;
741
842
  selected_ids?: string[];
@@ -1210,6 +1311,22 @@ declare class ChatSchedulesScope {
1210
1311
  */
1211
1312
  listRuns(scope: ChatScope, scheduleId: string): Promise<ListChatScheduleRunsResponse>;
1212
1313
  }
1314
+ /**
1315
+ * Feedback scope — a user's "Satisfied? Yes/No" rating + optional comment on a
1316
+ * chat session, and the list of feedback recorded for it (so the UI can
1317
+ * pre-fill and so an org admin can review past ratings). Conversation-scoped;
1318
+ * pass `turn_id` in the body to scope feedback to a single turn.
1319
+ *
1320
+ * Endpoint shape:
1321
+ * POST /v1/agent/chat/sessions/:id/feedback
1322
+ * GET /v1/agent/chat/sessions/:id/feedback
1323
+ */
1324
+ declare class ChatFeedbackScope {
1325
+ private readonly http;
1326
+ constructor(http: BaseClient);
1327
+ submit(scope: ChatScope, conversationId: string, body: SubmitChatFeedbackRequest): Promise<ChatFeedbackEnvelope>;
1328
+ list(scope: ChatScope, conversationId: string): Promise<ListChatFeedbackResponse>;
1329
+ }
1213
1330
  declare class ChatClient {
1214
1331
  private readonly http;
1215
1332
  private readonly streamDeps;
@@ -1218,6 +1335,7 @@ declare class ChatClient {
1218
1335
  readonly questions: ChatQuestionsScope;
1219
1336
  readonly debug: ChatDebugScope;
1220
1337
  readonly schedules: ChatSchedulesScope;
1338
+ readonly feedback: ChatFeedbackScope;
1221
1339
  constructor(http: BaseClient, streamDeps: {
1222
1340
  baseUrl: string;
1223
1341
  getToken?: TokenProvider;
@@ -2097,4 +2215,4 @@ declare class NotImplementedError extends Error {
2097
2215
  constructor(method: string);
2098
2216
  }
2099
2217
 
2100
- export { type AcceptInviteRequest, AccessType, type AcquireScanLeaseRequest, type AcquireScanLeaseResponse, type ActionCategory, type ActivateRequest, type AddMemberRequest, type AnswerChatQuestionRequest, type AnswerChatQuestionResponse, type AuthUser, BaseClient, type BaseClientOptions, type BudgetScope, BudgetsClient, type BuyCustomCreditRequest, type BuyCustomCreditResponse, type BuySubscriptionRequest, type BuySubscriptionResponse, CAP_AI, CAP_COMPUTE, CAP_GENERAL, CAP_NOTIFY, CAP_STORAGE, CAP_VCS, type CancelChatTurnResponse, type CancelSubscriptionResponse, type ChatAssistantMessagePayload, type ChatBillingRefuseCode, type ChatBillingRefuseError, type ChatBudget, type ChatCheckpointedPayload, type ChatCompactionFiredPayload, type ChatDonePayload, type ChatEvent, type ChatEventType, type ChatMessage, type ChatMessageKind, type ChatMessageRole, type ChatNarrationPayload, type ChatPhase, type ChatPhasePayload, type ChatPlanDraftPayload, type ChatQuestionPayload, type ChatSchedule, type ChatScheduleEnvelope, type ChatScheduleNotifyOn, type ChatScheduleRunStatus, type ChatScope, type ChatSession, type ChatSessionSource, type ChatSessionTitlePayload, type ChatStepEventPayload, type ChatStepProgressPayload, type ChatStreamHandle, type ChatToolCallConfirmationRequiredPayload, type ChatToolCallFinishedPayload, type ChatToolCallStartedPayload, type ClarificationOption, CloudAgentClient, type CloudAgentClientOptions, type CloudResource, type CloudResourceContainerRef, type CloudResourceEdge, type CloudScanHistory, type CloudScanLease, type ConfirmChatToolCallRequest, type ConfirmChatToolCallResponse, type CreateAgentTemplateRequest, type CreateChatScheduleRequest, type CreateChatSessionRequest, type CreateChatSessionResponse, type CreateCredentialRequest, type CreateGatewayTokenRequest, type CreateGatewayTokenResponse, type CreateOrganizationUserRequest, type CreateProjectRequest, type CreateSandboxRequest, type CreateScheduledTaskRequest, type Credential, type CreditBalance, type CreditTransaction, type CreditTransactionKind, type CreditTransactionType, type CustomCreditPurchaseConfig, type DebugPayload, type DebugReceipt, type EffectiveChatBudget, type ExchangeCodeRequest, type FieldSpec, type FieldType, type FineTuneParams, type GatewayToken, type GetChatSessionResponse, type GetUsageSummaryQuery, type GetUsageSummaryResponse, HttpError, type ImpersonationProvider, type InviteOrgRequest, type InviteOrgResult, type ListAgentTemplatesQuery, type ListAgentTemplatesResponse, type ListChatScheduleRunsResponse, type ListChatSchedulesResponse, type ListChatSessionsQuery, type ListChatSessionsResponse, type ListCredentialsQuery, type ListCreditsTransactionsQuery, type ListCreditsTransactionsResponse, type ListPaymentsResponse, type ListSandboxesQuery, type ListScanHistoryQuery, type ListScanHistoryResponse, type ListScheduledTasksQuery, type ListScheduledTasksResponse, type LoginRequest, type MFASetupResponse, type MFASimpleResponse, type MFAStatus, MFAType, type MFAVerifyLoginRequest, type MFAVerifyLoginResponse, type MFAVerifySetupRequest, type MagicLinkActivateRequest, type MagicLinkSendResponse, type ModeType, type MonthlyCreditStats, NotImplementedError, type OpenChatStreamOptions, type OrgBudget, OrgRoles, type OrgSubscription, type Organization, type OrganizationUser, PROVIDER_CATALOG, type Payment, type PeekScanLeaseResponse, type PostChatMessageRequest, type PostChatMessageResponse, type Project, type ProjectMember, type ProviderID, type ProviderSpec, ProviderType, type PublicConfig, type Query, type ReconcileScope, type ReconcileTuple, type RefreshRequest, type RegisterRequest, type RequestOptions, type ResetPasswordRequest, type ResourceTreeCategory, type ResourceTreeCredential, type ResourceTreeGrouping, type ResourceTreeResource, type ResourceTreeResponse, ResourcesClient, type Sandbox, type SandboxCredential, type ScanInProgressError, type ScheduledTask, type ScopedBudget, type SessionResponse, type SessionTokens, type SimpleAgentResponse, type SimpleKeysResponse, type SimpleOrgResponse, type SimpleResponse$2 as SimpleResponse, type StorageType, type SubgraphDirection, type SubgraphRequest, type SubgraphResponse, type Subscription, type SubscriptionCapability, type SubscriptionPeriod, type SystemEvent, type SystemEventQuery, type SystemEventQueryResponse, type SystemEventReadResponse, type Template, type TokenProvider, type UnauthorizedHandler, type UpdateChatBudgetRequest, type UpdateChatScheduleRequest, type UpdateCostLimitRequest, type UpdateCredentialRequest, type UpdateMemberRoleRequest, type UpdateOrgBudgetRequest, type UpdateOrgUserRequest, type UpdateOrganizationRequest, type UpdateProjectRequest, type UpdateSandboxRequest, type UpdateScopedBudgetRequest, type UpdateUserRequest, type UpdateUserResponse, type UsageBucket, type UsageByModelQuery, type UsageByModelResponse, type UsageByModelRow, type UsageReportQuery, type UsageReportResponse, type UsageSummary, type UsageSummaryQuery, type UsageSummaryResponse, type UsageTotals, type UsageWindow, type UserProfile, type UserSummary, computeDisplayHint, getProvider, getValueAt, isMetadataPath, isSecretPath, listProviders, metadataKey, setValueAt, usdMicros, validate };
2218
+ export { type AcceptInviteRequest, AccessType, type AcquireScanLeaseRequest, type AcquireScanLeaseResponse, type ActionCategory, type ActivateRequest, type AddMemberRequest, type AddUserToOrgRequest, type AddUserToOrgResult, type AdjustOrgCreditsRequest, type AdjustOrgCreditsResult, type AnswerChatQuestionRequest, type AnswerChatQuestionResponse, type AuthUser, BaseClient, type BaseClientOptions, type BudgetScope, BudgetsClient, type BuyCustomCreditRequest, type BuyCustomCreditResponse, type BuySubscriptionRequest, type BuySubscriptionResponse, CAP_AI, CAP_COMPUTE, CAP_GENERAL, CAP_NOTIFY, CAP_STORAGE, CAP_VCS, type CancelChatTurnResponse, type CancelSubscriptionResponse, type ChatAssistantMessagePayload, type ChatBillingRefuseCode, type ChatBillingRefuseError, type ChatBudget, type ChatCheckpointedPayload, type ChatCompactionFiredPayload, type ChatDonePayload, type ChatEvent, type ChatEventType, type ChatFeedback, type ChatFeedbackEnvelope, type ChatMessage, type ChatMessageKind, type ChatMessageRole, type ChatNarrationPayload, type ChatPhase, type ChatPhasePayload, type ChatPlanDraftPayload, type ChatQuestionPayload, type ChatSchedule, type ChatScheduleEnvelope, type ChatScheduleNotifyOn, type ChatScheduleRunStatus, type ChatScope, type ChatSession, type ChatSessionSource, type ChatSessionTitlePayload, type ChatStepEventPayload, type ChatStepProgressPayload, type ChatStreamHandle, type ChatToolCallConfirmationRequiredPayload, type ChatToolCallFinishedPayload, type ChatToolCallStartedPayload, type ChatTurnStatus, type ClarificationOption, CloudAgentClient, type CloudAgentClientOptions, type CloudResource, type CloudResourceContainerRef, type CloudResourceEdge, type CloudScanHistory, type CloudScanLease, type ConfirmChatToolCallRequest, type ConfirmChatToolCallResponse, type CreateAgentTemplateRequest, type CreateChatScheduleRequest, type CreateChatSessionRequest, type CreateChatSessionResponse, type CreateCredentialRequest, type CreateGatewayTokenRequest, type CreateGatewayTokenResponse, type CreateOrganizationUserRequest, type CreateProjectRequest, type CreateSandboxRequest, type CreateScheduledTaskRequest, type Credential, type CreditBalance, type CreditTransaction, type CreditTransactionKind, type CreditTransactionType, type CustomCreditPurchaseConfig, type DebugPayload, type DebugReceipt, type EffectiveChatBudget, type ExchangeCodeRequest, type FieldSpec, type FieldType, type FineTuneParams, type GatewayToken, type GetChatSessionResponse, type GetUsageSummaryQuery, type GetUsageSummaryResponse, HttpError, type ImpersonationProvider, type InviteOrgRequest, type InviteOrgResult, type ListAgentTemplatesQuery, type ListAgentTemplatesResponse, type ListChatFeedbackResponse, type ListChatScheduleRunsResponse, type ListChatSchedulesResponse, type ListChatSessionsQuery, type ListChatSessionsResponse, type ListCredentialsQuery, type ListCreditsTransactionsQuery, type ListCreditsTransactionsResponse, type ListPaymentsResponse, type ListSandboxesQuery, type ListScanHistoryQuery, type ListScanHistoryResponse, type ListScheduledTasksQuery, type ListScheduledTasksResponse, type LoginRequest, type MFASetupResponse, type MFASimpleResponse, type MFAStatus, MFAType, type MFAVerifyLoginRequest, type MFAVerifyLoginResponse, type MFAVerifySetupRequest, type MagicLinkActivateRequest, type MagicLinkSendResponse, type ModeType, type MonthlyCreditStats, NotImplementedError, type OpenChatStreamOptions, type OrgBudget, type OrgCreditBalance, OrgRoles, type OrgSubscription, type Organization, type OrganizationUser, PROVIDER_CATALOG, type Payment, type PeekScanLeaseResponse, type PostChatMessageRequest, type PostChatMessageResponse, type Project, type ProjectMember, type ProviderID, type ProviderSpec, ProviderType, type PublicConfig, type Query, type ReconcileScope, type ReconcileTuple, type RefreshRequest, type RegisterRequest, type RequestOptions, type ResetPasswordRequest, type ResourceTreeCategory, type ResourceTreeCredential, type ResourceTreeGrouping, type ResourceTreeResource, type ResourceTreeResponse, ResourcesClient, type Sandbox, type SandboxCredential, type ScanInProgressError, type ScheduledTask, type ScopedBudget, type SessionResponse, type SessionTokens, type SimpleAgentResponse, type SimpleKeysResponse, type SimpleOrgResponse, type SimpleResponse$2 as SimpleResponse, type StorageType, type SubgraphDirection, type SubgraphRequest, type SubgraphResponse, type SubmitChatFeedbackRequest, type Subscription, type SubscriptionCapability, type SubscriptionPeriod, type SystemEvent, type SystemEventQuery, type SystemEventQueryResponse, type SystemEventReadResponse, type Template, type TokenProvider, type UnauthorizedHandler, type UpdateChatBudgetRequest, type UpdateChatScheduleRequest, type UpdateCostLimitRequest, type UpdateCredentialRequest, type UpdateMemberRoleRequest, type UpdateOrgBudgetRequest, type UpdateOrgUserRequest, type UpdateOrganizationRequest, type UpdateProjectRequest, type UpdateSandboxRequest, type UpdateScopedBudgetRequest, type UpdateUserRequest, type UpdateUserResponse, type UsageBucket, type UsageByModelQuery, type UsageByModelResponse, type UsageByModelRow, type UsageReportQuery, type UsageReportResponse, type UsageSummary, type UsageSummaryQuery, type UsageSummaryResponse, type UsageTotals, type UsageWindow, type UserProfile, type UserSummary, computeDisplayHint, getProvider, getValueAt, isMetadataPath, isSecretPath, listProviders, metadataKey, setValueAt, usdMicros, validate };
package/dist/index.js CHANGED
@@ -300,6 +300,41 @@ var OrganizationClient = class {
300
300
  const res = await this.http.patch(`/orgs/${orgId}/allow-debug`, { body: { allow } });
301
301
  return res.data;
302
302
  }
303
+ /**
304
+ * Platform-admin only: add a new member to an existing org.
305
+ * Creates the user without a password and sends an invite email via the
306
+ * same TokenOrgInvite flow as the regular member invite.
307
+ * Returns 403 unless platform admin; 409 when the email already exists.
308
+ */
309
+ async addUserToOrg(orgId, body) {
310
+ const res = await this.http.post(
311
+ `/orgs/${orgId}/users`,
312
+ { body }
313
+ );
314
+ return unwrapData(res);
315
+ }
316
+ /**
317
+ * Platform-admin only: fetch an org's two-bucket credit balance.
318
+ * Returns 403 unless platform admin; 404 when the org doesn't exist.
319
+ */
320
+ async getOrgCreditBalance(orgId) {
321
+ const res = await this.http.get(
322
+ `/orgs/${orgId}/credits`
323
+ );
324
+ return unwrapData(res);
325
+ }
326
+ /**
327
+ * Platform-admin only: grant or revoke credits on an org.
328
+ * amountMicros is signed: positive = grant, negative = revoke.
329
+ * Records a CreditKindAdminAdjust ledger entry and returns the updated balance.
330
+ */
331
+ async adjustOrgCredits(orgId, body) {
332
+ const res = await this.http.post(
333
+ `/orgs/${orgId}/credits/adjust`,
334
+ { body }
335
+ );
336
+ return unwrapData(res);
337
+ }
303
338
  };
304
339
 
305
340
  // src/adapters/projectAdapter.ts
@@ -779,6 +814,22 @@ var ChatSchedulesScope = class {
779
814
  );
780
815
  }
781
816
  };
817
+ var ChatFeedbackScope = class {
818
+ constructor(http) {
819
+ this.http = http;
820
+ }
821
+ submit(scope, conversationId, body) {
822
+ return this.http.post(`${BASE_PATH}/${conversationId}/feedback`, {
823
+ body,
824
+ headers: scopeHeaders(scope)
825
+ });
826
+ }
827
+ list(scope, conversationId) {
828
+ return this.http.get(`${BASE_PATH}/${conversationId}/feedback`, {
829
+ headers: scopeHeaders(scope)
830
+ });
831
+ }
832
+ };
782
833
  var ChatClient = class {
783
834
  constructor(http, streamDeps) {
784
835
  this.http = http;
@@ -788,6 +839,7 @@ var ChatClient = class {
788
839
  this.questions = new ChatQuestionsScope(http);
789
840
  this.debug = new ChatDebugScope(http);
790
841
  this.schedules = new ChatSchedulesScope(http);
842
+ this.feedback = new ChatFeedbackScope(http);
791
843
  }
792
844
  openStream(options) {
793
845
  return openChatStream(this.streamDeps, options);