Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0217d7b
fix: normalize object validation errors
0xpolarzero May 22, 2026
6be41bd
fix(cli): preserve stream terminal records
0xpolarzero May 26, 2026
3776dbe
fix: add stream terminal changeset
0xpolarzero May 27, 2026
f73324e
fix: reuse cli skill projection
0xpolarzero May 27, 2026
8bed02c
chore: add changeset for skill projection fix
0xpolarzero May 27, 2026
aab267b
feat: add typed client runtime foundation
0xpolarzero May 25, 2026
fe72195
fix: keep runtime foundation typegen output unchanged
0xpolarzero May 26, 2026
0b50a85
test: harden streaming duration snapshots
0xpolarzero May 26, 2026
f743fd0
refactor: flatten client transport capabilities
0xpolarzero May 26, 2026
77e29c3
refactor: remove unused transport context
0xpolarzero May 26, 2026
b240ce6
test: keep client runtime OpenAPI fixture scoped
0xpolarzero May 26, 2026
aed9a62
refactor(client): namespace transport modules
0xpolarzero May 26, 2026
9ed03d1
test(client): expand transport route coverage
0xpolarzero May 26, 2026
a639696
refactor(client): split request discover local runtimes
0xpolarzero May 27, 2026
b018e78
refactor(client): wrap local runtime capability
0xpolarzero May 27, 2026
7374a0b
refactor(client): inline runtime methods
0xpolarzero May 27, 2026
5ee0829
refactor(client): reuse cli command tree internals
0xpolarzero May 27, 2026
7de3411
refactor(client): rename runtime context module
0xpolarzero May 27, 2026
ea7ec74
refactor(client): move request status mapping
0xpolarzero May 27, 2026
d980488
fix(client): expose rpc output metadata
0xpolarzero May 27, 2026
64be1ff
fix(client): share rendered output default
0xpolarzero May 27, 2026
975a5e2
fix(client): canonicalize runtime client contracts
0xpolarzero May 27, 2026
13a7b42
fix(client): preserve HTTP transport error metadata
0xpolarzero May 27, 2026
618f8ef
refactor(client): share structured command collection
0xpolarzero May 27, 2026
491085c
fix(typegen): emit exact optional property types
0xpolarzero May 27, 2026
8aebbf3
fix(typegen): emit command output metadata
0xpolarzero May 27, 2026
2f25ed9
fix: reuse cli discovery projection
0xpolarzero May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/quiet-walls-share.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"incur": patch
---

Fixed HTTP and MCP command input validation to return standard validation field errors for object-shaped inputs.
7 changes: 7 additions & 0 deletions .changeset/sour-dingos-shine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"incur": patch
---

Fixed streaming command terminal records so HTTP NDJSON responses preserve returned `c.ok()` CTA metadata, represent returned or yielded `c.error()` values as terminal errors, include terminal duration metadata, and unwind generators on response cancellation.

Also preserves `IncurError.retryable` metadata in streaming machine-format errors.
7 changes: 7 additions & 0 deletions .changeset/tame-pillows-accept.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"incur": patch
---

Fixed generated and synced skills to use the same command projection as CLI skill output.

`Skillgen` and `SyncSkills` now avoid generating duplicate skills for command aliases, preserve output schemas and examples consistently, and include the fetch gateway skill hint for fetch-based commands.
5 changes: 5 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@
"types": "./dist/index.d.ts",
"src": "./src/index.ts",
"default": "./dist/index.js"
},
"./client": {
"types": "./dist/client/index.d.ts",
"src": "./src/client/index.ts",
"default": "./dist/client/index.js"
}
}
}
22 changes: 22 additions & 0 deletions src/Cli.test-d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,28 @@ test('Cta accepts object form', () => {
expectTypeOf<{ command: 'auth login'; description: 'Log in' }>().toMatchTypeOf<Cli.Cta>()
})

test('OpenAPI-mounted operations are included in CLI command map type', () => {
const cli = Cli.create('test').command('api', {
fetch: () => new Response('{}'),
openapi: {
paths: {
'/users': {
get: {
operationId: 'listUsers',
responses: { '200': { description: 'ok' } },
},
},
},
},
})

expectTypeOf<typeof cli>().toMatchTypeOf<
Cli.Cli<{
'api listUsers': { args: Record<string, unknown>; options: Record<string, unknown> }
}>
>()
})

test('Cta narrows strings and objects to registered commands', () => {
type Commands = {
get: { args: { id: number }; options: {} }
Expand Down
Loading