@wayai/cli 0.1.0 → 0.2.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.
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.js +88 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +1 -0
- package/dist/commands/login.js +54 -13
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/pull.d.ts +7 -1
- package/dist/commands/pull.js +134 -42
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts +6 -1
- package/dist/commands/push.js +248 -54
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/status.d.ts +1 -1
- package/dist/commands/status.js +17 -8
- package/dist/commands/status.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +24 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +3 -1
- package/dist/lib/api-client.js +9 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/auth.d.ts +13 -4
- package/dist/lib/auth.js +52 -12
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/parser.js +13 -3
- package/dist/lib/parser.js.map +1 -1
- package/dist/lib/repo-config.d.ts +16 -0
- package/dist/lib/repo-config.js +49 -0
- package/dist/lib/repo-config.js.map +1 -0
- package/dist/lib/types.d.ts +13 -0
- package/dist/lib/utils.d.ts +4 -0
- package/dist/lib/utils.js +13 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/workspace.d.ts +75 -0
- package/dist/lib/workspace.js +244 -0
- package/dist/lib/workspace.js.map +1 -0
- package/dist/lib/workspace.test.d.ts +5 -0
- package/dist/lib/workspace.test.js +329 -0
- package/dist/lib/workspace.test.js.map +1 -0
- package/dist/lib/yaml-writer.js +10 -6
- package/dist/lib/yaml-writer.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/push.js
CHANGED
|
@@ -1,65 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* wayai push [hub-path] — parse local files, diff remote, sync to preview
|
|
2
|
+
* wayai push [hub-path] [--yes] — parse local files, diff remote, sync to preview
|
|
3
|
+
*
|
|
4
|
+
* Modes:
|
|
5
|
+
* wayai push project/hub — resolve workspace folder, push that hub
|
|
6
|
+
* wayai push — from hub folder: push current hub
|
|
7
|
+
* wayai push — from repo root: auto-detect changed hubs via git
|
|
3
8
|
*/
|
|
4
|
-
import * as
|
|
9
|
+
import * as fs from 'node:fs';
|
|
10
|
+
import * as path from 'node:path';
|
|
11
|
+
import * as yaml from 'js-yaml';
|
|
5
12
|
import { requireAuth } from '../lib/auth.js';
|
|
6
13
|
import { ApiClient } from '../lib/api-client.js';
|
|
7
14
|
import { parseHubFolder } from '../lib/parser.js';
|
|
8
15
|
import { printDiff } from '../lib/diff-display.js';
|
|
9
|
-
import { detectHubFromCwd } from '../lib/utils.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
22
|
-
const hubPath = args[0];
|
|
23
|
-
let hubId;
|
|
24
|
-
let hubFolder;
|
|
25
|
-
if (hubPath) {
|
|
26
|
-
console.log(`Looking up ${hubPath}...`);
|
|
27
|
-
const lookup = await client.lookup(hubPath);
|
|
28
|
-
hubId = lookup.hub_id;
|
|
29
|
-
hubFolder = process.cwd();
|
|
30
|
-
console.log(`Found hub: ${lookup.hub_name} (${lookup.hub_environment}) in ${lookup.organization_name}/${lookup.project_name}`);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
const detected = await detectHubFromCwd();
|
|
34
|
-
if (!detected) {
|
|
35
|
-
console.error('No hub path provided and no wayai.yaml found in current directory.');
|
|
36
|
-
console.error('Usage: wayai push <org/project/hub>');
|
|
37
|
-
process.exit(1);
|
|
16
|
+
import { confirm, detectHubFromCwd, slugify } from '../lib/utils.js';
|
|
17
|
+
import { detectWorkspace, getChangedHubs, resolveHubFolder, resolveExplicitHubPath } from '../lib/workspace.js';
|
|
18
|
+
import { readRepoConfig } from '../lib/repo-config.js';
|
|
19
|
+
function parseArgs(args) {
|
|
20
|
+
let hubPath;
|
|
21
|
+
let autoConfirm = false;
|
|
22
|
+
for (const arg of args) {
|
|
23
|
+
if (arg === '--yes' || arg === '-y') {
|
|
24
|
+
autoConfirm = true;
|
|
25
|
+
}
|
|
26
|
+
else if (!arg.startsWith('-')) {
|
|
27
|
+
hubPath = arg;
|
|
38
28
|
}
|
|
39
|
-
hubId = detected.hubId;
|
|
40
|
-
hubFolder = detected.hubFolder;
|
|
41
|
-
console.log(`Using hub from wayai.yaml: ${hubId}`);
|
|
42
|
-
}
|
|
43
|
-
// Parse local files
|
|
44
|
-
console.log('Parsing local configuration...');
|
|
45
|
-
const localConfig = parseHubFolder(hubFolder);
|
|
46
|
-
// Get diff preview
|
|
47
|
-
console.log('Computing diff...');
|
|
48
|
-
const diffResult = await client.diff(hubId, localConfig, 'push');
|
|
49
|
-
if (!diffResult.has_changes) {
|
|
50
|
-
console.log('No changes to push.');
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
console.log('\nChanges to push:');
|
|
54
|
-
printDiff(diffResult.summary);
|
|
55
|
-
const ok = await confirm('Push these changes?');
|
|
56
|
-
if (!ok) {
|
|
57
|
-
console.log('Cancelled.');
|
|
58
|
-
return;
|
|
59
29
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
30
|
+
return { hubPath, autoConfirm };
|
|
31
|
+
}
|
|
32
|
+
function printSyncResult(result) {
|
|
63
33
|
console.log(`\nSync complete. Preview hub: ${result.preview_hub_id}`);
|
|
64
34
|
const c = result.changes;
|
|
65
35
|
const parts = [];
|
|
@@ -87,4 +57,228 @@ export async function pushCommand(args) {
|
|
|
87
57
|
console.log(`Changes: ${parts.join(', ')}`);
|
|
88
58
|
}
|
|
89
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Auto-rename agent .md files when agents have been renamed (matched by ID).
|
|
62
|
+
* Compares local YAML agent names against remote agent names via pull,
|
|
63
|
+
* then renames old-slug.md → new-slug.md. Handles slug swaps via temp files.
|
|
64
|
+
*/
|
|
65
|
+
async function autoRenameAgentFiles(client, hubId, hubFolder) {
|
|
66
|
+
const yamlPath = path.join(hubFolder, 'wayai.yaml');
|
|
67
|
+
if (!fs.existsSync(yamlPath))
|
|
68
|
+
return;
|
|
69
|
+
const yamlContent = fs.readFileSync(yamlPath, 'utf-8');
|
|
70
|
+
const config = yaml.load(yamlContent);
|
|
71
|
+
// Only proceed if at least one agent has an id
|
|
72
|
+
const agentsWithIds = (config.agents || []).filter((a) => a.id && a.name);
|
|
73
|
+
if (agentsWithIds.length === 0)
|
|
74
|
+
return;
|
|
75
|
+
// Fetch remote state to detect renames (extra round-trip, only when agents have IDs)
|
|
76
|
+
console.log('Checking for agent renames...');
|
|
77
|
+
let remote;
|
|
78
|
+
try {
|
|
79
|
+
remote = await client.pull(hubId);
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
console.warn(` Warning: could not fetch remote state for auto-rename (${err instanceof Error ? err.message : String(err)}). File renames skipped.`);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Build remote agent id → name map
|
|
86
|
+
const remoteAgentNames = new Map();
|
|
87
|
+
for (const agent of remote.agents || []) {
|
|
88
|
+
if (agent.id) {
|
|
89
|
+
remoteAgentNames.set(agent.id, agent.name);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Collect renames needed (old slug → new slug)
|
|
93
|
+
const renames = [];
|
|
94
|
+
for (const agent of agentsWithIds) {
|
|
95
|
+
const remoteName = remoteAgentNames.get(agent.id);
|
|
96
|
+
if (!remoteName || remoteName === agent.name)
|
|
97
|
+
continue;
|
|
98
|
+
const oldSlug = slugify(remoteName);
|
|
99
|
+
const newSlug = slugify(agent.name);
|
|
100
|
+
if (oldSlug !== newSlug) {
|
|
101
|
+
renames.push({ oldSlug, newSlug });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (renames.length === 0)
|
|
105
|
+
return;
|
|
106
|
+
const agentsDir = path.join(hubFolder, 'agents');
|
|
107
|
+
if (!fs.existsSync(agentsDir))
|
|
108
|
+
return;
|
|
109
|
+
// Clean up orphaned temp files from a previous interrupted rename
|
|
110
|
+
for (const file of fs.readdirSync(agentsDir)) {
|
|
111
|
+
if (file.startsWith('__rename_temp_') && file.endsWith('.md')) {
|
|
112
|
+
console.warn(` Warning: removing orphaned temp file agents/${file}`);
|
|
113
|
+
fs.unlinkSync(path.join(agentsDir, file));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Detect slug swaps: if newSlug matches another rename's oldSlug
|
|
117
|
+
const oldSlugs = new Set(renames.map((r) => r.oldSlug));
|
|
118
|
+
const newSlugs = new Set(renames.map((r) => r.newSlug));
|
|
119
|
+
const hasConflicts = renames.some((r) => oldSlugs.has(r.newSlug)) || newSlugs.size !== renames.length;
|
|
120
|
+
if (hasConflicts) {
|
|
121
|
+
// Rename through temp files to avoid collisions
|
|
122
|
+
const tempRenames = [];
|
|
123
|
+
for (const { oldSlug, newSlug } of renames) {
|
|
124
|
+
const tempName = `__rename_temp_${oldSlug}_${Date.now()}`;
|
|
125
|
+
tempRenames.push({ oldSlug, tempName, newSlug });
|
|
126
|
+
}
|
|
127
|
+
// Step 1: old → temp
|
|
128
|
+
for (const { oldSlug, tempName } of tempRenames) {
|
|
129
|
+
const oldPath = path.join(agentsDir, `${oldSlug}.md`);
|
|
130
|
+
const tempPath = path.join(agentsDir, `${tempName}.md`);
|
|
131
|
+
if (fs.existsSync(oldPath)) {
|
|
132
|
+
fs.renameSync(oldPath, tempPath);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Step 2: temp → new
|
|
136
|
+
for (const { tempName, newSlug } of tempRenames) {
|
|
137
|
+
const tempPath = path.join(agentsDir, `${tempName}.md`);
|
|
138
|
+
const newPath = path.join(agentsDir, `${newSlug}.md`);
|
|
139
|
+
if (fs.existsSync(tempPath)) {
|
|
140
|
+
fs.renameSync(tempPath, newPath);
|
|
141
|
+
console.log(` Renamed agents/${tempRenames.find((r) => r.tempName === tempName).oldSlug}.md → agents/${newSlug}.md`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// No conflicts — direct renames
|
|
147
|
+
for (const { oldSlug, newSlug } of renames) {
|
|
148
|
+
const oldPath = path.join(agentsDir, `${oldSlug}.md`);
|
|
149
|
+
const newPath = path.join(agentsDir, `${newSlug}.md`);
|
|
150
|
+
if (!fs.existsSync(oldPath))
|
|
151
|
+
continue;
|
|
152
|
+
if (fs.existsSync(newPath)) {
|
|
153
|
+
console.warn(` Warning: skipping rename agents/${oldSlug}.md → agents/${newSlug}.md (target already exists)`);
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
fs.renameSync(oldPath, newPath);
|
|
157
|
+
console.log(` Renamed agents/${oldSlug}.md → agents/${newSlug}.md`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
async function pushSingleHub(client, hubId, hubFolder, autoConfirm) {
|
|
162
|
+
// Auto-rename agent .md files if agents were renamed (before parsing)
|
|
163
|
+
await autoRenameAgentFiles(client, hubId, hubFolder);
|
|
164
|
+
console.log('Parsing local configuration...');
|
|
165
|
+
const localConfig = parseHubFolder(hubFolder);
|
|
166
|
+
console.log('Computing diff...');
|
|
167
|
+
const diffResult = await client.diff(hubId, localConfig, 'push');
|
|
168
|
+
if (!diffResult.has_changes) {
|
|
169
|
+
console.log('No changes to push.');
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
console.log('\nChanges to push:');
|
|
173
|
+
printDiff(diffResult.summary);
|
|
174
|
+
if (!autoConfirm) {
|
|
175
|
+
const ok = await confirm('Push these changes?');
|
|
176
|
+
if (!ok) {
|
|
177
|
+
console.log('Cancelled.');
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
console.log('Pushing changes...');
|
|
182
|
+
const result = await client.push(hubId, localConfig);
|
|
183
|
+
printSyncResult(result);
|
|
184
|
+
return true;
|
|
185
|
+
}
|
|
186
|
+
async function pushChangedHubs(client, workspaceDir, autoConfirm) {
|
|
187
|
+
console.log('Detecting changed hubs...');
|
|
188
|
+
const changed = getChangedHubs(workspaceDir);
|
|
189
|
+
if (changed.length === 0) {
|
|
190
|
+
console.log('No changed hub files detected.');
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
console.log(`Found ${changed.length} hub(s) with changes:\n`);
|
|
194
|
+
for (const hub of changed) {
|
|
195
|
+
console.log(` ${hub.hubFolder}`);
|
|
196
|
+
}
|
|
197
|
+
console.log();
|
|
198
|
+
if (!autoConfirm) {
|
|
199
|
+
const ok = await confirm(`Push ${changed.length} hub(s)?`);
|
|
200
|
+
if (!ok) {
|
|
201
|
+
console.log('Cancelled.');
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const errors = [];
|
|
206
|
+
for (const hub of changed) {
|
|
207
|
+
console.log(`\n--- ${hub.hubFolder} ---`);
|
|
208
|
+
try {
|
|
209
|
+
await pushSingleHub(client, hub.hubId, hub.hubFolder, true);
|
|
210
|
+
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
213
|
+
console.error(`Error: ${msg}`);
|
|
214
|
+
errors.push({ hubFolder: hub.hubFolder, error: msg });
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (errors.length > 0) {
|
|
218
|
+
console.error(`\n${errors.length} hub(s) failed:`);
|
|
219
|
+
for (const e of errors) {
|
|
220
|
+
console.error(` ${e.hubFolder}: ${e.error}`);
|
|
221
|
+
}
|
|
222
|
+
process.exit(1);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
async function pushExplicitPath(client, hubPath, autoConfirm) {
|
|
226
|
+
const result = resolveExplicitHubPath(hubPath);
|
|
227
|
+
if ('resolved' in result) {
|
|
228
|
+
console.log(`Found hub locally: ${result.resolved.hubId} (${result.resolved.hubEnvironment})`);
|
|
229
|
+
await pushSingleHub(client, result.resolved.hubId, result.resolved.hubFolder, autoConfirm);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
// Fall back to API lookup (handles original names and remote-only hubs)
|
|
233
|
+
const { segments } = result;
|
|
234
|
+
let lookupPath;
|
|
235
|
+
if (segments.orgPrefix) {
|
|
236
|
+
lookupPath = hubPath;
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
const repoConfig = readRepoConfig();
|
|
240
|
+
if (!repoConfig) {
|
|
241
|
+
console.error('Hub not found in workspace and 2-part path requires .wayai.yaml for API lookup.');
|
|
242
|
+
console.error('Run `wayai init` first, or use 3-part: org/project/hub');
|
|
243
|
+
process.exit(1);
|
|
244
|
+
}
|
|
245
|
+
lookupPath = `${repoConfig.organization}/${hubPath}`;
|
|
246
|
+
}
|
|
247
|
+
console.log(`Looking up ${hubPath}...`);
|
|
248
|
+
const lookup = await client.lookup(lookupPath);
|
|
249
|
+
console.log(`Found hub: ${lookup.hub_name} (${lookup.hub_environment}) in ${lookup.project_name}`);
|
|
250
|
+
const workspace = detectWorkspace();
|
|
251
|
+
const hubFolder = workspace
|
|
252
|
+
? resolveHubFolder(workspace.workspaceDir, lookup.hub_id, lookup.project_name, lookup.hub_name, lookup.hub_environment, lookup.preview_label, lookup.branch_name)
|
|
253
|
+
: process.cwd();
|
|
254
|
+
await pushSingleHub(client, lookup.hub_id, hubFolder, autoConfirm);
|
|
255
|
+
}
|
|
256
|
+
export async function pushCommand(args) {
|
|
257
|
+
const { hubPath, autoConfirm } = parseArgs(args);
|
|
258
|
+
const { config, accessToken } = await requireAuth();
|
|
259
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
260
|
+
// 1. Explicit hub path argument
|
|
261
|
+
if (hubPath) {
|
|
262
|
+
await pushExplicitPath(client, hubPath, autoConfirm);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
// 2. Current directory has wayai.yaml
|
|
266
|
+
const detected = await detectHubFromCwd();
|
|
267
|
+
if (detected) {
|
|
268
|
+
console.log(`Using hub from wayai.yaml: ${detected.hubId}`);
|
|
269
|
+
await pushSingleHub(client, detected.hubId, detected.hubFolder, autoConfirm);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
// 3. Workspace detected — auto-detect changed hubs
|
|
273
|
+
const workspace = detectWorkspace();
|
|
274
|
+
if (workspace) {
|
|
275
|
+
await pushChangedHubs(client, workspace.workspaceDir, autoConfirm);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
// 4. None of the above
|
|
279
|
+
console.error('No hub found. Run from a hub folder with wayai.yaml, or provide a path:');
|
|
280
|
+
console.error(' wayai push <project/hub>');
|
|
281
|
+
console.error('\nOr run from a repo root with a workspace/ directory to auto-detect changes.');
|
|
282
|
+
process.exit(1);
|
|
283
|
+
}
|
|
90
284
|
//# sourceMappingURL=push.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,SAAS,SAAS,CAAC,IAAc;IAC/B,IAAI,OAA2B,CAAC;IAChC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACpC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB;IAC7C,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,kBAAkB,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,kBAAkB,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,kBAAkB,CAAC,CAAC;IAC1E,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,mBAAmB,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CACjC,MAAiB,EACjB,KAAa,EACb,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAErC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAuD,CAAC;IAE5F,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,qFAAqF;IACrF,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4DAA4D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACrJ,OAAO;IACT,CAAC;IAED,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACb,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,OAAO,GAAgD,EAAE,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,KAAK,CAAC,IAAI;YAAE,SAAS;QAEvD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO;IAEtC,kEAAkE;IAClE,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;YACtE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC;IAEtG,IAAI,YAAY,EAAE,CAAC;QACjB,gDAAgD;QAChD,MAAM,WAAW,GAAkE,EAAE,CAAC;QACtF,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,iBAAiB,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC1D,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;YACtD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAE,CAAC,OAAO,gBAAgB,OAAO,KAAK,CAAC,CAAC;YACzH,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,KAAK,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,qCAAqC,OAAO,gBAAgB,OAAO,6BAA6B,CAAC,CAAC;gBAC/G,SAAS;YACX,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB,OAAO,gBAAgB,OAAO,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAiB,EACjB,KAAa,EACb,SAAiB,EACjB,WAAoB;IAEpB,sEAAsE;IACtE,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrD,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAiB,EACjB,YAAoB,EACpB,WAAoB;IAEpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,yBAAyB,CAAC,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAgD,EAAE,CAAC;IAE/D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,iBAAiB,CAAC,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAiB,EACjB,OAAe,EACf,WAAoB;IAEpB,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAE/C,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC;QAC/F,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC3F,OAAO;IACT,CAAC;IAED,wEAAwE;IACxE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,IAAI,UAAkB,CAAC;IACvB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,UAAU,GAAG,OAAO,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;YACjG,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,UAAU,GAAG,GAAG,UAAU,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,eAAe,QAAQ,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAEnG,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,SAAS;QACzB,CAAC,CAAC,gBAAgB,CACd,SAAS,CAAC,YAAY,EACtB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,WAAW,CACnB;QACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAElB,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtE,gCAAgC;IAChC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAED,sCAAsC;IACtC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACzF,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,26 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* wayai status — show current auth/config status
|
|
2
|
+
* wayai status — show current auth/config status and repo scope
|
|
3
3
|
*/
|
|
4
4
|
import { readConfig } from '../lib/config.js';
|
|
5
5
|
import { getAccessToken } from '../lib/auth.js';
|
|
6
|
+
import { readRepoConfig } from '../lib/repo-config.js';
|
|
6
7
|
export async function statusCommand() {
|
|
7
8
|
const config = readConfig();
|
|
8
9
|
if (!config) {
|
|
9
10
|
console.log('Not logged in. Run `wayai login`.');
|
|
10
11
|
return;
|
|
11
12
|
}
|
|
12
|
-
console.log(`Auth method: ${config.auth_method}`);
|
|
13
|
-
console.log(`API URL: ${config.api_url}`);
|
|
14
|
-
if (config.supabase_url) {
|
|
15
|
-
console.log(`Supabase URL: ${config.supabase_url}`);
|
|
16
|
-
}
|
|
17
13
|
// Test token validity
|
|
14
|
+
let tokenStatus;
|
|
18
15
|
try {
|
|
19
16
|
await getAccessToken(config);
|
|
20
|
-
|
|
17
|
+
tokenStatus = 'token valid';
|
|
21
18
|
}
|
|
22
19
|
catch {
|
|
23
|
-
|
|
20
|
+
tokenStatus = 'token expired (run `wayai login` to re-authenticate)';
|
|
21
|
+
}
|
|
22
|
+
console.log(`Logged in via ${config.auth_method} — ${tokenStatus}`);
|
|
23
|
+
if (config.api_url !== 'https://api.wayai.pro') {
|
|
24
|
+
console.log(`API: ${config.api_url}`);
|
|
25
|
+
}
|
|
26
|
+
// Show repo scope
|
|
27
|
+
const repoConfig = readRepoConfig();
|
|
28
|
+
if (repoConfig) {
|
|
29
|
+
console.log(`Repository scope: ${repoConfig.organization}`);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
console.log('No .wayai.yaml found — run `wayai init` to link to an organization.');
|
|
24
33
|
}
|
|
25
34
|
}
|
|
26
35
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,WAAW,GAAG,aAAa,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,sDAAsD,CAAC;IACvE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,WAAW,MAAM,WAAW,EAAE,CAAC,CAAC;IAEpE,IAAI,MAAM,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* wayai login — authenticate via OAuth (browser)
|
|
7
7
|
* wayai login --token — authenticate via MCP token (headless)
|
|
8
8
|
* wayai logout — clear stored credentials
|
|
9
|
+
* wayai init [org] — link repo to a WayAI organization
|
|
9
10
|
* wayai status — show current auth/config status
|
|
10
11
|
* wayai pull [path] — fetch hub config and write local files
|
|
11
12
|
* wayai push [path] — parse local files, diff, and sync to preview
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* wayai login — authenticate via OAuth (browser)
|
|
7
7
|
* wayai login --token — authenticate via MCP token (headless)
|
|
8
8
|
* wayai logout — clear stored credentials
|
|
9
|
+
* wayai init [org] — link repo to a WayAI organization
|
|
9
10
|
* wayai status — show current auth/config status
|
|
10
11
|
* wayai pull [path] — fetch hub config and write local files
|
|
11
12
|
* wayai push [path] — parse local files, diff, and sync to preview
|
|
@@ -28,6 +29,11 @@ async function main() {
|
|
|
28
29
|
await logoutCommand();
|
|
29
30
|
break;
|
|
30
31
|
}
|
|
32
|
+
case 'init': {
|
|
33
|
+
const { initCommand } = await import('./commands/init.js');
|
|
34
|
+
await initCommand(args);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
31
37
|
case 'status': {
|
|
32
38
|
const { statusCommand } = await import('./commands/status.js');
|
|
33
39
|
await statusCommand();
|
|
@@ -70,17 +76,33 @@ Commands:
|
|
|
70
76
|
login Authenticate via OAuth (opens browser)
|
|
71
77
|
login --token Authenticate via MCP token (for headless/CI)
|
|
72
78
|
logout Clear stored credentials
|
|
79
|
+
init [org] Link repo to a WayAI organization (creates .wayai.yaml)
|
|
73
80
|
status Show current auth and config status
|
|
74
81
|
pull [path] Fetch hub config and write local files
|
|
75
82
|
push [path] Parse local files, show diff, sync to preview
|
|
76
83
|
|
|
77
84
|
Arguments:
|
|
78
|
-
path Hub path as
|
|
85
|
+
path Hub path as project/hub (resolves to workspace/ folder)
|
|
86
|
+
|
|
87
|
+
Flags:
|
|
88
|
+
--yes, -y Skip confirmation prompts (useful for CI and scripting)
|
|
89
|
+
--all Pull all hubs in workspace (pull only)
|
|
90
|
+
|
|
91
|
+
Workspace mode:
|
|
92
|
+
Run 'wayai init' to link this repo to an organization. This creates
|
|
93
|
+
.wayai.yaml at the repo root and a workspace/ directory.
|
|
94
|
+
|
|
95
|
+
From a hub folder (has wayai.yaml), push/pull operate on that hub.
|
|
96
|
+
From a repo root (has workspace/), push auto-detects changed hubs
|
|
97
|
+
via git status, and pull requires --all or a hub path.
|
|
79
98
|
|
|
80
99
|
Examples:
|
|
81
100
|
wayai login
|
|
82
|
-
wayai
|
|
101
|
+
wayai init "My Organization"
|
|
102
|
+
wayai pull support/customer-hub
|
|
103
|
+
wayai pull --all
|
|
83
104
|
wayai push
|
|
105
|
+
wayai push support/customer-hub --yes
|
|
84
106
|
`.trim());
|
|
85
107
|
}
|
|
86
108
|
main().catch((err) => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* API client — authenticated requests to the WayAI backend
|
|
3
3
|
*/
|
|
4
|
-
import type { HubAsCodePayload, CiDiffResponse, CiLookupResponse, CiSyncResponse } from './types.js';
|
|
4
|
+
import type { HubAsCodePayload, CiDiffResponse, CiLookupResponse, CiSyncResponse, CiOrganizationsResponse } from './types.js';
|
|
5
5
|
export interface ApiClientOptions {
|
|
6
6
|
apiUrl: string;
|
|
7
7
|
accessToken: string;
|
|
@@ -12,7 +12,9 @@ export declare class ApiClient {
|
|
|
12
12
|
constructor(options: ApiClientOptions);
|
|
13
13
|
pull(hubId: string): Promise<HubAsCodePayload>;
|
|
14
14
|
diff(hubId: string, config: HubAsCodePayload, direction?: 'push' | 'pull'): Promise<CiDiffResponse>;
|
|
15
|
+
push(hubId: string, config: HubAsCodePayload): Promise<CiSyncResponse>;
|
|
15
16
|
sync(hubId: string, branchName: string, config: HubAsCodePayload, commitSha?: string): Promise<CiSyncResponse>;
|
|
16
17
|
lookup(path: string): Promise<CiLookupResponse>;
|
|
18
|
+
organizations(): Promise<CiOrganizationsResponse>;
|
|
17
19
|
private request;
|
|
18
20
|
}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -18,6 +18,12 @@ export class ApiClient {
|
|
|
18
18
|
direction,
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
+
async push(hubId, config) {
|
|
22
|
+
return this.request('POST', '/api/ci/push', {
|
|
23
|
+
hub_id: hubId,
|
|
24
|
+
config,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
21
27
|
async sync(hubId, branchName, config, commitSha) {
|
|
22
28
|
return this.request('POST', '/api/ci/sync', {
|
|
23
29
|
hub_id: hubId,
|
|
@@ -29,6 +35,9 @@ export class ApiClient {
|
|
|
29
35
|
async lookup(path) {
|
|
30
36
|
return this.request('GET', `/api/ci/lookup?path=${encodeURIComponent(path)}`);
|
|
31
37
|
}
|
|
38
|
+
async organizations() {
|
|
39
|
+
return this.request('GET', '/api/ci/organizations');
|
|
40
|
+
}
|
|
32
41
|
async request(method, path, body) {
|
|
33
42
|
const url = `${this.apiUrl}${path}`;
|
|
34
43
|
const headers = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAS;IACf,WAAW,CAAS;IAE5B,YAAY,OAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAmB,KAAK,EAAE,gBAAgB,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,MAAwB,EAAE,YAA6B,MAAM;QACrF,OAAO,IAAI,CAAC,OAAO,CAAiB,MAAM,EAAE,cAAc,EAAE;YAC1D,MAAM,EAAE,KAAK;YACb,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,MAAwB;QAChD,OAAO,IAAI,CAAC,OAAO,CAAiB,MAAM,EAAE,cAAc,EAAE;YAC1D,MAAM,EAAE,KAAK;YACb,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,UAAkB,EAAE,MAAwB,EAAE,SAAkB;QACxF,OAAO,IAAI,CAAC,OAAO,CAAiB,MAAM,EAAE,cAAc,EAAE;YAC1D,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,UAAU;YACvB,MAAM;YACN,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,OAAO,CAAmB,KAAK,EAAE,uBAAuB,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAA0B,KAAK,EAAE,uBAAuB,CAAC,CAAC;IAC/E,CAAC;IAEO,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;QACnE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,WAAW,EAAE;YAC3C,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;IACvC,CAAC;CACF"}
|
package/dist/lib/auth.d.ts
CHANGED
|
@@ -23,21 +23,30 @@ export declare function startCallbackServer(port: number, timeoutMs?: number): P
|
|
|
23
23
|
code: string;
|
|
24
24
|
port: number;
|
|
25
25
|
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Check if a specific port is available by trying to bind then immediately closing.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isPortAvailable(port: number): Promise<boolean>;
|
|
26
30
|
/**
|
|
27
31
|
* Find an available port by trying to listen on port 0
|
|
28
32
|
*/
|
|
29
33
|
export declare function findAvailablePort(): Promise<number>;
|
|
30
34
|
/**
|
|
31
|
-
*
|
|
35
|
+
* Register the CLI as an OAuth client via Dynamic Client Registration (RFC 7591).
|
|
36
|
+
* Returns the client_id for subsequent authorize/token requests.
|
|
37
|
+
*/
|
|
38
|
+
export declare function registerOAuthClient(supabaseUrl: string, redirectUri: string): Promise<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Exchange OAuth 2.1 authorization code for tokens (PKCE)
|
|
32
41
|
*/
|
|
33
|
-
export declare function exchangeCodeForTokens(supabaseUrl: string, code: string, codeVerifier: string): Promise<{
|
|
42
|
+
export declare function exchangeCodeForTokens(supabaseUrl: string, code: string, codeVerifier: string, clientId: string, redirectUri: string): Promise<{
|
|
34
43
|
accessToken: string;
|
|
35
44
|
refreshToken: string;
|
|
36
45
|
}>;
|
|
37
46
|
/**
|
|
38
|
-
* Refresh an OAuth access token using a refresh token
|
|
47
|
+
* Refresh an OAuth access token using a refresh token (OAuth 2.1)
|
|
39
48
|
*/
|
|
40
|
-
export declare function refreshAccessToken(supabaseUrl: string, refreshToken: string): Promise<{
|
|
49
|
+
export declare function refreshAccessToken(supabaseUrl: string, refreshToken: string, clientId: string): Promise<{
|
|
41
50
|
accessToken: string;
|
|
42
51
|
refreshToken: string;
|
|
43
52
|
}>;
|