@pixelzx/genesis 2026.6.22 → 2026.6.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/cli-startup-metadata.json +1 -1
  5. package/dist/{command-registry-DPhQ-gYY.js → command-registry-9isdLVPT.js} +2 -2
  6. package/dist/{command-registry-DtvwURJ_.js → command-registry-Cz7IG6fj.js} +2 -2
  7. package/dist/{command-registry-core-DllgASdD.js → command-registry-core-YTbOUvAw.js} +2 -2
  8. package/dist/{completion-cli-CMRi4kQZ.js → completion-cli-56xGCg11.js} +2 -2
  9. package/dist/{config-cli-ByTCIigq.js → config-cli-D4puIeCQ.js} +1 -1
  10. package/dist/control-ui/assets/{agents-QDr5B3Ho.js → agents-JV9Lrpaq.js} +144 -144
  11. package/dist/control-ui/assets/{canvas-DcQV5mjQ.js → canvas-BGheLorj.js} +44 -44
  12. package/dist/control-ui/assets/channel-config-extras-BlcntHgk.js +2 -0
  13. package/dist/control-ui/assets/channels-D_T7jf1i.js +196 -0
  14. package/dist/control-ui/assets/cron-C-vhYdn2.js +250 -0
  15. package/dist/control-ui/assets/{debug-BjvJPprv.js → debug-C_P-kmLV.js} +2 -2
  16. package/dist/control-ui/assets/{index-BTDvMe6P.css → index-CtXQ8kx6.css} +1 -1
  17. package/dist/control-ui/assets/{index-Chv-rDKB.js → index-or46Cf5v.js} +5 -5
  18. package/dist/control-ui/assets/{instances-M2ru9deN.js → instances-B2yScyQI.js} +2 -2
  19. package/dist/control-ui/assets/{logs-l_Xtj11_.js → logs-BiUk-w3p.js} +1 -1
  20. package/dist/control-ui/assets/{mcp-CCow5u67.js → mcp-Cvo6FOST.js} +2 -2
  21. package/dist/control-ui/assets/{memory-DEvlXa9C.js → memory-EzZxvhx5.js} +2 -2
  22. package/dist/control-ui/assets/{models-Tc34Yl09.js → models-CHjUP5zU.js} +2 -2
  23. package/dist/control-ui/assets/{nodes-CHIr0hLe.js → nodes-CINI4_nb.js} +13 -13
  24. package/dist/control-ui/assets/{plugins-CRSFM6pi.js → plugins-x9HNTykY.js} +23 -23
  25. package/dist/control-ui/assets/presenter-DwZ-RSJ8.js +2 -0
  26. package/dist/control-ui/assets/{preview-DP8t6eAW.js → preview-yS9kUAt_.js} +1 -1
  27. package/dist/control-ui/assets/{sessions-Xg8c67jk.js → sessions-DnMfNBmX.js} +2 -2
  28. package/dist/control-ui/assets/{skills-CB5pgqaj.js → skills-B7wdMvcb.js} +8 -8
  29. package/dist/control-ui/assets/{skills-shared-DoedL_zw.js → skills-shared-C4nHDuFm.js} +1 -1
  30. package/dist/control-ui/assets/{wallet-C_ySxHYg.js → wallet-Ds1hW8CM.js} +2 -2
  31. package/dist/control-ui/index.html +2 -2
  32. package/dist/entry.js +1 -1
  33. package/dist/extensions/skill-workshop/genesis.plugin.json +2 -1
  34. package/dist/extensions/skill-workshop/index.js +1 -1
  35. package/dist/{gateway-cli-BNFp7cLD.js → gateway-cli-CeEdXZHU.js} +1 -1
  36. package/dist/index.js +1 -1
  37. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  38. package/dist/postinstall-inventory.json +37 -36
  39. package/dist/{program-C3s7d86C.js → program-0N-JnVM6.js} +1 -1
  40. package/dist/{register.subclis-ClL1mC0C.js → register.subclis-D0ogazCL.js} +2 -2
  41. package/dist/{register.subclis-C2UfM0nV.js → register.subclis-DPK0ga6y.js} +1 -1
  42. package/dist/{register.subclis-core-x3Cm5RAM.js → register.subclis-core-DIGnTWFD.js} +1 -1
  43. package/dist/{run-main-Cg3U0WGv.js → run-main-kPIaMJwz.js} +4 -4
  44. package/dist/{runtime-schema-m8uk8t3n.js → runtime-schema-CFPgELGN.js} +1 -1
  45. package/dist/{server-Cdq-naBB.js → server-HNGA0Ig0.js} +1 -1
  46. package/dist/{server-plugin-bootstrap-DQo6bnks.js → server-plugin-bootstrap-BXJURCLA.js} +1 -1
  47. package/dist/{server-plugin-bootstrap-CM8EErso.js → server-plugin-bootstrap-CNJ_xwIU.js} +1 -1
  48. package/dist/{server.impl-CZEASk_e.js → server.impl-DuIzmQsq.js} +2 -2
  49. package/package.json +1 -1
  50. package/dist/control-ui/assets/channels-DTjwzddp.js +0 -140
  51. package/dist/control-ui/assets/cron-BL9vNTgH.js +0 -78
  52. package/dist/control-ui/assets/presenter-DQKXVTz4.js +0 -2
@@ -1,140 +0,0 @@
1
- import{d as e,l as t,r as n}from"./i18n-DLwqUqi0.js";import{D as r,M as i,s as a}from"./index-Chv-rDKB.js";function o(e,t){return t.snapshot?.channels?.[e]}function s(e,t){let n=t.snapshot?.channelAccounts?.[e]??[],r=t.snapshot?.channelDefaultAccountId?.[e];return(r?n.find(e=>e.accountId===r):void 0)??n[0]??null}function c(e,t){let n=o(e,t),r=t.snapshot?.channelAccounts?.[e]??[],i=s(e,t);return{configured:typeof n?.configured==`boolean`?n.configured:typeof i?.configured==`boolean`?i.configured:null,running:typeof n?.running==`boolean`?n.running:null,connected:typeof n?.connected==`boolean`?n.connected:null,defaultAccount:i,hasAnyActiveAccount:r.some(e=>e.configured||e.running||e.connected),status:n}}function l(e,t){if(!t.snapshot)return!1;let n=c(e,t);return n.configured===!0||n.running===!0||n.connected===!0||n.hasAnyActiveAccount}function u(e,t){return t?.[e]?.length??0}var d=`grid-template-columns: 1.6fr 1fr 0.8fr 1fr 0.9fr;`;function f(e,t){let n=c(e,t);return typeof n.status?.lastError==`string`&&n.status.lastError?{label:`Error`,dot:`status-dot--error`,online:!1}:n.connected===!0||n.running===!0?{label:`Online`,dot:`status-dot--ok`,online:!0}:n.configured===!0||n.hasAnyActiveAccount?{label:`Idle`,dot:`status-dot--idle`,online:!1}:{label:`Offline`,dot:`status-dot--idle`,online:!1}}function p(e){return e.charAt(0).toUpperCase()+e.slice(1)}function m(e){return e?.channelMeta?.length?Object.fromEntries(e.channelMeta.map(e=>[e.id,e])):{}}function h(e,t){return m(e)[t]?.label??e?.channelLabels?.[t]??p(t)}function g(e){return e?.channelMeta?.length?e.channelMeta.map(e=>e.id):e?.channelOrder?.length?e.channelOrder:[`whatsapp`,`telegram`,`discord`,`googlechat`,`slack`,`signal`,`imessage`,`nostr`]}function _(t,r){let a=h(r.snapshot,t),o=f(t,r),c=u(t,r.snapshot?.channelAccounts??null),l=s(t,r),m=l?.lastInboundAt?i(l.lastInboundAt):n(`common.na`);return e`
2
- <div class="table-row" style=${d}>
3
- <span style="color: var(--text); display: flex; align-items: center; gap: 8px;">
4
- <span class="status-dot ${o.dot}"></span>
5
- ${a}
6
- </span>
7
- <span class="muted">${p(t)}</span>
8
- <span class="muted" style="font-family: var(--mono);">${c}</span>
9
- <span class="muted" style="font-family: var(--mono);">${m}</span>
10
- <span class="muted">${o.label}</span>
11
- </div>
12
- `}function v(i){let o=r(g(i.snapshot).map((e,t)=>({key:e,enabled:l(e,i),order:t})),(e,t)=>e.enabled===t.enabled?e.order-t.order:e.enabled?-1:1),s=o.filter(e=>f(e.key,i).online).length,c=o.length-s;return e`
13
- <section class="card" style="border: none; background: transparent; padding: 0;">
14
- <div class="row" style="justify-content: space-between; align-items: flex-start; gap: 16px;">
15
- <div>
16
- <div class="view-title">${n(`tabs.channels`)}</div>
17
- <div class="view-sub">${s} connected · ${c} idle</div>
18
- </div>
19
- <button
20
- class="btn primary"
21
- ?disabled=${!i.connected||i.channelWizardBusy}
22
- @click=${()=>i.onChannelWizardStart()}
23
- >
24
- <span class="btn__icon">${a.plus}</span>
25
- ${i.channelWizardBusy?n(`common.working`):n(`channels.wizard.addChannel`)}
26
- </button>
27
- </div>
28
-
29
- ${i.lastError?e`<div class="callout danger" style="margin-top: 16px;">${i.lastError}</div>`:t}
30
- ${o.length===0?e`<div class="muted" style="padding: 16px;">
31
- ${i.loading?n(`common.loading`):n(`common.na`)}
32
- </div>`:e`
33
- <div class="table" style="margin-top: 20px;">
34
- <div class="table-head" style=${d}>
35
- <span>CHANNEL</span>
36
- <span>PROVIDER</span>
37
- <span>ACCOUNTS</span>
38
- <span>LAST ACTIVITY</span>
39
- <span>STATUS</span>
40
- </div>
41
- ${o.map(e=>_(e.key,i))}
42
- </div>
43
- `}
44
- ${y(i)}
45
- </section>
46
- `}function y(r){let i=r.channelWizardStep,a=!!(r.channelWizardError||r.channelWizardMessage);if(!i&&!r.channelWizardBusy&&!a)return t;let o=i?.title||(r.channelWizardError?n(`channels.wizard.errorTitle`):r.channelWizardMessage?n(`channels.wizard.doneTitle`):n(`channels.wizard.title`)),s=i?.message??r.channelWizardError??r.channelWizardMessage??``,c=!!i&&!r.channelWizardBusy;return e`
47
- <div class="exec-approval-overlay" role="dialog" aria-modal="true" aria-live="polite">
48
- <div class="exec-approval-card channel-wizard-card">
49
- <div class="exec-approval-header">
50
- <div>
51
- <div class="exec-approval-title">${o}</div>
52
- <div class="exec-approval-sub">${n(`channels.wizard.subtitle`)}</div>
53
- </div>
54
- </div>
55
- ${s?e`<div class="channel-wizard-message">${b(s)}</div>`:t}
56
- ${i?C(r,i):t}
57
- ${r.channelWizardError?e`<div class="exec-approval-error">${r.channelWizardError}</div>`:t}
58
- <div class="exec-approval-actions">
59
- ${i?e`
60
- <button
61
- class="btn primary"
62
- ?disabled=${!c}
63
- @click=${()=>r.onChannelWizardSubmit()}
64
- >
65
- ${r.channelWizardBusy?n(`common.working`):n(`channels.wizard.continue`)}
66
- </button>
67
- <button
68
- class="btn"
69
- ?disabled=${r.channelWizardBusy}
70
- @click=${()=>r.onChannelWizardCancel()}
71
- >
72
- ${n(`common.cancel`)}
73
- </button>
74
- `:e`
75
- <button
76
- class="btn primary"
77
- ?disabled=${r.channelWizardBusy}
78
- @click=${()=>r.onChannelWizardClose()}
79
- >
80
- ${n(`common.ok`)}
81
- </button>
82
- `}
83
- </div>
84
- </div>
85
- </div>
86
- `}function b(n){return n.split(`
87
- `).map(e=>e.trimEnd()).map((n,r)=>e`${r>0?e`<br />`:t}${n}`)}function x(e){if(typeof e==`string`)return`string:${e}`;try{return`json:${JSON.stringify(e)}`}catch{return String(e)}}function S(e,t){return x(e)===x(t)}function C(r,i){if(i.type===`select`)return e`
88
- <div class="channel-wizard-options">
89
- ${(i.options??[]).map(n=>e`
90
- <button
91
- class=${S(r.channelWizardInput,n.value)?`channel-wizard-option selected`:`channel-wizard-option`}
92
- ?disabled=${r.channelWizardBusy}
93
- @click=${()=>r.onChannelWizardInput(n.value)}
94
- >
95
- <span>${n.label}</span>
96
- ${n.hint?e`<small>${n.hint}</small>`:t}
97
- </button>
98
- `)}
99
- </div>
100
- `;if(i.type===`multiselect`){let n=Array.isArray(r.channelWizardInput)?r.channelWizardInput:[];return e`
101
- <div class="channel-wizard-options">
102
- ${(i.options??[]).map(i=>{let a=n.some(e=>S(e,i.value)),o=a?n.filter(e=>!S(e,i.value)):[...n,i.value];return e`
103
- <button
104
- class=${a?`channel-wizard-option selected`:`channel-wizard-option`}
105
- ?disabled=${r.channelWizardBusy}
106
- @click=${()=>r.onChannelWizardInput(o)}
107
- >
108
- <span>${i.label}</span>
109
- ${i.hint?e`<small>${i.hint}</small>`:t}
110
- </button>
111
- `})}
112
- </div>
113
- `}if(i.type===`confirm`)return e`
114
- <div class="channel-wizard-confirm">
115
- <button
116
- class=${r.channelWizardInput===!0?`btn primary`:`btn`}
117
- ?disabled=${r.channelWizardBusy}
118
- @click=${()=>r.onChannelWizardInput(!0)}
119
- >
120
- ${n(`common.yes`)}
121
- </button>
122
- <button
123
- class=${r.channelWizardInput===!1?`btn primary`:`btn`}
124
- ?disabled=${r.channelWizardBusy}
125
- @click=${()=>r.onChannelWizardInput(!1)}
126
- >
127
- ${n(`common.no`)}
128
- </button>
129
- </div>
130
- `;if(i.type===`text`){let t=typeof r.channelWizardInput==`string`?r.channelWizardInput:``;return e`
131
- <input
132
- class="input channel-wizard-text"
133
- type=${i.sensitive?`password`:`text`}
134
- .value=${t}
135
- placeholder=${i.placeholder??``}
136
- ?disabled=${r.channelWizardBusy}
137
- @input=${e=>r.onChannelWizardInput(e.currentTarget.value)}
138
- />
139
- `}return t}export{v as renderChannels};
140
- //# sourceMappingURL=channels-DTjwzddp.js.map
@@ -1,78 +0,0 @@
1
- import{d as e,l as t,r as n}from"./i18n-DLwqUqi0.js";import{M as r,s as i}from"./index-Chv-rDKB.js";import{n as a}from"./presenter-DQKXVTz4.js";var o=`grid-template-columns: 130px 1fr 150px 110px 110px 120px;`;function s(e){return typeof e!=`number`||!Number.isFinite(e)?n(`common.na`):r(e)}function c(e,t){return t.agentId?e.channelMeta?.find(e=>e.id===t.agentId)?.label??e.channelLabels?.[t.agentId]??t.agentId:`—`}function l(t,n){return e`
2
- <div
3
- class="table-row"
4
- style="cursor: pointer; ${o}"
5
- @click=${()=>n.onLoadRuns(t.id)}
6
- >
7
- <span
8
- style="font-family: var(--mono); color: var(--text); display: flex; align-items: center; gap: 8px;"
9
- >
10
- <span class="status-dot ${t.enabled?`status-dot--ok`:`status-dot--idle`}"></span>
11
- ${t.name}
12
- </span>
13
- <span class="muted" style="font-family: var(--mono);">${a(t)}</span>
14
- <span class="muted">${c(n,t)}</span>
15
- <span class="muted" style="font-family: var(--mono);"
16
- >${s(t.state?.nextRunAtMs)}</span
17
- >
18
- <span class="muted" style="font-family: var(--mono);"
19
- >${s(t.state?.lastRunAtMs)}</span
20
- >
21
- <span class="muted">${t.enabled?`Active`:`Paused`}</span>
22
- </div>
23
- `}function u(r){let a=r.jobs,s=a.filter(e=>e.enabled).length,c=a.length-s;return e`
24
- <section class="card" style="border: none; background: transparent; padding: 0;">
25
- <div class="row" style="justify-content: space-between; align-items: flex-start; gap: 16px;">
26
- <div>
27
- <div class="view-title">${n(`tabs.cron`)}</div>
28
- <div class="view-sub">${s} scheduled · ${c} paused</div>
29
- </div>
30
- <div class="row" style="gap: 12px; flex: none;">
31
- <div class="data-table-search" style="width: 220px;">
32
- ${i.search}
33
- <input
34
- type="search"
35
- .value=${r.jobsQuery}
36
- placeholder="Search jobs"
37
- @input=${e=>r.onJobsFiltersChange({cronJobsQuery:e.target.value})}
38
- />
39
- </div>
40
- ${r.onQuickCreate?e`
41
- <button class="btn primary" @click=${r.onQuickCreate}>
42
- <span class="btn__icon">${i.plus}</span>
43
- New
44
- </button>
45
- `:t}
46
- </div>
47
- </div>
48
-
49
- ${r.error?e`<div class="callout danger" style="margin-top: 16px;">${r.error}</div>`:t}
50
- ${a.length===0?e`<div class="muted" style="padding: 16px;">
51
- ${r.loading?n(`cron.jobs.loading`):n(`cron.jobs.noMatching`)}
52
- </div>`:e`
53
- <div class="table" style="margin-top: 20px;">
54
- <div class="table-head" style=${o}>
55
- <span>JOB</span>
56
- <span>SCHEDULE</span>
57
- <span>AGENT</span>
58
- <span>NEXT RUN</span>
59
- <span>LAST RUN</span>
60
- <span>STATUS</span>
61
- </div>
62
- ${a.map(e=>l(e,r))}
63
- </div>
64
- ${r.jobsHasMore?e`
65
- <div class="row" style="margin-top: 12px;">
66
- <button
67
- class="btn"
68
- ?disabled=${r.loading||r.jobsLoadingMore}
69
- @click=${r.onLoadMoreJobs}
70
- >
71
- ${r.jobsLoadingMore?n(`cron.jobs.loading`):n(`cron.jobs.loadMore`)}
72
- </button>
73
- </div>
74
- `:t}
75
- `}
76
- </section>
77
- `}export{u as renderCron};
78
- //# sourceMappingURL=cron-BL9vNTgH.js.map
@@ -1,2 +0,0 @@
1
- import{r as e}from"./i18n-DLwqUqi0.js";import{A as t,M as n,N as r,j as i}from"./index-Chv-rDKB.js";function a(t){let r=t.ts??null;return r?n(r):e(`common.na`)}function o(r){return r?`${new Date(r).toLocaleDateString(void 0,{weekday:`short`})}, ${t(r)} (${n(r)})`:e(`common.na`)}function s(t){if(t.totalTokens==null)return e(`common.na`);let n=t.totalTokens??0,r=t.contextTokens??0;return r?`${n} / ${r}`:String(n)}function c(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return i(e)}}function l(n){let r=n.state??{},i=r.nextRunAtMs?t(r.nextRunAtMs):e(`common.na`),a=r.lastRunAtMs?t(r.lastRunAtMs):e(`common.na`);return`${r.lastStatus??e(`common.na`)} · next ${i} · last ${a}`}function u(e){let n=e.schedule;if(n.kind===`at`){let e=Date.parse(n.at);return Number.isFinite(e)?`At ${t(e)}`:`At ${n.at}`}return n.kind===`every`?`Every ${r(n.everyMs)}`:`Cron ${n.expr}${n.tz?` (${n.tz})`:``}`}function d(e){let t=e.payload;if(t.kind===`systemEvent`)return`System: ${t.text}`;let n=`Agent: ${t.message}`,r=e.delivery;if(r&&r.mode!==`none`){let e=r.mode===`webhook`?r.to?` (${r.to})`:``:r.channel||r.to?` (${r.channel??`last`}${r.to?` -> ${r.to}`:``})`:``;return`${n} · ${r.mode}${e}`}return n}export{o as a,c as i,u as n,a as o,l as r,s,d as t};
2
- //# sourceMappingURL=presenter-DQKXVTz4.js.map