pinokiod 3.81.0 → 3.84.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.
@@ -28,9 +28,19 @@ class Caddy {
28
28
  console.log("Caddy running?", running)
29
29
  // if (this.kernel.processes.caddy_pid) {
30
30
  if (running) {
31
- console.log("kill existing caddy")
32
- kill(this.kernel.processes.caddy_pid, "SIGKILL", true)
33
- console.log("killed existing caddy")
31
+ console.log("kill existing caddy before restarting")
32
+ await new Promise((resolve, reject) => {
33
+ let interval = setInterval(() => {
34
+ if (this.kernel.processes.caddy_pid) {
35
+ console.log("kill caddy", this.kernel.processes.caddy_pid)
36
+ kill(this.kernel.processes.caddy_pid, "SIGKILL", true)
37
+ console.log("killed existing caddy")
38
+ resolve()
39
+ } else {
40
+ console.log("try killing existing caddy again in 1 sec")
41
+ }
42
+ }, 1000)
43
+ })
34
44
  }
35
45
  // let running = await this.running()
36
46
  // console.log("Running", running)
@@ -1,6 +1,6 @@
1
1
  class Huggingface {
2
2
  cmd() {
3
- return "huggingface_hub"
3
+ return 'huggingface_hub "hf-xet!=1.1.10"'
4
4
  }
5
5
  async install(req, ondata) {
6
6
  await this.kernel.bin.exec({
package/kernel/index.js CHANGED
@@ -418,6 +418,10 @@ class Kernel {
418
418
  return
419
419
  }
420
420
 
421
+ if (!this.peer.info) {
422
+ return
423
+ }
424
+
421
425
  // // 1. get the process list
422
426
  // await this.processes.refresh()
423
427
  //
package/kernel/kv.js CHANGED
@@ -22,12 +22,10 @@ class KV {
22
22
  async get(host, index) {
23
23
  if (this.kernel.homedir) {
24
24
  let filePath = this.kernel.path("key.json")
25
- console.log({ host, index, filePath })
26
25
  let json = await this.kernel.load(filePath)
27
26
  if (!json) {
28
27
  return null
29
28
  }
30
- console.log({ json })
31
29
  if (json[host]) {
32
30
  return json[host][index]
33
31
  }
package/kernel/peer.js CHANGED
@@ -23,10 +23,14 @@ class PeerDiscovery {
23
23
  }
24
24
  }
25
25
  async check_peers () {
26
- for(let host of Array.from(this.peers)) {
26
+ console.log(">>>>>>>>>>>> check peers")
27
+ let peer_array = Array.from(this.peers)
28
+ for(let host of peer_array) {
27
29
  if (this.host !== host) {
28
30
  let result = await this._refresh(host)
31
+ console.log("check peeers", { host, result })
29
32
  if (!result) {
33
+ console.log("delete host", host)
30
34
  this.peers.delete(host)
31
35
  delete this.info[host]
32
36
  }
@@ -136,7 +140,6 @@ class PeerDiscovery {
136
140
  return res.data
137
141
  }
138
142
  } catch (e) {
139
- console.log("_refresh error", { host , e })
140
143
  return null
141
144
  }
142
145
  }
@@ -144,16 +147,15 @@ class PeerDiscovery {
144
147
  // notify all peers of the current host info
145
148
  if (this.info) {
146
149
  let info = this.info[this.host]
147
- for(let host of Array.from(this.peers)) {
150
+ let peer_array = Array.from(this.peers)
151
+ for(let host of peer_array) {
148
152
  if (this.host !== host) {
149
153
  try {
150
154
  let endpoint = `http://${host}:${this.default_port}/pinokio/peer/refresh`
151
155
  let res = await axios.post(endpoint, info, {
152
156
  timeout: 2000
153
157
  })
154
- return res.data
155
158
  } catch (e) {
156
- return null
157
159
  }
158
160
  }
159
161
  }
@@ -172,7 +174,8 @@ class PeerDiscovery {
172
174
  // notify peers to refresh my info
173
175
  async notify_peers() {
174
176
  if (this.active) {
175
- let res = await Promise.all(Array.from(this.peers).map((host) => {
177
+ let peer_array = Array.from(this.peers)
178
+ let res = await Promise.all(peer_array.map((host) => {
176
179
  return this._broadcast(host)
177
180
  }))
178
181
  return res
@@ -254,7 +254,7 @@ class Router {
254
254
  }
255
255
 
256
256
  fallback() {
257
- let host_peer = this.kernel.peer.info[this.kernel.peer.host]
257
+ // let host_peer = this.kernel.peer.info[this.kernel.peer.host]
258
258
  this.config.apps.http.servers.main.routes.push({
259
259
  "handle": [
260
260
  {
@@ -30,7 +30,6 @@ class PeerStaticRouter extends Processor {
30
30
  rewrite: /asset/api/test
31
31
  match: test.x.localhost
32
32
  */
33
- console.log("PEER STATIC ROUTER", rewrite_mapping)
34
33
  let url = new URL("http://" + rewrite_mapping.external_ip)
35
34
  let dial = url.host
36
35
  let rewrite = url.pathname
package/kernel/shell.js CHANGED
@@ -1259,7 +1259,14 @@ ${cleaned}
1259
1259
  return
1260
1260
  }
1261
1261
  this.vt.write(msg, () => {
1262
- let buf = this.vts.serialize()
1262
+ let buf
1263
+ try {
1264
+ buf = this.vts.serialize()
1265
+ } catch (e) {
1266
+ console.log("vts serialize error", e)
1267
+ callback()
1268
+ return
1269
+ }
1263
1270
  let cleaned = this.stripAnsi(buf)
1264
1271
  let response = {
1265
1272
  id: this.id,
package/kernel/util.js CHANGED
@@ -838,19 +838,14 @@ const rewrite_localhost= (kernel, obj, source) => {
838
838
  console.log({ port, hostname, host })
839
839
  if (protocol === "https") {
840
840
  let proxyDomain
841
- console.log("current_host", kernel.peer.host)
842
- console.log("router_info", kernel.peer.info[kernel.peer.host].router_info)
843
841
  for(let item of kernel.peer.info[kernel.peer.host].router_info) {
844
- console.log({ internal_port: item.internal_port, port })
845
842
  if (String(item.internal_port) === String(port)) {
846
843
  if (item.external_router && item.external_router.length > 0) {
847
- console.log("Found", { item, port })
848
844
  proxyDomain = item.external_router[0]
849
845
  }
850
846
  break;
851
847
  }
852
848
  }
853
- console.log({ proxyDomain })
854
849
  if (proxyDomain) {
855
850
  u.host = proxyDomain
856
851
  u.port = ""
@@ -860,9 +855,7 @@ const rewrite_localhost= (kernel, obj, source) => {
860
855
  let proxyPort = kernel.peer.info[kernel.peer.host].port_mapping["" + port]
861
856
  u.hostname = sourceIp;
862
857
  u.port = proxyPort;
863
- console.log({ url, port, proxyPort, sourceIp, proxyPort })
864
858
  }
865
- console.log("Fixed", u.toString())
866
859
  return u.toString();
867
860
  }
868
861
  } catch (e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "3.81.0",
3
+ "version": "3.84.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/server/index.js CHANGED
@@ -2282,8 +2282,6 @@ class Server {
2282
2282
  processes
2283
2283
  })
2284
2284
  } catch (e) {
2285
- console.log(">>e", e)
2286
- console.log({ host, info: this.kernel.peer.info })
2287
2285
  }
2288
2286
  }
2289
2287
  // console.log("Loaded yet?", nodes.length, Object.keys(peers_info).length, nodes.length === Object.keys(peers_info).length)
@@ -2798,6 +2796,11 @@ class Server {
2798
2796
  } else {
2799
2797
  // For every update, this gets triggered exactly once.
2800
2798
  // 1. first mkdir if it doesn't exist (this step is irrelevant since at this point the home dir will exist)
2799
+
2800
+ let exists = await this.kernel.exists(home)
2801
+ if (!exists) {
2802
+ await fs.promises.mkdir(home, { recursive: true })
2803
+ }
2801
2804
 
2802
2805
  needInitHome = true
2803
2806
  console.log("not up to date. update py.")
@@ -4201,8 +4204,6 @@ class Server {
4201
4204
  }
4202
4205
  } catch (e) {
4203
4206
  }
4204
- console.log("PEER INFO", JSON.stringify(this.kernel.peer.info[host], null, 2))
4205
-
4206
4207
  let installed = this.kernel.peer.info[host].installed
4207
4208
  let serverless_mapping = this.kernel.peer.info[host].rewrite_mapping
4208
4209
  let serverless = Object.keys(serverless_mapping).map((name) => {
@@ -6252,22 +6253,21 @@ class Server {
6252
6253
  this.app.get("/check_peer", ex((req, res) => {
6253
6254
  if (this.kernel.peer.active) {
6254
6255
  // if network is active, return success only if the router is up for all of its peers (including itself)
6255
- console.log({ peer_info: this.kernel.peer.info })
6256
6256
  let ready = true
6257
- if (this.kernel.peer.info && Object.keys(this.kernel.peer.info).length > 0) {
6258
- for(let host in this.kernel.peer.info) {
6259
- let info = this.kernel.peer.info[host]
6257
+ if (this.kernel.peer.info) {
6258
+ let info = this.kernel.peer.info[this.kernel.peer.host]
6259
+ if (info) {
6260
6260
  if (info.router && Object.keys(info.router).length > 0) {
6261
6261
  ready = true
6262
6262
  } else {
6263
6263
  ready = false
6264
- break;
6265
6264
  }
6265
+ } else {
6266
+ ready = false
6266
6267
  }
6267
6268
  } else {
6268
6269
  ready = false;
6269
6270
  }
6270
- console.log({ info: this.kernel.peer.info, ready })
6271
6271
  if (ready) {
6272
6272
  res.json({ success: true })
6273
6273
  } else {