nodal-agents 0.7.0 → 0.7.2

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 (165) hide show
  1. package/cli.js +335 -35
  2. package/migrations/0054_audit2_db_integrity.sql +52 -0
  3. package/migrations/0055_entity_settings.sql +22 -0
  4. package/migrations/0056_agents_skills_entity_scoped_unique.sql +23 -0
  5. package/migrations/0057_telegram_allowed_chats.sql +34 -0
  6. package/migrations/meta/_journal.json +28 -0
  7. package/package.json +1 -1
  8. package/runner.js +47123 -35332
  9. package/web/.next/BUILD_ID +1 -1
  10. package/web/.next/app-path-routes-manifest.json +4 -4
  11. package/web/.next/build-manifest.json +2 -2
  12. package/web/.next/prerender-manifest.json +3 -3
  13. package/web/.next/server/app/(dashboard)/agents/[id]/edit/page.js +3 -3
  14. package/web/.next/server/app/(dashboard)/agents/[id]/edit/page.js.nft.json +1 -1
  15. package/web/.next/server/app/(dashboard)/agents/[id]/edit/page_client-reference-manifest.js +1 -1
  16. package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page.js +2 -2
  17. package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page.js.nft.json +1 -1
  18. package/web/.next/server/app/(dashboard)/agents/[id]/telegram/page_client-reference-manifest.js +1 -1
  19. package/web/.next/server/app/(dashboard)/agents/page.js +2 -2
  20. package/web/.next/server/app/(dashboard)/agents/page.js.nft.json +1 -1
  21. package/web/.next/server/app/(dashboard)/agents/page_client-reference-manifest.js +1 -1
  22. package/web/.next/server/app/(dashboard)/approvals/page.js +2 -2
  23. package/web/.next/server/app/(dashboard)/approvals/page.js.nft.json +1 -1
  24. package/web/.next/server/app/(dashboard)/approvals/page_client-reference-manifest.js +1 -1
  25. package/web/.next/server/app/(dashboard)/automations/page.js +2 -2
  26. package/web/.next/server/app/(dashboard)/automations/page.js.nft.json +1 -1
  27. package/web/.next/server/app/(dashboard)/automations/page_client-reference-manifest.js +1 -1
  28. package/web/.next/server/app/(dashboard)/chat/page.js +2 -2
  29. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  30. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  31. package/web/.next/server/app/(dashboard)/connectors/page.js +1 -1
  32. package/web/.next/server/app/(dashboard)/connectors/page.js.nft.json +1 -1
  33. package/web/.next/server/app/(dashboard)/connectors/page_client-reference-manifest.js +1 -1
  34. package/web/.next/server/app/(dashboard)/credentials/page.js +1 -1
  35. package/web/.next/server/app/(dashboard)/credentials/page.js.nft.json +1 -1
  36. package/web/.next/server/app/(dashboard)/credentials/page_client-reference-manifest.js +1 -1
  37. package/web/.next/server/app/(dashboard)/jobs/[id]/page.js +2 -2
  38. package/web/.next/server/app/(dashboard)/jobs/[id]/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/jobs/[id]/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/jobs/page.js +2 -2
  41. package/web/.next/server/app/(dashboard)/jobs/page.js.nft.json +1 -1
  42. package/web/.next/server/app/(dashboard)/jobs/page_client-reference-manifest.js +1 -1
  43. package/web/.next/server/app/(dashboard)/learned-skills/page.js +2 -2
  44. package/web/.next/server/app/(dashboard)/learned-skills/page.js.nft.json +1 -1
  45. package/web/.next/server/app/(dashboard)/learned-skills/page_client-reference-manifest.js +1 -1
  46. package/web/.next/server/app/(dashboard)/llm-providers/page.js +1 -1
  47. package/web/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/(dashboard)/logs/page.js +2 -2
  50. package/web/.next/server/app/(dashboard)/logs/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/logs/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/mcp/page.js +2 -2
  53. package/web/.next/server/app/(dashboard)/mcp/page.js.nft.json +1 -1
  54. package/web/.next/server/app/(dashboard)/mcp/page_client-reference-manifest.js +1 -1
  55. package/web/.next/server/app/(dashboard)/memories/page.js +2 -2
  56. package/web/.next/server/app/(dashboard)/memories/page.js.nft.json +1 -1
  57. package/web/.next/server/app/(dashboard)/memories/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/(dashboard)/page.js +2 -2
  59. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  60. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  61. package/web/.next/server/app/(dashboard)/settings/page.js +2 -2
  62. package/web/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  63. package/web/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/(dashboard)/settings/root-context/page.js +2 -2
  65. package/web/.next/server/app/(dashboard)/settings/root-context/page.js.nft.json +1 -1
  66. package/web/.next/server/app/(dashboard)/settings/root-context/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/(dashboard)/skills/[id]/edit/page.js +2 -2
  68. package/web/.next/server/app/(dashboard)/skills/[id]/edit/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/skills/[id]/edit/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/skills/new/page.js +2 -2
  71. package/web/.next/server/app/(dashboard)/skills/new/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/skills/new/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/skills/page.js +2 -2
  74. package/web/.next/server/app/(dashboard)/skills/page.js.nft.json +1 -1
  75. package/web/.next/server/app/(dashboard)/skills/page_client-reference-manifest.js +1 -1
  76. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/_global-error.html +1 -1
  78. package/web/.next/server/app/_global-error.rsc +2 -2
  79. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  80. package/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  81. package/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  82. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  83. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +2 -2
  84. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  85. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/_not-found.html +1 -1
  87. package/web/.next/server/app/_not-found.rsc +3 -3
  88. package/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  89. package/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  90. package/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  91. package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  92. package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  93. package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  94. package/web/.next/server/app/api/auth/[...all]/route.js +1 -1
  95. package/web/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -1
  96. package/web/.next/server/app/api/oauth/[provider]/callback/route.js +1 -1
  97. package/web/.next/server/app/api/oauth/[provider]/callback/route.js.nft.json +1 -1
  98. package/web/.next/server/app/api/oauth/[provider]/start/route.js +1 -1
  99. package/web/.next/server/app/api/oauth/[provider]/start/route.js.nft.json +1 -1
  100. package/web/.next/server/app/login/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/onboarding/page.js +205 -185
  102. package/web/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  103. package/web/.next/server/app-paths-manifest.json +4 -4
  104. package/web/.next/server/chunks/2713.js +47 -27
  105. package/web/.next/server/chunks/3223.js +1 -1
  106. package/web/.next/server/chunks/4574.js +1 -1
  107. package/web/.next/server/chunks/5515.js +1 -0
  108. package/web/.next/server/chunks/6468.js +1 -0
  109. package/web/.next/server/chunks/8410.js +1 -0
  110. package/web/.next/server/chunks/{4488.js → 8810.js} +2 -2
  111. package/web/.next/server/chunks/{3154.js → 960.js} +10 -10
  112. package/web/.next/server/middleware-build-manifest.js +1 -1
  113. package/web/.next/server/pages/404.html +1 -1
  114. package/web/.next/server/pages/500.html +1 -1
  115. package/web/.next/server/server-reference-manifest.js +1 -1
  116. package/web/.next/server/server-reference-manifest.json +1 -1
  117. package/web/.next/static/chunks/4964-c6711d3d479b6085.js +1 -0
  118. package/web/.next/static/chunks/{9836-6830cb9d49ad261f.js → 9836-177f6ca2f15ff703.js} +1 -1
  119. package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/page-cfce874f4acede5e.js +6 -0
  120. package/web/.next/static/chunks/app/(dashboard)/agents/[id]/telegram/page-9249c2839f551ba1.js +1 -0
  121. package/web/.next/static/chunks/app/(dashboard)/agents/page-7d784d737acedccf.js +1 -0
  122. package/web/.next/static/chunks/app/(dashboard)/approvals/{page-9a01cb723a6ccff0.js → page-b3a838ecbc94a030.js} +1 -1
  123. package/web/.next/static/chunks/app/(dashboard)/automations/page-b1b548de4f52696c.js +1 -0
  124. package/web/.next/static/chunks/app/(dashboard)/chat/{page-a6cc7a58986c0340.js → page-bcf6dcc73b370eb0.js} +1 -1
  125. package/web/.next/static/chunks/app/(dashboard)/connectors/{page-21d6c042800c8cd3.js → page-2c6f913cc6aea4b7.js} +1 -1
  126. package/web/.next/static/chunks/app/(dashboard)/jobs/[id]/page-43f033251eddcc4b.js +1 -0
  127. package/web/.next/static/chunks/app/(dashboard)/jobs/page-1f892f950bb30403.js +1 -0
  128. package/web/.next/static/chunks/app/(dashboard)/layout-e184673151ff8a05.js +1 -0
  129. package/web/.next/static/chunks/app/(dashboard)/learned-skills/page-f873bb6f8539e47e.js +1 -0
  130. package/web/.next/static/chunks/app/(dashboard)/llm-providers/page-64adda30176f4ccb.js +1 -0
  131. package/web/.next/static/chunks/app/(dashboard)/logs/page-79cfd9141c39d8ef.js +1 -0
  132. package/web/.next/static/chunks/app/(dashboard)/mcp/page-d276d7bab25286a1.js +1 -0
  133. package/web/.next/static/chunks/app/(dashboard)/memories/page-c66720494a340503.js +1 -0
  134. package/web/.next/static/chunks/app/(dashboard)/page-3649204dd27a0ad0.js +1 -0
  135. package/web/.next/static/chunks/app/(dashboard)/settings/page-1cab404d2eccfd80.js +1 -0
  136. package/web/.next/static/chunks/app/(dashboard)/settings/root-context/page-b5898c5444f88c9a.js +1 -0
  137. package/web/.next/static/chunks/app/(dashboard)/skills/[id]/edit/page-82d91fc6b6acc161.js +1 -0
  138. package/web/.next/static/chunks/app/(dashboard)/skills/new/page-58b5ed04583ca7d4.js +1 -0
  139. package/web/.next/static/chunks/app/(dashboard)/skills/page-312bd4ae8ddc8114.js +1 -0
  140. package/web/.next/static/chunks/app/onboarding/{page-a4116e2f430eaff8.js → page-f2f04878e81fdf23.js} +2 -2
  141. package/web/.next/static/css/{eff119dd24f92093.css → 4d808b91d7b58fce.css} +1 -1
  142. package/web/.next/server/chunks/4626.js +0 -1
  143. package/web/.next/server/chunks/8971.js +0 -1
  144. package/web/.next/server/chunks/9043.js +0 -1
  145. package/web/.next/static/chunks/4964-08171c654e41b0a4.js +0 -1
  146. package/web/.next/static/chunks/app/(dashboard)/agents/[id]/edit/page-fa5717f0d0450659.js +0 -6
  147. package/web/.next/static/chunks/app/(dashboard)/agents/[id]/telegram/page-73012222871598aa.js +0 -1
  148. package/web/.next/static/chunks/app/(dashboard)/agents/page-7e9616b28c098e9e.js +0 -1
  149. package/web/.next/static/chunks/app/(dashboard)/automations/page-85c985cd687406ed.js +0 -1
  150. package/web/.next/static/chunks/app/(dashboard)/jobs/[id]/page-f6b993a88c70a2fe.js +0 -1
  151. package/web/.next/static/chunks/app/(dashboard)/jobs/page-d0d6b9db1b68451f.js +0 -1
  152. package/web/.next/static/chunks/app/(dashboard)/layout-d2ac2646967496bb.js +0 -1
  153. package/web/.next/static/chunks/app/(dashboard)/learned-skills/page-ec6312f6dfd7ee23.js +0 -1
  154. package/web/.next/static/chunks/app/(dashboard)/llm-providers/page-1fb26463eddf509c.js +0 -1
  155. package/web/.next/static/chunks/app/(dashboard)/logs/page-0bca733315e8a208.js +0 -1
  156. package/web/.next/static/chunks/app/(dashboard)/mcp/page-ff56ecf2f65f5466.js +0 -1
  157. package/web/.next/static/chunks/app/(dashboard)/memories/page-fe4d9438c93750d6.js +0 -1
  158. package/web/.next/static/chunks/app/(dashboard)/page-9402fe2931216f4b.js +0 -1
  159. package/web/.next/static/chunks/app/(dashboard)/settings/page-995662f10ebff365.js +0 -1
  160. package/web/.next/static/chunks/app/(dashboard)/settings/root-context/page-785b6ce3e4c5890b.js +0 -1
  161. package/web/.next/static/chunks/app/(dashboard)/skills/[id]/edit/page-2106201c4df8b5a4.js +0 -1
  162. package/web/.next/static/chunks/app/(dashboard)/skills/new/page-0135bcb86ab60dc2.js +0 -1
  163. package/web/.next/static/chunks/app/(dashboard)/skills/page-54e939d40c8b5b6d.js +0 -1
  164. /package/web/.next/static/{KFac7DQ7gdp9XPQ2bnb-2 → SgnP_MouhUmw0bBf-lUmD}/_buildManifest.js +0 -0
  165. /package/web/.next/static/{KFac7DQ7gdp9XPQ2bnb-2 → SgnP_MouhUmw0bBf-lUmD}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=4574,exports.ids=[4574],exports.modules={12788:(a,b,c)=>{"use strict";c.d(b,{O:()=>n,V:()=>o});var d=c(85653),e=c(99768),f=c(49500),g=c(52019),h=c(42891),i=c(37607),j=c(16471),k=c(66618),l=c(29123),m=c(57119);let n=(0,d.cJ)("entities",{id:(0,e.uR)("id").primaryKey().defaultRandom(),userId:(0,e.uR)("user_id").notNull().references(()=>m.V.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull().unique(),description:(0,f.Qq)("description"),icon:(0,f.Qq)("icon").default("\uD83C\uDFE2"),industry:(0,f.Qq)("industry"),goal:(0,f.Qq)("goal"),timezone:(0,f.Qq)("timezone"),mcpToken:(0,e.uR)("mcp_token").defaultRandom(),rootAgentId:(0,e.uR)("root_agent_id"),rootGrants:(0,g.Fx)("root_grants").notNull().default((0,l.ll)`'{}'::jsonb`),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).defaultNow(),lastCuratorRunAt:(0,h.vE)("last_curator_run_at",{withTimezone:!0}),reflectionEnabled:(0,i.zM)("reflection_enabled").notNull().default(!1),memoryCurationEnabled:(0,i.zM)("memory_curation_enabled").notNull().default(!0),skillAssignmentMode:(0,f.Qq)("skill_assignment_mode").notNull().default("approval").$type(),lanCommandYolo:(0,i.zM)("lan_command_yolo").notNull().default(!1)},a=>[(0,j.GL)("entities_mcp_token_idx").on(a.mcpToken),(0,j.Pe)("idx_entities_user_id").on(a.userId),(0,j.Pe)("idx_entities_root_agent_id").on(a.rootAgentId)]),o=(0,d.cJ)("entity_members",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:(0,e.uR)("user_id").notNull().references(()=>m.V.id,{onDelete:"cascade"}),role:(0,f.Qq)("role").default("owner"),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,j.Pe)("idx_entity_members_entity_id").on(a.entityId),(0,j.Pe)("idx_entity_members_user_id").on(a.userId),(0,j.Pe)("idx_entity_members_user").on(a.userId,a.entityId),(0,k.z6)("entity_members_role_check",(0,l.ll)`${a.role} IN ('owner', 'admin', 'member', 'viewer')`)])},42112:(a,b,c)=>{"use strict";c.d(b,{lR:()=>d,Jj:()=>l,hb:()=>h,vB:()=>e,Xi:()=>m,oC:()=>n,rb:()=>o,OH:()=>p.O});class d extends Error{constructor(){super("AUTH_REQUIRED"),this.code="AUTH_REQUIRED",this.name="AuthError"}}class e extends Error{constructor(){super("NO_ENTITY"),this.code="NO_ENTITY",this.name="NoEntityError"}}var f=c(44888);let g={userId:"00000000-0000-0000-0000-000000000001",entityId:"00000000-0000-0000-0000-000000000002"};class h{getSession(a){return Promise.resolve(g)}}var i=c(30932),j=c(29045);let k=[/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,/^192\.168\.\d{1,3}\.\d{1,3}$/,/^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/];class l{#a;#b;constructor(a,b){this.#a=a,this.#b=b}get auth(){return this.#a}async getSession(a){let b,c=await this.#a.api.getSession({headers:a.headers}).catch(()=>null);if(!c?.session||!c?.user)return null;let d=c.user.id,e=await this.#b.select({entityId:f.V.entityId}).from(f.V).where((0,f.eq)(f.V.userId,d));if(e.length>0&&e[0])b=String(e[0].entityId);else{b=crypto.randomUUID();let a=`personal-${b.slice(0,8)}`;await this.#b.insert(f.O5).values({id:b,userId:d,name:"Personal",slug:a,icon:"\uD83C\uDFE0"}),await this.#b.insert(f.V).values({entityId:b,userId:d,role:"owner"})}return{userId:d,entityId:b}}async handleAuthRequest(a){return this.#a.handler(a).catch(()=>null)}}function m(a){let{db:b,baseURL:c,secret:d,googleClientId:e,googleClientSecret:g}=a,h={};e&&g&&(h.google={clientId:e,clientSecret:g});let m={baseURL:c,secret:d,trustedOrigins:a=>{let b=[c],d=a?.headers.get("origin")??null;return d&&function(a){let b;if(!a)return!1;try{b=new URL(a)}catch{return!1}if("http:"!==b.protocol&&"https:"!==b.protocol)return!1;let c=b.hostname.toLowerCase();return"localhost"===c||"::1"===c||"[::1]"===c||k.some(a=>a.test(c))}(d)&&b.push(d),b},database:(0,j.y)(b,{provider:"pg",camelCase:!0,schema:{users:f.VV,sessions:f.Mf,accounts:f.vd,verifications:f.Jt}}),user:{modelName:"users",fields:{name:"name",email:"email",emailVerified:"emailVerified",image:"image",createdAt:"createdAt",updatedAt:"updatedAt"}},session:{modelName:"sessions",fields:{userId:"userId",expiresAt:"expiresAt",token:"token",ipAddress:"ipAddress",userAgent:"userAgent",createdAt:"createdAt",updatedAt:"updatedAt"}},account:{modelName:"accounts",fields:{userId:"userId",providerId:"providerId",accountId:"accountId",accessToken:"accessToken",refreshToken:"refreshToken",idToken:"idToken",accessTokenExpiresAt:"accessTokenExpiresAt",refreshTokenExpiresAt:"refreshTokenExpiresAt",scope:"scope",password:"password",createdAt:"createdAt",updatedAt:"updatedAt"}},verification:{modelName:"verifications",fields:{identifier:"identifier",value:"value",expiresAt:"expiresAt",createdAt:"createdAt",updatedAt:"updatedAt"}},emailAndPassword:{enabled:!0},socialProviders:h,advanced:{database:{generateId:()=>crypto.randomUUID()}},databaseHooks:{user:{create:{after:async a=>{let c=crypto.randomUUID(),d=`personal-${c.slice(0,8)}`;await b.insert(f.O5).values({id:c,userId:a.id,name:"Personal",slug:d,icon:"\uD83C\uDFE0"}),await b.insert(f.V).values({entityId:c,userId:a.id,role:"owner"})}}}}};return new l((0,i.l)(m),b)}async function n(a,b){let c=await b.getSession(a);if(!c)throw new d;return c}async function o(a,b,d){let g=await n(a,b),{entityMembers:h}=await Promise.resolve().then(c.bind(c,59487)),i=await d.select({entityId:h.entityId}).from(h).where((0,f.eq)(h.userId,g.userId));if(0===i.length)throw new e;let j=""!==g.entityId?g.entityId:i[0]?.entityId??"";if(!j)throw new e;return{userId:g.userId,entityId:j}}var p=c(83342)},44888:(a,b,c)=>{"use strict";c.d(b,{vd:()=>f.accounts,Qj:()=>f.agentAssignments,XT:()=>f.agentConnectorAssignments,ME:()=>f.agentJobs,oS:()=>f.agentMcpServers,RK:()=>f.agentMemory,uQ:()=>f.agentSchedules,$m:()=>f.agentSkillAssignments,eK:()=>f.agentSkills,Kq:()=>f.agentWorkspaces,X6:()=>f.agents,Uo:()=>h.Uo,MZ:()=>f.approvalRequests,bN:()=>f.approvalRules,HA:()=>B,ps:()=>x,WE:()=>s,p$:()=>f.chatMessages,tK:()=>f.connectors,NP:()=>f.conversations,S$:()=>r,UU:()=>g,qz:()=>v,z3:()=>f.credentials,G0:()=>m,i8:()=>H.i,O5:()=>f.entities,hG:()=>f.entityLlmKeys,V:()=>f.entityMembers,eq:()=>h.eq,Se:()=>n,fI:()=>F,B3:()=>h.B3,RV:()=>h.RV,h_:()=>f.mcpServers,KL:()=>h.KL,or:()=>h.or,Ic:()=>o,Mf:()=>f.sessions,lx:()=>G,rY:()=>z,ZU:()=>y,ll:()=>t.ll,Ky:()=>f.toolCalls,t$:()=>A,hI:()=>w,VV:()=>f.users,Jt:()=>f.verifications});var d=c(57562),e=c(96583),f=c(59487);function g(a,b={}){let c=(0,d.A)(a,{max:b.max??10,connect_timeout:10});return{db:(0,e.f)(c,{schema:f}),close:()=>c.end()}}var h=c(97852),i=c(62637),j=c(98472),k=c(64190);function l(a){return JSON.parse((0,j.ph)(a)?(0,j.Yc)(a):a)}async function m(a,b){let[c]=await a.select().from(i.z).where((0,h.eq)(i.z.id,b));return c?{id:c.id,ownerUserId:c.ownerUserId,name:c.name,type:c.type,payload:l(c.payload)}:null}async function n(a,b){let[c]=await a.select().from(i.z).where((0,h.eq)(i.z.id,b));if(!c)return null;let d=l(c.payload),e=c.type,f=d.expiresAt?new Date(d.expiresAt):null;if(null!==f&&f.getTime()-Date.now()<6e4){let c=(0,k.R3)(e);if(c?.supportsRefresh&&d.refreshToken)try{await o(a,b);let[c]=await a.select().from(i.z).where((0,h.eq)(i.z.id,b));c&&(d=l(c.payload))}catch(b){let a=b instanceof Error?b.message:String(b);console.warn(`[getDecryptedCredentialById] auto-refresh failed: ${a}`)}}return{id:c.id,ownerUserId:c.ownerUserId,name:c.name,type:e,payload:d}}async function o(a,b){let c,[d]=await a.select().from(i.z).where((0,h.eq)(i.z.id,b));if(!d)throw Error(`refreshAndPersistCredential: credential '${b}' not found`);let e=l(d.payload),f=(0,k.R3)(d.type);if(!f)throw Error(`refreshAndPersistCredential: no provider for credential type '${d.type}'`);if(!f.supportsRefresh)throw Error(`refreshAndPersistCredential: provider '${f.slug}' does not support token refresh`);let{clientId:g,clientSecret:m,refreshToken:n}=e;if(!n)throw Error(`refreshAndPersistCredential: credential '${b}' is missing refreshToken`);let o=f.tokenUrl;if("form"===f.tokenBodyType){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:n});"body"===f.tokenAuth&&(a.set("client_id",g),a.set("client_secret",m)),c={method:"POST",headers:"basic"===f.tokenAuth?{"Content-Type":"application/x-www-form-urlencoded",Authorization:`Basic ${Buffer.from(`${g}:${m}`).toString("base64")}`}:{"Content-Type":"application/x-www-form-urlencoded"},body:a.toString()}}else{let a={grant_type:"refresh_token",refresh_token:n};"body"===f.tokenAuth&&(a.client_id=g,a.client_secret=m),c={method:"POST",headers:"basic"===f.tokenAuth?{"Content-Type":"application/json",Authorization:`Basic ${Buffer.from(`${g}:${m}`).toString("base64")}`}:{"Content-Type":"application/json"},body:JSON.stringify(a)}}let p=await fetch(o,c);if(!p.ok){let a=await p.text().catch(()=>"");throw Error(`refreshAndPersistCredential: token endpoint returned ${p.status}: ${a}`)}let q=await p.json(),r="string"==typeof q.access_token?q.access_token:null;if(!r)throw Error("refreshAndPersistCredential: token endpoint response missing 'access_token'");let s="number"==typeof q.expires_in?q.expires_in:null,t=null!==s?new Date(Date.now()+1e3*s):null,u="string"==typeof q.refresh_token?q.refresh_token:null,v={...e,accessToken:r,expiresAt:t?t.toISOString():null,refreshToken:u??e.refreshToken},w=(0,j.w)(JSON.stringify(v));return await a.update(i.z).set({payload:w,updatedAt:new Date}).where((0,h.eq)(i.z.id,b)),{accessToken:r,expiresAt:t}}var p=c(54789),q=c(12788);async function r(a,b,c){let d;if(c.subAgentIds.length>0&&(await a.select({id:p.X6.id}).from(p.X6).where((0,h.Uo)((0,h.RV)(p.X6.id,c.subAgentIds),(0,h.eq)(p.X6.entityId,b)))).length!==c.subAgentIds.length)throw Error("sub_agents_not_found");try{let[e]=await a.insert(p.X6).values({entityId:b,slug:c.slug,name:c.name,personality:c.personality,model:c.model,llmKeyId:c.llmKeyId??null,role:c.role,orchestratorMode:c.orchestratorMode,avatarUrl:c.avatarUrl??null}).returning({id:p.X6.id});d=e}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof Error&&c.cause instanceof Error?c.cause.message:"";if(a.includes("unique")||a.includes("23505")||b.includes("unique")||b.includes("23505"))return{error:"slug_taken"};throw c}if(!d)throw Error("Insert returned no row");if(c.subAgentIds.length>0&&await a.insert(p.Qj).values(c.subAgentIds.map(a=>({orchestratorId:d.id,subAgentId:a,entityId:b}))),"orchestrator"===c.role){let[c]=await a.select({rootAgentId:q.O.rootAgentId}).from(q.O).where((0,h.eq)(q.O.id,b)).limit(1);c?.rootAgentId?c.rootAgentId!==d.id&&await a.insert(p.Qj).values({orchestratorId:c.rootAgentId,subAgentId:d.id,entityId:b}):await a.update(q.O).set({rootAgentId:d.id,rootGrants:k.ap,updatedAt:new Date}).where((0,h.eq)(q.O.id,b))}return c.assignToOrchestratorId&&c.assignToOrchestratorId!==d.id&&0===(await a.select({id:p.Qj.id}).from(p.Qj).where((0,h.Uo)((0,h.eq)(p.Qj.orchestratorId,c.assignToOrchestratorId),(0,h.eq)(p.Qj.subAgentId,d.id))).limit(1)).length&&await a.insert(p.Qj).values({orchestratorId:c.assignToOrchestratorId,subAgentId:d.id,entityId:b}),{id:d.id}}async function s(a,b,c,d){let[e]=await a.select({id:p.X6.id,name:p.X6.name}).from(p.X6).where((0,h.Uo)((0,h.eq)(p.X6.entityId,b),(0,h.or)((0,h.eq)(p.X6.slug,d),(0,h.B3)(p.X6.name,d)))).limit(1);return e?e.id===c?{error:"cannot_attach_self"}:(0===(await a.select({id:p.Qj.id}).from(p.Qj).where((0,h.Uo)((0,h.eq)(p.Qj.orchestratorId,c),(0,h.eq)(p.Qj.subAgentId,e.id))).limit(1)).length&&await a.insert(p.Qj).values({orchestratorId:c,subAgentId:e.id,entityId:b}),{ok:!0,subAgentId:e.id,subAgentName:e.name}):{error:"agent_not_found"}}var t=c(29123),u=c(82017);async function v(a,b,c){try{let[d]=await a.insert(u.eK).values({entityId:b,slug:c.slug,name:c.name,content:c.content,defaultContent:c.content,description:c.description??null,active:!0,...void 0!==c.createdBy?{createdBy:c.createdBy}:{},...void 0!==c.createdByAgentId&&null!==c.createdByAgentId?{createdByAgentId:c.createdByAgentId}:{}}).returning({id:u.eK.id});if(!d)throw Error("Insert returned no row");return{id:d.id}}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof Error&&c.cause instanceof Error?c.cause.message:"";if(a.includes("unique")||a.includes("23505")||b.includes("unique")||b.includes("23505"))return{error:"slug_taken"};throw c}}async function w(a,b,c,d){let[e]=await a.select({id:u.eK.id}).from(u.eK).where((0,h.Uo)((0,h.eq)(u.eK.id,c),(0,h.eq)(u.eK.entityId,b)));if(!e)return{error:"not_found"};let f={updatedAt:new Date};return void 0!==d.name&&(f.name=d.name),void 0!==d.description&&(f.description=d.description),void 0!==d.active&&(f.active=d.active),void 0!==d.content&&(f.content=d.content,f.contentOverridden=!0),"agent"===d.createdBy&&(f.createdBy="agent",f.patchCount=(0,t.ll)`${u.eK.patchCount} + 1`),await a.update(u.eK).set(f).where((0,h.eq)(u.eK.id,c)),{ok:!0}}async function x(a,b,c,d){let[e]=await a.select({id:u.eK.id}).from(u.eK).where((0,h.Uo)((0,h.eq)(u.eK.id,c.skillId),(0,h.or)((0,h.eq)(u.eK.entityId,b),d.length>0?(0,h.RV)(u.eK.slug,d):void 0)));if(!e)return{error:"skill_not_found"};let[f]=await a.select({id:p.X6.id}).from(p.X6).where((0,h.Uo)((0,h.eq)(p.X6.id,c.agentId),(0,h.eq)(p.X6.entityId,b)));if(!f)return{error:"agent_not_found"};let[g]=await a.select({id:u.$m.id}).from(u.$m).where((0,h.Uo)((0,h.eq)(u.$m.skillId,c.skillId),(0,h.eq)(u.$m.agentId,c.agentId)));return g?{error:"already_assigned"}:(await a.insert(u.$m).values({entityId:b,skillId:c.skillId,agentId:c.agentId}),{ok:!0})}async function y(a,b,c,d){return 0===(await a.update(u.$m).set({scriptsAuthorized:d}).where((0,h.Uo)((0,h.eq)(u.$m.agentId,b),(0,h.eq)(u.$m.skillId,c))).returning({id:u.$m.id})).length?{error:"not_assigned"}:{ok:!0}}async function z(a,b,c,d){return 0===(await a.update(u.$m).set({filesWritable:d}).where((0,h.Uo)((0,h.eq)(u.$m.agentId,b),(0,h.eq)(u.$m.skillId,c))).returning({id:u.$m.id})).length?{error:"not_assigned"}:{ok:!0}}async function A(a,b){0!==b.length&&await a.update(u.eK).set({lastUsedAt:(0,t.ll)`now()`}).where((0,h.RV)(u.eK.id,b))}async function B(a,b,c){let[d]=await a.select({id:u.eK.id,createdBy:u.eK.createdBy}).from(u.eK).where((0,h.Uo)((0,h.eq)(u.eK.id,c),(0,h.eq)(u.eK.entityId,b))).limit(1);return d?"agent"!==d.createdBy?{error:"not_agent_skill"}:(await a.update(u.eK).set({state:"archived",archivedAt:new Date,updatedAt:new Date}).where((0,h.Uo)((0,h.eq)(u.eK.id,c),(0,h.eq)(u.eK.entityId,b))),{ok:!0}):{error:"not_found"}}let C="install_notes";async function D(a,b){let[c]=await a.select({value:f.appSettings.value}).from(f.appSettings).where((0,h.eq)(f.appSettings.key,b)).limit(1);return c?.value??""}async function E(a,b,c){await a.insert(f.appSettings).values({key:b,value:c}).onConflictDoUpdate({target:f.appSettings.key,set:{value:c,updatedAt:(0,t.ll)`now()`}})}async function F(a){return D(a,C)}async function G(a,b){return E(a,C,b)}var H=c(11242)},49959:(a,b,c)=>{"use strict";c.d(b,{h:()=>k});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(42891),i=c(16471),j=c(12788);let k=(0,d.cJ)("entity_llm_keys",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").notNull().references(()=>j.O.id,{onDelete:"cascade"}),provider:(0,f.Qq)("provider").notNull(),apiKey:(0,f.Qq)("api_key").notNull().default(""),apiKeyLast4:(0,f.Qq)("api_key_last4").notNull().default(""),baseUrl:(0,f.Qq)("base_url"),nickname:(0,f.Qq)("nickname"),isActive:(0,g.zM)("is_active").notNull().default(!0),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,i.Pe)("idx_entity_llm_keys_entity_id").on(a.entityId)])},54789:(a,b,c)=>{"use strict";c.d(b,{I$:()=>s,Qj:()=>r,X6:()=>q});var d=c(85653),e=c(99768),f=c(49500),g=c(52019),h=c(37607),i=c(27940),j=c(91605),k=c(42891),l=c(16471),m=c(66618),n=c(29123),o=c(12788),p=c(49959);let q=(0,d.cJ)("agents",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>o.O.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull().unique(),personality:(0,f.Qq)("personality").notNull(),model:(0,f.Qq)("model").default("claude-sonnet-4-6-20260217"),llmKeyId:(0,e.uR)("llm_key_id").references(()=>p.h.id,{onDelete:"set null"}),fallbackChain:(0,g.Fx)("fallback_chain").$type().default((0,n.ll)`'[]'::jsonb`),active:(0,h.zM)("active").default(!0),isDefault:(0,h.zM)("is_default").default(!1),role:(0,f.Qq)("role").default("agent"),orchestratorMode:(0,f.Qq)("orchestrator_mode"),telegramBotToken:(0,f.Qq)("telegram_bot_token"),telegramBotUsername:(0,f.Qq)("telegram_bot_username"),telegramOffset:(0,i.o)("telegram_offset",{mode:"number"}),lastSeenChatIdTelegram:(0,f.Qq)("last_seen_chat_id_telegram"),requiresApproval:(0,f.Qq)("requires_approval").array().default((0,n.ll)`'{}'::text[]`),capabilities:(0,f.Qq)("capabilities").array().default((0,n.ll)`'{}'::text[]`),taskContextTemplate:(0,f.Qq)("task_context_template"),avatarUrl:(0,f.Qq)("avatar_url"),systemAgent:(0,h.zM)("system_agent").default(!1),maxTokensPerJob:(0,j.nd)("max_tokens_per_job").default(0).notNull(),memoryTokenBudget:(0,j.nd)("memory_token_budget").default(1500).notNull(),position:(0,j.nd)("position").default(0).notNull(),createdAt:(0,k.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,k.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,l.Pe)("idx_agents_entity_id").on(a.entityId),(0,l.Pe)("idx_agents_position").on(a.position),(0,m.z6)("agents_role_check",(0,n.ll)`${a.role} IN ('agent', 'orchestrator', 'system')`),(0,m.z6)("agents_orchestrator_mode_check",(0,n.ll)`${a.orchestratorMode} IN ('router', 'planner') OR ${a.orchestratorMode} IS NULL`),(0,m.z6)("agents_max_tokens_per_job_check",(0,n.ll)`${a.maxTokensPerJob} >= 0`)]),r=(0,d.cJ)("agent_assignments",{id:(0,e.uR)("id").primaryKey().defaultRandom(),orchestratorId:(0,e.uR)("orchestrator_id").notNull().references(()=>q.id,{onDelete:"cascade"}),subAgentId:(0,e.uR)("sub_agent_id").notNull().references(()=>q.id,{onDelete:"cascade"}),entityId:(0,e.uR)("entity_id").notNull().references(()=>o.O.id,{onDelete:"cascade"}),instructions:(0,f.Qq)("instructions"),createdAt:(0,k.vE)("created_at",{withTimezone:!0}).notNull().defaultNow()},()=>[]),s=(0,d.cJ)("agent_budgets",{id:(0,e.uR)("id").primaryKey().defaultRandom(),agentId:(0,e.uR)("agent_id").unique().references(()=>q.id,{onDelete:"cascade"}),entityId:(0,e.uR)("entity_id").references(()=>o.O.id,{onDelete:"cascade"}),dailyTokenLimit:(0,i.o)("daily_token_limit",{mode:"number"}).default(0),monthlyTokenLimit:(0,i.o)("monthly_token_limit",{mode:"number"}).default(0),alertThresholdPct:(0,j.nd)("alert_threshold_pct").default(80),autoPause:(0,h.zM)("auto_pause").default(!1),maxJobTokens:(0,j.nd)("max_job_tokens").default(15e4),createdAt:(0,k.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,k.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,l.Pe)("idx_agent_budgets_entity_id").on(a.entityId),(0,m.z6)("agent_budgets_alert_threshold_pct_check",(0,n.ll)`${a.alertThresholdPct} >= 0 AND ${a.alertThresholdPct} <= 100`)])},57119:(a,b,c)=>{"use strict";c.d(b,{K:()=>j,V:()=>i});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(42891);let i=(0,d.cJ)("users",{id:(0,e.uR)("id").primaryKey().defaultRandom(),email:(0,f.Qq)("email").notNull().unique(),passwordHash:(0,f.Qq)("password_hash"),name:(0,f.Qq)("name").notNull().default(""),emailVerified:(0,g.zM)("email_verified").notNull().default(!1),image:(0,f.Qq)("image"),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),j=(0,d.cJ)("user_profiles",{userId:(0,e.uR)("user_id").primaryKey().notNull().references(()=>i.id,{onDelete:"cascade"}),displayName:(0,f.Qq)("display_name"),avatarUrl:(0,f.Qq)("avatar_url"),timezone:(0,f.Qq)("timezone").notNull().default("UTC"),locale:(0,f.Qq)("locale").notNull().default("en"),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()})},58112:()=>{},59487:(a,b,c)=>{"use strict";c.r(b),c.d(b,{AGENT_ROLES:()=>d.s$,APPROVAL_RULE_ACTIONS:()=>d.vV,APPROVAL_STATUSES:()=>d.NY,CONNECTOR_AUTH_TYPES:()=>d.p6,ENTITY_INDUSTRIES:()=>d.dO,ENTITY_MEMBER_ROLES:()=>d.Li,JOB_CHANNELS:()=>d.vH,JOB_STATUSES:()=>d.nE,MCP_TRANSPORTS:()=>d.ip,MEMORY_CATEGORIES:()=>d.BJ,MEMORY_LAYERS:()=>d.dg,MEMORY_SOURCES:()=>d.rc,OPERATION_RISK_LEVELS:()=>d.Uw,ORCHESTRATOR_MODES:()=>d.GN,PLUGIN_HOOKS:()=>d.bt,PLUGIN_TYPES:()=>d.Y7,SCHEDULE_LAST_STATUSES:()=>d.Ur,SCHEDULE_TYPES:()=>d.GB,TASK_PRIORITIES:()=>d.PN,TASK_STATUSES:()=>d.Hi,accounts:()=>O,agentAssignments:()=>g.Qj,agentBudgets:()=>g.I$,agentConnectorAssignments:()=>R,agentJobs:()=>r,agentMcpServers:()=>I,agentMemory:()=>C,agentPlugins:()=>L,agentSchedules:()=>F,agentSkillAssignments:()=>E.$m,agentSkills:()=>E.eK,agentTasks:()=>t,agentWorkspaces:()=>S,agents:()=>g.X6,appSettings:()=>V,approvalRequests:()=>x,approvalRules:()=>y,chatMessages:()=>U,configuratorSessions:()=>K,connectors:()=>v.t,conversations:()=>T,credentials:()=>u.z,entities:()=>f.O,entityLlmKeys:()=>G.h,entityMembers:()=>f.V,mcpConnections:()=>J,mcpServers:()=>H,rateLimits:()=>M,sessions:()=>N,skillConnectors:()=>E.IS,skillVersions:()=>E.bq,toolCalls:()=>w,userProfiles:()=>e.K,users:()=>e.V,verifications:()=>P,webhookTriggers:()=>D});var d=c(64190),e=c(57119),f=c(12788),g=c(54789),h=c(85653),i=c(99768),j=c(49500),k=c(52019),l=c(91605),m=c(30983),n=c(42891),o=c(16471),p=c(66618),q=c(29123);let r=(0,h.cJ)("agent_jobs",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),status:(0,j.Qq)("status").default("pending"),channel:(0,j.Qq)("channel").notNull(),task:(0,j.Qq)("task").notNull(),originalTask:(0,j.Qq)("original_task"),chatId:(0,j.Qq)("chat_id"),systemPrompt:(0,j.Qq)("system_prompt"),messages:(0,k.Fx)("messages").default((0,q.ll)`'[]'::jsonb`),searchText:(0,j.Qq)("search_text"),toolsUsed:(0,j.Qq)("tools_used").array().default((0,q.ll)`'{}'::text[]`),turn:(0,l.nd)("turn").default(0),result:(0,j.Qq)("result"),error:(0,j.Qq)("error"),chainCount:(0,l.nd)("chain_count").default(0),requestId:(0,j.Qq)("request_id"),parentJobId:(0,i.uR)("parent_job_id"),parentRequestId:(0,j.Qq)("parent_request_id"),totalDurationMs:(0,l.nd)("total_duration_ms").default(0),inputTokens:(0,l.nd)("input_tokens").default(0),outputTokens:(0,l.nd)("output_tokens").default(0),effectiveInputTokens:(0,l.nd)("effective_input_tokens").default(0),totalCostUsd:(0,m.x)("total_cost_usd").default(0),servedProvider:(0,j.Qq)("served_provider"),delegationDepth:(0,l.nd)("delegation_depth").default(0),lastFailedDelegationSlug:(0,j.Qq)("last_failed_delegation_slug"),pendingDelegation:(0,k.Fx)("pending_delegation"),completedAt:(0,n.vE)("completed_at",{withTimezone:!0}),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_jobs_entity_id").on(a.entityId),(0,o.Pe)("idx_agent_jobs_entity_created").on(a.entityId,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_agent_jobs_entity_status_created").on(a.entityId,a.status,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_agent_jobs_parent_job_id").on(a.parentJobId),(0,o.Pe)("idx_jobs_parent").on(a.parentJobId),(0,o.Pe)("idx_jobs_status").on(a.status,a.createdAt),(0,p.z6)("agent_jobs_status_check",(0,q.ll)`${a.status} IN ('pending','processing','completed','failed','awaiting_approval','awaiting_delegation','cancelled')`),(0,p.z6)("agent_jobs_channel_check",(0,q.ll)`${a.channel} IN ('telegram','api','whatsapp','internal','cron','task-board','slack','discord','dashboard')`)]);var s=c(49152);let t=(0,h.cJ)("agent_tasks",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),orchestratorId:(0,i.uR)("orchestrator_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),title:(0,j.Qq)("title").notNull(),description:(0,j.Qq)("description"),status:(0,j.Qq)("status").notNull().default("todo"),priority:(0,j.Qq)("priority").notNull().default("medium"),jobId:(0,i.uR)("job_id").references(()=>r.id,{onDelete:"set null"}),result:(0,j.Qq)("result"),createdByAgentId:(0,i.uR)("created_by_agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),assignedAgentId:(0,i.uR)("assigned_agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),inputTokens:(0,l.nd)("input_tokens").default(0),outputTokens:(0,l.nd)("output_tokens").default(0),costUsd:(0,s.sH)("cost_usd",{precision:10,scale:6}).default("0"),dependsOn:(0,i.uR)("depends_on").array().default((0,q.ll)`'{}'::uuid[]`),context:(0,k.Fx)("context").default((0,q.ll)`'{}'::jsonb`),rootJobId:(0,i.uR)("root_job_id"),lockedAt:(0,n.vE)("locked_at",{withTimezone:!0}),lockedBy:(0,j.Qq)("locked_by"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_agent_tasks_entity").on(a.entityId),(0,o.Pe)("idx_agent_tasks_entity_status_created").on(a.entityId,a.status,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_agent_tasks_orchestrator_status").on(a.orchestratorId,a.status),(0,o.Pe)("idx_agent_tasks_status").on(a.status),(0,o.Pe)("idx_agent_tasks_assigned").on(a.assignedAgentId),(0,p.z6)("agent_tasks_status_check",(0,q.ll)`${a.status} IN ('todo','in_progress','done','cancelled','blocked')`),(0,p.z6)("agent_tasks_priority_check",(0,q.ll)`${a.priority} IN ('low','medium','high')`),(0,p.z6)("agent_tasks_title_check",(0,q.ll)`char_length(${a.title}) <= 200`),(0,p.z6)("agent_tasks_description_check",(0,q.ll)`${a.description} IS NULL OR char_length(${a.description}) <= 2000`)]);var u=c(62637),v=c(98935);let w=(0,h.cJ)("tool_calls",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),jobId:(0,i.uR)("job_id").references(()=>r.id,{onDelete:"cascade"}),toolName:(0,j.Qq)("tool_name").notNull(),toolInput:(0,k.Fx)("tool_input"),toolOutput:(0,j.Qq)("tool_output"),durationMs:(0,l.nd)("duration_ms"),turn:(0,l.nd)("turn"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_tool_calls_entity_id").on(a.entityId),(0,o.Pe)("idx_tool_calls_job").on(a.jobId),(0,o.Pe)("idx_tool_calls_job_created").on(a.jobId,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_tool_calls_recent").on((0,q.ll)`${a.createdAt} DESC`)]),x=(0,h.cJ)("approval_requests",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),jobId:(0,i.uR)("job_id").notNull().references(()=>r.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),toolName:(0,j.Qq)("tool_name").notNull(),toolInput:(0,k.Fx)("tool_input").notNull(),status:(0,j.Qq)("status").default("pending"),requestedAt:(0,n.vE)("requested_at",{withTimezone:!0}).defaultNow(),resolvedAt:(0,n.vE)("resolved_at",{withTimezone:!0}),resolvedBy:(0,j.Qq)("resolved_by"),expiresAt:(0,n.vE)("expires_at",{withTimezone:!0}).default((0,q.ll)`now() + interval '1 hour'`),notes:(0,j.Qq)("notes"),executedAt:(0,n.vE)("executed_at",{withTimezone:!0})},a=>[(0,o.Pe)("idx_approval_requests_entity_id").on(a.entityId),(0,o.Pe)("idx_approval_status").on(a.status,a.requestedAt),(0,o.Pe)("idx_approval_requests_agent_id").on(a.agentId),(0,o.Pe)("idx_approval_requests_job_id").on(a.jobId),(0,p.z6)("approval_requests_status_check",(0,q.ll)`${a.status} IN ('pending','approved','rejected','expired')`)]),y=(0,h.cJ)("approval_rules",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),toolName:(0,j.Qq)("tool_name").notNull(),action:(0,j.Qq)("action").notNull(),conditionJson:(0,k.Fx)("condition_json").default((0,q.ll)`'{}'::jsonb`),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_approval_rules_entity_id").on(a.entityId),(0,p.z6)("approval_rules_action_check",(0,q.ll)`${a.action} IN ('auto_approve','require_approval','block')`)]);var z=c(64264),A=c(37607);let B=(0,z._z)({dataType(a){let b=a?.dimensions??1536;return`vector(${b})`},fromDriver:a=>JSON.parse(a),toDriver:a=>`[${a.join(",")}]`}),C=(0,h.cJ)("agent_memory",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),fact:(0,j.Qq)("fact").notNull(),category:(0,j.Qq)("category").default("context"),importance:(0,l.nd)("importance").default(3),source:(0,j.Qq)("source").default("agent"),skillTags:(0,j.Qq)("skill_tags").array().default((0,q.ll)`'{}'::text[]`),memoryLayer:(0,j.Qq)("memory_layer"),embedding:B("embedding",{dimensions:1536}),validFrom:(0,n.vE)("valid_from",{withTimezone:!0}).defaultNow(),validTo:(0,n.vE)("valid_to",{withTimezone:!0}),factHash:(0,j.Qq)("fact_hash"),archived:(0,A.zM)("archived").default(!1),importanceLocked:(0,A.zM)("importance_locked").notNull().default(!1),lastAccessedAt:(0,n.vE)("last_accessed_at",{withTimezone:!0}).defaultNow(),accessCount:(0,l.nd)("access_count").default(0),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_memory_entity_id").on(a.entityId),(0,o.Pe)("idx_agent_memory_entity_active").on(a.entityId,a.archived,a.validTo),(0,o.Pe)("idx_agent_memory_archived").on(a.archived),(0,o.Pe)("idx_agent_memory_last_accessed").on(a.lastAccessedAt),(0,o.Pe)("idx_agent_memory_layer").on(a.memoryLayer),(0,o.Pe)("idx_agent_memory_fact_hash").on(a.factHash),(0,o.Pe)("idx_memory_category").on(a.category,(0,q.ll)`${a.importance} DESC`),(0,p.z6)("agent_memory_category_check",(0,q.ll)`${a.category} IN ('preference','context','outcome','learned_rule')`),(0,p.z6)("agent_memory_importance_check",(0,q.ll)`${a.importance} >= 1 AND ${a.importance} <= 5`),(0,p.z6)("agent_memory_source_check",(0,q.ll)`${a.source} IN ('agent','reflection','manual')`)]),D=(0,h.cJ)("webhook_triggers",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),name:(0,j.Qq)("name").notNull(),slug:(0,j.Qq)("slug").notNull().unique(),taskTemplate:(0,j.Qq)("task_template").notNull(),active:(0,A.zM)("active").default(!0),secret:(0,j.Qq)("secret"),lastTriggeredAt:(0,n.vE)("last_triggered_at",{withTimezone:!0}),triggerCount:(0,l.nd)("trigger_count").default(0),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_webhook_triggers_entity_id").on(a.entityId)]);var E=c(82017);let F=(0,h.cJ)("agent_schedules",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),type:(0,j.Qq)("type").notNull().default("cron"),name:(0,j.Qq)("name").notNull(),cronExpr:(0,j.Qq)("cron_expr").notNull(),timezone:(0,j.Qq)("timezone"),task:(0,j.Qq)("task"),objectives:(0,j.Qq)("objectives"),active:(0,A.zM)("active").default(!0),lastRun:(0,n.vE)("last_run",{withTimezone:!0}),nextRun:(0,n.vE)("next_run",{withTimezone:!0}),lastStatus:(0,j.Qq)("last_status"),chatId:(0,j.Qq)("chat_id"),notifyOnSuccess:(0,A.zM)("notify_on_success").notNull().default(!1),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_schedules_entity_id").on(a.entityId),(0,o.Pe)("idx_schedules_active").on(a.active,a.nextRun),(0,p.z6)("agent_schedules_type_check",(0,q.ll)`${a.type} IN ('cron','heartbeat')`),(0,p.z6)("agent_schedules_last_status_check",(0,q.ll)`${a.lastStatus} IN ('success','failed','no_action') OR ${a.lastStatus} IS NULL`)]);var G=c(49959);let H=(0,h.cJ)("mcp_servers",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),name:(0,j.Qq)("name").notNull(),slug:(0,j.Qq)("slug").notNull(),transport:(0,j.Qq)("transport").notNull(),url:(0,j.Qq)("url"),command:(0,j.Qq)("command"),args:(0,j.Qq)("args").array().default((0,q.ll)`'{}'::text[]`),envVars:(0,k.Fx)("env_vars").default((0,q.ll)`'{}'::jsonb`),apiKey:(0,j.Qq)("api_key"),apiKeyLast4:(0,j.Qq)("api_key_last4"),authScheme:(0,j.Qq)("auth_scheme"),authParamName:(0,j.Qq)("auth_param_name"),active:(0,A.zM)("active").default(!0),availableTools:(0,k.Fx)("available_tools"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,p.z6)("mcp_servers_transport_check",(0,q.ll)`${a.transport} IN ('http','stdio')`),(0,p.z6)("mcp_servers_auth_scheme_check",(0,q.ll)`${a.authScheme} IN ('header','query','bearer') OR ${a.authScheme} IS NULL`)]),I=(0,h.cJ)("agent_mcp_servers",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),mcpServerId:(0,i.uR)("mcp_server_id").notNull().references(()=>H.id,{onDelete:"cascade"}),enabledTools:(0,k.Fx)("enabled_tools"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_agent_mcp_servers_agent").on(a.agentId),(0,o.Pe)("idx_agent_mcp_servers_entity").on(a.entityId),(0,o.GL)("agent_mcp_servers_agent_server_unique").on(a.agentId,a.mcpServerId)]),J=(0,h.cJ)("mcp_connections",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),slug:(0,j.Qq)("slug").notNull(),active:(0,A.zM)("active").notNull().default(!0),toolConfig:(0,k.Fx)("tool_config").notNull().default((0,q.ll)`'{}'::jsonb`),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_mcp_connections_entity").on(a.entityId)]),K=(0,h.cJ)("configurator_sessions",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),messages:(0,k.Fx)("messages").notNull().default((0,q.ll)`'[]'::jsonb`),status:(0,j.Qq)("status").notNull().default("active"),turnCount:(0,l.nd)("turn_count").notNull().default(0),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_configurator_sessions_entity").on(a.entityId),(0,o.Pe)("idx_configurator_sessions_agent").on(a.agentId)]),L=(0,h.cJ)("agent_plugins",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),name:(0,j.Qq)("name").notNull(),slug:(0,j.Qq)("slug").notNull(),description:(0,j.Qq)("description"),pluginType:(0,j.Qq)("plugin_type").notNull(),config:(0,k.Fx)("config").default((0,q.ll)`'{}'::jsonb`),active:(0,A.zM)("active").default(!0),hook:(0,j.Qq)("hook").notNull(),webhookUrl:(0,j.Qq)("webhook_url"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,p.z6)("agent_plugins_plugin_type_check",(0,q.ll)`${a.pluginType} IN ('webhook','transform','schedule')`),(0,p.z6)("agent_plugins_hook_check",(0,q.ll)`${a.hook} IN ('pre_task','post_task','pre_tool','post_tool','on_memory_save')`)]),M=(0,h.cJ)("rate_limits",{key:(0,j.Qq)("key").primaryKey(),count:(0,l.nd)("count").default(1),windowStart:(0,n.vE)("window_start",{withTimezone:!0}).defaultNow()}),N=(0,h.cJ)("sessions",{id:(0,j.Qq)("id").primaryKey(),userId:(0,i.uR)("user_id").notNull().references(()=>e.V.id,{onDelete:"cascade"}),expiresAt:(0,n.vE)("expires_at",{withTimezone:!0}).notNull(),token:(0,j.Qq)("token").notNull().unique(),ipAddress:(0,j.Qq)("ip_address"),userAgent:(0,j.Qq)("user_agent"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),O=(0,h.cJ)("accounts",{id:(0,j.Qq)("id").primaryKey(),userId:(0,i.uR)("user_id").notNull().references(()=>e.V.id,{onDelete:"cascade"}),providerId:(0,j.Qq)("provider_id").notNull(),accountId:(0,j.Qq)("account_id").notNull(),accessToken:(0,j.Qq)("access_token"),refreshToken:(0,j.Qq)("refresh_token"),idToken:(0,j.Qq)("id_token"),accessTokenExpiresAt:(0,n.vE)("access_token_expires_at",{withTimezone:!0}),refreshTokenExpiresAt:(0,n.vE)("refresh_token_expires_at",{withTimezone:!0}),scope:(0,j.Qq)("scope"),password:(0,j.Qq)("password"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),P=(0,h.cJ)("verifications",{id:(0,j.Qq)("id").primaryKey(),identifier:(0,j.Qq)("identifier").notNull(),value:(0,j.Qq)("value").notNull(),expiresAt:(0,n.vE)("expires_at",{withTimezone:!0}).notNull(),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()});var Q=c(68478);let R=(0,h.cJ)("agent_connector_assignments",{id:(0,i.uR)("id").primaryKey().defaultRandom(),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),connectorId:(0,i.uR)("connector_id").notNull().references(()=>v.t.id,{onDelete:"cascade"}),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),enabledOperations:(0,j.Qq)("enabled_operations").array(),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_connector_assignments_agent_id").on(a.agentId),(0,o.Pe)("idx_agent_connector_assignments_connector_id").on(a.connectorId),(0,Q.Am)("agent_connector_unique").on(a.agentId,a.connectorId)]),S=(0,h.cJ)("agent_workspaces",{id:(0,i.uR)("id").primaryKey().defaultRandom(),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),label:(0,j.Qq)("label").notNull(),path:(0,j.Qq)("path").notNull(),position:(0,l.nd)("position").default(0).notNull(),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.GL)("agent_workspaces_agent_label_unique").on(a.agentId,a.label),(0,o.Pe)("idx_agent_workspaces_agent_id").on(a.agentId)]),T=(0,h.cJ)("conversations",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),title:(0,j.Qq)("title").notNull().default(""),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_conversations_entity_agent").on(a.entityId,a.agentId,a.updatedAt)]),U=(0,h.cJ)("chat_messages",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),conversationId:(0,i.uR)("conversation_id").references(()=>T.id,{onDelete:"cascade"}),role:(0,j.Qq)("role").notNull(),content:(0,j.Qq)("content").notNull(),jobId:(0,i.uR)("job_id").references(()=>r.id,{onDelete:"set null"}),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_chat_messages_conversation").on(a.conversationId,a.createdAt),(0,p.z6)("chat_messages_role_check",(0,q.ll)`${a.role} IN ('user','assistant')`)]),V=(0,h.cJ)("app_settings",{key:(0,j.Qq)("key").primaryKey(),value:(0,j.Qq)("value").default("").notNull(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow().notNull()})},62637:(a,b,c)=>{"use strict";c.d(b,{z:()=>l});var d=c(85653),e=c(99768),f=c(49500),g=c(42891),h=c(16471),i=c(66618),j=c(29123),k=c(57119);let l=(0,d.cJ)("credentials",{id:(0,e.uR)("id").primaryKey().defaultRandom(),ownerUserId:(0,e.uR)("owner_user_id").notNull().references(()=>k.V.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),type:(0,f.Qq)("type").notNull(),payload:(0,f.Qq)("payload").notNull(),createdAt:(0,g.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,g.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,h.Pe)("idx_credentials_owner").on(a.ownerUserId),(0,h.Pe)("idx_credentials_type").on(a.type),(0,i.z6)("credentials_type_check",(0,j.ll)`${a.type} IN ('google-oauth','notion-oauth','airtable-oauth')`)])},64190:(a,b,c)=>{"use strict";c.d(b,{s$:()=>m,vV:()=>u,NY:()=>s,r_:()=>U,p6:()=>q,YT:()=>al,zw:()=>af,dO:()=>I,Li:()=>G,ap:()=>ag,vH:()=>e,nE:()=>g,$s:()=>ap,ip:()=>O,BJ:()=>w,dg:()=>A,rc:()=>y,yO:()=>ai,SV:()=>am,Uw:()=>K,GN:()=>o,bt:()=>N,Y7:()=>M,Ur:()=>E,GB:()=>C,PN:()=>k,Hi:()=>i,aT:()=>aj,ZH:()=>ab,R3:()=>ac,FM:()=>ao,DI:()=>ak,yg:()=>aq});var d=c(61989);let e=["telegram","api","whatsapp","internal","cron","task-board","slack","discord","dashboard"],f=d.k5(e),g=["pending","processing","completed","failed","awaiting_approval","awaiting_delegation","cancelled"],h=d.k5(g),i=["todo","in_progress","done","cancelled","blocked"],j=d.k5(i),k=["low","medium","high"],l=d.k5(k),m=["agent","orchestrator","system"],n=d.k5(m),o=["router","planner"],p=d.k5(o),q=["api_key","oauth2","bearer","basic","none"],r=d.k5(q),s=["pending","approved","rejected","expired"],t=d.k5(s),u=["auto_approve","require_approval","block"],v=d.k5(u),w=["preference","context","outcome","learned_rule"],x=d.k5(w),y=["agent","reflection","manual"],z=d.k5(y),A=["L1","L2","L3"],B=d.k5(A),C=["cron","heartbeat"],D=d.k5(C),E=["success","failed","no_action"],F=d.k5(E),G=["owner","admin","member","viewer"],H=d.k5(G),I=["agency","startup","personal","studio","enterprise","other"],J=d.k5(I),K=["read","write","destructive"],L=d.k5(K),M=["webhook","transform","schedule"];d.k5(M);let N=["pre_task","post_task","pre_tool","post_tool","on_memory_save"];d.k5(N);let O=["http","stdio"];d.k5(O),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Ik({id:d.Yj().guid(),user_id:d.Yj().guid(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),description:d.Yj().max(500).nullable(),icon:d.Yj().max(4),industry:J.nullable(),goal:d.Yj().max(1e3).nullable(),mcp_token:d.Yj().guid().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,mcp_token:!0,created_at:!0,updated_at:!0}).extend({description:d.Yj().max(500).nullable().optional(),icon:d.Yj().max(4).default("\uD83C\uDFE2"),industry:J.nullable().optional(),goal:d.Yj().max(1e3).nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),user_id:d.Yj().guid(),role:H,created_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0}).extend({role:H.default("owner")}),d.Ik({user_id:d.Yj().guid(),display_name:d.Yj().max(120).nullable(),avatar_url:d.Yj().max(500).nullable(),timezone:d.Yj().max(80),locale:d.Yj().max(10),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({created_at:!0,updated_at:!0}).extend({display_name:d.Yj().max(120).nullable().optional(),avatar_url:d.Yj().max(500).nullable().optional(),timezone:d.Yj().max(80).default("UTC"),locale:d.Yj().max(10).default("en")}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),personality:d.Yj().min(1),model:d.Yj().min(1),active:d.zM(),is_default:d.zM(),role:n,orchestrator_mode:p.nullable(),telegram_bot_token:d.Yj().nullable(),telegram_bot_username:d.Yj().nullable(),telegram_offset:d.ai().int().nonnegative().nullable(),requires_approval:d.YO(d.Yj()),capabilities:d.YO(d.Yj()),task_context_template:d.Yj().nullable(),avatar_url:d.Yj().nullable(),system_agent:d.zM(),max_tokens_per_job:d.ai().int().min(0),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,telegram_offset:!0,capabilities:!0,system_agent:!0}).extend({active:d.zM().default(!0),is_default:d.zM().default(!1),role:n.default("agent"),orchestrator_mode:p.nullable().optional(),telegram_bot_token:d.Yj().nullable().optional(),telegram_bot_username:d.Yj().nullable().optional(),requires_approval:d.YO(d.Yj()).default([]),task_context_template:d.Yj().nullable().optional(),avatar_url:d.Yj().nullable().optional(),max_tokens_per_job:d.ai().int().min(0).max(5e5).default(0)});let P=d.ai().int().min(0),Q=d.ai().int().min(0);d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),status:h,channel:f,task:d.Yj().min(1),original_task:d.Yj().nullable(),chat_id:d.Yj().nullable(),system_prompt:d.Yj().nullable(),messages:d.YO(d.g1(d.Yj(),d.L5())),tools_used:d.YO(d.Yj()),turn:d.ai().int().min(0),result:d.Yj().nullable(),error:d.Yj().nullable(),chain_count:P,request_id:d.Yj().nullable(),parent_job_id:d.Yj().guid().nullable(),parent_request_id:d.Yj().nullable(),total_duration_ms:d.ai().int().min(0),input_tokens:d.ai().int().min(0),output_tokens:d.ai().int().min(0),delegation_depth:Q,pending_delegation:d.g1(d.Yj(),d.L5()).nullable(),completed_at:d.Yj().datetime().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,completed_at:!0,messages:!0,tools_used:!0,turn:!0,result:!0,error:!0,chain_count:!0,total_duration_ms:!0,input_tokens:!0,output_tokens:!0,delegation_depth:!0,pending_delegation:!0,parent_request_id:!0}).extend({status:h.default("pending"),original_task:d.Yj().nullable().optional(),chat_id:d.Yj().nullable().optional(),system_prompt:d.Yj().nullable().optional(),request_id:d.Yj().nullable().optional(),parent_job_id:d.Yj().guid().nullable().optional()});let R=d.Yj().max(2e3).nullable(),S=d.Yj().min(1).max(200);d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),orchestrator_id:d.Yj().guid(),title:S,description:R,status:j,priority:l,job_id:d.Yj().guid().nullable(),result:d.Yj().nullable(),created_by_agent_id:d.Yj().guid().nullable(),assigned_agent_id:d.Yj().guid().nullable(),input_tokens:d.ai().int().min(0),output_tokens:d.ai().int().min(0),cost_usd:d.ai().min(0),depends_on:d.YO(d.Yj().guid()),context:d.g1(d.Yj(),d.L5()),root_job_id:d.Yj().guid().nullable(),locked_at:d.Yj().datetime().nullable(),locked_by:d.Yj().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,job_id:!0,result:!0,created_by_agent_id:!0,assigned_agent_id:!0,input_tokens:!0,output_tokens:!0,cost_usd:!0,depends_on:!0,context:!0,root_job_id:!0,locked_at:!0,locked_by:!0}).extend({status:j.default("todo"),priority:l.default("medium"),description:R.optional(),depends_on:d.YO(d.Yj().guid()).default([]),context:d.g1(d.Yj(),d.L5()).default({}),root_job_id:d.Yj().guid().nullable().optional()}),d.Ik({id:d.Yj().guid(),owner_user_id:d.Yj().guid(),name:d.Yj().min(1),type:d.k5(["google-oauth","notion-oauth","airtable-oauth"]),payload:d.Yj(),created_at:d.p6().nullable(),updated_at:d.p6().nullable()}),d.Ik({clientId:d.Yj(),clientSecret:d.Yj(),refreshToken:d.Yj().nullable(),accessToken:d.Yj(),expiresAt:d.Yj().nullable(),scopes:d.Yj(),accountName:d.Yj(),tokenUrl:d.Yj().url()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),base_url:d.Yj().nullable(),api_key:d.Yj().nullable(),active:d.zM(),auth_type:r,credential_id:d.Yj().guid().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({active:d.zM().default(!0),auth_type:r.default("api_key"),base_url:d.Yj().nullable().optional(),api_key:d.Yj().nullable().optional(),credential_id:d.Yj().guid().nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),job_id:d.Yj().guid().nullable(),tool_name:d.Yj().min(1),tool_input:d.g1(d.Yj(),d.L5()).nullable(),tool_output:d.Yj().nullable(),duration_ms:d.ai().int().min(0).nullable(),turn:d.ai().int().min(0).nullable(),created_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0}).extend({tool_input:d.g1(d.Yj(),d.L5()).nullable().optional(),tool_output:d.Yj().nullable().optional(),duration_ms:d.ai().int().min(0).nullable().optional(),turn:d.ai().int().min(0).nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),job_id:d.Yj().guid(),agent_id:d.Yj().guid().nullable(),tool_name:d.Yj().min(1),tool_input:d.g1(d.Yj(),d.L5()),status:t,requested_at:d.Yj().datetime(),resolved_at:d.Yj().datetime().nullable(),resolved_by:d.Yj().nullable(),expires_at:d.Yj().datetime().nullable(),notes:d.Yj().nullable()}).strict().omit({id:!0,requested_at:!0,resolved_at:!0,resolved_by:!0,expires_at:!0}).extend({status:t.default("pending"),notes:d.Yj().nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),tool_name:d.Yj().min(1),action:v,condition_json:d.g1(d.Yj(),d.L5()),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({agent_id:d.Yj().guid().nullable().optional(),condition_json:d.g1(d.Yj(),d.L5()).default({})});let T=d.ai().int().min(1).max(5),U=d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),fact:d.Yj().min(1),category:x,importance:T,source:z,skill_tags:d.YO(d.Yj().max(60)),memory_layer:B.nullable(),valid_from:d.Yj().datetime().nullable(),valid_to:d.Yj().datetime().nullable(),fact_hash:d.Yj().nullable(),archived:d.zM(),importance_locked:d.zM().default(!1),last_accessed_at:d.Yj().datetime().nullable(),access_count:d.ai().int().min(0),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,fact_hash:!0,archived:!0,importance_locked:!0,last_accessed_at:!0,access_count:!0,valid_from:!0,valid_to:!0}).extend({agent_id:d.Yj().guid().nullable().optional(),category:x.default("context"),importance:T.default(3),source:z.default("manual"),skill_tags:d.YO(d.Yj().max(60)).max(20).default([]),memory_layer:B.nullable().optional()});d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),task_template:d.Yj().min(1),active:d.zM(),secret:d.Yj().nullable(),last_triggered_at:d.Yj().datetime().nullable(),trigger_count:d.ai().int().min(0),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,secret:!0,last_triggered_at:!0,trigger_count:!0}).extend({active:d.zM().default(!0)});let V=d.Ik({name:d.Yj().min(1),slug:d.Yj().min(1).regex(/^[a-z0-9-]+$/),risk:L,requires_approval:d.zM()}).strict(),W=d.Ik({label:d.Yj().min(1),description:d.Yj().min(1),type:d.k5(["connector_slug","manual"]),value:d.Yj().optional(),critical:d.zM()}).strict();d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),content:d.Yj().min(1),active:d.zM(),description:d.Yj().max(300).nullable(),default_content:d.Yj().nullable(),content_overridden:d.zM(),required_config:d.YO(W),operations:d.YO(V),required_builtins:d.YO(d.Yj()),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({active:d.zM().default(!0),description:d.Yj().max(300).nullable().optional(),default_content:d.Yj().nullable().optional(),content_overridden:d.zM().default(!1),required_config:d.YO(W).default([]),operations:d.YO(V).default([]),required_builtins:d.YO(d.Yj()).default([])}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),agent_id:d.Yj().guid(),skill_id:d.Yj().guid(),approval_overrides:d.g1(d.Yj(),d.zM()),use_custom_instructions:d.zM(),enabled_operations:d.YO(d.Yj()).nullable(),created_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0}).extend({approval_overrides:d.g1(d.Yj(),d.zM()).default({}),use_custom_instructions:d.zM().default(!1),enabled_operations:d.YO(d.Yj()).nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid(),type:D,name:d.Yj().min(1).max(120),cron_expr:d.Yj().min(1),task:d.Yj().nullable(),objectives:d.Yj().nullable(),active:d.zM(),last_run:d.Yj().datetime().nullable(),next_run:d.Yj().datetime().nullable(),last_status:F.nullable(),chat_id:d.Yj().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,last_run:!0,next_run:!0,last_status:!0}).extend({type:D.default("cron"),active:d.zM().default(!0),task:d.Yj().nullable().optional(),objectives:d.Yj().nullable().optional(),chat_id:d.Yj().nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),provider:d.Yj().min(1),api_key:d.Yj(),base_url:d.Yj().nullable(),nickname:d.Yj().max(80).nullable(),is_active:d.zM(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({api_key:d.Yj().default(""),base_url:d.Yj().nullable().optional(),nickname:d.Yj().max(80).nullable().optional(),is_active:d.zM().default(!0)});let X="https://accounts.google.com/o/oauth2/v2/auth",Y="https://oauth2.googleapis.com/token",Z=["https://www.googleapis.com/auth/userinfo.email","openid"],$={access_type:"offline",prompt:"consent",include_granted_scopes:"true"},_={url:"https://www.googleapis.com/oauth2/v3/userinfo",nameField:"name",emailField:"email"},aa={"google-drive":{slug:"google-drive",label:"Google Drive",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/drive",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},gmail:{slug:"gmail",label:"Gmail",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/gmail.readonly","https://www.googleapis.com/auth/gmail.send",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"google-calendar":{slug:"google-calendar",label:"Google Calendar",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/calendar",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"google-sheets":{slug:"google-sheets",label:"Google Sheets",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/spreadsheets",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"google-docs":{slug:"google-docs",label:"Google Docs",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/documents",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"notion-oauth":{slug:"notion-oauth",label:"Notion (OAuth)",authUrl:"https://api.notion.com/v1/oauth/authorize",tokenUrl:"https://api.notion.com/v1/oauth/token",scopes:[],pkce:"none",tokenAuth:"basic",tokenBodyType:"json",accountInfo:null,supportsRefresh:!1,authExtraParams:{owner:"user",response_type:"code"},credentialType:"notion-oauth"},"airtable-oauth":{slug:"airtable-oauth",label:"Airtable",authUrl:"https://airtable.com/oauth2/v1/authorize",tokenUrl:"https://airtable.com/oauth2/v1/token",scopes:["data.records:read","data.records:write","schema.bases:read","schema.bases:write"],pkce:"pkce-s256",tokenAuth:"basic",tokenBodyType:"form",accountInfo:{url:"https://api.airtable.com/v0/meta/whoami",nameField:"email"},supportsRefresh:!0,authExtraParams:{response_type:"code"},credentialType:"airtable-oauth"}};function ab(a){return aa[a]??null}function ac(a){for(let b of Object.values(aa))if(b.credentialType===a)return b;return null}let ad=d.k5(["propose_confirm","destructive_gate","fully_autonomous"]),ae=d.Ik({createAgent:d.zM(),updateAgent:d.zM(),attachAgent:d.zM(),createSkill:d.zM(),updateSkill:d.zM(),assignSkill:d.zM(),createMcp:d.zM(),attachMcp:d.zM(),createConnector:d.zM(),attachConnector:d.zM(),manageSchedules:d.zM(),autonomy:ad}),af={createAgent:!0,updateAgent:!0,attachAgent:!0,createSkill:!0,updateSkill:!0,assignSkill:!0,createMcp:!0,attachMcp:!0,createConnector:!0,attachConnector:!0,manageSchedules:!0,autonomy:"propose_confirm"},ag={createAgent:!1,updateAgent:!1,attachAgent:!1,createSkill:!1,updateSkill:!1,assignSkill:!1,createMcp:!1,attachMcp:!1,createConnector:!1,attachConnector:!1,manageSchedules:!1,autonomy:"propose_confirm"},ah={createAgent:"create_agent",updateAgent:"update_agent",attachAgent:["attach_agent","detach_agent"],createSkill:"create_skill",updateSkill:"update_skill",assignSkill:["attach_skill","detach_skill"],createMcp:"create_mcp",attachMcp:["attach_mcp","detach_mcp"],createConnector:"create_connector",attachConnector:["attach_connector","detach_connector"],manageSchedules:["create_schedule","update_schedule","toggle_schedule","run_schedule"]},ai=["create_agent","update_agent","attach_agent","detach_agent","create_skill","update_skill","attach_skill","detach_skill","create_mcp","attach_mcp","detach_mcp","create_connector","attach_connector","detach_connector","create_schedule","update_schedule","toggle_schedule","run_schedule"];function aj(a){return Object.keys(ah).filter(b=>!0===a[b]).flatMap(a=>{let b=ah[a];return Array.isArray(b)?[...b]:[b]})}function ak(a){let b=ae.safeParse(a);if(b.success)return b.data;let c=null!==a&&"object"==typeof a?a:{},d="boolean"==typeof c.createAgent?c.createAgent:af.createAgent,e="boolean"==typeof c.updateAgent?c.updateAgent:af.updateAgent,f="boolean"==typeof c.attachAgent?c.attachAgent:af.attachAgent,g="boolean"==typeof c.createSkill?c.createSkill:af.createSkill,h="boolean"==typeof c.updateSkill?c.updateSkill:af.updateSkill,i="boolean"==typeof c.assignSkill?c.assignSkill:af.assignSkill,j="boolean"==typeof c.createMcp&&c.createMcp,k="boolean"==typeof c.createConnector&&c.createConnector,l="boolean"==typeof c.attachMcp?c.attachMcp:j,m="boolean"==typeof c.attachConnector?c.attachConnector:k,n="boolean"==typeof c.manageSchedules&&c.manageSchedules,o=ad.safeParse(c.autonomy);return{createAgent:d,updateAgent:e,attachAgent:f,createSkill:g,updateSkill:h,assignSkill:i,createMcp:j,attachMcp:l,createConnector:k,attachConnector:m,manageSchedules:n,autonomy:o.success?o.data:af.autonomy}}let al=[{slug:"notion",label:"Notion",authType:"api_key",docsHint:"Create a Notion integration at notion.so/my-integrations and copy its internal secret."},{slug:"notion-oauth",label:"Notion (OAuth)",authType:"oauth2",credentialType:"notion-oauth",docsHint:"Public Integration via OAuth — create one at notion.so/my-integrations (Public type) and authorize from your dashboard."},{slug:"google-drive",label:"Google Drive",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"gmail",label:"Gmail",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"google-calendar",label:"Google Calendar",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"google-sheets",label:"Google Sheets",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"google-docs",label:"Google Docs",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"airtable-oauth",label:"Airtable (OAuth)",authType:"oauth2",credentialType:"airtable-oauth",docsHint:"OAuth flow for Airtable Public Integrations (recommended)."},{slug:"airtable",label:"Airtable",authType:"api_key",docsHint:"Personal Access Token — airtable.com/create/tokens."},{slug:"apify",label:"Apify",authType:"api_key",docsHint:"Apify API token — console.apify.com/account/integrations."},{slug:"firecrawl",label:"Firecrawl",authType:"api_key",docsHint:"Firecrawl API key — firecrawl.dev/account."},{slug:"tavily",label:"Tavily",authType:"api_key",docsHint:"Tavily API key — app.tavily.com."},{slug:"poyo",label:"Poyo",authType:"api_key",docsHint:"Poyo API key — poyo.ai (API Console). Sent as a Bearer token."}],am={deepseek:[{modelId:"deepseek-chat",label:"DeepSeek Chat (V3)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:128e3},{modelId:"deepseek-reasoner",label:"DeepSeek Reasoner (R1)",capabilities:{tools:!0,forcedToolChoice:!0,reasoning:!0},contextWindow:128e3}],minimax:[{modelId:"MiniMax-M3",label:"MiniMax M3",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:1048576},{modelId:"MiniMax-M2.7",label:"MiniMax M2.7",capabilities:{tools:!0,forcedToolChoice:!1},contextWindow:2e5},{modelId:"MiniMax-M2",label:"MiniMax M2",capabilities:{tools:!0,forcedToolChoice:!1},contextWindow:2e5}],anthropic:[{modelId:"claude-opus-4-8",label:"Claude Opus 4.8",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5},{modelId:"claude-sonnet-4-6",label:"Claude Sonnet 4.6",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5},{modelId:"claude-haiku-4-5-20251001",label:"Claude Haiku 4.5",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5}],openai:[{modelId:"gpt-5",label:"GPT-5",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:4e5},{modelId:"gpt-5-mini",label:"GPT-5 mini",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:4e5}],google:[{modelId:"gemini-2.0-flash",label:"Gemini 2.0 Flash",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"gemini-2.5-pro",label:"Gemini 2.5 Pro",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576}],groq:[{modelId:"llama-3.3-70b-versatile",label:"Llama 3.3 70B",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:131072}],mistral:[{modelId:"mistral-large-latest",label:"Mistral Large",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:131072}],openrouter:[{modelId:"anthropic/claude-haiku-4.5",label:"Claude Haiku 4.5",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5},{modelId:"anthropic/claude-opus-4.7",label:"Claude Opus 4.7",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-opus-4.7-fast",label:"Claude Opus 4.7 (fast)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-opus-4.8",label:"Claude Opus 4.8",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-opus-4.8-fast",label:"Claude Opus 4.8 (fast)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-sonnet-4.6",label:"Claude Sonnet 4.6",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:131072},{modelId:"deepseek/deepseek-v4-flash",label:"DeepSeek V4 Flash",capabilities:{tools:!0,forcedToolChoice:!0,reasoning:!0},contextWindow:1048576,providerOrder:["deepseek"]},{modelId:"deepseek/deepseek-v4-pro",label:"DeepSeek V4 Pro",capabilities:{tools:!0,forcedToolChoice:!0,reasoning:!0},contextWindow:1048576,providerOrder:["deepseek"]},{modelId:"google/gemini-3.1-flash-lite-preview",label:"Gemini 3.1 Flash Lite (preview)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"google/gemini-3.1-pro-preview",label:"Gemini 3.1 Pro (preview)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"google/gemini-3.5-flash",label:"Gemini 3.5 Flash",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"google/gemma-4-31b-it",label:"Gemma 4 31B-IT",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:262144},{modelId:"minimax/minimax-m3",label:"MiniMax M3",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:1048576},{modelId:"z-ai/glm-5.2",label:"GLM 5.2",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:1048576},{modelId:"moonshotai/kimi-k2.7-code",label:"Kimi K2.7 Code",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:262144}]},an=new Set(["anthropic/claude-haiku-4.5","anthropic/claude-opus-4.7","anthropic/claude-opus-4.7-fast","anthropic/claude-opus-4.8","anthropic/claude-opus-4.8-fast","anthropic/claude-sonnet-4.6","google/gemini-3.1-flash-lite-preview","google/gemini-3.1-pro-preview","google/gemini-3.5-flash","google/gemma-4-31b-it","minimax/minimax-m3","moonshotai/kimi-k2.7-code","claude-opus-4-8","claude-sonnet-4-6","claude-haiku-4-5-20251001","gpt-5","gpt-5-mini","gemini-2.0-flash","gemini-2.5-pro","mistral-large-latest","MiniMax-M3"]);for(let a of Object.values(am))for(let b of a)b.capabilities.vision=an.has(b.modelId);function ao(a){return an.has(a)}let ap=[{slug:"cogni-cortex",label:"Cogni Cortex",description:"The Cortex — a social network for AI agents. Gives an agent ~28 tools to read the feed, post, vote, comment, and store memories.",serverUrl:"https://cogni-web-psi.vercel.app/api/mcp",transport:"http",authScheme:"header",authParamName:"x-api-key",keyPrefix:["cog_"],verifyToolName:"get_home",docsHint:'API key starting with cog_ — created in the Cogni app when a human registers an agent in "I control it" mode.'},{slug:"stripe",label:"Stripe",description:"Payment processing — read customers, products, prices, invoices, subscriptions; create coupons, payment links, refunds.",serverUrl:"https://mcp.stripe.com",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:["sk_","rk_"],verifyToolName:"retrieve_balance",docsHint:"Use a Restricted API Key (rk_test_… or rk_live_…) from https://dashboard.stripe.com/apikeys for least privilege — recommended. Standard secret keys (sk_test_… or sk_live_…) also work."},{slug:"composio",label:"Composio",description:"Meta-toolkit: a Composio MCP server you provision exposes hundreds of tools across Gmail, Slack, GitHub, Linear, and more — configured per-server on composio.dev.",serverUrl:null,transport:"http",authScheme:"header",authParamName:"x-api-key",keyPrefix:[],verifyToolName:null,docsHint:"Create an MCP server at https://app.composio.dev, paste its full URL here (format: https://backend.composio.dev/v3/mcp/<server-id>?user_id=<user-id>) plus your Composio API key."},{slug:"vidiq",label:"VidIQ",description:"YouTube growth toolkit — keyword research, video SEO scoring, competitor and channel analytics for creators.",serverUrl:"https://vidiq.com/mcp/",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Connect your VidIQ account at https://vidiq.com to obtain an MCP access token, then paste it here as the Bearer key."},{slug:"mcp-filesystem",label:"Filesystem",description:"Read and write files on the host machine. Useful for broad disk access outside an agent workspace. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <root-directory> in the args with the absolute path of the folder to expose (e.g. /home/user/docs). The server restricts all operations to that tree.",command:"npx",args:["-y","@modelcontextprotocol/server-filesystem@2026.1.14","<root-directory>"]},{slug:"mcp-fetch",label:"Fetch",description:"Fetch web pages and convert them to clean Markdown or plain text for agents. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"No API key required. The server fetches URLs on behalf of the agent.",command:"npx",args:["-y","mcp-fetch-server@1.1.2"]},{slug:"mcp-git",label:"Git",description:"Run git operations (status, diff, log, commit, branch, etc.) on a local repository. First run downloads the package via npx (requires network, ~5–10 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <repo-path> in the args with the absolute path to the git repository root (e.g. /home/user/myrepo). No API key required.",command:"npx",args:["-y","@cyanheads/git-mcp-server@2.15.1","--repo","<repo-path>"]},{slug:"mcp-github",label:"GitHub",description:"Read and manage GitHub repositories, issues, PRs, and code via a Personal Access Token. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create a GitHub Personal Access Token (PAT) at https://github.com/settings/tokens with the repo scope and paste it as the GITHUB_PERSONAL_ACCESS_TOKEN env var below.",command:"npx",args:["-y","@modelcontextprotocol/server-github@2025.4.8"],envVarNames:["GITHUB_PERSONAL_ACCESS_TOKEN"]},{slug:"mcp-postgres",label:"PostgreSQL",description:"Run read-only SQL queries against a PostgreSQL database. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <connection-string> in the args with your Postgres connection URL (e.g. postgresql://user:pass@host:5432/dbname). The server connects in read-only mode.",command:"npx",args:["-y","@modelcontextprotocol/server-postgres@0.6.2","<connection-string>"]},{slug:"mcp-playwright",label:"Playwright",description:"Browser automation — navigate pages, click, type, screenshot, and extract content from the web via a headless browser. First run downloads the package via npx (requires network, ~10–30 s latency for browser binary).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"No API key required. Playwright launches a local headless browser — make sure Chromium or Chrome is available on the host machine.",command:"npx",args:["-y","@playwright/mcp@0.0.75"]},{slug:"linear",label:"Linear",description:"Manage Linear issues, projects, teams, and cycles via a personal API key. Requires a Linear account.",serverUrl:null,transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:["lin_api_"],verifyToolName:null,docsHint:"Create a Personal API key at https://linear.app/settings/api. Paste the full URL of your Linear MCP endpoint (format: https://mcp.linear.app/sse) and your API key."},{slug:"sentry",label:"Sentry",description:"Query Sentry issues, events, and releases for debugging. Auth via a Sentry auth token.",serverUrl:null,transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create a Sentry Auth Token at https://sentry.io/settings/account/api/auth-tokens/. Paste the full URL of your Sentry MCP endpoint and your token."},{slug:"n8n",label:"n8n",description:"Workflow automation — let an agent list, read, build, and trigger n8n workflows on your instance. Runs the n8n-mcp server locally via npx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Set N8N_API_URL to your n8n instance (e.g. https://n8n.example.com) and N8N_API_KEY to an API key from Settings → n8n API. First run downloads the package via npx.",command:"npx",args:["-y","n8n-mcp"],envVarNames:["N8N_API_URL","N8N_API_KEY"],status:"pending"},{slug:"supabase",label:"Supabase",description:"Manage a Supabase project — list tables, run read-only SQL, inspect logs and advisors. Runs the official Supabase MCP server locally via npx (read-only by default).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <project-ref> in the args with your project ref (Project Settings → General). Set SUPABASE_ACCESS_TOKEN to a Personal Access Token from supabase.com/dashboard/account/tokens. Remove --read-only to allow writes.",command:"npx",args:["-y","@supabase/mcp-server-supabase@latest","--read-only","--project-ref=<project-ref>"],envVarNames:["SUPABASE_ACCESS_TOKEN"],status:"pending"},{slug:"airtable",label:"Airtable",description:"Read and write Airtable bases — list bases and tables, query records, create and update rows. Official hosted Airtable MCP server.",serverUrl:"https://mcp.airtable.com/mcp",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:["pat"],verifyToolName:null,docsHint:'Create a Personal Access Token at airtable.com/create/tokens (scopes: data.records:read/write, schema.bases:read) and paste it here as a Bearer token. (Airtable API keys are deprecated — use a PAT, which starts with "pat".) After connecting, pick which bases the integration can access at airtable.com/?integrations=thirdParty.'},{slug:"notion",label:"Notion",description:"Read and update Notion pages and databases — search, fetch, create, and edit content. Runs the official Notion MCP server locally via npx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:'Create an internal integration at notion.so/my-integrations, share the target pages/databases with it, and set NOTION_TOKEN to the integration secret (starts with ntn_). (Older package builds want OPENAPI_MCP_HEADERS instead — a JSON string {"Authorization":"Bearer ntn_…","Notion-Version":"2022-06-28"}.)',command:"npx",args:["-y","@notionhq/notion-mcp-server"],envVarNames:["NOTION_TOKEN"],status:"pending"},{slug:"perplexity",label:"Perplexity",description:"Real-time web search and research — gives an agent perplexity_search, perplexity_ask, perplexity_research (deep research with citations), and perplexity_reason (Sonar models). Runs the official Perplexity MCP server locally via npx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create an API key at https://console.perplexity.ai (Settings → API; keys start with pplx-) and set PERPLEXITY_API_KEY below. First run downloads the package via npx (requires network, ~5 s latency).",command:"npx",args:["-y","@perplexity-ai/mcp-server@0.9.0"],envVarNames:["PERPLEXITY_API_KEY"],status:"verified"},{slug:"apify",label:"Apify",description:"Run Apify Actors — thousands of ready-made scrapers and automation tools for social media, search engines, maps, e-commerce, and any website. Connects to the hosted Apify MCP server.",serverUrl:"https://mcp.apify.com",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create an API token in the Apify Console (Settings → API & Integrations) and paste it here as a Bearer token. The hosted server runs Actors on your behalf.",status:"pending"},{slug:"blender",label:"Blender",description:"Drive Blender from natural language — build/modify 3D scenes, objects, and materials, then render. Runs the popular blender-mcp server (ahujasid) locally via uvx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Install the BlenderMCP add-on from github.com/ahujasid/blender-mcp, open Blender 3.0+, and start its server (sidebar → BlenderMCP → Connect). Requires the `uv` package manager (uvx) on the host. No API key. (Blender also ships an official server at blender.org/lab/mcp-server.)",command:"uvx",args:["blender-mcp"],status:"verified"},{slug:"unity",label:"Unity",description:"Bridge an AI to the Unity Editor — manage assets, control scenes, edit scripts, run tests. Uses CoplayDev’s MCP for Unity (MIT — successor to justinpbarnett/unity-mcp).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"In Unity: Window → Package Manager → Add package from git URL → https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main. That installs the Python bridge under the package; replace <unity-mcp-server-dir> in the args with its absolute path (…/MCPForUnity/UnityMcpServer~/src). Requires `uv`. Confirm the server entry in github.com/CoplayDev/unity-mcp.",command:"uv",args:["run","--directory","<unity-mcp-server-dir>","server.py"],status:"pending"},{slug:"unreal-engine",label:"Unreal Engine",description:"Control Unreal Engine 5 from natural language — actors, Blueprints, procedural scene building. Uses the community unreal-mcp (chongdashu); Epic has no official MCP yet.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Clone github.com/chongdashu/unreal-mcp, install its UnrealMCP plugin into your UE5 project’s Plugins/, then point the args at the repo’s Python server dir: replace <unreal-mcp-python-dir> with the absolute path to that folder. Requires `uv`. Community project — verify the entry script name in its README.",command:"uv",args:["run","--directory","<unreal-mcp-python-dir>","unreal_mcp_server.py"],status:"pending"},{slug:"keyshot",label:"KeyShot",description:"Drive KeyShot rendering from an AI — import models, assign materials, set cameras/lighting, and render. Uses the keyshot-mcp bridge (pentatonic-ltd).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Set up the KeyShot-side bridge per the keyshot-mcp project (pentatonic-ltd) — a KeyShot script plus the MCP server — then replace <keyshot-mcp-dir> with the absolute repo path. Requires `uv`. Niche project — confirm the entry script in its README.",command:"uv",args:["run","--directory","<keyshot-mcp-dir>","server.py"],status:"pending"},{slug:"photoshop",label:"Photoshop",description:"Control Adobe Photoshop from natural language — documents, layers, text, filters, adjustments. Cross-platform (macOS + Windows) via the adb-mcp project (mikechambers, Adobe) using a UXP plugin.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:'Cross-platform (macOS + Windows). Set up adb-mcp (github.com/mikechambers/adb-mcp): (1) load its UXP plugin into Photoshop 26+ via the Adobe UXP Developer Tool, (2) run the Node proxy (node proxy.js in adb-proxy-socket — listens on ws://localhost:3001), (3) point this command at the repo — replace <adb-mcp-dir> with the absolute repo path. Requires `uv` + Node. Confirm the server entry (ps-mcp.py) in the README. Adobe ships no turnkey MCP. — Simpler WINDOWS-ONLY alternative: command "uvx", args ["photoshop-mcp-server"], env PS_VERSION (loonghao’s COM server).',command:"uv",args:["run","--directory","<adb-mcp-dir>","ps-mcp.py"],status:"pending"},{slug:"custom-http-mcp",label:"Custom MCP (HTTP)",description:"Connect any HTTP-streaming MCP server. You provide the URL, auth, and a short slug for tool naming.",serverUrl:null,transport:"http",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:'Anything that speaks the MCP Streamable HTTP protocol. The "Server slug" you choose becomes the tool name prefix.'},{slug:"custom-stdio-mcp",label:"Custom MCP (stdio)",description:"Run a local MCP server as a subprocess. Use this for filesystem, sqlite, github, fetch, and other npm/python MCP packages that expect to be spawned by their host.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Runs locally with your permissions — only connect MCP servers you trust. Env var values are encrypted at rest."}];function aq(a){if(a&&function(a){try{return new Intl.DateTimeFormat("en-US",{timeZone:a}),!0}catch{return!1}}(a))return a;try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}},75224:(a,b,c)=>{"use strict";c.d(b,{_:()=>g});var d=c(61989);let e=d.Ik({DATABASE_URL:d.Yj().min(1,"DATABASE_URL is required"),RUNNER_URL:d.Yj().url().default("http://127.0.0.1:3001"),AUTH_MODE:d.k5(["local-trust","local-auth","bearer-token"]).default("local-trust"),NEXT_PUBLIC_AUTH_MODE:d.k5(["local-trust","local-auth","bearer-token"]).default("local-trust"),AUTH_SECRET:d.Yj().min(32).optional(),WORKER_SECRET:d.Yj().min(1).optional(),GOOGLE_CLIENT_ID:d.Yj().optional(),GOOGLE_CLIENT_SECRET:d.Yj().optional(),NEXT_PUBLIC_APP_URL:d.Yj().url().default("http://localhost:3000"),BIND:d.k5(["127.0.0.1","0.0.0.0"]).default("127.0.0.1"),LLM_PROVIDER:d.Yj().optional(),LLM_MODEL:d.Yj().optional(),LLM_BASE_URL:d.Yj().optional()}),f={DATABASE_URL:process.env.DATABASE_URL??"postgres://placeholder:5432/placeholder",RUNNER_URL:process.env.RUNNER_URL,AUTH_MODE:process.env.AUTH_MODE,NEXT_PUBLIC_AUTH_MODE:process.env.NEXT_PUBLIC_AUTH_MODE,AUTH_SECRET:process.env.AUTH_SECRET,WORKER_SECRET:process.env.WORKER_SECRET,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,NEXT_PUBLIC_APP_URL:process.env.NEXT_PUBLIC_APP_URL,BIND:process.env.BIND,LLM_PROVIDER:process.env.LLM_PROVIDER,LLM_MODEL:process.env.LLM_MODEL,LLM_BASE_URL:process.env.LLM_BASE_URL},g=e.parse(f)},82017:(a,b,c)=>{"use strict";c.d(b,{$m:()=>s,IS:()=>r,bq:()=>q,eK:()=>p});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(52019),i=c(42891),j=c(91605),k=c(16471),l=c(29123),m=c(12788),n=c(54789),o=c(98935);let p=(0,d.cJ)("agent_skills",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>m.O.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull().unique(),slug:(0,f.Qq)("slug").notNull().unique(),content:(0,f.Qq)("content").notNull(),active:(0,g.zM)("active").default(!0),description:(0,f.Qq)("description"),defaultContent:(0,f.Qq)("default_content"),contentOverridden:(0,g.zM)("content_overridden").default(!1),requiredConfig:(0,h.Fx)("required_config").default((0,l.ll)`'[]'::jsonb`),operations:(0,h.Fx)("operations").default((0,l.ll)`'[]'::jsonb`),requiredBuiltins:(0,f.Qq)("required_builtins").array().notNull().default((0,l.ll)`'{}'::text[]`),isCommunity:(0,g.zM)("is_community").notNull().default(!1),source:(0,f.Qq)("source"),installedScripts:(0,h.Fx)("installed_scripts").$type(),createdBy:(0,f.Qq)("created_by").notNull().default("user"),createdByAgentId:(0,e.uR)("created_by_agent_id").references(()=>n.X6.id,{onDelete:"set null"}),state:(0,f.Qq)("state").notNull().default("active"),lastUsedAt:(0,i.vE)("last_used_at",{withTimezone:!0}),patchCount:(0,j.nd)("patch_count").notNull().default(0),archivedAt:(0,i.vE)("archived_at",{withTimezone:!0}),createdAt:(0,i.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,i.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,k.Pe)("idx_agent_skills_entity_id").on(a.entityId),(0,k.Pe)("idx_skills_active").on(a.active,a.slug),(0,k.Pe)("idx_agent_skills_is_community").on(a.isCommunity)]),q=(0,d.cJ)("skill_versions",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>m.O.id,{onDelete:"cascade"}),skillId:(0,e.uR)("skill_id").references(()=>p.id,{onDelete:"cascade"}),version:(0,j.nd)("version").notNull(),content:(0,f.Qq)("content").notNull(),name:(0,f.Qq)("name").notNull(),createdAt:(0,i.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,k.Pe)("idx_skill_versions_entity_id").on(a.entityId),(0,k.Pe)("idx_skill_versions_skill_id").on(a.skillId,(0,l.ll)`${a.version} DESC`)]),r=(0,d.cJ)("skill_connectors",{skillId:(0,e.uR)("skill_id").notNull().references(()=>p.id,{onDelete:"cascade"}),connectorId:(0,e.uR)("connector_id").notNull().references(()=>o.t.id,{onDelete:"cascade"}),entityId:(0,e.uR)("entity_id").references(()=>m.O.id,{onDelete:"cascade"})},a=>[(0,k.Pe)("idx_skill_connectors_entity_id").on(a.entityId),(0,k.Pe)("idx_skill_connectors_skill_id").on(a.skillId)]),s=(0,d.cJ)("agent_skill_assignments",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").notNull().references(()=>m.O.id,{onDelete:"cascade"}),agentId:(0,e.uR)("agent_id").notNull().references(()=>n.X6.id,{onDelete:"cascade"}),skillId:(0,e.uR)("skill_id").notNull().references(()=>p.id,{onDelete:"cascade"}),approvalOverrides:(0,h.Fx)("approval_overrides").default((0,l.ll)`'{}'::jsonb`),useCustomInstructions:(0,g.zM)("use_custom_instructions").notNull().default(!1),enabledOperations:(0,f.Qq)("enabled_operations").array(),scriptsAuthorized:(0,g.zM)("scripts_authorized").notNull().default(!1),filesWritable:(0,g.zM)("files_writable").notNull().default(!1),createdAt:(0,i.vE)("created_at",{withTimezone:!0}).notNull().defaultNow()},()=>[])},87488:()=>{},95488:(a,b,c)=>{"use strict";c.d(b,{Iz:()=>l,Lf:()=>j,St:()=>g,XK:()=>m,a1:()=>h,oC:()=>e.oC,sj:()=>n});var d=c(44888),e=c(42112),f=c(75224);let g="nodalai_active_entity";async function h(a,b){let c=function(a){let b=a.headers.get("cookie");if(!b)return null;for(let a of b.split(";")){let b=a.indexOf("=");if(-1!==b&&a.slice(0,b).trim()===g)return decodeURIComponent(a.slice(b+1).trim())}return null}(b);if(!c||c===a.entityId)return a;let[e]=await j().select({id:d.V.id}).from(d.V).where((0,d.Uo)((0,d.eq)(d.V.userId,a.userId),(0,d.eq)(d.V.entityId,c)));return e?{...a,entityId:c}:a}let i=globalThis;function j(){return i.__nodalDb||(i.__nodalDb=(0,d.UU)(f._.DATABASE_URL)),i.__nodalDb.db}let k=null;function l(){if(k)return k;if("local-trust"===f._.AUTH_MODE)return k=new e.hb;if("local-auth"===f._.AUTH_MODE){if(!f._.AUTH_SECRET)throw Error("AUTH_SECRET must be set when AUTH_MODE=local-auth");return k=(0,e.Xi)({db:j(),baseURL:f._.NEXT_PUBLIC_APP_URL,secret:f._.AUTH_SECRET,googleClientId:f._.GOOGLE_CLIENT_ID,googleClientSecret:f._.GOOGLE_CLIENT_SECRET})}return k=new e.hb}function m(){let a=l();if(!(a instanceof e.Jj))throw Error("better-auth API is only available in local-auth mode");return a.auth}async function n(a){return h(await (0,e.rb)(a,l(),j()),a)}},98472:(a,b,c)=>{"use strict";c.d(b,{Jm:()=>j,Yc:()=>m,nK:()=>n,ph:()=>k,w:()=>l});var d=c(77598),e=c(73024),f=c(48161),g=c(76760);let h="aes-256-gcm",i=null;function j(a=(0,g.join)((0,f.homedir)(),".nodalai","secrets.key")){if(i)return i;if((0,e.existsSync)(a)){let b=(0,e.readFileSync)(a,"utf-8").trim(),c=Buffer.from(b,"base64");if(32!==c.length)throw Error(`secrets: master key at ${a} is malformed (expected 32 bytes, got ${c.length})`);return i=c,c}let b=(0,g.dirname)(a);(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0});let c=(0,d.randomBytes)(32);(0,e.writeFileSync)(a,c.toString("base64"),{mode:384});try{(0,e.chmodSync)(a,384)}catch{}return i=c,c}function k(a){return a.startsWith("enc:v1:")}function l(a,b=j()){if(""===a)return"";let c=(0,d.randomBytes)(12),e=(0,d.createCipheriv)(h,b,c),f=Buffer.concat([e.update(a,"utf-8"),e.final()]),g=e.getAuthTag();return`enc:v1:${c.toString("base64")}:${g.toString("base64")}:${f.toString("base64")}`}function m(a,b=j()){if(""===a)return"";if(!k(a))throw Error("secrets: value is not encrypted (missing enc:v1: prefix)");let c=a.split(":");if(5!==c.length)throw Error("secrets: malformed ciphertext");let[,,e,f,g]=c;if(!e||!f||!g)throw Error("secrets: malformed ciphertext");let i=Buffer.from(e,"base64"),l=Buffer.from(f,"base64"),n=Buffer.from(g,"base64"),o=(0,d.createDecipheriv)(h,b,i);return o.setAuthTag(l),Buffer.concat([o.update(n),o.final()]).toString("utf-8")}function n(a){return a.length<=4?a:a.slice(-4)}},98935:(a,b,c)=>{"use strict";c.d(b,{t:()=>n});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(42891),i=c(16471),j=c(66618),k=c(29123),l=c(12788),m=c(62637);let n=(0,d.cJ)("connectors",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>l.O.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull(),baseUrl:(0,f.Qq)("base_url"),apiKey:(0,f.Qq)("api_key"),active:(0,g.zM)("active").default(!0),authType:(0,f.Qq)("auth_type").notNull().default("api_key"),credentialId:(0,e.uR)("credential_id").references(()=>m.z.id,{onDelete:"set null"}),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,i.Pe)("idx_connectors_entity_id").on(a.entityId),(0,i.Pe)("idx_connectors_credential_id").on(a.credentialId),(0,j.z6)("connectors_auth_type_check",(0,k.ll)`${a.authType} IN ('api_key','oauth2','bearer','basic','none')`)])}};
1
+ exports.id=4574,exports.ids=[4574],exports.modules={12788:(a,b,c)=>{"use strict";c.d(b,{O:()=>n,V:()=>o});var d=c(85653),e=c(99768),f=c(49500),g=c(52019),h=c(42891),i=c(37607),j=c(16471),k=c(66618),l=c(29123),m=c(57119);let n=(0,d.cJ)("entities",{id:(0,e.uR)("id").primaryKey().defaultRandom(),userId:(0,e.uR)("user_id").notNull().references(()=>m.V.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull().unique(),description:(0,f.Qq)("description"),icon:(0,f.Qq)("icon").default("\uD83C\uDFE2"),industry:(0,f.Qq)("industry"),goal:(0,f.Qq)("goal"),timezone:(0,f.Qq)("timezone"),mcpToken:(0,e.uR)("mcp_token").defaultRandom(),rootAgentId:(0,e.uR)("root_agent_id"),rootGrants:(0,g.Fx)("root_grants").notNull().default((0,l.ll)`'{}'::jsonb`),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).defaultNow(),lastCuratorRunAt:(0,h.vE)("last_curator_run_at",{withTimezone:!0}),reflectionEnabled:(0,i.zM)("reflection_enabled").notNull().default(!1),memoryCurationEnabled:(0,i.zM)("memory_curation_enabled").notNull().default(!0),skillAssignmentMode:(0,f.Qq)("skill_assignment_mode").notNull().default("approval").$type(),lanCommandYolo:(0,i.zM)("lan_command_yolo").notNull().default(!1)},a=>[(0,j.GL)("entities_mcp_token_idx").on(a.mcpToken),(0,j.Pe)("idx_entities_user_id").on(a.userId),(0,j.Pe)("idx_entities_root_agent_id").on(a.rootAgentId)]),o=(0,d.cJ)("entity_members",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").notNull().references(()=>n.id,{onDelete:"cascade"}),userId:(0,e.uR)("user_id").notNull().references(()=>m.V.id,{onDelete:"cascade"}),role:(0,f.Qq)("role").default("owner"),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,j.Pe)("idx_entity_members_entity_id").on(a.entityId),(0,j.Pe)("idx_entity_members_user_id").on(a.userId),(0,j.Pe)("idx_entity_members_user").on(a.userId,a.entityId),(0,k.z6)("entity_members_role_check",(0,l.ll)`${a.role} IN ('owner', 'admin', 'member', 'viewer')`),(0,j.GL)("entity_members_entity_user_unique").on(a.entityId,a.userId)])},16534:(a,b,c)=>{"use strict";c.r(b),c.d(b,{AGENT_ROLES:()=>d.s$,APPROVAL_RULE_ACTIONS:()=>d.vV,APPROVAL_STATUSES:()=>d.NY,CONNECTOR_AUTH_TYPES:()=>d.p6,ENTITY_INDUSTRIES:()=>d.dO,ENTITY_MEMBER_ROLES:()=>d.Li,JOB_CHANNELS:()=>d.vH,JOB_STATUSES:()=>d.nE,MCP_TRANSPORTS:()=>d.ip,MEMORY_CATEGORIES:()=>d.BJ,MEMORY_LAYERS:()=>d.dg,MEMORY_SOURCES:()=>d.rc,OPERATION_RISK_LEVELS:()=>d.Uw,ORCHESTRATOR_MODES:()=>d.GN,PLUGIN_HOOKS:()=>d.bt,PLUGIN_TYPES:()=>d.Y7,SCHEDULE_LAST_STATUSES:()=>d.Ur,SCHEDULE_TYPES:()=>d.GB,TASK_PRIORITIES:()=>d.PN,TASK_STATUSES:()=>d.Hi,accounts:()=>P,agentAssignments:()=>g.Qj,agentBudgets:()=>g.I$,agentConnectorAssignments:()=>R,agentJobs:()=>r,agentMcpServers:()=>J,agentMemory:()=>D,agentPlugins:()=>M,agentSchedules:()=>G,agentSkillAssignments:()=>F.$m,agentSkills:()=>F.eK,agentTasks:()=>t,agentWorkspaces:()=>S,agents:()=>g.X6,appSettings:()=>W,approvalRequests:()=>y,approvalRules:()=>z,chatMessages:()=>U,configuratorSessions:()=>L,connectors:()=>v.t,conversations:()=>T,credentials:()=>u.z,entities:()=>f.O,entityLlmKeys:()=>H.h,entityMembers:()=>f.V,entitySettings:()=>X,mcpConnections:()=>K,mcpServers:()=>I,rateLimits:()=>N,sessions:()=>O,skillConnectors:()=>F.IS,skillVersions:()=>F.bq,telegramAllowedChats:()=>Y,toolCalls:()=>w,userProfiles:()=>e.K,users:()=>e.V,verifications:()=>Q,webhookTriggers:()=>E});var d=c(98648),e=c(57119),f=c(12788),g=c(54789),h=c(85653),i=c(99768),j=c(49500),k=c(52019),l=c(91605),m=c(30983),n=c(42891),o=c(16471),p=c(66618),q=c(29123);let r=(0,h.cJ)("agent_jobs",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),status:(0,j.Qq)("status").default("pending"),channel:(0,j.Qq)("channel").notNull(),task:(0,j.Qq)("task").notNull(),originalTask:(0,j.Qq)("original_task"),chatId:(0,j.Qq)("chat_id"),systemPrompt:(0,j.Qq)("system_prompt"),messages:(0,k.Fx)("messages").default((0,q.ll)`'[]'::jsonb`),searchText:(0,j.Qq)("search_text"),toolsUsed:(0,j.Qq)("tools_used").array().default((0,q.ll)`'{}'::text[]`),turn:(0,l.nd)("turn").default(0),result:(0,j.Qq)("result"),error:(0,j.Qq)("error"),chainCount:(0,l.nd)("chain_count").default(0),requestId:(0,j.Qq)("request_id"),parentJobId:(0,i.uR)("parent_job_id"),parentRequestId:(0,j.Qq)("parent_request_id"),totalDurationMs:(0,l.nd)("total_duration_ms").default(0),inputTokens:(0,l.nd)("input_tokens").default(0),outputTokens:(0,l.nd)("output_tokens").default(0),effectiveInputTokens:(0,l.nd)("effective_input_tokens").default(0),totalCostUsd:(0,m.x)("total_cost_usd").default(0),servedProvider:(0,j.Qq)("served_provider"),delegationDepth:(0,l.nd)("delegation_depth").default(0),lastFailedDelegationSlug:(0,j.Qq)("last_failed_delegation_slug"),pendingDelegation:(0,k.Fx)("pending_delegation"),completedAt:(0,n.vE)("completed_at",{withTimezone:!0}),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_jobs_entity_id").on(a.entityId),(0,o.Pe)("idx_agent_jobs_entity_created").on(a.entityId,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_agent_jobs_entity_status_created").on(a.entityId,a.status,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_agent_jobs_parent_job_id").on(a.parentJobId),(0,o.Pe)("idx_jobs_status").on(a.status,a.createdAt),(0,o.Pe)("idx_agent_jobs_completed_at_null").on(a.completedAt).where((0,q.ll)`${a.completedAt} IS NULL`),(0,p.z6)("agent_jobs_status_check",(0,q.ll)`${a.status} IN ('pending','processing','completed','failed','awaiting_approval','awaiting_delegation','cancelled')`),(0,p.z6)("agent_jobs_channel_check",(0,q.ll)`${a.channel} IN ('telegram','api','whatsapp','internal','cron','task-board','slack','discord','dashboard')`)]);var s=c(49152);let t=(0,h.cJ)("agent_tasks",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),orchestratorId:(0,i.uR)("orchestrator_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),title:(0,j.Qq)("title").notNull(),description:(0,j.Qq)("description"),status:(0,j.Qq)("status").notNull().default("todo"),priority:(0,j.Qq)("priority").notNull().default("medium"),jobId:(0,i.uR)("job_id").references(()=>r.id,{onDelete:"set null"}),result:(0,j.Qq)("result"),createdByAgentId:(0,i.uR)("created_by_agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),assignedAgentId:(0,i.uR)("assigned_agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),inputTokens:(0,l.nd)("input_tokens").default(0),outputTokens:(0,l.nd)("output_tokens").default(0),costUsd:(0,s.sH)("cost_usd",{precision:10,scale:6}).default("0"),dependsOn:(0,i.uR)("depends_on").array().default((0,q.ll)`'{}'::uuid[]`),context:(0,k.Fx)("context").default((0,q.ll)`'{}'::jsonb`),rootJobId:(0,i.uR)("root_job_id"),lockedAt:(0,n.vE)("locked_at",{withTimezone:!0}),lockedBy:(0,j.Qq)("locked_by"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_agent_tasks_entity").on(a.entityId),(0,o.Pe)("idx_agent_tasks_entity_status_created").on(a.entityId,a.status,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_agent_tasks_orchestrator_status").on(a.orchestratorId,a.status),(0,o.Pe)("idx_agent_tasks_status").on(a.status),(0,o.Pe)("idx_agent_tasks_assigned").on(a.assignedAgentId),(0,o.Pe)("idx_agent_tasks_root_job_id").on(a.rootJobId),(0,p.z6)("agent_tasks_status_check",(0,q.ll)`${a.status} IN ('todo','in_progress','done','cancelled','blocked')`),(0,p.z6)("agent_tasks_priority_check",(0,q.ll)`${a.priority} IN ('low','medium','high')`),(0,p.z6)("agent_tasks_title_check",(0,q.ll)`char_length(${a.title}) <= 200`),(0,p.z6)("agent_tasks_description_check",(0,q.ll)`${a.description} IS NULL OR char_length(${a.description}) <= 2000`)]);var u=c(62637),v=c(98935);let w=(0,h.cJ)("tool_calls",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),jobId:(0,i.uR)("job_id").references(()=>r.id,{onDelete:"cascade"}),toolName:(0,j.Qq)("tool_name").notNull(),toolInput:(0,k.Fx)("tool_input"),toolOutput:(0,j.Qq)("tool_output"),durationMs:(0,l.nd)("duration_ms"),turn:(0,l.nd)("turn"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_tool_calls_entity_id").on(a.entityId),(0,o.Pe)("idx_tool_calls_job").on(a.jobId),(0,o.Pe)("idx_tool_calls_job_created").on(a.jobId,(0,q.ll)`${a.createdAt} DESC`),(0,o.Pe)("idx_tool_calls_recent").on((0,q.ll)`${a.createdAt} DESC`)]);var x=c(68478);let y=(0,h.cJ)("approval_requests",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),jobId:(0,i.uR)("job_id").notNull().references(()=>r.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),toolName:(0,j.Qq)("tool_name").notNull(),toolInput:(0,k.Fx)("tool_input").notNull(),status:(0,j.Qq)("status").default("pending"),requestedAt:(0,n.vE)("requested_at",{withTimezone:!0}).defaultNow(),resolvedAt:(0,n.vE)("resolved_at",{withTimezone:!0}),resolvedBy:(0,j.Qq)("resolved_by"),expiresAt:(0,n.vE)("expires_at",{withTimezone:!0}).default((0,q.ll)`now() + interval '1 hour'`),notes:(0,j.Qq)("notes"),executedAt:(0,n.vE)("executed_at",{withTimezone:!0})},a=>[(0,o.Pe)("idx_approval_requests_entity_id").on(a.entityId),(0,o.Pe)("idx_approval_status").on(a.status,a.requestedAt),(0,o.Pe)("idx_approval_requests_agent_id").on(a.agentId),(0,o.Pe)("idx_approval_requests_job_id").on(a.jobId),(0,p.z6)("approval_requests_status_check",(0,q.ll)`${a.status} IN ('pending','approved','rejected','expired')`)]),z=(0,h.cJ)("approval_rules",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),toolName:(0,j.Qq)("tool_name").notNull(),action:(0,j.Qq)("action").notNull(),conditionJson:(0,k.Fx)("condition_json").default((0,q.ll)`'{}'::jsonb`),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_approval_rules_entity_id").on(a.entityId),(0,p.z6)("approval_rules_action_check",(0,q.ll)`${a.action} IN ('auto_approve','require_approval','block')`),(0,x.Am)("approval_rules_entity_agent_tool_unique").on(a.entityId,a.agentId,a.toolName).nullsNotDistinct()]);var A=c(64264),B=c(37607);let C=(0,A._z)({dataType(a){let b=a?.dimensions??1536;return`vector(${b})`},fromDriver:a=>JSON.parse(a),toDriver:a=>`[${a.join(",")}]`}),D=(0,h.cJ)("agent_memory",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),fact:(0,j.Qq)("fact").notNull(),category:(0,j.Qq)("category").default("context"),importance:(0,l.nd)("importance").default(3),source:(0,j.Qq)("source").default("agent"),skillTags:(0,j.Qq)("skill_tags").array().default((0,q.ll)`'{}'::text[]`),memoryLayer:(0,j.Qq)("memory_layer"),embedding:C("embedding",{dimensions:1536}),validFrom:(0,n.vE)("valid_from",{withTimezone:!0}).defaultNow(),validTo:(0,n.vE)("valid_to",{withTimezone:!0}),factHash:(0,j.Qq)("fact_hash"),archived:(0,B.zM)("archived").default(!1),importanceLocked:(0,B.zM)("importance_locked").notNull().default(!1),lastAccessedAt:(0,n.vE)("last_accessed_at",{withTimezone:!0}).defaultNow(),accessCount:(0,l.nd)("access_count").default(0),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_memory_entity_id").on(a.entityId),(0,o.Pe)("idx_agent_memory_entity_active").on(a.entityId,a.archived,a.validTo),(0,o.Pe)("idx_agent_memory_archived").on(a.archived),(0,o.Pe)("idx_agent_memory_last_accessed").on(a.lastAccessedAt),(0,o.Pe)("idx_agent_memory_layer").on(a.memoryLayer),(0,o.Pe)("idx_agent_memory_fact_hash").on(a.factHash),(0,o.Pe)("idx_memory_category").on(a.category,(0,q.ll)`${a.importance} DESC`),(0,p.z6)("agent_memory_category_check",(0,q.ll)`${a.category} IN ('preference','context','outcome','learned_rule')`),(0,p.z6)("agent_memory_importance_check",(0,q.ll)`${a.importance} >= 1 AND ${a.importance} <= 5`),(0,p.z6)("agent_memory_source_check",(0,q.ll)`${a.source} IN ('agent','reflection','manual')`)]),E=(0,h.cJ)("webhook_triggers",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),name:(0,j.Qq)("name").notNull(),slug:(0,j.Qq)("slug").notNull().unique(),taskTemplate:(0,j.Qq)("task_template").notNull(),active:(0,B.zM)("active").default(!0),secret:(0,j.Qq)("secret"),lastTriggeredAt:(0,n.vE)("last_triggered_at",{withTimezone:!0}),triggerCount:(0,l.nd)("trigger_count").default(0),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_webhook_triggers_entity_id").on(a.entityId)]);var F=c(82017);let G=(0,h.cJ)("agent_schedules",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),type:(0,j.Qq)("type").notNull().default("cron"),name:(0,j.Qq)("name").notNull(),cronExpr:(0,j.Qq)("cron_expr").notNull(),timezone:(0,j.Qq)("timezone"),task:(0,j.Qq)("task"),objectives:(0,j.Qq)("objectives"),active:(0,B.zM)("active").default(!0),lastRun:(0,n.vE)("last_run",{withTimezone:!0}),nextRun:(0,n.vE)("next_run",{withTimezone:!0}),lastStatus:(0,j.Qq)("last_status"),chatId:(0,j.Qq)("chat_id"),notifyOnSuccess:(0,B.zM)("notify_on_success").notNull().default(!1),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_schedules_entity_id").on(a.entityId),(0,o.Pe)("idx_schedules_active").on(a.active,a.nextRun),(0,p.z6)("agent_schedules_type_check",(0,q.ll)`${a.type} IN ('cron','heartbeat')`),(0,p.z6)("agent_schedules_last_status_check",(0,q.ll)`${a.lastStatus} IN ('success','failed','no_action') OR ${a.lastStatus} IS NULL`)]);var H=c(49959);let I=(0,h.cJ)("mcp_servers",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),name:(0,j.Qq)("name").notNull(),slug:(0,j.Qq)("slug").notNull(),transport:(0,j.Qq)("transport").notNull(),url:(0,j.Qq)("url"),command:(0,j.Qq)("command"),args:(0,j.Qq)("args").array().default((0,q.ll)`'{}'::text[]`),envVars:(0,k.Fx)("env_vars").default((0,q.ll)`'{}'::jsonb`),apiKey:(0,j.Qq)("api_key"),apiKeyLast4:(0,j.Qq)("api_key_last4"),authScheme:(0,j.Qq)("auth_scheme"),authParamName:(0,j.Qq)("auth_param_name"),active:(0,B.zM)("active").default(!0),availableTools:(0,k.Fx)("available_tools"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,p.z6)("mcp_servers_transport_check",(0,q.ll)`${a.transport} IN ('http','stdio')`),(0,p.z6)("mcp_servers_auth_scheme_check",(0,q.ll)`${a.authScheme} IN ('header','query','bearer') OR ${a.authScheme} IS NULL`)]),J=(0,h.cJ)("agent_mcp_servers",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),mcpServerId:(0,i.uR)("mcp_server_id").notNull().references(()=>I.id,{onDelete:"cascade"}),enabledTools:(0,k.Fx)("enabled_tools"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_agent_mcp_servers_agent").on(a.agentId),(0,o.Pe)("idx_agent_mcp_servers_entity").on(a.entityId),(0,o.GL)("agent_mcp_servers_agent_server_unique").on(a.agentId,a.mcpServerId)]),K=(0,h.cJ)("mcp_connections",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),slug:(0,j.Qq)("slug").notNull(),active:(0,B.zM)("active").notNull().default(!0),toolConfig:(0,k.Fx)("tool_config").notNull().default((0,q.ll)`'{}'::jsonb`),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_mcp_connections_entity").on(a.entityId),(0,o.GL)("mcp_connections_entity_slug_unique").on(a.entityId,a.slug)]),L=(0,h.cJ)("configurator_sessions",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").references(()=>g.X6.id,{onDelete:"cascade"}),messages:(0,k.Fx)("messages").notNull().default((0,q.ll)`'[]'::jsonb`),status:(0,j.Qq)("status").notNull().default("active"),turnCount:(0,l.nd)("turn_count").notNull().default(0),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,o.Pe)("idx_configurator_sessions_entity").on(a.entityId),(0,o.Pe)("idx_configurator_sessions_agent").on(a.agentId)]),M=(0,h.cJ)("agent_plugins",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),name:(0,j.Qq)("name").notNull(),slug:(0,j.Qq)("slug").notNull(),description:(0,j.Qq)("description"),pluginType:(0,j.Qq)("plugin_type").notNull(),config:(0,k.Fx)("config").default((0,q.ll)`'{}'::jsonb`),active:(0,B.zM)("active").default(!0),hook:(0,j.Qq)("hook").notNull(),webhookUrl:(0,j.Qq)("webhook_url"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,p.z6)("agent_plugins_plugin_type_check",(0,q.ll)`${a.pluginType} IN ('webhook','transform','schedule')`),(0,p.z6)("agent_plugins_hook_check",(0,q.ll)`${a.hook} IN ('pre_task','post_task','pre_tool','post_tool','on_memory_save')`),(0,x.Am)("agent_plugins_entity_slug_unique").on(a.entityId,a.slug).nullsNotDistinct()]),N=(0,h.cJ)("rate_limits",{key:(0,j.Qq)("key").primaryKey(),count:(0,l.nd)("count").default(1),windowStart:(0,n.vE)("window_start",{withTimezone:!0}).defaultNow()}),O=(0,h.cJ)("sessions",{id:(0,j.Qq)("id").primaryKey(),userId:(0,i.uR)("user_id").notNull().references(()=>e.V.id,{onDelete:"cascade"}),expiresAt:(0,n.vE)("expires_at",{withTimezone:!0}).notNull(),token:(0,j.Qq)("token").notNull().unique(),ipAddress:(0,j.Qq)("ip_address"),userAgent:(0,j.Qq)("user_agent"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),P=(0,h.cJ)("accounts",{id:(0,j.Qq)("id").primaryKey(),userId:(0,i.uR)("user_id").notNull().references(()=>e.V.id,{onDelete:"cascade"}),providerId:(0,j.Qq)("provider_id").notNull(),accountId:(0,j.Qq)("account_id").notNull(),accessToken:(0,j.Qq)("access_token"),refreshToken:(0,j.Qq)("refresh_token"),idToken:(0,j.Qq)("id_token"),accessTokenExpiresAt:(0,n.vE)("access_token_expires_at",{withTimezone:!0}),refreshTokenExpiresAt:(0,n.vE)("refresh_token_expires_at",{withTimezone:!0}),scope:(0,j.Qq)("scope"),password:(0,j.Qq)("password"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),Q=(0,h.cJ)("verifications",{id:(0,j.Qq)("id").primaryKey(),identifier:(0,j.Qq)("identifier").notNull(),value:(0,j.Qq)("value").notNull(),expiresAt:(0,n.vE)("expires_at",{withTimezone:!0}).notNull(),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),R=(0,h.cJ)("agent_connector_assignments",{id:(0,i.uR)("id").primaryKey().defaultRandom(),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),connectorId:(0,i.uR)("connector_id").notNull().references(()=>v.t.id,{onDelete:"cascade"}),entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),enabledOperations:(0,j.Qq)("enabled_operations").array(),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_agent_connector_assignments_agent_id").on(a.agentId),(0,o.Pe)("idx_agent_connector_assignments_connector_id").on(a.connectorId),(0,x.Am)("agent_connector_unique").on(a.agentId,a.connectorId)]),S=(0,h.cJ)("agent_workspaces",{id:(0,i.uR)("id").primaryKey().defaultRandom(),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),label:(0,j.Qq)("label").notNull(),path:(0,j.Qq)("path").notNull(),position:(0,l.nd)("position").default(0).notNull(),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.GL)("agent_workspaces_agent_label_unique").on(a.agentId,a.label),(0,o.Pe)("idx_agent_workspaces_agent_id").on(a.agentId)]),T=(0,h.cJ)("conversations",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),title:(0,j.Qq)("title").notNull().default(""),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_conversations_entity_agent").on(a.entityId,a.agentId,a.updatedAt)]),U=(0,h.cJ)("chat_messages",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),conversationId:(0,i.uR)("conversation_id").references(()=>T.id,{onDelete:"cascade"}),role:(0,j.Qq)("role").notNull(),content:(0,j.Qq)("content").notNull(),jobId:(0,i.uR)("job_id").references(()=>r.id,{onDelete:"set null"}),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,o.Pe)("idx_chat_messages_conversation").on(a.conversationId,a.createdAt),(0,p.z6)("chat_messages_role_check",(0,q.ll)`${a.role} IN ('user','assistant')`)]);var V=c(49298);let W=(0,h.cJ)("app_settings",{key:(0,j.Qq)("key").primaryKey(),value:(0,j.Qq)("value").default("").notNull(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow().notNull()}),X=(0,h.cJ)("entity_settings",{entityId:(0,i.uR)("entity_id").notNull().references(()=>f.O.id,{onDelete:"cascade"}),key:(0,j.Qq)("key").notNull(),value:(0,j.Qq)("value").default("").notNull(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow().notNull()},a=>[(0,V.ie)({columns:[a.entityId,a.key]})]),Y=(0,h.cJ)("telegram_allowed_chats",{id:(0,i.uR)("id").primaryKey().defaultRandom(),entityId:(0,i.uR)("entity_id").references(()=>f.O.id,{onDelete:"cascade"}),agentId:(0,i.uR)("agent_id").notNull().references(()=>g.X6.id,{onDelete:"cascade"}),chatId:(0,j.Qq)("chat_id").notNull(),role:(0,j.Qq)("role").notNull().default("member"),status:(0,j.Qq)("status").notNull().default("pending"),requesterName:(0,j.Qq)("requester_name"),createdAt:(0,n.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,n.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,x.Am)("telegram_allowed_chats_agent_chat_unique").on(a.agentId,a.chatId),(0,o.Pe)("idx_telegram_allowed_chats_agent").on(a.agentId),(0,o.Pe)("idx_telegram_allowed_chats_entity").on(a.entityId),(0,p.z6)("telegram_allowed_chats_role_check",(0,q.ll)`${a.role} IN ('owner','member')`),(0,p.z6)("telegram_allowed_chats_status_check",(0,q.ll)`${a.status} IN ('active','pending')`)])},49959:(a,b,c)=>{"use strict";c.d(b,{h:()=>k});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(42891),i=c(16471),j=c(12788);let k=(0,d.cJ)("entity_llm_keys",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").notNull().references(()=>j.O.id,{onDelete:"cascade"}),provider:(0,f.Qq)("provider").notNull(),apiKey:(0,f.Qq)("api_key").notNull().default(""),apiKeyLast4:(0,f.Qq)("api_key_last4").notNull().default(""),baseUrl:(0,f.Qq)("base_url"),nickname:(0,f.Qq)("nickname"),isActive:(0,g.zM)("is_active").notNull().default(!0),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,i.Pe)("idx_entity_llm_keys_entity_id").on(a.entityId)])},54789:(a,b,c)=>{"use strict";c.d(b,{I$:()=>t,Qj:()=>s,X6:()=>r});var d=c(85653),e=c(99768),f=c(49500),g=c(52019),h=c(37607),i=c(27940),j=c(91605),k=c(42891),l=c(16471),m=c(66618),n=c(68478),o=c(29123),p=c(12788),q=c(49959);let r=(0,d.cJ)("agents",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>p.O.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull(),personality:(0,f.Qq)("personality").notNull(),model:(0,f.Qq)("model").default("claude-sonnet-4-6-20260217"),llmKeyId:(0,e.uR)("llm_key_id").references(()=>q.h.id,{onDelete:"set null"}),fallbackChain:(0,g.Fx)("fallback_chain").$type().default((0,o.ll)`'[]'::jsonb`),active:(0,h.zM)("active").default(!0),isDefault:(0,h.zM)("is_default").default(!1),role:(0,f.Qq)("role").default("agent"),orchestratorMode:(0,f.Qq)("orchestrator_mode"),telegramBotToken:(0,f.Qq)("telegram_bot_token"),telegramBotUsername:(0,f.Qq)("telegram_bot_username"),telegramOffset:(0,i.o)("telegram_offset",{mode:"number"}),lastSeenChatIdTelegram:(0,f.Qq)("last_seen_chat_id_telegram"),requiresApproval:(0,f.Qq)("requires_approval").array().default((0,o.ll)`'{}'::text[]`),capabilities:(0,f.Qq)("capabilities").array().default((0,o.ll)`'{}'::text[]`),taskContextTemplate:(0,f.Qq)("task_context_template"),avatarUrl:(0,f.Qq)("avatar_url"),systemAgent:(0,h.zM)("system_agent").default(!1),maxTokensPerJob:(0,j.nd)("max_tokens_per_job").default(0).notNull(),memoryTokenBudget:(0,j.nd)("memory_token_budget").default(1500).notNull(),position:(0,j.nd)("position").default(0).notNull(),createdAt:(0,k.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,k.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,l.Pe)("idx_agents_entity_id").on(a.entityId),(0,l.Pe)("idx_agents_position").on(a.position),(0,m.z6)("agents_role_check",(0,o.ll)`${a.role} IN ('agent', 'orchestrator', 'system')`),(0,m.z6)("agents_orchestrator_mode_check",(0,o.ll)`${a.orchestratorMode} IN ('router', 'planner') OR ${a.orchestratorMode} IS NULL`),(0,m.z6)("agents_max_tokens_per_job_check",(0,o.ll)`${a.maxTokensPerJob} >= 0`),(0,n.Am)("agents_entity_slug_unique").on(a.entityId,a.slug).nullsNotDistinct()]),s=(0,d.cJ)("agent_assignments",{id:(0,e.uR)("id").primaryKey().defaultRandom(),orchestratorId:(0,e.uR)("orchestrator_id").notNull().references(()=>r.id,{onDelete:"cascade"}),subAgentId:(0,e.uR)("sub_agent_id").notNull().references(()=>r.id,{onDelete:"cascade"}),entityId:(0,e.uR)("entity_id").notNull().references(()=>p.O.id,{onDelete:"cascade"}),instructions:(0,f.Qq)("instructions"),createdAt:(0,k.vE)("created_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,n.Am)("agent_assignments_orchestrator_sub_agent_unique").on(a.orchestratorId,a.subAgentId)]),t=(0,d.cJ)("agent_budgets",{id:(0,e.uR)("id").primaryKey().defaultRandom(),agentId:(0,e.uR)("agent_id").unique().references(()=>r.id,{onDelete:"cascade"}),entityId:(0,e.uR)("entity_id").references(()=>p.O.id,{onDelete:"cascade"}),dailyTokenLimit:(0,i.o)("daily_token_limit",{mode:"number"}).default(0),monthlyTokenLimit:(0,i.o)("monthly_token_limit",{mode:"number"}).default(0),alertThresholdPct:(0,j.nd)("alert_threshold_pct").default(80),autoPause:(0,h.zM)("auto_pause").default(!1),maxJobTokens:(0,j.nd)("max_job_tokens").default(15e4),createdAt:(0,k.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,k.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,l.Pe)("idx_agent_budgets_entity_id").on(a.entityId),(0,m.z6)("agent_budgets_alert_threshold_pct_check",(0,o.ll)`${a.alertThresholdPct} >= 0 AND ${a.alertThresholdPct} <= 100`)])},57119:(a,b,c)=>{"use strict";c.d(b,{K:()=>j,V:()=>i});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(42891);let i=(0,d.cJ)("users",{id:(0,e.uR)("id").primaryKey().defaultRandom(),email:(0,f.Qq)("email").notNull().unique(),passwordHash:(0,f.Qq)("password_hash"),name:(0,f.Qq)("name").notNull().default(""),emailVerified:(0,g.zM)("email_verified").notNull().default(!1),image:(0,f.Qq)("image"),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),j=(0,d.cJ)("user_profiles",{userId:(0,e.uR)("user_id").primaryKey().notNull().references(()=>i.id,{onDelete:"cascade"}),displayName:(0,f.Qq)("display_name"),avatarUrl:(0,f.Qq)("avatar_url"),timezone:(0,f.Qq)("timezone").notNull().default("UTC"),locale:(0,f.Qq)("locale").notNull().default("en"),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).notNull().defaultNow()})},57638:(a,b,c)=>{"use strict";c.d(b,{lR:()=>d,Jj:()=>l,hb:()=>h,vB:()=>e,Xi:()=>m,oC:()=>n,rb:()=>o,OH:()=>p.O});class d extends Error{constructor(){super("AUTH_REQUIRED"),this.code="AUTH_REQUIRED",this.name="AuthError"}}class e extends Error{constructor(){super("NO_ENTITY"),this.code="NO_ENTITY",this.name="NoEntityError"}}var f=c(69747);let g={userId:"00000000-0000-0000-0000-000000000001",entityId:"00000000-0000-0000-0000-000000000002"};class h{getSession(a){return Promise.resolve(g)}}var i=c(30932),j=c(29045);let k=[/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,/^192\.168\.\d{1,3}\.\d{1,3}$/,/^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/];class l{#a;#b;constructor(a,b){this.#a=a,this.#b=b}get auth(){return this.#a}async getSession(a){let b,c=await this.#a.api.getSession({headers:a.headers}).catch(()=>null);if(!c?.session||!c?.user)return null;let d=c.user.id,e=await this.#b.select({entityId:f.V.entityId}).from(f.V).where((0,f.eq)(f.V.userId,d));if(e.length>0&&e[0])b=String(e[0].entityId);else{b=crypto.randomUUID();let a=`personal-${b.slice(0,8)}`;await this.#b.insert(f.O5).values({id:b,userId:d,name:"Personal",slug:a,icon:"\uD83C\uDFE0"}),await this.#b.insert(f.V).values({entityId:b,userId:d,role:"owner"})}return{userId:d,entityId:b}}async handleAuthRequest(a){return this.#a.handler(a).catch(()=>null)}}function m(a){let{db:b,baseURL:c,secret:d,googleClientId:e,googleClientSecret:g}=a,h={};e&&g&&(h.google={clientId:e,clientSecret:g});let m={baseURL:c,secret:d,trustedOrigins:a=>{let b=[c],d=a?.headers.get("origin")??null;return d&&function(a){let b;if(!a)return!1;try{b=new URL(a)}catch{return!1}if("http:"!==b.protocol&&"https:"!==b.protocol)return!1;let c=b.hostname.toLowerCase();return"localhost"===c||"::1"===c||"[::1]"===c||k.some(a=>a.test(c))}(d)&&b.push(d),b},database:(0,j.y)(b,{provider:"pg",camelCase:!0,schema:{users:f.VV,sessions:f.Mf,accounts:f.vd,verifications:f.Jt}}),user:{modelName:"users",fields:{name:"name",email:"email",emailVerified:"emailVerified",image:"image",createdAt:"createdAt",updatedAt:"updatedAt"}},session:{modelName:"sessions",fields:{userId:"userId",expiresAt:"expiresAt",token:"token",ipAddress:"ipAddress",userAgent:"userAgent",createdAt:"createdAt",updatedAt:"updatedAt"}},account:{modelName:"accounts",fields:{userId:"userId",providerId:"providerId",accountId:"accountId",accessToken:"accessToken",refreshToken:"refreshToken",idToken:"idToken",accessTokenExpiresAt:"accessTokenExpiresAt",refreshTokenExpiresAt:"refreshTokenExpiresAt",scope:"scope",password:"password",createdAt:"createdAt",updatedAt:"updatedAt"}},verification:{modelName:"verifications",fields:{identifier:"identifier",value:"value",expiresAt:"expiresAt",createdAt:"createdAt",updatedAt:"updatedAt"}},emailAndPassword:{enabled:!0},socialProviders:h,advanced:{database:{generateId:()=>crypto.randomUUID()}},databaseHooks:{user:{create:{after:async a=>{let c=crypto.randomUUID(),d=`personal-${c.slice(0,8)}`;await b.insert(f.O5).values({id:c,userId:a.id,name:"Personal",slug:d,icon:"\uD83C\uDFE0"}),await b.insert(f.V).values({entityId:c,userId:a.id,role:"owner"})}}}}};return new l((0,i.l)(m),b)}async function n(a,b){let c=await b.getSession(a);if(!c)throw new d;return c}async function o(a,b,d){let g=await n(a,b),{entityMembers:h}=await Promise.resolve().then(c.bind(c,16534)),i=await d.select({entityId:h.entityId}).from(h).where((0,f.eq)(h.userId,g.userId));if(0===i.length)throw new e;let j=""!==g.entityId?g.entityId:i[0]?.entityId??"";if(!j)throw new e;return{userId:g.userId,entityId:j}}c(77598);var p=c(83342)},58112:()=>{},62637:(a,b,c)=>{"use strict";c.d(b,{z:()=>l});var d=c(85653),e=c(99768),f=c(49500),g=c(42891),h=c(16471),i=c(66618),j=c(29123),k=c(57119);let l=(0,d.cJ)("credentials",{id:(0,e.uR)("id").primaryKey().defaultRandom(),ownerUserId:(0,e.uR)("owner_user_id").notNull().references(()=>k.V.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),type:(0,f.Qq)("type").notNull(),payload:(0,f.Qq)("payload").notNull(),createdAt:(0,g.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,g.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,h.Pe)("idx_credentials_owner").on(a.ownerUserId),(0,h.Pe)("idx_credentials_type").on(a.type),(0,i.z6)("credentials_type_check",(0,j.ll)`${a.type} IN ('google-oauth','notion-oauth','airtable-oauth')`)])},69747:(a,b,c)=>{"use strict";c.d(b,{vd:()=>f.accounts,Qj:()=>f.agentAssignments,XT:()=>f.agentConnectorAssignments,ME:()=>f.agentJobs,oS:()=>f.agentMcpServers,RK:()=>f.agentMemory,uQ:()=>f.agentSchedules,$m:()=>f.agentSkillAssignments,eK:()=>f.agentSkills,Kq:()=>f.agentWorkspaces,X6:()=>f.agents,Uo:()=>h.Uo,MZ:()=>f.approvalRequests,bN:()=>f.approvalRules,HA:()=>D,ps:()=>z,WE:()=>v,p$:()=>f.chatMessages,tK:()=>f.connectors,NP:()=>f.conversations,S$:()=>u,UU:()=>g,qz:()=>x,z3:()=>f.credentials,G0:()=>p,i8:()=>J.i,O5:()=>f.entities,hG:()=>f.entityLlmKeys,V:()=>f.entityMembers,eq:()=>h.eq,Se:()=>q,fI:()=>H,B3:()=>h.B3,RV:()=>h.RV,h_:()=>f.mcpServers,KL:()=>h.KL,or:()=>h.or,Ic:()=>r,Mf:()=>f.sessions,lx:()=>I,rY:()=>B,ZU:()=>A,EI:()=>i.ll,dA:()=>f.telegramAllowedChats,Ky:()=>f.toolCalls,t$:()=>C,hI:()=>y,VV:()=>f.users,Jt:()=>f.verifications});var d=c(57562),e=c(48217),f=c(16534);function g(a,b={}){let c=(0,d.A)(a,{max:b.max??10,connect_timeout:10,connection:{lock_timeout:3e4,idle_in_transaction_session_timeout:6e4}});return{db:(0,e.f)(c,{schema:f}),close:()=>c.end()}}var h=c(97852),i=c(29123),j=c(62637),k=c(98472),l=c(98648);function m(a){return JSON.parse((0,k.ph)(a)?(0,k.Yc)(a):a)}function n(a){let b=a.expiresAt?new Date(a.expiresAt):null;return null!==b&&b.getTime()-Date.now()<6e4}async function o(a,b,c,d){let e,f,g=(0,l.R3)(c.type);if(!g)throw Error(`refreshAndPersistCredential: no provider for credential type '${c.type}'`);if(!g.supportsRefresh)throw Error(`refreshAndPersistCredential: provider '${g.slug}' does not support token refresh`);let{clientId:i,clientSecret:m,refreshToken:n}=d;if(!n)throw Error(`refreshAndPersistCredential: credential '${b}' is missing refreshToken`);let o=g.tokenUrl;if("form"===g.tokenBodyType){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:n});"body"===g.tokenAuth&&(a.set("client_id",i),a.set("client_secret",m)),e={method:"POST",headers:"basic"===g.tokenAuth?{"Content-Type":"application/x-www-form-urlencoded",Authorization:`Basic ${Buffer.from(`${i}:${m}`).toString("base64")}`}:{"Content-Type":"application/x-www-form-urlencoded"},body:a.toString()}}else{let a={grant_type:"refresh_token",refresh_token:n};"body"===g.tokenAuth&&(a.client_id=i,a.client_secret=m),e={method:"POST",headers:"basic"===g.tokenAuth?{"Content-Type":"application/json",Authorization:`Basic ${Buffer.from(`${i}:${m}`).toString("base64")}`}:{"Content-Type":"application/json"},body:JSON.stringify(a)}}try{f=await fetch(o,{...e,signal:AbortSignal.timeout(3e4)})}catch(a){if(a instanceof Error&&"TimeoutError"===a.name)throw Error(`refreshAndPersistCredential: token endpoint ${o} timed out after 30000ms`);throw a}if(!f.ok){let a=await f.text().catch(()=>"");throw Error(`refreshAndPersistCredential: token endpoint returned ${f.status}: ${a}`)}let p=await f.json(),q="string"==typeof p.access_token?p.access_token:null;if(!q)throw Error("refreshAndPersistCredential: token endpoint response missing 'access_token'");let r="number"==typeof p.expires_in?p.expires_in:null,s=null!==r?new Date(Date.now()+1e3*r):null,t="string"==typeof p.refresh_token?p.refresh_token:null,u={...d,accessToken:q,expiresAt:s?s.toISOString():null,refreshToken:t??d.refreshToken},v=(0,k.w)(JSON.stringify(u));return await a.update(j.z).set({payload:v,updatedAt:new Date}).where((0,h.eq)(j.z.id,b)),{accessToken:q,expiresAt:s}}async function p(a,b){let[c]=await a.select().from(j.z).where((0,h.eq)(j.z.id,b));return c?{id:c.id,ownerUserId:c.ownerUserId,name:c.name,type:c.type,payload:m(c.payload)}:null}async function q(a,b){let[c]=await a.select().from(j.z).where((0,h.eq)(j.z.id,b));if(!c)return null;let d=m(c.payload),e=c.type;if(n(d)){let c=(0,l.R3)(e);if(c?.supportsRefresh&&d.refreshToken)try{d=await a.transaction(async a=>{await a.execute((0,i.ll)`SELECT pg_advisory_xact_lock(hashtext(${b}))`);let[c]=await a.select().from(j.z).where((0,h.eq)(j.z.id,b));if(!c)return d;let e=m(c.payload);if(!n(e))return e;let f=await o(a,b,c,e);return{...e,accessToken:f.accessToken,expiresAt:f.expiresAt?f.expiresAt.toISOString():null}})}catch(b){let a=b instanceof Error?b.message:String(b);console.warn(`[getDecryptedCredentialById] auto-refresh failed: ${a}`)}}return{id:c.id,ownerUserId:c.ownerUserId,name:c.name,type:e,payload:d}}async function r(a,b){return a.transaction(async a=>{await a.execute((0,i.ll)`SELECT pg_advisory_xact_lock(hashtext(${b}))`);let[c]=await a.select().from(j.z).where((0,h.eq)(j.z.id,b));if(!c)throw Error(`refreshAndPersistCredential: credential '${b}' not found`);let d=m(c.payload);return o(a,b,c,d)})}c(49959);var s=c(54789),t=c(12788);async function u(a,b,c){let d;if(c.subAgentIds.length>0&&(await a.select({id:s.X6.id}).from(s.X6).where((0,h.Uo)((0,h.RV)(s.X6.id,c.subAgentIds),(0,h.eq)(s.X6.entityId,b)))).length!==c.subAgentIds.length)throw Error("sub_agents_not_found");try{let[e]=await a.insert(s.X6).values({entityId:b,slug:c.slug,name:c.name,personality:c.personality,model:c.model,llmKeyId:c.llmKeyId??null,role:c.role,orchestratorMode:c.orchestratorMode,avatarUrl:c.avatarUrl??null}).returning({id:s.X6.id});d=e}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof Error&&c.cause instanceof Error?c.cause.message:"";if(a.includes("unique")||a.includes("23505")||b.includes("unique")||b.includes("23505"))return{error:"slug_taken"};throw c}if(!d)throw Error("Insert returned no row");if(c.subAgentIds.length>0&&await a.insert(s.Qj).values(c.subAgentIds.map(a=>({orchestratorId:d.id,subAgentId:a,entityId:b}))),"orchestrator"===c.role){let[c]=await a.select({rootAgentId:t.O.rootAgentId}).from(t.O).where((0,h.eq)(t.O.id,b)).limit(1);c?.rootAgentId?c.rootAgentId!==d.id&&await a.insert(s.Qj).values({orchestratorId:c.rootAgentId,subAgentId:d.id,entityId:b}):await a.update(t.O).set({rootAgentId:d.id,rootGrants:l.ap,updatedAt:new Date}).where((0,h.eq)(t.O.id,b))}return c.assignToOrchestratorId&&c.assignToOrchestratorId!==d.id&&0===(await a.select({id:s.Qj.id}).from(s.Qj).where((0,h.Uo)((0,h.eq)(s.Qj.orchestratorId,c.assignToOrchestratorId),(0,h.eq)(s.Qj.subAgentId,d.id))).limit(1)).length&&await a.insert(s.Qj).values({orchestratorId:c.assignToOrchestratorId,subAgentId:d.id,entityId:b}),{id:d.id}}async function v(a,b,c,d){let[e]=await a.select({id:s.X6.id,name:s.X6.name}).from(s.X6).where((0,h.Uo)((0,h.eq)(s.X6.entityId,b),(0,h.or)((0,h.eq)(s.X6.slug,d),(0,h.B3)(s.X6.name,d)))).limit(1);return e?e.id===c?{error:"cannot_attach_self"}:(0===(await a.select({id:s.Qj.id}).from(s.Qj).where((0,h.Uo)((0,h.eq)(s.Qj.orchestratorId,c),(0,h.eq)(s.Qj.subAgentId,e.id))).limit(1)).length&&await a.insert(s.Qj).values({orchestratorId:c,subAgentId:e.id,entityId:b}),{ok:!0,subAgentId:e.id,subAgentName:e.name}):{error:"agent_not_found"}}var w=c(82017);async function x(a,b,c,d=[]){if(d.includes(c.slug))return{error:"slug_reserved"};try{let[d]=await a.insert(w.eK).values({entityId:b,slug:c.slug,name:c.name,content:c.content,defaultContent:c.content,description:c.description??null,active:!0,...void 0!==c.createdBy?{createdBy:c.createdBy}:{},...void 0!==c.createdByAgentId&&null!==c.createdByAgentId?{createdByAgentId:c.createdByAgentId}:{}}).returning({id:w.eK.id});if(!d)throw Error("Insert returned no row");return{id:d.id}}catch(c){let a=c instanceof Error?c.message:String(c),b=c instanceof Error&&c.cause instanceof Error?c.cause.message:"";if(a.includes("unique")||a.includes("23505")||b.includes("unique")||b.includes("23505"))return{error:"slug_taken"};throw c}}async function y(a,b,c,d){let[e]=await a.select({id:w.eK.id}).from(w.eK).where((0,h.Uo)((0,h.eq)(w.eK.id,c),(0,h.eq)(w.eK.entityId,b)));if(!e)return{error:"not_found"};let f={updatedAt:new Date};return void 0!==d.name&&(f.name=d.name),void 0!==d.description&&(f.description=d.description),void 0!==d.active&&(f.active=d.active),void 0!==d.content&&(f.content=d.content,f.contentOverridden=!0),"agent"===d.createdBy&&(f.createdBy="agent",f.patchCount=(0,i.ll)`${w.eK.patchCount} + 1`),await a.update(w.eK).set(f).where((0,h.eq)(w.eK.id,c)),{ok:!0}}async function z(a,b,c,d){let[e]=await a.select({id:w.eK.id}).from(w.eK).where((0,h.Uo)((0,h.eq)(w.eK.id,c.skillId),(0,h.or)((0,h.eq)(w.eK.entityId,b),d.length>0?(0,h.Uo)((0,h.RV)(w.eK.slug,d),(0,h.eq)(w.eK.createdBy,"system")):void 0)));if(!e)return{error:"skill_not_found"};let[f]=await a.select({id:s.X6.id}).from(s.X6).where((0,h.Uo)((0,h.eq)(s.X6.id,c.agentId),(0,h.eq)(s.X6.entityId,b)));if(!f)return{error:"agent_not_found"};let[g]=await a.select({id:w.$m.id}).from(w.$m).where((0,h.Uo)((0,h.eq)(w.$m.skillId,c.skillId),(0,h.eq)(w.$m.agentId,c.agentId)));return g?{error:"already_assigned"}:(await a.insert(w.$m).values({entityId:b,skillId:c.skillId,agentId:c.agentId}).onConflictDoNothing({target:[w.$m.agentId,w.$m.skillId]}),{ok:!0})}async function A(a,b,c,d){return 0===(await a.update(w.$m).set({scriptsAuthorized:d}).where((0,h.Uo)((0,h.eq)(w.$m.agentId,b),(0,h.eq)(w.$m.skillId,c))).returning({id:w.$m.id})).length?{error:"not_assigned"}:{ok:!0}}async function B(a,b,c,d){return 0===(await a.update(w.$m).set({filesWritable:d}).where((0,h.Uo)((0,h.eq)(w.$m.agentId,b),(0,h.eq)(w.$m.skillId,c))).returning({id:w.$m.id})).length?{error:"not_assigned"}:{ok:!0}}async function C(a,b){0!==b.length&&await a.update(w.eK).set({lastUsedAt:(0,i.ll)`now()`}).where((0,h.RV)(w.eK.id,b))}async function D(a,b,c){let[d]=await a.select({id:w.eK.id,createdBy:w.eK.createdBy}).from(w.eK).where((0,h.Uo)((0,h.eq)(w.eK.id,c),(0,h.eq)(w.eK.entityId,b))).limit(1);return d?"agent"!==d.createdBy?{error:"not_agent_skill"}:(await a.update(w.eK).set({state:"archived",archivedAt:new Date,updatedAt:new Date}).where((0,h.Uo)((0,h.eq)(w.eK.id,c),(0,h.eq)(w.eK.entityId,b))),{ok:!0}):{error:"not_found"}}let E="install_notes";async function F(a,b,c){let[d]=await a.select({value:f.entitySettings.value}).from(f.entitySettings).where((0,h.Uo)((0,h.eq)(f.entitySettings.entityId,b),(0,h.eq)(f.entitySettings.key,c))).limit(1);return d?.value??""}async function G(a,b,c,d){await a.insert(f.entitySettings).values({entityId:b,key:c,value:d}).onConflictDoUpdate({target:[f.entitySettings.entityId,f.entitySettings.key],set:{value:d,updatedAt:(0,i.ll)`now()`}})}async function H(a,b){return F(a,b,E)}async function I(a,b,c){return G(a,b,E,c)}var J=c(11242)},75224:(a,b,c)=>{"use strict";c.d(b,{_:()=>g});var d=c(61989);let e=d.Ik({DATABASE_URL:d.Yj().min(1,"DATABASE_URL is required"),RUNNER_URL:d.Yj().url().default("http://127.0.0.1:3001"),AUTH_MODE:d.k5(["local-trust","local-auth","bearer-token"]).default("local-trust"),NEXT_PUBLIC_AUTH_MODE:d.k5(["local-trust","local-auth","bearer-token"]).default("local-trust"),AUTH_SECRET:d.Yj().min(32).optional(),WORKER_SECRET:d.Yj().min(1).optional(),GOOGLE_CLIENT_ID:d.Yj().optional(),GOOGLE_CLIENT_SECRET:d.Yj().optional(),NEXT_PUBLIC_APP_URL:d.Yj().url().default("http://localhost:3000"),BIND:d.k5(["127.0.0.1","0.0.0.0"]).default("127.0.0.1"),LLM_PROVIDER:d.Yj().optional(),LLM_MODEL:d.Yj().optional(),LLM_BASE_URL:d.Yj().optional()}),f={DATABASE_URL:process.env.DATABASE_URL??"postgres://placeholder:5432/placeholder",RUNNER_URL:process.env.RUNNER_URL,AUTH_MODE:process.env.AUTH_MODE,NEXT_PUBLIC_AUTH_MODE:process.env.NEXT_PUBLIC_AUTH_MODE,AUTH_SECRET:process.env.AUTH_SECRET,WORKER_SECRET:process.env.WORKER_SECRET,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,NEXT_PUBLIC_APP_URL:process.env.NEXT_PUBLIC_APP_URL,BIND:process.env.BIND,LLM_PROVIDER:process.env.LLM_PROVIDER,LLM_MODEL:process.env.LLM_MODEL,LLM_BASE_URL:process.env.LLM_BASE_URL},g=e.parse(f)},82017:(a,b,c)=>{"use strict";c.d(b,{$m:()=>t,IS:()=>s,bq:()=>r,eK:()=>q});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(52019),i=c(42891),j=c(91605),k=c(16471),l=c(68478),m=c(29123),n=c(12788),o=c(54789),p=c(98935);let q=(0,d.cJ)("agent_skills",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>n.O.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull(),content:(0,f.Qq)("content").notNull(),active:(0,g.zM)("active").default(!0),description:(0,f.Qq)("description"),defaultContent:(0,f.Qq)("default_content"),contentOverridden:(0,g.zM)("content_overridden").default(!1),requiredConfig:(0,h.Fx)("required_config").default((0,m.ll)`'[]'::jsonb`),operations:(0,h.Fx)("operations").default((0,m.ll)`'[]'::jsonb`),requiredBuiltins:(0,f.Qq)("required_builtins").array().notNull().default((0,m.ll)`'{}'::text[]`),isCommunity:(0,g.zM)("is_community").notNull().default(!1),source:(0,f.Qq)("source"),installedScripts:(0,h.Fx)("installed_scripts").$type(),createdBy:(0,f.Qq)("created_by").notNull().default("user"),createdByAgentId:(0,e.uR)("created_by_agent_id").references(()=>o.X6.id,{onDelete:"set null"}),state:(0,f.Qq)("state").notNull().default("active"),lastUsedAt:(0,i.vE)("last_used_at",{withTimezone:!0}),patchCount:(0,j.nd)("patch_count").notNull().default(0),archivedAt:(0,i.vE)("archived_at",{withTimezone:!0}),createdAt:(0,i.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,i.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,k.Pe)("idx_agent_skills_entity_id").on(a.entityId),(0,k.Pe)("idx_skills_active").on(a.active,a.slug),(0,k.Pe)("idx_agent_skills_is_community").on(a.isCommunity),(0,l.Am)("agent_skills_entity_slug_unique").on(a.entityId,a.slug).nullsNotDistinct(),(0,l.Am)("agent_skills_entity_name_unique").on(a.entityId,a.name).nullsNotDistinct()]),r=(0,d.cJ)("skill_versions",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>n.O.id,{onDelete:"cascade"}),skillId:(0,e.uR)("skill_id").references(()=>q.id,{onDelete:"cascade"}),version:(0,j.nd)("version").notNull(),content:(0,f.Qq)("content").notNull(),name:(0,f.Qq)("name").notNull(),createdAt:(0,i.vE)("created_at",{withTimezone:!0}).defaultNow()},a=>[(0,k.Pe)("idx_skill_versions_entity_id").on(a.entityId),(0,k.Pe)("idx_skill_versions_skill_id").on(a.skillId,(0,m.ll)`${a.version} DESC`)]),s=(0,d.cJ)("skill_connectors",{skillId:(0,e.uR)("skill_id").notNull().references(()=>q.id,{onDelete:"cascade"}),connectorId:(0,e.uR)("connector_id").notNull().references(()=>p.t.id,{onDelete:"cascade"}),entityId:(0,e.uR)("entity_id").references(()=>n.O.id,{onDelete:"cascade"})},a=>[(0,k.Pe)("idx_skill_connectors_entity_id").on(a.entityId),(0,k.Pe)("idx_skill_connectors_skill_id").on(a.skillId)]),t=(0,d.cJ)("agent_skill_assignments",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").notNull().references(()=>n.O.id,{onDelete:"cascade"}),agentId:(0,e.uR)("agent_id").notNull().references(()=>o.X6.id,{onDelete:"cascade"}),skillId:(0,e.uR)("skill_id").notNull().references(()=>q.id,{onDelete:"cascade"}),approvalOverrides:(0,h.Fx)("approval_overrides").default((0,m.ll)`'{}'::jsonb`),useCustomInstructions:(0,g.zM)("use_custom_instructions").notNull().default(!1),enabledOperations:(0,f.Qq)("enabled_operations").array(),scriptsAuthorized:(0,g.zM)("scripts_authorized").notNull().default(!1),filesWritable:(0,g.zM)("files_writable").notNull().default(!1),createdAt:(0,i.vE)("created_at",{withTimezone:!0}).notNull().defaultNow()},a=>[(0,l.Am)("agent_skill_assignments_agent_skill_unique").on(a.agentId,a.skillId)])},87488:()=>{},95488:(a,b,c)=>{"use strict";c.d(b,{Iz:()=>l,Lf:()=>j,St:()=>g,XK:()=>m,a1:()=>h,oC:()=>e.oC,sj:()=>n});var d=c(69747),e=c(57638),f=c(75224);let g="nodalai_active_entity";async function h(a,b){let c=function(a){let b=a.headers.get("cookie");if(!b)return null;for(let a of b.split(";")){let b=a.indexOf("=");if(-1!==b&&a.slice(0,b).trim()===g)return decodeURIComponent(a.slice(b+1).trim())}return null}(b);if(!c||c===a.entityId)return a;let[e]=await j().select({id:d.V.id}).from(d.V).where((0,d.Uo)((0,d.eq)(d.V.userId,a.userId),(0,d.eq)(d.V.entityId,c)));return e?{...a,entityId:c}:a}let i=globalThis;function j(){return i.__nodalDb||(i.__nodalDb=(0,d.UU)(f._.DATABASE_URL)),i.__nodalDb.db}let k=null;function l(){if(k)return k;if("local-trust"===f._.AUTH_MODE)return k=new e.hb;if("local-auth"===f._.AUTH_MODE){if(!f._.AUTH_SECRET)throw Error("AUTH_SECRET must be set when AUTH_MODE=local-auth");return k=(0,e.Xi)({db:j(),baseURL:f._.NEXT_PUBLIC_APP_URL,secret:f._.AUTH_SECRET,googleClientId:f._.GOOGLE_CLIENT_ID,googleClientSecret:f._.GOOGLE_CLIENT_SECRET})}return k=new e.hb}function m(){let a=l();if(!(a instanceof e.Jj))throw Error("better-auth API is only available in local-auth mode");return a.auth}async function n(a){return h(await (0,e.rb)(a,l(),j()),a)}},98472:(a,b,c)=>{"use strict";c.d(b,{Jm:()=>j,Yc:()=>m,nK:()=>n,ph:()=>k,w:()=>l});var d=c(77598),e=c(73024),f=c(48161),g=c(76760);let h="aes-256-gcm",i=null;function j(a=(0,g.join)((0,f.homedir)(),".nodalai","secrets.key")){if(i)return i;if((0,e.existsSync)(a)){let b=(0,e.readFileSync)(a,"utf-8").trim(),c=Buffer.from(b,"base64");if(32!==c.length)throw Error(`secrets: master key at ${a} is malformed (expected 32 bytes, got ${c.length})`);return i=c,c}let b=(0,g.dirname)(a);(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0});let c=(0,d.randomBytes)(32);(0,e.writeFileSync)(a,c.toString("base64"),{mode:384});try{(0,e.chmodSync)(a,384)}catch{}return i=c,c}function k(a){return a.startsWith("enc:v1:")}function l(a,b=j()){if(""===a)return"";let c=(0,d.randomBytes)(12),e=(0,d.createCipheriv)(h,b,c),f=Buffer.concat([e.update(a,"utf-8"),e.final()]),g=e.getAuthTag();return`enc:v1:${c.toString("base64")}:${g.toString("base64")}:${f.toString("base64")}`}function m(a,b=j()){if(""===a)return"";if(!k(a))throw Error("secrets: value is not encrypted (missing enc:v1: prefix)");let c=a.split(":");if(5!==c.length)throw Error("secrets: malformed ciphertext");let[,,e,f,g]=c;if(!e||!f||!g)throw Error("secrets: malformed ciphertext");let i=Buffer.from(e,"base64"),l=Buffer.from(f,"base64"),n=Buffer.from(g,"base64"),o=(0,d.createDecipheriv)(h,b,i);return o.setAuthTag(l),Buffer.concat([o.update(n),o.final()]).toString("utf-8")}function n(a){return a.length<=4?a:a.slice(-4)}},98648:(a,b,c)=>{"use strict";c.d(b,{s$:()=>m,vV:()=>u,NY:()=>s,r_:()=>U,p6:()=>q,YT:()=>am,zw:()=>af,dO:()=>I,Li:()=>G,ap:()=>ag,vH:()=>e,nE:()=>g,$s:()=>aq,ip:()=>O,BJ:()=>w,dg:()=>A,rc:()=>y,yO:()=>ai,SV:()=>an,Uw:()=>K,GN:()=>o,bt:()=>N,Y7:()=>M,Ur:()=>E,GB:()=>C,jZ:()=>al,PN:()=>k,Hi:()=>i,aT:()=>aj,ZH:()=>ab,R3:()=>ac,FM:()=>ap,DI:()=>ak,yg:()=>ar});var d=c(61989);let e=["telegram","api","whatsapp","internal","cron","task-board","slack","discord","dashboard"],f=d.k5(e),g=["pending","processing","completed","failed","awaiting_approval","awaiting_delegation","cancelled"],h=d.k5(g),i=["todo","in_progress","done","cancelled","blocked"],j=d.k5(i),k=["low","medium","high"],l=d.k5(k),m=["agent","orchestrator","system"],n=d.k5(m),o=["router","planner"],p=d.k5(o),q=["api_key","oauth2","bearer","basic","none"],r=d.k5(q),s=["pending","approved","rejected","expired"],t=d.k5(s),u=["auto_approve","require_approval","block"],v=d.k5(u),w=["preference","context","outcome","learned_rule"],x=d.k5(w),y=["agent","reflection","manual"],z=d.k5(y),A=["L1","L2","L3"],B=d.k5(A),C=["cron","heartbeat"],D=d.k5(C),E=["success","failed","no_action"],F=d.k5(E),G=["owner","admin","member","viewer"],H=d.k5(G),I=["agency","startup","personal","studio","enterprise","other"],J=d.k5(I),K=["read","write","destructive"],L=d.k5(K),M=["webhook","transform","schedule"];d.k5(M);let N=["pre_task","post_task","pre_tool","post_tool","on_memory_save"];d.k5(N);let O=["http","stdio"];d.k5(O),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Yj().guid().brand(),d.Ik({id:d.Yj().guid(),user_id:d.Yj().guid(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),description:d.Yj().max(500).nullable(),icon:d.Yj().max(4),industry:J.nullable(),goal:d.Yj().max(1e3).nullable(),mcp_token:d.Yj().guid().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,mcp_token:!0,created_at:!0,updated_at:!0}).extend({description:d.Yj().max(500).nullable().optional(),icon:d.Yj().max(4).default("\uD83C\uDFE2"),industry:J.nullable().optional(),goal:d.Yj().max(1e3).nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),user_id:d.Yj().guid(),role:H,created_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0}).extend({role:H.default("owner")}),d.Ik({user_id:d.Yj().guid(),display_name:d.Yj().max(120).nullable(),avatar_url:d.Yj().max(500).nullable(),timezone:d.Yj().max(80),locale:d.Yj().max(10),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({created_at:!0,updated_at:!0}).extend({display_name:d.Yj().max(120).nullable().optional(),avatar_url:d.Yj().max(500).nullable().optional(),timezone:d.Yj().max(80).default("UTC"),locale:d.Yj().max(10).default("en")}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),personality:d.Yj().min(1),model:d.Yj().min(1),active:d.zM(),is_default:d.zM(),role:n,orchestrator_mode:p.nullable(),telegram_bot_token:d.Yj().nullable(),telegram_bot_username:d.Yj().nullable(),telegram_offset:d.ai().int().nonnegative().nullable(),requires_approval:d.YO(d.Yj()),capabilities:d.YO(d.Yj()),task_context_template:d.Yj().nullable(),avatar_url:d.Yj().nullable(),system_agent:d.zM(),max_tokens_per_job:d.ai().int().min(0),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,telegram_offset:!0,capabilities:!0,system_agent:!0}).extend({active:d.zM().default(!0),is_default:d.zM().default(!1),role:n.default("agent"),orchestrator_mode:p.nullable().optional(),telegram_bot_token:d.Yj().nullable().optional(),telegram_bot_username:d.Yj().nullable().optional(),requires_approval:d.YO(d.Yj()).default([]),task_context_template:d.Yj().nullable().optional(),avatar_url:d.Yj().nullable().optional(),max_tokens_per_job:d.ai().int().min(0).max(5e5).default(0)});let P=d.ai().int().min(0),Q=d.ai().int().min(0);d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),status:h,channel:f,task:d.Yj().min(1),original_task:d.Yj().nullable(),chat_id:d.Yj().nullable(),system_prompt:d.Yj().nullable(),messages:d.YO(d.g1(d.Yj(),d.L5())),tools_used:d.YO(d.Yj()),turn:d.ai().int().min(0),result:d.Yj().nullable(),error:d.Yj().nullable(),chain_count:P,request_id:d.Yj().nullable(),parent_job_id:d.Yj().guid().nullable(),parent_request_id:d.Yj().nullable(),total_duration_ms:d.ai().int().min(0),input_tokens:d.ai().int().min(0),output_tokens:d.ai().int().min(0),delegation_depth:Q,pending_delegation:d.g1(d.Yj(),d.L5()).nullable(),completed_at:d.Yj().datetime().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,completed_at:!0,messages:!0,tools_used:!0,turn:!0,result:!0,error:!0,chain_count:!0,total_duration_ms:!0,input_tokens:!0,output_tokens:!0,delegation_depth:!0,pending_delegation:!0,parent_request_id:!0}).extend({status:h.default("pending"),original_task:d.Yj().nullable().optional(),chat_id:d.Yj().nullable().optional(),system_prompt:d.Yj().nullable().optional(),request_id:d.Yj().nullable().optional(),parent_job_id:d.Yj().guid().nullable().optional()});let R=d.Yj().max(2e3).nullable(),S=d.Yj().min(1).max(200);d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),orchestrator_id:d.Yj().guid(),title:S,description:R,status:j,priority:l,job_id:d.Yj().guid().nullable(),result:d.Yj().nullable(),created_by_agent_id:d.Yj().guid().nullable(),assigned_agent_id:d.Yj().guid().nullable(),input_tokens:d.ai().int().min(0),output_tokens:d.ai().int().min(0),cost_usd:d.ai().min(0),depends_on:d.YO(d.Yj().guid()),context:d.g1(d.Yj(),d.L5()),root_job_id:d.Yj().guid().nullable(),locked_at:d.Yj().datetime().nullable(),locked_by:d.Yj().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,job_id:!0,result:!0,created_by_agent_id:!0,assigned_agent_id:!0,input_tokens:!0,output_tokens:!0,cost_usd:!0,depends_on:!0,context:!0,root_job_id:!0,locked_at:!0,locked_by:!0}).extend({status:j.default("todo"),priority:l.default("medium"),description:R.optional(),depends_on:d.YO(d.Yj().guid()).default([]),context:d.g1(d.Yj(),d.L5()).default({}),root_job_id:d.Yj().guid().nullable().optional()}),d.Ik({id:d.Yj().guid(),owner_user_id:d.Yj().guid(),name:d.Yj().min(1),type:d.k5(["google-oauth","notion-oauth","airtable-oauth"]),payload:d.Yj(),created_at:d.p6().nullable(),updated_at:d.p6().nullable()}),d.Ik({clientId:d.Yj(),clientSecret:d.Yj(),refreshToken:d.Yj().nullable(),accessToken:d.Yj(),expiresAt:d.Yj().nullable(),scopes:d.Yj(),accountName:d.Yj(),tokenUrl:d.Yj().url()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),base_url:d.Yj().nullable(),api_key:d.Yj().nullable(),active:d.zM(),auth_type:r,credential_id:d.Yj().guid().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({active:d.zM().default(!0),auth_type:r.default("api_key"),base_url:d.Yj().nullable().optional(),api_key:d.Yj().nullable().optional(),credential_id:d.Yj().guid().nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),job_id:d.Yj().guid().nullable(),tool_name:d.Yj().min(1),tool_input:d.g1(d.Yj(),d.L5()).nullable(),tool_output:d.Yj().nullable(),duration_ms:d.ai().int().min(0).nullable(),turn:d.ai().int().min(0).nullable(),created_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0}).extend({tool_input:d.g1(d.Yj(),d.L5()).nullable().optional(),tool_output:d.Yj().nullable().optional(),duration_ms:d.ai().int().min(0).nullable().optional(),turn:d.ai().int().min(0).nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),job_id:d.Yj().guid(),agent_id:d.Yj().guid().nullable(),tool_name:d.Yj().min(1),tool_input:d.g1(d.Yj(),d.L5()),status:t,requested_at:d.Yj().datetime(),resolved_at:d.Yj().datetime().nullable(),resolved_by:d.Yj().nullable(),expires_at:d.Yj().datetime().nullable(),notes:d.Yj().nullable()}).strict().omit({id:!0,requested_at:!0,resolved_at:!0,resolved_by:!0,expires_at:!0}).extend({status:t.default("pending"),notes:d.Yj().nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),tool_name:d.Yj().min(1),action:v,condition_json:d.g1(d.Yj(),d.L5()),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({agent_id:d.Yj().guid().nullable().optional(),condition_json:d.g1(d.Yj(),d.L5()).default({})});let T=d.ai().int().min(1).max(5),U=d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),fact:d.Yj().min(1),category:x,importance:T,source:z,skill_tags:d.YO(d.Yj().max(60)),memory_layer:B.nullable(),valid_from:d.Yj().datetime().nullable(),valid_to:d.Yj().datetime().nullable(),fact_hash:d.Yj().nullable(),archived:d.zM(),importance_locked:d.zM().default(!1),last_accessed_at:d.Yj().datetime().nullable(),access_count:d.ai().int().min(0),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,fact_hash:!0,archived:!0,importance_locked:!0,last_accessed_at:!0,access_count:!0,valid_from:!0,valid_to:!0}).extend({agent_id:d.Yj().guid().nullable().optional(),category:x.default("context"),importance:T.default(3),source:z.default("manual"),skill_tags:d.YO(d.Yj().max(60)).max(20).default([]),memory_layer:B.nullable().optional()});d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),task_template:d.Yj().min(1),active:d.zM(),secret:d.Yj().nullable(),last_triggered_at:d.Yj().datetime().nullable(),trigger_count:d.ai().int().min(0),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,secret:!0,last_triggered_at:!0,trigger_count:!0}).extend({active:d.zM().default(!0)});let V=d.Ik({name:d.Yj().min(1),slug:d.Yj().min(1).regex(/^[a-z0-9-]+$/),risk:L,requires_approval:d.zM()}).strict(),W=d.Ik({label:d.Yj().min(1),description:d.Yj().min(1),type:d.k5(["connector_slug","manual"]),value:d.Yj().optional(),critical:d.zM()}).strict();d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),name:d.Yj().min(1).max(120),slug:d.Yj().min(1).max(80).regex(/^[a-z0-9-]+$/),content:d.Yj().min(1),active:d.zM(),description:d.Yj().max(300).nullable(),default_content:d.Yj().nullable(),content_overridden:d.zM(),required_config:d.YO(W),operations:d.YO(V),required_builtins:d.YO(d.Yj()),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({active:d.zM().default(!0),description:d.Yj().max(300).nullable().optional(),default_content:d.Yj().nullable().optional(),content_overridden:d.zM().default(!1),required_config:d.YO(W).default([]),operations:d.YO(V).default([]),required_builtins:d.YO(d.Yj()).default([])}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),agent_id:d.Yj().guid(),skill_id:d.Yj().guid(),approval_overrides:d.g1(d.Yj(),d.zM()),use_custom_instructions:d.zM(),enabled_operations:d.YO(d.Yj()).nullable(),created_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0}).extend({approval_overrides:d.g1(d.Yj(),d.zM()).default({}),use_custom_instructions:d.zM().default(!1),enabled_operations:d.YO(d.Yj()).nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid().nullable(),agent_id:d.Yj().guid(),type:D,name:d.Yj().min(1).max(120),cron_expr:d.Yj().min(1),task:d.Yj().nullable(),objectives:d.Yj().nullable(),active:d.zM(),last_run:d.Yj().datetime().nullable(),next_run:d.Yj().datetime().nullable(),last_status:F.nullable(),chat_id:d.Yj().nullable(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0,last_run:!0,next_run:!0,last_status:!0}).extend({type:D.default("cron"),active:d.zM().default(!0),task:d.Yj().nullable().optional(),objectives:d.Yj().nullable().optional(),chat_id:d.Yj().nullable().optional()}),d.Ik({id:d.Yj().guid(),entity_id:d.Yj().guid(),provider:d.Yj().min(1),api_key:d.Yj(),base_url:d.Yj().nullable(),nickname:d.Yj().max(80).nullable(),is_active:d.zM(),created_at:d.Yj().datetime(),updated_at:d.Yj().datetime()}).strict().omit({id:!0,created_at:!0,updated_at:!0}).extend({api_key:d.Yj().default(""),base_url:d.Yj().nullable().optional(),nickname:d.Yj().max(80).nullable().optional(),is_active:d.zM().default(!0)});let X="https://accounts.google.com/o/oauth2/v2/auth",Y="https://oauth2.googleapis.com/token",Z=["https://www.googleapis.com/auth/userinfo.email","openid"],$={access_type:"offline",prompt:"consent",include_granted_scopes:"true"},_={url:"https://www.googleapis.com/oauth2/v3/userinfo",nameField:"name",emailField:"email"},aa={"google-drive":{slug:"google-drive",label:"Google Drive",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/drive",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},gmail:{slug:"gmail",label:"Gmail",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/gmail.readonly","https://www.googleapis.com/auth/gmail.send",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"google-calendar":{slug:"google-calendar",label:"Google Calendar",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/calendar",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"google-sheets":{slug:"google-sheets",label:"Google Sheets",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/spreadsheets",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"google-docs":{slug:"google-docs",label:"Google Docs",authUrl:X,tokenUrl:Y,scopes:["https://www.googleapis.com/auth/documents",...Z],pkce:"pkce-s256",tokenAuth:"body",tokenBodyType:"form",accountInfo:_,supportsRefresh:!0,authExtraParams:$,credentialType:"google-oauth"},"notion-oauth":{slug:"notion-oauth",label:"Notion (OAuth)",authUrl:"https://api.notion.com/v1/oauth/authorize",tokenUrl:"https://api.notion.com/v1/oauth/token",scopes:[],pkce:"none",tokenAuth:"basic",tokenBodyType:"json",accountInfo:null,supportsRefresh:!1,authExtraParams:{owner:"user",response_type:"code"},credentialType:"notion-oauth"},"airtable-oauth":{slug:"airtable-oauth",label:"Airtable",authUrl:"https://airtable.com/oauth2/v1/authorize",tokenUrl:"https://airtable.com/oauth2/v1/token",scopes:["data.records:read","data.records:write","schema.bases:read","schema.bases:write"],pkce:"pkce-s256",tokenAuth:"basic",tokenBodyType:"form",accountInfo:{url:"https://api.airtable.com/v0/meta/whoami",nameField:"email"},supportsRefresh:!0,authExtraParams:{response_type:"code"},credentialType:"airtable-oauth"}};function ab(a){return aa[a]??null}function ac(a){for(let b of Object.values(aa))if(b.credentialType===a)return b;return null}let ad=d.k5(["propose_confirm","destructive_gate","fully_autonomous"]),ae=d.Ik({createAgent:d.zM(),updateAgent:d.zM(),attachAgent:d.zM(),createSkill:d.zM(),updateSkill:d.zM(),assignSkill:d.zM(),createMcp:d.zM(),attachMcp:d.zM(),createConnector:d.zM(),attachConnector:d.zM(),manageSchedules:d.zM(),autonomy:ad}),af={createAgent:!0,updateAgent:!0,attachAgent:!0,createSkill:!0,updateSkill:!0,assignSkill:!0,createMcp:!0,attachMcp:!0,createConnector:!0,attachConnector:!0,manageSchedules:!0,autonomy:"propose_confirm"},ag={createAgent:!1,updateAgent:!1,attachAgent:!1,createSkill:!1,updateSkill:!1,assignSkill:!1,createMcp:!1,attachMcp:!1,createConnector:!1,attachConnector:!1,manageSchedules:!1,autonomy:"propose_confirm"},ah={createAgent:"create_agent",updateAgent:"update_agent",attachAgent:["attach_agent","detach_agent"],createSkill:"create_skill",updateSkill:"update_skill",assignSkill:["attach_skill","detach_skill"],createMcp:"create_mcp",attachMcp:["attach_mcp","detach_mcp"],createConnector:"create_connector",attachConnector:["attach_connector","detach_connector"],manageSchedules:["create_schedule","update_schedule","toggle_schedule","run_schedule"]},ai=["create_agent","update_agent","attach_agent","detach_agent","create_skill","update_skill","attach_skill","detach_skill","create_mcp","attach_mcp","detach_mcp","create_connector","attach_connector","detach_connector","create_schedule","update_schedule","toggle_schedule","run_schedule"];function aj(a){return Object.keys(ah).filter(b=>!0===a[b]).flatMap(a=>{let b=ah[a];return Array.isArray(b)?[...b]:[b]})}function ak(a){let b=ae.safeParse(a);if(b.success)return b.data;let c=null!==a&&"object"==typeof a?a:{},d="boolean"==typeof c.createAgent?c.createAgent:af.createAgent,e="boolean"==typeof c.updateAgent?c.updateAgent:af.updateAgent,f="boolean"==typeof c.attachAgent?c.attachAgent:af.attachAgent,g="boolean"==typeof c.createSkill?c.createSkill:af.createSkill,h="boolean"==typeof c.updateSkill?c.updateSkill:af.updateSkill,i="boolean"==typeof c.assignSkill?c.assignSkill:af.assignSkill,j="boolean"==typeof c.createMcp&&c.createMcp,k="boolean"==typeof c.createConnector&&c.createConnector,l="boolean"==typeof c.attachMcp?c.attachMcp:j,m="boolean"==typeof c.attachConnector?c.attachConnector:k,n="boolean"==typeof c.manageSchedules&&c.manageSchedules,o=ad.safeParse(c.autonomy);return{createAgent:d,updateAgent:e,attachAgent:f,createSkill:g,updateSkill:h,assignSkill:i,createMcp:j,attachMcp:l,createConnector:k,attachConnector:m,manageSchedules:n,autonomy:o.success?o.data:af.autonomy}}let al="\n\n[[[NODAL_SYSTEM_CACHE_BOUNDARY]]]\n\n",am=[{slug:"notion",label:"Notion",authType:"api_key",docsHint:"Create a Notion integration at notion.so/my-integrations and copy its internal secret."},{slug:"notion-oauth",label:"Notion (OAuth)",authType:"oauth2",credentialType:"notion-oauth",docsHint:"Public Integration via OAuth — create one at notion.so/my-integrations (Public type) and authorize from your dashboard."},{slug:"google-drive",label:"Google Drive",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"gmail",label:"Gmail",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"google-calendar",label:"Google Calendar",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"google-sheets",label:"Google Sheets",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"google-docs",label:"Google Docs",authType:"oauth2",credentialType:"google-oauth",docsHint:"OAuth flow — uses your Google credential (create one under Credentials)."},{slug:"airtable-oauth",label:"Airtable (OAuth)",authType:"oauth2",credentialType:"airtable-oauth",docsHint:"OAuth flow for Airtable Public Integrations (recommended)."},{slug:"airtable",label:"Airtable",authType:"api_key",docsHint:"Personal Access Token — airtable.com/create/tokens."},{slug:"apify",label:"Apify",authType:"api_key",docsHint:"Apify API token — console.apify.com/account/integrations."},{slug:"firecrawl",label:"Firecrawl",authType:"api_key",docsHint:"Firecrawl API key — firecrawl.dev/account."},{slug:"tavily",label:"Tavily",authType:"api_key",docsHint:"Tavily API key — app.tavily.com."},{slug:"poyo",label:"Poyo",authType:"api_key",docsHint:"Poyo API key — poyo.ai (API Console). Sent as a Bearer token."}],an={deepseek:[{modelId:"deepseek-chat",label:"DeepSeek Chat (V3)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:128e3,pricing:{inputPerMillionUsd:.27,outputPerMillionUsd:1.1}},{modelId:"deepseek-reasoner",label:"DeepSeek Reasoner (R1)",capabilities:{tools:!0,forcedToolChoice:!0,reasoning:!0},contextWindow:128e3,pricing:{inputPerMillionUsd:.55,outputPerMillionUsd:2.19}}],minimax:[{modelId:"MiniMax-M3",label:"MiniMax M3",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:1048576},{modelId:"MiniMax-M2.7",label:"MiniMax M2.7",capabilities:{tools:!0,forcedToolChoice:!1},contextWindow:2e5},{modelId:"MiniMax-M2",label:"MiniMax M2",capabilities:{tools:!0,forcedToolChoice:!1},contextWindow:2e5}],anthropic:[{modelId:"claude-opus-4-8",label:"Claude Opus 4.8",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5},{modelId:"claude-sonnet-4-6",label:"Claude Sonnet 4.6",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5},{modelId:"claude-haiku-4-5-20251001",label:"Claude Haiku 4.5",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5}],openai:[{modelId:"gpt-5",label:"GPT-5",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:4e5},{modelId:"gpt-5-mini",label:"GPT-5 mini",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:4e5}],google:[{modelId:"gemini-2.0-flash",label:"Gemini 2.0 Flash",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"gemini-2.5-pro",label:"Gemini 2.5 Pro",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576}],groq:[{modelId:"llama-3.3-70b-versatile",label:"Llama 3.3 70B",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:131072}],mistral:[{modelId:"mistral-large-latest",label:"Mistral Large",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:131072}],openrouter:[{modelId:"anthropic/claude-haiku-4.5",label:"Claude Haiku 4.5",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:2e5},{modelId:"anthropic/claude-opus-4.7",label:"Claude Opus 4.7",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-opus-4.7-fast",label:"Claude Opus 4.7 (fast)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-opus-4.8",label:"Claude Opus 4.8",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-opus-4.8-fast",label:"Claude Opus 4.8 (fast)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"anthropic/claude-sonnet-4.6",label:"Claude Sonnet 4.6",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1e6},{modelId:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:131072},{modelId:"deepseek/deepseek-v4-flash",label:"DeepSeek V4 Flash",capabilities:{tools:!0,forcedToolChoice:!0,reasoning:!0},contextWindow:1048576,providerOrder:["deepseek"]},{modelId:"deepseek/deepseek-v4-pro",label:"DeepSeek V4 Pro",capabilities:{tools:!0,forcedToolChoice:!0,reasoning:!0},contextWindow:1048576,providerOrder:["deepseek"]},{modelId:"google/gemini-3.1-flash-lite-preview",label:"Gemini 3.1 Flash Lite (preview)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"google/gemini-3.1-pro-preview",label:"Gemini 3.1 Pro (preview)",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"google/gemini-3.5-flash",label:"Gemini 3.5 Flash",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:1048576},{modelId:"google/gemma-4-31b-it",label:"Gemma 4 31B-IT",capabilities:{tools:!0,forcedToolChoice:!0},contextWindow:262144},{modelId:"minimax/minimax-m3",label:"MiniMax M3",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:1048576},{modelId:"z-ai/glm-5.2",label:"GLM 5.2",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:1048576},{modelId:"moonshotai/kimi-k2.7-code",label:"Kimi K2.7 Code",capabilities:{tools:!0,forcedToolChoice:!1,reasoning:!0},contextWindow:262144}]},ao=new Set(["anthropic/claude-haiku-4.5","anthropic/claude-opus-4.7","anthropic/claude-opus-4.7-fast","anthropic/claude-opus-4.8","anthropic/claude-opus-4.8-fast","anthropic/claude-sonnet-4.6","google/gemini-3.1-flash-lite-preview","google/gemini-3.1-pro-preview","google/gemini-3.5-flash","google/gemma-4-31b-it","minimax/minimax-m3","moonshotai/kimi-k2.7-code","claude-opus-4-8","claude-sonnet-4-6","claude-haiku-4-5-20251001","gpt-5","gpt-5-mini","gemini-2.0-flash","gemini-2.5-pro","mistral-large-latest","MiniMax-M3"]);for(let a of Object.values(an))for(let b of a)b.capabilities.vision=ao.has(b.modelId);function ap(a){return ao.has(a)}let aq=[{slug:"cogni-cortex",label:"Cogni Cortex",description:"The Cortex — a social network for AI agents. Gives an agent ~28 tools to read the feed, post, vote, comment, and store memories.",serverUrl:"https://cogni-web-psi.vercel.app/api/mcp",transport:"http",authScheme:"header",authParamName:"x-api-key",keyPrefix:["cog_"],verifyToolName:"get_home",docsHint:'API key starting with cog_ — created in the Cogni app when a human registers an agent in "I control it" mode.'},{slug:"stripe",label:"Stripe",description:"Payment processing — read customers, products, prices, invoices, subscriptions; create coupons, payment links, refunds.",serverUrl:"https://mcp.stripe.com",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:["sk_","rk_"],verifyToolName:"retrieve_balance",docsHint:"Use a Restricted API Key (rk_test_… or rk_live_…) from https://dashboard.stripe.com/apikeys for least privilege — recommended. Standard secret keys (sk_test_… or sk_live_…) also work."},{slug:"composio",label:"Composio",description:"Meta-toolkit: a Composio MCP server you provision exposes hundreds of tools across Gmail, Slack, GitHub, Linear, and more — configured per-server on composio.dev.",serverUrl:null,transport:"http",authScheme:"header",authParamName:"x-api-key",keyPrefix:[],verifyToolName:null,docsHint:"Create an MCP server at https://app.composio.dev, paste its full URL here (format: https://backend.composio.dev/v3/mcp/<server-id>?user_id=<user-id>) plus your Composio API key."},{slug:"vidiq",label:"VidIQ",description:"YouTube growth toolkit — keyword research, video SEO scoring, competitor and channel analytics for creators.",serverUrl:"https://vidiq.com/mcp/",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Connect your VidIQ account at https://vidiq.com to obtain an MCP access token, then paste it here as the Bearer key."},{slug:"mcp-filesystem",label:"Filesystem",description:"Read and write files on the host machine. Useful for broad disk access outside an agent workspace. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <root-directory> in the args with the absolute path of the folder to expose (e.g. /home/user/docs). The server restricts all operations to that tree.",command:"npx",args:["-y","@modelcontextprotocol/server-filesystem@2026.1.14","<root-directory>"]},{slug:"mcp-fetch",label:"Fetch",description:"Fetch web pages and convert them to clean Markdown or plain text for agents. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"No API key required. The server fetches URLs on behalf of the agent.",command:"npx",args:["-y","mcp-fetch-server@1.1.2"]},{slug:"mcp-git",label:"Git",description:"Run git operations (status, diff, log, commit, branch, etc.) on a local repository. First run downloads the package via npx (requires network, ~5–10 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <repo-path> in the args with the absolute path to the git repository root (e.g. /home/user/myrepo). No API key required.",command:"npx",args:["-y","@cyanheads/git-mcp-server@2.15.1","--repo","<repo-path>"]},{slug:"mcp-github",label:"GitHub",description:"Read and manage GitHub repositories, issues, PRs, and code via a Personal Access Token. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create a GitHub Personal Access Token (PAT) at https://github.com/settings/tokens with the repo scope and paste it as the GITHUB_PERSONAL_ACCESS_TOKEN env var below.",command:"npx",args:["-y","@modelcontextprotocol/server-github@2025.4.8"],envVarNames:["GITHUB_PERSONAL_ACCESS_TOKEN"]},{slug:"mcp-postgres",label:"PostgreSQL",description:"Run read-only SQL queries against a PostgreSQL database. First run downloads the package via npx (requires network, ~5 s latency).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <connection-string> in the args with your Postgres connection URL (e.g. postgresql://user:pass@host:5432/dbname). The server connects in read-only mode.",command:"npx",args:["-y","@modelcontextprotocol/server-postgres@0.6.2","<connection-string>"]},{slug:"mcp-playwright",label:"Playwright",description:"Browser automation — navigate pages, click, type, screenshot, and extract content from the web via a headless browser. First run downloads the package via npx (requires network, ~10–30 s latency for browser binary).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"No API key required. Playwright launches a local headless browser — make sure Chromium or Chrome is available on the host machine.",command:"npx",args:["-y","@playwright/mcp@0.0.75"]},{slug:"linear",label:"Linear",description:"Manage Linear issues, projects, teams, and cycles via a personal API key. Requires a Linear account.",serverUrl:null,transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:["lin_api_"],verifyToolName:null,docsHint:"Create a Personal API key at https://linear.app/settings/api. Paste the full URL of your Linear MCP endpoint (format: https://mcp.linear.app/sse) and your API key."},{slug:"sentry",label:"Sentry",description:"Query Sentry issues, events, and releases for debugging. Auth via a Sentry auth token.",serverUrl:null,transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create a Sentry Auth Token at https://sentry.io/settings/account/api/auth-tokens/. Paste the full URL of your Sentry MCP endpoint and your token."},{slug:"n8n",label:"n8n",description:"Workflow automation — let an agent list, read, build, and trigger n8n workflows on your instance. Runs the n8n-mcp server locally via npx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Set N8N_API_URL to your n8n instance (e.g. https://n8n.example.com) and N8N_API_KEY to an API key from Settings → n8n API. First run downloads the package via npx.",command:"npx",args:["-y","n8n-mcp"],envVarNames:["N8N_API_URL","N8N_API_KEY"],status:"pending"},{slug:"supabase",label:"Supabase",description:"Manage a Supabase project — list tables, run read-only SQL, inspect logs and advisors. Runs the official Supabase MCP server locally via npx (read-only by default).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Replace <project-ref> in the args with your project ref (Project Settings → General). Set SUPABASE_ACCESS_TOKEN to a Personal Access Token from supabase.com/dashboard/account/tokens. Remove --read-only to allow writes.",command:"npx",args:["-y","@supabase/mcp-server-supabase@latest","--read-only","--project-ref=<project-ref>"],envVarNames:["SUPABASE_ACCESS_TOKEN"],status:"pending"},{slug:"airtable",label:"Airtable",description:"Read and write Airtable bases — list bases and tables, query records, create and update rows. Official hosted Airtable MCP server.",serverUrl:"https://mcp.airtable.com/mcp",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:["pat"],verifyToolName:null,docsHint:'Create a Personal Access Token at airtable.com/create/tokens (scopes: data.records:read/write, schema.bases:read) and paste it here as a Bearer token. (Airtable API keys are deprecated — use a PAT, which starts with "pat".) After connecting, pick which bases the integration can access at airtable.com/?integrations=thirdParty.'},{slug:"notion",label:"Notion",description:"Read and update Notion pages and databases — search, fetch, create, and edit content. Runs the official Notion MCP server locally via npx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:'Create an internal integration at notion.so/my-integrations, share the target pages/databases with it, and set NOTION_TOKEN to the integration secret (starts with ntn_). (Older package builds want OPENAPI_MCP_HEADERS instead — a JSON string {"Authorization":"Bearer ntn_…","Notion-Version":"2022-06-28"}.)',command:"npx",args:["-y","@notionhq/notion-mcp-server"],envVarNames:["NOTION_TOKEN"],status:"pending"},{slug:"perplexity",label:"Perplexity",description:"Real-time web search and research — gives an agent perplexity_search, perplexity_ask, perplexity_research (deep research with citations), and perplexity_reason (Sonar models). Runs the official Perplexity MCP server locally via npx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create an API key at https://console.perplexity.ai (Settings → API; keys start with pplx-) and set PERPLEXITY_API_KEY below. First run downloads the package via npx (requires network, ~5 s latency).",command:"npx",args:["-y","@perplexity-ai/mcp-server@0.9.0"],envVarNames:["PERPLEXITY_API_KEY"],status:"verified"},{slug:"apify",label:"Apify",description:"Run Apify Actors — thousands of ready-made scrapers and automation tools for social media, search engines, maps, e-commerce, and any website. Connects to the hosted Apify MCP server.",serverUrl:"https://mcp.apify.com",transport:"http",authScheme:"bearer",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Create an API token in the Apify Console (Settings → API & Integrations) and paste it here as a Bearer token. The hosted server runs Actors on your behalf.",status:"pending"},{slug:"blender",label:"Blender",description:"Drive Blender from natural language — build/modify 3D scenes, objects, and materials, then render. Runs the popular blender-mcp server (ahujasid) locally via uvx.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Install the BlenderMCP add-on from github.com/ahujasid/blender-mcp, open Blender 3.0+, and start its server (sidebar → BlenderMCP → Connect). Requires the `uv` package manager (uvx) on the host. No API key. (Blender also ships an official server at blender.org/lab/mcp-server.)",command:"uvx",args:["blender-mcp"],status:"verified"},{slug:"unity",label:"Unity",description:"Bridge an AI to the Unity Editor — manage assets, control scenes, edit scripts, run tests. Uses CoplayDev’s MCP for Unity (MIT — successor to justinpbarnett/unity-mcp).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"In Unity: Window → Package Manager → Add package from git URL → https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main. That installs the Python bridge under the package; replace <unity-mcp-server-dir> in the args with its absolute path (…/MCPForUnity/UnityMcpServer~/src). Requires `uv`. Confirm the server entry in github.com/CoplayDev/unity-mcp.",command:"uv",args:["run","--directory","<unity-mcp-server-dir>","server.py"],status:"pending"},{slug:"unreal-engine",label:"Unreal Engine",description:"Control Unreal Engine 5 from natural language — actors, Blueprints, procedural scene building. Uses the community unreal-mcp (chongdashu); Epic has no official MCP yet.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Clone github.com/chongdashu/unreal-mcp, install its UnrealMCP plugin into your UE5 project’s Plugins/, then point the args at the repo’s Python server dir: replace <unreal-mcp-python-dir> with the absolute path to that folder. Requires `uv`. Community project — verify the entry script name in its README.",command:"uv",args:["run","--directory","<unreal-mcp-python-dir>","unreal_mcp_server.py"],status:"pending"},{slug:"keyshot",label:"KeyShot",description:"Drive KeyShot rendering from an AI — import models, assign materials, set cameras/lighting, and render. Uses the keyshot-mcp bridge (pentatonic-ltd).",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Set up the KeyShot-side bridge per the keyshot-mcp project (pentatonic-ltd) — a KeyShot script plus the MCP server — then replace <keyshot-mcp-dir> with the absolute repo path. Requires `uv`. Niche project — confirm the entry script in its README.",command:"uv",args:["run","--directory","<keyshot-mcp-dir>","server.py"],status:"pending"},{slug:"photoshop",label:"Photoshop",description:"Control Adobe Photoshop from natural language — documents, layers, text, filters, adjustments. Cross-platform (macOS + Windows) via the adb-mcp project (mikechambers, Adobe) using a UXP plugin.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:'Cross-platform (macOS + Windows). Set up adb-mcp (github.com/mikechambers/adb-mcp): (1) load its UXP plugin into Photoshop 26+ via the Adobe UXP Developer Tool, (2) run the Node proxy (node proxy.js in adb-proxy-socket — listens on ws://localhost:3001), (3) point this command at the repo — replace <adb-mcp-dir> with the absolute repo path. Requires `uv` + Node. Confirm the server entry (ps-mcp.py) in the README. Adobe ships no turnkey MCP. — Simpler WINDOWS-ONLY alternative: command "uvx", args ["photoshop-mcp-server"], env PS_VERSION (loonghao’s COM server).',command:"uv",args:["run","--directory","<adb-mcp-dir>","ps-mcp.py"],status:"pending"},{slug:"custom-http-mcp",label:"Custom MCP (HTTP)",description:"Connect any HTTP-streaming MCP server. You provide the URL, auth, and a short slug for tool naming.",serverUrl:null,transport:"http",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:'Anything that speaks the MCP Streamable HTTP protocol. The "Server slug" you choose becomes the tool name prefix.'},{slug:"custom-stdio-mcp",label:"Custom MCP (stdio)",description:"Run a local MCP server as a subprocess. Use this for filesystem, sqlite, github, fetch, and other npm/python MCP packages that expect to be spawned by their host.",serverUrl:null,transport:"stdio",authScheme:"header",authParamName:"Authorization",keyPrefix:[],verifyToolName:null,docsHint:"Runs locally with your permissions — only connect MCP servers you trust. Env var values are encrypted at rest."}];function ar(a){if(a&&function(a){try{return new Intl.DateTimeFormat("en-US",{timeZone:a}),!0}catch{return!1}}(a))return a;try{return Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC"}catch{return"UTC"}}},98935:(a,b,c)=>{"use strict";c.d(b,{t:()=>n});var d=c(85653),e=c(99768),f=c(49500),g=c(37607),h=c(42891),i=c(16471),j=c(66618),k=c(29123),l=c(12788),m=c(62637);let n=(0,d.cJ)("connectors",{id:(0,e.uR)("id").primaryKey().defaultRandom(),entityId:(0,e.uR)("entity_id").references(()=>l.O.id,{onDelete:"cascade"}),name:(0,f.Qq)("name").notNull(),slug:(0,f.Qq)("slug").notNull(),baseUrl:(0,f.Qq)("base_url"),apiKey:(0,f.Qq)("api_key"),active:(0,g.zM)("active").default(!0),authType:(0,f.Qq)("auth_type").notNull().default("api_key"),credentialId:(0,e.uR)("credential_id").references(()=>m.z.id,{onDelete:"set null"}),createdAt:(0,h.vE)("created_at",{withTimezone:!0}).defaultNow(),updatedAt:(0,h.vE)("updated_at",{withTimezone:!0}).defaultNow()},a=>[(0,i.Pe)("idx_connectors_entity_id").on(a.entityId),(0,i.Pe)("idx_connectors_credential_id").on(a.credentialId),(0,j.z6)("connectors_auth_type_check",(0,k.ll)`${a.authType} IN ('api_key','oauth2','bearer','basic','none')`)])}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=5515,exports.ids=[5515],exports.modules={6125:(a,b,c)=>{c.r(b),c.d(b,{"0006e0dbfdc234858c268c627610f0329c6c8fdd31":()=>d.oA,"000751b498462554b2253bd39a508b194ca2bcc9fb":()=>d.Hy,"0015ae9570da3865f6182796ac321d0c45ba4c11b1":()=>d.$5,"002615fdcb7d91d4b4aeb800e9e203cc2661e1ed50":()=>d.pD,"0027ed0d23cffc13987606629752e123c0419f928c":()=>d.Ql,"004e8a15bf57c7045676e9ed99ef1d52c4a2e5c8d3":()=>d.cj,"00759604b38bbd9c787808baa84fcb4704e68d1c9f":()=>d.dS,"0080ca0ff13028732fdad90d5fbb2c46e10bbef42f":()=>d.Le,"008308c354a66e185a22d5acd4abaaf2ca409c7b6b":()=>d.GY,"008359dc21a48b756aebca6da88725f8d096c7486d":()=>d.Hu,"008792842917a0ae82f0ebca55cd41388af5c575ca":()=>d.JD,"008f846ebcf095d9e7e0368c21f0eaa8f9d602c0b1":()=>d.dO,"00998b155b03c18d894b6a187414dc00e46d952d9b":()=>d.jj,"00ac1f9144714e1b471c7d1c2d94d5024eb7f33814":()=>d.WD,"00b078241e200d030c387c79c4ab253df9c0fd19be":()=>d.bm,"00b9e853a3b08e82eca38f7a88cdc3ace7462ac143":()=>d.aG,"00bdc716a17646937e3e8a462f84d00cd07748d79d":()=>d.$z,"00d33931c0c5dbdce2c7cee39806c32bf98e20f8e3":()=>d.M3,"00d3f492cc13d1b35154112e51b975d90d58cb4c49":()=>d.Ko,"00d7178e544dccd4c780f71d3f8c6afa8a6aac8b86":()=>d.BO,"00ee92d4822efcc12364fd6f2b3fe4f03cb3e28c6e":()=>d.Zz,"00f1ef002f17a474f7a5a639159f2f208a67ab2fa7":()=>d.zh,"00f4b3acc107dcaff1c41e8f9d5b8145ac214f6379":()=>d.VZ,"00f59a0a74f98b5dec9ee1b4919a0a36e24ddccc97":()=>d.$4,"00fbc0f1e65e50d169bbf9ac697d5562cd1c92f5f1":()=>d.oG,"4002675d03f3a3ae308ea587d0af754f6ab2e91f03":()=>d.Sb,"40029d917e83102fc3fe53281772f0f4a67f3c8121":()=>d.fl,"4003c74e787eefda9053935e5d1f775934854ae3d5":()=>d.eP,"4004d900812277dfba594d33d54f4bfdb0d3986eda":()=>d.tS,"4008c000999cf72aefcb5c8821c0acad202099e26d":()=>d.cr,"4009043fe3667452d655983efe24a58679ba4a9c5c":()=>d.V8,"40128f20f2ebad81a526ad80d118b79904c93a3ec1":()=>d.hP,"4014bd701c0f15e956509e9b94a3773aadc29993d8":()=>d.hl,"40162a1eb76527101e735f9d5484ad419dadd50c09":()=>d.WH,"40187c68935817bc3ca7069ea3ef7f599be2644413":()=>d.rf,"401be6c3dc2139cceef264fd9521c8cfd73ae69b6d":()=>d._N,"401d9e22abc121ee3854dfdd6f8b3881807361c111":()=>d.c6,"40224a127742dd27b8bd9a9f77616ee50a4611a1d3":()=>d.PH,"402bf7efe6704b07e40114c7156ffbdf3f36848af8":()=>d.rv,"4036c45eb854bbde9ee06cf9db8d3754b3a08030de":()=>d.f_,"40397bed6f0cf2b3ba461e8e47ec7d4b6880ea452c":()=>d.D5,"403e6f7012baeb1cecd9d665de6d4a1cc7e52639b5":()=>d.Jb,"403f1c1da0489dadeb23050c8464c4d6cd873eb68c":()=>d.mJ,"403f71242c58eb91cbd4e5daef29d6bee071ec7e65":()=>d.JH,"4040cdc83e064cf466b5651d61a94b596e4b1741d8":()=>d.iu,"4041595d19f3f1f860fb51f915107b308f211e7516":()=>d.HO,"404ac94514d8619417640c43b3416a82ac42f252e5":()=>d.bN,"404ce25817920f99b2ecef8b96edb7521996e7cbb7":()=>d.Hq,"4054e0a82931897c7444f29711df8d4fda90fca470":()=>d.p5,"405714e3103acb8a86e8816a240e218d68c7bfe422":()=>d.CV,"40579337f2db185bdba19b691873fd80639183b430":()=>d.Ke,"405f3f64d0928dbf53df29e0f06104453025aa12fc":()=>d.bV,"40615f213887f9542e1d99817aa9e634dee85d1517":()=>d.UR,"4067b8ff4a00c2c92f2464e1cc7503fd9e22837eed":()=>d.Ir,"40691a0da2455c343c08f1395b3001a5dc40b8c2c8":()=>d.Yn,"4075af73aa89f327c28ef069aac4ff7be1e2b63a32":()=>d.lV,"40764e883ec0f0fc9e62e8154b0203023b0fc461b6":()=>d.Ro,"407703881b3cf4b39e3edb49fca9ee78486a4bfcb0":()=>d.AS,"40775b88cd24ee89c2e071391a9f7165c8a8d2b4d4":()=>d.ei,"407c0c65975bbce8f37884b7f13cbd9fc7d01702a6":()=>d.Og,"407f838ed1b5c8e36d9f0c2eaed5a3c3ef94106658":()=>d.KI,"408767e7dac33bd3ed8d4ab7a476d8cf70f18647f1":()=>d.xV,"408872bb8e87536ed63b8d60709ebea31f43f3c5b9":()=>d.iU,"4089229c3681af8ee5b66adb4c5d84e2fdb41eae0c":()=>d.Ev,"408df2b11931bbea4429c0a7c374cb7ade9635b895":()=>d.fG,"40910fd72ca0e8a4e413c0afb4b1cd57b5c2624578":()=>d.E4,"409319a7daeda40da84e77b6cc2ee79b1fa59a9efe":()=>d.Hl,"4097f6d231fec2cd16168a9412d1b68b03b108fe6a":()=>d.By,"40992882c713d264ddf42d592c84758ef5aebbaab4":()=>d.pu,"4099860aad72be08a9a28709f8a1ff32eb1736bccd":()=>d.lg,"409d9ec32f7e1c54762a2011af3c146357ca3045f5":()=>d.y4,"40a4519096db6470bb8434ac9e0b4b0d613af322bf":()=>d.LW,"40a92bc888d4c445e1f60ac74f0471b491e956600a":()=>d.Mo,"40ae693984abe2a327713b38a1c552f6df8ea1678b":()=>d.Wq,"40b0dab57a7e20d815a98e4317d947938102ca135b":()=>d.Rz,"40b125044576bba9d9b7d3d50455d2bfeaf7d8d5c5":()=>d.TD,"40b1e80a920ce475113b5fbce89c2494f0599c0318":()=>d.LN,"40b3d13f005d24eea4365d4a94bc32903b9b6c8eca":()=>d.kh,"40b949d58bd22598ed8f044c517eff538334a851c4":()=>d.S2,"40bc8c931f255353d02b3da6c94d343913bf6abb93":()=>d.gE,"40bdd006a671068473e215a769137c1ca068a3ddc3":()=>d.EA,"40c045237abd8e76436e9e8325969420a35178193e":()=>d.PD,"40c68523e4e2ba8b528d870b342dec12f542eb2fc5":()=>d.t3,"40cc515a6f0f6f3bdb9607287ae9531189c0ba1541":()=>d.Sh,"40d1e415eaf83dc3c586859635bfd0b4270a5004dd":()=>d.ZA,"40d79a9807a2a1bf294e36679f7b21e569893ff1ed":()=>d.FS,"40d912a4ab8fa1fff5a87cd3963ced9894de782dca":()=>d.rT,"40da2054f7dd1ff77d7eecb4a99030f358b09de707":()=>d._x,"40dafedcea4cd0ff41c2249fe35a33e569de082bdf":()=>d.fI,"40dcd921ca377eaff29d59be1d9bc43007b1e02f1c":()=>d.ML,"40de30a334259c82d756d3eb017a4a0d9402d86a91":()=>d.wI,"40de550eeec76905aec0e7d9e27c6051cf0a1470a9":()=>d.oC,"40df123f9b04c75f024f545f011643493659139a2b":()=>d.P7,"40e0c52dbe75d74f05eb90f5bcc786897231dbd120":()=>d.ND,"40e6a7206a7a446219e1f72fe24b89fd18ee5f934a":()=>d.Hp,"40ebfa73d6ce5a7253441b08f876b0b93adee4c088":()=>d.e4,"40ee1dadf791a661179a364ced1053a3313c55a4eb":()=>d.Cy,"40eeb9b47eb311c660cb25084dd9dc26dda27b2bba":()=>d.ZG,"40ef217aa9916f074c45a6a7ebe489ade1058eb9ca":()=>d.QT,"40efec73e82f9575e8c7b168dfd02783dc30fe5542":()=>d.X1,"40f90dbe85669e942896299b5163c991a0d5a83074":()=>d.cu,"40fa2dd4614f470d5da133f1c77a10d6774e3ab5b6":()=>d.g$,"602640429aa4ac0a169cdf4402a1e8acd3d3732ca7":()=>d.yU,"6045090ad49d14ab85eab9c1de89827d7afe35aefb":()=>d.PC,"605016142997a33fe2b55107bc8a0400d3411529db":()=>d.dl,"605f7c75a0f45cae6282b52dcfe1bdf75a30089259":()=>d.vu,"606749fb478e59a9e4e327a2ff59b70482c1aef5f3":()=>d.qo,"606f68ac7973f9937b88d803329807fa4ae7c03ef7":()=>d.f2,"607a4e0fe270514e93af4dfa107b07c6e3fc451d55":()=>d.Ru,"60a6e6cd4b637a67c313c7570fc509b1d67ab4d576":()=>d.c2,"60a9a3db66df96af1bd3ce53ead612aa36c980fec0":()=>d.dd,"60cadb5ce28b559a8f145eec69f118015a83c5022d":()=>d.cD,"70590053974fb747b319578c031c5c846d9e2fc371":()=>d.Oc,"706d110d48e1718ed892cc0d5ae420c8d18a6cde6e":()=>d.z_,"70c7a8a1269734b871d26b7d12a6f4049a7202c2ed":()=>d.Jc,"70e3d92f9d3f3db7bb5de1894c29d0576420aeee94":()=>d.ch,"783b8b1ba4b89453f1cf1064c34a8453b8c45c7f7f":()=>d.wj,"78f711f46e63ddd4787714f658f99b4aa34eb4c229":()=>d.AH});var d=c(63245)},14963:(a,b,c)=>{c.d(b,{default:()=>d});let d=(0,c(49554).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\APPS\\\\NodalAI\\\\apps\\\\web\\\\src\\\\components\\\\NotificationsBell.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\APPS\\NodalAI\\apps\\web\\src\\components\\NotificationsBell.tsx","default")},81487:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(99386),e=c(92002),f=c(88866),g=c(14963);function h({title:a,subtitle:b}){return(0,d.jsxs)("header",{className:"flex items-center justify-between gap-4 border-b border-rule-2 px-5 pt-5 pb-4 sm:px-8 lg:px-9",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("h1",{className:"text-[28px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink",children:a}),b&&(0,d.jsx)("p",{className:"mt-1.5 text-[14px] leading-[1.5] text-ink-3",children:b})]}),(0,d.jsxs)("div",{className:"hidden shrink-0 items-center gap-2 lg:flex",children:[(0,d.jsx)(e.default,{className:"hidden md:flex"}),(0,d.jsx)(g.default,{}),(0,d.jsx)(f.default,{})]})]})}},88866:(a,b,c)=>{c.d(b,{default:()=>d});let d=(0,c(49554).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\APPS\\\\NodalAI\\\\apps\\\\web\\\\src\\\\components\\\\ui\\\\ThemeToggle.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\APPS\\NodalAI\\apps\\web\\src\\components\\ui\\ThemeToggle.tsx","default")},92002:(a,b,c)=>{c.d(b,{default:()=>d});let d=(0,c(49554).registerClientReference)(function(){throw Error("Attempted to call the default export of \"D:\\\\APPS\\\\NodalAI\\\\apps\\\\web\\\\src\\\\components\\\\ui\\\\SearchBox.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"D:\\APPS\\NodalAI\\apps\\web\\src\\components\\ui\\SearchBox.tsx","default")}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6468,exports.ids=[6468],exports.modules={6125:(a,b,c)=>{c.r(b),c.d(b,{"0006e0dbfdc234858c268c627610f0329c6c8fdd31":()=>d.oA,"000751b498462554b2253bd39a508b194ca2bcc9fb":()=>d.Hy,"0015ae9570da3865f6182796ac321d0c45ba4c11b1":()=>d.$5,"002615fdcb7d91d4b4aeb800e9e203cc2661e1ed50":()=>d.pD,"0027ed0d23cffc13987606629752e123c0419f928c":()=>d.Ql,"004e8a15bf57c7045676e9ed99ef1d52c4a2e5c8d3":()=>d.cj,"00759604b38bbd9c787808baa84fcb4704e68d1c9f":()=>d.dS,"0080ca0ff13028732fdad90d5fbb2c46e10bbef42f":()=>d.Le,"008308c354a66e185a22d5acd4abaaf2ca409c7b6b":()=>d.GY,"008359dc21a48b756aebca6da88725f8d096c7486d":()=>d.Hu,"008792842917a0ae82f0ebca55cd41388af5c575ca":()=>d.JD,"008f846ebcf095d9e7e0368c21f0eaa8f9d602c0b1":()=>d.dO,"00998b155b03c18d894b6a187414dc00e46d952d9b":()=>d.jj,"00ac1f9144714e1b471c7d1c2d94d5024eb7f33814":()=>d.WD,"00b078241e200d030c387c79c4ab253df9c0fd19be":()=>d.bm,"00b9e853a3b08e82eca38f7a88cdc3ace7462ac143":()=>d.aG,"00bdc716a17646937e3e8a462f84d00cd07748d79d":()=>d.$z,"00d33931c0c5dbdce2c7cee39806c32bf98e20f8e3":()=>d.M3,"00d3f492cc13d1b35154112e51b975d90d58cb4c49":()=>d.Ko,"00d7178e544dccd4c780f71d3f8c6afa8a6aac8b86":()=>d.BO,"00ee92d4822efcc12364fd6f2b3fe4f03cb3e28c6e":()=>d.Zz,"00f1ef002f17a474f7a5a639159f2f208a67ab2fa7":()=>d.zh,"00f4b3acc107dcaff1c41e8f9d5b8145ac214f6379":()=>d.VZ,"00f59a0a74f98b5dec9ee1b4919a0a36e24ddccc97":()=>d.$4,"00fbc0f1e65e50d169bbf9ac697d5562cd1c92f5f1":()=>d.oG,"4002675d03f3a3ae308ea587d0af754f6ab2e91f03":()=>d.Sb,"40029d917e83102fc3fe53281772f0f4a67f3c8121":()=>d.fl,"4003c74e787eefda9053935e5d1f775934854ae3d5":()=>d.eP,"4004d900812277dfba594d33d54f4bfdb0d3986eda":()=>d.tS,"4008c000999cf72aefcb5c8821c0acad202099e26d":()=>d.cr,"4009043fe3667452d655983efe24a58679ba4a9c5c":()=>d.V8,"40128f20f2ebad81a526ad80d118b79904c93a3ec1":()=>d.hP,"4014bd701c0f15e956509e9b94a3773aadc29993d8":()=>d.hl,"40162a1eb76527101e735f9d5484ad419dadd50c09":()=>d.WH,"40187c68935817bc3ca7069ea3ef7f599be2644413":()=>d.rf,"401be6c3dc2139cceef264fd9521c8cfd73ae69b6d":()=>d._N,"401d9e22abc121ee3854dfdd6f8b3881807361c111":()=>d.c6,"40224a127742dd27b8bd9a9f77616ee50a4611a1d3":()=>d.PH,"402bf7efe6704b07e40114c7156ffbdf3f36848af8":()=>d.rv,"4036c45eb854bbde9ee06cf9db8d3754b3a08030de":()=>d.f_,"40397bed6f0cf2b3ba461e8e47ec7d4b6880ea452c":()=>d.D5,"403e6f7012baeb1cecd9d665de6d4a1cc7e52639b5":()=>d.Jb,"403f1c1da0489dadeb23050c8464c4d6cd873eb68c":()=>d.mJ,"403f71242c58eb91cbd4e5daef29d6bee071ec7e65":()=>d.JH,"4040cdc83e064cf466b5651d61a94b596e4b1741d8":()=>d.iu,"4041595d19f3f1f860fb51f915107b308f211e7516":()=>d.HO,"404ac94514d8619417640c43b3416a82ac42f252e5":()=>d.bN,"404ce25817920f99b2ecef8b96edb7521996e7cbb7":()=>d.Hq,"4054e0a82931897c7444f29711df8d4fda90fca470":()=>d.p5,"405714e3103acb8a86e8816a240e218d68c7bfe422":()=>d.CV,"40579337f2db185bdba19b691873fd80639183b430":()=>d.Ke,"405f3f64d0928dbf53df29e0f06104453025aa12fc":()=>d.bV,"40615f213887f9542e1d99817aa9e634dee85d1517":()=>d.UR,"4067b8ff4a00c2c92f2464e1cc7503fd9e22837eed":()=>d.Ir,"40691a0da2455c343c08f1395b3001a5dc40b8c2c8":()=>d.Yn,"4075af73aa89f327c28ef069aac4ff7be1e2b63a32":()=>d.lV,"40764e883ec0f0fc9e62e8154b0203023b0fc461b6":()=>d.Ro,"407703881b3cf4b39e3edb49fca9ee78486a4bfcb0":()=>d.AS,"40775b88cd24ee89c2e071391a9f7165c8a8d2b4d4":()=>d.ei,"407c0c65975bbce8f37884b7f13cbd9fc7d01702a6":()=>d.Og,"407f838ed1b5c8e36d9f0c2eaed5a3c3ef94106658":()=>d.KI,"408767e7dac33bd3ed8d4ab7a476d8cf70f18647f1":()=>d.xV,"408872bb8e87536ed63b8d60709ebea31f43f3c5b9":()=>d.iU,"4089229c3681af8ee5b66adb4c5d84e2fdb41eae0c":()=>d.Ev,"408df2b11931bbea4429c0a7c374cb7ade9635b895":()=>d.fG,"40910fd72ca0e8a4e413c0afb4b1cd57b5c2624578":()=>d.E4,"409319a7daeda40da84e77b6cc2ee79b1fa59a9efe":()=>d.Hl,"4097f6d231fec2cd16168a9412d1b68b03b108fe6a":()=>d.By,"40992882c713d264ddf42d592c84758ef5aebbaab4":()=>d.pu,"4099860aad72be08a9a28709f8a1ff32eb1736bccd":()=>d.lg,"409d9ec32f7e1c54762a2011af3c146357ca3045f5":()=>d.y4,"40a4519096db6470bb8434ac9e0b4b0d613af322bf":()=>d.LW,"40a92bc888d4c445e1f60ac74f0471b491e956600a":()=>d.Mo,"40ae693984abe2a327713b38a1c552f6df8ea1678b":()=>d.Wq,"40b0dab57a7e20d815a98e4317d947938102ca135b":()=>d.Rz,"40b125044576bba9d9b7d3d50455d2bfeaf7d8d5c5":()=>d.TD,"40b1e80a920ce475113b5fbce89c2494f0599c0318":()=>d.LN,"40b3d13f005d24eea4365d4a94bc32903b9b6c8eca":()=>d.kh,"40b949d58bd22598ed8f044c517eff538334a851c4":()=>d.S2,"40bc8c931f255353d02b3da6c94d343913bf6abb93":()=>d.gE,"40bdd006a671068473e215a769137c1ca068a3ddc3":()=>d.EA,"40c045237abd8e76436e9e8325969420a35178193e":()=>d.PD,"40c68523e4e2ba8b528d870b342dec12f542eb2fc5":()=>d.t3,"40cc515a6f0f6f3bdb9607287ae9531189c0ba1541":()=>d.Sh,"40d1e415eaf83dc3c586859635bfd0b4270a5004dd":()=>d.ZA,"40d79a9807a2a1bf294e36679f7b21e569893ff1ed":()=>d.FS,"40d912a4ab8fa1fff5a87cd3963ced9894de782dca":()=>d.rT,"40da2054f7dd1ff77d7eecb4a99030f358b09de707":()=>d._x,"40dafedcea4cd0ff41c2249fe35a33e569de082bdf":()=>d.fI,"40dcd921ca377eaff29d59be1d9bc43007b1e02f1c":()=>d.ML,"40de30a334259c82d756d3eb017a4a0d9402d86a91":()=>d.wI,"40de550eeec76905aec0e7d9e27c6051cf0a1470a9":()=>d.oC,"40df123f9b04c75f024f545f011643493659139a2b":()=>d.P7,"40e0c52dbe75d74f05eb90f5bcc786897231dbd120":()=>d.ND,"40e6a7206a7a446219e1f72fe24b89fd18ee5f934a":()=>d.Hp,"40ebfa73d6ce5a7253441b08f876b0b93adee4c088":()=>d.e4,"40ee1dadf791a661179a364ced1053a3313c55a4eb":()=>d.Cy,"40eeb9b47eb311c660cb25084dd9dc26dda27b2bba":()=>d.ZG,"40ef217aa9916f074c45a6a7ebe489ade1058eb9ca":()=>d.QT,"40efec73e82f9575e8c7b168dfd02783dc30fe5542":()=>d.X1,"40f90dbe85669e942896299b5163c991a0d5a83074":()=>d.cu,"40fa2dd4614f470d5da133f1c77a10d6774e3ab5b6":()=>d.g$,"602640429aa4ac0a169cdf4402a1e8acd3d3732ca7":()=>d.yU,"6045090ad49d14ab85eab9c1de89827d7afe35aefb":()=>d.PC,"605016142997a33fe2b55107bc8a0400d3411529db":()=>d.dl,"605f7c75a0f45cae6282b52dcfe1bdf75a30089259":()=>d.vu,"606749fb478e59a9e4e327a2ff59b70482c1aef5f3":()=>d.qo,"606f68ac7973f9937b88d803329807fa4ae7c03ef7":()=>d.f2,"607a4e0fe270514e93af4dfa107b07c6e3fc451d55":()=>d.Ru,"60a6e6cd4b637a67c313c7570fc509b1d67ab4d576":()=>d.c2,"60a9a3db66df96af1bd3ce53ead612aa36c980fec0":()=>d.dd,"60cadb5ce28b559a8f145eec69f118015a83c5022d":()=>d.cD,"70590053974fb747b319578c031c5c846d9e2fc371":()=>d.Oc,"706d110d48e1718ed892cc0d5ae420c8d18a6cde6e":()=>d.z_,"70c7a8a1269734b871d26b7d12a6f4049a7202c2ed":()=>d.Jc,"70e3d92f9d3f3db7bb5de1894c29d0576420aeee94":()=>d.ch,"783b8b1ba4b89453f1cf1064c34a8453b8c45c7f7f":()=>d.wj,"78f711f46e63ddd4787714f658f99b4aa34eb4c229":()=>d.AH});var d=c(63245)},52354:(a,b,c)=>{c.d(b,{t:()=>e});var d=c(47092);let e=(0,d.createServerReference)("40c68523e4e2ba8b528d870b342dec12f542eb2fc5",d.callServer,void 0,d.findSourceMapURL,"deleteMemoryAction")},93225:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(10476),e=c(88831),f=c.n(e);let g={ink:"bg-ink text-canvas border-0 hover:brightness-[0.92]",agent:"bg-agent-vivid text-[#1a2200] border-0 hover:brightness-[0.96]",coral:"bg-skill-vivid text-white border-0 hover:brightness-[0.94]",blue:"bg-conn-vivid text-white border-0 hover:brightness-[0.94]",neutral:"border border-rule-2 bg-paper text-ink hover:bg-hover"};function h(a){let{children:b,variant:c="ink",size:e="md",className:h=""}=a,i=`inline-flex cursor-pointer items-center justify-center gap-1.5 rounded-md font-medium leading-none transition-[filter,background-color] ${"md"===e?"h-[34px] px-3.5 text-[14px]":"h-[30px] px-3 text-[13px]"} ${g[c]} ${h}`;if("href"in a&&a.href){let{href:c,variant:e,size:g,className:h,children:j,...k}=a;return(0,d.jsx)(f(),{href:c,className:i,...k,children:b})}let{variant:j,size:k,className:l,children:m,...n}=a;return(0,d.jsx)("button",{type:"button",className:i,...n,children:b})}},94968:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(10476),e=c(3808),f=c(43136),g=c(35245);function h({title:a,subtitle:b}){return(0,d.jsxs)("header",{className:"flex items-center justify-between gap-4 border-b border-rule-2 px-5 pt-5 pb-4 sm:px-8 lg:px-9",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("h1",{className:"text-[28px] leading-[1.15] font-semibold tracking-[-0.015em] text-ink",children:a}),b&&(0,d.jsx)("p",{className:"mt-1.5 text-[14px] leading-[1.5] text-ink-3",children:b})]}),(0,d.jsxs)("div",{className:"hidden shrink-0 items-center gap-2 lg:flex",children:[(0,d.jsx)(e.default,{className:"hidden md:flex"}),(0,d.jsx)(g.default,{}),(0,d.jsx)(f.default,{})]})]})}function i({title:a,subtitle:b,toolbar:c,children:e,fluid:f=!1,bodyClassName:g=""}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h,{title:a,subtitle:b}),(0,d.jsxs)("div",{className:`px-5 pt-6 pb-10 sm:px-8 lg:px-9 ${f?"":"max-w-6xl"} ${g}`,children:[c&&(0,d.jsx)("div",{className:"mb-5",children:c}),e]})]})}}};