@interactive-inc/claude-funnel 0.52.0 → 0.55.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 +25 -3
- package/dist/bin.js +1276 -520
- package/dist/claude.d.ts +22 -5
- package/dist/claude.js +456 -169
- package/dist/connector-adapter-1PxjN-Uk.d.ts +25 -0
- package/dist/{connector-adapter-D5Utumgz.js → connector-adapter-qwXLjQId.js} +1 -1
- package/dist/{connector-listener-DU54DN-f.js → connector-listener-CpHBecCj.js} +1 -1
- package/dist/connectors/discord.d.ts +6 -6
- package/dist/connectors/discord.js +2 -2
- package/dist/connectors/gh.d.ts +6 -6
- package/dist/connectors/gh.js +2 -2
- package/dist/connectors/schedule.d.ts +12 -2
- package/dist/connectors/schedule.js +2 -2
- package/dist/connectors/slack.d.ts +3 -3
- package/dist/connectors/slack.js +2 -2
- package/dist/{connector-diagnostic-log-yTOojKUR.d.ts → diagnostic-log-Bxe7Bbvw.d.ts} +2 -2
- package/dist/diagnostic-sql-reader-CzYgZpq2.js +83 -0
- package/dist/diagnostics.d.ts +2 -0
- package/dist/diagnostics.js +2 -0
- package/dist/{discord-connector-schema-CBDyGdOI.js → discord-connector-schema-B_N6IXLz.js} +1 -1
- package/dist/{discord-connector-schema-R0Uu-3ns.d.ts → discord-connector-schema-CPgcZkXh.d.ts} +1 -1
- package/dist/{discord-listener-_jSE3HsQ.js → discord-listener-C0MoKdQO.js} +6 -6
- package/dist/docs.d.ts +2 -0
- package/dist/docs.js +2 -0
- package/dist/doctor.d.ts +2 -0
- package/dist/doctor.js +2 -0
- package/dist/{file-process-guard-BgrVHe9I.d.ts → file-process-guard-DI1742H5.d.ts} +31 -15
- package/dist/funnel-diagnostics-BpKYrMSu.js +300 -0
- package/dist/funnel-diagnostics-qWy5tPSq.d.ts +176 -0
- package/dist/funnel-docs-dXPokzr5.d.ts +18 -0
- package/dist/funnel-docs-ng5K8w4j.js +653 -0
- package/dist/funnel-doctor-BF3Rdgk0.d.ts +34 -0
- package/dist/funnel-doctor-CApCezTq.js +82 -0
- package/dist/funnel-recovery-BUBsu7WX.d.ts +101 -0
- package/dist/funnel-recovery-D9CxD5Zs.js +134 -0
- package/dist/gateway/daemon.js +810 -211
- package/dist/{settings-store-D2XSXTyt.js → gateway-base-url-6foMXfFf.js} +19 -6
- package/dist/gateway.d.ts +3 -3
- package/dist/gateway.js +3 -2
- package/dist/{gh-connector-schema-eoTtHbY6.d.ts → gh-connector-schema-CU1ojfIF.d.ts} +1 -1
- package/dist/{gh-connector-schema-o3Q1-ojL.js → gh-connector-schema-DUcZgN2Q.js} +1 -1
- package/dist/{gh-listener-DH-fClQm.js → gh-listener-Dsx6AmhH.js} +5 -5
- package/dist/{index-NFs2jzCa.d.ts → index-CrngHrne.d.ts} +187 -619
- package/dist/index.d.ts +16 -11
- package/dist/index.js +512 -976
- package/dist/{local-config-json-schema-8IHjS4Q7.js → local-config-json-schema-DE1zkMcb.js} +35 -9
- package/dist/{local-config-sync-BdsrDZOu.d.ts → local-config-sync-B8b04LrZ.d.ts} +45 -25
- package/dist/local-config.d.ts +2 -2
- package/dist/local-config.js +2 -2
- package/dist/{memory-connector-diagnostic-log-CrW1ltLM.js → memory-diagnostic-log-BZ1VD80X.js} +61 -99
- package/dist/{memory-token-prompter-B5FFCsGP.d.ts → memory-token-prompter-Lo3YRDzq.d.ts} +4 -4
- package/dist/{memory-token-prompter-CLerGsgM.js → memory-token-prompter-vBXxY20-.js} +2 -2
- package/dist/{profiles-f0mNmEyP.d.ts → profiles-EHTeCOqB.d.ts} +3 -2
- package/dist/profiles.d.ts +1 -1
- package/dist/profiles.js +1 -1
- package/dist/recovery.d.ts +2 -0
- package/dist/recovery.js +2 -0
- package/dist/{resolve-connector-token-BHmZLRrV.js → resolve-connector-token-CczqG_Ig.js} +1 -1
- package/dist/{schedule-connector-schema-iCI61gzU.js → schedule-connector-schema-B_xO5z5B.js} +1 -1
- package/dist/{schedule-listener-CUyUFFR1.d.ts → schedule-listener-DKh0hnkK.d.ts} +5 -5
- package/dist/{schedule-listener-ePAjians.js → schedule-listener-DP9Jhc6U.js} +14 -4
- package/dist/settings-reader-CBrgz01o.d.ts +18 -0
- package/dist/{settings-reader-BSU6JyvM.d.ts → settings-schema-zhnMIa8I.d.ts} +1 -16
- package/dist/{slack-connector-schema-BCNWluHM.js → slack-connector-schema-C1zEf4TG.js} +1 -1
- package/dist/{slack-listener-Bv5xI9gC.d.ts → slack-listener-COQA8wAZ.d.ts} +4 -4
- package/dist/{slack-listener-ClQuHhEF.js → slack-listener-DUKPcpJH.js} +7 -7
- package/dist/{mcp-Dr-nIBwN.js → yaml-render-OhUN-qkS.js} +52 -34
- package/package.json +21 -1
- package/dist/connector-adapter-DKgsVuMH.d.ts +0 -11
- /package/dist/{file-system-BeOKXjlV.d.ts → file-system-Wub9Nto4.d.ts} +0 -0
- /package/dist/{process-runner-DfniuWVU.d.ts → process-runner-D5I_jhYQ.d.ts} +0 -0
- /package/dist/{profiles-wMRnjSid.js → profiles-MnXvYfZF.js} +0 -0
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ Slack のメンション、GitHub の Issue、毎朝 9 時の cron。こうし
|
|
|
16
16
|
返信は同じコネクタを逆向きに通る(エージェント → MCP tool → 外部サービス)。
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
コマンドは `funnel`(短縮形 `fnl`)。Claude Code を中心に作っているが、アーキテクチャはエージェント非依存。現在のバージョンは `0.
|
|
19
|
+
コマンドは `funnel`(短縮形 `fnl`)。Claude Code を中心に作っているが、アーキテクチャはエージェント非依存。現在のバージョンは `0.53.0`。
|
|
20
20
|
|
|
21
21
|
## funnel がやること
|
|
22
22
|
|
|
@@ -349,8 +349,8 @@ funnel.channels.addConnector("inbox", {
|
|
|
349
349
|
`channels` / `profiles` / `gateway` / `listeners` / `claude` / `localConfig` / `localConfigSync` など全ファセットが同じインスタンスの readonly プロパティとして辿れる。`gateway` はデーモンの起動・停止、`listeners` は動作中デーモンとの HTTP 会話、`claude` はエージェント起動を担う。
|
|
350
350
|
|
|
351
351
|
```ts
|
|
352
|
-
await funnel.gateway.start()
|
|
353
|
-
funnel.gateway.getStatus()
|
|
352
|
+
await funnel.gateway.start() // デーモンを別プロセスとして spawn
|
|
353
|
+
funnel.gateway.getStatus() // { running, pid, port }
|
|
354
354
|
|
|
355
355
|
await funnel.listeners.start("inbox", "my-slack")
|
|
356
356
|
await funnel.listeners.restart("inbox", "my-slack")
|
|
@@ -375,6 +375,28 @@ unsubscribe()
|
|
|
375
375
|
|
|
376
376
|
永続化と再生は `FunnelEventLog` port の裏にある。デフォルトは `SqliteFunnelEventLog`(デーモン再起動を跨いで durable。reconnect 時の再生を提供する)。`gatewayServer({ eventLog })` に `MemoryFunnelEventLog` を渡せば durable な再生を差し替え・無効化できる。`onEvent` は書き込み専用の観測フックで、再生(読み戻し)は EventLog の責務。
|
|
377
377
|
|
|
378
|
+
### 間違えにくい API
|
|
379
|
+
|
|
380
|
+
URL やオプションは型で安全側に倒している。
|
|
381
|
+
|
|
382
|
+
```ts
|
|
383
|
+
import {
|
|
384
|
+
channelWsUrl,
|
|
385
|
+
channelWsProtocols,
|
|
386
|
+
gatewayLoopbackUrl,
|
|
387
|
+
} from "@interactive-inc/claude-funnel/gateway"
|
|
388
|
+
|
|
389
|
+
// WS 購読 URL。channel は必須(付け忘れるとコンパイルエラー)。
|
|
390
|
+
const url = channelWsUrl({ base: "ws://localhost:9743/ws", channel: "inbox", subscriberId })
|
|
391
|
+
const ws = new WebSocket(url, channelWsProtocols(token)) // token は subprotocol で渡す
|
|
392
|
+
|
|
393
|
+
// HTTP の loopback base は手で組まずこれを使う
|
|
394
|
+
const base = gatewayLoopbackUrl(9743) // → http://127.0.0.1:9743
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
- 非ループバック bind(`gatewayServer({ hostname: "0.0.0.0" })`)は token 無しだと `start()` が throw する。前段で自前認証する場合のみ `allowInsecureHost: true`
|
|
398
|
+
- コネクタの token は `botToken` か `botTokenEnv` の片方だけ(両方同時はコンパイルエラー)、event store は `dbPath` か `eventLog` の片方だけ、launch の `resume` は `profileId` がある時だけ指定できる
|
|
399
|
+
|
|
378
400
|
### サブエントリ
|
|
379
401
|
|
|
380
402
|
個別の層だけを import したい場合は sub-entry を使う。
|