@hozu/cli 0.14.0 → 0.15.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 (70) hide show
  1. package/dist/commands/add.d.ts.map +1 -1
  2. package/dist/commands/add.js +4 -1
  3. package/dist/commands/add.js.map +1 -1
  4. package/dist/commands/browse-tab.d.ts +2 -0
  5. package/dist/commands/browse-tab.d.ts.map +1 -1
  6. package/dist/commands/browse-tab.js +3 -1
  7. package/dist/commands/browse-tab.js.map +1 -1
  8. package/dist/commands/browse.d.ts +4 -0
  9. package/dist/commands/browse.d.ts.map +1 -1
  10. package/dist/commands/browse.js +80 -9
  11. package/dist/commands/browse.js.map +1 -1
  12. package/dist/commands/call.d.ts +2 -0
  13. package/dist/commands/call.d.ts.map +1 -1
  14. package/dist/commands/call.js +73 -10
  15. package/dist/commands/call.js.map +1 -1
  16. package/dist/commands/explain.js +1 -1
  17. package/dist/commands/explain.js.map +1 -1
  18. package/dist/commands/impact.d.ts.map +1 -1
  19. package/dist/commands/impact.js +4 -2
  20. package/dist/commands/impact.js.map +1 -1
  21. package/dist/commands/locate.js +2 -2
  22. package/dist/commands/locate.js.map +1 -1
  23. package/dist/commands/map.d.ts.map +1 -1
  24. package/dist/commands/map.js +5 -3
  25. package/dist/commands/map.js.map +1 -1
  26. package/dist/commands/plan.d.ts.map +1 -1
  27. package/dist/commands/plan.js +8 -0
  28. package/dist/commands/plan.js.map +1 -1
  29. package/dist/commands/scaffold.d.ts.map +1 -1
  30. package/dist/commands/scaffold.js +19 -22
  31. package/dist/commands/scaffold.js.map +1 -1
  32. package/dist/commands/serve.d.ts.map +1 -1
  33. package/dist/commands/serve.js +2 -0
  34. package/dist/commands/serve.js.map +1 -1
  35. package/dist/commands/show.d.ts +11 -0
  36. package/dist/commands/show.d.ts.map +1 -0
  37. package/dist/commands/show.js +55 -0
  38. package/dist/commands/show.js.map +1 -0
  39. package/dist/commands/validate.d.ts.map +1 -1
  40. package/dist/commands/validate.js +7 -2
  41. package/dist/commands/validate.js.map +1 -1
  42. package/dist/commands/why.d.ts +0 -1
  43. package/dist/commands/why.d.ts.map +1 -1
  44. package/dist/commands/why.js +15 -2
  45. package/dist/commands/why.js.map +1 -1
  46. package/dist/contract.d.ts +22 -1
  47. package/dist/contract.d.ts.map +1 -1
  48. package/dist/main.d.ts +2 -0
  49. package/dist/main.d.ts.map +1 -1
  50. package/dist/main.js +89 -38
  51. package/dist/main.js.map +1 -1
  52. package/dist/migrate/step-0.15.d.ts +14 -0
  53. package/dist/migrate/step-0.15.d.ts.map +1 -0
  54. package/dist/migrate/step-0.15.js +94 -0
  55. package/dist/migrate/step-0.15.js.map +1 -0
  56. package/dist/migrate/steps.d.ts.map +1 -1
  57. package/dist/migrate/steps.js +8 -0
  58. package/dist/migrate/steps.js.map +1 -1
  59. package/package.json +8 -8
  60. package/schema/call.schema.json +6 -1
  61. package/schema/check.schema.json +12 -1
  62. package/schema/inspect.schema.json +103 -1
  63. package/schema/map.schema.json +14 -0
  64. package/schema/migrate.schema.json +12 -1
  65. package/schema/render.schema.json +5 -1
  66. package/schema/show.schema.json +79 -0
  67. package/schema/why.schema.json +9 -1
  68. package/schema/explain.schema.json +0 -171
  69. package/schema/impact.schema.json +0 -242
  70. package/schema/locate.schema.json +0 -488
@@ -8,17 +8,17 @@ function effectOf(ir, target) {
8
8
  const sym = target.slice(dot + 1);
9
9
  const query = feature?.queries[sym];
10
10
  const mutation = feature?.mutations[sym];
11
+ const endpoint = feature?.endpoints[sym];
11
12
  if (query)
12
- return { kind: 'query', runs: query.runs };
13
+ return { kind: 'query', runs: query.runs, endpoint: null };
13
14
  if (mutation)
14
- return { kind: 'mutation', runs: mutation.runs };
15
- if (feature?.endpoints[sym])
16
- throw new HozuCliError('usage', `${target} is an endpoint; request its URL instead`, [
17
- 'hozu get <its path> for a GET endpoint, hozu browse for a form that posts to it',
18
- ]);
15
+ return { kind: 'mutation', runs: mutation.runs, endpoint: null };
16
+ if (endpoint)
17
+ return { kind: 'endpoint', runs: 'server', endpoint };
19
18
  const known = Object.values(ir.features).flatMap((f) => [
20
19
  ...Object.keys(f.queries).map((s) => `${f.id}.${s}`),
21
20
  ...Object.keys(f.mutations).map((s) => `${f.id}.${s}`),
21
+ ...Object.keys(f.endpoints).map((s) => `${f.id}.${s}`),
22
22
  ]);
23
23
  throw new HozuCliError('usage', `Unknown query or mutation ${target}`, known.slice(0, 20));
24
24
  }
@@ -33,11 +33,13 @@ export async function runCall(loaded, options) {
33
33
  `hozu call notes.listNotes --input '{}'`,
34
34
  ]);
35
35
  const target = options.target;
36
- const { kind, runs } = effectOf(loaded.build().ir, target);
36
+ const { kind, runs, endpoint } = effectOf(loaded.build().ir, target);
37
37
  if (runs === 'browser')
38
38
  throw new HozuCliError('usage', `${target} runs in the browser (runs: 'browser'); the server never runs it`, ['hozu browse <a page that reads it>']);
39
- if (kind === 'mutation' && !options.write)
40
- throw new HozuCliError('usage', `${target} is a mutation: it writes real data, so hozu call needs --write`, [`hozu call ${target} --input '…' --write`]);
39
+ const writes = kind === 'mutation' || (endpoint !== null && endpoint.method !== 'GET');
40
+ if (writes && !options.write)
41
+ throw new HozuCliError('usage', `${target} is a ${kind === 'endpoint' ? `${endpoint.method} endpoint` : 'mutation'}: it writes real data, so hozu call needs --write`, [`hozu call ${target} --input '…' --write`]);
42
+ const headers = headersOf(options.headers ?? []);
41
43
  let input;
42
44
  try {
43
45
  input = JSON.parse(options.input ?? '{}');
@@ -68,6 +70,8 @@ export async function runCall(loaded, options) {
68
70
  }),
69
71
  });
70
72
  const [cookie] = parts.cookies;
73
+ if (endpoint)
74
+ return callEndpoint(handler, target, endpoint, ir, input, { ...headers, ...(cookie ? { cookie } : {}) });
71
75
  const started = performance.now();
72
76
  const response = await handler.fetch(new Request(`${ORIGIN}/_hozu/${kind === 'query' ? 'query' : 'effect'}`, {
73
77
  method: 'POST',
@@ -87,8 +91,67 @@ export async function runCall(loaded, options) {
87
91
  : [];
88
92
  return { effect: target, kind, runs: runs, input, result, ms, invalidated, refreshes };
89
93
  }
94
+ function headersOf(lines) {
95
+ const out = {};
96
+ for (const line of lines) {
97
+ const at = line.indexOf(':');
98
+ if (at <= 0)
99
+ throw new HozuCliError('usage', `--header takes "Name: value", not "${line}"`, [
100
+ "--header 'Authorization: Bearer <token>'",
101
+ ]);
102
+ out[line.slice(0, at).trim().toLowerCase()] = line.slice(at + 1).trim();
103
+ }
104
+ return out;
105
+ }
106
+ const flat = (input) => {
107
+ const params = new URLSearchParams();
108
+ for (const [k, v] of Object.entries((input ?? {})))
109
+ for (const x of Array.isArray(v) ? v : [v])
110
+ if (x !== null)
111
+ params.append(k, String(x));
112
+ return params;
113
+ };
114
+ /** An endpoint, called through the app's handler like any client would (ADR 0056 C): its URL, method and headers. */
115
+ async function callEndpoint(handler, target, e, ir, input, headers) {
116
+ const query = e.method === 'GET' ? flat(input).toString() : '';
117
+ const url = `${ORIGIN}${ir.http.basePath}${e.path}${query ? `?${query}` : ''}`;
118
+ const started = performance.now();
119
+ const response = await handler.fetch(new Request(url, {
120
+ method: e.method,
121
+ headers: {
122
+ origin: ORIGIN,
123
+ ...(e.method === 'GET' ? {} : { 'content-type': 'application/json' }),
124
+ ...headers,
125
+ },
126
+ ...(e.method === 'GET'
127
+ ? {}
128
+ : { body: e.raw && typeof input === 'string' ? input : JSON.stringify(input) }),
129
+ }));
130
+ const ms = Math.round(performance.now() - started);
131
+ const text = await response.text();
132
+ let body = text;
133
+ try {
134
+ body = JSON.parse(text);
135
+ }
136
+ catch { }
137
+ const ok = response.status < 400;
138
+ const error = !ok && body && typeof body === 'object' && 'error' in body ? String(body.error) : String(response.status);
139
+ return {
140
+ effect: target,
141
+ kind: 'endpoint',
142
+ runs: 'server',
143
+ input,
144
+ status: response.status,
145
+ result: ok ? { ok: true, value: body } : { ok: false, error, data: body },
146
+ ms,
147
+ invalidated: [],
148
+ refreshes: [],
149
+ };
150
+ }
90
151
  export function describeCall(out) {
91
- const lines = [`${out.effect} (${out.kind}, runs: ${out.runs}) ${out.ms} ms`];
152
+ const lines = [
153
+ `${out.effect} (${out.kind}${out.kind === 'endpoint' ? '' : `, runs: ${out.runs}`})${out.status ? ` ${out.status}` : ''} ${out.ms} ms`,
154
+ ];
92
155
  lines.push(out.result.ok ? 'ok' : `failed: ${out.result.error}`);
93
156
  lines.push(JSON.stringify(out.result.ok ? out.result.value : out.result.data, null, 2));
94
157
  if (out.invalidated.length)
@@ -1 +1 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/commands/call.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ function sendsIn(feature, state) {
72
72
  }
73
73
  export function runExplain(loaded, target) {
74
74
  if (!target?.includes('.'))
75
- throw new HozuCliError('usage', 'Expected <feature>.<state>, e.g. hozu explain cart.idle');
75
+ throw new HozuCliError('usage', 'Expected <feature>.<state>, e.g. hozu why cart.idle');
76
76
  const [fid, state] = [target.slice(0, target.indexOf('.')), target.slice(target.indexOf('.') + 1)];
77
77
  const build = loaded.build();
78
78
  const feature = requireFeature(build.ir, fid);
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../src/commands/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../src/commands/explain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../../src/commands/impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAA8B,MAAM,iBAAiB,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxC,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAgB/F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAclD"}
1
+ {"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../../src/commands/impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAA8B,MAAM,iBAAiB,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxC,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAgB/F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBlD"}
@@ -3,7 +3,7 @@ import { HozuCliError } from '../errors.js';
3
3
  import { findComponent, impactComponent } from './components.js';
4
4
  export function runImpact(loaded, target, cwd) {
5
5
  if (!target?.includes('.'))
6
- throw new HozuCliError('usage', 'Expected <feature>.<symbol> or a component id, e.g. hozu impact cart.addItem');
6
+ throw new HozuCliError('usage', 'Expected <feature>.<symbol> or a component id, e.g. hozu why cart.addItem');
7
7
  const build = loaded.build(true);
8
8
  const component = findComponent(build.ir, target);
9
9
  if (component)
@@ -18,7 +18,9 @@ export function runImpact(loaded, target, cwd) {
18
18
  }
19
19
  }
20
20
  export function describeImpact(out) {
21
- const lines = [`${out.target} (${out.kind}${out.runs ? `, runs: ${out.runs}` : ''})`];
21
+ const lines = [
22
+ `${out.target} (${out.kind}${out.runs ? `, runs: ${out.runs}` : ''}${out.access ? `, access: ${out.access}` : ''})`,
23
+ ];
22
24
  if (out.tags.length)
23
25
  lines.push(`tags: ${out.tags.join(', ')}`);
24
26
  if (out.queries.length)
@@ -1 +1 @@
1
- {"version":3,"file":"impact.js","sourceRoot":"","sources":["../../src/commands/impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEhE,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,MAA0B,EAAE,GAAW;IAC/E,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;QACxB,MAAM,IAAI,YAAY,CACpB,OAAO,EACP,8EAA8E,CAC/E,CAAA;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,SAAS;QAAE,OAAO,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAC5D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB;YACrC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7E,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/D,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;QACpB,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CACxF,CACF,CAAA;IACH,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3F,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5F,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"impact.js","sourceRoot":"","sources":["../../src/commands/impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEhE,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,MAA0B,EAAE,GAAW;IAC/E,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC;QACxB,MAAM,IAAI,YAAY,CACpB,OAAO,EACP,2EAA2E,CAC5E,CAAA;IACH,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,SAAS;QAAE,OAAO,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IAC5D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB;YACrC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7E,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG;QACZ,GAAG,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;KACrH,CAAA;IACD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/D,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM;QACpB,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,CACxF,CACF,CAAA;IACH,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3F,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC5F,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
@@ -5,8 +5,8 @@ import { HozuCliError } from '../errors.js';
5
5
  export function runLocate(loaded, target) {
6
6
  if (!target)
7
7
  throw new HozuCliError('usage', 'Give a node id or IR pointer', [
8
- 'hozu locate notes.NotesBoard/0/1',
9
- 'hozu locate /features/notes/views/NotesBoard/root/children/0',
8
+ 'hozu why notes.NotesBoard/0/1',
9
+ 'hozu why /features/notes/views/NotesBoard/root/children/0',
10
10
  ]);
11
11
  const root = dirname(loaded.path);
12
12
  const found = locateNode(loaded.build(true), target, { root });
@@ -1 +1 @@
1
- {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../src/commands/locate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locate.js","sourceRoot":"","sources":["../../src/commands/locate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAuB,SAAS,EAAY,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAaxC,KAAK,MAAM,GAAG;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAehD;AAyBD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAwH7D;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAoDlD"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAuB,SAAS,EAAY,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAaxC,KAAK,MAAM,GAAG;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAehD;AAyBD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CA0H7D;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAoDlD"}
@@ -1,5 +1,5 @@
1
1
  import { relative } from 'node:path';
2
- import { appModuleOf, resolveSource, } from '@hozu/core/ir';
2
+ import { accessSummary, appModuleOf, resolveSource, } from '@hozu/core/ir';
3
3
  import { componentUses } from '../uses.js';
4
4
  const local = (ref) => ref.slice(ref.indexOf('.') + 1);
5
5
  const fieldsOf = (schema) => {
@@ -126,6 +126,7 @@ export function runMap(loaded, cwd) {
126
126
  errors: Object.keys(q.errors),
127
127
  tags: q.tags.map((t) => local(t.tag)),
128
128
  runs: q.runs,
129
+ access: q.access ? accessSummary(q.access) : null,
129
130
  at: at(`${base}/queries/${name}`),
130
131
  })),
131
132
  mutations: Object.entries(f.mutations).map(([name, q]) => ({
@@ -133,6 +134,7 @@ export function runMap(loaded, cwd) {
133
134
  errors: Object.keys(q.errors),
134
135
  invalidates: q.invalidates.map((t) => local(t.tag)),
135
136
  runs: q.runs,
137
+ access: q.access ? accessSummary(q.access) : null,
136
138
  at: at(`${base}/mutations/${name}`),
137
139
  })),
138
140
  fetch: f.fetch ? at(`${base}/fetch`) : null,
@@ -198,9 +200,9 @@ export function describeMap(out) {
198
200
  for (const f of out.features) {
199
201
  lines.push(`feature ${f.id}`);
200
202
  for (const q of f.queries)
201
- lines.push(` query ${q.name} ${q.scope} ${q.freshness} runs:${q.runs}${q.errors.length ? ` !${q.errors.join(' !')}` : ''}${q.tags.length ? ` [${q.tags.join(' ')}]` : ''}${where(q.at)}`);
203
+ lines.push(` query ${q.name} ${q.scope} ${q.freshness} runs:${q.runs}${q.access ? ` access:${q.access}` : ''}${q.errors.length ? ` !${q.errors.join(' !')}` : ''}${q.tags.length ? ` [${q.tags.join(' ')}]` : ''}${where(q.at)}`);
202
204
  for (const q of f.mutations)
203
- lines.push(` mutation ${q.name} runs:${q.runs}${q.errors.length ? ` !${q.errors.join(' !')}` : ''}${q.invalidates.length ? ` ⟳${q.invalidates.join(' ')}` : ''}${where(q.at)}`);
205
+ lines.push(` mutation ${q.name} runs:${q.runs}${q.access ? ` access:${q.access}` : ''}${q.errors.length ? ` !${q.errors.join(' !')}` : ''}${q.invalidates.length ? ` ⟳${q.invalidates.join(' ')}` : ''}${where(q.at)}`);
204
206
  for (const e of f.endpoints)
205
207
  lines.push(` endpoint ${e.name} ${e.method} ${e.path}${where(e.at)}`);
206
208
  if (f.fetch)
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/commands/map.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAS7E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAarD"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAoB7E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAarD"}
@@ -1,4 +1,5 @@
1
1
  import { planRoute } from '@hozu/compiler';
2
+ import { routePattern } from '@hozu/core/ir';
2
3
  import { closest } from '@hozu/validator';
3
4
  import { HozuCliError } from '../errors.js';
4
5
  export function runPlan(loaded, route) {
@@ -6,6 +7,13 @@ export function runPlan(loaded, route) {
6
7
  const routes = Object.keys(ir.pages);
7
8
  if (!route)
8
9
  throw new HozuCliError('usage', 'Missing <route> argument', routes);
10
+ if (route.startsWith('/')) {
11
+ const path = route.split(/[?#]/)[0];
12
+ const found = routes.find((id) => routePattern(ir.routes[id]?.path ?? '').pattern.test(path));
13
+ if (!found)
14
+ throw new HozuCliError('unknown-feature', `No page renders the path "${path}"`, routes.map((id) => `${id} ${ir.routes[id]?.path}`));
15
+ return planRoute(ir, found).plan;
16
+ }
9
17
  if (!ir.pages[route]) {
10
18
  const guess = closest(route, routes);
11
19
  throw new HozuCliError('unknown-feature', `No page renders route "${route}"`, guess ? [guess] : routes);
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,KAAyB;IAC/D,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAA;IAC/E,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,0BAA0B,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IACzG,CAAC;IACD,OAAO,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,OAAO;QACL,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,gBAAgB,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5S,UAAU;QACV,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CACjB,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjI;QACD,UAAU;QACV,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3E,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,YAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAC9E,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;AACzC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAIxC,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;EAyBnC;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAA;AAI9C,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CA+I/C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CA2IzE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAW5C;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAsEhD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA6DtD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuErD;AAED,eAAO,MAAM,cAAc,cAU1B,CAAA;AAED,eAAO,MAAM,aAAa,cAgBzB,CAAA"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,YAAI,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAC9E,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;AACzC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAIxC,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;EAyBnC;AAED,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAA;AAI9C,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAkJ/C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAgJzE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAW5C;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAgEhD;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CA6DtD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuErD;AAED,eAAO,MAAM,cAAc,cAU1B,CAAA;AAED,eAAO,MAAM,aAAa,cAgBzB,CAAA"}
@@ -31,17 +31,18 @@ export function model(n, w) {
31
31
  const keyed = w.detail || w.toggle || w.remove;
32
32
  const busy = w.toggle || w.remove;
33
33
  const core = ['event', ...(w.filter ? ['fn'] : []), 'invoke', 'machine', 'mutation', 'on', 'query', 'tag'];
34
+ const access = ` access: '${w.auth ? 'signedIn' : 'anyone'}',`;
34
35
  const actionState = (state, effect) => ` ${state}: {
35
36
  invoke: invoke(${effect}, {
36
37
  input: { id: ctx.target },
37
38
  done: 'idle',
38
39
  failed: {
39
- NotFound: { target: 'idle', assign: () => { ctx.error = NOT_FOUND } },
40
- Unexpected: { target: 'idle', assign: (e) => { ctx.error = e.message } },
40
+ NotFound: { target: 'idle', assign: () => { ctx.error = 'notFound' } },
41
+ Unexpected: { target: 'idle', assign: () => { ctx.error = 'unexpected' } },
41
42
  },
42
43
  }),
43
44
  },`;
44
- return `${lines(`import { ${core.join(', ')} } from '@hozu/core'`, `import { z } from 'zod'`, '', `export const ${n.Item} = z.object({ id: z.string(), title: z.string()${w.toggle ? ', done: z.boolean()' : ''} })`, keyed && `export const ${n.Key} = z.object({ id: z.string() })`, `export const ${n.New} = z.object({`, ` title: z.string().min(2, 'Use at least 2 characters').max(80, 'Use at most 80 characters'),`, '})', w.filter && `export const Show = z.enum(['all', 'open', 'done'])`, '', `export const Draft = event({ payload: z.object({ text: z.string() }) })`, `export const Add = event({ payload: z.object({ title: z.string() }) })`, w.toggle && `export const Toggle = event({ payload: ${n.Key} })`, w.remove && `export const Remove = event({ payload: ${n.Key} })`, w.filter && `export const SetShow = event({ payload: z.object({ show: Show }) })`, '', `export const ${n.tag} = tag({ param: null })`, '', `export const ${n.list} = query({`, ` input: z.object({}),`, ` output: z.array(${n.Item}),`, w.auth && ` errors: { Unauthorized: z.object({}) },`, ` scope: '${w.auth ? 'user' : 'public'}',`, ` freshness: '${w.auth ? 'request' : 'static'}',`, ` tags: () => [${n.tag}()],`, ` runs: 'server',`, '})', w.detail &&
45
+ return `${lines(`import { ${core.join(', ')} } from '@hozu/core'`, `import { z } from 'zod'`, '', `export const ${n.Item} = z.object({ id: z.string(), title: z.string()${w.toggle ? ', done: z.boolean()' : ''} })`, keyed && `export const ${n.Key} = z.object({ id: z.string() })`, `export const ${n.New} = z.object({`, ` title: z.string().min(2, 'Use at least 2 characters').max(80, 'Use at most 80 characters'),`, '})', w.filter && `export const Show = z.enum(['all', 'open', 'done'])`, '', `export const Draft = event({ payload: z.object({ text: z.string() }) })`, `export const Add = event({ payload: z.object({ title: z.string() }) })`, w.toggle && `export const Toggle = event({ payload: ${n.Key} })`, w.remove && `export const Remove = event({ payload: ${n.Key} })`, w.filter && `export const SetShow = event({ payload: z.object({ show: Show }) })`, '', `export const ${n.tag} = tag({ param: null })`, '', `export const ${n.list} = query({`, ` input: z.object({}),`, ` output: z.array(${n.Item}),`, ` scope: '${w.auth ? 'user' : 'public'}',`, ` freshness: '${w.auth ? 'request' : 'static'}',`, ` tags: () => [${n.tag}()],`, ` runs: 'server',`, w.auth && access, '})', w.detail &&
45
46
  `
46
47
  export const ${n.get} = query({
47
48
  input: ${n.Key},
@@ -50,8 +51,8 @@ export const ${n.get} = query({
50
51
  scope: '${w.auth ? 'user' : 'public'}',
51
52
  freshness: '${w.auth ? 'request' : 'static'}',
52
53
  tags: () => [${n.tag}()],
53
- runs: 'server',
54
- })`, '', `export const ${n.add} = mutation({`, ` input: ${n.New},`, ` output: ${n.Item},`, ` errors: { Duplicate: z.object({ title: z.string() }) },`, ` invalidates: () => [${n.tag}()],`, ` runs: 'server',`, '})', w.toggle &&
54
+ runs: 'server',${w.auth ? `\n${access}` : ''}
55
+ })`, '', `export const ${n.add} = mutation({`, ` input: ${n.New},`, ` output: ${n.Item},`, ` errors: { Duplicate: z.object({ title: z.string() }) },`, ` invalidates: () => [${n.tag}()],`, ` runs: 'server',`, access, '})', w.toggle &&
55
56
  `
56
57
  export const ${n.toggle} = mutation({
57
58
  input: ${n.Key},
@@ -59,6 +60,7 @@ export const ${n.toggle} = mutation({
59
60
  errors: { NotFound: ${n.Key} },
60
61
  invalidates: () => [${n.tag}()],
61
62
  runs: 'server',
63
+ ${access}
62
64
  })`, w.remove &&
63
65
  `
64
66
  export const ${n.remove} = mutation({
@@ -67,6 +69,7 @@ export const ${n.remove} = mutation({
67
69
  errors: { NotFound: ${n.Key} },
68
70
  invalidates: () => [${n.tag}()],
69
71
  runs: 'server',
72
+ ${access}
70
73
  })`, w.filter &&
71
74
  `
72
75
  const Visible = z.object({ items: z.array(${n.Item}), show: Show })
@@ -81,15 +84,14 @@ export const isEmpty = fn({
81
84
  input: Visible,
82
85
  output: z.boolean(),
83
86
  impl: ({ items, show }) => !items.some((item) => show === 'all' || (show === 'done') === item.done),
84
- })`, '', `export const DUPLICATE = 'This ${n.one} already exists'`, busy && `export const NOT_FOUND = 'This ${n.one} no longer exists'`, '', `export const ${n.machine} = machine({`, ' context: z.object({', ' draft: z.string(),', ' error: z.string().nullable(),', ' fields: z.object({ title: z.string().nullable() }),', busy && ' target: z.string(),', w.filter && ' show: Show,', ' }),', ` initialContext: { draft: '', error: null, fields: { title: null }${busy ? ", target: ''" : ''}${w.filter ? ", show: 'all'" : ''} },`, ` initial: 'idle',`, ' states: ({ ctx }) => ({', ' idle: {', ' on: [', ` on(Draft, { target: 'idle', assign: (e) => { ctx.draft = e.text } }),`, ' on(Add, {', ` target: 'adding',`, ' assign: (e) => {', ' ctx.draft = e.title', ' ctx.error = null', ' ctx.fields = { title: null }', ' },', ' }),', w.toggle &&
87
+ })`, '', `export const Problem = z.enum(['duplicate', ${busy ? "'notFound', " : ''}'unexpected'])`, '', `export const ${n.machine} = machine({`, ' context: z.object({', ' draft: z.string(),', ' error: Problem.nullable(),', ' fields: z.object({ title: z.string().nullable() }),', busy && ' target: z.string(),', w.filter && ' show: Show,', ' }),', ` initialContext: { draft: '', error: null, fields: { title: null }${busy ? ", target: ''" : ''}${w.filter ? ", show: 'all'" : ''} },`, ` initial: 'idle',`, ' states: ({ ctx }) => ({', ' idle: {', ' on: [', ` on(Draft, { target: 'idle', assign: (e) => { ctx.draft = e.text } }),`, ' on(Add, {', ` target: 'adding',`, ' assign: (e) => {', ' ctx.draft = e.title', ' ctx.error = null', ' ctx.fields = { title: null }', ' },', ' }),', w.toggle &&
85
88
  ` on(Toggle, { target: 'toggling', assign: (e) => { ctx.target = e.id; ctx.error = null } }),`, w.remove &&
86
- ` on(Remove, { target: 'removing', assign: (e) => { ctx.target = e.id; ctx.error = null } }),`, w.filter && ` on(SetShow, { target: 'idle', assign: (e) => { ctx.show = e.show } }),`, ' ],', ' },', ' adding: {', ` invoke: invoke(${n.add}, {`, ' input: { title: ctx.draft },', ` done: { target: 'idle', assign: () => { ctx.draft = '' } },`, ' failed: {', ` Duplicate: { target: 'idle', assign: () => { ctx.error = DUPLICATE } },`, ` Invalid: { target: 'idle', assign: (e) => { ctx.fields = e.fields } },`, ` Unexpected: { target: 'idle', assign: (e) => { ctx.error = e.message } },`, ' },', ' }),', ' },', w.toggle && actionState('toggling', n.toggle), w.remove && actionState('removing', n.remove), ' }),', '})')}\n`;
89
+ ` on(Remove, { target: 'removing', assign: (e) => { ctx.target = e.id; ctx.error = null } }),`, w.filter && ` on(SetShow, { target: 'idle', assign: (e) => { ctx.show = e.show } }),`, ' ],', ' },', ' adding: {', ` invoke: invoke(${n.add}, {`, ' input: { title: ctx.draft },', ` done: { target: 'idle', assign: () => { ctx.draft = '' } },`, ' failed: {', ` Duplicate: { target: 'idle', assign: () => { ctx.error = 'duplicate' } },`, ` Invalid: { target: 'idle', assign: (e) => { ctx.fields = e.fields } },`, ` Unexpected: { target: 'idle', assign: () => { ctx.error = 'unexpected' } },`, ' },', ' }),', ' },', w.toggle && actionState('toggling', n.toggle), w.remove && actionState('removing', n.remove), ' }),', '})')}\n`;
87
90
  }
88
91
  export function views(n, w, listRoute) {
89
92
  const modelNames = [
90
93
  'Add',
91
94
  n.add,
92
- 'DUPLICATE',
93
95
  'Draft',
94
96
  n.list,
95
97
  n.machine,
@@ -97,7 +99,6 @@ export function views(n, w, listRoute) {
97
99
  ...(w.detail ? [n.get] : []),
98
100
  ...(w.toggle ? ['Toggle', n.toggle] : []),
99
101
  ...(w.remove ? ['Remove', n.remove] : []),
100
- ...(w.toggle || w.remove ? ['NOT_FOUND'] : []),
101
102
  ...(w.filter ? ['SetShow', 'visible', 'isEmpty'] : []),
102
103
  ].sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
103
104
  const itemForm = (event, label) => `ui.form({ class: 'inline', on: { submit: ui.send(${event}, { id: ui.dom.form('id') }) } }, [
@@ -134,7 +135,7 @@ export function views(n, w, listRoute) {
134
135
  { value: 'open', label: 'Open' },
135
136
  { value: 'done', label: 'Done' },
136
137
  ] as const
137
- `, `export const ${n.View} = ui.view({`, ` machine: ${n.machine},`, ' render: ({ ctx, when }) =>', ` ui.main({ class: 'mx-auto max-w-xl space-y-6 px-4 py-12' }, [`, ` ui.h1({ class: 'text-3xl font-bold' }, ['${n.title}']),`, ` ui.form({ class: 'flex gap-2', on: { submit: ui.send(Add, { title: ui.dom.form('title') }) } }, [`, ` ui.label({ for: '${n.id}-title', class: 'sr-only' }, ['Title']),`, ' ui.input({', ` id: '${n.id}-title',`, ` name: 'title',`, ' required: true,', ' minlength: 2,', ' maxlength: 80,', ' value: ctx.draft,', ` 'aria-invalid': ctx.fields.title !== null,`, ` 'aria-describedby': '${n.id}-title-error',`, ` class: 'flex-1 rounded border px-3 py-2',`, ' on: { input: ui.send(Draft, { text: ui.dom.value }) },', ' }),', ` ui.button({ type: 'submit', class: 'rounded bg-indigo-600 px-4 py-2 text-white' }, ['Add']),`, ' ]),', ` ui.p({ id: '${n.id}-title-error', class: 'text-sm text-rose-600' }, [ctx.fields.title]),`, ` ctx.error !== null && ui.p({ role: 'alert', class: 'text-rose-600' }, [ctx.error]),`, ` when(['adding'], [ui.p({ class: 'opacity-50', 'aria-busy': 'true' }, ['Adding ', ctx.draft, '…'])]),`, w.filter &&
138
+ `, `export const ${n.View} = ui.view({`, ` machine: ${n.machine},`, ' render: ({ ctx, when }) =>', ` ui.main({ class: 'mx-auto max-w-xl space-y-6 px-4 py-12' }, [`, ` ui.h1({ class: 'text-3xl font-bold' }, ['${n.title}']),`, ` ui.form({ class: 'flex gap-2', on: { submit: ui.send(Add, { title: ui.dom.form('title') }) } }, [`, ` ui.label({ for: '${n.id}-title', class: 'sr-only' }, ['Title']),`, ' ui.input({', ` id: '${n.id}-title',`, ` name: 'title',`, ' required: true,', ' minlength: 2,', ' maxlength: 80,', ' value: ctx.draft,', ` 'aria-invalid': ctx.fields.title !== null,`, ` 'aria-describedby': '${n.id}-title-error',`, ` class: 'flex-1 rounded border px-3 py-2',`, ' on: { input: ui.send(Draft, { text: ui.dom.value }) },', ' }),', ` ui.button({ type: 'submit', class: 'rounded bg-indigo-600 px-4 py-2 text-white' }, ['Add']),`, ' ]),', ` ui.p({ id: '${n.id}-title-error', class: 'text-sm text-rose-600' }, [ctx.fields.title]),`, ` ctx.error !== null &&`, ` ui.p({ role: 'alert', class: 'text-rose-600' }, [`, ` ctx.error === 'duplicate'`, ` ? 'This ${n.one} already exists'`, (w.toggle || w.remove) && ` : ctx.error === 'notFound'`, (w.toggle || w.remove) && ` ? 'This ${n.one} no longer exists'`, `${w.toggle || w.remove ? ' ' : ' '}: 'Something went wrong. Try again.',`, ` ]),`, ` when(['adding'], [ui.p({ class: 'opacity-50', 'aria-busy': 'true' }, ['Adding ', ctx.draft, '…'])]),`, w.filter &&
138
139
  ` ui.nav(
139
140
  { class: 'flex gap-2', 'aria-label': 'Show' },
140
141
  shows.map((s) =>
@@ -148,7 +149,7 @@ export function views(n, w, listRoute) {
148
149
  [s.label],
149
150
  ),
150
151
  ),
151
- ),`, ' ui.query(', ` ${n.list},`, ' {},', ' {', ' ready: (items) =>', ` ${ready},`, ` pending: ui.p({}, ['Loading…']),`, ` failed: { ${w.auth ? "Unauthorized: () => ui.p({ role: 'alert' }, ['Signed out']), " : ''}Unexpected: () => ui.p({ role: 'alert' }, ['Unavailable']) },`, ' },', ' ),', ' ]),', '})', w.detail &&
152
+ ),`, ' ui.query(', ` ${n.list},`, ' {},', ' {', ' ready: (items) =>', ` ${ready},`, ` pending: ui.p({}, ['Loading…']),`, ` failed: { ${w.auth ? "Forbidden: () => ui.p({ role: 'alert' }, ['Signed out']), " : ''}Unexpected: () => ui.p({ role: 'alert' }, ['Unavailable']) },`, ' },', ' ),', ' ]),', '})', w.detail &&
152
153
  `
153
154
  export const ${n.Detail} = ui.view({
154
155
  route: ${n.detailRoute},
@@ -215,14 +216,10 @@ export function server(n, w) {
215
216
  return list
216
217
  }`
217
218
  : ` const items: ${Row}[] = []`, ' let seq = 0', find && ` const find = (items: ${Row}[], id: string) => items.find((item) => item.id === id)`, ' return [', w.auth
218
- ? ` implement(${n.list}, (_, { session, fail }) =>
219
- session ? listOf(session).map((item) => ({ ...item })) : fail('Unauthorized', {}),
220
- ),`
219
+ ? ` implement(${n.list}, (_, { session }) => listOf(session).map((item) => ({ ...item }))),`
221
220
  : ` implement(${n.list}, () => items.map((item) => ({ ...item }))),`, w.detail &&
222
221
  ` implement(${n.get}, ({ id }, ${ctx('fail')}) => ${scoped(` const item = find(items, id)
223
- return item ? { ...item } : fail('NotFound', { id })`, false)}),`, ` implement(${n.add}, ({ title }, ${ctx('fail')}) => ${scoped(`${w.auth
224
- ? ` if (!session) return fail('Invalid', { message: 'Signed out', fields: { title: 'Sign in first' } })\n`
225
- : ''} const clean = title.trim()
222
+ return item ? { ...item } : fail('NotFound', { id })`, false)}),`, ` implement(${n.add}, ({ title }, ${ctx('fail')}) => ${scoped(` const clean = title.trim()
226
223
  if (items.some((item) => item.title.toLowerCase() === clean.toLowerCase()))
227
224
  return fail('Duplicate', { title: clean })
228
225
  const item = { id: \`${n.one.charAt(0)}\${++seq}\`, title: clean${w.toggle ? ', done: false' : ''} }
@@ -251,14 +248,14 @@ export const SignOut = event({ payload: z.object({}) })
251
248
  export const me = query({
252
249
  input: z.object({}),
253
250
  output: z.object({ name: z.string() }),
254
- errors: { Unauthorized: z.object({}) },
255
251
  scope: 'user',
256
252
  freshness: 'request',
257
253
  runs: 'server',
254
+ access: 'signedIn',
258
255
  })
259
256
 
260
- export const signIn = mutation({ input: Name, output: z.object({}), runs: 'server' })
261
- export const signOut = mutation({ input: z.object({}), output: z.object({}), runs: 'server' })
257
+ export const signIn = mutation({ input: Name, output: z.object({}), runs: 'server', access: 'anyone' })
258
+ export const signOut = mutation({ input: z.object({}), output: z.object({}), runs: 'server', access: 'anyone' })
262
259
 
263
260
  export const accountMachine = machine({
264
261
  context: z.object({
@@ -339,7 +336,7 @@ export const AccountBar = ui.view({
339
336
  {},
340
337
  {
341
338
  ready: (user) => ui.p({}, ['Signed in as ', user.name]),
342
- failed: { Unauthorized: () => ui.p({}, ['Signed out']), Unexpected: () => ui.p({}, ['']) },
339
+ failed: { Forbidden: () => ui.p({}, ['Signed out']), Unexpected: () => ui.p({}, ['']) },
343
340
  },
344
341
  ),
345
342
  ui.form({ on: { submit: ui.send(SignOut, {}) } }, [
@@ -387,7 +384,7 @@ import { me, signIn, signOut } from './model.ts'
387
384
 
388
385
  export function accountResolvers<Env>(implement: Implement<{ user: string }, Env>) {
389
386
  return [
390
- implement(me, (_, { session, fail }) => (session ? { name: session.user } : fail('Unauthorized', {}))),
387
+ implement(me, (_, { session }) => ({ name: session?.user ?? '' })),
391
388
  implement(signIn, ({ name }, { setSession }) => {
392
389
  setSession({ user: name.trim().toLowerCase() })
393
390
  return {}