crewly 1.5.21 → 1.6.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 (113) hide show
  1. package/config/roles/orchestrator/prompt.md +182 -25
  2. package/config/skills/agent/core/cancel-followup/SKILL.md +38 -0
  3. package/config/skills/agent/core/cancel-followup/execute.sh +111 -0
  4. package/config/skills/agent/core/cancel-followup/execute.test.sh +42 -0
  5. package/config/skills/agent/core/list-my-followups/SKILL.md +36 -0
  6. package/config/skills/agent/core/list-my-followups/execute.sh +93 -0
  7. package/config/skills/agent/core/list-my-followups/execute.test.sh +41 -0
  8. package/config/skills/agent/core/schedule-followup/SKILL.md +53 -0
  9. package/config/skills/agent/core/schedule-followup/execute.sh +195 -0
  10. package/config/skills/agent/core/schedule-followup/execute.test.sh +48 -0
  11. package/config/skills/agent/core/watch-for-event/SKILL.md +60 -0
  12. package/config/skills/agent/core/watch-for-event/execute.sh +177 -0
  13. package/config/skills/agent/core/watch-for-event/execute.test.sh +43 -0
  14. package/config/skills/orchestrator/credential-manager/SKILL.md +218 -0
  15. package/config/skills/orchestrator/credential-manager/execute.sh +166 -0
  16. package/dist/backend/backend/src/controllers/credentials/credentials.controller.d.ts +80 -0
  17. package/dist/backend/backend/src/controllers/credentials/credentials.controller.d.ts.map +1 -0
  18. package/dist/backend/backend/src/controllers/credentials/credentials.controller.js +365 -0
  19. package/dist/backend/backend/src/controllers/credentials/credentials.controller.js.map +1 -0
  20. package/dist/backend/backend/src/controllers/credentials/credentials.routes.d.ts +26 -0
  21. package/dist/backend/backend/src/controllers/credentials/credentials.routes.d.ts.map +1 -0
  22. package/dist/backend/backend/src/controllers/credentials/credentials.routes.js +40 -0
  23. package/dist/backend/backend/src/controllers/credentials/credentials.routes.js.map +1 -0
  24. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +23 -14
  25. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  26. package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts +3 -1
  27. package/dist/backend/backend/src/scripts/backfill-mission-priority.d.ts.map +1 -1
  28. package/dist/backend/backend/src/scripts/backfill-mission-priority.js +16 -4
  29. package/dist/backend/backend/src/scripts/backfill-mission-priority.js.map +1 -1
  30. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +22 -2
  32. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/credential/credential-store.service.d.ts +161 -0
  34. package/dist/backend/backend/src/services/credential/credential-store.service.d.ts.map +1 -0
  35. package/dist/backend/backend/src/services/credential/credential-store.service.js +298 -0
  36. package/dist/backend/backend/src/services/credential/credential-store.service.js.map +1 -0
  37. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts +117 -0
  38. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -0
  39. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +293 -0
  40. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -0
  41. package/dist/backend/backend/src/services/project/task.service.d.ts +18 -2
  42. package/dist/backend/backend/src/services/project/task.service.d.ts.map +1 -1
  43. package/dist/backend/backend/src/services/project/task.service.js +69 -53
  44. package/dist/backend/backend/src/services/project/task.service.js.map +1 -1
  45. package/dist/backend/backend/src/services/v3/contract-matcher.d.ts +20 -0
  46. package/dist/backend/backend/src/services/v3/contract-matcher.d.ts.map +1 -0
  47. package/dist/backend/backend/src/services/v3/contract-matcher.js +33 -0
  48. package/dist/backend/backend/src/services/v3/contract-matcher.js.map +1 -0
  49. package/dist/backend/backend/src/services/v3/escalation.service.d.ts +20 -1
  50. package/dist/backend/backend/src/services/v3/escalation.service.d.ts.map +1 -1
  51. package/dist/backend/backend/src/services/v3/escalation.service.js +97 -28
  52. package/dist/backend/backend/src/services/v3/escalation.service.js.map +1 -1
  53. package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts +6 -4
  54. package/dist/backend/backend/src/services/v3/service-contract-gate.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/v3/service-contract-gate.service.js +18 -28
  56. package/dist/backend/backend/src/services/v3/service-contract-gate.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js +14 -9
  59. package/dist/backend/backend/src/services/v3/team-trigger-reconciler.service.js.map +1 -1
  60. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +34 -1
  61. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +115 -5
  63. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  64. package/dist/backend/backend/src/types/credential.types.d.ts +185 -0
  65. package/dist/backend/backend/src/types/credential.types.d.ts.map +1 -0
  66. package/dist/backend/backend/src/types/credential.types.js +76 -0
  67. package/dist/backend/backend/src/types/credential.types.js.map +1 -0
  68. package/dist/backend/backend/src/utils/encryption.utils.d.ts +57 -0
  69. package/dist/backend/backend/src/utils/encryption.utils.d.ts.map +1 -0
  70. package/dist/backend/backend/src/utils/encryption.utils.js +162 -0
  71. package/dist/backend/backend/src/utils/encryption.utils.js.map +1 -0
  72. package/dist/cli/backend/src/services/credential/credential-store.service.d.ts +161 -0
  73. package/dist/cli/backend/src/services/credential/credential-store.service.d.ts.map +1 -0
  74. package/dist/cli/backend/src/services/credential/credential-store.service.js +298 -0
  75. package/dist/cli/backend/src/services/credential/credential-store.service.js.map +1 -0
  76. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts +117 -0
  77. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -0
  78. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +293 -0
  79. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -0
  80. package/dist/cli/backend/src/services/settings/settings.service.d.ts +168 -0
  81. package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -0
  82. package/dist/cli/backend/src/services/settings/settings.service.js +312 -0
  83. package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -0
  84. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts +159 -0
  85. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -0
  86. package/dist/cli/backend/src/services/skill/skill-executor.service.js +626 -0
  87. package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -0
  88. package/dist/cli/backend/src/services/skill/skill.service.d.ts +273 -0
  89. package/dist/cli/backend/src/services/skill/skill.service.d.ts.map +1 -0
  90. package/dist/cli/backend/src/services/skill/skill.service.js +655 -0
  91. package/dist/cli/backend/src/services/skill/skill.service.js.map +1 -0
  92. package/dist/cli/backend/src/types/credential.types.d.ts +185 -0
  93. package/dist/cli/backend/src/types/credential.types.d.ts.map +1 -0
  94. package/dist/cli/backend/src/types/credential.types.js +76 -0
  95. package/dist/cli/backend/src/types/credential.types.js.map +1 -0
  96. package/dist/cli/backend/src/utils/encryption.utils.d.ts +57 -0
  97. package/dist/cli/backend/src/utils/encryption.utils.d.ts.map +1 -0
  98. package/dist/cli/backend/src/utils/encryption.utils.js +162 -0
  99. package/dist/cli/backend/src/utils/encryption.utils.js.map +1 -0
  100. package/dist/cli/backend/src/utils/skill-md-parser.d.ts +38 -0
  101. package/dist/cli/backend/src/utils/skill-md-parser.d.ts.map +1 -0
  102. package/dist/cli/backend/src/utils/skill-md-parser.js +47 -0
  103. package/dist/cli/backend/src/utils/skill-md-parser.js.map +1 -0
  104. package/frontend/dist/assets/{index-dc92ab64.css → index-6aaa0630.css} +1 -1
  105. package/frontend/dist/assets/{index-76d76633.js → index-9e6d97d1.js} +334 -328
  106. package/frontend/dist/index.html +2 -2
  107. package/package.json +1 -1
  108. package/config/experts/empathetic-resolver/expert.json +0 -11
  109. package/config/experts/empathetic-resolver.md +0 -32
  110. package/config/experts/pragmatic-architect/expert.json +0 -11
  111. package/config/experts/pragmatic-architect.md +0 -32
  112. package/config/experts/viral-alchemist/expert.json +0 -11
  113. package/config/experts/viral-alchemist.md +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-mission-priority.d.ts","sourceRoot":"","sources":["../../../../../backend/src/scripts/backfill-mission-priority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE7E,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,EAAE,eAA0B,CAAC;AAEnE,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qEAAqE;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAgC1F"}
1
+ {"version":3,"file":"backfill-mission-priority.d.ts","sourceRoot":"","sources":["../../../../../backend/src/scripts/backfill-mission-priority.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG7E,qEAAqE;AACrE,eAAO,MAAM,yBAAyB,EAAE,eAA0B,CAAC;AAEnE,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qEAAqE;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAyC1F"}
@@ -17,6 +17,7 @@
17
17
  */
18
18
  import * as path from 'path';
19
19
  import * as fs from 'fs/promises';
20
+ import { atomicWriteJson } from '../utils/file-io.utils.js';
20
21
  /** Default priority assigned when a mission is missing the field. */
21
22
  export const BACKFILL_DEFAULT_PRIORITY = 'medium';
22
23
  /**
@@ -32,7 +33,7 @@ export const BACKFILL_DEFAULT_PRIORITY = 'medium';
32
33
  * ```
33
34
  */
34
35
  export async function backfillMissionPriority(missionsDir) {
35
- const result = { scanned: 0, updated: [], skipped: [] };
36
+ const result = { scanned: 0, updated: [], skipped: [], failed: [] };
36
37
  let entries = [];
37
38
  try {
38
39
  entries = (await fs.readdir(missionsDir)).filter(f => f.endsWith('.json'));
@@ -42,21 +43,28 @@ export async function backfillMissionPriority(missionsDir) {
42
43
  }
43
44
  for (const file of entries) {
44
45
  const fullPath = path.join(missionsDir, file);
46
+ result.scanned += 1;
45
47
  let mission;
46
48
  try {
47
49
  const raw = await fs.readFile(fullPath, 'utf-8');
48
50
  mission = JSON.parse(raw);
49
51
  }
50
52
  catch {
53
+ result.failed.push(fullPath);
54
+ continue;
55
+ }
56
+ if (!mission.id || typeof mission.id !== 'string') {
57
+ // Valid JSON but no usable id — track so the caller can investigate.
58
+ result.failed.push(fullPath);
51
59
  continue;
52
60
  }
53
- result.scanned += 1;
54
61
  if (mission.priority) {
55
62
  result.skipped.push(mission.id);
56
63
  continue;
57
64
  }
58
65
  const patched = { ...mission, priority: BACKFILL_DEFAULT_PRIORITY };
59
- await fs.writeFile(fullPath, JSON.stringify(patched, null, 2));
66
+ // atomicWriteJson writes to a tmp file and renames — crash-safe.
67
+ await atomicWriteJson(fullPath, patched);
60
68
  result.updated.push(mission.id);
61
69
  }
62
70
  return result;
@@ -69,11 +77,15 @@ async function main() {
69
77
  const missionsDir = path.join(process.cwd(), '.crewly', 'missions');
70
78
  const result = await backfillMissionPriority(missionsDir);
71
79
  // eslint-disable-next-line no-console
72
- console.log(`[backfill] scanned=${result.scanned} updated=${result.updated.length} skipped=${result.skipped.length}`);
80
+ console.log(`[backfill] scanned=${result.scanned} updated=${result.updated.length} skipped=${result.skipped.length} failed=${result.failed.length}`);
73
81
  if (result.updated.length > 0) {
74
82
  // eslint-disable-next-line no-console
75
83
  console.log(`[backfill] updated ids: ${result.updated.join(', ')}`);
76
84
  }
85
+ if (result.failed.length > 0) {
86
+ // eslint-disable-next-line no-console
87
+ console.warn(`[backfill] failed to process: ${result.failed.join(', ')}`);
88
+ }
77
89
  }
78
90
  // Execute only when run directly (not when imported by tests).
79
91
  const isDirectRun = typeof process !== 'undefined' &&
@@ -1 +1 @@
1
- {"version":3,"file":"backfill-mission-priority.js","sourceRoot":"","sources":["../../../../../backend/src/scripts/backfill-mission-priority.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill-mission-priority.js","sourceRoot":"","sources":["../../../../../backend/src/scripts/backfill-mission-priority.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-proxy.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-proxy.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-proxy.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-proxy.service.ts"],"names":[],"mappings":"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"}
@@ -377,13 +377,33 @@ export class BrowserProxyService {
377
377
  const message = msg.message;
378
378
  this.logger.warn('Relay error', { code, message });
379
379
  if (code === 'AUTH_FAILED') {
380
- // Token is expired/invalid try to get a fresh one immediately
381
- // before the relay closes the connection (code 4003).
380
+ // Token is expired/invalid OR the user's plan claim is stale (for
381
+ // example, admin just upgraded the account from free → pro but the
382
+ // in-memory JWT still carries plan:"free"). Try fast path first
383
+ // (cached resolver), then fall back to an active refresh which
384
+ // exchanges the refresh token against /api/cloud/refresh so the
385
+ // new access + relay tokens carry the latest plan from MongoDB.
382
386
  const freshToken = this.tokenResolver?.();
383
387
  if (freshToken && freshToken !== this.authToken) {
384
388
  this.authToken = freshToken;
385
389
  this.logger.info('Fetched fresh token after AUTH_FAILED, will use on next reconnect');
390
+ return;
386
391
  }
392
+ // No cached fresh token — actively refresh. The tokenRefreshCallbacks
393
+ // in CloudClientService will push the new relay/access token back to
394
+ // this proxy via updateToken() once the refresh completes, so the next
395
+ // reconnect attempt uses the post-plan-change token.
396
+ this.logger.info('No cached fresh token; triggering active refresh after AUTH_FAILED');
397
+ import('../cloud/cloud-client.service.js')
398
+ .then(({ CloudClientService }) => CloudClientService.getInstance().tryRefreshToken())
399
+ .then((ok) => {
400
+ this.logger.info('Active refresh after AUTH_FAILED complete', { refreshed: ok });
401
+ })
402
+ .catch((err) => {
403
+ this.logger.warn('Active refresh after AUTH_FAILED threw', {
404
+ error: err instanceof Error ? err.message : String(err),
405
+ });
406
+ });
387
407
  }
388
408
  else if (code === 'BROWSER_NOT_FOUND' || code === 'BROWSER_UNAVAILABLE') {
389
409
  this.logger.warn('Browser not reachable via relay', { code });
@@ -1 +1 @@
1
- {"version":3,"file":"browser-proxy.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-proxy.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-proxy.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-proxy.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Credential Store Service
3
+ *
4
+ * Manages the workspace-level credential registry and per-credential
5
+ * encrypted payload files under `~/.crewly/credentials/`.
6
+ *
7
+ * The store is split into two surfaces:
8
+ *
9
+ * - **Metadata API** (`listCredentials`, `getCredential`, `findCredentialsByProvider`):
10
+ * returns `CredentialRegistryEntry` objects containing only non-secret
11
+ * information (id, name, provider, scopes, email, timestamps). Safe to
12
+ * expose to agent / LLM context and over MCP.
13
+ *
14
+ * - **Payload API** (`getPayload`, `setPayload`): decrypts the per-credential
15
+ * `.enc` file to return the actual token value(s). **Intended only for
16
+ * credential helpers and the skill executor** (which injects values into
17
+ * skill subprocess env vars). Callers must never return payload contents
18
+ * to agent/LLM context.
19
+ *
20
+ * Encrypted file format and threat model: see `utils/encryption.utils.ts`.
21
+ *
22
+ * @module services/credential/credential-store.service
23
+ */
24
+ import { CredentialRegistryEntry, CredentialPayload, GoogleOAuthPayload, CredentialType, CredentialHelperName, CredentialStatus } from '../../types/credential.types.js';
25
+ /**
26
+ * Arguments for adding an API key credential.
27
+ */
28
+ export interface AddApiKeyInput {
29
+ /** User-provided display name (must be unique recommended, not enforced). */
30
+ name: string;
31
+ /** Provider identifier (e.g., "gemini", "openai"). */
32
+ provider: string;
33
+ /** The actual API key value — never logged or returned to agent. */
34
+ value: string;
35
+ }
36
+ /**
37
+ * Arguments for adding an OAuth credential (usually produced by a helper's
38
+ * capture flow).
39
+ */
40
+ export interface AddOAuthInput {
41
+ /** User-provided display name. */
42
+ name: string;
43
+ /** Provider identifier (e.g., "google"). */
44
+ provider: string;
45
+ /** Which helper manages refresh for this credential. */
46
+ helper: CredentialHelperName;
47
+ /** Full OAuth token payload captured from the helper's login flow. */
48
+ payload: GoogleOAuthPayload;
49
+ }
50
+ /**
51
+ * Updatable metadata fields on a credential. Other fields are managed
52
+ * internally (id, type, provider, encFile, createdAt).
53
+ */
54
+ export interface UpdateCredentialMetadata {
55
+ name?: string;
56
+ status?: CredentialStatus;
57
+ lastUsedAt?: string;
58
+ expiresAt?: number;
59
+ scopes?: string[];
60
+ accountEmail?: string;
61
+ }
62
+ /**
63
+ * Options for constructing a `CredentialStoreService`. Intended mainly for
64
+ * tests — production uses the default paths under `~/.crewly/credentials/`.
65
+ */
66
+ export interface CredentialStoreOptions {
67
+ /** Override the credentials directory (default: `~/.crewly/credentials`). */
68
+ dir?: string;
69
+ /** Override the master.key file path (default: `<dir>/master.key`). */
70
+ masterKeyPath?: string;
71
+ }
72
+ /**
73
+ * File-based credential store.
74
+ */
75
+ export declare class CredentialStoreService {
76
+ private readonly dir;
77
+ private readonly registryPath;
78
+ private readonly masterKeyPath;
79
+ private initialized;
80
+ constructor(options?: CredentialStoreOptions);
81
+ /**
82
+ * Ensure the credentials directory and master.key exist. Called
83
+ * automatically by every public method — safe to invoke explicitly
84
+ * for eager initialization.
85
+ */
86
+ init(): Promise<void>;
87
+ /**
88
+ * List all credentials' metadata. Does not include secret values.
89
+ */
90
+ listCredentials(): Promise<CredentialRegistryEntry[]>;
91
+ /**
92
+ * Get a single credential's metadata by id.
93
+ *
94
+ * @throws CredentialNotFoundError if no entry with that id exists
95
+ */
96
+ getCredential(id: string): Promise<CredentialRegistryEntry>;
97
+ /**
98
+ * Find all credentials for a given provider, optionally filtered by type.
99
+ */
100
+ findCredentialsByProvider(provider: string, type?: CredentialType): Promise<CredentialRegistryEntry[]>;
101
+ /**
102
+ * Add a new API key credential. The value is encrypted on disk and
103
+ * never exposed back through the metadata API.
104
+ */
105
+ addApiKey(input: AddApiKeyInput): Promise<CredentialRegistryEntry>;
106
+ /**
107
+ * Add a new OAuth credential. Typically called by a helper's capture
108
+ * flow after completing an OAuth exchange.
109
+ */
110
+ addOAuth(input: AddOAuthInput): Promise<CredentialRegistryEntry>;
111
+ /**
112
+ * Update a credential's metadata. Does not touch the encrypted payload.
113
+ * Use `setPayload` to rewrite the secret material (e.g., after refresh).
114
+ *
115
+ * @throws CredentialNotFoundError if no entry with that id exists
116
+ */
117
+ updateCredential(id: string, patch: UpdateCredentialMetadata): Promise<CredentialRegistryEntry>;
118
+ /**
119
+ * Delete a credential (removes registry entry and encrypted payload).
120
+ * The registry removal is authoritative — if the `.enc` file is missing
121
+ * for any reason, that is not an error.
122
+ *
123
+ * @throws CredentialNotFoundError if no entry with that id exists
124
+ */
125
+ deleteCredential(id: string): Promise<void>;
126
+ /**
127
+ * Decrypt and return the credential's payload. **Do not return the
128
+ * result to agent / LLM contexts** — intended only for helpers
129
+ * refreshing tokens and the skill executor injecting env vars.
130
+ *
131
+ * @throws CredentialNotFoundError if no entry with that id exists
132
+ */
133
+ getPayload(id: string): Promise<CredentialPayload>;
134
+ /**
135
+ * Encrypt and write a new payload for an existing credential. Used by
136
+ * helpers after a successful token refresh.
137
+ *
138
+ * @throws CredentialNotFoundError if no entry with that id exists
139
+ */
140
+ setPayload(id: string, payload: CredentialPayload): Promise<void>;
141
+ private readRegistry;
142
+ private writeRegistry;
143
+ private appendEntry;
144
+ private encFilePath;
145
+ private writePayload;
146
+ private newId;
147
+ }
148
+ /**
149
+ * Get the process-wide CredentialStoreService singleton.
150
+ */
151
+ export declare function getCredentialStoreService(): CredentialStoreService;
152
+ /**
153
+ * Reset the singleton — for tests only.
154
+ */
155
+ export declare function resetCredentialStoreService(): void;
156
+ /**
157
+ * Replace the singleton with a specific instance — for tests only.
158
+ * Allows route/controller tests to point the store at a scratch directory.
159
+ */
160
+ export declare function _setCredentialStoreForTesting(svc: CredentialStoreService): void;
161
+ //# sourceMappingURL=credential-store.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/credential/credential-store.service.ts"],"names":[],"mappings":"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"}