vektor-slipstream 1.0.9 → 1.1.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.
Potentially problematic release.
This version of vektor-slipstream might be problematic. Click here for more details.
- package/boot-screen.html +210 -0
- package/package.json +3 -1
- package/vektor-banner-loader.js +20 -0
package/boot-screen.html
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8"/>
|
|
5
|
+
<title>VEKTOR SLIPSTREAM</title>
|
|
6
|
+
<style>
|
|
7
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
8
|
+
body {
|
|
9
|
+
background: #0a0a0f;
|
|
10
|
+
color: #e0e0e0;
|
|
11
|
+
font-family: 'IBM Plex Mono', 'Courier New', monospace;
|
|
12
|
+
min-height: 100vh;
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
}
|
|
17
|
+
.wrap { max-width: 620px; width: 100%; padding: 40px 24px; }
|
|
18
|
+
|
|
19
|
+
/* ASCII logo */
|
|
20
|
+
.logo {
|
|
21
|
+
font-size: clamp(7px, 1.4vw, 13px);
|
|
22
|
+
line-height: 1.2;
|
|
23
|
+
color: #e0e0e0;
|
|
24
|
+
white-space: pre;
|
|
25
|
+
letter-spacing: 0;
|
|
26
|
+
margin-bottom: 24px;
|
|
27
|
+
opacity: 0;
|
|
28
|
+
animation: fadeIn 0.6s ease 0.2s forwards;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* Tagline */
|
|
32
|
+
.tagline {
|
|
33
|
+
font-size: 11px;
|
|
34
|
+
letter-spacing: 4px;
|
|
35
|
+
color: rgba(255,255,255,0.3);
|
|
36
|
+
text-transform: uppercase;
|
|
37
|
+
margin-bottom: 32px;
|
|
38
|
+
opacity: 0;
|
|
39
|
+
animation: fadeIn 0.6s ease 0.5s forwards;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/* Stats grid */
|
|
43
|
+
.stats {
|
|
44
|
+
display: grid;
|
|
45
|
+
grid-template-columns: 1fr 1fr 1fr;
|
|
46
|
+
gap: 10px;
|
|
47
|
+
margin-bottom: 24px;
|
|
48
|
+
opacity: 0;
|
|
49
|
+
animation: fadeIn 0.6s ease 0.7s forwards;
|
|
50
|
+
}
|
|
51
|
+
.stat {
|
|
52
|
+
background: rgba(255,255,255,0.04);
|
|
53
|
+
border: 1px solid rgba(255,255,255,0.08);
|
|
54
|
+
border-radius: 6px;
|
|
55
|
+
padding: 12px 14px;
|
|
56
|
+
}
|
|
57
|
+
.stat-label {
|
|
58
|
+
font-size: 9px;
|
|
59
|
+
letter-spacing: 3px;
|
|
60
|
+
color: rgba(255,255,255,0.3);
|
|
61
|
+
margin-bottom: 6px;
|
|
62
|
+
}
|
|
63
|
+
.stat-value {
|
|
64
|
+
font-size: 13px;
|
|
65
|
+
color: #fff;
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Laws */
|
|
70
|
+
.laws {
|
|
71
|
+
background: rgba(255,255,255,0.03);
|
|
72
|
+
border: 1px solid rgba(255,255,255,0.07);
|
|
73
|
+
border-radius: 6px;
|
|
74
|
+
padding: 16px 18px;
|
|
75
|
+
margin-bottom: 24px;
|
|
76
|
+
opacity: 0;
|
|
77
|
+
animation: fadeIn 0.6s ease 0.9s forwards;
|
|
78
|
+
}
|
|
79
|
+
.law {
|
|
80
|
+
display: flex;
|
|
81
|
+
gap: 12px;
|
|
82
|
+
padding: 5px 0;
|
|
83
|
+
font-size: 11px;
|
|
84
|
+
color: rgba(255,255,255,0.5);
|
|
85
|
+
border-bottom: 1px solid rgba(255,255,255,0.04);
|
|
86
|
+
}
|
|
87
|
+
.law:last-child { border-bottom: none; }
|
|
88
|
+
.law-num {
|
|
89
|
+
color: rgba(255,255,255,0.2);
|
|
90
|
+
min-width: 50px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* Boot log */
|
|
94
|
+
.log {
|
|
95
|
+
font-size: 11px;
|
|
96
|
+
color: rgba(255,255,255,0.25);
|
|
97
|
+
line-height: 1.8;
|
|
98
|
+
opacity: 0;
|
|
99
|
+
animation: fadeIn 0.6s ease 1.1s forwards;
|
|
100
|
+
}
|
|
101
|
+
.log-line { display: flex; gap: 8px; }
|
|
102
|
+
.log-ok { color: #4ade80; }
|
|
103
|
+
.log-dim { color: rgba(255,255,255,0.2); }
|
|
104
|
+
|
|
105
|
+
/* Progress bar */
|
|
106
|
+
.progress-wrap {
|
|
107
|
+
margin-top: 20px;
|
|
108
|
+
opacity: 0;
|
|
109
|
+
animation: fadeIn 0.4s ease 1.3s forwards;
|
|
110
|
+
}
|
|
111
|
+
.progress-label {
|
|
112
|
+
font-size: 9px;
|
|
113
|
+
letter-spacing: 3px;
|
|
114
|
+
color: rgba(255,255,255,0.2);
|
|
115
|
+
margin-bottom: 6px;
|
|
116
|
+
}
|
|
117
|
+
.progress-bar {
|
|
118
|
+
height: 2px;
|
|
119
|
+
background: rgba(255,255,255,0.06);
|
|
120
|
+
border-radius: 2px;
|
|
121
|
+
overflow: hidden;
|
|
122
|
+
}
|
|
123
|
+
.progress-fill {
|
|
124
|
+
height: 100%;
|
|
125
|
+
background: linear-gradient(90deg, rgba(255,255,255,0.3), rgba(255,255,255,0.6));
|
|
126
|
+
border-radius: 2px;
|
|
127
|
+
width: 0%;
|
|
128
|
+
animation: progress 2s ease 1.4s forwards;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@keyframes fadeIn {
|
|
132
|
+
from { opacity: 0; transform: translateY(6px); }
|
|
133
|
+
to { opacity: 1; transform: translateY(0); }
|
|
134
|
+
}
|
|
135
|
+
@keyframes progress {
|
|
136
|
+
0% { width: 0%; }
|
|
137
|
+
60% { width: 75%; }
|
|
138
|
+
100% { width: 100%; }
|
|
139
|
+
}
|
|
140
|
+
</style>
|
|
141
|
+
</head>
|
|
142
|
+
<body>
|
|
143
|
+
<div class="wrap">
|
|
144
|
+
|
|
145
|
+
<div class="logo"> ██╗ ██╗███████╗██╗ ██╗████████╗ ██████╗ ██████╗
|
|
146
|
+
██║ ██║██╔════╝██║ ██╔╝╚══██╔══╝██╔═══██╗██╔══██╗
|
|
147
|
+
██║ ██║█████╗ █████╔╝ ██║ ██║ ██║██████╔╝
|
|
148
|
+
╚██╗ ██╔╝██╔══╝ ██╔═██╗ ██║ ██║ ██║██╔══██╗
|
|
149
|
+
╚████╔╝ ███████╗██║ ██╗ ██║ ╚██████╔╝██║ ██║
|
|
150
|
+
╚═══╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝</div>
|
|
151
|
+
|
|
152
|
+
<div class="tagline">Slipstream v1.0.8 · Sovereign Agent Memory</div>
|
|
153
|
+
|
|
154
|
+
<div class="stats">
|
|
155
|
+
<div class="stat">
|
|
156
|
+
<div class="stat-label">EP</div>
|
|
157
|
+
<div class="stat-value" id="ep">CPU · Hash</div>
|
|
158
|
+
</div>
|
|
159
|
+
<div class="stat">
|
|
160
|
+
<div class="stat-label">EMBED</div>
|
|
161
|
+
<div class="stat-value"><1ms · $0.00</div>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="stat">
|
|
164
|
+
<div class="stat-label">BOOT</div>
|
|
165
|
+
<div class="stat-value" id="boot">—ms</div>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
<div class="laws">
|
|
170
|
+
<div class="law"><span class="law-num">LAW I</span><span>locality — no cloud sync path</span></div>
|
|
171
|
+
<div class="law"><span class="law-num">LAW II</span><span>hygiene — AUDN on every write</span></div>
|
|
172
|
+
<div class="law"><span class="law-num">LAW III</span><span>synthesis — REM compress-only</span></div>
|
|
173
|
+
<div class="law"><span class="law-num">LAW IV</span><span>permanence — SQLite persists</span></div>
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
<div class="log">
|
|
177
|
+
<div class="log-line"><span class="log-ok">[vektor]</span><span>Sovereign Agent active</span></div>
|
|
178
|
+
<div class="log-line"><span class="log-ok">[vektor]</span><span>Law I ✓ locality — no cloud sync path</span></div>
|
|
179
|
+
<div class="log-line"><span class="log-ok">[vektor]</span><span>Law II ✓ hygiene — AUDN on every write</span></div>
|
|
180
|
+
<div class="log-line"><span class="log-ok">[vektor]</span><span>Law III ✓ synthesis — REM compress-only</span></div>
|
|
181
|
+
<div class="log-line"><span class="log-ok">[vektor]</span><span>Law IV ✓ permanence — SQLite persists</span></div>
|
|
182
|
+
<div class="log-line log-dim"><span>[slipstream]</span><span>Loading @xenova/transformers...</span></div>
|
|
183
|
+
<div class="log-line log-ok" id="xlog" style="display:none"><span>[slipstream]</span><span>✓ Semantic embeddings active (all-MiniLM-L6-v2 INT8)</span></div>
|
|
184
|
+
</div>
|
|
185
|
+
|
|
186
|
+
<div class="progress-wrap">
|
|
187
|
+
<div class="progress-label">INITIALISING</div>
|
|
188
|
+
<div class="progress-bar"><div class="progress-fill" id="pbar"></div></div>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
</div>
|
|
192
|
+
<script>
|
|
193
|
+
// Simulate boot sequence
|
|
194
|
+
const start = Date.now();
|
|
195
|
+
setTimeout(() => {
|
|
196
|
+
document.getElementById('boot').textContent = (Date.now() - start) + 'ms';
|
|
197
|
+
document.getElementById('xlog').style.display = 'flex';
|
|
198
|
+
document.querySelector('.progress-label').textContent = 'READY';
|
|
199
|
+
}, 2200);
|
|
200
|
+
|
|
201
|
+
// Allow parent to pass real stats via postMessage
|
|
202
|
+
window.addEventListener('message', (e) => {
|
|
203
|
+
if (e.data?.type === 'vektor-boot') {
|
|
204
|
+
if (e.data.ep) document.getElementById('ep').textContent = e.data.ep;
|
|
205
|
+
if (e.data.bootMs) document.getElementById('boot').textContent = e.data.bootMs + 'ms';
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
</script>
|
|
209
|
+
</body>
|
|
210
|
+
</html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vektor-slipstream",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Hardware-accelerated persistent memory for AI agents. Local-first, zero cloud dependency, $0 embedding cost.",
|
|
5
5
|
"main": "slipstream-core.js",
|
|
6
6
|
"bin": {
|
|
@@ -48,6 +48,8 @@
|
|
|
48
48
|
"vektor-licence-prompt.js",
|
|
49
49
|
"vektor-cli.js",
|
|
50
50
|
"vektor-setup.js",
|
|
51
|
+
"vektor-banner-loader.js",
|
|
52
|
+
"boot-screen.html",
|
|
51
53
|
"cloak.js",
|
|
52
54
|
"sovereign.js",
|
|
53
55
|
"visualize.js",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
// vektor-banner-loader.js — prints ASCII banner immediately on require
|
|
3
|
+
// Injected before slipstream-core loads — zero latency
|
|
4
|
+
|
|
5
|
+
const os = require('os');
|
|
6
|
+
const start = Date.now();
|
|
7
|
+
|
|
8
|
+
console.log('');
|
|
9
|
+
console.log(' \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 ');
|
|
10
|
+
console.log(' \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255d\u2588\u2588\u2551 \u2588\u2588\u2554\u255d\u2554\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255d\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557');
|
|
11
|
+
console.log(' \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2554\u255d \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255d ');
|
|
12
|
+
console.log(' \u255a\u2588\u2588\u2557 \u2588\u2588\u2554\u255d\u2588\u2588\u2554\u2550\u2550\u255d \u2588\u2588\u2554\u2550\u2588\u2588\u2557 \u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557 ');
|
|
13
|
+
console.log(' \u255a\u2588\u2588\u2588\u2588\u2554\u255d \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2557 \u2588\u2588\u2551 \u255a\u2588\u2588\u2588\u2588\u2588\u2554\u255d\u2588\u2588\u2551 \u2588\u2588\u2551 ');
|
|
14
|
+
console.log(' \u255a\u2550\u2550\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u255d\u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u2550\u2550\u2550\u255d \u255a\u2550\u255d \u255a\u2550\u255d ');
|
|
15
|
+
console.log('');
|
|
16
|
+
console.log(' SLIPSTREAM v1.0.8 \u00b7 Sovereign Agent Memory');
|
|
17
|
+
console.log(' \u2514\u2500 Loading... (first run downloads ~25MB model \u2014 one time only)');
|
|
18
|
+
console.log('');
|
|
19
|
+
|
|
20
|
+
module.exports = { loadedAt: start };
|