@alook/app 0.0.131 → 0.0.133

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 (80) hide show
  1. package/bundled/email-worker/index.js +20 -8
  2. package/bundled/web/.open-next/.build/durable-objects/queue.js +5 -5
  3. package/bundled/web/.open-next/assets/BUILD_ID +1 -1
  4. package/bundled/web/.open-next/assets/_next/static/chunks/1iux65sajp19w.js +1 -0
  5. package/bundled/web/.open-next/assets/_next/static/chunks/1z4a4-hyguhc1.js +3 -0
  6. package/bundled/web/.open-next/assets/_next/static/chunks/{431_0ohnxkfsj.js → 27b6m6derdf5b.js} +5 -5
  7. package/bundled/web/.open-next/assets/_next/static/chunks/{0xbml6v726n7w.js → 2_5gjqjt8nmq2.js} +3 -3
  8. package/bundled/web/.open-next/assets/_next/static/chunks/2yh4j7b0i4eye.js +63 -0
  9. package/bundled/web/.open-next/assets/_next/static/chunks/3bfk44a51kg4q.js +1 -0
  10. package/bundled/web/.open-next/cache/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/_global-error.cache +1 -1
  11. package/bundled/web/.open-next/cache/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/_not-found.cache +1 -1
  12. package/bundled/web/.open-next/cache/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/device.cache +1 -1
  13. package/bundled/web/.open-next/cache/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/privacy.cache +1 -1
  14. package/bundled/web/.open-next/cache/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/sitemap.xml.cache +1 -1
  15. package/bundled/web/.open-next/cloudflare/cache-assets-manifest.sql +1 -1
  16. package/bundled/web/.open-next/cloudflare/init.js +1 -1
  17. package/bundled/web/.open-next/dynamodb-provider/dynamodb-cache.json +1 -1
  18. package/bundled/web/.open-next/middleware/handler.mjs +3 -3
  19. package/bundled/web/.open-next/server-functions/default/src/web/.next/BUILD_ID +1 -1
  20. package/bundled/web/.open-next/server-functions/default/src/web/.next/build-manifest.json +3 -3
  21. package/bundled/web/.open-next/server-functions/default/src/web/.next/prerender-manifest.json +3 -3
  22. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/studio/new/page_client-reference-manifest.js +1 -1
  23. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/activity/page_client-reference-manifest.js +1 -1
  24. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/[convId]/page_client-reference-manifest.js +1 -1
  25. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
  26. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/email/page_client-reference-manifest.js +1 -1
  27. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/files/page_client-reference-manifest.js +1 -1
  28. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/meetings/page_client-reference-manifest.js +1 -1
  29. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/[id]/page_client-reference-manifest.js +1 -1
  30. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/new/page_client-reference-manifest.js +1 -1
  31. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/agents/page_client-reference-manifest.js +1 -1
  32. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/calendar/page_client-reference-manifest.js +1 -1
  33. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/flags/page_client-reference-manifest.js +1 -1
  34. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/help/email-setup/page_client-reference-manifest.js +1 -1
  35. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/home/page_client-reference-manifest.js +1 -1
  36. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/issues/page_client-reference-manifest.js +1 -1
  37. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/page_client-reference-manifest.js +1 -1
  38. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/runtimes/page_client-reference-manifest.js +1 -1
  39. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/settings/page_client-reference-manifest.js +1 -1
  40. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/[traceId]/page_client-reference-manifest.js +1 -1
  41. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/traces/page_client-reference-manifest.js +1 -1
  42. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/(app)/w/[slug]/unread/page_client-reference-manifest.js +1 -1
  43. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page/react-loadable-manifest.json +1 -1
  44. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/app/page_client-reference-manifest.js +1 -1
  45. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0gm1sdi._.js +1 -1
  46. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/[root-of-the-server]__0xdps2u._.js +1 -1
  47. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_0v95a0y._.js +2 -2
  48. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_139j3zh._.js +2 -2
  49. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_13jq647._.js +1 -1
  50. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_14_8l-b._.js +2 -2
  51. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1cdibag._.js +1 -1
  52. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1fn4mxe._.js +1 -1
  53. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1iaevpj._.js +2 -2
  54. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1nfaney._.js +2 -2
  55. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/_1oeo-oa._.js +1 -1
  56. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/[root-of-the-server]__1-ckpz1._.js +1 -1
  57. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0h0_aut._.js +1 -1
  58. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_0p54okk._.js +2 -2
  59. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1n93_m_._.js +1 -1
  60. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1vs9m39._.js +1 -1
  61. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1wqw0ro._.js +1 -1
  62. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/_1xvbchf._.js +1 -1
  63. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/chunks/ssr/src_0-s5b_y._.js +1 -1
  64. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-build-manifest.js +3 -3
  65. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/middleware-manifest.json +5 -5
  66. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.js +1 -1
  67. package/bundled/web/.open-next/server-functions/default/src/web/.next/server/server-reference-manifest.json +1 -1
  68. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs +26 -26
  69. package/bundled/web/.open-next/server-functions/default/src/web/handler.mjs.meta.json +80 -80
  70. package/bundled/web/.open-next/server-functions/default/src/web/index.mjs +3 -3
  71. package/bundled/ws-do/index.js +20 -8
  72. package/package.json +1 -1
  73. package/bundled/web/.open-next/assets/_next/static/chunks/0ym6b1b5nwlot.js +0 -1
  74. package/bundled/web/.open-next/assets/_next/static/chunks/168g60th5ox02.js +0 -63
  75. package/bundled/web/.open-next/assets/_next/static/chunks/17gwfzv2za_o6.js +0 -1
  76. package/bundled/web/.open-next/assets/_next/static/chunks/2c1vr49swqk4_.js +0 -3
  77. /package/bundled/web/.open-next/assets/_next/static/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/_buildManifest.js +0 -0
  78. /package/bundled/web/.open-next/assets/_next/static/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/_clientMiddlewareManifest.js +0 -0
  79. /package/bundled/web/.open-next/assets/_next/static/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/_ssgManifest.js +0 -0
  80. /package/bundled/web/.open-next/cache/{ulJviq2YWkZQXIBN6Wysn → UUtXyb9u1pubazU2jTktS}/robots.txt.cache +0 -0
@@ -72,7 +72,7 @@ params: ${t}`),this.query=e,this.params=t,this.cause=n,Error.captureStackTrace(t
72
72
  hash text NOT NULL,
73
73
  created_at numeric
74
74
  )
75
- `;await t.run(r);let a=(await t.values(D.sql`SELECT id, hash, created_at FROM ${D.sql.identifier(i)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async t=>{for(let n of e)if(!a||Number(a[2])<n.folderMillis){for(let e of n.sql)await t.run(D.sql.raw(e));await t.run(D.sql`INSERT INTO ${D.sql.identifier(i)} ("hash", "created_at") VALUES(${n.hash}, ${n.folderMillis})`)}})}}class tR{static [t.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class tB{static [t.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}class tF{constructor(e,t){this.name=e,this.value=t}static [t.entityKind]="SQLiteCheckBuilder";brand;build(e){return new tM(e,this)}}class tM{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static [t.entityKind]="SQLiteCheck";name;value}function tK(e){return(0,t.is)(e,tE.SQLiteTable)?[`${e[a.Table.Symbol.BaseName]}`]:(0,t.is)(e,tS.Subquery)?e._.usedTables??[]:(0,t.is)(e,D.SQL)?e.usedTables??[]:[]}e.i(867541),e.i(24248),e.i(419320),e.i(313525);class tV{static [t.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let n,i=!!this.fields;return n=this.fields?this.fields:(0,t.is)(e,tS.Subquery)?Object.fromEntries(Object.keys(e._.selectedFields).map(t=>[t,e[t]])):(0,t.is)(e,tj)?e[tx.ViewBaseConfig].selectedFields:(0,t.is)(e,D.SQL)?{}:(0,u.getTableColumns)(e),new tW({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class tJ extends tR{static [t.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:i,dialect:r,withList:a,distinct:s}){for(const o of(super(),this.config={withList:a,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=n,this.session=i,this.dialect=r,this._={selectedFields:t,config:this.config},this.tableName=(0,u.getTableLikeName)(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},tK(e)))this.usedTables.add(o)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(n,i)=>{let r=this.tableName,s=(0,u.getTableLikeName)(n);for(let e of tK(n))this.usedTables.add(e);if("string"==typeof s&&this.config.joins?.some(e=>e.alias===s))throw Error(`Alias "${s}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof r&&(this.config.fields={[r]:this.config.fields}),"string"==typeof s&&!(0,t.is)(n,D.SQL))){let e=(0,t.is)(n,tS.Subquery)?n._.selectedFields:(0,t.is)(n,D.View)?n[tx.ViewBaseConfig].selectedFields:n[a.Table.Symbol.Columns];this.config.fields[s]=e}if("function"==typeof i&&(i=i(new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:i,table:n,joinType:e,alias:s}),"string"==typeof s)switch(e){case"left":this.joinsNotNullableMap[s]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[s]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return n=>{let i="function"==typeof n?n(tH()):n;if(!(0,u.haveSameKeys)(this.getSelectedFields(),i.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:i}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...tK(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...tK(e.table));return new Proxy(new tS.Subquery(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new tT({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new tT({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class tW extends tJ{static [t.entityKind]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=(0,u.orderSelectedFields)(this.config.fields),n=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.all()}}function tG(e,t){return(n,i,...r)=>{let a=[i,...r].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!(0,u.haveSameKeys)(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(a)}}(0,u.applyMixins)(tW,[tB]);let tH=()=>({union:tX,unionAll:tY,intersect:t0,except:t4}),tX=tG("union",!1),tY=tG("union",!0),t0=tG("intersect",!1),t4=tG("except",!1);class t1{static [t.entityKind]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=(0,t.is)(e,tC)?e:void 0,this.dialectConfig=(0,t.is)(e,tC)?void 0:e}$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(n)),new Proxy(new tS.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new tT({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let t=this;return{select:function(n){return new tV({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})},selectDistinct:function(n){return new tV({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}}}select(e){return new tV({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new tV({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new tL(this.dialectConfig)),this.dialect}}class t6 extends tB{constructor(e,t,n,i){super(),this.table=e,this.session=t,this.dialect=n,this.config={table:e,withList:i}}static [t.entityKind]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.table[tE.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:tK(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}class t2{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteInsertBuilder";values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let n=e.map(e=>{let n={},i=this.table[a.Table.Symbol.Columns];for(let r of Object.keys(e)){let a=e[r];n[r]=(0,t.is)(a,D.SQL)?a:new D.Param(a,i[r])}return n});return new t9(this.table,n,this.session,this.dialect,this.withList)}select(e){let n="function"==typeof e?e(new t1):e;if(!(0,t.is)(n,D.SQL)&&!(0,u.haveSameKeys)(this.table[a.Columns],n._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new t9(this.table,n,this.session,this.dialect,this.withList,!0)}}class t9 extends tB{constructor(e,t,n,i,r,a){super(),this.session=n,this.dialect=i,this.config={table:e,values:t,withList:r,select:a}}static [t.entityKind]="SQLiteInsert";config;returning(e=this.config.table[tE.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}onConflictDoNothing(e={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===e.target)this.config.onConflict.push(D.sql` on conflict do nothing`);else{let t=Array.isArray(e.target)?D.sql`${e.target}`:D.sql`${[e.target]}`,n=e.where?D.sql` where ${e.where}`:D.sql``;this.config.onConflict.push(D.sql` on conflict ${t} do nothing${n}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let t=e.where?D.sql` where ${e.where}`:void 0,n=e.targetWhere?D.sql` where ${e.targetWhere}`:void 0,i=e.setWhere?D.sql` where ${e.setWhere}`:void 0,r=Array.isArray(e.target)?D.sql`${e.target}`:D.sql`${[e.target]}`,a=this.dialect.buildUpdateSet(this.config.table,(0,u.mapUpdateSet)(this.config.table,e.set));return this.config.onConflict.push(D.sql` on conflict ${r}${n} do update set ${a}${t}${i}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:tK(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class t5{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteUpdateBuilder";set(e){return new t3(this.table,(0,u.mapUpdateSet)(this.table,e),this.session,this.dialect,this.withList)}}class t3 extends tB{constructor(e,t,n,i,r){super(),this.session=n,this.dialect=i,this.config={set:t,table:e,withList:r,joins:[]}}static [t.entityKind]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(n,i)=>{let r=(0,u.getTableLikeName)(n);if("string"==typeof r&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if("function"==typeof i){let e=this.config.from?(0,t.is)(n,tE.SQLiteTable)?n[a.Table.Symbol.Columns]:(0,t.is)(n,tS.Subquery)?n._.selectedFields:(0,t.is)(n,tj)?n[tx.ViewBaseConfig].selectedFields:void 0:void 0;i=i(new Proxy(this.config.table[a.Table.Symbol.Columns],new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:i,table:n,joinType:e,alias:r}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[tE.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:tK(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}var t8=D;class t7 extends t8.SQL{constructor(e){super(t7.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.session=e.session,this.sql=t7.buildCount(e.source,e.filters)}sql;static [t.entityKind]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return t8.sql`(select count(*) from ${e}${t8.sql.raw(" where ").if(t)}${t})`}static buildCount(e,t){return t8.sql`select count(*) from ${e}${t8.sql.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}class ne{constructor(e,t,n,i,r,a,s,o){this.mode=e,this.fullSchema=t,this.schema=n,this.tableNamesMap=i,this.table=r,this.tableConfig=a,this.dialect=s,this.session=o}static [t.entityKind]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return"sync"===this.mode?new nn(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many"):new nt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return"sync"===this.mode?new nn(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new nt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nt extends tB{constructor(e,t,n,i,r,a,s,o,u){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=i,this.tableConfig=r,this.dialect=a,this.session=s,this.config=o,this.mode=u}static [t.entityKind]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:n,builtQuery:i}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](i,void 0,"first"===this.mode?"get":"all",!0,(e,i)=>{let r=e.map(e=>(function e(n,i,r,a,o=e=>e){let u={};for(let[l,d]of a.entries())if(d.isJson){let a=i.relations[d.tsKey],s=r[l],c="string"==typeof s?JSON.parse(s):s;u[d.tsKey]=(0,t.is)(a,tb)?c&&e(n,n[d.relationTableTsKey],c,d.selection,o):c.map(t=>e(n,n[d.relationTableTsKey],t,d.selection,o))}else{let e,n=o(r[l]),i=d.field;e=(0,t.is)(i,s.Column)?i:(0,t.is)(i,D.SQL)?i.decoder:i.sql.decoder,u[d.tsKey]=null===n?null:e.mapFromDriverValue(n)}return u})(this.schema,this.tableConfig,e,n.selection,i));return"first"===this.mode?r[0]:r})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class nn extends nt{static [t.entityKind]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class ni extends tB{constructor(e,t,n,i,r){super(),this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=r,this.config={action:n}}static [t.entityKind]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class nr{constructor(e,t,n,i){this.resultKind=e,this.dialect=t,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const r=this.query;if(this._.schema)for(const[a,s]of Object.entries(this._.schema))r[a]=new ne(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[a],s,t,n);this.$cache={invalidate:async e=>{}}}static [t.entityKind]="BaseSQLiteDatabase";query;$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(new t1(n.dialect))),new Proxy(new tS.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new tT({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,t){return new t7({source:e,filters:t,session:this.session})}with(...e){let t=this;return{select:function(n){return new tV({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})},selectDistinct:function(n){return new tV({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})},update:function(n){return new t5(n,t.session,t.dialect,e)},insert:function(n){return new t2(n,t.session,t.dialect,e)},delete:function(n){return new t6(n,t.session,t.dialect,e)}}}select(e){return new tV({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new tV({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new t5(e,this.session,this.dialect)}$cache;insert(e){return new t2(e,this.session,this.dialect)}delete(e){return new t6(e,this.session,this.dialect)}run(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(t)}all(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(t)}get(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(t)}values(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class na{static [t.entityKind]="Cache"}class ns extends na{strategy(){return"all"}static [t.entityKind]="NoopCache";async get(e){}async put(e,t,n,i){}async onMutate(e){}}async function no(e,t){let n=`${e}-${JSON.stringify(t)}`,i=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",i))].map(e=>e.toString(16).padStart(2,"0")).join("")}class nu extends tB{constructor(e){super(),this.resultCb=e}static [t.entityKind]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class nl{constructor(e,t,n,i,r,a){this.mode=e,this.executeMethod=t,this.query=n,this.cache=i,this.queryMetadata=r,this.cacheConfig=a,i&&"all"===i.strategy()&&void 0===a&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [t.entityKind]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||(0,t.is)(this.cache,ns)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(t){throw new tZ(e,n,t)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(t){throw new tZ(e,n,t)}if(!this.cacheConfig)try{return await i()}catch(t){throw new tZ(e,n,t)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await no(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(t){throw new tZ(e,n,t)}return await this.cache.put(this.cacheConfig.tag??await no(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(t){throw new tZ(e,n,t)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){return"async"===this.mode?this[this.executeMethod](e):new nu(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class nd{constructor(e){this.dialect=e}static [t.entityKind]="SQLiteSession";prepareOneTimeQuery(e,t,n,i,r,a,s){return this.prepareQuery(e,t,n,i,r,a,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(e){throw new tz({cause:e,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class nc extends nr{constructor(e,t,n,i,r=0){super(e,t,n,i),this.schema=i,this.nestedIndex=r}static [t.entityKind]="SQLiteTransaction";rollback(){throw new tD}}class nm extends nd{constructor(e,t,n,i={}){super(t),this.client=e,this.schema=n,this.options=i,this.logger=i.logger??new r,this.cache=i.cache??new ns}static [t.entityKind]="SQLiteD1Session";logger;cache;prepareQuery(e,t,n,i,r,a,s){return new nf(this.client.prepare(e.sql),e,this.logger,this.cache,a,s,t,n,i,r)}async batch(e){let t=[],n=[];for(let i of e){let e=i._prepare(),r=e.getQuery();if(t.push(e),r.params.length>0)n.push(e.stmt.bind(...r.params));else{let t=e.getQuery();n.push(this.client.prepare(t.sql).bind(...t.params))}}return(await this.client.batch(n)).map((e,n)=>t[n].mapResult(e,!0))}extractRawAllValueFromBatchResult(e){return e.results}extractRawGetValueFromBatchResult(e){return e.results[0]}extractRawValuesValueFromBatchResult(e){return np(e.results)}async transaction(e,t){let n=new ng("async",this.dialect,this,this.schema);await this.run(D.sql.raw(`begin${t?.behavior?" "+t.behavior:""}`));try{let t=await e(n);return await this.run(D.sql`commit`),t}catch(e){throw await this.run(D.sql`rollback`),e}}}class ng extends nc{static [t.entityKind]="D1Transaction";async transaction(e){let t=`sp${this.nestedIndex}`,n=new ng("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(D.sql.raw(`savepoint ${t}`));try{let i=await e(n);return await this.session.run(D.sql.raw(`release savepoint ${t}`)),i}catch(e){throw await this.session.run(D.sql.raw(`rollback to savepoint ${t}`)),e}}}function np(e){let t=[];for(let n of e){let e=Object.keys(n).map(e=>n[e]);t.push(e)}return t}class nf extends nl{constructor(e,t,n,i,r,a,s,o,u,l){super("async",o,t,i,r,a),this.logger=n,this._isResponseInArrayMode=u,this.customResultMapper=l,this.fields=s,this.stmt=e}static [t.entityKind]="D1PreparedQuery";customResultMapper;fields;stmt;async run(e){let t=(0,D.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).run())}async all(e){let{fields:t,query:n,logger:i,stmt:r,customResultMapper:a}=this;if(!t&&!a){let t=(0,D.fillPlaceholders)(n.params,e??{});return i.logQuery(n.sql,t),await this.queryWithCache(n.sql,t,async()=>r.bind(...t).all().then(({results:e})=>this.mapAllResult(e)))}let s=await this.values(e);return this.mapAllResult(s)}mapAllResult(e,t){return(t&&(e=np(e.results)),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper(e):e.map(e=>(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap)):e}async get(e){let{fields:t,joinsNotNullableMap:n,query:i,logger:r,stmt:a,customResultMapper:s}=this;if(!t&&!s){let t=(0,D.fillPlaceholders)(i.params,e??{});return r.logQuery(i.sql,t),await this.queryWithCache(i.sql,t,async()=>a.bind(...t).all().then(({results:e})=>e[0]))}let o=await this.values(e);if(o[0])return s?s(o):(0,u.mapResultRow)(t,o[0],n)}mapGetResult(e,t){return(t&&(e=np(e.results)[0]),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper([e]):(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap):e}async values(e){let t=(0,D.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).raw())}isResponseInArrayMode(){return this._isResponseInArrayMode}}class nh extends nr{static [t.entityKind]="D1Database";async batch(e){return this.session.batch(e)}}var nv=e.i(729178);e.s(["createDb",0,function(e){return function(e,n={}){let r,s,o=new tQ({casing:n.casing});if(!0===n.logger?r=new i:!1!==n.logger&&(r=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!(0,t.is)(e.default,a.Table)&&(e=e.default);let i={},r={},s={};for(let[o,u]of Object.entries(e))if((0,t.is)(u,a.Table)){let e=(0,a.getTableUniqueName)(u),n=r[e];for(let t of(i[e]=o,s[o]={tsName:o,dbName:u[a.Table.Symbol.Name],schema:u[a.Table.Symbol.Schema],columns:u[a.Table.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(u[a.Table.Symbol.Columns])))t.primary&&s[o].primaryKey.push(t);let l=u[a.Table.Symbol.ExtraConfigBuilder]?.(u[a.Table.Symbol.ExtraConfigColumns]);if(l)for(let e of Object.values(l))(0,t.is)(e,tf)&&s[o].primaryKey.push(...e.columns)}else if((0,t.is)(u,t$)){let e,t=(0,a.getTableUniqueName)(u.table),o=i[t];for(let[i,a]of Object.entries(u.config(n(u.table))))if(o){let t=s[o];t.relations[i]=a,e&&t.primaryKey.push(...e)}else t in r||(r[t]={relations:{},primaryKey:e}),r[t].relations[i]=a}return{tables:s,tableNamesMap:i}}(n.schema,tw);s={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new nm(e,o,s,{logger:r,cache:n.cache}),l=new nh("async",o,u,s);return l.$client=e,l.$cache=n.cache,l.$cache&&(l.$cache.invalidate=n.cache?.onMutate),l}(e,{schema:nv})}],20586)},424166,e=>{"use strict";let t=`@${process.env.ALOOK_DOMAIN||"alook.ai"}`,n=/^[a-zA-Z0-9-]{3,}$/,i=new Set(["no-reply","noreply","admin","support","help","info","postmaster","abuse","security","mailer-daemon","root","webmaster","hostmaster","system","alook"]);e.s(["isValidHandle",0,function(e){return n.test(e)&&!i.has(e.toLowerCase())},"parseEmailHandle",0,function(e){return e.endsWith(t)?e.slice(0,-t.length):""},"toAlookAddress",0,function(e){return`${e}${t}`}])},553223,e=>{"use strict";var t=e.i(766490),n=e.i(959498),i=e.i(729178);async function r(e,t){let n=new Date().toISOString();return(await e.insert(i.calendarEvent).values({agentId:t.agentId,workspaceId:t.workspaceId,title:t.title,description:t.description??null,scheduledAt:t.scheduledAt,repeatInterval:t.repeatInterval??null,repeatStopAt:t.repeatStopAt??null,exceptions:t.exceptions??[],createdAt:n,updatedAt:n}).returning())[0]}async function a(e,n,r,a){return(await e.update(i.calendarEvent).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function s(e,n,r){return(await e.select().from(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))))[0]??null}async function o(e,r,a={}){let s=[(0,t.eq)(i.calendarEvent.workspaceId,r)];return a.agentId&&s.push((0,t.eq)(i.calendarEvent.agentId,a.agentId)),s.push((0,t.or)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt))),a.from&&a.to?s.push((0,t.or)((0,t.and)((0,t.isNull)(i.calendarEvent.repeatInterval),(0,t.gte)(i.calendarEvent.scheduledAt,a.from),(0,t.lte)(i.calendarEvent.scheduledAt,a.to)),(0,t.and)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.lte)(i.calendarEvent.scheduledAt,a.to),(0,t.or)((0,t.isNull)(i.calendarEvent.repeatStopAt),(0,t.gte)(i.calendarEvent.repeatStopAt,a.from))))):(a.from&&s.push((0,t.gte)(i.calendarEvent.scheduledAt,a.from)),a.to&&s.push((0,t.lte)(i.calendarEvent.scheduledAt,a.to))),e.select().from(i.calendarEvent).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function u(e,n,r){return(await e.delete(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function l(e,r,a){return e.select().from(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.workspaceId,r),(0,t.lte)(i.calendarEvent.scheduledAt,a),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function d(e,n,r,a){return(await e.update(i.calendarEvent).set({lastTriggeredAt:a,updatedAt:a}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.scheduledAt,r),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).returning())[0]??null}async function c(e,n,r){await e.update(i.calendarEvent).set({lastTriggeredAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}async function m(e,n,r){await e.update(i.calendarEvent).set({scheduledAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}function g(e,t){let n=/^(\d+)(min|hour|day|week|month)$/.exec(t);if(!n)throw Error(`invalid repeat_interval: ${t}`);let i=parseInt(n[1],10),r=n[2];if("min"===r)return new Date(e.getTime()+6e4*i);if("hour"===r)return new Date(e.getTime()+36e5*i);if("day"===r)return new Date(e.getTime()+864e5*i);if("week"===r)return new Date(e.getTime()+7*i*864e5);let a=e.getUTCFullYear(),s=e.getUTCMonth()+i,o=a+Math.floor(s/12),u=(s%12+12)%12,l=Math.min(e.getUTCDate(),new Date(Date.UTC(o,u+1,0)).getUTCDate());return new Date(Date.UTC(o,u,l,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}e.s(["addRepeatInterval",0,g,"claimCalendarEvent",0,d,"computeNextScheduledAt",0,function(e,t,n,i,r=[]){let a=new Set(r),s=g(new Date(e),t),o=new Date(i),u=n?new Date(n):null;for(let e=0;e<2e3&&(!u||!(s>u));e++){if(s>o&&!a.has(s.toISOString()))return s.toISOString();s=g(s,t)}return null},"createCalendarEvent",0,r,"deleteCalendarEvent",0,u,"expandOccurrences",0,function(e,t,n,i,r,a){let s=[],o=new Date(r),u=new Date(a),l=n?new Date(n):null,d=new Set(i),c=new Date(e);for(let e=0;e<1e3&&!(c>u)&&(!l||!(c>l));e++){let e=c.toISOString();c>=o&&!d.has(e)&&s.push(e),c=g(c,t)}return s},"getCalendarEvent",0,s,"getOccurrencesPerDay",0,function(e){let t=/^(\d+)(min|hour|day|week|month)$/.exec(e);if(!t)return 1;let n=parseInt(t[1],10),i=t[2];return"month"===i||"week"===i||"day"===i||0===n?1:Math.floor(86400/("min"===i?60*n:3600*n))},"listCalendarEvents",0,o,"listDueCalendarEvents",0,l,"revertCalendarEventClaim",0,c,"updateCalendarEvent",0,a,"updateCalendarEventSchedule",0,m])},450019,368789,677855,491465,497657,420587,22033,571158,834809,127060,208560,947101,315576,961100,237209,397614,68438,923566,715172,69974,912701,482420,95634,965939,166485,930980,75056,66643,542885,441376,281108,449951,e=>{"use strict";var t=e.i(766490),n=e.i(729178);async function i(e,i){return(await e.select().from(n.user).where((0,t.eq)(n.user.id,i)))[0]??null}async function r(e,i){return(await e.select().from(n.user).where((0,t.eq)(n.user.email,i)))[0]??null}async function a(e,t){return(await e.insert(n.user).values({name:t.name,email:t.email}).returning())[0]}async function s(e,i,r){return(await e.update(n.user).set({name:r.name,image:r.image,updatedAt:new Date().toISOString()}).where((0,t.eq)(n.user.id,i)).returning())[0]??null}e.s(["createUser",0,a,"getUser",0,i,"getUserByEmail",0,r,"updateUser",0,s],368789);var o=e.i(959498);async function u(e,i,r){return(await e.select({id:n.workspace.id,name:n.workspace.name,slug:n.workspace.slug,createdAt:n.workspace.createdAt,updatedAt:n.workspace.updatedAt}).from(n.workspace).innerJoin(n.member,(0,t.eq)(n.member.workspaceId,n.workspace.id)).where((0,t.and)((0,t.eq)(n.workspace.id,i),(0,t.eq)(n.member.userId,r))))[0]??null}async function l(e,i){return(await e.select().from(n.workspace).where((0,t.eq)(n.workspace.slug,i)))[0]??null}async function d(e,i){return e.select({id:n.workspace.id,name:n.workspace.name,slug:n.workspace.slug,createdAt:n.workspace.createdAt,updatedAt:n.workspace.updatedAt}).from(n.workspace).innerJoin(n.member,(0,t.eq)(n.member.workspaceId,n.workspace.id)).where((0,t.eq)(n.member.userId,i)).orderBy((0,o.asc)(n.workspace.createdAt))}async function c(e,t){return(await e.insert(n.workspace).values({name:t.name,slug:t.slug}).returning())[0]}async function m(e,i,r){return(await e.update(n.workspace).set({...r,updatedAt:new Date().toISOString()}).where((0,t.eq)(n.workspace.id,i)).returning())[0]??null}async function g(e,i){return(await e.delete(n.workspace).where((0,t.eq)(n.workspace.id,i)).returning())[0]??null}async function p(e,i,r){return(await e.select().from(n.member).where((0,t.and)((0,t.eq)(n.member.userId,i),(0,t.eq)(n.member.workspaceId,r))))[0]??null}async function f(e,i){return e.select({id:n.member.id,workspaceId:n.member.workspaceId,userId:n.member.userId,role:n.member.role,createdAt:n.member.createdAt,userName:n.user.name,userEmail:n.user.email,userImage:n.user.image}).from(n.member).innerJoin(n.user,(0,t.eq)(n.member.userId,n.user.id)).where((0,t.eq)(n.member.workspaceId,i))}async function h(e,i,r,a){return(await e.update(n.member).set({globalInstruction:a}).where((0,t.and)((0,t.eq)(n.member.userId,i),(0,t.eq)(n.member.workspaceId,r))).returning())[0]??null}async function v(e,t){return(await e.insert(n.member).values({workspaceId:t.workspaceId,userId:t.userId,role:t.role}).returning())[0]}async function y(e,i,r){return(await e.select().from(n.member).where((0,t.and)((0,t.eq)(n.member.id,i),(0,t.eq)(n.member.workspaceId,r))))[0]??null}async function _(e,i,r){return(await e.delete(n.member).where((0,t.and)((0,t.eq)(n.member.id,i),(0,t.eq)(n.member.workspaceId,r))).returning())[0]??null}async function $(e,i,r,a){let s=(await e.select().from(n.agent).where((0,t.and)((0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r))))[0]??null;return s&&a&&"public"!==s.visibility&&s.ownerId!==a?(await e.select({id:n.agentAccess.id}).from(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r),(0,t.eq)(n.agentAccess.userId,a)))).length>0?s:null:s}async function b(e,i,r){return r?e.select().from(n.agent).where((0,t.and)((0,t.eq)(n.agent.workspaceId,i),(0,t.or)((0,t.eq)(n.agent.visibility,"public"),(0,t.eq)(n.agent.ownerId,r),(0,t.exists)(e.select({id:n.agentAccess.id}).from(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,n.agent.id),(0,t.eq)(n.agentAccess.workspaceId,n.agent.workspaceId),(0,t.eq)(n.agentAccess.userId,r))))))).orderBy((0,o.desc)(n.agent.createdAt)):e.select().from(n.agent).where((0,t.eq)(n.agent.workspaceId,i)).orderBy((0,o.desc)(n.agent.createdAt))}async function k(e,t){return(await e.insert(n.agent).values({workspaceId:t.workspaceId,name:t.name,runtimeId:t.runtimeId??null,description:t.description??"",instructions:t.instructions??"",avatarUrl:t.avatarUrl??null,runtimeMode:t.runtimeMode??"local",runtimeConfig:t.runtimeConfig??null,visibility:t.visibility??"private",maxConcurrentTasks:t.maxConcurrentTasks??6,ownerId:t.ownerId??null,tools:t.tools??null,triggers:t.triggers??null,emailHandle:t.emailHandle??null}).returning())[0]}async function w(e,i,r,a){let s=[(0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r)];return a&&s.push((0,t.eq)(n.agent.ownerId,a)),(await e.delete(n.agent).where((0,t.and)(...s)).returning())[0]??null}async function I(e,i,r,a,s){let o=[(0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r)];return s&&o.push((0,t.eq)(n.agent.ownerId,s)),(await e.update(n.agent).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)(...o)).returning())[0]??null}async function S(e,i,r,a){return(await e.update(n.agent).set({status:a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r))).returning())[0]??null}async function x(e,i){return(await e.select().from(n.agent).where((0,t.eq)(n.agent.emailHandle,i)))[0]??null}async function T(e,i){return 0===i.length?[]:(await e.select({emailHandle:n.agent.emailHandle}).from(n.agent).where((0,t.inArray)(n.agent.emailHandle,i))).map(e=>e.emailHandle).filter(Boolean)}async function A(e,i,r){return 0===i.length?[]:e.select().from(n.agent).where((0,t.and)((0,t.inArray)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r)))}async function N(e,i){return e.select().from(n.agent).where((0,t.eq)(n.agent.workspaceId,i)).orderBy((0,o.desc)(n.agent.createdAt))}async function P(e,i){return e.select({id:n.agent.id,emailHandle:n.agent.emailHandle}).from(n.agent).where((0,t.eq)(n.agent.workspaceId,i))}e.s(["createWorkspace",0,c,"deleteWorkspace",0,g,"getWorkspace",0,u,"getWorkspaceBySlug",0,l,"listWorkspaces",0,d,"updateWorkspace",0,m],677855),e.s(["createMember",0,v,"deleteMember",0,_,"getMember",0,y,"getMemberByUserAndWorkspace",0,p,"listMembers",0,f,"updateMemberGlobalInstruction",0,h],491465),e.s(["createAgent",0,k,"deleteAgent",0,w,"getAgent",0,$,"getAgentByHandle",0,x,"getAgentsByIds",0,A,"getAllAgentsForWorkspace",0,N,"getAllHandlesForWorkspace",0,P,"getExistingHandles",0,T,"listAgents",0,b,"updateAgent",0,I,"updateAgentStatus",0,S],497657);var q=e.i(325956);async function z(e,t){let i=new Date().toISOString(),r=JSON.stringify(t.metadata??{});return(await e.insert(n.agentRuntime).values({workspaceId:t.workspaceId,daemonId:t.daemonId,runtimeMode:t.runtimeMode,provider:t.provider,deviceInfo:t.deviceInfo,metadata:t.metadata??null}).onConflictDoUpdate({target:[n.agentRuntime.workspaceId,n.agentRuntime.daemonId,n.agentRuntime.provider],set:{runtimeMode:t.runtimeMode,deviceInfo:t.deviceInfo,metadata:q.sql`json_patch(coalesce(${n.agentRuntime.metadata}, '{}'), ${r})`,updatedAt:i}}).returning())[0]}async function Z(e,i){return e.select({id:n.agentRuntime.id,workspaceId:n.agentRuntime.workspaceId,daemonId:n.agentRuntime.daemonId,runtimeMode:n.agentRuntime.runtimeMode,provider:n.agentRuntime.provider,deviceInfo:n.agentRuntime.deviceInfo,metadata:n.agentRuntime.metadata,createdAt:n.agentRuntime.createdAt,updatedAt:n.agentRuntime.updatedAt,machineLastSeenAt:n.machine.lastSeenAt,pendingUpdateVersion:n.machine.pendingUpdateVersion,pendingRescan:n.machine.pendingRescan}).from(n.agentRuntime).leftJoin(n.machine,(0,t.and)((0,t.eq)(n.machine.daemonId,n.agentRuntime.daemonId),(0,t.eq)(n.machine.workspaceId,n.agentRuntime.workspaceId))).where((0,t.eq)(n.agentRuntime.workspaceId,i)).orderBy((0,o.asc)(n.agentRuntime.createdAt))}async function D(e,i){return(await e.select().from(n.agentRuntime).where((0,t.eq)(n.agentRuntime.id,i)))[0]??null}async function O(e,i,r){return(await e.select({id:n.agentRuntime.id,workspaceId:n.agentRuntime.workspaceId,daemonId:n.agentRuntime.daemonId,runtimeMode:n.agentRuntime.runtimeMode,provider:n.agentRuntime.provider,deviceInfo:n.agentRuntime.deviceInfo,metadata:n.agentRuntime.metadata,createdAt:n.agentRuntime.createdAt,updatedAt:n.agentRuntime.updatedAt,machineLastSeenAt:n.machine.lastSeenAt,pendingUpdateVersion:n.machine.pendingUpdateVersion,pendingRescan:n.machine.pendingRescan}).from(n.agentRuntime).leftJoin(n.machine,(0,t.and)((0,t.eq)(n.machine.daemonId,n.agentRuntime.daemonId),(0,t.eq)(n.machine.workspaceId,n.agentRuntime.workspaceId))).where((0,t.and)((0,t.eq)(n.agentRuntime.id,i),(0,t.eq)(n.agentRuntime.workspaceId,r))))[0]??null}async function E(e,i,r){return 0===i.length?[]:e.select({id:n.agentRuntime.id,workspaceId:n.agentRuntime.workspaceId,daemonId:n.agentRuntime.daemonId,runtimeMode:n.agentRuntime.runtimeMode,provider:n.agentRuntime.provider,deviceInfo:n.agentRuntime.deviceInfo,metadata:n.agentRuntime.metadata,createdAt:n.agentRuntime.createdAt,updatedAt:n.agentRuntime.updatedAt,machineLastSeenAt:n.machine.lastSeenAt,pendingUpdateVersion:n.machine.pendingUpdateVersion,pendingRescan:n.machine.pendingRescan}).from(n.agentRuntime).leftJoin(n.machine,(0,t.and)((0,t.eq)(n.machine.daemonId,n.agentRuntime.daemonId),(0,t.eq)(n.machine.workspaceId,n.agentRuntime.workspaceId))).where((0,t.and)((0,t.inArray)(n.agentRuntime.id,i),(0,t.eq)(n.agentRuntime.workspaceId,r)))}async function U(e,i,r){let a=await e.select({id:n.agentRuntime.id}).from(n.agentRuntime).where((0,t.and)((0,t.eq)(n.agentRuntime.daemonId,i),(0,t.eq)(n.agentRuntime.workspaceId,r)));if(0===a.length)return;let s=a.map(e=>e.id);await e.update(n.agent).set({runtimeId:null,updatedAt:new Date().toISOString()}).where((0,t.inArray)(n.agent.runtimeId,s)),await e.delete(n.agentRuntime).where((0,t.and)((0,t.eq)(n.agentRuntime.daemonId,i),(0,t.eq)(n.agentRuntime.workspaceId,r)))}async function j(e,i,r){return(await e.select({id:n.agentRuntime.id}).from(n.agentRuntime).where((0,t.and)((0,t.eq)(n.agentRuntime.daemonId,i),(0,t.eq)(n.agentRuntime.workspaceId,r)))).map(e=>e.id)}e.s(["deleteRuntimesByDaemonId",0,U,"getAgentRuntime",0,D,"getAgentRuntimeForWorkspace",0,O,"getAgentRuntimesForWorkspace",0,E,"getRuntimeIdsByDaemon",0,j,"listAgentRuntimes",0,Z,"upsertAgentRuntime",0,z],420587);var C=e.i(704024);async function L(e,t){return(await e.insert(n.conversation).values({workspaceId:t.workspaceId,agentId:t.agentId,userId:t.userId,title:t.title,type:t.type??C.TASK_TYPES.USER_DM_MESSAGE,channel:t.channel??"default",...t.parentMessageId?{parentMessageId:t.parentMessageId,threadTitle:t.threadTitle??""}:{}}).returning())[0]}async function Q(e,i,r){return(await e.select().from(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.id,i),(0,t.eq)(n.conversation.workspaceId,r))))[0]??null}async function R(e,i,r){return 0===i.length?[]:e.select().from(n.conversation).where((0,t.and)((0,t.inArray)(n.conversation.id,i),(0,t.eq)(n.conversation.workspaceId,r)))}async function B(e,i,r,a){let s=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.isNull)(n.conversation.parentMessageId)];return a&&s.push((0,t.eq)(n.conversation.channel,a)),e.select().from(n.conversation).where((0,t.and)(...s)).orderBy((0,o.desc)(n.conversation.createdAt))}async function F(e,i,r,a,s){let u=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.isNull)(n.conversation.parentMessageId)];return s&&u.push((0,t.eq)(n.conversation.channel,s)),e.select({id:n.conversation.id,workspaceId:n.conversation.workspaceId,agentId:n.conversation.agentId,userId:n.conversation.userId,title:n.conversation.title,channel:n.conversation.channel,createdAt:n.conversation.createdAt,messageCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number)}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)(...u)).groupBy(n.conversation.id).orderBy((0,o.desc)(n.conversation.createdAt))}async function M(e,i,r){return(await e.update(n.conversation).set({title:r}).where((0,t.and)((0,t.eq)(n.conversation.id,i),(0,t.eq)(n.conversation.title,""))).returning())[0]??null}async function K(e,i,r,a,s){let u=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.eq)(n.conversation.type,C.TASK_TYPES.USER_DM_MESSAGE),(0,t.isNull)(n.conversation.parentMessageId)];s&&u.push((0,t.eq)(n.conversation.channel,s));let l=await e.select().from(n.conversation).where((0,t.and)(...u)).orderBy((0,o.desc)(n.conversation.createdAt)).limit(1);return l.length>0?l[0]:(await e.insert(n.conversation).values({workspaceId:i,agentId:a,userId:r,title:"",type:C.TASK_TYPES.USER_DM_MESSAGE,channel:s??"default"}).returning())[0]}async function V(e,i,r){return(await e.delete(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.id,i),(0,t.eq)(n.conversation.workspaceId,r))).returning())[0]??null}async function J(e,i,r,a,s,u,l){let d=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.eq)(n.conversation.type,C.TASK_TYPES.USER_DM_MESSAGE),(0,t.ne)(n.conversation.id,s),(0,t.isNull)(n.conversation.parentMessageId)];u&&d.push((0,t.eq)(n.conversation.channel,u)),l?.before&&d.push((0,t.lt)(n.conversation.createdAt,l.before));let c=l?.limit??10;return e.select({id:n.conversation.id,createdAt:n.conversation.createdAt}).from(n.conversation).where((0,t.and)(...d)).orderBy((0,o.desc)(n.conversation.createdAt)).limit(c)}async function W(e,i,r){return(await e.select().from(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.parentMessageId,i),(0,t.eq)(n.conversation.workspaceId,r))).limit(1))[0]??null}async function G(e,i,r){return 0===r.length?[]:e.select({id:n.conversation.id,parentMessageId:n.conversation.parentMessageId,threadTitle:n.conversation.threadTitle,createdAt:n.conversation.createdAt,replyCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number),lastReplyAt:q.sql`MAX(${n.message.createdAt})`}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)((0,t.inArray)(n.conversation.parentMessageId,r),(0,t.eq)(n.conversation.workspaceId,i))).groupBy(n.conversation.id)}async function H(e,i,r){return e.select({id:n.conversation.id,parentMessageId:n.conversation.parentMessageId,threadTitle:n.conversation.threadTitle,createdAt:n.conversation.createdAt,replyCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number),lastReplyAt:q.sql`MAX(${n.message.createdAt})`}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,i),q.sql`${n.conversation.parentMessageId} IN (SELECT id FROM message WHERE conversation_id = ${r} AND status = 'active')`)).groupBy(n.conversation.id)}async function X(e,i,r,a){let s=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.agentId,r),(0,t.isNotNull)(n.conversation.parentMessageId)];a?.before&&s.push((0,t.lt)(n.conversation.createdAt,a.before));let u=a?.limit??30;return e.select({id:n.conversation.id,parentMessageId:n.conversation.parentMessageId,threadTitle:n.conversation.threadTitle,createdAt:n.conversation.createdAt,replyCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number),lastReplyAt:q.sql`MAX(${n.message.createdAt})`,lastReplyPreview:q.sql`(SELECT SUBSTR(m2.content, 1, 60) FROM message m2 WHERE m2.conversation_id = ${n.conversation.id} AND m2.status = 'active' ORDER BY m2.created_at DESC LIMIT 1)`}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)(...s)).groupBy(n.conversation.id).orderBy((0,o.desc)(q.sql`MAX(${n.message.createdAt})`)).limit(u)}async function Y(e,i,r,a,s,o){let u=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.eq)(n.conversation.type,C.TASK_TYPES.USER_DM_MESSAGE),(0,t.ne)(n.conversation.id,s),(0,t.isNull)(n.conversation.parentMessageId)];return o&&u.push((0,t.eq)(n.conversation.channel,o)),(await e.select({exists:q.sql`1`}).from(n.conversation).where((0,t.and)(...u)).limit(1)).length>0}function ee(e){return q.sql`count(${e||q.sql.raw("*")})`.mapWith(Number)}async function et(e,t){return(await e.insert(n.message).values({conversationId:t.conversationId,role:t.role,content:t.content,taskId:t.taskId??null,attachmentIds:t.attachmentIds??null,metadata:t.metadata??null}).returning())[0]}async function en(e,i){let r=await e.select({id:n.message.id}).from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.desc)(n.message.createdAt),(0,o.desc)(n.message.id)).limit(1);return r[0]?.id??null}async function ei(e,i){let r=await e.select({cnt:ee()}).from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active")));return r[0]?.cnt??0}async function er(e,i,r){let a=r?.limit??20,s=r?.before,u=r?.beforeId;if(s){let r=u?(0,t.or)((0,t.lt)(n.message.createdAt,s),(0,t.and)((0,t.eq)(n.message.createdAt,s),(0,t.lt)(n.message.id,u))):(0,t.lt)(n.message.createdAt,s),l=await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),r)).orderBy((0,o.desc)(n.message.createdAt),(0,o.desc)(n.message.id)).limit(a+1),d=l.length>a;return{messages:l.slice(0,a).reverse(),has_more:d}}let l=await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.desc)(n.message.createdAt),(0,o.desc)(n.message.id)).limit(a+1),d=l.length>a;return{messages:l.slice(0,a).reverse(),has_more:d}}async function ea(e,i){return(await e.select().from(n.message).where((0,t.eq)(n.message.id,i)))[0]??null}async function es(e,i,r){await e.update(n.message).set({taskId:r}).where((0,t.eq)(n.message.id,i))}async function eo(e,i,r){let a=await e.select({createdAt:n.message.createdAt}).from(n.message).where((0,t.eq)(n.message.id,r));if(0===a.length)return[];let s=a[0].createdAt;return await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),q.sql`(${n.message.createdAt} < ${s} OR ${n.message.id} = ${r})`)).orderBy((0,o.asc)(n.message.createdAt))}async function eu(e,i,r,a=15){let s=await e.select({createdAt:n.message.createdAt}).from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.taskId,r),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.asc)(n.message.createdAt)).limit(1);if(0===s.length)return[];let u=s[0].createdAt,[l,d]=await Promise.all([e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),(0,t.lt)(n.message.createdAt,u))).orderBy((0,o.desc)(n.message.createdAt)).limit(a),e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),(0,t.gte)(n.message.createdAt,u))).orderBy((0,o.asc)(n.message.createdAt)).limit(a+1)]);return[...l.reverse(),...d]}e.s(["createConversation",0,L,"deleteConversation",0,V,"getConversation",0,Q,"getConversationsByIds",0,R,"getOrCreateAgentConversation",0,K,"getThreadByParentMessage",0,W,"getThreadsByConversation",0,H,"getThreadsByParentMessages",0,G,"hasPreviousConversations",0,Y,"listConversations",0,B,"listConversationsByAgent",0,F,"listPreviousConversations",0,J,"listThreadsByAgent",0,X,"updateConversationTitle",0,M],22033),e.i(486056),e.i(137983),e.s(["createMessage",0,et,"getActiveMessageCount",0,ei,"getMessage",0,ea,"getNewestMessageId",0,en,"listMessages",0,er,"listMessagesAroundTask",0,eu,"listMessagesUpTo",0,eo,"updateMessageTaskId",0,es],571158);var el=e.i(486437);function ed(e,t){return new Proxy(e,new el.TableAliasProxyHandler(t,!1))}var ec=e.i(888247);async function em(e,t){return(await e.insert(n.agentTaskQueue).values({agentId:t.agentId,runtimeId:t.runtimeId,workspaceId:t.workspaceId,conversationId:t.conversationId,prompt:t.prompt,type:t.type??C.TASK_TYPES.USER_DM_MESSAGE,contextKey:t.contextKey??null,priority:t.priority??0,context:t.context??void 0,traceId:t.traceId??null,parentTaskId:t.parentTaskId??null}).returning())[0]}async function eg(e,i){let r=await e.select({value:ee()}).from(n.agentTaskQueue).where((0,t.eq)(n.agentTaskQueue.traceId,i));return Number(r[0]?.value??0)}async function ep(e,i){return(await e.select({id:n.agentTaskQueue.id,traceId:n.agentTaskQueue.traceId}).from(n.agentTaskQueue).where((0,t.eq)(n.agentTaskQueue.conversationId,i)).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(1))[0]??null}async function ef(e,i,r){let a=[(0,t.eq)(n.agentTaskQueue.id,i)];return r&&a.push((0,t.eq)(n.agentTaskQueue.workspaceId,r)),(await e.select().from(n.agentTaskQueue).where((0,t.and)(...a)))[0]??null}async function eh(e,i,r){let a=[(0,t.eq)(n.agentTaskQueue.id,i)];r&&a.push((0,t.eq)(n.agentTaskQueue.workspaceId,r));let s=await e.select({status:n.agentTaskQueue.status}).from(n.agentTaskQueue).where((0,t.and)(...a));return s[0]?.status??null}async function ev(e,i,r){let a=(await e.select({id:n.agentTaskQueue.id,conversationId:n.agentTaskQueue.conversationId,contextKey:n.agentTaskQueue.contextKey}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)))).filter(e=>e.contextKey);if(0===a.length)return null;let s=a.map(e=>e.contextKey),o=new Set((await e.select({conversationId:n.agentTaskQueue.conversationId,contextKey:n.agentTaskQueue.contextKey}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),(0,t.inArray)(n.agentTaskQueue.contextKey,s)))).map(e=>`${e.conversationId}:${e.contextKey}`));for(let e of a)if(o.has(`${e.conversationId}:${e.contextKey}`))return{predecessorId:e.id,contextKey:e.contextKey};return null}async function ey(e,i,r){let a=await e.select({conversationId:n.agentTaskQueue.conversationId,contextKey:n.agentTaskQueue.contextKey}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))),s=[],u=new Map;for(let e of a)e.contextKey?u.set(e.conversationId,e.contextKey):s.push(e.conversationId);let l=[...s];for(let e of u.keys())l.push(e);let d=e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),...l.length>0?[(0,t.notInArray)(n.agentTaskQueue.conversationId,l)]:[])).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(1),c=await d;if(0===c.length&&u.size>0){let a=[...u.entries()].slice(0,50).map(([e,i])=>(0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,e),(0,t.eq)(n.agentTaskQueue.contextKey,i))),s=await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),(0,t.or)(...a))).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(1);s.length>0&&(c=s)}if(0===c.length)return null;let m=new Date().toISOString();for(let a=0;a<3;a++){let s=0===a?c[0].id:await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),...l.length>0?[(0,t.notInArray)(n.agentTaskQueue.conversationId,l)]:[])).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(1).then(e=>e[0]?.id);if(!s)break;let u=(await e.update(n.agentTaskQueue).set({status:"dispatched",dispatchedAt:m}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,s),(0,t.eq)(n.agentTaskQueue.status,"queued"))).returning())[0];if(u)return ec.ClaimedTaskRowSchema.parse(u)}return null}async function e_(e,i,r){let a=await e.update(n.agentTaskQueue).set({status:"dispatched",dispatchedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"))).returning();return a[0]?ec.ClaimedTaskRowSchema.parse(a[0]):null}async function e$(e,i,r){await e.update(n.agentTaskQueue).set({status:"queued",dispatchedAt:null}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"dispatched")))}async function eb(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"running",startedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"dispatched"))).returning())[0]??null}async function ek(e,i,r,a){return(await e.update(n.agentTaskQueue).set({status:"completed",completedAt:new Date().toISOString(),result:a.result,sessionId:a.sessionId}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"running"))).returning())[0]??null}async function ew(e,i,r,a){return(await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:a}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]))).returning())[0]??null}async function eI(e,i,r){return 0===i.length?[]:e.select().from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.runtimeId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt))}async function eS(e,i){return(await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).limit(1)).length>0}async function ex(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"superseded",completedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]))).returning())[0]??null}async function eT(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"superseded"}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"failed"))).returning())[0]??null}async function eA(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"cancelled",completedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]))).returning())[0]??null}let eN=Number(process.env.ALOOK_STALE_DISPATCH_TIMEOUT_S)||20;async function eP(e,i,r=eN){let a=new Date(Date.now()-1e3*r).toISOString();return await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:"timed out in dispatched state (daemon likely disconnected)"}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.eq)(n.agentTaskQueue.status,"dispatched"),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.lt)(n.agentTaskQueue.dispatchedAt,a))).returning({agentId:n.agentTaskQueue.agentId,workspaceId:n.agentTaskQueue.workspaceId,conversationId:n.agentTaskQueue.conversationId})}async function eq(e,i,r){return e.delete(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r))).returning({id:n.agentTaskQueue.id})}async function ez(e,i,r){return e.update(n.agentTaskQueue).set({status:"cancelled",completedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]))).returning({id:n.agentTaskQueue.id})}async function eZ(e,i,r,a){let s=[(0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)];a&&s.push((0,t.ne)(n.agentTaskQueue.id,a));let o=await e.select({value:ee()}).from(n.agentTaskQueue).where((0,t.and)(...s));return Number(o[0]?.value??0)}async function eD(e,i){return e.select({agentId:n.agentTaskQueue.agentId,count:ee()}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).groupBy(n.agentTaskQueue.agentId).limit(200)}async function eO(e,i){return e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,prompt:n.agentTaskQueue.prompt,status:n.agentTaskQueue.status,type:n.agentTaskQueue.type,conversationId:n.agentTaskQueue.conversationId,createdAt:n.agentTaskQueue.createdAt,channel:n.conversation.channel}).from(n.agentTaskQueue).leftJoin(n.conversation,(0,t.eq)(n.agentTaskQueue.conversationId,n.conversation.id)).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(50)}async function eE(e,i,r){return e.select({id:n.agentTaskQueue.id,status:n.agentTaskQueue.status,type:n.agentTaskQueue.type,createdAt:n.agentTaskQueue.createdAt}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(100)}async function eU(e,i,r){return(await e.select().from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(1))[0]??null}async function ej(e,i,r,a){if(0===i.length||a<=0)return[];let s=(await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.eq)(n.agentTaskQueue.status,"queued"),(0,t.inArray)(n.agentTaskQueue.runtimeId,i))).orderBy((0,o.asc)(n.agentTaskQueue.createdAt)).limit(a)).map(e=>e.id);return 0===s.length?[]:(await e.update(n.agentTaskQueue).set({status:"dispatched",dispatchedAt:new Date().toISOString()}).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.id,s),(0,t.eq)(n.agentTaskQueue.status,"queued"))).returning()).map(e=>ec.ClaimedTaskRowSchema.parse(e))}async function eC(e,i){let r=new Date(Date.now()-9e4).toISOString();return await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:"kill_task timed out (daemon likely offline)"}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.eq)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched"]),(0,t.lt)(q.sql`coalesce(${n.agentTaskQueue.dispatchedAt}, ${n.agentTaskQueue.createdAt})`,r))).returning({id:n.agentTaskQueue.id})}let eL=Number(process.env.ALOOK_STALE_RUNNING_TIMEOUT_S)||3600;async function eQ(e,i,r=eL){let a=new Date(Date.now()-1e3*r).toISOString(),s=await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).leftJoin(n.taskMessage,(0,t.eq)(n.taskMessage.taskId,n.agentTaskQueue.id)).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.eq)(n.agentTaskQueue.status,"running"))).groupBy(n.agentTaskQueue.id).having(q.sql`COALESCE(MAX(${n.taskMessage.createdAt}), ${n.agentTaskQueue.startedAt}) < ${a}`);if(0===s.length)return[];let o=s.map(e=>e.id);return await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:`timed out in running state (no message activity for ${Math.round(r/60)} minutes)`}).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.id,o),(0,t.eq)(n.agentTaskQueue.status,"running"))).returning({agentId:n.agentTaskQueue.agentId,workspaceId:n.agentTaskQueue.workspaceId,conversationId:n.agentTaskQueue.conversationId})}async function eR(e,i,r,a){let s=a?.limit??30,u=[(0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)];if(a?.status&&a.status.length>0&&u.push((0,t.inArray)(n.agentTaskQueue.status,a.status)),a?.type&&a.type.length>0&&u.push((0,t.inArray)(n.agentTaskQueue.type,a.type)),a?.before){let e=a.beforeId?(0,t.or)((0,t.lt)(n.agentTaskQueue.createdAt,a.before),(0,t.and)((0,t.eq)(n.agentTaskQueue.createdAt,a.before),(0,t.lt)(n.agentTaskQueue.id,a.beforeId))):(0,t.lt)(n.agentTaskQueue.createdAt,a.before);u.push(e)}let l=await e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,conversationId:n.agentTaskQueue.conversationId,workspaceId:n.agentTaskQueue.workspaceId,prompt:n.agentTaskQueue.prompt,type:n.agentTaskQueue.type,status:n.agentTaskQueue.status,createdAt:n.agentTaskQueue.createdAt,startedAt:n.agentTaskQueue.startedAt,completedAt:n.agentTaskQueue.completedAt,error:n.agentTaskQueue.error}).from(n.agentTaskQueue).where((0,t.and)(...u)).orderBy((0,o.desc)(n.agentTaskQueue.createdAt),(0,o.desc)(n.agentTaskQueue.id)).limit(s+1),d=l.length>s;return{tasks:(d?l.slice(0,s):l).reverse(),hasMore:d}}async function eB(e,i,r){let a=r?.limit??30,s=[(0,t.eq)(n.agentTaskQueue.workspaceId,i),q.sql`${n.agentTaskQueue.traceId} IS NOT NULL`,q.sql`${n.agentTaskQueue.parentTaskId} IS NULL`,(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)];if(r?.before&&s.push((0,t.lt)(n.agentTaskQueue.createdAt,r.before)),r?.agentId&&s.push((0,t.eq)(n.agentTaskQueue.agentId,r.agentId)),r?.channel&&s.push((0,t.eq)(n.conversation.channel,r.channel)),r?.multiAgent){let r=ed(n.agentTaskQueue,"helper_task");s.push((0,t.exists)(e.select().from(r).where((0,t.and)((0,t.eq)(r.workspaceId,i),(0,t.eq)(r.traceId,n.agentTaskQueue.traceId),(0,t.ne)(r.agentId,n.agentTaskQueue.agentId),(0,t.ne)(r.type,C.TASK_TYPES.KILL_TASK)))))}if(r?.status){let a=ed(n.agentTaskQueue,"trace_task");if("active"===r.status)s.push((0,t.exists)(e.select().from(a).where((0,t.and)((0,t.eq)(a.workspaceId,i),(0,t.eq)(a.traceId,n.agentTaskQueue.traceId),(0,t.ne)(a.type,C.TASK_TYPES.KILL_TASK),(0,t.inArray)(a.status,["queued","dispatched","running"])))));else if("completed"===r.status)s.push(q.sql`NOT EXISTS (SELECT 1 FROM ${n.agentTaskQueue} tt WHERE tt.workspace_id = ${i} AND tt.trace_id = ${n.agentTaskQueue.traceId} AND tt.type != ${C.TASK_TYPES.KILL_TASK} AND tt.status IN ('queued', 'dispatched', 'running', 'failed'))`);else if("failed"===r.status){s.push(q.sql`NOT EXISTS (SELECT 1 FROM ${n.agentTaskQueue} tt WHERE tt.workspace_id = ${i} AND tt.trace_id = ${n.agentTaskQueue.traceId} AND tt.type != ${C.TASK_TYPES.KILL_TASK} AND tt.status IN ('queued', 'dispatched', 'running'))`);let r=ed(n.agentTaskQueue,"failed_task");s.push((0,t.exists)(e.select().from(r).where((0,t.and)((0,t.eq)(r.workspaceId,i),(0,t.eq)(r.traceId,n.agentTaskQueue.traceId),(0,t.ne)(r.type,C.TASK_TYPES.KILL_TASK),(0,t.eq)(r.status,"failed")))))}}let u=await e.select({id:n.agentTaskQueue.id,traceId:n.agentTaskQueue.traceId,agentId:n.agentTaskQueue.agentId,prompt:n.agentTaskQueue.prompt,createdAt:n.agentTaskQueue.createdAt,channel:n.conversation.channel}).from(n.agentTaskQueue).leftJoin(n.conversation,(0,t.eq)(n.agentTaskQueue.conversationId,n.conversation.id)).where((0,t.and)(...s)).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(a+1);if(0===u.length)return{traces:[],hasMore:!1};let l=u.length>a,d=u.slice(0,a),c=d.map(e=>e.traceId).filter(e=>!!e);if(0===c.length)return{traces:[],hasMore:!1};let m=await e.select({traceId:n.agentTaskQueue.traceId,agentId:n.agentTaskQueue.agentId,status:n.agentTaskQueue.status,completedAt:n.agentTaskQueue.completedAt}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.traceId,c),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))),g=new Map;for(let e of m){if(!e.traceId)continue;let t=g.get(e.traceId)??[];t.push(e),g.set(e.traceId,t)}let p=[];for(let e of d){let t,n=g.get(e.traceId)??[],i=[...new Set(n.map(e=>e.agentId).filter(t=>t!==e.agentId))],r=n.some(e=>["queued","dispatched","running"].includes(e.status)),a=n.some(e=>"failed"===e.status);t=r?"active":a?"failed":"completed";let s=n.every(e=>["completed","failed","cancelled","superseded"].includes(e.status))?n.reduce((e,t)=>t.completedAt&&t.completedAt>(e??"")?t.completedAt:e,null):null;p.push({traceId:e.traceId,rootPrompt:e.prompt,rootAgentId:e.agentId,helperAgentIds:i,status:t,taskCount:n.length,startedAt:e.createdAt,completedAt:s,channel:e.channel??"default"})}return{traces:p,hasMore:l}}async function eF(e,i,r){if(0===i.length)return new Map;let a=await e.select({id:n.agentTaskQueue.id,traceId:n.agentTaskQueue.traceId}).from(n.agentTaskQueue).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.id,i),q.sql`${n.agentTaskQueue.traceId} IS NOT NULL`,(0,t.eq)(n.agentTaskQueue.workspaceId,r))),s=new Map;for(let e of a){if(!e.traceId)continue;let t=s.get(e.traceId)??[];t.push(e.id),s.set(e.traceId,t)}let o=[...s.keys()];if(0===o.length)return new Map;let u=await e.selectDistinct({traceId:n.agentTaskQueue.traceId,agentId:n.agentTaskQueue.agentId}).from(n.agentTaskQueue).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.traceId,o),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))),l=new Map;for(let e of u){if(!e.traceId)continue;let t=l.get(e.traceId)??new Set;t.add(e.agentId),l.set(e.traceId,t)}let d=new Map;for(let[e,t]of s){let n=[...l.get(e)??[]];for(let e of t)d.set(e,n)}return d}async function eM(e,i,r){return e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,parentTaskId:n.agentTaskQueue.parentTaskId,prompt:n.agentTaskQueue.prompt,status:n.agentTaskQueue.status,type:n.agentTaskQueue.type,conversationId:n.agentTaskQueue.conversationId,createdAt:n.agentTaskQueue.createdAt,completedAt:n.agentTaskQueue.completedAt}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.traceId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.asc)(n.agentTaskQueue.createdAt))}async function eK(e,t){return(await e.insert(n.taskMessage).values({taskId:t.taskId,seq:t.seq,type:t.type,tool:t.tool,callId:t.callId||"",content:t.content,input:t.input??null,output:t.output}).returning())[0]}async function eV(e,i,r){return r?e.select({id:n.taskMessage.id,taskId:n.taskMessage.taskId,seq:n.taskMessage.seq,type:n.taskMessage.type,tool:n.taskMessage.tool,content:n.taskMessage.content,callId:n.taskMessage.callId,input:n.taskMessage.input,output:n.taskMessage.output,createdAt:n.taskMessage.createdAt}).from(n.taskMessage).innerJoin(n.agentTaskQueue,(0,t.eq)(n.taskMessage.taskId,n.agentTaskQueue.id)).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.notInArray)(n.taskMessage.type,["tool-result","tool-use","thinking"]))).orderBy((0,o.asc)(n.taskMessage.seq)):e.select().from(n.taskMessage).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.notInArray)(n.taskMessage.type,["tool-result","tool-use","thinking"]))).orderBy((0,o.asc)(n.taskMessage.seq))}async function eJ(e,i,r){return e.select({id:n.taskMessage.id,taskId:n.taskMessage.taskId,seq:n.taskMessage.seq,type:n.taskMessage.type,tool:n.taskMessage.tool,content:n.taskMessage.content,callId:n.taskMessage.callId,input:n.taskMessage.input,output:n.taskMessage.output,createdAt:n.taskMessage.createdAt}).from(n.taskMessage).innerJoin(n.agentTaskQueue,(0,t.eq)(n.taskMessage.taskId,n.agentTaskQueue.id)).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.taskMessage.type,"error"))).orderBy((0,o.asc)(n.taskMessage.seq))}async function eW(e,i,r){return e.select().from(n.taskMessage).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.gt)(n.taskMessage.seq,r),(0,t.notInArray)(n.taskMessage.type,["tool-result","tool-use","thinking"]))).orderBy((0,o.asc)(n.taskMessage.seq))}async function eG(e,i){await e.delete(n.taskMessage).where((0,t.eq)(n.taskMessage.taskId,i))}async function eH(e,t){let i=new Date().toISOString(),r=void 0===t.lastSeenAt?i:t.lastSeenAt;return(await e.insert(n.machine).values({daemonId:t.daemonId,workspaceId:t.workspaceId,deviceInfo:t.deviceInfo,lastSeenAt:r,createdAt:i,updatedAt:i}).onConflictDoUpdate({target:[n.machine.workspaceId,n.machine.daemonId],set:{deviceInfo:t.deviceInfo,lastSeenAt:r,updatedAt:i}}).returning())[0]}async function eX(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({lastSeenAt:a,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function eY(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({lastSeenAt:null,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e0(e,i,r){return(await e.select().from(n.machine).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r))))[0]??null}async function e4(e,i){return e.select().from(n.machine).where((0,t.eq)(n.machine.workspaceId,i))}async function e1(e,i,r){await e.delete(n.machine).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e6(e,i,r,a){let s=new Date().toISOString();await e.update(n.machine).set({pendingUpdateVersion:a,updatedAt:s}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e2(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({pendingUpdateVersion:null,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e9(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({pendingRescan:!0,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e5(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({pendingRescan:!1,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e3(e,t){return(await e.insert(n.machineToken).values({userId:t.userId,workspaceId:t.workspaceId??null,token:t.token,name:t.name,status:t.status??"active"}).returning())[0]}async function e8(e,i){return(await e.select({id:n.machineToken.id,userId:n.machineToken.userId,workspaceId:n.machineToken.workspaceId,token:n.machineToken.token,name:n.machineToken.name,status:n.machineToken.status,lastUsedAt:n.machineToken.lastUsedAt,createdAt:n.machineToken.createdAt,userEmail:n.user.email}).from(n.machineToken).innerJoin(n.user,(0,t.eq)(n.user.id,n.machineToken.userId)).where((0,t.eq)(n.machineToken.token,i)))[0]??null}async function e7(e,i,r){let a=[(0,t.eq)(n.machineToken.userId,i),(0,t.eq)(n.machineToken.status,"pending")];return r?a.push((0,t.eq)(n.machineToken.workspaceId,r)):a.push((0,t.isNull)(n.machineToken.workspaceId)),(await e.select().from(n.machineToken).where((0,t.and)(...a)).limit(1))[0]??null}async function te(e,i,r,a){await e.update(n.machineToken).set({status:"registered",hostname:r,runtimesJson:a,lastUsedAt:null}).where((0,t.eq)(n.machineToken.id,i))}async function tt(e,i,r){await e.update(n.machineToken).set({status:"active",...r?{workspaceId:r}:{}}).where((0,t.eq)(n.machineToken.id,i))}async function tn(e,i){return(await e.select().from(n.machineToken).where((0,t.and)((0,t.eq)(n.machineToken.userId,i),(0,t.eq)(n.machineToken.status,"registered"))).orderBy((0,o.asc)(n.machineToken.createdAt)).limit(1))[0]??null}async function ti(e,i){return(await e.select({id:n.machineToken.id,status:n.machineToken.status,workspaceId:n.machineToken.workspaceId,hostname:n.machineToken.hostname,lastUsedAt:n.machineToken.lastUsedAt,runtimesJson:n.machineToken.runtimesJson}).from(n.machineToken).where((0,t.eq)(n.machineToken.userId,i)).orderBy((0,o.desc)(n.machineToken.createdAt)).limit(1))[0]??null}async function tr(e,i,r){return e.select().from(n.machineToken).where((0,t.and)((0,t.eq)(n.machineToken.userId,i),(0,t.eq)(n.machineToken.workspaceId,r))).orderBy((0,o.desc)(n.machineToken.createdAt))}async function ta(e,i,r){await e.delete(n.machineToken).where((0,t.and)((0,t.eq)(n.machineToken.id,i),(0,t.eq)(n.machineToken.userId,r)))}async function ts(e,i){await e.update(n.machineToken).set({lastUsedAt:new Date().toISOString()}).where((0,t.eq)(n.machineToken.id,i))}e.s(["cancelActiveTasksByConversation",0,ez,"cancelTask",0,eA,"claimKillTasks",0,ej,"claimTask",0,ey,"completeTask",0,ek,"countRunningTasks",0,eZ,"countTasksByTrace",0,eg,"createTask",0,em,"deleteTasksByConversation",0,eq,"dispatchTaskById",0,e_,"failStaleDispatchedTasks",0,eP,"failStaleKillTasks",0,eC,"failStaleRunningTasks",0,eQ,"failTask",0,ew,"findSteerableReplacement",0,ev,"getActiveTaskByConversation",0,eU,"getLatestTaskForConversation",0,ep,"getTask",0,ef,"getTaskStatus",0,eh,"getTraceAgentsByTaskIds",0,eF,"getTraceTree",0,eM,"hasPendingTaskForConversation",0,eS,"listActiveTaskCountsByWorkspace",0,eD,"listActiveTasksByAgent",0,eE,"listActiveTasksByWorkspace",0,eO,"listPendingTasksByRuntimes",0,eI,"listTaskHistory",0,eR,"listTraces",0,eB,"markFailedAsSuperseded",0,eT,"revertDispatchedToQueued",0,e$,"startTask",0,eb,"supersedeTask",0,ex],834809),e.s(["createTaskMessage",0,eK,"deleteTaskMessages",0,eG,"listTaskErrorMessages",0,eJ,"listTaskMessages",0,eV,"listTaskMessagesSince",0,eW],127060),e.s(["clearPendingRescan",0,e5,"clearPendingUpdateVersion",0,e2,"deleteMachine",0,e1,"getMachineByDaemon",0,e0,"listMachinesForWorkspace",0,e4,"setMachineLastSeenNull",0,eY,"setPendingRescan",0,e9,"setPendingUpdateVersion",0,e6,"updateMachineLastSeen",0,eX,"upsertMachine",0,eH],208560),e.s(["activateMachineToken",0,tt,"createMachineToken",0,e3,"deleteMachineToken",0,ta,"getLatestTokenForUser",0,ti,"getMachineTokenByToken",0,e8,"getPendingMachineToken",0,e7,"getRegisteredTokenForUser",0,tn,"listMachineTokens",0,tr,"registerMachineToken",0,te,"updateMachineTokenLastUsed",0,ts],947101);var to=e.i(424166);async function tu(e,i,r){return e.select().from(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r)))}async function tl(e,t,i,r){return(await e.insert(n.agentWhitelist).values({agentId:t,workspaceId:i,email:r}).onConflictDoNothing().returning())[0]??null}async function td(e,i,r,a){return(await e.delete(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.id,i),(0,t.eq)(n.agentWhitelist.agentId,r),(0,t.eq)(n.agentWhitelist.workspaceId,a))).returning())[0]??null}async function tc(e,i,r,a){return(await e.delete(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r),(0,t.eq)(n.agentWhitelist.email,a))).returning())[0]??null}async function tm(e,i,r,a){let s=(0,to.parseEmailHandle)(a);if(s){let i=await e.select({workspaceId:n.agent.workspaceId}).from(n.agent).where((0,t.eq)(n.agent.emailHandle,s)).limit(1);if(i.length>0&&i[0].workspaceId===r)return!0}return(await e.select({id:n.agentWhitelist.id}).from(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r),(0,t.eq)(n.agentWhitelist.email,a))).limit(1)).length>0}async function tg(e,i,r){let[a,s]=await Promise.all([e.select({email:n.agentWhitelist.email}).from(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r))),e.select({emailHandle:n.agent.emailHandle}).from(n.agent).where((0,t.eq)(n.agent.workspaceId,r))]),o=new Set(a.map(e=>e.email)),u=new Set(s.filter(e=>e.emailHandle).map(e=>e.emailHandle));return{check(e){let t=(0,to.parseEmailHandle)(e);return!!(t&&u.has(t))||o.has(e)}}}async function tp(e,t){return(await e.insert(n.emails).values(t).returning())[0]}async function tf(e,i,r){return(await e.select().from(n.emails).where((0,t.and)((0,t.eq)(n.emails.id,i),(0,t.eq)(n.emails.workspaceId,r))))[0]??null}async function th(e,i,r,a,s){let u=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.workspaceId,r)];a&&u.push((0,t.eq)(n.emails.status,a));let l=e.select().from(n.emails).where((0,t.and)(...u)).orderBy((0,o.desc)(n.emails.createdAt));return s?l.limit(s.limit).offset(s.offset):l}async function tv(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.toEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.direction,"inbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function ty(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.fromEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.direction,"outbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function t_(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.toEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.isWhitelisted,!0),(0,t.eq)(n.emails.direction,"inbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function t$(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.toEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.isWhitelisted,!1),(0,t.eq)(n.emails.direction,"inbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function tb(e,i,r){return i?(await e.select().from(n.emails).where((0,t.and)((0,t.eq)(n.emails.messageId,i),(0,t.eq)(n.emails.workspaceId,r))))[0]??null:null}async function tk(e,i,r,a){return(await e.update(n.emails).set({status:a}).where((0,t.and)((0,t.eq)(n.emails.id,i),(0,t.eq)(n.emails.workspaceId,r))).returning())[0]??null}async function tw(e,i,r){return e.delete(n.emails).where((0,t.and)((0,t.eq)(n.emails.id,i),(0,t.eq)(n.emails.workspaceId,r)))}async function tI(e,i){let r=await e.select({userId:n.session.userId}).from(n.session).where((0,t.and)((0,t.eq)(n.session.token,i),(0,t.gt)(n.session.expiresAt,new Date().toISOString())));return 0===r.length?null:r[0].userId}async function tS(e,t){return(await e.insert(n.artifact).values(t).returning())[0]}async function tx(e,i,r,a){let s=[(0,t.eq)(n.artifact.conversationId,i),(0,t.eq)(n.artifact.workspaceId,r)];a?.source&&s.push((0,t.eq)(n.artifact.source,a.source));let u=e.select().from(n.artifact).where((0,t.and)(...s)).orderBy((0,o.desc)(n.artifact.createdAt));return a?.limit!=null&&(u=u.limit(a.limit)),u}async function tT(e,i,r){return(await e.select().from(n.artifact).where((0,t.and)((0,t.eq)(n.artifact.id,i),(0,t.eq)(n.artifact.workspaceId,r))))[0]??null}async function tA(e,t){return(await e.insert(n.agentEmailAccount).values(t).returning())[0]}async function tN(e,i,r){return(await e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r))))[0]??null}async function tP(e,i,r,a){return(await e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.agentId,r),(0,t.eq)(n.agentEmailAccount.workspaceId,a))))[0]??null}async function tq(e,i,r){let a=[(0,t.eq)(n.agentEmailAccount.id,i)];return r&&a.push((0,t.eq)(n.agentEmailAccount.workspaceId,r)),(await e.select().from(n.agentEmailAccount).where((0,t.and)(...a)))[0]??null}async function tz(e,i,r){return e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.agentId,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r)))}async function tZ(e,i,r,a){return(await e.update(n.agentEmailAccount).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r))).returning())[0]??null}async function tD(e,i,r){return(await e.delete(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r))).returning())[0]??null}async function tO(e,i,r){return 0===i.length?[]:e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.inArray)(n.agentEmailAccount.agentId,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r)))}async function tE(e,i){return e.select().from(n.agentEmailAccount).where((0,t.eq)(n.agentEmailAccount.workspaceId,i))}async function tU(e,t){return(await e.insert(n.workspaceInvite).values({workspaceId:t.workspaceId,createdBy:t.createdBy,expiresAt:t.expiresAt}).returning())[0]}async function tj(e,i){return(await e.select({id:n.workspaceInvite.id,workspaceId:n.workspaceInvite.workspaceId,token:n.workspaceInvite.token,createdBy:n.workspaceInvite.createdBy,usedBy:n.workspaceInvite.usedBy,usedAt:n.workspaceInvite.usedAt,expiresAt:n.workspaceInvite.expiresAt,createdAt:n.workspaceInvite.createdAt,workspaceName:n.workspace.name,workspaceSlug:n.workspace.slug,creatorName:n.user.name,creatorEmail:n.user.email}).from(n.workspaceInvite).innerJoin(n.workspace,(0,t.eq)(n.workspaceInvite.workspaceId,n.workspace.id)).innerJoin(n.user,(0,t.eq)(n.workspaceInvite.createdBy,n.user.id)).where((0,t.eq)(n.workspaceInvite.token,i)))[0]??null}async function tC(e,i){return e.select().from(n.workspaceInvite).where((0,t.and)((0,t.eq)(n.workspaceInvite.workspaceId,i),(0,t.isNull)(n.workspaceInvite.usedBy),(0,t.gt)(n.workspaceInvite.expiresAt,new Date().toISOString())))}async function tL(e,i,r){let a=new Date().toISOString();return(await e.update(n.workspaceInvite).set({usedBy:r,usedAt:a}).where((0,t.and)((0,t.eq)(n.workspaceInvite.token,i),(0,t.isNull)(n.workspaceInvite.usedBy),(0,t.gt)(n.workspaceInvite.expiresAt,a))).returning())[0]??null}async function tQ(e,i,r){return(await e.delete(n.workspaceInvite).where((0,t.and)((0,t.eq)(n.workspaceInvite.id,i),(0,t.eq)(n.workspaceInvite.workspaceId,r))).returning())[0]??null}async function tR(e,i,r){return e.select({id:n.agentAccess.id,agentId:n.agentAccess.agentId,workspaceId:n.agentAccess.workspaceId,userId:n.agentAccess.userId,createdAt:n.agentAccess.createdAt,userName:n.user.name,userEmail:n.user.email}).from(n.agentAccess).innerJoin(n.user,(0,t.eq)(n.agentAccess.userId,n.user.id)).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r)))}async function tB(e,t){return(await e.insert(n.agentAccess).values({agentId:t.agentId,workspaceId:t.workspaceId,userId:t.userId}).returning())[0]}async function tF(e,i,r,a){return(await e.delete(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r),(0,t.eq)(n.agentAccess.userId,a))).returning())[0]??null}async function tM(e,i,r,a){return(await e.select({id:n.agentAccess.id}).from(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r),(0,t.eq)(n.agentAccess.userId,a)))).length>0}async function tK(e,i){return e.select({agentId:n.agentAccess.agentId,userId:n.agentAccess.userId}).from(n.agentAccess).where((0,t.eq)(n.agentAccess.workspaceId,i))}async function tV(e,i,r){return e.select().from(n.agentPin).where((0,t.and)((0,t.eq)(n.agentPin.workspaceId,i),(0,t.eq)(n.agentPin.userId,r))).orderBy((0,o.asc)(n.agentPin.position))}async function tJ(e,i){let[r]=await e.select({maxPos:q.sql`COALESCE(MAX(${n.agentPin.position}), -1)`}).from(n.agentPin).where((0,t.and)((0,t.eq)(n.agentPin.workspaceId,i.workspaceId),(0,t.eq)(n.agentPin.userId,i.userId))),a=(r?.maxPos??-1)+1;return(await e.insert(n.agentPin).values({...i,position:a}).onConflictDoNothing().returning())[0]??null}async function tW(e,i,r,a){return(await e.delete(n.agentPin).where((0,t.and)((0,t.eq)(n.agentPin.agentId,i),(0,t.eq)(n.agentPin.workspaceId,r),(0,t.eq)(n.agentPin.userId,a))).returning())[0]??null}async function tG(e,i,r,a){await e.batch(a.map((a,s)=>e.update(n.agentPin).set({position:s}).where((0,t.and)((0,t.eq)(n.agentPin.agentId,a),(0,t.eq)(n.agentPin.workspaceId,i),(0,t.eq)(n.agentPin.userId,r)))))}async function tH(e,i,r){return e.select().from(n.agentSidebarOrder).where((0,t.and)((0,t.eq)(n.agentSidebarOrder.workspaceId,i),(0,t.eq)(n.agentSidebarOrder.userId,r))).orderBy((0,o.asc)(n.agentSidebarOrder.position))}async function tX(e,i,r,a){await e.batch([e.delete(n.agentSidebarOrder).where((0,t.and)((0,t.eq)(n.agentSidebarOrder.workspaceId,i),(0,t.eq)(n.agentSidebarOrder.userId,r))),...a.map((t,a)=>e.insert(n.agentSidebarOrder).values({agentId:t,workspaceId:i,userId:r,position:a}))])}async function tY(e,i){let[r]=await e.select({inbound:q.sql`sum(case when ${n.emails.direction} = 'inbound' then 1 else 0 end)`,outbound:q.sql`sum(case when ${n.emails.direction} = 'outbound' then 1 else 0 end)`,unread:q.sql`sum(case when ${n.emails.status} = 'unread' and ${n.emails.direction} = 'inbound' then 1 else 0 end)`,rejected:q.sql`sum(case when ${n.emails.isWhitelisted} = 0 and ${n.emails.direction} = 'inbound' then 1 else 0 end)`}).from(n.emails).where((0,t.eq)(n.emails.workspaceId,i));return{inbound:Number(r?.inbound??0),outbound:Number(r?.outbound??0),unread:Number(r?.unread??0),rejected:Number(r?.rejected??0)}}async function t0(e,i){return e.select({id:n.agentEmailAccount.id,agentId:n.agentEmailAccount.agentId,emailAddress:n.agentEmailAccount.emailAddress,status:n.agentEmailAccount.status,errorMessage:n.agentEmailAccount.errorMessage,lastSyncedAt:n.agentEmailAccount.lastSyncedAt}).from(n.agentEmailAccount).where((0,t.eq)(n.agentEmailAccount.workspaceId,i))}async function t4(e,i,r){let a=new Date(Date.now()-36e5).toISOString(),[s]=await e.select({completed:q.sql`sum(case when ${n.agentTaskQueue.status} = 'completed' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} and ${n.agentTaskQueue.completedAt} >= ${r} then 1 else 0 end)`,failed:q.sql`sum(case when ${n.agentTaskQueue.status} = 'failed' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} and ${n.agentTaskQueue.completedAt} >= ${r} then 1 else 0 end)`,cancelled:q.sql`sum(case when ${n.agentTaskQueue.status} = 'cancelled' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} and ${n.agentTaskQueue.completedAt} >= ${r} then 1 else 0 end)`,queued:q.sql`sum(case when ${n.agentTaskQueue.status} = 'queued' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} then 1 else 0 end)`,stale:q.sql`sum(case when ${n.agentTaskQueue.status} = 'running' and ${n.agentTaskQueue.startedAt} < ${a} then 1 else 0 end)`}).from(n.agentTaskQueue).where((0,t.eq)(n.agentTaskQueue.workspaceId,i));return{completed:Number(s?.completed??0),failed:Number(s?.failed??0),cancelled:Number(s?.cancelled??0),queued:Number(s?.queued??0),stale:Number(s?.stale??0)}}async function t1(e,i,r,a=15){return 0===r.length?[]:e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,type:n.agentTaskQueue.type,status:n.agentTaskQueue.status,prompt:n.agentTaskQueue.prompt,createdAt:n.agentTaskQueue.createdAt,completedAt:n.agentTaskQueue.completedAt,error:n.agentTaskQueue.error}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.agentId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.inArray)(n.agentTaskQueue.status,["completed","failed","cancelled"]))).orderBy((0,o.desc)(n.agentTaskQueue.completedAt)).limit(a)}async function t6(e,i,r){return 0===r.length?[]:e.select({agentId:n.conversation.agentId,cnt:ee()}).from(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,i),(0,t.inArray)(n.conversation.agentId,r))).groupBy(n.conversation.agentId)}async function t2(e,t){let i=new Date().toISOString();return(await e.insert(n.meetingSession).values({agentId:t.agentId,workspaceId:t.workspaceId,title:t.title??"",meetingUrl:t.meetingUrl,status:t.status??"scheduled",fromEmail:t.fromEmail??null,isWhitelisted:t.isWhitelisted??!0,participants:t.participants??[],scheduledAt:t.scheduledAt??null,createdAt:i,updatedAt:i}).returning())[0]}async function t9(e,i,r){return(await e.select().from(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r))))[0]??null}async function t5(e,i){return(await e.select().from(n.meetingSession).where((0,t.eq)(n.meetingSession.id,i)))[0]??null}async function t3(e,i,r){return e.select().from(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.agentId,i),(0,t.eq)(n.meetingSession.workspaceId,r))).orderBy((0,o.desc)(n.meetingSession.createdAt))}async function t8(e,i,r,a){return(await e.update(n.meetingSession).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r))).returning())[0]??null}async function t7(e,i,r,a){return(await e.update(n.meetingSession).set({status:"joining",startedAt:a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r),(0,t.eq)(n.meetingSession.status,"scheduled"))).returning())[0]??null}async function ne(e,i,r,a){return 0===i.length?[]:e.update(n.meetingSession).set({status:"joining",startedAt:a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.inArray)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r),(0,t.eq)(n.meetingSession.status,"scheduled"))).returning()}async function nt(e,i,r){return(await e.delete(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r))).returning())[0]??null}async function nn(e,i,r){return e.select({id:n.meetingSession.id,agentId:n.meetingSession.agentId,workspaceId:n.meetingSession.workspaceId,title:n.meetingSession.title,meetingUrl:n.meetingSession.meetingUrl,status:n.meetingSession.status,participants:n.meetingSession.participants,scheduledAt:n.meetingSession.scheduledAt,agentName:n.agent.name}).from(n.meetingSession).leftJoin(n.agent,(0,t.eq)(n.agent.id,n.meetingSession.agentId)).where((0,t.and)((0,t.eq)(n.meetingSession.workspaceId,i),(0,t.eq)(n.meetingSession.status,"scheduled"),(0,t.eq)(n.meetingSession.isWhitelisted,!0),(0,t.lte)(n.meetingSession.scheduledAt,r))).orderBy(n.meetingSession.scheduledAt)}async function ni(e,i){return e.select().from(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.workspaceId,i),(0,t.isNotNull)(n.meetingSession.scheduledAt))).orderBy(n.meetingSession.scheduledAt)}e.s(["addWhitelist",0,tl,"buildWhitelistSet",0,tg,"getWhitelist",0,tu,"isWhitelisted",0,tm,"removeWhitelist",0,td,"removeWhitelistByEmail",0,tc],315576),e.s(["createEmail",0,tp,"deleteEmail",0,tw,"getEmailById",0,tf,"getEmailByMessageId",0,tb,"getEmailsByAgent",0,th,"getInboxEmails",0,tv,"getRejectedEmails",0,t$,"getSentEmails",0,ty,"getTrustedEmails",0,t_,"updateEmailStatus",0,tk],961100),e.s(["getValidSession",0,tI],237209),e.i(553223),e.s(["artifactToResponse",0,function(e){return{id:e.id,conversation_id:e.conversationId,agent_id:e.agentId,filename:e.filename,content_type:e.contentType,size:e.size,source:e.source,created_at:e.createdAt}},"createArtifact",0,tS,"getArtifact",0,tT,"listArtifactsByConversation",0,tx],397614),e.s(["createEmailAccount",0,tA,"deleteEmailAccount",0,tD,"getAllEmailAccountsForWorkspace",0,tE,"getEmailAccount",0,tN,"getEmailAccountById",0,tq,"getEmailAccountScoped",0,tP,"getEmailAccountsByAgent",0,tz,"getEmailAccountsByAgents",0,tO,"updateEmailAccount",0,tZ],68438),e.s(["createInvite",0,tU,"deleteInvite",0,tQ,"getInviteByToken",0,tj,"listActiveInvites",0,tC,"redeemInvite",0,tL],923566),e.s(["getAllAgentAccessForWorkspace",0,tK,"grantAgentAccess",0,tB,"hasAgentAccess",0,tM,"listAgentAccess",0,tR,"revokeAgentAccess",0,tF],715172),e.s(["listPins",0,tV,"pinAgent",0,tJ,"reorderPins",0,tG,"unpinAgent",0,tW],69974),e.s(["listOrder",0,tH,"reorder",0,tX],912701),e.s(["getConversationCountsByAgent",0,t6,"getEmailAccountsByWorkspace",0,t0,"getEmailStatsByWorkspace",0,tY,"getRecentTerminalTasks",0,t1,"getTaskStatsByWorkspace",0,t4],482420),e.s(["claimMeetingSession",0,t7,"claimMeetingSessions",0,ne,"createMeetingSession",0,t2,"deleteMeetingSession",0,nt,"getMeetingSession",0,t9,"getMeetingSessionById",0,t5,"listMeetingSessions",0,t3,"listMeetingsWithSchedule",0,ni,"listScheduledMeetings",0,nn,"updateMeetingSession",0,t8],95634);var nr=e.i(719436);let na=["user_dm_message","email_notification","calendar_event"];async function ns(e,t){let n=(0,nr.nanoid)();await e.run(q.sql`
75
+ `;await t.run(r);let a=(await t.values(D.sql`SELECT id, hash, created_at FROM ${D.sql.identifier(i)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async t=>{for(let n of e)if(!a||Number(a[2])<n.folderMillis){for(let e of n.sql)await t.run(D.sql.raw(e));await t.run(D.sql`INSERT INTO ${D.sql.identifier(i)} ("hash", "created_at") VALUES(${n.hash}, ${n.folderMillis})`)}})}}class tR{static [t.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class tB{static [t.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}class tF{constructor(e,t){this.name=e,this.value=t}static [t.entityKind]="SQLiteCheckBuilder";brand;build(e){return new tM(e,this)}}class tM{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static [t.entityKind]="SQLiteCheck";name;value}function tK(e){return(0,t.is)(e,tE.SQLiteTable)?[`${e[a.Table.Symbol.BaseName]}`]:(0,t.is)(e,tS.Subquery)?e._.usedTables??[]:(0,t.is)(e,D.SQL)?e.usedTables??[]:[]}e.i(867541),e.i(24248),e.i(419320),e.i(313525);class tV{static [t.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let n,i=!!this.fields;return n=this.fields?this.fields:(0,t.is)(e,tS.Subquery)?Object.fromEntries(Object.keys(e._.selectedFields).map(t=>[t,e[t]])):(0,t.is)(e,tj)?e[tx.ViewBaseConfig].selectedFields:(0,t.is)(e,D.SQL)?{}:(0,u.getTableColumns)(e),new tW({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class tJ extends tR{static [t.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:i,dialect:r,withList:a,distinct:s}){for(const o of(super(),this.config={withList:a,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=n,this.session=i,this.dialect=r,this._={selectedFields:t,config:this.config},this.tableName=(0,u.getTableLikeName)(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},tK(e)))this.usedTables.add(o)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(n,i)=>{let r=this.tableName,s=(0,u.getTableLikeName)(n);for(let e of tK(n))this.usedTables.add(e);if("string"==typeof s&&this.config.joins?.some(e=>e.alias===s))throw Error(`Alias "${s}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof r&&(this.config.fields={[r]:this.config.fields}),"string"==typeof s&&!(0,t.is)(n,D.SQL))){let e=(0,t.is)(n,tS.Subquery)?n._.selectedFields:(0,t.is)(n,D.View)?n[tx.ViewBaseConfig].selectedFields:n[a.Table.Symbol.Columns];this.config.fields[s]=e}if("function"==typeof i&&(i=i(new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:i,table:n,joinType:e,alias:s}),"string"==typeof s)switch(e){case"left":this.joinsNotNullableMap[s]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[s]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[s]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return n=>{let i="function"==typeof n?n(tH()):n;if(!(0,u.haveSameKeys)(this.getSelectedFields(),i.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:i}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.fields,new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=e:this.config.orderBy=e;return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...tK(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...tK(e.table));return new Proxy(new tS.Subquery(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new tT({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new tT({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class tW extends tJ{static [t.entityKind]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=(0,u.orderSelectedFields)(this.config.fields),n=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}$withCache(e){return this.cacheConfig=void 0===e?{config:{},enable:!0,autoInvalidate:!0}:!1===e?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.all()}}function tG(e,t){return(n,i,...r)=>{let a=[i,...r].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!(0,u.haveSameKeys)(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return n.addSetOperators(a)}}(0,u.applyMixins)(tW,[tB]);let tH=()=>({union:tX,unionAll:tY,intersect:t0,except:t4}),tX=tG("union",!1),tY=tG("union",!0),t0=tG("intersect",!1),t4=tG("except",!1);class t1{static [t.entityKind]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=(0,t.is)(e,tC)?e:void 0,this.dialectConfig=(0,t.is)(e,tC)?void 0:e}$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(n)),new Proxy(new tS.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new tT({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let t=this;return{select:function(n){return new tV({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})},selectDistinct:function(n){return new tV({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}}}select(e){return new tV({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new tV({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new tL(this.dialectConfig)),this.dialect}}class t6 extends tB{constructor(e,t,n,i){super(),this.table=e,this.session=t,this.dialect=n,this.config={table:e,withList:i}}static [t.entityKind]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.table[tE.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:tK(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}class t2{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteInsertBuilder";values(e){if(0===(e=Array.isArray(e)?e:[e]).length)throw Error("values() must be called with at least one value");let n=e.map(e=>{let n={},i=this.table[a.Table.Symbol.Columns];for(let r of Object.keys(e)){let a=e[r];n[r]=(0,t.is)(a,D.SQL)?a:new D.Param(a,i[r])}return n});return new t9(this.table,n,this.session,this.dialect,this.withList)}select(e){let n="function"==typeof e?e(new t1):e;if(!(0,t.is)(n,D.SQL)&&!(0,u.haveSameKeys)(this.table[a.Columns],n._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new t9(this.table,n,this.session,this.dialect,this.withList,!0)}}class t9 extends tB{constructor(e,t,n,i,r,a){super(),this.session=n,this.dialect=i,this.config={table:e,values:t,withList:r,select:a}}static [t.entityKind]="SQLiteInsert";config;returning(e=this.config.table[tE.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}onConflictDoNothing(e={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===e.target)this.config.onConflict.push(D.sql` on conflict do nothing`);else{let t=Array.isArray(e.target)?D.sql`${e.target}`:D.sql`${[e.target]}`,n=e.where?D.sql` where ${e.where}`:D.sql``;this.config.onConflict.push(D.sql` on conflict ${t} do nothing${n}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let t=e.where?D.sql` where ${e.where}`:void 0,n=e.targetWhere?D.sql` where ${e.targetWhere}`:void 0,i=e.setWhere?D.sql` where ${e.setWhere}`:void 0,r=Array.isArray(e.target)?D.sql`${e.target}`:D.sql`${[e.target]}`,a=this.dialect.buildUpdateSet(this.config.table,(0,u.mapUpdateSet)(this.config.table,e.set));return this.config.onConflict.push(D.sql` on conflict ${r}${n} do update set ${a}${t}${i}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:tK(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class t5{constructor(e,t,n,i){this.table=e,this.session=t,this.dialect=n,this.withList=i}static [t.entityKind]="SQLiteUpdateBuilder";set(e){return new t3(this.table,(0,u.mapUpdateSet)(this.table,e),this.session,this.dialect,this.withList)}}class t3 extends tB{constructor(e,t,n,i,r){super(),this.session=n,this.dialect=i,this.config={set:t,table:e,withList:r,joins:[]}}static [t.entityKind]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(n,i)=>{let r=(0,u.getTableLikeName)(n);if("string"==typeof r&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if("function"==typeof i){let e=this.config.from?(0,t.is)(n,tE.SQLiteTable)?n[a.Table.Symbol.Columns]:(0,t.is)(n,tS.Subquery)?n._.selectedFields:(0,t.is)(n,tj)?n[tx.ViewBaseConfig].selectedFields:void 0:void 0;i=i(new Proxy(this.config.table[a.Table.Symbol.Columns],new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new tT({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:i,table:n,joinType:e,alias:r}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if("function"==typeof e[0]){let t=e[0](new Proxy(this.config.table[a.Table.Symbol.Columns],new tT({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),n=Array.isArray(t)?t:[t];this.config.orderBy=n}else this.config.orderBy=e;return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[tE.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,u.orderSelectedFields)(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:tK(this.config.table)})}prepare(){return this._prepare(!1)}run=e=>this._prepare().run(e);all=e=>this._prepare().all(e);get=e=>this._prepare().get(e);values=e=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}var t8=D;class t7 extends t8.SQL{constructor(e){super(t7.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.session=e.session,this.sql=t7.buildCount(e.source,e.filters)}sql;static [t.entityKind]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return t8.sql`(select count(*) from ${e}${t8.sql.raw(" where ").if(t)}${t})`}static buildCount(e,t){return t8.sql`select count(*) from ${e}${t8.sql.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}class ne{constructor(e,t,n,i,r,a,s,o){this.mode=e,this.fullSchema=t,this.schema=n,this.tableNamesMap=i,this.table=r,this.tableConfig=a,this.dialect=s,this.session=o}static [t.entityKind]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return"sync"===this.mode?new nn(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many"):new nt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return"sync"===this.mode?new nn(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new nt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class nt extends tB{constructor(e,t,n,i,r,a,s,o,u){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=i,this.tableConfig=r,this.dialect=a,this.session=s,this.config=o,this.mode=u}static [t.entityKind]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:n,builtQuery:i}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](i,void 0,"first"===this.mode?"get":"all",!0,(e,i)=>{let r=e.map(e=>(function e(n,i,r,a,o=e=>e){let u={};for(let[l,d]of a.entries())if(d.isJson){let a=i.relations[d.tsKey],s=r[l],c="string"==typeof s?JSON.parse(s):s;u[d.tsKey]=(0,t.is)(a,tb)?c&&e(n,n[d.relationTableTsKey],c,d.selection,o):c.map(t=>e(n,n[d.relationTableTsKey],t,d.selection,o))}else{let e,n=o(r[l]),i=d.field;e=(0,t.is)(i,s.Column)?i:(0,t.is)(i,D.SQL)?i.decoder:i.sql.decoder,u[d.tsKey]=null===n?null:e.mapFromDriverValue(n)}return u})(this.schema,this.tableConfig,e,n.selection,i));return"first"===this.mode?r[0]:r})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class nn extends nt{static [t.entityKind]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class ni extends tB{constructor(e,t,n,i,r){super(),this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=r,this.config={action:n}}static [t.entityKind]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class nr{constructor(e,t,n,i){this.resultKind=e,this.dialect=t,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const r=this.query;if(this._.schema)for(const[a,s]of Object.entries(this._.schema))r[a]=new ne(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[a],s,t,n);this.$cache={invalidate:async e=>{}}}static [t.entityKind]="BaseSQLiteDatabase";query;$with=(e,t)=>{let n=this;return{as:i=>("function"==typeof i&&(i=i(new t1(n.dialect))),new Proxy(new tS.WithSubquery(i.getSQL(),t??("getSelectedFields"in i?i.getSelectedFields()??{}:{}),e,!0),new tT({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,t){return new t7({source:e,filters:t,session:this.session})}with(...e){let t=this;return{select:function(n){return new tV({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})},selectDistinct:function(n){return new tV({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})},update:function(n){return new t5(n,t.session,t.dialect,e)},insert:function(n){return new t2(n,t.session,t.dialect,e)},delete:function(n){return new t6(n,t.session,t.dialect,e)}}}select(e){return new tV({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new tV({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new t5(e,this.session,this.dialect)}$cache;insert(e){return new t2(e,this.session,this.dialect)}delete(e){return new t6(e,this.session,this.dialect)}run(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(t)}all(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(t)}get(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(t)}values(e){let t="string"==typeof e?D.sql.raw(e):e.getSQL();return"async"===this.resultKind?new ni(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}class na{static [t.entityKind]="Cache"}class ns extends na{strategy(){return"all"}static [t.entityKind]="NoopCache";async get(e){}async put(e,t,n,i){}async onMutate(e){}}async function no(e,t){let n=`${e}-${JSON.stringify(t)}`,i=new TextEncoder().encode(n);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",i))].map(e=>e.toString(16).padStart(2,"0")).join("")}class nu extends tB{constructor(e){super(),this.resultCb=e}static [t.entityKind]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class nl{constructor(e,t,n,i,r,a){this.mode=e,this.executeMethod=t,this.query=n,this.cache=i,this.queryMetadata=r,this.cacheConfig=a,i&&"all"===i.strategy()&&void 0===a&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [t.entityKind]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||(0,t.is)(this.cache,ns)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(t){throw new tZ(e,n,t)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(t){throw new tZ(e,n,t)}if(!this.cacheConfig)try{return await i()}catch(t){throw new tZ(e,n,t)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await no(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(t){throw new tZ(e,n,t)}return await this.cache.put(this.cacheConfig.tag??await no(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(t){throw new tZ(e,n,t)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){return"async"===this.mode?this[this.executeMethod](e):new nu(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}}class nd{constructor(e){this.dialect=e}static [t.entityKind]="SQLiteSession";prepareOneTimeQuery(e,t,n,i,r,a,s){return this.prepareQuery(e,t,n,i,r,a,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(e){throw new tz({cause:e,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}}class nc extends nr{constructor(e,t,n,i,r=0){super(e,t,n,i),this.schema=i,this.nestedIndex=r}static [t.entityKind]="SQLiteTransaction";rollback(){throw new tD}}class nm extends nd{constructor(e,t,n,i={}){super(t),this.client=e,this.schema=n,this.options=i,this.logger=i.logger??new r,this.cache=i.cache??new ns}static [t.entityKind]="SQLiteD1Session";logger;cache;prepareQuery(e,t,n,i,r,a,s){return new nf(this.client.prepare(e.sql),e,this.logger,this.cache,a,s,t,n,i,r)}async batch(e){let t=[],n=[];for(let i of e){let e=i._prepare(),r=e.getQuery();if(t.push(e),r.params.length>0)n.push(e.stmt.bind(...r.params));else{let t=e.getQuery();n.push(this.client.prepare(t.sql).bind(...t.params))}}return(await this.client.batch(n)).map((e,n)=>t[n].mapResult(e,!0))}extractRawAllValueFromBatchResult(e){return e.results}extractRawGetValueFromBatchResult(e){return e.results[0]}extractRawValuesValueFromBatchResult(e){return np(e.results)}async transaction(e,t){let n=new ng("async",this.dialect,this,this.schema);await this.run(D.sql.raw(`begin${t?.behavior?" "+t.behavior:""}`));try{let t=await e(n);return await this.run(D.sql`commit`),t}catch(e){throw await this.run(D.sql`rollback`),e}}}class ng extends nc{static [t.entityKind]="D1Transaction";async transaction(e){let t=`sp${this.nestedIndex}`,n=new ng("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(D.sql.raw(`savepoint ${t}`));try{let i=await e(n);return await this.session.run(D.sql.raw(`release savepoint ${t}`)),i}catch(e){throw await this.session.run(D.sql.raw(`rollback to savepoint ${t}`)),e}}}function np(e){let t=[];for(let n of e){let e=Object.keys(n).map(e=>n[e]);t.push(e)}return t}class nf extends nl{constructor(e,t,n,i,r,a,s,o,u,l){super("async",o,t,i,r,a),this.logger=n,this._isResponseInArrayMode=u,this.customResultMapper=l,this.fields=s,this.stmt=e}static [t.entityKind]="D1PreparedQuery";customResultMapper;fields;stmt;async run(e){let t=(0,D.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).run())}async all(e){let{fields:t,query:n,logger:i,stmt:r,customResultMapper:a}=this;if(!t&&!a){let t=(0,D.fillPlaceholders)(n.params,e??{});return i.logQuery(n.sql,t),await this.queryWithCache(n.sql,t,async()=>r.bind(...t).all().then(({results:e})=>this.mapAllResult(e)))}let s=await this.values(e);return this.mapAllResult(s)}mapAllResult(e,t){return(t&&(e=np(e.results)),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper(e):e.map(e=>(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap)):e}async get(e){let{fields:t,joinsNotNullableMap:n,query:i,logger:r,stmt:a,customResultMapper:s}=this;if(!t&&!s){let t=(0,D.fillPlaceholders)(i.params,e??{});return r.logQuery(i.sql,t),await this.queryWithCache(i.sql,t,async()=>a.bind(...t).all().then(({results:e})=>e[0]))}let o=await this.values(e);if(o[0])return s?s(o):(0,u.mapResultRow)(t,o[0],n)}mapGetResult(e,t){return(t&&(e=np(e.results)[0]),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper([e]):(0,u.mapResultRow)(this.fields,e,this.joinsNotNullableMap):e}async values(e){let t=(0,D.fillPlaceholders)(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>this.stmt.bind(...t).raw())}isResponseInArrayMode(){return this._isResponseInArrayMode}}class nh extends nr{static [t.entityKind]="D1Database";async batch(e){return this.session.batch(e)}}var nv=e.i(729178);e.s(["createDb",0,function(e){return function(e,n={}){let r,s,o=new tQ({casing:n.casing});if(!0===n.logger?r=new i:!1!==n.logger&&(r=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!(0,t.is)(e.default,a.Table)&&(e=e.default);let i={},r={},s={};for(let[o,u]of Object.entries(e))if((0,t.is)(u,a.Table)){let e=(0,a.getTableUniqueName)(u),n=r[e];for(let t of(i[e]=o,s[o]={tsName:o,dbName:u[a.Table.Symbol.Name],schema:u[a.Table.Symbol.Schema],columns:u[a.Table.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(u[a.Table.Symbol.Columns])))t.primary&&s[o].primaryKey.push(t);let l=u[a.Table.Symbol.ExtraConfigBuilder]?.(u[a.Table.Symbol.ExtraConfigColumns]);if(l)for(let e of Object.values(l))(0,t.is)(e,tf)&&s[o].primaryKey.push(...e.columns)}else if((0,t.is)(u,t$)){let e,t=(0,a.getTableUniqueName)(u.table),o=i[t];for(let[i,a]of Object.entries(u.config(n(u.table))))if(o){let t=s[o];t.relations[i]=a,e&&t.primaryKey.push(...e)}else t in r||(r[t]={relations:{},primaryKey:e}),r[t].relations[i]=a}return{tables:s,tableNamesMap:i}}(n.schema,tw);s={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new nm(e,o,s,{logger:r,cache:n.cache}),l=new nh("async",o,u,s);return l.$client=e,l.$cache=n.cache,l.$cache&&(l.$cache.invalidate=n.cache?.onMutate),l}(e,{schema:nv})}],20586)},424166,e=>{"use strict";let t=`@${process.env.ALOOK_DOMAIN||"alook.ai"}`,n=/^[a-zA-Z0-9-]{3,}$/,i=new Set(["no-reply","noreply","admin","support","help","info","postmaster","abuse","security","mailer-daemon","root","webmaster","hostmaster","system","alook"]);e.s(["isValidHandle",0,function(e){return n.test(e)&&!i.has(e.toLowerCase())},"parseEmailHandle",0,function(e){return e.endsWith(t)?e.slice(0,-t.length):""},"toAlookAddress",0,function(e){return`${e}${t}`}])},553223,e=>{"use strict";var t=e.i(766490),n=e.i(959498),i=e.i(729178);async function r(e,t){let n=new Date().toISOString();return(await e.insert(i.calendarEvent).values({agentId:t.agentId,workspaceId:t.workspaceId,title:t.title,description:t.description??null,scheduledAt:t.scheduledAt,repeatInterval:t.repeatInterval??null,repeatStopAt:t.repeatStopAt??null,exceptions:t.exceptions??[],createdAt:n,updatedAt:n}).returning())[0]}async function a(e,n,r,a){return(await e.update(i.calendarEvent).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function s(e,n,r,a){let s=[(0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r)];if(a){s.push((0,t.eq)(i.agent.ownerId,a));let n=await e.select({calendarEvent:i.calendarEvent}).from(i.calendarEvent).innerJoin(i.agent,(0,t.eq)(i.calendarEvent.agentId,i.agent.id)).where((0,t.and)(...s));return n[0]?.calendarEvent??null}return(await e.select().from(i.calendarEvent).where((0,t.and)(...s)))[0]??null}async function o(e,r,a={}){let s=[(0,t.eq)(i.calendarEvent.workspaceId,r)];return(a.agentId&&s.push((0,t.eq)(i.calendarEvent.agentId,a.agentId)),a.userId&&s.push((0,t.eq)(i.agent.ownerId,a.userId)),s.push((0,t.or)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt))),a.from&&a.to?s.push((0,t.or)((0,t.and)((0,t.isNull)(i.calendarEvent.repeatInterval),(0,t.gte)(i.calendarEvent.scheduledAt,a.from),(0,t.lte)(i.calendarEvent.scheduledAt,a.to)),(0,t.and)((0,t.isNotNull)(i.calendarEvent.repeatInterval),(0,t.lte)(i.calendarEvent.scheduledAt,a.to),(0,t.or)((0,t.isNull)(i.calendarEvent.repeatStopAt),(0,t.gte)(i.calendarEvent.repeatStopAt,a.from))))):(a.from&&s.push((0,t.gte)(i.calendarEvent.scheduledAt,a.from)),a.to&&s.push((0,t.lte)(i.calendarEvent.scheduledAt,a.to))),a.userId)?(await e.select({calendarEvent:i.calendarEvent}).from(i.calendarEvent).innerJoin(i.agent,(0,t.eq)(i.calendarEvent.agentId,i.agent.id)).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))).map(e=>e.calendarEvent):e.select().from(i.calendarEvent).where((0,t.and)(...s)).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function u(e,n,r){return(await e.delete(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.workspaceId,r))).returning())[0]??null}async function l(e,r,a){return e.select().from(i.calendarEvent).where((0,t.and)((0,t.eq)(i.calendarEvent.workspaceId,r),(0,t.lte)(i.calendarEvent.scheduledAt,a),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).orderBy((0,n.asc)(i.calendarEvent.scheduledAt))}async function d(e,n,r,a){return(await e.update(i.calendarEvent).set({lastTriggeredAt:a,updatedAt:a}).where((0,t.and)((0,t.eq)(i.calendarEvent.id,n),(0,t.eq)(i.calendarEvent.scheduledAt,r),(0,t.or)((0,t.isNull)(i.calendarEvent.lastTriggeredAt),(0,t.lt)(i.calendarEvent.lastTriggeredAt,i.calendarEvent.scheduledAt)))).returning())[0]??null}async function c(e,n,r){await e.update(i.calendarEvent).set({lastTriggeredAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}async function m(e,n,r){await e.update(i.calendarEvent).set({scheduledAt:r,updatedAt:new Date().toISOString()}).where((0,t.eq)(i.calendarEvent.id,n))}function g(e,t){let n=/^(\d+)(min|hour|day|week|month)$/.exec(t);if(!n)throw Error(`invalid repeat_interval: ${t}`);let i=parseInt(n[1],10),r=n[2];if("min"===r)return new Date(e.getTime()+6e4*i);if("hour"===r)return new Date(e.getTime()+36e5*i);if("day"===r)return new Date(e.getTime()+864e5*i);if("week"===r)return new Date(e.getTime()+7*i*864e5);let a=e.getUTCFullYear(),s=e.getUTCMonth()+i,o=a+Math.floor(s/12),u=(s%12+12)%12,l=Math.min(e.getUTCDate(),new Date(Date.UTC(o,u+1,0)).getUTCDate());return new Date(Date.UTC(o,u,l,e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}e.s(["addRepeatInterval",0,g,"claimCalendarEvent",0,d,"computeNextScheduledAt",0,function(e,t,n,i,r=[]){let a=new Set(r),s=g(new Date(e),t),o=new Date(i),u=n?new Date(n):null;for(let e=0;e<2e3&&(!u||!(s>u));e++){if(s>o&&!a.has(s.toISOString()))return s.toISOString();s=g(s,t)}return null},"createCalendarEvent",0,r,"deleteCalendarEvent",0,u,"expandOccurrences",0,function(e,t,n,i,r,a){let s=[],o=new Date(r),u=new Date(a),l=n?new Date(n):null,d=new Set(i),c=new Date(e);for(let e=0;e<1e3&&!(c>u)&&(!l||!(c>l));e++){let e=c.toISOString();c>=o&&!d.has(e)&&s.push(e),c=g(c,t)}return s},"getCalendarEvent",0,s,"getOccurrencesPerDay",0,function(e){let t=/^(\d+)(min|hour|day|week|month)$/.exec(e);if(!t)return 1;let n=parseInt(t[1],10),i=t[2];return"month"===i||"week"===i||"day"===i||0===n?1:Math.floor(86400/("min"===i?60*n:3600*n))},"listCalendarEvents",0,o,"listDueCalendarEvents",0,l,"revertCalendarEventClaim",0,c,"updateCalendarEvent",0,a,"updateCalendarEventSchedule",0,m])},450019,368789,677855,491465,497657,420587,22033,571158,834809,127060,208560,947101,315576,961100,237209,397614,68438,923566,715172,69974,912701,482420,95634,965939,166485,930980,75056,66643,542885,441376,281108,449951,e=>{"use strict";var t=e.i(766490),n=e.i(729178);async function i(e,i){return(await e.select().from(n.user).where((0,t.eq)(n.user.id,i)))[0]??null}async function r(e,i){return(await e.select().from(n.user).where((0,t.eq)(n.user.email,i)))[0]??null}async function a(e,t){return(await e.insert(n.user).values({name:t.name,email:t.email}).returning())[0]}async function s(e,i,r){return(await e.update(n.user).set({name:r.name,image:r.image,updatedAt:new Date().toISOString()}).where((0,t.eq)(n.user.id,i)).returning())[0]??null}e.s(["createUser",0,a,"getUser",0,i,"getUserByEmail",0,r,"updateUser",0,s],368789);var o=e.i(959498);async function u(e,i,r){return(await e.select({id:n.workspace.id,name:n.workspace.name,slug:n.workspace.slug,createdAt:n.workspace.createdAt,updatedAt:n.workspace.updatedAt}).from(n.workspace).innerJoin(n.member,(0,t.eq)(n.member.workspaceId,n.workspace.id)).where((0,t.and)((0,t.eq)(n.workspace.id,i),(0,t.eq)(n.member.userId,r))))[0]??null}async function l(e,i){return(await e.select().from(n.workspace).where((0,t.eq)(n.workspace.slug,i)))[0]??null}async function d(e,i){return e.select({id:n.workspace.id,name:n.workspace.name,slug:n.workspace.slug,createdAt:n.workspace.createdAt,updatedAt:n.workspace.updatedAt}).from(n.workspace).innerJoin(n.member,(0,t.eq)(n.member.workspaceId,n.workspace.id)).where((0,t.eq)(n.member.userId,i)).orderBy((0,o.asc)(n.workspace.createdAt))}async function c(e,t){return(await e.insert(n.workspace).values({name:t.name,slug:t.slug}).returning())[0]}async function m(e,i,r){return(await e.update(n.workspace).set({...r,updatedAt:new Date().toISOString()}).where((0,t.eq)(n.workspace.id,i)).returning())[0]??null}async function g(e,i){return(await e.delete(n.workspace).where((0,t.eq)(n.workspace.id,i)).returning())[0]??null}async function p(e,i,r){return(await e.select().from(n.member).where((0,t.and)((0,t.eq)(n.member.userId,i),(0,t.eq)(n.member.workspaceId,r))))[0]??null}async function f(e,i){return e.select({id:n.member.id,workspaceId:n.member.workspaceId,userId:n.member.userId,role:n.member.role,createdAt:n.member.createdAt,userName:n.user.name,userEmail:n.user.email,userImage:n.user.image}).from(n.member).innerJoin(n.user,(0,t.eq)(n.member.userId,n.user.id)).where((0,t.eq)(n.member.workspaceId,i))}async function h(e,i,r,a){return(await e.update(n.member).set({globalInstruction:a}).where((0,t.and)((0,t.eq)(n.member.userId,i),(0,t.eq)(n.member.workspaceId,r))).returning())[0]??null}async function v(e,t){return(await e.insert(n.member).values({workspaceId:t.workspaceId,userId:t.userId,role:t.role}).returning())[0]}async function y(e,i,r){return(await e.select().from(n.member).where((0,t.and)((0,t.eq)(n.member.id,i),(0,t.eq)(n.member.workspaceId,r))))[0]??null}async function _(e,i,r){return(await e.delete(n.member).where((0,t.and)((0,t.eq)(n.member.id,i),(0,t.eq)(n.member.workspaceId,r))).returning())[0]??null}async function $(e,i,r,a){let s=(await e.select().from(n.agent).where((0,t.and)((0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r))))[0]??null;return s&&a&&"public"!==s.visibility&&s.ownerId!==a?(await e.select({id:n.agentAccess.id}).from(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r),(0,t.eq)(n.agentAccess.userId,a)))).length>0?s:null:s}async function b(e,i,r){return r?e.select().from(n.agent).where((0,t.and)((0,t.eq)(n.agent.workspaceId,i),(0,t.or)((0,t.eq)(n.agent.visibility,"public"),(0,t.eq)(n.agent.ownerId,r),(0,t.exists)(e.select({id:n.agentAccess.id}).from(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,n.agent.id),(0,t.eq)(n.agentAccess.workspaceId,n.agent.workspaceId),(0,t.eq)(n.agentAccess.userId,r))))))).orderBy((0,o.desc)(n.agent.createdAt)):e.select().from(n.agent).where((0,t.eq)(n.agent.workspaceId,i)).orderBy((0,o.desc)(n.agent.createdAt))}async function k(e,t){return(await e.insert(n.agent).values({workspaceId:t.workspaceId,name:t.name,runtimeId:t.runtimeId??null,description:t.description??"",instructions:t.instructions??"",avatarUrl:t.avatarUrl??null,runtimeMode:t.runtimeMode??"local",runtimeConfig:t.runtimeConfig??null,visibility:t.visibility??"private",maxConcurrentTasks:t.maxConcurrentTasks??6,ownerId:t.ownerId??null,tools:t.tools??null,triggers:t.triggers??null,emailHandle:t.emailHandle??null}).returning())[0]}async function w(e,i,r,a){let s=[(0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r)];return a&&s.push((0,t.eq)(n.agent.ownerId,a)),(await e.delete(n.agent).where((0,t.and)(...s)).returning())[0]??null}async function I(e,i,r,a,s){let o=[(0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r)];return s&&o.push((0,t.eq)(n.agent.ownerId,s)),(await e.update(n.agent).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)(...o)).returning())[0]??null}async function S(e,i,r,a){return(await e.update(n.agent).set({status:a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r))).returning())[0]??null}async function x(e,i){return(await e.select().from(n.agent).where((0,t.eq)(n.agent.emailHandle,i)))[0]??null}async function T(e,i){return 0===i.length?[]:(await e.select({emailHandle:n.agent.emailHandle}).from(n.agent).where((0,t.inArray)(n.agent.emailHandle,i))).map(e=>e.emailHandle).filter(Boolean)}async function A(e,i,r){return 0===i.length?[]:e.select().from(n.agent).where((0,t.and)((0,t.inArray)(n.agent.id,i),(0,t.eq)(n.agent.workspaceId,r)))}async function N(e,i){return e.select().from(n.agent).where((0,t.eq)(n.agent.workspaceId,i)).orderBy((0,o.desc)(n.agent.createdAt))}async function P(e,i){return e.select({id:n.agent.id,emailHandle:n.agent.emailHandle}).from(n.agent).where((0,t.eq)(n.agent.workspaceId,i))}e.s(["createWorkspace",0,c,"deleteWorkspace",0,g,"getWorkspace",0,u,"getWorkspaceBySlug",0,l,"listWorkspaces",0,d,"updateWorkspace",0,m],677855),e.s(["createMember",0,v,"deleteMember",0,_,"getMember",0,y,"getMemberByUserAndWorkspace",0,p,"listMembers",0,f,"updateMemberGlobalInstruction",0,h],491465),e.s(["createAgent",0,k,"deleteAgent",0,w,"getAgent",0,$,"getAgentByHandle",0,x,"getAgentsByIds",0,A,"getAllAgentsForWorkspace",0,N,"getAllHandlesForWorkspace",0,P,"getExistingHandles",0,T,"listAgents",0,b,"updateAgent",0,I,"updateAgentStatus",0,S],497657);var q=e.i(325956);async function z(e,t){let i=new Date().toISOString(),r=JSON.stringify(t.metadata??{});return(await e.insert(n.agentRuntime).values({workspaceId:t.workspaceId,daemonId:t.daemonId,runtimeMode:t.runtimeMode,provider:t.provider,deviceInfo:t.deviceInfo,metadata:t.metadata??null}).onConflictDoUpdate({target:[n.agentRuntime.workspaceId,n.agentRuntime.daemonId,n.agentRuntime.provider],set:{runtimeMode:t.runtimeMode,deviceInfo:t.deviceInfo,metadata:q.sql`json_patch(coalesce(${n.agentRuntime.metadata}, '{}'), ${r})`,updatedAt:i}}).returning())[0]}async function Z(e,i){return e.select({id:n.agentRuntime.id,workspaceId:n.agentRuntime.workspaceId,daemonId:n.agentRuntime.daemonId,runtimeMode:n.agentRuntime.runtimeMode,provider:n.agentRuntime.provider,deviceInfo:n.agentRuntime.deviceInfo,metadata:n.agentRuntime.metadata,createdAt:n.agentRuntime.createdAt,updatedAt:n.agentRuntime.updatedAt,machineLastSeenAt:n.machine.lastSeenAt,pendingUpdateVersion:n.machine.pendingUpdateVersion,pendingRescan:n.machine.pendingRescan}).from(n.agentRuntime).leftJoin(n.machine,(0,t.and)((0,t.eq)(n.machine.daemonId,n.agentRuntime.daemonId),(0,t.eq)(n.machine.workspaceId,n.agentRuntime.workspaceId))).where((0,t.eq)(n.agentRuntime.workspaceId,i)).orderBy((0,o.asc)(n.agentRuntime.createdAt))}async function D(e,i){return(await e.select().from(n.agentRuntime).where((0,t.eq)(n.agentRuntime.id,i)))[0]??null}async function O(e,i,r){return(await e.select({id:n.agentRuntime.id,workspaceId:n.agentRuntime.workspaceId,daemonId:n.agentRuntime.daemonId,runtimeMode:n.agentRuntime.runtimeMode,provider:n.agentRuntime.provider,deviceInfo:n.agentRuntime.deviceInfo,metadata:n.agentRuntime.metadata,createdAt:n.agentRuntime.createdAt,updatedAt:n.agentRuntime.updatedAt,machineLastSeenAt:n.machine.lastSeenAt,pendingUpdateVersion:n.machine.pendingUpdateVersion,pendingRescan:n.machine.pendingRescan}).from(n.agentRuntime).leftJoin(n.machine,(0,t.and)((0,t.eq)(n.machine.daemonId,n.agentRuntime.daemonId),(0,t.eq)(n.machine.workspaceId,n.agentRuntime.workspaceId))).where((0,t.and)((0,t.eq)(n.agentRuntime.id,i),(0,t.eq)(n.agentRuntime.workspaceId,r))))[0]??null}async function E(e,i,r){return 0===i.length?[]:e.select({id:n.agentRuntime.id,workspaceId:n.agentRuntime.workspaceId,daemonId:n.agentRuntime.daemonId,runtimeMode:n.agentRuntime.runtimeMode,provider:n.agentRuntime.provider,deviceInfo:n.agentRuntime.deviceInfo,metadata:n.agentRuntime.metadata,createdAt:n.agentRuntime.createdAt,updatedAt:n.agentRuntime.updatedAt,machineLastSeenAt:n.machine.lastSeenAt,pendingUpdateVersion:n.machine.pendingUpdateVersion,pendingRescan:n.machine.pendingRescan}).from(n.agentRuntime).leftJoin(n.machine,(0,t.and)((0,t.eq)(n.machine.daemonId,n.agentRuntime.daemonId),(0,t.eq)(n.machine.workspaceId,n.agentRuntime.workspaceId))).where((0,t.and)((0,t.inArray)(n.agentRuntime.id,i),(0,t.eq)(n.agentRuntime.workspaceId,r)))}async function U(e,i,r){let a=await e.select({id:n.agentRuntime.id}).from(n.agentRuntime).where((0,t.and)((0,t.eq)(n.agentRuntime.daemonId,i),(0,t.eq)(n.agentRuntime.workspaceId,r)));if(0===a.length)return;let s=a.map(e=>e.id);await e.update(n.agent).set({runtimeId:null,updatedAt:new Date().toISOString()}).where((0,t.inArray)(n.agent.runtimeId,s)),await e.delete(n.agentRuntime).where((0,t.and)((0,t.eq)(n.agentRuntime.daemonId,i),(0,t.eq)(n.agentRuntime.workspaceId,r)))}async function j(e,i,r){return(await e.select({id:n.agentRuntime.id}).from(n.agentRuntime).where((0,t.and)((0,t.eq)(n.agentRuntime.daemonId,i),(0,t.eq)(n.agentRuntime.workspaceId,r)))).map(e=>e.id)}e.s(["deleteRuntimesByDaemonId",0,U,"getAgentRuntime",0,D,"getAgentRuntimeForWorkspace",0,O,"getAgentRuntimesForWorkspace",0,E,"getRuntimeIdsByDaemon",0,j,"listAgentRuntimes",0,Z,"upsertAgentRuntime",0,z],420587);var C=e.i(704024);async function L(e,t){return(await e.insert(n.conversation).values({workspaceId:t.workspaceId,agentId:t.agentId,userId:t.userId,title:t.title,type:t.type??C.TASK_TYPES.USER_DM_MESSAGE,channel:t.channel??"default",...t.parentMessageId?{parentMessageId:t.parentMessageId,threadTitle:t.threadTitle??""}:{}}).returning())[0]}async function Q(e,i,r){return(await e.select().from(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.id,i),(0,t.eq)(n.conversation.workspaceId,r))))[0]??null}async function R(e,i,r){return 0===i.length?[]:e.select().from(n.conversation).where((0,t.and)((0,t.inArray)(n.conversation.id,i),(0,t.eq)(n.conversation.workspaceId,r)))}async function B(e,i,r,a){let s=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.isNull)(n.conversation.parentMessageId)];return a&&s.push((0,t.eq)(n.conversation.channel,a)),e.select().from(n.conversation).where((0,t.and)(...s)).orderBy((0,o.desc)(n.conversation.createdAt))}async function F(e,i,r,a,s){let u=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.isNull)(n.conversation.parentMessageId)];return s&&u.push((0,t.eq)(n.conversation.channel,s)),e.select({id:n.conversation.id,workspaceId:n.conversation.workspaceId,agentId:n.conversation.agentId,userId:n.conversation.userId,title:n.conversation.title,channel:n.conversation.channel,createdAt:n.conversation.createdAt,messageCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number)}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)(...u)).groupBy(n.conversation.id).orderBy((0,o.desc)(n.conversation.createdAt))}async function M(e,i,r){return(await e.update(n.conversation).set({title:r}).where((0,t.and)((0,t.eq)(n.conversation.id,i),(0,t.eq)(n.conversation.title,""))).returning())[0]??null}async function K(e,i,r,a,s){let u=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.eq)(n.conversation.type,C.TASK_TYPES.USER_DM_MESSAGE),(0,t.isNull)(n.conversation.parentMessageId)];s&&u.push((0,t.eq)(n.conversation.channel,s));let l=await e.select().from(n.conversation).where((0,t.and)(...u)).orderBy((0,o.desc)(n.conversation.createdAt)).limit(1);return l.length>0?l[0]:(await e.insert(n.conversation).values({workspaceId:i,agentId:a,userId:r,title:"",type:C.TASK_TYPES.USER_DM_MESSAGE,channel:s??"default"}).returning())[0]}async function V(e,i,r){return(await e.delete(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.id,i),(0,t.eq)(n.conversation.workspaceId,r))).returning())[0]??null}async function J(e,i,r,a,s,u,l){let d=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.eq)(n.conversation.type,C.TASK_TYPES.USER_DM_MESSAGE),(0,t.ne)(n.conversation.id,s),(0,t.isNull)(n.conversation.parentMessageId)];u&&d.push((0,t.eq)(n.conversation.channel,u)),l?.before&&d.push((0,t.lt)(n.conversation.createdAt,l.before));let c=l?.limit??10;return e.select({id:n.conversation.id,createdAt:n.conversation.createdAt}).from(n.conversation).where((0,t.and)(...d)).orderBy((0,o.desc)(n.conversation.createdAt)).limit(c)}async function W(e,i,r){return(await e.select().from(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.parentMessageId,i),(0,t.eq)(n.conversation.workspaceId,r))).limit(1))[0]??null}async function G(e,i,r){return 0===r.length?[]:e.select({id:n.conversation.id,parentMessageId:n.conversation.parentMessageId,threadTitle:n.conversation.threadTitle,createdAt:n.conversation.createdAt,replyCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number),lastReplyAt:q.sql`MAX(${n.message.createdAt})`}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)((0,t.inArray)(n.conversation.parentMessageId,r),(0,t.eq)(n.conversation.workspaceId,i))).groupBy(n.conversation.id)}async function H(e,i,r){return e.select({id:n.conversation.id,parentMessageId:n.conversation.parentMessageId,threadTitle:n.conversation.threadTitle,createdAt:n.conversation.createdAt,replyCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number),lastReplyAt:q.sql`MAX(${n.message.createdAt})`}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,i),q.sql`${n.conversation.parentMessageId} IN (SELECT id FROM message WHERE conversation_id = ${r} AND status = 'active')`)).groupBy(n.conversation.id)}async function X(e,i,r,a){let s=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.agentId,r),(0,t.isNotNull)(n.conversation.parentMessageId)];a?.before&&s.push((0,t.lt)(n.conversation.createdAt,a.before));let u=a?.limit??30;return e.select({id:n.conversation.id,parentMessageId:n.conversation.parentMessageId,threadTitle:n.conversation.threadTitle,createdAt:n.conversation.createdAt,replyCount:q.sql`COUNT(CASE WHEN ${n.message.status} = 'active' THEN 1 END)`.mapWith(Number),lastReplyAt:q.sql`MAX(${n.message.createdAt})`,lastReplyPreview:q.sql`(SELECT SUBSTR(m2.content, 1, 60) FROM message m2 WHERE m2.conversation_id = ${n.conversation.id} AND m2.status = 'active' ORDER BY m2.created_at DESC LIMIT 1)`}).from(n.conversation).leftJoin(n.message,(0,t.eq)(n.message.conversationId,n.conversation.id)).where((0,t.and)(...s)).groupBy(n.conversation.id).orderBy((0,o.desc)(q.sql`MAX(${n.message.createdAt})`)).limit(u)}async function Y(e,i,r,a,s,o){let u=[(0,t.eq)(n.conversation.workspaceId,i),(0,t.eq)(n.conversation.userId,r),(0,t.eq)(n.conversation.agentId,a),(0,t.eq)(n.conversation.type,C.TASK_TYPES.USER_DM_MESSAGE),(0,t.ne)(n.conversation.id,s),(0,t.isNull)(n.conversation.parentMessageId)];return o&&u.push((0,t.eq)(n.conversation.channel,o)),(await e.select({exists:q.sql`1`}).from(n.conversation).where((0,t.and)(...u)).limit(1)).length>0}function ee(e){return q.sql`count(${e||q.sql.raw("*")})`.mapWith(Number)}async function et(e,t){return(await e.insert(n.message).values({conversationId:t.conversationId,role:t.role,content:t.content,taskId:t.taskId??null,attachmentIds:t.attachmentIds??null,metadata:t.metadata??null}).returning())[0]}async function en(e,i){let r=await e.select({id:n.message.id}).from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.desc)(n.message.createdAt),(0,o.desc)(n.message.id)).limit(1);return r[0]?.id??null}async function ei(e,i){let r=await e.select({cnt:ee()}).from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active")));return r[0]?.cnt??0}async function er(e,i,r){let a=r?.limit??20,s=r?.before,u=r?.beforeId;if(s){let r=u?(0,t.or)((0,t.lt)(n.message.createdAt,s),(0,t.and)((0,t.eq)(n.message.createdAt,s),(0,t.lt)(n.message.id,u))):(0,t.lt)(n.message.createdAt,s),l=await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),r)).orderBy((0,o.desc)(n.message.createdAt),(0,o.desc)(n.message.id)).limit(a+1),d=l.length>a;return{messages:l.slice(0,a).reverse(),has_more:d}}let l=await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.desc)(n.message.createdAt),(0,o.desc)(n.message.id)).limit(a+1),d=l.length>a;return{messages:l.slice(0,a).reverse(),has_more:d}}async function ea(e,i){return(await e.select().from(n.message).where((0,t.eq)(n.message.id,i)))[0]??null}async function es(e,i,r){await e.update(n.message).set({taskId:r}).where((0,t.eq)(n.message.id,i))}async function eo(e,i,r){let a=await e.select({createdAt:n.message.createdAt}).from(n.message).where((0,t.eq)(n.message.id,r));if(0===a.length)return[];let s=a[0].createdAt;return await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),q.sql`(${n.message.createdAt} < ${s} OR ${n.message.id} = ${r})`)).orderBy((0,o.asc)(n.message.createdAt))}async function eu(e,i,r,a=15){let s=await e.select({createdAt:n.message.createdAt}).from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.taskId,r),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.asc)(n.message.createdAt)).limit(1);if(0===s.length)return[];let u=s[0].createdAt,[l,d]=await Promise.all([e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),(0,t.lt)(n.message.createdAt,u))).orderBy((0,o.desc)(n.message.createdAt)).limit(a),e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,i),(0,t.eq)(n.message.status,"active"),(0,t.gte)(n.message.createdAt,u))).orderBy((0,o.asc)(n.message.createdAt)).limit(a+1)]);return[...l.reverse(),...d]}e.s(["createConversation",0,L,"deleteConversation",0,V,"getConversation",0,Q,"getConversationsByIds",0,R,"getOrCreateAgentConversation",0,K,"getThreadByParentMessage",0,W,"getThreadsByConversation",0,H,"getThreadsByParentMessages",0,G,"hasPreviousConversations",0,Y,"listConversations",0,B,"listConversationsByAgent",0,F,"listPreviousConversations",0,J,"listThreadsByAgent",0,X,"updateConversationTitle",0,M],22033),e.i(486056),e.i(137983),e.s(["createMessage",0,et,"getActiveMessageCount",0,ei,"getMessage",0,ea,"getNewestMessageId",0,en,"listMessages",0,er,"listMessagesAroundTask",0,eu,"listMessagesUpTo",0,eo,"updateMessageTaskId",0,es],571158);var el=e.i(486437);function ed(e,t){return new Proxy(e,new el.TableAliasProxyHandler(t,!1))}var ec=e.i(888247);async function em(e,t){return(await e.insert(n.agentTaskQueue).values({agentId:t.agentId,runtimeId:t.runtimeId,workspaceId:t.workspaceId,conversationId:t.conversationId,prompt:t.prompt,type:t.type??C.TASK_TYPES.USER_DM_MESSAGE,contextKey:t.contextKey??null,priority:t.priority??0,context:t.context??void 0,traceId:t.traceId??null,parentTaskId:t.parentTaskId??null}).returning())[0]}async function eg(e,i){let r=await e.select({value:ee()}).from(n.agentTaskQueue).where((0,t.eq)(n.agentTaskQueue.traceId,i));return Number(r[0]?.value??0)}async function ep(e,i){return(await e.select({id:n.agentTaskQueue.id,traceId:n.agentTaskQueue.traceId}).from(n.agentTaskQueue).where((0,t.eq)(n.agentTaskQueue.conversationId,i)).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(1))[0]??null}async function ef(e,i,r){let a=[(0,t.eq)(n.agentTaskQueue.id,i)];return r&&a.push((0,t.eq)(n.agentTaskQueue.workspaceId,r)),(await e.select().from(n.agentTaskQueue).where((0,t.and)(...a)))[0]??null}async function eh(e,i,r){let a=[(0,t.eq)(n.agentTaskQueue.id,i)];r&&a.push((0,t.eq)(n.agentTaskQueue.workspaceId,r));let s=await e.select({status:n.agentTaskQueue.status}).from(n.agentTaskQueue).where((0,t.and)(...a));return s[0]?.status??null}async function ev(e,i,r){let a=(await e.select({id:n.agentTaskQueue.id,conversationId:n.agentTaskQueue.conversationId,contextKey:n.agentTaskQueue.contextKey}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)))).filter(e=>e.contextKey);if(0===a.length)return null;let s=a.map(e=>e.contextKey),o=new Set((await e.select({conversationId:n.agentTaskQueue.conversationId,contextKey:n.agentTaskQueue.contextKey}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),(0,t.inArray)(n.agentTaskQueue.contextKey,s)))).map(e=>`${e.conversationId}:${e.contextKey}`));for(let e of a)if(o.has(`${e.conversationId}:${e.contextKey}`))return{predecessorId:e.id,contextKey:e.contextKey};return null}async function ey(e,i,r){let a=await e.select({conversationId:n.agentTaskQueue.conversationId,contextKey:n.agentTaskQueue.contextKey}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))),s=[],u=new Map;for(let e of a)e.contextKey?u.set(e.conversationId,e.contextKey):s.push(e.conversationId);let l=[...s];for(let e of u.keys())l.push(e);let d=e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),...l.length>0?[(0,t.notInArray)(n.agentTaskQueue.conversationId,l)]:[])).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(1),c=await d;if(0===c.length&&u.size>0){let a=[...u.entries()].slice(0,50).map(([e,i])=>(0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,e),(0,t.eq)(n.agentTaskQueue.contextKey,i))),s=await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),(0,t.or)(...a))).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(1);s.length>0&&(c=s)}if(0===c.length)return null;let m=new Date().toISOString();for(let a=0;a<3;a++){let s=0===a?c[0].id:await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"),...l.length>0?[(0,t.notInArray)(n.agentTaskQueue.conversationId,l)]:[])).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(1).then(e=>e[0]?.id);if(!s)break;let u=(await e.update(n.agentTaskQueue).set({status:"dispatched",dispatchedAt:m}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,s),(0,t.eq)(n.agentTaskQueue.status,"queued"))).returning())[0];if(u)return ec.ClaimedTaskRowSchema.parse(u)}return null}async function e_(e,i,r){let a=await e.update(n.agentTaskQueue).set({status:"dispatched",dispatchedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"queued"))).returning();return a[0]?ec.ClaimedTaskRowSchema.parse(a[0]):null}async function e$(e,i,r){await e.update(n.agentTaskQueue).set({status:"queued",dispatchedAt:null}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"dispatched")))}async function eb(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"running",startedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"dispatched"))).returning())[0]??null}async function ek(e,i,r,a){return(await e.update(n.agentTaskQueue).set({status:"completed",completedAt:new Date().toISOString(),result:a.result,sessionId:a.sessionId}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"running"))).returning())[0]??null}async function ew(e,i,r,a){return(await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:a}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]))).returning())[0]??null}async function eI(e,i,r){return 0===i.length?[]:e.select().from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.runtimeId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt))}async function eS(e,i){return(await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).limit(1)).length>0}async function ex(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"superseded",completedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]))).returning())[0]??null}async function eT(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"superseded"}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.status,"failed"))).returning())[0]??null}async function eA(e,i,r){return(await e.update(n.agentTaskQueue).set({status:"cancelled",completedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.id,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]))).returning())[0]??null}let eN=Number(process.env.ALOOK_STALE_DISPATCH_TIMEOUT_S)||20;async function eP(e,i,r=eN){let a=new Date(Date.now()-1e3*r).toISOString();return await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:"timed out in dispatched state (daemon likely disconnected)"}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.eq)(n.agentTaskQueue.status,"dispatched"),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.lt)(n.agentTaskQueue.dispatchedAt,a))).returning({agentId:n.agentTaskQueue.agentId,workspaceId:n.agentTaskQueue.workspaceId,conversationId:n.agentTaskQueue.conversationId})}async function eq(e,i,r){return e.delete(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r))).returning({id:n.agentTaskQueue.id})}async function ez(e,i,r){return e.update(n.agentTaskQueue).set({status:"cancelled",completedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]))).returning({id:n.agentTaskQueue.id})}async function eZ(e,i,r,a){let s=[(0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)];a&&s.push((0,t.ne)(n.agentTaskQueue.id,a));let o=await e.select({value:ee()}).from(n.agentTaskQueue).where((0,t.and)(...s));return Number(o[0]?.value??0)}async function eD(e,i){return e.select({agentId:n.agentTaskQueue.agentId,count:ee()}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).groupBy(n.agentTaskQueue.agentId).limit(200)}async function eO(e,i){return e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,prompt:n.agentTaskQueue.prompt,status:n.agentTaskQueue.status,type:n.agentTaskQueue.type,conversationId:n.agentTaskQueue.conversationId,createdAt:n.agentTaskQueue.createdAt,channel:n.conversation.channel}).from(n.agentTaskQueue).leftJoin(n.conversation,(0,t.eq)(n.agentTaskQueue.conversationId,n.conversation.id)).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(50)}async function eE(e,i,r){return e.select({id:n.agentTaskQueue.id,status:n.agentTaskQueue.status,type:n.agentTaskQueue.type,createdAt:n.agentTaskQueue.createdAt}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.priority),(0,o.asc)(n.agentTaskQueue.createdAt)).limit(100)}async function eU(e,i,r){return(await e.select().from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.conversationId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched","running"]),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(1))[0]??null}async function ej(e,i,r,a){if(0===i.length||a<=0)return[];let s=(await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.eq)(n.agentTaskQueue.status,"queued"),(0,t.inArray)(n.agentTaskQueue.runtimeId,i))).orderBy((0,o.asc)(n.agentTaskQueue.createdAt)).limit(a)).map(e=>e.id);return 0===s.length?[]:(await e.update(n.agentTaskQueue).set({status:"dispatched",dispatchedAt:new Date().toISOString()}).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.id,s),(0,t.eq)(n.agentTaskQueue.status,"queued"))).returning()).map(e=>ec.ClaimedTaskRowSchema.parse(e))}async function eC(e,i){let r=new Date(Date.now()-9e4).toISOString();return await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:"kill_task timed out (daemon likely offline)"}).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.eq)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.inArray)(n.agentTaskQueue.status,["queued","dispatched"]),(0,t.lt)(q.sql`coalesce(${n.agentTaskQueue.dispatchedAt}, ${n.agentTaskQueue.createdAt})`,r))).returning({id:n.agentTaskQueue.id})}let eL=Number(process.env.ALOOK_STALE_RUNNING_TIMEOUT_S)||3600;async function eQ(e,i,r=eL){let a=new Date(Date.now()-1e3*r).toISOString(),s=await e.select({id:n.agentTaskQueue.id}).from(n.agentTaskQueue).leftJoin(n.taskMessage,(0,t.eq)(n.taskMessage.taskId,n.agentTaskQueue.id)).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.eq)(n.agentTaskQueue.status,"running"))).groupBy(n.agentTaskQueue.id).having(q.sql`COALESCE(MAX(${n.taskMessage.createdAt}), ${n.agentTaskQueue.startedAt}) < ${a}`);if(0===s.length)return[];let o=s.map(e=>e.id);return await e.update(n.agentTaskQueue).set({status:"failed",completedAt:new Date().toISOString(),error:`timed out in running state (no message activity for ${Math.round(r/60)} minutes)`}).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.id,o),(0,t.eq)(n.agentTaskQueue.status,"running"))).returning({agentId:n.agentTaskQueue.agentId,workspaceId:n.agentTaskQueue.workspaceId,conversationId:n.agentTaskQueue.conversationId})}async function eR(e,i,r,a){let s=a?.limit??30,u=[(0,t.eq)(n.agentTaskQueue.agentId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)];if(a?.status&&a.status.length>0&&u.push((0,t.inArray)(n.agentTaskQueue.status,a.status)),a?.type&&a.type.length>0&&u.push((0,t.inArray)(n.agentTaskQueue.type,a.type)),a?.before){let e=a.beforeId?(0,t.or)((0,t.lt)(n.agentTaskQueue.createdAt,a.before),(0,t.and)((0,t.eq)(n.agentTaskQueue.createdAt,a.before),(0,t.lt)(n.agentTaskQueue.id,a.beforeId))):(0,t.lt)(n.agentTaskQueue.createdAt,a.before);u.push(e)}let l=await e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,conversationId:n.agentTaskQueue.conversationId,workspaceId:n.agentTaskQueue.workspaceId,prompt:n.agentTaskQueue.prompt,type:n.agentTaskQueue.type,status:n.agentTaskQueue.status,createdAt:n.agentTaskQueue.createdAt,startedAt:n.agentTaskQueue.startedAt,completedAt:n.agentTaskQueue.completedAt,error:n.agentTaskQueue.error}).from(n.agentTaskQueue).where((0,t.and)(...u)).orderBy((0,o.desc)(n.agentTaskQueue.createdAt),(0,o.desc)(n.agentTaskQueue.id)).limit(s+1),d=l.length>s;return{tasks:(d?l.slice(0,s):l).reverse(),hasMore:d}}async function eB(e,i,r){let a=r?.limit??30,s=[(0,t.eq)(n.agentTaskQueue.workspaceId,i),q.sql`${n.agentTaskQueue.traceId} IS NOT NULL`,q.sql`${n.agentTaskQueue.parentTaskId} IS NULL`,(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK)];if(r?.before&&s.push((0,t.lt)(n.agentTaskQueue.createdAt,r.before)),r?.agentId&&s.push((0,t.eq)(n.agentTaskQueue.agentId,r.agentId)),r?.channel&&s.push((0,t.eq)(n.conversation.channel,r.channel)),r?.multiAgent){let r=ed(n.agentTaskQueue,"helper_task");s.push((0,t.exists)(e.select().from(r).where((0,t.and)((0,t.eq)(r.workspaceId,i),(0,t.eq)(r.traceId,n.agentTaskQueue.traceId),(0,t.ne)(r.agentId,n.agentTaskQueue.agentId),(0,t.ne)(r.type,C.TASK_TYPES.KILL_TASK)))))}if(r?.status){let a=ed(n.agentTaskQueue,"trace_task");if("active"===r.status)s.push((0,t.exists)(e.select().from(a).where((0,t.and)((0,t.eq)(a.workspaceId,i),(0,t.eq)(a.traceId,n.agentTaskQueue.traceId),(0,t.ne)(a.type,C.TASK_TYPES.KILL_TASK),(0,t.inArray)(a.status,["queued","dispatched","running"])))));else if("completed"===r.status)s.push(q.sql`NOT EXISTS (SELECT 1 FROM ${n.agentTaskQueue} tt WHERE tt.workspace_id = ${i} AND tt.trace_id = ${n.agentTaskQueue.traceId} AND tt.type != ${C.TASK_TYPES.KILL_TASK} AND tt.status IN ('queued', 'dispatched', 'running', 'failed'))`);else if("failed"===r.status){s.push(q.sql`NOT EXISTS (SELECT 1 FROM ${n.agentTaskQueue} tt WHERE tt.workspace_id = ${i} AND tt.trace_id = ${n.agentTaskQueue.traceId} AND tt.type != ${C.TASK_TYPES.KILL_TASK} AND tt.status IN ('queued', 'dispatched', 'running'))`);let r=ed(n.agentTaskQueue,"failed_task");s.push((0,t.exists)(e.select().from(r).where((0,t.and)((0,t.eq)(r.workspaceId,i),(0,t.eq)(r.traceId,n.agentTaskQueue.traceId),(0,t.ne)(r.type,C.TASK_TYPES.KILL_TASK),(0,t.eq)(r.status,"failed")))))}}let u=await e.select({id:n.agentTaskQueue.id,traceId:n.agentTaskQueue.traceId,agentId:n.agentTaskQueue.agentId,prompt:n.agentTaskQueue.prompt,createdAt:n.agentTaskQueue.createdAt,channel:n.conversation.channel}).from(n.agentTaskQueue).leftJoin(n.conversation,(0,t.eq)(n.agentTaskQueue.conversationId,n.conversation.id)).where((0,t.and)(...s)).orderBy((0,o.desc)(n.agentTaskQueue.createdAt)).limit(a+1);if(0===u.length)return{traces:[],hasMore:!1};let l=u.length>a,d=u.slice(0,a),c=d.map(e=>e.traceId).filter(e=>!!e);if(0===c.length)return{traces:[],hasMore:!1};let m=await e.select({traceId:n.agentTaskQueue.traceId,agentId:n.agentTaskQueue.agentId,status:n.agentTaskQueue.status,completedAt:n.agentTaskQueue.completedAt}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.traceId,c),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))),g=new Map;for(let e of m){if(!e.traceId)continue;let t=g.get(e.traceId)??[];t.push(e),g.set(e.traceId,t)}let p=[];for(let e of d){let t,n=g.get(e.traceId)??[],i=[...new Set(n.map(e=>e.agentId).filter(t=>t!==e.agentId))],r=n.some(e=>["queued","dispatched","running"].includes(e.status)),a=n.some(e=>"failed"===e.status);t=r?"active":a?"failed":"completed";let s=n.every(e=>["completed","failed","cancelled","superseded"].includes(e.status))?n.reduce((e,t)=>t.completedAt&&t.completedAt>(e??"")?t.completedAt:e,null):null;p.push({traceId:e.traceId,rootPrompt:e.prompt,rootAgentId:e.agentId,helperAgentIds:i,status:t,taskCount:n.length,startedAt:e.createdAt,completedAt:s,channel:e.channel??"default"})}return{traces:p,hasMore:l}}async function eF(e,i,r){if(0===i.length)return new Map;let a=await e.select({id:n.agentTaskQueue.id,traceId:n.agentTaskQueue.traceId}).from(n.agentTaskQueue).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.id,i),q.sql`${n.agentTaskQueue.traceId} IS NOT NULL`,(0,t.eq)(n.agentTaskQueue.workspaceId,r))),s=new Map;for(let e of a){if(!e.traceId)continue;let t=s.get(e.traceId)??[];t.push(e.id),s.set(e.traceId,t)}let o=[...s.keys()];if(0===o.length)return new Map;let u=await e.selectDistinct({traceId:n.agentTaskQueue.traceId,agentId:n.agentTaskQueue.agentId}).from(n.agentTaskQueue).where((0,t.and)((0,t.inArray)(n.agentTaskQueue.traceId,o),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))),l=new Map;for(let e of u){if(!e.traceId)continue;let t=l.get(e.traceId)??new Set;t.add(e.agentId),l.set(e.traceId,t)}let d=new Map;for(let[e,t]of s){let n=[...l.get(e)??[]];for(let e of t)d.set(e,n)}return d}async function eM(e,i,r){return e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,parentTaskId:n.agentTaskQueue.parentTaskId,prompt:n.agentTaskQueue.prompt,status:n.agentTaskQueue.status,type:n.agentTaskQueue.type,conversationId:n.agentTaskQueue.conversationId,createdAt:n.agentTaskQueue.createdAt,completedAt:n.agentTaskQueue.completedAt}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.traceId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK))).orderBy((0,o.asc)(n.agentTaskQueue.createdAt))}async function eK(e,t){return(await e.insert(n.taskMessage).values({taskId:t.taskId,seq:t.seq,type:t.type,tool:t.tool,callId:t.callId||"",content:t.content,input:t.input??null,output:t.output}).returning())[0]}async function eV(e,i,r){return r?e.select({id:n.taskMessage.id,taskId:n.taskMessage.taskId,seq:n.taskMessage.seq,type:n.taskMessage.type,tool:n.taskMessage.tool,content:n.taskMessage.content,callId:n.taskMessage.callId,input:n.taskMessage.input,output:n.taskMessage.output,createdAt:n.taskMessage.createdAt}).from(n.taskMessage).innerJoin(n.agentTaskQueue,(0,t.eq)(n.taskMessage.taskId,n.agentTaskQueue.id)).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.notInArray)(n.taskMessage.type,["tool-result","tool-use","thinking"]))).orderBy((0,o.asc)(n.taskMessage.seq)):e.select().from(n.taskMessage).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.notInArray)(n.taskMessage.type,["tool-result","tool-use","thinking"]))).orderBy((0,o.asc)(n.taskMessage.seq))}async function eJ(e,i,r){return e.select({id:n.taskMessage.id,taskId:n.taskMessage.taskId,seq:n.taskMessage.seq,type:n.taskMessage.type,tool:n.taskMessage.tool,content:n.taskMessage.content,callId:n.taskMessage.callId,input:n.taskMessage.input,output:n.taskMessage.output,createdAt:n.taskMessage.createdAt}).from(n.taskMessage).innerJoin(n.agentTaskQueue,(0,t.eq)(n.taskMessage.taskId,n.agentTaskQueue.id)).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.eq)(n.agentTaskQueue.workspaceId,r),(0,t.eq)(n.taskMessage.type,"error"))).orderBy((0,o.asc)(n.taskMessage.seq))}async function eW(e,i,r){return e.select().from(n.taskMessage).where((0,t.and)((0,t.eq)(n.taskMessage.taskId,i),(0,t.gt)(n.taskMessage.seq,r),(0,t.notInArray)(n.taskMessage.type,["tool-result","tool-use","thinking"]))).orderBy((0,o.asc)(n.taskMessage.seq))}async function eG(e,i){await e.delete(n.taskMessage).where((0,t.eq)(n.taskMessage.taskId,i))}async function eH(e,t){let i=new Date().toISOString(),r=void 0===t.lastSeenAt?i:t.lastSeenAt;return(await e.insert(n.machine).values({daemonId:t.daemonId,workspaceId:t.workspaceId,deviceInfo:t.deviceInfo,lastSeenAt:r,createdAt:i,updatedAt:i}).onConflictDoUpdate({target:[n.machine.workspaceId,n.machine.daemonId],set:{deviceInfo:t.deviceInfo,lastSeenAt:r,updatedAt:i}}).returning())[0]}async function eX(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({lastSeenAt:a,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function eY(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({lastSeenAt:null,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e0(e,i,r){return(await e.select().from(n.machine).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r))))[0]??null}async function e4(e,i){return e.select().from(n.machine).where((0,t.eq)(n.machine.workspaceId,i))}async function e1(e,i,r){await e.delete(n.machine).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e6(e,i,r,a){let s=new Date().toISOString();await e.update(n.machine).set({pendingUpdateVersion:a,updatedAt:s}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e2(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({pendingUpdateVersion:null,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e9(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({pendingRescan:!0,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e5(e,i,r){let a=new Date().toISOString();await e.update(n.machine).set({pendingRescan:!1,updatedAt:a}).where((0,t.and)((0,t.eq)(n.machine.daemonId,i),(0,t.eq)(n.machine.workspaceId,r)))}async function e3(e,t){return(await e.insert(n.machineToken).values({userId:t.userId,workspaceId:t.workspaceId??null,token:t.token,name:t.name,status:t.status??"active"}).returning())[0]}async function e8(e,i){return(await e.select({id:n.machineToken.id,userId:n.machineToken.userId,workspaceId:n.machineToken.workspaceId,token:n.machineToken.token,name:n.machineToken.name,status:n.machineToken.status,lastUsedAt:n.machineToken.lastUsedAt,createdAt:n.machineToken.createdAt,userEmail:n.user.email}).from(n.machineToken).innerJoin(n.user,(0,t.eq)(n.user.id,n.machineToken.userId)).where((0,t.eq)(n.machineToken.token,i)))[0]??null}async function e7(e,i,r){let a=[(0,t.eq)(n.machineToken.userId,i),(0,t.eq)(n.machineToken.status,"pending")];return r?a.push((0,t.eq)(n.machineToken.workspaceId,r)):a.push((0,t.isNull)(n.machineToken.workspaceId)),(await e.select().from(n.machineToken).where((0,t.and)(...a)).limit(1))[0]??null}async function te(e,i,r,a){await e.update(n.machineToken).set({status:"registered",hostname:r,runtimesJson:a,lastUsedAt:null}).where((0,t.eq)(n.machineToken.id,i))}async function tt(e,i,r){await e.update(n.machineToken).set({status:"active",...r?{workspaceId:r}:{}}).where((0,t.eq)(n.machineToken.id,i))}async function tn(e,i){return(await e.select().from(n.machineToken).where((0,t.and)((0,t.eq)(n.machineToken.userId,i),(0,t.eq)(n.machineToken.status,"registered"))).orderBy((0,o.asc)(n.machineToken.createdAt)).limit(1))[0]??null}async function ti(e,i){return(await e.select({id:n.machineToken.id,token:n.machineToken.token,status:n.machineToken.status,workspaceId:n.machineToken.workspaceId,hostname:n.machineToken.hostname,lastUsedAt:n.machineToken.lastUsedAt,runtimesJson:n.machineToken.runtimesJson}).from(n.machineToken).where((0,t.eq)(n.machineToken.userId,i)).orderBy((0,o.desc)(n.machineToken.createdAt)).limit(1))[0]??null}async function tr(e,i,r){return e.select().from(n.machineToken).where((0,t.and)((0,t.eq)(n.machineToken.userId,i),(0,t.eq)(n.machineToken.workspaceId,r))).orderBy((0,o.desc)(n.machineToken.createdAt))}async function ta(e,i,r){await e.delete(n.machineToken).where((0,t.and)((0,t.eq)(n.machineToken.id,i),(0,t.eq)(n.machineToken.userId,r)))}async function ts(e,i){await e.update(n.machineToken).set({lastUsedAt:new Date().toISOString()}).where((0,t.eq)(n.machineToken.id,i))}e.s(["cancelActiveTasksByConversation",0,ez,"cancelTask",0,eA,"claimKillTasks",0,ej,"claimTask",0,ey,"completeTask",0,ek,"countRunningTasks",0,eZ,"countTasksByTrace",0,eg,"createTask",0,em,"deleteTasksByConversation",0,eq,"dispatchTaskById",0,e_,"failStaleDispatchedTasks",0,eP,"failStaleKillTasks",0,eC,"failStaleRunningTasks",0,eQ,"failTask",0,ew,"findSteerableReplacement",0,ev,"getActiveTaskByConversation",0,eU,"getLatestTaskForConversation",0,ep,"getTask",0,ef,"getTaskStatus",0,eh,"getTraceAgentsByTaskIds",0,eF,"getTraceTree",0,eM,"hasPendingTaskForConversation",0,eS,"listActiveTaskCountsByWorkspace",0,eD,"listActiveTasksByAgent",0,eE,"listActiveTasksByWorkspace",0,eO,"listPendingTasksByRuntimes",0,eI,"listTaskHistory",0,eR,"listTraces",0,eB,"markFailedAsSuperseded",0,eT,"revertDispatchedToQueued",0,e$,"startTask",0,eb,"supersedeTask",0,ex],834809),e.s(["createTaskMessage",0,eK,"deleteTaskMessages",0,eG,"listTaskErrorMessages",0,eJ,"listTaskMessages",0,eV,"listTaskMessagesSince",0,eW],127060),e.s(["clearPendingRescan",0,e5,"clearPendingUpdateVersion",0,e2,"deleteMachine",0,e1,"getMachineByDaemon",0,e0,"listMachinesForWorkspace",0,e4,"setMachineLastSeenNull",0,eY,"setPendingRescan",0,e9,"setPendingUpdateVersion",0,e6,"updateMachineLastSeen",0,eX,"upsertMachine",0,eH],208560),e.s(["activateMachineToken",0,tt,"createMachineToken",0,e3,"deleteMachineToken",0,ta,"getLatestTokenForUser",0,ti,"getMachineTokenByToken",0,e8,"getPendingMachineToken",0,e7,"getRegisteredTokenForUser",0,tn,"listMachineTokens",0,tr,"registerMachineToken",0,te,"updateMachineTokenLastUsed",0,ts],947101);var to=e.i(424166);async function tu(e,i,r){return e.select().from(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r)))}async function tl(e,t,i,r){return(await e.insert(n.agentWhitelist).values({agentId:t,workspaceId:i,email:r}).onConflictDoNothing().returning())[0]??null}async function td(e,i,r,a){return(await e.delete(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.id,i),(0,t.eq)(n.agentWhitelist.agentId,r),(0,t.eq)(n.agentWhitelist.workspaceId,a))).returning())[0]??null}async function tc(e,i,r,a){return(await e.delete(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r),(0,t.eq)(n.agentWhitelist.email,a))).returning())[0]??null}async function tm(e,i,r,a){let s=(0,to.parseEmailHandle)(a);if(s){let i=await e.select({workspaceId:n.agent.workspaceId}).from(n.agent).where((0,t.eq)(n.agent.emailHandle,s)).limit(1);if(i.length>0&&i[0].workspaceId===r)return!0}return(await e.select({id:n.agentWhitelist.id}).from(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r),(0,t.eq)(n.agentWhitelist.email,a))).limit(1)).length>0}async function tg(e,i,r){let[a,s]=await Promise.all([e.select({email:n.agentWhitelist.email}).from(n.agentWhitelist).where((0,t.and)((0,t.eq)(n.agentWhitelist.agentId,i),(0,t.eq)(n.agentWhitelist.workspaceId,r))),e.select({emailHandle:n.agent.emailHandle}).from(n.agent).where((0,t.eq)(n.agent.workspaceId,r))]),o=new Set(a.map(e=>e.email)),u=new Set(s.filter(e=>e.emailHandle).map(e=>e.emailHandle));return{check(e){let t=(0,to.parseEmailHandle)(e);return!!(t&&u.has(t))||o.has(e)}}}async function tp(e,t){return(await e.insert(n.emails).values(t).returning())[0]}async function tf(e,i,r){return(await e.select().from(n.emails).where((0,t.and)((0,t.eq)(n.emails.id,i),(0,t.eq)(n.emails.workspaceId,r))))[0]??null}async function th(e,i,r,a,s){let u=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.workspaceId,r)];a&&u.push((0,t.eq)(n.emails.status,a));let l=e.select().from(n.emails).where((0,t.and)(...u)).orderBy((0,o.desc)(n.emails.createdAt));return s?l.limit(s.limit).offset(s.offset):l}async function tv(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.toEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.direction,"inbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function ty(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.fromEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.direction,"outbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function t_(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.toEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.isWhitelisted,!0),(0,t.eq)(n.emails.direction,"inbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function t$(e,i,r,a,s,u){let l=[(0,t.eq)(n.emails.agentId,i),(0,t.eq)(n.emails.toEmail,r),(0,t.eq)(n.emails.workspaceId,a),(0,t.eq)(n.emails.isWhitelisted,!1),(0,t.eq)(n.emails.direction,"inbound")];s&&l.push((0,t.eq)(n.emails.status,s));let d=e.select().from(n.emails).where((0,t.and)(...l)).orderBy((0,o.desc)(n.emails.createdAt));return u?d.limit(u.limit).offset(u.offset):d}async function tb(e,i,r){return i?(await e.select().from(n.emails).where((0,t.and)((0,t.eq)(n.emails.messageId,i),(0,t.eq)(n.emails.workspaceId,r))))[0]??null:null}async function tk(e,i,r,a){return(await e.update(n.emails).set({status:a}).where((0,t.and)((0,t.eq)(n.emails.id,i),(0,t.eq)(n.emails.workspaceId,r))).returning())[0]??null}async function tw(e,i,r){return e.delete(n.emails).where((0,t.and)((0,t.eq)(n.emails.id,i),(0,t.eq)(n.emails.workspaceId,r)))}async function tI(e,i){let r=await e.select({userId:n.session.userId}).from(n.session).where((0,t.and)((0,t.eq)(n.session.token,i),(0,t.gt)(n.session.expiresAt,new Date().toISOString())));return 0===r.length?null:r[0].userId}async function tS(e,t){return(await e.insert(n.artifact).values(t).returning())[0]}async function tx(e,i,r,a){let s=[(0,t.eq)(n.artifact.conversationId,i),(0,t.eq)(n.artifact.workspaceId,r)];a?.source&&s.push((0,t.eq)(n.artifact.source,a.source));let u=e.select().from(n.artifact).where((0,t.and)(...s)).orderBy((0,o.desc)(n.artifact.createdAt));return a?.limit!=null&&(u=u.limit(a.limit)),u}async function tT(e,i,r){return(await e.select().from(n.artifact).where((0,t.and)((0,t.eq)(n.artifact.id,i),(0,t.eq)(n.artifact.workspaceId,r))))[0]??null}async function tA(e,t){return(await e.insert(n.agentEmailAccount).values(t).returning())[0]}async function tN(e,i,r){return(await e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r))))[0]??null}async function tP(e,i,r,a){return(await e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.agentId,r),(0,t.eq)(n.agentEmailAccount.workspaceId,a))))[0]??null}async function tq(e,i,r){let a=[(0,t.eq)(n.agentEmailAccount.id,i)];return r&&a.push((0,t.eq)(n.agentEmailAccount.workspaceId,r)),(await e.select().from(n.agentEmailAccount).where((0,t.and)(...a)))[0]??null}async function tz(e,i,r){return e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.agentId,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r)))}async function tZ(e,i,r,a){return(await e.update(n.agentEmailAccount).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r))).returning())[0]??null}async function tD(e,i,r){return(await e.delete(n.agentEmailAccount).where((0,t.and)((0,t.eq)(n.agentEmailAccount.id,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r))).returning())[0]??null}async function tO(e,i,r){return 0===i.length?[]:e.select().from(n.agentEmailAccount).where((0,t.and)((0,t.inArray)(n.agentEmailAccount.agentId,i),(0,t.eq)(n.agentEmailAccount.workspaceId,r)))}async function tE(e,i){return e.select().from(n.agentEmailAccount).where((0,t.eq)(n.agentEmailAccount.workspaceId,i))}async function tU(e,t){return(await e.insert(n.workspaceInvite).values({workspaceId:t.workspaceId,createdBy:t.createdBy,expiresAt:t.expiresAt}).returning())[0]}async function tj(e,i){return(await e.select({id:n.workspaceInvite.id,workspaceId:n.workspaceInvite.workspaceId,token:n.workspaceInvite.token,createdBy:n.workspaceInvite.createdBy,usedBy:n.workspaceInvite.usedBy,usedAt:n.workspaceInvite.usedAt,expiresAt:n.workspaceInvite.expiresAt,createdAt:n.workspaceInvite.createdAt,workspaceName:n.workspace.name,workspaceSlug:n.workspace.slug,creatorName:n.user.name,creatorEmail:n.user.email}).from(n.workspaceInvite).innerJoin(n.workspace,(0,t.eq)(n.workspaceInvite.workspaceId,n.workspace.id)).innerJoin(n.user,(0,t.eq)(n.workspaceInvite.createdBy,n.user.id)).where((0,t.eq)(n.workspaceInvite.token,i)))[0]??null}async function tC(e,i){return e.select().from(n.workspaceInvite).where((0,t.and)((0,t.eq)(n.workspaceInvite.workspaceId,i),(0,t.isNull)(n.workspaceInvite.usedBy),(0,t.gt)(n.workspaceInvite.expiresAt,new Date().toISOString())))}async function tL(e,i,r){let a=new Date().toISOString();return(await e.update(n.workspaceInvite).set({usedBy:r,usedAt:a}).where((0,t.and)((0,t.eq)(n.workspaceInvite.token,i),(0,t.isNull)(n.workspaceInvite.usedBy),(0,t.gt)(n.workspaceInvite.expiresAt,a))).returning())[0]??null}async function tQ(e,i,r){return(await e.delete(n.workspaceInvite).where((0,t.and)((0,t.eq)(n.workspaceInvite.id,i),(0,t.eq)(n.workspaceInvite.workspaceId,r))).returning())[0]??null}async function tR(e,i,r){return e.select({id:n.agentAccess.id,agentId:n.agentAccess.agentId,workspaceId:n.agentAccess.workspaceId,userId:n.agentAccess.userId,createdAt:n.agentAccess.createdAt,userName:n.user.name,userEmail:n.user.email}).from(n.agentAccess).innerJoin(n.user,(0,t.eq)(n.agentAccess.userId,n.user.id)).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r)))}async function tB(e,t){return(await e.insert(n.agentAccess).values({agentId:t.agentId,workspaceId:t.workspaceId,userId:t.userId}).returning())[0]}async function tF(e,i,r,a){return(await e.delete(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r),(0,t.eq)(n.agentAccess.userId,a))).returning())[0]??null}async function tM(e,i,r,a){return(await e.select({id:n.agentAccess.id}).from(n.agentAccess).where((0,t.and)((0,t.eq)(n.agentAccess.agentId,i),(0,t.eq)(n.agentAccess.workspaceId,r),(0,t.eq)(n.agentAccess.userId,a)))).length>0}async function tK(e,i){return e.select({agentId:n.agentAccess.agentId,userId:n.agentAccess.userId}).from(n.agentAccess).where((0,t.eq)(n.agentAccess.workspaceId,i))}async function tV(e,i,r){return e.select().from(n.agentPin).where((0,t.and)((0,t.eq)(n.agentPin.workspaceId,i),(0,t.eq)(n.agentPin.userId,r))).orderBy((0,o.asc)(n.agentPin.position))}async function tJ(e,i){let[r]=await e.select({maxPos:q.sql`COALESCE(MAX(${n.agentPin.position}), -1)`}).from(n.agentPin).where((0,t.and)((0,t.eq)(n.agentPin.workspaceId,i.workspaceId),(0,t.eq)(n.agentPin.userId,i.userId))),a=(r?.maxPos??-1)+1;return(await e.insert(n.agentPin).values({...i,position:a}).onConflictDoNothing().returning())[0]??null}async function tW(e,i,r,a){return(await e.delete(n.agentPin).where((0,t.and)((0,t.eq)(n.agentPin.agentId,i),(0,t.eq)(n.agentPin.workspaceId,r),(0,t.eq)(n.agentPin.userId,a))).returning())[0]??null}async function tG(e,i,r,a){await e.batch(a.map((a,s)=>e.update(n.agentPin).set({position:s}).where((0,t.and)((0,t.eq)(n.agentPin.agentId,a),(0,t.eq)(n.agentPin.workspaceId,i),(0,t.eq)(n.agentPin.userId,r)))))}async function tH(e,i,r){return e.select().from(n.agentSidebarOrder).where((0,t.and)((0,t.eq)(n.agentSidebarOrder.workspaceId,i),(0,t.eq)(n.agentSidebarOrder.userId,r))).orderBy((0,o.asc)(n.agentSidebarOrder.position))}async function tX(e,i,r,a){await e.batch([e.delete(n.agentSidebarOrder).where((0,t.and)((0,t.eq)(n.agentSidebarOrder.workspaceId,i),(0,t.eq)(n.agentSidebarOrder.userId,r))),...a.map((t,a)=>e.insert(n.agentSidebarOrder).values({agentId:t,workspaceId:i,userId:r,position:a}))])}async function tY(e,i){let[r]=await e.select({inbound:q.sql`sum(case when ${n.emails.direction} = 'inbound' then 1 else 0 end)`,outbound:q.sql`sum(case when ${n.emails.direction} = 'outbound' then 1 else 0 end)`,unread:q.sql`sum(case when ${n.emails.status} = 'unread' and ${n.emails.direction} = 'inbound' then 1 else 0 end)`,rejected:q.sql`sum(case when ${n.emails.isWhitelisted} = 0 and ${n.emails.direction} = 'inbound' then 1 else 0 end)`}).from(n.emails).where((0,t.eq)(n.emails.workspaceId,i));return{inbound:Number(r?.inbound??0),outbound:Number(r?.outbound??0),unread:Number(r?.unread??0),rejected:Number(r?.rejected??0)}}async function t0(e,i){return e.select({id:n.agentEmailAccount.id,agentId:n.agentEmailAccount.agentId,emailAddress:n.agentEmailAccount.emailAddress,status:n.agentEmailAccount.status,errorMessage:n.agentEmailAccount.errorMessage,lastSyncedAt:n.agentEmailAccount.lastSyncedAt}).from(n.agentEmailAccount).where((0,t.eq)(n.agentEmailAccount.workspaceId,i))}async function t4(e,i,r){let a=new Date(Date.now()-36e5).toISOString(),[s]=await e.select({completed:q.sql`sum(case when ${n.agentTaskQueue.status} = 'completed' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} and ${n.agentTaskQueue.completedAt} >= ${r} then 1 else 0 end)`,failed:q.sql`sum(case when ${n.agentTaskQueue.status} = 'failed' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} and ${n.agentTaskQueue.completedAt} >= ${r} then 1 else 0 end)`,cancelled:q.sql`sum(case when ${n.agentTaskQueue.status} = 'cancelled' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} and ${n.agentTaskQueue.completedAt} >= ${r} then 1 else 0 end)`,queued:q.sql`sum(case when ${n.agentTaskQueue.status} = 'queued' and ${n.agentTaskQueue.type} != ${C.TASK_TYPES.KILL_TASK} then 1 else 0 end)`,stale:q.sql`sum(case when ${n.agentTaskQueue.status} = 'running' and ${n.agentTaskQueue.startedAt} < ${a} then 1 else 0 end)`}).from(n.agentTaskQueue).where((0,t.eq)(n.agentTaskQueue.workspaceId,i));return{completed:Number(s?.completed??0),failed:Number(s?.failed??0),cancelled:Number(s?.cancelled??0),queued:Number(s?.queued??0),stale:Number(s?.stale??0)}}async function t1(e,i,r,a=15){return 0===r.length?[]:e.select({id:n.agentTaskQueue.id,agentId:n.agentTaskQueue.agentId,type:n.agentTaskQueue.type,status:n.agentTaskQueue.status,prompt:n.agentTaskQueue.prompt,createdAt:n.agentTaskQueue.createdAt,completedAt:n.agentTaskQueue.completedAt,error:n.agentTaskQueue.error}).from(n.agentTaskQueue).where((0,t.and)((0,t.eq)(n.agentTaskQueue.workspaceId,i),(0,t.inArray)(n.agentTaskQueue.agentId,r),(0,t.ne)(n.agentTaskQueue.type,C.TASK_TYPES.KILL_TASK),(0,t.inArray)(n.agentTaskQueue.status,["completed","failed","cancelled"]))).orderBy((0,o.desc)(n.agentTaskQueue.completedAt)).limit(a)}async function t6(e,i,r){return 0===r.length?[]:e.select({agentId:n.conversation.agentId,cnt:ee()}).from(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,i),(0,t.inArray)(n.conversation.agentId,r))).groupBy(n.conversation.agentId)}async function t2(e,t){let i=new Date().toISOString();return(await e.insert(n.meetingSession).values({agentId:t.agentId,workspaceId:t.workspaceId,title:t.title??"",meetingUrl:t.meetingUrl,status:t.status??"scheduled",fromEmail:t.fromEmail??null,isWhitelisted:t.isWhitelisted??!0,participants:t.participants??[],scheduledAt:t.scheduledAt??null,createdAt:i,updatedAt:i}).returning())[0]}async function t9(e,i,r){return(await e.select().from(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r))))[0]??null}async function t5(e,i){return(await e.select().from(n.meetingSession).where((0,t.eq)(n.meetingSession.id,i)))[0]??null}async function t3(e,i,r){return e.select().from(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.agentId,i),(0,t.eq)(n.meetingSession.workspaceId,r))).orderBy((0,o.desc)(n.meetingSession.createdAt))}async function t8(e,i,r,a){return(await e.update(n.meetingSession).set({...a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r))).returning())[0]??null}async function t7(e,i,r,a){return(await e.update(n.meetingSession).set({status:"joining",startedAt:a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r),(0,t.eq)(n.meetingSession.status,"scheduled"))).returning())[0]??null}async function ne(e,i,r,a){return 0===i.length?[]:e.update(n.meetingSession).set({status:"joining",startedAt:a,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.inArray)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r),(0,t.eq)(n.meetingSession.status,"scheduled"))).returning()}async function nt(e,i,r){return(await e.delete(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.id,i),(0,t.eq)(n.meetingSession.workspaceId,r))).returning())[0]??null}async function nn(e,i,r){return e.select({id:n.meetingSession.id,agentId:n.meetingSession.agentId,workspaceId:n.meetingSession.workspaceId,title:n.meetingSession.title,meetingUrl:n.meetingSession.meetingUrl,status:n.meetingSession.status,participants:n.meetingSession.participants,scheduledAt:n.meetingSession.scheduledAt,agentName:n.agent.name}).from(n.meetingSession).leftJoin(n.agent,(0,t.eq)(n.agent.id,n.meetingSession.agentId)).where((0,t.and)((0,t.eq)(n.meetingSession.workspaceId,i),(0,t.eq)(n.meetingSession.status,"scheduled"),(0,t.eq)(n.meetingSession.isWhitelisted,!0),(0,t.lte)(n.meetingSession.scheduledAt,r))).orderBy(n.meetingSession.scheduledAt)}async function ni(e,i){return e.select().from(n.meetingSession).where((0,t.and)((0,t.eq)(n.meetingSession.workspaceId,i),(0,t.isNotNull)(n.meetingSession.scheduledAt))).orderBy(n.meetingSession.scheduledAt)}e.s(["addWhitelist",0,tl,"buildWhitelistSet",0,tg,"getWhitelist",0,tu,"isWhitelisted",0,tm,"removeWhitelist",0,td,"removeWhitelistByEmail",0,tc],315576),e.s(["createEmail",0,tp,"deleteEmail",0,tw,"getEmailById",0,tf,"getEmailByMessageId",0,tb,"getEmailsByAgent",0,th,"getInboxEmails",0,tv,"getRejectedEmails",0,t$,"getSentEmails",0,ty,"getTrustedEmails",0,t_,"updateEmailStatus",0,tk],961100),e.s(["getValidSession",0,tI],237209),e.i(553223),e.s(["artifactToResponse",0,function(e){return{id:e.id,conversation_id:e.conversationId,agent_id:e.agentId,filename:e.filename,content_type:e.contentType,size:e.size,source:e.source,created_at:e.createdAt}},"createArtifact",0,tS,"getArtifact",0,tT,"listArtifactsByConversation",0,tx],397614),e.s(["createEmailAccount",0,tA,"deleteEmailAccount",0,tD,"getAllEmailAccountsForWorkspace",0,tE,"getEmailAccount",0,tN,"getEmailAccountById",0,tq,"getEmailAccountScoped",0,tP,"getEmailAccountsByAgent",0,tz,"getEmailAccountsByAgents",0,tO,"updateEmailAccount",0,tZ],68438),e.s(["createInvite",0,tU,"deleteInvite",0,tQ,"getInviteByToken",0,tj,"listActiveInvites",0,tC,"redeemInvite",0,tL],923566),e.s(["getAllAgentAccessForWorkspace",0,tK,"grantAgentAccess",0,tB,"hasAgentAccess",0,tM,"listAgentAccess",0,tR,"revokeAgentAccess",0,tF],715172),e.s(["listPins",0,tV,"pinAgent",0,tJ,"reorderPins",0,tG,"unpinAgent",0,tW],69974),e.s(["listOrder",0,tH,"reorder",0,tX],912701),e.s(["getConversationCountsByAgent",0,t6,"getEmailAccountsByWorkspace",0,t0,"getEmailStatsByWorkspace",0,tY,"getRecentTerminalTasks",0,t1,"getTaskStatsByWorkspace",0,t4],482420),e.s(["claimMeetingSession",0,t7,"claimMeetingSessions",0,ne,"createMeetingSession",0,t2,"deleteMeetingSession",0,nt,"getMeetingSession",0,t9,"getMeetingSessionById",0,t5,"listMeetingSessions",0,t3,"listMeetingsWithSchedule",0,ni,"listScheduledMeetings",0,nn,"updateMeetingSession",0,t8],95634);var nr=e.i(719436);let na=["user_dm_message","email_notification","calendar_event"];async function ns(e,t){let n=(0,nr.nanoid)();await e.run(q.sql`
76
76
  INSERT INTO inbox_unread (id, conversation_id, user_id, workspace_id, agent_id, task_id, task_type, task_status, task_prompt, completed_at, latest_message_id)
77
77
  VALUES (${n}, ${t.conversationId}, ${t.userId}, ${t.workspaceId}, ${t.agentId}, ${t.taskId}, ${t.taskType}, ${t.taskStatus}, ${t.taskPrompt}, ${t.completedAt}, ${t.latestMessageId})
78
78
  ON CONFLICT (conversation_id, user_id) DO UPDATE SET
@@ -151,7 +151,7 @@ params: ${t}`),this.query=e,this.params=t,this.cause=n,Error.captureStackTrace(t
151
151
  AND c.workspace_id = ${n}
152
152
  ON CONFLICT (conversation_id, user_id)
153
153
  DO UPDATE SET last_read_at = ${i}
154
- `),await nc(e,t,n)}async function nv(e,i){let[r]=await e.select({maxPos:q.sql`COALESCE(MAX(${n.channel.position}), -1)`}).from(n.channel).where((0,t.eq)(n.channel.workspaceId,i.workspaceId)),a=(r?.maxPos??-1)+1;return(await e.insert(n.channel).values({workspaceId:i.workspaceId,name:i.name,position:a}).returning())[0]}async function ny(e,i){return e.select().from(n.channel).where((0,t.eq)(n.channel.workspaceId,i)).orderBy((0,o.asc)(n.channel.position))}async function n_(e,i,r){return(await e.select().from(n.channel).where((0,t.and)((0,t.eq)(n.channel.workspaceId,i),(0,t.eq)(n.channel.name,r))))[0]??null}async function n$(e,i,r){return(await e.select().from(n.channel).where((0,t.and)((0,t.eq)(n.channel.id,i),(0,t.eq)(n.channel.workspaceId,r))))[0]??null}async function nb(e,i,r){let a=await n$(e,i,r);return a?(await nd(e,r,a.name),await e.batch([e.delete(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,r),(0,t.eq)(n.conversation.channel,a.name))),e.delete(n.channel).where((0,t.and)((0,t.eq)(n.channel.id,i),(0,t.eq)(n.channel.workspaceId,r)))]),a):null}async function nk(e,i,r,a){let s=await n$(e,i,r);return s?(await e.batch([e.update(n.conversation).set({channel:a}).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,r),(0,t.eq)(n.conversation.channel,s.name))),e.update(n.channel).set({name:a}).where((0,t.and)((0,t.eq)(n.channel.id,i),(0,t.eq)(n.channel.workspaceId,r)))]),{...s,name:a}):null}async function nw(e,i,r){await e.batch(r.map((r,a)=>e.update(n.channel).set({position:a}).where((0,t.and)((0,t.eq)(n.channel.id,r),(0,t.eq)(n.channel.workspaceId,i)))))}async function nI(e,t){return(await e.insert(n.workspaceFileRequest).values(t).returning())[0]}async function nS(e,i){return e.select().from(n.workspaceFileRequest).where((0,t.and)((0,t.eq)(n.workspaceFileRequest.workspaceId,i),(0,t.eq)(n.workspaceFileRequest.status,"pending")))}async function nx(e,i){0!==i.length&&await e.update(n.workspaceFileRequest).set({status:"dispatched",updatedAt:new Date().toISOString()}).where((0,t.inArray)(n.workspaceFileRequest.id,i))}async function nT(e,i,r){return(await e.update(n.workspaceFileRequest).set({status:"completed",result:JSON.stringify(r),updatedAt:new Date().toISOString()}).where((0,t.eq)(n.workspaceFileRequest.id,i)).returning())[0]??null}async function nA(e,i){return(await e.select().from(n.workspaceFileRequest).where((0,t.eq)(n.workspaceFileRequest.id,i)))[0]??null}async function nN(e,i){let r=new Date(Date.now()-3e4).toISOString();await e.delete(n.workspaceFileRequest).where((0,t.and)((0,t.eq)(n.workspaceFileRequest.workspaceId,i),(0,t.lt)(n.workspaceFileRequest.createdAt,r)))}async function nP(e,i,r,a,s){let o=new Date().toISOString(),u=a.map(e=>({workspaceId:i,agentId:null,daemonId:s??null,runtime:r,name:e.name,description:e.description,syncedAt:o})),l=s?(0,t.and)((0,t.eq)(n.agentSkill.workspaceId,i),(0,t.eq)(n.agentSkill.runtime,r),(0,t.isNull)(n.agentSkill.agentId),(0,t.eq)(n.agentSkill.daemonId,s)):(0,t.and)((0,t.eq)(n.agentSkill.workspaceId,i),(0,t.eq)(n.agentSkill.runtime,r),(0,t.isNull)(n.agentSkill.agentId),(0,t.isNull)(n.agentSkill.daemonId)),d=[e.delete(n.agentSkill).where(l)];for(let t=0;t<u.length;t+=10)d.push(e.insert(n.agentSkill).values(u.slice(t,t+10)));await e.batch(d)}async function nq(e,i,r,a,s){let o=new Date().toISOString(),u=s.map(e=>({workspaceId:a,agentId:i,runtime:r,name:e.name,description:e.description,syncedAt:o})),l=[e.delete(n.agentSkill).where((0,t.and)((0,t.eq)(n.agentSkill.agentId,i),(0,t.eq)(n.agentSkill.runtime,r)))];for(let t=0;t<u.length;t+=10)l.push(e.insert(n.agentSkill).values(u.slice(t,t+10)));await e.batch(l)}async function nz(e,i,r,a){let s=await e.select({name:n.agentSkill.name,description:n.agentSkill.description,isGlobal:(0,t.isNull)(n.agentSkill.agentId)}).from(n.agentSkill).where((0,t.and)((0,t.eq)(n.agentSkill.workspaceId,a),(0,t.eq)(n.agentSkill.runtime,r),(0,t.or)((0,t.isNull)(n.agentSkill.agentId),(0,t.eq)(n.agentSkill.agentId,i)))),o=new Set,u=[];for(let e of s){let t=e.isGlobal?`global:${e.name}`:`agent:${e.name}`;o.has(t)||(o.add(t),u.push(e))}return u}async function nZ(e,i,r){let a=await e.select({conversationId:n.conversationMap.conversationId}).from(n.conversationMap).where((0,t.and)((0,t.eq)(n.conversationMap.key,i),(0,t.eq)(n.conversationMap.workspaceId,r))).limit(1);return a[0]?.conversationId??null}async function nD(e,t){await e.insert(n.conversationMap).values({id:(0,nr.nanoid)(),key:t.key,workspaceId:t.workspaceId,conversationId:t.conversationId,createdAt:new Date().toISOString()}).onConflictDoNothing()}async function nO(e,i,r){let a=e.select().from(n.agentLink).where((0,t.eq)(n.agentLink.workspaceId,i)).$dynamic();return r?.limit&&(a=a.limit(r.limit)),r?.offset&&(a=a.offset(r.offset)),a}async function nE(e,i,r){return e.select().from(n.agentLink).where((0,t.and)((0,t.eq)(n.agentLink.workspaceId,r),(0,t.or)((0,t.eq)(n.agentLink.sourceAgentId,i),(0,t.eq)(n.agentLink.targetAgentId,i))))}async function nU(e,t){let{sourceAgentId:i,targetAgentId:r}=t;return i>r&&([i,r]=[r,i]),(await e.insert(n.agentLink).values({workspaceId:t.workspaceId,sourceAgentId:i,targetAgentId:r,instruction:t.instruction??""}).returning())[0]}async function nj(e,i,r,a){let[s,o]=r>a?[a,r]:[r,a];return(await e.select().from(n.agentLink).where((0,t.and)((0,t.eq)(n.agentLink.workspaceId,i),(0,t.eq)(n.agentLink.sourceAgentId,s),(0,t.eq)(n.agentLink.targetAgentId,o))))[0]??null}async function nC(e,t){let n=await nj(e,t.workspaceId,t.sourceAgentId,t.targetAgentId);if(n){let i=await nL(e,n.id,t.workspaceId,{instruction:t.instruction});return i?{row:i,created:!1}:{row:n,created:!1}}return{row:await nU(e,t),created:!0}}async function nL(e,i,r,a){return(await e.update(n.agentLink).set({instruction:a.instruction,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentLink.id,i),(0,t.eq)(n.agentLink.workspaceId,r))).returning())[0]??null}async function nQ(e,i,r){return(await e.delete(n.agentLink).where((0,t.and)((0,t.eq)(n.agentLink.id,i),(0,t.eq)(n.agentLink.workspaceId,r))).returning())[0]??null}async function nR(e,i,r){return[...await e.select({name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.targetAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.eq)(n.agentLink.sourceAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r))),...await e.select({name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.sourceAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.eq)(n.agentLink.targetAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r)))]}async function nB(e,i,r){return 0===i.length?[]:[...await e.select({agentId:n.agentLink.sourceAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.targetAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.inArray)(n.agentLink.sourceAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r))),...await e.select({agentId:n.agentLink.targetAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.sourceAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.inArray)(n.agentLink.targetAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r)))]}async function nF(e,i){return[...await e.select({agentId:n.agentLink.sourceAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.targetAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.eq)(n.agentLink.workspaceId,i)),...await e.select({agentId:n.agentLink.targetAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.sourceAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.eq)(n.agentLink.workspaceId,i))]}e.s(["deleteAllUnreadEntries",0,nc,"deleteUnreadByChannel",0,nd,"deleteUnreadByConversation",0,nl,"deleteUnreadEntry",0,nu,"findLatestAssistantMessageId",0,nm,"getUnreadCount",0,np,"isUnreadEligible",0,function(e){return null==e.parentTaskId&&null!=e.traceId&&!!na.includes(e.type)&&("email_notification"!==e.type||e.context?.isInternal!==!0)},"listUnreadConversations",0,ng,"markAllConversationsRead",0,nh,"markConversationRead",0,nf,"updateUnreadLatestMessage",0,no,"upsertUnreadEntry",0,ns],965939),e.s(["createChannel",0,nv,"deleteChannel",0,nb,"getChannelById",0,n$,"getChannelByName",0,n_,"listChannels",0,ny,"renameChannel",0,nk,"reorderChannels",0,nw],166485),e.s(["completeRequest",0,nT,"createRequest",0,nI,"expireStale",0,nN,"getPendingByWorkspace",0,nS,"getRequest",0,nA,"markDispatched",0,nx],930980),e.s(["getSkills",0,nz,"syncAgentSkills",0,nq,"syncGlobalSkills",0,nP],75056),e.s(["createMapping",0,nD,"findByKey",0,nZ],66643),e.s(["create",0,nU,"getAllColleaguesForWorkspace",0,nF,"getByPair",0,nj,"getColleaguesForAgent",0,nR,"getColleaguesForAgents",0,nB,"listByAgent",0,nE,"listByWorkspace",0,nO,"remove",0,nQ,"update",0,nL,"upsertByPair",0,nC],542885);let nM=["todo","in_progress","review"];async function nK(e,t){let i=new Date().toISOString();return(await e.insert(n.issue).values({workspaceId:t.workspaceId,agentId:t.agentId,creatorUserId:t.creatorUserId,conversationId:t.conversationId,title:t.title,description:t.description,status:t.status??"todo",createdAt:i,updatedAt:i}).returning())[0]}async function nV(e,i,r){return(await e.select().from(n.issue).where((0,t.and)((0,t.eq)(n.issue.id,i),(0,t.eq)(n.issue.workspaceId,r))))[0]??null}async function nJ(e,i,r){return(await e.select().from(n.issue).where((0,t.and)((0,t.eq)(n.issue.conversationId,i),(0,t.eq)(n.issue.workspaceId,r))))[0]??null}async function nW(e,i,r={}){let a=[(0,t.eq)(n.issue.workspaceId,i)];if(r.agentId&&a.push((0,t.eq)(n.issue.agentId,r.agentId)),r.status&&a.push((0,t.eq)(n.issue.status,r.status)),void 0!==r.terminal){let e=[...C.TERMINAL_ISSUE_STATUSES];a.push(r.terminal?(0,t.inArray)(n.issue.status,e):(0,t.inArray)(n.issue.status,nM))}return e.select().from(n.issue).where((0,t.and)(...a)).orderBy((0,o.desc)(n.issue.updatedAt))}async function nG(e,i,r,a){let s=new Date().toISOString(),o=a.status?C.TERMINAL_ISSUE_STATUSES.includes(a.status):void 0,u={updatedAt:s};return void 0!==a.title&&(u.title=a.title),void 0!==a.description&&(u.description=a.description),void 0!==a.status&&(u.status=a.status),void 0!==a.latestTaskId&&(u.latestTaskId=a.latestTaskId),void 0!==a.agentId&&(u.agentId=a.agentId),void 0!==a.conversationId&&(u.conversationId=a.conversationId),void 0!==o&&(u.completedAt=o?s:null),(await e.update(n.issue).set(u).where((0,t.and)((0,t.eq)(n.issue.id,i),(0,t.eq)(n.issue.workspaceId,r))).returning())[0]??null}async function nH(e,t,n,i){return nG(e,t,n,{latestTaskId:i})}async function nX(e,i,r){return(await e.delete(n.issue).where((0,t.and)((0,t.eq)(n.issue.id,i),(0,t.eq)(n.issue.workspaceId,r))).returning())[0]??null}async function nY(e,i,r){let a=await nV(e,i,r);return a?a.conversationId?await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,a.conversationId),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.asc)(n.message.createdAt),(0,o.asc)(n.message.id)):[]:null}async function n0(e,t){return(await e.insert(n.issueComment).values({issueId:t.issueId,workspaceId:t.workspaceId,authorType:t.authorType,authorId:t.authorId,content:t.content}).returning())[0]}async function n4(e,i,r){return e.select().from(n.issueComment).where((0,t.and)((0,t.eq)(n.issueComment.issueId,i),(0,t.eq)(n.issueComment.workspaceId,r))).orderBy((0,o.asc)(n.issueComment.createdAt))}async function n1(e,i,r){return(await e.delete(n.issueComment).where((0,t.and)((0,t.eq)(n.issueComment.id,i),(0,t.eq)(n.issueComment.workspaceId,r))).returning())[0]??null}async function n6(e,i){let r=await e.select({workspaceId:n.conversation.workspaceId}).from(n.message).innerJoin(n.conversation,(0,t.eq)(n.conversation.id,n.message.conversationId)).where((0,t.eq)(n.message.id,i)).limit(1);return r[0]?.workspaceId??null}async function n2(e,t){return(await e.insert(n.messageFlag).values(t).onConflictDoNothing().returning())[0]??null}async function n9(e,i,r,a){return(await e.delete(n.messageFlag).where((0,t.and)((0,t.eq)(n.messageFlag.messageId,i),(0,t.eq)(n.messageFlag.userId,r),(0,t.eq)(n.messageFlag.workspaceId,a))).returning())[0]??null}async function n5(e,t,n,i){let r=i?.limit??30,a=i?.before?q.sql`AND mf.created_at < ${i.before}`:q.sql``,s=await e.all(q.sql`
154
+ `),await nc(e,t,n)}async function nv(e,i){let[r]=await e.select({maxPos:q.sql`COALESCE(MAX(${n.channel.position}), -1)`}).from(n.channel).where((0,t.eq)(n.channel.workspaceId,i.workspaceId)),a=(r?.maxPos??-1)+1;return(await e.insert(n.channel).values({workspaceId:i.workspaceId,name:i.name,position:a}).returning())[0]}async function ny(e,i){return e.select().from(n.channel).where((0,t.eq)(n.channel.workspaceId,i)).orderBy((0,o.asc)(n.channel.position))}async function n_(e,i,r){return(await e.select().from(n.channel).where((0,t.and)((0,t.eq)(n.channel.workspaceId,i),(0,t.eq)(n.channel.name,r))))[0]??null}async function n$(e,i,r){return(await e.select().from(n.channel).where((0,t.and)((0,t.eq)(n.channel.id,i),(0,t.eq)(n.channel.workspaceId,r))))[0]??null}async function nb(e,i,r){let a=await n$(e,i,r);return a?(await nd(e,r,a.name),await e.batch([e.delete(n.conversation).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,r),(0,t.eq)(n.conversation.channel,a.name))),e.delete(n.channel).where((0,t.and)((0,t.eq)(n.channel.id,i),(0,t.eq)(n.channel.workspaceId,r)))]),a):null}async function nk(e,i,r,a){let s=await n$(e,i,r);return s?(await e.batch([e.update(n.conversation).set({channel:a}).where((0,t.and)((0,t.eq)(n.conversation.workspaceId,r),(0,t.eq)(n.conversation.channel,s.name))),e.update(n.channel).set({name:a}).where((0,t.and)((0,t.eq)(n.channel.id,i),(0,t.eq)(n.channel.workspaceId,r)))]),{...s,name:a}):null}async function nw(e,i,r){await e.batch(r.map((r,a)=>e.update(n.channel).set({position:a}).where((0,t.and)((0,t.eq)(n.channel.id,r),(0,t.eq)(n.channel.workspaceId,i)))))}async function nI(e,t){return(await e.insert(n.workspaceFileRequest).values(t).returning())[0]}async function nS(e,i){return e.select().from(n.workspaceFileRequest).where((0,t.and)((0,t.eq)(n.workspaceFileRequest.workspaceId,i),(0,t.eq)(n.workspaceFileRequest.status,"pending")))}async function nx(e,i){0!==i.length&&await e.update(n.workspaceFileRequest).set({status:"dispatched",updatedAt:new Date().toISOString()}).where((0,t.inArray)(n.workspaceFileRequest.id,i))}async function nT(e,i,r){return(await e.update(n.workspaceFileRequest).set({status:"completed",result:JSON.stringify(r),updatedAt:new Date().toISOString()}).where((0,t.eq)(n.workspaceFileRequest.id,i)).returning())[0]??null}async function nA(e,i){return(await e.select().from(n.workspaceFileRequest).where((0,t.eq)(n.workspaceFileRequest.id,i)))[0]??null}async function nN(e,i){let r=new Date(Date.now()-3e4).toISOString();await e.delete(n.workspaceFileRequest).where((0,t.and)((0,t.eq)(n.workspaceFileRequest.workspaceId,i),(0,t.lt)(n.workspaceFileRequest.createdAt,r)))}async function nP(e,i,r,a,s){let o=new Date().toISOString(),u=a.map(e=>({workspaceId:i,agentId:null,daemonId:s??null,runtime:r,name:e.name,description:e.description,syncedAt:o})),l=s?(0,t.and)((0,t.eq)(n.agentSkill.workspaceId,i),(0,t.eq)(n.agentSkill.runtime,r),(0,t.isNull)(n.agentSkill.agentId),(0,t.eq)(n.agentSkill.daemonId,s)):(0,t.and)((0,t.eq)(n.agentSkill.workspaceId,i),(0,t.eq)(n.agentSkill.runtime,r),(0,t.isNull)(n.agentSkill.agentId),(0,t.isNull)(n.agentSkill.daemonId)),d=[e.delete(n.agentSkill).where(l)];for(let t=0;t<u.length;t+=10)d.push(e.insert(n.agentSkill).values(u.slice(t,t+10)));await e.batch(d)}async function nq(e,i,r,a,s){let o=new Date().toISOString(),u=s.map(e=>({workspaceId:a,agentId:i,runtime:r,name:e.name,description:e.description,syncedAt:o})),l=[e.delete(n.agentSkill).where((0,t.and)((0,t.eq)(n.agentSkill.agentId,i),(0,t.eq)(n.agentSkill.runtime,r)))];for(let t=0;t<u.length;t+=10)l.push(e.insert(n.agentSkill).values(u.slice(t,t+10)));await e.batch(l)}async function nz(e,i,r,a){let s=await e.select({name:n.agentSkill.name,description:n.agentSkill.description,isGlobal:(0,t.isNull)(n.agentSkill.agentId)}).from(n.agentSkill).where((0,t.and)((0,t.eq)(n.agentSkill.workspaceId,a),(0,t.eq)(n.agentSkill.runtime,r),(0,t.or)((0,t.isNull)(n.agentSkill.agentId),(0,t.eq)(n.agentSkill.agentId,i)))),o=new Set,u=[];for(let e of s){let t=e.isGlobal?`global:${e.name}`:`agent:${e.name}`;o.has(t)||(o.add(t),u.push(e))}return u}async function nZ(e,i,r){let a=await e.select({conversationId:n.conversationMap.conversationId}).from(n.conversationMap).where((0,t.and)((0,t.eq)(n.conversationMap.key,i),(0,t.eq)(n.conversationMap.workspaceId,r))).limit(1);return a[0]?.conversationId??null}async function nD(e,t){await e.insert(n.conversationMap).values({id:(0,nr.nanoid)(),key:t.key,workspaceId:t.workspaceId,conversationId:t.conversationId,createdAt:new Date().toISOString()}).onConflictDoNothing()}async function nO(e,i,r){let a=e.select().from(n.agentLink).where((0,t.eq)(n.agentLink.workspaceId,i)).$dynamic();return r?.limit&&(a=a.limit(r.limit)),r?.offset&&(a=a.offset(r.offset)),a}async function nE(e,i,r){return e.select().from(n.agentLink).where((0,t.and)((0,t.eq)(n.agentLink.workspaceId,r),(0,t.or)((0,t.eq)(n.agentLink.sourceAgentId,i),(0,t.eq)(n.agentLink.targetAgentId,i))))}async function nU(e,t){let{sourceAgentId:i,targetAgentId:r}=t;return i>r&&([i,r]=[r,i]),(await e.insert(n.agentLink).values({workspaceId:t.workspaceId,sourceAgentId:i,targetAgentId:r,instruction:t.instruction??""}).returning())[0]}async function nj(e,i,r,a){let[s,o]=r>a?[a,r]:[r,a];return(await e.select().from(n.agentLink).where((0,t.and)((0,t.eq)(n.agentLink.workspaceId,i),(0,t.eq)(n.agentLink.sourceAgentId,s),(0,t.eq)(n.agentLink.targetAgentId,o))))[0]??null}async function nC(e,t){let n=await nj(e,t.workspaceId,t.sourceAgentId,t.targetAgentId);if(n){let i=await nL(e,n.id,t.workspaceId,{instruction:t.instruction});return i?{row:i,created:!1}:{row:n,created:!1}}return{row:await nU(e,t),created:!0}}async function nL(e,i,r,a){return(await e.update(n.agentLink).set({instruction:a.instruction,updatedAt:new Date().toISOString()}).where((0,t.and)((0,t.eq)(n.agentLink.id,i),(0,t.eq)(n.agentLink.workspaceId,r))).returning())[0]??null}async function nQ(e,i,r){return(await e.delete(n.agentLink).where((0,t.and)((0,t.eq)(n.agentLink.id,i),(0,t.eq)(n.agentLink.workspaceId,r))).returning())[0]??null}async function nR(e,i,r){return[...await e.select({name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.targetAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.eq)(n.agentLink.sourceAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r))),...await e.select({name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.sourceAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.eq)(n.agentLink.targetAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r)))]}async function nB(e,i,r){return 0===i.length?[]:[...await e.select({agentId:n.agentLink.sourceAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.targetAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.inArray)(n.agentLink.sourceAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r))),...await e.select({agentId:n.agentLink.targetAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.sourceAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.and)((0,t.inArray)(n.agentLink.targetAgentId,i),(0,t.eq)(n.agentLink.workspaceId,r)))]}async function nF(e,i){return[...await e.select({agentId:n.agentLink.sourceAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.targetAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.eq)(n.agentLink.workspaceId,i)),...await e.select({agentId:n.agentLink.targetAgentId,name:n.agent.name,emailHandle:n.agent.emailHandle,description:n.agent.description,instruction:n.agentLink.instruction}).from(n.agentLink).innerJoin(n.agent,(0,t.and)((0,t.eq)(n.agent.id,n.agentLink.sourceAgentId),(0,t.eq)(n.agent.workspaceId,n.agentLink.workspaceId))).where((0,t.eq)(n.agentLink.workspaceId,i))]}e.s(["deleteAllUnreadEntries",0,nc,"deleteUnreadByChannel",0,nd,"deleteUnreadByConversation",0,nl,"deleteUnreadEntry",0,nu,"findLatestAssistantMessageId",0,nm,"getUnreadCount",0,np,"isUnreadEligible",0,function(e){return null==e.parentTaskId&&null!=e.traceId&&!!na.includes(e.type)&&("email_notification"!==e.type||e.context?.isInternal!==!0)},"listUnreadConversations",0,ng,"markAllConversationsRead",0,nh,"markConversationRead",0,nf,"updateUnreadLatestMessage",0,no,"upsertUnreadEntry",0,ns],965939),e.s(["createChannel",0,nv,"deleteChannel",0,nb,"getChannelById",0,n$,"getChannelByName",0,n_,"listChannels",0,ny,"renameChannel",0,nk,"reorderChannels",0,nw],166485),e.s(["completeRequest",0,nT,"createRequest",0,nI,"expireStale",0,nN,"getPendingByWorkspace",0,nS,"getRequest",0,nA,"markDispatched",0,nx],930980),e.s(["getSkills",0,nz,"syncAgentSkills",0,nq,"syncGlobalSkills",0,nP],75056),e.s(["createMapping",0,nD,"findByKey",0,nZ],66643),e.s(["create",0,nU,"getAllColleaguesForWorkspace",0,nF,"getByPair",0,nj,"getColleaguesForAgent",0,nR,"getColleaguesForAgents",0,nB,"listByAgent",0,nE,"listByWorkspace",0,nO,"remove",0,nQ,"update",0,nL,"upsertByPair",0,nC],542885);let nM=["todo","in_progress","review"];async function nK(e,t){let i=new Date().toISOString();return(await e.insert(n.issue).values({workspaceId:t.workspaceId,agentId:t.agentId,creatorUserId:t.creatorUserId,conversationId:t.conversationId,title:t.title,description:t.description,status:t.status??"todo",createdAt:i,updatedAt:i}).returning())[0]}async function nV(e,i,r,a){let s=[(0,t.eq)(n.issue.id,i),(0,t.eq)(n.issue.workspaceId,r)];return a&&s.push((0,t.eq)(n.issue.creatorUserId,a)),(await e.select().from(n.issue).where((0,t.and)(...s)))[0]??null}async function nJ(e,i,r){return(await e.select().from(n.issue).where((0,t.and)((0,t.eq)(n.issue.conversationId,i),(0,t.eq)(n.issue.workspaceId,r))))[0]??null}async function nW(e,i,r){let a=[(0,t.eq)(n.issue.workspaceId,i),(0,t.eq)(n.issue.creatorUserId,r.userId)];if(r.agentId&&a.push((0,t.eq)(n.issue.agentId,r.agentId)),r.status&&a.push((0,t.eq)(n.issue.status,r.status)),void 0!==r.terminal){let e=[...C.TERMINAL_ISSUE_STATUSES];a.push(r.terminal?(0,t.inArray)(n.issue.status,e):(0,t.inArray)(n.issue.status,nM))}return e.select().from(n.issue).where((0,t.and)(...a)).orderBy((0,o.desc)(n.issue.updatedAt))}async function nG(e,i,r,a){let s=new Date().toISOString(),o=a.status?C.TERMINAL_ISSUE_STATUSES.includes(a.status):void 0,u={updatedAt:s};return void 0!==a.title&&(u.title=a.title),void 0!==a.description&&(u.description=a.description),void 0!==a.status&&(u.status=a.status),void 0!==a.latestTaskId&&(u.latestTaskId=a.latestTaskId),void 0!==a.agentId&&(u.agentId=a.agentId),void 0!==a.conversationId&&(u.conversationId=a.conversationId),void 0!==o&&(u.completedAt=o?s:null),(await e.update(n.issue).set(u).where((0,t.and)((0,t.eq)(n.issue.id,i),(0,t.eq)(n.issue.workspaceId,r))).returning())[0]??null}async function nH(e,t,n,i){return nG(e,t,n,{latestTaskId:i})}async function nX(e,i,r){return(await e.delete(n.issue).where((0,t.and)((0,t.eq)(n.issue.id,i),(0,t.eq)(n.issue.workspaceId,r))).returning())[0]??null}async function nY(e,i,r){let a=await nV(e,i,r);return a?a.conversationId?await e.select().from(n.message).where((0,t.and)((0,t.eq)(n.message.conversationId,a.conversationId),(0,t.eq)(n.message.status,"active"))).orderBy((0,o.asc)(n.message.createdAt),(0,o.asc)(n.message.id)):[]:null}async function n0(e,t){return(await e.insert(n.issueComment).values({issueId:t.issueId,workspaceId:t.workspaceId,authorType:t.authorType,authorId:t.authorId,content:t.content}).returning())[0]}async function n4(e,i,r){return e.select().from(n.issueComment).where((0,t.and)((0,t.eq)(n.issueComment.issueId,i),(0,t.eq)(n.issueComment.workspaceId,r))).orderBy((0,o.asc)(n.issueComment.createdAt))}async function n1(e,i,r){return(await e.delete(n.issueComment).where((0,t.and)((0,t.eq)(n.issueComment.id,i),(0,t.eq)(n.issueComment.workspaceId,r))).returning())[0]??null}async function n6(e,i){let r=await e.select({workspaceId:n.conversation.workspaceId}).from(n.message).innerJoin(n.conversation,(0,t.eq)(n.conversation.id,n.message.conversationId)).where((0,t.eq)(n.message.id,i)).limit(1);return r[0]?.workspaceId??null}async function n2(e,t){return(await e.insert(n.messageFlag).values(t).onConflictDoNothing().returning())[0]??null}async function n9(e,i,r,a){return(await e.delete(n.messageFlag).where((0,t.and)((0,t.eq)(n.messageFlag.messageId,i),(0,t.eq)(n.messageFlag.userId,r),(0,t.eq)(n.messageFlag.workspaceId,a))).returning())[0]??null}async function n5(e,t,n,i){let r=i?.limit??30,a=i?.before?q.sql`AND mf.created_at < ${i.before}`:q.sql``,s=await e.all(q.sql`
155
155
  SELECT
156
156
  mf.id,
157
157
  mf.message_id,