@agentproto/apps 0.20.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +17 -3
- package/dist/index.mjs.map +1 -1
- package/dist/session-chat/index.d.ts +7 -0
- package/dist/session-chat/index.d.ts.map +1 -1
- package/dist/session-chat/panel.d.ts +1 -1
- package/dist/session-chat/panel.d.ts.map +1 -1
- package/dist/session-chat/panel.mjs +5 -0
- package/dist/session-chat/panel.mjs.map +1 -1
- package/dist/session-chat.mjs +10 -2
- package/dist/session-chat.mjs.map +1 -1
- package/dist/session-story/panel.d.ts.map +1 -1
- package/dist/session-story/panel.mjs +8 -2
- package/dist/session-story/panel.mjs.map +1 -1
- package/dist/session-story.mjs +8 -2
- package/dist/session-story.mjs.map +1 -1
- package/package.json +1 -1
- package/session-steward/.agentproto/workflows/session-steward/WORKFLOW.md +6 -0
- package/session-steward/.agentproto/workflows/session-steward/cron-rules.mjs +22 -4
- package/session-steward/.agentproto/workflows/session-steward/entry.mjs +28 -5
package/dist/index.mjs
CHANGED
|
@@ -6616,7 +6616,7 @@ var SESSION_STORY_PANEL_HTML = `<!doctype html>
|
|
|
6616
6616
|
<div class="h2" id="heroSub"></div>
|
|
6617
6617
|
</div>
|
|
6618
6618
|
<div class="modewrap"><button id="modeSimple" class="on" type="button">Simple</button><button id="modeTech" type="button">Tech</button></div>
|
|
6619
|
-
<a class="sim" id="fullPanelLink" href="#" target="_blank" rel="noopener" title="Ouvrir
|
|
6619
|
+
<a class="sim hidden" id="fullPanelLink" href="#" target="_blank" rel="noopener" title="Ouvrir la session en direct (live-session du daemon)">↗ panneau complet</a>
|
|
6620
6620
|
<button class="sim" id="switchBtn" type="button">⇆ changer</button>
|
|
6621
6621
|
</div>
|
|
6622
6622
|
<div class="plan" id="plan"></div>
|
|
@@ -6976,7 +6976,13 @@ function openSession(id){
|
|
|
6976
6976
|
lastSeenOutputAt=null;
|
|
6977
6977
|
$('pickerScreen').classList.add('hidden');
|
|
6978
6978
|
$('storyScreen').classList.remove('hidden');
|
|
6979
|
-
|
|
6979
|
+
// Deep-link to the daemon's own live-session panel (GET /apps/:appId/ui
|
|
6980
|
+
// pins it via ?sessionId=). Only resolvable when this panel is itself
|
|
6981
|
+
// served standalone by the daemon; inside an MCP host iframe the origin
|
|
6982
|
+
// isn't the daemon's, so the link stays hidden rather than dead.
|
|
6983
|
+
var daemonOrigin=(location.pathname.indexOf('/apps/')===0&&location.origin&&location.origin!=='null')?location.origin:'';
|
|
6984
|
+
$('fullPanelLink').href=daemonOrigin?daemonOrigin+'/apps/@agentproto/live-session/ui?sessionId='+encodeURIComponent(id):'#';
|
|
6985
|
+
$('fullPanelLink').classList.toggle('hidden',!daemonOrigin);
|
|
6980
6986
|
closePanel();
|
|
6981
6987
|
loadStory().then(renderAll);
|
|
6982
6988
|
}
|
|
@@ -8233,6 +8239,7 @@ function escapeAttr(text) {
|
|
|
8233
8239
|
function sessionChatEmbedHtml(initData) {
|
|
8234
8240
|
const url = typeof initData.url === "string" && initData.url ? initData.url : null;
|
|
8235
8241
|
const notInstalled = initData.installed === false;
|
|
8242
|
+
const storeUrl = typeof initData.storeUrl === "string" && initData.storeUrl ? initData.storeUrl : "/store?install=%40agentik%2Fsession-chat";
|
|
8236
8243
|
const link = url != null ? `<a href="${escapeAttr(url)}" target="_blank" rel="noreferrer">open in a tab</a>` : notInstalled ? "app not installed" : "connecting\u2026";
|
|
8237
8244
|
const iframe = url != null ? `<iframe id="chat" title="Session Chat"></iframe>` : "";
|
|
8238
8245
|
return `<!DOCTYPE html>
|
|
@@ -8275,6 +8282,8 @@ html,body{height:100%;font-family:system-ui,-apple-system,sans-serif;background:
|
|
|
8275
8282
|
it does not bundle the chat UI itself.</p>
|
|
8276
8283
|
<p>To use it, install the app into this daemon:</p>
|
|
8277
8284
|
<p><code>agentproto app install @agentik/session-chat</code></p>
|
|
8285
|
+
<p>or open <a href="${escapeAttr(storeUrl)}" target="_blank" rel="noreferrer">the App Store</a>
|
|
8286
|
+
(the daemon's <code>/store</code> panel, with the entry pre-selected).</p>
|
|
8278
8287
|
</div></div>
|
|
8279
8288
|
<script>
|
|
8280
8289
|
window.__APP_INIT__ = ${JSON.stringify(initData)};
|
|
@@ -8619,6 +8628,8 @@ p{margin:8px 0;color:#8b949e;font-size:13px}
|
|
|
8619
8628
|
it does not bundle the chat UI itself.</p>
|
|
8620
8629
|
<p>To use it, install the app into this daemon:</p>
|
|
8621
8630
|
<p><code>agentproto app install @agentik/session-chat</code></p>
|
|
8631
|
+
<p>or open <a href="/store?install=%40agentik%2Fsession-chat">the App Store</a>
|
|
8632
|
+
(the daemon's <code>/store</code> panel, with the entry pre-selected).</p>
|
|
8622
8633
|
<p>Once installed, call <code>agentproto_session_chat</code> again (optionally with a
|
|
8623
8634
|
<code>sessionId</code>) and the panel will embed the app's chat UI deep-linked to that
|
|
8624
8635
|
session.</p>
|
|
@@ -8640,6 +8651,9 @@ function sessionChatAppUrl(httpBaseUrl, sessionId) {
|
|
|
8640
8651
|
params.set("embed", "1");
|
|
8641
8652
|
return `${base}?${params.toString()}`;
|
|
8642
8653
|
}
|
|
8654
|
+
function sessionChatStoreUrl(httpBaseUrl) {
|
|
8655
|
+
return `${httpBaseUrl.replace(/\/+$/, "")}/store?install=${encodeURIComponent(SESSION_CHAT_APP_ID)}`;
|
|
8656
|
+
}
|
|
8643
8657
|
function daemonOrigin(httpBaseUrl) {
|
|
8644
8658
|
return new URL(httpBaseUrl).origin;
|
|
8645
8659
|
}
|
|
@@ -8651,7 +8665,7 @@ function makeSessionChatApp(ops) {
|
|
|
8651
8665
|
description: "Open the Session Chat app \u2014 a chat-thread view of any agentproto daemon session: full transcript replay, live follow-over SSE, and a composer that sends prompts into the same session. Requires the `@agentik/session-chat` app to be installed; without it the panel shows install instructions. Pass `sessionId` to deep-link straight into a known session.",
|
|
8652
8666
|
inputSchema: sessionChatInputSchema,
|
|
8653
8667
|
execute: async (input) => {
|
|
8654
|
-
if (!installed) return { installed, url: null };
|
|
8668
|
+
if (!installed) return { installed, url: null, storeUrl: sessionChatStoreUrl(ops.httpBaseUrl) };
|
|
8655
8669
|
const token = ops.mintEmbedToken?.();
|
|
8656
8670
|
return {
|
|
8657
8671
|
installed,
|