@llm-dev-ops/agentics-cli 1.4.4 → 1.4.7
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/adapters/base-adapter.d.ts +117 -0
- package/dist/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js +143 -0
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/agents/cli-ux-agent.d.ts.map +1 -1
- package/dist/agents/cli-ux-agent.js +2 -1
- package/dist/agents/cli-ux-agent.js.map +1 -1
- package/dist/auth/identity-resolver.d.ts +21 -0
- package/dist/auth/identity-resolver.d.ts.map +1 -0
- package/dist/auth/identity-resolver.js +68 -0
- package/dist/auth/identity-resolver.js.map +1 -0
- package/dist/auth/index.d.ts +2 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +2 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/role-permissions.d.ts +12 -0
- package/dist/auth/role-permissions.d.ts.map +1 -0
- package/dist/auth/role-permissions.js +43 -0
- package/dist/auth/role-permissions.js.map +1 -0
- package/dist/cli/index.js +162 -157
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/deploy.d.ts +4 -4
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +83 -21
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/erp.d.ts +1 -1
- package/dist/commands/erp.d.ts.map +1 -1
- package/dist/commands/erp.js +65 -5
- package/dist/commands/erp.js.map +1 -1
- package/dist/commands/export.d.ts +5 -5
- package/dist/commands/export.js +5 -5
- package/dist/commands/inspect.d.ts +28 -0
- package/dist/commands/inspect.d.ts.map +1 -1
- package/dist/commands/inspect.js +113 -0
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/login.d.ts +8 -6
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +171 -89
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +4 -1
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/plan.d.ts +8 -5
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +88 -63
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/policy.d.ts +53 -0
- package/dist/commands/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +201 -5
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/quantify.d.ts +1 -1
- package/dist/commands/quantify.d.ts.map +1 -1
- package/dist/commands/quantify.js +2 -4
- package/dist/commands/quantify.js.map +1 -1
- package/dist/commands/simulate.d.ts +3 -2
- package/dist/commands/simulate.d.ts.map +1 -1
- package/dist/commands/simulate.js +154 -37
- package/dist/commands/simulate.js.map +1 -1
- package/dist/commands/usage.d.ts +3 -3
- package/dist/commands/usage.js +7 -7
- package/dist/commands/usage.js.map +1 -1
- package/dist/commands/whoami.d.ts +6 -0
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +44 -7
- package/dist/commands/whoami.js.map +1 -1
- package/dist/contracts/adr-002-operational-enforcement.d.ts +684 -0
- package/dist/contracts/adr-002-operational-enforcement.d.ts.map +1 -0
- package/dist/contracts/adr-002-operational-enforcement.js +671 -0
- package/dist/contracts/adr-002-operational-enforcement.js.map +1 -0
- package/dist/contracts/adr-003-governance-architecture.d.ts +766 -0
- package/dist/contracts/adr-003-governance-architecture.d.ts.map +1 -0
- package/dist/contracts/adr-003-governance-architecture.js +773 -0
- package/dist/contracts/adr-003-governance-architecture.js.map +1 -0
- package/dist/contracts/adr-004-enterprise-integration-memory.d.ts +1150 -0
- package/dist/contracts/adr-004-enterprise-integration-memory.d.ts.map +1 -0
- package/dist/contracts/adr-004-enterprise-integration-memory.js +1158 -0
- package/dist/contracts/adr-004-enterprise-integration-memory.js.map +1 -0
- package/dist/contracts/adr-005-system-coherence-drift-self-governance.d.ts +1393 -0
- package/dist/contracts/adr-005-system-coherence-drift-self-governance.d.ts.map +1 -0
- package/dist/contracts/adr-005-system-coherence-drift-self-governance.js +1371 -0
- package/dist/contracts/adr-005-system-coherence-drift-self-governance.js.map +1 -0
- package/dist/contracts/adr-command-semantics.d.ts +150 -0
- package/dist/contracts/adr-command-semantics.d.ts.map +1 -0
- package/dist/contracts/adr-command-semantics.js +984 -0
- package/dist/contracts/adr-command-semantics.js.map +1 -0
- package/dist/contracts/index.d.ts +5 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +16 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/enterprise/index.d.ts +16 -0
- package/dist/enterprise/index.d.ts.map +1 -0
- package/dist/enterprise/index.js +17 -0
- package/dist/enterprise/index.js.map +1 -0
- package/dist/enterprise/integration-registry.d.ts +73 -0
- package/dist/enterprise/integration-registry.d.ts.map +1 -0
- package/dist/enterprise/integration-registry.js +252 -0
- package/dist/enterprise/integration-registry.js.map +1 -0
- package/dist/enterprise/lineage.d.ts +73 -0
- package/dist/enterprise/lineage.d.ts.map +1 -0
- package/dist/enterprise/lineage.js +218 -0
- package/dist/enterprise/lineage.js.map +1 -0
- package/dist/gates/argument-guard.d.ts +39 -0
- package/dist/gates/argument-guard.d.ts.map +1 -0
- package/dist/gates/argument-guard.js +180 -0
- package/dist/gates/argument-guard.js.map +1 -0
- package/dist/gates/auth-session-gate.d.ts +47 -0
- package/dist/gates/auth-session-gate.d.ts.map +1 -0
- package/dist/gates/auth-session-gate.js +151 -0
- package/dist/gates/auth-session-gate.js.map +1 -0
- package/dist/gates/execution-gate.d.ts +12 -17
- package/dist/gates/execution-gate.d.ts.map +1 -1
- package/dist/gates/execution-gate.js +74 -46
- package/dist/gates/execution-gate.js.map +1 -1
- package/dist/gates/index.d.ts +25 -2
- package/dist/gates/index.d.ts.map +1 -1
- package/dist/gates/index.js +31 -2
- package/dist/gates/index.js.map +1 -1
- package/dist/gates/lineage-gate.d.ts +55 -0
- package/dist/gates/lineage-gate.d.ts.map +1 -0
- package/dist/gates/lineage-gate.js +127 -0
- package/dist/gates/lineage-gate.js.map +1 -0
- package/dist/gates/output-format-gate.d.ts +54 -0
- package/dist/gates/output-format-gate.d.ts.map +1 -0
- package/dist/gates/output-format-gate.js +136 -0
- package/dist/gates/output-format-gate.js.map +1 -0
- package/dist/gates/service-health-gate.d.ts +56 -0
- package/dist/gates/service-health-gate.d.ts.map +1 -0
- package/dist/gates/service-health-gate.js +179 -0
- package/dist/gates/service-health-gate.js.map +1 -0
- package/dist/modules/help-renderer.d.ts +25 -0
- package/dist/modules/help-renderer.d.ts.map +1 -0
- package/dist/modules/help-renderer.js +163 -0
- package/dist/modules/help-renderer.js.map +1 -0
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +1 -0
- package/dist/modules/index.js.map +1 -1
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +16 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/auth.d.ts.map +1 -1
- package/dist/server/routes/auth.js +45 -8
- package/dist/server/routes/auth.js.map +1 -1
- package/dist/server/routes/identity.d.ts +9 -0
- package/dist/server/routes/identity.d.ts.map +1 -0
- package/dist/server/routes/identity.js +100 -0
- package/dist/server/routes/identity.js.map +1 -0
- package/dist/server/routes/index.d.ts +2 -0
- package/dist/server/routes/index.d.ts.map +1 -1
- package/dist/server/routes/index.js +2 -0
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/lineage.d.ts +15 -0
- package/dist/server/routes/lineage.d.ts.map +1 -0
- package/dist/server/routes/lineage.js +128 -0
- package/dist/server/routes/lineage.js.map +1 -0
- package/dist/types/index.d.ts +134 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/identity-store.d.ts +31 -0
- package/dist/utils/identity-store.d.ts.map +1 -0
- package/dist/utils/identity-store.js +97 -0
- package/dist/utils/identity-store.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +4 -4
package/dist/commands/login.js
CHANGED
|
@@ -3,45 +3,79 @@
|
|
|
3
3
|
*
|
|
4
4
|
* SPARC Architecture Reference: CLI Authentication
|
|
5
5
|
*
|
|
6
|
-
* PURPOSE:
|
|
6
|
+
* PURPOSE: Authenticate the CLI via browser-based auth with API key paste-back.
|
|
7
7
|
*
|
|
8
8
|
* WORKFLOW:
|
|
9
|
-
* 1.
|
|
10
|
-
* 2.
|
|
11
|
-
* 3.
|
|
12
|
-
* 4.
|
|
13
|
-
* 5.
|
|
9
|
+
* 1. Create auth session on the platform backend
|
|
10
|
+
* 2. Open browser to the verification URL where user authenticates
|
|
11
|
+
* 3. Browser shows a copyable API key after authentication
|
|
12
|
+
* 4. CLI prompts user to paste the API key
|
|
13
|
+
* 5. CLI polls the session to resolve the user's email and payment status
|
|
14
|
+
* 6. CLI presents terms and conditions for acceptance
|
|
15
|
+
* 7. Store credentials locally
|
|
14
16
|
*
|
|
15
17
|
* FORBIDDEN:
|
|
16
18
|
* - Storing credentials in plaintext in code
|
|
17
19
|
* - Logging credential values
|
|
18
20
|
* - Bypassing the authorization flow
|
|
19
21
|
*/
|
|
22
|
+
import * as readline from 'node:readline';
|
|
20
23
|
import { AuthError } from '../errors/index.js';
|
|
21
24
|
import { createCredentialStore } from '../utils/credentials.js';
|
|
25
|
+
import { createIdentityStore } from '../utils/identity-store.js';
|
|
26
|
+
import { resolveIdentityFromKey } from '../auth/identity-resolver.js';
|
|
22
27
|
// ============================================================================
|
|
23
28
|
// Configuration
|
|
24
29
|
// ============================================================================
|
|
25
30
|
import { isLocalhostUrl, isLocalDevMode, LocalhostInProductionError } from '../config/endpoints.js';
|
|
26
|
-
// Platform URL for authentication - uses AGENTICS_PLATFORM_URL for consistency with docs
|
|
27
31
|
const PLATFORM_URL = process.env['AGENTICS_PLATFORM_URL'] ?? 'https://platform.agentics.dev';
|
|
28
32
|
const CLI_NAME = 'Agentics CLI';
|
|
29
|
-
const CLI_VERSION = '1.4.
|
|
30
|
-
const DEFAULT_POLL_INTERVAL = 5000; // 5 seconds
|
|
31
|
-
/**
|
|
32
|
-
* Validate platform URL - apply same localhost safeguard as other endpoints
|
|
33
|
-
*/
|
|
33
|
+
const CLI_VERSION = '1.4.5';
|
|
34
34
|
function validatePlatformUrl() {
|
|
35
35
|
if (isLocalhostUrl(PLATFORM_URL) && !isLocalDevMode()) {
|
|
36
36
|
throw new LocalhostInProductionError('agentics-platform', PLATFORM_URL);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Terms and Conditions
|
|
41
|
+
// ============================================================================
|
|
42
|
+
const TERMS_AND_CONDITIONS = `
|
|
43
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
44
|
+
AGENTICS PLATFORM - TERMS OF SERVICE
|
|
45
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
46
|
+
|
|
47
|
+
By using the Agentics CLI and platform services, you agree to:
|
|
48
|
+
|
|
49
|
+
1. ACCEPTABLE USE
|
|
50
|
+
You will use the platform only for lawful purposes and in
|
|
51
|
+
accordance with the Agentics Acceptable Use Policy.
|
|
52
|
+
|
|
53
|
+
2. API KEY SECURITY
|
|
54
|
+
You are responsible for keeping your API key secure. Do not
|
|
55
|
+
share your key or commit it to version control.
|
|
56
|
+
|
|
57
|
+
3. DATA HANDLING
|
|
58
|
+
The platform processes data you submit for simulation,
|
|
59
|
+
planning, and deployment operations. You retain ownership
|
|
60
|
+
of your data.
|
|
61
|
+
|
|
62
|
+
4. SERVICE AVAILABILITY
|
|
63
|
+
The platform is provided "as is". Agentics makes no
|
|
64
|
+
guarantees of uptime or availability.
|
|
65
|
+
|
|
66
|
+
5. USAGE LIMITS
|
|
67
|
+
Your account is subject to usage limits based on your plan.
|
|
68
|
+
Exceeding limits may result in throttling or suspension.
|
|
69
|
+
|
|
70
|
+
Full terms: https://agentics.dev/terms
|
|
71
|
+
Privacy policy: https://agentics.dev/privacy
|
|
72
|
+
|
|
73
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
74
|
+
`.trim();
|
|
40
75
|
// ============================================================================
|
|
41
76
|
// Login Command Implementation
|
|
42
77
|
// ============================================================================
|
|
43
78
|
export async function executeLoginCommand(input, options) {
|
|
44
|
-
// Validate platform URL - fail fast if localhost without local dev mode
|
|
45
79
|
validatePlatformUrl();
|
|
46
80
|
const correlationId = options.trace_id ?? crypto.randomUUID();
|
|
47
81
|
const credentialStore = createCredentialStore();
|
|
@@ -52,7 +86,7 @@ export async function executeLoginCommand(input, options) {
|
|
|
52
86
|
console.error('Existing credentials found. Re-authenticating...');
|
|
53
87
|
}
|
|
54
88
|
}
|
|
55
|
-
// Step 1:
|
|
89
|
+
// Step 1: Create auth session on the platform
|
|
56
90
|
console.log('');
|
|
57
91
|
console.log('Initiating authentication...');
|
|
58
92
|
let session;
|
|
@@ -66,58 +100,108 @@ export async function executeLoginCommand(input, options) {
|
|
|
66
100
|
correlationId,
|
|
67
101
|
});
|
|
68
102
|
}
|
|
69
|
-
// Step 2:
|
|
103
|
+
// Step 2: Open browser to verification URL
|
|
70
104
|
console.log('');
|
|
71
|
-
console.log('
|
|
105
|
+
console.log('Open this URL in your browser to authenticate:');
|
|
72
106
|
console.log('');
|
|
73
107
|
console.log(` ${session.verification_url}`);
|
|
74
108
|
console.log('');
|
|
75
|
-
console.log(`Your verification code: ${session.user_code}`);
|
|
76
|
-
console.log('');
|
|
77
|
-
// Step 3: Optionally open URL in browser
|
|
78
109
|
if (!input.noBrowser) {
|
|
79
110
|
await openBrowser(session.verification_url, options);
|
|
80
111
|
console.log('(Browser opened automatically)');
|
|
81
112
|
console.log('');
|
|
82
113
|
}
|
|
83
|
-
console.log('
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
114
|
+
console.log('After authenticating, copy the API key shown in your browser.');
|
|
115
|
+
console.log('');
|
|
116
|
+
// Step 3: Prompt user to paste API key
|
|
117
|
+
const apiKey = await promptForApiKey();
|
|
118
|
+
if (!apiKey) {
|
|
119
|
+
throw new AuthError({
|
|
120
|
+
type: 'denied',
|
|
121
|
+
message: 'No API key provided. Authentication cancelled.',
|
|
122
|
+
correlationId,
|
|
123
|
+
});
|
|
92
124
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
throw error;
|
|
96
|
-
}
|
|
125
|
+
// Validate key format
|
|
126
|
+
if (!apiKey.startsWith('agentics_sk_')) {
|
|
97
127
|
throw new AuthError({
|
|
98
|
-
type: '
|
|
99
|
-
message:
|
|
128
|
+
type: 'denied',
|
|
129
|
+
message: 'Invalid API key format. Keys start with "agentics_sk_". Please try again.',
|
|
100
130
|
correlationId,
|
|
101
131
|
});
|
|
102
132
|
}
|
|
103
|
-
|
|
133
|
+
console.log('');
|
|
134
|
+
console.log('Verifying...');
|
|
135
|
+
// Step 4: Poll session to resolve email and payment status
|
|
136
|
+
let email;
|
|
137
|
+
let userId;
|
|
138
|
+
let paymentStatus = 'unknown';
|
|
139
|
+
try {
|
|
140
|
+
const sessionData = await fetchSessionData(session.device_code, correlationId);
|
|
141
|
+
if (sessionData) {
|
|
142
|
+
email = sessionData.email;
|
|
143
|
+
userId = sessionData.user_id;
|
|
144
|
+
paymentStatus = sessionData.payment_status ?? 'unknown';
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// Session data fetch failed — proceed with key only.
|
|
149
|
+
// The key itself is the proof of authentication.
|
|
150
|
+
if (options.verbose) {
|
|
151
|
+
console.error('Could not fetch session metadata. Proceeding with API key only.');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// Step 5: Show terms and conditions
|
|
155
|
+
console.log('');
|
|
156
|
+
console.log(TERMS_AND_CONDITIONS);
|
|
157
|
+
console.log('');
|
|
158
|
+
const accepted = await promptForTermsAcceptance();
|
|
159
|
+
if (!accepted) {
|
|
104
160
|
throw new AuthError({
|
|
105
|
-
type: '
|
|
106
|
-
message: '
|
|
161
|
+
type: 'denied',
|
|
162
|
+
message: 'You must accept the terms of service to use the Agentics CLI.',
|
|
107
163
|
correlationId,
|
|
108
164
|
});
|
|
109
165
|
}
|
|
110
|
-
// Step
|
|
111
|
-
const userEmail = process.env['AGENTICS_USER_EMAIL'];
|
|
166
|
+
// Step 6: Store credentials
|
|
112
167
|
await credentialStore.save({
|
|
113
168
|
api_key: apiKey,
|
|
114
169
|
created_at: new Date().toISOString(),
|
|
115
|
-
email
|
|
170
|
+
email,
|
|
171
|
+
user_id: userId,
|
|
172
|
+
payment_status: paymentStatus,
|
|
116
173
|
});
|
|
117
174
|
const credentialsPath = credentialStore.getCredentialsPath?.() ?? '~/.agentics/credentials.json';
|
|
175
|
+
// Step 7: Resolve and cache identity (deterministic from API key)
|
|
176
|
+
let identityUserId;
|
|
177
|
+
let identityOrgId;
|
|
178
|
+
try {
|
|
179
|
+
const identityStore = createIdentityStore();
|
|
180
|
+
const identityContext = resolveIdentityFromKey(apiKey, email);
|
|
181
|
+
await identityStore.save(identityContext);
|
|
182
|
+
identityUserId = identityContext.user.user_id;
|
|
183
|
+
identityOrgId = identityContext.org.org_id;
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
// Identity caching failed — non-fatal
|
|
187
|
+
if (options.verbose) {
|
|
188
|
+
console.error('Could not cache identity. Continuing with credentials only.');
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
console.log('');
|
|
192
|
+
console.log('Authentication successful!');
|
|
193
|
+
if (email) {
|
|
194
|
+
console.log(` Logged in as: ${email}`);
|
|
195
|
+
}
|
|
196
|
+
if (identityUserId) {
|
|
197
|
+
console.log(` User ID: ${identityUserId}`);
|
|
198
|
+
}
|
|
199
|
+
if (identityOrgId) {
|
|
200
|
+
console.log(` Org ID: ${identityOrgId}`);
|
|
201
|
+
console.log(` Role: owner`);
|
|
202
|
+
}
|
|
203
|
+
console.log(` Credentials stored at: ${credentialsPath}`);
|
|
118
204
|
console.log('');
|
|
119
|
-
console.log('✓ Authentication successful!');
|
|
120
|
-
console.log(` API key stored at: ${credentialsPath}`);
|
|
121
205
|
return {
|
|
122
206
|
success: true,
|
|
123
207
|
message: 'Authentication successful',
|
|
@@ -149,14 +233,14 @@ async function createAuthSession(correlationId, options) {
|
|
|
149
233
|
}
|
|
150
234
|
return data;
|
|
151
235
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
236
|
+
/**
|
|
237
|
+
* Fetch session data once to resolve email and payment status.
|
|
238
|
+
* The session should be completed by the time the user has their API key.
|
|
239
|
+
*/
|
|
240
|
+
async function fetchSessionData(deviceCode, correlationId) {
|
|
241
|
+
// Try a few times since there may be a brief delay between the user
|
|
242
|
+
// copying the key and the session being marked complete
|
|
243
|
+
for (let attempt = 0; attempt < 5; attempt++) {
|
|
160
244
|
try {
|
|
161
245
|
const response = await fetch(`${PLATFORM_URL}/v1/cli/auth/sessions/${deviceCode}`, {
|
|
162
246
|
headers: {
|
|
@@ -164,48 +248,48 @@ async function pollForCompletion(deviceCode, intervalMs, correlationId, options)
|
|
|
164
248
|
},
|
|
165
249
|
});
|
|
166
250
|
if (!response.ok) {
|
|
167
|
-
|
|
168
|
-
throw new AuthError({
|
|
169
|
-
type: 'expired',
|
|
170
|
-
message: 'Session not found or expired.',
|
|
171
|
-
correlationId,
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
continue; // Retry on other errors
|
|
251
|
+
return null;
|
|
175
252
|
}
|
|
176
253
|
const result = await response.json();
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
return result.api_key;
|
|
180
|
-
case 'denied':
|
|
181
|
-
throw new AuthError({
|
|
182
|
-
type: 'denied',
|
|
183
|
-
message: 'Authorization was denied by the user.',
|
|
184
|
-
correlationId,
|
|
185
|
-
});
|
|
186
|
-
case 'expired':
|
|
187
|
-
throw new AuthError({
|
|
188
|
-
type: 'expired',
|
|
189
|
-
message: 'Authentication session expired.',
|
|
190
|
-
correlationId,
|
|
191
|
-
});
|
|
192
|
-
case 'pending':
|
|
193
|
-
// Show progress indicator
|
|
194
|
-
process.stdout.write('.');
|
|
195
|
-
break;
|
|
254
|
+
if (result.status === 'completed') {
|
|
255
|
+
return result;
|
|
196
256
|
}
|
|
257
|
+
// Brief wait between attempts
|
|
258
|
+
await sleep(1000);
|
|
197
259
|
}
|
|
198
|
-
catch
|
|
199
|
-
|
|
200
|
-
throw error;
|
|
201
|
-
}
|
|
202
|
-
// Network error, continue polling
|
|
203
|
-
if (options.verbose) {
|
|
204
|
-
console.error(`Poll error: ${error instanceof Error ? error.message : 'Unknown'}`);
|
|
205
|
-
}
|
|
260
|
+
catch {
|
|
261
|
+
return null;
|
|
206
262
|
}
|
|
207
263
|
}
|
|
208
|
-
return
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
// ============================================================================
|
|
267
|
+
// Interactive Prompts
|
|
268
|
+
// ============================================================================
|
|
269
|
+
function promptForApiKey() {
|
|
270
|
+
return new Promise((resolve) => {
|
|
271
|
+
const rl = readline.createInterface({
|
|
272
|
+
input: process.stdin,
|
|
273
|
+
output: process.stderr,
|
|
274
|
+
});
|
|
275
|
+
rl.question('Paste your API key: ', (answer) => {
|
|
276
|
+
rl.close();
|
|
277
|
+
resolve(answer.trim());
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
function promptForTermsAcceptance() {
|
|
282
|
+
return new Promise((resolve) => {
|
|
283
|
+
const rl = readline.createInterface({
|
|
284
|
+
input: process.stdin,
|
|
285
|
+
output: process.stderr,
|
|
286
|
+
});
|
|
287
|
+
rl.question('Do you accept the terms of service? (yes/no): ', (answer) => {
|
|
288
|
+
rl.close();
|
|
289
|
+
const normalized = answer.trim().toLowerCase();
|
|
290
|
+
resolve(normalized === 'yes' || normalized === 'y');
|
|
291
|
+
});
|
|
292
|
+
});
|
|
209
293
|
}
|
|
210
294
|
// ============================================================================
|
|
211
295
|
// Helper Functions
|
|
@@ -227,7 +311,6 @@ async function openBrowser(url, options) {
|
|
|
227
311
|
command = `start "" "${url}"`;
|
|
228
312
|
}
|
|
229
313
|
else {
|
|
230
|
-
// Linux and others
|
|
231
314
|
command = `xdg-open "${url}" 2>/dev/null || sensible-browser "${url}" 2>/dev/null || x-www-browser "${url}" 2>/dev/null`;
|
|
232
315
|
}
|
|
233
316
|
await execAsync(command);
|
|
@@ -236,7 +319,6 @@ async function openBrowser(url, options) {
|
|
|
236
319
|
}
|
|
237
320
|
}
|
|
238
321
|
catch {
|
|
239
|
-
// Browser opening failed, user can manually navigate
|
|
240
322
|
if (options.verbose) {
|
|
241
323
|
console.error('Could not open browser automatically. Please navigate to the URL manually.');
|
|
242
324
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;GAKG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAiCzE;AAMD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAM1E"}
|
package/dist/commands/logout.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* - Introduce new storage formats
|
|
17
17
|
*/
|
|
18
18
|
import { createCredentialStore } from '../utils/credentials.js';
|
|
19
|
+
import { createIdentityStore } from '../utils/identity-store.js';
|
|
19
20
|
// ============================================================================
|
|
20
21
|
// Logout Command Implementation
|
|
21
22
|
// ============================================================================
|
|
@@ -30,8 +31,10 @@ export async function executeLogoutCommand() {
|
|
|
30
31
|
try {
|
|
31
32
|
// Check if session exists before deleting
|
|
32
33
|
const hadSession = await credentialStore.exists();
|
|
33
|
-
// Delete credentials (idempotent - no error if already gone)
|
|
34
|
+
// Delete credentials and identity cache (idempotent - no error if already gone)
|
|
34
35
|
await credentialStore.delete();
|
|
36
|
+
const identityStore = createIdentityStore();
|
|
37
|
+
await identityStore.delete();
|
|
35
38
|
if (hadSession) {
|
|
36
39
|
return {
|
|
37
40
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAYjE,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAEhD,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC;QAElD,gFAAgF;QAChF,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAC5C,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;QAE7B,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,0BAA0B;aACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,0BAA0B;aACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,uCAAuC;SACjD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA2B;IAChE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
package/dist/commands/plan.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - list List all plans from Ruvector
|
|
12
12
|
* - inspect Retrieve a specific plan by ID from Ruvector (NO PLANNER CALLS)
|
|
13
13
|
* - delete Delete a plan from Ruvector
|
|
14
|
-
* - approve
|
|
14
|
+
* - approve Approve a plan and persist status change
|
|
15
15
|
*
|
|
16
16
|
* CRITICAL RULES:
|
|
17
17
|
* - plan inspect MUST NOT call planner
|
|
@@ -133,7 +133,10 @@ export declare function executePlanListCommand(input: PlanListInput, options: Co
|
|
|
133
133
|
*/
|
|
134
134
|
export declare function formatPlansListForDisplay(plans: PlanSummary[]): string;
|
|
135
135
|
/**
|
|
136
|
-
* Create a new plan record
|
|
136
|
+
* Create a new plan record.
|
|
137
|
+
*
|
|
138
|
+
* Plans are persisted in the Ruvector backend service (same as list/inspect/approve).
|
|
139
|
+
* The CLI is a thin client - no local filesystem writes.
|
|
137
140
|
*/
|
|
138
141
|
export declare function executePlanCreateCommand(input: PlanCreateInput, options: CommandOptions): Promise<PlanCreateResult>;
|
|
139
142
|
/**
|
|
@@ -157,10 +160,10 @@ export declare function executePlanInspectCommand(input: PlanInspectInput, optio
|
|
|
157
160
|
*/
|
|
158
161
|
export declare function executePlanDeleteCommand(input: PlanDeleteInput, options: CommandOptions): Promise<PlanDeleteResult>;
|
|
159
162
|
/**
|
|
160
|
-
* Approve a plan
|
|
163
|
+
* Approve a plan.
|
|
161
164
|
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
165
|
+
* Verifies the plan exists in Ruvector and marks it as approved.
|
|
166
|
+
* For authorized users (internal email or paid API key), this performs real approval.
|
|
164
167
|
*/
|
|
165
168
|
export declare function executePlanApproveCommand(input: PlanApproveInput, options: CommandOptions): Promise<PlanApproveResult>;
|
|
166
169
|
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
|