@interactive-inc/claude-funnel 0.65.0 → 0.67.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.
Files changed (87) hide show
  1. package/README.md +8 -4
  2. package/dist/bin.js +275 -372
  3. package/dist/channel.d.ts +185 -0
  4. package/dist/channel.js +238 -0
  5. package/dist/{channels-CRGb6B5_.d.ts → channels-BBA3GTAa.d.ts} +5 -5
  6. package/dist/claude.d.ts +11 -8
  7. package/dist/claude.js +31 -15
  8. package/dist/{connector-descriptor-BFIhyTfa.d.ts → connector-descriptor-F75ZI8Fh.d.ts} +27 -39
  9. package/dist/{connector-diagnostics-recorder-COtNEmUp.js → connector-diagnostics-recorder-BmOijU1p.js} +1 -0
  10. package/dist/connectors/discord.d.ts +10 -7
  11. package/dist/connectors/discord.js +2 -2
  12. package/dist/connectors/gh.d.ts +6 -5
  13. package/dist/connectors/gh.js +2 -2
  14. package/dist/connectors/schedule.d.ts +10 -7
  15. package/dist/connectors/schedule.js +2 -2
  16. package/dist/connectors/slack.d.ts +14 -9
  17. package/dist/connectors/slack.js +3 -3
  18. package/dist/diagnostics.d.ts +1 -1
  19. package/dist/diagnostics.js +1 -1
  20. package/dist/{discord-connector-DXARcO6w.js → discord-connector-CdjwPoty.js} +6 -6
  21. package/dist/{discord-connector-schema-D-bOVAKt.d.ts → discord-connector-schema-BaBZYHxK.d.ts} +0 -1
  22. package/dist/docs.d.ts +1 -1
  23. package/dist/docs.js +1 -1
  24. package/dist/doctor.d.ts +1 -1
  25. package/dist/doctor.js +1 -1
  26. package/dist/{file-process-guard-tVcgckH6.d.ts → file-process-guard-DAYe9Ndt.d.ts} +22 -17
  27. package/dist/{file-system-VhwwXZbm.d.ts → file-system-BNtl997T.d.ts} +2 -1
  28. package/dist/{flume-source-listener-BNyAII7N.d.ts → flume-source-listener-CLtsdcT2.d.ts} +8 -5
  29. package/dist/{funnel-diagnostics-Cvk6Sk4x.js → funnel-diagnostics-B-PCuv_E.js} +4 -3
  30. package/dist/{funnel-diagnostics-b9ar0Ing.d.ts → funnel-diagnostics-CnKus3Jg.d.ts} +8 -5
  31. package/dist/{funnel-docs-C-ge0MuB.js → funnel-docs-BFcqITFA.js} +4 -0
  32. package/dist/{funnel-doctor-XrI2GBH8.js → funnel-doctor-Csw5qjcH.js} +1 -0
  33. package/dist/{funnel-doctor-CnRQi4kM.d.ts → funnel-doctor-CviUTINw.d.ts} +20 -9
  34. package/dist/{funnel-error-0t1MK1R6.js → funnel-error-DoSBCogD.js} +13 -0
  35. package/dist/{funnel-log-sqlite-sink-DLYkY0pZ.js → funnel-log-sqlite-sink-CXbs3qQp.js} +1 -1
  36. package/dist/{funnel-recovery-CMhY8Jfk.d.ts → funnel-recovery-BwcSNNSN.d.ts} +1 -2
  37. package/dist/{funnel-recovery-DKnEutUS.js → funnel-recovery-DYbSYGWC.js} +1 -0
  38. package/dist/gateway/daemon.js +66 -125
  39. package/dist/gateway.d.ts +2 -2
  40. package/dist/gateway.js +2 -2
  41. package/dist/{gh-connector-BUGCOEWS.js → gh-connector-D-iyjl-d.js} +5 -5
  42. package/dist/{gh-connector-schema-DWQaB6gX.d.ts → gh-connector-schema-BrNsCl1T.d.ts} +0 -1
  43. package/dist/{index-Ds6sHhA-.d.ts → index-B4RvEaW-.d.ts} +78 -46
  44. package/dist/index.d.ts +115 -107
  45. package/dist/index.js +123 -32
  46. package/dist/{local-config-json-schema-DexV8vX3.js → local-config-json-schema-_-YVHX4c.js} +4 -4
  47. package/dist/local-config.d.ts +2 -3
  48. package/dist/local-config.js +1 -1
  49. package/dist/logger-mMZvblTx.d.ts +25 -0
  50. package/dist/logger.d.ts +29 -13
  51. package/dist/logger.js +1 -1
  52. package/dist/{memory-token-prompter-BoV8Hf-n.d.ts → memory-token-prompter-D3R_kgM_.d.ts} +2 -3
  53. package/dist/{node-file-system-BOXIHW_Q.js → node-file-system-xJx7dymE.js} +11 -3
  54. package/dist/{profiles-cVZQkM69.d.ts → profiles-CePRnv3F.d.ts} +3 -4
  55. package/dist/{profiles-ZHLONml4.js → profiles-KpN7_gBw.js} +19 -5
  56. package/dist/profiles.d.ts +1 -1
  57. package/dist/profiles.js +1 -1
  58. package/dist/recovery.d.ts +1 -1
  59. package/dist/recovery.js +1 -1
  60. package/dist/{schedule-connector-schema-Z0RXLgPI.d.ts → schedule-connector-schema-DBko_Bf7.d.ts} +0 -1
  61. package/dist/{schedule-connector-9k3gOIgl.js → schedule-connector-teeDMHUe.js} +5 -5
  62. package/dist/{settings-reader-BNxjsxCB.d.ts → settings-reader-CyTpbAre.d.ts} +1 -2
  63. package/dist/{settings-schema-BL_c2Udm.d.ts → settings-schema-B-CKLuST.d.ts} +0 -1
  64. package/dist/{settings-store-ccv291GV.js → settings-store-ZFWBhOnp.js} +12 -3
  65. package/dist/{slack-connector-CxpWagbT.js → slack-connector-BE0KAjCs.js} +10 -9
  66. package/dist/{slack-event-processor-xFDG3US0.js → slack-event-processor-Cs_YuI3w.js} +2 -2
  67. package/dist/{slack-event-processor-BhCf5Wiy.d.ts → slack-event-processor-DmAlq4cV.d.ts} +0 -1
  68. package/dist/{slot-fields-D-pvMgTK.js → slot-fields-5ERhytIA.js} +3 -3
  69. package/dist/{sqlite-diagnostic-log-CwhXE9Qh.js → sqlite-diagnostic-log-BDxfXGZy.js} +42 -19
  70. package/dist/{yaml-render-DVEtYuF1.js → yaml-render-DxxRQT-V.js} +3 -3
  71. package/package.json +15 -10
  72. package/dist/file-system-Wvzc2ePY.js +0 -9
  73. package/dist/logger-B6iyNbxM.js +0 -9
  74. package/dist/settings-reader-9FcX3qS1.js +0 -11
  75. /package/dist/{connector-adapter-Dvs8N7ew.js → connector-adapter-BL2ehMej.js} +0 -0
  76. /package/dist/{connector-listener-mPGZYa8e.js → connector-listener-BcQMzY6Q.js} +0 -0
  77. /package/dist/{diagnostic-sql-reader-oXZnWFf_.js → diagnostic-sql-reader-CoBk_EFF.js} +0 -0
  78. /package/dist/{discord-connector-schema-B4YpWpR3.js → discord-connector-schema-saAGuPmJ.js} +0 -0
  79. /package/dist/{error-message-of-ColuYmAk.js → error-message-of-BG4ezZ_s.js} +0 -0
  80. /package/dist/{funnel-docs-CNklHvbt.d.ts → funnel-docs-BJWawfWI.d.ts} +0 -0
  81. /package/dist/{gh-connector-schema-CAqIhzGr.js → gh-connector-schema-DmZTrzUu.js} +0 -0
  82. /package/dist/{loopback-fetch-CVNuN3YZ.js → loopback-fetch-HP-bo9Kv.js} +0 -0
  83. /package/dist/{node-http-client-u00atiKx.js → node-http-client-SX3xFh4h.js} +0 -0
  84. /package/dist/{node-process-runner-DxTvycoK.js → node-process-runner-D4rzPl8Q.js} +0 -0
  85. /package/dist/{resolve-connector-token-DxDG9mhf.js → resolve-connector-token-BwiJCu82.js} +0 -0
  86. /package/dist/{schedule-connector-schema-DKEPZnVv.js → schedule-connector-schema-C2AChpwX.js} +0 -0
  87. /package/dist/{slack-connector-schema-Dem8to4P.js → slack-connector-schema-EGVuuqSX.js} +0 -0
package/README.md CHANGED
@@ -97,7 +97,7 @@ profiles は起動レシピ。各プロファイルは一意な `name` を持ち
97
97
 
98
98
  `funnel.json` に書けないものが 2 つある。delivery モード(fanout / exclusive)は CLI で設定する(`funnel.json` のチャネルは fanout 固定)。schedule の cron エントリも CLI で足す(`funnel.json` には schedule コネクタの存在だけ宣言できる)。
99
99
 
100
- セッション再開には `resume` の明示が要る。`funnel.json` の `resume` はデフォルト値を持たず、書かないと再開されない(未指定が false 扱いになる)。前回の claude セッションを引き継ぎたいなら必ず `"resume": true` を書く。再開のための session id は funnel が `~/.funnel/projects/<id>/settings.json` に自動で保存・読み出しするので、`funnel.json` には書かない。
100
+ セッション再開には `resume` の明示が要る。`funnel.json` の `resume` はデフォルト値を持たず、書かないと再開されない(未指定が false 扱いになる)。前回の claude セッションを引き継ぎたいなら必ず `"resume": true` を書く。再開のための session id は funnel が `~/.funnel/projects/<id>/claude/local-sessions.json` に自動で保存・読み出しするので、`funnel.json` には書かない。
101
101
 
102
102
  ### 使い方
103
103
 
@@ -300,7 +300,8 @@ Settings = { channels[], profiles[] } → ~/.funnel/settings.j
300
300
  ├── gateway.pid デーモン PID
301
301
  ├── gateway.token デーモン HTTP / WS の Bearer token
302
302
  ├── claude/
303
- └── <profile-id>.pid 同一プロファイルの二重起動を防ぐ(profile id がキー)
303
+ ├── <profile-id>.pid 同一プロファイルの二重起動を防ぐ(profile id がキー)
304
+ │ └── local-sessions.json funnel.json profile の再開用 session id
304
305
  └── channels/
305
306
  └── <channel-id>/
306
307
  └── connectors/
@@ -308,7 +309,7 @@ Settings = { channels[], profiles[] } → ~/.funnel/settings.j
308
309
  └── state.json コネクタごとの永続 state(例: schedule の lastFiredAt)
309
310
 
310
311
  /tmp/funnel/
311
- ├── events.db offset 再生付きの SQLite イベントログ
312
+ ├── events/<scope>.db dir + port ごとに分離した offset 再生ログ
312
313
  ├── funnel.log 診断ログ(デーモンの起動、listener boot、接続)
313
314
  └── gateway.log デーモンの stdout/stderr
314
315
  ```
@@ -400,7 +401,7 @@ const base = gatewayLoopbackUrl(9743) // → http://127.0.0.1:9743
400
401
  ```
401
402
 
402
403
  - 非ループバック bind(`gatewayServer({ hostname: "0.0.0.0" })`)は token 無しだと `start()` が throw する。前段で自前認証する場合のみ `allowInsecureHost: true`
403
- - コネクタの token は `botToken` か `botTokenEnv` の片方だけ(両方同時はコンパイルエラー)、event store は `dbPath` か `eventLog` の片方だけ、launch の `resume` は `profileId` がある時だけ指定できる
404
+ - コネクタの token は `botToken` か `botTokenEnv` の片方だけ(両方同時はコンパイルエラー)、event store は `dbPath` か `eventLog` の片方だけ、launch の `resume` は stable な `profileId` がある時だけ指定できる
404
405
 
405
406
  ### サブエントリ
406
407
 
@@ -419,6 +420,9 @@ import { FunnelLocalConfig } from "@interactive-inc/claude-funnel/local-config"
419
420
  // コネクタの descriptor とスキーマ(Slack / Discord / GitHub / Schedule)
420
421
  // descriptor(slackConnector 等)を new Funnel({ connectors: [...] }) に渡す
421
422
  import { slackConnector, slackConnectorSchema } from "@interactive-inc/claude-funnel/connectors/slack"
423
+
424
+ // Channel manifest(flume sources を broadcaster に流す宣言的 channel。ConnectorDescriptor 系とは独立)
425
+ import { FunnelChannelSupervisor, timeChannel, defineChannel } from "@interactive-inc/claude-funnel/channel"
422
426
  ```
423
427
 
424
428
  ### テスト用のサンドボックス