diff --git a/README.md b/README.md index 3e1bd0a..8332754 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ Get a single board by ID. |---|---| | `--title` | Board title | | `--description` | Optional board description | -| `--is-public` | Make the board publicly viewable | +| `--is-public` | Make the board publicly viewable. Omit to keep it private (the default). | ```bash formo boards create --title "Revenue Metrics" --description "Weekly revenue tracking" @@ -277,7 +277,7 @@ formo boards create --title "Revenue Metrics" --description "Weekly revenue trac |---|---| | `--title` | New board title | | `--description` | New board description | -| `--is-public` | Update public visibility | +| `--is-public` | Make the board publicly viewable. Omit to keep the stored setting; pass `--is-public=false` to make it private. | ### `boards delete ` Delete a board. @@ -352,7 +352,7 @@ Get a single tracked contract. | `--abi` | Contract ABI as a JSON string; sent stringified to the API | | `--events` | JSON array of ABI event objects to monitor | | `--start-block` | Optional start block | -| `--include-in-pipeline` | Include this contract in the Goldsky events pipeline (`true` by default in the API) | +| `--include-in-pipeline` | Deploy this contract to the events pipeline. Omit for decode-only (the default). | ```bash formo contracts create --address 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 --chain 1 \ @@ -368,7 +368,7 @@ formo contracts create --address 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 --ch | `--abi` | Updated ABI | | `--events` | Updated JSON array of ABI event objects | | `--start-block` | Optional start block | -| `--include-in-pipeline` | Include or exclude this contract from the Goldsky events pipeline | +| `--include-in-pipeline` | Deploy this contract to the events pipeline. Omit to keep the stored setting; pass `--include-in-pipeline=false` to exclude it. | ### `contracts delete
` diff --git a/SKILLS.md b/SKILLS.md index cc8c7ec..69c8132 100644 --- a/SKILLS.md +++ b/SKILLS.md @@ -378,7 +378,7 @@ formo boards create --title [--description <desc>] [--is-public] |---|---| | `--title` | Board title | | `--description` | Board description (optional) | -| `--is-public` | Whether the board is publicly viewable | +| `--is-public` | Make the board publicly viewable. Omit to keep it private (the default). | > Requires `boards:write` scope. @@ -394,6 +394,10 @@ formo boards create --title "Revenue Metrics" --description "Weekly revenue trac formo boards update <boardId> [--title <title>] [--description <desc>] [--is-public] ``` +Send at least one field. Omitted fields keep their stored value. Boolean flags do not read +a following value: write `--is-public=false` or `--no-is-public` to make a board private, +because `--is-public false` sets it to true. + > Requires `boards:write` scope. ### Delete a board @@ -526,7 +530,7 @@ formo contracts create --address <addr> --chain <chainId> --name <name> --abi '< | `--abi` | Contract ABI as a JSON string | | `--events` | JSON array of ABI event objects to monitor | | `--start-block` | Optional start block | -| `--include-in-pipeline` | Include this contract in the Goldsky events pipeline | +| `--include-in-pipeline` | Deploy this contract to the events pipeline. Omit for decode-only (the default). | > Requires `contracts:write` scope. @@ -558,9 +562,17 @@ formo contracts update <chain> <address> --name <name> --abi '<json>' --events ' Use `contracts update` with `--include-in-pipeline` when a contract should remain registered for ABI decoding but be excluded from pipeline deploys: ```bash -formo contracts update <chain> <address> --include-in-pipeline false +formo contracts update <chain> <address> --name <name> --abi '<json>' --events '<json>' \ + --include-in-pipeline=false ``` +`contracts update` is a full replace, so `--name`, `--abi`, and `--events` are required +here too; omitting them fails with a missing-option error. + +Boolean flags do not read a following value: write `--include-in-pipeline=false` or +`--no-include-in-pipeline`. `--include-in-pipeline false` sets it to **true** and leaves +`false` as a stray argument. + > Requires `contracts:write` scope. ### Delete a contract diff --git a/patches/incur@0.4.26.patch b/patches/incur@0.4.26.patch index a662434..9592888 100644 --- a/patches/incur@0.4.26.patch +++ b/patches/incur@0.4.26.patch @@ -1,13 +1,22 @@ diff --git a/dist/Cli.js b/dist/Cli.js -index 4b80e74d959f6508ea4de6cc79e372f111b2b6b6..5afa03b80fc5bd998b9e7d0568084b616d71bf51 100644 +index 4b80e74d959f6508ea4de6cc79e372f111b2b6b6..54c789a9e1d92b335b6135331cf28a9247d13cd8 100644 --- a/dist/Cli.js +++ b/dist/Cli.js -@@ -2723,7 +2723,7 @@ export function formatExamples(examples) { +@@ -2722,8 +2722,15 @@ export function formatExamples(examples) { + for (const value of Object.values(ex.args)) parts.push(String(value)); if (ex.options) - for (const [key, value] of Object.entries(ex.options)) +- for (const [key, value] of Object.entries(ex.options)) - parts.push(`--${key} ${value}`); -+ parts.push(`--${key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)} ${value}`); ++ for (const [key, value] of Object.entries(ex.options)) { ++ const flag = `--${key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)}`; ++ // Boolean flags don't consume the next token, so `--flag false` ++ // parses as true. Render the forms the parser actually honours. ++ if (typeof value === 'boolean') ++ parts.push(value ? flag : `${flag}=false`); ++ else ++ parts.push(`${flag} ${value}`); ++ } const result = { command: parts.join(' ') }; if (ex.description) result.description = ex.description; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b5bf717..67f815e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ overrides: zod: '>=4.4.0 <5' patchedDependencies: - incur@0.4.26: ae18879675f35e842cb43134909e7abd7d02f4268e1d733be25fd99a79bb78d1 + incur@0.4.26: 01acbccc58f6818ad6d5bc7dce43998ab2e03281fdfbbad0e78dce44bd9ed0e2 importers: @@ -21,7 +21,7 @@ importers: version: 1.18.0 incur: specifier: 0.4.26 - version: 0.4.26(patch_hash=ae18879675f35e842cb43134909e7abd7d02f4268e1d733be25fd99a79bb78d1) + version: 0.4.26(patch_hash=01acbccc58f6818ad6d5bc7dce43998ab2e03281fdfbbad0e78dce44bd9ed0e2) devDependencies: '@eslint/js': specifier: ^10.0.1 @@ -1634,7 +1634,7 @@ snapshots: imurmurhash@0.1.4: {} - incur@0.4.26(patch_hash=ae18879675f35e842cb43134909e7abd7d02f4268e1d733be25fd99a79bb78d1): + incur@0.4.26(patch_hash=01acbccc58f6818ad6d5bc7dce43998ab2e03281fdfbbad0e78dce44bd9ed0e2): dependencies: '@cfworker/json-schema': 4.1.1 '@modelcontextprotocol/server': 2.0.0-alpha.4