fix: superfície pós-lane wallet (snapshot OpenAPI com overspent, prosa de codespar_wallet, CLI marca overspent) - #141
Merged
Conversation
…ger opcional, fees) `node scripts/openapi-spec.mjs refresh` em packages/core contra https://api.codespar.dev/openapi.json (0.3.0, 175 caminhos, 215 operações). O que mudou no documento: - `GET /v1/consumers/{id}/wallet`: `available_minor` deixa de ser "floored at 0" (as duas ocorrências do gerado somem) e ganha `overspent: boolean` (ent#1204 / ent#1208). - `POST /v1/wallets/{id}/ledger`: `mandate_id`, `attempt_id`, `external_ref` opcionais (ent#1194). - `/v1/sessions/{id}/execute|proxy_execute|send`: texto do 403. - `/v1/fees`, `/v1/fees/movimentar`: caminhos novos; a tabela de operações e o pino do teste (`api-client.test.ts`) passam de 213 a 215, e README/CHANGELOG 0.12.0 (não publicado; npm serve 0.11.0) seguem. Refs codespar/codespar-enterprise#1208, codespar/codespar-enterprise#1204, codespar/codespar-enterprise#933 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…verspent (ent#1208) - `packages/types/src/meta-tool-definitions.ts` WALLET_DEFINITION: a `description` passa a ser o texto servido em api.codespar.dev/meta-tools.json copiado verbatim (balance devolve `balances[]` canônico; o saldo do provedor viaja como `provider_balance_minor`, só reconciliação). Só prosa; o schema de entrada não muda. Parte do drift ent#933 / ent#1199. - `packages/cli/src/commands/wallet.ts`: `WalletCurrency` ganha `overspent: boolean` (campo do openapi servido) e a coluna `available` imprime `-2500 (overspent)` quando a API o devolve, para o sinal negativo não ser o único aviso; a nota de rodapé explica a marca. Refs codespar/codespar-enterprise#1208, codespar/codespar-enterprise#1204, codespar/codespar-enterprise#933 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…6 é imutável) O portão `check-publish-drift` reprovou: a `description` de WALLET_DEFINITION muda o conteúdo empacotado e 0.10.16 já está no registry. Mesmo rito de #133: package.json, package-lock.json e o `version` de DEMO_SCENARIO_MANIFEST (o teste de lockstep exige igualdade). Sem entrada de CHANGELOG, como em #133. Uma tag de release publica todos os pacotes não-private juntos: a próxima tag leva types 0.10.17 (com sdk 0.12.0, cli 0.6.1 e os adapters 0.4.2, que já estavam com bump pendente). Refs codespar/codespar-enterprise#1208 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Metade
codespar-corede codespar/codespar-enterprise#1208 (lane wallet, PR codespar/codespar-enterprise#1204; drift de prosa é o de codespar/codespar-enterprise#933).O que muda
node scripts/openapi-spec.mjs refreshempackages/core, que é o mecanismo do repo: servido →openapi-snapshot.json→src/generated/openapi.ts+operations.ts), commit próprio. As duas ocorrências de "floored at 0" no gerado somem eoverspent: booleanaparece emGET /v1/consumers/{id}/wallet. O diff por caminho: esse,POST /v1/wallets/{id}/ledger(mandate_id/attempt_id/external_refopcionais, ent#1194),/v1/sessions/{id}/execute|proxy_execute|send(texto do 403) e dois caminhos NOVOS,/v1/feese/v1/fees/movimentar. A tabela de operações vai de 213 a 215, então o pino emapi-client.test.tssobe a 215 de propósito, e README/CHANGELOG de 0.12.0 (não publicado; npm serve 0.11.0) dizem 215/175.packages/types/src/meta-tool-definitions.ts: adescriptiondeWALLET_DEFINITIONpassa a ser o texto servido emapi.codespar.dev/meta-tools.jsoncopiado verbatim, não parafraseado. Só prosa;WALLET_INPUTnão muda.packages/cli/src/commands/wallet.ts:WalletCurrencyganhaoverspent: boolean(nome do openapi servido) e a colunaavailableimprime-2500 (overspent)quando a API devolveoverspent: true; a nota de rodapé explica a marca. Mínimo: nenhuma coluna nova, nenhum exit code novo.@codespar/types0.10.16 → 0.10.17 (commit próprio). O portãocheck-publish-driftdo CI reprovou: a prosa deWALLET_DEFINITIONmuda o conteúdo empacotado e 0.10.16 já está no registry, que é imutável. Mesmo rito de fix(release): bump @codespar/types para 0.10.16 e recusa conteudo que muda sem bump (core#129) #133 (package.json, package-lock.json,versiondeDEMO_SCENARIO_MANIFEST; sem entrada de CHANGELOG).@codespar/types0.10.14 (ent#933) e não é tocado aqui.Evidência
node scripts/openapi-spec.mjs check(packages/core, COM rede: servido == snapshot 35fddb5dbab7, 215 operações)npx vitest runempackages/core(19 arquivos, 190 testes; incluiopenapi-snapshot.test.tse o pino de 215 emapi-client.test.ts)npx vitest runempackages/types(150 testes; incluimeta-tool-definitions.test.tse a conformance)npx vitest runempackages/cli(31 testes)npx turbo run typecheck --filter=@codespar/sdk --filter=@codespar/types --filter=@codespar/cli --filter=@codespar/api-types(6 tasks)npx turbo run build(18 tasks) +node scripts/check-publish-drift.mjs(17 pacotes: types 0.10.17 "not on the registry — bump pending"; sdk, cli, mcp e adapters idem; api-types 0.5.0 é o waiver pré-existente de core#132)node --test scripts/check-publish-drift.test.mjsNão rodei
turbo run build typecheck testno monorepo inteiro (memória da máquina); CI cobre.grep -rn 'floored at 0' packagesdevolve zero.Fica de fora
packages/api-typesnão tem ocorrência de "floored": o gerado que a issue cita (~11689/11722) épackages/core/src/generated/openapi.ts, tratado aqui.codespar_walletem@codespar/types; o drift de resultado tipado continua sendo ent#933 / ent#1199.overspent; só a marca na célula./v1/feesentra no cliente gerado sem exemplo ou doc de uso; é o que o servido publica.🤖 Generated with Claude Code