@interactive-inc/claude-funnel 0.30.0 → 0.32.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.
- package/README.md +3 -13
- package/dist/bin.js +489 -924
- package/dist/connectors/discord.d.ts +1 -1
- package/dist/connectors/discord.js +1 -1
- package/dist/connectors/slack.d.ts +1 -1
- package/dist/connectors/slack.js +1 -1
- package/dist/{discord-connector-schema-RzDvrNE5.js → discord-connector-schema-BeThExJp.js} +5 -3
- package/dist/{discord-connector-schema-Df_McRJI.d.ts → discord-connector-schema-DF4pL3Sc.d.ts} +4 -2
- package/dist/gateway/daemon.js +223 -201
- package/dist/index.d.ts +6 -7
- package/dist/index.js +22 -2229
- package/dist/{resolve-connector-token-Ch6XWMJM.js → resolve-connector-token-BHmZLRrV.js} +1 -1
- package/dist/{slack-connector-schema-CHbRJHGp.js → slack-connector-schema-DDbSGPZn.js} +6 -7
- package/dist/{slack-listener-CLTiOEJw.d.ts → slack-listener-9UdAn_ui.d.ts} +5 -6
- package/funnel.schema.json +4 -0
- package/package.json +1 -5
- package/dist/highlights-eq9cgrbb.scm +0 -604
- package/dist/highlights-ghv9g403.scm +0 -205
- package/dist/highlights-hk7bwhj4.scm +0 -284
- package/dist/highlights-r812a2qc.scm +0 -150
- package/dist/highlights-x6tmsnaa.scm +0 -115
- package/dist/injections-73j83es3.scm +0 -27
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
package/README.md
CHANGED
|
@@ -126,7 +126,7 @@ Or drop a `funnel.json` in the repo and `fnl claude` (no args) inside the repo w
|
|
|
126
126
|
|
|
127
127
|
`channels[]` is required and the first entry is the default. `fnl claude --channel review` picks one by name; `fnl claude` with no `--channel` uses the first.
|
|
128
128
|
|
|
129
|
-
A channel declares only transport — its `connectors` and delivery mode. The launch recipe lives on `profiles[]`: each profile binds to a channel by name and carries `options` (prepended to the claude argv before user-supplied CLI args, which still come last — use it for flags like `--brief`, `--agent <name>`, `--model <name>`), `env` (layered under the launched claude process — `process.env` from the launching shell wins on collision), and `resume`. `fnl claude
|
|
129
|
+
A channel declares only transport — its `connectors` and delivery mode. The launch recipe lives on `profiles[]`: each profile has a unique `name`, binds to a channel by name, and carries `options` (prepended to the claude argv before user-supplied CLI args, which still come last — use it for flags like `--brief`, `--agent <name>`, `--model <name>`), `env` (layered under the launched claude process — `process.env` from the launching shell wins on collision), and `resume`. A profile is launched by name with `fnl claude --profile <name>`; the channel never selects a profile on its own. Multiple profiles may bind the same channel — they are told apart by `name`.
|
|
130
130
|
|
|
131
131
|
The optional `connectors` array on a channel is the source of truth for that channel: missing connectors are created and connectors not declared are removed on launch. Connectors are matched by name. An absent `connectors` field leaves existing connectors alone.
|
|
132
132
|
|
|
@@ -213,7 +213,7 @@ fnl gateway listeners live registry (alive / dead)
|
|
|
213
213
|
fnl status overall status (channels / profiles / gateway / clients)
|
|
214
214
|
fnl schema print the JSON Schema for funnel.json (pipe to a file for editor support)
|
|
215
215
|
fnl update `bun i -g @interactive-inc/claude-funnel`
|
|
216
|
-
fnl (no args)
|
|
216
|
+
fnl (no args) show help
|
|
217
217
|
|
|
218
218
|
fnl --version
|
|
219
219
|
fnl --help every subcommand has --help; verb-without-arg also returns help
|
|
@@ -274,7 +274,7 @@ ChannelSpec = { name, connectors? }
|
|
|
274
274
|
the matching Channel in ~/.funnel/projects/<id>/settings.json on launch. Connectors carry no
|
|
275
275
|
tokens; a token is set via the CLI or prompted on a TTY at launch and saved to that scoped settings.
|
|
276
276
|
|
|
277
|
-
ProfileSpec = { channel, options?, env?, resume? }
|
|
277
|
+
ProfileSpec = { name, channel, options?, env?, resume? }
|
|
278
278
|
launch recipe bound to a channel by name. applied inline on launch (the first spec bound to the
|
|
279
279
|
chosen channel — selected by its channel binding, not by name); not persisted into the global
|
|
280
280
|
profiles[] list.
|
|
@@ -442,16 +442,6 @@ console.log(await res.text())
|
|
|
442
442
|
|
|
443
443
|
`cliApp` is the same app pre-wired to `new Funnel()` for callers who just want the default. The middleware sets the chosen Funnel onto `c.var.funnel`; the matching `Env` type is exported for composing custom routes that share the same context variable.
|
|
444
444
|
|
|
445
|
-
### Launching the TUI
|
|
446
|
-
|
|
447
|
-
`launchTui(funnel)` boots the OpenTUI dashboard against any `Funnel` instance — pass `Funnel.inMemory()` to drive it against a fake state, or your production funnel for a live view.
|
|
448
|
-
|
|
449
|
-
```ts
|
|
450
|
-
import { Funnel, launchTui } from "@interactive-inc/claude-funnel"
|
|
451
|
-
|
|
452
|
-
await launchTui(new Funnel())
|
|
453
|
-
```
|
|
454
|
-
|
|
455
445
|
### Validating connector configs
|
|
456
446
|
|
|
457
447
|
Each connector type publishes its Zod schema, so consumers can parse external configs (JSON files, API payloads, etc.) before handing them to `addConnector`. The discriminated union `connectorConfigSchema` covers the whole set.
|