@smoothcodes/agent-client 0.1.2 → 0.2.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.
Files changed (30) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/{chunk-WQFHS5IU.js → chunk-E4ZFXITU.js} +861 -211
  3. package/dist/chunk-E4ZFXITU.js.map +7 -0
  4. package/dist/index.js +1 -1
  5. package/dist/testing.js +1 -1
  6. package/dist/types/sdk/generated/ts-client/api/errors/BadRequestError.d.ts +3 -1
  7. package/dist/types/sdk/generated/ts-client/api/errors/ConflictError.d.ts +3 -1
  8. package/dist/types/sdk/generated/ts-client/api/errors/ForbiddenError.d.ts +3 -1
  9. package/dist/types/sdk/generated/ts-client/api/errors/InternalServerError.d.ts +3 -1
  10. package/dist/types/sdk/generated/ts-client/api/errors/TooManyRequestsError.d.ts +3 -1
  11. package/dist/types/sdk/generated/ts-client/api/errors/UnauthorizedError.d.ts +3 -1
  12. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/Client.d.ts +3 -2
  13. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/CreateChat.d.ts +6 -0
  14. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/SwitchAgent.d.ts +21 -3
  15. package/dist/types/sdk/generated/ts-client/api/resources/providers/types/MyProvidersListResponse.d.ts +1 -1
  16. package/dist/types/sdk/generated/ts-client/api/types/Agent.d.ts +16 -5
  17. package/dist/types/sdk/generated/ts-client/api/types/AgentProviderOption.d.ts +11 -0
  18. package/dist/types/sdk/generated/ts-client/api/types/AgentPublic.d.ts +6 -1
  19. package/dist/types/sdk/generated/ts-client/api/types/ChatDeleted.d.ts +15 -0
  20. package/dist/types/sdk/generated/ts-client/api/types/ChatSelection.d.ts +2 -0
  21. package/dist/types/sdk/generated/ts-client/api/types/EventsFailure.d.ts +2 -2
  22. package/dist/types/sdk/generated/ts-client/api/types/EventsInboxState.d.ts +1 -0
  23. package/dist/types/sdk/generated/ts-client/api/types/ModelInfo.d.ts +6 -0
  24. package/dist/types/sdk/generated/ts-client/api/types/MyProviderStatus.d.ts +61 -0
  25. package/dist/types/sdk/generated/ts-client/api/types/index.d.ts +3 -0
  26. package/dist/types/sdk/generated/ts-client/environments.d.ts +1 -1
  27. package/dist/types/sdk/ts/client/src/index.d.ts +2 -1
  28. package/dist/types/sdk/ts/core-live/src/client.d.ts +1 -1
  29. package/package.json +3 -2
  30. package/dist/chunk-WQFHS5IU.js.map +0 -7
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  SmoothAgentApiTimeoutError,
7
7
  apiErrorBody,
8
8
  sortProviders
9
- } from "./chunk-WQFHS5IU.js";
9
+ } from "./chunk-E4ZFXITU.js";
10
10
  import "./chunk-PZ5AY32C.js";
11
11
  export {
12
12
  DEFAULT_BASE_URL,
package/dist/testing.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SmoothAgent
3
- } from "./chunk-WQFHS5IU.js";
3
+ } from "./chunk-E4ZFXITU.js";
4
4
  import "./chunk-PZ5AY32C.js";
5
5
 
6
6
  // src/testing.ts
@@ -1,5 +1,7 @@
1
1
  import type * as core from "../../core/index.js";
2
2
  import * as errors from "../../errors/index.js";
3
+ import type * as SmoothAgentApi from "../index.js";
3
4
  export declare class BadRequestError extends errors.SmoothAgentApiError {
4
- constructor(body?: unknown, rawResponse?: core.RawResponse);
5
+ readonly body: SmoothAgentApi.Error_;
6
+ constructor(body: SmoothAgentApi.Error_, rawResponse?: core.RawResponse);
5
7
  }
@@ -1,5 +1,7 @@
1
1
  import type * as core from "../../core/index.js";
2
2
  import * as errors from "../../errors/index.js";
3
+ import type * as SmoothAgentApi from "../index.js";
3
4
  export declare class ConflictError extends errors.SmoothAgentApiError {
4
- constructor(body?: unknown, rawResponse?: core.RawResponse);
5
+ readonly body: SmoothAgentApi.Error_;
6
+ constructor(body: SmoothAgentApi.Error_, rawResponse?: core.RawResponse);
5
7
  }
@@ -1,5 +1,7 @@
1
1
  import type * as core from "../../core/index.js";
2
2
  import * as errors from "../../errors/index.js";
3
+ import type * as SmoothAgentApi from "../index.js";
3
4
  export declare class ForbiddenError extends errors.SmoothAgentApiError {
4
- constructor(body?: unknown, rawResponse?: core.RawResponse);
5
+ readonly body: SmoothAgentApi.Error_;
6
+ constructor(body: SmoothAgentApi.Error_, rawResponse?: core.RawResponse);
5
7
  }
@@ -1,5 +1,7 @@
1
1
  import type * as core from "../../core/index.js";
2
2
  import * as errors from "../../errors/index.js";
3
+ import type * as SmoothAgentApi from "../index.js";
3
4
  export declare class InternalServerError extends errors.SmoothAgentApiError {
4
- constructor(body?: unknown, rawResponse?: core.RawResponse);
5
+ readonly body: SmoothAgentApi.Error_;
6
+ constructor(body: SmoothAgentApi.Error_, rawResponse?: core.RawResponse);
5
7
  }
@@ -1,5 +1,7 @@
1
1
  import type * as core from "../../core/index.js";
2
2
  import * as errors from "../../errors/index.js";
3
+ import type * as SmoothAgentApi from "../index.js";
3
4
  export declare class TooManyRequestsError extends errors.SmoothAgentApiError {
4
- constructor(body?: unknown, rawResponse?: core.RawResponse);
5
+ readonly body: SmoothAgentApi.Error_;
6
+ constructor(body: SmoothAgentApi.Error_, rawResponse?: core.RawResponse);
5
7
  }
@@ -1,5 +1,7 @@
1
1
  import type * as core from "../../core/index.js";
2
2
  import * as errors from "../../errors/index.js";
3
+ import type * as SmoothAgentApi from "../index.js";
3
4
  export declare class UnauthorizedError extends errors.SmoothAgentApiError {
4
- constructor(body?: unknown, rawResponse?: core.RawResponse);
5
+ readonly body: SmoothAgentApi.Error_;
6
+ constructor(body: SmoothAgentApi.Error_, rawResponse?: core.RawResponse);
5
7
  }
@@ -91,7 +91,8 @@ export declare class ChatsClient {
91
91
  get(request: SmoothAgentApi.ChatsGetRequest, requestOptions?: ChatsClient.RequestOptions): core.HttpResponsePromise<SmoothAgentApi.Chat>;
92
92
  private __get;
93
93
  /**
94
- * Apaga o chat, o log e a box própria (a instância só é destruída aqui).
94
+ * Apaga o chat, o log e a box própria (a instância só é destruída aqui).O chat some NA HORA (404 em toda rota, inclusive o `/live`; o socket aberto recebe `bye`). A limpeza da box própria
95
+ * (Detona) segue em segundo plano — `cleanup: pending` — e um cron repete até destruir (com teto e alerta).
95
96
  *
96
97
  * @param {SmoothAgentApi.ChatsDeleteRequest} request
97
98
  * @param {ChatsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -117,7 +118,7 @@ export declare class ChatsClient {
117
118
  * id: "id"
118
119
  * })
119
120
  */
120
- delete(request: SmoothAgentApi.ChatsDeleteRequest, requestOptions?: ChatsClient.RequestOptions): core.HttpResponsePromise<SmoothAgentApi.Deleted>;
121
+ delete(request: SmoothAgentApi.ChatsDeleteRequest, requestOptions?: ChatsClient.RequestOptions): core.HttpResponsePromise<SmoothAgentApi.ChatDeleted>;
121
122
  private __delete;
122
123
  /**
123
124
  * @param {SmoothAgentApi.ChatsUpdateRequest} request
@@ -19,6 +19,12 @@ export interface CreateChat {
19
19
  machineId?: string;
20
20
  /** Só chave sem `as`: de quem é o chat. */
21
21
  userId?: string;
22
+ /**
23
+ * O motor do chat (fixo nele). Agente COM motor: ausente ou o dele (outro = `invalid_request {reason: provider_fixed}`).
24
+ * Agente SEM motor: um provedor CONECTADO do usuário; ausente = o último que ele usou com este agente, senão o 1º
25
+ * conectado (claude, codex); nenhum conectado = `provider_not_connected {needs}`.
26
+ */
27
+ provider?: SmoothAgentApi.EventsProvider;
22
28
  /** Modelo deste chat, dentro do que o agente permite E está conectado. */
23
29
  model?: string;
24
30
  effort?: string;
@@ -1,3 +1,4 @@
1
+ import type * as SmoothAgentApi from "../../../../index.js";
1
2
  /**
2
3
  * @example
3
4
  * {
@@ -11,7 +12,24 @@ export interface SwitchAgent {
11
12
  "Idempotency-Key"?: string;
12
13
  /** O agente novo (pode ser o mesmo, trocando só o modelo). Exige grant/allAgents. */
13
14
  agentId: string;
14
- /** Ausente = padrão do agente novo. Tem que estar em `selection.options`. */
15
- model?: string;
16
- effort?: string;
15
+ /**
16
+ * Só pra um agente SEM motor: o provedor (conectado) no agente novo — a regra do create. No MESMO agente o provedor é o
17
+ * do chat: pedir outro = `conflict {reason: provider_switch_unavailable}` (a troca de provedor no meio do chat vem com
18
+ * o próximo runtime — DESIGN §14).
19
+ */
20
+ provider?: SmoothAgentApi.EventsProvider;
21
+ /**
22
+ * Tem que estar em `selection.options`. AUSENTE: no MESMO agente (`agentId` = o atual) fica o modelo de AGORA (trocar
23
+ * só o esforço não reseta o modelo); noutro agente, o padrão do agente novo. O herdado que não vale mais (saiu da
24
+ * lista) cai pro padrão; o que o pedido traz é validado (fora das opções = `invalid_request`). `null` = VOLTAR AO
25
+ * PADRÃO do agente, explícito.
26
+ */
27
+ model?: string | null;
28
+ /**
29
+ * AUSENTE: no MESMO agente fica o esforço de AGORA, se o modelo resultante o tiver (senão cai); noutro agente, o
30
+ * padrão do agente novo. `null` = VOLTAR AO PADRÃO, explícito: o esforço do agente se o modelo resultante for o
31
+ * dele, senão nenhum (o padrão do próprio modelo). O mesmo vale pro frame `switch` do socket (a RPC `resolveSwitch`
32
+ * usa a mesma regra).
33
+ */
34
+ effort?: string | null;
17
35
  }
@@ -1,4 +1,4 @@
1
1
  import type * as SmoothAgentApi from "../../../index.js";
2
2
  export interface MyProvidersListResponse {
3
- data: SmoothAgentApi.ProviderStatus[];
3
+ data: SmoothAgentApi.MyProviderStatus[];
4
4
  }
@@ -3,7 +3,12 @@ export interface Agent {
3
3
  id: string;
4
4
  workspaceId: string;
5
5
  name: string;
6
- provider: SmoothAgentApi.EventsProvider;
6
+ /**
7
+ * O motor. Ausente = agente SEM motor (DESIGN §14, 2026-11-01): roda com a credencial DO USUÁRIO e o chat escolhe
8
+ * entre os provedores que ele tem conectados (fixo no chat). Sem motor não aceita `credential`
9
+ * (`{reason: connection_requires_provider}`) nem `model`/`allowedModels`/`providerOptions` (`{reason: provider_required}`).
10
+ */
11
+ provider?: SmoothAgentApi.EventsProvider | undefined;
7
12
  /** Id do modelo do provedor; ausente = padrão da conta/assinatura. `id#esforço` vira o esforço. */
8
13
  model?: string | undefined;
9
14
  /** Recorte do que o usuário pode escolher por chat. Ausente = só `model`. */
@@ -14,12 +19,18 @@ export interface Agent {
14
19
  box?: SmoothAgentApi.BoxProfile | undefined;
15
20
  placement?: SmoothAgentApi.Placement | undefined;
16
21
  /**
17
- * O que `mode: 'auto'` faz com o agente trabalhando. Ausente na criação = `steer`
18
- * (a experiência do terminal), GRAVADO na config — a leitura sempre traz o valor. O mesmo padrão em
22
+ * O que `mode: 'auto'` faz com o agente trabalhando. Ausente na criação = `queue` (decisão do dono 2026-11-01: a
23
+ * FILA é o padrão; `steer` — a experiência do terminal — é escolha explícita; fila vazia começa na hora), GRAVADO na config — a leitura sempre traz o valor. O mesmo padrão em
19
24
  * todas as pontas (control, realtime, box).
20
25
  */
21
26
  queue?: Agent.Queue | undefined;
22
27
  hooks?: SmoothAgentApi.AgentHooks | undefined;
28
+ /**
29
+ * A credencial do WORKSPACE (uma conexão) que roda o agente; vence a do usuário (§9.7). ATENÇÃO: pôr `credential` num
30
+ * agente que já tem chats faz TODOS eles passarem a rodar com a conexão no próximo turno (e tirar faz voltarem pra a
31
+ * credencial de cada usuário) — sem aviso aos usuários. Exige `provider` (agente sem motor = 400
32
+ * `connection_requires_provider`).
33
+ */
23
34
  credential?: SmoothAgentApi.AgentCredential | undefined;
24
35
  /** Opções nativas do provedor repassadas sem interpretar (permissões, sandbox…). */
25
36
  providerOptions?: Record<string, unknown> | undefined;
@@ -47,8 +58,8 @@ export interface Agent {
47
58
  }
48
59
  export declare namespace Agent {
49
60
  /**
50
- * O que `mode: 'auto'` faz com o agente trabalhando. Ausente na criação = `steer`
51
- * (a experiência do terminal), GRAVADO na config — a leitura sempre traz o valor. O mesmo padrão em
61
+ * O que `mode: 'auto'` faz com o agente trabalhando. Ausente na criação = `queue` (decisão do dono 2026-11-01: a
62
+ * FILA é o padrão; `steer` — a experiência do terminal — é escolha explícita; fila vazia começa na hora), GRAVADO na config — a leitura sempre traz o valor. O mesmo padrão em
52
63
  * todas as pontas (control, realtime, box).
53
64
  */
54
65
  interface Queue {
@@ -0,0 +1,11 @@
1
+ import type * as SmoothAgentApi from "../index.js";
2
+ /**
3
+ * Um provedor que o usuário pode usar num agente SEM motor (os que ele tem conectados).
4
+ */
5
+ export interface AgentProviderOption {
6
+ provider: SmoothAgentApi.EventsProvider;
7
+ /** Os modelos que a credencial DELE libera nesse provedor. */
8
+ models: SmoothAgentApi.ModelInfo[];
9
+ capabilities: SmoothAgentApi.EventsCapabilities;
10
+ ready: boolean;
11
+ }
@@ -2,9 +2,14 @@ import type * as SmoothAgentApi from "../index.js";
2
2
  export interface AgentPublic {
3
3
  id: string;
4
4
  name: string;
5
- provider: SmoothAgentApi.EventsProvider;
5
+ /** Ausente = agente SEM motor: as opções estão em `providers` (o chat escolhe uma no create). */
6
+ provider?: SmoothAgentApi.EventsProvider | undefined;
7
+ /** Agente com motor: os modelos dele. Sem motor: vazio (ver `providers[].models`). */
6
8
  models: SmoothAgentApi.ModelInfo[];
9
+ /** Agente sem motor: o que vale nos dois motores; o de cada um está em `providers[].capabilities`. */
7
10
  capabilities: SmoothAgentApi.EventsCapabilities;
11
+ /** Só agente SEM motor: os provedores que o usuário tem CONECTADOS (vazio = nenhum; `needs` diz o que conectar). */
12
+ providers?: SmoothAgentApi.AgentProviderOption[] | undefined;
8
13
  theme?: SmoothAgentApi.AgentTheme | undefined;
9
14
  /** O usuário consegue mandar mensagem agora? (`provider_not_connected` se não). */
10
15
  ready: boolean;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * O chat apagado: some na hora; `pending` = a limpeza da box ainda corre (sem esperar o Detona), `done` = já foi.
3
+ */
4
+ export interface ChatDeleted {
5
+ id: string;
6
+ deleted: boolean;
7
+ cleanup: ChatDeleted.Cleanup;
8
+ }
9
+ export declare namespace ChatDeleted {
10
+ const Cleanup: {
11
+ readonly Pending: "pending";
12
+ readonly Done: "done";
13
+ };
14
+ type Cleanup = (typeof Cleanup)[keyof typeof Cleanup];
15
+ }
@@ -22,6 +22,8 @@ export declare namespace ChatSelection {
22
22
  /** O modelo que VAI RODAR, resolvido (chat > agente > padrão da credencial). Ausente só se o provedor não informou nenhum. */
23
23
  model?: string | undefined;
24
24
  modelName?: string | undefined;
25
+ /** O modelo concreto em que o `model` (alias da assinatura) resolve agora, segundo o CLI. Ausente = `model` já é concreto. */
26
+ resolvedModel?: string | undefined;
25
27
  /** Esforço separado do modelo (P1). */
26
28
  effort?: string | undefined;
27
29
  /** De onde vem a credencial que roda este chat; null = nenhuma conectada. */
@@ -1,6 +1,6 @@
1
1
  import type * as SmoothAgentApi from "../index.js";
2
2
  /**
3
- * Uma falha pronta pra tela: código de erro, motivo fino e mensagem sem segredo.
3
+ * Uma falha pronta pra tela: código de erro, motivo fino e mensagem sem segredo. Credencial que falta ou venceu (provider_not_connected / provider_auth_expired): o provedor DELA vem em `details.provider`, que pode diferir do provedor do agente.
4
4
  */
5
5
  export interface EventsFailure {
6
6
  code: SmoothAgentApi.EventsErrorCode;
@@ -12,6 +12,6 @@ export interface EventsFailure {
12
12
  resetsAt?: SmoothAgentApi.EventsTimestamp | undefined;
13
13
  /** Status HTTP que o provedor devolveu. */
14
14
  httpStatus?: number | undefined;
15
- /** Detalhes extras (sem segredo). */
15
+ /** Detalhes extras (sem segredo). Com `code` provider_not_connected ou provider_auth_expired, `details.provider` é o provedor da CREDENCIAL que falta ou venceu — pode ser diferente de `run.agent.provider` (ex.: um agente fake que roda com a credencial Claude do usuário): é ele que a tela manda conectar/reconectar. */
16
16
  details?: Record<string, unknown> | undefined;
17
17
  }
@@ -43,6 +43,7 @@ export declare namespace EventsInboxState {
43
43
  readonly NoCredit: "no_credit";
44
44
  readonly Auth: "auth";
45
45
  readonly Error: "error";
46
+ readonly WakeFailed: "wake_failed";
46
47
  };
47
48
  type Reason = (typeof Reason)[keyof typeof Reason];
48
49
  }
@@ -1,6 +1,12 @@
1
1
  export interface ModelInfo {
2
+ /** O que vai no pedido (`model`): o id do provedor, ou o ALIAS que o CLI da assinatura aceita (`default`, `opus`…). */
2
3
  id: string;
3
4
  name: string;
4
5
  isDefault: boolean;
5
6
  efforts?: string[] | undefined;
7
+ /**
8
+ * O modelo concreto em que o alias resolve AGORA, como o próprio CLI diz (Claude: o `initialize`, ex.
9
+ * `default` → `claude-opus-5-5`). Ausente = o `id` já é o modelo concreto.
10
+ */
11
+ resolvedModel?: string | undefined;
6
12
  }
@@ -0,0 +1,61 @@
1
+ import type * as SmoothAgentApi from "../index.js";
2
+ /**
3
+ * Um provedor na lista do usuário: o status + se algum agente que ele pode usar roda nele.
4
+ */
5
+ export interface MyProviderStatus {
6
+ provider: SmoothAgentApi.ProviderKind;
7
+ connected: boolean;
8
+ /** `agent` = o agente já traz (o usuário não precisa conectar). */
9
+ via: MyProviderStatus.Via.Item[];
10
+ /** Só assinatura: quando o access token atual vence (o CLI renova sozinho — doutrina do token). */
11
+ expiresAt?: (SmoothAgentApi.Timestamp | null) | undefined;
12
+ /**
13
+ * Saúde pro dashboard. `ok`; `expiring` = o access token da assinatura venceu, a box renova sozinha no
14
+ * próximo uso (nada a fazer); `dead` = o provedor recusou a renovação e não há outra viva (reconectar);
15
+ * `disconnected` = nada conectado.
16
+ */
17
+ status: MyProviderStatus.Status;
18
+ /** Explicação curta pro usuário quando não é `ok`. */
19
+ message?: string | undefined;
20
+ /** Os modelos que ESTA credencial libera (extraídos do provedor, nunca catálogo nosso). */
21
+ models: SmoothAgentApi.ModelInfo[];
22
+ /** Como conectar o que falta. */
23
+ connect: MyProviderStatus.Connect.Item[];
24
+ /**
25
+ * `true` = algum agente que o usuário pode usar roda neste provedor (o app do cliente filtra por isso pra
26
+ * mostrar "só o configurado"); `false` = oferecido, mas nenhum agente dele precisa agora.
27
+ */
28
+ needed: boolean;
29
+ }
30
+ export declare namespace MyProviderStatus {
31
+ type Via = Via.Item[];
32
+ namespace Via {
33
+ const Item: {
34
+ readonly Subscription: "subscription";
35
+ readonly Key: "key";
36
+ readonly Agent: "agent";
37
+ };
38
+ type Item = (typeof Item)[keyof typeof Item];
39
+ }
40
+ /**
41
+ * Saúde pro dashboard. `ok`; `expiring` = o access token da assinatura venceu, a box renova sozinha no
42
+ * próximo uso (nada a fazer); `dead` = o provedor recusou a renovação e não há outra viva (reconectar);
43
+ * `disconnected` = nada conectado.
44
+ */
45
+ const Status: {
46
+ readonly Ok: "ok";
47
+ readonly Expiring: "expiring";
48
+ readonly Dead: "dead";
49
+ readonly Disconnected: "disconnected";
50
+ };
51
+ type Status = (typeof Status)[keyof typeof Status];
52
+ type Connect = Connect.Item[];
53
+ namespace Connect {
54
+ const Item: {
55
+ readonly Oauth: "oauth";
56
+ readonly Device: "device";
57
+ readonly Key: "key";
58
+ };
59
+ type Item = (typeof Item)[keyof typeof Item];
60
+ }
61
+ }
@@ -2,6 +2,7 @@ export * from "./Agent.js";
2
2
  export * from "./AgentCredential.js";
3
3
  export * from "./AgentHooks.js";
4
4
  export * from "./AgentLimits.js";
5
+ export * from "./AgentProviderOption.js";
5
6
  export * from "./AgentPublic.js";
6
7
  export * from "./AgentTheme.js";
7
8
  export * from "./BoxFileContent.js";
@@ -10,6 +11,7 @@ export * from "./BoxFileList.js";
10
11
  export * from "./BoxProfile.js";
11
12
  export * from "./Chat.js";
12
13
  export * from "./ChatContext.js";
14
+ export * from "./ChatDeleted.js";
13
15
  export * from "./ChatSelection.js";
14
16
  export * from "./ChatTask.js";
15
17
  export * from "./ChatTaskOutput.js";
@@ -124,6 +126,7 @@ export * from "./Machine.js";
124
126
  export * from "./McpServer.js";
125
127
  export * from "./Metadata.js";
126
128
  export * from "./ModelInfo.js";
129
+ export * from "./MyProviderStatus.js";
127
130
  export * from "./OAuthFlow.js";
128
131
  export * from "./Pairing.js";
129
132
  export * from "./Placement.js";
@@ -1,4 +1,4 @@
1
1
  export declare const SmoothAgentApiEnvironment: {
2
- readonly Default: "https://api.smoothagent.dev/v3";
2
+ readonly Default: "https://smoothagent-v3-api.uaibuilder.workers.dev/v3";
3
3
  };
4
4
  export type SmoothAgentApiEnvironment = typeof SmoothAgentApiEnvironment.Default;
@@ -24,7 +24,8 @@ export interface SmoothAgentOptions {
24
24
  export type ChatLive = LiveChat<ContractChatState, ContractItem> & {
25
25
  release(): void;
26
26
  };
27
- export declare const DEFAULT_BASE_URL = "https://api.smoothagent.dev";
27
+ /** A base de produção = o `servers` do contrato (sem o `/v3`); white-label passa `baseUrl`. */
28
+ export declare const DEFAULT_BASE_URL: string;
28
29
  type GeneratedChats = SmoothAgentApiClient['chats'];
29
30
  export interface ChatsLive {
30
31
  /** O estado pronto da tela (snapshot + eventos aplicados + fila + box + histórico paginado). */
@@ -7,7 +7,7 @@ import { RunHandle } from './prompt.js';
7
7
  import type { HistoryPage as ControlHistoryPage } from '../../../generated/ts-client/api/types/HistoryPage.js';
8
8
  import { ChatListLive } from './feed.js';
9
9
  export interface LiveClientOptions<S, I> {
10
- /** `https://api.smoothagent.dev` (white-label: só isto muda). */
10
+ /** a base da API, ex. `https://smoothagent-v3-api.uaibuilder.workers.dev` (white-label: só isto muda). */
11
11
  baseUrl: string;
12
12
  token?: string;
13
13
  getToken?: () => Promise<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smoothcodes/agent-client",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "SmoothAgent SDK do usuário (token do usuário): REST gerada do contrato + a camada ao vivo (watch, events, prompt, lista de chats). Roda no navegador e no Node.",
6
6
  "license": "UNLICENSED",
@@ -29,7 +29,8 @@
29
29
  "files": [
30
30
  "dist",
31
31
  "!dist/bytes-*.js.map",
32
- "README.md"
32
+ "README.md",
33
+ "CHANGELOG.md"
33
34
  ],
34
35
  "sideEffects": false,
35
36
  "publishConfig": {