@trillboards/edge-sdk 0.2.154 → 0.2.156
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.
- package/deploy/litertlm/test_trillboards_litertlm_shim.py +106 -0
- package/deploy/litertlm/trillboards_litertlm_shim.py +65 -1
- package/dist/EdgeAgent.js +1 -1
- package/dist/LiteRtVlmProvider.d.ts +3 -0
- package/dist/LiteRtVlmProvider.d.ts.map +1 -1
- package/dist/LiteRtVlmProvider.js +42 -3
- package/dist/LiteRtVlmProvider.js.map +1 -1
- package/dist/PhonePersonViews.d.ts +53 -0
- package/dist/PhonePersonViews.d.ts.map +1 -0
- package/dist/PhonePersonViews.js +143 -0
- package/dist/PhonePersonViews.js.map +1 -0
- package/dist/ReviewModelUse.d.ts.map +1 -1
- package/dist/ReviewModelUse.js +4 -0
- package/dist/ReviewModelUse.js.map +1 -1
- package/dist/ScopedVlmReview.d.ts +9 -5
- package/dist/ScopedVlmReview.d.ts.map +1 -1
- package/dist/ScopedVlmReview.js +57 -3
- package/dist/ScopedVlmReview.js.map +1 -1
- package/dist/SensingProfileClient.d.ts +2 -0
- package/dist/SensingProfileClient.d.ts.map +1 -1
- package/dist/SensingProfileClient.js +2 -0
- package/dist/SensingProfileClient.js.map +1 -1
- package/dist/diagnose.d.ts +1 -1
- package/dist/diagnose.js +1 -1
- package/dist/localSensing.d.ts +6 -0
- package/dist/localSensing.d.ts.map +1 -1
- package/dist/localSensing.js +15 -0
- package/dist/localSensing.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ the recorded kwargs prove WHICH configs are dropped and which survive.
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
import importlib
|
|
9
|
+
import base64
|
|
9
10
|
import hashlib
|
|
10
11
|
import os
|
|
11
12
|
import sys
|
|
@@ -208,6 +209,111 @@ class ShimTest(unittest.TestCase):
|
|
|
208
209
|
self.assertEqual(captured["response"]["choices"], [{"text": "unchanged"}])
|
|
209
210
|
self.assertNotIn("runtimeModel", captured["response"])
|
|
210
211
|
|
|
212
|
+
def test_native_images_are_hashed_at_the_ffi_boundary_not_copied_from_headers(self):
|
|
213
|
+
shim = self._load(TRILLBOARDS_LITERTLM_SHIM="1")
|
|
214
|
+
seen = []
|
|
215
|
+
class Conversation:
|
|
216
|
+
def send_message_async(self, message):
|
|
217
|
+
seen.append(message)
|
|
218
|
+
return "native result"
|
|
219
|
+
shim._apply_native_images(SimpleNamespace(Conversation=Conversation))
|
|
220
|
+
payloads = [b"whole marked area", b"person one", b"person two"]
|
|
221
|
+
expected = [hashlib.sha256(b).hexdigest() for b in payloads]
|
|
222
|
+
state = {"expected": expected, "consumed": None}
|
|
223
|
+
token = shim._image_request.set(state)
|
|
224
|
+
self.addCleanup(lambda: shim._image_request.reset(token))
|
|
225
|
+
message = {"content": [{"type": "image", "blob": base64.b64encode(b).decode()} for b in payloads]}
|
|
226
|
+
self.assertEqual(Conversation().send_message_async(message), "native result")
|
|
227
|
+
self.assertEqual(state["consumed"], expected)
|
|
228
|
+
self.assertEqual(len(seen), 1)
|
|
229
|
+
with self.assertRaisesRegex(ValueError, "native image"):
|
|
230
|
+
Conversation().send_message_async({"content": message["content"][:1]})
|
|
231
|
+
self.assertEqual(len(seen), 1)
|
|
232
|
+
|
|
233
|
+
def test_image_capacity_is_lazy_and_only_added_for_explicit_native_requests(self):
|
|
234
|
+
shim = self._load(TRILLBOARDS_LITERTLM_SHIM="1")
|
|
235
|
+
calls = []
|
|
236
|
+
class Engine:
|
|
237
|
+
def __init__(self, **kwargs):
|
|
238
|
+
calls.append(kwargs)
|
|
239
|
+
shim._apply_model_snapshot(Engine)
|
|
240
|
+
Engine()
|
|
241
|
+
self.assertEqual(calls, [{}])
|
|
242
|
+
token = shim._image_request.set({"expected": ["a" * 64, "b" * 64], "consumed": None})
|
|
243
|
+
try:
|
|
244
|
+
engine = Engine()
|
|
245
|
+
self.assertEqual(calls[1], {"max_num_images": 5})
|
|
246
|
+
self.assertEqual(engine._trillboards_image_capacity, 5)
|
|
247
|
+
finally:
|
|
248
|
+
shim._image_request.reset(token)
|
|
249
|
+
Engine()
|
|
250
|
+
self.assertEqual(calls[2], {})
|
|
251
|
+
|
|
252
|
+
def _native_http(self, low_memory=False):
|
|
253
|
+
shim = self._load(TRILLBOARDS_LITERTLM_SHIM="1")
|
|
254
|
+
events = []
|
|
255
|
+
images = [b"area", b"person"]
|
|
256
|
+
hashes = [hashlib.sha256(b).hexdigest() for b in images]
|
|
257
|
+
class Engine:
|
|
258
|
+
def __init__(self, **kwargs):
|
|
259
|
+
events.append(("allocate", kwargs.get("max_num_images", 1)))
|
|
260
|
+
if low_memory and kwargs.get("max_num_images") == 5:
|
|
261
|
+
raise MemoryError("test image capacity allocation")
|
|
262
|
+
self.backend = SimpleNamespace(get_name=lambda: "cpu")
|
|
263
|
+
self._trillboards_artifact_sha256 = "a" * 64
|
|
264
|
+
def __exit__(self, *args):
|
|
265
|
+
events.append(("release", self._trillboards_image_capacity))
|
|
266
|
+
class Conversation:
|
|
267
|
+
def send_message_async(self, message):
|
|
268
|
+
events.append(("native", len(message["content"])))
|
|
269
|
+
shim._apply_model_snapshot(Engine)
|
|
270
|
+
shim._apply_native_images(SimpleNamespace(Conversation=Conversation))
|
|
271
|
+
server = SimpleNamespace(litert_lm_engine=Engine())
|
|
272
|
+
class Handler:
|
|
273
|
+
headers = {"X-Trillboards-Model-Sha256": "a" * 64, "X-Trillboards-Image-Sha256": ",".join(hashes)}
|
|
274
|
+
def __init__(self):
|
|
275
|
+
self.server = server
|
|
276
|
+
def send_error(self, code, message):
|
|
277
|
+
events.append(("error", code))
|
|
278
|
+
def _get_engine(self, model_id, *, backend):
|
|
279
|
+
if self.server.litert_lm_engine is None:
|
|
280
|
+
try:
|
|
281
|
+
self.server.litert_lm_engine = Engine()
|
|
282
|
+
except MemoryError:
|
|
283
|
+
self.send_error(500, "allocation failed")
|
|
284
|
+
return None
|
|
285
|
+
return self.server.litert_lm_engine
|
|
286
|
+
def do_POST(self):
|
|
287
|
+
if self._get_engine("gemma", backend="cpu") is not None:
|
|
288
|
+
Conversation().send_message_async({"content": [
|
|
289
|
+
{"type": "image", "blob": base64.b64encode(b).decode()} for b in images]})
|
|
290
|
+
module._dump_json({"object": "chat.completion"})
|
|
291
|
+
output = []
|
|
292
|
+
module = SimpleNamespace(OpenAIHandler=Handler, _dump_json=lambda data, **kwargs: output.append(data))
|
|
293
|
+
shim.apply_runtime_handler(module)
|
|
294
|
+
handler = Handler()
|
|
295
|
+
handler.do_POST()
|
|
296
|
+
return handler, events, output, hashes
|
|
297
|
+
|
|
298
|
+
def test_native_http_receipt_is_outside_model_text_and_capacity_reuses_one_engine(self):
|
|
299
|
+
handler, events, output, hashes = self._native_http()
|
|
300
|
+
self.assertEqual(events[:3], [("allocate", 1), ("release", 1), ("allocate", 5)])
|
|
301
|
+
self.assertEqual(output[0]["nativeImageInputs"], {"version": 1, "sha256": hashes})
|
|
302
|
+
handler.do_POST()
|
|
303
|
+
self.assertEqual(sum(e[0] == "allocate" for e in events), 2)
|
|
304
|
+
handler.headers = {"X-Trillboards-Model-Sha256": "a" * 64}
|
|
305
|
+
handler.do_POST()
|
|
306
|
+
self.assertNotIn("nativeImageInputs", output[-1])
|
|
307
|
+
|
|
308
|
+
def test_capacity_allocation_failure_leaves_single_image_recovery_available(self):
|
|
309
|
+
handler, events, output, _ = self._native_http(low_memory=True)
|
|
310
|
+
self.assertEqual(events[:4], [("allocate", 1), ("release", 1), ("allocate", 5), ("error", 500)])
|
|
311
|
+
self.assertEqual(output, [])
|
|
312
|
+
handler.headers = {"X-Trillboards-Model-Sha256": "a" * 64}
|
|
313
|
+
handler.do_POST()
|
|
314
|
+
self.assertEqual(events[-2:], [("allocate", 1), ("native", 2)])
|
|
315
|
+
self.assertNotIn("nativeImageInputs", output[-1])
|
|
316
|
+
|
|
211
317
|
|
|
212
318
|
if __name__ == "__main__":
|
|
213
319
|
unittest.main()
|
|
@@ -82,6 +82,9 @@ from __future__ import annotations
|
|
|
82
82
|
|
|
83
83
|
import os
|
|
84
84
|
import sys
|
|
85
|
+
import contextvars
|
|
86
|
+
|
|
87
|
+
_image_request = contextvars.ContextVar('trillboards_native_images', default=None)
|
|
85
88
|
|
|
86
89
|
__all__ = ["install", "apply_to", "should_drop", "TAG"]
|
|
87
90
|
|
|
@@ -129,6 +132,7 @@ def apply_to(litert_lm_module: object) -> bool:
|
|
|
129
132
|
Returns True when the wrap is in place (including when it already was).
|
|
130
133
|
"""
|
|
131
134
|
engine_cls = getattr(litert_lm_module, "Engine", None)
|
|
135
|
+
_apply_native_images(litert_lm_module)
|
|
132
136
|
if engine_cls is not None:
|
|
133
137
|
_apply_model_snapshot(engine_cls)
|
|
134
138
|
original = getattr(engine_cls, "create_conversation", None)
|
|
@@ -261,9 +265,16 @@ def _apply_model_snapshot(engine_cls):
|
|
|
261
265
|
return
|
|
262
266
|
|
|
263
267
|
def initialize(self, *args, **kwargs):
|
|
268
|
+
images = _image_request.get()
|
|
269
|
+
if images is not None:
|
|
270
|
+
# The public option used by the saved-frame comparison. No larger
|
|
271
|
+
# engine is allocated on ordinary single-image/off-switch starts.
|
|
272
|
+
kwargs['max_num_images'] = 5
|
|
264
273
|
path = kwargs.get('model_path', args[0] if args else None)
|
|
265
274
|
if path is None: # lightweight contract-test engines have no artifact
|
|
266
|
-
|
|
275
|
+
result = original(self, *args, **kwargs)
|
|
276
|
+
self._trillboards_image_capacity = kwargs.get('max_num_images', 1)
|
|
277
|
+
return result
|
|
267
278
|
snapshot, sha = _verified_snapshot(path)
|
|
268
279
|
if 'model_path' in kwargs:
|
|
269
280
|
kwargs['model_path'] = snapshot
|
|
@@ -271,11 +282,41 @@ def _apply_model_snapshot(engine_cls):
|
|
|
271
282
|
args = (snapshot, *args[1:])
|
|
272
283
|
original(self, *args, **kwargs)
|
|
273
284
|
self._trillboards_artifact_sha256 = sha
|
|
285
|
+
self._trillboards_image_capacity = kwargs.get('max_num_images', 1)
|
|
274
286
|
|
|
275
287
|
initialize._trillboards_model_snapshot = True
|
|
276
288
|
engine_cls.__init__ = initialize
|
|
277
289
|
|
|
278
290
|
|
|
291
|
+
def _apply_native_images(module):
|
|
292
|
+
"""Prove the exact JPEGs consumed immediately before native serialization."""
|
|
293
|
+
import base64
|
|
294
|
+
import hashlib
|
|
295
|
+
conversation = getattr(module, 'Conversation', None)
|
|
296
|
+
original = getattr(conversation, 'send_message_async', None)
|
|
297
|
+
if original is None or getattr(original, '_trillboards_native_images', False):
|
|
298
|
+
return
|
|
299
|
+
|
|
300
|
+
def send(self, message, *args, **kwargs):
|
|
301
|
+
state = _image_request.get()
|
|
302
|
+
if state is not None:
|
|
303
|
+
parts = message.get('content', []) if isinstance(message, dict) else []
|
|
304
|
+
hashes = []
|
|
305
|
+
for part in parts:
|
|
306
|
+
if isinstance(part, dict) and part.get('type') == 'image':
|
|
307
|
+
blob = part.get('blob')
|
|
308
|
+
if not isinstance(blob, str):
|
|
309
|
+
raise ValueError('native image must be an inline JPEG')
|
|
310
|
+
hashes.append(hashlib.sha256(base64.b64decode(blob, validate=True)).hexdigest())
|
|
311
|
+
if hashes != state['expected']:
|
|
312
|
+
raise ValueError('native image input count, order or bytes do not match')
|
|
313
|
+
state['consumed'] = hashes
|
|
314
|
+
return original(self, message, *args, **kwargs)
|
|
315
|
+
|
|
316
|
+
send._trillboards_native_images = True
|
|
317
|
+
conversation.send_message_async = send
|
|
318
|
+
|
|
319
|
+
|
|
279
320
|
def apply_runtime_handler(module):
|
|
280
321
|
"""Bind proof to the engine used by this HTTP request, outside model text."""
|
|
281
322
|
import contextvars
|
|
@@ -291,13 +332,31 @@ def apply_runtime_handler(module):
|
|
|
291
332
|
if expected is not None and not re.fullmatch(r'[a-f0-9]{64}', expected):
|
|
292
333
|
self.send_error(400, 'invalid selected artifact hash')
|
|
293
334
|
return
|
|
335
|
+
raw_images = self.headers.get('X-Trillboards-Image-Sha256')
|
|
336
|
+
images = raw_images.split(',') if raw_images is not None else None
|
|
337
|
+
if images is not None and (expected is None or not 2 <= len(images) <= 5
|
|
338
|
+
or any(not re.fullmatch(r'[a-f0-9]{64}', value) for value in images)):
|
|
339
|
+
self.send_error(400, 'invalid pinned native image request')
|
|
340
|
+
return
|
|
341
|
+
image_token = _image_request.set({'expected': images, 'consumed': None} if images is not None else None)
|
|
294
342
|
token = active.set({'expected': expected, 'proof': None})
|
|
295
343
|
try:
|
|
296
344
|
return original_post(self)
|
|
297
345
|
finally:
|
|
298
346
|
active.reset(token)
|
|
347
|
+
_image_request.reset(image_token)
|
|
299
348
|
|
|
300
349
|
def get_engine(self, *args, **kwargs):
|
|
350
|
+
images = _image_request.get()
|
|
351
|
+
if images is not None:
|
|
352
|
+
server = getattr(self, 'server', None)
|
|
353
|
+
previous = getattr(server, 'litert_lm_engine', None)
|
|
354
|
+
if previous is not None and getattr(previous, '_trillboards_image_capacity', 1) < 5:
|
|
355
|
+
# The pinned CLI's HTTPServer is serial. Release its previous
|
|
356
|
+
# engine BEFORE allocating the larger one; no duplicate model.
|
|
357
|
+
previous.__exit__(None, None, None)
|
|
358
|
+
server.litert_lm_engine = None
|
|
359
|
+
_say('native image request: upgrading idle engine capacity to five')
|
|
301
360
|
engine = original_engine(self, *args, **kwargs)
|
|
302
361
|
state = active.get()
|
|
303
362
|
if engine is None or state is None:
|
|
@@ -326,6 +385,11 @@ def apply_runtime_handler(module):
|
|
|
326
385
|
state = active.get()
|
|
327
386
|
if isinstance(data, dict) and data.get('object') == 'chat.completion' and state and state['proof']:
|
|
328
387
|
data = {**data, 'runtimeModel': dict(state['proof'])}
|
|
388
|
+
images = _image_request.get()
|
|
389
|
+
if isinstance(data, dict) and data.get('object') == 'chat.completion' and images is not None:
|
|
390
|
+
if images['consumed'] != images['expected']:
|
|
391
|
+
raise ValueError('native image consumption was not verified')
|
|
392
|
+
data = {**data, 'nativeImageInputs': {'version': 1, 'sha256': images['consumed']}}
|
|
329
393
|
return original_dump(data, **kwargs)
|
|
330
394
|
|
|
331
395
|
handler.do_POST, handler._get_engine, module._dump_json = do_post, get_engine, dump_json
|
package/dist/EdgeAgent.js
CHANGED
|
@@ -44,7 +44,7 @@ const edge_ads_1 = require("@trillboards/edge-ads");
|
|
|
44
44
|
const CommandRouter_1 = require("./CommandRouter");
|
|
45
45
|
const config_1 = require("./config");
|
|
46
46
|
const dataDir_1 = require("./dataDir");
|
|
47
|
-
const SDK_VERSION = '0.2.
|
|
47
|
+
const SDK_VERSION = '0.2.156';
|
|
48
48
|
class EdgeAgent extends events_1.EventEmitter {
|
|
49
49
|
constructor(config, deps) {
|
|
50
50
|
super();
|
|
@@ -381,6 +381,8 @@ export interface LocalAnalyzeRequest {
|
|
|
381
381
|
expectedModel?: ModelPin;
|
|
382
382
|
/** Raw JPEG bytes for this frame. */
|
|
383
383
|
jpeg: Buffer;
|
|
384
|
+
/** One moment: entire scoped area first, then separate person views. */
|
|
385
|
+
images?: Buffer[];
|
|
384
386
|
/** The JSON Schema the output is validated against (the profile contract). */
|
|
385
387
|
schema: Record<string, unknown>;
|
|
386
388
|
/** The analysis prompt (same instruction the cloud VLM gets). */
|
|
@@ -416,6 +418,7 @@ export declare class LiteRtVlmProvider {
|
|
|
416
418
|
* an observation or a request?" — see LiteRtAcceleratorHealth.delegateConfirmed.
|
|
417
419
|
*/
|
|
418
420
|
private confirmedModel;
|
|
421
|
+
private static readonly unavailableMultiImageRuntimes;
|
|
419
422
|
/** Did the serve list the `,gpu` id? null = never asked (the healthy path). */
|
|
420
423
|
private gpuAdvertised;
|
|
421
424
|
/** Set once the GPU variant failed a whole frame and we fell back to CPU. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiteRtVlmProvider.d.ts","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LiteRtVlmProvider.d.ts","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ exports.isDegenerateCompletion = isDegenerateCompletion;
|
|
|
38
38
|
const http = __importStar(require("http"));
|
|
39
39
|
const https = __importStar(require("https"));
|
|
40
40
|
const url_1 = require("url");
|
|
41
|
+
const crypto_1 = require("crypto");
|
|
41
42
|
const RuntimeModelSelection_1 = require("./RuntimeModelSelection");
|
|
42
43
|
const wavEncode_1 = require("./wavEncode");
|
|
43
44
|
/** Suffix litert-lm appends to a model id to select its GPU-delegate variant. */
|
|
@@ -362,6 +363,28 @@ class LiteRtVlmProvider {
|
|
|
362
363
|
if (!request?.jpeg || request.jpeg.length === 0) {
|
|
363
364
|
throw new Error('LiteRtVlmProvider.analyze requires a non-empty jpeg buffer');
|
|
364
365
|
}
|
|
366
|
+
if (request.images !== undefined) {
|
|
367
|
+
if (!request.expectedModel || !Array.isArray(request.images) || request.images.length < 2
|
|
368
|
+
|| request.images.length > 5 || request.images.some(jpeg => !Buffer.isBuffer(jpeg) || !jpeg.length)
|
|
369
|
+
|| !request.images[0].equals(request.jpeg))
|
|
370
|
+
throw Error('Invalid pinned multi-image request');
|
|
371
|
+
const runtimeKey = JSON.stringify([this.endpoint, this.selectedModel, request.expectedModel.sha256]);
|
|
372
|
+
if (LiteRtVlmProvider.unavailableMultiImageRuntimes.has(runtimeKey)) {
|
|
373
|
+
throw Error('Native multi-image unavailable this run; use separate views');
|
|
374
|
+
}
|
|
375
|
+
try {
|
|
376
|
+
// A native capacity/schema/transport failure has a tested serial path.
|
|
377
|
+
// Do not burn the ordinary perturbed retry budget or demote the model.
|
|
378
|
+
const answer = await this.attemptOnce(request, 0, this.selectedModel);
|
|
379
|
+
this.confirmedModel = this.selectedModel;
|
|
380
|
+
return answer;
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
LiteRtVlmProvider.unavailableMultiImageRuntimes.add(runtimeKey);
|
|
384
|
+
this.log('[litert-lm] native multi-image unavailable; using separate person views for this run');
|
|
385
|
+
throw error;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
365
388
|
const model = this.selectedModel;
|
|
366
389
|
try {
|
|
367
390
|
const result = await this.runAttempts(request, model);
|
|
@@ -531,7 +554,8 @@ class LiteRtVlmProvider {
|
|
|
531
554
|
}
|
|
532
555
|
/** A single inference attempt at the given temperature. */
|
|
533
556
|
async attemptOnce(request, temperature, model, attempt = 0, topK = GREEDY_TOP_K) {
|
|
534
|
-
const
|
|
557
|
+
const images = request.images ?? [request.jpeg];
|
|
558
|
+
const imageHashes = images.map(jpeg => (0, crypto_1.createHash)('sha256').update(jpeg).digest('hex'));
|
|
535
559
|
const fullPrompt = `${request.prompt}\n\n`
|
|
536
560
|
+ 'Output ONLY a single minified JSON object (no markdown, no code fence, no prose) '
|
|
537
561
|
+ 'with EXACTLY these keys:\n'
|
|
@@ -549,7 +573,11 @@ class LiteRtVlmProvider {
|
|
|
549
573
|
role: 'user',
|
|
550
574
|
content: [
|
|
551
575
|
{ type: 'text', text: fullPrompt },
|
|
552
|
-
|
|
576
|
+
...images.flatMap((jpeg, index) => [
|
|
577
|
+
...(request.images ? [{ type: 'text', text: index === 0 ? 'Image 1: entire marked camera area.'
|
|
578
|
+
: `Image ${index + 1}: person close-up inside Image 1.` }] : []),
|
|
579
|
+
{ type: 'image_url', image_url: { url: `data:image/jpeg;base64,${jpeg.toString('base64')}` } },
|
|
580
|
+
]),
|
|
553
581
|
],
|
|
554
582
|
},
|
|
555
583
|
],
|
|
@@ -574,7 +602,8 @@ class LiteRtVlmProvider {
|
|
|
574
602
|
let result;
|
|
575
603
|
try {
|
|
576
604
|
result = await this.poster(this.endpoint, { method: 'POST', headers: { 'Content-Type': 'application/json',
|
|
577
|
-
...(request.expectedModel ? { 'X-Trillboards-Model-Sha256': request.expectedModel.sha256 } : {})
|
|
605
|
+
...(request.expectedModel ? { 'X-Trillboards-Model-Sha256': request.expectedModel.sha256 } : {}),
|
|
606
|
+
...(request.images ? { 'X-Trillboards-Image-Sha256': imageHashes.join(',') } : {}) }, timeoutMs: this.timeoutMs }, body);
|
|
578
607
|
}
|
|
579
608
|
catch (err) {
|
|
580
609
|
// A TRANSPORT failure is the definition of transient, and until this it was
|
|
@@ -618,6 +647,13 @@ class LiteRtVlmProvider {
|
|
|
618
647
|
}
|
|
619
648
|
if (request.expectedModel)
|
|
620
649
|
(0, RuntimeModelSelection_1.assertVlmRuntimeProof)(envelope.runtimeModel, request.expectedModel, model);
|
|
650
|
+
if (request.images) {
|
|
651
|
+
const proof = envelope.nativeImageInputs;
|
|
652
|
+
if (!proof || proof.version !== 1 || Object.keys(proof).sort().join(',') !== 'sha256,version'
|
|
653
|
+
|| !Array.isArray(proof.sha256) || JSON.stringify(proof.sha256) !== JSON.stringify(imageHashes)) {
|
|
654
|
+
throw Error('Native image verification failed: runtime did not consume every separate image');
|
|
655
|
+
}
|
|
656
|
+
}
|
|
621
657
|
const content = envelope?.choices?.[0]?.message?.content;
|
|
622
658
|
if (typeof content !== 'string' || content.length === 0) {
|
|
623
659
|
throw new RetryableLiteRtError('LiteRT-LM returned no message content');
|
|
@@ -684,6 +720,9 @@ class LiteRtVlmProvider {
|
|
|
684
720
|
}
|
|
685
721
|
}
|
|
686
722
|
exports.LiteRtVlmProvider = LiteRtVlmProvider;
|
|
723
|
+
// Cameras have separate provider instances but share one runtime. A failed
|
|
724
|
+
// larger allocation must not be retried by the next camera/capture.
|
|
725
|
+
LiteRtVlmProvider.unavailableMultiImageRuntimes = new Set();
|
|
687
726
|
/**
|
|
688
727
|
* Render a JSON Schema's properties as a human-readable key list for the prompt.
|
|
689
728
|
* Enums render as `"key": one of [a, b, c]`; everything else as `"key": <type>`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiteRtVlmProvider.js","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LiteRtVlmProvider.js","sourceRoot":"","sources":["../src/LiteRtVlmProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Detection } from './LocalDetectorClient';
|
|
2
|
+
import type { LocalAnalyzeRequest } from './LiteRtVlmProvider';
|
|
3
|
+
/** Reuses the local detector client and scoped mask, not a second phone model.
|
|
4
|
+
* RF only proposes views. It never answers or vetoes the phone question.
|
|
5
|
+
*/
|
|
6
|
+
export interface PhonePersonViewsPolicy {
|
|
7
|
+
version: 1;
|
|
8
|
+
method: 'native_person_views_v1';
|
|
9
|
+
maxImages: 5;
|
|
10
|
+
minConfidence: 0.25;
|
|
11
|
+
proposalModel: {
|
|
12
|
+
modelId: 'rfdetr_medium';
|
|
13
|
+
format: 'onnx';
|
|
14
|
+
sha256: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export interface PhonePersonTrace {
|
|
18
|
+
method: 'native_person_views_v1' | 'separate_person_views_v1';
|
|
19
|
+
images: Array<{
|
|
20
|
+
sha256: string;
|
|
21
|
+
box?: {
|
|
22
|
+
left: number;
|
|
23
|
+
top: number;
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
export interface PhonePersonProgress {
|
|
30
|
+
version: 1;
|
|
31
|
+
imageSha256: string;
|
|
32
|
+
policySha256: string;
|
|
33
|
+
trace: PhonePersonTrace;
|
|
34
|
+
answers: boolean[];
|
|
35
|
+
nativeDisabled?: true;
|
|
36
|
+
nativeAnswer?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export declare function completedPhonePersonDecision(state: PhonePersonProgress): boolean | undefined;
|
|
39
|
+
export declare function parsePhonePersonViews(value: unknown): PhonePersonViewsPolicy | undefined;
|
|
40
|
+
export declare function reviewPhonePersonViews(input: {
|
|
41
|
+
jpeg: Buffer;
|
|
42
|
+
policy: PhonePersonViewsPolicy;
|
|
43
|
+
prompt: string;
|
|
44
|
+
schema: Record<string, unknown>;
|
|
45
|
+
propose: (jpeg: Buffer) => Promise<Detection[]>;
|
|
46
|
+
analyze: (request: LocalAnalyzeRequest) => Promise<Record<string, unknown>>;
|
|
47
|
+
progress?: PhonePersonProgress;
|
|
48
|
+
checkpoint: (progress: PhonePersonProgress) => void;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
value: boolean;
|
|
51
|
+
trace: PhonePersonTrace;
|
|
52
|
+
}>;
|
|
53
|
+
//# sourceMappingURL=PhonePersonViews.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhonePersonViews.d.ts","sourceRoot":"","sources":["../src/PhonePersonViews.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAC,CAAC,CAAC;IAAC,MAAM,EAAC,wBAAwB,CAAC;IAAC,SAAS,EAAC,CAAC,CAAC;IAAC,aAAa,EAAC,IAAI,CAAC;IAC5E,aAAa,EAAC;QAAC,OAAO,EAAC,eAAe,CAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAC,MAAM,EAAC,MAAM,CAAA;KAAC,CAAC;CACvE;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAC,wBAAwB,GAAC,0BAA0B,CAAC;IAC3D,MAAM,EAAC,KAAK,CAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAC,GAAG,CAAC,EAAC;YAAC,IAAI,EAAC,MAAM,CAAC;YAAA,GAAG,EAAC,MAAM,CAAC;YAAA,KAAK,EAAC,MAAM,CAAC;YAAA,MAAM,EAAC,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC,CAAC;CACzF;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAC,CAAC,CAAC;IAAC,WAAW,EAAC,MAAM,CAAC;IAAC,YAAY,EAAC,MAAM,CAAC;IACnD,KAAK,EAAC,gBAAgB,CAAC;IAAC,OAAO,EAAC,OAAO,EAAE,CAAC;IAAC,cAAc,CAAC,EAAC,IAAI,CAAC;IAAC,YAAY,CAAC,EAAC,OAAO,CAAC;CACxF;AAGD,wBAAgB,4BAA4B,CAAC,KAAK,EAAC,mBAAmB,GAAE,OAAO,GAAC,SAAS,CAKxF;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAC,OAAO,GAAE,sBAAsB,GAAC,SAAS,CAUpF;AACD,wBAAsB,sBAAsB,CAAC,KAAK,EAAC;IACjD,IAAI,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,sBAAsB,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;IACtF,OAAO,EAAC,CAAC,IAAI,EAAC,MAAM,KAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5C,OAAO,EAAC,CAAC,OAAO,EAAC,mBAAmB,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,EAAC,mBAAmB,CAAC;IAAA,UAAU,EAAC,CAAC,QAAQ,EAAC,mBAAmB,KAAG,IAAI,CAAC;CAC/E,GAAE,OAAO,CAAC;IAAC,KAAK,EAAC,OAAO,CAAC;IAAA,KAAK,EAAC,gBAAgB,CAAA;CAAC,CAAC,CA4FjD"}
|