@wayai/cli 0.3.39 → 0.3.41
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/index.js +16893 -310
- package/dist/index.js.map +1 -1
- package/package.json +6 -4
- package/dist/commands/admin.d.ts +0 -1
- package/dist/commands/admin.js +0 -800
- package/dist/commands/admin.js.map +0 -1
- package/dist/commands/analytics.d.ts +0 -34
- package/dist/commands/analytics.js +0 -605
- package/dist/commands/analytics.js.map +0 -1
- package/dist/commands/conversations.d.ts +0 -14
- package/dist/commands/conversations.js +0 -292
- package/dist/commands/conversations.js.map +0 -1
- package/dist/commands/create-credential.d.ts +0 -20
- package/dist/commands/create-credential.js +0 -146
- package/dist/commands/create-credential.js.map +0 -1
- package/dist/commands/delete-history.d.ts +0 -15
- package/dist/commands/delete-history.js +0 -56
- package/dist/commands/delete-history.js.map +0 -1
- package/dist/commands/eval-capture.d.ts +0 -1
- package/dist/commands/eval-capture.js +0 -135
- package/dist/commands/eval-capture.js.map +0 -1
- package/dist/commands/eval-results.d.ts +0 -10
- package/dist/commands/eval-results.js +0 -168
- package/dist/commands/eval-results.js.map +0 -1
- package/dist/commands/eval.d.ts +0 -1
- package/dist/commands/eval.js +0 -49
- package/dist/commands/eval.js.map +0 -1
- package/dist/commands/evals.d.ts +0 -21
- package/dist/commands/evals.js +0 -120
- package/dist/commands/evals.js.map +0 -1
- package/dist/commands/init.d.ts +0 -16
- package/dist/commands/init.js +0 -191
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/list.d.ts +0 -13
- package/dist/commands/list.js +0 -70
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/login.d.ts +0 -8
- package/dist/commands/login.js +0 -145
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -1
- package/dist/commands/logout.js +0 -19
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/migrate.d.ts +0 -12
- package/dist/commands/migrate.js +0 -106
- package/dist/commands/migrate.js.map +0 -1
- package/dist/commands/observability.d.ts +0 -14
- package/dist/commands/observability.js +0 -124
- package/dist/commands/observability.js.map +0 -1
- package/dist/commands/org.d.ts +0 -19
- package/dist/commands/org.js +0 -186
- package/dist/commands/org.js.map +0 -1
- package/dist/commands/pull.d.ts +0 -31
- package/dist/commands/pull.js +0 -210
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/push.d.ts +0 -25
- package/dist/commands/push.js +0 -472
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/report-create.d.ts +0 -18
- package/dist/commands/report-create.js +0 -143
- package/dist/commands/report-create.js.map +0 -1
- package/dist/commands/report.d.ts +0 -16
- package/dist/commands/report.js +0 -252
- package/dist/commands/report.js.map +0 -1
- package/dist/commands/run-eval.d.ts +0 -15
- package/dist/commands/run-eval.js +0 -187
- package/dist/commands/run-eval.js.map +0 -1
- package/dist/commands/send-message.d.ts +0 -11
- package/dist/commands/send-message.js +0 -63
- package/dist/commands/send-message.js.map +0 -1
- package/dist/commands/status.d.ts +0 -17
- package/dist/commands/status.js +0 -205
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/sync-mcp.d.ts +0 -16
- package/dist/commands/sync-mcp.js +0 -51
- package/dist/commands/sync-mcp.js.map +0 -1
- package/dist/commands/sync-skills.d.ts +0 -10
- package/dist/commands/sync-skills.js +0 -49
- package/dist/commands/sync-skills.js.map +0 -1
- package/dist/commands/unlock.d.ts +0 -1
- package/dist/commands/unlock.js +0 -13
- package/dist/commands/unlock.js.map +0 -1
- package/dist/commands/update-credential.d.ts +0 -29
- package/dist/commands/update-credential.js +0 -156
- package/dist/commands/update-credential.js.map +0 -1
- package/dist/commands/update.d.ts +0 -6
- package/dist/commands/update.js +0 -36
- package/dist/commands/update.js.map +0 -1
- package/dist/commands/use.d.ts +0 -1
- package/dist/commands/use.js +0 -56
- package/dist/commands/use.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -11
- package/dist/commands/whoami.js +0 -30
- package/dist/commands/whoami.js.map +0 -1
- package/dist/index.d.ts +0 -28
- package/dist/lib/analytics-constants.d.ts +0 -6
- package/dist/lib/analytics-constants.js +0 -14
- package/dist/lib/analytics-constants.js.map +0 -1
- package/dist/lib/api-client.d.ts +0 -561
- package/dist/lib/api-client.js +0 -421
- package/dist/lib/api-client.js.map +0 -1
- package/dist/lib/auth.d.ts +0 -50
- package/dist/lib/auth.js +0 -230
- package/dist/lib/auth.js.map +0 -1
- package/dist/lib/config.d.ts +0 -34
- package/dist/lib/config.js +0 -69
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/credential-utils.d.ts +0 -36
- package/dist/lib/credential-utils.js +0 -88
- package/dist/lib/credential-utils.js.map +0 -1
- package/dist/lib/diff-display.d.ts +0 -8
- package/dist/lib/diff-display.js +0 -37
- package/dist/lib/diff-display.js.map +0 -1
- package/dist/lib/eval-format.d.ts +0 -29
- package/dist/lib/eval-format.js +0 -44
- package/dist/lib/eval-format.js.map +0 -1
- package/dist/lib/hub-lock.d.ts +0 -7
- package/dist/lib/hub-lock.js +0 -116
- package/dist/lib/hub-lock.js.map +0 -1
- package/dist/lib/layout.d.ts +0 -79
- package/dist/lib/layout.js +0 -133
- package/dist/lib/layout.js.map +0 -1
- package/dist/lib/org-workspace.d.ts +0 -22
- package/dist/lib/org-workspace.js +0 -106
- package/dist/lib/org-workspace.js.map +0 -1
- package/dist/lib/parser.d.ts +0 -16
- package/dist/lib/parser.js +0 -306
- package/dist/lib/parser.js.map +0 -1
- package/dist/lib/repo-config.d.ts +0 -23
- package/dist/lib/repo-config.js +0 -91
- package/dist/lib/repo-config.js.map +0 -1
- package/dist/lib/report-edit-args.d.ts +0 -27
- package/dist/lib/report-edit-args.js +0 -56
- package/dist/lib/report-edit-args.js.map +0 -1
- package/dist/lib/report-inbox.d.ts +0 -19
- package/dist/lib/report-inbox.js +0 -73
- package/dist/lib/report-inbox.js.map +0 -1
- package/dist/lib/resource-files.d.ts +0 -29
- package/dist/lib/resource-files.js +0 -156
- package/dist/lib/resource-files.js.map +0 -1
- package/dist/lib/sentry.d.ts +0 -38
- package/dist/lib/sentry.js +0 -168
- package/dist/lib/sentry.js.map +0 -1
- package/dist/lib/skill-version.d.ts +0 -9
- package/dist/lib/skill-version.js +0 -53
- package/dist/lib/skill-version.js.map +0 -1
- package/dist/lib/sql-output.d.ts +0 -17
- package/dist/lib/sql-output.js +0 -48
- package/dist/lib/sql-output.js.map +0 -1
- package/dist/lib/token-store.d.ts +0 -37
- package/dist/lib/token-store.js +0 -354
- package/dist/lib/token-store.js.map +0 -1
- package/dist/lib/types.d.ts +0 -18
- package/dist/lib/types.js +0 -5
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -97
- package/dist/lib/utils.js +0 -288
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/version-cache.d.ts +0 -10
- package/dist/lib/version-cache.js +0 -34
- package/dist/lib/version-cache.js.map +0 -1
- package/dist/lib/workspace.d.ts +0 -112
- package/dist/lib/workspace.js +0 -387
- package/dist/lib/workspace.js.map +0 -1
- package/dist/lib/yaml-writer.d.ts +0 -18
- package/dist/lib/yaml-writer.js +0 -283
- package/dist/lib/yaml-writer.js.map +0 -1
package/dist/commands/status.js
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai status — show current auth/config status and repo scope
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* wayai status # human-readable output
|
|
6
|
-
* wayai status --json # structured output for agents/scripts
|
|
7
|
-
*
|
|
8
|
-
* The --json shape is the canonical state snapshot consumed by the WayAI skill
|
|
9
|
-
* during agentic onboarding. Fields are nullable so the agent can branch
|
|
10
|
-
* cleanly from any starting state (no config / no org / no workspace / etc.).
|
|
11
|
-
*/
|
|
12
|
-
import * as path from 'node:path';
|
|
13
|
-
import { readConfig } from '../lib/config.js';
|
|
14
|
-
import { getAccessToken } from '../lib/auth.js';
|
|
15
|
-
import { readRepoConfig } from '../lib/repo-config.js';
|
|
16
|
-
import { detectWorkspace, findGitRoot, scanWorkspaceHubs } from '../lib/workspace.js';
|
|
17
|
-
import { readLock } from '../lib/hub-lock.js';
|
|
18
|
-
import { ApiClient, ApiError } from '../lib/api-client.js';
|
|
19
|
-
import { CLI_CACHE_FILE, SKILL_CACHE_FILE, readCachedLatest } from '../lib/version-cache.js';
|
|
20
|
-
import { findInstalledSkills, lowestInstalledVersion, } from '../lib/skill-version.js';
|
|
21
|
-
import { isNewerVersion } from '../lib/utils.js';
|
|
22
|
-
import { nudgeReportActions } from '../lib/report-inbox.js';
|
|
23
|
-
export function parseArgs(args) {
|
|
24
|
-
return { json: args.includes('--json') };
|
|
25
|
-
}
|
|
26
|
-
function buildSkillState() {
|
|
27
|
-
const projectRoot = findGitRoot() ?? process.cwd();
|
|
28
|
-
const installs = findInstalledSkills(projectRoot);
|
|
29
|
-
if (installs.length === 0) {
|
|
30
|
-
return { installed: false, version: null, latest: null, paths: [] };
|
|
31
|
-
}
|
|
32
|
-
const version = lowestInstalledVersion(installs);
|
|
33
|
-
const cached = readCachedLatest(SKILL_CACHE_FILE);
|
|
34
|
-
// Field semantics: "newer available, or null". The cache can lag the
|
|
35
|
-
// installed version (24h TTL; `npx skills add ...` doesn't invalidate it),
|
|
36
|
-
// so suppress the field unless it actually advertises an upgrade.
|
|
37
|
-
const latest = cached && version && isNewerVersion(cached, version) ? cached : null;
|
|
38
|
-
return {
|
|
39
|
-
installed: true,
|
|
40
|
-
version,
|
|
41
|
-
latest,
|
|
42
|
-
paths: installs.map((i) => i.path),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function buildWorkspaceState(repoConfig) {
|
|
46
|
-
if (!repoConfig)
|
|
47
|
-
return { scoped: false, path: null, hub_count: 0 };
|
|
48
|
-
const ws = detectWorkspace();
|
|
49
|
-
const gitRoot = ws?.gitRoot ?? findGitRoot();
|
|
50
|
-
const hubCount = ws ? scanWorkspaceHubs(ws.workspaceDir).length : 0;
|
|
51
|
-
const yamlPath = gitRoot ? path.join(gitRoot, '.wayai.yaml') : null;
|
|
52
|
-
return { scoped: true, path: yamlPath, hub_count: hubCount };
|
|
53
|
-
}
|
|
54
|
-
export async function statusCommand(args, pkg) {
|
|
55
|
-
const { json } = parseArgs(args);
|
|
56
|
-
const config = readConfig();
|
|
57
|
-
const repoConfig = readRepoConfig();
|
|
58
|
-
const workspace = buildWorkspaceState(repoConfig);
|
|
59
|
-
// Same "newer available, or null" gate as buildSkillState.
|
|
60
|
-
const cachedCliLatest = readCachedLatest(CLI_CACHE_FILE);
|
|
61
|
-
const cliLatest = cachedCliLatest && isNewerVersion(cachedCliLatest, pkg.version)
|
|
62
|
-
? cachedCliLatest
|
|
63
|
-
: null;
|
|
64
|
-
const skill = buildSkillState();
|
|
65
|
-
// Status is a diagnostic command — never crash on a lockfile read error.
|
|
66
|
-
let lockedHubId = null;
|
|
67
|
-
try {
|
|
68
|
-
lockedHubId = readLock();
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
lockedHubId = null;
|
|
72
|
-
}
|
|
73
|
-
// Cold-start path: no config at all.
|
|
74
|
-
if (!config) {
|
|
75
|
-
const snapshot = {
|
|
76
|
-
logged_in: false,
|
|
77
|
-
token_valid: null,
|
|
78
|
-
api_url: null,
|
|
79
|
-
repo_scope: null,
|
|
80
|
-
cli: { version: pkg.version, latest: cliLatest },
|
|
81
|
-
skill,
|
|
82
|
-
auth: { logged_in: false, user_email: null },
|
|
83
|
-
orgs: [],
|
|
84
|
-
active_org: null,
|
|
85
|
-
workspace,
|
|
86
|
-
worktree_lock: { hub_id: lockedHubId },
|
|
87
|
-
};
|
|
88
|
-
if (json) {
|
|
89
|
-
console.log(JSON.stringify(snapshot, null, 2));
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
console.log('Not logged in. Run `wayai login`.');
|
|
93
|
-
}
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
// Logged-in path: validate token against the backend, then enrich with data.
|
|
97
|
-
// token_valid reflects backend acceptance (not just storage load) so users
|
|
98
|
-
// can't be fooled into thinking auth works when API calls 401.
|
|
99
|
-
let accessToken = null;
|
|
100
|
-
let tokenLoaded = false;
|
|
101
|
-
try {
|
|
102
|
-
accessToken = await getAccessToken(config);
|
|
103
|
-
tokenLoaded = true;
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
tokenLoaded = false;
|
|
107
|
-
}
|
|
108
|
-
let userEmail = null;
|
|
109
|
-
let orgs = [];
|
|
110
|
-
// An empty-string accessToken bypasses the API-call branch below, so flag
|
|
111
|
-
// it as definitively-invalid up front rather than leaving it as the
|
|
112
|
-
// "validity unknown" sentinel.
|
|
113
|
-
let tokenValid = tokenLoaded && accessToken ? null : false;
|
|
114
|
-
if (tokenLoaded && accessToken) {
|
|
115
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
116
|
-
const [meResult, orgsResult] = await Promise.allSettled([
|
|
117
|
-
client.me(),
|
|
118
|
-
client.organizations(),
|
|
119
|
-
]);
|
|
120
|
-
if (meResult.status === 'fulfilled') {
|
|
121
|
-
userEmail = meResult.value.email || null;
|
|
122
|
-
tokenValid = true;
|
|
123
|
-
}
|
|
124
|
-
else if (meResult.reason instanceof ApiError && meResult.reason.isExpected) {
|
|
125
|
-
// Any 4xx is the backend deciding "this token isn't acceptable" — 401
|
|
126
|
-
// (invalid/expired/stale), 403 (scope revoked, deletion-pending),
|
|
127
|
-
// 404 (user gone). Treat all as definitive rejection.
|
|
128
|
-
tokenValid = false;
|
|
129
|
-
}
|
|
130
|
-
// Other failures (network unreachable, 5xx) leave tokenValid as null —
|
|
131
|
-
// "couldn't determine" is more truthful than "valid" or "invalid".
|
|
132
|
-
if (orgsResult.status === 'fulfilled') {
|
|
133
|
-
orgs = orgsResult.value.organizations.map((o) => ({ id: o.id, name: o.name }));
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
const activeOrg = repoConfig
|
|
137
|
-
? {
|
|
138
|
-
id: repoConfig.organization_id,
|
|
139
|
-
name: orgs.find((o) => o.id === repoConfig.organization_id)?.name
|
|
140
|
-
?? repoConfig.organization_name
|
|
141
|
-
?? repoConfig.organization_id,
|
|
142
|
-
}
|
|
143
|
-
: null;
|
|
144
|
-
const snapshot = {
|
|
145
|
-
logged_in: true,
|
|
146
|
-
token_valid: tokenValid,
|
|
147
|
-
api_url: config.api_url,
|
|
148
|
-
repo_scope: repoConfig
|
|
149
|
-
? {
|
|
150
|
-
organization_id: repoConfig.organization_id,
|
|
151
|
-
organization_name: repoConfig.organization_name ?? null,
|
|
152
|
-
}
|
|
153
|
-
: null,
|
|
154
|
-
cli: { version: pkg.version, latest: cliLatest },
|
|
155
|
-
skill,
|
|
156
|
-
auth: { logged_in: true, user_email: userEmail },
|
|
157
|
-
orgs,
|
|
158
|
-
active_org: activeOrg,
|
|
159
|
-
workspace,
|
|
160
|
-
worktree_lock: { hub_id: lockedHubId },
|
|
161
|
-
};
|
|
162
|
-
if (json) {
|
|
163
|
-
console.log(JSON.stringify(snapshot, null, 2));
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
// Human-readable output.
|
|
167
|
-
const tokenStatus = tokenValid === true
|
|
168
|
-
? 'token valid'
|
|
169
|
-
: tokenValid === false
|
|
170
|
-
? 'token rejected — run `wayai login` to re-authenticate'
|
|
171
|
-
: 'token validity unknown — backend unreachable';
|
|
172
|
-
console.log(`Logged in${userEmail ? ` as ${userEmail}` : ''} — ${tokenStatus}`);
|
|
173
|
-
if (config.api_url !== 'https://api.wayai.pro') {
|
|
174
|
-
console.log(`API: ${config.api_url}`);
|
|
175
|
-
}
|
|
176
|
-
if (cliLatest) {
|
|
177
|
-
console.log(`CLI: ${pkg.version} (latest: ${cliLatest} — run \`wayai update\`)`);
|
|
178
|
-
}
|
|
179
|
-
if (skill.installed && skill.latest) {
|
|
180
|
-
console.log(`Skill: ${skill.version} (latest: ${skill.latest} — run \`npx skills add wayai-pro/wayai-skill -y\`)`);
|
|
181
|
-
}
|
|
182
|
-
if (orgs.length > 0) {
|
|
183
|
-
console.log(`Organizations: ${orgs.length}`);
|
|
184
|
-
}
|
|
185
|
-
if (repoConfig) {
|
|
186
|
-
const orgLine = repoConfig.organization_name
|
|
187
|
-
? `${repoConfig.organization_name} (${repoConfig.organization_id})`
|
|
188
|
-
: repoConfig.organization_id;
|
|
189
|
-
console.log(`Repository scope:`);
|
|
190
|
-
console.log(` Organization: ${orgLine}`);
|
|
191
|
-
console.log(` Hubs: ${workspace.hub_count}`);
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
console.log('No .wayai.yaml found — run `wayai init` to scope this repo to an organization.');
|
|
195
|
-
}
|
|
196
|
-
if (lockedHubId) {
|
|
197
|
-
console.log(`Worktree lock: ${lockedHubId} (run \`wayai unlock\` to clear)`);
|
|
198
|
-
}
|
|
199
|
-
// Best-effort, non-JSON path only (the --json branch returned above): remind the reporter of
|
|
200
|
-
// any reports awaiting their accept/contest. Self-guards on TTY; only runs with a valid token.
|
|
201
|
-
if (tokenValid === true && accessToken) {
|
|
202
|
-
await nudgeReportActions(config.api_url, accessToken);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai sync-mcp --connection <name> [--hub <id|name>] — re-discover an MCP
|
|
3
|
-
* connection's tool/resource catalog.
|
|
4
|
-
*
|
|
5
|
-
* `wayai push` only discovers MCP tools that are *new* to the hub catalog; it
|
|
6
|
-
* never refreshes the cached input-schema of tools already catalogued. When an
|
|
7
|
-
* external MCP server changes a tool's schema (e.g. adds typed params), the
|
|
8
|
-
* agent keeps calling the stale schema until the catalog is re-synced. This is
|
|
9
|
-
* the explicit, connection-level refresh for that case (gh #2548).
|
|
10
|
-
*
|
|
11
|
-
* Preview-only — production hubs are read-only (changes flow preview → sync).
|
|
12
|
-
*/
|
|
13
|
-
export declare function parseArgs(args: string[]): {
|
|
14
|
-
connection: string | undefined;
|
|
15
|
-
};
|
|
16
|
-
export declare function syncMcpCommand(args: string[]): Promise<void>;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai sync-mcp --connection <name> [--hub <id|name>] — re-discover an MCP
|
|
3
|
-
* connection's tool/resource catalog.
|
|
4
|
-
*
|
|
5
|
-
* `wayai push` only discovers MCP tools that are *new* to the hub catalog; it
|
|
6
|
-
* never refreshes the cached input-schema of tools already catalogued. When an
|
|
7
|
-
* external MCP server changes a tool's schema (e.g. adds typed params), the
|
|
8
|
-
* agent keeps calling the stale schema until the catalog is re-synced. This is
|
|
9
|
-
* the explicit, connection-level refresh for that case (gh #2548).
|
|
10
|
-
*
|
|
11
|
-
* Preview-only — production hubs are read-only (changes flow preview → sync).
|
|
12
|
-
*/
|
|
13
|
-
import { requireAuth } from '../lib/auth.js';
|
|
14
|
-
import { ApiClient } from '../lib/api-client.js';
|
|
15
|
-
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
16
|
-
import { resolveActiveHubId } from '../lib/workspace.js';
|
|
17
|
-
import { printWarnings } from './push.js';
|
|
18
|
-
export function parseArgs(args) {
|
|
19
|
-
let connection;
|
|
20
|
-
for (let i = 0; i < args.length; i++) {
|
|
21
|
-
const arg = args[i];
|
|
22
|
-
if (arg === '--connection' && args[i + 1]) {
|
|
23
|
-
connection = args[++i];
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return { connection };
|
|
27
|
-
}
|
|
28
|
-
export async function syncMcpCommand(args) {
|
|
29
|
-
// resolveActiveHubId parses and removes `--hub <value>` from args.
|
|
30
|
-
const hubId = resolveActiveHubId(args);
|
|
31
|
-
const { connection } = parseArgs(args);
|
|
32
|
-
if (!connection) {
|
|
33
|
-
console.error('Usage: wayai sync-mcp --connection <name> [--hub <uuid|folder-name>]');
|
|
34
|
-
console.error('');
|
|
35
|
-
console.error('Re-discovers the MCP connection\'s tools/resources and refreshes their');
|
|
36
|
-
console.error('cached input schemas. `--connection` accepts the connection display name');
|
|
37
|
-
console.error('(as in connections[].name) or its UUID.');
|
|
38
|
-
process.exit(1);
|
|
39
|
-
}
|
|
40
|
-
const { organization_id: organizationId } = requireRepoConfig();
|
|
41
|
-
const { config, accessToken } = await requireAuth();
|
|
42
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
43
|
-
console.log(`Syncing MCP tools for connection "${connection}"...`);
|
|
44
|
-
const result = await client.syncMcp(hubId, connection, organizationId);
|
|
45
|
-
console.log(result.message ??
|
|
46
|
-
`Synced ${result.tools_count ?? 0} tool(s) and ${result.resources_count ?? 0} resource(s) from MCP server`);
|
|
47
|
-
if (result.warnings && result.warnings.length > 0) {
|
|
48
|
-
printWarnings(result.warnings);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=sync-mcp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-mcp.js","sourceRoot":"","sources":["../../src/commands/sync-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,IAAI,UAA8B,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,cAAc,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,mEAAmE;IACnE,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACxF,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC1F,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAChE,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,OAAO,CAAC,GAAG,CAAC,qCAAqC,UAAU,MAAM,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAEvE,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO;QACZ,UAAU,MAAM,CAAC,WAAW,IAAI,CAAC,gBAAgB,MAAM,CAAC,eAAe,IAAI,CAAC,8BAA8B,CAC7G,CAAC;IAEF,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai sync-skills [--connection-id <uuid>] — sync skills to Anthropic/OpenAI provider connections
|
|
3
|
-
*
|
|
4
|
-
* Triggers provider-side skill sync for the hub specified in .wayai.yaml.
|
|
5
|
-
* Useful after `wayai push` when the hub uses native skill integration (Anthropic or OpenAI).
|
|
6
|
-
*/
|
|
7
|
-
export declare function parseArgs(args: string[]): {
|
|
8
|
-
connectionId: string | undefined;
|
|
9
|
-
};
|
|
10
|
-
export declare function syncSkillsCommand(args: string[]): Promise<void>;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai sync-skills [--connection-id <uuid>] — sync skills to Anthropic/OpenAI provider connections
|
|
3
|
-
*
|
|
4
|
-
* Triggers provider-side skill sync for the hub specified in .wayai.yaml.
|
|
5
|
-
* Useful after `wayai push` when the hub uses native skill integration (Anthropic or OpenAI).
|
|
6
|
-
*/
|
|
7
|
-
import { requireAuth } from '../lib/auth.js';
|
|
8
|
-
import { ApiClient } from '../lib/api-client.js';
|
|
9
|
-
import { requireRepoConfig } from '../lib/repo-config.js';
|
|
10
|
-
import { resolveActiveHubId } from '../lib/workspace.js';
|
|
11
|
-
export function parseArgs(args) {
|
|
12
|
-
let connectionId;
|
|
13
|
-
const idx = args.indexOf('--connection-id');
|
|
14
|
-
if (idx !== -1 && args[idx + 1]) {
|
|
15
|
-
connectionId = args[idx + 1];
|
|
16
|
-
}
|
|
17
|
-
return { connectionId };
|
|
18
|
-
}
|
|
19
|
-
function printSyncResults(response) {
|
|
20
|
-
console.log(response.message);
|
|
21
|
-
for (const item of response.results) {
|
|
22
|
-
const parts = [`${item.connection_name}:`];
|
|
23
|
-
if (item.uploaded > 0)
|
|
24
|
-
parts.push(`${item.uploaded} uploaded`);
|
|
25
|
-
if (item.failed > 0)
|
|
26
|
-
parts.push(`${item.failed} failed`);
|
|
27
|
-
if (item.uploaded === 0 && item.failed === 0)
|
|
28
|
-
parts.push('no changes');
|
|
29
|
-
console.log(` ${parts.join(' ')}`);
|
|
30
|
-
for (const err of item.errors) {
|
|
31
|
-
console.log(` \x1b[33m! ${err}\x1b[0m`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export async function syncSkillsCommand(args) {
|
|
36
|
-
const hubId = resolveActiveHubId(args);
|
|
37
|
-
const { connectionId } = parseArgs(args);
|
|
38
|
-
requireRepoConfig();
|
|
39
|
-
const { config, accessToken } = await requireAuth();
|
|
40
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
41
|
-
console.log('Syncing skills...');
|
|
42
|
-
const response = await client.syncSkills(hubId, connectionId);
|
|
43
|
-
printSyncResults(response);
|
|
44
|
-
const hasFailed = response.results.some((r) => r.failed > 0);
|
|
45
|
-
if (hasFailed) {
|
|
46
|
-
process.exit(1);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=sync-skills.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-skills.js","sourceRoot":"","sources":["../../src/commands/sync-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,IAAI,YAAgC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;QAChC,YAAY,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA4B;IACpD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAc;IACpD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC;IACpB,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,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function unlockCommand(_args: string[]): Promise<void>;
|
package/dist/commands/unlock.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// wayai unlock — clear the per-worktree hub lock.
|
|
2
|
-
import { clearLock, readLock } from '../lib/hub-lock.js';
|
|
3
|
-
export async function unlockCommand(_args) {
|
|
4
|
-
const previous = readLock();
|
|
5
|
-
if (!previous) {
|
|
6
|
-
console.log('No worktree lock to clear.');
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
// ENOENT between read and unlink is fine — lock is already gone.
|
|
10
|
-
clearLock();
|
|
11
|
-
console.log(`Worktree unlocked (was: ${previous}).`);
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=unlock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unlock.js","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAElD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe;IACjD,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,IAAI,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai update-credential — update / rotate an existing organization credential.
|
|
3
|
-
*
|
|
4
|
-
* Targets a credential by its display name (org credentials are resolved by name
|
|
5
|
-
* everywhere), then maps to the existing `PUT /api/setup/organization-credentials/:id`.
|
|
6
|
-
* The backend propagates a rotated secret to every linked connection.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* echo "$NEW_TOKEN" | wayai update-credential --name "clinica-medica-mcp" --stdin
|
|
10
|
-
* wayai update-credential --name "openai-key" --tag clinica-medica
|
|
11
|
-
* wayai update-credential --name "old-name" --rename "new-name"
|
|
12
|
-
* wayai update-credential --name "my-api" --description "Rotated 2026-06" --environment production
|
|
13
|
-
*/
|
|
14
|
-
interface ParsedArgs {
|
|
15
|
-
name: string | undefined;
|
|
16
|
-
rename: string | undefined;
|
|
17
|
-
orgId: string | undefined;
|
|
18
|
-
description: string | undefined;
|
|
19
|
-
tags: string[];
|
|
20
|
-
hasTagFlag: boolean;
|
|
21
|
-
environment: string | undefined;
|
|
22
|
-
/** --stdin: read the new secret from a pipe. */
|
|
23
|
-
stdin: boolean;
|
|
24
|
-
/** --secret: prompt for the new secret interactively (masked). */
|
|
25
|
-
secretPrompt: boolean;
|
|
26
|
-
}
|
|
27
|
-
export declare function parseArgs(args: string[]): ParsedArgs;
|
|
28
|
-
export declare function updateCredentialCommand(args: string[]): Promise<void>;
|
|
29
|
-
export {};
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai update-credential — update / rotate an existing organization credential.
|
|
3
|
-
*
|
|
4
|
-
* Targets a credential by its display name (org credentials are resolved by name
|
|
5
|
-
* everywhere), then maps to the existing `PUT /api/setup/organization-credentials/:id`.
|
|
6
|
-
* The backend propagates a rotated secret to every linked connection.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* echo "$NEW_TOKEN" | wayai update-credential --name "clinica-medica-mcp" --stdin
|
|
10
|
-
* wayai update-credential --name "openai-key" --tag clinica-medica
|
|
11
|
-
* wayai update-credential --name "old-name" --rename "new-name"
|
|
12
|
-
* wayai update-credential --name "my-api" --description "Rotated 2026-06" --environment production
|
|
13
|
-
*/
|
|
14
|
-
import { requireAuth } from '../lib/auth.js';
|
|
15
|
-
import { ApiClient, ApiError } from '../lib/api-client.js';
|
|
16
|
-
import { promptSecret, prompt, readStdin, resolveOrganizationId } from '../lib/utils.js';
|
|
17
|
-
import { VALID_ENVIRONMENTS, normalizeCliEnvironment, mapSecretToCredentialFields, resolveTagIds, splitTagRefs, } from '../lib/credential-utils.js';
|
|
18
|
-
export function parseArgs(args) {
|
|
19
|
-
let name;
|
|
20
|
-
let rename;
|
|
21
|
-
let orgId;
|
|
22
|
-
let description;
|
|
23
|
-
const tags = [];
|
|
24
|
-
let hasTagFlag = false;
|
|
25
|
-
let environment;
|
|
26
|
-
let stdin = false;
|
|
27
|
-
let secretPrompt = false;
|
|
28
|
-
for (let i = 0; i < args.length; i++) {
|
|
29
|
-
if (args[i] === '--name' && args[i + 1]) {
|
|
30
|
-
name = args[++i];
|
|
31
|
-
}
|
|
32
|
-
else if (args[i] === '--rename' && args[i + 1]) {
|
|
33
|
-
rename = args[++i];
|
|
34
|
-
}
|
|
35
|
-
else if (args[i] === '--org' && args[i + 1]) {
|
|
36
|
-
orgId = args[++i];
|
|
37
|
-
}
|
|
38
|
-
else if (args[i] === '--description' && args[i + 1]) {
|
|
39
|
-
description = args[++i];
|
|
40
|
-
}
|
|
41
|
-
else if (args[i] === '--tag' && args[i + 1]) {
|
|
42
|
-
hasTagFlag = true;
|
|
43
|
-
tags.push(args[++i]);
|
|
44
|
-
}
|
|
45
|
-
else if (args[i] === '--environment' && args[i + 1]) {
|
|
46
|
-
environment = args[++i];
|
|
47
|
-
}
|
|
48
|
-
else if (args[i] === '--stdin') {
|
|
49
|
-
stdin = true;
|
|
50
|
-
}
|
|
51
|
-
else if (args[i] === '--secret') {
|
|
52
|
-
secretPrompt = true;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return { name, rename, orgId, description, tags: splitTagRefs(tags), hasTagFlag, environment, stdin, secretPrompt };
|
|
56
|
-
}
|
|
57
|
-
export async function updateCredentialCommand(args) {
|
|
58
|
-
const parsed = parseArgs(args);
|
|
59
|
-
if (!parsed.name) {
|
|
60
|
-
console.error('Missing required flag: --name <credential-name>');
|
|
61
|
-
console.error('Usage: wayai update-credential --name "my-key" --stdin');
|
|
62
|
-
process.exit(1);
|
|
63
|
-
}
|
|
64
|
-
if (parsed.environment && !normalizeCliEnvironment(parsed.environment)) {
|
|
65
|
-
console.error(`Invalid environment: "${parsed.environment}"`);
|
|
66
|
-
console.error(`Supported environments: ${VALID_ENVIRONMENTS.join(', ')}`);
|
|
67
|
-
process.exit(1);
|
|
68
|
-
}
|
|
69
|
-
const wantsSecret = parsed.stdin || parsed.secretPrompt;
|
|
70
|
-
if (!wantsSecret && !parsed.rename && parsed.description === undefined && !parsed.hasTagFlag && !parsed.environment) {
|
|
71
|
-
console.error('Nothing to update. Provide at least one of: --stdin/--secret, --rename, --description, --tag, --environment');
|
|
72
|
-
process.exit(1);
|
|
73
|
-
}
|
|
74
|
-
const { config, accessToken } = await requireAuth();
|
|
75
|
-
const client = new ApiClient({ apiUrl: config.api_url, accessToken });
|
|
76
|
-
const { organizationId } = await resolveOrganizationId(client, parsed.orgId);
|
|
77
|
-
// Resolve the credential by display name.
|
|
78
|
-
const list = await client.listOrgCredentials(organizationId);
|
|
79
|
-
const matches = (list.data || []).filter((c) => c.credential_display_name === parsed.name);
|
|
80
|
-
if (matches.length === 0) {
|
|
81
|
-
console.error(`No credential named "${parsed.name}" found in this organization.`);
|
|
82
|
-
const available = (list.data || []).map((c) => c.credential_display_name);
|
|
83
|
-
if (available.length > 0) {
|
|
84
|
-
console.error(`Available credentials: ${available.join(', ')}`);
|
|
85
|
-
}
|
|
86
|
-
process.exit(1);
|
|
87
|
-
}
|
|
88
|
-
if (matches.length > 1) {
|
|
89
|
-
console.error(`${matches.length} credentials are named "${parsed.name}" (ids: ${matches.map((c) => c.organization_credential_id).join(', ')}).`);
|
|
90
|
-
console.error('Names are ambiguous — resolve the duplicates in Settings → Organization → Credentials before updating by name.');
|
|
91
|
-
process.exit(1);
|
|
92
|
-
}
|
|
93
|
-
const credential = matches[0];
|
|
94
|
-
const authType = credential.authentication_type;
|
|
95
|
-
const body = {};
|
|
96
|
-
// Secret rotation — map the piped/prompted value to the right field(s) for this
|
|
97
|
-
// credential's auth type.
|
|
98
|
-
if (wantsSecret) {
|
|
99
|
-
let input;
|
|
100
|
-
if (parsed.stdin) {
|
|
101
|
-
if (process.stdin.isTTY) {
|
|
102
|
-
console.error('--stdin requires piped input. Use --secret for an interactive masked prompt.');
|
|
103
|
-
process.exit(1);
|
|
104
|
-
}
|
|
105
|
-
input = await readStdin();
|
|
106
|
-
}
|
|
107
|
-
else if (authType === 'basic_auth') {
|
|
108
|
-
const username = await prompt('Enter username: ');
|
|
109
|
-
const password = await promptSecret('Enter password: ');
|
|
110
|
-
input = `${username}:${password}`;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
input = await promptSecret(authType === 'bearer' ? 'Enter access token: ' : 'Enter API key: ');
|
|
114
|
-
}
|
|
115
|
-
if (!input) {
|
|
116
|
-
console.error('No secret provided.');
|
|
117
|
-
process.exit(1);
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
Object.assign(body, mapSecretToCredentialFields(authType, input));
|
|
121
|
-
}
|
|
122
|
-
catch (err) {
|
|
123
|
-
console.error(err instanceof Error ? err.message : String(err));
|
|
124
|
-
process.exit(1);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
if (parsed.rename)
|
|
128
|
-
body.credential_display_name = parsed.rename;
|
|
129
|
-
if (parsed.description !== undefined)
|
|
130
|
-
body.credential_description = parsed.description;
|
|
131
|
-
if (parsed.environment)
|
|
132
|
-
body.environment = parsed.environment;
|
|
133
|
-
if (parsed.hasTagFlag) {
|
|
134
|
-
const orgTags = await client.listOrgTags(organizationId);
|
|
135
|
-
body.tags = resolveTagIds(parsed.tags, orgTags.data || []);
|
|
136
|
-
}
|
|
137
|
-
console.log(`Updating credential "${parsed.name}"...`);
|
|
138
|
-
let result;
|
|
139
|
-
try {
|
|
140
|
-
result = await client.updateOrgCredential(credential.organization_credential_id, organizationId, body);
|
|
141
|
-
}
|
|
142
|
-
catch (err) {
|
|
143
|
-
if (err instanceof ApiError && err.status === 409) {
|
|
144
|
-
console.error(`\nCannot rename: a credential named "${parsed.rename}" already exists in this organization.`);
|
|
145
|
-
process.exit(1);
|
|
146
|
-
}
|
|
147
|
-
throw err;
|
|
148
|
-
}
|
|
149
|
-
console.log(`\nCredential updated: ${result.data.credential_display_name}`);
|
|
150
|
-
console.log(` ID: ${result.data.organization_credential_id}`);
|
|
151
|
-
console.log(` Type: ${result.data.authentication_type}`);
|
|
152
|
-
if (wantsSecret) {
|
|
153
|
-
console.log(' Secret rotated — linked connections updated.');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=update-credential.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-credential.js","sourceRoot":"","sources":["../../src/commands/update-credential.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/update.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* wayai update — update CLI to the latest version
|
|
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
|
-
}
|
|
36
|
-
//# sourceMappingURL=update.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AACH,CAAC"}
|
package/dist/commands/use.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useCommand(args: string[]): Promise<void>;
|