@bitefoundry/retrieviewer 0.0.12 → 0.0.13

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.
@@ -1,343 +1,343 @@
1
- {
2
- "pairs": 47,
3
- "samples": 17,
4
- "width": 320,
5
- "height": 320,
6
- "channels": 1,
7
- "bytes": 81817600,
8
- "gzip_bytes": 27353427,
9
- "sha256": "15e8ef49947cec4a1dcb3393d43a2ad48125d1bcd30f01275087c3df61627392",
10
- "source_sha256": "773530ca2986c127013c5f37630701c6660c943a79f16ba1560ae2ddbda204fc",
11
- "method": "RIFE v4.6, nihui/rife-ncnn-vulkan pinned release 20221029; exact original endpoints; curated single-flight gait, three new skip bridges",
12
- "tool_provenance": "tools/rife-20221029/provenance.json",
13
- "run_motion_costs": [
14
- 29.32706069946289,
15
- 38.92640686035156,
16
- 35.9362678527832,
17
- 26.38045883178711,
18
- 23.560644149780273,
19
- 37.207794189453125,
20
- 17.431142807006836,
21
- 31.60407257080078
22
- ],
23
- "run_timing": [
24
- 0.0,
25
- 2.267557382583618,
26
- 5.171559810638428,
27
- 8.922640800476074,
28
- 10.962368965148926,
29
- 12.820930480957031,
30
- 15.697823524475098,
31
- 17.556385040283203,
32
- 20.0
33
- ],
34
- "run_sequence": [
35
- 0,
36
- 1,
37
- 6,
38
- 9,
39
- 10,
40
- 11,
41
- 12,
42
- 13
43
- ],
44
- "pair_map": [
45
- [
46
- 0,
47
- 1,
48
- false,
49
- false
50
- ],
51
- [
52
- 1,
53
- 6,
54
- false,
55
- false
56
- ],
57
- [
58
- 6,
59
- 9,
60
- false,
61
- false
62
- ],
63
- [
64
- 9,
65
- 10,
66
- false,
67
- false
68
- ],
69
- [
70
- 10,
71
- 11,
72
- false,
73
- false
74
- ],
75
- [
76
- 11,
77
- 12,
78
- false,
79
- false
80
- ],
81
- [
82
- 12,
83
- 13,
84
- false,
85
- false
86
- ],
87
- [
88
- 13,
89
- 0,
90
- false,
91
- false
92
- ],
93
- [
94
- 8,
95
- 9,
96
- false,
97
- false
98
- ],
99
- [
100
- 9,
101
- 10,
102
- false,
103
- false
104
- ],
105
- [
106
- 10,
107
- 11,
108
- false,
109
- false
110
- ],
111
- [
112
- 11,
113
- 12,
114
- false,
115
- false
116
- ],
117
- [
118
- 12,
119
- 13,
120
- false,
121
- false
122
- ],
123
- [
124
- 13,
125
- 14,
126
- false,
127
- false
128
- ],
129
- [
130
- 14,
131
- 15,
132
- false,
133
- false
134
- ],
135
- [
136
- 15,
137
- 16,
138
- false,
139
- false
140
- ],
141
- [
142
- 16,
143
- 17,
144
- false,
145
- false
146
- ],
147
- [
148
- 17,
149
- 18,
150
- false,
151
- false
152
- ],
153
- [
154
- 18,
155
- 19,
156
- false,
157
- false
158
- ],
159
- [
160
- 19,
161
- 0,
162
- false,
163
- false
164
- ],
165
- [
166
- 20,
167
- 21,
168
- false,
169
- false
170
- ],
171
- [
172
- 21,
173
- 22,
174
- false,
175
- false
176
- ],
177
- [
178
- 22,
179
- 23,
180
- false,
181
- false
182
- ],
183
- [
184
- 23,
185
- 24,
186
- false,
187
- false
188
- ],
189
- [
190
- 24,
191
- 25,
192
- false,
193
- false
194
- ],
195
- [
196
- 25,
197
- 26,
198
- false,
199
- false
200
- ],
201
- [
202
- 26,
203
- 27,
204
- false,
205
- false
206
- ],
207
- [
208
- 27,
209
- 28,
210
- false,
211
- false
212
- ],
213
- [
214
- 28,
215
- 29,
216
- false,
217
- false
218
- ],
219
- [
220
- 29,
221
- 20,
222
- false,
223
- false
224
- ],
225
- [
226
- 30,
227
- 31,
228
- false,
229
- false
230
- ],
231
- [
232
- 31,
233
- 32,
234
- false,
235
- false
236
- ],
237
- [
238
- 32,
239
- 33,
240
- false,
241
- false
242
- ],
243
- [
244
- 33,
245
- 34,
246
- false,
247
- false
248
- ],
249
- [
250
- 34,
251
- 35,
252
- false,
253
- false
254
- ],
255
- [
256
- 35,
257
- 36,
258
- false,
259
- false
260
- ],
261
- [
262
- 36,
263
- 37,
264
- false,
265
- false
266
- ],
267
- [
268
- 37,
269
- 38,
270
- false,
271
- false
272
- ],
273
- [
274
- 38,
275
- 39,
276
- false,
277
- false
278
- ],
279
- [
280
- 39,
281
- 40,
282
- false,
283
- false
284
- ],
285
- [
286
- 40,
287
- 41,
288
- false,
289
- false
290
- ],
291
- [
292
- 0,
293
- 30,
294
- false,
295
- false
296
- ],
297
- [
298
- 41,
299
- 0,
300
- false,
301
- true
302
- ],
303
- [
304
- 0,
305
- 41,
306
- true,
307
- false
308
- ],
309
- [
310
- 30,
311
- 0,
312
- false,
313
- false
314
- ],
315
- [
316
- 20,
317
- 0,
318
- false,
319
- false
320
- ],
321
- [
322
- 0,
323
- 20,
324
- false,
325
- false
326
- ]
327
- ],
328
- "new_edges": [
329
- [
330
- 1,
331
- 6
332
- ],
333
- [
334
- 6,
335
- 9
336
- ],
337
- [
338
- 13,
339
- 0
340
- ]
341
- ],
342
- "previous_cache_sha256": "8d91d81cdd41629e23b0d8d6421baa0efa8d74a64a611035f3b97fd6f86fbd7d"
343
- }
1
+ {
2
+ "pairs": 47,
3
+ "samples": 17,
4
+ "width": 320,
5
+ "height": 320,
6
+ "channels": 1,
7
+ "bytes": 81817600,
8
+ "gzip_bytes": 27353427,
9
+ "sha256": "15e8ef49947cec4a1dcb3393d43a2ad48125d1bcd30f01275087c3df61627392",
10
+ "source_sha256": "773530ca2986c127013c5f37630701c6660c943a79f16ba1560ae2ddbda204fc",
11
+ "method": "RIFE v4.6, nihui/rife-ncnn-vulkan pinned release 20221029; exact original endpoints; curated single-flight gait, three new skip bridges",
12
+ "tool_provenance": "tools/rife-20221029/provenance.json",
13
+ "run_motion_costs": [
14
+ 29.32706069946289,
15
+ 38.92640686035156,
16
+ 35.9362678527832,
17
+ 26.38045883178711,
18
+ 23.560644149780273,
19
+ 37.207794189453125,
20
+ 17.431142807006836,
21
+ 31.60407257080078
22
+ ],
23
+ "run_timing": [
24
+ 0.0,
25
+ 2.267557382583618,
26
+ 5.171559810638428,
27
+ 8.922640800476074,
28
+ 10.962368965148926,
29
+ 12.820930480957031,
30
+ 15.697823524475098,
31
+ 17.556385040283203,
32
+ 20.0
33
+ ],
34
+ "run_sequence": [
35
+ 0,
36
+ 1,
37
+ 6,
38
+ 9,
39
+ 10,
40
+ 11,
41
+ 12,
42
+ 13
43
+ ],
44
+ "pair_map": [
45
+ [
46
+ 0,
47
+ 1,
48
+ false,
49
+ false
50
+ ],
51
+ [
52
+ 1,
53
+ 6,
54
+ false,
55
+ false
56
+ ],
57
+ [
58
+ 6,
59
+ 9,
60
+ false,
61
+ false
62
+ ],
63
+ [
64
+ 9,
65
+ 10,
66
+ false,
67
+ false
68
+ ],
69
+ [
70
+ 10,
71
+ 11,
72
+ false,
73
+ false
74
+ ],
75
+ [
76
+ 11,
77
+ 12,
78
+ false,
79
+ false
80
+ ],
81
+ [
82
+ 12,
83
+ 13,
84
+ false,
85
+ false
86
+ ],
87
+ [
88
+ 13,
89
+ 0,
90
+ false,
91
+ false
92
+ ],
93
+ [
94
+ 8,
95
+ 9,
96
+ false,
97
+ false
98
+ ],
99
+ [
100
+ 9,
101
+ 10,
102
+ false,
103
+ false
104
+ ],
105
+ [
106
+ 10,
107
+ 11,
108
+ false,
109
+ false
110
+ ],
111
+ [
112
+ 11,
113
+ 12,
114
+ false,
115
+ false
116
+ ],
117
+ [
118
+ 12,
119
+ 13,
120
+ false,
121
+ false
122
+ ],
123
+ [
124
+ 13,
125
+ 14,
126
+ false,
127
+ false
128
+ ],
129
+ [
130
+ 14,
131
+ 15,
132
+ false,
133
+ false
134
+ ],
135
+ [
136
+ 15,
137
+ 16,
138
+ false,
139
+ false
140
+ ],
141
+ [
142
+ 16,
143
+ 17,
144
+ false,
145
+ false
146
+ ],
147
+ [
148
+ 17,
149
+ 18,
150
+ false,
151
+ false
152
+ ],
153
+ [
154
+ 18,
155
+ 19,
156
+ false,
157
+ false
158
+ ],
159
+ [
160
+ 19,
161
+ 0,
162
+ false,
163
+ false
164
+ ],
165
+ [
166
+ 20,
167
+ 21,
168
+ false,
169
+ false
170
+ ],
171
+ [
172
+ 21,
173
+ 22,
174
+ false,
175
+ false
176
+ ],
177
+ [
178
+ 22,
179
+ 23,
180
+ false,
181
+ false
182
+ ],
183
+ [
184
+ 23,
185
+ 24,
186
+ false,
187
+ false
188
+ ],
189
+ [
190
+ 24,
191
+ 25,
192
+ false,
193
+ false
194
+ ],
195
+ [
196
+ 25,
197
+ 26,
198
+ false,
199
+ false
200
+ ],
201
+ [
202
+ 26,
203
+ 27,
204
+ false,
205
+ false
206
+ ],
207
+ [
208
+ 27,
209
+ 28,
210
+ false,
211
+ false
212
+ ],
213
+ [
214
+ 28,
215
+ 29,
216
+ false,
217
+ false
218
+ ],
219
+ [
220
+ 29,
221
+ 20,
222
+ false,
223
+ false
224
+ ],
225
+ [
226
+ 30,
227
+ 31,
228
+ false,
229
+ false
230
+ ],
231
+ [
232
+ 31,
233
+ 32,
234
+ false,
235
+ false
236
+ ],
237
+ [
238
+ 32,
239
+ 33,
240
+ false,
241
+ false
242
+ ],
243
+ [
244
+ 33,
245
+ 34,
246
+ false,
247
+ false
248
+ ],
249
+ [
250
+ 34,
251
+ 35,
252
+ false,
253
+ false
254
+ ],
255
+ [
256
+ 35,
257
+ 36,
258
+ false,
259
+ false
260
+ ],
261
+ [
262
+ 36,
263
+ 37,
264
+ false,
265
+ false
266
+ ],
267
+ [
268
+ 37,
269
+ 38,
270
+ false,
271
+ false
272
+ ],
273
+ [
274
+ 38,
275
+ 39,
276
+ false,
277
+ false
278
+ ],
279
+ [
280
+ 39,
281
+ 40,
282
+ false,
283
+ false
284
+ ],
285
+ [
286
+ 40,
287
+ 41,
288
+ false,
289
+ false
290
+ ],
291
+ [
292
+ 0,
293
+ 30,
294
+ false,
295
+ false
296
+ ],
297
+ [
298
+ 41,
299
+ 0,
300
+ false,
301
+ true
302
+ ],
303
+ [
304
+ 0,
305
+ 41,
306
+ true,
307
+ false
308
+ ],
309
+ [
310
+ 30,
311
+ 0,
312
+ false,
313
+ false
314
+ ],
315
+ [
316
+ 20,
317
+ 0,
318
+ false,
319
+ false
320
+ ],
321
+ [
322
+ 0,
323
+ 20,
324
+ false,
325
+ false
326
+ ]
327
+ ],
328
+ "new_edges": [
329
+ [
330
+ 1,
331
+ 6
332
+ ],
333
+ [
334
+ 6,
335
+ 9
336
+ ],
337
+ [
338
+ 13,
339
+ 0
340
+ ]
341
+ ],
342
+ "previous_cache_sha256": "8d91d81cdd41629e23b0d8d6421baa0efa8d74a64a611035f3b97fd6f86fbd7d"
343
+ }
@@ -1,5 +1,5 @@
1
1
  // Tiny runtime settings API. No art, processes, timers or I/O on import.
2
- import {homedir} from 'node:os';
2
+ import {homedir,hostname} from 'node:os';
3
3
  import {join,resolve} from 'node:path';
4
4
  import {readFile,mkdir,lstat,open,rename,unlink} from 'node:fs/promises';
5
5
  import {randomUUID} from 'node:crypto';
@@ -30,8 +30,19 @@ export async function writeAtomicJson(path,value){
30
30
  export async function withSettingsLock(fn,options={}){
31
31
  const paths=getConfigPaths(options);await noLink(paths.root);await mkdir(paths.root,{recursive:true,mode:0o700});
32
32
  await noLink(paths.lock);let handle;
33
- try{handle=await open(paths.lock,'wx',0o600);}catch(e){if(e.code==='EEXIST')throw Error('Retrieviewer settings are locked by another operation; retry when it finishes.');throw e;}
34
- try{return await fn(paths);}finally{await handle.close();await unlink(paths.lock);}
33
+ const owner={owner:'retrieviewer-settings-lock-v1',pid:process.pid,host:hostname(),startedAt:new Date().toISOString(),token:randomUUID()};
34
+ try{handle=await open(paths.lock,'wx',0o600);}catch(e){
35
+ if(e.code!=='EEXIST')throw e;
36
+ let pid;try{await noLink(paths.lock);const info=JSON.parse(await readFile(paths.lock,'utf8'));if(info.owner===owner.owner&&Number.isSafeInteger(info.pid)&&info.pid>0)pid=info.pid;}catch{}
37
+ throw Error(`Retrieviewer settings are locked${pid?' (owner PID '+pid+')':''}: ${paths.lock}. Retry when it finishes. If the owner crashed, stop ALL Retrieviewer settings writers first, then follow INSTALLING.md#recovering-an-interrupted-settings-change. No lock was removed automatically.`);
38
+ }
39
+ try{await handle.writeFile(JSON.stringify(owner)+'\n');await handle.sync();return await fn(paths);}
40
+ finally{
41
+ try{await handle.close();}finally{
42
+ // Do not remove a replacement lock if someone moved ours during the operation.
43
+ try{await noLink(paths.lock);const current=JSON.parse(await readFile(paths.lock,'utf8'));if(current.token===owner.token)await unlink(paths.lock);}catch(e){if(e.code!=='ENOENT')throw e;}
44
+ }
45
+ }
35
46
  }
36
47
  export async function setAgentEnabled(agent,enabled,options={}){
37
48
  agentId(agent);if(typeof enabled!=='boolean')throw TypeError('enabled must be boolean');