Repository navigation
docs(functions): sessão de agente da 0.3.0 no README e reexport dos tipos novos do Core (#74) - #75
JoaoLuisQuirino wants to merge 5 commits into
Conversation
| session.send("Inclua os cancelados", { mode: "queue" }) | ||
| ``` | ||
|
|
||
| - `send(prompt, options?)` manda na hora e devolve o `clientMessageId` da mensagem, ou `undefined` para texto em branco, que não sai. Sem turno rodando, a mensagem abre um turno. Com turno rodando e sem `mode`, o T3 decide como no composer dele: entra no turno em andamento quando o provedor aceita steer, ou espera na fila do T3. `mode: "steer"` pede o turno em andamento (o T3 recusa enquanto ele ainda não está rodando) e `mode: "queue"` pede a fila. `sendAndWait` aceita as mesmas opções e resolve com o turno que respondeu a mensagem. |
There was a problem hiding this comment.
Major: qualifique a garantia de mode. O texto afirma que steer e queue escolhem o destino da mensagem, mas no Core 0.3.0 o fallback pelo Copilot monta a mensagem sem esse campo (src/agentSession.ts, linhas 1435-1472 da tag v0.3.0). Documente que a escolha não é garantida quando o canal direto está indisponível. Se a garantia for requisito, a mudança necessária é no Core, fora deste PR.
| "AgentBackgroundTask", | ||
| "AgentMessageListOptions", | ||
| "AgentSubagent", | ||
| "AgentSubagentStatus", |
There was a problem hiding this comment.
Minor: a checagem confirma que os quatro nomes aparecem nas declarações ESM e CommonJS, mas não prova que um consumidor TypeScript consiga importá-los do pacote instalado. A issue #74 pede que os tipos sejam consumíveis. Acrescente os imports ao smoke test TypeScript para demonstrar esse contrato nas duas modalidades. Isso é uma prova adicional, não evidência de que os reexports atuais estejam quebrados.
|
Gandalf, análise 1 · commit Pega-rápido: a issue #74 pede tornar quatro tipos públicos do Core importáveis pelo SDK e documentar a sessão. O diff atende ao escopo sem alterar o comportamento de runtime. Insights: o mérito está claro e a solução é pequena, sem duplicar implementação. A principal ressalva é a documentação prometer comportamento de Forma: os reexports, README e verificação de declarações estão nos pontos esperados. Qualidade boa, com dois ajustes delimitados; não identifiquei impacto novo em segurança ou escalabilidade. Findings: 1 major na garantia documentada de Build & Test passou no SHA revisado. Confiança alta nos contratos de tipo e no fallback examinados. Decisão: mergeável do ponto de vista de execução, sem mudança de runtime neste diff. Recomendo corrigir a ressalva da documentação antes de tratar o comportamento de Para uma nova análise depois de mudanças, comente |
|
Incluido no #80 (functions-sdk 0.3.1, publicada). |
Closes #74
O que muda
src/index.tspassa a reexportar cinco tipos novos do Core 0.3.0 que aparecem na superfície que o pacote já expõe:AgentBackgroundTask(session.backgroundTasks, sugestão do review no chore(release): functions-sdk 0.3.0 com o sdk-core 0.3.0 (#72) #73),AgentSubagenteAgentSubagentStatus(session.subagents),AgentSubagentFrame(osubagentdo itemtooldohistory) eAgentMessageListOptions(agentTasks.listMessages). Antes, para nomear esses tipos, a Function precisava importar do@mitralab.io/sdk-core.modeo T3 decide;mode: "queue" | "steer"), a fila do T3 (queue,steerQueueItem,editQueueItem,removeQueueItem,clearQueue,resumeQueue),steered,backgroundTasks,subagentsestopSubagent, e ohistoryque cresce ao vivo, com os kinds novos da 0.3.0 (reasoning,approval,userInputRequeste texto de subagente comoagentcomparentToolId). Omodesó vale no canal da box; pelo Copilot a mensagem sai sem ele. Exemplo completo comsendAndWaitesession.close().0.3.1-beta.0com entrada no CHANGELOG, como no feat(functions): reexporta o uso do turno do sdk-core 0.2.11-beta.0 (#50) #51. Sem publicar. Os nomes foram conferidos noindex.d.tsdo@mitralab.io/sdk-core@0.3.0publicado.Só tipos, documentação e versão: nenhum comportamento muda, e quem usa a 0.3.0 não vê diferença em runtime.
O que ficou de fora, e por quê
Os outros tipos novos do Core 0.3.0 (
AgentHistoryCursor,AgentPieceIdentity,AgentTimelineItemIdentity) são peças internas de tipos já reexportados (cursor doeventSourcee mixins de identidade dos eventos e dos itens).AgentTaskRuntimeeAgentCredentialScope, que já existiam antes e a platform-sdk 1.7.0 reexporta, ficaram para o #76. Quem escreve uma Function não precisa nomeá-los, e a platform-sdk 1.7.0 também não os reexporta.Prova
scripts/check-declarations.mjspassa a exigir os cinco nomes nodist/index.d.tse nodist/index.d.cts. Sem o reexport, com osrc/index.tsdamain:(a primeira rodada, antes do
AgentSubagentFrameentrar no check). Com o reexport dos cinco:Declaration export checks passed for all 204 legacy symbols and 7 required native symbols in ESM and CommonJS. Onpm run checkinteiro passou local (142 testes).🤖 Generated with Claude Code