@jmfederico/pi-web 1.202609.1 → 1.202610.0
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/dist/client/assets/{index-AroYaCLx.js → index-_1GwJfSs.js} +353 -307
- package/dist/client/index.html +1 -1
- package/dist/pi-packages/captains-log/dist/browser/index.js +4 -3
- package/dist/pi-packages/captains-log/dist/browser/panel.js +2 -0
- package/dist/pi-packages/captains-log/docs/usage.md +3 -1
- package/dist/plugin-api.d.ts +13 -0
- package/dist/server/app.js +12 -19
- package/dist/server/app.js.map +1 -1
- package/dist/server/browserMessageProjection.js +39 -20
- package/dist/server/browserMessageProjection.js.map +1 -1
- package/dist/server/machines/machineProxyRoutes.js +31 -0
- package/dist/server/machines/machineProxyRoutes.js.map +1 -1
- package/dist/server/projects/projectLifecycleService.js +91 -0
- package/dist/server/projects/projectLifecycleService.js.map +1 -0
- package/dist/server/realtime/sessionEventHub.js +22 -9
- package/dist/server/realtime/sessionEventHub.js.map +1 -1
- package/dist/server/sessiond/projectMutationRoutes.js +38 -0
- package/dist/server/sessiond/projectMutationRoutes.js.map +1 -0
- package/dist/server/sessiond/sessionProxyRoutes.js +24 -0
- package/dist/server/sessiond/sessionProxyRoutes.js.map +1 -1
- package/dist/server/sessiond.js +34 -9
- package/dist/server/sessiond.js.map +1 -1
- package/dist/server/sessions/piSessionManagerGateway.js +8 -2
- package/dist/server/sessions/piSessionManagerGateway.js.map +1 -1
- package/dist/server/sessions/piSessionService.js +144 -18
- package/dist/server/sessions/piSessionService.js.map +1 -1
- package/dist/server/sessions/sessionMediaIndex.js +184 -0
- package/dist/server/sessions/sessionMediaIndex.js.map +1 -0
- package/dist/server/sessions/sessionRoutes.js +46 -4
- package/dist/server/sessions/sessionRoutes.js.map +1 -1
- package/dist/server/sessions/sessionUnreadStore.js +26 -1
- package/dist/server/sessions/sessionUnreadStore.js.map +1 -1
- package/dist/server/sessions/spawnSessionTool.js +6 -1
- package/dist/server/sessions/spawnSessionTool.js.map +1 -1
- package/dist/server/sessions/spawnSubsessionTool.js +6 -1
- package/dist/server/sessions/spawnSubsessionTool.js.map +1 -1
- package/dist/server/workspaceExplorerRoutes.js +1 -1
- package/dist/server/workspaceExplorerRoutes.js.map +1 -1
- package/dist/server/workspaces/filePreviewService.js +27 -3
- package/dist/server/workspaces/filePreviewService.js.map +1 -1
- package/dist/sessiond/sessionDaemonClient.js +24 -0
- package/dist/sessiond/sessionDaemonClient.js.map +1 -1
- package/dist/shared/federatedRoutes.js +2 -0
- package/dist/shared/federatedRoutes.js.map +1 -1
- package/dist/shared/sessionMedia.js +6 -0
- package/dist/shared/sessionMedia.js.map +1 -0
- package/docs/plugins.md +16 -0
- package/package.json +3 -2
package/dist/client/index.html
CHANGED
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
html, body { margin: 0; height: 100%; overflow: hidden; background: var(--pi-bg); color: var(--pi-text); }
|
|
54
54
|
body { min-height: 100dvh; }
|
|
55
55
|
</style>
|
|
56
|
-
<script type="module" crossorigin src="./assets/index-
|
|
56
|
+
<script type="module" crossorigin src="./assets/index-_1GwJfSs.js"></script>
|
|
57
57
|
<link rel="modulepreload" crossorigin href="./assets/vendor-editor-core-YWog6mAR.js">
|
|
58
58
|
<link rel="modulepreload" crossorigin href="./assets/vendor-editor-languages-DOCw3vc9.js">
|
|
59
59
|
</head>
|
|
@@ -62,12 +62,12 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
62
62
|
${e}</tr>
|
|
63
63
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
64
64
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${R(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,text:n,tokens:r,autolink:i}){let a=i?R(n,!0):this.parser.parseInline(r),o=z(e);if(o===null)return a;e=R(o,i);let s=`<a href="`+e+`"`;return t&&(s+=` title="`+R(t)+`"`),s+=`>`+a+`</a>`,s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=z(e);if(i===null)return R(n);e=i;let a=`<img src="${R(e)}" alt="${R(n)}"`;return t&&(a+=` title="${R(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:R(e.text)}},q=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},J=class e{options;renderer;textRenderer;constructor(e){this.options=e||r,this.options.renderer=this.options.renderer||new K,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new q}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Y=class{options;block;constructor(e){this.options=e||r}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?G.lex:G.lexInline}provideParser(e=this.block){return e?J.parse:J.parseInline}},X=new class{defaults=n();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=J;Renderer=K;TextRenderer=q;Lexer=G;Tokenizer=W;Hooks=Y;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new K(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new W(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Y;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=Y.passThroughHooks.has(n)?e=>{if(this.defaults.async&&Y.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return G.lex(e,t??this.defaults)}parser(e,t){return J.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?G.lex:G.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?J.parse:J.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?G.lex:G.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?J.parse:J.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
65
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+R(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Z(e,t){return X.parse(e,t)}Z.options=Z.setOptions=function(e){return X.setOptions(e),Z.defaults=X.defaults,i(Z.defaults),Z},Z.getDefaults=n,Z.defaults=r;function He(...e){return X.use(...e),Z.defaults=X.defaults,i(Z.defaults),Z}Z.use=He,Z.walkTokens=function(e,t){return X.walkTokens(e,t)},Z.parseInline=X.parseInline,Z.Parser=J,Z.parser=J.parse,Z.Renderer=K,Z.TextRenderer=q,Z.Lexer=G,Z.lexer=G.lex,Z.Tokenizer=W,Z.Hooks=Y,Z.parse=Z,Z.options,Z.setOptions,Z.walkTokens,Z.parseInline,J.parse,G.lex;function Ue(e){return[`space`,`def`,`heading`,`paragraph`,`text`,`escape`,`html`,`strong`,`em`,`del`,`codespan`,`code`,`blockquote`,`br`,`hr`,`list`,`list_item`,`checkbox`,`link`,`image`,`table`].includes(e.type)}function We(e){try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0}catch{return}}function Ge(e,t){let n=e=>e.map(r);function r(t){if(!Ue(t))return t.raw;let r=t;switch(r.type){case`space`:case`def`:return null;case`heading`:{let t=n(r.tokens);switch(r.depth){case 1:return e`<h1>${t}</h1>`;case 2:return e`<h2>${t}</h2>`;case 3:return e`<h3>${t}</h3>`;case 4:return e`<h4>${t}</h4>`;case 5:return e`<h5>${t}</h5>`;default:return e`<h6>${t}</h6>`}}case`paragraph`:return e`<p>${n(r.tokens)}</p>`;case`text`:return r.tokens?n(r.tokens):r.text;case`escape`:return r.text;case`html`:return r.raw;case`strong`:return e`<strong>${n(r.tokens)}</strong>`;case`em`:return e`<em>${n(r.tokens)}</em>`;case`del`:return e`<del>${n(r.tokens)}</del>`;case`codespan`:return e`<code>${r.text}</code>`;case`code`:return e`<pre><code>${r.text}</code></pre>`;case`blockquote`:return e`<blockquote>${n(r.tokens)}</blockquote>`;case`br`:return e`<br>`;case`hr`:return e`<hr>`;case`list`:return r.ordered?e`<ol start=${r.start}>${n(r.items)}</ol>`:e`<ul>${n(r.items)}</ul>`;case`list_item`:return e`<li>${n(r.tokens)}</li>`;case`checkbox`:return e`<input type="checkbox" disabled ?checked=${r.checked} aria-label="Task completed">`;case`link`:{let t=We(r.href),i=n(r.tokens);return t===void 0?i:e`<a href=${t} target="_blank" rel="noreferrer noopener">${i}</a>`}case`image`:return r.text;case`table`:return e`<div class="captain-table-scroll"><table><thead><tr>${r.header.map(t=>e`<th scope="col">${n(t.tokens)}</th>`)}</tr></thead><tbody>${r.rows.map(t=>e`<tr>${t.map(t=>e`<td>${n(t.tokens)}</td>`)}</tr>`)}</tbody></table></div>`;default:return t.raw}}return n(new G({gfm:!0}).lex(t))}function Q(e){if(e.state?.selectedMachine&&e.state.selectedMachine.id!==e.machine.id)return;let t=e.state?.selectedSession;if(!(!t||t.archived||t.pending||t.cwd!==e.workspace.path))return{id:t.id,name:t.name!==void 0&&t.name.trim()!==``?t.name:`Session ${t.id.slice(0,8)}`}}function $(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Ke(e,t){let n=t.entries.some(e=>e.status===`running`),r=t.source!==void 0&&t.entries.some(e=>e.sessionId===t.source?.id),i=!t.connected||t.connecting||t.pending||n||!t.source||r,a=t.selected,o=t.connecting?`Connecting…`:t.connected?t.pending?`Fetching the last reply…`:n?`The captain is translating…`:t.source?r?`Select a different session — this one is the pirate.`:`Ready to translate`:`Select a session in this workspace first.`:`Connection lost`;return e`<style>${qe}</style>
|
|
65
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+R(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Z(e,t){return X.parse(e,t)}Z.options=Z.setOptions=function(e){return X.setOptions(e),Z.defaults=X.defaults,i(Z.defaults),Z},Z.getDefaults=n,Z.defaults=r;function He(...e){return X.use(...e),Z.defaults=X.defaults,i(Z.defaults),Z}Z.use=He,Z.walkTokens=function(e,t){return X.walkTokens(e,t)},Z.parseInline=X.parseInline,Z.Parser=J,Z.parser=J.parse,Z.Renderer=K,Z.TextRenderer=q,Z.Lexer=G,Z.lexer=G.lex,Z.Tokenizer=W,Z.Hooks=Y,Z.parse=Z,Z.options,Z.setOptions,Z.walkTokens,Z.parseInline,J.parse,G.lex;function Ue(e){return[`space`,`def`,`heading`,`paragraph`,`text`,`escape`,`html`,`strong`,`em`,`del`,`codespan`,`code`,`blockquote`,`br`,`hr`,`list`,`list_item`,`checkbox`,`link`,`image`,`table`].includes(e.type)}function We(e){try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`?t.href:void 0}catch{return}}function Ge(e,t){let n=e=>e.map(r);function r(t){if(!Ue(t))return t.raw;let r=t;switch(r.type){case`space`:case`def`:return null;case`heading`:{let t=n(r.tokens);switch(r.depth){case 1:return e`<h1>${t}</h1>`;case 2:return e`<h2>${t}</h2>`;case 3:return e`<h3>${t}</h3>`;case 4:return e`<h4>${t}</h4>`;case 5:return e`<h5>${t}</h5>`;default:return e`<h6>${t}</h6>`}}case`paragraph`:return e`<p>${n(r.tokens)}</p>`;case`text`:return r.tokens?n(r.tokens):r.text;case`escape`:return r.text;case`html`:return r.raw;case`strong`:return e`<strong>${n(r.tokens)}</strong>`;case`em`:return e`<em>${n(r.tokens)}</em>`;case`del`:return e`<del>${n(r.tokens)}</del>`;case`codespan`:return e`<code>${r.text}</code>`;case`code`:return e`<pre><code>${r.text}</code></pre>`;case`blockquote`:return e`<blockquote>${n(r.tokens)}</blockquote>`;case`br`:return e`<br>`;case`hr`:return e`<hr>`;case`list`:return r.ordered?e`<ol start=${r.start}>${n(r.items)}</ol>`:e`<ul>${n(r.items)}</ul>`;case`list_item`:return e`<li>${n(r.tokens)}</li>`;case`checkbox`:return e`<input type="checkbox" disabled ?checked=${r.checked} aria-label="Task completed">`;case`link`:{let t=We(r.href),i=n(r.tokens);return t===void 0?i:e`<a href=${t} target="_blank" rel="noreferrer noopener">${i}</a>`}case`image`:return r.text;case`table`:return e`<div class="captain-table-scroll"><table><thead><tr>${r.header.map(t=>e`<th scope="col">${n(t.tokens)}</th>`)}</tr></thead><tbody>${r.rows.map(t=>e`<tr>${t.map(t=>e`<td>${n(t.tokens)}</td>`)}</tr>`)}</tbody></table></div>`;default:return t.raw}}return n(new G({gfm:!0}).lex(t))}function Q(e){if(e.state?.selectedMachine&&e.state.selectedMachine.id!==e.machine.id)return;let t=e.state?.selectedSession;if(!(!t||t.archived||t.pending||t.cwd!==e.workspace.path))return{id:t.id,name:t.name!==void 0&&t.name.trim()!==``?t.name:`Session ${t.id.slice(0,8)}`}}function $(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function Ke(e,t){let n=t.entries.some(e=>e.status===`running`),r=t.source!==void 0&&t.entries.some(e=>e.sessionId===t.source?.id),i=!t.connected||t.connecting||t.pending||n||!t.source||r,a=t.selected,o=a?.sourceSessionId,s=t.connecting?`Connecting…`:t.connected?t.pending?`Fetching the last reply…`:n?`The captain is translating…`:t.source?r?`Select a different session — this one is the pirate.`:`Ready to translate`:`Select a session in this workspace first.`:`Connection lost`;return e`<style>${qe}</style>
|
|
66
66
|
<section class="captains-log" aria-label="Captain's Log">
|
|
67
67
|
<div class="captain-heading"><h2>⚓ Captain's Log</h2><p class="muted">Your last reply, retold by a theatrical pirate.</p></div>
|
|
68
68
|
<div class="captain-source"><span class="muted">Selected session</span><strong>${t.source?.name??`No session selected`}</strong></div>
|
|
69
69
|
<button class="captain-primary" ?disabled=${i} @click=${t.onTranslate}>Let the Captain tell it</button>
|
|
70
|
-
<p class="captain-status" role="status" aria-live="polite">${
|
|
70
|
+
<p class="captain-status" role="status" aria-live="polite">${s}
|
|
71
71
|
${!t.connected&&!t.connecting?e`<button @click=${t.onReconnect}>Reconnect</button>`:null}
|
|
72
72
|
</p>
|
|
73
73
|
${!t.connected&&!t.connecting?e`<p class="captain-notice">Reconnect to see the result. The captain may still be working; your request will not be sent again.</p>`:null}
|
|
@@ -75,6 +75,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
75
75
|
${a?e`<article class="captain-reply" aria-label="Pirate translation">
|
|
76
76
|
<div class="captain-reply-heading"><strong>${a.status===`running`?`Translating…`:a.id===t.entries[0]?.id?`Last translation`:`Earlier translation`}</strong><time datetime=${a.createdAt}>${$(a.createdAt)}</time></div>
|
|
77
77
|
${a.status===`completed`?e`<div class="captain-answer">${a.text?Ge(e,a.text):`Receiving the captain's reply…`}</div>`:a.status===`running`?e`<p class="muted">Reading the source reply and turning it into pirate. No message is sent to the source conversation.</p>`:e`<div class="captain-notice" role="alert"><strong>${a.status===`interrupted`?`Translation interrupted`:`Couldn't translate that reply`}</strong><p>${a.text||`Check Diagnostics for details, then try again when the session is ready.`}</p></div>`}
|
|
78
|
+
${o!==void 0&&o!==``?e`<button @click=${()=>{t.onOpenSource(o)}}>Open source session</button>`:null}
|
|
78
79
|
</article>`:e`<p class="captain-empty muted">Pick a conversation, then translate its latest finished assistant reply. The original stays untouched.</p>`}
|
|
79
80
|
<div class="captain-secondary">
|
|
80
81
|
${t.entries.length>1?e`<details><summary>Previous translations <span class="muted">(${t.entries.length})</span></summary>
|
|
@@ -140,5 +141,5 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
140
141
|
.captains-log dd { margin: 0; overflow-wrap: anywhere; }
|
|
141
142
|
.captains-log .captain-footnote { font-size: 11px; margin-top: 10px; }
|
|
142
143
|
`;function Je(n){if(typeof n!=`object`||!n||!(`type`in n))return!1;switch(n.type){case`entry`:return`entry`in n&&t(n.entry)&&`saved`in n&&typeof n.saved==`boolean`;case`text`:return`id`in n&&typeof n.id==`string`&&e.test(n.id)&&`text`in n&&typeof n.text==`string`&&n.text.length<=4e3;case`admitted`:return`requestId`in n&&typeof n.requestId==`string`&&e.test(n.requestId)&&`id`in n&&typeof n.id==`string`&&e.test(n.id);case`rejected`:return`requestId`in n&&typeof n.requestId==`string`&&e.test(n.requestId)&&`message`in n&&typeof n.message==`string`;default:return!1}}var Ye={apiVersion:4,name:`Captain's Log`,activate({html:e,runtimePluginId:n,lifetimeSignal:r}){customElements.get(`captains-log-lifetime`)||customElements.define(`captains-log-lifetime`,class extends HTMLElement{mount;unmount;currentScope;set scope(e){e!==this.currentScope&&(this.currentScope=e,this.isConnected&&queueMicrotask(()=>{this.isConnected&&this.mount?.()}))}connectedCallback(){queueMicrotask(()=>{this.isConnected&&this.mount?.()})}disconnectedCallback(){this.unmount?.()}});let i=new Map,a;function o(e){e.revision++,e.controller?.abort(),e.channel?.close(),delete e.channel,delete e.controller,e.connecting=!1,e.pending!==void 0&&(e.status=`Channel closed. Admission is uncertain; reconnect before retrying. Questions are never resent automatically.`)}let s=()=>{for(let e of i.values())o(e)};r.addEventListener(`abort`,s,{once:!0});function c(e){let t=JSON.stringify([e.machine.id,e.workspace.projectId,e.workspace.id]),n=i.get(t);return n||(n={entries:[],status:`Connecting to Captain's Log…`,connecting:!1,revision:0,readRevision:0,updates:new Map},i.set(t,n)),a!==n&&(a&&o(a),a=n),n}function l(e,t){e.updates.set(t.id,t),e.entries=[t,...e.entries.filter(e=>e.id!==t.id)].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),(!e.selected||e.selected.id===t.id||t.status===`running`)&&(e.selected?.id!==t.id&&e.readRevision++,e.selected=t)}async function u(e,n,i){let a=n.revision,o=++n.readRevision,s=n.updates.get(i);try{if(!e.peer?.request)throw Error(`Captain saved records unavailable`);let c=await e.peer.request(`read`,i,{signal:n.controller?.signal??r});if(a!==n.revision||o!==n.readRevision||r.aborted)return;if(!t(c))throw Error(`Invalid Captain record`);let l=n.updates.get(i)===s?c:n.updates.get(i)??c;n.selected=l,n.updates.set(i,l),n.entries=n.entries.map(e=>e.id===i?l:e),e.host.requestRender()}catch(t){if(a!==n.revision||o!==n.readRevision||r.aborted)return;n.status=String(t),e.host.requestRender()}}async function d(e,n){if(n.channel||n.connecting||r.aborted)return;o(n);let i=n.revision,a=new AbortController;n.controller=a,n.connecting=!0,n.updates.clear();let s=()=>i===n.revision&&!a.signal.aborted&&!r.aborted;n.status=`Connecting to Captain's Log…`,e.host.requestRender();try{if(!e.peer?.openChannel||!e.peer.request)throw Error(`Captain backend channels unavailable on this machine`);let r=await e.peer.openChannel(`log`,null,{signal:a.signal,onData(t){if(s()){if(!Je(t)){n.status=`Invalid Captain channel frame`,o(n),e.host.requestRender();return}if(t.type===`admitted`&&t.requestId===n.pending)delete n.pending,n.status=`Backend admitted ${t.id}; admission is not completion.`;else if(t.type===`rejected`&&t.requestId===n.pending)delete n.pending,n.status=t.message,n.notice=t.message;else if(t.type===`entry`)l(n,t.entry),n.status=t.saved&&t.entry.status!==`running`?`Backend saved ${t.entry.status} roundtrip.`:`Captain: ${t.entry.stages.at(-1)??t.entry.status}`;else if(t.type===`text`){let e=n.updates.get(t.id);if(e){let r={...e,text:(e.text+t.text).slice(0,48e3)};n.updates.set(t.id,r),n.entries=n.entries.map(e=>e.id===t.id?r:e),n.selected?.id===t.id&&(n.selected=r)}}e.host.requestRender()}}});if(!s()){r.close();return}n.channel=r,r.closed.then(t=>{s()&&(o(n),n.status=`${t.error?.message??`Channel closed`}. Admission may be uncertain. Reconnect to restore saved state; translations are never resent automatically.`,e.host.requestRender())});let i=await e.peer.request(`list`,null,{signal:a.signal});if(!s())return;if(!Array.isArray(i)||!i.every(t))throw Error(`Invalid Captain snapshot`);n.entries=[...n.updates.values(),...i.filter(e=>e.sourceSessionId!==void 0&&!n.updates.has(e.id))].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)),delete n.pending;let c=n.selected?.id??n.entries[0]?.id;if(c!==void 0&&n.entries.some(e=>e.id===c)){let t=n.updates.get(c);t?n.selected=t:await u(e,n,c)}else delete n.selected;if(!s())return;n.status=`Connected. Live updates arrive from the backend.`,delete n.notice,n.connecting=!1,e.host.requestRender()}catch(t){if(!s())return;o(n),n.status=`${String(t)}. Reconnect explicitly; no translation was resent.`,e.host.requestRender()}}function f(e,t){let n=Q(e);if(!n||!t.channel||t.connecting||t.pending!==void 0||r.aborted||t.entries.some(e=>e.status===`running`||e.sessionId===n.id))return;t.pending=crypto.randomUUID(),delete t.notice,t.status=`Translation queued for source session ${n.id}; waiting for backend admission.`;let i={type:`translate`,requestId:t.pending,sourceSessionId:n.id};try{t.channel.send(i)}catch(e){o(t),t.status=`${String(e)}. Admission is uncertain; reconnect before retrying.`}e.host.requestRender()}return{contributions:{actions:[{id:`summon`,title:`Open pirate translator`,group:`Captain's Log`,enabled:({state:e})=>!!e.selectedWorkspace,run:({selectWorkspaceTool:e})=>{e(`${n}:log`)}}],workspacePanels:[{id:`log`,title:`Captain's Log`,render(t){let n=c(t),r=Q(t);return e`<captains-log-lifetime .mount=${()=>{d(t,n)}} .unmount=${()=>{o(n)}} .scope=${n}>
|
|
143
|
-
${Ke(e,{...n,connected:n.channel!==void 0&&t.peer?.openChannel!==void 0,pending:n.pending!==void 0,machineName:t.machine.name,...r?{source:r}:{},onTranslate(){f(t,n)},onReconnect(){d(t,n)},onRead(e){u(t,n,e)}})}
|
|
144
|
+
${Ke(e,{...n,connected:n.channel!==void 0&&t.peer?.openChannel!==void 0,pending:n.pending!==void 0,machineName:t.machine.name,...r?{source:r}:{},onTranslate(){f(t,n)},onReconnect(){d(t,n)},onRead(e){u(t,n,e)},onOpenSource(e){t.navigate({machineId:t.machine.id,projectId:t.workspace.projectId,workspaceId:t.workspace.id,sessionId:e,view:`chat`})}})}
|
|
144
145
|
</captains-log-lifetime>`}}]},dispose(){s(),r.removeEventListener(`abort`,s),i.clear()}}}};export{Ye as default};
|
|
@@ -17,6 +17,7 @@ export function renderCaptainPanel(html, view) {
|
|
|
17
17
|
const pirateSelected = view.source !== undefined && view.entries.some((entry) => entry.sessionId === view.source?.id);
|
|
18
18
|
const disabled = !view.connected || view.connecting || view.pending || working || !view.source || pirateSelected;
|
|
19
19
|
const selected = view.selected;
|
|
20
|
+
const sourceSessionId = selected?.sourceSessionId;
|
|
20
21
|
const status = view.connecting ? "Connecting…" : !view.connected ? "Connection lost" : view.pending ? "Fetching the last reply…"
|
|
21
22
|
: working ? "The captain is translating…" : !view.source ? "Select a session in this workspace first." : pirateSelected ? "Select a different session — this one is the pirate."
|
|
22
23
|
: "Ready to translate";
|
|
@@ -35,6 +36,7 @@ export function renderCaptainPanel(html, view) {
|
|
|
35
36
|
${selected.status === "completed" ? html `<div class="captain-answer">${selected.text ? renderCaptainMarkdown(html, selected.text) : "Receiving the captain's reply…"}</div>`
|
|
36
37
|
: selected.status === "running" ? html `<p class="muted">Reading the source reply and turning it into pirate. No message is sent to the source conversation.</p>`
|
|
37
38
|
: html `<div class="captain-notice" role="alert"><strong>${selected.status === "interrupted" ? "Translation interrupted" : "Couldn't translate that reply"}</strong><p>${selected.text || "Check Diagnostics for details, then try again when the session is ready."}</p></div>`}
|
|
39
|
+
${sourceSessionId !== undefined && sourceSessionId !== "" ? html `<button @click=${() => { view.onOpenSource(sourceSessionId); }}>Open source session</button>` : null}
|
|
38
40
|
</article>` : html `<p class="captain-empty muted">Pick a conversation, then translate its latest finished assistant reply. The original stays untouched.</p>`}
|
|
39
41
|
<div class="captain-secondary">
|
|
40
42
|
${view.entries.length > 1 ? html `<details><summary>Previous translations <span class="muted">(${view.entries.length})</span></summary>
|
|
@@ -4,10 +4,12 @@ Select a conversation in the current workspace, open **Captain's Log**, and clic
|
|
|
4
4
|
|
|
5
5
|
The pirate gets a short introduction on its first prompt and keeps speaking pirate. Further translations use the same conversation while it is loaded in the session daemon. If it is no longer loaded, the next translation automatically creates a new pirate conversation. There are no confirmation dialogs, workspace reviews, or plain-English mode.
|
|
6
6
|
|
|
7
|
-
To keep the previous pirate's context after a daemon restart, open the most recent **Captain's Log** conversation in Sessions before translating. Once loading finishes, the plugin can reuse it; it need not remain selected. Then select the conversation whose reply you want translated. The plugin does not reopen saved sessions
|
|
7
|
+
To keep the previous pirate's context after a daemon restart, open the most recent **Captain's Log** conversation in Sessions before translating. Once loading finishes, the plugin can reuse it; it need not remain selected. Then select the conversation whose reply you want translated. The plugin does not automatically reopen saved sessions or stop/delete old sessions.
|
|
8
8
|
|
|
9
9
|
## Results and connections
|
|
10
10
|
|
|
11
|
+
Use **Open source session** beneath a translation to return to its original conversation in chat, even when another conversation is selected. This action uses the record's machine/project/workspace scope and source session ID. If the source is no longer available, PI WEB shows its normal unavailable-destination message; it does not create a replacement conversation.
|
|
12
|
+
|
|
11
13
|
- The translation is rendered as Markdown, including headings, lists, emphasis, links, tables, and code blocks. Embedded HTML stays literal, unsafe links are inert, and images are not loaded automatically. **Previous translations** holds earlier results; **Diagnostics** holds session/request IDs and the message trail. Both start collapsed. Existing review-era logs remain on disk but are not shown as translations.
|
|
12
14
|
- The panel inherits PI WEB's workspace styles and themes. The action-palette **Open pirate translator** opens it without spending model tokens.
|
|
13
15
|
- Browser requests and backend progress use a bidirectional peer channel, with no polling. Opening or reconnecting loads a snapshot. Progress is not token-by-token model streaming; the completed translation arrives when the pirate finishes.
|
package/dist/plugin-api.d.ts
CHANGED
|
@@ -158,7 +158,18 @@ export interface PluginPromptEditor {
|
|
|
158
158
|
text: string;
|
|
159
159
|
} | null;
|
|
160
160
|
}
|
|
161
|
+
/** A complete navigation destination, not a patch of the current route. */
|
|
162
|
+
export interface PluginNavigationDestination {
|
|
163
|
+
machineId?: string;
|
|
164
|
+
projectId?: string;
|
|
165
|
+
workspaceId?: string;
|
|
166
|
+
sessionId?: string;
|
|
167
|
+
view?: "navigation" | "chat" | "workspace";
|
|
168
|
+
tool?: QualifiedContributionId;
|
|
169
|
+
}
|
|
161
170
|
export interface PluginRuntimeContext {
|
|
171
|
+
/** Navigate using host restoration defaults. Route failures appear in the host UI. */
|
|
172
|
+
navigate: (destination: PluginNavigationDestination) => Promise<void>;
|
|
162
173
|
state: PluginRuntimeState;
|
|
163
174
|
prompt: PluginPromptEditor;
|
|
164
175
|
openActionPalette: () => void;
|
|
@@ -340,6 +351,8 @@ export interface WorkspacePanelNavigationV1 {
|
|
|
340
351
|
}): void;
|
|
341
352
|
}
|
|
342
353
|
export interface WorkspacePanelContext extends WorkspaceContext {
|
|
354
|
+
/** Navigate using host restoration defaults. Route failures appear in the host UI. */
|
|
355
|
+
navigate: (destination: PluginNavigationDestination) => Promise<void>;
|
|
343
356
|
prompt: PluginPromptEditor;
|
|
344
357
|
terminal: WorkspacePanelTerminal;
|
|
345
358
|
/** Contribution-scoped address-bar state for deep links and browser history. */
|
package/dist/server/app.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
2
|
+
import { dirname, join, sep } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import Fastify from "fastify";
|
|
5
5
|
import fastifyCompress from "@fastify/compress";
|
|
@@ -35,23 +35,6 @@ import { registerPairedPluginBackendProxyRoutes } from "./plugins/pluginBackendP
|
|
|
35
35
|
import { proxyMachinePluginAsset, registerMachinePluginProxyRoutes } from "./machines/machinePluginProxyRoutes.js";
|
|
36
36
|
function registerLocalProjectRoutes(app, projects, workspaces, prefix, options = {}) {
|
|
37
37
|
app.get(`${prefix}/projects`, async () => projects.list());
|
|
38
|
-
app.post(`${prefix}/projects`, async (request, reply) => {
|
|
39
|
-
try {
|
|
40
|
-
return await projects.add(request.body);
|
|
41
|
-
}
|
|
42
|
-
catch (error) {
|
|
43
|
-
return reply.code(400).send({ error: error instanceof Error ? error.message : String(error) });
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
app.delete(`${prefix}/projects/:projectId`, async (request, reply) => {
|
|
47
|
-
try {
|
|
48
|
-
await projects.close(request.params.projectId);
|
|
49
|
-
return { closed: true };
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
return reply.code(404).send({ error: error instanceof Error ? error.message : String(error) });
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
38
|
app.get(`${prefix}/project-directories`, async (request, reply) => {
|
|
56
39
|
try {
|
|
57
40
|
return await listDirectorySuggestions(request.query.q ?? "");
|
|
@@ -215,7 +198,17 @@ export async function buildApp(deps = {}) {
|
|
|
215
198
|
const packagedClientDist = join(dirname(fileURLToPath(import.meta.url)), "..", "client");
|
|
216
199
|
const clientDist = deps.clientDist ?? (existsSync(packagedClientDist) ? packagedClientDist : join(process.cwd(), "dist", "client"));
|
|
217
200
|
if (clientDist !== false && existsSync(clientDist)) {
|
|
218
|
-
|
|
201
|
+
const hashedAssetsDir = join(clientDist, "assets") + sep;
|
|
202
|
+
await app.register(fastifyStatic, {
|
|
203
|
+
root: clientDist,
|
|
204
|
+
// Vite content-hashes every file under assets/, so a URL never changes
|
|
205
|
+
// meaning; let browsers skip revalidation on reload. Everything else,
|
|
206
|
+
// notably index.html, keeps the default revalidating policy.
|
|
207
|
+
setHeaders: (res, filePath) => {
|
|
208
|
+
if (filePath.startsWith(hashedAssetsDir))
|
|
209
|
+
res.header("cache-control", "public, max-age=31536000, immutable");
|
|
210
|
+
},
|
|
211
|
+
});
|
|
219
212
|
const deploymentFlavor = deps.deploymentFlavor ?? createDeploymentFlavorResolver(async () => {
|
|
220
213
|
const activeAgentProfile = await agentProfileProvider.getActiveAgentProfile();
|
|
221
214
|
return detectPiWebInstallation(activeAgentProfile.status === "available" ? activeAgentProfile.profile.dir : undefined);
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* blocks are copied.
|
|
2
|
+
* Strip provider-only thinking data and optionally reference images at the
|
|
3
|
+
* browser transport boundary. Runtime messages stay unchanged: only affected
|
|
4
|
+
* messages and content blocks are copied.
|
|
5
5
|
*/
|
|
6
|
-
export function projectBrowserMessage(message) {
|
|
6
|
+
export function projectBrowserMessage(message, images) {
|
|
7
7
|
if (!isRecord(message))
|
|
8
8
|
return message;
|
|
9
9
|
const originalContent = message["content"];
|
|
10
|
-
|
|
11
|
-
return message;
|
|
12
|
-
const content = mapChanged(originalContent, (part) => {
|
|
13
|
-
if (!isRecord(part) || part["type"] !== "thinking" || !Object.hasOwn(part, "thinkingSignature"))
|
|
14
|
-
return part;
|
|
15
|
-
const projected = { ...part };
|
|
16
|
-
delete projected["thinkingSignature"];
|
|
17
|
-
return projected;
|
|
18
|
-
});
|
|
10
|
+
const content = projectBrowserContent(originalContent, images);
|
|
19
11
|
return content === originalContent ? message : { ...message, content };
|
|
20
12
|
}
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
function projectBrowserContent(content, images) {
|
|
14
|
+
if (isUnknownArray(content))
|
|
15
|
+
return mapChanged(content, (part) => projectBrowserContent(part, images));
|
|
16
|
+
if (!isRecord(content))
|
|
17
|
+
return content;
|
|
18
|
+
if (content["type"] === "image" && images !== undefined)
|
|
19
|
+
return images(content) ?? content;
|
|
20
|
+
if (content["type"] !== "thinking" || !Object.hasOwn(content, "thinkingSignature"))
|
|
21
|
+
return content;
|
|
22
|
+
const projected = { ...content };
|
|
23
|
+
delete projected["thinkingSignature"];
|
|
24
|
+
return projected;
|
|
25
|
+
}
|
|
26
|
+
export function projectBrowserMessageResponse(response, images) {
|
|
27
|
+
const messages = mapChanged(response.messages, (message) => projectBrowserMessage(message, images));
|
|
23
28
|
return messages === response.messages ? response : { ...response, messages };
|
|
24
29
|
}
|
|
25
|
-
export function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
export function projectBrowserStreamSnapshot(snapshot, images) {
|
|
31
|
+
const partial = projectBrowserMessage(snapshot.partial, images);
|
|
32
|
+
return partial === snapshot.partial ? snapshot : { ...snapshot, partial };
|
|
33
|
+
}
|
|
34
|
+
export function projectBrowserTranscriptSnapshot(snapshot, images) {
|
|
35
|
+
const stream = projectBrowserStreamSnapshot(snapshot, images);
|
|
36
|
+
const page = projectBrowserMessageResponse(snapshot.page, images);
|
|
37
|
+
return page === snapshot.page ? stream : { ...stream, page };
|
|
38
|
+
}
|
|
39
|
+
export function projectBrowserSessionEvent(event, images) {
|
|
40
|
+
if ((event.type === "message.end" || event.type === "message.append") && event.message !== undefined) {
|
|
41
|
+
const message = projectBrowserMessage(event.message, images);
|
|
42
|
+
return message === event.message ? event : { ...event, message };
|
|
43
|
+
}
|
|
44
|
+
if (event.type === "tool.end" || event.type === "tool.update") {
|
|
45
|
+
const content = projectBrowserContent(event.content, images);
|
|
46
|
+
return content === event.content ? event : { ...event, content };
|
|
47
|
+
}
|
|
48
|
+
return event;
|
|
30
49
|
}
|
|
31
50
|
function mapChanged(values, project) {
|
|
32
51
|
let projectedValues;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserMessageProjection.js","sourceRoot":"","sources":["../../src/server/browserMessageProjection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"browserMessageProjection.js","sourceRoot":"","sources":["../../src/server/browserMessageProjection.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,MAA8B;IACpF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB,EAAE,MAA8B;IAC7E,IAAI,cAAc,CAAC,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;IAC3F,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC;QAAE,OAAO,OAAO,CAAC;IACnG,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACtC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAqB,EAAE,MAA8B;IACjG,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACpG,OAAO,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAkC,QAAW,EAAE,MAA8B;IACvH,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChE,OAAO,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,QAAmC,EAAE,MAA8B;IAClH,MAAM,MAAM,GAAG,4BAA4B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,6BAA6B,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAqB,EAAE,MAA8B;IAC9F,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAI,MAAW,EAAE,OAAwB;IAC1D,IAAI,eAAgC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,eAAe,IAAI,MAAM,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { mergeSelectedMachineConfig, parsePiWebConfigResponseBody, parseSelected
|
|
|
4
4
|
import { pluginBackendChannelProxyAdmissionPool, } from "../plugins/pluginBackendChannelProxyAdmission.js";
|
|
5
5
|
import { coordinatePluginBackendChannelProxy, PluginBackendChannelProxyConnectionError, } from "../plugins/pluginBackendChannelProxyCoordinator.js";
|
|
6
6
|
import { requestCancellation } from "../requestCancellation.js";
|
|
7
|
+
import { isSessionImageMimeType } from "../sessions/sessionMediaIndex.js";
|
|
7
8
|
import { bridgeSockets, markPluginBackendChannelUpgradeRequest } from "../webSocketBridge.js";
|
|
8
9
|
import { applyWorkspaceFilePreviewErrorResponsePolicy, applyWorkspaceFilePreviewResponsePolicy } from "../workspaces/filePreviewResponseHeaders.js";
|
|
9
10
|
import { workspaceFilePreviewErrorResponsePolicy, workspaceFilePreviewResponsePolicy } from "../workspaces/filePreviewResponsePolicy.js";
|
|
@@ -68,6 +69,9 @@ export function registerMachineProxyRoutes(app, machines = new MachineService(),
|
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
async function proxyHttpRequest(machines, spec, machineId, method, requestUrl, body, contentType, reply, signal) {
|
|
72
|
+
const sessionMedia = spec.path === "/sessions/:sessionId/media/:mediaId";
|
|
73
|
+
if (sessionMedia)
|
|
74
|
+
applySessionMediaResponsePolicy(reply);
|
|
71
75
|
if (machineId === "local") {
|
|
72
76
|
return reply.code(501).send({ error: "Local machine route is not registered for this endpoint" });
|
|
73
77
|
}
|
|
@@ -94,6 +98,8 @@ async function proxyHttpRequest(machines, spec, machineId, method, requestUrl, b
|
|
|
94
98
|
const upstream = requestOptions === undefined
|
|
95
99
|
? await client.request(method, remotePath, body)
|
|
96
100
|
: await client.request(method, remotePath, body, requestOptions);
|
|
101
|
+
if (sessionMedia)
|
|
102
|
+
return await proxySessionMediaResponse(reply, upstream);
|
|
97
103
|
const responseBody = upstream.body === undefined || responseBodyLimit === undefined
|
|
98
104
|
? upstream.body
|
|
99
105
|
: await readBoundedRemoteBody(upstream.body, responseBodyLimit, remainingResponseTimeout(startedAt, spec.timeoutMs), signal);
|
|
@@ -124,6 +130,31 @@ async function proxyHttpRequest(machines, spec, machineId, method, requestUrl, b
|
|
|
124
130
|
return sendGatewayError(reply, machineId, error);
|
|
125
131
|
}
|
|
126
132
|
}
|
|
133
|
+
function applySessionMediaResponsePolicy(reply) {
|
|
134
|
+
reply
|
|
135
|
+
.header("Content-Security-Policy", "sandbox; default-src 'none'; img-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'self'")
|
|
136
|
+
.header("X-Content-Type-Options", "nosniff")
|
|
137
|
+
.header("Content-Disposition", "inline");
|
|
138
|
+
}
|
|
139
|
+
function proxySessionMediaResponse(reply, upstream) {
|
|
140
|
+
const successful = isSuccessfulStatus(upstream.statusCode);
|
|
141
|
+
const contentType = firstHeaderValue(upstream.headers["content-type"])?.split(";", 1)[0]?.trim().toLowerCase();
|
|
142
|
+
if ((successful && isSessionImageMimeType(contentType))
|
|
143
|
+
|| (!successful && contentType === "application/json" && upstream.body !== undefined)) {
|
|
144
|
+
applySafeHeaders(reply, upstream.headers);
|
|
145
|
+
// Remote security headers are never authoritative. Canonical JSON plus this
|
|
146
|
+
// policy also makes a mislabeled error page inert, without buffering errors
|
|
147
|
+
// or imposing a new limit on the existing media streaming contract.
|
|
148
|
+
applySessionMediaResponsePolicy(reply);
|
|
149
|
+
reply.type(successful ? contentType : "application/json; charset=utf-8");
|
|
150
|
+
return reply.code(upstream.statusCode).send(upstream.body);
|
|
151
|
+
}
|
|
152
|
+
if (upstream.body !== undefined)
|
|
153
|
+
destroyReadable(upstream.body);
|
|
154
|
+
if (successful)
|
|
155
|
+
throw new RemoteMachineRequestError("Remote machine returned an unsupported session image MIME type", 502);
|
|
156
|
+
return reply.code(upstream.statusCode).send({ error: "Remote session media request failed", statusCode: upstream.statusCode });
|
|
157
|
+
}
|
|
127
158
|
async function proxySelectedMachineConfigRequest(client, machineId, method, remotePath, body, reply) {
|
|
128
159
|
if (method === "GET") {
|
|
129
160
|
return sendSelectedMachineConfigResponse(reply, await client.requestJson("GET", remotePath), machineId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machineProxyRoutes.js","sourceRoot":"","sources":["../../../src/server/machines/machineProxyRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"machineProxyRoutes.js","sourceRoot":"","sources":["../../../src/server/machines/machineProxyRoutes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const UNREAD_CLEANUP_DELAY_MS = 60_000;
|
|
2
|
+
/** Project mutations plus eventual garbage collection of orphan unread entries. */
|
|
3
|
+
export class ProjectLifecycleService {
|
|
4
|
+
constructor(dependencies) {
|
|
5
|
+
this.dependencies = dependencies;
|
|
6
|
+
this.queue = Promise.resolve();
|
|
7
|
+
this.stopping = false;
|
|
8
|
+
}
|
|
9
|
+
/** Called for existing startup unread, new completions, and removals—not reads. */
|
|
10
|
+
scheduleCleanup() {
|
|
11
|
+
if (this.stopping || this.cleanupTimer !== undefined || !this.dependencies.hasUnread())
|
|
12
|
+
return;
|
|
13
|
+
this.cleanupTimer = setTimeout(() => {
|
|
14
|
+
this.cleanupTimer = undefined;
|
|
15
|
+
void this.serialized(() => this.cleanupUnread()).catch((error) => {
|
|
16
|
+
this.dependencies.logger.warn({ err: error }, "orphan unread cleanup failed; will retry");
|
|
17
|
+
this.scheduleCleanup();
|
|
18
|
+
});
|
|
19
|
+
}, UNREAD_CLEANUP_DELAY_MS);
|
|
20
|
+
this.cleanupTimer.unref();
|
|
21
|
+
}
|
|
22
|
+
add(input) {
|
|
23
|
+
return this.serialized(async () => {
|
|
24
|
+
// Clean before admission when discovery is authoritative so re-adding an
|
|
25
|
+
// orphan cwd does not revive historical unread. Provider outages defer
|
|
26
|
+
// cleanup; durable reconciliation failures still block admission.
|
|
27
|
+
this.clearCleanupTimer();
|
|
28
|
+
try {
|
|
29
|
+
await this.cleanupUnread();
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.scheduleCleanup();
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
const project = await this.dependencies.projects.add(input);
|
|
36
|
+
this.dependencies.onProjectsChanged();
|
|
37
|
+
return project;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
close(id) {
|
|
41
|
+
return this.serialized(async () => {
|
|
42
|
+
await this.dependencies.projects.close(id);
|
|
43
|
+
this.dependencies.onProjectsChanged();
|
|
44
|
+
this.scheduleCleanup();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/** Stop the timer and drain admitted work before sessions/persistence shut down. */
|
|
48
|
+
async closeAll() {
|
|
49
|
+
this.stopping = true;
|
|
50
|
+
this.clearCleanupTimer();
|
|
51
|
+
await this.queue;
|
|
52
|
+
}
|
|
53
|
+
async cleanupUnread() {
|
|
54
|
+
// Re-check at execution time: the user may have read everything while the
|
|
55
|
+
// timer was pending. Empty catalogs never require workspace discovery.
|
|
56
|
+
if (!this.dependencies.hasUnread())
|
|
57
|
+
return;
|
|
58
|
+
const projects = await this.dependencies.projects.list();
|
|
59
|
+
let resolutions;
|
|
60
|
+
try {
|
|
61
|
+
resolutions = await Promise.all(projects.map((project) => this.dependencies.workspaces.resolve(project)));
|
|
62
|
+
for (const resolution of resolutions) {
|
|
63
|
+
if (resolution.status === "degraded" || resolution.diagnostics.length > 0) {
|
|
64
|
+
throw new Error(`Cannot clean up unread state: workspace resolution incomplete for ${resolution.projectId}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
// An incomplete snapshot cannot prove any cwd is orphaned. Defer the
|
|
70
|
+
// whole pass, not admission; keep durable reconciliation outside this catch.
|
|
71
|
+
this.dependencies.logger.warn({ err: error, projectIds: projects.map((project) => project.id) }, "orphan unread cleanup deferred: workspace discovery incomplete; will retry");
|
|
72
|
+
this.scheduleCleanup();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
await this.dependencies.reconcileUnreadWorkspaces(resolutions.flatMap((resolution) => resolution.workspaces.map((workspace) => workspace.path)));
|
|
76
|
+
}
|
|
77
|
+
clearCleanupTimer() {
|
|
78
|
+
if (this.cleanupTimer !== undefined)
|
|
79
|
+
clearTimeout(this.cleanupTimer);
|
|
80
|
+
this.cleanupTimer = undefined;
|
|
81
|
+
}
|
|
82
|
+
serialized(operation) {
|
|
83
|
+
if (this.stopping)
|
|
84
|
+
return Promise.reject(new Error("Project lifecycle is shutting down"));
|
|
85
|
+
const result = this.queue.then(operation);
|
|
86
|
+
// Errors reach their caller without poisoning later mutations or retries.
|
|
87
|
+
this.queue = result.catch(() => undefined);
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=projectLifecycleService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectLifecycleService.js","sourceRoot":"","sources":["../../../src/server/projects/projectLifecycleService.ts"],"names":[],"mappings":"AAYA,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,mFAAmF;AACnF,MAAM,OAAO,uBAAuB;IAKlC,YAA6B,YAA0C;QAA1C,iBAAY,GAAZ,YAAY,CAA8B;QAJ/D,UAAK,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;QAE5C,aAAQ,GAAG,KAAK,CAAC;IAEiD,CAAC;IAE3E,mFAAmF;IACnF,eAAe;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAAE,OAAO;QAC/F,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,0CAA0C,CAAC,CAAC;gBAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,uBAAuB,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,KAA2C;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,yEAAyE;YACzE,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAU;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAAE,OAAO;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,WAAmD,CAAC;QACxD,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1G,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1E,MAAM,IAAI,KAAK,CAAC,qEAAqE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,qEAAqE;YACrE,6EAA6E;YAC7E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAC3B,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EACjE,4EAA4E,CAC7E,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC/C,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC9F,CAAC;IACJ,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAEO,UAAU,CAAI,SAA2B;QAC/C,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,0EAA0E;QAC1E,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|