@hozu/cli 0.14.0 → 0.16.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 (85) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/add.d.ts.map +1 -1
  3. package/dist/commands/add.js +5 -2
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/commands/browse-page.d.ts.map +1 -1
  6. package/dist/commands/browse-page.js +12 -1
  7. package/dist/commands/browse-page.js.map +1 -1
  8. package/dist/commands/browse-tab.d.ts +6 -1
  9. package/dist/commands/browse-tab.d.ts.map +1 -1
  10. package/dist/commands/browse-tab.js +19 -4
  11. package/dist/commands/browse-tab.js.map +1 -1
  12. package/dist/commands/browse.d.ts +6 -0
  13. package/dist/commands/browse.d.ts.map +1 -1
  14. package/dist/commands/browse.js +107 -11
  15. package/dist/commands/browse.js.map +1 -1
  16. package/dist/commands/build.d.ts.map +1 -1
  17. package/dist/commands/build.js +12 -1
  18. package/dist/commands/build.js.map +1 -1
  19. package/dist/commands/call.d.ts +2 -0
  20. package/dist/commands/call.d.ts.map +1 -1
  21. package/dist/commands/call.js +73 -10
  22. package/dist/commands/call.js.map +1 -1
  23. package/dist/commands/dev.d.ts.map +1 -1
  24. package/dist/commands/dev.js +1 -1
  25. package/dist/commands/dev.js.map +1 -1
  26. package/dist/commands/explain.js +1 -1
  27. package/dist/commands/explain.js.map +1 -1
  28. package/dist/commands/impact.d.ts.map +1 -1
  29. package/dist/commands/impact.js +4 -2
  30. package/dist/commands/impact.js.map +1 -1
  31. package/dist/commands/locate.d.ts.map +1 -1
  32. package/dist/commands/locate.js +13 -4
  33. package/dist/commands/locate.js.map +1 -1
  34. package/dist/commands/map.d.ts.map +1 -1
  35. package/dist/commands/map.js +5 -3
  36. package/dist/commands/map.js.map +1 -1
  37. package/dist/commands/plan.d.ts.map +1 -1
  38. package/dist/commands/plan.js +8 -0
  39. package/dist/commands/plan.js.map +1 -1
  40. package/dist/commands/request.d.ts.map +1 -1
  41. package/dist/commands/request.js +7 -3
  42. package/dist/commands/request.js.map +1 -1
  43. package/dist/commands/scaffold.d.ts.map +1 -1
  44. package/dist/commands/scaffold.js +19 -22
  45. package/dist/commands/scaffold.js.map +1 -1
  46. package/dist/commands/serve.d.ts.map +1 -1
  47. package/dist/commands/serve.js +3 -1
  48. package/dist/commands/serve.js.map +1 -1
  49. package/dist/commands/show.d.ts +12 -0
  50. package/dist/commands/show.d.ts.map +1 -0
  51. package/dist/commands/show.js +79 -0
  52. package/dist/commands/show.js.map +1 -0
  53. package/dist/commands/validate.d.ts.map +1 -1
  54. package/dist/commands/validate.js +12 -6
  55. package/dist/commands/validate.js.map +1 -1
  56. package/dist/commands/why.d.ts +0 -1
  57. package/dist/commands/why.d.ts.map +1 -1
  58. package/dist/commands/why.js +16 -3
  59. package/dist/commands/why.js.map +1 -1
  60. package/dist/contract.d.ts +27 -1
  61. package/dist/contract.d.ts.map +1 -1
  62. package/dist/main.d.ts +2 -0
  63. package/dist/main.d.ts.map +1 -1
  64. package/dist/main.js +100 -40
  65. package/dist/main.js.map +1 -1
  66. package/dist/migrate/step-0.15.d.ts +14 -0
  67. package/dist/migrate/step-0.15.d.ts.map +1 -0
  68. package/dist/migrate/step-0.15.js +94 -0
  69. package/dist/migrate/step-0.15.js.map +1 -0
  70. package/dist/migrate/steps.d.ts.map +1 -1
  71. package/dist/migrate/steps.js +15 -0
  72. package/dist/migrate/steps.js.map +1 -1
  73. package/package.json +10 -9
  74. package/schema/browse.schema.json +4 -0
  75. package/schema/call.schema.json +6 -1
  76. package/schema/check.schema.json +12 -1
  77. package/schema/inspect.schema.json +103 -1
  78. package/schema/map.schema.json +14 -0
  79. package/schema/migrate.schema.json +12 -1
  80. package/schema/render.schema.json +5 -1
  81. package/schema/show.schema.json +90 -0
  82. package/schema/why.schema.json +9 -1
  83. package/schema/explain.schema.json +0 -171
  84. package/schema/impact.schema.json +0 -242
  85. package/schema/locate.schema.json +0 -488
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # @hozu/cli
4
4
 
5
- The hozu command: validate, inspect, graph, explain, impact, plan, build and skill (all with --json).
5
+ The hozu command: check, map, why, show, get, browse, call, plan, add, build, dev, serve, docs, migrate and skill (all with --json).
6
6
 
7
7
  Part of [Hozu](https://github.com/olevatorr/Hozu#readme), an AI-first web framework. Most apps start from
8
8
  `npm create hozu@latest`, which installs the right packages and sets up Claude Code or `AGENTS.md` agents.
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiB/C,eAAO,MAAM,SAAS,WAAY,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAMjE,CAAA;AAwBD,eAAO,MAAM,MAAM,WAAY,MAAM,WAAW,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAM/E,CAAA;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,GAAE,MAAM,GAAG,SAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,CA2LpB;AAYD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAmBxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAgBlD"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiB/C,eAAO,MAAM,SAAS,WAAY,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAMjE,CAAA;AAwBD,eAAO,MAAM,MAAM,WAAY,MAAM,WAAW,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAM/E,CAAA;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,GAAE,MAAM,GAAG,SAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,CA2LpB;AAYD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAqBxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAgBlD"}
@@ -187,12 +187,12 @@ export async function runAddFeature(cwd, config, name, page, parts = undefined)
187
187
  .sort()
188
188
  .join(', ')} `)) ?? null;
189
189
  if (next && w.detail)
190
- next = next.replace(/pages:\s*\[/, (m) => `${m}\n ui.page(${n.detailRoute}, {\n views: [${n.Detail}],\n head: {\n query: ${n.get},\n input: (params) => ({ id: params.id }),\n render: (item) => ({ title: item.title }),\n failed: { NotFound: 404 },\n },\n entries: { query: ${n.list}, input: {}, params: (item) => ({ id: item.id }) },\n }),`);
190
+ next = next.replace(/pages:\s*\[/, (m) => `${m}\n ui.page(${n.detailRoute}, {\n views: [${n.Detail}],\n head: {\n query: ${n.get},\n input: (params) => ({ id: params.id }),\n render: (item) => ({ title: item.title }),\n failed: { NotFound: 404${w.auth ? ', Forbidden: login' : ''} },\n },${w.auth ? '' : `\n entries: { query: ${n.list}, input: {}, params: (item) => ({ id: item.id }) },`}\n }),`);
191
191
  if (next && newAccount)
192
192
  next = next.replace(/pages:\s*\[/, (m) => `${m}\n ui.page(login, { views: [Login], head: { render: () => ({ title: 'Sign in' }) } }),`);
193
193
  if (next && pageRoute) {
194
194
  const text = w.auth
195
- ? `ui.page(${pageRoute}, {\n views: [AccountBar, ${n.View}],\n head: {\n query: me,\n input: () => ({}),\n render: () => ({ title: '${n.title}', noindex: true }),\n failed: { Unauthorized: login },\n },\n })`
195
+ ? `ui.page(${pageRoute}, {\n views: [AccountBar, ${n.View}],\n head: {\n query: me,\n input: () => ({}),\n render: () => ({ title: '${n.title}', noindex: true }),\n failed: { Forbidden: login },\n },\n })`
196
196
  : `ui.page(${pageRoute}, { views: [${n.View}], head: { render: () => ({ title: '${n.title}' }) } })`;
197
197
  next = newRoute
198
198
  ? next.replace(/pages:\s*\[/, (m) => `${m}\n ${text},`)
@@ -233,6 +233,9 @@ export function textsOf(source, file) {
233
233
  const message = /^export const [A-Z_]+ = '([^']+)'$/.exec(line);
234
234
  if (message)
235
235
  texts.push({ file, line: i + 1, text: message[1] });
236
+ const branch = /^\s*[?:] '([^']+)',?$/.exec(line);
237
+ if (branch)
238
+ texts.push({ file, line: i + 1, text: branch[1] });
236
239
  const label = /\blabel: '([^']+)'/.exec(line);
237
240
  if (label)
238
241
  texts.push({ file, line: i + 1, text: label[1] });
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,KAAK,EACL,OAAO,EACP,KAAK,EAEL,MAAM,EACN,KAAK,GAEN,MAAM,eAAe,CAAA;AAEtB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAY,EAAiB,EAAE;IACvE,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAAY,EAAU,EAAE;IACvD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAA;iBACd,IAAI,CAAC,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAA;QACpC,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,GAAG,CAAC,CAAA;aACpD,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAA;aACtB,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,IAAY,EAAiB,EAAE;IACjF,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,mBAAmB,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACvD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,IAAY,EAAiB,EAAE;IACrF,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACxE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAClF,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,MAA0B,EAC1B,IAAwB,EACxB,IAAwB,EACxB,KAAK,GAAuB,SAAS;IAErC,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAS,CAAC;YAC5B,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAChG,MAAM,CAAC,GAAS,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,CAAA;IACpF,IAAI,CAAC,CAAC,MAAM;QAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,KAAK,SAAS;QAChC,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,8DAA8D,EAAE;YAC9F,oBAAoB,IAAI,IAAI,OAAO,yBAAyB;SAC7D,CAAC,CAAA;IACJ,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS;QAC9B,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,iEAAiE,EAAE;YACjG,oBAAoB,IAAI,IAAI,OAAO,uBAAuB;SAC3D,CAAC,CAAA;IACJ,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,0CAA0C,EAAE;YAC1E,iCAAiC;SAClC,CAAC,CAAA;IACJ,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACjD,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,kDAAkD,EAAE;YAClF,2HAA2H;SAC5H,CAAC,CAAA;IACJ,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,gBAAgB,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACxC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAC3F,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,MAAM,GAAG,GAAc,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC3F,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACrF,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,MAAM,CAAC,+CAA+C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9F,YAAY,CACb,CAAA;IACP,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAA;IAC9E,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAA;IAChD,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAA;IAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACjF,MAAM,KAAK,GAAuB;QAChC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI;YACjC,CAAC,CAAE;gBACC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvD,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;gBAClD,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;aAC1B;YAC1B,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAY,EAAE,MAAoC,EAAE,MAAc,EAAE,EAAE;QACxF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,IAAI,KAAK,IAAI;YAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAA;aACnD,CAAC;YACJ,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QACrF,CAAC;IACH,CAAC,CAAA;IACD,MAAM,IAAI,CACR,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE;QACJ,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CACrB,oDAAoD,EACpD,4CAA4C,UAAU,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,cAAc,CACrI,CAAA;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,SAAS,uBAAuB,IAAI,eAAe,CAAC,CAAA;QACvG,OAAO,UAAU,IAAI,WAAW;YAC9B,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,mEAAmE,CAAC;YAC7F,CAAC,CAAC,WAAW,CAAA;IACjB,CAAC,EACD,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,IAAI,0BAA0B,CAAC,CAAC,SAAS,yDAAyD,CACzJ,CAAA;IACD,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,gBAAgB,SAAS,qBAAqB,IAAI,kCAAkC,CAAC;YACxF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,MAAM;YACV,CAAC,CAAC;gBACE,gBAAgB,CAAC,CAAC,WAAW,qBAAqB,UAAU,0DAA0D;aACvH;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,IAAI,SAAS,CAAC,MAAM;QAClB,MAAM,IAAI,CACR,WAAW,EACX,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,OAAO,GACX,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAClG,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QACpF,CAAC,EACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB,CAAA;IACH,MAAM,IAAI,CACR,MAAM,IAAI,gBAAgB,EAC1B,CAAC,CAAC,EAAE,EAAE;QACJ,IAAI,IAAI,GAAkB,SAAS,CACjC,CAAC,EACD,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,cAAc,CACjH,CAAA;QACD,IAAI,IAAI;YAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,uBAAuB,IAAI,gBAAgB,CAAC,CAAA;QAClG,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM;YAClB,IAAI,GAAG,SAAS,CACd,IAAI,EACJ,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,cAAc,CACvF,CAAA;QACH,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,6DAA6D,CAAC,CAAA;YACrF,IAAI,IAAI;gBAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,mEAAmE,CAAC,CAAA;YACrG,IAAI,IAAI;gBAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,2DAA2D,CAAC,CAAA;YAC7F,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAA;YACpE,IAAI,IAAI;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,IAAI;YAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACpE,MAAM,UAAU,GAAG;YACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrC,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,IAAI,IAAI;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAA;QACrF,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM;YAC3B,IAAI;gBACF,IAAI,CAAC,OAAO,CAAC,0CAA0C,EAAE,CAAC,GAAG,EAAE,KAAa,EAAE,EAAE,CAC9E,GAAG,CAAC,OAAO,CACT,KAAK,EACL,IAAI;oBACF,GAAG,KAAK;yBACL,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBACpB,MAAM,CAAC,OAAO,CAAC;oBAClB,GAAG,UAAU;iBACd;qBACE,IAAI,EAAE;qBACN,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CACF,IAAI,IAAI,CAAA;QACb,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM;YAClB,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,iBAAiB,CAAC,CAAC,WAAW,sBAAsB,CAAC,CAAC,MAAM,qCAAqC,CAAC,CAAC,GAAG,iLAAiL,CAAC,CAAC,IAAI,8DAA8D,CAClW,CAAA;QACH,IAAI,IAAI,IAAI,UAAU;YACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,2FAA2F,CAClG,CAAA;QACH,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;gBACjB,CAAC,CAAC,WAAW,SAAS,kCAAkC,CAAC,CAAC,IAAI,uGAAuG,CAAC,CAAC,KAAK,kFAAkF;gBAC9P,CAAC,CAAC,WAAW,SAAS,eAAe,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC,KAAK,WAAW,CAAA;YACtG,IAAI,GAAG,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC;gBAC1D,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,IAAI,IAAI,CAAA;IACvE,CAAC,EACD,YAAY,CAAC,CAAC,IAAI,uBAAuB,IAAI,oBAAoB,CAAC,CAAC,OAAO,uBAAuB,IAAI,qBAAqB,CAAC,CAAC,OAAO,eAAe,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,eAAe,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CACtR,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAChE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;QACxE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,KAAK,GAA2B;IACpC,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,WAAW;IACrB,EAAE,EAAE,KAAK;IACT,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,WAAW;CACtB,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,GAAG,GAA6B,EAAE,CAAA;IACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAC7B,+EAA+E,CAChF,EAAE,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE,CAAA;QAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;IAClD,MAAM,KAAK,GAAuB,EAAE,CAAA;IACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,6EAA6E,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAM;QACpG,MAAM,OAAO,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAA;QACjE,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAA;QAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAM;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAA;QAC5E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;oBAC3F,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAA;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAc;IACxC,MAAM,KAAK,GAAG;QACZ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACvF,CAAC,EAAE,EAAE,EAAE,CACL,aAAa,EAAE,KAAK,GAAG,CAAC,KAAK;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CACjB;QACD,wHAAwH;KACzH,CAAA;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,KAAK,EACL,OAAO,EACP,KAAK,EAEL,MAAM,EACN,KAAK,GAEN,MAAM,eAAe,CAAA;AAEtB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,IAAY,EAAiB,EAAE;IACvE,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAAY,EAAU,EAAE;IACvD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAA;iBACd,IAAI,CAAC,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAA;QACpC,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,GAAG,CAAC,CAAA;aACpD,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAA;aACtB,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,IAAY,EAAiB,EAAE;IACjF,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,mBAAmB,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACvD,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,IAAY,EAAiB,EAAE;IACrF,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC5C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACxE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAClF,CAAC,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,MAA0B,EAC1B,IAAwB,EACxB,IAAwB,EACxB,KAAK,GAAuB,SAAS;IAErC,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAA;IAClB,KAAK,MAAM,CAAC,IAAI,KAAK;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAS,CAAC;YAC5B,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAChG,MAAM,CAAC,GAAS,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,CAAA;IACpF,IAAI,CAAC,CAAC,MAAM;QAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,KAAK,SAAS;QAChC,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,8DAA8D,EAAE;YAC9F,oBAAoB,IAAI,IAAI,OAAO,yBAAyB;SAC7D,CAAC,CAAA;IACJ,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS;QAC9B,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,iEAAiE,EAAE;YACjG,oBAAoB,IAAI,IAAI,OAAO,uBAAuB;SAC3D,CAAC,CAAA;IACJ,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,0CAA0C,EAAE;YAC1E,iCAAiC;SAClC,CAAC,CAAA;IACJ,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACjD,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,kDAAkD,EAAE;YAClF,2HAA2H;SAC5H,CAAC,CAAA;IACJ,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,gBAAgB,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACxC,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAC3F,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvB,MAAM,GAAG,GAAc,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IAC3F,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACrF,MAAM,QAAQ,GACZ,IAAI,KAAK,SAAS;QAChB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,MAAM,CAAC,+CAA+C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC9F,YAAY,CACb,CAAA;IACP,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAA;IAC9E,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAA;IAChD,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAA;IAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IACpD,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACjF,MAAM,KAAK,GAAuB;QAChC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI;YACjC,CAAC,CAAE;gBACC,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBACvD,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;gBAClD,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;aAC1B;YAC1B,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAY,EAAE,MAAoC,EAAE,MAAc,EAAE,EAAE;QACxF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpD,IAAI,IAAI,KAAK,IAAI;YAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAA;aACnD,CAAC;YACJ,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QACrF,CAAC;IACH,CAAC,CAAA;IACD,MAAM,IAAI,CACR,QAAQ,EACR,CAAC,CAAC,EAAE,EAAE;QACJ,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CACrB,oDAAoD,EACpD,4CAA4C,UAAU,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,cAAc,CACrI,CAAA;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,SAAS,uBAAuB,IAAI,eAAe,CAAC,CAAA;QACvG,OAAO,UAAU,IAAI,WAAW;YAC9B,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,mEAAmE,CAAC;YAC7F,CAAC,CAAC,WAAW,CAAA;IACjB,CAAC,EACD,oBAAoB,CAAC,CAAC,SAAS,uBAAuB,IAAI,0BAA0B,CAAC,CAAC,SAAS,yDAAyD,CACzJ,CAAA;IACD,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,gBAAgB,SAAS,qBAAqB,IAAI,kCAAkC,CAAC;YACxF,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,MAAM;YACV,CAAC,CAAC;gBACE,gBAAgB,CAAC,CAAC,WAAW,qBAAqB,UAAU,0DAA0D;aACvH;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,IAAI,SAAS,CAAC,MAAM;QAClB,MAAM,IAAI,CACR,WAAW,EACX,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,OAAO,GACX,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAClG,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QACpF,CAAC,EACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CACrB,CAAA;IACH,MAAM,IAAI,CACR,MAAM,IAAI,gBAAgB,EAC1B,CAAC,CAAC,EAAE,EAAE;QACJ,IAAI,IAAI,GAAkB,SAAS,CACjC,CAAC,EACD,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,cAAc,CACjH,CAAA;QACD,IAAI,IAAI;YAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,uBAAuB,IAAI,gBAAgB,CAAC,CAAA;QAClG,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM;YAClB,IAAI,GAAG,SAAS,CACd,IAAI,EACJ,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,cAAc,CACvF,CAAA;QACH,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YACvB,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,6DAA6D,CAAC,CAAA;YACrF,IAAI,IAAI;gBAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,mEAAmE,CAAC,CAAA;YACrG,IAAI,IAAI;gBAAE,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,2DAA2D,CAAC,CAAA;YAC7F,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAA;YACpE,IAAI,IAAI;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,SAAS,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,IAAI;YAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACpE,MAAM,UAAU,GAAG;YACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrC,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,IAAI,IAAI;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAA;QACrF,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM;YAC3B,IAAI;gBACF,IAAI,CAAC,OAAO,CAAC,0CAA0C,EAAE,CAAC,GAAG,EAAE,KAAa,EAAE,EAAE,CAC9E,GAAG,CAAC,OAAO,CACT,KAAK,EACL,IAAI;oBACF,GAAG,KAAK;yBACL,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBACpB,MAAM,CAAC,OAAO,CAAC;oBAClB,GAAG,UAAU;iBACd;qBACE,IAAI,EAAE;qBACN,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CACF,IAAI,IAAI,CAAA;QACb,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM;YAClB,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,iBAAiB,CAAC,CAAC,WAAW,sBAAsB,CAAC,CAAC,MAAM,qCAAqC,CAAC,CAAC,GAAG,0IAA0I,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,IAAI,qDAAqD,WAAW,CAC1Z,CAAA;QACH,IAAI,IAAI,IAAI,UAAU;YACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,2FAA2F,CAClG,CAAA;QACH,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI;gBACjB,CAAC,CAAC,WAAW,SAAS,kCAAkC,CAAC,CAAC,IAAI,uGAAuG,CAAC,CAAC,KAAK,+EAA+E;gBAC3P,CAAC,CAAC,WAAW,SAAS,eAAe,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC,KAAK,WAAW,CAAA;YACtG,IAAI,GAAG,QAAQ;gBACb,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC;gBAC1D,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,IAAI,IAAI,CAAA;IACvE,CAAC,EACD,YAAY,CAAC,CAAC,IAAI,uBAAuB,IAAI,oBAAoB,CAAC,CAAC,OAAO,uBAAuB,IAAI,qBAAqB,CAAC,CAAC,OAAO,eAAe,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,eAAe,CAAC,CAAC,IAAI,uCAAuC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CACtR,CAAA;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAChE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAA;QACxE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,KAAK,GAA2B;IACpC,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,WAAW;IACrB,EAAE,EAAE,KAAK;IACT,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,WAAW;CACtB,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,GAAG,GAA6B,EAAE,CAAA;IACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAC7B,+EAA+E,CAChF,EAAE,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE,CAAA;QAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,IAAY;IAClD,MAAM,KAAK,GAAuB,EAAE,CAAA;IACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,6EAA6E,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAM;QACpG,MAAM,OAAO,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAE,EAAE,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAA;QAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAM;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAA;QAC5E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;oBAC3F,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAA;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/F,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAc;IACxC,MAAM,KAAK,GAAG;QACZ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1C,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5F,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,EAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACvF,CAAC,EAAE,EAAE,EAAE,CACL,aAAa,EAAE,KAAK,GAAG,CAAC,KAAK;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAClC,IAAI,CAAC,GAAG,CAAC,EAAE,CACjB;QACD,wHAAwH;KACzH,CAAA;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"browse-page.d.ts","sourceRoot":"","sources":["../../src/commands/browse-page.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,QAkOZ,CAAA"}
1
+ {"version":3,"file":"browse-page.d.ts","sourceRoot":"","sources":["../../src/commands/browse-page.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,QA6OZ,CAAA"}
@@ -51,7 +51,18 @@ export const PAGE = String.raw `(() => {
51
51
  }).filter((hits) => hits.length)
52
52
  if (!found.length) {
53
53
  const names = [...new Set(all.map((el) => (nameOf(el) ?? '').replace(/\s+/g, ' ').trim()).filter(Boolean))]
54
- return { error: 'No ' + kind + ' target named "' + name + '"' + (within === null ? '' : ' in "' + within + '"') + (names.length ? '. ' + (within === null ? 'On the page' : 'There') + ': ' + names.slice(0, 20).map((n) => JSON.stringify(n.slice(0, 40))).join(', ') : '') }
54
+ const words = (x) => new Set(norm(x).split(/[^a-z0-9]+/).filter(Boolean))
55
+ const asked = words(name)
56
+ const near = names
57
+ .map((n) => {
58
+ const w = words(n)
59
+ const shared = [...asked].filter((x) => w.has(x)).length
60
+ const part = norm(n).includes(want) || want.includes(norm(n)) ? 1 : 0
61
+ return { n, score: shared * 2 + part }
62
+ })
63
+ .filter((x) => x.score > 0)
64
+ .sort((a, b) => b.score - a.score)[0]
65
+ return { error: 'No ' + kind + ' target named "' + name + '"' + (within === null ? '' : ' in "' + within + '"') + (near ? '. Did you mean "' + near.n + '"?' : '') + (names.length ? (near ? ' ' : '. ') + (within === null ? 'On the page' : 'There') + ': ' + names.slice(0, 20).map((n) => JSON.stringify(n.slice(0, 40))).join(', ') : '') }
55
66
  }
56
67
  return { els: found[0], scoped: found.length }
57
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browse-page.js","sourceRoot":"","sources":["../../src/commands/browse-page.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkOzB,CAAA"}
1
+ {"version":3,"file":"browse-page.js","sourceRoot":"","sources":["../../src/commands/browse-page.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6OzB,CAAA"}
@@ -35,7 +35,6 @@ export interface StepResult {
35
35
  note: string | null;
36
36
  jsOnly: string | null;
37
37
  }
38
- /** One browser context and page for one actor in one mode. */
39
38
  export declare class Tab {
40
39
  sessionId: string;
41
40
  targetId: string;
@@ -66,9 +65,15 @@ export declare class Tab {
66
65
  private error;
67
66
  handle(method: string, params: any, session: string): boolean;
68
67
  private fulfill;
68
+ /** Headers added to every request this actor's tab makes (`--header`, ADR 0056 C). */
69
+ headers: Record<string, string>;
69
70
  private paused;
70
71
  evaluate(expression: string): Promise<any>;
71
72
  page(call: string): Promise<any>;
73
+ /** The status of the page this step loaded, if it loaded one. */
74
+ stepStatus: number | null;
75
+ /** After the start page: a page a step loads may answer 401, 403, 404 or 410 on purpose; the start page may not. */
76
+ private opened;
72
77
  mark(): void;
73
78
  settle(): Promise<void>;
74
79
  open(path: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"browse-tab.d.ts","sourceRoot":"","sources":["../../src/commands/browse-tab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse-tab.d.ts","sourceRoot":"","sources":["../../src/commands/browse-tab.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,8 @@ const bodyOf = (request) => {
120
120
  };
121
121
  const pathOf = (url) => (url.startsWith(ORIGIN) ? url.slice(ORIGIN.length) || '/' : url);
122
122
  /** One browser context and page for one actor in one mode. */
123
+ const pageAnswers = new Set([401, 403, 404, 410]);
124
+ const viewTransitionAbortedByNonHtmlAnswer = /^InvalidStateError: Transition was aborted/;
123
125
  export class Tab {
124
126
  sessionId = '';
125
127
  targetId = '';
@@ -253,11 +255,13 @@ export class Tab {
253
255
  if (method === 'Network.responseReceived') {
254
256
  const url = pathOf(params.response.url);
255
257
  const type = params.type ?? 'Other';
256
- if (main && type === 'Document' && params.frameId === this.targetId)
257
- this.status = params.response.status;
258
+ const page = main && type === 'Document' && params.frameId === this.targetId;
259
+ if (page)
260
+ this.status = this.stepStatus = params.response.status;
258
261
  const status = params.response.status;
259
262
  const favicon = type === 'Other' && url === '/favicon.ico';
260
- if (status >= 400 && !this.invalidPosts.has(id) && !favicon)
263
+ const answered = this.opened && page && pageAnswers.has(status);
264
+ if (status >= 400 && !answered && !this.invalidPosts.has(id) && !favicon)
261
265
  this.error({
262
266
  kind: 'request',
263
267
  text: `${status} ${url}`,
@@ -270,6 +274,9 @@ export class Tab {
270
274
  }
271
275
  if (method === 'Runtime.exceptionThrown') {
272
276
  const d = params.exceptionDetails;
277
+ const description = d.exception?.description ?? d.text ?? '';
278
+ if (viewTransitionAbortedByNonHtmlAnswer.test(description))
279
+ return true;
273
280
  const frame = d.stackTrace?.callFrames?.[0];
274
281
  this.error({
275
282
  kind: 'exception',
@@ -333,6 +340,8 @@ export class Tab {
333
340
  body: Buffer.from(body).toString('base64'),
334
341
  }, session).catch(() => { });
335
342
  }
343
+ /** Headers added to every request this actor's tab makes (`--header`, ADR 0056 C). */
344
+ headers = {};
336
345
  async paused(params, session) {
337
346
  const r = params.request;
338
347
  const existing = r.method === 'GET' ? this.live.get(r.url) : undefined;
@@ -340,7 +349,7 @@ export class Tab {
340
349
  return existing.wait(params.requestId, session);
341
350
  let live = null;
342
351
  try {
343
- const head = await this.world.fetch({ url: r.url, method: r.method, headers: r.headers, body: bodyOf(r) }, (chunk) => {
352
+ const head = await this.world.fetch({ url: r.url, method: r.method, headers: { ...r.headers, ...this.headers }, body: bodyOf(r) }, (chunk) => {
344
353
  if (chunk !== null)
345
354
  live?.chunk(chunk);
346
355
  });
@@ -371,7 +380,12 @@ export class Tab {
371
380
  page(call) {
372
381
  return this.evaluate(`${PAGE}.${call}`);
373
382
  }
383
+ /** The status of the page this step loaded, if it loaded one. */
384
+ stepStatus = null;
385
+ /** After the start page: a page a step loads may answer 401, 403, 404 or 410 on purpose; the start page may not. */
386
+ opened = false;
374
387
  mark() {
388
+ this.stepStatus = null;
375
389
  this.marked = this.activity;
376
390
  }
377
391
  async settle() {
@@ -393,6 +407,7 @@ export class Tab {
393
407
  this.mark();
394
408
  await this.send('Page.navigate', { url: ORIGIN + path });
395
409
  await this.settle();
410
+ this.opened = true;
396
411
  }
397
412
  async look() {
398
413
  this.snapshot = await this.page('snapshot()').catch(() => this.snapshot);
@@ -1 +1 @@
1
- {"version":3,"file":"browse-tab.js","sourceRoot":"","sources":["../../src/commands/browse-tab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse-tab.js","sourceRoot":"","sources":["../../src/commands/browse-tab.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export interface BrowseOptions {
13
13
  actors: {
14
14
  name: string | null;
15
15
  session: string | undefined;
16
+ headers: string[];
16
17
  }[];
17
18
  plan: BrowsePlan;
18
19
  js: BrowseJs;
@@ -27,8 +28,13 @@ interface Parsed {
27
28
  value: string;
28
29
  within: string | null;
29
30
  }
31
+ /** `--do 'fill Title=Milk; press Enter'` is two steps: split where a verb and a space follow a semicolon outside quotes, so values may hold one. */
32
+ export declare const stepsOf: (text: string) => string[];
30
33
  export declare function parseStep(text: string): Parsed;
31
34
  export declare function act(tab: Tab, p: Parsed): Promise<StepResult>;
35
+ export declare function headersOf(lines: string[]): Record<string, string>;
36
+ /** Two modes are on the same page when the URLs match one route, whatever its params (ADR 0056 A15). */
37
+ export declare const routeKey: (patterns: RegExp[]) => (url: string) => string;
32
38
  export declare function runBrowse(loaded: Loaded, options: BrowseOptions): Promise<BrowseOutput>;
33
39
  export declare const browseFailed: (out: BrowseOutput) => boolean;
34
40
  export declare function describeBrowse(out: BrowseOutput, full?: boolean): string;
@@ -1 +1 @@
1
- {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAOV,YAAY,EAGb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAiB,KAAK,UAAU,EAAS,GAAG,EAAS,MAAM,iBAAiB,CAAA;AAKnF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAAA;AAE/E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAA;IAC9D,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,QAAQ,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,EAAE,OAAO,CAAA;CACd;AAMD,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAKD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB9C;AAeD,wBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA8ClE;AAsCD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAwM7F;AAED,eAAO,MAAM,YAAY,QAAS,YAAY,YAGI,CAAA;AAsBlD,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,UAAQ,GAAG,MAAM,CAiEtE"}
1
+ {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAOV,YAAY,EAGb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAiB,KAAK,UAAU,EAAS,GAAG,EAAS,MAAM,iBAAiB,CAAA;AAKnF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;AAE5C,MAAM,MAAM,UAAU,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAAA;AAE/E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAA;IACjF,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,QAAQ,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,aAAa,EAAE,OAAO,CAAA;IACtB,IAAI,EAAE,OAAO,CAAA;CACd;AAMD,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAOD,oJAAoJ;AACpJ,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAAM,EAc5C,CAAA;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoB9C;AAeD,wBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAuElE;AAuBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQjE;AAgBD,wGAAwG;AACxG,eAAO,MAAM,QAAQ,aAAc,MAAM,EAAE,WAAW,MAAM,WAI3D,CAAA;AAwBD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAoN7F;AAED,eAAO,MAAM,YAAY,QAAS,YAAY,YAGI,CAAA;AAuBlD,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,UAAQ,GAAG,MAAM,CAiEtE"}
@@ -1,15 +1,34 @@
1
1
  import { mkdtemp, rm, writeFile } from 'node:fs/promises';
2
2
  import { tmpdir } from 'node:os';
3
3
  import { dirname, join, relative, resolve } from 'node:path';
4
+ import { routePattern } from '@hozu/core/ir';
4
5
  import { findBrowser, launch } from '../cdp.js';
5
6
  import { HozuCliError } from '../errors.js';
6
7
  import { sleep, Tab, World } from './browse-tab.js';
7
8
  import { describeElement, parseSession } from './request.js';
8
9
  const LIMIT = 1500;
9
10
  const TARGETED = new Set(['fill', 'select', 'check', 'uncheck', 'click', 'submit']);
10
- const VERBS = 'fill <label>=<value>, select <label>=<option>, check <label>, uncheck <label>, click <name>, submit "<form>", press <key>, wait <ms>, goto <path> (targets take in "<text>")';
11
+ const VERBS = 'fill <label>=<value>, select <label>=<option>, check <label>, uncheck <label>, click <name>, submit "<form>", press <key>, wait <ms>, goto <path>, post <path> <a=1&b=2>, remember <name> from url|<selector> [@attr] (targets take in "<text>"; $name reads a remembered value)';
11
12
  /** `click "Save draft"` names the same target as `click Save draft`. */
12
13
  const unquote = (s) => s.replace(/^"(.*)"$/, '$1');
14
+ const STEP = /^\s*(?:fill|select|check|uncheck|click|submit|press|wait|goto|post|remember)(?:\s|$)/;
15
+ /** `--do 'fill Title=Milk; press Enter'` is two steps: split where a verb and a space follow a semicolon outside quotes, so values may hold one. */
16
+ export const stepsOf = (text) => {
17
+ const steps = [];
18
+ let start = 0;
19
+ const balanced = (text.match(/"/g)?.length ?? 0) % 2 === 0;
20
+ let quoted = false;
21
+ for (let i = 0; i < text.length; i++) {
22
+ if (text[i] === '"' && balanced)
23
+ quoted = !quoted;
24
+ else if (text[i] === ';' && !quoted && STEP.test(text.slice(i + 1))) {
25
+ steps.push(text.slice(start, i));
26
+ start = i + 1;
27
+ }
28
+ }
29
+ steps.push(text.slice(start));
30
+ return steps.map((step) => step.trim()).filter(Boolean);
31
+ };
13
32
  export function parseStep(text) {
14
33
  const space = text.indexOf(' ');
15
34
  const verb = space < 0 ? text : text.slice(0, space);
@@ -20,13 +39,18 @@ export function parseStep(text) {
20
39
  rest = scoped[1].trim();
21
40
  within = scoped[2];
22
41
  }
42
+ if ((verb === 'fill' || verb === 'select') && within === null) {
43
+ const before = /^("[^"]*"|[^="]*?)\s+in\s+"([^"]+)"\s*=(.*)$/.exec(rest);
44
+ if (before)
45
+ return { verb, target: unquote(before[1].trim()), value: before[3], within: before[2] };
46
+ }
23
47
  if (verb === 'fill' || verb === 'select') {
24
- const eq = rest.indexOf('=');
48
+ const eq = rest.indexOf('=', rest.startsWith('"') ? Math.max(rest.indexOf('"', 1), 0) : 0);
25
49
  if (eq <= 0)
26
50
  throw new Error(`"${text}" needs <label>=<value>`);
27
51
  return { verb, target: unquote(rest.slice(0, eq).trim()), value: rest.slice(eq + 1), within };
28
52
  }
29
- return { verb, target: unquote(rest), value: '', within };
53
+ return { verb, target: verb === 'post' || verb === 'remember' ? rest : unquote(rest), value: '', within };
30
54
  }
31
55
  const q = JSON.stringify;
32
56
  async function aim(tab, call) {
@@ -94,8 +118,63 @@ export async function act(tab, p) {
94
118
  await tab.open(p.target);
95
119
  return done({});
96
120
  }
121
+ if (p.verb === 'post') {
122
+ const space = p.target.indexOf(' ');
123
+ const path = space < 0 ? p.target : p.target.slice(0, space);
124
+ if (!path.startsWith('/'))
125
+ throw new Error('post takes a path and form fields: post /items title=Milk&done=on');
126
+ const fields = [...new URLSearchParams(space < 0 ? '' : p.target.slice(space + 1).trim())];
127
+ tab.mark();
128
+ await tab.evaluate(`(() => {
129
+ const f = document.createElement('form')
130
+ f.method = 'post'
131
+ f.action = ${q(path)}
132
+ for (const [name, value] of ${q(fields)}) {
133
+ const i = document.createElement('input')
134
+ i.type = 'hidden'
135
+ i.name = name
136
+ i.value = value
137
+ f.append(i)
138
+ }
139
+ document.body.append(f)
140
+ HTMLFormElement.prototype.submit.call(f)
141
+ return true
142
+ })()`);
143
+ await tab.settle();
144
+ return done({ note: `posted ${fields.length} field${fields.length === 1 ? '' : 's'} to ${path}` });
145
+ }
97
146
  throw new Error(`Unknown step "${p.verb}": use ${VERBS}`);
98
147
  }
148
+ /**
149
+ * `remember <name> from url` keeps the page's path; `from <selector>` the first match's text, and
150
+ * `from <selector> @<attr>` an attribute. Each mode keeps its own values, since each has its own data (ADR 0056 C).
151
+ */
152
+ async function remember(tab, target, into) {
153
+ const m = /^([A-Za-z_]\w*)\s+from\s+(.+?)(?:\s+@([\w-]+))?$/.exec(target);
154
+ if (!m)
155
+ throw new Error('remember takes <name> from url, <selector> or <selector> @<attribute>');
156
+ const [, name, from, attr] = m;
157
+ const value = from === 'url'
158
+ ? await tab.evaluate('location.pathname + location.search')
159
+ : await tab.evaluate(`(() => {
160
+ const el = document.querySelector(${q(from)})
161
+ return el ? ${attr ? `el.getAttribute(${q(attr)})` : 'el.textContent.trim()'} : null
162
+ })()`);
163
+ if (value === null || value === undefined)
164
+ return { ok: false, note: `nothing matches ${from}${attr ? ` @${attr}` : ''}`, jsOnly: null };
165
+ into.set(name, String(value));
166
+ return { ok: true, note: `${name} = ${value}`, jsOnly: null };
167
+ }
168
+ export function headersOf(lines) {
169
+ const out = {};
170
+ for (const line of lines) {
171
+ const at = line.indexOf(':');
172
+ if (at <= 0)
173
+ throw new HozuCliError('usage', `--header takes "Name: value", not "${line}"`, []);
174
+ out[line.slice(0, at).trim().toLowerCase()] = line.slice(at + 1).trim();
175
+ }
176
+ return out;
177
+ }
99
178
  const linesOf = (s) => s.text.split('\n').filter((l) => l.trim());
100
179
  const minus = (a, b) => {
101
180
  const left = new Map();
@@ -109,10 +188,16 @@ const minus = (a, b) => {
109
188
  });
110
189
  };
111
190
  const comparable = (s) => minus(linesOf(s), s.component);
112
- const same = (a, b) => {
191
+ /** Two modes are on the same page when the URLs match one route, whatever its params (ADR 0056 A15). */
192
+ export const routeKey = (patterns) => (url) => {
193
+ const { pathname, search } = new URL(url, 'http://localhost');
194
+ const i = patterns.findIndex((p) => p.test(pathname));
195
+ return i < 0 ? url : `${i}${search}`;
196
+ };
197
+ const same = (a, b, key = (u) => u) => {
113
198
  const x = comparable(a);
114
199
  const y = comparable(b);
115
- return a.url === b.url && x.length === y.length && minus(x, y).length === 0;
200
+ return key(a.url) === key(b.url) && x.length === y.length && minus(x, y).length === 0;
116
201
  };
117
202
  const delta = (before, after) => before.url !== after.url
118
203
  ? { added: linesOf(after), removed: [] }
@@ -142,6 +227,8 @@ export async function runBrowse(loaded, options) {
142
227
  const modes = options.js === 'both' ? ['on', 'off'] : [options.js];
143
228
  const sessions = options.actors.map((a) => a.session);
144
229
  const worlds = modes.map(() => new World(loaded.path, dirname(loaded.path), sessions));
230
+ const vars = new Map(modes.map((m) => [m, new Map()]));
231
+ const pageKey = routeKey(Object.values(loaded.build().ir.routes).map((r) => routePattern(r.path).pattern));
145
232
  const profile = await mkdtemp(join(tmpdir(), 'hozu-browse-'));
146
233
  let cdp = null;
147
234
  const errors = [];
@@ -168,6 +255,7 @@ export async function runBrowse(loaded, options) {
168
255
  if ('open' in item) {
169
256
  await Promise.all(modes.map(async (mode, m) => {
170
257
  const tab = new Tab(cdp, worlds[m], mode, nameOf(item.open), errors);
258
+ tab.headers = headersOf(options.actors[item.open].headers);
171
259
  tabs.push(tab);
172
260
  await tab.start(cookies[m][item.open] ?? null, options.reducedMotion);
173
261
  bySession.set(tab.sessionId, tab);
@@ -218,14 +306,20 @@ export async function runBrowse(loaded, options) {
218
306
  let r;
219
307
  let verb = '';
220
308
  try {
221
- const parsed = parseStep(text);
309
+ const own = vars.get(mode);
310
+ const parsed = parseStep(text.replace(/\$([A-Za-z_]\w*)/g, (_, name) => {
311
+ const value = own.get(name);
312
+ if (value === undefined)
313
+ throw new Error(`$${name} was not remembered before this step`);
314
+ return value;
315
+ }));
222
316
  verb = parsed.verb;
223
- r = await act(tab, parsed);
317
+ r = parsed.verb === 'remember' ? await remember(tab, parsed.target, own) : await act(tab, parsed);
224
318
  }
225
319
  catch (error) {
226
320
  r = { ok: false, note: error instanceof Error ? error.message : String(error), jsOnly: null };
227
321
  }
228
- const acted = r.ok && !r.jsOnly && verb !== 'wait' && verb !== 'goto';
322
+ const acted = r.ok && !r.jsOnly && verb !== 'wait' && verb !== 'goto' && verb !== 'remember' && verb !== 'post';
229
323
  if (acted)
230
324
  await tab.settle();
231
325
  await Promise.all(others.map((o) => o.settle()));
@@ -245,6 +339,7 @@ export async function runBrowse(loaded, options) {
245
339
  requested: tab.requested,
246
340
  navigated: before.url !== after.url,
247
341
  url: after.url,
342
+ ...(tab.stepStatus !== null && tab.stepStatus !== 200 ? { status: tab.stepStatus } : {}),
248
343
  ...delta(before, after),
249
344
  };
250
345
  return { change, before, after, elsewhere };
@@ -253,10 +348,10 @@ export async function runBrowse(loaded, options) {
253
348
  const [on, off] = results;
254
349
  const differs = on !== undefined &&
255
350
  off !== undefined &&
256
- same(on.before, off.before) &&
351
+ same(on.before, off.before, pageKey) &&
257
352
  on.change.requested &&
258
353
  off.change.requested &&
259
- !same(on.after, off.after);
354
+ !same(on.after, off.after, pageKey);
260
355
  const elsewhere = results.flatMap((x) => x.elsewhere);
261
356
  const ok = changes.every((c) => c.ok);
262
357
  steps.push({
@@ -344,7 +439,8 @@ function describeChange(c, full) {
344
439
  const shown = full ? items : items.slice(0, ITEMS);
345
440
  const more = items.length - shown.length;
346
441
  const list = [...shown, ...(more ? [`… ${more} more`] : [])].join(' · ');
347
- return [moved ? `→ ${c.url}` : '', list].filter(Boolean).join(': ');
442
+ const status = c.status ? ` (${c.status})` : '';
443
+ return [moved || status ? `→ ${c.url}${status}` : '', list].filter(Boolean).join(': ');
348
444
  }
349
445
  export function describeBrowse(out, full = false) {
350
446
  const modes = out.modes ?? ['on'];