experimental-agent 0.0.2 → 0.0.3

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 (57) hide show
  1. package/README.md +13 -2
  2. package/dist/agent-workflow.d.mts +11 -3
  3. package/dist/agent-workflow.d.ts +11 -3
  4. package/dist/agent-workflow.js +1921 -1144
  5. package/dist/agent-workflow.mjs +7 -3
  6. package/dist/chunk-3ODWQVIA.mjs +12 -0
  7. package/dist/chunk-64THY7Y7.mjs +155 -0
  8. package/dist/chunk-GSRJYPWF.mjs +284 -0
  9. package/dist/chunk-HJGPUEFC.mjs +42 -0
  10. package/dist/chunk-JEE2FQ4O.mjs +844 -0
  11. package/dist/chunk-TQRCSTCF.mjs +103 -0
  12. package/dist/chunk-UFVWOC5L.mjs +79 -0
  13. package/dist/chunk-VBLZWXVE.mjs +318 -0
  14. package/dist/chunk-ZASQBPOI.mjs +2057 -0
  15. package/dist/{types-DPXFq_r6.d.ts → client-BlSrVoPI.d.mts} +868 -31
  16. package/dist/{types-DPXFq_r6.d.mts → client-BlSrVoPI.d.ts} +868 -31
  17. package/dist/client-SREKHM6I.mjs +15 -0
  18. package/dist/client.d.mts +37 -0
  19. package/dist/client.d.ts +37 -0
  20. package/dist/client.js +58 -0
  21. package/dist/client.mjs +30 -0
  22. package/dist/{client-HUG4HT5L.mjs → handler-36FM5H35.mjs} +4 -5
  23. package/dist/index.d.mts +3 -4
  24. package/dist/index.d.ts +3 -4
  25. package/dist/index.js +3102 -1438
  26. package/dist/index.mjs +720 -147
  27. package/dist/lifecycle-workflow.d.mts +3 -10
  28. package/dist/lifecycle-workflow.d.ts +3 -10
  29. package/dist/lifecycle-workflow.js +170 -1246
  30. package/dist/lifecycle-workflow.mjs +5 -41
  31. package/dist/local-fs-handlers-P4WGW3QY.mjs +235 -0
  32. package/dist/next/loader.d.mts +14 -0
  33. package/dist/next/loader.d.ts +14 -0
  34. package/dist/next/loader.js +206 -0
  35. package/dist/next/loader.mjs +103 -0
  36. package/dist/next.d.mts +34 -0
  37. package/dist/next.d.ts +34 -0
  38. package/dist/next.js +329 -0
  39. package/dist/next.mjs +224 -0
  40. package/dist/process-manager-JAKAXROL.mjs +10 -0
  41. package/dist/{client-4Y3UPWFR.mjs → sandbox-QAPGBVYM.mjs} +4 -3
  42. package/dist/storage-Q376OZH3.mjs +20 -0
  43. package/dist/{vercel-2CFDMEHB.mjs → vercel-LLXAHKVJ.mjs} +3 -1
  44. package/dist/vercel-sdk-VHKEX2GQ.mjs +8 -0
  45. package/package.json +32 -19
  46. package/dist/chunk-24DJSI7C.mjs +0 -374
  47. package/dist/chunk-4RGMKC2M.mjs +0 -755
  48. package/dist/chunk-6ICYKNCC.mjs +0 -284
  49. package/dist/chunk-PGYYQ3WZ.mjs +0 -1088
  50. package/dist/client-BBpD9kKL.d.ts +0 -193
  51. package/dist/client-BGJViybU.d.mts +0 -193
  52. package/dist/lifecycle-workflow-steps-HHN46ZAD.mjs +0 -20
  53. package/dist/local-BYPFRMLZ.mjs +0 -282
  54. package/dist/process-manager-H2HF6G4G.mjs +0 -153
  55. package/dist/sandbox-BFA4ECEQ.mjs +0 -10
  56. package/dist/storage-2U2QFNWI.mjs +0 -27
  57. /package/dist/{chunk-36X6L7SK.mjs → chunk-TAXLUVIC.mjs} +0 -0
package/dist/next.mjs ADDED
@@ -0,0 +1,224 @@
1
+ import {
2
+ package_default
3
+ } from "./chunk-UFVWOC5L.mjs";
4
+ import {
5
+ __require
6
+ } from "./chunk-3ODWQVIA.mjs";
7
+
8
+ // src/next/index.ts
9
+ import * as crypto from "node:crypto";
10
+ import * as fs from "node:fs";
11
+ import * as path from "node:path";
12
+ var PACKAGE_NAME = package_default.name;
13
+ var AGENT_PROTOCOL_VERSION = "v1";
14
+ var FILE_EXT_REGEX = /\.(ts|tsx|js|jsx)$/;
15
+ var AGENT_EXPORT_REGEX = /export\s+const\s+(\w+)\s*=\s*agent\s*\(/g;
16
+ var DEFAULT_WORKFLOW_DIRS = ["pages", "app", "src/pages", "src/app"];
17
+ function shortHash(str) {
18
+ let hash = 0;
19
+ for (let i = 0; i < str.length; i++) {
20
+ const char = str.charCodeAt(i);
21
+ hash = (hash << 5) - hash + char;
22
+ hash &= hash;
23
+ }
24
+ return Math.abs(hash).toString(36).slice(0, 6);
25
+ }
26
+ function getAppDir(cwd) {
27
+ const srcAppDir = path.join(cwd, "src", "app");
28
+ if (fs.existsSync(srcAppDir)) {
29
+ return "src/app";
30
+ }
31
+ return "app";
32
+ }
33
+ function detectAgents(cwd, debug) {
34
+ const agents = [];
35
+ const dirsToScan = [path.join(cwd, "src"), cwd];
36
+ function scanDir(dir) {
37
+ if (!fs.existsSync(dir)) {
38
+ return;
39
+ }
40
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
41
+ for (const entry of entries) {
42
+ const fullPath = path.join(dir, entry.name);
43
+ if (entry.isDirectory() && !entry.name.startsWith(".") && entry.name !== "node_modules" && entry.name !== "src") {
44
+ scanDir(fullPath);
45
+ } else if (entry.isFile() && FILE_EXT_REGEX.test(entry.name)) {
46
+ try {
47
+ const content = fs.readFileSync(fullPath, "utf-8");
48
+ if (content.includes(PACKAGE_NAME) && content.includes("agent(")) {
49
+ const exportMatches = content.matchAll(AGENT_EXPORT_REGEX);
50
+ for (const match of exportMatches) {
51
+ agents.push({
52
+ exportName: match[1],
53
+ filePath: fullPath,
54
+ uniqueId: ""
55
+ // Will be set after all agents are found
56
+ });
57
+ if (debug) {
58
+ console.log(
59
+ `[withAgent] Found agent: ${match[1]} in ${fullPath}`
60
+ );
61
+ }
62
+ }
63
+ }
64
+ } catch {
65
+ }
66
+ }
67
+ }
68
+ }
69
+ for (const dir of dirsToScan) {
70
+ scanDir(dir);
71
+ }
72
+ const nameCounts = /* @__PURE__ */ new Map();
73
+ for (const agent of agents) {
74
+ nameCounts.set(
75
+ agent.exportName,
76
+ (nameCounts.get(agent.exportName) || 0) + 1
77
+ );
78
+ }
79
+ for (const agent of agents) {
80
+ const count = nameCounts.get(agent.exportName) ?? 0;
81
+ if (count > 1) {
82
+ agent.uniqueId = `${agent.exportName}_${shortHash(agent.filePath)}`;
83
+ } else {
84
+ agent.uniqueId = agent.exportName;
85
+ }
86
+ }
87
+ return agents;
88
+ }
89
+ function generateAgentFiles(agents, outputDir, _cwd, debug) {
90
+ if (agents.length === 0) {
91
+ if (debug) {
92
+ console.log("[withAgent] No agents found, skipping generation");
93
+ }
94
+ return;
95
+ }
96
+ if (!fs.existsSync(outputDir)) {
97
+ fs.mkdirSync(outputDir, { recursive: true });
98
+ }
99
+ const rpcFunctions = agents.map((a) => {
100
+ let agentRelPath = path.relative(outputDir, a.filePath).replace(/\\/g, "/");
101
+ if (!agentRelPath.startsWith(".")) {
102
+ agentRelPath = `./${agentRelPath}`;
103
+ }
104
+ return `
105
+ export const ${a.uniqueId}Rpc = async (params) => {
106
+ "use step";
107
+ const { ${a.exportName} } = await import("${agentRelPath}");
108
+ const res = await ${a.exportName}.handler(params);
109
+ if (res instanceof Response) {
110
+ return res.json();
111
+ }
112
+ return res;
113
+ };`;
114
+ }).join("\n");
115
+ const initFunctions = agents.map(
116
+ (a) => `
117
+ export function __init${a.exportName[0].toUpperCase()}${a.exportName.slice(
118
+ 1
119
+ )}(agent) {
120
+ agent.rpc = ${a.uniqueId}Rpc;
121
+ }`
122
+ ).join("\n");
123
+ const stepsContent = `// Auto-generated by withAgent - do not edit
124
+ ${rpcFunctions}
125
+ ${initFunctions}
126
+ `;
127
+ const stepsPath = path.join(outputDir, "steps.js");
128
+ fs.writeFileSync(stepsPath, stepsContent);
129
+ const routeContent = `// Auto-generated by withAgent - triggers workflow discovery
130
+ import "./steps.js";
131
+ export function GET() {
132
+ return new Response("ok");
133
+ }
134
+ `;
135
+ const routePath = path.join(outputDir, "route.js");
136
+ fs.writeFileSync(routePath, routeContent);
137
+ const gitignorePath = path.join(outputDir, ".gitignore");
138
+ if (!fs.existsSync(gitignorePath)) {
139
+ fs.writeFileSync(gitignorePath, "*\n");
140
+ }
141
+ if (debug) {
142
+ console.log(`[withAgent] Generated agent files at ${outputDir}`);
143
+ }
144
+ }
145
+ function withAgent(configOrFn, agentConfig) {
146
+ const debug = agentConfig?.debug ?? false;
147
+ const cwd = process.cwd();
148
+ const appDir = getAppDir(cwd);
149
+ const agentDir = `${appDir}/.well-known/agent/${AGENT_PROTOCOL_VERSION}`;
150
+ const agents = detectAgents(cwd, debug);
151
+ const outputDir = path.join(cwd, agentDir);
152
+ generateAgentFiles(agents, outputDir, cwd, debug);
153
+ const agentFilePaths = agents.map((a) => a.filePath);
154
+ const loaderPath = __require.resolve("./next/loader");
155
+ if (debug) {
156
+ console.log("[withAgent] loader path:", loaderPath);
157
+ console.log("[withAgent] agent files:", agentFilePaths);
158
+ console.log("[withAgent] agent dir:", agentDir);
159
+ }
160
+ const agentPathRegex = agentFilePaths.length > 0 ? new RegExp(
161
+ `${agentFilePaths.map(
162
+ (p) => path.relative(cwd, p).replace(/\\/g, "/").replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
163
+ ).join("|")}$`
164
+ ) : null;
165
+ let withWorkflow;
166
+ try {
167
+ withWorkflow = __require("workflow/next").withWorkflow;
168
+ } catch {
169
+ console.warn(
170
+ "[withAgent] workflow/next not found. Make sure workflow is installed."
171
+ );
172
+ return typeof configOrFn === "function" ? configOrFn : async () => configOrFn;
173
+ }
174
+ const baseConfigFn = withWorkflow(configOrFn, {
175
+ workflows: {
176
+ dirs: [...DEFAULT_WORKFLOW_DIRS, agentDir]
177
+ }
178
+ });
179
+ return async (phase, ctx) => {
180
+ const nextConfig = await baseConfigFn(phase, ctx);
181
+ if (!process.env.AGENT_SECRET) {
182
+ nextConfig.env = {
183
+ ...nextConfig.env,
184
+ AGENT_SECRET: crypto.randomUUID()
185
+ };
186
+ if (debug) {
187
+ console.log("[withAgent] Generated AGENT_SECRET");
188
+ }
189
+ }
190
+ if (!agentPathRegex || agentFilePaths.length === 0) {
191
+ return nextConfig;
192
+ }
193
+ const rules = nextConfig.turbopack?.rules || {};
194
+ for (const key of ["*.ts", "*.tsx", "*.js", "*.jsx"]) {
195
+ const existingRule = rules[key];
196
+ if (!existingRule) {
197
+ continue;
198
+ }
199
+ rules[key] = {
200
+ ...existingRule,
201
+ loaders: [loaderPath, ...existingRule.loaders || []],
202
+ condition: {
203
+ any: [existingRule.condition, { path: agentPathRegex }]
204
+ }
205
+ };
206
+ }
207
+ const existingWebpack = nextConfig.webpack;
208
+ nextConfig.webpack = (webpackConfig, context) => {
209
+ webpackConfig.module.rules.push({
210
+ test: (resourcePath) => agentFilePaths.includes(resourcePath),
211
+ use: [{ loader: loaderPath }]
212
+ });
213
+ return existingWebpack?.(webpackConfig, context) ?? webpackConfig;
214
+ };
215
+ if (debug) {
216
+ console.log("[withAgent] Added agent loader to turbopack rules");
217
+ }
218
+ return nextConfig;
219
+ };
220
+ }
221
+ export {
222
+ withAgent
223
+ };
224
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL25leHQvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tIFwibm9kZTpjcnlwdG9cIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB0eXBlIHsgTmV4dENvbmZpZyB9IGZyb20gXCJuZXh0XCI7XG5pbXBvcnQgcGtnIGZyb20gXCIuLi8uLi9wYWNrYWdlLmpzb25cIjtcblxuZXhwb3J0IHR5cGUgV2l0aEFnZW50Q29uZmlnID0ge1xuICAvKiogRW5hYmxlIGRlYnVnIGxvZ2dpbmcgKi9cbiAgZGVidWc/OiBib29sZWFuO1xufTtcblxuY29uc3QgUEFDS0FHRV9OQU1FID0gcGtnLm5hbWU7XG5jb25zdCBBR0VOVF9QUk9UT0NPTF9WRVJTSU9OID0gXCJ2MVwiO1xuY29uc3QgRklMRV9FWFRfUkVHRVggPSAvXFwuKHRzfHRzeHxqc3xqc3gpJC87XG5jb25zdCBBR0VOVF9FWFBPUlRfUkVHRVggPSAvZXhwb3J0XFxzK2NvbnN0XFxzKyhcXHcrKVxccyo9XFxzKmFnZW50XFxzKlxcKC9nO1xuY29uc3QgREVGQVVMVF9XT1JLRkxPV19ESVJTID0gW1wicGFnZXNcIiwgXCJhcHBcIiwgXCJzcmMvcGFnZXNcIiwgXCJzcmMvYXBwXCJdO1xuXG50eXBlIERldGVjdGVkQWdlbnQgPSB7XG4gIGV4cG9ydE5hbWU6IHN0cmluZztcbiAgZmlsZVBhdGg6IHN0cmluZztcbiAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyOiBleHBvcnROYW1lIG9yIGV4cG9ydE5hbWVfaGFzaCBpZiBkdXBsaWNhdGVzIGV4aXN0ICovXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBzaG9ydEhhc2goc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgaGFzaCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgIC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9CaXR3aXNlT3BlcmF0b3JzOiBpbnRlbnRpb25hbCBoYXNoIGNvbXB1dGF0aW9uXG4gICAgaGFzaCA9IChoYXNoIDw8IDUpIC0gaGFzaCArIGNoYXI7XG4gICAgLy8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0JpdHdpc2VPcGVyYXRvcnM6IGNvbnZlcnQgdG8gMzItYml0IGludGVnZXJcbiAgICBoYXNoICY9IGhhc2g7XG4gIH1cbiAgcmV0dXJuIE1hdGguYWJzKGhhc2gpLnRvU3RyaW5nKDM2KS5zbGljZSgwLCA2KTtcbn1cblxuLyoqXG4gKiBEZXRlY3RzIHdoZXRoZXIgdGhlIHByb2plY3QgdXNlcyBzcmMvYXBwIG9yIGFwcCBkaXJlY3Rvcnkgc3RydWN0dXJlLlxuICogUmV0dXJucyB0aGUgYXBwIGRpcmVjdG9yeSBwYXRoIHJlbGF0aXZlIHRvIGN3ZC5cbiAqL1xuZnVuY3Rpb24gZ2V0QXBwRGlyKGN3ZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgc3JjQXBwRGlyID0gcGF0aC5qb2luKGN3ZCwgXCJzcmNcIiwgXCJhcHBcIik7XG4gIGlmIChmcy5leGlzdHNTeW5jKHNyY0FwcERpcikpIHtcbiAgICByZXR1cm4gXCJzcmMvYXBwXCI7XG4gIH1cbiAgcmV0dXJuIFwiYXBwXCI7XG59XG5cbi8qKlxuICogU2NhbnMgZm9yIGFnZW50IGV4cG9ydHMgaW4gdGhlIHByb2plY3QuXG4gKi9cbmZ1bmN0aW9uIGRldGVjdEFnZW50cyhjd2Q6IHN0cmluZywgZGVidWc6IGJvb2xlYW4pOiBEZXRlY3RlZEFnZW50W10ge1xuICBjb25zdCBhZ2VudHM6IERldGVjdGVkQWdlbnRbXSA9IFtdO1xuXG4gIGNvbnN0IGRpcnNUb1NjYW4gPSBbcGF0aC5qb2luKGN3ZCwgXCJzcmNcIiksIGN3ZF07XG5cbiAgZnVuY3Rpb24gc2NhbkRpcihkaXI6IHN0cmluZykge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhkaXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZW50cmllcyA9IGZzLnJlYWRkaXJTeW5jKGRpciwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pO1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4oZGlyLCBlbnRyeS5uYW1lKTtcbiAgICAgIGlmIChcbiAgICAgICAgZW50cnkuaXNEaXJlY3RvcnkoKSAmJlxuICAgICAgICAhZW50cnkubmFtZS5zdGFydHNXaXRoKFwiLlwiKSAmJlxuICAgICAgICBlbnRyeS5uYW1lICE9PSBcIm5vZGVfbW9kdWxlc1wiICYmXG4gICAgICAgIGVudHJ5Lm5hbWUgIT09IFwic3JjXCJcbiAgICAgICkge1xuICAgICAgICBzY2FuRGlyKGZ1bGxQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAoZW50cnkuaXNGaWxlKCkgJiYgRklMRV9FWFRfUkVHRVgudGVzdChlbnRyeS5uYW1lKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZnVsbFBhdGgsIFwidXRmLThcIik7XG4gICAgICAgICAgaWYgKGNvbnRlbnQuaW5jbHVkZXMoUEFDS0FHRV9OQU1FKSAmJiBjb250ZW50LmluY2x1ZGVzKFwiYWdlbnQoXCIpKSB7XG4gICAgICAgICAgICBjb25zdCBleHBvcnRNYXRjaGVzID0gY29udGVudC5tYXRjaEFsbChBR0VOVF9FWFBPUlRfUkVHRVgpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBtYXRjaCBvZiBleHBvcnRNYXRjaGVzKSB7XG4gICAgICAgICAgICAgIGFnZW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBleHBvcnROYW1lOiBtYXRjaFsxXSxcbiAgICAgICAgICAgICAgICBmaWxlUGF0aDogZnVsbFBhdGgsXG4gICAgICAgICAgICAgICAgdW5pcXVlSWQ6IFwiXCIsIC8vIFdpbGwgYmUgc2V0IGFmdGVyIGFsbCBhZ2VudHMgYXJlIGZvdW5kXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBpZiAoZGVidWcpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgICAgIGBbd2l0aEFnZW50XSBGb3VuZCBhZ2VudDogJHttYXRjaFsxXX0gaW4gJHtmdWxsUGF0aH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSWdub3JlIHJlYWQgZXJyb3JzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IGRpciBvZiBkaXJzVG9TY2FuKSB7XG4gICAgc2NhbkRpcihkaXIpO1xuICB9XG5cbiAgLy8gQXNzaWduIHVuaXF1ZSBJRHMgLSBhZGQgaGFzaCBzdWZmaXggaWYgZHVwbGljYXRlIGV4cG9ydCBuYW1lcyBleGlzdFxuICBjb25zdCBuYW1lQ291bnRzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgZm9yIChjb25zdCBhZ2VudCBvZiBhZ2VudHMpIHtcbiAgICBuYW1lQ291bnRzLnNldChcbiAgICAgIGFnZW50LmV4cG9ydE5hbWUsXG4gICAgICAobmFtZUNvdW50cy5nZXQoYWdlbnQuZXhwb3J0TmFtZSkgfHwgMCkgKyAxXG4gICAgKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYWdlbnQgb2YgYWdlbnRzKSB7XG4gICAgY29uc3QgY291bnQgPSBuYW1lQ291bnRzLmdldChhZ2VudC5leHBvcnROYW1lKSA/PyAwO1xuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIGFnZW50LnVuaXF1ZUlkID0gYCR7YWdlbnQuZXhwb3J0TmFtZX1fJHtzaG9ydEhhc2goYWdlbnQuZmlsZVBhdGgpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFnZW50LnVuaXF1ZUlkID0gYWdlbnQuZXhwb3J0TmFtZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYWdlbnRzO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhbGwgYWdlbnQgZmlsZXMgaW4gLndlbGwta25vd24vYWdlbnQvdjEvOlxuICogLSBzdGVwcy5qczogUlBDIHN0ZXAgZnVuY3Rpb25zIHdpdGggXCJ1c2Ugc3RlcFwiXG4gKiAtIHJvdXRlLmpzOiB0cmlnZ2VycyB3b3JrZmxvdyBkaXNjb3ZlcnlcbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVBZ2VudEZpbGVzKFxuICBhZ2VudHM6IERldGVjdGVkQWdlbnRbXSxcbiAgb3V0cHV0RGlyOiBzdHJpbmcsXG4gIF9jd2Q6IHN0cmluZyxcbiAgZGVidWc6IGJvb2xlYW5cbik6IHZvaWQge1xuICBpZiAoYWdlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIGlmIChkZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBObyBhZ2VudHMgZm91bmQsIHNraXBwaW5nIGdlbmVyYXRpb25cIik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghZnMuZXhpc3RzU3luYyhvdXRwdXREaXIpKSB7XG4gICAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgc3RlcCBmdW5jdGlvbnMgdGhhdCB1c2UgZHluYW1pYyBpbXBvcnQuXG4gICAqIER5bmFtaWMgaW1wb3J0IGVuc3VyZXMgdGhlIGFnZW50IG1vZHVsZSBsb2FkcyAoaW5jbHVkaW5nIGxvYWRlci1pbmplY3RlZCBpbml0KVxuICAgKiB3aGVuIHRoZSBzdGVwIHJ1bnMgaW4gd29ya2Zsb3cgY29udGV4dCwgYXZvaWRpbmcgdGhlIFwibm90IGluaXRpYWxpemVkXCIgZXJyb3IuXG4gICAqXG4gICAqIFVzZXMgdW5pcXVlSWQgZm9yIGZ1bmN0aW9uIG5hbWVzIHRvIGhhbmRsZSBkdXBsaWNhdGUgZXhwb3J0IG5hbWVzIGFjcm9zcyBmaWxlcy5cbiAgICovXG4gIGNvbnN0IHJwY0Z1bmN0aW9ucyA9IGFnZW50c1xuICAgIC5tYXAoKGEpID0+IHtcbiAgICAgIC8vIENhbGN1bGF0ZSByZWxhdGl2ZSBwYXRoIGZyb20gc3RlcHMuanMgdG8gdGhlIGFnZW50IGZpbGVcbiAgICAgIGxldCBhZ2VudFJlbFBhdGggPSBwYXRoXG4gICAgICAgIC5yZWxhdGl2ZShvdXRwdXREaXIsIGEuZmlsZVBhdGgpXG4gICAgICAgIC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcblxuICAgICAgaWYgKCFhZ2VudFJlbFBhdGguc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgYWdlbnRSZWxQYXRoID0gYC4vJHthZ2VudFJlbFBhdGh9YDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGBcbmV4cG9ydCBjb25zdCAke2EudW5pcXVlSWR9UnBjID0gYXN5bmMgKHBhcmFtcykgPT4ge1xuICBcInVzZSBzdGVwXCI7XG4gIGNvbnN0IHsgJHthLmV4cG9ydE5hbWV9IH0gPSBhd2FpdCBpbXBvcnQoXCIke2FnZW50UmVsUGF0aH1cIik7XG4gIGNvbnN0IHJlcyA9IGF3YWl0ICR7YS5leHBvcnROYW1lfS5oYW5kbGVyKHBhcmFtcyk7XG4gIGlmIChyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkge1xuICAgIHJldHVybiByZXMuanNvbigpO1xuICB9XG4gIHJldHVybiByZXM7XG59O2A7XG4gICAgfSlcbiAgICAuam9pbihcIlxcblwiKTtcblxuICAvKipcbiAgICogSW5pdCBmdW5jdGlvbnMgd2lyZSB1cCBhZ2VudC5ycGMgaW4gdGhlIG1haW4gYXBwIGNvbnRleHQuXG4gICAqIFVzZXMgZXhwb3J0TmFtZSBmb3IgdGhlIGZ1bmN0aW9uIG5hbWUgKGxvYWRlciBtYXRjaGVzIGJ5IGV4cG9ydCBuYW1lKSxcbiAgICogYnV0IHJlZmVyZW5jZXMgdW5pcXVlSWQgZm9yIHRoZSBScGMgZnVuY3Rpb24uXG4gICAqL1xuICBjb25zdCBpbml0RnVuY3Rpb25zID0gYWdlbnRzXG4gICAgLm1hcChcbiAgICAgIChhKSA9PiBgXG5leHBvcnQgZnVuY3Rpb24gX19pbml0JHthLmV4cG9ydE5hbWVbMF0udG9VcHBlckNhc2UoKX0ke2EuZXhwb3J0TmFtZS5zbGljZShcbiAgICAgICAgMVxuICAgICAgKX0oYWdlbnQpIHtcbiAgYWdlbnQucnBjID0gJHthLnVuaXF1ZUlkfVJwYztcbn1gXG4gICAgKVxuICAgIC5qb2luKFwiXFxuXCIpO1xuXG4gIGNvbnN0IHN0ZXBzQ29udGVudCA9IGAvLyBBdXRvLWdlbmVyYXRlZCBieSB3aXRoQWdlbnQgLSBkbyBub3QgZWRpdFxuJHtycGNGdW5jdGlvbnN9XG4ke2luaXRGdW5jdGlvbnN9XG5gO1xuXG4gIGNvbnN0IHN0ZXBzUGF0aCA9IHBhdGguam9pbihvdXRwdXREaXIsIFwic3RlcHMuanNcIik7XG4gIGZzLndyaXRlRmlsZVN5bmMoc3RlcHNQYXRoLCBzdGVwc0NvbnRlbnQpO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSByb3V0ZS5qcyB0aGF0IGltcG9ydHMgc3RlcHMuanMuXG4gICAqIFRoaXMgZW5zdXJlcyB3b3JrZmxvdyBkaXNjb3ZlcnMgdGhlIFwidXNlIHN0ZXBcIiBmdW5jdGlvbnMuXG4gICAqIE5vIGFjdHVhbCBoYW5kbGVyIG5lZWRlZCAtIHN0b3JhZ2UgUlBDIHVzZXMgdGhlIHN0ZXAgZnVuY3Rpb24gZGlyZWN0bHkuXG4gICAqL1xuICBjb25zdCByb3V0ZUNvbnRlbnQgPSBgLy8gQXV0by1nZW5lcmF0ZWQgYnkgd2l0aEFnZW50IC0gdHJpZ2dlcnMgd29ya2Zsb3cgZGlzY292ZXJ5XG5pbXBvcnQgXCIuL3N0ZXBzLmpzXCI7XG5leHBvcnQgZnVuY3Rpb24gR0VUKCkge1xuICByZXR1cm4gbmV3IFJlc3BvbnNlKFwib2tcIik7XG59XG5gO1xuXG4gIGNvbnN0IHJvdXRlUGF0aCA9IHBhdGguam9pbihvdXRwdXREaXIsIFwicm91dGUuanNcIik7XG4gIGZzLndyaXRlRmlsZVN5bmMocm91dGVQYXRoLCByb3V0ZUNvbnRlbnQpO1xuXG4gIC8vIEFkZCAuZ2l0aWdub3JlXG4gIGNvbnN0IGdpdGlnbm9yZVBhdGggPSBwYXRoLmpvaW4ob3V0cHV0RGlyLCBcIi5naXRpZ25vcmVcIik7XG4gIGlmICghZnMuZXhpc3RzU3luYyhnaXRpZ25vcmVQYXRoKSkge1xuICAgIGZzLndyaXRlRmlsZVN5bmMoZ2l0aWdub3JlUGF0aCwgXCIqXFxuXCIpO1xuICB9XG5cbiAgaWYgKGRlYnVnKSB7XG4gICAgY29uc29sZS5sb2coYFt3aXRoQWdlbnRdIEdlbmVyYXRlZCBhZ2VudCBmaWxlcyBhdCAke291dHB1dERpcn1gKTtcbiAgfVxufVxuXG50eXBlIFR1cmJvcGFja1J1bGUgPSB7XG4gIGxvYWRlcnM/OiBzdHJpbmdbXTtcbiAgY29uZGl0aW9uPzoge1xuICAgIGFsbD86IHVua25vd25bXTtcbiAgICBhbnk/OiB1bmtub3duW107XG4gICAgcGF0aD86IFJlZ0V4cDtcbiAgICBjb250ZW50PzogUmVnRXhwO1xuICAgIG5vdD86IHVua25vd247XG4gIH07XG59O1xuXG50eXBlIFdvcmtmbG93Q29uZmlnRm4gPSAoXG4gIHBoYXNlOiBzdHJpbmcsXG4gIGN0eDogeyBkZWZhdWx0Q29uZmlnOiBOZXh0Q29uZmlnIH1cbikgPT4gUHJvbWlzZTxOZXh0Q29uZmlnPjtcblxudHlwZSBOZXh0Q29uZmlnSW5wdXQgPVxuICB8IE5leHRDb25maWdcbiAgfCAoKFxuICAgICAgcGhhc2U6IHN0cmluZyxcbiAgICAgIGN0eDogeyBkZWZhdWx0Q29uZmlnOiBOZXh0Q29uZmlnIH1cbiAgICApID0+IFByb21pc2U8TmV4dENvbmZpZz4pO1xuXG4vKipcbiAqIE5leHQuanMgcGx1Z2luIHRoYXQgY29uZmlndXJlcyBhZ2VudCBzdXBwb3J0LlxuICpcbiAqIC0gRGV0ZWN0cyBhZ2VudHMgYW5kIGdlbmVyYXRlcyBSUEMgc3RlcHMgd2l0aCBcInVzZSBzdGVwXCIgaW4gLndlbGwta25vd24vYWdlbnQvdjEvXG4gKiAtIEdlbmVyYXRlcyBBR0VOVF9TRUNSRVQgZm9yIHNlY3VyZSBSUEMgY2FsbHNcbiAqIC0gV3JhcHMgd2l0aFdvcmtmbG93IGZvciB3b3JrZmxvdyBzdXBwb3J0XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBuZXh0LmNvbmZpZy50c1xuICogaW1wb3J0IHsgd2l0aEFnZW50IH0gZnJvbSBcImV4cGVyaW1lbnRhbC1hZ2VudC9uZXh0XCI7XG4gKlxuICogLy8gT3B0aW9uIDE6IHdpdGhBZ2VudCBoYW5kbGVzIGV2ZXJ5dGhpbmcgKHJlY29tbWVuZGVkKVxuICogZXhwb3J0IGRlZmF1bHQgd2l0aEFnZW50KHt9KTtcbiAqXG4gKiAvLyBPcHRpb24gMjogQ29tcG9zZSB3aXRoIG90aGVyIHBsdWdpbnNcbiAqIGV4cG9ydCBkZWZhdWx0IHdpdGhBZ2VudCh3aXRoU29tZU90aGVyUGx1Z2luKHt9KSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhBZ2VudChcbiAgY29uZmlnT3JGbjogTmV4dENvbmZpZ0lucHV0LFxuICBhZ2VudENvbmZpZz86IFdpdGhBZ2VudENvbmZpZ1xuKTogV29ya2Zsb3dDb25maWdGbiB7XG4gIGNvbnN0IGRlYnVnID0gYWdlbnRDb25maWc/LmRlYnVnID8/IGZhbHNlO1xuICBjb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuXG4gIC8vIERldGVjdCBhcHAgZGlyZWN0b3J5IHN0cnVjdHVyZSAoc3JjL2FwcCB2cyBhcHApXG4gIGNvbnN0IGFwcERpciA9IGdldEFwcERpcihjd2QpO1xuICBjb25zdCBhZ2VudERpciA9IGAke2FwcERpcn0vLndlbGwta25vd24vYWdlbnQvJHtBR0VOVF9QUk9UT0NPTF9WRVJTSU9OfWA7XG5cbiAgLy8gRGV0ZWN0IGFnZW50cyBhbmQgZ2VuZXJhdGUgZmlsZXMgRklSU1QgKGJlZm9yZSB3b3JrZmxvdyBkaXNjb3ZlcnMgdGhlbSlcbiAgY29uc3QgYWdlbnRzID0gZGV0ZWN0QWdlbnRzKGN3ZCwgZGVidWcpO1xuICBjb25zdCBvdXRwdXREaXIgPSBwYXRoLmpvaW4oY3dkLCBhZ2VudERpcik7XG4gIGdlbmVyYXRlQWdlbnRGaWxlcyhhZ2VudHMsIG91dHB1dERpciwgY3dkLCBkZWJ1Zyk7XG5cbiAgY29uc3QgYWdlbnRGaWxlUGF0aHMgPSBhZ2VudHMubWFwKChhKSA9PiBhLmZpbGVQYXRoKTtcbiAgY29uc3QgbG9hZGVyUGF0aCA9IHJlcXVpcmUucmVzb2x2ZShcIi4vbmV4dC9sb2FkZXJcIik7XG5cbiAgaWYgKGRlYnVnKSB7XG4gICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBsb2FkZXIgcGF0aDpcIiwgbG9hZGVyUGF0aCk7XG4gICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBhZ2VudCBmaWxlczpcIiwgYWdlbnRGaWxlUGF0aHMpO1xuICAgIGNvbnNvbGUubG9nKFwiW3dpdGhBZ2VudF0gYWdlbnQgZGlyOlwiLCBhZ2VudERpcik7XG4gIH1cblxuICAvLyBCdWlsZCByZWdleCB0byBtYXRjaCBhZ2VudCBmaWxlIHBhdGhzXG4gIGNvbnN0IGFnZW50UGF0aFJlZ2V4ID1cbiAgICBhZ2VudEZpbGVQYXRocy5sZW5ndGggPiAwXG4gICAgICA/IG5ldyBSZWdFeHAoXG4gICAgICAgICAgYCR7YWdlbnRGaWxlUGF0aHNcbiAgICAgICAgICAgIC5tYXAoKHApID0+XG4gICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICAucmVsYXRpdmUoY3dkLCBwKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgXCJcXFxcJCZcIilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5qb2luKFwifFwiKX0kYFxuICAgICAgICApXG4gICAgICA6IG51bGw7XG5cbiAgLyoqXG4gICAqIEFsd2F5cyBwYXNzIHRocm91Z2ggd2l0aFdvcmtmbG93IC0gaXQgaGFuZGxlcyBib3RoIE5leHRDb25maWcgYW5kIGFzeW5jIGZ1bmN0aW9ucy5cbiAgICogVGhpcyBlbnN1cmVzIHdvcmtmbG93IGlzIGFsd2F5cyBjb25maWd1cmVkLCByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHVzZXIgcGFzc2VkLlxuICAgKi9cbiAgbGV0IHdpdGhXb3JrZmxvdzogKFxuICAgIGNvbmZpZzogTmV4dENvbmZpZ0lucHV0LFxuICAgIG9wdGlvbnM/OiB7IHdvcmtmbG93cz86IHsgZGlycz86IHN0cmluZ1tdIH0gfVxuICApID0+IFdvcmtmbG93Q29uZmlnRm47XG4gIHRyeSB7XG4gICAgd2l0aFdvcmtmbG93ID0gcmVxdWlyZShcIndvcmtmbG93L25leHRcIikud2l0aFdvcmtmbG93O1xuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBcIlt3aXRoQWdlbnRdIHdvcmtmbG93L25leHQgbm90IGZvdW5kLiBNYWtlIHN1cmUgd29ya2Zsb3cgaXMgaW5zdGFsbGVkLlwiXG4gICAgKTtcbiAgICByZXR1cm4gdHlwZW9mIGNvbmZpZ09yRm4gPT09IFwiZnVuY3Rpb25cIlxuICAgICAgPyBjb25maWdPckZuXG4gICAgICA6IGFzeW5jICgpID0+IGNvbmZpZ09yRm47XG4gIH1cblxuICBjb25zdCBiYXNlQ29uZmlnRm4gPSB3aXRoV29ya2Zsb3coY29uZmlnT3JGbiwge1xuICAgIHdvcmtmbG93czoge1xuICAgICAgZGlyczogWy4uLkRFRkFVTFRfV09SS0ZMT1dfRElSUywgYWdlbnREaXJdLFxuICAgIH0sXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSB3cmFwcGVyIHRoYXQgcnVucyBBRlRFUiB3b3JrZmxvdyBwcm9jZXNzZXMsIHRoZW4gYWRkcyBvdXIgbG9hZGVyLlxuICAgKiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHdvcmtmbG93IG92ZXJ3cml0ZXMgdHVyYm9wYWNrIHJ1bGVzIC0gd2UgbmVlZCB0b1xuICAgKiBtb2RpZnkgdGhlbSBhZnRlciB3b3JrZmxvdyBpcyBkb25lLlxuICAgKi9cbiAgcmV0dXJuIGFzeW5jIChwaGFzZSwgY3R4KSA9PiB7XG4gICAgY29uc3QgbmV4dENvbmZpZyA9IGF3YWl0IGJhc2VDb25maWdGbihwaGFzZSwgY3R4KTtcblxuICAgIC8vIFNldCB1cCBBR0VOVF9TRUNSRVQgaWYgbm90IGFscmVhZHkgc2V0XG4gICAgaWYgKCFwcm9jZXNzLmVudi5BR0VOVF9TRUNSRVQpIHtcbiAgICAgIG5leHRDb25maWcuZW52ID0ge1xuICAgICAgICAuLi5uZXh0Q29uZmlnLmVudixcbiAgICAgICAgQUdFTlRfU0VDUkVUOiBjcnlwdG8ucmFuZG9tVVVJRCgpLFxuICAgICAgfTtcbiAgICAgIGlmIChkZWJ1Zykge1xuICAgICAgICBjb25zb2xlLmxvZyhcIlt3aXRoQWdlbnRdIEdlbmVyYXRlZCBBR0VOVF9TRUNSRVRcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFhZ2VudFBhdGhSZWdleCB8fCBhZ2VudEZpbGVQYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBuZXh0Q29uZmlnO1xuICAgIH1cblxuICAgIC8vIE1vZGlmeSB0dXJib3BhY2sgcnVsZXMgdG8gaW5jbHVkZSBvdXIgbG9hZGVyIGZvciBhZ2VudCBmaWxlc1xuICAgIGNvbnN0IHJ1bGVzID0gKG5leHRDb25maWcudHVyYm9wYWNrPy5ydWxlcyB8fCB7fSkgYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgVHVyYm9wYWNrUnVsZVxuICAgID47XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBbXCIqLnRzXCIsIFwiKi50c3hcIiwgXCIqLmpzXCIsIFwiKi5qc3hcIl0pIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUnVsZSA9IHJ1bGVzW2tleV07XG4gICAgICBpZiAoIWV4aXN0aW5nUnVsZSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBXb3JrZmxvdydzIHJ1bGUgaGFzOiBjb25kaXRpb24uYWxsID0gW3sgbm90OiBwYXRoIH0sIHsgY29udGVudDogL3VzZSBzdGVwfC4uLi8gfV1cbiAgICAgICAqIFdlIHdhbnQ6IHJ1biBsb2FkZXIgaWYgd29ya2Zsb3cncyBjb25kaXRpb25zIG1hdGNoIE9SIGl0J3MgYW4gYWdlbnQgZmlsZS5cbiAgICAgICAqIFNvIHdlIHdyYXAgaW46IGNvbmRpdGlvbi5hbnkgPSBbZXhpc3RpbmdDb25kaXRpb24sIHsgcGF0aDogYWdlbnRQYXRoUmVnZXggfV1cbiAgICAgICAqL1xuICAgICAgcnVsZXNba2V5XSA9IHtcbiAgICAgICAgLi4uZXhpc3RpbmdSdWxlLFxuICAgICAgICBsb2FkZXJzOiBbbG9hZGVyUGF0aCwgLi4uKGV4aXN0aW5nUnVsZS5sb2FkZXJzIHx8IFtdKV0sXG4gICAgICAgIGNvbmRpdGlvbjoge1xuICAgICAgICAgIGFueTogW2V4aXN0aW5nUnVsZS5jb25kaXRpb24sIHsgcGF0aDogYWdlbnRQYXRoUmVnZXggfV0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEFsc28gY29uZmlndXJlIHdlYnBhY2sgZm9yIG5vbi10dXJib3BhY2sgYnVpbGRzXG4gICAgY29uc3QgZXhpc3RpbmdXZWJwYWNrID0gbmV4dENvbmZpZy53ZWJwYWNrO1xuICAgIG5leHRDb25maWcud2VicGFjayA9ICh3ZWJwYWNrQ29uZmlnLCBjb250ZXh0KSA9PiB7XG4gICAgICB3ZWJwYWNrQ29uZmlnLm1vZHVsZS5ydWxlcy5wdXNoKHtcbiAgICAgICAgdGVzdDogKHJlc291cmNlUGF0aDogc3RyaW5nKSA9PiBhZ2VudEZpbGVQYXRocy5pbmNsdWRlcyhyZXNvdXJjZVBhdGgpLFxuICAgICAgICB1c2U6IFt7IGxvYWRlcjogbG9hZGVyUGF0aCB9XSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nV2VicGFjaz8uKHdlYnBhY2tDb25maWcsIGNvbnRleHQpID8/IHdlYnBhY2tDb25maWc7XG4gICAgfTtcblxuICAgIGlmIChkZWJ1Zykge1xuICAgICAgY29uc29sZS5sb2coXCJbd2l0aEFnZW50XSBBZGRlZCBhZ2VudCBsb2FkZXIgdG8gdHVyYm9wYWNrIHJ1bGVzXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0Q29uZmlnO1xuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7QUFBQSxZQUFZLFlBQVk7QUFDeEIsWUFBWSxRQUFRO0FBQ3BCLFlBQVksVUFBVTtBQVN0QixJQUFNLGVBQWUsZ0JBQUk7QUFDekIsSUFBTSx5QkFBeUI7QUFDL0IsSUFBTSxpQkFBaUI7QUFDdkIsSUFBTSxxQkFBcUI7QUFDM0IsSUFBTSx3QkFBd0IsQ0FBQyxTQUFTLE9BQU8sYUFBYSxTQUFTO0FBU3JFLFNBQVMsVUFBVSxLQUFxQjtBQUN0QyxNQUFJLE9BQU87QUFDWCxXQUFTLElBQUksR0FBRyxJQUFJLElBQUksUUFBUSxLQUFLO0FBQ25DLFVBQU0sT0FBTyxJQUFJLFdBQVcsQ0FBQztBQUU3QixZQUFRLFFBQVEsS0FBSyxPQUFPO0FBRTVCLFlBQVE7QUFBQSxFQUNWO0FBQ0EsU0FBTyxLQUFLLElBQUksSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQy9DO0FBTUEsU0FBUyxVQUFVLEtBQXFCO0FBQ3RDLFFBQU0sWUFBaUIsVUFBSyxLQUFLLE9BQU8sS0FBSztBQUM3QyxNQUFPLGNBQVcsU0FBUyxHQUFHO0FBQzVCLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTztBQUNUO0FBS0EsU0FBUyxhQUFhLEtBQWEsT0FBaUM7QUFDbEUsUUFBTSxTQUEwQixDQUFDO0FBRWpDLFFBQU0sYUFBYSxDQUFNLFVBQUssS0FBSyxLQUFLLEdBQUcsR0FBRztBQUU5QyxXQUFTLFFBQVEsS0FBYTtBQUM1QixRQUFJLENBQUksY0FBVyxHQUFHLEdBQUc7QUFDdkI7QUFBQSxJQUNGO0FBRUEsVUFBTSxVQUFhLGVBQVksS0FBSyxFQUFFLGVBQWUsS0FBSyxDQUFDO0FBQzNELGVBQVcsU0FBUyxTQUFTO0FBQzNCLFlBQU0sV0FBZ0IsVUFBSyxLQUFL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
@@ -0,0 +1,10 @@
1
+ import {
2
+ DEFAULT_WAIT_UNTIL,
3
+ createProcessManager
4
+ } from "./chunk-64THY7Y7.mjs";
5
+ import "./chunk-3ODWQVIA.mjs";
6
+ export {
7
+ DEFAULT_WAIT_UNTIL,
8
+ createProcessManager
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  getSandbox
3
- } from "./chunk-4RGMKC2M.mjs";
4
- import "./chunk-6ICYKNCC.mjs";
5
- import "./chunk-24DJSI7C.mjs";
3
+ } from "./chunk-JEE2FQ4O.mjs";
4
+ import "./chunk-TQRCSTCF.mjs";
5
+ import "./chunk-HJGPUEFC.mjs";
6
+ import "./chunk-3ODWQVIA.mjs";
6
7
  export {
7
8
  getSandbox
8
9
  };
@@ -0,0 +1,20 @@
1
+ import "./chunk-TAXLUVIC.mjs";
2
+ import {
3
+ STORAGE_RPC_METHODS,
4
+ handleStorageRpc
5
+ } from "./chunk-VBLZWXVE.mjs";
6
+ import {
7
+ DEFAULT_NAMESPACE,
8
+ LOCAL_STORAGE_VERSION,
9
+ getStorage
10
+ } from "./chunk-GSRJYPWF.mjs";
11
+ import "./chunk-HJGPUEFC.mjs";
12
+ import "./chunk-3ODWQVIA.mjs";
13
+ export {
14
+ DEFAULT_NAMESPACE,
15
+ LOCAL_STORAGE_VERSION,
16
+ STORAGE_RPC_METHODS,
17
+ getStorage,
18
+ handleStorageRpc
19
+ };
20
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,3 +1,5 @@
1
+ import "./chunk-3ODWQVIA.mjs";
2
+
1
3
  // src/storage/bindings/vercel.ts
2
4
  var VERCEL_STORAGE_URL = "https://agent-sdk-storage-nine.labs.vercel.dev/api/storage";
3
5
  async function getVercelStorageConfig() {
@@ -15,4 +17,4 @@ async function getVercelStorageConfig() {
15
17
  export {
16
18
  getVercelStorageConfig
17
19
  };
18
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3N0b3JhZ2UvYmluZGluZ3MvdmVyY2VsLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBWRVJDRUxfU1RPUkFHRV9VUkwgPVxuICBcImh0dHBzOi8vYWdlbnQtc2RrLXN0b3JhZ2UtbmluZS5sYWJzLnZlcmNlbC5kZXYvYXBpL3N0b3JhZ2VcIjtcblxuZXhwb3J0IHR5cGUgVmVyY2VsU3RvcmFnZUNvbmZpZyA9IHtcbiAgdXJsOiBzdHJpbmc7XG4gIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmVyY2VsU3RvcmFnZUNvbmZpZygpOiBQcm9taXNlPFZlcmNlbFN0b3JhZ2VDb25maWc+IHtcbiAgbGV0IHRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICB0cnkge1xuICAgIGNvbnN0IHsgZ2V0VmVyY2VsT2lkY1Rva2VuIH0gPSBhd2FpdCBpbXBvcnQoXCJAdmVyY2VsL29pZGNcIik7XG4gICAgdG9rZW4gPSBhd2FpdCBnZXRWZXJjZWxPaWRjVG9rZW4oKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gT0lEQyBub3QgYXZhaWxhYmxlIChsb2NhbCBkZXYsIG5vbi1WZXJjZWwgZW52aXJvbm1lbnQpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHVybDogVkVSQ0VMX1NUT1JBR0VfVVJMLFxuICAgIGhlYWRlcnM6IHRva2VuID8geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IDoge30sXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUEsSUFBTSxxQkFDSjtBQU9GLGVBQXNCLHlCQUF1RDtBQUMzRSxNQUFJLFFBQXVCO0FBRTNCLE1BQUk7QUFDRixVQUFNLEVBQUUsbUJBQW1CLElBQUksTUFBTSxPQUFPLGNBQWM7QUFDMUQsWUFBUSxNQUFNLG1CQUFtQjtBQUFBLEVBQ25DLFFBQVE7QUFBQSxFQUVSO0FBRUEsU0FBTztBQUFBLElBQ0wsS0FBSztBQUFBLElBQ0wsU0FBUyxRQUFRLEVBQUUsZUFBZSxVQUFVLEtBQUssR0FBRyxJQUFJLENBQUM7QUFBQSxFQUMzRDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
20
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3N0b3JhZ2UvYmluZGluZ3MvdmVyY2VsLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBWRVJDRUxfU1RPUkFHRV9VUkwgPVxuICBcImh0dHBzOi8vYWdlbnQtc2RrLXN0b3JhZ2UtbmluZS5sYWJzLnZlcmNlbC5kZXYvYXBpL3N0b3JhZ2VcIjtcblxuZXhwb3J0IHR5cGUgVmVyY2VsU3RvcmFnZUNvbmZpZyA9IHtcbiAgdXJsOiBzdHJpbmc7XG4gIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmVyY2VsU3RvcmFnZUNvbmZpZygpOiBQcm9taXNlPFZlcmNlbFN0b3JhZ2VDb25maWc+IHtcbiAgbGV0IHRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICB0cnkge1xuICAgIGNvbnN0IHsgZ2V0VmVyY2VsT2lkY1Rva2VuIH0gPSBhd2FpdCBpbXBvcnQoXCJAdmVyY2VsL29pZGNcIik7XG4gICAgdG9rZW4gPSBhd2FpdCBnZXRWZXJjZWxPaWRjVG9rZW4oKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gT0lEQyBub3QgYXZhaWxhYmxlIChsb2NhbCBkZXYsIG5vbi1WZXJjZWwgZW52aXJvbm1lbnQpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHVybDogVkVSQ0VMX1NUT1JBR0VfVVJMLFxuICAgIGhlYWRlcnM6IHRva2VuID8geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9IDoge30sXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7QUFBQSxJQUFNLHFCQUNKO0FBT0YsZUFBc0IseUJBQXVEO0FBQzNFLE1BQUksUUFBdUI7QUFFM0IsTUFBSTtBQUNGLFVBQU0sRUFBRSxtQkFBbUIsSUFBSSxNQUFNLE9BQU8sY0FBYztBQUMxRCxZQUFRLE1BQU0sbUJBQW1CO0FBQUEsRUFDbkMsUUFBUTtBQUFBLEVBRVI7QUFFQSxTQUFPO0FBQUEsSUFDTCxLQUFLO0FBQUEsSUFDTCxTQUFTLFFBQVEsRUFBRSxlQUFlLFVBQVUsS0FBSyxHQUFHLElBQUksQ0FBQztBQUFBLEVBQzNEO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,8 @@
1
+ import "./chunk-3ODWQVIA.mjs";
2
+
3
+ // src/sandbox/bindings/vercel-sdk.ts
4
+ import { Sandbox } from "sandbox";
5
+ export {
6
+ Sandbox
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3NhbmRib3gvYmluZGluZ3MvdmVyY2VsLXNkay50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IHsgU2FuZGJveCB9IGZyb20gXCJzYW5kYm94XCI7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7QUFBQSxTQUFTLGVBQWU7IiwKICAibmFtZXMiOiBbXQp9Cg==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "experimental-agent",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -15,46 +15,59 @@
15
15
  "import": "./dist/index.mjs",
16
16
  "require": "./dist/index.js"
17
17
  },
18
- "./workflow": {
19
- "types": "./dist/workflow.d.ts",
20
- "import": "./dist/workflow.mjs",
21
- "require": "./dist/workflow.js"
18
+ "./next": {
19
+ "types": "./dist/next.d.ts",
20
+ "import": "./dist/next.mjs",
21
+ "require": "./dist/next.js"
22
+ },
23
+ "./next/loader": {
24
+ "types": "./dist/next/loader.d.ts",
25
+ "import": "./dist/next/loader.mjs",
26
+ "require": "./dist/next/loader.js"
27
+ },
28
+ "./client": {
29
+ "types": "./dist/client.d.ts",
30
+ "import": "./dist/client.mjs",
31
+ "require": "./dist/client.js"
22
32
  }
23
33
  },
24
- "scripts": {
25
- "build": "tsup",
26
- "dev": "tsup --watch",
27
- "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
28
- "publish": "pnpm build && npm publish",
29
- "typecheck": "tsc --noEmit",
30
- "test": "vitest run",
31
- "test:watch": "vitest"
32
- },
33
34
  "dependencies": {
34
35
  "@hono/node-server": "^1.19.9",
36
+ "@swc/core": "^1.10.0",
35
37
  "@vercel/oidc": "^3.1.0",
36
38
  "better-all": "^0.0.5",
37
39
  "errore": "^0.8.2",
38
40
  "fast-deep-equal": "^3.1.3",
41
+ "glob": "^11.0.0",
39
42
  "hono": "^4.11.6",
40
43
  "sandbox": "^1.0.18",
41
44
  "ulid": "^3.0.2",
42
45
  "zod": "^4.3.6"
43
46
  },
44
47
  "devDependencies": {
45
- "@agent/tsconfig": "workspace:*",
46
48
  "@types/node": "^20.11.24",
47
- "ai": "^6.0.33",
48
49
  "dotenv": "^17.2.3",
50
+ "next": "^16.0.0",
49
51
  "tsup": "^8.0.2",
50
52
  "type-fest": "^5.4.2",
51
53
  "typescript": "5.5.4",
52
- "vitest": "^3.0.0"
54
+ "vitest": "^3.0.0",
55
+ "@agent/tsconfig": "0.0.0"
53
56
  },
54
57
  "peerDependencies": {
55
- "workflow": "^4.0.1-beta.44"
58
+ "ai": "^6.0.0",
59
+ "workflow": "https://workflow-docs-7evupb64d.vercel.sh/workflow.tgz"
56
60
  },
57
61
  "publishConfig": {
58
62
  "access": "public"
63
+ },
64
+ "scripts": {
65
+ "build": "tsup",
66
+ "dev": "tsup --watch",
67
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
68
+ "release": "pnpm build && npm publish",
69
+ "typecheck": "tsc --noEmit",
70
+ "test": "vitest run",
71
+ "test:watch": "vitest"
59
72
  }
60
- }
73
+ }