managed-deepagents 0.5.3-dev.112 → 0.5.3-dev.113

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 (85) hide show
  1. package/README.md +32 -18
  2. package/dist/channels/manifest.d.ts +0 -2
  3. package/dist/channels/manifest.d.ts.map +1 -1
  4. package/dist/extension.d.ts +2 -2
  5. package/dist/extension.js +2 -2
  6. package/dist/identity/index.d.ts +2 -4
  7. package/dist/identity/index.d.ts.map +1 -1
  8. package/dist/identity/index.js +8 -55
  9. package/dist/identity/index.js.map +1 -1
  10. package/dist/identity/options.js +5 -0
  11. package/dist/identity/options.js.map +1 -1
  12. package/dist/identity/supabase.d.ts.map +1 -1
  13. package/dist/identity/supabase.js +2 -0
  14. package/dist/identity/supabase.js.map +1 -1
  15. package/dist/identity/types.d.ts +8 -60
  16. package/dist/identity/types.d.ts.map +1 -1
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/namespaces.d.ts +0 -6
  22. package/dist/namespaces.d.ts.map +1 -1
  23. package/dist/namespaces.js +0 -6
  24. package/dist/namespaces.js.map +1 -1
  25. package/dist/runtime/auth.d.ts +11 -14
  26. package/dist/runtime/auth.d.ts.map +1 -1
  27. package/dist/runtime/auth.js +15 -54
  28. package/dist/runtime/auth.js.map +1 -1
  29. package/dist/runtime/cors.d.ts +4 -4
  30. package/dist/runtime/cors.d.ts.map +1 -1
  31. package/dist/runtime/cors.js +4 -8
  32. package/dist/runtime/cors.js.map +1 -1
  33. package/dist/runtime/identity-runtime.d.ts +2 -10
  34. package/dist/runtime/identity-runtime.d.ts.map +1 -1
  35. package/dist/runtime/identity-runtime.js +2 -38
  36. package/dist/runtime/identity-runtime.js.map +1 -1
  37. package/dist/runtime/index.d.ts +15 -3
  38. package/dist/runtime/index.d.ts.map +1 -1
  39. package/dist/runtime/index.js +8 -9
  40. package/dist/runtime/index.js.map +1 -1
  41. package/dist/runtime/managed-middleware.d.ts +2 -3
  42. package/dist/runtime/managed-middleware.d.ts.map +1 -1
  43. package/dist/runtime/managed-middleware.js +12 -12
  44. package/dist/runtime/managed-middleware.js.map +1 -1
  45. package/dist/runtime/managed-tools.d.ts +4 -11
  46. package/dist/runtime/managed-tools.d.ts.map +1 -1
  47. package/dist/runtime/managed-tools.js +11 -18
  48. package/dist/runtime/managed-tools.js.map +1 -1
  49. package/dist/runtime/memory/context-io.d.ts +0 -1
  50. package/dist/runtime/memory/context-io.d.ts.map +1 -1
  51. package/dist/runtime/memory/context-io.js +0 -10
  52. package/dist/runtime/memory/context-io.js.map +1 -1
  53. package/dist/runtime/memory/mounts.d.ts.map +1 -1
  54. package/dist/runtime/memory/mounts.js +0 -10
  55. package/dist/runtime/memory/mounts.js.map +1 -1
  56. package/dist/runtime/validated-token.d.ts.map +1 -1
  57. package/dist/runtime/validated-token.js +7 -1
  58. package/dist/runtime/validated-token.js.map +1 -1
  59. package/package.json +15 -14
  60. package/types/index.d.ts +6 -0
  61. package/types/markdown-md.d.ts +14 -0
  62. package/dist/channels/index.d.ts +0 -25
  63. package/dist/channels/index.d.ts.map +0 -1
  64. package/dist/channels/index.js +0 -18
  65. package/dist/channels/index.js.map +0 -1
  66. package/dist/identity/credential-resolvers.d.ts +0 -21
  67. package/dist/identity/credential-resolvers.d.ts.map +0 -1
  68. package/dist/identity/credential-resolvers.js +0 -31
  69. package/dist/identity/credential-resolvers.js.map +0 -1
  70. package/dist/identity/github/credentials-store.d.ts +0 -76
  71. package/dist/identity/github/credentials-store.d.ts.map +0 -1
  72. package/dist/identity/github/credentials-store.js +0 -270
  73. package/dist/identity/github/credentials-store.js.map +0 -1
  74. package/dist/identity/github/credentials.d.ts +0 -85
  75. package/dist/identity/github/credentials.d.ts.map +0 -1
  76. package/dist/identity/github/credentials.js +0 -183
  77. package/dist/identity/github/credentials.js.map +0 -1
  78. package/dist/identity/github/index.d.ts +0 -5
  79. package/dist/identity/github/index.d.ts.map +0 -1
  80. package/dist/identity/github/index.js +0 -5
  81. package/dist/identity/github/index.js.map +0 -1
  82. package/dist/runtime/credentials.d.ts +0 -68
  83. package/dist/runtime/credentials.d.ts.map +0 -1
  84. package/dist/runtime/credentials.js +0 -235
  85. package/dist/runtime/credentials.js.map +0 -1
@@ -1,31 +0,0 @@
1
- /**
2
- * Shape helpers for the two `credentials` forms, shared by authoring validation,
3
- * normalization, and the runtime resolver so all three agree on which form a
4
- * config is.
5
- *
6
- * A single resolver handles every target itself. A per-target map lets one
7
- * deployment integrate several platforms without hand-writing the dispatch.
8
- */
9
- /**
10
- * True when `value` is a single {@link CredentialResolverConfig} rather than a
11
- * per-target map.
12
- *
13
- * Discriminates on the *type* of `resolve`/`endpoint`, not merely their
14
- * presence, so a target legitimately named `"resolve"` or `"endpoint"` in a map
15
- * is not mistaken for the single form.
16
- */
17
- export function isSingleCredentialResolver(value) {
18
- const candidate = value;
19
- if (typeof candidate.resolve === "function") {
20
- return true;
21
- }
22
- const endpoint = candidate.endpoint;
23
- return (typeof endpoint === "object" &&
24
- endpoint !== null &&
25
- typeof endpoint.url === "string");
26
- }
27
- /** The target names a per-target map resolves, in declaration order. */
28
- export function credentialTargetNames(value) {
29
- return isSingleCredentialResolver(value) ? [] : Object.keys(value);
30
- }
31
- //# sourceMappingURL=credential-resolvers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credential-resolvers.js","sourceRoot":"","sources":["../../src/identity/credential-resolvers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAqD;IAErD,MAAM,SAAS,GAAG,KAAkD,CAAC;IACrE,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAQ,QAA8B,CAAC,GAAG,KAAK,QAAQ,CACxD,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,qBAAqB,CACnC,KAAqD;IAErD,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC"}
@@ -1,76 +0,0 @@
1
- /**
2
- * Per-actor GitHub OAuth credential vault.
3
- *
4
- * Stored in the LangGraph Store under `["mda_github_credentials"]`.
5
- * `credentials.github` resolves `actor` tokens from here until managed Agent
6
- * Auth lands.
7
- *
8
- * Tokens are deployment-scoped Store values — treat the Store namespace as
9
- * sensitive and prefer short-lived OAuth tokens / refresh where available.
10
- *
11
- * Reads always consult the shared Store first (in-graph {@link getStore}, then
12
- * the service-principal HTTP client). A small process cache is only a
13
- * write-through fallback for the Host quirk where loopback `get` can miss
14
- * right after a successful `put` on the same worker — never an authority that
15
- * can outlive an unlink/rotate on another worker.
16
- */
17
- import { Client } from "@langchain/langgraph-sdk";
18
- import { GITHUB_CREDENTIALS_STORE_PREFIX } from "../../runtime/auth.js";
19
- export { GITHUB_CREDENTIALS_STORE_PREFIX };
20
- export declare const GITHUB_CREDENTIALS_NAMESPACE: readonly ["mda_github_credentials"];
21
- /** How long a same-worker write-through entry may survive a Store miss. */
22
- export declare const GITHUB_CREDENTIAL_CACHE_TTL_MS = 30000;
23
- /** Soft cap on cached GitHub credential records per process. */
24
- export declare const GITHUB_CREDENTIAL_CACHE_MAX_ENTRIES = 256;
25
- export interface GitHubCredentialRecord {
26
- userId: string;
27
- githubUserId: string;
28
- githubLogin: string;
29
- accessToken: string;
30
- refreshToken?: string;
31
- tokenType?: string;
32
- scope?: string;
33
- email?: string;
34
- linkedAt: string;
35
- source: "github_oauth";
36
- }
37
- export interface GitHubCredentialStore {
38
- getByUserId(userId: string): Promise<GitHubCredentialRecord | null>;
39
- upsert(record: GitHubCredentialRecord): Promise<void>;
40
- removeByUserId(userId: string): Promise<void>;
41
- }
42
- /** In-memory store for tests. */
43
- export declare class InMemoryGitHubCredentialStore implements GitHubCredentialStore {
44
- private readonly byUser;
45
- getByUserId(userId: string): Promise<GitHubCredentialRecord | null>;
46
- upsert(record: GitHubCredentialRecord): Promise<void>;
47
- removeByUserId(userId: string): Promise<void>;
48
- }
49
- /** LangGraph Store–backed GitHub credential vault. */
50
- export declare class LangGraphGitHubCredentialStore implements GitHubCredentialStore {
51
- private readonly client;
52
- constructor(client: Client);
53
- getByUserId(userId: string): Promise<GitHubCredentialRecord | null>;
54
- upsert(record: GitHubCredentialRecord): Promise<void>;
55
- removeByUserId(userId: string): Promise<void>;
56
- }
57
- /** Override the process-default credential store (tests). */
58
- export declare function setGitHubCredentialStore(store: GitHubCredentialStore | null): void;
59
- /** Resolve the process-default credential store. */
60
- export declare function getGitHubCredentialStore(): GitHubCredentialStore;
61
- export declare function createLangGraphGitHubCredentialStore(options?: {
62
- apiUrl?: string;
63
- apiKey?: string;
64
- ingressSecret?: string;
65
- }): LangGraphGitHubCredentialStore | null;
66
- export declare function buildGitHubCredentialRecord(input: {
67
- userId: string;
68
- githubUserId: string;
69
- githubLogin: string;
70
- accessToken: string;
71
- refreshToken?: string;
72
- tokenType?: string;
73
- scope?: string;
74
- email?: string;
75
- }): GitHubCredentialRecord;
76
- //# sourceMappingURL=credentials-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials-store.d.ts","sourceRoot":"","sources":["../../../src/identity/github/credentials-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAIL,+BAA+B,EAKhC,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAC3C,eAAO,MAAM,4BAA4B,qCAE/B,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,gEAAgE;AAChE,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAgBD,iCAAiC;AACjC,qBAAa,6BAA8B,YAAW,qBAAqB;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAE9D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAExE;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;CACF;AAED,sDAAsD;AACtD,qBAAa,8BAA+B,YAAW,qBAAqB;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,MAAM,EAAI;IAEzC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0CxE;IAEK,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ1D;IAEK,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlD;CACF;AAID,6DAA6D;AAC7D,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,GAAG,IAAI,GAClC,IAAI,CAGN;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,IAAI,qBAAqB,CAQhE;AAED,wBAAgB,oCAAoC,CAClD,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,8BAA8B,GAAG,IAAI,CA+BvC;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,sBAAsB,CAazB"}
@@ -1,270 +0,0 @@
1
- /**
2
- * Per-actor GitHub OAuth credential vault.
3
- *
4
- * Stored in the LangGraph Store under `["mda_github_credentials"]`.
5
- * `credentials.github` resolves `actor` tokens from here until managed Agent
6
- * Auth lands.
7
- *
8
- * Tokens are deployment-scoped Store values — treat the Store namespace as
9
- * sensitive and prefer short-lived OAuth tokens / refresh where available.
10
- *
11
- * Reads always consult the shared Store first (in-graph {@link getStore}, then
12
- * the service-principal HTTP client). A small process cache is only a
13
- * write-through fallback for the Host quirk where loopback `get` can miss
14
- * right after a successful `put` on the same worker — never an authority that
15
- * can outlive an unlink/rotate on another worker.
16
- */
17
- import { getStore } from "@langchain/langgraph";
18
- import { Client } from "@langchain/langgraph-sdk";
19
- import { HANDOFF_SECRET_ENV, HANDOFF_SECRET_HEADER, USER_HEADER, GITHUB_CREDENTIALS_STORE_PREFIX, IDENTITY_LINKS_SERVICE_USER, INGRESS_SECRET_ENV, INGRESS_SECRET_HEADER, LANGSMITH_API_KEY_ENV, } from "../../runtime/auth.js";
20
- import { isLoopbackUrl, resolveLoopbackApiKey, resolveLoopbackApiUrl, } from "../loopback.js";
21
- export { GITHUB_CREDENTIALS_STORE_PREFIX };
22
- export const GITHUB_CREDENTIALS_NAMESPACE = [
23
- GITHUB_CREDENTIALS_STORE_PREFIX,
24
- ];
25
- /** How long a same-worker write-through entry may survive a Store miss. */
26
- export const GITHUB_CREDENTIAL_CACHE_TTL_MS = 30_000;
27
- /** Soft cap on cached GitHub credential records per process. */
28
- export const GITHUB_CREDENTIAL_CACHE_MAX_ENTRIES = 256;
29
- /** Bounded write-through cache shared by LangGraph-backed stores. */
30
- const processCache = new Map();
31
- /** In-memory store for tests. */
32
- export class InMemoryGitHubCredentialStore {
33
- byUser = new Map();
34
- async getByUserId(userId) {
35
- return this.byUser.get(userId) ?? null;
36
- }
37
- async upsert(record) {
38
- this.byUser.set(record.userId, record);
39
- }
40
- async removeByUserId(userId) {
41
- this.byUser.delete(userId);
42
- }
43
- }
44
- /** LangGraph Store–backed GitHub credential vault. */
45
- export class LangGraphGitHubCredentialStore {
46
- client;
47
- constructor(client) {
48
- this.client = client;
49
- }
50
- async getByUserId(userId) {
51
- const fromGraph = await readFromAmbientStore(userId);
52
- if (fromGraph) {
53
- rememberCache(userId, fromGraph, { localWrite: false });
54
- return fromGraph;
55
- }
56
- let storeMiss = false;
57
- let storeUnavailable = false;
58
- try {
59
- const item = await this.client.store.getItem([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
60
- if (item?.value && typeof item.value === "object") {
61
- const record = valueToRecord(item.value);
62
- if (record) {
63
- rememberCache(userId, record, { localWrite: false });
64
- return record;
65
- }
66
- }
67
- storeMiss = true;
68
- }
69
- catch {
70
- storeUnavailable = true;
71
- }
72
- const cached = liveCacheEntry(userId);
73
- if (cached) {
74
- if (storeUnavailable) {
75
- return cached.record;
76
- }
77
- if (storeMiss && cached.localWrite) {
78
- // Same-worker Host quirk: put succeeded, loopback get returned empty.
79
- return cached.record;
80
- }
81
- }
82
- if (storeMiss) {
83
- // Authoritative miss — honor unlink/rotate from another worker.
84
- processCache.delete(userId);
85
- }
86
- return null;
87
- }
88
- async upsert(record) {
89
- await this.client.store.putItem([...GITHUB_CREDENTIALS_NAMESPACE], userKey(record.userId), recordToValue(record));
90
- rememberCache(record.userId, record, { localWrite: true });
91
- await writeToAmbientStore(record);
92
- }
93
- async removeByUserId(userId) {
94
- processCache.delete(userId);
95
- await this.client.store.deleteItem([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
96
- await deleteFromAmbientStore(userId);
97
- }
98
- }
99
- let defaultStore = null;
100
- /** Override the process-default credential store (tests). */
101
- export function setGitHubCredentialStore(store) {
102
- defaultStore = store;
103
- processCache.clear();
104
- }
105
- /** Resolve the process-default credential store. */
106
- export function getGitHubCredentialStore() {
107
- if (defaultStore) {
108
- return defaultStore;
109
- }
110
- defaultStore =
111
- createLangGraphGitHubCredentialStore() ??
112
- new InMemoryGitHubCredentialStore();
113
- return defaultStore;
114
- }
115
- export function createLangGraphGitHubCredentialStore(options = {}) {
116
- const serverApiKey = process.env[LANGSMITH_API_KEY_ENV]?.trim();
117
- const configuredHandoffSecret = process.env[HANDOFF_SECRET_ENV]?.trim();
118
- const explicitIngressSecret = options.ingressSecret?.trim();
119
- const configuredIngressSecret = explicitIngressSecret || process.env[INGRESS_SECRET_ENV]?.trim();
120
- const apiUrl = resolveLoopbackApiUrl(options.apiUrl);
121
- const apiKey = resolveLoopbackApiKey(options.apiKey);
122
- const isLocal = isLoopbackUrl(apiUrl);
123
- const handoffSecret = isLocal ? configuredHandoffSecret : undefined;
124
- const ingressSecret = isLocal ? configuredIngressSecret : undefined;
125
- const usesServerApiKey = Boolean(serverApiKey && apiKey === serverApiKey);
126
- if (!usesServerApiKey && !handoffSecret && !ingressSecret) {
127
- return null;
128
- }
129
- const defaultHeaders = {
130
- [USER_HEADER]: IDENTITY_LINKS_SERVICE_USER,
131
- };
132
- if (!usesServerApiKey && explicitIngressSecret && ingressSecret) {
133
- defaultHeaders[INGRESS_SECRET_HEADER] = ingressSecret;
134
- }
135
- else if (handoffSecret) {
136
- defaultHeaders[HANDOFF_SECRET_HEADER] = handoffSecret;
137
- }
138
- else if (!usesServerApiKey && ingressSecret) {
139
- defaultHeaders[INGRESS_SECRET_HEADER] = ingressSecret;
140
- }
141
- const client = new Client({
142
- apiUrl,
143
- apiKey,
144
- defaultHeaders,
145
- });
146
- return new LangGraphGitHubCredentialStore(client);
147
- }
148
- export function buildGitHubCredentialRecord(input) {
149
- return {
150
- userId: input.userId,
151
- githubUserId: input.githubUserId,
152
- githubLogin: input.githubLogin,
153
- accessToken: input.accessToken,
154
- ...(input.refreshToken ? { refreshToken: input.refreshToken } : {}),
155
- ...(input.tokenType ? { tokenType: input.tokenType } : {}),
156
- ...(input.scope ? { scope: input.scope } : {}),
157
- ...(input.email ? { email: input.email } : {}),
158
- linkedAt: new Date().toISOString(),
159
- source: "github_oauth",
160
- };
161
- }
162
- function userKey(userId) {
163
- return `actor:${userId}`;
164
- }
165
- function recordToValue(record) {
166
- return { ...record };
167
- }
168
- function valueToRecord(value) {
169
- const userId = value.userId;
170
- const githubUserId = value.githubUserId;
171
- const githubLogin = value.githubLogin;
172
- const accessToken = value.accessToken;
173
- if (typeof userId !== "string" ||
174
- typeof githubUserId !== "string" ||
175
- typeof githubLogin !== "string" ||
176
- typeof accessToken !== "string") {
177
- return null;
178
- }
179
- return {
180
- userId,
181
- githubUserId,
182
- githubLogin,
183
- accessToken,
184
- ...(typeof value.refreshToken === "string"
185
- ? { refreshToken: value.refreshToken }
186
- : {}),
187
- ...(typeof value.tokenType === "string"
188
- ? { tokenType: value.tokenType }
189
- : {}),
190
- ...(typeof value.scope === "string" ? { scope: value.scope } : {}),
191
- ...(typeof value.email === "string" ? { email: value.email } : {}),
192
- linkedAt: typeof value.linkedAt === "string"
193
- ? value.linkedAt
194
- : new Date().toISOString(),
195
- source: "github_oauth",
196
- };
197
- }
198
- function rememberCache(userId, record, options) {
199
- processCache.set(userId, {
200
- record,
201
- cachedAtMs: Date.now(),
202
- localWrite: options.localWrite,
203
- });
204
- evictExpiredAndOverflow();
205
- }
206
- function liveCacheEntry(userId) {
207
- const entry = processCache.get(userId);
208
- if (!entry) {
209
- return undefined;
210
- }
211
- if (Date.now() - entry.cachedAtMs > GITHUB_CREDENTIAL_CACHE_TTL_MS) {
212
- processCache.delete(userId);
213
- return undefined;
214
- }
215
- return entry;
216
- }
217
- function evictExpiredAndOverflow() {
218
- const now = Date.now();
219
- for (const [key, entry] of processCache) {
220
- if (now - entry.cachedAtMs > GITHUB_CREDENTIAL_CACHE_TTL_MS) {
221
- processCache.delete(key);
222
- }
223
- }
224
- while (processCache.size > GITHUB_CREDENTIAL_CACHE_MAX_ENTRIES) {
225
- const oldest = processCache.keys().next().value;
226
- if (oldest === undefined) {
227
- break;
228
- }
229
- processCache.delete(oldest);
230
- }
231
- }
232
- async function readFromAmbientStore(userId) {
233
- try {
234
- const store = getStore();
235
- if (!store)
236
- return null;
237
- const item = await store.get([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
238
- if (!item?.value || typeof item.value !== "object") {
239
- return null;
240
- }
241
- return valueToRecord(item.value);
242
- }
243
- catch {
244
- // Outside a runnable context (for example, unit tests).
245
- return null;
246
- }
247
- }
248
- async function writeToAmbientStore(record) {
249
- try {
250
- const store = getStore();
251
- if (!store)
252
- return;
253
- await store.put([...GITHUB_CREDENTIALS_NAMESPACE], userKey(record.userId), recordToValue(record));
254
- }
255
- catch {
256
- // Best-effort; HTTP put already persisted.
257
- }
258
- }
259
- async function deleteFromAmbientStore(userId) {
260
- try {
261
- const store = getStore();
262
- if (!store)
263
- return;
264
- await store.delete([...GITHUB_CREDENTIALS_NAMESPACE], userKey(userId));
265
- }
266
- catch {
267
- // Best-effort.
268
- }
269
- }
270
- //# sourceMappingURL=credentials-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["../../../src/identity/github/credentials-store.ts"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- import type { CredentialResolverConfig, RuntimeIdentity } from "../types.js";
2
- /**
3
- * Credential source a GitHub resolver may try for a downstream API call.
4
- *
5
- * - `"user"` calls the user-supplied `resolveUserToken` hook, which defaults to
6
- * the GitHub credential store.
7
- * - `"installation"` mints a GitHub App installation token.
8
- * - `"pat"` uses a deployment-scoped personal access token.
9
- */
10
- export type GitHubTokenSource = "user" | "installation" | "pat";
11
- /** Arguments passed when GitHub credentials need a user-scoped OAuth token. */
12
- export interface GitHubUserTokenArgs {
13
- /** The frozen identity envelope for the current run. */
14
- identity: RuntimeIdentity;
15
- /** OAuth scopes the helper needs for this GitHub operation. */
16
- scopes: string[];
17
- }
18
- /** Arguments passed to a custom GitHub App JWT factory. */
19
- export interface GitHubAppJwtArgs {
20
- /** GitHub App id used as the JWT issuer. */
21
- appId: string;
22
- /** PEM-encoded GitHub App private key. Keep this in deployment secrets. */
23
- privateKey: string;
24
- }
25
- /** Options for {@link credentials}. */
26
- export interface GitHubCredentialsOptions {
27
- /**
28
- * Token sources to try for read intents. Defaults to
29
- * `["installation", "pat"]`.
30
- */
31
- read?: GitHubTokenSource[];
32
- /** Token sources to try for write intents. Defaults to `["user"]`. */
33
- write?: GitHubTokenSource[];
34
- /** GitHub App id. Falls back to `GITHUB_APP_ID`. */
35
- appId?: string;
36
- /** GitHub App private key. Falls back to `GITHUB_APP_PRIVATE_KEY`. */
37
- privateKey?: string;
38
- /**
39
- * Default installation id when the target metadata does not provide
40
- * `installationId`.
41
- */
42
- installationId?: string;
43
- /** Deployment-scoped token. Falls back to `GITHUB_TOKEN` or `GITHUB_PAT`. */
44
- pat?: string;
45
- /**
46
- * Allowed repositories for this resolver, as `owner/repo` or `owner/*`.
47
- * When set, targets should include `metadata.repo` (or `owner` +
48
- * `repository`). If omitted, the first exact `owner/repo` pattern is used as
49
- * the default target (wildcard-only lists still require metadata).
50
- */
51
- repositories?: string[];
52
- /**
53
- * Hook that mints or retrieves the caller's GitHub OAuth token. Defaults to
54
- * the GitHub credential store. Supply a custom hook to override until managed
55
- * Agent Auth lands.
56
- */
57
- resolveUserToken?: (args: GitHubUserTokenArgs) => Promise<string | undefined>;
58
- /** Fetch implementation for GitHub App installation token exchange. */
59
- fetch?: typeof fetch;
60
- /** Test/custom hook for producing the GitHub App JWT. */
61
- createAppJwt?: (args: GitHubAppJwtArgs) => Promise<string>;
62
- }
63
- /**
64
- * Build a custom credential resolver for GitHub connection targets.
65
- *
66
- * Use this through the GitHub namespace:
67
- *
68
- * ```ts
69
- * import { defineIdentity, github } from "managed-deepagents";
70
- *
71
- * export const identity = defineIdentity({
72
- * credentials: credentials.github({ repositories: ["acme/*"] }),
73
- * });
74
- * ```
75
- *
76
- * User-token chains read from `resolveUserToken`, which defaults to the GitHub
77
- * credential store.
78
- */
79
- export declare function credentials(options?: GitHubCredentialsOptions): CredentialResolverConfig;
80
- /**
81
- * Default user-token lookup: GitHub credential store keyed by user id.
82
- * Returns undefined when no stored GitHub token exists for the user.
83
- */
84
- export declare function defaultResolveUserToken(args: GitHubUserTokenArgs): Promise<string | undefined>;
85
- //# sourceMappingURL=credentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/identity/github/credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,wBAAwB,EAGxB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,QAAQ,EAAE,eAAe,CAAC;IAC1B,+DAA+D;IAC/D,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC3B,sEAAsE;IACtE,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9E,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D;AAYD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,OAAO,GAAE,wBAA6B,GACrC,wBAAwB,CA+B1B;AA+HD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK7B"}