@wayai/cli 0.2.9 → 0.2.10
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 +11 -0
- package/dist/commands/init.js +193 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/pull.d.ts +2 -20
- package/dist/commands/pull.js +53 -212
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts +2 -5
- package/dist/commands/push.js +29 -97
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/status.js +14 -10
- package/dist/commands/status.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +22 -19
- package/dist/index.js.map +1 -1
- package/dist/lib/repo-config.d.ts +4 -2
- package/dist/lib/repo-config.js +25 -11
- package/dist/lib/repo-config.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai init [--hub <hub-id>] — set up .wayai.yaml to scope this repo to a single hub
|
|
3
|
+
*
|
|
4
|
+
* Interactive mode: prompts user to pick org → project → hub
|
|
5
|
+
* Direct mode: --hub <uuid> resolves org/project info from the API
|
|
6
|
+
*/
|
|
7
|
+
export declare function parseArgs(args: string[]): {
|
|
8
|
+
hubId: string | undefined;
|
|
9
|
+
autoConfirm: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function initCommand(args: string[]): Promise<void>;
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai init [--hub <hub-id>] — set up .wayai.yaml to scope this repo to a single hub
|
|
3
|
+
*
|
|
4
|
+
* Interactive mode: prompts user to pick org → project → hub
|
|
5
|
+
* Direct mode: --hub <uuid> resolves org/project info from the API
|
|
6
|
+
*/
|
|
7
|
+
import * as readline from 'node:readline';
|
|
8
|
+
import { requireAuth } from '../lib/auth.js';
|
|
9
|
+
import { ApiClient } from '../lib/api-client.js';
|
|
10
|
+
import { readRepoConfig, writeRepoConfig } from '../lib/repo-config.js';
|
|
11
|
+
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
12
|
+
function prompt(question) {
|
|
13
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
14
|
+
return new Promise((resolve) => {
|
|
15
|
+
rl.question(question, (answer) => {
|
|
16
|
+
rl.close();
|
|
17
|
+
resolve(answer.trim());
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function parseArgs(args) {
|
|
22
|
+
let hubId;
|
|
23
|
+
let autoConfirm = false;
|
|
24
|
+
const hubIdx = args.indexOf('--hub');
|
|
25
|
+
if (hubIdx !== -1 && args[hubIdx + 1]) {
|
|
26
|
+
hubId = args[hubIdx + 1];
|
|
27
|
+
}
|
|
28
|
+
for (const arg of args) {
|
|
29
|
+
if (arg === '--yes' || arg === '-y') {
|
|
30
|
+
autoConfirm = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return { hubId, autoConfirm };
|
|
34
|
+
}
|
|
35
|
+
export async function initCommand(args) {
|
|
36
|
+
const { hubId: directHubId, autoConfirm } = parseArgs(args);
|
|
37
|
+
// Warn if .wayai.yaml already exists
|
|
38
|
+
const existing = readRepoConfig();
|
|
39
|
+
if (existing) {
|
|
40
|
+
console.log(`Current scope: ${existing.hub_name || existing.hub_id} in ${existing.organization_name || existing.organization_id}`);
|
|
41
|
+
if (!autoConfirm) {
|
|
42
|
+
const answer = await prompt('Overwrite? [y/N]: ');
|
|
43
|
+
if (answer.toLowerCase() !== 'y') {
|
|
44
|
+
console.log('Cancelled.');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const { config, accessToken } = await requireAuth();
|
|
50
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
51
|
+
if (directHubId) {
|
|
52
|
+
await initDirect(client, directHubId);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
await initInteractive(client);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async function initDirect(client, hubId) {
|
|
59
|
+
if (!UUID_RE.test(hubId)) {
|
|
60
|
+
console.error('Invalid hub ID. Expected a UUID.');
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
// Search all orgs → hubs to find the hub by ID (fan out in parallel)
|
|
64
|
+
console.log('Looking up hub...');
|
|
65
|
+
const { organizations } = await client.organizations();
|
|
66
|
+
const results = await Promise.all(organizations.map((org) => client.listHubs(org.id).then((r) => ({ org, hubs: r.hubs }))));
|
|
67
|
+
for (const { org, hubs } of results) {
|
|
68
|
+
const hubMatch = hubs.find((h) => h.hub_id === hubId);
|
|
69
|
+
if (hubMatch) {
|
|
70
|
+
if (hubMatch.hub_environment === 'production') {
|
|
71
|
+
console.error(`Hub "${hubMatch.hub_name}" is a production hub. Production hubs are read-only — use the linked preview hub instead.`);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
if (hubMatch.branch_name) {
|
|
75
|
+
console.log(`Warning: "${hubMatch.hub_name}" is a CI branch preview (${hubMatch.branch_name}) and may be auto-deleted after 7 days of inactivity.`);
|
|
76
|
+
}
|
|
77
|
+
console.log(`Found: ${hubMatch.hub_name} in ${hubMatch.project_name} (${org.name})`);
|
|
78
|
+
const configPath = writeRepoConfig({
|
|
79
|
+
organization_id: org.id,
|
|
80
|
+
organization_name: org.name,
|
|
81
|
+
project_id: hubMatch.project_id,
|
|
82
|
+
project_name: hubMatch.project_name,
|
|
83
|
+
hub_id: hubId,
|
|
84
|
+
hub_name: hubMatch.hub_name,
|
|
85
|
+
});
|
|
86
|
+
console.log(`\nWrote ${configPath}`);
|
|
87
|
+
console.log('Run `wayai pull` to fetch hub configuration.');
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
console.error(`Hub ${hubId} not found in any organization you have access to.`);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
async function initInteractive(client) {
|
|
95
|
+
// Step 1: Pick organization
|
|
96
|
+
console.log('Fetching organizations...');
|
|
97
|
+
const { organizations } = await client.organizations();
|
|
98
|
+
if (organizations.length === 0) {
|
|
99
|
+
console.error('No organizations found. Create one in the WayAI platform first.');
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
let selectedOrg;
|
|
103
|
+
if (organizations.length === 1) {
|
|
104
|
+
selectedOrg = organizations[0];
|
|
105
|
+
console.log(`Organization: ${selectedOrg.name}`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
console.log('\nOrganizations:');
|
|
109
|
+
for (let i = 0; i < organizations.length; i++) {
|
|
110
|
+
console.log(` ${i + 1}. ${organizations[i].name}`);
|
|
111
|
+
}
|
|
112
|
+
const orgAnswer = await prompt(`\nSelect organization [1-${organizations.length}]: `);
|
|
113
|
+
const orgIdx = parseInt(orgAnswer, 10) - 1;
|
|
114
|
+
if (isNaN(orgIdx) || orgIdx < 0 || orgIdx >= organizations.length) {
|
|
115
|
+
console.error('Invalid selection.');
|
|
116
|
+
process.exit(1);
|
|
117
|
+
}
|
|
118
|
+
selectedOrg = organizations[orgIdx];
|
|
119
|
+
}
|
|
120
|
+
// Step 2: Fetch all hubs and group by project
|
|
121
|
+
console.log('Fetching hubs...');
|
|
122
|
+
const { hubs } = await client.listHubs(selectedOrg.id);
|
|
123
|
+
// Filter to preview hubs only (production hubs aren't tracked in repos)
|
|
124
|
+
const previewHubs = hubs.filter((h) => h.hub_environment === 'preview');
|
|
125
|
+
if (previewHubs.length === 0) {
|
|
126
|
+
console.error('No preview hubs found. Create one in the WayAI platform first.');
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
// Group by project
|
|
130
|
+
const projectMap = new Map();
|
|
131
|
+
for (const hub of previewHubs) {
|
|
132
|
+
let project = projectMap.get(hub.project_id);
|
|
133
|
+
if (!project) {
|
|
134
|
+
project = { id: hub.project_id, name: hub.project_name, hubs: [] };
|
|
135
|
+
projectMap.set(hub.project_id, project);
|
|
136
|
+
}
|
|
137
|
+
project.hubs.push(hub);
|
|
138
|
+
}
|
|
139
|
+
const projects = Array.from(projectMap.values());
|
|
140
|
+
// Step 3: Pick project (skip if only one)
|
|
141
|
+
let selectedProject;
|
|
142
|
+
if (projects.length === 1) {
|
|
143
|
+
selectedProject = projects[0];
|
|
144
|
+
console.log(`Project: ${selectedProject.name}`);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.log('\nProjects:');
|
|
148
|
+
for (let i = 0; i < projects.length; i++) {
|
|
149
|
+
console.log(` ${i + 1}. ${projects[i].name} (${projects[i].hubs.length} hub${projects[i].hubs.length !== 1 ? 's' : ''})`);
|
|
150
|
+
}
|
|
151
|
+
const projAnswer = await prompt(`\nSelect project [1-${projects.length}]: `);
|
|
152
|
+
const projIdx = parseInt(projAnswer, 10) - 1;
|
|
153
|
+
if (isNaN(projIdx) || projIdx < 0 || projIdx >= projects.length) {
|
|
154
|
+
console.error('Invalid selection.');
|
|
155
|
+
process.exit(1);
|
|
156
|
+
}
|
|
157
|
+
selectedProject = projects[projIdx];
|
|
158
|
+
}
|
|
159
|
+
// Step 4: Pick hub
|
|
160
|
+
const hubList = selectedProject.hubs;
|
|
161
|
+
let selectedHub;
|
|
162
|
+
if (hubList.length === 1) {
|
|
163
|
+
selectedHub = hubList[0];
|
|
164
|
+
console.log(`Hub: ${selectedHub.hub_name}`);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
console.log('\nHubs:');
|
|
168
|
+
for (let i = 0; i < hubList.length; i++) {
|
|
169
|
+
const h = hubList[i];
|
|
170
|
+
const label = h.preview_label ? ` (${h.preview_label})` : h.branch_name ? ` [${h.branch_name}]` : '';
|
|
171
|
+
console.log(` ${i + 1}. ${h.hub_name}${label}`);
|
|
172
|
+
}
|
|
173
|
+
const hubAnswer = await prompt(`\nSelect hub [1-${hubList.length}]: `);
|
|
174
|
+
const hubIdx = parseInt(hubAnswer, 10) - 1;
|
|
175
|
+
if (isNaN(hubIdx) || hubIdx < 0 || hubIdx >= hubList.length) {
|
|
176
|
+
console.error('Invalid selection.');
|
|
177
|
+
process.exit(1);
|
|
178
|
+
}
|
|
179
|
+
selectedHub = hubList[hubIdx];
|
|
180
|
+
}
|
|
181
|
+
// Step 5: Write .wayai.yaml
|
|
182
|
+
const configPath = writeRepoConfig({
|
|
183
|
+
organization_id: selectedOrg.id,
|
|
184
|
+
organization_name: selectedOrg.name,
|
|
185
|
+
project_id: selectedProject.id,
|
|
186
|
+
project_name: selectedProject.name,
|
|
187
|
+
hub_id: selectedHub.hub_id,
|
|
188
|
+
hub_name: selectedHub.hub_name,
|
|
189
|
+
});
|
|
190
|
+
console.log(`\nWrote ${configPath}`);
|
|
191
|
+
console.log('Run `wayai pull` to fetch hub configuration.');
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxE,MAAM,OAAO,GAAG,iEAAiE,CAAC;AAElF,SAAS,MAAM,CAAC,QAAgB;IAC9B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,IAAI,KAAyB,CAAC;IAC9B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACtC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,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;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE5D,qCAAqC;IACrC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,OAAO,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;QACnI,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,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,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,KAAa;IACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qEAAqE;IACrE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IAEvD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACzF,CAAC;IAEF,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,QAAQ,QAAQ,CAAC,QAAQ,4FAA4F,CAAC,CAAC;gBACrI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,QAAQ,6BAA6B,QAAQ,CAAC,WAAW,uDAAuD,CAAC,CAAC;YACtJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,QAAQ,OAAO,QAAQ,CAAC,YAAY,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAErF,MAAM,UAAU,GAAG,eAAe,CAAC;gBACjC,eAAe,EAAE,GAAG,CAAC,EAAE;gBACvB,iBAAiB,EAAE,GAAG,CAAC,IAAI;gBAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,oDAAoD,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAiB;IAC9C,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;IAEvD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,WAAyC,CAAC;IAE9C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,4BAA4B,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEvD,wEAAwE;IACxE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;IAExE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+D,CAAC;IAC1F,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;YACnE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjD,0CAA0C;IAC1C,IAAI,eAAoE,CAAC;IAEzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7H,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,uBAAuB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB;IACnB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC;IACrC,IAAI,WAA0B,CAAC;IAE/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,mBAAmB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,eAAe,CAAC;QACjC,eAAe,EAAE,WAAW,CAAC,EAAE;QAC/B,iBAAiB,EAAE,WAAW,CAAC,IAAI;QACnC,UAAU,EAAE,eAAe,CAAC,EAAE;QAC9B,YAAY,EAAE,eAAe,CAAC,IAAI;QAClC,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;AAC9D,CAAC"}
|
package/dist/commands/pull.d.ts
CHANGED
|
@@ -1,24 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* wayai pull [
|
|
2
|
+
* wayai pull [-y] — fetch hub config from the platform and write local files
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* wayai pull project/hub — resolve workspace folder, pull that hub
|
|
6
|
-
* wayai pull --all — pull all hubs in workspace
|
|
7
|
-
* wayai pull — from hub folder: pull current hub
|
|
8
|
-
* wayai pull — from repo root: error with help
|
|
4
|
+
* Pulls the single hub specified in .wayai.yaml (hub_id).
|
|
9
5
|
*/
|
|
10
|
-
import type { HubLocation } from '../lib/workspace.js';
|
|
11
|
-
import type { CiHubListItem } from '../lib/types.js';
|
|
12
|
-
/**
|
|
13
|
-
* Categorize hubs into new (remote-only), existing (both local and remote),
|
|
14
|
-
* and local-only (local but not on remote).
|
|
15
|
-
*/
|
|
16
|
-
export declare function categorizeHubs(remoteHubs: CiHubListItem[], localHubs: HubLocation[]): {
|
|
17
|
-
newHubs: CiHubListItem[];
|
|
18
|
-
existingHubs: Array<{
|
|
19
|
-
remote: CiHubListItem;
|
|
20
|
-
local: HubLocation;
|
|
21
|
-
}>;
|
|
22
|
-
localOnlyHubs: HubLocation[];
|
|
23
|
-
};
|
|
24
6
|
export declare function pullCommand(args: string[]): Promise<void>;
|
package/dist/commands/pull.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* wayai pull [
|
|
2
|
+
* wayai pull [-y] — fetch hub config from the platform and write local files
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* wayai pull project/hub — resolve workspace folder, pull that hub
|
|
6
|
-
* wayai pull --all — pull all hubs in workspace
|
|
7
|
-
* wayai pull — from hub folder: pull current hub
|
|
8
|
-
* wayai pull — from repo root: error with help
|
|
4
|
+
* Pulls the single hub specified in .wayai.yaml (hub_id).
|
|
9
5
|
*/
|
|
10
6
|
import * as fs from 'node:fs';
|
|
11
7
|
import * as path from 'node:path';
|
|
@@ -14,39 +10,74 @@ import { ApiClient } from '../lib/api-client.js';
|
|
|
14
10
|
import { writeHubFolder } from '../lib/yaml-writer.js';
|
|
15
11
|
import { parseHubFolder } from '../lib/parser.js';
|
|
16
12
|
import { printDiff } from '../lib/diff-display.js';
|
|
17
|
-
import { confirm
|
|
18
|
-
import { autoRenameHubFolder, detectWorkspace, findGitRoot, resolveHubFolder, scanWorkspaceHubs
|
|
13
|
+
import { confirm } from '../lib/utils.js';
|
|
14
|
+
import { autoRenameHubFolder, detectWorkspace, findGitRoot, resolveHubFolder, scanWorkspaceHubs } from '../lib/workspace.js';
|
|
19
15
|
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
20
16
|
function parseArgs(args) {
|
|
21
|
-
let hubPath;
|
|
22
|
-
let all = false;
|
|
23
17
|
let autoConfirm = false;
|
|
24
18
|
for (const arg of args) {
|
|
25
|
-
if (arg === '--
|
|
26
|
-
all = true;
|
|
27
|
-
}
|
|
28
|
-
else if (arg === '--yes' || arg === '-y') {
|
|
19
|
+
if (arg === '--yes' || arg === '-y') {
|
|
29
20
|
autoConfirm = true;
|
|
30
21
|
}
|
|
31
|
-
else if (!arg.startsWith('-')) {
|
|
32
|
-
hubPath = arg;
|
|
33
|
-
}
|
|
34
22
|
}
|
|
35
|
-
return {
|
|
23
|
+
return { autoConfirm };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the hub folder for the configured hub_id.
|
|
27
|
+
* Scans workspace first; falls back to creating a new path using remote hub info.
|
|
28
|
+
*/
|
|
29
|
+
function findHubFolder(workspaceDir, hubId) {
|
|
30
|
+
if (!fs.existsSync(workspaceDir))
|
|
31
|
+
return null;
|
|
32
|
+
const allHubs = scanWorkspaceHubs(workspaceDir);
|
|
33
|
+
const match = allHubs.find((h) => h.hubId === hubId);
|
|
34
|
+
return match ? match.hubFolder : null;
|
|
36
35
|
}
|
|
37
|
-
async function
|
|
36
|
+
export async function pullCommand(args) {
|
|
37
|
+
const { autoConfirm } = parseArgs(args);
|
|
38
|
+
const { config, accessToken } = await requireAuth();
|
|
39
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
40
|
+
const repoConfig = requireRepoConfig();
|
|
41
|
+
const { organization_id: organizationId, hub_id: hubId } = repoConfig;
|
|
42
|
+
// Determine workspace directory
|
|
43
|
+
let workspaceDir;
|
|
44
|
+
const workspace = detectWorkspace();
|
|
45
|
+
if (workspace) {
|
|
46
|
+
workspaceDir = workspace.workspaceDir;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const gitRoot = findGitRoot();
|
|
50
|
+
if (!gitRoot) {
|
|
51
|
+
console.error('Not inside a git repository.');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
workspaceDir = path.join(gitRoot, 'workspace');
|
|
55
|
+
}
|
|
56
|
+
// Try to find existing hub folder locally
|
|
57
|
+
let hubFolder = findHubFolder(workspaceDir, hubId);
|
|
58
|
+
// Fetch remote hub config
|
|
38
59
|
console.log('Fetching hub configuration...');
|
|
39
60
|
const payload = await client.pull(hubId, organizationId);
|
|
40
61
|
if (payload.hub_environment === 'production') {
|
|
41
62
|
console.log('Skipping production hub — production hubs are not tracked in the repository. Edit the linked preview hub instead.');
|
|
42
63
|
return;
|
|
43
64
|
}
|
|
44
|
-
// If
|
|
65
|
+
// If no existing folder, create path for first pull
|
|
66
|
+
if (!hubFolder) {
|
|
67
|
+
hubFolder = resolveHubFolder(workspaceDir, hubId, repoConfig.project_name || repoConfig.project_id.slice(0, 8), payload.hub.name, payload.hub_environment, payload.preview_label, payload.branch_name);
|
|
68
|
+
// Ensure parent directories exist
|
|
69
|
+
fs.mkdirSync(path.dirname(hubFolder), { recursive: true });
|
|
70
|
+
console.log('Writing hub configuration...');
|
|
71
|
+
writeHubFolder(hubFolder, payload);
|
|
72
|
+
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
73
|
+
console.log(`Hub configuration written to ${finalFolder}`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
// Hub folder exists — show diff before overwriting
|
|
45
77
|
try {
|
|
46
78
|
const localPayload = parseHubFolder(hubFolder);
|
|
47
79
|
const diffResult = await client.diff(hubId, localPayload, 'pull', organizationId);
|
|
48
80
|
if (!diffResult.has_changes) {
|
|
49
|
-
// Still rename folder if hub name changed (content matches but folder slug is stale)
|
|
50
81
|
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
51
82
|
if (finalFolder === hubFolder) {
|
|
52
83
|
console.log('No changes — local files are up to date.');
|
|
@@ -67,201 +98,11 @@ async function pullSingleHub(client, hubId, hubFolder, autoConfirm, organization
|
|
|
67
98
|
}
|
|
68
99
|
}
|
|
69
100
|
catch {
|
|
70
|
-
//
|
|
101
|
+
// Local files can't be parsed — overwrite
|
|
71
102
|
console.log('Writing hub configuration...');
|
|
72
103
|
}
|
|
73
104
|
writeHubFolder(hubFolder, payload);
|
|
74
|
-
// Auto-rename hub folder to match the remote hub name (what was just fetched)
|
|
75
105
|
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
76
106
|
console.log(`Hub configuration written to ${finalFolder}`);
|
|
77
107
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Categorize hubs into new (remote-only), existing (both local and remote),
|
|
80
|
-
* and local-only (local but not on remote).
|
|
81
|
-
*/
|
|
82
|
-
export function categorizeHubs(remoteHubs, localHubs) {
|
|
83
|
-
const localByHubId = new Map();
|
|
84
|
-
for (const hub of localHubs) {
|
|
85
|
-
localByHubId.set(hub.hubId, hub);
|
|
86
|
-
}
|
|
87
|
-
const remoteHubIds = new Set();
|
|
88
|
-
const newHubs = [];
|
|
89
|
-
const existingHubs = [];
|
|
90
|
-
for (const remote of remoteHubs) {
|
|
91
|
-
remoteHubIds.add(remote.hub_id);
|
|
92
|
-
const local = localByHubId.get(remote.hub_id);
|
|
93
|
-
if (local) {
|
|
94
|
-
existingHubs.push({ remote, local });
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
newHubs.push(remote);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
const localOnlyHubs = localHubs.filter((h) => !remoteHubIds.has(h.hubId));
|
|
101
|
-
return { newHubs, existingHubs, localOnlyHubs };
|
|
102
|
-
}
|
|
103
|
-
async function pullAllHubs(client, autoConfirm, organizationId, projectId) {
|
|
104
|
-
// 1. Fetch all remote hubs
|
|
105
|
-
console.log('Fetching hub list from remote...');
|
|
106
|
-
const { hubs: remoteHubs } = await client.listHubs(organizationId, projectId);
|
|
107
|
-
if (remoteHubs.length === 0) {
|
|
108
|
-
console.log('No hubs found in the organization.');
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
// 2. Ensure workspace/ exists
|
|
112
|
-
let workspaceDir;
|
|
113
|
-
const workspace = detectWorkspace();
|
|
114
|
-
if (workspace) {
|
|
115
|
-
workspaceDir = workspace.workspaceDir;
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
const gitRoot = findGitRoot();
|
|
119
|
-
if (!gitRoot) {
|
|
120
|
-
console.error('Not inside a git repository. Run from a git repo.');
|
|
121
|
-
process.exit(1);
|
|
122
|
-
}
|
|
123
|
-
workspaceDir = path.join(gitRoot, 'workspace');
|
|
124
|
-
}
|
|
125
|
-
// 3. Scan local workspace
|
|
126
|
-
const localHubs = fs.existsSync(workspaceDir) ? scanWorkspaceHubs(workspaceDir) : [];
|
|
127
|
-
// 4. Categorize
|
|
128
|
-
const { newHubs, existingHubs, localOnlyHubs } = categorizeHubs(remoteHubs, localHubs);
|
|
129
|
-
// 5. Display plan
|
|
130
|
-
console.log(`\nRemote: ${remoteHubs.length} hub(s) | Local: ${localHubs.length} hub(s)\n`);
|
|
131
|
-
if (newHubs.length > 0) {
|
|
132
|
-
console.log(` New (will create locally): ${newHubs.length}`);
|
|
133
|
-
for (const hub of newHubs) {
|
|
134
|
-
const folder = resolveHubFolder(workspaceDir, hub.hub_id, hub.project_name, hub.hub_name, hub.hub_environment, hub.preview_label, hub.branch_name);
|
|
135
|
-
const rel = path.relative(process.cwd(), folder);
|
|
136
|
-
console.log(` + ${rel}`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (existingHubs.length > 0) {
|
|
140
|
-
console.log(` Existing (will update): ${existingHubs.length}`);
|
|
141
|
-
for (const { local } of existingHubs) {
|
|
142
|
-
const rel = path.relative(process.cwd(), local.hubFolder);
|
|
143
|
-
console.log(` ~ ${rel}`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (localOnlyHubs.length > 0) {
|
|
147
|
-
console.log(` Local only (not on remote): ${localOnlyHubs.length}`);
|
|
148
|
-
for (const hub of localOnlyHubs) {
|
|
149
|
-
const rel = path.relative(process.cwd(), hub.hubFolder);
|
|
150
|
-
console.log(` ? ${rel}`);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
const totalToPull = newHubs.length + existingHubs.length;
|
|
154
|
-
if (totalToPull === 0) {
|
|
155
|
-
console.log('\nNothing to pull.');
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
console.log();
|
|
159
|
-
if (!autoConfirm) {
|
|
160
|
-
const ok = await confirm(`Pull ${totalToPull} hub(s)?`);
|
|
161
|
-
if (!ok) {
|
|
162
|
-
console.log('Cancelled.');
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// 6. Create workspace/ if it doesn't exist yet (after confirmation)
|
|
167
|
-
if (!fs.existsSync(workspaceDir)) {
|
|
168
|
-
fs.mkdirSync(workspaceDir, { recursive: true });
|
|
169
|
-
}
|
|
170
|
-
// 7. Pull each remote hub
|
|
171
|
-
const errors = [];
|
|
172
|
-
for (const hub of newHubs) {
|
|
173
|
-
const folder = resolveHubFolder(workspaceDir, hub.hub_id, hub.project_name, hub.hub_name, hub.hub_environment, hub.preview_label, hub.branch_name);
|
|
174
|
-
const rel = path.relative(process.cwd(), folder);
|
|
175
|
-
console.log(`\n--- ${rel} (new) ---`);
|
|
176
|
-
try {
|
|
177
|
-
await pullSingleHub(client, hub.hub_id, folder, true, organizationId);
|
|
178
|
-
}
|
|
179
|
-
catch (err) {
|
|
180
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
181
|
-
console.error(`Error: ${msg}`);
|
|
182
|
-
errors.push({ name: `${hub.project_name}/${hub.hub_name}`, error: msg });
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
for (const { remote, local } of existingHubs) {
|
|
186
|
-
const rel = path.relative(process.cwd(), local.hubFolder);
|
|
187
|
-
console.log(`\n--- ${rel} ---`);
|
|
188
|
-
try {
|
|
189
|
-
await pullSingleHub(client, remote.hub_id, local.hubFolder, true, organizationId);
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
193
|
-
console.error(`Error: ${msg}`);
|
|
194
|
-
errors.push({ name: `${remote.project_name}/${remote.hub_name}`, error: msg });
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
// 8. Warn about local-only hubs
|
|
198
|
-
if (localOnlyHubs.length > 0) {
|
|
199
|
-
console.log(`\nWarning: ${localOnlyHubs.length} local hub(s) not found on remote (not deleted):`);
|
|
200
|
-
for (const hub of localOnlyHubs) {
|
|
201
|
-
const rel = path.relative(process.cwd(), hub.hubFolder);
|
|
202
|
-
console.log(` ${rel}`);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
if (errors.length > 0) {
|
|
206
|
-
console.error(`\n${errors.length} hub(s) failed:`);
|
|
207
|
-
for (const e of errors) {
|
|
208
|
-
console.error(` ${e.name}: ${e.error}`);
|
|
209
|
-
}
|
|
210
|
-
process.exit(1);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
async function pullExplicitPath(client, hubPath, autoConfirm, organizationId, projectId) {
|
|
214
|
-
const result = resolveExplicitHubPath(hubPath);
|
|
215
|
-
if ('resolved' in result) {
|
|
216
|
-
console.log(`Found hub locally: ${result.resolved.hubId} (${result.resolved.hubEnvironment})`);
|
|
217
|
-
await pullSingleHub(client, result.resolved.hubId, result.resolved.hubFolder, autoConfirm, organizationId);
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
// Fall back to API lookup (handles original names and remote-only hubs)
|
|
221
|
-
const { segments } = result;
|
|
222
|
-
const lookupPath = hubPath;
|
|
223
|
-
// For non-3-part paths, pass org/project IDs to scope the lookup
|
|
224
|
-
const lookupOpts = segments.orgPrefix
|
|
225
|
-
? undefined
|
|
226
|
-
: { organizationId, projectId };
|
|
227
|
-
console.log(`Looking up ${hubPath}...`);
|
|
228
|
-
const lookup = await client.lookup(lookupPath, lookupOpts);
|
|
229
|
-
console.log(`Found hub: ${lookup.hub_name} (${lookup.hub_environment}) in ${lookup.project_name}`);
|
|
230
|
-
const workspace = detectWorkspace();
|
|
231
|
-
const hubFolder = workspace
|
|
232
|
-
? resolveHubFolder(workspace.workspaceDir, lookup.hub_id, lookup.project_name, lookup.hub_name, lookup.hub_environment, lookup.preview_label, lookup.branch_name)
|
|
233
|
-
: process.cwd();
|
|
234
|
-
await pullSingleHub(client, lookup.hub_id, hubFolder, autoConfirm, organizationId);
|
|
235
|
-
}
|
|
236
|
-
export async function pullCommand(args) {
|
|
237
|
-
const { hubPath, all, autoConfirm } = parseArgs(args);
|
|
238
|
-
const { config, accessToken } = await requireAuth();
|
|
239
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
240
|
-
// Always require repo config for org scope — prevents cross-org operations
|
|
241
|
-
const repoConfig = requireRepoConfig();
|
|
242
|
-
const organizationId = repoConfig.organization_id;
|
|
243
|
-
// 1. Explicit hub path argument
|
|
244
|
-
if (hubPath) {
|
|
245
|
-
await pullExplicitPath(client, hubPath, autoConfirm, organizationId, repoConfig.project_id);
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
// 2. --all flag: pull all hubs in workspace
|
|
249
|
-
if (all) {
|
|
250
|
-
await pullAllHubs(client, autoConfirm, organizationId, repoConfig.project_id);
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
// 3. Current directory has wayai.yaml
|
|
254
|
-
const detected = await detectHubFromCwd();
|
|
255
|
-
if (detected) {
|
|
256
|
-
console.log(`Using hub from wayai.yaml: ${detected.hubId}`);
|
|
257
|
-
await pullSingleHub(client, detected.hubId, detected.hubFolder, autoConfirm, organizationId);
|
|
258
|
-
return;
|
|
259
|
-
}
|
|
260
|
-
// 4. None of the above — error with help
|
|
261
|
-
console.error('No hub found. Provide a hub path, use --all, or run from a hub folder:');
|
|
262
|
-
console.error(' wayai pull <project/hub> Pull a specific hub');
|
|
263
|
-
console.error(' wayai pull --all Pull all hubs in workspace');
|
|
264
|
-
console.error(' wayai pull Pull current hub (from hub folder)');
|
|
265
|
-
process.exit(1);
|
|
266
|
-
}
|
|
267
108
|
//# sourceMappingURL=pull.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,SAAS,SAAS,CAAC,IAAc;IAC/B,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;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,YAAoB,EAAE,KAAa;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,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,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;IAEtE,gCAAgC;IAChC,IAAI,YAAoB,CAAC;IACzB,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAEnD,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAEzD,IAAI,OAAO,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,mHAAmH,CAAC,CAAC;QACjI,OAAO;IACT,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,gBAAgB,CAC1B,YAAY,EACZ,KAAK,EACL,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,EAChB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,kCAAkC;QAClC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1J,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAElF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1J,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACrD,CAAC;YACD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1J,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;AAC7D,CAAC"}
|
package/dist/commands/push.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* wayai push [
|
|
2
|
+
* wayai push [-y] — parse local files, diff remote, sync to preview
|
|
3
3
|
*
|
|
4
|
-
*
|
|
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
|
|
4
|
+
* Pushes the single hub specified in .wayai.yaml (hub_id).
|
|
8
5
|
*/
|
|
9
6
|
import { ApiClient } from '../lib/api-client.js';
|
|
10
7
|
/**
|
package/dist/commands/push.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* wayai push [
|
|
2
|
+
* wayai push [-y] — parse local files, diff remote, sync to preview
|
|
3
3
|
*
|
|
4
|
-
*
|
|
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
|
|
4
|
+
* Pushes the single hub specified in .wayai.yaml (hub_id).
|
|
8
5
|
*/
|
|
9
6
|
import * as fs from 'node:fs';
|
|
10
7
|
import * as path from 'node:path';
|
|
@@ -13,21 +10,17 @@ import { requireAuth } from '../lib/auth.js';
|
|
|
13
10
|
import { ApiClient } from '../lib/api-client.js';
|
|
14
11
|
import { parseHubFolder } from '../lib/parser.js';
|
|
15
12
|
import { printDiff } from '../lib/diff-display.js';
|
|
16
|
-
import { confirm,
|
|
17
|
-
import { autoRenameHubFolder,
|
|
13
|
+
import { confirm, slugify } from '../lib/utils.js';
|
|
14
|
+
import { autoRenameHubFolder, scanWorkspaceHubs, detectWorkspace, findGitRoot } from '../lib/workspace.js';
|
|
18
15
|
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
19
16
|
function parseArgs(args) {
|
|
20
|
-
let hubPath;
|
|
21
17
|
let autoConfirm = false;
|
|
22
18
|
for (const arg of args) {
|
|
23
19
|
if (arg === '--yes' || arg === '-y') {
|
|
24
20
|
autoConfirm = true;
|
|
25
21
|
}
|
|
26
|
-
else if (!arg.startsWith('-')) {
|
|
27
|
-
hubPath = arg;
|
|
28
|
-
}
|
|
29
22
|
}
|
|
30
|
-
return {
|
|
23
|
+
return { autoConfirm };
|
|
31
24
|
}
|
|
32
25
|
function printSyncResult(result) {
|
|
33
26
|
console.log(`\nSync complete. Preview hub: ${result.preview_hub_id}`);
|
|
@@ -217,97 +210,36 @@ async function pushSingleHub(client, hubId, hubFolder, autoConfirm, organization
|
|
|
217
210
|
}
|
|
218
211
|
return true;
|
|
219
212
|
}
|
|
220
|
-
async function pushChangedHubs(client, workspaceDir, autoConfirm, organizationId) {
|
|
221
|
-
console.log('Detecting changed hubs...');
|
|
222
|
-
const changed = getChangedHubs(workspaceDir);
|
|
223
|
-
if (changed.length === 0) {
|
|
224
|
-
console.log('No changed hub files detected.');
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
console.log(`Found ${changed.length} hub(s) with changes:\n`);
|
|
228
|
-
for (const hub of changed) {
|
|
229
|
-
console.log(` ${hub.hubFolder}`);
|
|
230
|
-
}
|
|
231
|
-
console.log();
|
|
232
|
-
if (!autoConfirm) {
|
|
233
|
-
const ok = await confirm(`Push ${changed.length} hub(s)?`);
|
|
234
|
-
if (!ok) {
|
|
235
|
-
console.log('Cancelled.');
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
const errors = [];
|
|
240
|
-
for (const hub of changed) {
|
|
241
|
-
console.log(`\n--- ${hub.hubFolder} ---`);
|
|
242
|
-
try {
|
|
243
|
-
await pushSingleHub(client, hub.hubId, hub.hubFolder, true, organizationId);
|
|
244
|
-
}
|
|
245
|
-
catch (err) {
|
|
246
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
247
|
-
console.error(`Error: ${msg}`);
|
|
248
|
-
errors.push({ hubFolder: hub.hubFolder, error: msg });
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
if (errors.length > 0) {
|
|
252
|
-
console.error(`\n${errors.length} hub(s) failed:`);
|
|
253
|
-
for (const e of errors) {
|
|
254
|
-
console.error(` ${e.hubFolder}: ${e.error}`);
|
|
255
|
-
}
|
|
256
|
-
process.exit(1);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
async function pushExplicitPath(client, hubPath, autoConfirm, organizationId, projectId) {
|
|
260
|
-
const result = resolveExplicitHubPath(hubPath);
|
|
261
|
-
if ('resolved' in result) {
|
|
262
|
-
console.log(`Found hub locally: ${result.resolved.hubId} (${result.resolved.hubEnvironment})`);
|
|
263
|
-
await pushSingleHub(client, result.resolved.hubId, result.resolved.hubFolder, autoConfirm, organizationId);
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
// Fall back to API lookup (handles original names and remote-only hubs)
|
|
267
|
-
const { segments } = result;
|
|
268
|
-
const lookupPath = hubPath;
|
|
269
|
-
// For non-3-part paths, pass org/project IDs to scope the lookup
|
|
270
|
-
const lookupOpts = segments.orgPrefix
|
|
271
|
-
? undefined
|
|
272
|
-
: { organizationId, projectId };
|
|
273
|
-
console.log(`Looking up ${hubPath}...`);
|
|
274
|
-
const lookup = await client.lookup(lookupPath, lookupOpts);
|
|
275
|
-
console.log(`Found hub: ${lookup.hub_name} (${lookup.hub_environment}) in ${lookup.project_name}`);
|
|
276
|
-
const workspace = detectWorkspace();
|
|
277
|
-
const hubFolder = workspace
|
|
278
|
-
? resolveHubFolder(workspace.workspaceDir, lookup.hub_id, lookup.project_name, lookup.hub_name, lookup.hub_environment, lookup.preview_label, lookup.branch_name)
|
|
279
|
-
: process.cwd();
|
|
280
|
-
await pushSingleHub(client, lookup.hub_id, hubFolder, autoConfirm, organizationId);
|
|
281
|
-
}
|
|
282
213
|
export async function pushCommand(args) {
|
|
283
|
-
const {
|
|
214
|
+
const { autoConfirm } = parseArgs(args);
|
|
284
215
|
const { config, accessToken } = await requireAuth();
|
|
285
216
|
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
286
|
-
// Always require repo config for org scope — prevents cross-org operations
|
|
287
217
|
const repoConfig = requireRepoConfig();
|
|
288
|
-
const organizationId = repoConfig
|
|
289
|
-
//
|
|
290
|
-
|
|
291
|
-
await pushExplicitPath(client, hubPath, autoConfirm, organizationId, repoConfig.project_id);
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
// 2. Current directory has wayai.yaml
|
|
295
|
-
const detected = await detectHubFromCwd();
|
|
296
|
-
if (detected) {
|
|
297
|
-
console.log(`Using hub from wayai.yaml: ${detected.hubId}`);
|
|
298
|
-
await pushSingleHub(client, detected.hubId, detected.hubFolder, autoConfirm, organizationId);
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
// 3. Workspace detected — auto-detect changed hubs
|
|
218
|
+
const { organization_id: organizationId, hub_id: hubId } = repoConfig;
|
|
219
|
+
// Find hub folder in workspace
|
|
220
|
+
let workspaceDir;
|
|
302
221
|
const workspace = detectWorkspace();
|
|
303
222
|
if (workspace) {
|
|
304
|
-
|
|
305
|
-
|
|
223
|
+
workspaceDir = workspace.workspaceDir;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const gitRoot = findGitRoot();
|
|
227
|
+
if (!gitRoot) {
|
|
228
|
+
console.error('Not inside a git repository.');
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
workspaceDir = path.join(gitRoot, 'workspace');
|
|
232
|
+
}
|
|
233
|
+
if (!fs.existsSync(workspaceDir)) {
|
|
234
|
+
console.error('No workspace/ directory found. Run `wayai pull` first to fetch hub configuration.');
|
|
235
|
+
process.exit(1);
|
|
236
|
+
}
|
|
237
|
+
const allHubs = scanWorkspaceHubs(workspaceDir);
|
|
238
|
+
const match = allHubs.find((h) => h.hubId === hubId);
|
|
239
|
+
if (!match) {
|
|
240
|
+
console.error(`Hub ${hubId} not found in workspace/. Run \`wayai pull\` first.`);
|
|
241
|
+
process.exit(1);
|
|
306
242
|
}
|
|
307
|
-
|
|
308
|
-
console.error('No hub found. Run from a hub folder with wayai.yaml, or provide a path:');
|
|
309
|
-
console.error(' wayai push <project/hub>');
|
|
310
|
-
console.error('\nOr run from a repo root with a workspace/ directory to auto-detect changes.');
|
|
311
|
-
process.exit(1);
|
|
243
|
+
await pushSingleHub(client, hubId, match.hubFolder, autoConfirm, organizationId);
|
|
312
244
|
}
|
|
313
245
|
//# 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":"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"}
|
package/dist/commands/status.js
CHANGED
|
@@ -26,18 +26,22 @@ export async function statusCommand() {
|
|
|
26
26
|
// Show repo scope
|
|
27
27
|
const repoConfig = readRepoConfig();
|
|
28
28
|
if (repoConfig) {
|
|
29
|
-
|
|
30
|
-
?
|
|
31
|
-
:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
const orgLine = repoConfig.organization_name
|
|
30
|
+
? `${repoConfig.organization_name} (${repoConfig.organization_id})`
|
|
31
|
+
: repoConfig.organization_id;
|
|
32
|
+
const projectLine = repoConfig.project_name
|
|
33
|
+
? `${repoConfig.project_name} (${repoConfig.project_id})`
|
|
34
|
+
: repoConfig.project_id;
|
|
35
|
+
const hubLine = repoConfig.hub_name
|
|
36
|
+
? `${repoConfig.hub_name} (${repoConfig.hub_id})`
|
|
37
|
+
: repoConfig.hub_id;
|
|
38
|
+
console.log(`Repository scope:`);
|
|
39
|
+
console.log(` Organization: ${orgLine}`);
|
|
40
|
+
console.log(` Project: ${projectLine}`);
|
|
41
|
+
console.log(` Hub: ${hubLine}`);
|
|
38
42
|
}
|
|
39
43
|
else {
|
|
40
|
-
console.log('No .wayai.yaml found —
|
|
44
|
+
console.log('No .wayai.yaml found — run `wayai init` to scope this repo to a hub.');
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
//# 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;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,
|
|
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,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB;YAC1C,CAAC,CAAC,GAAG,UAAU,CAAC,iBAAiB,KAAK,UAAU,CAAC,eAAe,GAAG;YACnE,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;QAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY;YACzC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC,UAAU,GAAG;YACzD,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ;YACjC,CAAC,CAAC,GAAG,UAAU,CAAC,QAAQ,KAAK,UAAU,CAAC,MAAM,GAAG;YACjD,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QAEtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,9 +6,10 @@
|
|
|
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 status — show current auth
|
|
10
|
-
* wayai
|
|
11
|
-
* wayai
|
|
9
|
+
* wayai status — show current auth and config status
|
|
10
|
+
* wayai init — set up .wayai.yaml (pick org/project/hub)
|
|
11
|
+
* wayai pull — fetch hub config and write local files
|
|
12
|
+
* wayai push — parse local files, diff, and sync to preview
|
|
12
13
|
* wayai update — update CLI to the latest version
|
|
13
14
|
*/
|
|
14
15
|
export {};
|
package/dist/index.js
CHANGED
|
@@ -6,9 +6,10 @@
|
|
|
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 status — show current auth
|
|
10
|
-
* wayai
|
|
11
|
-
* wayai
|
|
9
|
+
* wayai status — show current auth and config status
|
|
10
|
+
* wayai init — set up .wayai.yaml (pick org/project/hub)
|
|
11
|
+
* wayai pull — fetch hub config and write local files
|
|
12
|
+
* wayai push — parse local files, diff, and sync to preview
|
|
12
13
|
* wayai update — update CLI to the latest version
|
|
13
14
|
*/
|
|
14
15
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
@@ -36,6 +37,11 @@ async function main() {
|
|
|
36
37
|
await statusCommand();
|
|
37
38
|
break;
|
|
38
39
|
}
|
|
40
|
+
case 'init': {
|
|
41
|
+
const { initCommand } = await import('./commands/init.js');
|
|
42
|
+
await initCommand(args);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
39
45
|
case 'pull': {
|
|
40
46
|
const { pullCommand } = await import('./commands/pull.js');
|
|
41
47
|
await pullCommand(args);
|
|
@@ -77,33 +83,30 @@ Commands:
|
|
|
77
83
|
login --token Authenticate via MCP token (for headless/CI)
|
|
78
84
|
logout Clear stored credentials
|
|
79
85
|
status Show current auth and config status
|
|
80
|
-
|
|
81
|
-
|
|
86
|
+
init Set up .wayai.yaml (pick org/project/hub)
|
|
87
|
+
pull Fetch hub config and write local files
|
|
88
|
+
push Parse local files, show diff, sync to preview
|
|
82
89
|
update Update CLI to the latest version
|
|
83
90
|
|
|
84
|
-
Arguments:
|
|
85
|
-
path Hub path as project/hub or hub (resolves to workspace/ folder)
|
|
86
|
-
|
|
87
91
|
Flags:
|
|
88
92
|
--yes, -y Skip confirmation prompts (useful for CI and scripting)
|
|
89
|
-
--
|
|
93
|
+
--hub <uuid> Set hub directly in init (for agents/scripting)
|
|
90
94
|
--version, -v Show CLI version
|
|
91
95
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
Hub-scoped mode:
|
|
97
|
+
Each repository is scoped to a single hub via .wayai.yaml.
|
|
98
|
+
Run \`wayai init\` to pick an org, project, and hub interactively,
|
|
99
|
+
or \`wayai init --hub <uuid>\` to set it directly (add -y to skip prompts).
|
|
95
100
|
|
|
96
|
-
|
|
97
|
-
From a repo root (has workspace/), push auto-detects changed hubs
|
|
98
|
-
via git status, and pull requires --all or a hub path.
|
|
101
|
+
All commands (pull, push) operate on that hub only.
|
|
99
102
|
|
|
100
103
|
Examples:
|
|
101
104
|
wayai login
|
|
102
|
-
wayai
|
|
103
|
-
wayai
|
|
104
|
-
wayai pull
|
|
105
|
+
wayai init
|
|
106
|
+
wayai init --hub a1b2c3d4-e5f6-7890-abcd-ef1234567890
|
|
107
|
+
wayai pull
|
|
105
108
|
wayai push
|
|
106
|
-
wayai push
|
|
109
|
+
wayai push -y
|
|
107
110
|
`.trim());
|
|
108
111
|
}
|
|
109
112
|
function updateCommand() {
|
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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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Repo-level configuration — .wayai.yaml at git root
|
|
3
|
-
* Scopes the workspace to a single
|
|
3
|
+
* Scopes the workspace to a single hub (by org + project + hub ID).
|
|
4
4
|
*/
|
|
5
5
|
export interface RepoConfig {
|
|
6
6
|
organization_id: string;
|
|
7
7
|
organization_name?: string;
|
|
8
|
-
project_id
|
|
8
|
+
project_id: string;
|
|
9
9
|
project_name?: string;
|
|
10
|
+
hub_id: string;
|
|
11
|
+
hub_name?: string;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Read .wayai.yaml from the git root. Returns null if not found or invalid.
|
package/dist/lib/repo-config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Repo-level configuration — .wayai.yaml at git root
|
|
3
|
-
* Scopes the workspace to a single
|
|
3
|
+
* Scopes the workspace to a single hub (by org + project + hub ID).
|
|
4
4
|
*/
|
|
5
5
|
import * as fs from 'node:fs';
|
|
6
6
|
import * as path from 'node:path';
|
|
@@ -24,26 +24,36 @@ export function readRepoConfig(root) {
|
|
|
24
24
|
// Detect old format: organization (name) instead of organization_id (UUID)
|
|
25
25
|
if (config?.organization && typeof config.organization === 'string') {
|
|
26
26
|
console.error('.wayai.yaml uses the old format (organization: name). ' +
|
|
27
|
-
'Replace it with organization_id: <uuid
|
|
27
|
+
'Replace it with organization_id: <uuid>, project_id: <uuid>, hub_id: <uuid>.');
|
|
28
28
|
}
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
31
31
|
if (!UUID_RE.test(config.organization_id))
|
|
32
32
|
return null;
|
|
33
|
+
// project_id is required
|
|
34
|
+
if (!config.project_id || typeof config.project_id !== 'string' || !UUID_RE.test(config.project_id)) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
// hub_id is required
|
|
38
|
+
if (!config.hub_id || typeof config.hub_id !== 'string' || !UUID_RE.test(config.hub_id)) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
33
41
|
const organizationName = typeof config.organization_name === 'string' && config.organization_name.trim()
|
|
34
42
|
? config.organization_name.trim()
|
|
35
43
|
: undefined;
|
|
36
|
-
const projectId = typeof config.project_id === 'string' && UUID_RE.test(config.project_id)
|
|
37
|
-
? config.project_id
|
|
38
|
-
: undefined;
|
|
39
44
|
const projectName = typeof config.project_name === 'string' && config.project_name.trim()
|
|
40
45
|
? config.project_name.trim()
|
|
41
46
|
: undefined;
|
|
47
|
+
const hubName = typeof config.hub_name === 'string' && config.hub_name.trim()
|
|
48
|
+
? config.hub_name.trim()
|
|
49
|
+
: undefined;
|
|
42
50
|
return {
|
|
43
51
|
organization_id: config.organization_id,
|
|
44
52
|
organization_name: organizationName,
|
|
45
|
-
project_id:
|
|
53
|
+
project_id: config.project_id,
|
|
46
54
|
project_name: projectName,
|
|
55
|
+
hub_id: config.hub_id,
|
|
56
|
+
hub_name: hubName,
|
|
47
57
|
};
|
|
48
58
|
}
|
|
49
59
|
catch {
|
|
@@ -56,12 +66,14 @@ export function readRepoConfig(root) {
|
|
|
56
66
|
export function requireRepoConfig(root) {
|
|
57
67
|
const config = readRepoConfig(root);
|
|
58
68
|
if (!config) {
|
|
59
|
-
console.error('Missing .wayai.yaml at the repository root.');
|
|
60
|
-
console.error('
|
|
69
|
+
console.error('Missing or invalid .wayai.yaml at the repository root.');
|
|
70
|
+
console.error('The file must contain organization_id, project_id, and hub_id:');
|
|
61
71
|
console.error('');
|
|
62
72
|
console.error(' organization_id: <your-org-uuid>');
|
|
73
|
+
console.error(' project_id: <your-project-uuid>');
|
|
74
|
+
console.error(' hub_id: <your-hub-uuid>');
|
|
63
75
|
console.error('');
|
|
64
|
-
console.error('Run `wayai init`
|
|
76
|
+
console.error('Run `wayai init` to set up the workspace.');
|
|
65
77
|
process.exit(1);
|
|
66
78
|
}
|
|
67
79
|
return config;
|
|
@@ -78,10 +90,12 @@ export function writeRepoConfig(config, root) {
|
|
|
78
90
|
const doc = { organization_id: config.organization_id };
|
|
79
91
|
if (config.organization_name?.trim())
|
|
80
92
|
doc.organization_name = config.organization_name.trim();
|
|
81
|
-
|
|
82
|
-
doc.project_id = config.project_id;
|
|
93
|
+
doc.project_id = config.project_id;
|
|
83
94
|
if (config.project_name?.trim())
|
|
84
95
|
doc.project_name = config.project_name.trim();
|
|
96
|
+
doc.hub_id = config.hub_id;
|
|
97
|
+
if (config.hub_name?.trim())
|
|
98
|
+
doc.hub_name = config.hub_name.trim();
|
|
85
99
|
const content = yaml.dump(doc, { quotingType: '"', forceQuotes: false });
|
|
86
100
|
fs.writeFileSync(configPath, content, 'utf-8');
|
|
87
101
|
return configPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-config.js","sourceRoot":"","sources":["../../src/lib/repo-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;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;
|
|
1
|
+
{"version":3,"file":"repo-config.js","sourceRoot":"","sources":["../../src/lib/repo-config.ts"],"names":[],"mappings":"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"}
|