@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
@@ -0,0 +1,250 @@
1
+ import{d as e,l as t,r as n}from"./i18n-DLwqUqi0.js";import{P as r,l as i}from"./index-or46Cf5v.js";import{n as a}from"./presenter-DwZ-RSJ8.js";var o=`grid-template-columns: minmax(180px, 1.8fr) minmax(150px, 1.4fr) 140px 110px 110px 100px;`,s=`min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;`;function c(e){return typeof e!=`number`||!Number.isFinite(e)?n(`common.na`):r(e)}function l(e,t){return t.agentId?e.channelMeta?.find(e=>e.id===t.agentId)?.label??e.channelLabels?.[t.agentId]??t.agentId:`—`}function u(t,n){let r=t.enabled?`status-dot--ok`:`status-dot--idle`;return e`
2
+ <div
3
+ class="table-row"
4
+ style="cursor: pointer; ${o}"
5
+ title=${`Edit ${t.name}`}
6
+ @click=${()=>n.onEdit(t)}
7
+ >
8
+ <span
9
+ style="font-family: var(--mono); color: var(--text); display: flex; align-items: center; gap: 8px; min-width: 0;"
10
+ >
11
+ <span class="status-dot ${r}" style="flex: none;"></span>
12
+ <span style=${s}>${t.name}</span>
13
+ </span>
14
+ <span class="muted" style="font-family: var(--mono); ${s}"
15
+ >${a(t)}</span
16
+ >
17
+ <span class="muted" style=${s}>${l(n,t)}</span>
18
+ <span class="muted" style="font-family: var(--mono); ${s}"
19
+ >${c(t.state?.nextRunAtMs)}</span
20
+ >
21
+ <span class="muted" style="font-family: var(--mono); ${s}"
22
+ >${c(t.state?.lastRunAtMs)}</span
23
+ >
24
+ <span class="muted" style=${s}>${t.enabled?`Active`:`Paused`}</span>
25
+ </div>
26
+ `}function d(r){let a=r.jobs,s=a.filter(e=>e.enabled).length,c=a.length-s;return e`
27
+ <section class="card" style="border: none; background: transparent; padding: 0;">
28
+ <div class="row" style="justify-content: space-between; align-items: flex-start; gap: 16px;">
29
+ <div>
30
+ <div class="view-title">${n(`tabs.cron`)}</div>
31
+ <div class="view-sub">${s} scheduled · ${c} paused</div>
32
+ </div>
33
+ <div class="row" style="gap: 12px; flex: none;">
34
+ <div class="data-table-search" style="width: 220px;">
35
+ ${i.search}
36
+ <input
37
+ type="search"
38
+ .value=${r.jobsQuery}
39
+ placeholder="Search jobs"
40
+ @input=${e=>r.onJobsFiltersChange({cronJobsQuery:e.target.value})}
41
+ />
42
+ </div>
43
+ ${r.onQuickCreate?e`
44
+ <button class="btn primary" @click=${r.onQuickCreate}>
45
+ <span class="btn__icon">${i.plus}</span>
46
+ New
47
+ </button>
48
+ `:t}
49
+ </div>
50
+ </div>
51
+
52
+ ${r.error?e`<div class="callout danger" style="margin-top: 16px;">${r.error}</div>`:t}
53
+ ${a.length===0?e`<div class="muted" style="padding: 16px;">
54
+ ${r.loading?n(`cron.jobs.loading`):n(`cron.jobs.noMatching`)}
55
+ </div>`:e`
56
+ <div class="table" style="margin-top: 20px;">
57
+ <div class="table-head" style=${o}>
58
+ <span>JOB</span>
59
+ <span>SCHEDULE</span>
60
+ <span>AGENT</span>
61
+ <span>NEXT RUN</span>
62
+ <span>LAST RUN</span>
63
+ <span>STATUS</span>
64
+ </div>
65
+ ${a.map(e=>u(e,r))}
66
+ </div>
67
+ ${r.jobsHasMore?e`
68
+ <div class="row" style="margin-top: 12px;">
69
+ <button
70
+ class="btn"
71
+ ?disabled=${r.loading||r.jobsLoadingMore}
72
+ @click=${r.onLoadMoreJobs}
73
+ >
74
+ ${r.jobsLoadingMore?n(`cron.jobs.loading`):n(`cron.jobs.loadMore`)}
75
+ </button>
76
+ </div>
77
+ `:t}
78
+ `}
79
+ ${m(r)}
80
+ </section>
81
+ `}function f(e,t,n){e.onFormChange({[t]:n})}function p(n){let r=n.form;return r.scheduleKind===`cron`?e`
82
+ <label class="cron-edit__field">
83
+ <span class="cron-edit__label">Cron expression</span>
84
+ <input
85
+ class="input"
86
+ .value=${r.cronExpr}
87
+ placeholder="0 9 * * *"
88
+ @input=${e=>f(n,`cronExpr`,e.target.value)}
89
+ />
90
+ ${n.fieldErrors.cronExpr?e`<span class="cron-edit__error">${n.fieldErrors.cronExpr}</span>`:t}
91
+ </label>
92
+ <label class="cron-edit__field">
93
+ <span class="cron-edit__label">Timezone (optional)</span>
94
+ <input
95
+ class="input"
96
+ .value=${r.cronTz}
97
+ placeholder="UTC"
98
+ @input=${e=>f(n,`cronTz`,e.target.value)}
99
+ />
100
+ </label>
101
+ `:r.scheduleKind===`every`?e`
102
+ <div class="row" style="gap: 12px; align-items: flex-end;">
103
+ <label class="cron-edit__field" style="flex: 1;">
104
+ <span class="cron-edit__label">Every</span>
105
+ <input
106
+ class="input"
107
+ type="number"
108
+ min="1"
109
+ .value=${r.everyAmount}
110
+ @input=${e=>f(n,`everyAmount`,e.target.value)}
111
+ />
112
+ </label>
113
+ <label class="cron-edit__field" style="flex: 1;">
114
+ <span class="cron-edit__label">Unit</span>
115
+ <select
116
+ class="input"
117
+ .value=${r.everyUnit}
118
+ @change=${e=>f(n,`everyUnit`,e.target.value)}
119
+ >
120
+ <option value="minutes">minutes</option>
121
+ <option value="hours">hours</option>
122
+ <option value="days">days</option>
123
+ </select>
124
+ </label>
125
+ </div>
126
+ ${n.fieldErrors.everyAmount?e`<span class="cron-edit__error">${n.fieldErrors.everyAmount}</span>`:t}
127
+ `:e`
128
+ <label class="cron-edit__field">
129
+ <span class="cron-edit__label">Run at</span>
130
+ <input
131
+ class="input"
132
+ type="datetime-local"
133
+ .value=${r.scheduleAt}
134
+ @input=${e=>f(n,`scheduleAt`,e.target.value)}
135
+ />
136
+ ${n.fieldErrors.scheduleAt?e`<span class="cron-edit__error">${n.fieldErrors.scheduleAt}</span>`:t}
137
+ </label>
138
+ `}function m(r){if(!r.editingJobId)return t;let a=r.form,o=r.jobs.find(e=>e.id===r.editingJobId),s=[`cron`,`every`,`at`],c={cron:`Cron`,every:`Interval`,at:`Once`};return e`
139
+ <div class="exec-approval-overlay" role="dialog" aria-modal="true">
140
+ <div class="exec-approval-card cron-edit-card">
141
+ <div class="exec-approval-header">
142
+ <div>
143
+ <div class="exec-approval-title">Edit job</div>
144
+ <div class="exec-approval-sub">
145
+ ${a.name||o?.name||r.editingJobId}
146
+ </div>
147
+ </div>
148
+ <button class="icon-btn" aria-label="Close" @click=${r.onCancelEdit}>
149
+ ${i.x}
150
+ </button>
151
+ </div>
152
+
153
+ ${r.error?e`<div class="callout danger" style="margin: 0 0 12px;">${r.error}</div>`:t}
154
+
155
+ <div class="cron-edit__body">
156
+ <label class="cron-edit__field">
157
+ <span class="cron-edit__label">Name</span>
158
+ <input
159
+ class="input"
160
+ .value=${a.name}
161
+ @input=${e=>f(r,`name`,e.target.value)}
162
+ />
163
+ ${r.fieldErrors.name?e`<span class="cron-edit__error">${r.fieldErrors.name}</span>`:t}
164
+ </label>
165
+
166
+ <label class="cron-edit__field">
167
+ <span class="cron-edit__label">Prompt</span>
168
+ <textarea
169
+ class="input"
170
+ rows="3"
171
+ .value=${a.payloadText}
172
+ @input=${e=>f(r,`payloadText`,e.target.value)}
173
+ ></textarea>
174
+ </label>
175
+
176
+ <label class="cron-edit__field">
177
+ <span class="cron-edit__label">Agent (optional)</span>
178
+ <input
179
+ class="input"
180
+ list="cron-edit-agents"
181
+ .value=${a.agentId}
182
+ placeholder="default"
183
+ @input=${e=>f(r,`agentId`,e.target.value)}
184
+ />
185
+ <datalist id="cron-edit-agents">
186
+ ${r.agentSuggestions.map(t=>e`<option value=${t}></option>`)}
187
+ </datalist>
188
+ </label>
189
+
190
+ <div class="cron-edit__field">
191
+ <span class="cron-edit__label">Schedule</span>
192
+ <div class="cron-edit__segmented">
193
+ ${s.map(t=>e`
194
+ <button
195
+ class=${a.scheduleKind===t?`cron-edit__seg cron-edit__seg--active`:`cron-edit__seg`}
196
+ @click=${()=>f(r,`scheduleKind`,t)}
197
+ >
198
+ ${c[t]}
199
+ </button>
200
+ `)}
201
+ </div>
202
+ </div>
203
+ ${p(r)}
204
+
205
+ <label class="cron-edit__checkbox">
206
+ <input
207
+ type="checkbox"
208
+ .checked=${a.enabled}
209
+ @change=${e=>f(r,`enabled`,e.target.checked)}
210
+ />
211
+ <span>Enabled</span>
212
+ </label>
213
+ </div>
214
+
215
+ <div class="exec-approval-actions" style="justify-content: space-between;">
216
+ <div class="row" style="gap: 8px;">
217
+ ${o?e`
218
+ <button
219
+ class="btn"
220
+ ?disabled=${r.busy}
221
+ @click=${()=>r.onRun(o,`force`)}
222
+ >
223
+ Run now
224
+ </button>
225
+ <button
226
+ class="btn danger"
227
+ ?disabled=${r.busy}
228
+ @click=${()=>r.onRemove(o)}
229
+ >
230
+ Delete
231
+ </button>
232
+ `:t}
233
+ </div>
234
+ <div class="row" style="gap: 8px;">
235
+ <button class="btn" ?disabled=${r.busy} @click=${r.onCancelEdit}>
236
+ ${n(`common.cancel`)}
237
+ </button>
238
+ <button
239
+ class="btn primary"
240
+ ?disabled=${r.busy||!r.canSubmit}
241
+ @click=${r.onAdd}
242
+ >
243
+ ${r.busy?n(`common.working`):`Save`}
244
+ </button>
245
+ </div>
246
+ </div>
247
+ </div>
248
+ </div>
249
+ `}export{d as renderCron};
250
+ //# sourceMappingURL=cron-C-vhYdn2.js.map
@@ -1,4 +1,4 @@
1
- import{d as e,l as t,r as n}from"./i18n-DLwqUqi0.js";import{i as r}from"./presenter-DQKXVTz4.js";function i(i){let a=(i.status&&typeof i.status==`object`?i.status.securityAudit:null)?.summary??null,o=a?.critical??0,s=a?.warn??0,c=a?.info??0,l=o>0?`danger`:s>0?`warn`:`success`,u=o>0?`${o} critical`:s>0?`${s} warnings`:`No critical issues`;return e`
1
+ import{d as e,l as t,r as n}from"./i18n-DLwqUqi0.js";import{i as r}from"./presenter-DwZ-RSJ8.js";function i(i){let a=(i.status&&typeof i.status==`object`?i.status.securityAudit:null)?.summary??null,o=a?.critical??0,s=a?.warn??0,c=a?.info??0,l=o>0?`danger`:s>0?`warn`:`success`,u=o>0?`${o} critical`:s>0?`${s} warnings`:`No critical issues`;return e`
2
2
  <section class="grid">
3
3
  <div class="card">
4
4
  <div class="row" style="justify-content: space-between;">
@@ -91,4 +91,4 @@ ${r(t.payload)}</pre
91
91
  `}
92
92
  </section>
93
93
  `}export{i as renderDebug};
94
- //# sourceMappingURL=debug-BjvJPprv.js.map
94
+ //# sourceMappingURL=debug-C_P-kmLV.js.map