@formlm/cli 0.3.0 → 0.5.1

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/README.md +326 -65
  2. package/dist/commands/app.d.ts.map +1 -1
  3. package/dist/commands/app.js +74 -16
  4. package/dist/commands/app.js.map +1 -1
  5. package/dist/commands/auth.d.ts.map +1 -1
  6. package/dist/commands/auth.js +186 -7
  7. package/dist/commands/auth.js.map +1 -1
  8. package/dist/commands/connect.js +3 -3
  9. package/dist/commands/connect.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +11 -0
  11. package/dist/commands/doctor.d.ts.map +1 -0
  12. package/dist/commands/doctor.js +109 -0
  13. package/dist/commands/doctor.js.map +1 -0
  14. package/dist/commands/expert.d.ts.map +1 -1
  15. package/dist/commands/expert.js +42 -18
  16. package/dist/commands/expert.js.map +1 -1
  17. package/dist/commands/field.d.ts.map +1 -1
  18. package/dist/commands/field.js +9 -11
  19. package/dist/commands/field.js.map +1 -1
  20. package/dist/commands/profile.js +1 -1
  21. package/dist/commands/profile.js.map +1 -1
  22. package/dist/commands/report.d.ts.map +1 -1
  23. package/dist/commands/report.js +39 -12
  24. package/dist/commands/report.js.map +1 -1
  25. package/dist/commands/scale.d.ts.map +1 -1
  26. package/dist/commands/scale.js +4 -1
  27. package/dist/commands/scale.js.map +1 -1
  28. package/dist/commands/share.d.ts.map +1 -1
  29. package/dist/commands/share.js +258 -28
  30. package/dist/commands/share.js.map +1 -1
  31. package/dist/commands/skill.d.ts.map +1 -1
  32. package/dist/commands/skill.js +2 -3
  33. package/dist/commands/skill.js.map +1 -1
  34. package/dist/commands/smart.d.ts.map +1 -1
  35. package/dist/commands/smart.js +337 -59
  36. package/dist/commands/smart.js.map +1 -1
  37. package/dist/commands/snapshot.d.ts +0 -11
  38. package/dist/commands/snapshot.d.ts.map +1 -1
  39. package/dist/commands/snapshot.js +168 -42
  40. package/dist/commands/snapshot.js.map +1 -1
  41. package/dist/config.d.ts +1 -0
  42. package/dist/config.d.ts.map +1 -1
  43. package/dist/config.js +1 -1
  44. package/dist/config.js.map +1 -1
  45. package/dist/doctor.d.ts +51 -0
  46. package/dist/doctor.d.ts.map +1 -0
  47. package/dist/doctor.js +202 -0
  48. package/dist/doctor.js.map +1 -0
  49. package/dist/exec.d.ts +39 -1
  50. package/dist/exec.d.ts.map +1 -1
  51. package/dist/exec.js +309 -4
  52. package/dist/exec.js.map +1 -1
  53. package/dist/index.js +55 -6
  54. package/dist/index.js.map +1 -1
  55. package/dist/mcp.d.ts.map +1 -1
  56. package/dist/mcp.js +283 -67
  57. package/dist/mcp.js.map +1 -1
  58. package/dist/output.d.ts +23 -1
  59. package/dist/output.d.ts.map +1 -1
  60. package/dist/output.js +69 -7
  61. package/dist/output.js.map +1 -1
  62. package/dist/summary.d.ts +17 -0
  63. package/dist/summary.d.ts.map +1 -0
  64. package/dist/summary.js +64 -0
  65. package/dist/summary.js.map +1 -0
  66. package/dist/utils.d.ts +10 -2
  67. package/dist/utils.d.ts.map +1 -1
  68. package/dist/utils.js +45 -6
  69. package/dist/utils.js.map +1 -1
  70. package/package.json +11 -2
@@ -194,9 +194,10 @@ export function registerScaleCommand(parent) {
194
194
  const data = scale.command('data').description('Score range (result tier) management');
195
195
  data
196
196
  .command('add')
197
- .description('Add score ranges. Batch mode: --ranges "0-7:Normal,8-14:Mild,15-21:Severe". Single mode: --min --max --value')
197
+ .description('Add score ranges. Recommended --bands "Normal:desc||Mild:desc||Severe:desc" (server auto-computes even boundaries + 999 sentinel, no manual math). Also supports --ranges "0-7:Normal,8-14:Mild,15-21:Severe" or single mode --min --max --value')
198
198
  .requiredOption('--app <appId>', 'App ID')
199
199
  .requiredOption('--scale <scaleId>', 'Dimension ID')
200
+ .option('--bands <bands>', 'Engine auto-balance mode (recommended): ResultText:Description||ResultText:Description||... — server evenly splits boundaries over the dimension actual score range (top=999 sentinel, next.min=prev.max+1). Bands separated by ||, first colon splits label from description, ordered lowest→highest score. Takes precedence over --ranges')
200
201
  .option('--ranges <ranges>', 'Batch format: min-max:value[:desc], comma-separated. e.g. "0-7:Normal,8-14:Mild,15-21:Severe"')
201
202
  .option('--id <dataId>', 'Range ID (auto-generated if omitted, single mode only)')
202
203
  .option('--min <min>', 'Min score (single mode)', parseFloat)
@@ -206,6 +207,8 @@ export function registerScaleCommand(parent) {
206
207
  .option('--unique [value]', 'Unique display in enableSingle mode (true/false)')
207
208
  .action(async (opts) => {
208
209
  let cmd = `assess scale data add --app ${opts.app} --scale ${opts.scale}`;
210
+ if (opts.bands)
211
+ cmd += ` --bands "${escapeArg(opts.bands)}"`;
209
212
  if (opts.ranges)
210
213
  cmd += ` --ranges "${escapeArg(opts.ranges)}"`;
211
214
  if (opts.id)
@@ -1 +1 @@
1
- {"version":3,"file":"scale.js","sourceRoot":"","sources":["../../src/commands/scale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scale.js","sourceRoot":"","sources":["../../src/commands/scale.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAiF1D"}
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAwQ1D"}
@@ -1,57 +1,167 @@
1
- import { execCommand } from '../exec.js';
2
- import { output } from '../output.js';
1
+ import { execCommand, probeUrl } from '../exec.js';
2
+ import { output, guidance, localFail, isJsonMode } from '../output.js';
3
+ import { getBaseUrl } from '../config.js';
4
+ import { absHttpsUrl, normBool } from '../utils.js';
5
+ import { shareTokenFromUrl } from '../summary.js';
3
6
  // connect style apply-all triggers server-side AI generation (30-120s)
4
7
  const TIMEOUT_STYLE = 600_000;
8
+ // Access types accepted by `share publish --access` / `share set --type`
9
+ // (mirrors server ShareCommand --form-type validation)
10
+ const ACCESS_TYPES = ['visitor', 'all', 'owner', 'secret', 'no'];
11
+ /**
12
+ * Map a human-friendly days value to the server's --form-day parameter.
13
+ * Server normalization rule (ShareCommand.set): only 1..30 stay finite;
14
+ * <=0 or >30 collapse to the forever sentinel 3650000. We mirror that (and say so on
15
+ * stderr) instead of failing a publish the user explicitly asked for.
16
+ */
17
+ function mapFormDay(days) {
18
+ if (days === undefined)
19
+ return 3650000; // default: forever (matches legacy publish)
20
+ const d = String(days).trim().toLowerCase();
21
+ if (d === 'forever')
22
+ return 3650000;
23
+ const n = Number(d);
24
+ if (!Number.isFinite(n) || n < 0) {
25
+ localFail(`Invalid --days "${days}". Use 1-30 for a limited window, or 0/forever for permanent.`);
26
+ }
27
+ if (n === 0)
28
+ return 3650000; // explicit "permanent" — no notice needed
29
+ if (n > 30) {
30
+ guidance(`ℹ️ --days ${days} → permanent: the server only honours finite windows of 1..30 days (anything above 30 normalizes to the permanent sentinel 3650000).`);
31
+ return 3650000;
32
+ }
33
+ return Math.floor(n);
34
+ }
5
35
  export function registerShareCommand(parent) {
6
36
  const share = parent.command('share').description('Share & publish management — set command is naturally idempotent (safe to re-run)');
7
37
  share
8
38
  .command('publish')
9
- .description('Publish the form for public access (each respondent can submit once; unlimited respondents; stays open until unpublished). Auto-applies visual style if not yet styled.')
39
+ .description('Publish the form. Access semantics (must know): --access visitor = anonymous, no login required ("anyone can fill" — the common public choice, and the DEFAULT); ' +
40
+ '--access all = every logged-in FormLM user (anonymous visitors get bounced to a login page); --access secret = password-protected. ' +
41
+ 'Each respondent submits once (perm 1) and stays open until unpublished unless --days/--perm override it. ' +
42
+ 'Auto-applies a default visual style first if the app was never styled (extra 30-120s AI generation; use --no-style to skip).')
10
43
  .requiredOption('--app <appId>', 'App ID')
44
+ .option('--access <type>', 'Access type: visitor (anonymous, default) / all (login required) / secret (password)', 'visitor')
45
+ .option('--perm <n>', 'Fill permission: 1 = one submission per respondent (default), 2 = multiple, 3 = management', '1')
46
+ .option('--days <n>', 'Validity in days: 1-30 (server only supports finite windows in 1..30; anything else becomes permanent), or 0/forever (default)', 'forever')
47
+ .option('--no-style', 'Skip the auto style-apply fallback when the app is not yet styled')
11
48
  .action(async (opts) => {
49
+ const access = String(opts.access).trim();
50
+ if (!ACCESS_TYPES.includes(access)) {
51
+ localFail(`Invalid --access "${opts.access}". Valid: ${ACCESS_TYPES.join(' / ')} (visitor = anonymous no-login; all = requires login).`);
52
+ }
53
+ const perm = Number(opts.perm);
54
+ if (![1, 2, 3].includes(perm)) {
55
+ localFail(`Invalid --perm "${opts.perm}". Valid: 1 (once) / 2 (many) / 3 (management).`);
56
+ }
57
+ const formDay = mapFormDay(opts.days);
58
+ // Skip style fallback: commander sets opts.style === false when --no-style passed
59
+ const allowStyle = opts.style !== false;
12
60
  // ── Connect style fallback: check if form has been styled ──
13
- const queryResult = await execCommand(`assess connect query --app ${opts.app} --json`);
14
61
  let needsStyle = true;
15
- if (queryResult.code === 0 && queryResult.data) {
16
- try {
17
- const query = JSON.parse(queryResult.data);
18
- if (query.styled === true)
19
- needsStyle = false;
62
+ if (allowStyle) {
63
+ const queryResult = await execCommand(`assess connect query --app ${opts.app} --json`);
64
+ if (queryResult.code === 0 && queryResult.data) {
65
+ try {
66
+ const query = JSON.parse(queryResult.data);
67
+ if (query.styled === true)
68
+ needsStyle = false;
69
+ }
70
+ catch { }
20
71
  }
21
- catch { }
72
+ }
73
+ else {
74
+ needsStyle = false;
22
75
  }
23
76
  if (needsStyle) {
24
- console.log('🎨 No visual style detected. Auto-applying default style...');
77
+ guidance('🎨 No visual style detected. Auto-applying default style (AI generation, may take 30-120s)...');
25
78
  const styleResult = await execCommand(`assess connect style apply-all --app ${opts.app} --theme minimalist --look "professional assessment form, clean modern design, clear typography, subtle color palette" --json`, undefined, TIMEOUT_STYLE);
26
79
  if (styleResult.code === 0) {
27
- console.log('✅ Visual style applied successfully.');
80
+ guidance('✅ Visual style applied successfully.');
28
81
  }
29
82
  else {
30
- console.log(`⚠️ Style auto-apply skipped: ${styleResult.message}`);
83
+ guidance(`⚠️ Style auto-apply skipped: ${styleResult.message}`);
31
84
  }
32
85
  }
33
86
  // ── Publish the form ──
34
- const cmd = `assess share set --app ${opts.app} --form-type all --form-perm 1 --form-day 3650000 --json`;
87
+ const cmd = `assess share set --app ${opts.app} --form-type ${access} --form-perm ${perm} --form-day ${formDay} --json`;
35
88
  const result = await execCommand(cmd);
36
- output(result);
37
- // After publishing, fetch and display all 3 URLs
89
+ // ── After publishing, fetch URLs and fold them INTO the data (JSON mode stays a single pure envelope on stdout) ──
90
+ // shareUrlAbsolute can lag one moment behind the share write (the share row is
91
+ // persisted async), so retry once when the URL/token is still missing.
38
92
  if (result.code === 0) {
39
- const urlsResult = await execCommand(`assess app urls --app ${opts.app} --json`);
40
- if (urlsResult.code === 0 && urlsResult.data) {
93
+ let urls = null;
94
+ for (let attempt = 0; attempt < 2 && !urls?.shareUrl; attempt++) {
95
+ if (attempt > 0)
96
+ await new Promise(r => setTimeout(r, 800));
97
+ const urlsResult = await execCommand(`assess app urls --app ${opts.app} --json`);
98
+ if (urlsResult.code === 0 && urlsResult.data) {
99
+ try {
100
+ urls = JSON.parse(urlsResult.data);
101
+ }
102
+ catch {
103
+ urls = null;
104
+ }
105
+ }
106
+ }
107
+ if (urls) {
108
+ const fillAbs = urls.shareUrlAbsolute || absHttpsUrl(getBaseUrl(), urls.shareUrl);
41
109
  try {
42
- const urls = JSON.parse(urlsResult.data);
110
+ const merged = typeof result.data === 'string' ? JSON.parse(result.data) : result.data;
111
+ if (merged && typeof merged === 'object') {
112
+ merged.urls = urls;
113
+ result.data = JSON.stringify(merged);
114
+ }
115
+ }
116
+ catch { }
117
+ // Human mode: echo the URL block to stdout; JSON mode: guidance() reroutes to stderr.
118
+ if (!isJsonMode()) {
43
119
  console.log('');
44
120
  console.log('📋 App URLs:');
45
- if (urls.shareUrl)
46
- console.log(` Fill-in URL: ${urls.shareUrl}`);
121
+ if (fillAbs)
122
+ console.log(` Fill-in URL: ${fillAbs}`);
123
+ const token = urls.shareToken || shareTokenFromUrl(urls.shareUrl);
124
+ if (token)
125
+ console.log(` ShareToken: ${token}`);
47
126
  if (urls.builderUrl)
48
- console.log(` Editor URL: ${urls.builderUrl}`);
127
+ console.log(` Editor URL: ${absHttpsUrl(getBaseUrl(), urls.builderUrl)}`);
49
128
  if (urls.dataUrl)
50
- console.log(` Data URL: ${urls.dataUrl}`);
129
+ console.log(` Data URL: ${absHttpsUrl(getBaseUrl(), urls.dataUrl)}`);
130
+ if (urls.apiUrl)
131
+ console.log(` Data API: ${urls.apiUrl}`);
132
+ else if (urls.apiUrl === '')
133
+ console.log(' Data API: (not enabled — run: formlm-cli share api --app ' + opts.app + ' --submit true)');
134
+ }
135
+ else {
136
+ const token = urls.shareToken || shareTokenFromUrl(urls.shareUrl);
137
+ guidance(`💡 Fill-in URL: ${fillAbs}${token ? ` ShareToken: ${token}` : ''}`);
51
138
  }
52
- catch { }
53
139
  }
54
140
  }
141
+ output(result);
142
+ });
143
+ share
144
+ .command('set')
145
+ .description('Set share/publish config directly (idempotent — safe to re-run). Exposes the raw server parameters so every access ' +
146
+ 'combination (e.g. "anonymous + unlimited validity" = --type visitor --day 0) is reachable without going through publish. ' +
147
+ 'Server day rule: only 1..30 stay finite; <=0 or >30 normalize to permanent (sentinel 3650000).')
148
+ .requiredOption('--app <appId>', 'App ID')
149
+ .option('--type <formType>', 'Form share type: visitor (anonymous no-login) / all (logged-in users) / secret (password) / owner (creator only) / no (unpublish)')
150
+ .option('--perm <n>', 'Fill permission: 1 = once, 2 = many, 3 = management')
151
+ .option('--day <n>', 'Validity in days (1..30), or 0/forever/>30 = permanent sentinel 3650000')
152
+ .action(async (opts) => {
153
+ if (opts.type && !ACCESS_TYPES.includes(String(opts.type).trim())) {
154
+ localFail(`Invalid --type "${opts.type}". Valid: ${ACCESS_TYPES.join(' / ')}.`);
155
+ }
156
+ let cmd = `assess share set --app ${opts.app}`;
157
+ if (opts.type)
158
+ cmd += ` --form-type ${String(opts.type).trim()}`;
159
+ if (opts.perm !== undefined)
160
+ cmd += ` --form-perm ${opts.perm}`;
161
+ if (opts.day !== undefined)
162
+ cmd += ` --form-day ${mapFormDay(String(opts.day))}`;
163
+ cmd += ' --json';
164
+ output(await execCommand(cmd));
55
165
  });
56
166
  share
57
167
  .command('unpublish')
@@ -63,22 +173,142 @@ export function registerShareCommand(parent) {
63
173
  output(result);
64
174
  });
65
175
  share
66
- .command('query')
67
- .description('Query publish status')
176
+ .command('verify')
177
+ .description('One-call publish verification: authoritative access triple (type/perm/day) + reachability probe. ' +
178
+ 'Use it instead of share query + curl so "anonymous + permanent" is provable in one step. ' +
179
+ 'Reading: anonymous=true only when type=visitor; HTTP 200 alone proves nothing (the SPA shell answers 200 behind the login gate).')
68
180
  .requiredOption('--app <appId>', 'App ID')
181
+ .option('--no-probe', 'Skip the HTTPS reachability probe of the fill-in URL')
69
182
  .action(async (opts) => {
70
- const cmd = `assess share query --app ${opts.app} --json`;
183
+ const urlsResult = await execCommand(`assess app urls --app ${opts.app} --json`);
184
+ let urls = null;
185
+ if (urlsResult.code === 0 && urlsResult.data) {
186
+ try {
187
+ urls = JSON.parse(urlsResult.data);
188
+ }
189
+ catch { }
190
+ }
191
+ const queryResult = await execCommand(`assess share query --app ${opts.app} --json`);
192
+ let shareForm = null;
193
+ if (queryResult.code === 0 && queryResult.data) {
194
+ try {
195
+ const q = JSON.parse(queryResult.data);
196
+ shareForm = q.form ?? q;
197
+ }
198
+ catch { }
199
+ }
200
+ const type = shareForm?.type ?? urls?.shareType ?? null;
201
+ const day = shareForm?.day ?? urls?.shareDay ?? null;
202
+ const perm = shareForm?.perm ?? urls?.sharePerm ?? null;
203
+ const fillAbs = urls?.shareUrlAbsolute || absHttpsUrl(getBaseUrl(), urls?.shareUrl);
204
+ const published = Boolean(type && type !== 'no');
205
+ const check = {
206
+ appId: opts.app,
207
+ published,
208
+ type,
209
+ perm,
210
+ day,
211
+ forever: Number(day ?? 0) >= 3650000,
212
+ anonymous: type === 'visitor',
213
+ needsLogin: type === 'all' || type === 'owner',
214
+ shareUrl: fillAbs || null,
215
+ shareToken: urls?.shareToken || shareTokenFromUrl(urls?.shareUrl),
216
+ };
217
+ if (opts.probe !== false && fillAbs) {
218
+ const probe = await probeUrl(fillAbs);
219
+ check.httpStatus = probe.status;
220
+ check.reachable = probe.ok;
221
+ if (!probe.ok)
222
+ check.probeMessage = probe.message;
223
+ }
224
+ const problems = [];
225
+ if (!published)
226
+ problems.push('not published (type is empty or "no") — run: formlm-cli share publish --app ' + opts.app);
227
+ if (check.needsLogin)
228
+ problems.push(`type=${type} requires a logged-in user; anonymous visitors hit the login page — use --access visitor for public forms`);
229
+ if (check.reachable === false)
230
+ problems.push(`fill-in URL not reachable (HTTP ${check.httpStatus || 'no response'}${check.probeMessage ? ': ' + check.probeMessage : ''})`);
231
+ check.ok = problems.length === 0;
232
+ check.problems = problems;
233
+ if (isJsonMode()) {
234
+ console.log(JSON.stringify({ ok: check.ok, code: check.ok ? 0 : 400, message: check.ok ? 'ok' : problems.join('; '), data: check }));
235
+ }
236
+ else {
237
+ console.log(JSON.stringify(check, null, 2));
238
+ }
239
+ });
240
+ share
241
+ .command('api')
242
+ .description('Configure the Data API — a form backend for static sites, local pages, and AI apps. Point a form action or fetch at the endpoint and submissions land in FormLM. Append ?help to the endpoint for its Markdown docs (readable by AI agents).')
243
+ .requiredOption('--app <appId>', 'App ID')
244
+ .option('--submit <bool>', 'Enable the submit endpoint (true/false)')
245
+ .option('--query <bool>', 'Enable the query endpoint (true/false)')
246
+ .option('--summary <bool>', 'Enable the summary endpoint (true/false)')
247
+ .option('--auto-create <bool>', 'Auto-create fields for unknown keys in submissions (true/false)')
248
+ .action(async (opts) => {
249
+ let cmd = `assess share api --app ${opts.app}`;
250
+ const submit = normBool(opts.submit);
251
+ if (submit !== undefined)
252
+ cmd += ` --submit ${submit}`;
253
+ const query = normBool(opts.query);
254
+ if (query !== undefined)
255
+ cmd += ` --query ${query}`;
256
+ const summary = normBool(opts.summary);
257
+ if (summary !== undefined)
258
+ cmd += ` --summary ${summary}`;
259
+ const autoCreate = normBool(opts.autoCreate);
260
+ if (autoCreate !== undefined)
261
+ cmd += ` --auto-create ${autoCreate}`;
262
+ cmd += ' --json';
71
263
  const result = await execCommand(cmd);
72
264
  output(result);
265
+ // Friendly endpoint summary for humans and agents (stderr in JSON mode)
266
+ if (result.code === 0 && result.data) {
267
+ try {
268
+ const api = JSON.parse(result.data);
269
+ if (api.apiUrl) {
270
+ guidance('');
271
+ guidance('🔌 Data API endpoint:');
272
+ guidance(` POST JSON: ${api.apiUrl}`);
273
+ guidance(` POST form: ${api.apiUrl}/form`);
274
+ guidance(` API Docs: ${api.apiHelpUrl}`);
275
+ }
276
+ }
277
+ catch { }
278
+ }
279
+ });
280
+ share
281
+ .command('query')
282
+ .description('Query publish status. Read the triple type/perm/day to verify access: type=visitor means anonymous no-login, ' +
283
+ 'type=all means logged-in users only; day>=3650000 (or "forever" in --md) means permanent. ' +
284
+ 'Note: curl 200 on the share URL does NOT prove anonymous access — the SPA shell answers 200 even behind the login gate.')
285
+ .requiredOption('--app <appId>', 'App ID')
286
+ .option('--md', 'Markdown table output')
287
+ .action(async (opts) => {
288
+ let cmd = `assess share query --app ${opts.app}`;
289
+ cmd += opts.md ? ' --md' : ' --json';
290
+ output(await execCommand(cmd));
73
291
  });
74
292
  share
75
293
  .command('url')
76
- .description('Get all app URLs (fill-in, editor, data management)')
294
+ .description('Get all app URLs (fill-in, editor, data management, Data API). JSON output includes shareToken and published/shareType summaries.')
77
295
  .requiredOption('--app <appId>', 'App ID')
78
296
  .action(async (opts) => {
79
297
  // Use app urls to return all 3 URLs (fill-in, editor, data) in one call
80
298
  const cmd = `assess app urls --app ${opts.app} --json`;
81
299
  const result = await execCommand(cmd);
300
+ // Guarantee shareToken as a first-class field even against older servers
301
+ // that only return shareUrl (server now emits shareToken natively; this is a compat fill).
302
+ if (result.code === 0 && result.data && isJsonMode()) {
303
+ try {
304
+ const urls = JSON.parse(result.data);
305
+ if (!urls.shareToken) {
306
+ urls.shareToken = shareTokenFromUrl(urls.shareUrl);
307
+ result.data = JSON.stringify(urls);
308
+ }
309
+ }
310
+ catch { }
311
+ }
82
312
  output(result);
83
313
  });
84
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/commands/share.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAe1D"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAc1D"}
@@ -1,5 +1,5 @@
1
1
  import { execCommand } from '../exec.js';
2
- import { output } from '../output.js';
2
+ import { output, localFail } from '../output.js';
3
3
  /**
4
4
  * Skill Command — Fetch SKILL.md Domain Knowledge
5
5
  *
@@ -20,8 +20,7 @@ export function registerSkillCommand(parent) {
20
20
  .action(async (skillId) => {
21
21
  const valid = ['form', 'scale', 'connect', 'report', 'expert', 'share'];
22
22
  if (!valid.includes(skillId)) {
23
- console.error(`❌ Invalid skill ID "${skillId}". Valid: ${valid.join(', ')}`);
24
- process.exit(1);
23
+ localFail(`Invalid skill ID "${skillId}". Valid: ${valid.join(', ')}`);
25
24
  }
26
25
  const cmd = `assess skill ${skillId}`;
27
26
  const result = await execCommand(cmd);
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2FAA2F,CAAC;SACxG,QAAQ,CAAC,WAAW,EAAE,4DAA4D,CAAC;SACnF,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,uBAAuB,OAAO,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,GAAG,gBAAgB,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/commands/skill.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAe;IAClD,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2FAA2F,CAAC;SACxG,QAAQ,CAAC,WAAW,EAAE,4DAA4D,CAAC;SACnF,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,qBAAqB,OAAO,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,GAAG,GAAG,gBAAgB,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"smart.d.ts","sourceRoot":"","sources":["../../src/commands/smart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuB5C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CA6E1D"}
1
+ {"version":3,"file":"smart.d.ts","sourceRoot":"","sources":["../../src/commands/smart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAuK5C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAqO1D"}