@wayai/cli 0.2.6 → 0.2.8

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.
@@ -7,4 +7,18 @@
7
7
  * wayai pull — from hub folder: pull current hub
8
8
  * wayai pull — from repo root: error with help
9
9
  */
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
+ };
10
24
  export declare function pullCommand(args: string[]): Promise<void>;
@@ -7,13 +7,15 @@
7
7
  * wayai pull — from hub folder: pull current hub
8
8
  * wayai pull — from repo root: error with help
9
9
  */
10
+ import * as fs from 'node:fs';
11
+ import * as path from 'node:path';
10
12
  import { requireAuth } from '../lib/auth.js';
11
13
  import { ApiClient } from '../lib/api-client.js';
12
14
  import { writeHubFolder } from '../lib/yaml-writer.js';
13
15
  import { parseHubFolder } from '../lib/parser.js';
14
16
  import { printDiff } from '../lib/diff-display.js';
15
17
  import { confirm, detectHubFromCwd } from '../lib/utils.js';
16
- import { autoRenameHubFolder, detectWorkspace, resolveHubFolder, scanWorkspaceHubs, resolveExplicitHubPath } from '../lib/workspace.js';
18
+ import { autoRenameHubFolder, detectWorkspace, findGitRoot, resolveHubFolder, scanWorkspaceHubs, resolveExplicitHubPath } from '../lib/workspace.js';
17
19
  import { requireRepoConfig } from '../lib/repo-config.js';
18
20
  function parseArgs(args) {
19
21
  let hubPath;
@@ -35,6 +37,10 @@ function parseArgs(args) {
35
37
  async function pullSingleHub(client, hubId, hubFolder, autoConfirm, organizationId) {
36
38
  console.log('Fetching hub configuration...');
37
39
  const payload = await client.pull(hubId, organizationId);
40
+ if (payload.hub_environment === 'production') {
41
+ console.log('Skipping production hub — production hubs are not tracked in the repository. Edit the linked preview hub instead.');
42
+ return;
43
+ }
38
44
  // If local files exist, show diff before overwriting
39
45
  try {
40
46
  const localPayload = parseHubFolder(hubFolder);
@@ -69,45 +75,137 @@ async function pullSingleHub(client, hubId, hubFolder, autoConfirm, organization
69
75
  const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
70
76
  console.log(`Hub configuration written to ${finalFolder}`);
71
77
  }
72
- async function pullAllHubs(client, autoConfirm, organizationId) {
73
- const workspace = detectWorkspace();
74
- if (!workspace) {
75
- console.error('No workspace/ directory found. Run from a git repo with a workspace/ directory.');
76
- process.exit(1);
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
+ }
77
99
  }
78
- const hubs = scanWorkspaceHubs(workspace.workspaceDir);
79
- if (hubs.length === 0) {
80
- console.log('No hubs found in workspace/.');
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.');
81
109
  return;
82
110
  }
83
- console.log(`Found ${hubs.length} hub(s) in workspace:\n`);
84
- for (const hub of hubs) {
85
- console.log(` ${hub.hubFolder}`);
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;
86
157
  }
87
158
  console.log();
88
159
  if (!autoConfirm) {
89
- const ok = await confirm(`Pull ${hubs.length} hub(s)?`);
160
+ const ok = await confirm(`Pull ${totalToPull} hub(s)?`);
90
161
  if (!ok) {
91
162
  console.log('Cancelled.');
92
163
  return;
93
164
  }
94
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
95
171
  const errors = [];
96
- for (const hub of hubs) {
97
- console.log(`\n--- ${hub.hubFolder} ---`);
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) ---`);
98
176
  try {
99
- await pullSingleHub(client, hub.hubId, hub.hubFolder, true, organizationId);
177
+ await pullSingleHub(client, hub.hub_id, folder, true, organizationId);
100
178
  }
101
179
  catch (err) {
102
180
  const msg = err instanceof Error ? err.message : String(err);
103
181
  console.error(`Error: ${msg}`);
104
- errors.push({ hubFolder: hub.hubFolder, 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}`);
105
203
  }
106
204
  }
107
205
  if (errors.length > 0) {
108
206
  console.error(`\n${errors.length} hub(s) failed:`);
109
207
  for (const e of errors) {
110
- console.error(` ${e.hubFolder}: ${e.error}`);
208
+ console.error(` ${e.name}: ${e.error}`);
111
209
  }
112
210
  process.exit(1);
113
211
  }
@@ -149,7 +247,7 @@ export async function pullCommand(args) {
149
247
  }
150
248
  // 2. --all flag: pull all hubs in workspace
151
249
  if (all) {
152
- await pullAllHubs(client, autoConfirm, organizationId);
250
+ await pullAllHubs(client, autoConfirm, organizationId, repoConfig.project_id);
153
251
  return;
154
252
  }
155
253
  // 3. Current directory has wayai.yaml
@@ -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":"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"}
@@ -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, CiOrganizationsResponse } from './types.js';
4
+ import type { HubAsCodePayload, CiDiffResponse, CiLookupResponse, CiSyncResponse, CiOrganizationsResponse, CiHubListResponse } from './types.js';
5
5
  export interface ApiClientOptions {
6
6
  apiUrl: string;
7
7
  accessToken: string;
@@ -19,5 +19,6 @@ export declare class ApiClient {
19
19
  projectId?: string;
20
20
  }): Promise<CiLookupResponse>;
21
21
  organizations(): Promise<CiOrganizationsResponse>;
22
+ listHubs(organizationId: string, projectId?: string): Promise<CiHubListResponse>;
22
23
  private request;
23
24
  }
@@ -46,6 +46,12 @@ export class ApiClient {
46
46
  async organizations() {
47
47
  return this.request('GET', '/api/ci/organizations');
48
48
  }
49
+ async listHubs(organizationId, projectId) {
50
+ const params = new URLSearchParams({ organization_id: organizationId });
51
+ if (projectId)
52
+ params.set('project_id', projectId);
53
+ return this.request('GET', `/api/ci/hubs?${params.toString()}`);
54
+ }
49
55
  async request(method, path, body) {
50
56
  const url = `${this.apiUrl}${path}`;
51
57
  const headers = {
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,19 @@ export interface CiOrganizationsResponse {
101
101
  name: string;
102
102
  }>;
103
103
  }
104
+ export interface CiHubListItem {
105
+ hub_id: string;
106
+ hub_name: string;
107
+ hub_environment: string;
108
+ preview_label: string | null;
109
+ branch_name: string | null;
110
+ production_hub_fk: string | null;
111
+ project_id: string;
112
+ project_name: string;
113
+ }
114
+ export interface CiHubListResponse {
115
+ hubs: CiHubListItem[];
116
+ }
104
117
  export interface CiSyncResponse {
105
118
  preview_hub_id: string;
106
119
  created: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wayai/cli",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "WayAI CLI — sync hub configuration between local files and the platform",
5
5
  "type": "module",
6
6
  "bin": {