@wayai/cli 0.3.40 → 0.3.42

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 (166) hide show
  1. package/dist/index.js +16920 -310
  2. package/dist/index.js.map +1 -1
  3. package/package.json +6 -4
  4. package/dist/commands/admin.d.ts +0 -1
  5. package/dist/commands/admin.js +0 -913
  6. package/dist/commands/admin.js.map +0 -1
  7. package/dist/commands/analytics.d.ts +0 -34
  8. package/dist/commands/analytics.js +0 -605
  9. package/dist/commands/analytics.js.map +0 -1
  10. package/dist/commands/conversations.d.ts +0 -14
  11. package/dist/commands/conversations.js +0 -292
  12. package/dist/commands/conversations.js.map +0 -1
  13. package/dist/commands/create-credential.d.ts +0 -20
  14. package/dist/commands/create-credential.js +0 -146
  15. package/dist/commands/create-credential.js.map +0 -1
  16. package/dist/commands/delete-history.d.ts +0 -15
  17. package/dist/commands/delete-history.js +0 -56
  18. package/dist/commands/delete-history.js.map +0 -1
  19. package/dist/commands/eval-capture.d.ts +0 -1
  20. package/dist/commands/eval-capture.js +0 -135
  21. package/dist/commands/eval-capture.js.map +0 -1
  22. package/dist/commands/eval-results.d.ts +0 -10
  23. package/dist/commands/eval-results.js +0 -168
  24. package/dist/commands/eval-results.js.map +0 -1
  25. package/dist/commands/eval.d.ts +0 -1
  26. package/dist/commands/eval.js +0 -49
  27. package/dist/commands/eval.js.map +0 -1
  28. package/dist/commands/evals.d.ts +0 -21
  29. package/dist/commands/evals.js +0 -120
  30. package/dist/commands/evals.js.map +0 -1
  31. package/dist/commands/init.d.ts +0 -16
  32. package/dist/commands/init.js +0 -191
  33. package/dist/commands/init.js.map +0 -1
  34. package/dist/commands/list.d.ts +0 -13
  35. package/dist/commands/list.js +0 -70
  36. package/dist/commands/list.js.map +0 -1
  37. package/dist/commands/login.d.ts +0 -8
  38. package/dist/commands/login.js +0 -145
  39. package/dist/commands/login.js.map +0 -1
  40. package/dist/commands/logout.d.ts +0 -1
  41. package/dist/commands/logout.js +0 -19
  42. package/dist/commands/logout.js.map +0 -1
  43. package/dist/commands/migrate.d.ts +0 -12
  44. package/dist/commands/migrate.js +0 -106
  45. package/dist/commands/migrate.js.map +0 -1
  46. package/dist/commands/observability.d.ts +0 -14
  47. package/dist/commands/observability.js +0 -124
  48. package/dist/commands/observability.js.map +0 -1
  49. package/dist/commands/org.d.ts +0 -19
  50. package/dist/commands/org.js +0 -186
  51. package/dist/commands/org.js.map +0 -1
  52. package/dist/commands/pull.d.ts +0 -31
  53. package/dist/commands/pull.js +0 -210
  54. package/dist/commands/pull.js.map +0 -1
  55. package/dist/commands/push.d.ts +0 -25
  56. package/dist/commands/push.js +0 -472
  57. package/dist/commands/push.js.map +0 -1
  58. package/dist/commands/report-create.d.ts +0 -18
  59. package/dist/commands/report-create.js +0 -143
  60. package/dist/commands/report-create.js.map +0 -1
  61. package/dist/commands/report.d.ts +0 -16
  62. package/dist/commands/report.js +0 -252
  63. package/dist/commands/report.js.map +0 -1
  64. package/dist/commands/run-eval.d.ts +0 -15
  65. package/dist/commands/run-eval.js +0 -187
  66. package/dist/commands/run-eval.js.map +0 -1
  67. package/dist/commands/send-message.d.ts +0 -11
  68. package/dist/commands/send-message.js +0 -63
  69. package/dist/commands/send-message.js.map +0 -1
  70. package/dist/commands/status.d.ts +0 -17
  71. package/dist/commands/status.js +0 -205
  72. package/dist/commands/status.js.map +0 -1
  73. package/dist/commands/sync-mcp.d.ts +0 -16
  74. package/dist/commands/sync-mcp.js +0 -51
  75. package/dist/commands/sync-mcp.js.map +0 -1
  76. package/dist/commands/sync-skills.d.ts +0 -10
  77. package/dist/commands/sync-skills.js +0 -49
  78. package/dist/commands/sync-skills.js.map +0 -1
  79. package/dist/commands/unlock.d.ts +0 -1
  80. package/dist/commands/unlock.js +0 -13
  81. package/dist/commands/unlock.js.map +0 -1
  82. package/dist/commands/update-credential.d.ts +0 -29
  83. package/dist/commands/update-credential.js +0 -156
  84. package/dist/commands/update-credential.js.map +0 -1
  85. package/dist/commands/update.d.ts +0 -6
  86. package/dist/commands/update.js +0 -36
  87. package/dist/commands/update.js.map +0 -1
  88. package/dist/commands/use.d.ts +0 -1
  89. package/dist/commands/use.js +0 -56
  90. package/dist/commands/use.js.map +0 -1
  91. package/dist/commands/whoami.d.ts +0 -11
  92. package/dist/commands/whoami.js +0 -30
  93. package/dist/commands/whoami.js.map +0 -1
  94. package/dist/index.d.ts +0 -28
  95. package/dist/lib/analytics-constants.d.ts +0 -6
  96. package/dist/lib/analytics-constants.js +0 -14
  97. package/dist/lib/analytics-constants.js.map +0 -1
  98. package/dist/lib/api-client.d.ts +0 -568
  99. package/dist/lib/api-client.js +0 -445
  100. package/dist/lib/api-client.js.map +0 -1
  101. package/dist/lib/auth.d.ts +0 -50
  102. package/dist/lib/auth.js +0 -230
  103. package/dist/lib/auth.js.map +0 -1
  104. package/dist/lib/config.d.ts +0 -34
  105. package/dist/lib/config.js +0 -69
  106. package/dist/lib/config.js.map +0 -1
  107. package/dist/lib/credential-utils.d.ts +0 -36
  108. package/dist/lib/credential-utils.js +0 -88
  109. package/dist/lib/credential-utils.js.map +0 -1
  110. package/dist/lib/diff-display.d.ts +0 -8
  111. package/dist/lib/diff-display.js +0 -37
  112. package/dist/lib/diff-display.js.map +0 -1
  113. package/dist/lib/eval-format.d.ts +0 -29
  114. package/dist/lib/eval-format.js +0 -44
  115. package/dist/lib/eval-format.js.map +0 -1
  116. package/dist/lib/hub-lock.d.ts +0 -7
  117. package/dist/lib/hub-lock.js +0 -116
  118. package/dist/lib/hub-lock.js.map +0 -1
  119. package/dist/lib/layout.d.ts +0 -79
  120. package/dist/lib/layout.js +0 -133
  121. package/dist/lib/layout.js.map +0 -1
  122. package/dist/lib/org-workspace.d.ts +0 -22
  123. package/dist/lib/org-workspace.js +0 -106
  124. package/dist/lib/org-workspace.js.map +0 -1
  125. package/dist/lib/parser.d.ts +0 -16
  126. package/dist/lib/parser.js +0 -306
  127. package/dist/lib/parser.js.map +0 -1
  128. package/dist/lib/repo-config.d.ts +0 -23
  129. package/dist/lib/repo-config.js +0 -91
  130. package/dist/lib/repo-config.js.map +0 -1
  131. package/dist/lib/report-edit-args.d.ts +0 -27
  132. package/dist/lib/report-edit-args.js +0 -56
  133. package/dist/lib/report-edit-args.js.map +0 -1
  134. package/dist/lib/report-inbox.d.ts +0 -19
  135. package/dist/lib/report-inbox.js +0 -73
  136. package/dist/lib/report-inbox.js.map +0 -1
  137. package/dist/lib/resource-files.d.ts +0 -29
  138. package/dist/lib/resource-files.js +0 -156
  139. package/dist/lib/resource-files.js.map +0 -1
  140. package/dist/lib/sentry.d.ts +0 -38
  141. package/dist/lib/sentry.js +0 -168
  142. package/dist/lib/sentry.js.map +0 -1
  143. package/dist/lib/skill-version.d.ts +0 -9
  144. package/dist/lib/skill-version.js +0 -53
  145. package/dist/lib/skill-version.js.map +0 -1
  146. package/dist/lib/sql-output.d.ts +0 -17
  147. package/dist/lib/sql-output.js +0 -48
  148. package/dist/lib/sql-output.js.map +0 -1
  149. package/dist/lib/token-store.d.ts +0 -37
  150. package/dist/lib/token-store.js +0 -354
  151. package/dist/lib/token-store.js.map +0 -1
  152. package/dist/lib/types.d.ts +0 -18
  153. package/dist/lib/types.js +0 -5
  154. package/dist/lib/types.js.map +0 -1
  155. package/dist/lib/utils.d.ts +0 -97
  156. package/dist/lib/utils.js +0 -288
  157. package/dist/lib/utils.js.map +0 -1
  158. package/dist/lib/version-cache.d.ts +0 -10
  159. package/dist/lib/version-cache.js +0 -34
  160. package/dist/lib/version-cache.js.map +0 -1
  161. package/dist/lib/workspace.d.ts +0 -112
  162. package/dist/lib/workspace.js +0 -387
  163. package/dist/lib/workspace.js.map +0 -1
  164. package/dist/lib/yaml-writer.d.ts +0 -18
  165. package/dist/lib/yaml-writer.js +0 -283
  166. package/dist/lib/yaml-writer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"report-create.js","sourceRoot":"","sources":["../../src/commands/report-create.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * wayai report — manage your own platform reports.
3
- *
4
- * Subcommands:
5
- * wayai report create <--title|-t> <--description|-d> [--error|-e] [--steps|-s] [--context] ...
6
- * wayai report edit <id> [--title|-t] [--description|-d] [--error|-e]
7
- * [--steps|-s] [--context]
8
- *
9
- * `create` submits a new report to the triage queue. `edit` amends the mutable
10
- * content of a report you filed via `wayai report create`
11
- * (title/description/error/steps/context), provided it is still `pending` (not
12
- * yet triaged). Editing never changes the dedup fingerprint and never re-emails
13
- * you. Once a report has been escalated/grouped/resolved, only a platform admin
14
- * can amend it — see `wayai admin report update`.
15
- */
16
- export declare function reportCommand(args: string[]): Promise<void>;
@@ -1,252 +0,0 @@
1
- /**
2
- * wayai report — manage your own platform reports.
3
- *
4
- * Subcommands:
5
- * wayai report create <--title|-t> <--description|-d> [--error|-e] [--steps|-s] [--context] ...
6
- * wayai report edit <id> [--title|-t] [--description|-d] [--error|-e]
7
- * [--steps|-s] [--context]
8
- *
9
- * `create` submits a new report to the triage queue. `edit` amends the mutable
10
- * content of a report you filed via `wayai report create`
11
- * (title/description/error/steps/context), provided it is still `pending` (not
12
- * yet triaged). Editing never changes the dedup fingerprint and never re-emails
13
- * you. Once a report has been escalated/grouped/resolved, only a platform admin
14
- * can amend it — see `wayai admin report update`.
15
- */
16
- import { requireAuth } from '../lib/auth.js';
17
- import { ApiClient, ApiError } from '../lib/api-client.js';
18
- import { parseReportEditArgs } from '../lib/report-edit-args.js';
19
- import { reportCreateCommand } from './report-create.js';
20
- export async function reportCommand(args) {
21
- const sub = args[0];
22
- switch (sub) {
23
- case 'create':
24
- await reportCreateCommand(args.slice(1));
25
- return;
26
- case 'edit':
27
- await reportEditCommand(args.slice(1));
28
- return;
29
- case 'list':
30
- await reportListCommand(args.slice(1));
31
- return;
32
- case 'get':
33
- await reportGetCommand(args.slice(1));
34
- return;
35
- case 'accept':
36
- await reportAcceptCommand(args.slice(1));
37
- return;
38
- case 'contest':
39
- await reportContestCommand(args.slice(1));
40
- return;
41
- default:
42
- printReportHelp();
43
- process.exit(1);
44
- }
45
- }
46
- function printReportHelp() {
47
- console.error(`
48
- wayai report — manage your own platform reports
49
-
50
- Usage:
51
- wayai report create <OPTIONS> Submit a new report to the triage queue
52
- wayai report edit <report_id> <OPTIONS> Amend your own pending report
53
- wayai report list [--status <s>] [--json] List your reports (newest first)
54
- wayai report get <report_id> [--json] Show a report's status + message thread
55
- wayai report accept <report_id> Accept a shipped fix (→ addressed)
56
- wayai report contest <report_id> --reason <text>
57
- Contest a shipped fix or a dismissal (→ triage)
58
-
59
- Create options (--title and --description required):
60
- -t, --title <text> Bug title
61
- -d, --description <text> Detailed description
62
- -e, --error <text> Error message or stack trace
63
- -s, --steps <text> Steps to reproduce
64
- --context <text> Additional context
65
- (run \`wayai report create\` with no args for the full option list)
66
-
67
- Edit options (at least one required):
68
- -t, --title <text> New title
69
- -d, --description <text> New description
70
- -e, --error <text> New error message / stack trace ("" clears it)
71
- -s, --steps <text> New steps to reproduce ("" clears them)
72
- --context <text> New additional context ("" clears it)
73
-
74
- The verification loop:
75
- After triage escalates and the fix ships, your report moves to 'shipped'. Poll
76
- \`wayai report list --status shipped\` to find it, then \`accept\` if the fix works or
77
- \`contest --reason "..."\` if it doesn't. You can also \`contest\` a 'dismissed' report
78
- you believe is real — it goes back to triage. Contests are bounded (a cap, and a
79
- triage 'final' dismissal); past those, contact support.
80
-
81
- Notes:
82
- Only your own \`wayai report create\` submissions can be read/acted on. Editing is
83
- allowed only while 'pending'; the dedup fingerprint stays frozen and no email is
84
- sent on an edit.
85
- `.trim());
86
- }
87
- async function reportEditCommand(args) {
88
- const { reportId, patch, error } = parseReportEditArgs(args);
89
- if (error) {
90
- console.error(error);
91
- process.exit(1);
92
- }
93
- if (!reportId || Object.keys(patch).length === 0) {
94
- console.error('Usage: wayai report edit <report_id> [--title|-t] [--description|-d] [--error|-e] [--steps|-s] [--context]');
95
- console.error('At least one field to change is required. Pass "" to clear error/steps/context.');
96
- process.exit(1);
97
- }
98
- const { config, accessToken } = await requireAuth();
99
- const client = new ApiClient({ apiUrl: config.api_url, accessToken });
100
- try {
101
- const result = await client.editReport(reportId, patch);
102
- console.log(`Report updated: ${result.report_id} (status: ${result.status})`);
103
- console.log('The dedup fingerprint is unchanged and no notification was sent.');
104
- }
105
- catch (err) {
106
- if (err instanceof ApiError) {
107
- if (err.status === 400) {
108
- console.error(`Invalid edit: ${err.message}`);
109
- }
110
- else if (err.status === 404) {
111
- console.error('Report not found, or it was not filed by you.');
112
- }
113
- else if (err.status === 403) {
114
- console.error('This report is agent-authored and can only be edited by a platform admin.');
115
- }
116
- else if (err.status === 409) {
117
- console.error(`Cannot edit: ${err.message}`);
118
- }
119
- else if (err.status === 429) {
120
- console.error('Rate limit exceeded. Please try again later.');
121
- }
122
- else {
123
- console.error(`Failed to edit report: ${err.message}`);
124
- }
125
- process.exit(1);
126
- }
127
- throw err;
128
- }
129
- }
130
- async function reportListCommand(args) {
131
- const status = flagValue(args, '--status');
132
- const json = args.includes('--json');
133
- const { config, accessToken } = await requireAuth();
134
- const client = new ApiClient({ apiUrl: config.api_url, accessToken });
135
- try {
136
- const result = await client.listMyReports(status);
137
- if (json) {
138
- console.log(JSON.stringify(result, null, 2));
139
- return;
140
- }
141
- if (result.data.length === 0) {
142
- console.log('No reports found.');
143
- return;
144
- }
145
- for (const r of result.data) {
146
- console.log(`${r.report_id} ${r.status.padEnd(10)} ${r.classification}`);
147
- }
148
- }
149
- catch (err) {
150
- reportActionError(err);
151
- }
152
- }
153
- async function reportGetCommand(args) {
154
- const reportId = args.find((a) => !a.startsWith('--'));
155
- const json = args.includes('--json');
156
- if (!reportId) {
157
- console.error('Usage: wayai report get <report_id> [--json]');
158
- process.exit(1);
159
- }
160
- const { config, accessToken } = await requireAuth();
161
- const client = new ApiClient({ apiUrl: config.api_url, accessToken });
162
- try {
163
- const result = await client.getMyReport(reportId);
164
- if (json) {
165
- console.log(JSON.stringify(result, null, 2));
166
- return;
167
- }
168
- const { report, messages } = result;
169
- console.log(`Report ${report.report_id}`);
170
- console.log(` status: ${report.status}`);
171
- console.log(` classification: ${report.classification}`);
172
- if (report.contest_count > 0)
173
- console.log(` contests: ${report.contest_count}`);
174
- if (report.dismissal_final)
175
- console.log(' dismissal: final (non-contestable)');
176
- if (messages.length > 0) {
177
- console.log('\n Thread:');
178
- for (const m of messages) {
179
- console.log(` [${m.author_role}] ${m.body}`);
180
- }
181
- }
182
- if (report.status === 'shipped') {
183
- console.log(`\n This fix is shipped. Run \`wayai report accept ${report.report_id}\` if it works,`);
184
- console.log(` or \`wayai report contest ${report.report_id} --reason "..."\` if it does not.`);
185
- }
186
- }
187
- catch (err) {
188
- reportActionError(err);
189
- }
190
- }
191
- async function reportAcceptCommand(args) {
192
- const reportId = args.find((a) => !a.startsWith('--'));
193
- if (!reportId) {
194
- console.error('Usage: wayai report accept <report_id>');
195
- process.exit(1);
196
- }
197
- const { config, accessToken } = await requireAuth();
198
- const client = new ApiClient({ apiUrl: config.api_url, accessToken });
199
- try {
200
- const result = await client.acceptReport(reportId);
201
- console.log(`Accepted. Report ${result.report.report_id} → ${result.report.status}.`);
202
- }
203
- catch (err) {
204
- reportActionError(err);
205
- }
206
- }
207
- async function reportContestCommand(args) {
208
- const reportId = args.find((a) => !a.startsWith('--'));
209
- const reason = flagValue(args, '--reason');
210
- if (!reportId || !reason) {
211
- console.error('Usage: wayai report contest <report_id> --reason "<why the fix/dismissal is wrong>"');
212
- process.exit(1);
213
- }
214
- const { config, accessToken } = await requireAuth();
215
- const client = new ApiClient({ apiUrl: config.api_url, accessToken });
216
- try {
217
- const result = await client.contestReport(reportId, reason);
218
- console.log(`Contested. Report ${result.report.report_id} → ${result.report.status} (back to triage).`);
219
- }
220
- catch (err) {
221
- reportActionError(err);
222
- }
223
- }
224
- // Read the value following `flag` in argv (e.g. `--status shipped`).
225
- function flagValue(args, flag) {
226
- const i = args.indexOf(flag);
227
- return i >= 0 && i + 1 < args.length ? args[i + 1] : undefined;
228
- }
229
- // Shared ApiError → friendly message + exit for the reporter verbs (get/list/accept/contest).
230
- function reportActionError(err) {
231
- if (err instanceof ApiError) {
232
- if (err.status === 404) {
233
- console.error('Report not found, or it was not filed by you.');
234
- }
235
- else if (err.status === 403) {
236
- console.error('This report is agent-authored and can only be handled by a platform admin.');
237
- }
238
- else if (err.status === 409) {
239
- // Conflict carries the actionable reason (wrong status, final dismissal, cap reached).
240
- console.error(err.message);
241
- }
242
- else if (err.status === 429) {
243
- console.error('Rate limit exceeded. Please try again later.');
244
- }
245
- else {
246
- console.error(`Request failed: ${err.message}`);
247
- }
248
- process.exit(1);
249
- }
250
- throw err;
251
- }
252
- //# sourceMappingURL=report.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * wayai run-eval — run a scenario set's enabled evals and show results
3
- *
4
- * Creates a session, runs it, polls until completion, prints summary. A session
5
- * targets exactly one scenario set. With no flag the run endpoint resolves the
6
- * hub's sole enabled set; on multi-set hubs, pick one with `--set` / `--eval`.
7
- *
8
- * Usage:
9
- * wayai run-eval # run the hub's enabled set and wait for results
10
- * wayai run-eval --set <name> # run the named scenario set
11
- * wayai run-eval --eval <name> # run the set the named eval belongs to
12
- * wayai run-eval --no-wait # start session and exit (prints session ID)
13
- * wayai run-eval --timeout 120 # wait max 2 minutes
14
- */
15
- export declare function runEvalCommand(args: string[]): Promise<void>;
@@ -1,187 +0,0 @@
1
- /**
2
- * wayai run-eval — run a scenario set's enabled evals and show results
3
- *
4
- * Creates a session, runs it, polls until completion, prints summary. A session
5
- * targets exactly one scenario set. With no flag the run endpoint resolves the
6
- * hub's sole enabled set; on multi-set hubs, pick one with `--set` / `--eval`.
7
- *
8
- * Usage:
9
- * wayai run-eval # run the hub's enabled set and wait for results
10
- * wayai run-eval --set <name> # run the named scenario set
11
- * wayai run-eval --eval <name> # run the set the named eval belongs to
12
- * wayai run-eval --no-wait # start session and exit (prints session ID)
13
- * wayai run-eval --timeout 120 # wait max 2 minutes
14
- */
15
- import { requireAuth, getAccessToken } from '../lib/auth.js';
16
- import { requireRepoConfig } from '../lib/repo-config.js';
17
- import { resolveActiveHubId } from '../lib/workspace.js';
18
- import { ApiClient, ApiError } from '../lib/api-client.js';
19
- import { printResultsTable } from '../lib/eval-format.js';
20
- const TERMINAL_STATUSES = new Set(['completed', 'failed', 'cancelled', 'awaiting_review']);
21
- const POLL_INTERVAL_MS = 3000;
22
- const DEFAULT_TIMEOUT_S = 600;
23
- // How many consecutive poll failures to ride out before giving up on the live
24
- // view. At POLL_INTERVAL_MS this is ~15s of tolerance — enough to absorb a token
25
- // rotation, KV propagation lag, or a network blip, while still failing fast on a
26
- // genuinely broken connection rather than spinning silently until the deadline.
27
- const MAX_CONSECUTIVE_POLL_ERRORS = 5;
28
- export async function runEvalCommand(args) {
29
- const hubId = resolveActiveHubId(args);
30
- const { config, accessToken } = await requireAuth();
31
- requireRepoConfig();
32
- // Parse args
33
- let noWait = false;
34
- let timeoutSeconds = DEFAULT_TIMEOUT_S;
35
- let setName;
36
- let evalName;
37
- for (let i = 0; i < args.length; i++) {
38
- const arg = args[i];
39
- if (arg === '--no-wait') {
40
- noWait = true;
41
- }
42
- else if (arg === '--timeout') {
43
- timeoutSeconds = parseInt(args[++i], 10);
44
- if (isNaN(timeoutSeconds) || timeoutSeconds <= 0) {
45
- console.error('--timeout must be a positive number (seconds)');
46
- process.exit(1);
47
- }
48
- }
49
- else if (arg === '--set') {
50
- setName = args[++i];
51
- if (!setName) {
52
- console.error('--set requires a scenario set name');
53
- process.exit(1);
54
- }
55
- }
56
- else if (arg === '--eval') {
57
- evalName = args[++i];
58
- if (!evalName) {
59
- console.error('--eval requires an eval name');
60
- process.exit(1);
61
- }
62
- }
63
- }
64
- if (setName && evalName) {
65
- console.error('Specify only one of --set or --eval.');
66
- process.exit(1);
67
- }
68
- // The poll below can run for minutes — longer than a short-lived OAuth JWT.
69
- // Re-resolving the token on a 401 (refreshing if needed; way_ tokens pass
70
- // through unchanged) lets the client self-heal a mid-run expiry rather than
71
- // aborting the whole command (gh #2605).
72
- const client = new ApiClient({
73
- apiUrl: config.api_url,
74
- accessToken,
75
- onUnauthorized: () => getAccessToken(config),
76
- });
77
- // 1. Verify hub has enabled evals
78
- const evalsResult = await client.getEvals(hubId, { enabled: 'true' });
79
- const enabledCount = evalsResult.data.evals.length;
80
- if (enabledCount === 0) {
81
- console.error('No enabled evals found for this hub. Enable evals in the platform UI first.');
82
- process.exit(1);
83
- }
84
- console.log(`Found ${enabledCount} enabled eval${enabledCount === 1 ? '' : 's'}`);
85
- // 2. Resolve the scenario set to bind. A session targets exactly one set; on
86
- // multi-set hubs `--set`/`--eval` disambiguates. Without a flag we leave it
87
- // unbound and the run endpoint resolves the hub's sole enabled set.
88
- let scenarioSetId;
89
- if (setName) {
90
- const setsResult = await client.listScenarioSets(hubId);
91
- const match = setsResult.data.scenario_sets.find((s) => s.set_name === setName);
92
- if (!match) {
93
- const available = setsResult.data.scenario_sets.map((s) => s.set_name).join(', ') || '(none)';
94
- console.error(`Scenario set "${setName}" not found. Available: ${available}`);
95
- process.exit(1);
96
- }
97
- scenarioSetId = match.scenario_set_id;
98
- }
99
- else if (evalName) {
100
- const match = evalsResult.data.evals.find((e) => e.eval_name === evalName);
101
- if (!match) {
102
- console.error(`No enabled eval named "${evalName}". Run \`wayai evals\` to list (it may be disabled).`);
103
- process.exit(1);
104
- }
105
- scenarioSetId = match.scenario_set_id;
106
- }
107
- // 3. Create session
108
- const now = new Date();
109
- const sessionName = `CLI run ${now.toISOString().slice(0, 16).replace('T', ' ')}`;
110
- const createResult = await client.createEvalSession(hubId, sessionName, scenarioSetId);
111
- const sessionId = createResult.data.session.eval_session_id;
112
- console.log(`Created session: ${sessionName} (${sessionId})`);
113
- // 4. Run session — surface backend resolution errors (e.g. a multi-set hub
114
- // with no `--set`) instead of leaking a raw ApiError stack.
115
- try {
116
- await client.runEvalSession(hubId, sessionId);
117
- }
118
- catch (err) {
119
- console.error(`\nFailed to start session: ${extractApiMessage(err)}`);
120
- process.exit(1);
121
- }
122
- console.log('Session started');
123
- // 5. If --no-wait, print session ID and exit
124
- if (noWait) {
125
- console.log(`\nSession ID: ${sessionId}`);
126
- console.log('Use `wayai eval-results --session ' + sessionId + '` to check results.');
127
- return;
128
- }
129
- // 6. Poll until terminal status
130
- const deadline = Date.now() + timeoutSeconds * 1000;
131
- let consecutivePollErrors = 0;
132
- while (Date.now() < deadline) {
133
- await sleep(POLL_INTERVAL_MS);
134
- // A single poll throwing must not tear down the live view — the session
135
- // keeps running server-side regardless. Ride out transient failures (token
136
- // rotation that survives the client refresh, KV propagation, network blip);
137
- // only give up once they persist past MAX_CONSECUTIVE_POLL_ERRORS (gh #2605).
138
- let details;
139
- try {
140
- details = await client.getEvalSessionDetails(hubId, sessionId);
141
- consecutivePollErrors = 0;
142
- }
143
- catch (err) {
144
- if (++consecutivePollErrors >= MAX_CONSECUTIVE_POLL_ERRORS) {
145
- console.error(`\n\nLost connection to the eval session: ${extractApiMessage(err)}`);
146
- console.error(`The session may still be running. Check results: wayai eval-results --session ${sessionId}`);
147
- process.exit(1);
148
- }
149
- continue;
150
- }
151
- const session = details.data.session;
152
- const results = details.data.results;
153
- // Calculate progress
154
- const totalRuns = results.reduce((sum, r) => sum + r.total_runs, 0);
155
- const completedRuns = results.reduce((sum, r) => sum + r.successful_runs + r.failed_runs, 0);
156
- if (TERMINAL_STATUSES.has(session.session_status)) {
157
- console.log('');
158
- console.log(`Session ${session.session_status}: ${session.session_name} (${session.eval_session_id})\n`);
159
- printResultsTable(results, 'compact');
160
- return;
161
- }
162
- process.stdout.write(`\rRunning... ${completedRuns}/${totalRuns} completed`);
163
- }
164
- console.log(`\n\nTimeout after ${timeoutSeconds}s. Session is still running.`);
165
- console.log(`Check results: wayai eval-results --session ${sessionId}`);
166
- }
167
- function sleep(ms) {
168
- return new Promise((resolve) => setTimeout(resolve, ms));
169
- }
170
- /** Pull the human-facing `message` out of a JSON error body, falling back to the raw text. */
171
- function extractApiMessage(err) {
172
- if (err instanceof ApiError) {
173
- try {
174
- const parsed = JSON.parse(err.body);
175
- if (parsed.message)
176
- return parsed.message;
177
- if (parsed.error)
178
- return parsed.error;
179
- }
180
- catch {
181
- // body wasn't JSON — fall through to the raw text
182
- }
183
- return err.body || err.message;
184
- }
185
- return err instanceof Error ? err.message : String(err);
186
- }
187
- //# sourceMappingURL=run-eval.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-eval.js","sourceRoot":"","sources":["../../src/commands/run-eval.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- /**
2
- * wayai send-message — send a test message to a preview hub and get the agent reply
3
- *
4
- * Chat hubs: automatically continues the active conversation (or creates one).
5
- * Task hubs: creates a new conversation by default. Use -c to continue an existing one.
6
- *
7
- * Usage:
8
- * wayai send-message "Hello, I need help" # send message
9
- * wayai send-message -c <conversation_id> "Follow up" # continue conversation
10
- */
11
- export declare function sendMessageCommand(args: string[]): Promise<void>;
@@ -1,63 +0,0 @@
1
- /**
2
- * wayai send-message — send a test message to a preview hub and get the agent reply
3
- *
4
- * Chat hubs: automatically continues the active conversation (or creates one).
5
- * Task hubs: creates a new conversation by default. Use -c to continue an existing one.
6
- *
7
- * Usage:
8
- * wayai send-message "Hello, I need help" # send message
9
- * wayai send-message -c <conversation_id> "Follow up" # continue conversation
10
- */
11
- import { requireAuth } from '../lib/auth.js';
12
- import { requireRepoConfig } from '../lib/repo-config.js';
13
- import { resolveActiveHubId } from '../lib/workspace.js';
14
- import { ApiClient } from '../lib/api-client.js';
15
- export async function sendMessageCommand(args) {
16
- const hubId = resolveActiveHubId(args);
17
- const { config, accessToken } = await requireAuth();
18
- requireRepoConfig();
19
- // Parse args
20
- let conversationId;
21
- let message;
22
- for (let i = 0; i < args.length; i++) {
23
- const arg = args[i];
24
- if (arg === '-c' || arg === '--conversation') {
25
- conversationId = args[++i];
26
- }
27
- else if (!arg.startsWith('-')) {
28
- message = arg;
29
- }
30
- }
31
- if (!message) {
32
- console.error('Usage: wayai send-message [options] "message text"');
33
- console.error('');
34
- console.error('Options:');
35
- console.error(' -c, --conversation <id> Continue an existing conversation');
36
- console.error('');
37
- console.error('The hub type (chat/task) is determined automatically from the hub.');
38
- console.error('Chat hubs auto-continue the active conversation (or create one).');
39
- console.error('Task hubs create a new conversation unless -c is provided.');
40
- process.exit(1);
41
- }
42
- const client = new ApiClient({ apiUrl: config.api_url, accessToken });
43
- const result = await client.sendMessage(hubId, message, {
44
- conversationId,
45
- });
46
- // Print result
47
- console.log(`Conversation: ${result.conversation_id}`);
48
- console.log(`Status: ${result.status}`);
49
- if (result.status_reason) {
50
- console.log(`Reason: ${result.status_reason}`);
51
- }
52
- if (result.agent_reply) {
53
- console.log('');
54
- console.log(result.agent_reply.message_text);
55
- }
56
- else if (result.status === 'skipped') {
57
- console.log('(Agent did not respond)');
58
- }
59
- else if (result.status === 'error') {
60
- console.log('(Agent processing failed — user message was stored)');
61
- }
62
- }
63
- //# sourceMappingURL=send-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/commands/send-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAc;IACrD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACpD,iBAAiB,EAAE,CAAC;IAEpB,aAAa;IACb,IAAI,cAAkC,CAAC;IACvC,IAAI,OAA2B,CAAC;IAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7C,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE;QACtD,cAAc;KACf,CAAC,CAAC;IAEH,eAAe;IACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAExC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * wayai status — show current auth/config status and repo scope
3
- *
4
- * Usage:
5
- * wayai status # human-readable output
6
- * wayai status --json # structured output for agents/scripts
7
- *
8
- * The --json shape is the canonical state snapshot consumed by the WayAI skill
9
- * during agentic onboarding. Fields are nullable so the agent can branch
10
- * cleanly from any starting state (no config / no org / no workspace / etc.).
11
- */
12
- export declare function parseArgs(args: string[]): {
13
- json: boolean;
14
- };
15
- export declare function statusCommand(args: string[], pkg: {
16
- version: string;
17
- }): Promise<void>;