@cleocode/contracts 2026.5.68 → 2026.5.70

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/__tests__/credentials.test.d.ts +10 -0
  2. package/dist/__tests__/credentials.test.d.ts.map +1 -0
  3. package/dist/__tests__/credentials.test.js +100 -0
  4. package/dist/__tests__/credentials.test.js.map +1 -0
  5. package/dist/__tests__/llm-config-schema.test.d.ts +6 -6
  6. package/dist/__tests__/llm-config-schema.test.js +9 -13
  7. package/dist/__tests__/llm-config-schema.test.js.map +1 -1
  8. package/dist/config.d.ts +32 -54
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/credentials.d.ts +75 -0
  11. package/dist/credentials.d.ts.map +1 -0
  12. package/dist/credentials.js +79 -0
  13. package/dist/credentials.js.map +1 -0
  14. package/dist/index.d.ts +9 -3
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/llm/failover-reason.d.ts +1 -1
  19. package/dist/llm/interfaces.d.ts +1 -42
  20. package/dist/llm/interfaces.d.ts.map +1 -1
  21. package/dist/llm/oauth.d.ts +125 -0
  22. package/dist/llm/oauth.d.ts.map +1 -0
  23. package/dist/llm/oauth.js +12 -0
  24. package/dist/llm/oauth.js.map +1 -0
  25. package/dist/llm/plugin-llm.d.ts +93 -0
  26. package/dist/llm/plugin-llm.d.ts.map +1 -0
  27. package/dist/llm/plugin-llm.js +65 -0
  28. package/dist/llm/plugin-llm.js.map +1 -0
  29. package/dist/llm/provider-profile.d.ts +13 -0
  30. package/dist/llm/provider-profile.d.ts.map +1 -1
  31. package/dist/memory/context-engine.d.ts +67 -0
  32. package/dist/memory/context-engine.d.ts.map +1 -0
  33. package/dist/memory/context-engine.js +15 -0
  34. package/dist/memory/context-engine.js.map +1 -0
  35. package/dist/operations/llm.d.ts +43 -6
  36. package/dist/operations/llm.d.ts.map +1 -1
  37. package/dist/operations/llm.js +0 -4
  38. package/dist/operations/llm.js.map +1 -1
  39. package/package.json +10 -2
  40. package/src/__tests__/credentials.test.ts +122 -0
  41. package/src/__tests__/llm-config-schema.test.ts +9 -13
  42. package/src/config.ts +37 -55
  43. package/src/credentials.ts +114 -0
  44. package/src/index.ts +22 -8
  45. package/src/llm/failover-reason.ts +1 -1
  46. package/src/llm/interfaces.ts +10 -44
  47. package/src/llm/oauth.ts +144 -0
  48. package/src/llm/plugin-llm.ts +128 -0
  49. package/src/llm/provider-profile.ts +14 -0
  50. package/src/memory/context-engine.ts +78 -0
  51. package/src/operations/llm.ts +50 -6
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Smoke tests for `parseClaudeCodeCredentials()` in @cleocode/contracts.
3
+ *
4
+ * Covers both OAuth-shaped and api-key-shaped JSON, plus edge cases
5
+ * (malformed input, expired tokens, missing fields).
6
+ *
7
+ * @task T9307
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=credentials.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/credentials.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Smoke tests for `parseClaudeCodeCredentials()` in @cleocode/contracts.
3
+ *
4
+ * Covers both OAuth-shaped and api-key-shaped JSON, plus edge cases
5
+ * (malformed input, expired tokens, missing fields).
6
+ *
7
+ * @task T9307
8
+ */
9
+ import { describe, expect, it } from 'vitest';
10
+ import { parseClaudeCodeCredentials } from '../credentials.js';
11
+ // ---------------------------------------------------------------------------
12
+ // Helpers
13
+ // ---------------------------------------------------------------------------
14
+ function makeCreds(overrides = {}) {
15
+ return JSON.stringify({
16
+ claudeAiOauth: {
17
+ accessToken: 'sk-ant-oat-test-token',
18
+ expiresAt: Date.now() + 3_600_000,
19
+ ...overrides,
20
+ },
21
+ });
22
+ }
23
+ // ---------------------------------------------------------------------------
24
+ // OAuth-shaped credentials
25
+ // ---------------------------------------------------------------------------
26
+ describe('OAuth-shaped credentials', () => {
27
+ it('returns accessToken for valid OAuth JSON', () => {
28
+ const result = parseClaudeCodeCredentials(makeCreds());
29
+ expect(result).not.toBeNull();
30
+ expect(result?.accessToken).toBe('sk-ant-oat-test-token');
31
+ });
32
+ it('returns expiresAt when present', () => {
33
+ const expiresAt = Date.now() + 7_200_000;
34
+ const result = parseClaudeCodeCredentials(makeCreds({ expiresAt }));
35
+ expect(result?.expiresAt).toBe(expiresAt);
36
+ });
37
+ it('returns refreshToken when present', () => {
38
+ const result = parseClaudeCodeCredentials(makeCreds({ refreshToken: 'sk-ant-ort-refresh-token' }));
39
+ expect(result?.refreshToken).toBe('sk-ant-ort-refresh-token');
40
+ });
41
+ it('returns null for expired token', () => {
42
+ const result = parseClaudeCodeCredentials(makeCreds({ expiresAt: Date.now() - 1 }));
43
+ expect(result).toBeNull();
44
+ });
45
+ it('omits expiresAt when not provided', () => {
46
+ const raw = JSON.stringify({
47
+ claudeAiOauth: { accessToken: 'sk-ant-oat-no-expiry' },
48
+ });
49
+ const result = parseClaudeCodeCredentials(raw);
50
+ expect(result?.accessToken).toBe('sk-ant-oat-no-expiry');
51
+ expect(result?.expiresAt).toBeUndefined();
52
+ });
53
+ it('accepts a Buffer input', () => {
54
+ const buf = Buffer.from(makeCreds(), 'utf-8');
55
+ const result = parseClaudeCodeCredentials(buf);
56
+ expect(result?.accessToken).toBe('sk-ant-oat-test-token');
57
+ });
58
+ });
59
+ // ---------------------------------------------------------------------------
60
+ // Api-key-shaped / missing claudeAiOauth block
61
+ // ---------------------------------------------------------------------------
62
+ describe('Non-OAuth / missing block', () => {
63
+ it('returns null when claudeAiOauth block is absent', () => {
64
+ const raw = JSON.stringify({ someOtherKey: 'value' });
65
+ expect(parseClaudeCodeCredentials(raw)).toBeNull();
66
+ });
67
+ it('returns null when accessToken is empty string', () => {
68
+ const raw = JSON.stringify({ claudeAiOauth: { accessToken: '' } });
69
+ expect(parseClaudeCodeCredentials(raw)).toBeNull();
70
+ });
71
+ it('returns null when accessToken is whitespace only', () => {
72
+ const raw = JSON.stringify({ claudeAiOauth: { accessToken: ' ' } });
73
+ expect(parseClaudeCodeCredentials(raw)).toBeNull();
74
+ });
75
+ it('returns null when accessToken field is missing', () => {
76
+ const raw = JSON.stringify({ claudeAiOauth: { expiresAt: Date.now() + 3600 } });
77
+ expect(parseClaudeCodeCredentials(raw)).toBeNull();
78
+ });
79
+ });
80
+ // ---------------------------------------------------------------------------
81
+ // Malformed / edge-case input
82
+ // ---------------------------------------------------------------------------
83
+ describe('Malformed input', () => {
84
+ it('returns null for empty string', () => {
85
+ expect(parseClaudeCodeCredentials('')).toBeNull();
86
+ });
87
+ it('returns null for invalid JSON', () => {
88
+ expect(parseClaudeCodeCredentials('not-json')).toBeNull();
89
+ });
90
+ it('returns null for JSON null', () => {
91
+ expect(parseClaudeCodeCredentials('null')).toBeNull();
92
+ });
93
+ it('returns null for JSON array', () => {
94
+ expect(parseClaudeCodeCredentials('[]')).toBeNull();
95
+ });
96
+ it('returns null for empty Buffer', () => {
97
+ expect(parseClaudeCodeCredentials(Buffer.alloc(0))).toBeNull();
98
+ });
99
+ });
100
+ //# sourceMappingURL=credentials.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.test.js","sourceRoot":"","sources":["../../src/__tests__/credentials.test.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,17 @@
3
3
  *
4
4
  * Asserts that:
5
5
  *
6
- * 1. A literal `LlmConfig` object containing the new `default`, `roles`, and
7
- * the legacy `daemon` fields typechecks and survives a JSON
8
- * serialize/deserialize cycle without structural loss.
6
+ * 1. A literal `LlmConfig` object containing the `default` and `roles` fields
7
+ * typechecks and survives a JSON serialize/deserialize cycle without
8
+ * structural loss.
9
9
  * 2. All five `RoleName` values (`extraction`, `consolidation`, `derivation`,
10
10
  * `hygiene`, `judgement`) are accepted as keys of `roles`.
11
11
  * 3. Omitting `default` and/or `roles` still typechecks (both are optional).
12
12
  *
13
- * These tests guard the Phase 2 schema extension of
14
- * T-LLM-CRED-CENTRALIZATION against accidental regressions.
13
+ * These tests guard the Phase 4 schema cleanup of T-LLM-CRED-CENTRALIZATION
14
+ * (T9306 — daemon field removed) against accidental regressions.
15
15
  *
16
- * @task T9256
16
+ * @task T9306
17
17
  * @epic T-LLM-CRED-CENTRALIZATION
18
18
  */
19
19
  export {};
@@ -3,24 +3,23 @@
3
3
  *
4
4
  * Asserts that:
5
5
  *
6
- * 1. A literal `LlmConfig` object containing the new `default`, `roles`, and
7
- * the legacy `daemon` fields typechecks and survives a JSON
8
- * serialize/deserialize cycle without structural loss.
6
+ * 1. A literal `LlmConfig` object containing the `default` and `roles` fields
7
+ * typechecks and survives a JSON serialize/deserialize cycle without
8
+ * structural loss.
9
9
  * 2. All five `RoleName` values (`extraction`, `consolidation`, `derivation`,
10
10
  * `hygiene`, `judgement`) are accepted as keys of `roles`.
11
11
  * 3. Omitting `default` and/or `roles` still typechecks (both are optional).
12
12
  *
13
- * These tests guard the Phase 2 schema extension of
14
- * T-LLM-CRED-CENTRALIZATION against accidental regressions.
13
+ * These tests guard the Phase 4 schema cleanup of T-LLM-CRED-CENTRALIZATION
14
+ * (T9306 — daemon field removed) against accidental regressions.
15
15
  *
16
- * @task T9256
16
+ * @task T9306
17
17
  * @epic T-LLM-CRED-CENTRALIZATION
18
18
  */
19
19
  import { describe, expect, it } from 'vitest';
20
- describe('LlmConfig — Phase 2 schema extension (T9256)', () => {
21
- it('accepts a fully-populated config with default, roles, and legacy daemon', () => {
20
+ describe('LlmConfig — Phase 4 schema cleanup (T9306)', () => {
21
+ it('accepts a fully-populated config with default and roles', () => {
22
22
  const cfg = {
23
- daemon: { provider: 'anthropic', model: 'claude-sonnet-4-6' },
24
23
  providers: {
25
24
  anthropic: { apiKey: 'sk-test-anthropic' },
26
25
  openai: { apiKey: 'sk-test-openai' },
@@ -91,12 +90,9 @@ describe('LlmConfig — Phase 2 schema extension (T9256)', () => {
91
90
  }
92
91
  });
93
92
  it('typechecks when default and roles are both omitted', () => {
94
- const cfg = {
95
- daemon: { provider: 'anthropic', model: 'claude-sonnet-4-6' },
96
- };
93
+ const cfg = {};
97
94
  expect(cfg.default).toBeUndefined();
98
95
  expect(cfg.roles).toBeUndefined();
99
- expect(cfg.daemon?.provider).toBe('anthropic');
100
96
  });
101
97
  it('typechecks an empty LlmConfig (all fields optional)', () => {
102
98
  const cfg = {};
@@ -1 +1 @@
1
- {"version":3,"file":"llm-config-schema.test.js","sourceRoot":"","sources":["../../src/__tests__/llm-config-schema.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-config-schema.test.js","sourceRoot":"","sources":["../../src/__tests__/llm-config-schema.test.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -340,29 +340,7 @@ export interface LlmProviderEntry {
340
340
  apiKey?: string;
341
341
  }
342
342
  /**
343
- * Daemon LLM configurationwhich provider + model the CLEO daemon
344
- * (sentient tick, dream-cycle, BRAIN extraction, etc.) uses by default.
345
- *
346
- * Written via:
347
- * cleo config llm.daemon.provider <provider>
348
- * cleo config llm.daemon.model <model-id>
349
- *
350
- * @defaultValue { provider: 'anthropic', model: 'claude-sonnet-4-6' }
351
- */
352
- export interface DaemonLLMConfig {
353
- /**
354
- * LLM provider transport used by daemon loops.
355
- * @defaultValue 'anthropic'
356
- */
357
- provider: ModelTransport;
358
- /**
359
- * Full model identifier for the selected provider.
360
- * @defaultValue 'claude-sonnet-4-6'
361
- */
362
- model: string;
363
- }
364
- /**
365
- * Canonical model transport identifier — re-export of {@link ModelTransport}
343
+ * Config-layer transport identifierre-export of {@link ModelTransport}
366
344
  * from `operations/llm.ts` so config-layer types stay in lock-step with the
367
345
  * operations layer with no risk of drift.
368
346
  *
@@ -370,31 +348,38 @@ export interface DaemonLLMConfig {
370
348
  * T-LLM-CRED Phase 2 DRY/SOLID review (P1-2). Adding a new transport now
371
349
  * requires editing only `operations/llm.ts`.
372
350
  *
351
+ * **Disambiguation**: This is the *config-level* alias for the
352
+ * `ModelTransport` string-literal union (`'anthropic' | 'openai' | ...`).
353
+ * It is intentionally distinct from the `LlmTransport` *interface* defined
354
+ * in `packages/contracts/src/llm/normalized-response.ts` (Phase 4 wire-level
355
+ * protocol). Renamed from `LlmTransport` → `LlmProviderTransport` in T9308
356
+ * to eliminate the name collision.
357
+ *
373
358
  * @task T-LLM-CRED-CENTRALIZATION Phase 2 — DRY review P1-2
359
+ * @see T9308 — disambiguation rename
374
360
  */
375
- export type LlmTransport = ModelTransport;
361
+ export type LlmProviderTransport = ModelTransport;
376
362
  /**
377
363
  * Logical LLM role name used by role-aware resolvers (BRAIN, sentient, etc.).
378
364
  *
379
365
  * Each role can pin its own provider + model + credential label, with
380
- * resolution falling back to `LlmConfig.default` and finally to the legacy
381
- * `LlmConfig.daemon` block.
366
+ * resolution falling back to `LlmConfig.default`.
382
367
  *
383
- * @task T-LLM-CRED-CENTRALIZATION Phase 2 (T9256)
368
+ * @task T-LLM-CRED-CENTRALIZATION Phase 4 (T9306)
384
369
  */
385
- export type RoleName = 'extraction' | 'consolidation' | 'derivation' | 'hygiene' | 'judgement';
370
+ export type RoleName = 'extraction' | 'consolidation' | 'derivation' | 'hygiene' | 'judgement'
371
+ /** Sandbox role for plugin-scoped single-turn calls (T9305). */
372
+ | 'plugin'
373
+ /** Context-compression role — uses a cheap model (haiku) for summarization (T9304). */
374
+ | 'compression';
386
375
  /**
387
376
  * Canonical default LLM target for unscoped (non-role) calls.
388
377
  *
389
- * Replaces the role previously played by `LlmConfig.daemon`. The `daemon`
390
- * field stays as a deprecated alias for one release cycle to give downstream
391
- * consumers time to migrate.
392
- *
393
- * @task T-LLM-CRED-CENTRALIZATION Phase 2 (T9256)
378
+ * @task T-LLM-CRED-CENTRALIZATION Phase 4 (T9306)
394
379
  */
395
380
  export interface LlmDefaultConfig {
396
381
  /** LLM provider transport for the default model. */
397
- provider: LlmTransport;
382
+ provider: LlmProviderTransport;
398
383
  /** Full model identifier for the selected provider. */
399
384
  model: string;
400
385
  }
@@ -410,7 +395,7 @@ export interface LlmDefaultConfig {
410
395
  */
411
396
  export interface LlmRoleConfig {
412
397
  /** LLM provider transport for this role. */
413
- provider: LlmTransport;
398
+ provider: LlmProviderTransport;
414
399
  /** Full model identifier for the selected provider. */
415
400
  model: string;
416
401
  /**
@@ -426,39 +411,32 @@ export interface LlmRoleConfig {
426
411
  * Stored at `llm` in config.json.
427
412
  *
428
413
  * Resolution order for role-scoped calls:
429
- * `roles[role]` → `default` → `daemon` (legacy).
414
+ * `roles[role]` → `default` → implicit fallback.
415
+ *
416
+ * Note: configs that still carry a `llm.daemon` key are silently ignored
417
+ * at parse time — they will not cause a crash. Migration: remove the key
418
+ * and add `llm.default` or `llm.roles.<role>` instead.
419
+ *
420
+ * @task T-LLM-CRED-CENTRALIZATION Phase 4 (T9306)
430
421
  */
431
422
  export interface LlmConfig {
432
- /**
433
- * Daemon LLM settings (provider + model for background loops).
434
- *
435
- * @deprecated Use `default` instead. Retained as a fallback alias for
436
- * one release cycle (T-LLM-CRED-CENTRALIZATION Phase 2 · T9256). New
437
- * code must read `default` first and only fall through to `daemon` when
438
- * `default` is absent.
439
- * @defaultValue { provider: 'anthropic', model: 'claude-sonnet-4-6' }
440
- */
441
- daemon?: DaemonLLMConfig;
442
423
  /**
443
424
  * Per-provider API key overrides.
444
425
  * Keys are provider names: 'anthropic' | 'openai' | 'gemini' | 'moonshot'.
445
426
  */
446
427
  providers?: Record<string, LlmProviderEntry>;
447
428
  /**
448
- * Canonical default LLM for unscoped calls. Replaces the role previously
449
- * played by `daemon`, which stays as a deprecated alias for one release
450
- * cycle.
429
+ * Canonical default LLM for unscoped calls.
451
430
  *
452
- * @task T-LLM-CRED-CENTRALIZATION Phase 2 (T9256)
431
+ * @task T-LLM-CRED-CENTRALIZATION Phase 4 (T9306)
453
432
  */
454
433
  default?: LlmDefaultConfig;
455
434
  /**
456
- * Per-role LLM overrides. Each role optionally pins to a credential
457
- * label.
435
+ * Per-role LLM overrides. Each role optionally pins to a credential label.
458
436
  *
459
- * Resolution order: `roles[role]` → `default` → `daemon` (legacy).
437
+ * Resolution order: `roles[role]` → `default` → implicit fallback.
460
438
  *
461
- * @task T-LLM-CRED-CENTRALIZATION Phase 2 (T9256)
439
+ * @task T-LLM-CRED-CENTRALIZATION Phase 4 (T9306)
462
440
  */
463
441
  roles?: Partial<Record<RoleName, LlmRoleConfig>>;
464
442
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Pure credential-parsing helpers for the CLEO LLM layer.
3
+ *
4
+ * This module is a LEAF — it has NO imports from @cleocode/core or any
5
+ * other runtime package. It exists so adapter packages can parse Claude Code
6
+ * OAuth credentials without creating a circular dependency on @cleocode/core.
7
+ *
8
+ * ## What lives here
9
+ * - `ClaudeCodeCredential` — shape of `~/.claude/.credentials.json`
10
+ * - `parseClaudeCodeCredentials()` — pure JSON parser + expiry check
11
+ *
12
+ * ## What does NOT live here
13
+ * - Filesystem reads (those belong in core/llm/credentials.ts)
14
+ * - Caching (belongs in core)
15
+ * - Multi-tier resolution (belongs in core)
16
+ *
17
+ * @module credentials
18
+ * @task T9307
19
+ */
20
+ /**
21
+ * The `claudeAiOauth` block found inside `~/.claude/.credentials.json`.
22
+ */
23
+ export interface ClaudeCodeOAuthBlock {
24
+ /** Short-lived bearer token for Anthropic API calls. */
25
+ accessToken: string;
26
+ /** Unix-millisecond timestamp after which the token is invalid. Optional. */
27
+ expiresAt?: number;
28
+ /** Refresh token for obtaining new access tokens. Optional. */
29
+ refreshToken?: string;
30
+ }
31
+ /**
32
+ * Parsed result returned by `parseClaudeCodeCredentials()`.
33
+ *
34
+ * All fields mirror `ClaudeCodeOAuthBlock` but `accessToken` is always
35
+ * present (a null return indicates the file was absent, malformed, or expired).
36
+ */
37
+ export interface ParsedClaudeCodeCredential {
38
+ /** Bearer access token for the Anthropic API. */
39
+ accessToken: string;
40
+ /** Expiry as a Unix millisecond timestamp, if provided. */
41
+ expiresAt?: number;
42
+ /** Refresh token, if present in the credentials file. */
43
+ refreshToken?: string;
44
+ }
45
+ /**
46
+ * Parse the contents of `~/.claude/.credentials.json` and extract the OAuth
47
+ * credential block.
48
+ *
49
+ * This is a **pure** helper: it accepts a `Buffer | string` (the raw file
50
+ * content) and returns the parsed credential or `null`. It never reads the
51
+ * filesystem or accesses environment variables.
52
+ *
53
+ * Expiry is checked using `Date.now()` — tokens whose `expiresAt` is in the
54
+ * past are treated as absent and `null` is returned.
55
+ *
56
+ * @param buf - Raw UTF-8 contents of the credentials file.
57
+ * @returns Parsed credential object, or `null` when the file is malformed,
58
+ * the OAuth block is absent, or the token is expired.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * import { readFileSync } from 'node:fs';
63
+ * import { join } from 'node:path';
64
+ * import { homedir } from 'node:os';
65
+ * import { parseClaudeCodeCredentials } from '@cleocode/contracts';
66
+ *
67
+ * const raw = readFileSync(join(homedir(), '.claude', '.credentials.json'));
68
+ * const cred = parseClaudeCodeCredentials(raw);
69
+ * if (cred) {
70
+ * console.log('token:', cred.accessToken);
71
+ * }
72
+ * ```
73
+ */
74
+ export declare function parseClaudeCodeCredentials(buf: Buffer | string): ParsedClaudeCodeCredential | null;
75
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,GAAG,MAAM,GACnB,0BAA0B,GAAG,IAAI,CA2BnC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Pure credential-parsing helpers for the CLEO LLM layer.
3
+ *
4
+ * This module is a LEAF — it has NO imports from @cleocode/core or any
5
+ * other runtime package. It exists so adapter packages can parse Claude Code
6
+ * OAuth credentials without creating a circular dependency on @cleocode/core.
7
+ *
8
+ * ## What lives here
9
+ * - `ClaudeCodeCredential` — shape of `~/.claude/.credentials.json`
10
+ * - `parseClaudeCodeCredentials()` — pure JSON parser + expiry check
11
+ *
12
+ * ## What does NOT live here
13
+ * - Filesystem reads (those belong in core/llm/credentials.ts)
14
+ * - Caching (belongs in core)
15
+ * - Multi-tier resolution (belongs in core)
16
+ *
17
+ * @module credentials
18
+ * @task T9307
19
+ */
20
+ // ---------------------------------------------------------------------------
21
+ // Parser
22
+ // ---------------------------------------------------------------------------
23
+ /**
24
+ * Parse the contents of `~/.claude/.credentials.json` and extract the OAuth
25
+ * credential block.
26
+ *
27
+ * This is a **pure** helper: it accepts a `Buffer | string` (the raw file
28
+ * content) and returns the parsed credential or `null`. It never reads the
29
+ * filesystem or accesses environment variables.
30
+ *
31
+ * Expiry is checked using `Date.now()` — tokens whose `expiresAt` is in the
32
+ * past are treated as absent and `null` is returned.
33
+ *
34
+ * @param buf - Raw UTF-8 contents of the credentials file.
35
+ * @returns Parsed credential object, or `null` when the file is malformed,
36
+ * the OAuth block is absent, or the token is expired.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * import { readFileSync } from 'node:fs';
41
+ * import { join } from 'node:path';
42
+ * import { homedir } from 'node:os';
43
+ * import { parseClaudeCodeCredentials } from '@cleocode/contracts';
44
+ *
45
+ * const raw = readFileSync(join(homedir(), '.claude', '.credentials.json'));
46
+ * const cred = parseClaudeCodeCredentials(raw);
47
+ * if (cred) {
48
+ * console.log('token:', cred.accessToken);
49
+ * }
50
+ * ```
51
+ */
52
+ export function parseClaudeCodeCredentials(buf) {
53
+ try {
54
+ const text = typeof buf === 'string' ? buf : buf.toString('utf-8');
55
+ const raw = JSON.parse(text);
56
+ const oauth = raw['claudeAiOauth'];
57
+ if (!oauth || typeof oauth !== 'object')
58
+ return null;
59
+ const block = oauth;
60
+ const accessToken = block['accessToken'];
61
+ if (typeof accessToken !== 'string' || !accessToken.trim())
62
+ return null;
63
+ const expiresAt = typeof block['expiresAt'] === 'number' ? block['expiresAt'] : undefined;
64
+ if (expiresAt !== undefined && Date.now() > expiresAt)
65
+ return null;
66
+ const refreshToken = typeof block['refreshToken'] === 'string' && block['refreshToken'].trim()
67
+ ? block['refreshToken']
68
+ : undefined;
69
+ return {
70
+ accessToken: accessToken.trim(),
71
+ ...(expiresAt !== undefined ? { expiresAt } : {}),
72
+ ...(refreshToken !== undefined ? { refreshToken } : {}),
73
+ };
74
+ }
75
+ catch {
76
+ return null;
77
+ }
78
+ }
79
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAiCH,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAErD,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAExE,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAAE,OAAO,IAAI,CAAC;QAEnE,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE;YACvE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;YACvB,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACL,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YAC/B,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -24,8 +24,10 @@ export { BRANCH_LOCK_ERROR_CODES, ISOLATION_ENV_KEYS, provisionIsolatedShell, va
24
24
  export type { AdapterCapabilities } from './capabilities.js';
25
25
  export type { BatchParseResult, CodeSymbol, CodeSymbolKind, ParseResult, } from './code-symbol.js';
26
26
  export type { Conduit, ConduitConfig, ConduitMessage, ConduitSendOptions, ConduitSendResult, ConduitState, ConduitStateChange, ConduitTopicPublishOptions, ConduitTopicSubscribeOptions, ConduitUnsubscribe, } from './conduit.js';
27
- export type { BackupConfig, BrainConfig, BrainEmbeddingConfig, BrainLlmExtractionConfig, BrainMemoryBridgeConfig, BrainSummarizationConfig, BrainTieringConfig, ClaudeProviderConfig, ClaudeSpawnMode, CleoConfig, ConfigSource, DaemonLLMConfig, DateFormat, DecisionsConfig, DepsRequiredAt, EnforcementProfile, HierarchyConfig, LifecycleConfig, LifecycleEnforcementMode, LlmConfig, LlmDefaultConfig, LlmProviderEntry, LlmRoleConfig, LlmTransport, LoggingConfig, LogLevel, MemoryBridgeMode, OutputConfig, OutputFormat, ProviderConfig, ResolvedValue, RoleName, SessionConfig, SessionSummaryInput, SharingConfig, SharingMode, SignalDockConfig, SignalDockMode, } from './config.js';
27
+ export type { BackupConfig, BrainConfig, BrainEmbeddingConfig, BrainLlmExtractionConfig, BrainMemoryBridgeConfig, BrainSummarizationConfig, BrainTieringConfig, ClaudeProviderConfig, ClaudeSpawnMode, CleoConfig, ConfigSource, DateFormat, DecisionsConfig, DepsRequiredAt, EnforcementProfile, HierarchyConfig, LifecycleConfig, LifecycleEnforcementMode, LlmConfig, LlmDefaultConfig, LlmProviderEntry, LlmProviderTransport, LlmRoleConfig, LoggingConfig, LogLevel, MemoryBridgeMode, OutputConfig, OutputFormat, ProviderConfig, ResolvedValue, RoleName, SessionConfig, SessionSummaryInput, SharingConfig, SharingMode, SignalDockConfig, SignalDockMode, } from './config.js';
28
28
  export type { AdapterContextMonitorProvider } from './context-monitor.js';
29
+ export type { ClaudeCodeOAuthBlock, ParsedClaudeCodeCredential, } from './credentials.js';
30
+ export { parseClaudeCodeCredentials } from './credentials.js';
29
31
  export type { ArchiveFields, ArchiveFile, DataAccessor, DataAccessorAgentInstance, QueryTasksResult, TaskFieldUpdates, TaskQueryFilters, TransactionAccessor, } from './data-accessor.js';
30
32
  export type { DependencyCategory, DependencyCheckResult, DependencyReport, DependencySpec, } from './dependency.js';
31
33
  export type { AdapterManifest, DetectionPattern } from './discovery.js';
@@ -46,11 +48,15 @@ export type { AdapterInstallProvider, InstallOptions, InstallResult } from './in
46
48
  export type { CleoResponse, ConformanceReport, FlagInput, GatewayEnvelope, GatewayError, GatewayMeta, GatewaySuccess, LAFSEnvelope, LAFSError, LAFSErrorCategory, LAFSMeta, LAFSPage, LAFSPageCursor, LAFSPageNone, LAFSPageOffset, LAFSTransport, LafsAlternative, LafsEnvelope, LafsError, LafsErrorDetail, LafsSuccess, MVILevel, Warning, } from './lafs.js';
47
49
  export { isGatewayEnvelope, isLafsError, isLafsSuccess, } from './lafs.js';
48
50
  export type { ClassifiedError, FailoverReason } from './llm/failover-reason.js';
49
- export type { AggregatedUsage, ContextEngine, ExecutionEvent, ExecutionRequest, ExecutorFactoryOptions, LlmExecutor, LlmExecutorFactory, LlmSession, LlmSessionFactory, NormalizedDelta, RetryPolicy, SendOptions, SessionFactoryOptions, ToolCall, TransportContext, } from './llm/interfaces.js';
51
+ export type { AggregatedUsage, ExecutionEvent, ExecutionRequest, ExecutorFactoryOptions, LlmExecutor, LlmExecutorFactory, LlmSession, LlmSessionFactory, NormalizedDelta, RetryPolicy, SendOptions, SessionFactoryOptions, ToolCall, TransportContext, } from './llm/interfaces.js';
50
52
  export type { NormalizedResponse, NormalizedToolCall, NormalizedUsage, TransportMessage, TransportRequest, TransportTool, } from './llm/normalized-response.js';
53
+ export type { OAuthMode, OAuthTokens, PkceFlowConfig, ProviderOAuthConfig } from './llm/oauth.js';
54
+ export type { PluginLlmComplete, PluginLlmContext } from './llm/plugin-llm.js';
55
+ export { PluginLlmError, PluginModelGateError } from './llm/plugin-llm.js';
51
56
  export type { ApiMode, BuiltinProviderId, ProviderId } from './llm/provider-id.js';
52
57
  export type { ProviderPlugin, ProviderPluginApi, ProviderProfile, } from './llm/provider-profile.js';
53
58
  export type { ResolvedCredential } from './llm/resolved-credential.js';
59
+ export type { CompressedContext, ContextEngine } from './memory/context-engine.js';
54
60
  export type { BridgeDecision, BridgeLearning, BridgeObservation, BridgePattern, DispatchTrace, MemoryBridgeConfig, MemoryBridgeContent, SessionSummary, } from './memory.js';
55
61
  export type { Contract, ContractCompatibilityMatrix, ContractExtractionResult, ContractMatch, ContractMatchLevel, ContractTaskLink, GrpcContract, HttpContract, TopicContract, } from './nexus-contract-ops.js';
56
62
  export type { BlastRadiusSummary, BrainMemoryRef, BrainRiskNote, CodeAnchorResult, CodeReasonTrace, ConduitThreadRef, DecisionRef, ImpactFullReport, LbTaskRef, NexusContext, NexusEdgeRef, NexusNodeAnchor, PlasticityMeasure, ProposalRef, ReasonTraceStep, RiskTier, SymbolFullContext, SymbolImpactEntry, TaskCodeImpact, TasksForNodeEntry, } from './nexus-living-brain-ops.js';
@@ -63,7 +69,7 @@ export type { ConduitInboxMessage, ConduitListenParams, ConduitListenResult, Con
63
69
  export type { ApplyInsightsParams, ApplyInsightsResult, DialecticInsights, DialecticTurn, EvaluateDialecticParams, EvaluateDialecticResult, } from './operations/dialectic.js';
64
70
  export * as ops from './operations/index.js';
65
71
  export type { Gate, LifecycleCheckParams, LifecycleCheckResult, LifecycleGateFailParams, LifecycleGateFailResult, LifecycleGatePassParams, LifecycleGatePassResult, LifecycleGatesParams, LifecycleGatesResult, LifecycleHistoryEntry, LifecycleHistoryParams, LifecycleHistoryResult, LifecyclePrerequisitesParams, LifecyclePrerequisitesResult, LifecycleProgressParams, LifecycleProgressResult, LifecycleResetParams, LifecycleResetResult, LifecycleSkipParams, LifecycleSkipResult, LifecycleStage, LifecycleStatusParams, LifecycleStatusResult, StageRecord, } from './operations/lifecycle.js';
66
- export type { AuthTypeWire, CredentialResultWire, CredentialSourceWire, CredentialsStoreStrategyWire, LlmAddParams, LlmAddResult, LlmListParams, LlmListResult, LlmProfileParams, LlmProfileResult, LlmRemoveParams, LlmRemoveResult, LlmStoredCredentialView, LlmTestParams, LlmTestResult, LlmUseParams, LlmUseResult, LlmWhoamiEntry, LlmWhoamiParams, LlmWhoamiResult, ModelTransport, ResolutionSource, ResolvedLLM, ResolveLLMForRoleOptions, StoredAuthTypeWire, } from './operations/llm.js';
72
+ export type { AuthTypeWire, CredentialResultWire, CredentialSourceWire, CredentialsStoreStrategyWire, LlmAddParams, LlmAddResult, LlmListParams, LlmListResult, LlmProfileParams, LlmProfileResult, LlmProviderSourceWire, LlmProviderStatusEntry, LlmRemoveParams, LlmRemoveResult, LlmStatusResult, LlmStoredCredentialView, LlmTestParams, LlmTestResult, LlmUseParams, LlmUseResult, LlmWhoamiEntry, LlmWhoamiParams, LlmWhoamiResult, ModelTransport, ResolutionSource, ResolvedLLM, ResolveLLMForRoleOptions, StoredAuthTypeWire, } from './operations/llm.js';
67
73
  export type { PassMask, RetrievalActiveTask, RetrievalBundle, RetrievalDecision, RetrievalLearning, RetrievalObservation, RetrievalPattern, RetrievalRequest, RetrievalTokenCounts, SigilCard, } from './operations/memory.js';
68
74
  export type { BrainPageNodeEntry, NexusAugmentParams, NexusAugmentResult, NexusAugmentSymbol, NexusBlockersShowParams, NexusBlockersShowResult, NexusBrainAnchorsParams, NexusBrainAnchorsResult, NexusClustersParams, NexusClustersResult, NexusColdSymbol, NexusColdSymbolsParams, NexusColdSymbolsResult, NexusCommunityEntry, NexusConduitScanParams, NexusConduitScanResult, NexusContextNode, NexusContextParams, NexusContextProcess, NexusContextRelation, NexusContextResult, NexusContextSourceContent, NexusContractsLinkTasksParams, NexusContractsLinkTasksResult, NexusContractsShowParams, NexusContractsShowResult, NexusContractsSyncParams, NexusContractsSyncResult, NexusDepsEntry, NexusDepsParams, NexusDepsResult, NexusDiffHealth, NexusDiffParams, NexusDiffResult, NexusDiscoverHit, NexusDiscoverParams, NexusDiscoverResult, NexusFlowEntry, NexusFlowsParams, NexusFlowsResult, NexusFullContextParams, NexusFullContextResult, NexusGraphEdge, NexusGraphNode, NexusGraphParams, NexusGraphResult, NexusHealthStatus, NexusHotNode, NexusHotNodesParams, NexusHotNodesResult, NexusHotPath, NexusHotPathsParams, NexusHotPathsResult, NexusImpactAffectedNode, NexusImpactFullParams, NexusImpactFullResult, NexusImpactParams, NexusImpactResult, NexusInitParams, NexusInitResult, NexusListParams, NexusListResult, NexusOps, NexusOrphanEntry, NexusOrphansListParams, NexusOrphansListResult, NexusPathShowParams, NexusPathShowResult, NexusPermissionLevel, NexusPermissionSetParams, NexusPermissionSetResult, NexusProjectRecord, NexusProjectStats, NexusProjectsCleanParams, NexusProjectsCleanResult, NexusProjectsListParams, NexusProjectsListResult, NexusProjectsRegisterParams, NexusProjectsRegisterResult, NexusProjectsRemoveParams, NexusProjectsRemoveResult, NexusProjectsScanParams, NexusProjectsScanResult, NexusQueryCteParams, NexusQueryCteResult, NexusReconcileParams, NexusReconcileResult, NexusRefreshBridgeParams, NexusRefreshBridgeResult, NexusRegisterParams, NexusRegisterResult, NexusResolveParams, NexusResolveResult, NexusRouteMapParams, NexusRouteMapResult, NexusScanAutoRegisterError, NexusSearchCodeParams, NexusSearchCodeResult, NexusSearchHit, NexusSearchParams, NexusSearchResult, NexusShapeCheckParams, NexusShapeCheckResult, NexusShareSnapshotExportParams, NexusShareSnapshotExportResult, NexusShareSnapshotImportParams, NexusShareSnapshotImportResult, NexusShareStatusParams, NexusShareStatusResult, NexusSharingStatus, NexusShowParams, NexusShowResult, NexusSigilListParams, NexusSigilListResult, NexusSigilSyncParams, NexusSigilSyncResult, NexusStatusParams, NexusStatusResult, NexusSyncParams, NexusSyncResult, NexusTaskFootprintParams, NexusTaskFootprintResult, NexusTaskRef, NexusTaskSymbolsParams, NexusTaskSymbolsResult, NexusTopEntriesParams, NexusTopEntriesResult, NexusTopEntry, NexusTransferManifest, NexusTransferManifestEntry, NexusTransferMode, NexusTransferOnConflict, NexusTransferOnMissingDep, NexusTransferParams, NexusTransferPreviewParams, NexusTransferPreviewResult, NexusTransferResult, NexusTransferScope, NexusUnregisterParams, NexusUnregisterResult, NexusWhyParams, NexusWhyResult, NexusWikiParams, } from './operations/nexus.js';
69
75
  export type { MetaWithNexusScope, NexusBindingSource, NexusEffect, NexusOperationDescriptor, NexusScope, NexusScopeMeta, NexusStore, ScopeBinding, SuggestedNextOp, } from './operations/nexus-scope.js';