@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,445 +0,0 @@
1
- /**
2
- * API client — authenticated requests to the WayAI backend
3
- */
4
- import { addApiBreadcrumb } from './sentry.js';
5
- export class ApiError extends Error {
6
- status;
7
- body;
8
- constructor(method, path, status, body) {
9
- super(`API request failed: ${method} ${path} (${status}): ${body}`);
10
- this.name = 'ApiError';
11
- this.status = status;
12
- this.body = body;
13
- }
14
- /** True when the status code is a 4xx client error (expected user-facing condition, not a bug). */
15
- get isExpected() {
16
- return this.status >= 400 && this.status < 500;
17
- }
18
- }
19
- export class ApiClient {
20
- apiUrl;
21
- accessToken;
22
- onUnauthorized;
23
- constructor(options) {
24
- this.apiUrl = options.apiUrl;
25
- this.accessToken = options.accessToken;
26
- this.onUnauthorized = options.onUnauthorized;
27
- }
28
- async pull(hubId, organizationId) {
29
- const qs = organizationId ? `?${new URLSearchParams({ organization_id: organizationId })}` : '';
30
- return this.request('GET', `/api/ci/pull/${hubId}${qs}`);
31
- }
32
- async diff(hubId, config, direction = 'push', organizationId) {
33
- return this.request('POST', '/api/ci/diff', {
34
- hub_id: hubId,
35
- config,
36
- direction,
37
- ...(organizationId && { organization_id: organizationId }),
38
- });
39
- }
40
- async push(hubId, config, organizationId) {
41
- return this.request('POST', '/api/ci/push', {
42
- hub_id: hubId,
43
- config,
44
- ...(organizationId && { organization_id: organizationId }),
45
- });
46
- }
47
- async sync(hubId, branchName, config, commitSha) {
48
- return this.request('POST', '/api/ci/sync', {
49
- hub_id: hubId,
50
- branch_name: branchName,
51
- config,
52
- commit_sha: commitSha,
53
- });
54
- }
55
- /**
56
- * Re-discover an MCP connection's tool/resource catalog (refreshes stale
57
- * input schemas that `push` leaves untouched). `connection` is the display
58
- * name or the connection UUID.
59
- */
60
- async syncMcp(hubId, connection, organizationId) {
61
- return this.request('POST', '/api/ci/sync-mcp', {
62
- hub_id: hubId,
63
- connection,
64
- ...(organizationId && { organization_id: organizationId }),
65
- });
66
- }
67
- async lookup(path, opts) {
68
- const params = new URLSearchParams({ path });
69
- if (opts?.organizationId)
70
- params.set('organization_id', opts.organizationId);
71
- return this.request('GET', `/api/ci/lookup?${params.toString()}`);
72
- }
73
- async organizations() {
74
- return this.request('GET', '/api/ci/organizations');
75
- }
76
- /** Create a new organization (the caller becomes its owner). */
77
- async createOrganization(name, region) {
78
- return this.request('POST', '/api/ci/organizations', {
79
- organization_name: name,
80
- ...(region ? { primary_region: region } : {}),
81
- });
82
- }
83
- // ---- Org-as-code (org-scoped resources) ----
84
- async pullOrgResources(orgId) {
85
- return this.request('GET', `/api/ci/org-resources/${orgId}`);
86
- }
87
- async diffOrgResources(orgId, config, direction = 'push') {
88
- return this.request('POST', '/api/ci/org-resources/diff', {
89
- organization_id: orgId,
90
- config,
91
- direction,
92
- });
93
- }
94
- async pushOrgResources(orgId, config) {
95
- return this.request('POST', '/api/ci/org-resources/push', {
96
- organization_id: orgId,
97
- config,
98
- });
99
- }
100
- async me() {
101
- return this.request('GET', '/api/auth/me');
102
- }
103
- async syncSkills(hubId, connectionId) {
104
- return this.request('POST', '/api/setup/resources/sync-skills', {
105
- hub_id: hubId,
106
- ...(connectionId && { connection_id: connectionId }),
107
- });
108
- }
109
- async listHubs(organizationId) {
110
- const params = new URLSearchParams({ organization_id: organizationId });
111
- return this.request('GET', `/api/ci/hubs?${params.toString()}`);
112
- }
113
- async sendMessage(hubId, message, opts) {
114
- return this.request('POST', '/api/conversations/send-message', {
115
- hub_id: hubId,
116
- message,
117
- ...(opts?.conversationId && { conversation_id: opts.conversationId }),
118
- });
119
- }
120
- async deleteHistory(hubId, opts) {
121
- const body = opts.mode === 'current'
122
- ? { hub_id: hubId, user_id: opts.userId, mode: 'current', conversation_id: opts.conversationId }
123
- : { hub_id: hubId, user_id: opts.userId, mode: 'all' };
124
- return this.request('POST', '/api/conversations/delete-user-history', body);
125
- }
126
- async getConversations(hubId, opts) {
127
- const params = new URLSearchParams({ hub_id: hubId });
128
- if (opts?.status)
129
- params.set('status', opts.status);
130
- if (opts?.limit)
131
- params.set('limit', String(opts.limit));
132
- if (opts?.offset)
133
- params.set('offset', String(opts.offset));
134
- return this.request('GET', `/api/conversations?${params.toString()}`);
135
- }
136
- // ---------------------------------------------------------------------------
137
- // Evals
138
- // ---------------------------------------------------------------------------
139
- async getEvals(hubId, opts) {
140
- const params = new URLSearchParams({ hub_id: hubId });
141
- if (opts?.enabled)
142
- params.set('enabled', opts.enabled);
143
- return this.request('GET', `/api/evals?${params.toString()}`);
144
- }
145
- async getEvalSessions(hubId, opts) {
146
- const params = new URLSearchParams({ hub_id: hubId });
147
- if (opts?.status)
148
- params.set('status', opts.status);
149
- return this.request('GET', `/api/evals/sessions?${params.toString()}`);
150
- }
151
- async createEvalSession(hubId, sessionName, scenarioSetId) {
152
- return this.request('POST', '/api/evals/sessions', {
153
- session: {
154
- hub_id: hubId,
155
- session_name: sessionName,
156
- // Binding the set at create time targets a specific set (multi-set hubs);
157
- // when omitted, the run endpoint resolves the hub's sole enabled set.
158
- ...(scenarioSetId ? { scenario_set_id: scenarioSetId } : {}),
159
- },
160
- });
161
- }
162
- async runEvalSession(hubId, sessionId) {
163
- const params = new URLSearchParams({ hub_id: hubId });
164
- return this.request('POST', `/api/evals/sessions/${sessionId}/run?${params.toString()}`);
165
- }
166
- async getEvalSessionDetails(hubId, sessionId) {
167
- const params = new URLSearchParams({ hub_id: hubId });
168
- return this.request('GET', `/api/evals/sessions/${sessionId}?${params.toString()}`);
169
- }
170
- async getEvalSessionRuns(hubId, sessionId, opts) {
171
- const params = new URLSearchParams({ hub_id: hubId });
172
- if (opts?.evalId)
173
- params.set('eval_id', opts.evalId);
174
- if (opts?.limit)
175
- params.set('limit', String(opts.limit));
176
- return this.request('GET', `/api/evals/sessions/${sessionId}/runs?${params.toString()}`);
177
- }
178
- async listScenarioSets(hubId) {
179
- const params = new URLSearchParams({ hub_id: hubId });
180
- return this.request('GET', `/api/evals/scenario-sets?${params.toString()}`);
181
- }
182
- async createScenarioSet(hubId, setName) {
183
- return this.request('POST', '/api/evals/scenario-sets', {
184
- hub_id: hubId,
185
- set_name: setName,
186
- });
187
- }
188
- async runEvalsSql(body) {
189
- return this.request('POST', '/api/evals/sql', body);
190
- }
191
- async getEvalsSqlSchema(hubId) {
192
- const params = new URLSearchParams({ hub_id: hubId });
193
- return this.request('GET', `/api/evals/sql/schema?${params.toString()}`);
194
- }
195
- async createScenarioFromConversation(input) {
196
- return this.request('POST', '/api/evals/scenarios/from-conversation', input);
197
- }
198
- // ---------------------------------------------------------------------------
199
- // Analytics
200
- // ---------------------------------------------------------------------------
201
- async getAnalyticsVariables(hubId) {
202
- return this.request('GET', `/api/analytics/hubs/${hubId}/variables`);
203
- }
204
- async getAnalyticsData(body) {
205
- return this.request('POST', '/api/analytics/data', body);
206
- }
207
- async runAnalyticsQuery(body) {
208
- return this.request('POST', '/api/analytics/query', body);
209
- }
210
- async runAnalyticsSql(body) {
211
- return this.request('POST', '/api/analytics/sql', body);
212
- }
213
- async getAnalyticsSqlSchema(hubId) {
214
- const params = new URLSearchParams({ hub_id: hubId });
215
- return this.request('GET', `/api/analytics/sql/schema?${params.toString()}`);
216
- }
217
- async getAnalyticsConversations(body) {
218
- return this.request('POST', '/api/analytics/conversations', body);
219
- }
220
- async getConversation(hubId, conversationId, opts) {
221
- const params = new URLSearchParams({ hub_id: hubId });
222
- if (opts?.limit)
223
- params.set('limit', String(opts.limit));
224
- if (opts?.offset)
225
- params.set('offset', String(opts.offset));
226
- return this.request('GET', `/api/conversations/${conversationId}/detail?${params.toString()}`);
227
- }
228
- // ---------------------------------------------------------------------------
229
- // Setup: Organization Credentials, Hubs
230
- // ---------------------------------------------------------------------------
231
- async createOrgCredential(body) {
232
- return this.request('POST', '/api/setup/organization-credentials', body);
233
- }
234
- async listOrgCredentials(organizationId) {
235
- const qs = new URLSearchParams({ organization_id: organizationId });
236
- return this.request('GET', `/api/setup/organization-credentials?${qs.toString()}`);
237
- }
238
- async updateOrgCredential(credentialId, organizationId, body) {
239
- const qs = new URLSearchParams({ organization_id: organizationId });
240
- return this.request('PUT', `/api/setup/organization-credentials/${credentialId}?${qs.toString()}`, body);
241
- }
242
- async listOrgTags(organizationId) {
243
- const qs = new URLSearchParams({ organization_id: organizationId });
244
- return this.request('GET', `/api/setup/organization-tags?${qs.toString()}`);
245
- }
246
- async createHub(organizationId, hubName, hubType, hubDescription) {
247
- return this.request('POST', '/api/setup/hubs', {
248
- organization_id: organizationId,
249
- hub_name: hubName,
250
- ...(hubType && { hub_type: hubType }),
251
- ...(hubDescription && { hub_description: hubDescription }),
252
- });
253
- }
254
- // ---------------------------------------------------------------------------
255
- // Reports (platform_report triage queue)
256
- // ---------------------------------------------------------------------------
257
- async submitReport(params) {
258
- return this.request('POST', '/api/reports', params);
259
- }
260
- /** Reporter content edit of an own `cli` report (PATCH /api/reports/:id). */
261
- async editReport(reportId, patch) {
262
- return this.request('PATCH', `/api/reports/${encodeURIComponent(reportId)}`, patch);
263
- }
264
- /** Reporter read-back — own reports, newest first (GET /api/reports[?status=]). */
265
- async listMyReports(status) {
266
- const qs = status ? `?status=${encodeURIComponent(status)}` : '';
267
- return this.request('GET', `/api/reports${qs}`);
268
- }
269
- /** Reporter read-back — one own report + its message thread (GET /api/reports/:id). */
270
- async getMyReport(reportId) {
271
- return this.request('GET', `/api/reports/${encodeURIComponent(reportId)}`);
272
- }
273
- /** Reporter accepts a shipped fix → addressed (POST /api/reports/:id/accept). */
274
- async acceptReport(reportId) {
275
- return this.request('POST', `/api/reports/${encodeURIComponent(reportId)}/accept`);
276
- }
277
- /** Reporter contests a fix or dismissal → contested (POST /api/reports/:id/contest). */
278
- async contestReport(reportId, reason) {
279
- return this.request('POST', `/api/reports/${encodeURIComponent(reportId)}/contest`, { reason });
280
- }
281
- async listAdminReports(params = {}) {
282
- const qs = new URLSearchParams();
283
- if (params.status)
284
- qs.set('status', params.status);
285
- if (params.source)
286
- qs.set('source', params.source);
287
- if (params.limit != null)
288
- qs.set('limit', String(params.limit));
289
- if (params.offset != null)
290
- qs.set('offset', String(params.offset));
291
- if (params.since)
292
- qs.set('since', params.since);
293
- const suffix = qs.toString();
294
- return this.request('GET', `/api/admin/reports${suffix ? '?' + suffix : ''}`);
295
- }
296
- async getAdminReport(reportId) {
297
- return this.request('GET', `/api/admin/reports/${encodeURIComponent(reportId)}`);
298
- }
299
- async transitionAdminReport(reportId, body) {
300
- return this.request('PATCH', `/api/admin/reports/${encodeURIComponent(reportId)}/transition`, body);
301
- }
302
- async groupAdminReports(canonicalId, memberIds) {
303
- return this.request('POST', `/api/admin/reports/${encodeURIComponent(canonicalId)}/group`, {
304
- member_ids: memberIds,
305
- });
306
- }
307
- async ungroupAdminReport(memberId) {
308
- return this.request('POST', `/api/admin/reports/${encodeURIComponent(memberId)}/ungroup`);
309
- }
310
- /** Hold a pending report one triage cycle (POST /api/admin/reports/:id/hold). Silent; internal note. */
311
- async holdAdminReport(reportId, reason) {
312
- return this.request('POST', `/api/admin/reports/${encodeURIComponent(reportId)}/hold`, { reason });
313
- }
314
- /** Admin content edit of any report (PATCH /api/admin/reports/:id). */
315
- async updateAdminReport(reportId, patch) {
316
- return this.request('PATCH', `/api/admin/reports/${encodeURIComponent(reportId)}`, patch);
317
- }
318
- // ---------------------------------------------------------------------------
319
- // Platform notices (feed 2) — operator-authored broadcasts (platform-admin only)
320
- // ---------------------------------------------------------------------------
321
- async listAdminNotices(params = {}) {
322
- const qs = new URLSearchParams();
323
- if (params.status)
324
- qs.set('status', params.status);
325
- if (params.limit != null)
326
- qs.set('limit', String(params.limit));
327
- if (params.offset != null)
328
- qs.set('offset', String(params.offset));
329
- const suffix = qs.toString();
330
- return this.request('GET', `/api/admin/notices${suffix ? '?' + suffix : ''}`);
331
- }
332
- async createAdminNotice(body) {
333
- return this.request('POST', '/api/admin/notices', body);
334
- }
335
- // NOTE: no updateAdminNotice here — the PATCH /api/admin/notices/:id route exists
336
- // (CRUD-complete, tested) for the future /admin/notices authoring UI, which uses the
337
- // frontend client. The CLI exposes create/list/resolve only; add an update wrapper if
338
- // a `wayai admin notice update` subcommand is ever wired.
339
- async resolveAdminNotice(noticeId) {
340
- return this.request('POST', `/api/admin/notices/${encodeURIComponent(noticeId)}/resolve`);
341
- }
342
- async getPendingSchedules(hubId, conversationId) {
343
- const params = new URLSearchParams({ hub_id: hubId, conversation_id: conversationId });
344
- return this.request('GET', `/api/conversations/schedules?${params.toString()}`);
345
- }
346
- // ---------------------------------------------------------------------------
347
- // Admin debug reads (platform-admin only — 403 for everyone else)
348
- // ---------------------------------------------------------------------------
349
- async debugListTables(doType, doId) {
350
- return this.request('GET', `/api/admin/data-explorer/debug/do/${doType}/${encodeURIComponent(doId)}/tables`);
351
- }
352
- async debugReadTable(doType, doId, table, opts) {
353
- const params = new URLSearchParams();
354
- if (opts?.limit !== undefined)
355
- params.set('limit', String(opts.limit));
356
- if (opts?.id)
357
- params.set('id', opts.id);
358
- const qs = params.toString() ? `?${params.toString()}` : '';
359
- return this.request('GET', `/api/admin/data-explorer/debug/do/${doType}/${encodeURIComponent(doId)}/tables/${encodeURIComponent(table)}/rows${qs}`);
360
- }
361
- async debugListAnalyticsTables() {
362
- return this.request('GET', '/api/admin/data-explorer/debug/analytics/tables');
363
- }
364
- async debugReadAnalyticsTable(table, opts) {
365
- const params = new URLSearchParams();
366
- if (opts?.conversationId)
367
- params.set('conversation_id', opts.conversationId);
368
- if (opts?.hubId)
369
- params.set('hub_id', opts.hubId);
370
- if (opts?.messageId)
371
- params.set('message_id', opts.messageId);
372
- if (opts?.limit !== undefined)
373
- params.set('limit', String(opts.limit));
374
- const qs = params.toString() ? `?${params.toString()}` : '';
375
- return this.request('GET', `/api/admin/data-explorer/debug/analytics/${encodeURIComponent(table)}/rows${qs}`);
376
- }
377
- async debugReadArchive(hubId, conversationId, opts) {
378
- const params = new URLSearchParams();
379
- if (opts?.messageId)
380
- params.set('message_id', opts.messageId);
381
- const qs = params.toString() ? `?${params.toString()}` : '';
382
- return this.request('GET', `/api/admin/data-explorer/debug/archive/${encodeURIComponent(hubId)}/conversations/${encodeURIComponent(conversationId)}${qs}`);
383
- }
384
- /** List per-message observability metadata summaries for a conversation (hub-scoped auth). */
385
- async listConversationObservability(conversationId) {
386
- return this.request('GET', `/api/conversations/${encodeURIComponent(conversationId)}/observability`);
387
- }
388
- /** Fetch the full observability record for a single message (hub-scoped auth). */
389
- async getMessageObservability(conversationId, messageId) {
390
- return this.request('GET', `/api/conversations/${encodeURIComponent(conversationId)}/messages/${encodeURIComponent(messageId)}/observability`);
391
- }
392
- async listArchivedConversationObservability(hubId, conversationId) {
393
- return this.request('GET', `/api/archive/${encodeURIComponent(hubId)}/conversations/${encodeURIComponent(conversationId)}/observability`);
394
- }
395
- async getArchivedMessageObservability(hubId, conversationId, messageId) {
396
- return this.request('GET', `/api/archive/${encodeURIComponent(hubId)}/conversations/${encodeURIComponent(conversationId)}/messages/${encodeURIComponent(messageId)}/observability`);
397
- }
398
- /** Platform-admin debug read of LLM observability records (list or single via messageId). */
399
- async debugReadObservability(hubId, conversationId, opts) {
400
- const params = new URLSearchParams();
401
- if (opts?.messageId)
402
- params.set('message_id', opts.messageId);
403
- const qs = params.toString() ? `?${params.toString()}` : '';
404
- return this.request('GET', `/api/admin/data-explorer/debug/observability/${encodeURIComponent(hubId)}/conversations/${encodeURIComponent(conversationId)}${qs}`);
405
- }
406
- async request(method, path, body) {
407
- addApiBreadcrumb(method, path);
408
- const url = `${this.apiUrl}${path}`;
409
- let response = await this.send(url, method, body);
410
- // Single-refresh-then-retry on 401: a token that rotated/expired mid-command
411
- // (e.g. run-eval's long poll outliving a short-lived OAuth JWT) self-heals
412
- // rather than tearing down the command (gh #2605). One retry only — no loop.
413
- if (response.status === 401 && this.onUnauthorized) {
414
- let refreshed;
415
- try {
416
- refreshed = await this.onUnauthorized();
417
- }
418
- catch {
419
- // Refresh failed (e.g. SESSION_EXPIRED) — fall through and surface the
420
- // original 401 to the caller below.
421
- }
422
- if (refreshed) {
423
- this.accessToken = refreshed;
424
- response = await this.send(url, method, body);
425
- }
426
- }
427
- if (!response.ok) {
428
- const errorBody = await response.text();
429
- throw new ApiError(method, path, response.status, errorBody);
430
- }
431
- return response.json();
432
- }
433
- /** Issue a single authenticated request with the client's current token. */
434
- send(url, method, body) {
435
- return fetch(url, {
436
- method,
437
- headers: {
438
- Authorization: `Bearer ${this.accessToken}`,
439
- 'Content-Type': 'application/json',
440
- },
441
- body: body ? JSON.stringify(body) : undefined,
442
- });
443
- }
444
- }
445
- //# sourceMappingURL=api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Authentication — OAuth 2.1 + PKCE browser login + way_ token fallback
3
- *
4
- * Two login paths:
5
- * 1. Browser login (default): OAuth 2.1 with PKCE → JWT + refresh token
6
- * 2. Token login (--token): User pastes a way_ scoped token directly
7
- *
8
- * The CLI exchanges codes directly with AuthKit's token endpoint.
9
- */
10
- import type { CliConfig } from './config.js';
11
- export declare function generateCodeVerifier(): string;
12
- export declare function generateCodeChallenge(verifier: string): Promise<string>;
13
- export declare function generateState(): string;
14
- /**
15
- * Convert a token lifetime in seconds (as returned by AuthKit) into an absolute
16
- * ISO 8601 timestamp suitable for `token_expires_at` in the CLI config.
17
- */
18
- export declare function expiresInToIso(expiresInSeconds: number): string;
19
- export declare function exchangeCodeForTokens(authkitDomain: string, clientId: string, code: string, codeVerifier: string, redirectUri: string): Promise<{
20
- access_token: string;
21
- refresh_token?: string;
22
- expires_in: number;
23
- }>;
24
- export declare function refreshAccessToken(authkitDomain: string, clientId: string, refreshToken: string): Promise<{
25
- access_token: string;
26
- refresh_token?: string;
27
- expires_in: number;
28
- }>;
29
- export declare function validateToken(apiUrl: string, token: string): Promise<void>;
30
- /** Fixed port for OAuth callback — must match the redirect URI registered in WorkOS */
31
- export declare const OAUTH_CALLBACK_PORT = 3829;
32
- export declare function startCallbackServer(port: number, expectedState: string, timeoutMs?: number): Promise<{
33
- code: string;
34
- port: number;
35
- }>;
36
- export declare function getAuthKitDomain(): string;
37
- export declare function getAuthKitClientId(): string;
38
- /**
39
- * Get a valid access token. Reads from the keyring (or env/file fallback) and
40
- * handles OAuth refresh transparently when nearing expiry.
41
- *
42
- * `config` is passed in for `api_url` access and to support the SESSION_EXPIRED
43
- * recovery path. Token data does NOT live in config anymore — it's resolved
44
- * from token-store.
45
- */
46
- export declare function getAccessToken(config: CliConfig): Promise<string>;
47
- export declare function requireAuth(): Promise<{
48
- config: CliConfig;
49
- accessToken: string;
50
- }>;