@stackbilt/aegis-core 0.6.5 → 0.8.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.
Files changed (121) hide show
  1. package/cli/aegis.mjs +356 -0
  2. package/package.json +21 -3
  3. package/public/assets/index-CQHn03rW.css +1 -0
  4. package/public/assets/index-CTKpNJEr.js +74 -0
  5. package/public/index.html +14 -0
  6. package/schema.sql +4 -0
  7. package/src/adapters/voice/cloudflare-agent.ts +0 -0
  8. package/src/agent-routing.ts +38 -0
  9. package/src/assets.ts +6 -0
  10. package/src/auth.ts +14 -5
  11. package/src/bluesky.ts +0 -0
  12. package/src/claude-tools/content.ts +0 -0
  13. package/src/claude-tools/email.ts +0 -0
  14. package/src/claude.ts +133 -268
  15. package/src/codebeast.ts +0 -0
  16. package/src/composite.ts +49 -79
  17. package/src/content/column.ts +0 -0
  18. package/src/content/hero-image.ts +0 -0
  19. package/src/content/index.ts +0 -0
  20. package/src/content/journal.ts +0 -0
  21. package/src/content/roundtable.ts +0 -0
  22. package/src/contracts/agenda-item.contract.ts +0 -0
  23. package/src/contracts/cc-task.contract.ts +0 -0
  24. package/src/contracts/goal.contract.ts +0 -0
  25. package/src/contracts/memory-entry.contract.ts +0 -0
  26. package/src/core.ts +5 -0
  27. package/src/dashboard.ts +0 -0
  28. package/src/decision-docs.ts +0 -0
  29. package/src/dispatch.ts +0 -0
  30. package/src/durable-objects/chat-session-auth.ts +20 -0
  31. package/src/durable-objects/chat-session.ts +251 -0
  32. package/src/edge-env.ts +0 -0
  33. package/src/exports.ts +0 -0
  34. package/src/github-projects.ts +0 -0
  35. package/src/groq.ts +61 -113
  36. package/src/index.ts +11 -1
  37. package/src/kernel/argus-actions.ts +0 -0
  38. package/src/kernel/argus-correlation.ts +0 -0
  39. package/src/kernel/board.ts +0 -0
  40. package/src/kernel/classify-memory-topic.ts +0 -0
  41. package/src/kernel/disambiguation.ts +55 -0
  42. package/src/kernel/dispatch.ts +59 -44
  43. package/src/kernel/dynamic-tools.ts +30 -52
  44. package/src/kernel/executor-port.ts +0 -0
  45. package/src/kernel/executor-router.ts +0 -0
  46. package/src/kernel/executors/claude.ts +1 -0
  47. package/src/kernel/executors/direct.ts +14 -0
  48. package/src/kernel/executors/workers-ai.ts +5 -0
  49. package/src/kernel/grounding/fabrication-detector.ts +0 -0
  50. package/src/kernel/grounding/fanout.ts +0 -0
  51. package/src/kernel/grounding/semantic-sanhedrin.ts +0 -0
  52. package/src/kernel/grounding/verify.ts +0 -0
  53. package/src/kernel/grounding-layer.ts +0 -0
  54. package/src/kernel/insight-cache.ts +0 -0
  55. package/src/kernel/memory/episodic.ts +3 -1
  56. package/src/kernel/memory/insights.ts +0 -0
  57. package/src/kernel/memory-guardrails.ts +0 -0
  58. package/src/kernel/memory-service.ts +0 -0
  59. package/src/kernel/patterns.ts +0 -0
  60. package/src/kernel/port.ts +0 -0
  61. package/src/kernel/provider-factory.ts +0 -0
  62. package/src/kernel/resilience.ts +0 -0
  63. package/src/kernel/router.ts +33 -11
  64. package/src/kernel/scheduled/agent-dispatch.ts +0 -0
  65. package/src/kernel/scheduled/argus-analytics.ts +0 -0
  66. package/src/kernel/scheduled/argus-heartbeat.ts +0 -0
  67. package/src/kernel/scheduled/argus-notify.ts +0 -0
  68. package/src/kernel/scheduled/board-sync.ts +0 -0
  69. package/src/kernel/scheduled/ci-watcher.ts +0 -0
  70. package/src/kernel/scheduled/content-drip.ts +0 -0
  71. package/src/kernel/scheduled/content.ts +0 -0
  72. package/src/kernel/scheduled/conversation-facts.ts +9 -7
  73. package/src/kernel/scheduled/cost-report.ts +0 -0
  74. package/src/kernel/scheduled/dev-activity.ts +0 -0
  75. package/src/kernel/scheduled/digest.ts +30 -3
  76. package/src/kernel/scheduled/dreaming/agenda-triage.ts +0 -0
  77. package/src/kernel/scheduled/dreaming/facts.ts +0 -0
  78. package/src/kernel/scheduled/dreaming/index.ts +0 -0
  79. package/src/kernel/scheduled/dreaming/llm.ts +9 -5
  80. package/src/kernel/scheduled/dreaming/pattern-synthesis.ts +0 -0
  81. package/src/kernel/scheduled/dreaming/persona.ts +0 -0
  82. package/src/kernel/scheduled/dreaming/symbolic.ts +0 -0
  83. package/src/kernel/scheduled/dreaming/task-proposals.ts +0 -0
  84. package/src/kernel/scheduled/entropy.ts +0 -0
  85. package/src/kernel/scheduled/feed-watcher.ts +0 -0
  86. package/src/kernel/scheduled/inbox-processor.ts +0 -0
  87. package/src/kernel/scheduled/issue-proposer.ts +0 -0
  88. package/src/kernel/scheduled/issue-watcher.ts +0 -0
  89. package/src/kernel/scheduled/pr-automerge.ts +0 -0
  90. package/src/kernel/scheduled/product-health.ts +0 -0
  91. package/src/kernel/scheduled/self-improvement.ts +0 -0
  92. package/src/kernel/scheduled/social-engage.ts +12 -8
  93. package/src/kernel/scheduled/task-audit.ts +0 -0
  94. package/src/kernel/types.ts +6 -0
  95. package/src/landing.ts +0 -0
  96. package/src/lib/audit-chain/chain.ts +0 -0
  97. package/src/lib/audit-chain/types.ts +0 -0
  98. package/src/lib/observability/errors.ts +0 -0
  99. package/src/operator/config.ts +0 -0
  100. package/src/operator/persona.ts +0 -0
  101. package/src/operator/prompt-builder.ts +3 -0
  102. package/src/pulse.ts +0 -0
  103. package/src/routes/bluesky.ts +0 -0
  104. package/src/routes/chat-ws.ts +17 -0
  105. package/src/routes/codebeast.ts +0 -0
  106. package/src/routes/content.ts +0 -0
  107. package/src/routes/dynamic-tools.ts +0 -0
  108. package/src/routes/messages.ts +11 -6
  109. package/src/routes/observability.ts +0 -0
  110. package/src/routes/operator-logs.ts +0 -0
  111. package/src/routes/pages.ts +12 -1
  112. package/src/schema-enums.ts +0 -0
  113. package/src/task-intelligence.ts +0 -0
  114. package/src/types.ts +8 -0
  115. package/src/ui/index.html +13 -0
  116. package/src/ui/main.tsx +356 -0
  117. package/src/ui/styles.css +391 -0
  118. package/src/ui.ts +594 -2
  119. package/src/version.ts +3 -3
  120. package/src/wiki/client.ts +0 -0
  121. package/src/wiki/types.ts +0 -0
@@ -0,0 +1,391 @@
1
+ :root {
2
+ color-scheme: dark;
3
+ font-family: "IBM Plex Sans", "Aptos", "Segoe UI", sans-serif;
4
+ background: #101317;
5
+ color: #edf0ef;
6
+ line-height: 1.45;
7
+ }
8
+
9
+ * {
10
+ box-sizing: border-box;
11
+ }
12
+
13
+ body {
14
+ margin: 0;
15
+ min-width: 320px;
16
+ min-height: 100vh;
17
+ background:
18
+ linear-gradient(90deg, rgba(246, 189, 96, 0.08) 1px, transparent 1px),
19
+ linear-gradient(180deg, rgba(118, 179, 132, 0.08) 1px, transparent 1px),
20
+ #101317;
21
+ background-size: 48px 48px;
22
+ }
23
+
24
+ button,
25
+ input,
26
+ textarea {
27
+ font: inherit;
28
+ }
29
+
30
+ button {
31
+ border: 1px solid #3a4440;
32
+ border-radius: 6px;
33
+ background: #e7b75f;
34
+ color: #11130f;
35
+ cursor: pointer;
36
+ font-weight: 700;
37
+ }
38
+
39
+ button:disabled {
40
+ cursor: not-allowed;
41
+ opacity: 0.45;
42
+ }
43
+
44
+ input,
45
+ textarea {
46
+ width: 100%;
47
+ border: 1px solid #39413f;
48
+ border-radius: 6px;
49
+ background: #151a1d;
50
+ color: #f2f4f1;
51
+ }
52
+
53
+ input:focus,
54
+ textarea:focus,
55
+ button:focus-visible {
56
+ outline: 2px solid #76b384;
57
+ outline-offset: 2px;
58
+ }
59
+
60
+ .shell {
61
+ display: grid;
62
+ grid-template-columns: minmax(240px, 320px) minmax(0, 1fr) minmax(260px, 340px);
63
+ min-height: 100vh;
64
+ }
65
+
66
+ .rail,
67
+ .voice-panel {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 18px;
71
+ padding: 18px;
72
+ border-color: #28302d;
73
+ background: rgba(13, 17, 19, 0.94);
74
+ }
75
+
76
+ .rail {
77
+ border-right: 1px solid #28302d;
78
+ }
79
+
80
+ .voice-panel {
81
+ border-left: 1px solid #28302d;
82
+ }
83
+
84
+ .brand {
85
+ display: flex;
86
+ align-items: center;
87
+ gap: 12px;
88
+ min-height: 64px;
89
+ }
90
+
91
+ .brand-mark {
92
+ display: grid;
93
+ place-items: center;
94
+ width: 44px;
95
+ height: 44px;
96
+ border: 1px solid #76b384;
97
+ border-radius: 6px;
98
+ color: #76b384;
99
+ font-family: "IBM Plex Mono", "Cascadia Mono", monospace;
100
+ font-size: 1.4rem;
101
+ font-weight: 800;
102
+ }
103
+
104
+ .brand h1,
105
+ .topbar h2 {
106
+ margin: 0;
107
+ letter-spacing: 0;
108
+ }
109
+
110
+ .brand p,
111
+ .eyebrow,
112
+ .runtime-status,
113
+ .conversation small,
114
+ .voice-state,
115
+ label,
116
+ dt {
117
+ color: #9aa39d;
118
+ font-size: 0.82rem;
119
+ }
120
+
121
+ .token-panel,
122
+ .health-panel,
123
+ .conversation-panel {
124
+ display: flex;
125
+ flex-direction: column;
126
+ gap: 10px;
127
+ }
128
+
129
+ .token-row,
130
+ .panel-title,
131
+ .voice-actions,
132
+ .voice-text {
133
+ display: flex;
134
+ gap: 8px;
135
+ align-items: center;
136
+ }
137
+
138
+ .token-row button,
139
+ .panel-title button {
140
+ width: 42px;
141
+ height: 38px;
142
+ }
143
+
144
+ .token-row input,
145
+ .voice-text input {
146
+ height: 38px;
147
+ padding: 0 10px;
148
+ }
149
+
150
+ .panel-title {
151
+ justify-content: space-between;
152
+ min-height: 38px;
153
+ font-weight: 800;
154
+ text-transform: uppercase;
155
+ letter-spacing: 0;
156
+ }
157
+
158
+ .health-grid {
159
+ display: grid;
160
+ grid-template-columns: repeat(2, minmax(0, 1fr));
161
+ gap: 8px;
162
+ margin: 0;
163
+ }
164
+
165
+ .health-grid div {
166
+ border: 1px solid #2f3835;
167
+ border-radius: 6px;
168
+ padding: 10px;
169
+ background: #151a1d;
170
+ }
171
+
172
+ .health-grid dd {
173
+ margin: 4px 0 0;
174
+ font-family: "IBM Plex Mono", "Cascadia Mono", monospace;
175
+ font-weight: 800;
176
+ }
177
+
178
+ .new-chat {
179
+ min-height: 38px;
180
+ }
181
+
182
+ .conversation-list {
183
+ display: flex;
184
+ flex-direction: column;
185
+ gap: 6px;
186
+ overflow: auto;
187
+ max-height: 40vh;
188
+ }
189
+
190
+ .conversation {
191
+ display: grid;
192
+ gap: 4px;
193
+ min-height: 58px;
194
+ padding: 10px;
195
+ text-align: left;
196
+ background: #151a1d;
197
+ color: #eef0ef;
198
+ }
199
+
200
+ .conversation.active {
201
+ border-color: #76b384;
202
+ }
203
+
204
+ .workspace {
205
+ display: grid;
206
+ grid-template-rows: auto minmax(0, 1fr) auto;
207
+ min-width: 0;
208
+ }
209
+
210
+ .topbar {
211
+ display: flex;
212
+ justify-content: space-between;
213
+ gap: 24px;
214
+ align-items: center;
215
+ min-height: 84px;
216
+ padding: 18px 22px;
217
+ border-bottom: 1px solid #28302d;
218
+ background: rgba(16, 19, 23, 0.78);
219
+ }
220
+
221
+ .eyebrow {
222
+ margin: 0 0 4px;
223
+ text-transform: uppercase;
224
+ font-weight: 800;
225
+ }
226
+
227
+ .runtime-status {
228
+ display: flex;
229
+ align-items: center;
230
+ gap: 8px;
231
+ white-space: nowrap;
232
+ }
233
+
234
+ .dot {
235
+ width: 10px;
236
+ height: 10px;
237
+ border-radius: 50%;
238
+ background: #8e403b;
239
+ }
240
+
241
+ .dot.online {
242
+ background: #76b384;
243
+ }
244
+
245
+ .message-surface {
246
+ display: flex;
247
+ flex-direction: column;
248
+ gap: 12px;
249
+ overflow: auto;
250
+ padding: 22px;
251
+ }
252
+
253
+ .empty-state {
254
+ display: grid;
255
+ place-items: center;
256
+ min-height: 100%;
257
+ color: #b8beb9;
258
+ text-align: center;
259
+ }
260
+
261
+ .message {
262
+ display: grid;
263
+ grid-template-columns: 92px minmax(0, 1fr);
264
+ gap: 12px;
265
+ max-width: 980px;
266
+ padding: 12px;
267
+ border: 1px solid #2d3633;
268
+ border-radius: 6px;
269
+ background: rgba(21, 26, 29, 0.92);
270
+ }
271
+
272
+ .message.user {
273
+ border-color: #6f5d38;
274
+ }
275
+
276
+ .message-role {
277
+ color: #e7b75f;
278
+ font-family: "IBM Plex Mono", "Cascadia Mono", monospace;
279
+ font-size: 0.78rem;
280
+ font-weight: 800;
281
+ text-transform: uppercase;
282
+ }
283
+
284
+ .message-content {
285
+ white-space: pre-wrap;
286
+ overflow-wrap: anywhere;
287
+ }
288
+
289
+ .composer {
290
+ display: grid;
291
+ grid-template-columns: minmax(0, 1fr) 96px;
292
+ gap: 10px;
293
+ padding: 18px 22px;
294
+ border-top: 1px solid #28302d;
295
+ background: rgba(13, 17, 19, 0.94);
296
+ }
297
+
298
+ .composer textarea {
299
+ min-height: 72px;
300
+ resize: vertical;
301
+ padding: 10px;
302
+ }
303
+
304
+ .composer button {
305
+ min-height: 72px;
306
+ }
307
+
308
+ .meter {
309
+ height: 12px;
310
+ overflow: hidden;
311
+ border: 1px solid #39413f;
312
+ border-radius: 999px;
313
+ background: #151a1d;
314
+ }
315
+
316
+ .meter span {
317
+ display: block;
318
+ height: 100%;
319
+ background: #76b384;
320
+ }
321
+
322
+ .voice-actions button {
323
+ flex: 1;
324
+ min-height: 40px;
325
+ }
326
+
327
+ .voice-transcript {
328
+ display: grid;
329
+ gap: 8px;
330
+ overflow: auto;
331
+ min-height: 180px;
332
+ max-height: 42vh;
333
+ }
334
+
335
+ .voice-transcript p {
336
+ display: grid;
337
+ gap: 4px;
338
+ margin: 0;
339
+ padding: 10px;
340
+ border: 1px solid #2f3835;
341
+ border-radius: 6px;
342
+ background: #151a1d;
343
+ }
344
+
345
+ .voice-transcript strong {
346
+ color: #e7b75f;
347
+ font-size: 0.76rem;
348
+ text-transform: uppercase;
349
+ }
350
+
351
+ .error {
352
+ margin: 0;
353
+ color: #f0a39d;
354
+ }
355
+
356
+ .voice-text button {
357
+ width: 70px;
358
+ min-height: 38px;
359
+ }
360
+
361
+ @media (max-width: 1100px) {
362
+ .shell {
363
+ grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
364
+ }
365
+
366
+ .voice-panel {
367
+ grid-column: 1 / -1;
368
+ border-left: none;
369
+ border-top: 1px solid #28302d;
370
+ }
371
+ }
372
+
373
+ @media (max-width: 760px) {
374
+ .shell {
375
+ grid-template-columns: 1fr;
376
+ }
377
+
378
+ .rail,
379
+ .voice-panel {
380
+ border-inline: none;
381
+ }
382
+
383
+ .topbar,
384
+ .composer {
385
+ grid-template-columns: 1fr;
386
+ }
387
+
388
+ .message {
389
+ grid-template-columns: 1fr;
390
+ }
391
+ }