@grackle-ai/core 0.133.1 → 0.134.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.
@@ -15,6 +15,13 @@ export interface TokenItem {
15
15
  filePath?: string;
16
16
  /** The credential value. */
17
17
  value: string;
18
+ /**
19
+ * The credential-provider block that materialized this token. Server-internal
20
+ * source tag used by {@link findUnsatisfiedNeeds} to decide whether a runtime's
21
+ * advertised needs are met; it is **never delivered** over the wire (the
22
+ * `authenticate` mapper picks only `name`/`type`/`envVar`/`filePath`/`value`).
23
+ */
24
+ provider?: keyof CredentialProviderConfig;
18
25
  }
19
26
  /** A bundle of tokens — the return shape of {@link buildProviderTokenBundle}. */
20
27
  export interface ProviderTokenBundle {
@@ -68,6 +75,61 @@ export interface ProtectedResourceDescriptor {
68
75
  * materializes the actual secret values.
69
76
  */
70
77
  export declare function deriveCredentialNeeds(runtime: string, config: CredentialProviderConfig): ProtectedResourceDescriptor[];
78
+ /**
79
+ * The expiry state of a credential, as far as is knowable from a purely offline
80
+ * inspection of a credential file. Only the OAuth-file providers (Claude
81
+ * subscription, Codex) carry an embedded, parseable expiry; for every other
82
+ * credential kind (API keys, GitHub/Copilot/Goose tokens) expiry is not knowable
83
+ * offline and inspection returns `"unknown"`.
84
+ *
85
+ * - `valid` — present and not past expiry.
86
+ * - `expired-recoverable` — past expiry but a refresh token is present, so the
87
+ * runtime transparently refreshes it on launch (not a spawn blocker).
88
+ * - `expired-unrecoverable` — past expiry with no refresh token; re-login required
89
+ * (the genuine "will 401 deep in the runtime" case worth failing fast on).
90
+ * - `unknown` — expiry is not offline-knowable, or the file shape is unexpected
91
+ * (fail open: never treated as a blocker).
92
+ */
93
+ export type CredentialExpiryState = "valid" | "expired-recoverable" | "expired-unrecoverable" | "unknown";
94
+ /**
95
+ * Determine the offline-knowable {@link CredentialExpiryState} of a materialized
96
+ * credential {@link TokenItem}. Only OAuth-file tokens (`claude-credentials`,
97
+ * `codex-auth`) carry a parseable expiry; every other token returns `"unknown"`
98
+ * because expiry is not derivable without a network call. Pure; fails open.
99
+ */
100
+ export declare function inspectFileCredentialExpiry(token: TokenItem, now: number): CredentialExpiryState;
101
+ /** A credential need that the materialized bundle does not satisfy, with the reason. */
102
+ export interface UnsatisfiedNeed {
103
+ /** The advertised need that is not met. */
104
+ need: ProtectedResourceDescriptor;
105
+ /** Why the need is unmet: no credential at all, or an expired non-refreshable one. */
106
+ reason: "missing" | "expired";
107
+ }
108
+ /**
109
+ * Cross-check a runtime's advertised {@link ProtectedResourceDescriptor needs}
110
+ * against the credentials a {@link buildProviderTokenBundle} actually materialized,
111
+ * returning the needs that are not satisfied. A need is unsatisfied when:
112
+ *
113
+ * - **missing** — the bundle contains no token tagged for the need's provider, or
114
+ * - **expired** — the provider materialized credential(s) but **every** one is an
115
+ * expired OAuth file with no refresh token (re-login required).
116
+ *
117
+ * A token counts as usable unless it is `expired-unrecoverable` — a refreshable
118
+ * expiry (the runtime refreshes on launch) and an `unknown`-expiry token (e.g. an
119
+ * API key, whose expiry is not offline-knowable) both satisfy the need. So when a
120
+ * provider emits more than one credential (e.g. Codex emits both `~/.codex/auth.json`
121
+ * *and* `OPENAI_API_KEY`), a stale OAuth file does not fail the spawn as long as a
122
+ * working fallback is present.
123
+ *
124
+ * Pure: derives entirely from `needs` + `bundle` + `now`, reads nothing.
125
+ */
126
+ export declare function findUnsatisfiedNeeds(needs: ProtectedResourceDescriptor[], bundle: ProviderTokenBundle, now: number): UnsatisfiedNeed[];
127
+ /**
128
+ * Build a human-readable, actionable pre-flight error message for credentials
129
+ * that are required but missing or expired — surfaced to the CLI and web before
130
+ * a spawn instead of as an opaque 401 deep inside the runtime.
131
+ */
132
+ export declare function formatPreflightCredentialError(runtime: string, unsatisfied: UnsatisfiedNeed[]): string;
71
133
  /**
72
134
  * Resolve a GitHub token from the `gh` CLI's credential store.
73
135
  * Returns `undefined` if the CLI is unavailable, not authenticated, or errors.
@@ -1 +1 @@
1
- {"version":3,"file":"credential-bundle.d.ts","sourceRoot":"","sources":["../src/credential-bundle.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAG9B;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAOD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAUhF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,yBAAyB,GAAG,cAAc,CAAC;AAExF;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oEAAoE;IACpE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,wBAAwB,CAAC;CAC1C;AAqFD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,wBAAwB,GAC/B,2BAA2B,EAAE,CAY/B;AAKD;;;;GAIG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7E;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,mBAAmB,CAAC,CA2Q9B"}
1
+ {"version":3,"file":"credential-bundle.d.ts","sourceRoot":"","sources":["../src/credential-bundle.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAG9B;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;CAC3C;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAOD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,wBAAwB,CAAC,EAAE,CAUhF,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,yBAAyB,GAAG,cAAc,CAAC;AAExF;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,oEAAoE;IACpE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,wBAAwB,CAAC;CAC1C;AAqFD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,wBAAwB,GAC/B,2BAA2B,EAAE,CAY/B;AAOD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,qBAAqB,GACrB,uBAAuB,GACvB,SAAS,CAAC;AA8Ed;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAehG;AAED,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,sFAAsF;IACtF,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,2BAA2B,EAAE,EACpC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,MAAM,GACV,eAAe,EAAE,CAenB;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,eAAe,EAAE,GAC7B,MAAM,CAYR;AAKD;;;;GAIG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO7E;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,mBAAmB,CAAC,CAwR9B"}
@@ -133,6 +133,157 @@ export function deriveCredentialNeeds(runtime, config) {
133
133
  }
134
134
  return needs;
135
135
  }
136
+ // ─── Pre-flight credential validation (#1316) ──────────────
137
+ /** Clock-skew buffer: treat a credential expiring within this window as already expired. */
138
+ const CREDENTIAL_EXPIRY_SKEW_MS = 60_000;
139
+ /**
140
+ * Decode a JWT payload **without verifying its signature**, returning the parsed
141
+ * claims or `undefined` when the token is not a well-formed three-segment JWT.
142
+ * Offline only — we trust the locally stored file and only read the `exp` claim.
143
+ */
144
+ function decodeJwtPayload(token) {
145
+ const segments = token.split(".");
146
+ if (segments.length !== 3) {
147
+ return undefined;
148
+ }
149
+ try {
150
+ const json = Buffer.from(segments[1], "base64url").toString("utf-8");
151
+ const parsed = JSON.parse(json);
152
+ return typeof parsed === "object" && parsed !== null
153
+ ? parsed
154
+ : undefined;
155
+ }
156
+ catch {
157
+ return undefined;
158
+ }
159
+ }
160
+ /**
161
+ * Inspect a Claude subscription credentials file (`~/.claude/.credentials.json`):
162
+ * the OAuth access token's `expiresAt` is a unix-ms timestamp sibling to a
163
+ * `refreshToken`. Fails open (`"unknown"`) on any unexpected shape.
164
+ */
165
+ function inspectClaudeCredentials(value, now) {
166
+ let oauth;
167
+ try {
168
+ // A non-object parse (`null`, a primitive) throws on property access and is
169
+ // caught below, yielding "unknown" — exactly the fail-open behavior we want.
170
+ const parsed = JSON.parse(value);
171
+ oauth = parsed.claudeAiOauth;
172
+ }
173
+ catch {
174
+ return "unknown";
175
+ }
176
+ if (!oauth || typeof oauth.accessToken !== "string" || typeof oauth.expiresAt !== "number") {
177
+ return "unknown";
178
+ }
179
+ if (oauth.expiresAt >= now + CREDENTIAL_EXPIRY_SKEW_MS) {
180
+ return "valid";
181
+ }
182
+ return typeof oauth.refreshToken === "string" && oauth.refreshToken.length > 0
183
+ ? "expired-recoverable"
184
+ : "expired-unrecoverable";
185
+ }
186
+ /**
187
+ * Inspect a Codex auth file (`~/.codex/auth.json`): `tokens.access_token` is a
188
+ * JWT whose `exp` claim (unix seconds) carries the expiry, sibling to a
189
+ * `refresh_token`. Fails open (`"unknown"`) on any unexpected shape — the token
190
+ * format is owned by the Codex runtime and may drift.
191
+ */
192
+ function inspectCodexAuth(value, now) {
193
+ let tokens;
194
+ try {
195
+ const parsed = JSON.parse(value);
196
+ tokens = parsed.tokens;
197
+ }
198
+ catch {
199
+ return "unknown";
200
+ }
201
+ if (!tokens || typeof tokens.access_token !== "string") {
202
+ return "unknown";
203
+ }
204
+ const exp = decodeJwtPayload(tokens.access_token)?.exp;
205
+ if (typeof exp !== "number") {
206
+ return "unknown";
207
+ }
208
+ if (exp * 1000 >= now + CREDENTIAL_EXPIRY_SKEW_MS) {
209
+ return "valid";
210
+ }
211
+ return typeof tokens.refresh_token === "string" && tokens.refresh_token.length > 0
212
+ ? "expired-recoverable"
213
+ : "expired-unrecoverable";
214
+ }
215
+ /**
216
+ * Determine the offline-knowable {@link CredentialExpiryState} of a materialized
217
+ * credential {@link TokenItem}. Only OAuth-file tokens (`claude-credentials`,
218
+ * `codex-auth`) carry a parseable expiry; every other token returns `"unknown"`
219
+ * because expiry is not derivable without a network call. Pure; fails open.
220
+ */
221
+ export function inspectFileCredentialExpiry(token, now) {
222
+ if (token.type !== "file") {
223
+ return "unknown";
224
+ }
225
+ switch (token.name) {
226
+ case "claude-credentials": {
227
+ return inspectClaudeCredentials(token.value, now);
228
+ }
229
+ case "codex-auth": {
230
+ return inspectCodexAuth(token.value, now);
231
+ }
232
+ default: {
233
+ return "unknown";
234
+ }
235
+ }
236
+ }
237
+ /**
238
+ * Cross-check a runtime's advertised {@link ProtectedResourceDescriptor needs}
239
+ * against the credentials a {@link buildProviderTokenBundle} actually materialized,
240
+ * returning the needs that are not satisfied. A need is unsatisfied when:
241
+ *
242
+ * - **missing** — the bundle contains no token tagged for the need's provider, or
243
+ * - **expired** — the provider materialized credential(s) but **every** one is an
244
+ * expired OAuth file with no refresh token (re-login required).
245
+ *
246
+ * A token counts as usable unless it is `expired-unrecoverable` — a refreshable
247
+ * expiry (the runtime refreshes on launch) and an `unknown`-expiry token (e.g. an
248
+ * API key, whose expiry is not offline-knowable) both satisfy the need. So when a
249
+ * provider emits more than one credential (e.g. Codex emits both `~/.codex/auth.json`
250
+ * *and* `OPENAI_API_KEY`), a stale OAuth file does not fail the spawn as long as a
251
+ * working fallback is present.
252
+ *
253
+ * Pure: derives entirely from `needs` + `bundle` + `now`, reads nothing.
254
+ */
255
+ export function findUnsatisfiedNeeds(needs, bundle, now) {
256
+ const unsatisfied = [];
257
+ for (const need of needs) {
258
+ const tokens = bundle.tokens.filter((t) => t.provider === need.provider);
259
+ if (tokens.length === 0) {
260
+ unsatisfied.push({ need, reason: "missing" });
261
+ continue;
262
+ }
263
+ // Report expired only when there is no usable credential — i.e. every token
264
+ // for the provider is an expired, non-refreshable OAuth file.
265
+ if (tokens.every((t) => inspectFileCredentialExpiry(t, now) === "expired-unrecoverable")) {
266
+ unsatisfied.push({ need, reason: "expired" });
267
+ }
268
+ }
269
+ return unsatisfied;
270
+ }
271
+ /**
272
+ * Build a human-readable, actionable pre-flight error message for credentials
273
+ * that are required but missing or expired — surfaced to the CLI and web before
274
+ * a spawn instead of as an opaque 401 deep inside the runtime.
275
+ */
276
+ export function formatPreflightCredentialError(runtime, unsatisfied) {
277
+ const lines = unsatisfied.map(({ need, reason }) => {
278
+ const subject = `${need.resourceName} (provider "${need.provider}")`;
279
+ return reason === "missing"
280
+ ? ` • ${subject}: enabled but no credential was found`
281
+ : ` • ${subject}: login expired and cannot be refreshed — re-login required`;
282
+ });
283
+ return (`Cannot start runtime "${runtime}": required credential(s) unavailable.\n` +
284
+ `${lines.join("\n")}\n` +
285
+ `Configure or disable the provider with \`grackle credential-provider set <provider> <value>\`, then retry.`);
286
+ }
136
287
  /** Timeout for the `gh auth token` subprocess call. */
137
288
  const GH_AUTH_TOKEN_TIMEOUT_MS = 5_000;
138
289
  /**
@@ -190,6 +341,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
190
341
  type: "file",
191
342
  filePath: "~/.claude/.credentials.json",
192
343
  value,
344
+ provider: "claude",
193
345
  }));
194
346
  }
195
347
  }
@@ -202,6 +354,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
202
354
  type: "env_var",
203
355
  envVar: "ANTHROPIC_API_KEY",
204
356
  value: apiKey,
357
+ provider: "claude",
205
358
  }));
206
359
  }
207
360
  }
@@ -219,6 +372,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
219
372
  type: "env_var",
220
373
  envVar: "GH_TOKEN",
221
374
  value: storedToken,
375
+ provider: "github",
222
376
  }));
223
377
  }
224
378
  else {
@@ -233,6 +387,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
233
387
  type: "env_var",
234
388
  envVar: varName,
235
389
  value,
390
+ provider: "github",
236
391
  }));
237
392
  }
238
393
  }
@@ -247,6 +402,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
247
402
  type: "env_var",
248
403
  envVar: "GITHUB_TOKEN",
249
404
  value: cliToken,
405
+ provider: "github",
250
406
  }));
251
407
  }
252
408
  }
@@ -267,6 +423,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
267
423
  type: "file",
268
424
  filePath: "~/.copilot/config.json",
269
425
  value,
426
+ provider: "copilot",
270
427
  }));
271
428
  }
272
429
  }
@@ -287,6 +444,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
287
444
  type: "env_var",
288
445
  envVar: varName,
289
446
  value,
447
+ provider: "copilot",
290
448
  }));
291
449
  }
292
450
  }
@@ -306,6 +464,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
306
464
  type: "env_var",
307
465
  envVar: envVarName,
308
466
  value: envToken,
467
+ provider: "copilot",
309
468
  }));
310
469
  }
311
470
  }
@@ -317,6 +476,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
317
476
  type: "env_var",
318
477
  envVar: "GITHUB_TOKEN",
319
478
  value: cliToken,
479
+ provider: "copilot",
320
480
  }));
321
481
  }
322
482
  }
@@ -334,6 +494,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
334
494
  type: "file",
335
495
  filePath: "~/.codex/auth.json",
336
496
  value,
497
+ provider: "codex",
337
498
  }));
338
499
  }
339
500
  }
@@ -344,6 +505,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
344
505
  type: "env_var",
345
506
  envVar: "OPENAI_API_KEY",
346
507
  value: openaiKey,
508
+ provider: "codex",
347
509
  }));
348
510
  }
349
511
  }
@@ -365,6 +527,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
365
527
  type: "file",
366
528
  filePath: gooseConfigFilePath,
367
529
  value,
530
+ provider: "goose",
368
531
  }));
369
532
  }
370
533
  }
@@ -382,6 +545,7 @@ export async function buildProviderTokenBundle(runtime, database, githubAccountI
382
545
  type: "env_var",
383
546
  envVar: varName,
384
547
  value,
548
+ provider: "goose",
385
549
  }));
386
550
  }
387
551
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credential-bundle.js","sourceRoot":"","sources":["../src/credential-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-bundle.js","sourceRoot":"","sources":["../src/credential-bundle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-session.d.ts","sourceRoot":"","sources":["../src/task-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAIL,SAAS,EAIV,MAAM,sBAAsB,CAAC;AAqB9B;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqL7B"}
1
+ {"version":3,"file":"task-session.d.ts","sourceRoot":"","sources":["../src/task-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAIL,SAAS,EAIV,MAAM,sBAAsB,CAAC;AAsB9B;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,CAAC,OAAO,EACvB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiM7B"}
@@ -9,6 +9,7 @@
9
9
  * @module
10
10
  */
11
11
  import { envRegistry, sessionStore, workspaceStore, taskStore, personaStore, settingsStore, grackleHome, } from "@grackle-ai/database";
12
+ import { ConnectError } from "@connectrpc/connect";
12
13
  import * as adapterManager from "./adapter-manager.js";
13
14
  import * as tokenPush from "./token-push.js";
14
15
  import { v4 as uuid } from "uuid";
@@ -112,15 +113,25 @@ export async function startTaskSession(task, options) {
112
113
  relatedPriorWork,
113
114
  knowledgeGuidance: knowledgeOn,
114
115
  }).build();
116
+ // Supply credentials on demand for this runtime, just before spawn (AHP HR6).
117
+ // For local envs, skip file tokens — the PowerLine is on the same machine.
118
+ // Pre-flight (#1316): a required-but-missing/expired credential throws here;
119
+ // surface it as a returned error string (the function's failure contract) so
120
+ // the dispatcher keeps the task queued for retry — and crucially before any
121
+ // session row is created or "task.started" emitted below.
122
+ try {
123
+ await tokenPush.authenticateForRuntime(environmentId, runtime, env.adapterType === "local" ? { excludeFileTokens: true } : undefined);
124
+ }
125
+ catch (err) {
126
+ logger.warn({ taskId: freshTask.id, environmentId, runtime }, "startTaskSession failed: pre-flight credential check");
127
+ return err instanceof ConnectError ? err.rawMessage : err.message;
128
+ }
115
129
  sessionStore.createSession(sessionId, environmentId, runtime, freshTask.title, model, logPath, freshTask.id, resolved.personaId);
116
130
  emit("task.started", {
117
131
  taskId: freshTask.id,
118
132
  sessionId,
119
133
  workspaceId: freshTask.workspaceId || "",
120
134
  });
121
- // Supply credentials on demand for this runtime, just before spawn (AHP HR6).
122
- // For local envs, skip file tokens — the PowerLine is on the same machine.
123
- await tokenPush.authenticateForRuntime(environmentId, runtime, env.adapterType === "local" ? { excludeFileTokens: true } : undefined);
124
135
  const mcpServersJson = personaMcpServersToJson(resolved.mcpServers, resolved.personaId);
125
136
  // Build MCP broker URL + scoped token so runtimes can call the MCP server.
126
137
  const mcpPort = parseInt(process.env.GRACKLE_MCP_PORT || String(DEFAULT_MCP_PORT), 10);
@@ -1 +1 @@
1
- {"version":3,"file":"task-session.js","sourceRoot":"","sources":["../src/task-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-session.js","sourceRoot":"","sources":["../src/task-session.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,20 @@ export interface AuthenticateOptions {
7
7
  * Supply credentials for a runtime to its environment on demand, just before a
8
8
  * spawn. Combines stored user tokens with the runtime-scoped provider bundle
9
9
  * (read fresh from env/disk) and delivers them via the host transport's
10
- * `authenticate` method. Best-effort: failures are logged and do not block the
11
- * spawn.
10
+ * `authenticate` method.
11
+ *
12
+ * **Fail-fast pre-flight (#1316):** before delivery, this validates that every
13
+ * credential the runtime advertises a need for (a provider that is *enabled* in
14
+ * the credential-provider config) is actually present — and, for OAuth-file
15
+ * credentials, not expired-beyond-refresh. When a required credential is missing
16
+ * or its login has expired with no refresh token, it throws a
17
+ * `ConnectError(FailedPrecondition)` with an actionable message rather than
18
+ * letting the runtime fail with an opaque 401 mid-agent. (Providers that are
19
+ * *off* are not validated.) Note this changes the function from never-throws to
20
+ * fail-fast on a required-but-missing credential.
21
+ *
22
+ * Once the pre-flight gate passes, *delivery* remains best-effort: a transport
23
+ * `authenticate` failure is logged and does not block the spawn.
12
24
  */
13
25
  export declare function authenticateForRuntime(environmentId: string, runtime: string, options?: AuthenticateOptions): Promise<void>;
14
26
  //# sourceMappingURL=token-push.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-push.d.ts","sourceRoot":"","sources":["../src/token-push.ts"],"names":[],"mappings":"AAmBA,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"token-push.d.ts","sourceRoot":"","sources":["../src/token-push.ts"],"names":[],"mappings":"AAyBA,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,2FAA2F;IAC3F,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmDf"}
@@ -1,13 +1,39 @@
1
+ /**
2
+ * On-demand credential supply (AHP HR6).
3
+ *
4
+ * Builds the combined credential bundle for a runtime (stored user tokens +
5
+ * provider credentials read fresh from env/disk) and authenticates it to the
6
+ * connected PowerLine just-in-time, immediately before a spawn. This replaces
7
+ * the proactive `PushTokens` injection (eager push before every spawn / on
8
+ * token change / on reconnect): credentials are now supplied on demand, scoped
9
+ * to the runtime being spawned.
10
+ *
11
+ * Pure persistence lives in `@grackle-ai/database` (tokenStore); credential
12
+ * bundle building lives in {@link ./credential-bundle.ts}.
13
+ */
14
+ import { ConnectError, Code } from "@connectrpc/connect";
1
15
  import * as adapterManager from "./adapter-manager.js";
2
- import { envRegistry, tokenStore } from "@grackle-ai/database";
3
- import { buildProviderTokenBundle } from "./credential-bundle.js";
16
+ import { credentialProviders, envRegistry, tokenStore } from "@grackle-ai/database";
17
+ import { buildProviderTokenBundle, deriveCredentialNeeds, findUnsatisfiedNeeds, formatPreflightCredentialError, } from "./credential-bundle.js";
4
18
  import { logger } from "./logger.js";
5
19
  /**
6
20
  * Supply credentials for a runtime to its environment on demand, just before a
7
21
  * spawn. Combines stored user tokens with the runtime-scoped provider bundle
8
22
  * (read fresh from env/disk) and delivers them via the host transport's
9
- * `authenticate` method. Best-effort: failures are logged and do not block the
10
- * spawn.
23
+ * `authenticate` method.
24
+ *
25
+ * **Fail-fast pre-flight (#1316):** before delivery, this validates that every
26
+ * credential the runtime advertises a need for (a provider that is *enabled* in
27
+ * the credential-provider config) is actually present — and, for OAuth-file
28
+ * credentials, not expired-beyond-refresh. When a required credential is missing
29
+ * or its login has expired with no refresh token, it throws a
30
+ * `ConnectError(FailedPrecondition)` with an actionable message rather than
31
+ * letting the runtime fail with an opaque 401 mid-agent. (Providers that are
32
+ * *off* are not validated.) Note this changes the function from never-throws to
33
+ * fail-fast on a required-but-missing credential.
34
+ *
35
+ * Once the pre-flight gate passes, *delivery* remains best-effort: a transport
36
+ * `authenticate` failure is logged and does not block the spawn.
11
37
  */
12
38
  export async function authenticateForRuntime(environmentId, runtime, options) {
13
39
  const conn = adapterManager.getConnection(environmentId);
@@ -18,6 +44,15 @@ export async function authenticateForRuntime(environmentId, runtime, options) {
18
44
  const githubAccountId = env?.githubAccountId || undefined;
19
45
  const stored = tokenStore.getBundle();
20
46
  const provider = await buildProviderTokenBundle(runtime, undefined, githubAccountId);
47
+ // Pre-flight credential validation (#1316). Validate the runtime's advertised
48
+ // needs against the *unfiltered* provider bundle, so the local-env file-token
49
+ // stripping below cannot mask a credential that is present on disk. Throws
50
+ // before delivery (and before any session row is created at the call site).
51
+ const config = credentialProviders.getCredentialProviders();
52
+ const unsatisfied = findUnsatisfiedNeeds(deriveCredentialNeeds(runtime, config), provider, Date.now());
53
+ if (unsatisfied.length > 0) {
54
+ throw new ConnectError(formatPreflightCredentialError(runtime, unsatisfied), Code.FailedPrecondition);
55
+ }
21
56
  // Provider credentials come last so they win over any same-target stored token.
22
57
  let combined = [...stored.tokens, ...provider.tokens];
23
58
  if (options?.excludeFileTokens) {
@@ -1 +1 @@
1
- {"version":3,"file":"token-push.js","sourceRoot":"","sources":["../src/token-push.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAAqB,EACrB,OAAe,EACf,OAA6B;IAE7B,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,GAAG,EAAE,eAAe,IAAI,SAAS,CAAC;IAE1D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACrF,gFAAgF;IAChF,IAAI,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC/B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAA4B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,iDAAiD,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"token-push.js","sourceRoot":"","sources":["../src/token-push.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,aAAqB,EACrB,OAAe,EACf,OAA6B;IAE7B,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,GAAG,EAAE,eAAe,IAAI,SAAS,CAAC;IAE1D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAErF,8EAA8E;IAC9E,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,MAAM,GAAG,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;IAC5D,MAAM,WAAW,GAAG,oBAAoB,CACtC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,EACtC,QAAQ,EACR,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CACpB,8BAA8B,CAAC,OAAO,EAAE,WAAW,CAAC,EACpD,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,IAAI,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC/B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAA4B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,iDAAiD,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/core",
3
- "version": "0.133.1",
3
+ "version": "0.134.0",
4
4
  "description": "Core gRPC business logic for Grackle - RPC handlers, event system, streaming, session lifecycle",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,14 +42,14 @@
42
42
  "pino": "^10.3.1",
43
43
  "ulid": "^2.3.0",
44
44
  "uuid": "^11.1.1",
45
- "@grackle-ai/adapter-sdk": "0.133.1",
46
- "@grackle-ai/ahp": "0.133.1",
47
- "@grackle-ai/common": "0.133.1",
48
- "@grackle-ai/database": "0.133.1",
49
- "@grackle-ai/auth": "0.133.1",
50
- "@grackle-ai/plugin-sdk": "0.133.1",
51
- "@grackle-ai/knowledge": "0.133.1",
52
- "@grackle-ai/prompt": "0.133.1"
45
+ "@grackle-ai/ahp": "0.134.0",
46
+ "@grackle-ai/adapter-sdk": "0.134.0",
47
+ "@grackle-ai/common": "0.134.0",
48
+ "@grackle-ai/auth": "0.134.0",
49
+ "@grackle-ai/database": "0.134.0",
50
+ "@grackle-ai/plugin-sdk": "0.134.0",
51
+ "@grackle-ai/knowledge": "0.134.0",
52
+ "@grackle-ai/prompt": "0.134.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@rushstack/heft": "1.2.7",