panoma 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/BUILD-INFO.json +2 -2
- package/app/apps/web/.next-bundle/BUILD_ID +1 -1
- package/app/apps/web/.next-bundle/app-build-manifest.json +126 -126
- package/app/apps/web/.next-bundle/app-path-routes-manifest.json +25 -25
- package/app/apps/web/.next-bundle/build-manifest.json +2 -2
- package/app/apps/web/.next-bundle/prerender-manifest.json +9 -9
- package/app/apps/web/.next-bundle/server/app/(app)/agents/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/agents/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/ai/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/ai/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/bridge/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/bridge/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/copies/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/copies/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/credentials/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/credentials/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/disk/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/disk/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/hidden/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/hidden/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/p/[slug]/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/p/[slug]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/packages/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/packages/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/runs/[id]/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/runs/[id]/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/runs/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/runs/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/search/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/search/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/twin/look/page.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/twin/look/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/twin/page.js +2 -2
- package/app/apps/web/.next-bundle/server/app/(app)/twin/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/(app)/unsaved/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/accounts/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/accounts/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/consult/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/context/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/journal/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/keys/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/keys/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/log/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/mcp/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/mcp/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/notes/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/notes/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/tasks/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/agent/tasks/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ai/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ai/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assets/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assets/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assignments/launch/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assignments/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/assignments/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/catalog/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/catalog/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/check/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/consultations/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/consultations/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/describe/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/describe/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/disk/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/disk/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/enrich/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/enrich/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/environment/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/environment/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/hooks/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/hooks/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ingest/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/ingest/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/apply/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/apply/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/context/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/context/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/inspect/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/inspect/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/repair/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/repair/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/md/review/route.js +2 -2
- package/app/apps/web/.next-bundle/server/app/api/md/review/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/north/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/north/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/notes/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/notes/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/open/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/project/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/project/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/rescan/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/rescan/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/roots/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/roots/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/runs/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/scale/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/scale/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/search/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/secrets/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/secrets/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/tasks/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/today/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/today/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/assign/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/assign/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/classify/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/classify/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/critique/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/critique/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/design/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/design/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/distill/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/distill/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/look/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/look/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/mine/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/mine/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/score/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/score/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/shot/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/shot/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/sources/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/sources/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/synthesize/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/synthesize/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/taste/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/taste/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/verdicts/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/twin/verdicts/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/watch/route.js +1 -1
- package/app/apps/web/.next-bundle/server/app/api/watch/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app/icon/[id]/route_client-reference-manifest.js +1 -1
- package/app/apps/web/.next-bundle/server/app-paths-manifest.json +25 -25
- package/app/apps/web/.next-bundle/server/chunks/174.js +3 -0
- package/app/apps/web/.next-bundle/server/chunks/2930.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/3377.js +1 -0
- package/app/apps/web/.next-bundle/server/chunks/3677.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/4289.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/6790.js +3 -1
- package/app/apps/web/.next-bundle/server/chunks/7276.js +1 -1
- package/app/apps/web/.next-bundle/server/chunks/7876.js +1 -0
- package/app/apps/web/.next-bundle/server/functions-config-manifest.json +12 -12
- package/app/apps/web/.next-bundle/server/middleware-manifest.json +5 -5
- package/app/apps/web/.next-bundle/server/pages/500.html +1 -1
- package/app/apps/web/.next-bundle/server/pages-manifest.json +1 -1
- package/app/apps/web/.next-bundle/server/server-reference-manifest.json +1 -1
- package/app/apps/web/.next-bundle/static/chunks/4517-63995539421e71bd.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/7911-d549c69e290b1f96.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/agents/page-cdb332736d2b75f9.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/ai/page-60083a1b6a36c928.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/bridge/page-95d7d92ca0b30f20.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/credentials/page-e87253842975daa4.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/disk/page-15cd72dc04ac7de4.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/error-7a9266f6e98936d9.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/hidden/page-4e81219b6c5aeb2a.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/layout-20c619e7c3b1eb97.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/page-630a1079cd683bad.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/page-f4dd3e5acee2bfb4.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/[id]/page-572f84e2016be38a.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/search/page-6e94501b5e36f4b1.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-8e24b1b376cbdab8.js +1 -0
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/page-4d6804060b9830ff.js +1 -0
- package/app/node_modules/@panoma/db/dist/index.d.ts +10 -0
- package/app/node_modules/@panoma/db/dist/index.js +9 -0
- package/dist/{ai-command-XQGHWOY5.js → ai-command-U5V5SDJW.js} +1 -1
- package/dist/{check-command-2SZH5KYN.js → check-command-64DBJGYM.js} +3 -3
- package/dist/{chunk-JLPWKPLM.js → chunk-3WPD5CHL.js} +1 -1
- package/dist/{chunk-ELBBRUIH.js → chunk-FJATGEPD.js} +2 -2
- package/dist/{chunk-4ZMDIOH5.js → chunk-JMXXTMGV.js} +2 -2
- package/dist/{chunk-VP225OGF.js → chunk-KNPE4SJG.js} +8 -2
- package/dist/index.js +11 -11
- package/dist/{md-command-76RMDZKU.js → md-command-73QAVNOP.js} +2 -2
- package/dist/{next-command-KUHZCZPR.js → next-command-OQWKUMAH.js} +3 -3
- package/dist/{north-command-VRD6EQP6.js → north-command-7AVYNCB4.js} +3 -3
- package/dist/{review-command-ILJVQMZU.js → review-command-A6V3A5XG.js} +1 -1
- package/dist/{twin-command-XJEJ6453.js → twin-command-WSVMZWGC.js} +8 -4
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/app/apps/web/.next-bundle/server/chunks/5656.js +0 -3
- package/app/apps/web/.next-bundle/static/chunks/4517-194aeb1d92d9e4a0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/7911-22e5c2227cd664f0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/agents/page-5a6085ab51fd1c22.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/ai/page-ce796543295ea5b8.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/bridge/page-76f2bf4a1a914234.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/credentials/page-4febc07fcac150cd.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/disk/page-3a16dd5767b06f7a.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/error-1352ba2a30039af8.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/hidden/page-cd4dbfd609fee48f.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/layout-d7eece5b47fcac36.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/p/[slug]/page-d8ef4c62b6098da0.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/page-ae8edd375818c9f6.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/runs/[id]/page-7e0f3effeada2264.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/search/page-9c45c680651305fd.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-1c57d8dce043fb1f.js +0 -1
- package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/page-e1434054df4e5d66.js +0 -1
- /package/app/apps/web/.next-bundle/static/{EAuc0Br8TdDur7GG5w5XO → D8knSMGGk6yOk_0w3z22h}/_buildManifest.js +0 -0
- /package/app/apps/web/.next-bundle/static/{EAuc0Br8TdDur7GG5w5XO → D8knSMGGk6yOk_0w3z22h}/_ssgManifest.js +0 -0
package/app/apps/web/.next-bundle/static/chunks/app/(app)/twin/look/page-1c57d8dce043fb1f.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2168],{179:(e,t,n)=>{"use strict";n.d(t,{I18nProvider:()=>s,Y:()=>i,k:()=>c});var o=n(9763),r=n(4963),a=n(7911);let l=(0,r.createContext)("en");function s(e){let{locale:t,children:n}=e;return(0,o.jsx)(l.Provider,{value:t,children:n})}function i(){return(0,r.useContext)(l)}function c(){let e=(0,r.useContext)(l);return(0,r.useCallback)((t,n)=>(0,a.t)(e,t,n),[e])}},1636:(e,t,n)=>{"use strict";n.d(t,{LookFindings:()=>m,TwinLook:()=>d});var o=n(9763),r=n(4963),a=n(7244),l=n(179),s=n(5733),i=n(4204);let c=["image/png","image/jpeg","image/webp","image/gif"];function d(e){var t,n;let{boards:s,projects:d,maxBytes:m}=e,p=(0,l.k)(),f=(0,l.Y)(),h=(0,a.useRouter)(),g=(0,r.useRef)(null),[b,y]=(0,r.useState)(null),[v,j]=(0,r.useState)(null),[k,w]=(0,r.useState)(null),[N,O]=(0,r.useState)(null!=(n=null==(t=d[0])?void 0:t.slug)?n:"");async function S(e,t,n){y(t),j(null),w(null);try{var o,r,a;let t=await x({...e,dryRun:!0});if(t.error)return void j(t.error);j(p("look.estimate",{statements:null!=(o=t.statements)?o:0,tokens:null!=(r=t.estimatedTokens)?r:0,size:(0,i.z3)(null!=(a=t.imageBytes)?a:0)}));let l=await x({...e,dryRun:!1});if(l.error)return void j(l.error);w({subject:n,receipt:l}),j(null),h.refresh()}catch(e){j(p("project.unreachable"))}finally{y(null)}}async function P(e){if(!c.includes(e.type))return void j(p("look.badType"));if(e.size>m)return void j(p("look.tooBig",{size:(0,i.z3)(e.size),cap:(0,i.z3)(m)}));let t=function(e){let t="";for(let n=0;n<e.length;n+=8192)t+=String.fromCharCode(...e.subarray(n,n+8192));return btoa(t)}(new Uint8Array(await e.arrayBuffer()));await S({slug:N,image:t,mediaType:e.type,imageBytes:e.size},"upload",e.name)}return(0,o.jsxs)("section",{className:"mt-8 flex flex-col gap-6",children:[(0,o.jsx)("p",{className:"font-mono text-xs text-idle",children:p("look.notRedacted")}),0===s.length?(0,o.jsxs)("div",{className:"rounded-lg border border-edge px-4 py-4",children:[(0,o.jsx)("p",{className:"eyebrow",children:p("look.inboxTitle")}),(0,o.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:p("look.noInbox")}),(0,o.jsx)("p",{className:"mt-1 max-w-2xl font-mono text-xs text-smoke",children:p("look.noInboxHint")})]}):s.map(e=>(0,o.jsxs)("div",{className:"rounded-lg border border-edge px-4 py-4",children:[(0,o.jsx)("p",{className:"eyebrow",children:p("look.inboxOf",{project:e.name})}),(0,o.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:e.dir}),0===e.shots.length?(0,o.jsx)("p",{className:"mt-3 max-w-2xl text-sm leading-relaxed text-smoke",children:p("look.inboxEmpty")}):(0,o.jsx)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:e.shots.map(t=>{let n="".concat(e.slug,"/").concat(t.name);return(0,o.jsxs)("div",{className:"flex gap-3 rounded border border-edge p-2",children:[(0,o.jsx)("img",{src:"/api/twin/shot?slug=".concat(encodeURIComponent(e.slug),"&name=").concat(encodeURIComponent(t.name)),alt:t.name,className:"h-20 w-28 shrink-0 rounded border border-edge bg-raised object-cover"}),(0,o.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,o.jsx)("span",{className:"truncate font-mono text-xs",children:t.name}),(0,o.jsxs)("span",{className:"font-mono text-xs text-faint",children:[(0,i.z3)(t.bytes)," \xb7 ",new Date(t.at).toLocaleString(f)]}),null!==t.findings&&(0,o.jsx)("span",{className:"font-mono text-xs text-smoke",children:0===t.findings?p("look.lookedClean"):p("look.looked",{n:t.findings})}),(0,o.jsx)("button",{type:"button",onClick:()=>S({slug:e.slug,shot:t.name},n,t.name),disabled:null!==b,className:"mt-auto self-start rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk disabled:opacity-50",children:b===n?p("look.looking"):p(null===t.findings?"look.button":"look.buttonAgain")})]})]},n)})}),e.skipped>0&&(0,o.jsx)("p",{className:"mt-2 font-mono text-xs text-faint",children:p("look.inboxSkipped",{n:e.skipped})})]},e.slug)),d.length>0&&(0,o.jsxs)("div",{className:"rounded-lg border border-edge px-4 py-4",children:[(0,o.jsx)("p",{className:"eyebrow",children:p("look.uploadTitle")}),(0,o.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:p("look.uploadHint")}),(0,o.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,o.jsx)("select",{value:N,onChange:e=>O(e.target.value),"aria-label":p("look.uploadTarget"),className:"rounded border border-edge bg-transparent px-2 py-1 font-mono text-xs",children:d.map(e=>(0,o.jsx)("option",{value:e.slug,children:e.name},e.slug))}),(0,o.jsx)("input",{ref:g,type:"file",accept:c.join(","),className:"hidden",onChange:e=>{var t;let n=null==(t=e.target.files)?void 0:t[0];e.target.value="",n&&P(n)}}),(0,o.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>{var e;return null==(e=g.current)?void 0:e.click()},busy:"upload"===b,busyLabel:p("look.looking"),disabled:null!==b||""===N,children:p("look.uploadPick")})]})]}),v&&(0,o.jsx)("p",{className:"font-mono text-xs text-smoke",children:v}),k&&(0,o.jsx)(u,{subject:k.subject,receipt:k.receipt})]})}function u(e){var t,n,r,a,s;let{subject:i,receipt:c}=e,d=(0,l.k)(),u=null!=(t=c.findings)?t:[];return(0,o.jsxs)("div",{className:"rounded-lg border border-edge px-4 py-4",children:[(0,o.jsx)("p",{className:"eyebrow",children:d("look.verdictOf",{subject:i})}),c.unreadable?(0,o.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-idle",children:d("look.unreadable")}):0===u.length?(0,o.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:d("look.clean")}):(0,o.jsx)(m,{lookId:null!=(n=c.lookId)?n:"",findings:u,assigned:{}}),(0,o.jsxs)("p",{className:"mt-3 font-mono text-xs text-faint",children:[d("look.measured",{statements:null!=(r=c.statements)?r:0}),c.model?" \xb7 ".concat(c.model):""]}),(null!=(a=c.dropped)?a:0)>0&&(0,o.jsx)("p",{className:"mt-1 font-mono text-xs text-faint",children:d("look.dropped",{n:null!=(s=c.dropped)?s:0})})]})}function m(e){let{lookId:t,findings:n,assigned:c,launched:d=[],discarded:u=[]}=e,m=(0,l.k)(),x=(0,a.useRouter)(),p=(0,s.q)(),[f,h]=(0,r.useState)(c),[g,b]=(0,r.useState)(()=>new Set(d)),[y,v]=(0,r.useState)(()=>new Set(u)),[j,k]=(0,r.useState)(null),[w,N]=(0,r.useState)({});function O(e,t){N(n=>({...n,[e]:t}))}async function S(e){k(e);try{var n,o,r;let a=await fetch("/api/twin/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lookId:t,finding:e})}),l=await a.json();if(!a.ok){l.id&&h(t=>({...t,[e]:l.id})),O(e,null!=(n=l.error)?n:String(a.status));return}l.id&&h(t=>({...t,[e]:l.id})),v(t=>{let n=new Set(t);return n.delete(e),n}),O(e,m("look.assignDone",{project:null!=(o=l.project)?o:"",title:null!=(r=l.title)?r:""})),x.refresh()}catch(t){O(e,m("project.unreachable"))}finally{k(null)}}async function P(e){k(e);try{let o=await fetch("/api/twin/assign",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({lookId:t,finding:e,decision:"discard"})}),r=await o.json();if(!o.ok){var n;O(e,null!=(n=r.error)?n:String(o.status));return}v(t=>new Set(t).add(e)),h(t=>{let n={...t};return delete n[e],n}),O(e,m("look.dismissDone")),x.refresh()}catch(t){O(e,m("project.unreachable"))}finally{k(null)}}async function C(e,t){k(e);try{var n,o;let r=await fetch("/api/assignments/launch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:t})}),a=await r.json();r.ok&&b(e=>new Set(e).add(t)),O(e,r.ok?m("look.assignLaunched",{agent:null!=(n=a.agent)?n:""}):null!=(o=a.error)?o:String(r.status))}catch(t){O(e,m("project.unreachable"))}finally{k(null)}}return(0,o.jsx)("ol",{className:"mt-3 flex flex-col gap-4",children:n.map((e,n)=>{let r=f[n],a=y.has(n);return(0,o.jsxs)("li",{className:"flex flex-col gap-1",children:[(0,o.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed",children:e.what}),(0,o.jsx)("p",{className:"max-w-2xl font-mono text-xs text-faint",children:e.where}),(0,o.jsx)("p",{className:"max-w-2xl text-sm leading-relaxed text-smoke",children:m("look.fix",{fix:e.fix})}),e.cites.map(e=>(0,o.jsx)("p",{className:"max-w-2xl font-mono text-xs text-faint",children:m("look.against",{statement:e})},e)),""!==t&&(0,o.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,o.jsx)(i.rA,{tone:"plain",type:"button",onClick:()=>void S(n),busy:j===n&&void 0===r,busyLabel:m("look.assigning"),disabled:null!==j||void 0!==r,children:void 0!==r?m("look.assigned"):m("look.assignButton")}),!a&&(0,o.jsx)("button",{type:"button",onClick:()=>void P(n),disabled:null!==j,className:"rounded border border-edge px-2.5 py-1 font-mono text-xs text-faint transition-colors hover:border-chalk hover:text-smoke disabled:opacity-50",children:m("look.dismissButton")}),a&&(0,o.jsx)("span",{className:"font-mono text-xs text-faint",children:m("look.dismissed")}),void 0!==r&&p.available&&(0,o.jsx)("button",{type:"button",onClick:()=>void C(n,r),disabled:null!==j,className:"rounded border border-accent bg-accent px-2.5 py-1 font-mono text-xs text-white transition-opacity hover:opacity-85 disabled:opacity-50",children:m(g.has(r)?"look.assignAgain":"look.assignNow")})]}),w[n]&&(0,o.jsx)("p",{className:"max-w-2xl font-mono text-xs text-smoke",children:w[n]})]},n)})})}async function x(e){var t;let n=await fetch("/api/twin/look",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),o=await n.json();return n.ok?o:{...o,error:null!=(t=o.error)?t:String(n.status)}}},4204:(e,t,n)=>{"use strict";n.d(t,{rA:()=>m,lZ:()=>d,hV:()=>c,z3:()=>i.z,Pp:()=>l,KW:()=>s});var o=n(9763),r=n(5595),a=n(7911);function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es";if(!e)return"—";let n=Math.floor((Date.now()-new Date(e).getTime())/864e5);if("en"===t){if(n<=0)return"today";if(1===n)return"yesterday";if(n<30)return"".concat(n," d ago");if(n<365){let e=Math.floor(n/30);return"".concat(e," month").concat(1===e?"":"s"," ago")}let e=Math.floor(n/365);return"".concat(e," year").concat(1===e?"":"s"," ago")}if(n<=0)return"hoy";if(1===n)return"ayer";if(n<30)return"hace ".concat(n," d");if(n<365){let e=Math.floor(n/30);return"hace ".concat(e," ").concat(1===e?"mes":"meses")}let o=Math.floor(n/365);return"hace ".concat(o," a\xf1o").concat(1===o?"":"s")}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),o=n-new Date(e).getTime();if(!Number.isFinite(o))return"—";let r="en"===t;if(o<6e4)return r?"just now":"ahora mismo";if(o<36e5){let e=Math.floor(o/6e4);return r?"".concat(e," min ago"):"hace ".concat(e," min")}if(o<1728e5){let e=Math.floor(o/36e5);return r?"".concat(e," h ago"):"hace ".concat(e," h")}return l(e,t)}var i=n(7642);function c(e){let{name:t,src:n,size:l=56,tone:s="brand",locale:i}=e,c="panoma"===t.toLowerCase(),d="demo-runner"===t.toLowerCase()?"/assets/projects/demo-runner.png":null,u=c?"/assets/brand/panoma.svg":null!=n?n:d;return u?(0,o.jsx)("img",{src:u,loading:"lazy",alt:(0,a.t)(i,"common.iconOf",{name:t}),width:l,height:l,className:"shrink-0 rounded-[22%] border border-edge object-cover shadow-sm",style:{width:l,height:l}}):(0,o.jsx)("span",{"aria-hidden":!0,className:"flex shrink-0 items-center justify-center rounded-[22%] border border-edge ".concat("neutral"===s?"project-icon--neutral":"bg-raised text-accent"),style:{width:l,height:l},children:(0,o.jsx)(r.KQe,{style:{width:.46*l,height:.46*l}})})}function d(e){let{text:t,as:n="p",className:r}=e;return(0,o.jsx)(n,{role:"alert",className:"font-mono text-[11px] text-fail".concat(r?" ".concat(r):""),children:t})}let u={raised:"rounded border border-edge bg-raised px-3 py-1.5 font-mono text-[11px] text-smoke transition-colors hover:border-accent hover:text-accent disabled:opacity-50",surface:"rounded border border-edge bg-surface px-3 py-1.5 font-mono text-xs text-smoke transition-colors hover:border-accent hover:text-accent disabled:opacity-50",plain:"rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk disabled:opacity-50",accent:"rounded border border-accent bg-accent px-3 py-1.5 font-mono text-xs text-white transition-opacity hover:opacity-85 disabled:opacity-50"};function m(e){let{tone:t,busy:n=!1,busyLabel:r,disabled:a,className:l,children:s,...i}=e;return(0,o.jsx)("button",{...i,disabled:null!=a?a:n,className:"".concat(u[t]).concat(l?" ".concat(l):""),children:n&&void 0!==r?r:s})}},4652:(e,t,n)=>{"use strict";n.d(t,{k5:()=>d});var o=n(4963),r={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},a=o.createContext&&o.createContext(r),l=["attr","size","title"];function s(){return(s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(null,arguments)}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){var o,r,a;o=e,r=t,a=n[t],(r=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=typeof o)return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(r))in o?Object.defineProperty(o,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[r]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e){return t=>o.createElement(u,s({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,n)=>o.createElement(t.tag,c({key:n},t.attr),e(t.child)))}(e.child))}function u(e){var t=t=>{var n,r=e.attr,a=e.size,i=e.title,d=function(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if(({}).hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],-1===t.indexOf(n)&&({}).propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}(e,l),u=a||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),o.createElement("svg",s({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,d,{className:n,style:c(c({color:e.color||t.color},t.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),i&&o.createElement("title",null,i),e.children)};return void 0!==a?o.createElement(a.Consumer,null,e=>t(e)):t(r)}},5733:(e,t,n)=>{"use strict";let o;n.d(t,{q:()=>a});var r=n(4963);function a(){let[e,t]=(0,r.useState)({available:!1,agent:null});return(0,r.useEffect)(()=>{null!=o||(o=fetch("/api/assignments/launch").then(e=>e.json()).catch(()=>({available:!1,agent:null})));let e=!0;return o.then(n=>{e&&t(n)}),()=>{e=!1}},[]),e}},7244:(e,t,n)=>{"use strict";var o=n(3292);n.o(o,"usePathname")&&n.d(t,{usePathname:function(){return o.usePathname}}),n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})},7642:(e,t,n)=>{"use strict";function o(e){return e<1024?"".concat(e," B"):e<1048576?"".concat(Math.round(e/1024)," KB"):e<0x40000000?"".concat((e/1048576).toFixed(1)," MB"):"".concat((e/0x40000000).toFixed(1)," GB")}n.d(t,{z:()=>o})},8274:(e,t,n)=>{Promise.resolve().then(n.bind(n,1636))}},e=>{e.O(0,[6587,7911,9643,4737,7358],()=>e(e.s=8274)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1162],{179:(e,t,n)=>{"use strict";n.d(t,{I18nProvider:()=>a,Y:()=>l,k:()=>c});var r=n(9763),o=n(4963),i=n(7911);let s=(0,o.createContext)("en");function a(e){let{locale:t,children:n}=e;return(0,r.jsx)(s.Provider,{value:t,children:n})}function l(){return(0,o.useContext)(s)}function c(){let e=(0,o.useContext)(s);return(0,o.useCallback)((t,n)=>(0,i.t)(e,t,n),[e])}},733:(e,t,n)=>{"use strict";n.d(t,{TwinSynthesize:()=>a});var r=n(9763),o=n(4963),i=n(7244),s=n(179);function a(e){let{pending:t,compact:n}=e,a=(0,s.k)(),l=(0,i.useRouter)(),[c,d]=(0,o.useState)(!1),[u,p]=(0,o.useState)(null);async function m(){d(!0),p(null);try{var e,n,r,o,i,s,c;if(t>0){let t=await fetch("/api/twin/classify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),n=await t.json();if(!t.ok)return void p(null!=(e=n.error)?e:a("twin.synthFailed"))}let d=await fetch("/api/twin/synthesize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),u=await d.json();if(!d.ok)return void p(null!=(n=u.error)?n:a("twin.synthFailed"));let m=null!=(r=u.created)?r:0,x=null!=(o=u.refined)?o:0,h=null!=(i=u.retired)?i:0,f=null!=(s=u.proposed)?s:0,b=m+x+h+f,g=null!=(c=u.unchanged)?c:0,w=0===u.topics?g>0?a("twin.synthUpToDate"):a("twin.synthNothing"):a("twin.synthSame"),y=a("twin.synthDone",{created:m,refined:x,retired:h});p(0===b?w:0===f?y:"".concat(y," ").concat(a("twin.synthAsks",{n:f}))),l.refresh()}catch(e){p(a("project.unreachable"))}finally{d(!1)}}return(0,r.jsxs)("div",{className:n?"flex items-center gap-2":"mt-3 flex flex-col gap-1",children:[(0,r.jsx)("button",{type:"button",onClick:m,disabled:c,className:"self-start rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk disabled:opacity-50",children:c?a("twin.synthesizing"):a("twin.synthesize")}),u?(0,r.jsx)("p",{className:"font-mono text-xs text-smoke",children:u}):n?null:(0,r.jsx)("p",{className:"font-mono text-xs text-faint",children:a("twin.synthHint")})]})}},2189:(e,t,n)=>{"use strict";n.d(t,{TwinConsent:()=>l});var r=n(9763),o=n(4963),i=n(7244),s=n(179),a=n(4204);function l(e){let{standing:t,chars:n,cap:l}=e,c=(0,s.k)(),d=(0,i.useRouter)(),[u,p]=(0,o.useState)(!1),[m,x]=(0,o.useState)(null);async function h(e){p(!0),x(null);try{var t;let n=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({publishInferred:e})}),r=await n.json();n.ok||x(null!=(t=r.error)?t:String(n.status)),d.refresh()}catch(e){x(c("project.unreachable"))}finally{p(!1)}}return(0,r.jsxs)("section",{className:"mt-12 rounded-lg border border-edge px-4 py-4",children:[(0,r.jsx)("p",{className:"eyebrow",children:c("twin.consentTitle")}),(0,r.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:c("twin.consentBody")}),(0,r.jsxs)("p",{className:"mt-2 max-w-2xl font-mono text-xs ".concat(n>l?"text-idle":"text-smoke"),children:[c("twin.consentCount",{n:t,chars:n}),n>l?" \xb7 ".concat(c("twin.consentOver",{cap:l})):""]}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,r.jsx)(a.rA,{tone:"accent",type:"button",onClick:()=>h(!0),busy:u,busyLabel:c("twin.saving"),children:c("twin.consentAllow")}),(0,r.jsx)("span",{className:"font-mono text-xs text-faint",children:c("twin.consentRevoke")})]}),m&&(0,r.jsx)("p",{className:"mt-2 font-mono text-xs text-idle",children:c("twin.saveFailed",{detail:m})})]})}},4204:(e,t,n)=>{"use strict";n.d(t,{rA:()=>p,lZ:()=>d,hV:()=>c,z3:()=>l.z,Pp:()=>s,KW:()=>a});var r=n(9763),o=n(5595),i=n(7911);function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es";if(!e)return"—";let n=Math.floor((Date.now()-new Date(e).getTime())/864e5);if("en"===t){if(n<=0)return"today";if(1===n)return"yesterday";if(n<30)return"".concat(n," d ago");if(n<365){let e=Math.floor(n/30);return"".concat(e," month").concat(1===e?"":"s"," ago")}let e=Math.floor(n/365);return"".concat(e," year").concat(1===e?"":"s"," ago")}if(n<=0)return"hoy";if(1===n)return"ayer";if(n<30)return"hace ".concat(n," d");if(n<365){let e=Math.floor(n/30);return"hace ".concat(e," ").concat(1===e?"mes":"meses")}let r=Math.floor(n/365);return"hace ".concat(r," a\xf1o").concat(1===r?"":"s")}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"es",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),r=n-new Date(e).getTime();if(!Number.isFinite(r))return"—";let o="en"===t;if(r<6e4)return o?"just now":"ahora mismo";if(r<36e5){let e=Math.floor(r/6e4);return o?"".concat(e," min ago"):"hace ".concat(e," min")}if(r<1728e5){let e=Math.floor(r/36e5);return o?"".concat(e," h ago"):"hace ".concat(e," h")}return s(e,t)}var l=n(7642);function c(e){let{name:t,src:n,size:s=56,tone:a="brand",locale:l}=e,c="panoma"===t.toLowerCase(),d="demo-runner"===t.toLowerCase()?"/assets/projects/demo-runner.png":null,u=c?"/assets/brand/panoma.svg":null!=n?n:d;return u?(0,r.jsx)("img",{src:u,loading:"lazy",alt:(0,i.t)(l,"common.iconOf",{name:t}),width:s,height:s,className:"shrink-0 rounded-[22%] border border-edge object-cover shadow-sm",style:{width:s,height:s}}):(0,r.jsx)("span",{"aria-hidden":!0,className:"flex shrink-0 items-center justify-center rounded-[22%] border border-edge ".concat("neutral"===a?"project-icon--neutral":"bg-raised text-accent"),style:{width:s,height:s},children:(0,r.jsx)(o.KQe,{style:{width:.46*s,height:.46*s}})})}function d(e){let{text:t,as:n="p",className:o}=e;return(0,r.jsx)(n,{role:"alert",className:"font-mono text-[11px] text-fail".concat(o?" ".concat(o):""),children:t})}let u={raised:"rounded border border-edge bg-raised px-3 py-1.5 font-mono text-[11px] text-smoke transition-colors hover:border-accent hover:text-accent disabled:opacity-50",surface:"rounded border border-edge bg-surface px-3 py-1.5 font-mono text-xs text-smoke transition-colors hover:border-accent hover:text-accent disabled:opacity-50",plain:"rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk disabled:opacity-50",accent:"rounded border border-accent bg-accent px-3 py-1.5 font-mono text-xs text-white transition-opacity hover:opacity-85 disabled:opacity-50"};function p(e){let{tone:t,busy:n=!1,busyLabel:o,disabled:i,className:s,children:a,...l}=e;return(0,r.jsx)("button",{...l,disabled:null!=i?i:n,className:"".concat(u[t]).concat(s?" ".concat(s):""),children:n&&void 0!==o?o:a})}},4652:(e,t,n)=>{"use strict";n.d(t,{k5:()=>d});var r=n(4963),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},i=r.createContext&&r.createContext(o),s=["attr","size","title"];function a(){return(a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach(function(t){var r,o,i;r=e,o=t,i=n[t],(o=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(o))in r?Object.defineProperty(r,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d(e){return t=>r.createElement(u,a({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,n)=>r.createElement(t.tag,c({key:n},t.attr),e(t.child)))}(e.child))}function u(e){var t=t=>{var n,o=e.attr,i=e.size,l=e.title,d=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n={};for(var r in e)if(({}).hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],-1===t.indexOf(n)&&({}).propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,s),u=i||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),r.createElement("svg",a({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,d,{className:n,style:c(c({color:e.color||t.color},t.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),l&&r.createElement("title",null,l),e.children)};return void 0!==i?r.createElement(i.Consumer,null,e=>t(e)):t(o)}},7244:(e,t,n)=>{"use strict";var r=n(3292);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},7522:(e,t,n)=>{"use strict";n.d(t,{TwinDistill:()=>a});var r=n(9763),o=n(4963),i=n(7244),s=n(179);function a(e){let{left:t}=e,n=(0,s.k)(),a=(0,i.useRouter)(),[d,u]=(0,o.useState)(!1),[p,m]=(0,o.useState)(null);async function x(){u(!0),m(null);try{var e,t,r,o,i;m(n("twin.mining"));let s=await l();if(s.unreachable)m(n("project.unreachable"));else if(void 0!==s.error){if(m(s.error),s.blocked)return}else{let r=null!=(e=s.saved)?e:0;m(0===r?n("twin.minedNone"):n("twin.mined",{saved:r,duplicates:null!=(t=s.duplicates)?t:0}))}let d=await c({dryRun:!0});if(d.error)return void m(d.hint?"".concat(d.error," ").concat(d.hint):d.error);if(!d.verdicts)return void m(n("twin.distillNothing"));m(n("twin.distillEstimate",{verdicts:d.verdicts,tokens:null!=(r=d.estimatedTokens)?r:0}));let u=0,p=0;for(let e=1;e<=20;e+=1){let e=await c({});if(u+=null!=(o=e.verdicts)?o:0,p+=null!=(i=e.saved)?i:0,e.error){m(e.hint?"".concat(e.error," ").concat(e.hint):e.error);break}let t=e.corpus?Math.max(e.corpus.total-e.corpus.read,0):0;if(m(n("twin.distillProgress",{read:u,saved:p,left:t})),!e.verdicts||t<=0)break}a.refresh()}catch(e){m(n("project.unreachable"))}finally{u(!1)}}return(0,r.jsxs)("div",{className:"mt-2 flex flex-col gap-1",children:[(0,r.jsx)("button",{type:"button",onClick:x,disabled:d,className:"self-start rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk disabled:opacity-50",children:d?n("twin.distilling"):t>0?n("twin.mineButtonLeft",{n:t}):n("twin.mineButton")}),p&&(0,r.jsx)("p",{className:"font-mono text-xs text-smoke",children:p})]})}async function l(){try{var e;let t=await fetch("/api/twin/mine",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),n=await t.json();if(t.ok)return n;return{error:null!=(e=n.error)?e:String(t.status),...409===t.status?{blocked:!0}:{}}}catch(e){return{unreachable:!0}}}async function c(e){var t;let n=await fetch("/api/twin/distill",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await n.json();return n.ok?r:{...r,error:null!=(t=r.error)?t:String(n.status)}}},7642:(e,t,n)=>{"use strict";function r(e){return e<1024?"".concat(e," B"):e<1048576?"".concat(Math.round(e/1024)," KB"):e<0x40000000?"".concat((e/1048576).toFixed(1)," MB"):"".concat((e/0x40000000).toFixed(1)," GB")}n.d(t,{z:()=>r})},7657:(e,t,n)=>{"use strict";n.d(t,{TwinSources:()=>l});var r=n(9763),o=n(4963),i=n(7244),s=n(179),a=n(4204);function l(e){let{sources:t}=e,n=(0,s.k)(),l=(0,i.useRouter)(),[c,d]=(0,o.useState)(null),[u,p]=(0,o.useState)(null),[m,x]=(0,o.useState)(t);async function h(e,t){d(e),p(null);try{let n=await fetch("/api/twin/sources",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:e,allowed:t})}),o=await n.json();if(!n.ok){var r;p(null!=(r=o.error)?r:String(n.status));return}o.sources&&x(o.sources),l.refresh()}catch(e){p(n("project.unreachable"))}finally{d(null)}}let f=m.filter(e=>"absent"!==e.state);return 0===f.length?(0,r.jsxs)("section",{className:"mt-6 rounded-lg border border-edge px-4 py-4",children:[(0,r.jsx)("p",{className:"eyebrow",children:n("twin.sourcesTitle")}),(0,r.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:n("twin.sourcesNone")})]}):(0,r.jsxs)("section",{className:"mt-6 rounded-lg border border-edge px-4 py-4",children:[(0,r.jsx)("p",{className:"eyebrow",children:n("twin.sourcesTitle")}),(0,r.jsx)("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed",children:n("twin.sourcesLead")}),(0,r.jsx)("div",{className:"mt-3 flex flex-col gap-2",children:f.map(e=>(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("span",{className:"font-mono text-xs",children:e.label}),(0,r.jsx)("span",{className:"font-mono text-xs text-faint",children:e.present?n("twin.sourceSize",{files:e.files,size:(0,a.z3)(e.bytes)}):n("twin.sourceGone")}),"noReader"===e.state?(0,r.jsx)("span",{className:"font-mono text-xs text-idle",children:n("twin.sourceNoReader")}):(0,r.jsx)("button",{type:"button",onClick:()=>h(e.id,"allowed"!==e.state),disabled:null!==c,className:"allowed"===e.state?"rounded border border-edge px-2.5 py-1 font-mono text-xs text-smoke transition-colors hover:border-chalk disabled:opacity-50":"rounded border border-accent bg-accent px-2.5 py-1 font-mono text-xs text-white transition-opacity hover:opacity-85 disabled:opacity-50",children:c===e.id?n("twin.saving"):n("allowed"===e.state?"twin.sourceRevoke":"twin.sourceAllow")})]},e.id))}),(0,r.jsx)("p",{className:"mt-3 max-w-2xl font-mono text-xs text-faint",children:n("twin.sourcesRevokeNote")}),u&&(0,r.jsx)("p",{className:"mt-2 font-mono text-xs text-idle",children:u})]})}},8895:(e,t,n)=>{Promise.resolve().then(n.bind(n,9495)),Promise.resolve().then(n.bind(n,2189)),Promise.resolve().then(n.bind(n,7522)),Promise.resolve().then(n.bind(n,7657)),Promise.resolve().then(n.bind(n,733)),Promise.resolve().then(n.t.bind(n,1723,23))},9495:(e,t,n)=>{"use strict";n.d(t,{BeliefEditor:()=>d});var r=n(9763),o=n(4963),i=n(7244),s=n(179);let a={design:"twin.topicDesign",frontend:"twin.topicFrontend",backend:"twin.topicBackend",cli:"twin.topicCli",testing:"twin.topicTesting",copy:"twin.topicCopy",workflow:"twin.topicWorkflow",tooling:"twin.topicTooling",data:"twin.topicData",other:"twin.topicOther"};var l=n(4204);let c={signed:"twin.badgeSigned",standing:"twin.badgeStanding",forming:"twin.badgeForming"};function d(e){let{beliefs:t,graveyard:n,proposals:a,locale:c}=e,d=(0,s.k)(),h=(0,i.useRouter)(),[f,b]=(0,o.useState)(new Map),[g,w]=(0,o.useState)(new Map),[y,v]=(0,o.useState)(null),[j,k]=(0,o.useState)(!1),[N,S]=(0,o.useState)(null),O=(0,o.useMemo)(()=>{let e=new Map;for(let n of t){let t=e.get(n.topic);t?t.push(n):e.set(n.topic,[n])}return[...e]},[t]),C=f.size>0||g.size>0;function P(e,t){b(n=>{let r=new Map(n);return void 0===t?r.delete(e):r.set(e,t),r})}async function T(){k(!0),S(null);let e=[],t=[],n=[];for(let[r,o]of f)"sign"===o.kind?e.push({id:r,...o.statement?{statement:o.statement}:{}}):"veto"===o.kind?t.push(r):n.push({id:r,identity:o.identity});let r=[...g].map(e=>{let[t,n]=e;return{id:t,accept:n}});try{let i=await fetch("/api/twin/taste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sign:e,veto:t,scope:n,resolve:r})}),s=await i.json();if(!i.ok){var o;S(null!=(o=s.error)?o:String(i.status));return}b(new Map),w(new Map),v(null),h.refresh()}catch(e){S(d("project.unreachable"))}finally{k(!1)}}return(0,r.jsxs)(r.Fragment,{children:[a.length>0&&(0,r.jsxs)("section",{className:"mt-12",children:[(0,r.jsx)("h2",{className:"font-display text-lg font-semibold tracking-tight",children:d("twin.proposalsTitle")}),(0,r.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:d("twin.proposalsNote")}),(0,r.jsx)("ul",{className:"mt-4 flex flex-col gap-3",children:a.map(e=>{var t;return(0,r.jsxs)("li",{className:"rounded-lg border px-4 py-4 ".concat(g.has(e.id)?"border-l-2 border-l-chalk border-edge":"border-edge"),children:[(0,r.jsxs)("p",{className:"eyebrow",children:[u(e.topic,d),e.supersedes&&e.supersedes.length>1?" \xb7 ".concat(d("twin.proposalJoins",{n:e.supersedes.length})):""]}),null==(t=e.supersedes)?void 0:t.map(e=>(0,r.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke line-through decoration-faint",children:e},e)),(0,r.jsx)("p",{className:"mt-2 max-w-2xl text-[15px] leading-relaxed",children:e.statement}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,r.jsx)(x,{label:d("twin.proposalAccept"),active:!0===g.get(e.id),onClick:()=>w(p(g,e.id,!0))}),(0,r.jsx)(x,{label:d("twin.proposalReject"),active:!1===g.get(e.id),onClick:()=>w(p(g,e.id,!1))})]})]},e.id)})})]}),O.map(e=>{let[t,n]=e;return(0,r.jsxs)("section",{className:"mt-12",children:[(0,r.jsx)("h2",{className:"font-display text-lg font-semibold tracking-tight",children:u(t,d)}),(0,r.jsx)("ul",{className:"mt-4 flex flex-col gap-3",children:n.map(e=>(0,r.jsx)(m,{belief:e,locale:c,gesture:f.get(e.id),editing:y===e.id,onEdit:t=>v(t?e.id:null),onGesture:t=>(function(e,t){let n=f.get(e),r=(null==n?void 0:n.kind)==="sign"&&void 0!==n.statement;n&&n.kind===t.kind&&!r?P(e,void 0):P(e,t)})(e.id,t),onWrite:t=>P(e.id,{kind:"sign",statement:t}),translate:d},e.id))})]},t)}),n.length>0&&(0,r.jsxs)("section",{className:"mt-12",children:[(0,r.jsx)("h2",{className:"font-display text-lg font-semibold tracking-tight",children:d("twin.graveyardTitle")}),(0,r.jsx)("p",{className:"mt-1 max-w-2xl text-sm leading-relaxed text-smoke",children:d("twin.graveyardNote")}),(0,r.jsx)("ul",{className:"mt-4 flex flex-col gap-2",children:n.map(e=>(0,r.jsx)("li",{className:"rounded-lg border border-edge px-4 py-3 opacity-60",children:(0,r.jsx)("p",{className:"text-sm leading-relaxed text-smoke line-through decoration-faint",children:e.statement})},e.id))})]}),C&&(0,r.jsxs)("div",{className:"sticky bottom-4 z-10 mt-8 flex flex-wrap items-center gap-3 rounded-lg border border-edge bg-surface/95 px-4 py-3 shadow-lg backdrop-blur",children:[(0,r.jsx)("span",{className:"font-mono text-xs text-smoke",children:d("twin.markedGestures",{n:f.size+g.size})}),(0,r.jsx)(l.rA,{tone:"accent",type:"button",onClick:T,busy:j,busyLabel:d("twin.saving"),children:d("twin.save")}),(0,r.jsx)("button",{type:"button",onClick:()=>{b(new Map),w(new Map),v(null)},disabled:j,className:"font-mono text-xs text-smoke underline-offset-2 hover:underline disabled:opacity-50",children:d("twin.cancel")}),N&&(0,r.jsx)("span",{className:"font-mono text-xs text-fail",children:d("twin.saveFailed",{detail:N})})]})]})}function u(e,t){let n=a[e];return n?t(n):e}function p(e,t,n){let r=new Map(e);return r.get(t)===n?r.delete(t):r.set(t,n),r}function m(e){let{belief:t,locale:n,gesture:i,editing:s,onEdit:a,onGesture:l,onWrite:d,translate:u}=e,[p,m]=(0,o.useState)(!1),[h,f]=(0,o.useState)(t.statement),b=(null==i?void 0:i.kind)==="sign"?i.statement:void 0;return(0,r.jsxs)("li",{className:["rounded-lg border px-4 py-4 transition-colors",(null==i?void 0:i.kind)==="sign"?"border-l-2 border-l-live border-edge bg-live/[0.05]":(null==i?void 0:i.kind)==="veto"?"border-l-2 border-l-faint border-edge opacity-60":void 0!==i?"border-l-2 border-l-chalk border-edge":"border-edge"].join(" "),children:[(0,r.jsxs)("p",{className:"eyebrow",children:[(0,r.jsx)("span",{className:"forming"===t.badge?"text-idle":"",children:u(c[t.badge])}),t.scope?" \xb7 ".concat(u("twin.scopedTag",{project:t.scope})):""]}),s?(0,r.jsxs)("div",{className:"mt-2",children:[(0,r.jsx)("textarea",{value:h,onChange:e=>f(e.target.value),"aria-label":u("twin.editText"),rows:3,className:"w-full max-w-2xl rounded border border-edge bg-transparent px-3 py-2 text-[15px] leading-relaxed"}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,r.jsx)(x,{label:u("twin.editSave"),active:!0,onClick:()=>{""!==h.trim()&&(d(h.trim()),a(!1))}}),(0,r.jsx)(x,{label:u("twin.cancel"),onClick:()=>{f(t.statement),a(!1)}})]})]}):(0,r.jsx)("p",{className:"mt-1 max-w-2xl text-[15px] leading-relaxed",children:null!=b?b:t.statement}),(0,r.jsxs)("p",{className:"mt-2 font-mono text-xs text-smoke",children:[u("twin.support",{observations:t.support.observations,projects:t.support.projects,days:t.support.days}),"forming"===t.badge?(0,r.jsx)("span",{className:"text-idle",children:" \xb7 ".concat(u("twin.formingWhy"))}):null,t.citations.length>0&&(0,r.jsxs)(r.Fragment,{children:[" \xb7 ",(0,r.jsx)("button",{type:"button",onClick:()=>m(e=>!e),className:"underline-offset-2 hover:underline",children:u(p?"twin.hideCitations":"twin.showCitations",{n:t.citations.length})})]})]}),p&&(0,r.jsx)("ul",{className:"mt-3 flex flex-col gap-2.5 border-l border-edge pl-3",children:t.citations.map(e=>(0,r.jsxs)("li",{children:[(0,r.jsxs)("p",{className:"line-clamp-2 text-sm italic leading-snug text-smoke",title:e.quote,children:["\xab",e.quote,"\xbb"]}),(0,r.jsxs)("p",{className:"mt-0.5 font-mono text-xs text-faint",children:[function(e,t){let n=new Date(e);if(Number.isNaN(n.getTime()))return e.slice(0,10);let r=String(n.getMonth()+1).padStart(2,"0"),o=String(n.getDate()).padStart(2,"0");return"en"===t?"".concat(n.getFullYear(),"-").concat(r,"-").concat(o):"".concat(o,"/").concat(r,"/").concat(n.getFullYear())}(e.at,n),e.project?" \xb7 ".concat(u("twin.citedIn",{project:e.project})):""]})]},e.verdictId))}),!s&&(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:["signed"!==t.badge&&(0,r.jsx)(x,{label:u("twin.sign"),active:(null==i?void 0:i.kind)==="sign"&&void 0===b,onClick:()=>l({kind:"sign"})}),(0,r.jsx)(x,{label:u("twin.edit"),active:void 0!==b,onClick:()=>{f(null!=b?b:t.statement),a(!0)}}),(0,r.jsx)(x,{label:u("twin.veto"),active:(null==i?void 0:i.kind)==="veto",onClick:()=>l({kind:"veto"})}),t.scope?(0,r.jsx)(x,{label:u("twin.scopeAll"),active:(null==i?void 0:i.kind)==="scope"&&null===i.identity,onClick:()=>l({kind:"scope",identity:null})}):t.learnedIn?(0,r.jsx)(x,{label:u("twin.scopeOnly",{project:t.learnedIn.name}),active:(null==i?void 0:i.kind)==="scope",onClick:()=>{var e,n;return l({kind:"scope",identity:null!=(n=null==(e=t.learnedIn)?void 0:e.identity)?n:null})}}):null]})]})}function x(e){let{label:t,active:n,onClick:o}=e;return(0,r.jsx)("button",{type:"button",onClick:o,className:["rounded border px-2.5 py-1 font-mono text-xs transition-colors",n?"border-accent text-accent":"border-edge text-smoke hover:border-chalk"].join(" "),children:t})}}},e=>{e.O(0,[6587,1723,7911,9643,4737,7358],()=>e(e.s=8895)),_N_E=e.O()}]);
|
|
File without changes
|
|
File without changes
|