@larkup/tool-video-intelligence 0.2.0 → 0.2.2

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 (75) hide show
  1. package/README.md +11 -3
  2. package/package.json +3 -3
  3. package/runtime/app/__pycache__/__init__.cpython-311.pyc +0 -0
  4. package/runtime/app/__pycache__/__init__.cpython-312.pyc +0 -0
  5. package/runtime/app/__pycache__/__main__.cpython-312.pyc +0 -0
  6. package/runtime/app/__pycache__/cloud_worker.cpython-311.pyc +0 -0
  7. package/runtime/app/__pycache__/config.cpython-311.pyc +0 -0
  8. package/runtime/app/__pycache__/config.cpython-312.pyc +0 -0
  9. package/runtime/app/__pycache__/deepgram_transcribe.cpython-311.pyc +0 -0
  10. package/runtime/app/__pycache__/deepgram_transcribe.cpython-312.pyc +0 -0
  11. package/runtime/app/__pycache__/ffmpeg_extract.cpython-311.pyc +0 -0
  12. package/runtime/app/__pycache__/gateway_vision.cpython-311.pyc +0 -0
  13. package/runtime/app/__pycache__/gateway_vision.cpython-312.pyc +0 -0
  14. package/runtime/app/__pycache__/main.cpython-311.pyc +0 -0
  15. package/runtime/app/__pycache__/main.cpython-312.pyc +0 -0
  16. package/runtime/app/__pycache__/model_configuration.cpython-311.pyc +0 -0
  17. package/runtime/app/__pycache__/model_configuration.cpython-312.pyc +0 -0
  18. package/runtime/app/__pycache__/motion_sampling.cpython-311.pyc +0 -0
  19. package/runtime/app/__pycache__/pipeline.cpython-311.pyc +0 -0
  20. package/runtime/app/__pycache__/pipeline.cpython-312.pyc +0 -0
  21. package/runtime/app/__pycache__/progress.cpython-311.pyc +0 -0
  22. package/runtime/app/__pycache__/progress.cpython-312.pyc +0 -0
  23. package/runtime/app/__pycache__/ranges.cpython-311.pyc +0 -0
  24. package/runtime/app/__pycache__/ranges.cpython-312.pyc +0 -0
  25. package/runtime/app/__pycache__/sampling.cpython-311.pyc +0 -0
  26. package/runtime/app/__pycache__/sampling.cpython-312.pyc +0 -0
  27. package/runtime/app/__pycache__/scene_clipping.cpython-311.pyc +0 -0
  28. package/runtime/app/__pycache__/scene_clipping.cpython-312.pyc +0 -0
  29. package/runtime/app/__pycache__/schemas.cpython-311.pyc +0 -0
  30. package/runtime/app/__pycache__/semantic_vision.cpython-311.pyc +0 -0
  31. package/runtime/app/__pycache__/semantic_vision.cpython-312.pyc +0 -0
  32. package/runtime/app/__pycache__/service.cpython-311.pyc +0 -0
  33. package/runtime/app/__pycache__/store.cpython-311.pyc +0 -0
  34. package/runtime/app/__pycache__/store.cpython-312.pyc +0 -0
  35. package/runtime/app/__pycache__/timeline.cpython-311.pyc +0 -0
  36. package/runtime/app/__pycache__/timeline.cpython-312.pyc +0 -0
  37. package/runtime/app/__pycache__/video_embedding.cpython-311.pyc +0 -0
  38. package/runtime/app/__pycache__/worker.cpython-311.pyc +0 -0
  39. package/runtime/app/api/__pycache__/__init__.cpython-311.pyc +0 -0
  40. package/runtime/app/api/__pycache__/__init__.cpython-312.pyc +0 -0
  41. package/runtime/app/api/__pycache__/deps.cpython-311.pyc +0 -0
  42. package/runtime/app/api/__pycache__/deps.cpython-312.pyc +0 -0
  43. package/runtime/app/api/__pycache__/v1.cpython-311.pyc +0 -0
  44. package/runtime/app/api/__pycache__/v1.cpython-312.pyc +0 -0
  45. package/runtime/app/db/__pycache__/__init__.cpython-311.pyc +0 -0
  46. package/runtime/app/db/__pycache__/__init__.cpython-312.pyc +0 -0
  47. package/runtime/app/db/__pycache__/schemas.cpython-311.pyc +0 -0
  48. package/runtime/app/db/__pycache__/schemas.cpython-312.pyc +0 -0
  49. package/runtime/app/db/__pycache__/store.cpython-311.pyc +0 -0
  50. package/runtime/app/db/__pycache__/store.cpython-312.pyc +0 -0
  51. package/runtime/app/services/__pycache__/__init__.cpython-311.pyc +0 -0
  52. package/runtime/app/services/__pycache__/__init__.cpython-312.pyc +0 -0
  53. package/runtime/app/services/__pycache__/brain.cpython-311.pyc +0 -0
  54. package/runtime/app/services/__pycache__/brain.cpython-312.pyc +0 -0
  55. package/runtime/app/services/__pycache__/embedding.cpython-311.pyc +0 -0
  56. package/runtime/app/services/__pycache__/embedding.cpython-312.pyc +0 -0
  57. package/runtime/app/services/__pycache__/jobs.cpython-311.pyc +0 -0
  58. package/runtime/app/services/__pycache__/jobs.cpython-312.pyc +0 -0
  59. package/runtime/app/services/__pycache__/motion.cpython-311.pyc +0 -0
  60. package/runtime/app/services/__pycache__/motion.cpython-312.pyc +0 -0
  61. package/runtime/app/services/__pycache__/pipeline.cpython-311.pyc +0 -0
  62. package/runtime/app/services/__pycache__/pipeline.cpython-312.pyc +0 -0
  63. package/runtime/app/services/__pycache__/scene.cpython-311.pyc +0 -0
  64. package/runtime/app/services/__pycache__/scene.cpython-312.pyc +0 -0
  65. package/runtime/app/services/__pycache__/storage.cpython-311.pyc +0 -0
  66. package/runtime/app/services/__pycache__/storage.cpython-312.pyc +0 -0
  67. package/runtime/app/services/__pycache__/transcription.cpython-311.pyc +0 -0
  68. package/runtime/app/services/__pycache__/transcription.cpython-312.pyc +0 -0
  69. package/runtime/app/services/__pycache__/vision.cpython-311.pyc +0 -0
  70. package/runtime/app/services/__pycache__/vision.cpython-312.pyc +0 -0
  71. package/runtime/app/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  72. package/runtime/app/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  73. package/runtime/app/utils/__pycache__/timing.cpython-311.pyc +0 -0
  74. package/runtime/app/utils/__pycache__/timing.cpython-312.pyc +0 -0
  75. package/tool.manifest.json +60 -13
package/README.md CHANGED
@@ -35,7 +35,15 @@ runtime/app/
35
35
  worker.py local-Docker CLI entrypoint (`python -m app.worker <job_id>`)
36
36
  ```
37
37
 
38
- `deploy/` is the operator/infrastructure side for Larkup's managed cloud offering: the AWS control plane (Lambda + API Gateway + DynamoDB + S3) and GPU provider dispatch/worker entrypoints (RunPod, Modal, and other vendors behind one interface). It is gitignored and not part of this public checkout -- kept fully separate from `runtime/app` so a self-hosted Docker/local install never depends on it. If you operate the managed cloud stack, see `deploy/README.md` in your private checkout for testing, validation, and deploy commands.
38
+ `deploy/` is the operator/infrastructure side for Larkup's managed cloud offering: the AWS control plane (Lambda + API Gateway + DynamoDB + S3) and GPU provider dispatch/worker entrypoints (RunPod, Modal, and other vendors behind one interface). It is public for review and collaboration, but remains fully separate from `runtime/app` so a self-hosted Docker/local install never depends on it. It uses short-lived CI identity and contains no deployed credentials. See `deploy/README.md` for testing, validation, and deploy commands.
39
+
40
+ ## Current roadmap
41
+
42
+ Collaborators are currently focused on three connected improvements:
43
+
44
+ 1. **Smarter indexing** — produce a coherent story-like timeline and durable notes that preserve the important people, questions, events, and changes across the full video.
45
+ 2. **Faster analysis** — reduce indexing and follow-up latency with bounded parallel work, better sampling, and direct inspection of only the ranges that need more evidence.
46
+ 3. **Stronger reuse of indexing results** — make analysis and chat use the stored transcript, visual evidence, entities, summaries, and answering guide first, then request bounded re-analysis only when indexed evidence is incomplete.
39
47
 
40
48
  ## Local run
41
49
 
@@ -225,9 +233,9 @@ Only hashes of access codes, API keys, and installation identifiers are stored.
225
233
 
226
234
  ## AWS deployment
227
235
 
228
- The production stack -- API Gateway + Lambda control plane, DynamoDB, S3 + KMS, and GPU dispatch through Modal/RunPod -- is real-deployed and smoke-tested end to end (control plane → GPU worker → S3 → job completion). Its source lives in the private, gitignored `deploy/` directory described above, not in this public checkout. `ProcessingEnabled` defaults to `false` -- a stack accepts no real jobs until explicitly turned on.
236
+ The production stack -- API Gateway + Lambda control plane, DynamoDB, S3 + KMS, and GPU dispatch through Modal/RunPod -- is real-deployed and smoke-tested end to end (control plane → GPU worker → S3 → job completion). Its source lives in the public `deploy/` directory described above. `ProcessingEnabled` defaults to `false` -- a stack accepts no real jobs until explicitly turned on.
229
237
 
230
- See `deploy/README.md` in a private checkout for the build/deploy, bootstrap, and RunPod image publish commands. Do not send a long-lived AWS secret through chat or store it in GitHub; a short AWS SSO session is sufficient for bootstrap, with GitHub assuming a narrow OIDC deployment role afterward.
238
+ See `deploy/README.md` for the build/deploy, bootstrap, and RunPod image publish commands. Do not send a long-lived AWS secret through chat or store it in GitHub; a short AWS SSO session is sufficient for bootstrap, with GitHub assuming a narrow OIDC deployment role afterward.
231
239
 
232
240
  ### Operator-level env vars
233
241
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@larkup/tool-video-intelligence",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "description": "Installable local and cloud video intelligence with evidence-first indexing.",
6
6
  "main": "./dist/index.js",
@@ -55,13 +55,13 @@
55
55
  }
56
56
  },
57
57
  "dependencies": {
58
- "@larkup/core": "0.5.0"
58
+ "@larkup/core": "0.5.1"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "^26",
62
62
  "typescript": "^7.0.2",
63
63
  "vitest": "^4.1.10",
64
- "@larkup/marketplace": "0.2.0"
64
+ "@larkup/marketplace": "0.2.1"
65
65
  },
66
66
  "publishConfig": {
67
67
  "access": "public"
@@ -7,7 +7,7 @@
7
7
  "description": "Help your AI understand your videos, so you can ask questions and get answers from the right moments.",
8
8
  "longDescription": "Turn videos into knowledge your AI can understand. It listens to what is said, reads what appears on screen, and helps you find the moments that matter.",
9
9
  "category": "media",
10
- "version": "0.2.0",
10
+ "version": "0.2.2",
11
11
  "pricing": "free",
12
12
  "emoji": "🎥",
13
13
  "icon": "Film",
@@ -91,7 +91,9 @@
91
91
  },
92
92
  "usage": {
93
93
  "label": "Usage this month",
94
- "visibleWhenRuntimeMode": ["managed-cloud"],
94
+ "visibleWhenRuntimeMode": [
95
+ "managed-cloud"
96
+ ],
95
97
  "visualization": {
96
98
  "usedKey": "sourceMinutesUsed",
97
99
  "limitKey": "sourceMinutesLimit"
@@ -127,7 +129,9 @@
127
129
  "slot": "data-indexing",
128
130
  "title": "Let your AI understand this video",
129
131
  "entrypoint": "./ui",
130
- "appliesTo": ["video"],
132
+ "appliesTo": [
133
+ "video"
134
+ ],
131
135
  "description": "Choose how deeply to analyze it and optionally point it to what matters most.",
132
136
  "estimate": {
133
137
  "modeField": "indexingMode",
@@ -382,9 +386,21 @@
382
386
  "value": "auto",
383
387
  "description": "Follow the workspace Chat Model setting."
384
388
  },
385
- { "label": "Google Gemini", "value": "google", "icon": "/icons/gemini.svg" },
386
- { "label": "Vercel AI Gateway", "value": "vercel_ai_gateway", "icon": "/icons/vercel.svg" },
387
- { "label": "OpenAI", "value": "openai", "icon": "/icons/openai.svg" },
389
+ {
390
+ "label": "Google Gemini",
391
+ "value": "google",
392
+ "icon": "/icons/gemini.svg"
393
+ },
394
+ {
395
+ "label": "Vercel AI Gateway",
396
+ "value": "vercel_ai_gateway",
397
+ "icon": "/icons/vercel.svg"
398
+ },
399
+ {
400
+ "label": "OpenAI",
401
+ "value": "openai",
402
+ "icon": "/icons/openai.svg"
403
+ },
388
404
  {
389
405
  "label": "DeepSeek",
390
406
  "value": "deepseek",
@@ -395,8 +411,16 @@
395
411
  "value": "anthropic",
396
412
  "icon": "https://models.dev/logos/anthropic.svg"
397
413
  },
398
- { "label": "Mistral", "value": "mistral", "icon": "https://models.dev/logos/mistral.svg" },
399
- { "label": "Cohere", "value": "cohere", "icon": "https://models.dev/logos/cohere.svg" }
414
+ {
415
+ "label": "Mistral",
416
+ "value": "mistral",
417
+ "icon": "https://models.dev/logos/mistral.svg"
418
+ },
419
+ {
420
+ "label": "Cohere",
421
+ "value": "cohere",
422
+ "icon": "https://models.dev/logos/cohere.svg"
423
+ }
400
424
  ]
401
425
  },
402
426
  {
@@ -450,8 +474,16 @@
450
474
  "value": "google/gemini-3.6-flash",
451
475
  "icon": "/icons/gemini.svg"
452
476
  },
453
- { "label": "GPT-5 mini", "value": "openai/gpt-5-mini", "icon": "/icons/openai.svg" },
454
- { "label": "GPT-5.2", "value": "openai/gpt-5.2", "icon": "/icons/openai.svg" },
477
+ {
478
+ "label": "GPT-5 mini",
479
+ "value": "openai/gpt-5-mini",
480
+ "icon": "/icons/openai.svg"
481
+ },
482
+ {
483
+ "label": "GPT-5.2",
484
+ "value": "openai/gpt-5.2",
485
+ "icon": "/icons/openai.svg"
486
+ },
455
487
  {
456
488
  "label": "DeepSeek V3.2",
457
489
  "value": "deepseek/deepseek-v3.2",
@@ -561,7 +593,12 @@
561
593
  },
562
594
  "visibleWhen": {
563
595
  "field": "audioProvider",
564
- "equals": ["openai", "groq", "deepgram", "elevenlabs"]
596
+ "equals": [
597
+ "openai",
598
+ "groq",
599
+ "deepgram",
600
+ "elevenlabs"
601
+ ]
565
602
  }
566
603
  },
567
604
  {
@@ -605,13 +642,23 @@
605
642
  "serverManaged": true
606
643
  }
607
644
  ],
608
- "tags": ["video", "ocr", "tracking", "cloud", "gpu", "private", "gdpr"],
645
+ "tags": [
646
+ "video",
647
+ "ocr",
648
+ "tracking",
649
+ "cloud",
650
+ "gpu",
651
+ "private",
652
+ "gdpr"
653
+ ],
609
654
  "downloads": 0,
610
655
  "repositoryUrl": "https://github.com/Larkup-AI/larkup",
611
656
  "license": "Apache-2.0",
612
657
  "updatedAt": "2026-08-20",
613
658
  "trustLevel": "elevated",
614
659
  "permissions": {
615
- "httpAllow": ["video.larkup.de"]
660
+ "httpAllow": [
661
+ "video.larkup.de"
662
+ ]
616
663
  }
617
664
  }