reflex-agent 0.8.0 → 0.9.1
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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +89 -89
- package/.next/app-path-routes-manifest.json +6 -6
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +7 -7
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/agents/[agentId]/page.js +3 -3
- package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
- package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/[agentId]/respond/route.js +2 -2
- package/.next/server/app/api/agents/[agentId]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/callback/route.js +2 -2
- package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +2 -2
- package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +2 -2
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +3 -3
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
- package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
- package/.next/server/app/api/roots/[id]/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +2 -2
- package/.next/server/app/api/utilities/[scope]/[id]/host/route.js.nft.json +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
- package/.next/server/app/audit/page.js +1 -1
- package/.next/server/app/audit/page.js.nft.json +1 -1
- package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding/page.js +3 -3
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +3 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -2
- package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
- package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/page.js +4 -4
- package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
- package/.next/server/app/roots/[id]/workflows/[wfId]/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/[id]/workflows/page.js +1 -1
- package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
- package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roots/new/page.js +3 -3
- package/.next/server/app/roots/new/page.js.nft.json +1 -1
- package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +4 -4
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/share/[id]/file/page.js +1 -1
- package/.next/server/app/share/[id]/file/page.js.nft.json +1 -1
- package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
- package/.next/server/app/share/[id]/page.js +2 -2
- package/.next/server/app/share/[id]/page.js.nft.json +1 -1
- package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
- package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
- package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/utilities/page.js +2 -2
- package/.next/server/app/utilities/page.js.nft.json +1 -1
- package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +6 -6
- package/.next/server/chunks/1105.js +1 -1
- package/.next/server/chunks/126.js +4 -0
- package/.next/server/chunks/{3152.js → 1358.js} +1 -1
- package/.next/server/chunks/1769.js +4 -0
- package/.next/server/chunks/{6822.js → 2143.js} +1 -1
- package/.next/server/chunks/2485.js +2 -2
- package/.next/server/chunks/2787.js +1 -0
- package/.next/server/chunks/285.js +52 -19
- package/.next/server/chunks/3332.js +1 -1
- package/.next/server/chunks/3749.js +1 -0
- package/.next/server/chunks/3775.js +1 -0
- package/.next/server/chunks/3834.js +1 -0
- package/.next/server/chunks/4031.js +2 -2
- package/.next/server/chunks/445.js +3 -0
- package/.next/server/chunks/4812.js +1 -1
- package/.next/server/chunks/4925.js +1 -1
- package/.next/server/chunks/539.js +1 -1
- package/.next/server/chunks/5844.js +1 -0
- package/.next/server/chunks/6326.js +4 -0
- package/.next/server/chunks/6483.js +2 -2
- package/.next/server/chunks/7220.js +1 -0
- package/.next/server/chunks/7358.js +52 -19
- package/.next/server/chunks/8576.js +7 -0
- package/.next/server/chunks/9098.js +1 -1
- package/.next/server/chunks/9179.js +7 -0
- package/.next/server/chunks/9617.js +1 -0
- package/.next/server/functions-config-manifest.json +2 -2
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/2390-079e9ccc8bd20e63.js +1 -0
- package/.next/static/chunks/4108.4e39a8f41278c35d.js +1 -0
- package/.next/static/chunks/5822-6d9ec5c9f0cc673f.js +1 -0
- package/.next/static/chunks/7703-d9e4d0e072aed92d.js +1 -0
- package/.next/static/chunks/8302-4918fb0ed8cc2283.js +1 -0
- package/.next/static/chunks/8336-e69c4adb375513c5.js +1 -0
- package/.next/static/chunks/app/layout-7e681a7d621e2e09.js +1 -0
- package/.next/static/chunks/app/onboarding/page-69bd037838f9e996.js +1 -0
- package/.next/static/chunks/app/page-ad10be3dfddf1726.js +1 -0
- package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-dc406db1caaa8b38.js +1 -0
- package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-b0ef88a66b2f0d1d.js +1 -0
- package/.next/static/chunks/app/roots/[id]/page-aa93ae31a8ee3c99.js +1 -0
- package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-4526b98999cca3ad.js +1 -0
- package/.next/static/chunks/app/roots/new/{page-dc4edb7f4cbc2441.js → page-03431339c6cd8f24.js} +1 -1
- package/.next/static/chunks/app/settings/page-a19a41e378e7d8a4.js +1 -0
- package/.next/static/chunks/app/share/[id]/page-f9087c14a67b4dcd.js +1 -0
- package/.next/static/chunks/app/utilities/[scope]/[id]/page-f57871e8c1ab1f72.js +1 -0
- package/.next/static/chunks/app/utilities/page-ca382ce386f0d77c.js +1 -0
- package/.next/static/chunks/{webpack-6f08731be9714ee4.js → webpack-274d59f6d4391442.js} +1 -1
- package/.next/trace +89 -89
- package/dist/lib/reflex/agents/prompts.js +45 -0
- package/dist/lib/reflex/agents/prompts.js.map +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/2920.js +0 -1
- package/.next/server/chunks/3151.js +0 -3
- package/.next/server/chunks/4197.js +0 -4
- package/.next/server/chunks/8872.js +0 -1
- package/.next/server/chunks/9637.js +0 -1
- package/.next/static/chunks/4108.aca4cb07ce9b3ed2.js +0 -1
- package/.next/static/chunks/4138-d787eac2eac9c9a8.js +0 -1
- package/.next/static/chunks/4847-a85e8d18ea0da09e.js +0 -1
- package/.next/static/chunks/527-c86224761908776e.js +0 -1
- package/.next/static/chunks/70-61c97afa667d1efe.js +0 -1
- package/.next/static/chunks/8270-8e72f6c35eb03ad2.js +0 -1
- package/.next/static/chunks/app/layout-c712136be28f3127.js +0 -1
- package/.next/static/chunks/app/onboarding/page-a4145c3e505dfe74.js +0 -1
- package/.next/static/chunks/app/page-6096902532dd6ec8.js +0 -1
- package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-b3d8e79a61db4bdc.js +0 -1
- package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-75d2a17f6f78a45d.js +0 -1
- package/.next/static/chunks/app/roots/[id]/page-6a9df2bb923bb1d3.js +0 -1
- package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-8a3c2c81fce5b020.js +0 -1
- package/.next/static/chunks/app/settings/page-df5f4911b7f3a2df.js +0 -1
- package/.next/static/chunks/app/share/[id]/page-050853f9974f0915.js +0 -1
- package/.next/static/chunks/app/utilities/[scope]/[id]/page-d5494af2daf1c38d.js +0 -1
- package/.next/static/chunks/app/utilities/page-3ee2dc6d66ad4154.js +0 -1
- /package/.next/static/{F56etct0NPc8KXiqqJQvx → Phb9nqftdL6MOVwBc0yAc}/_buildManifest.js +0 -0
- /package/.next/static/{F56etct0NPc8KXiqqJQvx → Phb9nqftdL6MOVwBc0yAc}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";exports.id=8576,exports.ids=[1769,6435,8576],exports.modules={11769:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{O:()=>l,createWorktree:()=>o,hasGhCli:()=>n,hasRemote:()=>m,isGitRepo:()=>k,listWorktrees:()=>s,mergeWorktree:()=>p,removeWorktree:()=>r});var e=c(7206),f=c(73024),g=c(76760),h=c.n(g),i=a([e]);e=(i.then?(await i)():i)[0];let w=h().join(".reflex","worktrees"),x=".reflex/worktrees/";async function j(a,b){let c=await (0,e.execa)("git",b,{cwd:a,timeout:3e4,reject:!1});return{stdout:"string"==typeof c.stdout?c.stdout:"",stderr:"string"==typeof c.stderr?c.stderr:"",code:"number"==typeof c.exitCode?c.exitCode:1}}async function k(a){let b=await j(a,["rev-parse","--is-inside-work-tree"]);return 0===b.code&&"true"===b.stdout.trim()}async function l(a){let b=await j(a,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);return 0===b.code&&b.stdout.trim()?b.stdout.trim().replace(/^origin\//,""):(await j(a,["rev-parse","--abbrev-ref","HEAD"])).stdout.trim()||"main"}async function m(a){let b=await j(a,["remote"]);return 0===b.code&&b.stdout.trim().length>0}async function n(){let a=await (0,e.execa)("gh",["--version"],{timeout:5e3,reject:!1});return"number"==typeof a.exitCode&&0===a.exitCode}async function o(a){if(!await k(a.rootPath))throw Error("createWorktree: project root is not a git repo");let b=h().join(a.rootPath,w,a.slug),c=a.baseRef??await l(a.rootPath);try{throw await f.promises.stat(b),Error(`createWorktree: ${b} already exists`)}catch(a){if("ENOENT"!==a.code)throw a}let d=await j(a.rootPath,["rev-parse","--verify",`refs/heads/${a.branch}`]);if(0===d.code)throw Error(`createWorktree: branch ${a.branch} already exists; remove it first`);await f.promises.mkdir(h().dirname(b),{recursive:!0});let e=await j(a.rootPath,["worktree","add","-b",a.branch,b,c]);if(0!==e.code)throw Error(`git worktree add failed (${e.code}): ${e.stderr.trim()||e.stdout.trim()}`);return await u(a.rootPath,b),await v(a.rootPath),{dir:b,branch:a.branch,baseRef:c}}async function p(a){let b=a.intoRef??await l(a.rootPath),c=(await j(a.rootPath,["rev-parse","--abbrev-ref","HEAD"])).stdout.trim(),d=await j(a.rootPath,["checkout",b]);if(0!==d.code)return{ok:!1,conflicts:[],error:`checkout ${b} failed: ${d.stderr.trim()}`};let e=!1===a.noFf?[]:["--no-ff"],f=await j(a.rootPath,["merge",...e,a.branch]);if(0!==f.code){let b=await q(a.rootPath);return{ok:!1,conflicts:b,error:f.stderr.trim()||f.stdout.trim()||"merge failed"}}return c&&c!==b&&await j(a.rootPath,["checkout",c]),{ok:!0,mergedInto:b}}async function q(a){let b=await j(a,["diff","--name-only","--diff-filter=U"]);return 0!==b.code?[]:b.stdout.split("\n").map(a=>a.trim()).filter(Boolean)}async function r(a){let b=h().join(a.rootPath,w,a.slug),c=a.force?["--force"]:[],d=await j(a.rootPath,["worktree","remove",...c,b]);if(0!==d.code)try{return await f.promises.stat(b),{ok:!1,error:d.stderr.trim()||d.stdout.trim()||"worktree remove failed"}}catch{}if(a.deleteBranch??!0){let b=a.force?"-D":"-d";await j(a.rootPath,["branch",b,a.branch])}return await j(a.rootPath,["worktree","prune"]),{ok:!0}}async function s(a){let b=await j(a,["worktree","list","--porcelain"]);if(0!==b.code)return[];let c=[],d=null;for(let e of b.stdout.split("\n")){let b=e.trimEnd();if(!b){d?.dir&&c.push(t(d,a)),d=null;continue}b.startsWith("worktree ")?(d?.dir&&c.push(t(d,a)),d={dir:b.slice(9)}):d&&(b.startsWith("HEAD ")?d.head=b.slice(5):b.startsWith("branch refs/heads/")?d.branch=b.slice(18):"detached"===b?d.detached=!0:"bare"===b&&(d.bare=!0))}return d?.dir&&c.push(t(d,a)),c}function t(a,b){return{dir:a.dir,...a.branch?{branch:a.branch}:{},head:a.head??"",detached:!!a.detached,bare:!!a.bare,isMain:h().resolve(a.dir)===h().resolve(b)}}async function u(a,b){let c=h().join(a,".reflex","memory");await f.promises.mkdir(h().dirname(c),{recursive:!0}),await f.promises.mkdir(h().join(b,".reflex"),{recursive:!0});let d=h().join(b,".reflex","memory");try{if((await f.promises.lstat(d)).isSymbolicLink()&&await f.promises.readlink(d)===c)return;await f.promises.rm(d,{recursive:!0,force:!0})}catch(a){if("ENOENT"!==a.code)throw a}await f.promises.symlink(c,d,"dir")}async function v(a){let b=h().join(a,".reflexignore"),c="";try{c=await f.promises.readFile(b,"utf8")}catch{}if(c.split("\n").map(a=>a.trim()).filter(Boolean).includes(x))return;let d=c?`${c.replace(/\n*$/,"")}
|
|
2
|
+
${x}
|
|
3
|
+
`:`${x}
|
|
4
|
+
`;await f.promises.writeFile(b,d,"utf8")}d()}catch(a){d(a)}})},16435:(a,b,c)=>{c.d(b,{U:()=>w});var d=c(29021),e=c(21820),f=c(33873),g=c(79646),h=c(4984),i=c(8086);async function j(a){var b;if(void 0===a)return{cleanup:async()=>{}};if(!("object"==typeof(b=a)&&null!==b&&!Array.isArray(b)))throw Error("outputSchema must be a plain JSON object");let c=await d.promises.mkdtemp(f.join(e.tmpdir(),"codex-output-schema-")),g=f.join(c,"schema.json"),h=async()=>{try{await d.promises.rm(c,{recursive:!0,force:!0})}catch{}};try{return await d.promises.writeFile(g,JSON.stringify(a),"utf8"),{schemaPath:g,cleanup:h}}catch(a){throw await h(),a}}var k=class{_exec;_options;_id;_threadOptions;get id(){return this._id}constructor(a,b,c,d=null){this._exec=a,this._options=b,this._id=d,this._threadOptions=c}async runStreamed(a,b={}){return{events:this.runStreamedInternal(a,b)}}async *runStreamedInternal(a,b={}){let{schemaPath:c,cleanup:d}=await j(b.outputSchema),e=this._threadOptions,{prompt:f,images:g}=function(a){if("string"==typeof a)return{prompt:a,images:[]};let b=[],c=[];for(let d of a)"text"===d.type?b.push(d.text):"local_image"===d.type&&c.push(d.path);return{prompt:b.join("\n\n"),images:c}}(a),h=this._exec.run({input:f,baseUrl:this._options.baseUrl,apiKey:this._options.apiKey,threadId:this._id,images:g,model:e?.model,sandboxMode:e?.sandboxMode,workingDirectory:e?.workingDirectory,skipGitRepoCheck:e?.skipGitRepoCheck,outputSchemaFile:c,modelReasoningEffort:e?.modelReasoningEffort,signal:b.signal,networkAccessEnabled:e?.networkAccessEnabled,webSearchMode:e?.webSearchMode,webSearchEnabled:e?.webSearchEnabled,approvalPolicy:e?.approvalPolicy,additionalDirectories:e?.additionalDirectories});try{for await(let a of h){let b;try{b=JSON.parse(a)}catch(b){throw Error(`Failed to parse item: ${a}`,{cause:b})}"thread.started"===b.type&&(this._id=b.thread_id),yield b}}finally{await d()}}async run(a,b={}){let c=this.runStreamedInternal(a,b),d=[],e="",f=null,g=null;for await(let a of c)if("item.completed"===a.type)"agent_message"===a.item.type&&(e=a.item.text),d.push(a.item);else if("turn.completed"===a.type)f=a.usage;else if("turn.failed"===a.type){g=a.error;break}if(g)throw Error(g.message);return{items:d,finalResponse:e,usage:f}}},l="CODEX_INTERNAL_ORIGINATOR_OVERRIDE",m="@openai/codex",n={"x86_64-unknown-linux-musl":"@openai/codex-linux-x64","aarch64-unknown-linux-musl":"@openai/codex-linux-arm64","x86_64-apple-darwin":"@openai/codex-darwin-x64","aarch64-apple-darwin":"@openai/codex-darwin-arm64","x86_64-pc-windows-msvc":"@openai/codex-win32-x64","aarch64-pc-windows-msvc":"@openai/codex-win32-arm64"},o=(0,i.createRequire)("file:///home/runner/work/reflex-agent/reflex-agent/node_modules/.pnpm/@openai+codex-sdk@0.133.0/node_modules/@openai/codex-sdk/dist/index.js"),p=class{executablePath;pathDirs;envOverride;configOverrides;constructor(a=null,b,c){if(a)this.executablePath=a,this.pathDirs=[];else{let a=function(){let a,{platform:b,arch:c}=process,d=null;switch(b){case"linux":case"android":switch(c){case"x64":d="x86_64-unknown-linux-musl";break;case"arm64":d="aarch64-unknown-linux-musl"}break;case"darwin":switch(c){case"x64":d="x86_64-apple-darwin";break;case"arm64":d="aarch64-apple-darwin"}break;case"win32":switch(c){case"x64":d="x86_64-pc-windows-msvc";break;case"arm64":d="aarch64-pc-windows-msvc"}}if(!d)throw Error(`Unsupported platform: ${b} (${c})`);let e=n[d];if(!e)throw Error(`Unsupported target triple: ${d}`);try{let b=o.resolve(`${m}/package.json`),c=(0,i.createRequire)(b).resolve(`${e}/package.json`);a=f.join(f.dirname(c),"vendor")}catch{throw Error(`Unable to locate Codex CLI binaries. Ensure ${m} is installed with optional dependencies.`)}let g=function(a,b,c){let d=f.join(a,b),e=f.join(d,"bin",c);if(u(e)&&u(f.join(d,"codex-package.json")))return{executablePath:e,pathDirs:t(f.join(d,"codex-path"))};let g=f.join(d,"codex",c);return u(g)?{executablePath:g,pathDirs:t(f.join(d,"path"))}:null}(a,d,"win32"===process.platform?"codex.exe":"codex");if(!g)throw Error(`Unable to locate Codex CLI binaries for ${d}. Ensure ${m} is installed with optional dependencies.`);return g}();this.executablePath=a.executablePath,this.pathDirs=a.pathDirs}this.envOverride=b,this.configOverrides=c}async *run(a){let b=["exec","--experimental-json"];if(this.configOverrides)for(let a of function(a){let b=[];return function a(b,c,d){if(!s(b))if(c)return void d.push(`${c}=${q(b,c)}`);else throw Error("Codex config overrides must be a plain object");let e=Object.entries(b);if(c||0!==e.length){if(c&&0===e.length)return void d.push(`${c}={}`);for(let[b,f]of e){if(!b)throw Error("Codex config override keys must be non-empty strings");if(void 0===f)continue;let e=c?`${c}.${b}`:b;s(f)?a(f,e,d):d.push(`${e}=${q(f,e)}`)}}}(a,"",b),b}(this.configOverrides))b.push("--config",a);if(a.baseUrl&&b.push("--config",`openai_base_url=${q(a.baseUrl,"openai_base_url")}`),a.model&&b.push("--model",a.model),a.sandboxMode&&b.push("--sandbox",a.sandboxMode),a.workingDirectory&&b.push("--cd",a.workingDirectory),a.additionalDirectories?.length)for(let c of a.additionalDirectories)b.push("--add-dir",c);if(a.skipGitRepoCheck&&b.push("--skip-git-repo-check"),a.outputSchemaFile&&b.push("--output-schema",a.outputSchemaFile),a.modelReasoningEffort&&b.push("--config",`model_reasoning_effort="${a.modelReasoningEffort}"`),void 0!==a.networkAccessEnabled&&b.push("--config",`sandbox_workspace_write.network_access=${a.networkAccessEnabled}`),a.webSearchMode?b.push("--config",`web_search="${a.webSearchMode}"`):!0===a.webSearchEnabled?b.push("--config",'web_search="live"'):!1===a.webSearchEnabled&&b.push("--config",'web_search="disabled"'),a.approvalPolicy&&b.push("--config",`approval_policy="${a.approvalPolicy}"`),a.threadId&&b.push("resume",a.threadId),a.images?.length)for(let c of a.images)b.push("--image",c);let c={};if(this.envOverride)Object.assign(c,this.envOverride);else for(let[a,b]of Object.entries(process.env))void 0!==b&&(c[a]=b);c[l]||(c[l]="codex_sdk_ts"),a.apiKey&&(c.CODEX_API_KEY=a.apiKey),this.pathDirs.length>0&&function(a,b,c=process.platform){let d=function(a,b){if("win32"!==b)return"PATH";let c=Object.keys(a).filter(a=>"path"===a.toLowerCase());return c.includes("Path")?"Path":c.at(-1)??"PATH"}(a,c);if("win32"===c)for(let b of Object.keys(a))"path"===b.toLowerCase()&&b!==d&&delete a[b];let e=(a[d]??"").split(f.delimiter).filter(a=>a.length>0&&!b.includes(a));a[d]=[...b,...e].join(f.delimiter)}(c,this.pathDirs);let d=(0,g.spawn)(this.executablePath,b,{env:c,signal:a.signal}),e=null;if(d.once("error",a=>e=a),!d.stdin)throw d.kill(),Error("Child process has no stdin");if(d.stdin.write(a.input),d.stdin.end(),!d.stdout)throw d.kill(),Error("Child process has no stdout");let i=[];d.stderr&&d.stderr.on("data",a=>{i.push(a)});let j=new Promise(a=>{d.once("exit",(b,c)=>{a({code:b,signal:c})})}),k=h.createInterface({input:d.stdout,crlfDelay:1/0});try{for await(let a of k)yield a;if(e)throw e;let{code:a,signal:b}=await j;if(0!==a||b){let c=Buffer.concat(i),d=b?`signal ${b}`:`code ${a??1}`;throw Error(`Codex Exec exited with ${d}: ${c.toString("utf8")}`)}}finally{k.close(),d.removeAllListeners();try{d.killed||d.kill()}catch{}}}};function q(a,b){if("string"==typeof a)return JSON.stringify(a);if("number"==typeof a){if(!Number.isFinite(a))throw Error(`Codex config override at ${b} must be a finite number`);return`${a}`}if("boolean"==typeof a)return a?"true":"false";if(Array.isArray(a)){let c=a.map((a,c)=>q(a,`${b}[${c}]`));return`[${c.join(", ")}]`}if(s(a)){let d=[];for(let[e,f]of Object.entries(a)){var c;if(!e)throw Error("Codex config override keys must be non-empty strings");void 0!==f&&d.push(`${r.test(c=e)?c:JSON.stringify(c)} = ${q(f,`${b}.${e}`)}`)}return`{${d.join(", ")}}`}else if(null===a)throw Error(`Codex config override at ${b} cannot be null`);else{let c=typeof a;throw Error(`Unsupported Codex config override value at ${b}: ${c}`)}}var r=/^[A-Za-z0-9_-]+$/;function s(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function t(...a){return a.filter(v)}function u(a){try{return(0,d.statSync)(a).isFile()}catch{return!1}}function v(a){try{return(0,d.statSync)(a).isDirectory()}catch{return!1}}var w=class{exec;options;constructor(a={}){let{codexPathOverride:b,env:c,config:d}=a;this.exec=new p(b,c,d),this.options=a}startThread(a={}){return new k(this.exec,this.options,a)}resumeThread(a,b={}){return new k(this.exec,this.options,b,a)}}},47742:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{dispatchTask:()=>n});var e=c(24576),f=c(17640),g=c(56843),h=c(31900),i=c(24058),j=c(2787),k=c(11769),l=c(75207),m=a([h,i,k]);async function n(a){let b=await (0,e.Zn)(a.rootId);if(!b)return{ok:!1,error:"root not found"};let c=await (0,j.getTask)(b.path,a.taskId);if(!c)return{ok:!1,error:"task not found"};if("in-progress"===c.status)return{ok:!1,error:"task already dispatched (topic "+c.topicId+")"};let d=l.Yj[c.type],i=await (0,f.M)(),m=i.assignments.chat,n=a.harness??c.agentRequested??m.harness,p=a.model??m.model,q=c.worktree;if(d.isCode&&!q&&await (0,k.isGitRepo)(b.path))try{let a=`task/${c.title.normalize("NFKD").toLowerCase().replace(/[^a-z0-9-/]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60)||c.id}`,d=await (0,k.O)(b.path);q=await (0,k.createWorktree)({rootPath:b.path,slug:c.id,branch:a,baseRef:d})}catch(a){return{ok:!1,error:"worktree create failed: "+(a instanceof Error?a.message:String(a))}}let r=[];for(let b of c.pre){let c=await o(a.rootId,b);c&&r.push(c)}let s=d.defaultSkill?`/skill ${d.defaultSkill}
|
|
5
|
+
|
|
6
|
+
`:"",t=[`${s}You are now working on task ${c.id}: "${c.title}".`,"","## Task description",c.body||"(no description)"];r.length>0&&t.push("","## Pre-task context (from hooks)",...r),q&&t.push("","## Working directory",`You are inside a git worktree at \`${q.dir}\` on branch \`${q.branch}\`. Commit changes here; main branch is untouched until the user clicks Merge.`),t.push("",'When done, mark the task as `done` via `<<reflex:task-update>>{"id":"'+c.id+'","status":"done"}<</reflex:task-update>>`.');let u=t.join("\n"),v=q?.dir??b.path,w=await (0,g.OY)({root:v,firstMessage:c.title,harness:n,model:p,language:i.language,taskId:c.id}),x=await (0,h.W)({rootId:a.rootId,topicId:w.meta.id,message:u,attachments:[]});return"error"in x?{ok:!1,error:x.error}:(await (0,j.updateTask)(b.path,c.id,{topicId:w.meta.id,agentRequested:n,worktree:q,status:"in-progress"}),{ok:!0,taskId:c.id,topicId:w.meta.id,...q?{worktree:{dir:q.dir,branch:q.branch}}:{}})}async function o(a,b){if("chat"===b.kind)return b.prompt??null;if("workflow"===b.kind&&b.id)try{let c=await (0,i.runWorkflow)(a,b.id);if(!c.ok)return null;let d=[];for(let a of c.run.steps){let b=a.output;null!=b&&d.push("string"==typeof b?b:JSON.stringify(b,null,2))}let e=d.join("\n\n").trim();return e?`### workflow:${b.id}
|
|
7
|
+
${e}`:null}catch{}return null}[h,i,k]=m.then?(await m)():m,d()}catch(a){d(a)}})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=9098,exports.ids=[9098],exports.modules={39098:(a,b,c)=>{c.d(b,{O1:()=>p,Gh:()=>q,AZ:()=>o,rD:()=>r,summarizeYoutubeAction:()=>n});var d=c(73745);c(66493);var e=c(70333);let f=globalThis.__reflexGeminiModelsCache??new Map;async function g(a){let b,c=await (0,e.CG)("gemini");if(!c)throw Error("Gemini API key not configured");let d=c.slice(0,16),g=f.get(d);if(!a?.refresh&&g&&Date.now()-g.fetchedAt<36e5)return g.models;let i=[];do{let a=new URL("https://generativelanguage.googleapis.com/v1beta/models");a.searchParams.set("key",c),a.searchParams.set("pageSize","100"),b&&a.searchParams.set("pageToken",b);let d=await fetch(a.toString(),{headers:{Accept:"application/json"}});if(!d.ok){let a=await d.text();throw Error(`models.list HTTP ${d.status}: ${a.slice(0,500)}`)}let e=await d.json();for(let a of e.models??[]){if(!a.name)continue;let b=a.supportedGenerationMethods??[];if(!b.includes("generateContent"))continue;let c=a.name.toLowerCase();!c.includes("embedding")&&(c.includes("aqa")||i.push({name:a.name,id:a.name.replace(/^models\//,""),...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{},supportedGenerationMethods:b}))}b=e.nextPageToken}while(b);return i.sort(h),f.set(d,{fetchedAt:Date.now(),models:i}),i}function h(a,b){let c=i(a.id),d=i(b.id);if(c!==d)return c-d;let e=j(a.id),f=j(b.id);return e!==f?f-e:a.id.localeCompare(b.id)}function i(a){return a.endsWith("flash-latest")?0:a.includes("flash")&&!a.includes("lite")?1:a.includes("flash-lite")?2:a.endsWith("pro-latest")||a.includes("pro")?3:4}function j(a){let b=/gemini-(\d+)\.(\d+)/.exec(a);return b?100*Number(b[1])+Number(b[2]):0}async function k(a="general"){let b=await (0,e.$L)("gemini");if("video"===a&&b?.videoModel)return b.videoModel;if(b?.model)return b.model;try{let a=await g();if(a.length>0)return a[0].id}catch{}return"gemini-flash-latest"}async function l(a){let b=`https://generativelanguage.googleapis.com/v1beta/models/${encodeURIComponent(a.model)}:generateContent?key=${encodeURIComponent(a.apiKey)}`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:a.contents,...a.generationConfig?{generationConfig:a.generationConfig}:{}})}),d=await c.text();if(!c.ok)throw Error(`Gemini HTTP ${c.status}: ${d.slice(0,800)}`);let e=JSON.parse(d);if(e.promptFeedback?.blockReason)throw Error(`Gemini blocked: ${e.promptFeedback.blockReason}`);return{text:(e.candidates??[]).flatMap(a=>a.content?.parts??[]).map(a=>a.text??"").filter(Boolean).join("\n").trim(),raw:e}}globalThis.__reflexGeminiModelsCache=f;var m=c(36017);async function n(a){var b;let c=await (0,e.CG)("gemini");if(!c)return{ok:!1,needsKey:!0,error:"Gemini API key is not saved — enter it to summarize videos."};let d=(await (0,m.M)()).language??"russian",f=a.prompt?.trim()||(b=d,/russ/i.test(b)||RegExp("рус","i").test(b)?"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (any memorable phrases) — with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway: the main point worth retaining.\n\nRespond in Russian, concisely. No filler.":"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (if any) with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway.\n\nBe concise. No filler."),g=a.modelOverride?.trim()||await k("video");try{let{text:b}=await l({model:g,apiKey:c,contents:[{parts:[{file_data:{file_uri:a.url,mime_type:"video/*"}},{text:f}]}]});if(!b)return{ok:!1,error:"Gemini returned an empty response — the video may be unavailable or private."};return{ok:!0,text:b,model:g}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function o(a){try{if(!a.trim())return{ok:!1,error:"API key is empty"};return await (0,e.Pc)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function p(a){return{ok:!0,present:await (0,e.hasApiKey)(a)}}async function q(a=!1){try{let b=await g({refresh:a});return{ok:!0,models:b.map(a=>({id:a.id,...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{}})),currentModel:await k("general"),currentVideoModel:await k("video")}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function r(a){try{return await (0,e.ND)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,c(63781).D)([n,o,p,q,r]),(0,d.A)(n,"
|
|
1
|
+
"use strict";exports.id=9098,exports.ids=[9098],exports.modules={39098:(a,b,c)=>{c.d(b,{O1:()=>p,Gh:()=>q,AZ:()=>o,rD:()=>r,summarizeYoutubeAction:()=>n});var d=c(73745);c(66493);var e=c(70333);let f=globalThis.__reflexGeminiModelsCache??new Map;async function g(a){let b,c=await (0,e.CG)("gemini");if(!c)throw Error("Gemini API key not configured");let d=c.slice(0,16),g=f.get(d);if(!a?.refresh&&g&&Date.now()-g.fetchedAt<36e5)return g.models;let i=[];do{let a=new URL("https://generativelanguage.googleapis.com/v1beta/models");a.searchParams.set("key",c),a.searchParams.set("pageSize","100"),b&&a.searchParams.set("pageToken",b);let d=await fetch(a.toString(),{headers:{Accept:"application/json"}});if(!d.ok){let a=await d.text();throw Error(`models.list HTTP ${d.status}: ${a.slice(0,500)}`)}let e=await d.json();for(let a of e.models??[]){if(!a.name)continue;let b=a.supportedGenerationMethods??[];if(!b.includes("generateContent"))continue;let c=a.name.toLowerCase();!c.includes("embedding")&&(c.includes("aqa")||i.push({name:a.name,id:a.name.replace(/^models\//,""),...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{},supportedGenerationMethods:b}))}b=e.nextPageToken}while(b);return i.sort(h),f.set(d,{fetchedAt:Date.now(),models:i}),i}function h(a,b){let c=i(a.id),d=i(b.id);if(c!==d)return c-d;let e=j(a.id),f=j(b.id);return e!==f?f-e:a.id.localeCompare(b.id)}function i(a){return a.endsWith("flash-latest")?0:a.includes("flash")&&!a.includes("lite")?1:a.includes("flash-lite")?2:a.endsWith("pro-latest")||a.includes("pro")?3:4}function j(a){let b=/gemini-(\d+)\.(\d+)/.exec(a);return b?100*Number(b[1])+Number(b[2]):0}async function k(a="general"){let b=await (0,e.$L)("gemini");if("video"===a&&b?.videoModel)return b.videoModel;if(b?.model)return b.model;try{let a=await g();if(a.length>0)return a[0].id}catch{}return"gemini-flash-latest"}async function l(a){let b=`https://generativelanguage.googleapis.com/v1beta/models/${encodeURIComponent(a.model)}:generateContent?key=${encodeURIComponent(a.apiKey)}`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:a.contents,...a.generationConfig?{generationConfig:a.generationConfig}:{}})}),d=await c.text();if(!c.ok)throw Error(`Gemini HTTP ${c.status}: ${d.slice(0,800)}`);let e=JSON.parse(d);if(e.promptFeedback?.blockReason)throw Error(`Gemini blocked: ${e.promptFeedback.blockReason}`);return{text:(e.candidates??[]).flatMap(a=>a.content?.parts??[]).map(a=>a.text??"").filter(Boolean).join("\n").trim(),raw:e}}globalThis.__reflexGeminiModelsCache=f;var m=c(36017);async function n(a){var b;let c=await (0,e.CG)("gemini");if(!c)return{ok:!1,needsKey:!0,error:"Gemini API key is not saved — enter it to summarize videos."};let d=(await (0,m.M)()).language??"russian",f=a.prompt?.trim()||(b=d,/russ/i.test(b)||RegExp("рус","i").test(b)?"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (any memorable phrases) — with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway: the main point worth retaining.\n\nRespond in Russian, concisely. No filler.":"Produce a structured summary of this YouTube video:\n\n1. One paragraph — what the video is about and who it's for.\n2. Main points as a bulleted list with `[mm:ss]` timestamps.\n3. Notable quotes (if any) with timestamps.\n4. If diagrams / slides / code are shown — briefly describe them.\n5. 1-3 sentence takeaway.\n\nBe concise. No filler."),g=a.modelOverride?.trim()||await k("video");try{let{text:b}=await l({model:g,apiKey:c,contents:[{parts:[{file_data:{file_uri:a.url,mime_type:"video/*"}},{text:f}]}]});if(!b)return{ok:!1,error:"Gemini returned an empty response — the video may be unavailable or private."};return{ok:!0,text:b,model:g}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function o(a){try{if(!a.trim())return{ok:!1,error:"API key is empty"};return await (0,e.Pc)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function p(a){return{ok:!0,present:await (0,e.hasApiKey)(a)}}async function q(a=!1){try{let b=await g({refresh:a});return{ok:!0,models:b.map(a=>({id:a.id,...a.displayName?{displayName:a.displayName}:{},...a.description?{description:a.description}:{},...void 0!==a.inputTokenLimit?{inputTokenLimit:a.inputTokenLimit}:{},...void 0!==a.outputTokenLimit?{outputTokenLimit:a.outputTokenLimit}:{}})),currentModel:await k("general"),currentVideoModel:await k("video")}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async function r(a){try{return await (0,e.ND)("gemini",a),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}(0,c(63781).D)([n,o,p,q,r]),(0,d.A)(n,"400cee8bc9aabdcab6946c78ffb8fbd71454a7b747",null),(0,d.A)(o,"40c2dbb278e7744fe1df22f6aa0ca5605b41851e55",null),(0,d.A)(p,"40801a345cf0e298a8983305ceadc201ef38301358",null),(0,d.A)(q,"40d6583c75298f90a2b28406dba182708ed3ddd00d",null),(0,d.A)(r,"40fbce6422975d723f99a5a0960c17304907cfed00",null)}};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";exports.id=9179,exports.ids=[126,9179],exports.modules={60126:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{O:()=>l,createWorktree:()=>o,hasGhCli:()=>n,hasRemote:()=>m,isGitRepo:()=>k,listWorktrees:()=>s,mergeWorktree:()=>p,removeWorktree:()=>r});var e=c(7206),f=c(73024),g=c(76760),h=c.n(g),i=a([e]);e=(i.then?(await i)():i)[0];let w=h().join(".reflex","worktrees"),x=".reflex/worktrees/";async function j(a,b){let c=await (0,e.execa)("git",b,{cwd:a,timeout:3e4,reject:!1});return{stdout:"string"==typeof c.stdout?c.stdout:"",stderr:"string"==typeof c.stderr?c.stderr:"",code:"number"==typeof c.exitCode?c.exitCode:1}}async function k(a){let b=await j(a,["rev-parse","--is-inside-work-tree"]);return 0===b.code&&"true"===b.stdout.trim()}async function l(a){let b=await j(a,["symbolic-ref","--short","refs/remotes/origin/HEAD"]);return 0===b.code&&b.stdout.trim()?b.stdout.trim().replace(/^origin\//,""):(await j(a,["rev-parse","--abbrev-ref","HEAD"])).stdout.trim()||"main"}async function m(a){let b=await j(a,["remote"]);return 0===b.code&&b.stdout.trim().length>0}async function n(){let a=await (0,e.execa)("gh",["--version"],{timeout:5e3,reject:!1});return"number"==typeof a.exitCode&&0===a.exitCode}async function o(a){if(!await k(a.rootPath))throw Error("createWorktree: project root is not a git repo");let b=h().join(a.rootPath,w,a.slug),c=a.baseRef??await l(a.rootPath);try{throw await f.promises.stat(b),Error(`createWorktree: ${b} already exists`)}catch(a){if("ENOENT"!==a.code)throw a}let d=await j(a.rootPath,["rev-parse","--verify",`refs/heads/${a.branch}`]);if(0===d.code)throw Error(`createWorktree: branch ${a.branch} already exists; remove it first`);await f.promises.mkdir(h().dirname(b),{recursive:!0});let e=await j(a.rootPath,["worktree","add","-b",a.branch,b,c]);if(0!==e.code)throw Error(`git worktree add failed (${e.code}): ${e.stderr.trim()||e.stdout.trim()}`);return await u(a.rootPath,b),await v(a.rootPath),{dir:b,branch:a.branch,baseRef:c}}async function p(a){let b=a.intoRef??await l(a.rootPath),c=(await j(a.rootPath,["rev-parse","--abbrev-ref","HEAD"])).stdout.trim(),d=await j(a.rootPath,["checkout",b]);if(0!==d.code)return{ok:!1,conflicts:[],error:`checkout ${b} failed: ${d.stderr.trim()}`};let e=!1===a.noFf?[]:["--no-ff"],f=await j(a.rootPath,["merge",...e,a.branch]);if(0!==f.code){let b=await q(a.rootPath);return{ok:!1,conflicts:b,error:f.stderr.trim()||f.stdout.trim()||"merge failed"}}return c&&c!==b&&await j(a.rootPath,["checkout",c]),{ok:!0,mergedInto:b}}async function q(a){let b=await j(a,["diff","--name-only","--diff-filter=U"]);return 0!==b.code?[]:b.stdout.split("\n").map(a=>a.trim()).filter(Boolean)}async function r(a){let b=h().join(a.rootPath,w,a.slug),c=a.force?["--force"]:[],d=await j(a.rootPath,["worktree","remove",...c,b]);if(0!==d.code)try{return await f.promises.stat(b),{ok:!1,error:d.stderr.trim()||d.stdout.trim()||"worktree remove failed"}}catch{}if(a.deleteBranch??!0){let b=a.force?"-D":"-d";await j(a.rootPath,["branch",b,a.branch])}return await j(a.rootPath,["worktree","prune"]),{ok:!0}}async function s(a){let b=await j(a,["worktree","list","--porcelain"]);if(0!==b.code)return[];let c=[],d=null;for(let e of b.stdout.split("\n")){let b=e.trimEnd();if(!b){d?.dir&&c.push(t(d,a)),d=null;continue}b.startsWith("worktree ")?(d?.dir&&c.push(t(d,a)),d={dir:b.slice(9)}):d&&(b.startsWith("HEAD ")?d.head=b.slice(5):b.startsWith("branch refs/heads/")?d.branch=b.slice(18):"detached"===b?d.detached=!0:"bare"===b&&(d.bare=!0))}return d?.dir&&c.push(t(d,a)),c}function t(a,b){return{dir:a.dir,...a.branch?{branch:a.branch}:{},head:a.head??"",detached:!!a.detached,bare:!!a.bare,isMain:h().resolve(a.dir)===h().resolve(b)}}async function u(a,b){let c=h().join(a,".reflex","memory");await f.promises.mkdir(h().dirname(c),{recursive:!0}),await f.promises.mkdir(h().join(b,".reflex"),{recursive:!0});let d=h().join(b,".reflex","memory");try{if((await f.promises.lstat(d)).isSymbolicLink()&&await f.promises.readlink(d)===c)return;await f.promises.rm(d,{recursive:!0,force:!0})}catch(a){if("ENOENT"!==a.code)throw a}await f.promises.symlink(c,d,"dir")}async function v(a){let b=h().join(a,".reflexignore"),c="";try{c=await f.promises.readFile(b,"utf8")}catch{}if(c.split("\n").map(a=>a.trim()).filter(Boolean).includes(x))return;let d=c?`${c.replace(/\n*$/,"")}
|
|
2
|
+
${x}
|
|
3
|
+
`:`${x}
|
|
4
|
+
`;await f.promises.writeFile(b,d,"utf8")}d()}catch(a){d(a)}})},99179:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{dispatchTask:()=>n});var e=c(53905),f=c(36017),g=c(5492),h=c(51021),i=c(55143),j=c(26380),k=c(60126),l=c(51872),m=a([h,i,k]);async function n(a){let b=await (0,e.Zn)(a.rootId);if(!b)return{ok:!1,error:"root not found"};let c=await (0,j.getTask)(b.path,a.taskId);if(!c)return{ok:!1,error:"task not found"};if("in-progress"===c.status)return{ok:!1,error:"task already dispatched (topic "+c.topicId+")"};let d=l.Yj[c.type],i=await (0,f.M)(),m=i.assignments.chat,n=a.harness??c.agentRequested??m.harness,p=a.model??m.model,q=c.worktree;if(d.isCode&&!q&&await (0,k.isGitRepo)(b.path))try{let a=`task/${c.title.normalize("NFKD").toLowerCase().replace(/[^a-z0-9-/]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60)||c.id}`,d=await (0,k.O)(b.path);q=await (0,k.createWorktree)({rootPath:b.path,slug:c.id,branch:a,baseRef:d})}catch(a){return{ok:!1,error:"worktree create failed: "+(a instanceof Error?a.message:String(a))}}let r=[];for(let b of c.pre){let c=await o(a.rootId,b);c&&r.push(c)}let s=d.defaultSkill?`/skill ${d.defaultSkill}
|
|
5
|
+
|
|
6
|
+
`:"",t=[`${s}You are now working on task ${c.id}: "${c.title}".`,"","## Task description",c.body||"(no description)"];r.length>0&&t.push("","## Pre-task context (from hooks)",...r),q&&t.push("","## Working directory",`You are inside a git worktree at \`${q.dir}\` on branch \`${q.branch}\`. Commit changes here; main branch is untouched until the user clicks Merge.`),t.push("",'When done, mark the task as `done` via `<<reflex:task-update>>{"id":"'+c.id+'","status":"done"}<</reflex:task-update>>`.');let u=t.join("\n"),v=q?.dir??b.path,w=await (0,g.OY)({root:v,firstMessage:c.title,harness:n,model:p,language:i.language,taskId:c.id}),x=await (0,h.W)({rootId:a.rootId,topicId:w.meta.id,message:u,attachments:[]});return"error"in x?{ok:!1,error:x.error}:(await (0,j.updateTask)(b.path,c.id,{topicId:w.meta.id,agentRequested:n,worktree:q,status:"in-progress"}),{ok:!0,taskId:c.id,topicId:w.meta.id,...q?{worktree:{dir:q.dir,branch:q.branch}}:{}})}async function o(a,b){if("chat"===b.kind)return b.prompt??null;if("workflow"===b.kind&&b.id)try{let c=await (0,i.runWorkflow)(a,b.id);if(!c.ok)return null;let d=[];for(let a of c.run.steps){let b=a.output;null!=b&&d.push("string"==typeof b?b:JSON.stringify(b,null,2))}let e=d.join("\n\n").trim();return e?`### workflow:${b.id}
|
|
7
|
+
${e}`:null}catch{}return null}[h,i,k]=m.then?(await m)():m,d()}catch(a){d(a)}})}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.id=9617,exports.ids=[9617],exports.modules={65177:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},66979:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},73569:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(42557).A)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},99617:(a,b,c)=>{c.d(b,{UtilityIframe:()=>s});var d=c(64173),e=c(17240),f=c(53186),g=c(71813),h=c(65177),i=c(66979),j=c(69552),k=c(62261),l=c(73569),m=c(1056),n=c.n(m),o=c(44052),p=c(3265);function q({scope:a,utilityId:b,utilityName:c,rootId:m,requestSnapshot:p,onClose:q}){let s=(0,g.c)("app"),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)([]),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useTransition)(),[D,E]=(0,e.useState)(!1),F=(0,e.useRef)(null);(0,e.useRef)(null),(0,e.useRef)("");let[G,H]=(0,e.useState)(""),I=()=>{let a=x.trim();a&&m&&t&&(y(""),w(b=>[...b,{role:"user",text:a,ts:new Date().toISOString()}]),C(async()=>{let b;try{b=await Promise.race([p(),new Promise(a=>setTimeout(()=>a(void 0),600))])}catch{}let c=void 0!==b?function(a,b){let c;try{c="string"==typeof b?b:JSON.stringify(b,null,2)}catch{c=String(b)}return c.length>4e3&&(c=c.slice(0,4e3)+"\n…[truncated]"),["[Mini-app context]",c,"[/context]\n",a].join("\n")}(a,b):a;try{let a=await fetch(`/api/roots/${m}/chat/${t}/send`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:c})});if(!a.ok){let b=await a.json().catch(()=>({}));o.oR.error(b.error??`HTTP ${a.status}`)}}catch(a){o.oR.error(String(a))}}))};return(0,d.jsxs)("aside",{className:"flex h-full flex-col border-l bg-card",children:[(0,d.jsxs)("header",{className:"border-b px-3 py-2 flex items-center gap-2",children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 text-violet-600"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:s("utilities.helper.title")}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground ml-1",children:s("utilities.helper.hint")}),m&&t&&(0,d.jsx)(n(),{href:`/roots/${m}/chat/${t}`,className:"ml-auto p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground",title:s("utilities.helper.openFull"),children:(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"})}),q&&(0,d.jsx)("button",{type:"button",onClick:q,className:"p-1 rounded hover:bg-accent "+(m&&t?"":"ml-auto"),title:s("utilities.helper.hide"),children:(0,d.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,d.jsxs)("div",{ref:F,className:"flex-1 overflow-y-auto px-3 py-2 space-y-2 text-sm",children:[z&&(0,d.jsx)("p",{className:"text-xs text-red-600",children:z}),!z&&0===v.length&&!G&&(0,d.jsxs)("div",{className:"text-xs text-muted-foreground flex items-start gap-2",children:[(0,d.jsx)(j.A,{className:"h-3 w-3 mt-0.5 text-violet-600 shrink-0"}),(0,d.jsx)("span",{children:s("utilities.helper.welcome")})]}),v.map((a,b)=>(0,d.jsx)(r,{role:a.role,text:a.text},b)),D&&G&&(0,d.jsx)(r,{role:"assistant",text:G,streaming:!0}),B&&!D&&(0,d.jsxs)("div",{className:"mr-6 rounded-md bg-muted/40 px-2 py-1.5 text-xs text-muted-foreground inline-flex items-center gap-2",children:[(0,d.jsx)(k.A,{className:"h-3 w-3 animate-spin"}),s("utilities.helper.thinking")]})]}),(0,d.jsxs)("div",{className:"border-t px-3 py-2 flex items-end gap-1.5",children:[(0,d.jsx)("textarea",{value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),I())},rows:1,placeholder:s("utilities.helper.placeholder"),disabled:B||!!z||!t,className:"flex-1 resize-none rounded border bg-background px-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400 max-h-24"}),(0,d.jsx)("button",{type:"button",onClick:I,disabled:B||!x.trim()||!!z||!t,className:"inline-flex items-center justify-center rounded bg-violet-600 px-2 py-1 text-white hover:bg-violet-700 disabled:opacity-50",children:B?(0,d.jsx)(k.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(l.A,{className:"h-3 w-3"})})]})]})}function r({role:a,text:b,streaming:c}){let e=(0,g.c)("app"),f=b;return("user"===a&&(f=f.replace(/^\s*\[Mini-app context\][\s\S]*?\[\/context\]\s*/,"").trim()),f.trim())?(0,d.jsxs)("div",{className:"user"===a?"ml-6 rounded-md bg-violet-50 dark:bg-violet-950/30 px-2 py-1.5":"mr-6 rounded-md bg-muted/40 px-2 py-1.5 whitespace-pre-wrap",children:[(0,d.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-0.5",children:[e("user"===a?"utilities.helper.you":"assistant"===a?"utilities.helper.reflex":"utilities.helper.system"),c&&(0,d.jsx)("span",{className:"ml-1 text-violet-600",children:"●"})]}),f]}):null}function s({scope:a,id:b,rootId:c,className:h,title:i,agentChat:j,utilityName:k}){let l=(0,g.c)("app"),m=(0,e.useRef)(null),n=(0,e.useRef)(null),[o,p]=(0,e.useState)(!0),r=c?`?rootId=${encodeURIComponent(c)}`:"",s=`/api/utilities/${a}/${b}/iframe${r}`,t=(0,d.jsx)("iframe",{ref:m,src:s,sandbox:"allow-scripts allow-forms allow-same-origin",className:h??"h-full w-full border-0 bg-white",title:i??`utility-${b}`});return j?(0,d.jsxs)("div",{className:"flex h-full w-full",children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0 relative",children:[t,!o&&(0,d.jsxs)("button",{type:"button",onClick:()=>p(!0),className:"absolute right-3 bottom-3 inline-flex items-center gap-1 rounded-full bg-violet-600 px-3 py-1.5 text-xs text-white shadow-lg hover:bg-violet-700",title:l("utilities.iframe.openHelper"),children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5"}),l("utilities.iframe.helper")]})]}),o&&(0,d.jsx)("div",{className:"w-80 shrink-0",children:(0,d.jsx)(q,{scope:a,utilityId:b,...k?{utilityName:k}:{},...c?{rootId:c}:{},requestSnapshot:()=>{let a=m.current?.contentWindow;return a?(n.current&&(clearTimeout(n.current.timer),n.current.resolve(void 0),n.current=null),new Promise(b=>{let c=setTimeout(()=>{n.current?.resolve===b&&(n.current=null,b(void 0))},500);n.current={resolve:b,timer:c};try{a.postMessage({type:"request-snapshot"},"*")}catch{clearTimeout(c),n.current=null,b(void 0)}})):Promise.resolve(void 0)},onClose:()=>p(!1)})})]}):t}p.callServer,p.findSourceMapURL,p.callServer,p.findSourceMapURL}};
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"/api/roots/[id]/chat/[topicId]/stop": {},
|
|
11
11
|
"/api/roots/[id]/chat/[topicId]/stream": {},
|
|
12
12
|
"/api/roots/[id]/dashboard": {},
|
|
13
|
-
"/api/utilities/[scope]/[id]/bundle.js": {},
|
|
14
13
|
"/api/roots/[id]/suggestions": {},
|
|
15
|
-
"/api/utilities/[scope]/[id]/
|
|
14
|
+
"/api/utilities/[scope]/[id]/bundle.js": {},
|
|
16
15
|
"/api/utilities/[scope]/[id]/host-api.mjs": {},
|
|
17
16
|
"/api/utilities/[scope]/[id]/host": {},
|
|
17
|
+
"/api/utilities/[scope]/[id]/host-ui.mjs": {},
|
|
18
18
|
"/api/utilities/[scope]/[id]/iframe": {},
|
|
19
19
|
"/api/utilities/[scope]/[id]/style.css": {}
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-274d59f6d4391442.js","static/chunks/6fe292aa-7126ff9d6732e864.js","static/chunks/146-ccee3b26755b68c8.js","static/chunks/main-app-ebe67847147d19aa.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-274d59f6d4391442.js","static/chunks/framework-aaa7c1a953276299.js","static/chunks/main-bfb98fc1d6aa1d45.js","static/chunks/pages/_app-bf8bc157ace53d59.js"],"/_error":["static/chunks/webpack-274d59f6d4391442.js","static/chunks/framework-aaa7c1a953276299.js","static/chunks/main-bfb98fc1d6aa1d45.js","static/chunks/pages/_error-da89ab2956f0cf38.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"wasm": [],
|
|
18
18
|
"assets": [],
|
|
19
19
|
"env": {
|
|
20
|
-
"__NEXT_BUILD_ID": "
|
|
21
|
-
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "
|
|
22
|
-
"__NEXT_PREVIEW_MODE_ID": "
|
|
23
|
-
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "
|
|
24
|
-
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "
|
|
20
|
+
"__NEXT_BUILD_ID": "Phb9nqftdL6MOVwBc0yAc",
|
|
21
|
+
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "ryjSosQTtfyGDQfBWcOqepciRFCSvHSRLY0yW9Jpfkw=",
|
|
22
|
+
"__NEXT_PREVIEW_MODE_ID": "bb8c2a705c51044333e3135d9706c670",
|
|
23
|
+
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "9f990fec337a13cb0a3f401129cf34e8ac983f3684cdd2fa38270e2182e40592",
|
|
24
|
+
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "3c76a59c4267e046232d7741cc7230bc0a2077d13d2d718895602cb335039e57"
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__REACT_LOADABLE_MANIFEST='{"app/roots/[id]/chat/[topicId]/_components/interaction-cards.tsx -> @/lib/server/oauth-actions":{"id":94108,"files":["static/chunks/4108.
|
|
1
|
+
self.__REACT_LOADABLE_MANIFEST='{"app/roots/[id]/chat/[topicId]/_components/interaction-cards.tsx -> @/lib/server/oauth-actions":{"id":94108,"files":["static/chunks/4108.4e39a8f41278c35d.js"]}}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-274d59f6d4391442.js" defer=""></script><script src="/_next/static/chunks/framework-aaa7c1a953276299.js" defer=""></script><script src="/_next/static/chunks/main-bfb98fc1d6aa1d45.js" defer=""></script><script src="/_next/static/chunks/pages/_app-bf8bc157ace53d59.js" defer=""></script><script src="/_next/static/chunks/pages/_error-da89ab2956f0cf38.js" defer=""></script><script src="/_next/static/Phb9nqftdL6MOVwBc0yAc/_buildManifest.js" defer=""></script><script src="/_next/static/Phb9nqftdL6MOVwBc0yAc/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"Phb9nqftdL6MOVwBc0yAc","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|