feique 1.1.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 (227) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +220 -0
  3. package/README.md +265 -0
  4. package/dist/backend/claude.d.ts +36 -0
  5. package/dist/backend/claude.js +358 -0
  6. package/dist/backend/claude.js.map +1 -0
  7. package/dist/backend/codex.d.ts +31 -0
  8. package/dist/backend/codex.js +100 -0
  9. package/dist/backend/codex.js.map +1 -0
  10. package/dist/backend/factory.d.ts +9 -0
  11. package/dist/backend/factory.js +56 -0
  12. package/dist/backend/factory.js.map +1 -0
  13. package/dist/backend/types.d.ts +54 -0
  14. package/dist/backend/types.js +2 -0
  15. package/dist/backend/types.js.map +1 -0
  16. package/dist/bridge/commands.d.ts +135 -0
  17. package/dist/bridge/commands.js +860 -0
  18. package/dist/bridge/commands.js.map +1 -0
  19. package/dist/bridge/service.d.ts +160 -0
  20. package/dist/bridge/service.js +3785 -0
  21. package/dist/bridge/service.js.map +1 -0
  22. package/dist/bridge/task-queue.d.ts +14 -0
  23. package/dist/bridge/task-queue.js +81 -0
  24. package/dist/bridge/task-queue.js.map +1 -0
  25. package/dist/bridge/types.d.ts +39 -0
  26. package/dist/bridge/types.js +2 -0
  27. package/dist/bridge/types.js.map +1 -0
  28. package/dist/cli.d.ts +2 -0
  29. package/dist/cli.js +1199 -0
  30. package/dist/cli.js.map +1 -0
  31. package/dist/codex/capabilities.d.ts +20 -0
  32. package/dist/codex/capabilities.js +41 -0
  33. package/dist/codex/capabilities.js.map +1 -0
  34. package/dist/codex/runner.d.ts +47 -0
  35. package/dist/codex/runner.js +294 -0
  36. package/dist/codex/runner.js.map +1 -0
  37. package/dist/codex/session-index.d.ts +22 -0
  38. package/dist/codex/session-index.js +205 -0
  39. package/dist/codex/session-index.js.map +1 -0
  40. package/dist/collaboration/awareness.d.ts +36 -0
  41. package/dist/collaboration/awareness.js +107 -0
  42. package/dist/collaboration/awareness.js.map +1 -0
  43. package/dist/collaboration/digest.d.ts +65 -0
  44. package/dist/collaboration/digest.js +178 -0
  45. package/dist/collaboration/digest.js.map +1 -0
  46. package/dist/collaboration/handoff.d.ts +66 -0
  47. package/dist/collaboration/handoff.js +94 -0
  48. package/dist/collaboration/handoff.js.map +1 -0
  49. package/dist/collaboration/insights.d.ts +24 -0
  50. package/dist/collaboration/insights.js +243 -0
  51. package/dist/collaboration/insights.js.map +1 -0
  52. package/dist/collaboration/knowledge.d.ts +26 -0
  53. package/dist/collaboration/knowledge.js +105 -0
  54. package/dist/collaboration/knowledge.js.map +1 -0
  55. package/dist/collaboration/timeline.d.ts +31 -0
  56. package/dist/collaboration/timeline.js +150 -0
  57. package/dist/collaboration/timeline.js.map +1 -0
  58. package/dist/collaboration/trust.d.ts +49 -0
  59. package/dist/collaboration/trust.js +176 -0
  60. package/dist/collaboration/trust.js.map +1 -0
  61. package/dist/config/codex-skill.d.ts +7 -0
  62. package/dist/config/codex-skill.js +44 -0
  63. package/dist/config/codex-skill.js.map +1 -0
  64. package/dist/config/doctor.d.ts +12 -0
  65. package/dist/config/doctor.js +314 -0
  66. package/dist/config/doctor.js.map +1 -0
  67. package/dist/config/init.d.ts +3 -0
  68. package/dist/config/init.js +123 -0
  69. package/dist/config/init.js.map +1 -0
  70. package/dist/config/load.d.ts +33 -0
  71. package/dist/config/load.js +252 -0
  72. package/dist/config/load.js.map +1 -0
  73. package/dist/config/mutate.d.ts +21 -0
  74. package/dist/config/mutate.js +86 -0
  75. package/dist/config/mutate.js.map +1 -0
  76. package/dist/config/paths.d.ts +3 -0
  77. package/dist/config/paths.js +33 -0
  78. package/dist/config/paths.js.map +1 -0
  79. package/dist/config/schema.d.ts +308 -0
  80. package/dist/config/schema.js +250 -0
  81. package/dist/config/schema.js.map +1 -0
  82. package/dist/control-plane/project-session.d.ts +67 -0
  83. package/dist/control-plane/project-session.js +234 -0
  84. package/dist/control-plane/project-session.js.map +1 -0
  85. package/dist/feishu/base.d.ts +19 -0
  86. package/dist/feishu/base.js +93 -0
  87. package/dist/feishu/base.js.map +1 -0
  88. package/dist/feishu/cards.d.ts +22 -0
  89. package/dist/feishu/cards.js +144 -0
  90. package/dist/feishu/cards.js.map +1 -0
  91. package/dist/feishu/client.d.ts +61 -0
  92. package/dist/feishu/client.js +315 -0
  93. package/dist/feishu/client.js.map +1 -0
  94. package/dist/feishu/diagnostics.d.ts +42 -0
  95. package/dist/feishu/diagnostics.js +194 -0
  96. package/dist/feishu/diagnostics.js.map +1 -0
  97. package/dist/feishu/doc.d.ts +13 -0
  98. package/dist/feishu/doc.js +59 -0
  99. package/dist/feishu/doc.js.map +1 -0
  100. package/dist/feishu/extractors.d.ts +7 -0
  101. package/dist/feishu/extractors.js +215 -0
  102. package/dist/feishu/extractors.js.map +1 -0
  103. package/dist/feishu/long-connection.d.ts +12 -0
  104. package/dist/feishu/long-connection.js +41 -0
  105. package/dist/feishu/long-connection.js.map +1 -0
  106. package/dist/feishu/message-resource.d.ts +14 -0
  107. package/dist/feishu/message-resource.js +309 -0
  108. package/dist/feishu/message-resource.js.map +1 -0
  109. package/dist/feishu/replay.d.ts +37 -0
  110. package/dist/feishu/replay.js +114 -0
  111. package/dist/feishu/replay.js.map +1 -0
  112. package/dist/feishu/task.d.ts +18 -0
  113. package/dist/feishu/task.js +86 -0
  114. package/dist/feishu/task.js.map +1 -0
  115. package/dist/feishu/text.d.ts +23 -0
  116. package/dist/feishu/text.js +155 -0
  117. package/dist/feishu/text.js.map +1 -0
  118. package/dist/feishu/webhook.d.ts +23 -0
  119. package/dist/feishu/webhook.js +130 -0
  120. package/dist/feishu/webhook.js.map +1 -0
  121. package/dist/feishu/wiki.d.ts +52 -0
  122. package/dist/feishu/wiki.js +300 -0
  123. package/dist/feishu/wiki.js.map +1 -0
  124. package/dist/index.d.ts +9 -0
  125. package/dist/index.js +9 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/knowledge/search.d.ts +11 -0
  128. package/dist/knowledge/search.js +83 -0
  129. package/dist/knowledge/search.js.map +1 -0
  130. package/dist/logging.d.ts +3 -0
  131. package/dist/logging.js +40 -0
  132. package/dist/logging.js.map +1 -0
  133. package/dist/mcp/server.d.ts +34 -0
  134. package/dist/mcp/server.js +1196 -0
  135. package/dist/mcp/server.js.map +1 -0
  136. package/dist/memory/embedding-factory.d.ts +6 -0
  137. package/dist/memory/embedding-factory.js +20 -0
  138. package/dist/memory/embedding-factory.js.map +1 -0
  139. package/dist/memory/embeddings.d.ts +40 -0
  140. package/dist/memory/embeddings.js +150 -0
  141. package/dist/memory/embeddings.js.map +1 -0
  142. package/dist/memory/ollama-embeddings.d.ts +63 -0
  143. package/dist/memory/ollama-embeddings.js +215 -0
  144. package/dist/memory/ollama-embeddings.js.map +1 -0
  145. package/dist/memory/retrieve.d.ts +17 -0
  146. package/dist/memory/retrieve.js +29 -0
  147. package/dist/memory/retrieve.js.map +1 -0
  148. package/dist/memory/summarize.d.ts +13 -0
  149. package/dist/memory/summarize.js +58 -0
  150. package/dist/memory/summarize.js.map +1 -0
  151. package/dist/observability/cost.d.ts +12 -0
  152. package/dist/observability/cost.js +22 -0
  153. package/dist/observability/cost.js.map +1 -0
  154. package/dist/observability/dashboard-html.d.ts +5 -0
  155. package/dist/observability/dashboard-html.js +304 -0
  156. package/dist/observability/dashboard-html.js.map +1 -0
  157. package/dist/observability/metrics.d.ts +36 -0
  158. package/dist/observability/metrics.js +230 -0
  159. package/dist/observability/metrics.js.map +1 -0
  160. package/dist/observability/readiness.d.ts +31 -0
  161. package/dist/observability/readiness.js +57 -0
  162. package/dist/observability/readiness.js.map +1 -0
  163. package/dist/observability/server.d.ts +84 -0
  164. package/dist/observability/server.js +181 -0
  165. package/dist/observability/server.js.map +1 -0
  166. package/dist/projects/paths.d.ts +9 -0
  167. package/dist/projects/paths.js +30 -0
  168. package/dist/projects/paths.js.map +1 -0
  169. package/dist/runtime/instance-lock.d.ts +12 -0
  170. package/dist/runtime/instance-lock.js +99 -0
  171. package/dist/runtime/instance-lock.js.map +1 -0
  172. package/dist/runtime/process.d.ts +2 -0
  173. package/dist/runtime/process.js +43 -0
  174. package/dist/runtime/process.js.map +1 -0
  175. package/dist/runtime/shutdown.d.ts +11 -0
  176. package/dist/runtime/shutdown.js +38 -0
  177. package/dist/runtime/shutdown.js.map +1 -0
  178. package/dist/security/access.d.ts +13 -0
  179. package/dist/security/access.js +160 -0
  180. package/dist/security/access.js.map +1 -0
  181. package/dist/service/install.d.ts +19 -0
  182. package/dist/service/install.js +35 -0
  183. package/dist/service/install.js.map +1 -0
  184. package/dist/service/templates.d.ts +22 -0
  185. package/dist/service/templates.js +118 -0
  186. package/dist/service/templates.js.map +1 -0
  187. package/dist/state/audit-log.d.ts +33 -0
  188. package/dist/state/audit-log.js +116 -0
  189. package/dist/state/audit-log.js.map +1 -0
  190. package/dist/state/config-history-store.d.ts +27 -0
  191. package/dist/state/config-history-store.js +65 -0
  192. package/dist/state/config-history-store.js.map +1 -0
  193. package/dist/state/handoff-store.d.ts +20 -0
  194. package/dist/state/handoff-store.js +97 -0
  195. package/dist/state/handoff-store.js.map +1 -0
  196. package/dist/state/idempotency-store.d.ts +19 -0
  197. package/dist/state/idempotency-store.js +84 -0
  198. package/dist/state/idempotency-store.js.map +1 -0
  199. package/dist/state/memory-store.d.ts +137 -0
  200. package/dist/state/memory-store.js +713 -0
  201. package/dist/state/memory-store.js.map +1 -0
  202. package/dist/state/pending-command-store.d.ts +30 -0
  203. package/dist/state/pending-command-store.js +108 -0
  204. package/dist/state/pending-command-store.js.map +1 -0
  205. package/dist/state/run-state-store.d.ts +58 -0
  206. package/dist/state/run-state-store.js +269 -0
  207. package/dist/state/run-state-store.js.map +1 -0
  208. package/dist/state/session-store.d.ts +56 -0
  209. package/dist/state/session-store.js +275 -0
  210. package/dist/state/session-store.js.map +1 -0
  211. package/dist/state/trust-store.d.ts +15 -0
  212. package/dist/state/trust-store.js +53 -0
  213. package/dist/state/trust-store.js.map +1 -0
  214. package/dist/utils/fs.d.ts +4 -0
  215. package/dist/utils/fs.js +26 -0
  216. package/dist/utils/fs.js.map +1 -0
  217. package/dist/utils/json.d.ts +1 -0
  218. package/dist/utils/json.js +9 -0
  219. package/dist/utils/json.js.map +1 -0
  220. package/dist/utils/path.d.ts +3 -0
  221. package/dist/utils/path.js +22 -0
  222. package/dist/utils/path.js.map +1 -0
  223. package/dist/utils/serial-executor.d.ts +5 -0
  224. package/dist/utils/serial-executor.js +12 -0
  225. package/dist/utils/serial-executor.js.map +1 -0
  226. package/package.json +71 -0
  227. package/skills/feique-session/SKILL.md +27 -0
@@ -0,0 +1,308 @@
1
+ import { z } from 'zod';
2
+ export declare const sandboxSchema: z.ZodEnum<{
3
+ "read-only": "read-only";
4
+ "workspace-write": "workspace-write";
5
+ "danger-full-access": "danger-full-access";
6
+ }>;
7
+ export declare const sessionScopeSchema: z.ZodEnum<{
8
+ chat: "chat";
9
+ "chat-user": "chat-user";
10
+ }>;
11
+ export declare const transportSchema: z.ZodEnum<{
12
+ "long-connection": "long-connection";
13
+ webhook: "webhook";
14
+ }>;
15
+ export declare const replyModeSchema: z.ZodEnum<{
16
+ text: "text";
17
+ post: "post";
18
+ card: "card";
19
+ }>;
20
+ export declare const mcpTransportSchema: z.ZodEnum<{
21
+ stdio: "stdio";
22
+ http: "http";
23
+ }>;
24
+ export declare const memoryPinOverflowStrategySchema: z.ZodEnum<{
25
+ reject: "reject";
26
+ "age-out": "age-out";
27
+ }>;
28
+ export declare const memoryPinAgeBasisSchema: z.ZodEnum<{
29
+ updated_at: "updated_at";
30
+ last_accessed_at: "last_accessed_at";
31
+ }>;
32
+ export declare const backendNameSchema: z.ZodEnum<{
33
+ codex: "codex";
34
+ claude: "claude";
35
+ }>;
36
+ export declare const embeddingProviderSchema: z.ZodEnum<{
37
+ local: "local";
38
+ ollama: "ollama";
39
+ }>;
40
+ export declare const claudePermissionModeSchema: z.ZodEnum<{
41
+ acceptEdits: "acceptEdits";
42
+ bypassPermissions: "bypassPermissions";
43
+ default: "default";
44
+ dontAsk: "dontAsk";
45
+ plan: "plan";
46
+ auto: "auto";
47
+ }>;
48
+ export declare const projectSchema: z.ZodObject<{
49
+ root: z.ZodString;
50
+ backend: z.ZodOptional<z.ZodEnum<{
51
+ codex: "codex";
52
+ claude: "claude";
53
+ }>>;
54
+ profile: z.ZodOptional<z.ZodString>;
55
+ sandbox: z.ZodOptional<z.ZodEnum<{
56
+ "read-only": "read-only";
57
+ "workspace-write": "workspace-write";
58
+ "danger-full-access": "danger-full-access";
59
+ }>>;
60
+ session_scope: z.ZodDefault<z.ZodEnum<{
61
+ chat: "chat";
62
+ "chat-user": "chat-user";
63
+ }>>;
64
+ mention_required: z.ZodDefault<z.ZodBoolean>;
65
+ description: z.ZodOptional<z.ZodString>;
66
+ instructions_prefix: z.ZodOptional<z.ZodString>;
67
+ knowledge_paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
68
+ wiki_space_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
69
+ viewer_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
70
+ operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
71
+ admin_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
72
+ notification_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
73
+ session_operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
74
+ run_operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
75
+ config_admin_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
76
+ download_dir: z.ZodOptional<z.ZodString>;
77
+ temp_dir: z.ZodOptional<z.ZodString>;
78
+ cache_dir: z.ZodOptional<z.ZodString>;
79
+ log_dir: z.ZodOptional<z.ZodString>;
80
+ run_priority: z.ZodDefault<z.ZodNumber>;
81
+ chat_rate_limit_window_seconds: z.ZodDefault<z.ZodNumber>;
82
+ chat_rate_limit_max_runs: z.ZodDefault<z.ZodNumber>;
83
+ claude_permission_mode: z.ZodOptional<z.ZodEnum<{
84
+ acceptEdits: "acceptEdits";
85
+ bypassPermissions: "bypassPermissions";
86
+ default: "default";
87
+ dontAsk: "dontAsk";
88
+ plan: "plan";
89
+ auto: "auto";
90
+ }>>;
91
+ claude_model: z.ZodOptional<z.ZodString>;
92
+ claude_max_budget_usd: z.ZodOptional<z.ZodNumber>;
93
+ claude_allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
94
+ claude_system_prompt_append: z.ZodOptional<z.ZodString>;
95
+ daily_token_quota: z.ZodOptional<z.ZodNumber>;
96
+ }, z.core.$strip>;
97
+ export declare const bridgeConfigSchema: z.ZodObject<{
98
+ version: z.ZodDefault<z.ZodNumber>;
99
+ service: z.ZodDefault<z.ZodObject<{
100
+ name: z.ZodDefault<z.ZodString>;
101
+ default_project: z.ZodOptional<z.ZodString>;
102
+ project_switch_auto_adopt_latest: z.ZodDefault<z.ZodBoolean>;
103
+ reply_mode: z.ZodDefault<z.ZodEnum<{
104
+ text: "text";
105
+ post: "post";
106
+ card: "card";
107
+ }>>;
108
+ emit_progress_updates: z.ZodDefault<z.ZodBoolean>;
109
+ progress_update_interval_ms: z.ZodDefault<z.ZodNumber>;
110
+ metrics_host: z.ZodDefault<z.ZodString>;
111
+ metrics_port: z.ZodOptional<z.ZodNumber>;
112
+ idempotency_ttl_seconds: z.ZodDefault<z.ZodNumber>;
113
+ session_history_limit: z.ZodDefault<z.ZodNumber>;
114
+ log_tail_lines: z.ZodDefault<z.ZodNumber>;
115
+ log_rotate_max_bytes: z.ZodDefault<z.ZodNumber>;
116
+ log_rotate_keep_files: z.ZodDefault<z.ZodNumber>;
117
+ reply_quote_user_message: z.ZodDefault<z.ZodBoolean>;
118
+ reply_quote_max_chars: z.ZodDefault<z.ZodNumber>;
119
+ download_message_resources: z.ZodDefault<z.ZodBoolean>;
120
+ transcribe_audio_messages: z.ZodDefault<z.ZodBoolean>;
121
+ transcribe_cli_path: z.ZodOptional<z.ZodString>;
122
+ describe_image_messages: z.ZodDefault<z.ZodBoolean>;
123
+ openai_image_model: z.ZodDefault<z.ZodString>;
124
+ memory_enabled: z.ZodDefault<z.ZodBoolean>;
125
+ memory_search_limit: z.ZodDefault<z.ZodNumber>;
126
+ memory_recent_limit: z.ZodDefault<z.ZodNumber>;
127
+ memory_prompt_max_chars: z.ZodDefault<z.ZodNumber>;
128
+ thread_summary_max_chars: z.ZodDefault<z.ZodNumber>;
129
+ memory_group_enabled: z.ZodDefault<z.ZodBoolean>;
130
+ memory_default_ttl_days: z.ZodOptional<z.ZodNumber>;
131
+ memory_cleanup_interval_seconds: z.ZodDefault<z.ZodNumber>;
132
+ audit_archive_after_days: z.ZodDefault<z.ZodNumber>;
133
+ audit_retention_days: z.ZodDefault<z.ZodNumber>;
134
+ audit_cleanup_interval_seconds: z.ZodDefault<z.ZodNumber>;
135
+ memory_max_pinned_per_scope: z.ZodDefault<z.ZodNumber>;
136
+ memory_pin_overflow_strategy: z.ZodDefault<z.ZodEnum<{
137
+ reject: "reject";
138
+ "age-out": "age-out";
139
+ }>>;
140
+ memory_pin_age_basis: z.ZodDefault<z.ZodEnum<{
141
+ updated_at: "updated_at";
142
+ last_accessed_at: "last_accessed_at";
143
+ }>>;
144
+ team_digest_enabled: z.ZodDefault<z.ZodBoolean>;
145
+ team_digest_interval_hours: z.ZodDefault<z.ZodNumber>;
146
+ team_digest_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
147
+ }, z.core.$strip>>;
148
+ codex: z.ZodDefault<z.ZodObject<{
149
+ bin: z.ZodDefault<z.ZodString>;
150
+ shell: z.ZodOptional<z.ZodString>;
151
+ pre_exec: z.ZodOptional<z.ZodString>;
152
+ default_profile: z.ZodOptional<z.ZodString>;
153
+ default_sandbox: z.ZodDefault<z.ZodEnum<{
154
+ "read-only": "read-only";
155
+ "workspace-write": "workspace-write";
156
+ "danger-full-access": "danger-full-access";
157
+ }>>;
158
+ skip_git_repo_check: z.ZodDefault<z.ZodBoolean>;
159
+ output_token_limit: z.ZodDefault<z.ZodNumber>;
160
+ bridge_instructions: z.ZodDefault<z.ZodString>;
161
+ run_timeout_ms: z.ZodDefault<z.ZodNumber>;
162
+ }, z.core.$strip>>;
163
+ storage: z.ZodDefault<z.ZodObject<{
164
+ dir: z.ZodDefault<z.ZodString>;
165
+ }, z.core.$strip>>;
166
+ security: z.ZodDefault<z.ZodObject<{
167
+ allowed_project_roots: z.ZodDefault<z.ZodArray<z.ZodString>>;
168
+ viewer_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
169
+ operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
170
+ admin_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
171
+ service_observer_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
172
+ service_restart_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
173
+ config_admin_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
174
+ require_group_mentions: z.ZodDefault<z.ZodBoolean>;
175
+ }, z.core.$strip>>;
176
+ mcp: z.ZodDefault<z.ZodOptional<z.ZodObject<{
177
+ transport: z.ZodDefault<z.ZodEnum<{
178
+ stdio: "stdio";
179
+ http: "http";
180
+ }>>;
181
+ host: z.ZodDefault<z.ZodString>;
182
+ port: z.ZodDefault<z.ZodNumber>;
183
+ path: z.ZodDefault<z.ZodString>;
184
+ sse_path: z.ZodDefault<z.ZodString>;
185
+ message_path: z.ZodDefault<z.ZodString>;
186
+ active_auth_token_id: z.ZodOptional<z.ZodString>;
187
+ auth_token: z.ZodOptional<z.ZodString>;
188
+ auth_tokens: z.ZodDefault<z.ZodArray<z.ZodObject<{
189
+ id: z.ZodString;
190
+ token: z.ZodString;
191
+ enabled: z.ZodDefault<z.ZodBoolean>;
192
+ description: z.ZodOptional<z.ZodString>;
193
+ expires_at: z.ZodOptional<z.ZodString>;
194
+ }, z.core.$strip>>>;
195
+ }, z.core.$strip>>>;
196
+ backend: z.ZodDefault<z.ZodOptional<z.ZodObject<{
197
+ default: z.ZodDefault<z.ZodEnum<{
198
+ codex: "codex";
199
+ claude: "claude";
200
+ }>>;
201
+ }, z.core.$strip>>>;
202
+ claude: z.ZodDefault<z.ZodOptional<z.ZodObject<{
203
+ bin: z.ZodDefault<z.ZodString>;
204
+ shell: z.ZodOptional<z.ZodString>;
205
+ pre_exec: z.ZodOptional<z.ZodString>;
206
+ default_permission_mode: z.ZodDefault<z.ZodEnum<{
207
+ acceptEdits: "acceptEdits";
208
+ bypassPermissions: "bypassPermissions";
209
+ default: "default";
210
+ dontAsk: "dontAsk";
211
+ plan: "plan";
212
+ auto: "auto";
213
+ }>>;
214
+ default_model: z.ZodOptional<z.ZodString>;
215
+ max_budget_usd: z.ZodOptional<z.ZodNumber>;
216
+ allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
217
+ system_prompt_append: z.ZodOptional<z.ZodString>;
218
+ run_timeout_ms: z.ZodOptional<z.ZodNumber>;
219
+ output_token_limit: z.ZodDefault<z.ZodNumber>;
220
+ }, z.core.$strip>>>;
221
+ embedding: z.ZodDefault<z.ZodOptional<z.ZodObject<{
222
+ provider: z.ZodDefault<z.ZodEnum<{
223
+ local: "local";
224
+ ollama: "ollama";
225
+ }>>;
226
+ ollama_base_url: z.ZodDefault<z.ZodString>;
227
+ ollama_model: z.ZodDefault<z.ZodString>;
228
+ ollama_timeout_ms: z.ZodDefault<z.ZodNumber>;
229
+ }, z.core.$strip>>>;
230
+ feishu: z.ZodObject<{
231
+ app_id: z.ZodString;
232
+ app_secret: z.ZodString;
233
+ dry_run: z.ZodDefault<z.ZodBoolean>;
234
+ encrypt_key: z.ZodOptional<z.ZodString>;
235
+ verification_token: z.ZodOptional<z.ZodString>;
236
+ bot_name: z.ZodOptional<z.ZodString>;
237
+ transport: z.ZodDefault<z.ZodEnum<{
238
+ "long-connection": "long-connection";
239
+ webhook: "webhook";
240
+ }>>;
241
+ host: z.ZodDefault<z.ZodString>;
242
+ port: z.ZodDefault<z.ZodNumber>;
243
+ event_path: z.ZodDefault<z.ZodString>;
244
+ card_path: z.ZodDefault<z.ZodString>;
245
+ allowed_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
246
+ allowed_group_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
247
+ }, z.core.$strip>;
248
+ projects: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
249
+ root: z.ZodString;
250
+ backend: z.ZodOptional<z.ZodEnum<{
251
+ codex: "codex";
252
+ claude: "claude";
253
+ }>>;
254
+ profile: z.ZodOptional<z.ZodString>;
255
+ sandbox: z.ZodOptional<z.ZodEnum<{
256
+ "read-only": "read-only";
257
+ "workspace-write": "workspace-write";
258
+ "danger-full-access": "danger-full-access";
259
+ }>>;
260
+ session_scope: z.ZodDefault<z.ZodEnum<{
261
+ chat: "chat";
262
+ "chat-user": "chat-user";
263
+ }>>;
264
+ mention_required: z.ZodDefault<z.ZodBoolean>;
265
+ description: z.ZodOptional<z.ZodString>;
266
+ instructions_prefix: z.ZodOptional<z.ZodString>;
267
+ knowledge_paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
268
+ wiki_space_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
269
+ viewer_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
270
+ operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
271
+ admin_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
272
+ notification_chat_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
273
+ session_operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
274
+ run_operator_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
275
+ config_admin_chat_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
276
+ download_dir: z.ZodOptional<z.ZodString>;
277
+ temp_dir: z.ZodOptional<z.ZodString>;
278
+ cache_dir: z.ZodOptional<z.ZodString>;
279
+ log_dir: z.ZodOptional<z.ZodString>;
280
+ run_priority: z.ZodDefault<z.ZodNumber>;
281
+ chat_rate_limit_window_seconds: z.ZodDefault<z.ZodNumber>;
282
+ chat_rate_limit_max_runs: z.ZodDefault<z.ZodNumber>;
283
+ claude_permission_mode: z.ZodOptional<z.ZodEnum<{
284
+ acceptEdits: "acceptEdits";
285
+ bypassPermissions: "bypassPermissions";
286
+ default: "default";
287
+ dontAsk: "dontAsk";
288
+ plan: "plan";
289
+ auto: "auto";
290
+ }>>;
291
+ claude_model: z.ZodOptional<z.ZodString>;
292
+ claude_max_budget_usd: z.ZodOptional<z.ZodNumber>;
293
+ claude_allowed_tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
294
+ claude_system_prompt_append: z.ZodOptional<z.ZodString>;
295
+ daily_token_quota: z.ZodOptional<z.ZodNumber>;
296
+ }, z.core.$strip>>>;
297
+ }, z.core.$strip>;
298
+ export type BridgeConfig = z.infer<typeof bridgeConfigSchema>;
299
+ export type ProjectConfig = z.infer<typeof projectSchema>;
300
+ export type SandboxMode = z.infer<typeof sandboxSchema>;
301
+ export type SessionScope = z.infer<typeof sessionScopeSchema>;
302
+ export type BridgeTransport = z.infer<typeof transportSchema>;
303
+ export type ReplyMode = z.infer<typeof replyModeSchema>;
304
+ export type McpTransport = z.infer<typeof mcpTransportSchema>;
305
+ export type MemoryPinOverflowStrategy = z.infer<typeof memoryPinOverflowStrategySchema>;
306
+ export type MemoryPinAgeBasis = z.infer<typeof memoryPinAgeBasisSchema>;
307
+ export type BackendName = z.infer<typeof backendNameSchema>;
308
+ export type ClaudePermissionMode = z.infer<typeof claudePermissionModeSchema>;
@@ -0,0 +1,250 @@
1
+ import { z } from 'zod';
2
+ export const sandboxSchema = z.enum(['read-only', 'workspace-write', 'danger-full-access']);
3
+ export const sessionScopeSchema = z.enum(['chat', 'chat-user']);
4
+ export const transportSchema = z.enum(['long-connection', 'webhook']);
5
+ export const replyModeSchema = z.enum(['text', 'post', 'card']);
6
+ export const mcpTransportSchema = z.enum(['stdio', 'http']);
7
+ export const memoryPinOverflowStrategySchema = z.enum(['reject', 'age-out']);
8
+ export const memoryPinAgeBasisSchema = z.enum(['updated_at', 'last_accessed_at']);
9
+ export const backendNameSchema = z.enum(['codex', 'claude']);
10
+ export const embeddingProviderSchema = z.enum(['local', 'ollama']);
11
+ export const claudePermissionModeSchema = z.enum(['acceptEdits', 'bypassPermissions', 'default', 'dontAsk', 'plan', 'auto']);
12
+ export const projectSchema = z.object({
13
+ root: z.string(),
14
+ backend: backendNameSchema.optional(),
15
+ profile: z.string().optional(),
16
+ sandbox: sandboxSchema.optional(),
17
+ session_scope: sessionScopeSchema.default('chat'),
18
+ mention_required: z.boolean().default(false),
19
+ description: z.string().optional(),
20
+ instructions_prefix: z.string().optional(),
21
+ knowledge_paths: z.array(z.string()).default([]),
22
+ wiki_space_ids: z.array(z.string()).default([]),
23
+ viewer_chat_ids: z.array(z.string()).optional(),
24
+ operator_chat_ids: z.array(z.string()).optional(),
25
+ admin_chat_ids: z.array(z.string()).default([]),
26
+ notification_chat_ids: z.array(z.string()).default([]),
27
+ session_operator_chat_ids: z.array(z.string()).optional(),
28
+ run_operator_chat_ids: z.array(z.string()).optional(),
29
+ config_admin_chat_ids: z.array(z.string()).optional(),
30
+ download_dir: z.string().optional(),
31
+ temp_dir: z.string().optional(),
32
+ cache_dir: z.string().optional(),
33
+ log_dir: z.string().optional(),
34
+ run_priority: z.number().int().min(1).max(1000).default(100),
35
+ chat_rate_limit_window_seconds: z.number().int().positive().default(60),
36
+ chat_rate_limit_max_runs: z.number().int().positive().default(20),
37
+ claude_permission_mode: claudePermissionModeSchema.optional(),
38
+ claude_model: z.string().optional(),
39
+ claude_max_budget_usd: z.number().positive().optional(),
40
+ claude_allowed_tools: z.array(z.string()).optional(),
41
+ claude_system_prompt_append: z.string().optional(),
42
+ daily_token_quota: z.number().int().positive().optional(),
43
+ });
44
+ export const bridgeConfigSchema = z.object({
45
+ version: z.number().int().positive().default(1),
46
+ service: z
47
+ .object({
48
+ name: z.string().default('feique'),
49
+ default_project: z.string().optional(),
50
+ project_switch_auto_adopt_latest: z.boolean().default(false),
51
+ reply_mode: replyModeSchema.default('text'),
52
+ emit_progress_updates: z.boolean().default(false),
53
+ progress_update_interval_ms: z.number().int().positive().default(4000),
54
+ metrics_host: z.string().default('127.0.0.1'),
55
+ metrics_port: z.number().int().positive().optional(),
56
+ idempotency_ttl_seconds: z.number().int().positive().default(86400),
57
+ session_history_limit: z.number().int().positive().default(20),
58
+ log_tail_lines: z.number().int().positive().default(100),
59
+ log_rotate_max_bytes: z.number().int().positive().default(10 * 1024 * 1024),
60
+ log_rotate_keep_files: z.number().int().positive().default(5),
61
+ reply_quote_user_message: z.boolean().default(true),
62
+ reply_quote_max_chars: z.number().int().positive().default(120),
63
+ download_message_resources: z.boolean().default(false),
64
+ transcribe_audio_messages: z.boolean().default(false),
65
+ transcribe_cli_path: z.string().optional(),
66
+ describe_image_messages: z.boolean().default(false),
67
+ openai_image_model: z.string().default('gpt-4.1-mini'),
68
+ memory_enabled: z.boolean().default(true),
69
+ memory_search_limit: z.number().int().positive().default(3),
70
+ memory_recent_limit: z.number().int().positive().default(5),
71
+ memory_prompt_max_chars: z.number().int().positive().default(1600),
72
+ thread_summary_max_chars: z.number().int().positive().default(1200),
73
+ memory_group_enabled: z.boolean().default(false),
74
+ memory_default_ttl_days: z.number().int().positive().optional(),
75
+ memory_cleanup_interval_seconds: z.number().int().positive().default(1800),
76
+ audit_archive_after_days: z.number().int().positive().default(7),
77
+ audit_retention_days: z.number().int().positive().default(30),
78
+ audit_cleanup_interval_seconds: z.number().int().positive().default(3600),
79
+ memory_max_pinned_per_scope: z.number().int().positive().default(5),
80
+ memory_pin_overflow_strategy: memoryPinOverflowStrategySchema.default('age-out'),
81
+ memory_pin_age_basis: memoryPinAgeBasisSchema.default('updated_at'),
82
+ team_digest_enabled: z.boolean().default(false),
83
+ team_digest_interval_hours: z.number().int().positive().default(24),
84
+ team_digest_chat_ids: z.array(z.string()).default([]),
85
+ })
86
+ .default({
87
+ name: 'feique',
88
+ project_switch_auto_adopt_latest: false,
89
+ reply_mode: 'text',
90
+ emit_progress_updates: false,
91
+ progress_update_interval_ms: 4000,
92
+ metrics_host: '127.0.0.1',
93
+ idempotency_ttl_seconds: 86400,
94
+ session_history_limit: 20,
95
+ log_tail_lines: 100,
96
+ log_rotate_max_bytes: 10 * 1024 * 1024,
97
+ log_rotate_keep_files: 5,
98
+ reply_quote_user_message: true,
99
+ reply_quote_max_chars: 120,
100
+ download_message_resources: false,
101
+ transcribe_audio_messages: false,
102
+ describe_image_messages: false,
103
+ openai_image_model: 'gpt-4.1-mini',
104
+ memory_enabled: true,
105
+ memory_search_limit: 3,
106
+ memory_recent_limit: 5,
107
+ memory_prompt_max_chars: 1600,
108
+ thread_summary_max_chars: 1200,
109
+ memory_group_enabled: false,
110
+ memory_cleanup_interval_seconds: 1800,
111
+ audit_archive_after_days: 7,
112
+ audit_retention_days: 30,
113
+ audit_cleanup_interval_seconds: 3600,
114
+ memory_max_pinned_per_scope: 5,
115
+ memory_pin_overflow_strategy: 'age-out',
116
+ memory_pin_age_basis: 'updated_at',
117
+ team_digest_enabled: false,
118
+ team_digest_interval_hours: 24,
119
+ team_digest_chat_ids: [],
120
+ }),
121
+ codex: z
122
+ .object({
123
+ bin: z.string().default('codex'),
124
+ shell: z.string().optional(),
125
+ pre_exec: z.string().optional(),
126
+ default_profile: z.string().optional(),
127
+ default_sandbox: sandboxSchema.default('workspace-write'),
128
+ skip_git_repo_check: z.boolean().default(true),
129
+ output_token_limit: z.number().int().positive().default(4000),
130
+ bridge_instructions: z.string().default(''),
131
+ run_timeout_ms: z.number().int().positive().default(1800000),
132
+ })
133
+ .default({
134
+ bin: 'codex',
135
+ default_sandbox: 'workspace-write',
136
+ skip_git_repo_check: true,
137
+ output_token_limit: 4000,
138
+ bridge_instructions: '',
139
+ run_timeout_ms: 1800000,
140
+ }),
141
+ storage: z
142
+ .object({
143
+ dir: z.string().default('~/.feique/state'),
144
+ })
145
+ .default({
146
+ dir: '~/.feique/state',
147
+ }),
148
+ security: z
149
+ .object({
150
+ allowed_project_roots: z.array(z.string()).default([]),
151
+ viewer_chat_ids: z.array(z.string()).optional(),
152
+ operator_chat_ids: z.array(z.string()).optional(),
153
+ admin_chat_ids: z.array(z.string()).default([]),
154
+ service_observer_chat_ids: z.array(z.string()).optional(),
155
+ service_restart_chat_ids: z.array(z.string()).optional(),
156
+ config_admin_chat_ids: z.array(z.string()).optional(),
157
+ require_group_mentions: z.boolean().default(true),
158
+ })
159
+ .default({
160
+ allowed_project_roots: [],
161
+ admin_chat_ids: [],
162
+ require_group_mentions: true,
163
+ }),
164
+ mcp: z
165
+ .object({
166
+ transport: mcpTransportSchema.default('stdio'),
167
+ host: z.string().default('127.0.0.1'),
168
+ port: z.number().int().positive().default(8765),
169
+ path: z.string().default('/mcp'),
170
+ sse_path: z.string().default('/mcp/sse'),
171
+ message_path: z.string().default('/mcp/message'),
172
+ active_auth_token_id: z.string().optional(),
173
+ auth_token: z.string().optional(),
174
+ auth_tokens: z
175
+ .array(z.object({
176
+ id: z.string(),
177
+ token: z.string(),
178
+ enabled: z.boolean().default(true),
179
+ description: z.string().optional(),
180
+ expires_at: z.string().optional(),
181
+ }))
182
+ .default([]),
183
+ })
184
+ .optional()
185
+ .default({
186
+ transport: 'stdio',
187
+ host: '127.0.0.1',
188
+ port: 8765,
189
+ path: '/mcp',
190
+ sse_path: '/mcp/sse',
191
+ message_path: '/mcp/message',
192
+ auth_tokens: [],
193
+ }),
194
+ backend: z
195
+ .object({
196
+ default: backendNameSchema.default('codex'),
197
+ })
198
+ .optional()
199
+ .default({ default: 'codex' }),
200
+ claude: z
201
+ .object({
202
+ bin: z.string().default('claude'),
203
+ shell: z.string().optional(),
204
+ pre_exec: z.string().optional(),
205
+ default_permission_mode: claudePermissionModeSchema.default('auto'),
206
+ default_model: z.string().optional(),
207
+ max_budget_usd: z.number().positive().optional(),
208
+ allowed_tools: z.array(z.string()).optional(),
209
+ system_prompt_append: z.string().optional(),
210
+ run_timeout_ms: z.number().int().positive().optional(),
211
+ output_token_limit: z.number().int().positive().default(4000),
212
+ })
213
+ .optional()
214
+ .default({
215
+ bin: 'claude',
216
+ default_permission_mode: 'auto',
217
+ output_token_limit: 4000,
218
+ }),
219
+ embedding: z
220
+ .object({
221
+ provider: embeddingProviderSchema.default('local'),
222
+ ollama_base_url: z.string().default('http://127.0.0.1:11434'),
223
+ ollama_model: z.string().default('auto'),
224
+ ollama_timeout_ms: z.number().int().positive().default(30000),
225
+ })
226
+ .optional()
227
+ .default({
228
+ provider: 'local',
229
+ ollama_base_url: 'http://127.0.0.1:11434',
230
+ ollama_model: 'auto',
231
+ ollama_timeout_ms: 30000,
232
+ }),
233
+ feishu: z.object({
234
+ app_id: z.string(),
235
+ app_secret: z.string(),
236
+ dry_run: z.boolean().default(false),
237
+ encrypt_key: z.string().optional(),
238
+ verification_token: z.string().optional(),
239
+ bot_name: z.string().optional(),
240
+ transport: transportSchema.default('long-connection'),
241
+ host: z.string().default('0.0.0.0'),
242
+ port: z.number().int().positive().default(3333),
243
+ event_path: z.string().default('/webhook/event'),
244
+ card_path: z.string().default('/webhook/card'),
245
+ allowed_chat_ids: z.array(z.string()).default([]),
246
+ allowed_group_ids: z.array(z.string()).default([]),
247
+ }),
248
+ projects: z.record(z.string(), projectSchema).default({}),
249
+ });
250
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { CodexSessionIndex, type IndexedCodexSession } from '../codex/session-index.js';
2
+ import type { BridgeConfig, ProjectConfig } from '../config/schema.js';
3
+ import { SessionStore } from '../state/session-store.js';
4
+ import type { Backend, IndexedSession } from '../backend/types.js';
5
+ export interface ConversationRef {
6
+ chatId: string;
7
+ actorId?: string;
8
+ tenantKey?: string;
9
+ projectAlias?: string;
10
+ }
11
+ export interface ResolvedProjectContext extends ConversationRef {
12
+ selectionKey: string;
13
+ sessionKey: string;
14
+ projectAlias: string;
15
+ project: ProjectConfig;
16
+ }
17
+ export declare function resolveProjectContext(config: BridgeConfig, sessionStore: SessionStore, conversation: ConversationRef): Promise<ResolvedProjectContext>;
18
+ export declare function switchProjectBinding(config: BridgeConfig, sessionStore: SessionStore, sessionIndex: CodexSessionIndex, conversation: ConversationRef, projectAlias: string): Promise<{
19
+ text: string;
20
+ structured: {
21
+ projectAlias: string;
22
+ selectionKey: string;
23
+ sessionKey: string;
24
+ autoAdoption: {
25
+ kind: 'disabled';
26
+ } | {
27
+ kind: 'existing';
28
+ threadId: string;
29
+ } | {
30
+ kind: 'adopted';
31
+ session: IndexedSession;
32
+ } | {
33
+ kind: 'missing';
34
+ };
35
+ };
36
+ }>;
37
+ export declare function listBridgeSessions(config: BridgeConfig, sessionStore: SessionStore, conversation: ConversationRef): Promise<{
38
+ text: string;
39
+ structured: {
40
+ projectAlias: string;
41
+ sessionKey: string;
42
+ activeSessionId: string | null;
43
+ sessions: Awaited<ReturnType<SessionStore['listProjectSessions']>>;
44
+ };
45
+ }>;
46
+ export declare function adoptProjectSession(config: BridgeConfig, sessionStore: SessionStore, sessionIndex: CodexSessionIndex, conversation: ConversationRef, target?: string): Promise<{
47
+ text: string;
48
+ structured: {
49
+ projectAlias: string;
50
+ projectRoot: string;
51
+ target?: string;
52
+ sessionKey?: string;
53
+ candidates?: IndexedSession[];
54
+ adopted: IndexedSession | null;
55
+ };
56
+ }>;
57
+ export declare function maybeAutoAdoptLatestSession(sessionStore: SessionStore, backend: Backend, context: ResolvedProjectContext): Promise<{
58
+ kind: 'existing';
59
+ threadId: string;
60
+ } | {
61
+ kind: 'adopted';
62
+ session: IndexedSession;
63
+ } | {
64
+ kind: 'missing';
65
+ }>;
66
+ export declare function renderSessionMatch(session: Pick<IndexedCodexSession, 'matchKind' | 'matchScore'>): string;
67
+ export declare function renderUnifiedSessionMatch(session: Pick<IndexedSession, 'matchKind' | 'matchScore'>): string;