@wayai/cli 0.2.25 → 0.2.27
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/delete-history.d.ts +10 -0
- package/dist/commands/delete-history.js +29 -0
- package/dist/commands/delete-history.js.map +1 -0
- package/dist/commands/init.js +21 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pull.js +66 -36
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/update.d.ts +6 -0
- package/dist/commands/update.js +62 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +12 -32
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +7 -0
- package/dist/lib/api-client.js +6 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/scaffold.d.ts +18 -0
- package/dist/lib/scaffold.js +72 -0
- package/dist/lib/scaffold.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai delete-history — delete all your conversations on a preview hub
|
|
3
|
+
*
|
|
4
|
+
* Destructive and irreversible — use to reset test data during development.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* wayai delete-history # prompts for confirmation
|
|
8
|
+
* wayai delete-history -y # skip confirmation
|
|
9
|
+
*/
|
|
10
|
+
export declare function deleteHistoryCommand(args: string[]): Promise<void>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai delete-history — delete all your conversations on a preview hub
|
|
3
|
+
*
|
|
4
|
+
* Destructive and irreversible — use to reset test data during development.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* wayai delete-history # prompts for confirmation
|
|
8
|
+
* wayai delete-history -y # skip confirmation
|
|
9
|
+
*/
|
|
10
|
+
import { requireAuth } from '../lib/auth.js';
|
|
11
|
+
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
12
|
+
import { ApiClient } from '../lib/api-client.js';
|
|
13
|
+
import { confirm } from '../lib/utils.js';
|
|
14
|
+
export async function deleteHistoryCommand(args) {
|
|
15
|
+
const { config, accessToken } = await requireAuth();
|
|
16
|
+
const repoConfig = requireRepoConfig();
|
|
17
|
+
const skipConfirm = args.includes('-y') || args.includes('--yes');
|
|
18
|
+
if (!skipConfirm) {
|
|
19
|
+
const confirmed = await confirm('This will permanently delete all your conversations on this preview hub. Continue?');
|
|
20
|
+
if (!confirmed) {
|
|
21
|
+
console.log('Aborted.');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
26
|
+
const result = await client.deleteHistory(repoConfig.hub_id);
|
|
27
|
+
console.log(`Deleted ${result.deleted_count} conversation(s).`);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=delete-history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-history.js","sourceRoot":"","sources":["../../src/commands/delete-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAc;IACvD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,oFAAoF,CACrF,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,aAAa,mBAAmB,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -8,6 +8,8 @@ import * as readline from 'node:readline';
|
|
|
8
8
|
import { requireAuth } from '../lib/auth.js';
|
|
9
9
|
import { ApiClient } from '../lib/api-client.js';
|
|
10
10
|
import { readRepoConfig, writeRepoConfig } from '../lib/repo-config.js';
|
|
11
|
+
import { refreshScaffold } from '../lib/scaffold.js';
|
|
12
|
+
import { findGitRoot } from '../lib/workspace.js';
|
|
11
13
|
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
14
|
function prompt(question) {
|
|
13
15
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
@@ -54,6 +56,25 @@ export async function initCommand(args) {
|
|
|
54
56
|
else {
|
|
55
57
|
await initInteractive(client);
|
|
56
58
|
}
|
|
59
|
+
// Download and extract scaffold files (CLAUDE.md, .mcp.json, skill directory)
|
|
60
|
+
const gitRoot = findGitRoot();
|
|
61
|
+
if (gitRoot) {
|
|
62
|
+
try {
|
|
63
|
+
const result = await refreshScaffold({
|
|
64
|
+
gitRoot,
|
|
65
|
+
apiUrl: config.api_url,
|
|
66
|
+
accessToken,
|
|
67
|
+
mode: 'init',
|
|
68
|
+
});
|
|
69
|
+
if (result.updated > 0) {
|
|
70
|
+
console.log(`Created ${result.files.join(', ')}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
console.warn(`Warning: failed to download scaffold files: ${err instanceof Error ? err.message : String(err)}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
console.log('Run `wayai pull` to fetch hub configuration.');
|
|
57
78
|
}
|
|
58
79
|
async function initDirect(client, hubId) {
|
|
59
80
|
if (!UUID_RE.test(hubId)) {
|
|
@@ -84,7 +105,6 @@ async function initDirect(client, hubId) {
|
|
|
84
105
|
hub_name: hubMatch.hub_name,
|
|
85
106
|
});
|
|
86
107
|
console.log(`\nWrote ${configPath}`);
|
|
87
|
-
console.log('Run `wayai pull` to fetch hub configuration.');
|
|
88
108
|
return;
|
|
89
109
|
}
|
|
90
110
|
}
|
|
@@ -188,6 +208,5 @@ async function initInteractive(client) {
|
|
|
188
208
|
hub_name: selectedHub.hub_name,
|
|
189
209
|
});
|
|
190
210
|
console.log(`\nWrote ${configPath}`);
|
|
191
|
-
console.log('Run `wayai pull` to fetch hub configuration.');
|
|
192
211
|
}
|
|
193
212
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/pull.js
CHANGED
|
@@ -13,6 +13,7 @@ import { printDiff } from '../lib/diff-display.js';
|
|
|
13
13
|
import { confirm, slugify } from '../lib/utils.js';
|
|
14
14
|
import { autoRenameHubFolder, detectWorkspace, findGitRoot, resolveHubFolder, scanWorkspaceHubs } from '../lib/workspace.js';
|
|
15
15
|
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
16
|
+
import { refreshScaffold } from '../lib/scaffold.js';
|
|
16
17
|
function parseArgs(args) {
|
|
17
18
|
let autoConfirm = false;
|
|
18
19
|
for (const arg of args) {
|
|
@@ -42,11 +43,11 @@ export async function pullCommand(args) {
|
|
|
42
43
|
// Determine workspace directory
|
|
43
44
|
let workspaceDir;
|
|
44
45
|
const workspace = detectWorkspace();
|
|
46
|
+
const gitRoot = findGitRoot();
|
|
45
47
|
if (workspace) {
|
|
46
48
|
workspaceDir = workspace.workspaceDir;
|
|
47
49
|
}
|
|
48
50
|
else {
|
|
49
|
-
const gitRoot = findGitRoot();
|
|
50
51
|
if (!gitRoot) {
|
|
51
52
|
console.error('Not inside a git repository.');
|
|
52
53
|
process.exit(1);
|
|
@@ -72,50 +73,79 @@ export async function pullCommand(args) {
|
|
|
72
73
|
await downloadBinaryResourceFiles(hubFolder, payload);
|
|
73
74
|
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
74
75
|
console.log(`Hub configuration written to ${finalFolder}`);
|
|
75
|
-
return;
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
77
|
+
else {
|
|
78
|
+
// Hub folder exists — show diff before overwriting
|
|
79
|
+
let cancelled = false;
|
|
80
|
+
try {
|
|
81
|
+
const localPayload = parseHubFolder(hubFolder);
|
|
82
|
+
const diffResult = await client.diff(hubId, localPayload, 'pull', organizationId);
|
|
83
|
+
// Connections are read-only references excluded from the diff engine.
|
|
84
|
+
// Compare them separately so new/removed connections trigger a pull write.
|
|
85
|
+
const connectionsChanged = !connectionsEqual(localPayload.connections, payload.connections);
|
|
86
|
+
if (!diffResult.has_changes && !connectionsChanged) {
|
|
87
|
+
// No semantic changes, but still write the remote payload to sync
|
|
88
|
+
// metadata (tool IDs, connection IDs, etc.) that the diff engine ignores.
|
|
89
|
+
writeHubFolder(hubFolder, payload);
|
|
90
|
+
await downloadBinaryResourceFiles(hubFolder, payload);
|
|
91
|
+
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
92
|
+
if (finalFolder === hubFolder) {
|
|
93
|
+
console.log('Metadata synced — no config changes.');
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
console.log('Metadata synced; folder renamed.');
|
|
97
|
+
}
|
|
92
98
|
}
|
|
93
99
|
else {
|
|
94
|
-
console.log('
|
|
100
|
+
console.log('\nChanges to apply locally:');
|
|
101
|
+
if (connectionsChanged) {
|
|
102
|
+
console.log('**Connections:** updated');
|
|
103
|
+
}
|
|
104
|
+
printDiff(diffResult.summary);
|
|
105
|
+
if (!autoConfirm) {
|
|
106
|
+
const ok = await confirm('Apply these changes?');
|
|
107
|
+
if (!ok) {
|
|
108
|
+
console.log('Cancelled.');
|
|
109
|
+
cancelled = true;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (!cancelled) {
|
|
113
|
+
writeHubFolder(hubFolder, payload);
|
|
114
|
+
await downloadBinaryResourceFiles(hubFolder, payload);
|
|
115
|
+
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
116
|
+
console.log(`Hub configuration written to ${finalFolder}`);
|
|
117
|
+
}
|
|
95
118
|
}
|
|
96
|
-
return;
|
|
97
119
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
console.log('
|
|
120
|
+
catch {
|
|
121
|
+
// Local files can't be parsed — overwrite
|
|
122
|
+
console.log('Writing hub configuration...');
|
|
123
|
+
writeHubFolder(hubFolder, payload);
|
|
124
|
+
await downloadBinaryResourceFiles(hubFolder, payload);
|
|
125
|
+
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
126
|
+
console.log(`Hub configuration written to ${finalFolder}`);
|
|
101
127
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
128
|
+
if (cancelled)
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// Refresh scaffold files (platform-managed: .mcp.json, skill directory)
|
|
132
|
+
const resolvedGitRoot = gitRoot || workspace?.gitRoot;
|
|
133
|
+
if (resolvedGitRoot) {
|
|
134
|
+
try {
|
|
135
|
+
const result = await refreshScaffold({
|
|
136
|
+
gitRoot: resolvedGitRoot,
|
|
137
|
+
apiUrl: config.api_url,
|
|
138
|
+
accessToken,
|
|
139
|
+
mode: 'refresh',
|
|
140
|
+
});
|
|
141
|
+
if (result.updated > 0) {
|
|
142
|
+
console.log(`Updated scaffold files (${result.updated} changed)`);
|
|
108
143
|
}
|
|
109
144
|
}
|
|
145
|
+
catch {
|
|
146
|
+
// Non-fatal: scaffold refresh failure shouldn't fail the pull
|
|
147
|
+
}
|
|
110
148
|
}
|
|
111
|
-
catch {
|
|
112
|
-
// Local files can't be parsed — overwrite
|
|
113
|
-
console.log('Writing hub configuration...');
|
|
114
|
-
}
|
|
115
|
-
writeHubFolder(hubFolder, payload);
|
|
116
|
-
await downloadBinaryResourceFiles(hubFolder, payload);
|
|
117
|
-
const finalFolder = autoRenameHubFolder(hubFolder, payload.hub.name, payload.hub_environment, payload.hub_id, payload.preview_label, payload.branch_name);
|
|
118
|
-
console.log(`Hub configuration written to ${finalFolder}`);
|
|
119
149
|
}
|
|
120
150
|
/**
|
|
121
151
|
* Download binary resource files that have download_url but no inline content.
|
|
@@ -1 +1 @@
|
|
|
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,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wayai update — update CLI to the latest version and refresh scaffold files
|
|
3
|
+
*/
|
|
4
|
+
import { execFileSync } from 'node:child_process';
|
|
5
|
+
import { captureException, closeSentry } from '../lib/sentry.js';
|
|
6
|
+
export async function updateCommand(pkg) {
|
|
7
|
+
console.log(`Current version: ${pkg.version}`);
|
|
8
|
+
console.log('Checking for updates...');
|
|
9
|
+
try {
|
|
10
|
+
// shell: true required for Windows where npm is a .cmd script
|
|
11
|
+
const latest = execFileSync('npm', ['view', '@wayai/cli', 'version'], {
|
|
12
|
+
timeout: 10000,
|
|
13
|
+
shell: true,
|
|
14
|
+
}).toString().trim();
|
|
15
|
+
if (latest === pkg.version) {
|
|
16
|
+
console.log(`Already on the latest version (${pkg.version}).`);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
console.log(`Updating ${pkg.version} → ${latest}...`);
|
|
20
|
+
execFileSync('npm', ['install', '-g', '@wayai/cli@latest'], {
|
|
21
|
+
timeout: 60000,
|
|
22
|
+
shell: true,
|
|
23
|
+
stdio: 'inherit',
|
|
24
|
+
});
|
|
25
|
+
console.log(`Updated to ${latest}.`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
captureException(err);
|
|
30
|
+
await closeSentry();
|
|
31
|
+
console.error('Update failed:', err instanceof Error ? err.message : String(err));
|
|
32
|
+
console.error('Try manually: npm install -g @wayai/cli');
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
// Refresh scaffold files if logged in and in a git repo
|
|
36
|
+
try {
|
|
37
|
+
const { readConfig } = await import('../lib/config.js');
|
|
38
|
+
const config = readConfig();
|
|
39
|
+
if (!config)
|
|
40
|
+
return; // Not logged in — skip silently
|
|
41
|
+
const { findGitRoot } = await import('../lib/workspace.js');
|
|
42
|
+
const gitRoot = findGitRoot();
|
|
43
|
+
if (!gitRoot)
|
|
44
|
+
return; // Not in a git repo — skip silently
|
|
45
|
+
const { getAccessToken } = await import('../lib/auth.js');
|
|
46
|
+
const accessToken = await getAccessToken(config);
|
|
47
|
+
const { refreshScaffold } = await import('../lib/scaffold.js');
|
|
48
|
+
const result = await refreshScaffold({
|
|
49
|
+
gitRoot,
|
|
50
|
+
apiUrl: config.api_url,
|
|
51
|
+
accessToken,
|
|
52
|
+
mode: 'refresh',
|
|
53
|
+
});
|
|
54
|
+
if (result.updated > 0) {
|
|
55
|
+
console.log(`Updated scaffold files (${result.updated} changed)`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Silently skip scaffold refresh failures during update
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAwB;IAC1D,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE;YACpE,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,OAAO,MAAM,MAAM,KAAK,CAAC,CAAC;YACtD,YAAY,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE;gBAC1D,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,WAAW,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,gCAAgC;QAErD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,oCAAoC;QAE1D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACnC,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,WAAW;YACX,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wDAAwD;IAC1D,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* wayai pull — fetch hub config and write local files
|
|
12
12
|
* wayai push — parse local files, diff, and sync to preview
|
|
13
13
|
* wayai sync-skills — sync skills to Anthropic provider connections
|
|
14
|
+
* wayai delete-history — delete all your conversations on a preview hub
|
|
14
15
|
* wayai list — list organizations, projects, and hubs
|
|
15
16
|
* wayai update — update CLI to the latest version
|
|
16
17
|
*/
|
package/dist/index.js
CHANGED
|
@@ -11,11 +11,12 @@
|
|
|
11
11
|
* wayai pull — fetch hub config and write local files
|
|
12
12
|
* wayai push — parse local files, diff, and sync to preview
|
|
13
13
|
* wayai sync-skills — sync skills to Anthropic provider connections
|
|
14
|
+
* wayai delete-history — delete all your conversations on a preview hub
|
|
14
15
|
* wayai list — list organizations, projects, and hubs
|
|
15
16
|
* wayai update — update CLI to the latest version
|
|
16
17
|
*/
|
|
17
18
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
18
|
-
import { execFile
|
|
19
|
+
import { execFile } from 'node:child_process';
|
|
19
20
|
import { fileURLToPath } from 'node:url';
|
|
20
21
|
import { dirname, join } from 'node:path';
|
|
21
22
|
import { homedir } from 'node:os';
|
|
@@ -67,6 +68,11 @@ async function main() {
|
|
|
67
68
|
await conversationsCommand(args);
|
|
68
69
|
break;
|
|
69
70
|
}
|
|
71
|
+
case 'delete-history': {
|
|
72
|
+
const { deleteHistoryCommand } = await import('./commands/delete-history.js');
|
|
73
|
+
await deleteHistoryCommand(args);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
70
76
|
case 'sync-skills': {
|
|
71
77
|
const { syncSkillsCommand } = await import('./commands/sync-skills.js');
|
|
72
78
|
await syncSkillsCommand(args);
|
|
@@ -77,9 +83,11 @@ async function main() {
|
|
|
77
83
|
await listCommand(args);
|
|
78
84
|
break;
|
|
79
85
|
}
|
|
80
|
-
case 'update':
|
|
81
|
-
await
|
|
86
|
+
case 'update': {
|
|
87
|
+
const { updateCommand } = await import('./commands/update.js');
|
|
88
|
+
await updateCommand(pkg);
|
|
82
89
|
break;
|
|
90
|
+
}
|
|
83
91
|
case 'help':
|
|
84
92
|
case '--help':
|
|
85
93
|
case '-h':
|
|
@@ -113,6 +121,7 @@ Commands:
|
|
|
113
121
|
push Parse local files, show diff, sync to preview
|
|
114
122
|
send-message Send a test message to a preview hub
|
|
115
123
|
conversations List or inspect conversations
|
|
124
|
+
delete-history Delete all your conversations on a preview hub
|
|
116
125
|
sync-skills Sync skills to Anthropic provider connections
|
|
117
126
|
list List organizations, projects, and hubs
|
|
118
127
|
update Update CLI to the latest version
|
|
@@ -140,35 +149,6 @@ Examples:
|
|
|
140
149
|
wayai push -y
|
|
141
150
|
`.trim());
|
|
142
151
|
}
|
|
143
|
-
async function updateCommand() {
|
|
144
|
-
console.log(`Current version: ${pkg.version}`);
|
|
145
|
-
console.log('Checking for updates...');
|
|
146
|
-
try {
|
|
147
|
-
// shell: true required for Windows where npm is a .cmd script
|
|
148
|
-
const latest = execFileSync('npm', ['view', '@wayai/cli', 'version'], {
|
|
149
|
-
timeout: 10000,
|
|
150
|
-
shell: true,
|
|
151
|
-
}).toString().trim();
|
|
152
|
-
if (latest === pkg.version) {
|
|
153
|
-
console.log(`Already on the latest version (${pkg.version}).`);
|
|
154
|
-
return;
|
|
155
|
-
}
|
|
156
|
-
console.log(`Updating ${pkg.version} → ${latest}...`);
|
|
157
|
-
execFileSync('npm', ['install', '-g', '@wayai/cli@latest'], {
|
|
158
|
-
timeout: 60000,
|
|
159
|
-
shell: true,
|
|
160
|
-
stdio: 'inherit',
|
|
161
|
-
});
|
|
162
|
-
console.log(`Updated to ${latest}.`);
|
|
163
|
-
}
|
|
164
|
-
catch (err) {
|
|
165
|
-
captureException(err);
|
|
166
|
-
await closeSentry();
|
|
167
|
-
console.error('Update failed:', err instanceof Error ? err.message : String(err));
|
|
168
|
-
console.error('Try manually: npm install -g @wayai/cli');
|
|
169
|
-
process.exit(1);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
152
|
const SKIP_UPDATE_CHECK = ['--version', '-v', '--help', '-h', 'help', 'update'];
|
|
173
153
|
const UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
174
154
|
function checkForUpdates() {
|
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
|
@@ -34,6 +34,10 @@ export declare class ApiClient {
|
|
|
34
34
|
status: string;
|
|
35
35
|
status_reason?: string;
|
|
36
36
|
}>;
|
|
37
|
+
deleteHistory(hubId: string): Promise<{
|
|
38
|
+
success: boolean;
|
|
39
|
+
deleted_count: number;
|
|
40
|
+
}>;
|
|
37
41
|
getConversations(hubId: string, opts?: {
|
|
38
42
|
status?: string;
|
|
39
43
|
limit?: number;
|
|
@@ -51,6 +55,9 @@ export declare class ApiClient {
|
|
|
51
55
|
}>;
|
|
52
56
|
total: number;
|
|
53
57
|
}>;
|
|
58
|
+
downloadScaffoldZip(): Promise<{
|
|
59
|
+
download_url: string;
|
|
60
|
+
}>;
|
|
54
61
|
getConversation(hubId: string, conversationId: string, opts?: {
|
|
55
62
|
limit?: number;
|
|
56
63
|
offset?: number;
|
package/dist/lib/api-client.js
CHANGED
|
@@ -66,6 +66,9 @@ export class ApiClient {
|
|
|
66
66
|
...(opts?.conversationId && { conversation_id: opts.conversationId }),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
|
+
async deleteHistory(hubId) {
|
|
70
|
+
return this.request('POST', '/api/conversations/delete-user-history', { hub_id: hubId });
|
|
71
|
+
}
|
|
69
72
|
async getConversations(hubId, opts) {
|
|
70
73
|
const params = new URLSearchParams({ hub_id: hubId });
|
|
71
74
|
if (opts?.status)
|
|
@@ -76,6 +79,9 @@ export class ApiClient {
|
|
|
76
79
|
params.set('offset', String(opts.offset));
|
|
77
80
|
return this.request('GET', `/api/conversations/?${params.toString()}`);
|
|
78
81
|
}
|
|
82
|
+
async downloadScaffoldZip() {
|
|
83
|
+
return this.request('POST', '/api/files/download', { type: 'scaffold' });
|
|
84
|
+
}
|
|
79
85
|
async getConversation(hubId, conversationId, opts) {
|
|
80
86
|
const params = new URLSearchParams({ hub_id: hubId });
|
|
81
87
|
if (opts?.limit)
|
|
@@ -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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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scaffold — download and extract workspace scaffold files from R2
|
|
3
|
+
*
|
|
4
|
+
* Platform-managed files (.mcp.json, .claude/skills/wayai/) are always overwritten.
|
|
5
|
+
* User-owned files (CLAUDE.md, AGENTS.md) are only created if missing (init mode)
|
|
6
|
+
* or skipped entirely (refresh mode).
|
|
7
|
+
*/
|
|
8
|
+
export interface RefreshScaffoldOptions {
|
|
9
|
+
gitRoot: string;
|
|
10
|
+
apiUrl: string;
|
|
11
|
+
accessToken: string;
|
|
12
|
+
mode: 'init' | 'refresh';
|
|
13
|
+
}
|
|
14
|
+
export interface RefreshScaffoldResult {
|
|
15
|
+
updated: number;
|
|
16
|
+
files: string[];
|
|
17
|
+
}
|
|
18
|
+
export declare function refreshScaffold(options: RefreshScaffoldOptions): Promise<RefreshScaffoldResult>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scaffold — download and extract workspace scaffold files from R2
|
|
3
|
+
*
|
|
4
|
+
* Platform-managed files (.mcp.json, .claude/skills/wayai/) are always overwritten.
|
|
5
|
+
* User-owned files (CLAUDE.md, AGENTS.md) are only created if missing (init mode)
|
|
6
|
+
* or skipped entirely (refresh mode).
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from 'node:fs';
|
|
9
|
+
import * as path from 'node:path';
|
|
10
|
+
import { unzipSync } from 'fflate';
|
|
11
|
+
import { ApiClient } from './api-client.js';
|
|
12
|
+
/** Exact platform-owned files */
|
|
13
|
+
const PLATFORM_OWNED_EXACT = ['.mcp.json'];
|
|
14
|
+
/** Platform-owned directory prefixes (must end with /) */
|
|
15
|
+
const PLATFORM_OWNED_DIR_PREFIXES = ['.claude/skills/wayai/'];
|
|
16
|
+
/** Files owned by the user — only written if missing */
|
|
17
|
+
const USER_OWNED_FILES = ['CLAUDE.md', 'AGENTS.md'];
|
|
18
|
+
function isPlatformOwned(filePath) {
|
|
19
|
+
if (PLATFORM_OWNED_EXACT.includes(filePath))
|
|
20
|
+
return true;
|
|
21
|
+
return PLATFORM_OWNED_DIR_PREFIXES.some((prefix) => filePath.startsWith(prefix));
|
|
22
|
+
}
|
|
23
|
+
function isUserOwned(filePath) {
|
|
24
|
+
return USER_OWNED_FILES.includes(filePath);
|
|
25
|
+
}
|
|
26
|
+
export async function refreshScaffold(options) {
|
|
27
|
+
const { gitRoot, apiUrl, accessToken, mode } = options;
|
|
28
|
+
const client = new ApiClient({ apiUrl, accessToken });
|
|
29
|
+
// 1. Get signed URL for scaffold ZIP
|
|
30
|
+
const { download_url } = await client.downloadScaffoldZip();
|
|
31
|
+
// 2. Download ZIP
|
|
32
|
+
const response = await fetch(download_url);
|
|
33
|
+
if (!response.ok) {
|
|
34
|
+
throw new Error(`Failed to download scaffold ZIP (${response.status})`);
|
|
35
|
+
}
|
|
36
|
+
const zipBuffer = new Uint8Array(await response.arrayBuffer());
|
|
37
|
+
// 3. Extract ZIP into memory
|
|
38
|
+
const files = unzipSync(zipBuffer);
|
|
39
|
+
// 4. Write files selectively
|
|
40
|
+
let updated = 0;
|
|
41
|
+
const updatedFiles = [];
|
|
42
|
+
for (const [rawPath, content] of Object.entries(files)) {
|
|
43
|
+
// Normalize: strip leading ./ if present
|
|
44
|
+
const filePath = rawPath.startsWith('./') ? rawPath.slice(2) : rawPath;
|
|
45
|
+
// Skip directories (empty entries ending with /)
|
|
46
|
+
if (filePath.endsWith('/'))
|
|
47
|
+
continue;
|
|
48
|
+
// Skip unknown files that aren't platform-owned or user-owned
|
|
49
|
+
if (!isPlatformOwned(filePath) && !isUserOwned(filePath))
|
|
50
|
+
continue;
|
|
51
|
+
const destPath = path.resolve(gitRoot, filePath);
|
|
52
|
+
// Guard against path traversal (e.g., .claude/skills/wayai/../../../../etc/passwd)
|
|
53
|
+
const rootPrefix = gitRoot.endsWith(path.sep) ? gitRoot : gitRoot + path.sep;
|
|
54
|
+
if (!destPath.startsWith(rootPrefix) && destPath !== gitRoot)
|
|
55
|
+
continue;
|
|
56
|
+
// User-owned files: only write if missing
|
|
57
|
+
if (isUserOwned(filePath)) {
|
|
58
|
+
if (mode === 'refresh' || fs.existsSync(destPath))
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
// Write file
|
|
62
|
+
const dir = path.dirname(destPath);
|
|
63
|
+
if (!fs.existsSync(dir)) {
|
|
64
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
65
|
+
}
|
|
66
|
+
fs.writeFileSync(destPath, content);
|
|
67
|
+
updated++;
|
|
68
|
+
updatedFiles.push(filePath);
|
|
69
|
+
}
|
|
70
|
+
return { updated, files: updatedFiles };
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wayai/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.27",
|
|
4
4
|
"description": "WayAI CLI — sync hub configuration between local files and the platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@sentry/node": "^10.0.0",
|
|
37
|
+
"fflate": "^0.8.2",
|
|
37
38
|
"js-yaml": "^4.1.0"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|