@llm-dev-ops/agentics-cli 1.3.15 → 1.4.0

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.
Files changed (51) hide show
  1. package/dist/adapters/base-adapter.d.ts +77 -0
  2. package/dist/adapters/base-adapter.d.ts.map +1 -1
  3. package/dist/adapters/base-adapter.js +159 -7
  4. package/dist/adapters/base-adapter.js.map +1 -1
  5. package/dist/agents/cli-ux-agent.d.ts +153 -0
  6. package/dist/agents/cli-ux-agent.d.ts.map +1 -0
  7. package/dist/agents/cli-ux-agent.js +488 -0
  8. package/dist/agents/cli-ux-agent.js.map +1 -0
  9. package/dist/agents/decision-event.d.ts +177 -0
  10. package/dist/agents/decision-event.d.ts.map +1 -0
  11. package/dist/agents/decision-event.js +346 -0
  12. package/dist/agents/decision-event.js.map +1 -0
  13. package/dist/agents/index.d.ts +20 -0
  14. package/dist/agents/index.d.ts.map +1 -0
  15. package/dist/agents/index.js +23 -0
  16. package/dist/agents/index.js.map +1 -0
  17. package/dist/agents/types.d.ts +304 -0
  18. package/dist/agents/types.d.ts.map +1 -0
  19. package/dist/agents/types.js +74 -0
  20. package/dist/agents/types.js.map +1 -0
  21. package/dist/auth/gcp-identity.d.ts +61 -0
  22. package/dist/auth/gcp-identity.d.ts.map +1 -0
  23. package/dist/auth/gcp-identity.js +228 -0
  24. package/dist/auth/gcp-identity.js.map +1 -0
  25. package/dist/auth/index.d.ts +8 -0
  26. package/dist/auth/index.d.ts.map +1 -0
  27. package/dist/auth/index.js +8 -0
  28. package/dist/auth/index.js.map +1 -0
  29. package/dist/cli/index.js +71 -6
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/commands/deploy.d.ts +1 -1
  32. package/dist/commands/deploy.d.ts.map +1 -1
  33. package/dist/commands/deploy.js +125 -78
  34. package/dist/commands/deploy.js.map +1 -1
  35. package/dist/commands/whoami.d.ts +8 -0
  36. package/dist/commands/whoami.d.ts.map +1 -1
  37. package/dist/commands/whoami.js +54 -7
  38. package/dist/commands/whoami.js.map +1 -1
  39. package/dist/contracts/schemas/index.d.ts +505 -0
  40. package/dist/contracts/schemas/index.d.ts.map +1 -1
  41. package/dist/contracts/schemas/index.js +315 -0
  42. package/dist/contracts/schemas/index.js.map +1 -1
  43. package/dist/gates/execution-gate.d.ts +59 -0
  44. package/dist/gates/execution-gate.d.ts.map +1 -0
  45. package/dist/gates/execution-gate.js +115 -0
  46. package/dist/gates/execution-gate.js.map +1 -0
  47. package/dist/gates/index.d.ts +8 -0
  48. package/dist/gates/index.d.ts.map +1 -0
  49. package/dist/gates/index.js +8 -0
  50. package/dist/gates/index.js.map +1 -0
  51. package/package.json +2 -1
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Agent Type Definitions for agentics-cli
3
+ *
4
+ * CONSTITUTION REFERENCE: PROMPT 0 (Agent Infrastructure Constitution)
5
+ *
6
+ * CLASSIFICATION: CLI UX ORCHESTRATION
7
+ *
8
+ * This module defines the complete type system for CLI UX Agents,
9
+ * including the DecisionEvent schema required by the constitution.
10
+ *
11
+ * KEY CONSTRAINTS:
12
+ * - All types import from agentics-contracts (schemas)
13
+ * - Agents are stateless - no persistent storage
14
+ * - DecisionEvents emit to ruvector-service only
15
+ * - No business logic in type definitions
16
+ */
17
+ /**
18
+ * Agent classification as defined by the constitution.
19
+ * agentics-cli agents are EXCLUSIVELY CLI UX ORCHESTRATION type.
20
+ */
21
+ export type AgentClassification = 'CLI_UX_ORCHESTRATION';
22
+ /**
23
+ * Agent identifier with semantic versioning.
24
+ */
25
+ export interface AgentIdentifier {
26
+ readonly agent_id: string;
27
+ readonly agent_version: string;
28
+ readonly agent_name: string;
29
+ readonly classification: AgentClassification;
30
+ }
31
+ /**
32
+ * Decision types for CLI UX Agents.
33
+ *
34
+ * As per constitution, agentics-cli agents handle UX orchestration only.
35
+ */
36
+ export type DecisionType = 'cli_ux_orchestration' | 'command_validation' | 'service_routing' | 'output_formatting' | 'error_presentation' | 'workflow_guidance';
37
+ /**
38
+ * Confidence level for CLI UX decisions.
39
+ *
40
+ * Represents certainty in:
41
+ * - Command interpretation
42
+ * - Input validation
43
+ * - Service routing
44
+ * - Output presentation
45
+ */
46
+ export interface ConfidenceScore {
47
+ /** Overall confidence (0.0 - 1.0) */
48
+ readonly value: number;
49
+ /** What the confidence represents */
50
+ readonly basis: ConfidenceBasis;
51
+ /** Breakdown by component */
52
+ readonly components?: ConfidenceComponent[];
53
+ }
54
+ export type ConfidenceBasis = 'command_resolution' | 'input_validation' | 'service_match' | 'output_formatting';
55
+ export interface ConfidenceComponent {
56
+ readonly name: string;
57
+ readonly value: number;
58
+ readonly weight: number;
59
+ }
60
+ /**
61
+ * Constraints applied during CLI UX decision.
62
+ */
63
+ export interface ConstraintsApplied {
64
+ /** User permissions scope */
65
+ readonly permissions: string[];
66
+ /** Environment context */
67
+ readonly environment: EnvironmentContext;
68
+ /** Scope limitations */
69
+ readonly scope: ScopeLimitation[];
70
+ }
71
+ export interface EnvironmentContext {
72
+ readonly is_local: boolean;
73
+ readonly is_production: boolean;
74
+ readonly execution_gate_enabled: boolean;
75
+ readonly auth_present: boolean;
76
+ }
77
+ export interface ScopeLimitation {
78
+ readonly type: 'command' | 'service' | 'output';
79
+ readonly constraint: string;
80
+ readonly reason: string;
81
+ }
82
+ /**
83
+ * DecisionEvent schema as required by PROMPT 0.
84
+ *
85
+ * EMISSION RULES:
86
+ * - At most ONE DecisionEvent per agent invocation
87
+ * - MAY be emitted to ruvector-service (async, non-blocking)
88
+ * - MUST NOT be persisted locally
89
+ */
90
+ export interface DecisionEvent {
91
+ /** Agent that made the decision */
92
+ readonly agent_id: string;
93
+ /** Version of the agent */
94
+ readonly agent_version: string;
95
+ /** Type of decision made */
96
+ readonly decision_type: DecisionType;
97
+ /** Hash of inputs for reproducibility (no raw data) */
98
+ readonly inputs_hash: string;
99
+ /** Decision outputs (reference only, no raw data) */
100
+ readonly outputs: DecisionOutputs;
101
+ /** Confidence in the decision */
102
+ readonly confidence: ConfidenceScore;
103
+ /** Constraints that affected the decision */
104
+ readonly constraints_applied: ConstraintsApplied;
105
+ /** Reference to downstream execution (if any) */
106
+ readonly execution_ref: ExecutionReference | null;
107
+ /** UTC timestamp of decision */
108
+ readonly timestamp: string;
109
+ /** Trace ID for correlation */
110
+ readonly trace_id: string;
111
+ }
112
+ /**
113
+ * Decision outputs - references only, no raw data.
114
+ */
115
+ export interface DecisionOutputs {
116
+ /** Command that was executed */
117
+ readonly command: string;
118
+ /** Subcommand if applicable */
119
+ readonly subcommand?: string;
120
+ /** Result type */
121
+ readonly result_type: 'success' | 'error' | 'guidance';
122
+ /** Reference to any artifact produced */
123
+ readonly artifact_ref?: string;
124
+ /** Services invoked */
125
+ readonly services_invoked: string[];
126
+ }
127
+ /**
128
+ * Reference to downstream execution.
129
+ */
130
+ export interface ExecutionReference {
131
+ /** Downstream service that was invoked */
132
+ readonly service: string;
133
+ /** Execution ID from downstream */
134
+ readonly execution_id: string;
135
+ /** Trace ID for correlation */
136
+ readonly trace_id: string;
137
+ }
138
+ /**
139
+ * CLI UX Agent input contract.
140
+ *
141
+ * Uses schemas from agentics-contracts for validation.
142
+ */
143
+ export interface CLIUXAgentInput {
144
+ /** Raw command line arguments */
145
+ readonly args: string[];
146
+ /** Parsed command object */
147
+ readonly command: ParsedCommand;
148
+ /** Environment context */
149
+ readonly context: AgentContext;
150
+ /** Trace ID for correlation */
151
+ readonly trace_id: string;
152
+ }
153
+ export interface ParsedCommand {
154
+ readonly command: string;
155
+ readonly subcommand?: string;
156
+ readonly flags: Record<string, boolean>;
157
+ readonly options: Record<string, string>;
158
+ readonly positionalArgs: string[];
159
+ }
160
+ export interface AgentContext {
161
+ /** Current working directory */
162
+ readonly cwd: string;
163
+ /** Is authenticated */
164
+ readonly authenticated: boolean;
165
+ /** Is execution gate enabled */
166
+ readonly execution_gate_enabled: boolean;
167
+ /** Output format preference */
168
+ readonly output_format: OutputFormat;
169
+ /** Verbose mode */
170
+ readonly verbose: boolean;
171
+ /** Timeout in ms */
172
+ readonly timeout: number;
173
+ }
174
+ export type OutputFormat = 'json' | 'yaml' | 'table' | 'text' | 'csv';
175
+ /**
176
+ * CLI UX Agent output contract.
177
+ */
178
+ export interface CLIUXAgentOutput {
179
+ /** Success or failure */
180
+ readonly success: boolean;
181
+ /** Result to display to user */
182
+ readonly result: AgentResult;
183
+ /** Decision event (if emitting) */
184
+ readonly decision_event?: DecisionEvent;
185
+ /** Timing information */
186
+ readonly timing: TimingInfo;
187
+ }
188
+ export type AgentResult = SuccessResult | ErrorResult | GuidanceResult;
189
+ export interface SuccessResult {
190
+ readonly type: 'success';
191
+ readonly data: unknown;
192
+ readonly artifact_ref?: string;
193
+ readonly services_invoked: string[];
194
+ }
195
+ export interface ErrorResult {
196
+ readonly type: 'error';
197
+ readonly code: string;
198
+ readonly message: string;
199
+ readonly details?: Record<string, unknown>;
200
+ readonly recoverable: boolean;
201
+ }
202
+ export interface GuidanceResult {
203
+ readonly type: 'guidance';
204
+ readonly message: string;
205
+ readonly options?: GuidanceOption[];
206
+ readonly next_steps?: string[];
207
+ }
208
+ export interface GuidanceOption {
209
+ readonly label: string;
210
+ readonly command: string;
211
+ readonly description: string;
212
+ }
213
+ export interface TimingInfo {
214
+ readonly total_ms: number;
215
+ readonly breakdown: Record<string, number>;
216
+ readonly started_at: string;
217
+ readonly completed_at: string;
218
+ }
219
+ /**
220
+ * Agent registration metadata.
221
+ */
222
+ export interface AgentRegistration {
223
+ readonly identifier: AgentIdentifier;
224
+ readonly purpose: string;
225
+ readonly inputs_schema_ref: string;
226
+ readonly outputs_schema_ref: string;
227
+ readonly decision_event_schema_ref: string;
228
+ readonly invocable_services: string[];
229
+ readonly non_responsibilities: string[];
230
+ readonly failure_modes: FailureMode[];
231
+ }
232
+ export interface FailureMode {
233
+ readonly code: string;
234
+ readonly description: string;
235
+ readonly exit_code: number;
236
+ readonly recoverable: boolean;
237
+ }
238
+ /**
239
+ * Telemetry event for LLM-Observatory integration.
240
+ */
241
+ export interface TelemetryEvent {
242
+ readonly event_type: TelemetryEventType;
243
+ readonly agent_id: string;
244
+ readonly timestamp: string;
245
+ readonly trace_id: string;
246
+ readonly data: TelemetryData;
247
+ }
248
+ export type TelemetryEventType = 'agent_invocation' | 'agent_completion' | 'service_call' | 'validation_event' | 'error_event';
249
+ export type TelemetryData = InvocationTelemetry | CompletionTelemetry | ServiceCallTelemetry | ValidationTelemetry | ErrorTelemetry;
250
+ export interface InvocationTelemetry {
251
+ readonly type: 'invocation';
252
+ readonly command: string;
253
+ readonly subcommand?: string;
254
+ readonly input_hash: string;
255
+ }
256
+ export interface CompletionTelemetry {
257
+ readonly type: 'completion';
258
+ readonly success: boolean;
259
+ readonly duration_ms: number;
260
+ readonly services_invoked: string[];
261
+ }
262
+ export interface ServiceCallTelemetry {
263
+ readonly type: 'service_call';
264
+ readonly service: string;
265
+ readonly method: string;
266
+ readonly duration_ms: number;
267
+ readonly status_code: number;
268
+ }
269
+ export interface ValidationTelemetry {
270
+ readonly type: 'validation';
271
+ readonly schema: string;
272
+ readonly valid: boolean;
273
+ readonly error_count?: number;
274
+ }
275
+ export interface ErrorTelemetry {
276
+ readonly type: 'error';
277
+ readonly code: string;
278
+ readonly category: string;
279
+ readonly recoverable: boolean;
280
+ }
281
+ export declare function isSuccessResult(result: AgentResult): result is SuccessResult;
282
+ export declare function isErrorResult(result: AgentResult): result is ErrorResult;
283
+ export declare function isGuidanceResult(result: AgentResult): result is GuidanceResult;
284
+ /**
285
+ * Current CLI UX Agent version.
286
+ */
287
+ export declare const CLI_UX_AGENT_VERSION = "1.0.0";
288
+ /**
289
+ * CLI UX Agent identifier.
290
+ */
291
+ export declare const CLI_UX_AGENT_ID = "cli-ux-agent";
292
+ /**
293
+ * CLI UX Agent classification (always CLI_UX_ORCHESTRATION).
294
+ */
295
+ export declare const CLI_UX_AGENT_CLASSIFICATION: AgentClassification;
296
+ /**
297
+ * Services that CLI UX Agent MAY invoke (per constitution).
298
+ */
299
+ export declare const INVOCABLE_SERVICES: readonly ["agentics-org-manifests", "agentics-simulation-planner", "agentics-simulation-runner", "agentics-simulation-engine", "agentics-results-index", "enterprise-roi-engine", "agentics-deployment-intent", "agentics-deployment-exporters", "diligence-artifacts", "ruvector-service"];
300
+ /**
301
+ * Explicit non-responsibilities (per constitution).
302
+ */
303
+ export declare const NON_RESPONSIBILITIES: readonly ["Execute inference", "Execute workflows", "Modify upstream state directly", "Apply optimizations", "Enforce governance or policy decisions", "Trigger retries or automation implicitly", "Persist business state", "Synthesize executive decisions", "Connect directly to databases", "Execute SQL"];
304
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Agent Type Definitions for agentics-cli
3
+ *
4
+ * CONSTITUTION REFERENCE: PROMPT 0 (Agent Infrastructure Constitution)
5
+ *
6
+ * CLASSIFICATION: CLI UX ORCHESTRATION
7
+ *
8
+ * This module defines the complete type system for CLI UX Agents,
9
+ * including the DecisionEvent schema required by the constitution.
10
+ *
11
+ * KEY CONSTRAINTS:
12
+ * - All types import from agentics-contracts (schemas)
13
+ * - Agents are stateless - no persistent storage
14
+ * - DecisionEvents emit to ruvector-service only
15
+ * - No business logic in type definitions
16
+ */
17
+ // ============================================================================
18
+ // Type Guards
19
+ // ============================================================================
20
+ export function isSuccessResult(result) {
21
+ return result.type === 'success';
22
+ }
23
+ export function isErrorResult(result) {
24
+ return result.type === 'error';
25
+ }
26
+ export function isGuidanceResult(result) {
27
+ return result.type === 'guidance';
28
+ }
29
+ // ============================================================================
30
+ // Constants
31
+ // ============================================================================
32
+ /**
33
+ * Current CLI UX Agent version.
34
+ */
35
+ export const CLI_UX_AGENT_VERSION = '1.0.0';
36
+ /**
37
+ * CLI UX Agent identifier.
38
+ */
39
+ export const CLI_UX_AGENT_ID = 'cli-ux-agent';
40
+ /**
41
+ * CLI UX Agent classification (always CLI_UX_ORCHESTRATION).
42
+ */
43
+ export const CLI_UX_AGENT_CLASSIFICATION = 'CLI_UX_ORCHESTRATION';
44
+ /**
45
+ * Services that CLI UX Agent MAY invoke (per constitution).
46
+ */
47
+ export const INVOCABLE_SERVICES = [
48
+ 'agentics-org-manifests',
49
+ 'agentics-simulation-planner',
50
+ 'agentics-simulation-runner',
51
+ 'agentics-simulation-engine',
52
+ 'agentics-results-index',
53
+ 'enterprise-roi-engine',
54
+ 'agentics-deployment-intent',
55
+ 'agentics-deployment-exporters',
56
+ 'diligence-artifacts',
57
+ 'ruvector-service',
58
+ ];
59
+ /**
60
+ * Explicit non-responsibilities (per constitution).
61
+ */
62
+ export const NON_RESPONSIBILITIES = [
63
+ 'Execute inference',
64
+ 'Execute workflows',
65
+ 'Modify upstream state directly',
66
+ 'Apply optimizations',
67
+ 'Enforce governance or policy decisions',
68
+ 'Trigger retries or automation implicitly',
69
+ 'Persist business state',
70
+ 'Synthesize executive decisions',
71
+ 'Connect directly to databases',
72
+ 'Execute SQL',
73
+ ];
74
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA+VH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB,sBAAsB,CAAC;AAEvF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,wBAAwB;IACxB,6BAA6B;IAC7B,4BAA4B;IAC5B,4BAA4B;IAC5B,wBAAwB;IACxB,uBAAuB;IACvB,4BAA4B;IAC5B,+BAA+B;IAC/B,qBAAqB;IACrB,kBAAkB;CACV,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,gCAAgC;IAChC,qBAAqB;IACrB,wCAAwC;IACxC,0CAA0C;IAC1C,wBAAwB;IACxB,gCAAgC;IAChC,+BAA+B;IAC/B,aAAa;CACL,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * GCP Identity Token Module
3
+ *
4
+ * PURPOSE: Acquire Google Cloud identity tokens for Cloud Run authentication
5
+ *
6
+ * CONSTRAINTS (NON-NEGOTIABLE):
7
+ * - NO JWTs
8
+ * - NO OAuth flows
9
+ * - NO API keys
10
+ * - NO long-lived tokens
11
+ * - NO token validation or decoding
12
+ *
13
+ * The CLI relies on:
14
+ * - Application Default Credentials (ADC)
15
+ * - Existing gcloud auth login
16
+ * - Cloud Run IAM for enforcement
17
+ *
18
+ * This module only acquires tokens; verification is done by Cloud Run.
19
+ */
20
+ export interface IdentityTokenResult {
21
+ token: string;
22
+ audience: string;
23
+ }
24
+ export interface IdentityTokenError {
25
+ type: 'not_authenticated' | 'gcloud_not_found' | 'token_acquisition_failed';
26
+ message: string;
27
+ details?: string;
28
+ }
29
+ /**
30
+ * Acquire a Google Cloud identity token for the specified audience.
31
+ *
32
+ * This function:
33
+ * 1. Checks for a cached valid token
34
+ * 2. If not cached, invokes gcloud to get a new token
35
+ * 3. Caches the token for the process duration
36
+ *
37
+ * The CLI NEVER validates or decodes the token.
38
+ * Cloud Run IAM handles all verification.
39
+ *
40
+ * @param audience - The Cloud Run service URL (e.g., https://service-xxx.run.app)
41
+ * @returns The identity token
42
+ * @throws AuthError if token acquisition fails
43
+ */
44
+ export declare function acquireIdentityToken(audience: string): string;
45
+ /**
46
+ * Check if the user has valid GCP credentials.
47
+ * Returns true if gcloud auth is configured, false otherwise.
48
+ * Does NOT acquire or cache tokens.
49
+ */
50
+ export declare function hasValidCredentials(): boolean;
51
+ /**
52
+ * Get the currently active GCP account (if any).
53
+ * Returns null if not authenticated.
54
+ */
55
+ export declare function getActiveAccount(): string | null;
56
+ /**
57
+ * Clear the in-process token cache.
58
+ * Useful for testing or forcing re-authentication.
59
+ */
60
+ export declare function clearTokenCache(): void;
61
+ //# sourceMappingURL=gcp-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gcp-identity.d.ts","sourceRoot":"","sources":["../../src/auth/gcp-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAiCH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,0BAA0B,CAAC;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsB7D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAehD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * GCP Identity Token Module
3
+ *
4
+ * PURPOSE: Acquire Google Cloud identity tokens for Cloud Run authentication
5
+ *
6
+ * CONSTRAINTS (NON-NEGOTIABLE):
7
+ * - NO JWTs
8
+ * - NO OAuth flows
9
+ * - NO API keys
10
+ * - NO long-lived tokens
11
+ * - NO token validation or decoding
12
+ *
13
+ * The CLI relies on:
14
+ * - Application Default Credentials (ADC)
15
+ * - Existing gcloud auth login
16
+ * - Cloud Run IAM for enforcement
17
+ *
18
+ * This module only acquires tokens; verification is done by Cloud Run.
19
+ */
20
+ import { execSync } from 'node:child_process';
21
+ import { AuthError } from '../errors/index.js';
22
+ // ============================================================================
23
+ // Configuration
24
+ // ============================================================================
25
+ /**
26
+ * Timeout for token acquisition (in milliseconds).
27
+ * gcloud should respond quickly if credentials are valid.
28
+ */
29
+ const TOKEN_ACQUISITION_TIMEOUT_MS = 10000;
30
+ /**
31
+ * Cache for identity tokens per audience.
32
+ * Tokens are cached for the duration of the CLI process only.
33
+ * This is NOT long-lived storage - it expires when the process exits.
34
+ */
35
+ const tokenCache = new Map();
36
+ /**
37
+ * Token expiry buffer (in milliseconds).
38
+ * Request a new token if it expires within this buffer.
39
+ * Identity tokens are typically valid for 1 hour.
40
+ */
41
+ const TOKEN_EXPIRY_BUFFER_MS = 60000; // 1 minute buffer
42
+ /**
43
+ * Acquire a Google Cloud identity token for the specified audience.
44
+ *
45
+ * This function:
46
+ * 1. Checks for a cached valid token
47
+ * 2. If not cached, invokes gcloud to get a new token
48
+ * 3. Caches the token for the process duration
49
+ *
50
+ * The CLI NEVER validates or decodes the token.
51
+ * Cloud Run IAM handles all verification.
52
+ *
53
+ * @param audience - The Cloud Run service URL (e.g., https://service-xxx.run.app)
54
+ * @returns The identity token
55
+ * @throws AuthError if token acquisition fails
56
+ */
57
+ export function acquireIdentityToken(audience) {
58
+ // Normalize audience URL (strip trailing slashes, path components)
59
+ const normalizedAudience = normalizeAudience(audience);
60
+ // Check cache first
61
+ const cached = tokenCache.get(normalizedAudience);
62
+ if (cached && cached.expiresAt > Date.now() + TOKEN_EXPIRY_BUFFER_MS) {
63
+ return cached.token;
64
+ }
65
+ // Acquire new token via gcloud
66
+ const result = executeGcloudTokenCommand(normalizedAudience);
67
+ if ('error' in result) {
68
+ throw createAuthError(result.error);
69
+ }
70
+ // Cache the token (assume 1 hour validity, typical for identity tokens)
71
+ const expiresAt = Date.now() + 3600000; // 1 hour
72
+ tokenCache.set(normalizedAudience, { token: result.token, expiresAt });
73
+ return result.token;
74
+ }
75
+ /**
76
+ * Check if the user has valid GCP credentials.
77
+ * Returns true if gcloud auth is configured, false otherwise.
78
+ * Does NOT acquire or cache tokens.
79
+ */
80
+ export function hasValidCredentials() {
81
+ try {
82
+ // Try to get account info - this doesn't require a specific audience
83
+ execSync('gcloud auth list --filter=status:ACTIVE --format="value(account)"', {
84
+ timeout: 5000,
85
+ stdio: ['pipe', 'pipe', 'pipe'],
86
+ encoding: 'utf-8',
87
+ });
88
+ return true;
89
+ }
90
+ catch {
91
+ return false;
92
+ }
93
+ }
94
+ /**
95
+ * Get the currently active GCP account (if any).
96
+ * Returns null if not authenticated.
97
+ */
98
+ export function getActiveAccount() {
99
+ try {
100
+ const result = execSync('gcloud auth list --filter=status:ACTIVE --format="value(account)"', {
101
+ timeout: 5000,
102
+ stdio: ['pipe', 'pipe', 'pipe'],
103
+ encoding: 'utf-8',
104
+ });
105
+ const account = result.trim();
106
+ return account || null;
107
+ }
108
+ catch {
109
+ return null;
110
+ }
111
+ }
112
+ /**
113
+ * Clear the in-process token cache.
114
+ * Useful for testing or forcing re-authentication.
115
+ */
116
+ export function clearTokenCache() {
117
+ tokenCache.clear();
118
+ }
119
+ // ============================================================================
120
+ // Internal Functions
121
+ // ============================================================================
122
+ /**
123
+ * Normalize the audience URL for consistent caching.
124
+ * Extracts just the origin (scheme + host).
125
+ */
126
+ function normalizeAudience(audience) {
127
+ try {
128
+ const url = new URL(audience);
129
+ return `${url.protocol}//${url.host}`;
130
+ }
131
+ catch {
132
+ // If URL parsing fails, return as-is
133
+ return audience;
134
+ }
135
+ }
136
+ /**
137
+ * Service account for CLI to impersonate when acquiring identity tokens.
138
+ * This service account must have Cloud Run Invoker role on target services.
139
+ * Users must have Service Account Token Creator role on this service account.
140
+ */
141
+ const CLI_SERVICE_ACCOUNT = process.env['AGENTICS_SERVICE_ACCOUNT']
142
+ ?? 'agentics-cli-invoker@agentics-dev.iam.gserviceaccount.com';
143
+ /**
144
+ * Execute gcloud command to get an identity token.
145
+ * Uses service account impersonation to generate identity tokens with audiences.
146
+ * Returns either a token or an error descriptor.
147
+ */
148
+ function executeGcloudTokenCommand(audience) {
149
+ try {
150
+ // Use gcloud to print an identity token for the specific audience
151
+ // Uses service account impersonation to support --audiences flag
152
+ const command = `gcloud auth print-identity-token --audiences="${audience}" --impersonate-service-account="${CLI_SERVICE_ACCOUNT}"`;
153
+ const result = execSync(command, {
154
+ timeout: TOKEN_ACQUISITION_TIMEOUT_MS,
155
+ stdio: ['pipe', 'pipe', 'pipe'],
156
+ encoding: 'utf-8',
157
+ });
158
+ const token = result.trim();
159
+ if (!token) {
160
+ return {
161
+ error: {
162
+ type: 'token_acquisition_failed',
163
+ message: 'gcloud returned an empty token',
164
+ details: 'The command succeeded but no token was returned',
165
+ },
166
+ };
167
+ }
168
+ return { token, audience };
169
+ }
170
+ catch (error) {
171
+ return { error: classifyGcloudError(error) };
172
+ }
173
+ }
174
+ /**
175
+ * Classify a gcloud execution error into a typed error descriptor.
176
+ */
177
+ function classifyGcloudError(error) {
178
+ const errorMessage = error instanceof Error ? error.message : String(error);
179
+ const lowerMessage = errorMessage.toLowerCase();
180
+ // Check for gcloud not found
181
+ if (lowerMessage.includes('command not found') ||
182
+ lowerMessage.includes('not recognized') ||
183
+ lowerMessage.includes('enoent')) {
184
+ return {
185
+ type: 'gcloud_not_found',
186
+ message: 'Google Cloud CLI (gcloud) is not installed or not in PATH',
187
+ details: 'Install gcloud from https://cloud.google.com/sdk/docs/install and run `gcloud auth login`',
188
+ };
189
+ }
190
+ // Check for authentication issues
191
+ if (lowerMessage.includes('not logged in') ||
192
+ lowerMessage.includes('no credential') ||
193
+ lowerMessage.includes('could not load') ||
194
+ lowerMessage.includes('refresh token') ||
195
+ lowerMessage.includes('access token') ||
196
+ lowerMessage.includes('authentication')) {
197
+ return {
198
+ type: 'not_authenticated',
199
+ message: 'Not authenticated with Google Cloud',
200
+ details: 'Run `gcloud auth login` to authenticate',
201
+ };
202
+ }
203
+ // Generic failure
204
+ return {
205
+ type: 'token_acquisition_failed',
206
+ message: 'Failed to acquire identity token',
207
+ details: errorMessage,
208
+ };
209
+ }
210
+ /**
211
+ * Create an AuthError from an IdentityTokenError.
212
+ */
213
+ function createAuthError(error) {
214
+ const typeMapping = {
215
+ not_authenticated: 'missing',
216
+ gcloud_not_found: 'missing',
217
+ token_acquisition_failed: 'invalid',
218
+ };
219
+ let fullMessage = error.message;
220
+ if (error.details) {
221
+ fullMessage += `\n\n${error.details}`;
222
+ }
223
+ return new AuthError({
224
+ type: typeMapping[error.type],
225
+ message: fullMessage,
226
+ });
227
+ }
228
+ //# sourceMappingURL=gcp-identity.js.map