@langchain/langgraph-sdk 1.4.4 → 1.4.6
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.
- package/README.md +2 -2
- package/dist/_virtual/rolldown_runtime.cjs +29 -0
- package/dist/auth/error.cjs +79 -0
- package/dist/auth/error.cjs.map +1 -0
- package/dist/auth/error.d.cts +13 -0
- package/dist/auth/error.d.cts.map +1 -0
- package/dist/auth/error.d.ts +13 -0
- package/dist/auth/error.d.ts.map +1 -0
- package/dist/auth/error.js +78 -0
- package/dist/auth/error.js.map +1 -0
- package/dist/auth/index.cjs +39 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +29 -0
- package/dist/auth/index.d.cts.map +1 -0
- package/dist/auth/index.d.ts +29 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +37 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/types.d.cts +294 -0
- package/dist/auth/types.d.cts.map +1 -0
- package/dist/auth/types.d.ts +294 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/client.cjs +1210 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +799 -0
- package/dist/client.d.cts.map +1 -0
- package/dist/client.d.ts +799 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1203 -0
- package/dist/client.js.map +1 -0
- package/dist/index.cjs +6 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +4 -0
- package/dist/logging/index.cjs +35 -0
- package/dist/logging/index.cjs.map +1 -0
- package/dist/logging/index.d.cts +46 -0
- package/dist/logging/index.d.cts.map +1 -0
- package/dist/logging/index.d.ts +46 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +34 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/react/index.cjs +5 -0
- package/dist/react/index.d.cts +5 -0
- package/dist/react/index.d.ts +5 -0
- package/dist/react/index.js +4 -0
- package/dist/react/stream.cjs +18 -0
- package/dist/react/stream.cjs.map +1 -0
- package/dist/react/stream.custom.cjs +135 -0
- package/dist/react/stream.custom.cjs.map +1 -0
- package/dist/react/stream.custom.d.cts +40 -0
- package/dist/react/stream.custom.d.cts.map +1 -0
- package/dist/react/stream.custom.d.ts +40 -0
- package/dist/react/stream.custom.d.ts.map +1 -0
- package/dist/react/stream.custom.js +133 -0
- package/dist/react/stream.custom.js.map +1 -0
- package/dist/react/stream.d.cts +155 -0
- package/dist/react/stream.d.cts.map +1 -0
- package/dist/react/stream.d.ts +155 -0
- package/dist/react/stream.d.ts.map +1 -0
- package/dist/react/stream.js +17 -0
- package/dist/react/stream.js.map +1 -0
- package/dist/react/stream.lgp.cjs +448 -0
- package/dist/react/stream.lgp.cjs.map +1 -0
- package/dist/react/stream.lgp.js +447 -0
- package/dist/react/stream.lgp.js.map +1 -0
- package/dist/react/thread.cjs +21 -0
- package/dist/react/thread.cjs.map +1 -0
- package/dist/react/thread.js +20 -0
- package/dist/react/thread.js.map +1 -0
- package/dist/react/types.d.cts +152 -0
- package/dist/react/types.d.cts.map +1 -0
- package/dist/react/types.d.ts +152 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react-ui/client.cjs +138 -0
- package/dist/react-ui/client.cjs.map +1 -0
- package/dist/react-ui/client.d.cts +73 -0
- package/dist/react-ui/client.d.cts.map +1 -0
- package/dist/react-ui/client.d.ts +73 -0
- package/dist/react-ui/client.d.ts.map +1 -0
- package/dist/react-ui/client.js +132 -0
- package/dist/react-ui/client.js.map +1 -0
- package/dist/react-ui/index.cjs +14 -0
- package/dist/react-ui/index.cjs.map +1 -0
- package/dist/react-ui/index.d.cts +3 -0
- package/dist/react-ui/index.d.ts +3 -0
- package/dist/react-ui/index.js +9 -0
- package/dist/react-ui/index.js.map +1 -0
- package/dist/react-ui/server/index.cjs +5 -0
- package/dist/react-ui/server/index.d.cts +3 -0
- package/dist/react-ui/server/index.d.ts +3 -0
- package/dist/react-ui/server/index.js +4 -0
- package/dist/react-ui/server/server.cjs +57 -0
- package/dist/react-ui/server/server.cjs.map +1 -0
- package/dist/react-ui/server/server.d.cts +55 -0
- package/dist/react-ui/server/server.d.cts.map +1 -0
- package/dist/react-ui/server/server.d.ts +55 -0
- package/dist/react-ui/server/server.d.ts.map +1 -0
- package/dist/react-ui/server/server.js +56 -0
- package/dist/react-ui/server/server.js.map +1 -0
- package/dist/react-ui/types.cjs +38 -0
- package/dist/react-ui/types.cjs.map +1 -0
- package/dist/react-ui/types.d.cts +25 -0
- package/dist/react-ui/types.d.cts.map +1 -0
- package/dist/react-ui/types.d.ts +25 -0
- package/dist/react-ui/types.d.ts.map +1 -0
- package/dist/react-ui/types.js +35 -0
- package/dist/react-ui/types.js.map +1 -0
- package/dist/schema.d.cts +284 -0
- package/dist/schema.d.cts.map +1 -0
- package/dist/schema.d.ts +284 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/singletons/fetch.cjs +24 -0
- package/dist/singletons/fetch.cjs.map +1 -0
- package/dist/singletons/fetch.d.cts +14 -0
- package/dist/singletons/fetch.d.cts.map +1 -0
- package/dist/singletons/fetch.d.ts +14 -0
- package/dist/singletons/fetch.d.ts.map +1 -0
- package/dist/singletons/fetch.js +22 -0
- package/dist/singletons/fetch.js.map +1 -0
- package/dist/types.d.cts +187 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +187 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.messages.d.cts +264 -0
- package/dist/types.messages.d.cts.map +1 -0
- package/dist/types.messages.d.ts +264 -0
- package/dist/types.messages.d.ts.map +1 -0
- package/dist/types.stream.d.cts +233 -0
- package/dist/types.stream.d.cts.map +1 -0
- package/dist/types.stream.d.ts +233 -0
- package/dist/types.stream.d.ts.map +1 -0
- package/dist/types.template.d.cts +19 -0
- package/dist/types.template.d.cts.map +1 -0
- package/dist/types.template.d.ts +19 -0
- package/dist/types.template.d.ts.map +1 -0
- package/dist/ui/branching.cjs +153 -0
- package/dist/ui/branching.cjs.map +1 -0
- package/dist/ui/branching.d.cts +19 -0
- package/dist/ui/branching.d.cts.map +1 -0
- package/dist/ui/branching.d.ts +19 -0
- package/dist/ui/branching.d.ts.map +1 -0
- package/dist/ui/branching.js +152 -0
- package/dist/ui/branching.js.map +1 -0
- package/dist/ui/errors.cjs +15 -0
- package/dist/ui/errors.cjs.map +1 -0
- package/dist/ui/errors.js +14 -0
- package/dist/ui/errors.js.map +1 -0
- package/dist/ui/manager.cjs +188 -0
- package/dist/ui/manager.cjs.map +1 -0
- package/dist/ui/manager.js +188 -0
- package/dist/ui/manager.js.map +1 -0
- package/dist/ui/messages.cjs +70 -0
- package/dist/ui/messages.cjs.map +1 -0
- package/dist/ui/messages.js +68 -0
- package/dist/ui/messages.js.map +1 -0
- package/dist/ui/types.d.cts +420 -0
- package/dist/ui/types.d.cts.map +1 -0
- package/dist/ui/types.d.ts +420 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/utils.cjs +13 -0
- package/dist/ui/utils.cjs.map +1 -0
- package/dist/ui/utils.js +11 -0
- package/dist/ui/utils.js.map +1 -0
- package/dist/utils/async_caller.cjs +119 -0
- package/dist/utils/async_caller.cjs.map +1 -0
- package/dist/utils/async_caller.d.cts +51 -0
- package/dist/utils/async_caller.d.cts.map +1 -0
- package/dist/utils/async_caller.d.ts +51 -0
- package/dist/utils/async_caller.d.ts.map +1 -0
- package/dist/utils/async_caller.js +116 -0
- package/dist/utils/async_caller.js.map +1 -0
- package/dist/utils/env.cjs +13 -0
- package/dist/utils/env.cjs.map +1 -0
- package/dist/utils/env.js +12 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/error.cjs +17 -0
- package/dist/utils/error.cjs.map +1 -0
- package/dist/utils/error.js +16 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/signals.cjs +20 -0
- package/dist/utils/signals.cjs.map +1 -0
- package/dist/utils/signals.js +19 -0
- package/dist/utils/signals.js.map +1 -0
- package/dist/utils/sse.cjs +124 -0
- package/dist/utils/sse.cjs.map +1 -0
- package/dist/utils/sse.js +122 -0
- package/dist/utils/sse.js.map +1 -0
- package/dist/utils/stream.cjs +174 -0
- package/dist/utils/stream.cjs.map +1 -0
- package/dist/utils/stream.js +173 -0
- package/dist/utils/stream.js.map +1 -0
- package/dist/utils/tools.cjs +52 -0
- package/dist/utils/tools.cjs.map +1 -0
- package/dist/utils/tools.js +51 -0
- package/dist/utils/tools.js.map +1 -0
- package/package.json +15 -15
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ This repository contains the JS/TS SDK for interacting with the LangGraph REST A
|
|
|
7
7
|
To get started with the JS/TS SDK, [install the package](https://www.npmjs.com/package/@langchain/langgraph-sdk)
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
pnpm add @langchain/langgraph-sdk
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
You will need a running LangGraph API server. If you're running a server locally using `langgraph-cli`, SDK will automatically point at `http://localhost:8123`, otherwise
|
|
@@ -53,7 +53,7 @@ To generate documentation, run the following commands:
|
|
|
53
53
|
|
|
54
54
|
1. Generate docs.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
pnpm typedoc
|
|
57
57
|
|
|
58
58
|
1. Consolidate doc files into one markdown file.
|
|
59
59
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
|
|
29
|
+
exports.__toESM = __toESM;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/auth/error.ts
|
|
3
|
+
const HTTP_STATUS_MAPPING = {
|
|
4
|
+
100: "Continue",
|
|
5
|
+
101: "Switching Protocols",
|
|
6
|
+
102: "Processing",
|
|
7
|
+
103: "Early Hints",
|
|
8
|
+
200: "OK",
|
|
9
|
+
201: "Created",
|
|
10
|
+
202: "Accepted",
|
|
11
|
+
203: "Non-Authoritative Information",
|
|
12
|
+
204: "No Content",
|
|
13
|
+
205: "Reset Content",
|
|
14
|
+
206: "Partial Content",
|
|
15
|
+
207: "Multi-Status",
|
|
16
|
+
208: "Already Reported",
|
|
17
|
+
226: "IM Used",
|
|
18
|
+
300: "Multiple Choices",
|
|
19
|
+
301: "Moved Permanently",
|
|
20
|
+
302: "Found",
|
|
21
|
+
303: "See Other",
|
|
22
|
+
304: "Not Modified",
|
|
23
|
+
305: "Use Proxy",
|
|
24
|
+
307: "Temporary Redirect",
|
|
25
|
+
308: "Permanent Redirect",
|
|
26
|
+
400: "Bad Request",
|
|
27
|
+
401: "Unauthorized",
|
|
28
|
+
402: "Payment Required",
|
|
29
|
+
403: "Forbidden",
|
|
30
|
+
404: "Not Found",
|
|
31
|
+
405: "Method Not Allowed",
|
|
32
|
+
406: "Not Acceptable",
|
|
33
|
+
407: "Proxy Authentication Required",
|
|
34
|
+
408: "Request Timeout",
|
|
35
|
+
409: "Conflict",
|
|
36
|
+
410: "Gone",
|
|
37
|
+
411: "Length Required",
|
|
38
|
+
412: "Precondition Failed",
|
|
39
|
+
413: "Request Entity Too Large",
|
|
40
|
+
414: "Request-URI Too Long",
|
|
41
|
+
415: "Unsupported Media Type",
|
|
42
|
+
416: "Requested Range Not Satisfiable",
|
|
43
|
+
417: "Expectation Failed",
|
|
44
|
+
418: "I'm a Teapot",
|
|
45
|
+
421: "Misdirected Request",
|
|
46
|
+
422: "Unprocessable Entity",
|
|
47
|
+
423: "Locked",
|
|
48
|
+
424: "Failed Dependency",
|
|
49
|
+
425: "Too Early",
|
|
50
|
+
426: "Upgrade Required",
|
|
51
|
+
428: "Precondition Required",
|
|
52
|
+
429: "Too Many Requests",
|
|
53
|
+
431: "Request Header Fields Too Large",
|
|
54
|
+
451: "Unavailable For Legal Reasons",
|
|
55
|
+
500: "Internal Server Error",
|
|
56
|
+
501: "Not Implemented",
|
|
57
|
+
502: "Bad Gateway",
|
|
58
|
+
503: "Service Unavailable",
|
|
59
|
+
504: "Gateway Timeout",
|
|
60
|
+
505: "HTTP Version Not Supported",
|
|
61
|
+
506: "Variant Also Negotiates",
|
|
62
|
+
507: "Insufficient Storage",
|
|
63
|
+
508: "Loop Detected",
|
|
64
|
+
510: "Not Extended",
|
|
65
|
+
511: "Network Authentication Required"
|
|
66
|
+
};
|
|
67
|
+
var HTTPException = class extends Error {
|
|
68
|
+
status;
|
|
69
|
+
headers;
|
|
70
|
+
constructor(status, options) {
|
|
71
|
+
super(options?.message ?? HTTP_STATUS_MAPPING[status] ?? "Unknown error", { cause: options?.cause });
|
|
72
|
+
this.status = status;
|
|
73
|
+
this.headers = options?.headers ?? {};
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
//#endregion
|
|
78
|
+
exports.HTTPException = HTTPException;
|
|
79
|
+
//# sourceMappingURL=error.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.cjs","names":[],"sources":["../../src/auth/error.ts"],"sourcesContent":["const HTTP_STATUS_MAPPING: { [key: number]: string } = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Request Entity Too Large\",\n 414: \"Request-URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Requested Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\",\n};\n\nexport class HTTPException extends Error {\n status: number;\n\n headers: HeadersInit;\n\n constructor(\n status: number,\n options?: { message?: string; headers?: HeadersInit; cause?: unknown }\n ) {\n super(options?.message ?? HTTP_STATUS_MAPPING[status] ?? \"Unknown error\", {\n cause: options?.cause,\n });\n this.status = status;\n this.headers = options?.headers ?? {};\n }\n}\n"],"mappings":";;AAAA,MAAM,sBAAiD;CACrD,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACN;AAED,IAAa,gBAAb,cAAmC,MAAM;CACvC;CAEA;CAEA,YACE,QACA,SACA;AACA,QAAM,SAAS,WAAW,oBAAoB,WAAW,iBAAiB,EACxE,OAAO,SAAS,OACjB,CAAC;AACF,OAAK,SAAS;AACd,OAAK,UAAU,SAAS,WAAW,EAAE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/auth/error.d.ts
|
|
2
|
+
declare class HTTPException extends Error {
|
|
3
|
+
status: number;
|
|
4
|
+
headers: HeadersInit;
|
|
5
|
+
constructor(status: number, options?: {
|
|
6
|
+
message?: string;
|
|
7
|
+
headers?: HeadersInit;
|
|
8
|
+
cause?: unknown;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { HTTPException };
|
|
13
|
+
//# sourceMappingURL=error.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.cts","names":["HTTPException","HeadersInit","Error"],"sources":["../../src/auth/error.d.ts"],"sourcesContent":["export declare class HTTPException extends Error {\n status: number;\n headers: HeadersInit;\n constructor(status: number, options?: {\n message?: string;\n headers?: HeadersInit;\n cause?: unknown;\n });\n}\n"],"mappings":";cAAqBA,aAAAA,SAAsBE,KAAAA;EAAtBF,MAAAA,EAAAA,MAAAA;EAAa,OAAA,EAErBC,WAFqB;aAErBA,CAAAA,MAAAA,EAAAA,MAAAA,EAAAA,QAAAA,EAAAA;IAGKA,OAAAA,CAAAA,EAAAA,MAAAA;IALyBC,OAAAA,CAAAA,EAKzBD,WALyBC;IAAK,KAAA,CAAA,EAAA,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/auth/error.d.ts
|
|
2
|
+
declare class HTTPException extends Error {
|
|
3
|
+
status: number;
|
|
4
|
+
headers: HeadersInit;
|
|
5
|
+
constructor(status: number, options?: {
|
|
6
|
+
message?: string;
|
|
7
|
+
headers?: HeadersInit;
|
|
8
|
+
cause?: unknown;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { HTTPException };
|
|
13
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","names":["HTTPException","HeadersInit","Error"],"sources":["../../src/auth/error.d.ts"],"sourcesContent":["export declare class HTTPException extends Error {\n status: number;\n headers: HeadersInit;\n constructor(status: number, options?: {\n message?: string;\n headers?: HeadersInit;\n cause?: unknown;\n });\n}\n"],"mappings":";cAAqBA,aAAAA,SAAsBE,KAAAA;EAAtBF,MAAAA,EAAAA,MAAAA;EAAa,OAAA,EAErBC,WAFqB;aAErBA,CAAAA,MAAAA,EAAAA,MAAAA,EAAAA,QAAAA,EAAAA;IAGKA,OAAAA,CAAAA,EAAAA,MAAAA;IALyBC,OAAAA,CAAAA,EAKzBD,WALyBC;IAAK,KAAA,CAAA,EAAA,OAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
//#region src/auth/error.ts
|
|
2
|
+
const HTTP_STATUS_MAPPING = {
|
|
3
|
+
100: "Continue",
|
|
4
|
+
101: "Switching Protocols",
|
|
5
|
+
102: "Processing",
|
|
6
|
+
103: "Early Hints",
|
|
7
|
+
200: "OK",
|
|
8
|
+
201: "Created",
|
|
9
|
+
202: "Accepted",
|
|
10
|
+
203: "Non-Authoritative Information",
|
|
11
|
+
204: "No Content",
|
|
12
|
+
205: "Reset Content",
|
|
13
|
+
206: "Partial Content",
|
|
14
|
+
207: "Multi-Status",
|
|
15
|
+
208: "Already Reported",
|
|
16
|
+
226: "IM Used",
|
|
17
|
+
300: "Multiple Choices",
|
|
18
|
+
301: "Moved Permanently",
|
|
19
|
+
302: "Found",
|
|
20
|
+
303: "See Other",
|
|
21
|
+
304: "Not Modified",
|
|
22
|
+
305: "Use Proxy",
|
|
23
|
+
307: "Temporary Redirect",
|
|
24
|
+
308: "Permanent Redirect",
|
|
25
|
+
400: "Bad Request",
|
|
26
|
+
401: "Unauthorized",
|
|
27
|
+
402: "Payment Required",
|
|
28
|
+
403: "Forbidden",
|
|
29
|
+
404: "Not Found",
|
|
30
|
+
405: "Method Not Allowed",
|
|
31
|
+
406: "Not Acceptable",
|
|
32
|
+
407: "Proxy Authentication Required",
|
|
33
|
+
408: "Request Timeout",
|
|
34
|
+
409: "Conflict",
|
|
35
|
+
410: "Gone",
|
|
36
|
+
411: "Length Required",
|
|
37
|
+
412: "Precondition Failed",
|
|
38
|
+
413: "Request Entity Too Large",
|
|
39
|
+
414: "Request-URI Too Long",
|
|
40
|
+
415: "Unsupported Media Type",
|
|
41
|
+
416: "Requested Range Not Satisfiable",
|
|
42
|
+
417: "Expectation Failed",
|
|
43
|
+
418: "I'm a Teapot",
|
|
44
|
+
421: "Misdirected Request",
|
|
45
|
+
422: "Unprocessable Entity",
|
|
46
|
+
423: "Locked",
|
|
47
|
+
424: "Failed Dependency",
|
|
48
|
+
425: "Too Early",
|
|
49
|
+
426: "Upgrade Required",
|
|
50
|
+
428: "Precondition Required",
|
|
51
|
+
429: "Too Many Requests",
|
|
52
|
+
431: "Request Header Fields Too Large",
|
|
53
|
+
451: "Unavailable For Legal Reasons",
|
|
54
|
+
500: "Internal Server Error",
|
|
55
|
+
501: "Not Implemented",
|
|
56
|
+
502: "Bad Gateway",
|
|
57
|
+
503: "Service Unavailable",
|
|
58
|
+
504: "Gateway Timeout",
|
|
59
|
+
505: "HTTP Version Not Supported",
|
|
60
|
+
506: "Variant Also Negotiates",
|
|
61
|
+
507: "Insufficient Storage",
|
|
62
|
+
508: "Loop Detected",
|
|
63
|
+
510: "Not Extended",
|
|
64
|
+
511: "Network Authentication Required"
|
|
65
|
+
};
|
|
66
|
+
var HTTPException = class extends Error {
|
|
67
|
+
status;
|
|
68
|
+
headers;
|
|
69
|
+
constructor(status, options) {
|
|
70
|
+
super(options?.message ?? HTTP_STATUS_MAPPING[status] ?? "Unknown error", { cause: options?.cause });
|
|
71
|
+
this.status = status;
|
|
72
|
+
this.headers = options?.headers ?? {};
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
//#endregion
|
|
77
|
+
export { HTTPException };
|
|
78
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","names":[],"sources":["../../src/auth/error.ts"],"sourcesContent":["const HTTP_STATUS_MAPPING: { [key: number]: string } = {\n 100: \"Continue\",\n 101: \"Switching Protocols\",\n 102: \"Processing\",\n 103: \"Early Hints\",\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 203: \"Non-Authoritative Information\",\n 204: \"No Content\",\n 205: \"Reset Content\",\n 206: \"Partial Content\",\n 207: \"Multi-Status\",\n 208: \"Already Reported\",\n 226: \"IM Used\",\n 300: \"Multiple Choices\",\n 301: \"Moved Permanently\",\n 302: \"Found\",\n 303: \"See Other\",\n 304: \"Not Modified\",\n 305: \"Use Proxy\",\n 307: \"Temporary Redirect\",\n 308: \"Permanent Redirect\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 402: \"Payment Required\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 406: \"Not Acceptable\",\n 407: \"Proxy Authentication Required\",\n 408: \"Request Timeout\",\n 409: \"Conflict\",\n 410: \"Gone\",\n 411: \"Length Required\",\n 412: \"Precondition Failed\",\n 413: \"Request Entity Too Large\",\n 414: \"Request-URI Too Long\",\n 415: \"Unsupported Media Type\",\n 416: \"Requested Range Not Satisfiable\",\n 417: \"Expectation Failed\",\n 418: \"I'm a Teapot\",\n 421: \"Misdirected Request\",\n 422: \"Unprocessable Entity\",\n 423: \"Locked\",\n 424: \"Failed Dependency\",\n 425: \"Too Early\",\n 426: \"Upgrade Required\",\n 428: \"Precondition Required\",\n 429: \"Too Many Requests\",\n 431: \"Request Header Fields Too Large\",\n 451: \"Unavailable For Legal Reasons\",\n 500: \"Internal Server Error\",\n 501: \"Not Implemented\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n 504: \"Gateway Timeout\",\n 505: \"HTTP Version Not Supported\",\n 506: \"Variant Also Negotiates\",\n 507: \"Insufficient Storage\",\n 508: \"Loop Detected\",\n 510: \"Not Extended\",\n 511: \"Network Authentication Required\",\n};\n\nexport class HTTPException extends Error {\n status: number;\n\n headers: HeadersInit;\n\n constructor(\n status: number,\n options?: { message?: string; headers?: HeadersInit; cause?: unknown }\n ) {\n super(options?.message ?? HTTP_STATUS_MAPPING[status] ?? \"Unknown error\", {\n cause: options?.cause,\n });\n this.status = status;\n this.headers = options?.headers ?? {};\n }\n}\n"],"mappings":";AAAA,MAAM,sBAAiD;CACrD,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACN;AAED,IAAa,gBAAb,cAAmC,MAAM;CACvC;CAEA;CAEA,YACE,QACA,SACA;AACA,QAAM,SAAS,WAAW,oBAAoB,WAAW,iBAAiB,EACxE,OAAO,SAAS,OACjB,CAAC;AACF,OAAK,SAAS;AACd,OAAK,UAAU,SAAS,WAAW,EAAE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const require_error = require('./error.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/auth/index.ts
|
|
4
|
+
var Auth = class {
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
* @ignore
|
|
8
|
+
*/
|
|
9
|
+
"~handlerCache" = {};
|
|
10
|
+
authenticate(cb) {
|
|
11
|
+
this["~handlerCache"].authenticate = cb;
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
on(event, callback) {
|
|
15
|
+
this["~handlerCache"].callbacks ??= {};
|
|
16
|
+
const events = Array.isArray(event) ? event : [event];
|
|
17
|
+
for (const event$1 of events) this["~handlerCache"].callbacks[event$1] = callback;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Check if the provided user was provided by LangGraph Studio.
|
|
23
|
+
*
|
|
24
|
+
* By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.
|
|
25
|
+
* If you want, you can handle logged-in Studio users in a special way.
|
|
26
|
+
*
|
|
27
|
+
* @param user - The user to check
|
|
28
|
+
* @returns True if the user is a studio user, false otherwise
|
|
29
|
+
*/
|
|
30
|
+
function isStudioUser(user) {
|
|
31
|
+
if ("kind" in user && user.kind === "StudioUser") return true;
|
|
32
|
+
return user.identity === "langgraph-studio-user";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.Auth = Auth;
|
|
37
|
+
exports.HTTPException = require_error.HTTPException;
|
|
38
|
+
exports.isStudioUser = isStudioUser;
|
|
39
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["event"],"sources":["../../src/auth/index.ts"],"sourcesContent":["import type {\n AuthenticateCallback,\n AnyCallback,\n CallbackEvent,\n OnCallback,\n BaseAuthReturn,\n ToUserLike,\n BaseUser,\n} from \"./types.js\";\n\nexport class Auth<\n TExtra = {}, // eslint-disable-line @typescript-eslint/ban-types\n TAuthReturn extends BaseAuthReturn = BaseAuthReturn,\n TUser extends BaseUser = ToUserLike<TAuthReturn>\n> {\n /**\n * @internal\n * @ignore\n */\n \"~handlerCache\": {\n authenticate?: AuthenticateCallback<BaseAuthReturn>;\n callbacks?: Record<string, AnyCallback>;\n } = {};\n\n authenticate<T extends BaseAuthReturn>(\n cb: AuthenticateCallback<T>\n ): Auth<TExtra, T> {\n this[\"~handlerCache\"].authenticate = cb;\n return this as unknown as Auth<TExtra, T>;\n }\n\n on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this {\n this[\"~handlerCache\"].callbacks ??= {};\n const events: string[] = Array.isArray(event) ? event : [event];\n for (const event of events) {\n this[\"~handlerCache\"].callbacks[event] = callback as AnyCallback;\n }\n return this;\n }\n}\n\n/**\n * Check if the provided user was provided by LangGraph Studio.\n *\n * By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.\n * If you want, you can handle logged-in Studio users in a special way.\n *\n * @param user - The user to check\n * @returns True if the user is a studio user, false otherwise\n */\nexport function isStudioUser(user: BaseUser) {\n if (\"kind\" in user && user.kind === \"StudioUser\") return true;\n return user.identity === \"langgraph-studio-user\";\n}\n\nexport type {\n Filters as AuthFilters,\n EventValueMap as AuthEventValueMap,\n} from \"./types.js\";\nexport { HTTPException } from \"./error.js\";\n"],"mappings":";;;AAUA,IAAa,OAAb,MAIE;;;;;CAKA,kBAGI,EAAE;CAEN,aACE,IACiB;AACjB,OAAK,iBAAiB,eAAe;AACrC,SAAO;;CAGT,GAA4B,OAAU,UAAsC;AAC1E,OAAK,iBAAiB,cAAc,EAAE;EACtC,MAAM,SAAmB,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC/D,OAAK,MAAMA,WAAS,OAClB,MAAK,iBAAiB,UAAUA,WAAS;AAE3C,SAAO;;;;;;;;;;;;AAaX,SAAgB,aAAa,MAAgB;AAC3C,KAAI,UAAU,QAAQ,KAAK,SAAS,aAAc,QAAO;AACzD,QAAO,KAAK,aAAa"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AnyCallback, AuthenticateCallback, BaseAuthReturn, BaseUser, CallbackEvent, EventValueMap, Filters, OnCallback, ToUserLike } from "./types.cjs";
|
|
2
|
+
import { HTTPException } from "./error.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/auth/index.d.ts
|
|
5
|
+
declare class Auth<TExtra = {}, TAuthReturn extends BaseAuthReturn = BaseAuthReturn, TUser extends BaseUser = ToUserLike<TAuthReturn>> {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
* @ignore
|
|
9
|
+
*/
|
|
10
|
+
"~handlerCache": {
|
|
11
|
+
authenticate?: AuthenticateCallback<BaseAuthReturn>;
|
|
12
|
+
callbacks?: Record<string, AnyCallback>;
|
|
13
|
+
};
|
|
14
|
+
authenticate<T extends BaseAuthReturn>(cb: AuthenticateCallback<T>): Auth<TExtra, T>;
|
|
15
|
+
on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if the provided user was provided by LangGraph Studio.
|
|
19
|
+
*
|
|
20
|
+
* By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.
|
|
21
|
+
* If you want, you can handle logged-in Studio users in a special way.
|
|
22
|
+
*
|
|
23
|
+
* @param user - The user to check
|
|
24
|
+
* @returns True if the user is a studio user, false otherwise
|
|
25
|
+
*/
|
|
26
|
+
declare function isStudioUser(user: BaseUser): boolean;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { Auth, type EventValueMap as AuthEventValueMap, type Filters as AuthFilters, HTTPException, isStudioUser };
|
|
29
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":["AuthenticateCallback","AnyCallback","CallbackEvent","OnCallback","BaseAuthReturn","ToUserLike","BaseUser","Auth","TAuthReturn","Record","T","TExtra","TUser","isStudioUser","Filters","AuthFilters","EventValueMap","AuthEventValueMap","HTTPException"],"sources":["../../src/auth/index.d.ts"],"sourcesContent":["import type { AuthenticateCallback, AnyCallback, CallbackEvent, OnCallback, BaseAuthReturn, ToUserLike, BaseUser } from \"./types.js\";\nexport declare class Auth<TExtra = {}, TAuthReturn extends BaseAuthReturn = BaseAuthReturn, TUser extends BaseUser = ToUserLike<TAuthReturn>> {\n /**\n * @internal\n * @ignore\n */\n \"~handlerCache\": {\n authenticate?: AuthenticateCallback<BaseAuthReturn>;\n callbacks?: Record<string, AnyCallback>;\n };\n authenticate<T extends BaseAuthReturn>(cb: AuthenticateCallback<T>): Auth<TExtra, T>;\n on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this;\n}\n/**\n * Check if the provided user was provided by LangGraph Studio.\n *\n * By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.\n * If you want, you can handle logged-in Studio users in a special way.\n *\n * @param user - The user to check\n * @returns True if the user is a studio user, false otherwise\n */\nexport declare function isStudioUser(user: BaseUser): boolean;\nexport type { Filters as AuthFilters, EventValueMap as AuthEventValueMap, } from \"./types.js\";\nexport { HTTPException } from \"./error.js\";\n"],"mappings":";;;;cACqBO,sCAAsCH,iBAAiBA,8BAA8BE,WAAWD,WAAWG;;;AAAhI;;iBAA2DJ,EAAAA;IAAiBA,YAAAA,CAAAA,EAMrDJ,oBANqDI,CAMhCA,cANgCA,CAAAA;IAA8BE,SAAAA,CAAAA,EAOtFG,MAPsFH,CAAAA,MAAAA,EAOvEL,WAPuEK,CAAAA;;cAAWD,CAAAA,UAS1FD,cAT0FC,CAAAA,CAAAA,EAAAA,EAStEL,oBATsEK,CASjDK,CATiDL,CAAAA,CAAAA,EAS5CE,IAT4CF,CASvCM,MATuCN,EAS/BK,CAT+BL,CAAAA;KAMzED,UAI3BF,aAJ2BE,CAAAA,CAAAA,KAAAA,EAILM,CAJKN,EAAAA,QAAAA,EAIQD,UAJRC,CAImBM,CAJnBN,EAIsBQ,KAJtBR,CAAAA,CAAAA,EAAAA,IAAAA;;;;;;;;;;;AAILM,iBAWfG,YAAAA,CAXeH,IAAAA,EAWIJ,QAXJI,CAAAA,EAAAA,OAAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AnyCallback, AuthenticateCallback, BaseAuthReturn, BaseUser, CallbackEvent, EventValueMap, Filters, OnCallback, ToUserLike } from "./types.js";
|
|
2
|
+
import { HTTPException } from "./error.js";
|
|
3
|
+
|
|
4
|
+
//#region src/auth/index.d.ts
|
|
5
|
+
declare class Auth<TExtra = {}, TAuthReturn extends BaseAuthReturn = BaseAuthReturn, TUser extends BaseUser = ToUserLike<TAuthReturn>> {
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
* @ignore
|
|
9
|
+
*/
|
|
10
|
+
"~handlerCache": {
|
|
11
|
+
authenticate?: AuthenticateCallback<BaseAuthReturn>;
|
|
12
|
+
callbacks?: Record<string, AnyCallback>;
|
|
13
|
+
};
|
|
14
|
+
authenticate<T extends BaseAuthReturn>(cb: AuthenticateCallback<T>): Auth<TExtra, T>;
|
|
15
|
+
on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if the provided user was provided by LangGraph Studio.
|
|
19
|
+
*
|
|
20
|
+
* By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.
|
|
21
|
+
* If you want, you can handle logged-in Studio users in a special way.
|
|
22
|
+
*
|
|
23
|
+
* @param user - The user to check
|
|
24
|
+
* @returns True if the user is a studio user, false otherwise
|
|
25
|
+
*/
|
|
26
|
+
declare function isStudioUser(user: BaseUser): boolean;
|
|
27
|
+
//#endregion
|
|
28
|
+
export { Auth, type EventValueMap as AuthEventValueMap, type Filters as AuthFilters, HTTPException, isStudioUser };
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["AuthenticateCallback","AnyCallback","CallbackEvent","OnCallback","BaseAuthReturn","ToUserLike","BaseUser","Auth","TAuthReturn","Record","T","TExtra","TUser","isStudioUser","Filters","AuthFilters","EventValueMap","AuthEventValueMap","HTTPException"],"sources":["../../src/auth/index.d.ts"],"sourcesContent":["import type { AuthenticateCallback, AnyCallback, CallbackEvent, OnCallback, BaseAuthReturn, ToUserLike, BaseUser } from \"./types.js\";\nexport declare class Auth<TExtra = {}, TAuthReturn extends BaseAuthReturn = BaseAuthReturn, TUser extends BaseUser = ToUserLike<TAuthReturn>> {\n /**\n * @internal\n * @ignore\n */\n \"~handlerCache\": {\n authenticate?: AuthenticateCallback<BaseAuthReturn>;\n callbacks?: Record<string, AnyCallback>;\n };\n authenticate<T extends BaseAuthReturn>(cb: AuthenticateCallback<T>): Auth<TExtra, T>;\n on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this;\n}\n/**\n * Check if the provided user was provided by LangGraph Studio.\n *\n * By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.\n * If you want, you can handle logged-in Studio users in a special way.\n *\n * @param user - The user to check\n * @returns True if the user is a studio user, false otherwise\n */\nexport declare function isStudioUser(user: BaseUser): boolean;\nexport type { Filters as AuthFilters, EventValueMap as AuthEventValueMap, } from \"./types.js\";\nexport { HTTPException } from \"./error.js\";\n"],"mappings":";;;;cACqBO,sCAAsCH,iBAAiBA,8BAA8BE,WAAWD,WAAWG;;;AAAhI;;iBAA2DJ,EAAAA;IAAiBA,YAAAA,CAAAA,EAMrDJ,oBANqDI,CAMhCA,cANgCA,CAAAA;IAA8BE,SAAAA,CAAAA,EAOtFG,MAPsFH,CAAAA,MAAAA,EAOvEL,WAPuEK,CAAAA;;cAAWD,CAAAA,UAS1FD,cAT0FC,CAAAA,CAAAA,EAAAA,EAStEL,oBATsEK,CASjDK,CATiDL,CAAAA,CAAAA,EAS5CE,IAT4CF,CASvCM,MATuCN,EAS/BK,CAT+BL,CAAAA;KAMzED,UAI3BF,aAJ2BE,CAAAA,CAAAA,KAAAA,EAILM,CAJKN,EAAAA,QAAAA,EAIQD,UAJRC,CAImBM,CAJnBN,EAIsBQ,KAJtBR,CAAAA,CAAAA,EAAAA,IAAAA;;;;;;;;;;;AAILM,iBAWfG,YAAAA,CAXeH,IAAAA,EAWIJ,QAXJI,CAAAA,EAAAA,OAAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { HTTPException } from "./error.js";
|
|
2
|
+
|
|
3
|
+
//#region src/auth/index.ts
|
|
4
|
+
var Auth = class {
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
* @ignore
|
|
8
|
+
*/
|
|
9
|
+
"~handlerCache" = {};
|
|
10
|
+
authenticate(cb) {
|
|
11
|
+
this["~handlerCache"].authenticate = cb;
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
on(event, callback) {
|
|
15
|
+
this["~handlerCache"].callbacks ??= {};
|
|
16
|
+
const events = Array.isArray(event) ? event : [event];
|
|
17
|
+
for (const event$1 of events) this["~handlerCache"].callbacks[event$1] = callback;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Check if the provided user was provided by LangGraph Studio.
|
|
23
|
+
*
|
|
24
|
+
* By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.
|
|
25
|
+
* If you want, you can handle logged-in Studio users in a special way.
|
|
26
|
+
*
|
|
27
|
+
* @param user - The user to check
|
|
28
|
+
* @returns True if the user is a studio user, false otherwise
|
|
29
|
+
*/
|
|
30
|
+
function isStudioUser(user) {
|
|
31
|
+
if ("kind" in user && user.kind === "StudioUser") return true;
|
|
32
|
+
return user.identity === "langgraph-studio-user";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
export { Auth, HTTPException, isStudioUser };
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["event"],"sources":["../../src/auth/index.ts"],"sourcesContent":["import type {\n AuthenticateCallback,\n AnyCallback,\n CallbackEvent,\n OnCallback,\n BaseAuthReturn,\n ToUserLike,\n BaseUser,\n} from \"./types.js\";\n\nexport class Auth<\n TExtra = {}, // eslint-disable-line @typescript-eslint/ban-types\n TAuthReturn extends BaseAuthReturn = BaseAuthReturn,\n TUser extends BaseUser = ToUserLike<TAuthReturn>\n> {\n /**\n * @internal\n * @ignore\n */\n \"~handlerCache\": {\n authenticate?: AuthenticateCallback<BaseAuthReturn>;\n callbacks?: Record<string, AnyCallback>;\n } = {};\n\n authenticate<T extends BaseAuthReturn>(\n cb: AuthenticateCallback<T>\n ): Auth<TExtra, T> {\n this[\"~handlerCache\"].authenticate = cb;\n return this as unknown as Auth<TExtra, T>;\n }\n\n on<T extends CallbackEvent>(event: T, callback: OnCallback<T, TUser>): this {\n this[\"~handlerCache\"].callbacks ??= {};\n const events: string[] = Array.isArray(event) ? event : [event];\n for (const event of events) {\n this[\"~handlerCache\"].callbacks[event] = callback as AnyCallback;\n }\n return this;\n }\n}\n\n/**\n * Check if the provided user was provided by LangGraph Studio.\n *\n * By default, if you add custom authorization on your resources, this will also apply to interactions made from the Studio.\n * If you want, you can handle logged-in Studio users in a special way.\n *\n * @param user - The user to check\n * @returns True if the user is a studio user, false otherwise\n */\nexport function isStudioUser(user: BaseUser) {\n if (\"kind\" in user && user.kind === \"StudioUser\") return true;\n return user.identity === \"langgraph-studio-user\";\n}\n\nexport type {\n Filters as AuthFilters,\n EventValueMap as AuthEventValueMap,\n} from \"./types.js\";\nexport { HTTPException } from \"./error.js\";\n"],"mappings":";;;AAUA,IAAa,OAAb,MAIE;;;;;CAKA,kBAGI,EAAE;CAEN,aACE,IACiB;AACjB,OAAK,iBAAiB,eAAe;AACrC,SAAO;;CAGT,GAA4B,OAAU,UAAsC;AAC1E,OAAK,iBAAiB,cAAc,EAAE;EACtC,MAAM,SAAmB,MAAM,QAAQ,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC/D,OAAK,MAAMA,WAAS,OAClB,MAAK,iBAAiB,UAAUA,WAAS;AAE3C,SAAO;;;;;;;;;;;;AAaX,SAAgB,aAAa,MAAgB;AAC3C,KAAI,UAAU,QAAQ,KAAK,SAAS,aAAc,QAAO;AACzD,QAAO,KAAK,aAAa"}
|