skill-chef 0.3.1 → 0.3.2

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 (183) hide show
  1. package/dist/add/commands.d.ts +15 -0
  2. package/dist/add/commands.d.ts.map +1 -0
  3. package/dist/add/commands.js +22 -0
  4. package/dist/add/commands.js.map +1 -0
  5. package/dist/add/index.d.ts +10 -0
  6. package/dist/add/index.d.ts.map +1 -0
  7. package/dist/add/index.js +10 -0
  8. package/dist/add/index.js.map +1 -0
  9. package/dist/add/routes.d.ts +11 -0
  10. package/dist/add/routes.d.ts.map +1 -0
  11. package/dist/add/routes.js +23 -0
  12. package/dist/add/routes.js.map +1 -0
  13. package/dist/add/run-write.d.ts +37 -0
  14. package/dist/add/run-write.d.ts.map +1 -0
  15. package/dist/add/run-write.js +187 -0
  16. package/dist/add/run-write.js.map +1 -0
  17. package/dist/cli/cmd_read.js +32 -289
  18. package/dist/cli/cmd_read.js.map +1 -1
  19. package/dist/cli/keys.d.ts +2 -1
  20. package/dist/cli/keys.d.ts.map +1 -1
  21. package/dist/cli/keys.js +37 -1
  22. package/dist/cli/keys.js.map +1 -1
  23. package/dist/cook/commands.d.ts +13 -0
  24. package/dist/cook/commands.d.ts.map +1 -0
  25. package/dist/cook/commands.js +21 -0
  26. package/dist/cook/commands.js.map +1 -0
  27. package/dist/cook/index.d.ts +9 -0
  28. package/dist/cook/index.d.ts.map +1 -0
  29. package/dist/cook/index.js +9 -0
  30. package/dist/cook/index.js.map +1 -0
  31. package/dist/cook/routes.d.ts +11 -0
  32. package/dist/cook/routes.d.ts.map +1 -0
  33. package/dist/cook/routes.js +35 -0
  34. package/dist/cook/routes.js.map +1 -0
  35. package/dist/cook/run.d.ts +24 -0
  36. package/dist/cook/run.d.ts.map +1 -0
  37. package/dist/cook/run.js +46 -0
  38. package/dist/cook/run.js.map +1 -0
  39. package/dist/data/commands.d.ts +12 -0
  40. package/dist/data/commands.d.ts.map +1 -0
  41. package/dist/data/commands.js +11 -0
  42. package/dist/data/commands.js.map +1 -0
  43. package/dist/data/index.d.ts +9 -0
  44. package/dist/data/index.d.ts.map +1 -0
  45. package/dist/data/index.js +9 -0
  46. package/dist/data/index.js.map +1 -0
  47. package/dist/data/routes.d.ts +12 -0
  48. package/dist/data/routes.d.ts.map +1 -0
  49. package/dist/data/routes.js +19 -0
  50. package/dist/data/routes.js.map +1 -0
  51. package/dist/data/run-query.d.ts +15 -0
  52. package/dist/data/run-query.d.ts.map +1 -0
  53. package/dist/data/run-query.js +73 -0
  54. package/dist/data/run-query.js.map +1 -0
  55. package/dist/fetch/db.d.ts +11 -31
  56. package/dist/fetch/db.d.ts.map +1 -1
  57. package/dist/fetch/db.js +39 -328
  58. package/dist/fetch/db.js.map +1 -1
  59. package/dist/fetch/index.d.ts +7 -1
  60. package/dist/fetch/index.d.ts.map +1 -1
  61. package/dist/fetch/index.js +9 -1
  62. package/dist/fetch/index.js.map +1 -1
  63. package/dist/fetch/schema.d.ts +7 -0
  64. package/dist/fetch/schema.d.ts.map +1 -0
  65. package/dist/fetch/schema.js +53 -0
  66. package/dist/fetch/schema.js.map +1 -0
  67. package/dist/history/index.d.ts +3 -2
  68. package/dist/history/index.d.ts.map +1 -1
  69. package/dist/history/index.js +3 -2
  70. package/dist/history/index.js.map +1 -1
  71. package/dist/history/run-query.d.ts +13 -0
  72. package/dist/history/run-query.d.ts.map +1 -0
  73. package/dist/history/run-query.js +44 -0
  74. package/dist/history/run-query.js.map +1 -0
  75. package/dist/history/run-record.d.ts +21 -0
  76. package/dist/history/run-record.d.ts.map +1 -0
  77. package/dist/history/run-record.js +71 -0
  78. package/dist/history/run-record.js.map +1 -0
  79. package/dist/relation/commands.d.ts +10 -0
  80. package/dist/relation/commands.d.ts.map +1 -0
  81. package/dist/relation/commands.js +9 -0
  82. package/dist/relation/commands.js.map +1 -0
  83. package/dist/relation/index.d.ts +8 -0
  84. package/dist/relation/index.d.ts.map +1 -0
  85. package/dist/relation/index.js +8 -0
  86. package/dist/relation/index.js.map +1 -0
  87. package/dist/relation/routes.d.ts +10 -0
  88. package/dist/relation/routes.d.ts.map +1 -0
  89. package/dist/relation/routes.js +28 -0
  90. package/dist/relation/routes.js.map +1 -0
  91. package/dist/render/index.d.ts +7 -1
  92. package/dist/render/index.d.ts.map +1 -1
  93. package/dist/render/index.js +9 -1
  94. package/dist/render/index.js.map +1 -1
  95. package/dist/render/views.d.ts +1 -39
  96. package/dist/render/views.d.ts.map +1 -1
  97. package/dist/render/views.js +6 -56
  98. package/dist/render/views.js.map +1 -1
  99. package/dist/search/commands.d.ts +14 -0
  100. package/dist/search/commands.d.ts.map +1 -0
  101. package/dist/search/commands.js +22 -0
  102. package/dist/search/commands.js.map +1 -0
  103. package/dist/search/index.d.ts +9 -0
  104. package/dist/search/index.d.ts.map +1 -0
  105. package/dist/search/index.js +9 -0
  106. package/dist/search/index.js.map +1 -0
  107. package/dist/search/routes.d.ts +11 -0
  108. package/dist/search/routes.d.ts.map +1 -0
  109. package/dist/search/routes.js +59 -0
  110. package/dist/search/routes.js.map +1 -0
  111. package/dist/search/run.d.ts +22 -0
  112. package/dist/search/run.d.ts.map +1 -0
  113. package/dist/search/run.js +105 -0
  114. package/dist/search/run.js.map +1 -0
  115. package/dist/setup/commands.d.ts +10 -0
  116. package/dist/setup/commands.d.ts.map +1 -0
  117. package/dist/setup/commands.js +9 -0
  118. package/dist/setup/commands.js.map +1 -0
  119. package/dist/setup/index.d.ts +8 -0
  120. package/dist/setup/index.d.ts.map +1 -0
  121. package/dist/setup/index.js +8 -0
  122. package/dist/setup/index.js.map +1 -0
  123. package/dist/setup/routes.d.ts +10 -0
  124. package/dist/setup/routes.d.ts.map +1 -0
  125. package/dist/setup/routes.js +16 -0
  126. package/dist/setup/routes.js.map +1 -0
  127. package/dist/shared/command-spec.d.ts +42 -0
  128. package/dist/shared/command-spec.d.ts.map +1 -0
  129. package/dist/shared/command-spec.js +15 -0
  130. package/dist/shared/command-spec.js.map +1 -0
  131. package/dist/shared/slots.d.ts +24 -0
  132. package/dist/shared/slots.d.ts.map +1 -0
  133. package/dist/shared/slots.js +63 -0
  134. package/dist/shared/slots.js.map +1 -0
  135. package/dist/shopping/commands.d.ts +13 -0
  136. package/dist/shopping/commands.d.ts.map +1 -0
  137. package/dist/shopping/commands.js +21 -0
  138. package/dist/shopping/commands.js.map +1 -0
  139. package/dist/shopping/index.d.ts +9 -0
  140. package/dist/shopping/index.d.ts.map +1 -0
  141. package/dist/shopping/index.js +9 -0
  142. package/dist/shopping/index.js.map +1 -0
  143. package/dist/shopping/routes.d.ts +11 -0
  144. package/dist/shopping/routes.d.ts.map +1 -0
  145. package/dist/shopping/routes.js +35 -0
  146. package/dist/shopping/routes.js.map +1 -0
  147. package/dist/shopping/run.d.ts +24 -0
  148. package/dist/shopping/run.d.ts.map +1 -0
  149. package/dist/shopping/run.js +74 -0
  150. package/dist/shopping/run.js.map +1 -0
  151. package/dist/update/commands.d.ts +12 -0
  152. package/dist/update/commands.d.ts.map +1 -0
  153. package/dist/update/commands.js +11 -0
  154. package/dist/update/commands.js.map +1 -0
  155. package/dist/update/index.d.ts +9 -0
  156. package/dist/update/index.d.ts.map +1 -0
  157. package/dist/update/index.js +9 -0
  158. package/dist/update/index.js.map +1 -0
  159. package/dist/update/routes.d.ts +12 -0
  160. package/dist/update/routes.d.ts.map +1 -0
  161. package/dist/update/routes.js +24 -0
  162. package/dist/update/routes.js.map +1 -0
  163. package/dist/update/run-write.d.ts +19 -0
  164. package/dist/update/run-write.d.ts.map +1 -0
  165. package/dist/update/run-write.js +99 -0
  166. package/dist/update/run-write.js.map +1 -0
  167. package/dist/view/commands.d.ts +14 -0
  168. package/dist/view/commands.d.ts.map +1 -0
  169. package/dist/view/commands.js +22 -0
  170. package/dist/view/commands.js.map +1 -0
  171. package/dist/view/index.d.ts +9 -0
  172. package/dist/view/index.d.ts.map +1 -0
  173. package/dist/view/index.js +9 -0
  174. package/dist/view/index.js.map +1 -0
  175. package/dist/view/routes.d.ts +11 -0
  176. package/dist/view/routes.d.ts.map +1 -0
  177. package/dist/view/routes.js +53 -0
  178. package/dist/view/routes.js.map +1 -0
  179. package/dist/view/run.d.ts +13 -0
  180. package/dist/view/run.d.ts.map +1 -0
  181. package/dist/view/run.js +34 -0
  182. package/dist/view/run.js.map +1 -0
  183. package/package.json +3 -3
@@ -2,52 +2,38 @@
2
2
  // 私家大厨唯一出口 cmd_read:argv+JSON(stdout)+exit;非 0 走 stderr;超时 terminate+TOAST 降级标记。
3
3
  // 退出码对齐 skilllink 冻结:0 ok;1 预检;2 用法/参数;3 key;4 取数/超时;5 envelope/渲染/落盘。
4
4
  // stdout 纯净:成功只打 envelope JSON 一行。写走 receipt(直通即真相)。
5
- // 取数(fetch/db.ts 已落盘,以其签名为准):openChefDb/closeChefDb/listRecipes/filterRecipes/searchRecipes/getRecipeDetail/addRecipe/updateRecipe/addIngredient(h,recipeId,input)/addStep(h,recipeId,input)/deprecateRecipe/recordHistory/queryHistory(h,recipeId?)/historyStats/buildShoppingList/healthCheck。
6
- // 口径:policy WriteOp(add/update/deprecate)+ RecipeOp(add/update/discard/add-ingredient/add-step,CLI 兼容 discard=deprecate);queryHistory 无参返全量;buildShoppingList 合并行含 optional/category 标记。
5
+ // 取数(#839 起按域落位,以各域签名为准):开闭库与多域查询住 `fetch/db.ts`;
6
+ // 单域独占的取数住各域 run(search/history/shopping/data 内;旧址由 `fetch/index.ts` 转出)。
7
+ // 口径:policy WriteOp(add/update/deprecate)+ RecipeOp(add/update/discard/add-ingredient/add-step,CLI 兼容 discard=deprecate);queryHistory 无参返全量;buildShoppingList 合并行含 optional/category 标记(住 shopping)。
7
8
  import { writeFileSync } from 'node:fs';
8
9
  import { join, resolve } from 'node:path';
9
- import { ChefFetchError, ChefPolicyError, openChefDb, closeChefDb, listRecipes, filterRecipes, searchRecipes, getRecipeDetail, addRecipe, updateRecipe, deprecateRecipe, addIngredient, addStep, recordHistory, queryHistory, historyStats, buildShoppingList, healthCheck, } from '../fetch/index.js';
10
+ import { ChefFetchError, ChefPolicyError, openChefDb, closeChefDb, } from '../fetch/index.js';
10
11
  import { resolveDbPath, resolveDbDir, dbFilename } from '../fetch/paths.js';
11
12
  import { isConfigKey, runConfigKey } from './config.js';
12
13
  // #706 · 配置体检:设置页专用的一条只读命令,同走「进分派层之前拦下」这条口(判据住 src/health.ts)。
13
14
  import { isHealthCheckKey, runHealthCheckKey } from './health.js';
14
- import { needName, needNames, validateCategory, validateRating } from '../policy/index.js';
15
- import { chefShapeFor, buildChefEnvelope, renderEnvelopeHtml, assertHtmlSize, toRecipeItem, recipeDetail, buildRecipeSearch, buildRecipeReceipt, buildCookingRun, buildShopping, buildHistoryRecord, buildHistoryQuery, toHistoryItem, buildHelpItems, fillTemplate, loadTemplate, templateFor, ChefRenderError, } from '../render/index.js';
15
+ import { fail, note } from '../shared/slots.js';
16
+ import { chefShapeFor, buildChefEnvelope, renderEnvelopeHtml, assertHtmlSize, buildHelpItems, fillTemplate, loadTemplate, templateFor, ChefRenderError, } from '../render/index.js';
16
17
  import { buildHelpLookup, buildChefHelpDelivery, buildChefLookupLanding, deliverChefHelp, } from '../help/index.js';
17
18
  import { helpReuseWindowOf } from 'base-paint/save-html';
19
+ // #839 · 各域处理经能力门进入(入口走公开接口,不直引域内部件)。
20
+ import { runRecipeView } from '../view/index.js';
21
+ import { runRecipeSearch } from '../search/index.js';
22
+ import { runRecipeWriteAdd } from '../add/index.js';
23
+ import { runRecipeWriteUpdate } from '../update/index.js';
24
+ import { runCookingRun } from '../cook/index.js';
25
+ import { runShoppingQuery } from '../shopping/index.js';
26
+ import { runHistoryRecord, runHistoryQuery } from '../history/index.js';
27
+ import { runDataQuery } from '../data/index.js';
18
28
  const DEFAULT_TIMEOUT_MS = 30000;
19
- // #43 F2 一期限制:FILTER 维度只读(recipe.search 透传过滤),recipe.write 一期只写主表,维度表落库走二期。
20
- const FILTER_KEYS = ['cuisine', 'season', 'method', 'flavor', 'tag', 'meal', 'cookware', 'difficulty', 'status', 'maxTime', 'filter'];
21
- function fail(code, msg) { console.error('ERR ' + code + ': ' + msg); process.exit(code); }
22
29
  function toast(msg) { console.error('TOAST: ' + msg); }
23
- function note(msg) { console.error('NOTE: ' + msg); }
24
30
  function preflight() {
25
31
  const v = process.versions.node.split('.').map(Number);
26
32
  if (!(v[0] > 22 || (v[0] === 22 && v[1] >= 13)))
27
33
  fail(1, 'node 低于 22.13:' + process.versions.node);
28
34
  }
29
- function todayStr() {
30
- return new Date().toISOString().slice(0, 10);
31
- }
32
- function needServings(params) {
33
- if (params.servings === undefined)
34
- return undefined;
35
- const n = typeof params.servings === 'string' ? Number(params.servings.trim()) : params.servings;
36
- if (!Number.isInteger(n) || n <= 0)
37
- fail(2, 'servings 须为正整数');
38
- return n;
39
- }
40
- // 查看定位:nameOrId(任务口径)兼容 name/id(policy needNameOrId 口径);缺失走取数错 exit4(任务要求缺失抛4)。
41
- function resolveNameOrId(params) {
42
- const cands = [params.nameOrId, params.name, params.id];
43
- for (const c of cands) {
44
- if (typeof c === 'string' && c.trim())
45
- return c.trim();
46
- if (typeof c === 'number' && Number.isFinite(c))
47
- return String(c);
48
- }
49
- throw new ChefFetchError('CHEF_BAD_QUERY', '须给 nameOrId(菜名或 id,缺失阻断)');
50
- }
35
+ // 槽位与参数原语(todayStr/needServings/resolveNameOrId/resolveRecipeId/pickStr/pickNum)
36
+ // 已搬入 `src/shared/slots.ts`(多域共用,旧址由本入口引用,不再本地定义)。
51
37
  // 写 op 超集解析:add/update/discard/deprecate/add-ingredient/add-step(policy WriteOp 仅前三名,discard 与 deprecate 同义)。
52
38
  function parseWriteOpCompat(params) {
53
39
  const op = params.op === undefined ? 'add' : params.op;
@@ -55,28 +41,6 @@ function parseWriteOpCompat(params) {
55
41
  return op;
56
42
  throw new ChefPolicyError('POLICY_BAD_INPUT', 'op 非法(期望 add/update/discard/add-ingredient/add-step):' + JSON.stringify(op));
57
43
  }
58
- // recipe_id 定位:recipe_id 直给,或 recipe_name 解析;缺失阻断。
59
- function resolveRecipeId(handle, params) {
60
- const rid = params.recipe_id;
61
- if (typeof rid === 'string' && rid.trim())
62
- return rid.trim();
63
- const rn = params.recipe_name;
64
- if (typeof rn === 'string' && rn.trim())
65
- return getRecipeDetail(handle, rn.trim()).recipe.id;
66
- throw new ChefPolicyError('POLICY_MISSING_SLOT', '须给 recipe_id(或 recipe_name 解析)');
67
- }
68
- function pickStr(params, key) {
69
- const v = params[key];
70
- return typeof v === 'string' ? v : undefined;
71
- }
72
- function pickNum(params, key) {
73
- const v = params[key];
74
- if (typeof v === 'number' && Number.isFinite(v))
75
- return v;
76
- if (typeof v === 'string' && v.trim() !== '' && Number.isFinite(Number(v.trim())))
77
- return Number(v.trim());
78
- return undefined;
79
- }
80
44
  /** HELP 产物吃的复用窗口(毫秒):缺省**一天**、`reuseHours` 可改(`0`=每次都落新的)。
81
45
  * 换算与坏参判定都在共用件(`helpReuseWindowOf` 把坏参 `RangeError` 交给这里给的处理器)⇒ 归到出口的
82
46
  * 「参数错」那一档(exit 2),与其余四家同档:坏参绝不静默当 0。 */
@@ -104,7 +68,7 @@ function dispatchHelp(params) {
104
68
  deliver: { html, target, reuseMs },
105
69
  };
106
70
  }
107
- // 八键分发:读走 fetch 读,写走 fetch 写+口径校验;未知键上游已拦,此处再拦一道。
71
+ // 八键分发:各域处理经能力门进入(薄注册表);op/kind 的域内切分由注册表做,判定原文逐字保留。
108
72
  function dispatch(key, params) {
109
73
  const dbPath = resolveDbPath();
110
74
  const handle = openChefDb(dbPath);
@@ -113,256 +77,35 @@ function dispatch(key, params) {
113
77
  note('大厨 DB 已初始化:' + dbPath);
114
78
  switch (key) {
115
79
  case 'chef.recipe.view': {
116
- return recipeDetail(getRecipeDetail(handle, resolveNameOrId(params)));
80
+ return runRecipeView(handle, params);
117
81
  }
118
82
  case 'chef.recipe.search': {
119
- const q = params.q;
120
- let rows;
121
- let kind;
122
- if (typeof q === 'string' && q.trim()) {
123
- rows = searchRecipes(handle, q.trim());
124
- kind = 'search:' + q.trim();
125
- }
126
- else if (params.kind === 'all') {
127
- rows = listRecipes(handle);
128
- kind = 'all';
129
- }
130
- else {
131
- const present = FILTER_KEYS.filter((k) => params[k] !== undefined && params[k] !== '');
132
- if (!present.length)
133
- fail(2, 'search 须给 q、kind=all,或过滤条件(cuisine/season/method/flavor/tag/meal/cookware/difficulty/status/maxTime/filter)');
134
- const f = {};
135
- for (const k of ['cuisine', 'season', 'method', 'flavor', 'tag', 'meal', 'cookware', 'difficulty', 'status', 'maxTime']) {
136
- const v = params[k];
137
- if (v !== undefined && v !== '')
138
- f[k] = typeof v === 'string' ? v.trim() : v;
139
- }
140
- // 别名:filter=通用筛选(川菜类示例按菜系走,与 HELP 示例对齐);time_max/time=最大用时别名。
141
- if (f.cuisine === undefined && typeof params.filter === 'string' && params.filter.trim())
142
- f.cuisine = params.filter.trim();
143
- if (f.maxTime === undefined && params.time_max !== undefined && params.time_max !== '')
144
- f.maxTime = params.time_max;
145
- if (f.maxTime === undefined && params.time !== undefined && params.time !== '')
146
- f.maxTime = params.time;
147
- if (!Object.keys(f).length)
148
- fail(2, 'search 过滤条件为空(须给 cuisine/season/method/flavor/tag/meal/cookware/difficulty/status/maxTime/filter 之一)');
149
- rows = filterRecipes(handle, f);
150
- kind = 'filter:' + Object.keys(f).sort().join(',');
151
- }
152
- if (!rows.length)
153
- throw new ChefFetchError('CHEF_EMPTY_RESULT', '搜菜无结果(缺失阻断,不返空冒充)');
154
- return buildRecipeSearch(kind, rows.map(toRecipeItem));
83
+ return runRecipeSearch(handle, params);
155
84
  }
156
85
  case 'chef.recipe.write': {
86
+ // op 路由:add 系归录入域、update 系归修改域(集合与 `parseWriteOpCompat` 逐字对应,非法 op 上已拦)。
157
87
  const op = parseWriteOpCompat(params);
158
- if (op === 'add') {
159
- const name = needName(params);
160
- const input = { name };
161
- for (const k of ['difficulty', 'status', 'description', 'photo_url', 'source', 'source_url']) {
162
- const s = pickStr(params, k);
163
- if (s !== undefined)
164
- input[k] = s;
165
- }
166
- for (const k of ['servings', 'total_time_minutes']) {
167
- const n = pickNum(params, k);
168
- if (n !== undefined)
169
- input[k] = n;
170
- }
171
- const r = addRecipe(handle, input);
172
- // 兼容测试内嵌写法:params.ingredients/params.steps 数组随菜同存(与 add-ingredient/add-step 同语义,category 走 validateCategory 归一)。
173
- if (Array.isArray(params.ingredients)) {
174
- for (const g of params.ingredients) {
175
- if (g && typeof g === 'object') {
176
- const gg = { ...g };
177
- if (typeof gg.category === 'string' && gg.category.trim())
178
- gg.category = validateCategory(gg.category);
179
- addIngredient(handle, r.id, gg);
180
- }
181
- }
182
- }
183
- if (Array.isArray(params.steps)) {
184
- for (const s of params.steps) {
185
- if (s && typeof s === 'object')
186
- addStep(handle, r.id, s);
187
- }
188
- }
189
- return buildRecipeReceipt('已新增菜谱:' + r.name + '(id=' + r.id + ')');
190
- }
191
- if (op === 'update') {
192
- const hasId = typeof params.id === 'string' && params.id.trim() ? true : false;
193
- const rid = hasId
194
- ? params.id.trim()
195
- : getRecipeDetail(handle, resolveNameOrId(params)).recipe.id;
196
- const patch = {};
197
- // name 为标识符时不计入补丁(仅 id 定位时 name 视为改名);其余直给字段即补丁。
198
- for (const k of ['description', 'difficulty', 'servings', 'total_time_minutes', 'status', 'photo_url', 'source', 'source_url']) {
199
- if (params[k] !== undefined)
200
- patch[k] = params[k];
201
- }
202
- if (hasId && typeof params.name === 'string' && params.name.trim())
203
- patch.name = params.name.trim();
204
- if (patch.total_time_minutes === undefined && params.total_time !== undefined)
205
- patch.total_time_minutes = params.total_time;
206
- if (params.patch !== undefined && typeof params.patch === 'object' && params.patch !== null && !Array.isArray(params.patch)) {
207
- for (const [k, v] of Object.entries(params.patch)) {
208
- if (k === 'total_time' && patch.total_time_minutes === undefined)
209
- patch.total_time_minutes = v;
210
- else if (['name', 'description', 'difficulty', 'servings', 'total_time_minutes', 'status', 'photo_url', 'source', 'source_url'].includes(k))
211
- patch[k] = v;
212
- }
213
- }
214
- if (!Object.keys(patch).length)
215
- fail(2, 'update 至少改一个字段(name/description/difficulty/servings/total_time_minutes/status/photo_url/source/source_url/patch)');
216
- const r = updateRecipe(handle, rid, patch);
217
- return buildRecipeReceipt('已更新菜谱:' + r.name + '(id=' + r.id + ')');
218
- }
219
- if (op === 'discard' || op === 'deprecate') {
220
- const id = params.id;
221
- const rid = typeof id === 'string' && id.trim() ? id.trim() : getRecipeDetail(handle, resolveNameOrId(params)).recipe.id;
222
- const r = deprecateRecipe(handle, rid);
223
- return buildRecipeReceipt('已废弃菜谱:' + r.name + '(id=' + r.id + ',只增不删)');
224
- }
225
- if (op === 'add-ingredient') {
226
- const recipeId = resolveRecipeId(handle, params);
227
- const name = needName(params);
228
- const input = { name };
229
- const cat = pickStr(params, 'category');
230
- if (cat !== undefined)
231
- input.category = validateCategory(cat);
232
- if (params.quantity !== undefined) {
233
- const n = pickNum(params, 'quantity');
234
- input.quantity = n === undefined ? null : n;
235
- }
236
- for (const k of ['unit', 'quantity_text', 'substitute']) {
237
- const s = pickStr(params, k);
238
- if (s !== undefined)
239
- input[k] = s;
240
- }
241
- if (params.is_optional !== undefined)
242
- input.is_optional = params.is_optional === true || params.is_optional === 1 ? 1 : 0;
243
- const g = addIngredient(handle, recipeId, input);
244
- return buildRecipeReceipt('已加食材:' + g.name + '(菜 id=' + recipeId + ')');
245
- }
246
- if (op === 'add-step') {
247
- const recipeId = resolveRecipeId(handle, params);
248
- const action = params.action;
249
- if (typeof action !== 'string' || !action.trim())
250
- throw new ChefPolicyError('POLICY_MISSING_SLOT', 'add-step 须给 action(做法)');
251
- const input = { action: action.trim() };
252
- for (const k of ['heat_level', 'temperature', 'expected_result']) {
253
- const s = pickStr(params, k);
254
- if (s !== undefined)
255
- input[k] = s;
256
- }
257
- if (params.duration_minutes !== undefined) {
258
- const n = pickNum(params, 'duration_minutes');
259
- input.duration_minutes = n === undefined ? null : n;
260
- }
261
- const s = addStep(handle, recipeId, input);
262
- return buildRecipeReceipt('已加步骤' + s.sequence + ':' + s.action);
263
- }
264
- fail(2, 'recipe.write 只接受 op=add/update/discard/add-ingredient/add-step');
265
- return null;
88
+ if (op === 'add' || op === 'add-ingredient' || op === 'add-step')
89
+ return runRecipeWriteAdd(handle, params, op);
90
+ return runRecipeWriteUpdate(handle, params, op);
266
91
  }
267
92
  case 'chef.cooking.run': {
268
- const servings = needServings(params);
269
- const detail = getRecipeDetail(handle, resolveNameOrId(params));
270
- const base = detail.recipe.servings > 0 ? detail.recipe.servings : 2;
271
- const factor = servings === undefined ? 1 : servings / base;
272
- const scaled = detail.ingredients.map((g) => ({
273
- name: g.name,
274
- quantity: g.quantity === null ? null : Math.round(g.quantity * factor * 100) / 100,
275
- unit: g.unit, quantity_text: g.quantity_text, optional: g.is_optional === 1,
276
- }));
277
- const steps = [...detail.steps]
278
- .sort((a, b) => a.sequence - b.sequence)
279
- .map((s) => ({
280
- sequence: s.sequence, action: s.action, duration_minutes: s.duration_minutes,
281
- heat_level: s.heat_level, temperature: s.temperature, expected_result: s.expected_result,
282
- ingredients: scaled,
283
- }));
284
- const history = historyStats(handle, detail.recipe.id);
285
- return buildCookingRun({ recipe: toRecipeItem(detail.recipe), steps, servings, history });
93
+ return runCookingRun(handle, params);
286
94
  }
287
95
  case 'chef.shopping.query': {
288
- const names = needNames(params);
289
- const servings = needServings(params);
290
- const excludeOptional = params.excludeOptional === true;
291
- let items = buildShoppingList(handle, names);
292
- if (!items.length)
293
- throw new ChefFetchError('CHEF_EMPTY_RESULT', '采购清单为空(缺失阻断)');
294
- // fetch 合并行自带 optional 标记(db.ts buildShoppingList):excludeOptional 在此过滤。
295
- if (excludeOptional)
296
- items = items.filter((x) => !x.optional);
297
- // 库存核对不直调居家管家:只给清单,核对请复制 prompt 走居家管家技能。
298
- note('库存核对请复制 prompt 走「居家管家」技能,不直调');
299
- return buildShopping({ items, recipes: names, servings, excludeOptional });
96
+ return runShoppingQuery(handle, params);
300
97
  }
301
98
  case 'chef.history.record': {
302
- const name = needName(params);
303
- const detail = getRecipeDetail(handle, name);
304
- let rating = null;
305
- if (params.rating !== undefined) {
306
- const raw = typeof params.rating === 'string' && params.rating.trim() !== '' ? Number(params.rating.trim()) : params.rating;
307
- rating = validateRating(raw);
308
- }
309
- const feedback = params.feedback === undefined ? '' : String(params.feedback);
310
- const cookDate = params.date === undefined || params.date === '' ? todayStr() : String(params.date);
311
- const h = recordHistory(handle, { recipe_id: detail.recipe.id, rating, feedback, cook_date: cookDate });
312
- return buildHistoryRecord('已记录做菜:' + detail.recipe.name + '(' + h.cook_date + (rating !== null ? ',评分 ' + rating : '') + ')');
99
+ return runHistoryRecord(handle, params);
313
100
  }
314
101
  case 'chef.history.query': {
102
+ // kind 路由:timeline/stats 归历史域、quality/backup 归数据管理域(默认规则与非法报文与原文逐字对应)。
315
103
  const rawKind = params.kind;
316
104
  const kind = typeof rawKind === 'string' && rawKind ? rawKind : (params.name !== undefined ? 'timeline' : 'stats');
317
- if (kind === 'timeline') {
318
- const name = needName(params);
319
- const detail = getRecipeDetail(handle, name);
320
- const rows = queryHistory(handle, detail.recipe.id);
321
- return buildHistoryQuery('timeline:' + detail.recipe.name, rows.map((h) => toHistoryItem(h, detail.recipe.name)));
322
- }
323
- if (kind === 'stats') {
324
- const name = params.name;
325
- if (typeof name === 'string' && name.trim()) {
326
- const detail = getRecipeDetail(handle, name.trim());
327
- const st = historyStats(handle, detail.recipe.id);
328
- return buildHistoryQuery('stats:' + detail.recipe.name, [{ name: detail.recipe.name, count: st.count, avgRating: st.avgRating }]);
329
- }
330
- const recipes = listRecipes(handle);
331
- const items = recipes.map((r) => {
332
- const st = historyStats(handle, r.id);
333
- return { id: r.id, name: r.name, count: st.count, avgRating: st.avgRating };
334
- });
335
- return buildHistoryQuery('stats:all', items);
336
- }
337
- if (kind === 'quality') {
338
- const recipes = listRecipes(handle);
339
- const items = recipes.map((r) => {
340
- const rows = queryHistory(handle, r.id);
341
- let total = 0;
342
- let rated = 0;
343
- let low = 0;
344
- for (const h of rows) {
345
- if (h.rating !== null && h.rating !== undefined) {
346
- total += h.rating;
347
- rated += 1;
348
- if (h.rating < 3)
349
- low += 1;
350
- }
351
- }
352
- const avg = rated ? Math.round((total / rated) * 10) / 10 : null;
353
- return {
354
- recipe_id: r.id, name: r.name, count: rows.length, avgRating: avg, lowCount: low,
355
- note: rated === 0 ? '暂无评分' : avg < 3 ? '口碑偏低,建议改良' : '口碑稳定',
356
- };
357
- });
358
- return buildHistoryQuery('quality', items);
359
- }
360
- if (kind === 'backup') {
361
- // fetch 无 exportAll:healthCheck 体检问题作条目统一 list;无异常则单条 ok。
362
- const issues = healthCheck(handle);
363
- const items = issues.length ? issues.map((i) => ({ level: i.level, message: i.message ?? '' })) : [{ level: 'ok', message: '库自检无异常' }];
364
- return buildHistoryQuery('backup', items);
365
- }
105
+ if (kind === 'timeline' || kind === 'stats')
106
+ return runHistoryQuery(handle, params, kind);
107
+ if (kind === 'quality' || kind === 'backup')
108
+ return runDataQuery(handle, params, kind);
366
109
  fail(2, 'history.query 只接受 kind=timeline/stats/quality/backup');
367
110
  return null;
368
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cmd_read.js","sourceRoot":"","sources":["../../src/cli/cmd_read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd_read.js","sourceRoot":"","sources":["../../src/cli/cmd_read.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** 本文件由 `scripts/gen-cli.mjs` 生成,勿手改(`pnpm gen` 重生成,`pnpm gen:check` 验真)。
2
2
  *
3
- * 私家大厨命令键表:会改数据库 1 条、查询 1 条,共 2 条。
3
+ * 私家大厨命令键表:会改数据库 2 条、查询 5 条,共 7 条。
4
4
  * 一条命令的事实住它自己的能力目录(`src/<能力>/commands.ts`);本文件只是那几处的派生,不手改。
5
5
  * 键序:会改数据库的命令(命令名升序)在前、查询命令(命令名升序)在后(确定性排序)。
6
6
  */
@@ -8,4 +8,5 @@ export declare const CHEF_CLI_SOURCES: readonly string[];
8
8
  export declare const CHEF_CLI_KEYS: readonly string[];
9
9
  export declare const CHEF_KEY_TITLES: Record<string, string>;
10
10
  export declare const CHEF_KEY_SHAPES: Record<string, string>;
11
+ export declare const CHEF_DOMAIN_KEYS: Record<string, readonly string[]>;
11
12
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/cli/keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAE7C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAG1C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGlD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGlD,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/cli/keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAW7C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAQ1C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQlD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQlD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAW9D,CAAC"}
package/dist/cli/keys.js CHANGED
@@ -1,22 +1,58 @@
1
1
  /** 本文件由 `scripts/gen-cli.mjs` 生成,勿手改(`pnpm gen` 重生成,`pnpm gen:check` 验真)。
2
2
  *
3
- * 私家大厨命令键表:会改数据库 1 条、查询 1 条,共 2 条。
3
+ * 私家大厨命令键表:会改数据库 2 条、查询 5 条,共 7 条。
4
4
  * 一条命令的事实住它自己的能力目录(`src/<能力>/commands.ts`);本文件只是那几处的派生,不手改。
5
5
  * 键序:会改数据库的命令(命令名升序)在前、查询命令(命令名升序)在后(确定性排序)。
6
6
  */
7
7
  export const CHEF_CLI_SOURCES = [
8
+ 'add',
9
+ 'cook',
10
+ 'data',
8
11
  'history',
12
+ 'relation',
13
+ 'search',
14
+ 'setup',
15
+ 'shopping',
16
+ 'update',
17
+ 'view',
9
18
  ];
10
19
  export const CHEF_CLI_KEYS = [
11
20
  'chef.history.record',
21
+ 'chef.recipe.write',
22
+ 'chef.cooking.run',
12
23
  'chef.history.query',
24
+ 'chef.recipe.search',
25
+ 'chef.recipe.view',
26
+ 'chef.shopping.query',
13
27
  ];
14
28
  export const CHEF_KEY_TITLES = {
15
29
  'chef.history.record': '记录做菜',
30
+ 'chef.recipe.write': '录入食谱',
31
+ 'chef.cooking.run': '做菜模式',
16
32
  'chef.history.query': '查看历史',
33
+ 'chef.recipe.search': '搜索食谱',
34
+ 'chef.recipe.view': '查看食谱',
35
+ 'chef.shopping.query': '生成清单',
17
36
  };
18
37
  export const CHEF_KEY_SHAPES = {
19
38
  'chef.history.record': 'receipt',
39
+ 'chef.recipe.write': 'receipt',
40
+ 'chef.cooking.run': 'list',
20
41
  'chef.history.query': 'list',
42
+ 'chef.recipe.search': 'list',
43
+ 'chef.recipe.view': 'detail',
44
+ 'chef.shopping.query': 'list',
45
+ };
46
+ export const CHEF_DOMAIN_KEYS = {
47
+ 'add': ['chef.recipe.write'],
48
+ 'cook': ['chef.cooking.run'],
49
+ 'data': [],
50
+ 'history': ['chef.history.record', 'chef.history.query'],
51
+ 'relation': [],
52
+ 'search': ['chef.recipe.search'],
53
+ 'setup': [],
54
+ 'shopping': ['chef.shopping.query'],
55
+ 'update': [],
56
+ 'view': ['chef.recipe.view'],
21
57
  };
22
58
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/cli/keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,SAAS;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,qBAAqB;IACrB,oBAAoB;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,MAAM;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,qBAAqB,EAAE,SAAS;IAChC,oBAAoB,EAAE,MAAM;CAC7B,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/cli/keys.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,qBAAqB,EAAE,MAAM;IAC7B,mBAAmB,EAAE,MAAM;IAC3B,kBAAkB,EAAE,MAAM;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,qBAAqB,EAAE,SAAS;IAChC,mBAAmB,EAAE,SAAS;IAC9B,kBAAkB,EAAE,MAAM;IAC1B,oBAAoB,EAAE,MAAM;IAC5B,oBAAoB,EAAE,MAAM;IAC5B,kBAAkB,EAAE,QAAQ;IAC5B,qBAAqB,EAAE,MAAM;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsC;IACjE,KAAK,EAAE,CAAC,mBAAmB,CAAC;IAC5B,MAAM,EAAE,CAAC,kBAAkB,CAAC;IAC5B,MAAM,EAAE,EAAE;IACV,SAAS,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;IACxD,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,CAAC,oBAAoB,CAAC;IAChC,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,CAAC,qBAAqB,CAAC;IACnC,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,CAAC,kBAAkB,CAAC;CAC7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** 做菜能力的命令声明(权威源:一条命令的事实只住这里)。
2
+ *
3
+ * 本能力即 HELP 一级分组「做菜」。一条命令管一摊:
4
+ * · `chef.cooking.run`(查询命令):做菜模式/开始做菜/继续做菜/完成做菜四句唤醒词都进这一条。
5
+ * 处理函数仍在老分派层(`src/cli/cmd_read.ts`),本票只立声明不搬实现——行为不变,
6
+ * 实现下沉由做菜域端到端票接走(本文件不动,后续只加 run)。
7
+ *
8
+ * 标题与代表唤醒词取 HELP 现成说法,示例照 `packages/skill-chef/SKILL.md` 同命令行照抄。
9
+ */
10
+ import type { CommandSpec } from '../shared/command-spec.js';
11
+ /** 做菜能力的声明表:恰好导出一个声明数组(生成器只认这一个)。 */
12
+ export declare const COOK_COMMANDS: readonly CommandSpec[];
13
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cook/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,qCAAqC;AACrC,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAS/C,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** 做菜能力的命令声明(权威源:一条命令的事实只住这里)。
2
+ *
3
+ * 本能力即 HELP 一级分组「做菜」。一条命令管一摊:
4
+ * · `chef.cooking.run`(查询命令):做菜模式/开始做菜/继续做菜/完成做菜四句唤醒词都进这一条。
5
+ * 处理函数仍在老分派层(`src/cli/cmd_read.ts`),本票只立声明不搬实现——行为不变,
6
+ * 实现下沉由做菜域端到端票接走(本文件不动,后续只加 run)。
7
+ *
8
+ * 标题与代表唤醒词取 HELP 现成说法,示例照 `packages/skill-chef/SKILL.md` 同命令行照抄。
9
+ */
10
+ /** 做菜能力的声明表:恰好导出一个声明数组(生成器只认这一个)。 */
11
+ export const COOK_COMMANDS = [
12
+ {
13
+ kind: 'read',
14
+ key: 'chef.cooking.run',
15
+ shape: 'list',
16
+ title: '做菜模式',
17
+ wakeWord: '做菜模式',
18
+ example: 'chef-cmd-read chef.cooking.run --params \'{"name":"宫保虾球"}\'',
19
+ },
20
+ ];
21
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cook/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,qCAAqC;AACrC,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD;QACE,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,6DAA6D;KACvE;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** 做菜能力门:能力对外只经这里(结构纪律铁律一、铁律五)。
2
+ *
3
+ * 对外两件:命令声明表与路由声明表。处理函数与取数实现不在这里,
4
+ * 本票只立声明;外边要用做菜能力的东西,只经这两个名字。
5
+ */
6
+ export { COOK_COMMANDS } from './commands.js';
7
+ export { COOK_ROUTES } from './routes.js';
8
+ export { buildCookingRun, runCookingRun } from './run.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cook/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ /** 做菜能力门:能力对外只经这里(结构纪律铁律一、铁律五)。
2
+ *
3
+ * 对外两件:命令声明表与路由声明表。处理函数与取数实现不在这里,
4
+ * 本票只立声明;外边要用做菜能力的东西,只经这两个名字。
5
+ */
6
+ export { COOK_COMMANDS } from './commands.js';
7
+ export { COOK_ROUTES } from './routes.js';
8
+ export { buildCookingRun, runCookingRun } from './run.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cook/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}