theus-cli-linux-x64 1.2.1 → 1.3.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.
- package/README.md +15 -0
- package/RELEASE.json +6 -6
- package/bin/theus +0 -0
- package/package.json +1 -1
- package/vendor/chrome-extension/README.md +142 -0
- package/vendor/chrome-extension/background.js +540 -0
- package/vendor/chrome-extension/cdp-core.js +400 -0
- package/vendor/chrome-extension/cdp-core.test.ts +321 -0
- package/vendor/chrome-extension/cdp.js +672 -0
- package/vendor/chrome-extension/icons/icon128.png +0 -0
- package/vendor/chrome-extension/icons/icon16.png +0 -0
- package/vendor/chrome-extension/icons/icon32.png +0 -0
- package/vendor/chrome-extension/icons/icon48.png +0 -0
- package/vendor/chrome-extension/manifest.json +36 -0
- package/vendor/chrome-extension/popup.html +78 -0
- package/vendor/chrome-extension/popup.js +47 -0
- package/vendor/chrome-extension/recorder.js +316 -0
- package/vendor/higiene-motor/PARCHES.md +244 -0
- package/vendor/higiene-motor/audit_dir.py +166 -0
- package/vendor/higiene-motor/audit_lib.py +333 -0
- package/vendor/higiene-motor/audit_website.py +635 -0
- package/vendor/higiene-motor/av_meta.py +498 -0
- package/vendor/higiene-motor/check_staged.py +71 -0
- package/vendor/higiene-motor/clean_ctrlregen.py +212 -0
- package/vendor/higiene-motor/clean_file.py +237 -0
- package/vendor/higiene-motor/clean_image.py +218 -0
- package/vendor/higiene-motor/clean_staged.py +143 -0
- package/vendor/higiene-motor/clean_text.py +108 -0
- package/vendor/higiene-motor/common.py +486 -0
- package/vendor/higiene-motor/container_meta.py +2522 -0
- package/vendor/higiene-motor/detect_gumbel.py +308 -0
- package/vendor/higiene-motor/detect_text_watermark.py +613 -0
- package/vendor/higiene-motor/format_dispatch.py +157 -0
- package/vendor/higiene-motor/hook_written_file.py +253 -0
- package/vendor/higiene-motor/image_meta.py +2171 -0
- package/vendor/higiene-motor/inspect_file.py +138 -0
- package/vendor/higiene-motor/inspect_image.py +72 -0
- package/vendor/higiene-motor/inspect_text.py +86 -0
- package/vendor/higiene-motor/markdiffusion_harness.py +533 -0
- package/vendor/higiene-motor/rewrite_text.py +737 -0
- package/vendor/higiene-motor/score_stylometry.py +460 -0
- package/vendor/higiene-motor/score_synthid.py +165 -0
- package/vendor/higiene-motor/server.py +1059 -0
- package/vendor/higiene-motor/synthid_score_server.py +176 -0
- package/vendor/higiene-motor/text_detectors.py +433 -0
- package/vendor/higiene-motor/text_unicode.py +730 -0
- package/vendor/theus-arsenal/.arsenal-nombres-ola2.json +0 -6
- package/vendor/theus-arsenal/.arsenal-nombres-ola3.json +0 -72
- package/vendor/theus-arsenal/.mailmap +0 -2
- package/vendor/theus-arsenal/.theus-plugin/marketplace.json +0 -25
- package/vendor/theus-arsenal/.theus-plugin/plugin.json +0 -20
- package/vendor/theus-arsenal/AUTHORS.md +0 -8
- package/vendor/theus-arsenal/CLEANROOM_REPLACEMENT_PLAN.md +0 -11
- package/vendor/theus-arsenal/LICENSE +0 -26
- package/vendor/theus-arsenal/PROVENANCE.md +0 -9
- package/vendor/theus-arsenal/README.md +0 -41
- package/vendor/theus-arsenal/THIRD_PARTY.md +0 -80
- package/vendor/theus-arsenal/agents/actualizador-docs.md +0 -123
- package/vendor/theus-arsenal/agents/analista-comentarios.md +0 -53
- package/vendor/theus-arsenal/agents/analista-conversaciones.md +0 -60
- package/vendor/theus-arsenal/agents/analista-tests-pr.md +0 -53
- package/vendor/theus-arsenal/agents/analista-tipos.md +0 -49
- package/vendor/theus-arsenal/agents/arquitecto-accesibilidad.md +0 -148
- package/vendor/theus-arsenal/agents/arquitecto-codigo.md +0 -79
- package/vendor/theus-arsenal/agents/arquitecto-homelab.md +0 -90
- package/vendor/theus-arsenal/agents/arquitecto-redes.md +0 -116
- package/vendor/theus-arsenal/agents/arquitecto-sistemas.md +0 -219
- package/vendor/theus-arsenal/agents/bifurcador-opensource.md +0 -206
- package/vendor/theus-arsenal/agents/cazador-fallos-silenciosos.md +0 -58
- package/vendor/theus-arsenal/agents/consultor-documentacion.md +0 -76
- package/vendor/theus-arsenal/agents/diagnosticador-redes.md +0 -135
- package/vendor/theus-arsenal/agents/ejecutor-e2e.md +0 -96
- package/vendor/theus-arsenal/agents/empaquetador-opensource.md +0 -257
- package/vendor/theus-arsenal/agents/escaner-secretos.md +0 -196
- package/vendor/theus-arsenal/agents/especialista-seo.md +0 -70
- package/vendor/theus-arsenal/agents/estratega-marketing.md +0 -158
- package/vendor/theus-arsenal/agents/evaluador-agentes.md +0 -214
- package/vendor/theus-arsenal/agents/evaluador-harness.md +0 -217
- package/vendor/theus-arsenal/agents/explorador-codigo.md +0 -79
- package/vendor/theus-arsenal/agents/extractor-specs.md +0 -214
- package/vendor/theus-arsenal/agents/generador-harness.md +0 -139
- package/vendor/theus-arsenal/agents/guia-tdd.md +0 -99
- package/vendor/theus-arsenal/agents/jefe-de-gabinete.md +0 -162
- package/vendor/theus-arsenal/agents/limpiador-refactors.md +0 -93
- package/vendor/theus-arsenal/agents/optimizador-rendimiento.md +0 -454
- package/vendor/theus-arsenal/agents/planificador-harness.md +0 -107
- package/vendor/theus-arsenal/agents/planificador.md +0 -221
- package/vendor/theus-arsenal/agents/resolutor-apps-harmonyos.md +0 -181
- package/vendor/theus-arsenal/agents/resolutor-builds-cpp.md +0 -98
- package/vendor/theus-arsenal/agents/resolutor-builds-dart.md +0 -209
- package/vendor/theus-arsenal/agents/resolutor-builds-django.md +0 -253
- package/vendor/theus-arsenal/agents/resolutor-builds-go.md +0 -102
- package/vendor/theus-arsenal/agents/resolutor-builds-java.md +0 -274
- package/vendor/theus-arsenal/agents/resolutor-builds-kotlin.md +0 -128
- package/vendor/theus-arsenal/agents/resolutor-builds-pytorch.md +0 -128
- package/vendor/theus-arsenal/agents/resolutor-builds-react.md +0 -214
- package/vendor/theus-arsenal/agents/resolutor-builds-rust.md +0 -156
- package/vendor/theus-arsenal/agents/resolutor-builds-swift.md +0 -169
- package/vendor/theus-arsenal/agents/resolutor-builds.md +0 -122
- package/vendor/theus-arsenal/agents/revisor-bd.md +0 -97
- package/vendor/theus-arsenal/agents/revisor-codigo.md +0 -291
- package/vendor/theus-arsenal/agents/revisor-config-red.md +0 -116
- package/vendor/theus-arsenal/agents/revisor-cpp.md +0 -80
- package/vendor/theus-arsenal/agents/revisor-csharp.md +0 -109
- package/vendor/theus-arsenal/agents/revisor-django.md +0 -168
- package/vendor/theus-arsenal/agents/revisor-fastapi.md +0 -82
- package/vendor/theus-arsenal/agents/revisor-flutter.md +0 -251
- package/vendor/theus-arsenal/agents/revisor-go.md +0 -84
- package/vendor/theus-arsenal/agents/revisor-java.md +0 -192
- package/vendor/theus-arsenal/agents/revisor-kotlin.md +0 -171
- package/vendor/theus-arsenal/agents/revisor-ml.md +0 -159
- package/vendor/theus-arsenal/agents/revisor-php.md +0 -108
- package/vendor/theus-arsenal/agents/revisor-python.md +0 -106
- package/vendor/theus-arsenal/agents/revisor-react.md +0 -166
- package/vendor/theus-arsenal/agents/revisor-rust.md +0 -102
- package/vendor/theus-arsenal/agents/revisor-seguridad.md +0 -116
- package/vendor/theus-arsenal/agents/revisor-software-clinico.md +0 -95
- package/vendor/theus-arsenal/agents/revisor-swift.md +0 -115
- package/vendor/theus-arsenal/agents/revisor-typescript.md +0 -123
- package/vendor/theus-arsenal/agents/revisor-vue.md +0 -205
- package/vendor/theus-arsenal/agents/simplificador-codigo.md +0 -55
- package/vendor/theus-arsenal/commands/actualizar-docs.md +0 -88
- package/vendor/theus-arsenal/commands/actualizar-mapas-codigo.md +0 -78
- package/vendor/theus-arsenal/commands/aprender-evaluar.md +0 -109
- package/vendor/theus-arsenal/commands/aprender.md +0 -74
- package/vendor/theus-arsenal/commands/arreglar-build.md +0 -66
- package/vendor/theus-arsenal/commands/bucle-multiperspectiva.md +0 -153
- package/vendor/theus-arsenal/commands/build-cpp.md +0 -173
- package/vendor/theus-arsenal/commands/build-flutter.md +0 -164
- package/vendor/theus-arsenal/commands/build-go.md +0 -183
- package/vendor/theus-arsenal/commands/build-gradle.md +0 -75
- package/vendor/theus-arsenal/commands/build-kotlin.md +0 -176
- package/vendor/theus-arsenal/commands/build-react.md +0 -187
- package/vendor/theus-arsenal/commands/build-rust.md +0 -187
- package/vendor/theus-arsenal/commands/campana-marketing.md +0 -125
- package/vendor/theus-arsenal/commands/checkpoint.md +0 -78
- package/vendor/theus-arsenal/commands/cobertura-tests.md +0 -73
- package/vendor/theus-arsenal/commands/configurar-gestor-paquetes.md +0 -86
- package/vendor/theus-arsenal/commands/consulta.md +0 -164
- package/vendor/theus-arsenal/commands/control-calidad.md +0 -50
- package/vendor/theus-arsenal/commands/crear-skill.md +0 -77
- package/vendor/theus-arsenal/commands/enrutar-modelo.md +0 -30
- package/vendor/theus-arsenal/commands/epica-desbloquear.md +0 -17
- package/vendor/theus-arsenal/commands/epica-descomponer.md +0 -22
- package/vendor/theus-arsenal/commands/epica-publicar.md +0 -21
- package/vendor/theus-arsenal/commands/epica-reclamar.md +0 -25
- package/vendor/theus-arsenal/commands/epica-revisar.md +0 -22
- package/vendor/theus-arsenal/commands/epica-sincronizar.md +0 -21
- package/vendor/theus-arsenal/commands/epica-validar.md +0 -21
- package/vendor/theus-arsenal/commands/evolucionar.md +0 -176
- package/vendor/theus-arsenal/commands/funcionalidad.md +0 -49
- package/vendor/theus-arsenal/commands/guardar-sesion.md +0 -278
- package/vendor/theus-arsenal/commands/harness-build.md +0 -111
- package/vendor/theus-arsenal/commands/harness-diseno.md +0 -46
- package/vendor/theus-arsenal/commands/informe-costos.md +0 -90
- package/vendor/theus-arsenal/commands/iniciar-bucle.md +0 -36
- package/vendor/theus-arsenal/commands/instintos-estado.md +0 -53
- package/vendor/theus-arsenal/commands/instintos-exportar.md +0 -69
- package/vendor/theus-arsenal/commands/instintos-importar.md +0 -120
- package/vendor/theus-arsenal/commands/lienzo-planes.md +0 -48
- package/vendor/theus-arsenal/commands/limpiar-refactor.md +0 -84
- package/vendor/theus-arsenal/commands/modo-seguro.md +0 -96
- package/vendor/theus-arsenal/commands/orq-agregar-funcionalidad.md +0 -36
- package/vendor/theus-arsenal/commands/orq-cambiar-funcionalidad.md +0 -38
- package/vendor/theus-arsenal/commands/orq-construir-mvp.md +0 -36
- package/vendor/theus-arsenal/commands/orq-corregir-defecto.md +0 -40
- package/vendor/theus-arsenal/commands/orq-refinar-codigo.md +0 -44
- package/vendor/theus-arsenal/commands/orq-revisar.md +0 -135
- package/vendor/theus-arsenal/commands/plan-prd.md +0 -160
- package/vendor/theus-arsenal/commands/plan.md +0 -198
- package/vendor/theus-arsenal/commands/podar.md +0 -31
- package/vendor/theus-arsenal/commands/pr.md +0 -181
- package/vendor/theus-arsenal/commands/promover.md +0 -41
- package/vendor/theus-arsenal/commands/proyectos.md +0 -33
- package/vendor/theus-arsenal/commands/prp-commit.md +0 -112
- package/vendor/theus-arsenal/commands/prp-implementar.md +0 -385
- package/vendor/theus-arsenal/commands/prp-planificar.md +0 -501
- package/vendor/theus-arsenal/commands/reanudar-sesion.md +0 -160
- package/vendor/theus-arsenal/commands/revisar-codigo.md +0 -289
- package/vendor/theus-arsenal/commands/revisar-cpp.md +0 -132
- package/vendor/theus-arsenal/commands/revisar-fastapi.md +0 -39
- package/vendor/theus-arsenal/commands/revisar-flutter.md +0 -115
- package/vendor/theus-arsenal/commands/revisar-go.md +0 -148
- package/vendor/theus-arsenal/commands/revisar-kotlin.md +0 -140
- package/vendor/theus-arsenal/commands/revisar-pr.md +0 -37
- package/vendor/theus-arsenal/commands/revisar-python.md +0 -297
- package/vendor/theus-arsenal/commands/revisar-react.md +0 -170
- package/vendor/theus-arsenal/commands/revisar-rust.md +0 -142
- package/vendor/theus-arsenal/commands/revisar-vue.md +0 -174
- package/vendor/theus-arsenal/commands/salud-skills.md +0 -52
- package/vendor/theus-arsenal/commands/sesiones.md +0 -345
- package/vendor/theus-arsenal/commands/test-cpp.md +0 -252
- package/vendor/theus-arsenal/commands/test-flutter.md +0 -143
- package/vendor/theus-arsenal/commands/test-go.md +0 -268
- package/vendor/theus-arsenal/commands/test-kotlin.md +0 -312
- package/vendor/theus-arsenal/commands/test-react.md +0 -265
- package/vendor/theus-arsenal/commands/test-rust.md +0 -309
- package/vendor/theus-arsenal/commands/vigilancia-canary.md +0 -43
- package/vendor/theus-arsenal/hooks/hooks.json +0 -274
- package/vendor/theus-arsenal/package.json +0 -6
- package/vendor/theus-arsenal/rules/angular/coding-style.md +0 -182
- package/vendor/theus-arsenal/rules/angular/hooks.md +0 -25
- package/vendor/theus-arsenal/rules/angular/patterns.md +0 -249
- package/vendor/theus-arsenal/rules/angular/security.md +0 -87
- package/vendor/theus-arsenal/rules/angular/testing.md +0 -164
- package/vendor/theus-arsenal/rules/arkts/coding-style.md +0 -153
- package/vendor/theus-arsenal/rules/arkts/hooks.md +0 -80
- package/vendor/theus-arsenal/rules/arkts/patterns.md +0 -236
- package/vendor/theus-arsenal/rules/arkts/security.md +0 -141
- package/vendor/theus-arsenal/rules/arkts/testing.md +0 -126
- package/vendor/theus-arsenal/rules/common/agents.md +0 -49
- package/vendor/theus-arsenal/rules/common/code-review.md +0 -123
- package/vendor/theus-arsenal/rules/common/coding-style.md +0 -90
- package/vendor/theus-arsenal/rules/common/development-workflow.md +0 -44
- package/vendor/theus-arsenal/rules/common/git-workflow.md +0 -24
- package/vendor/theus-arsenal/rules/common/hooks.md +0 -32
- package/vendor/theus-arsenal/rules/common/patterns.md +0 -31
- package/vendor/theus-arsenal/rules/common/performance.md +0 -53
- package/vendor/theus-arsenal/rules/common/security.md +0 -29
- package/vendor/theus-arsenal/rules/common/testing.md +0 -57
- package/vendor/theus-arsenal/rules/cpp/coding-style.md +0 -44
- package/vendor/theus-arsenal/rules/cpp/hooks.md +0 -39
- package/vendor/theus-arsenal/rules/cpp/patterns.md +0 -51
- package/vendor/theus-arsenal/rules/cpp/security.md +0 -51
- package/vendor/theus-arsenal/rules/cpp/testing.md +0 -44
- package/vendor/theus-arsenal/rules/csharp/coding-style.md +0 -72
- package/vendor/theus-arsenal/rules/csharp/hooks.md +0 -25
- package/vendor/theus-arsenal/rules/csharp/patterns.md +0 -50
- package/vendor/theus-arsenal/rules/csharp/security.md +0 -58
- package/vendor/theus-arsenal/rules/csharp/testing.md +0 -50
- package/vendor/theus-arsenal/rules/dart/coding-style.md +0 -159
- package/vendor/theus-arsenal/rules/dart/hooks.md +0 -68
- package/vendor/theus-arsenal/rules/dart/patterns.md +0 -261
- package/vendor/theus-arsenal/rules/dart/security.md +0 -135
- package/vendor/theus-arsenal/rules/dart/testing.md +0 -215
- package/vendor/theus-arsenal/rules/fsharp/coding-style.md +0 -112
- package/vendor/theus-arsenal/rules/fsharp/hooks.md +0 -26
- package/vendor/theus-arsenal/rules/fsharp/patterns.md +0 -111
- package/vendor/theus-arsenal/rules/fsharp/security.md +0 -76
- package/vendor/theus-arsenal/rules/fsharp/testing.md +0 -62
- package/vendor/theus-arsenal/rules/golang/coding-style.md +0 -32
- package/vendor/theus-arsenal/rules/golang/hooks.md +0 -17
- package/vendor/theus-arsenal/rules/golang/patterns.md +0 -45
- package/vendor/theus-arsenal/rules/golang/security.md +0 -34
- package/vendor/theus-arsenal/rules/golang/testing.md +0 -31
- package/vendor/theus-arsenal/rules/java/coding-style.md +0 -114
- package/vendor/theus-arsenal/rules/java/hooks.md +0 -18
- package/vendor/theus-arsenal/rules/java/patterns.md +0 -147
- package/vendor/theus-arsenal/rules/java/security.md +0 -101
- package/vendor/theus-arsenal/rules/java/testing.md +0 -133
- package/vendor/theus-arsenal/rules/kotlin/coding-style.md +0 -86
- package/vendor/theus-arsenal/rules/kotlin/hooks.md +0 -17
- package/vendor/theus-arsenal/rules/kotlin/patterns.md +0 -146
- package/vendor/theus-arsenal/rules/kotlin/security.md +0 -82
- package/vendor/theus-arsenal/rules/kotlin/testing.md +0 -128
- package/vendor/theus-arsenal/rules/nuxt/coding-style.md +0 -47
- package/vendor/theus-arsenal/rules/nuxt/hooks.md +0 -39
- package/vendor/theus-arsenal/rules/nuxt/patterns.md +0 -54
- package/vendor/theus-arsenal/rules/nuxt/security.md +0 -48
- package/vendor/theus-arsenal/rules/nuxt/testing.md +0 -49
- package/vendor/theus-arsenal/rules/php/coding-style.md +0 -40
- package/vendor/theus-arsenal/rules/php/hooks.md +0 -24
- package/vendor/theus-arsenal/rules/php/patterns.md +0 -33
- package/vendor/theus-arsenal/rules/php/security.md +0 -37
- package/vendor/theus-arsenal/rules/php/testing.md +0 -38
- package/vendor/theus-arsenal/rules/python/coding-style.md +0 -42
- package/vendor/theus-arsenal/rules/python/fastapi.md +0 -58
- package/vendor/theus-arsenal/rules/python/hooks.md +0 -19
- package/vendor/theus-arsenal/rules/python/patterns.md +0 -39
- package/vendor/theus-arsenal/rules/python/security.md +0 -30
- package/vendor/theus-arsenal/rules/python/testing.md +0 -38
- package/vendor/theus-arsenal/rules/react/coding-style.md +0 -109
- package/vendor/theus-arsenal/rules/react/hooks.md +0 -187
- package/vendor/theus-arsenal/rules/react/patterns.md +0 -194
- package/vendor/theus-arsenal/rules/react/security.md +0 -180
- package/vendor/theus-arsenal/rules/react/testing.md +0 -208
- package/vendor/theus-arsenal/rules/react-native/accessibility.md +0 -55
- package/vendor/theus-arsenal/rules/react-native/coding-style.md +0 -71
- package/vendor/theus-arsenal/rules/react-native/hooks.md +0 -28
- package/vendor/theus-arsenal/rules/react-native/patterns.md +0 -88
- package/vendor/theus-arsenal/rules/react-native/performance.md +0 -45
- package/vendor/theus-arsenal/rules/react-native/production-readiness.md +0 -51
- package/vendor/theus-arsenal/rules/react-native/security.md +0 -43
- package/vendor/theus-arsenal/rules/react-native/testing.md +0 -52
- package/vendor/theus-arsenal/rules/ruby/coding-style.md +0 -46
- package/vendor/theus-arsenal/rules/ruby/hooks.md +0 -37
- package/vendor/theus-arsenal/rules/ruby/patterns.md +0 -44
- package/vendor/theus-arsenal/rules/ruby/security.md +0 -51
- package/vendor/theus-arsenal/rules/ruby/testing.md +0 -51
- package/vendor/theus-arsenal/rules/rust/coding-style.md +0 -151
- package/vendor/theus-arsenal/rules/rust/hooks.md +0 -16
- package/vendor/theus-arsenal/rules/rust/patterns.md +0 -168
- package/vendor/theus-arsenal/rules/rust/security.md +0 -141
- package/vendor/theus-arsenal/rules/rust/testing.md +0 -154
- package/vendor/theus-arsenal/rules/swift/coding-style.md +0 -47
- package/vendor/theus-arsenal/rules/swift/hooks.md +0 -20
- package/vendor/theus-arsenal/rules/swift/patterns.md +0 -66
- package/vendor/theus-arsenal/rules/swift/security.md +0 -33
- package/vendor/theus-arsenal/rules/swift/testing.md +0 -45
- package/vendor/theus-arsenal/rules/typescript/coding-style.md +0 -199
- package/vendor/theus-arsenal/rules/typescript/hooks.md +0 -22
- package/vendor/theus-arsenal/rules/typescript/patterns.md +0 -52
- package/vendor/theus-arsenal/rules/typescript/security.md +0 -28
- package/vendor/theus-arsenal/rules/typescript/testing.md +0 -18
- package/vendor/theus-arsenal/rules/vue/coding-style.md +0 -54
- package/vendor/theus-arsenal/rules/vue/hooks.md +0 -45
- package/vendor/theus-arsenal/rules/vue/patterns.md +0 -56
- package/vendor/theus-arsenal/rules/vue/security.md +0 -46
- package/vendor/theus-arsenal/rules/vue/testing.md +0 -53
- package/vendor/theus-arsenal/rules/web/coding-style.md +0 -108
- package/vendor/theus-arsenal/rules/web/design-quality.md +0 -75
- package/vendor/theus-arsenal/rules/web/hooks.md +0 -141
- package/vendor/theus-arsenal/rules/web/patterns.md +0 -91
- package/vendor/theus-arsenal/rules/web/performance.md +0 -76
- package/vendor/theus-arsenal/rules/web/security.md +0 -69
- package/vendor/theus-arsenal/rules/web/testing.md +0 -67
- package/vendor/theus-arsenal/scripts/hooks/bash-hook-dispatcher.js +0 -192
- package/vendor/theus-arsenal/scripts/hooks/block-no-verify.js +0 -556
- package/vendor/theus-arsenal/scripts/hooks/check-console-log.js +0 -92
- package/vendor/theus-arsenal/scripts/hooks/check-hook-enabled.js +0 -16
- package/vendor/theus-arsenal/scripts/hooks/config-protection.js +0 -171
- package/vendor/theus-arsenal/scripts/hooks/design-quality-check.js +0 -132
- package/vendor/theus-arsenal/scripts/hooks/doc-file-warning.js +0 -110
- package/vendor/theus-arsenal/scripts/hooks/modo-seguro.js +0 -158
- package/vendor/theus-arsenal/scripts/hooks/notificacion-escritorio.js +0 -208
- package/vendor/theus-arsenal/scripts/hooks/plugin-hook-bootstrap.js +0 -280
- package/vendor/theus-arsenal/scripts/hooks/post-bash-command-log.js +0 -87
- package/vendor/theus-arsenal/scripts/hooks/post-bash-dispatcher.js +0 -24
- package/vendor/theus-arsenal/scripts/hooks/post-bash-pr-created.js +0 -60
- package/vendor/theus-arsenal/scripts/hooks/post-edit-accumulator.js +0 -94
- package/vendor/theus-arsenal/scripts/hooks/post-edit-console-warn.js +0 -54
- package/vendor/theus-arsenal/scripts/hooks/post-edit-format.js +0 -110
- package/vendor/theus-arsenal/scripts/hooks/post-edit-typecheck.js +0 -98
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-commit-quality.js +0 -447
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dev-server-block.js +0 -232
- package/vendor/theus-arsenal/scripts/hooks/pre-bash-dispatcher.js +0 -27
- package/vendor/theus-arsenal/scripts/hooks/pre-compact.js +0 -101
- package/vendor/theus-arsenal/scripts/hooks/pretooluse-visible-output.js +0 -49
- package/vendor/theus-arsenal/scripts/hooks/quality-gate.js +0 -168
- package/vendor/theus-arsenal/scripts/hooks/run-with-flags.js +0 -271
- package/vendor/theus-arsenal/scripts/hooks/salud-mcp.js +0 -749
- package/vendor/theus-arsenal/scripts/hooks/seguimiento-costos.js +0 -161
- package/vendor/theus-arsenal/scripts/hooks/session-end.js +0 -340
- package/vendor/theus-arsenal/scripts/hooks/session-start.js +0 -906
- package/vendor/theus-arsenal/scripts/hooks/stop-format-typecheck.js +0 -263
- package/vendor/theus-arsenal/scripts/hooks/suggest-compact.js +0 -286
- package/vendor/theus-arsenal/scripts/hooks/theus-context-monitor.js +0 -289
- package/vendor/theus-arsenal/scripts/hooks/verificacion-factual.js +0 -1278
- package/vendor/theus-arsenal/scripts/lib/agent-data-home.js +0 -96
- package/vendor/theus-arsenal/scripts/lib/cost-estimate.js +0 -66
- package/vendor/theus-arsenal/scripts/lib/hook-flags.js +0 -79
- package/vendor/theus-arsenal/scripts/lib/llm-summary.js +0 -185
- package/vendor/theus-arsenal/scripts/lib/loopback-guard.js +0 -54
- package/vendor/theus-arsenal/scripts/lib/observer-sessions.js +0 -237
- package/vendor/theus-arsenal/scripts/lib/package-manager.d.ts +0 -120
- package/vendor/theus-arsenal/scripts/lib/package-manager.js +0 -434
- package/vendor/theus-arsenal/scripts/lib/path-safety.js +0 -86
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/markdown.js +0 -285
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sdk.js +0 -238
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/server.js +0 -534
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/sessions.js +0 -274
- package/vendor/theus-arsenal/scripts/lib/plan-canvas/ui.js +0 -546
- package/vendor/theus-arsenal/scripts/lib/project-detect.js +0 -451
- package/vendor/theus-arsenal/scripts/lib/resolve-formatter.js +0 -193
- package/vendor/theus-arsenal/scripts/lib/resolve-theus-root.js +0 -101
- package/vendor/theus-arsenal/scripts/lib/session-aliases.d.ts +0 -138
- package/vendor/theus-arsenal/scripts/lib/session-aliases.js +0 -483
- package/vendor/theus-arsenal/scripts/lib/session-bridge.js +0 -155
- package/vendor/theus-arsenal/scripts/lib/session-manager.d.ts +0 -137
- package/vendor/theus-arsenal/scripts/lib/session-manager.js +0 -555
- package/vendor/theus-arsenal/scripts/lib/shell-split.js +0 -86
- package/vendor/theus-arsenal/scripts/lib/shell-substitution.js +0 -501
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/dashboard.js +0 -414
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/health.js +0 -285
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/index.js +0 -22
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/provenance.js +0 -200
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/tracker.js +0 -157
- package/vendor/theus-arsenal/scripts/lib/skill-evolution/versioning.js +0 -246
- package/vendor/theus-arsenal/scripts/lib/transcript-context.js +0 -232
- package/vendor/theus-arsenal/scripts/lib/utils.d.ts +0 -205
- package/vendor/theus-arsenal/scripts/lib/utils.js +0 -658
- package/vendor/theus-arsenal/scripts/plan-canvas.js +0 -341
- package/vendor/theus-arsenal/scripts/setup-package-manager.js +0 -46
- package/vendor/theus-arsenal/scripts/skills-health.js +0 -143
- package/vendor/theus-arsenal/skills/a11y-frontend/SKILL.md +0 -444
- package/vendor/theus-arsenal/skills/accesibilidad/SKILL.md +0 -144
- package/vendor/theus-arsenal/skills/acelerador-throughput-datos/SKILL.md +0 -72
- package/vendor/theus-arsenal/skills/agente-scraper-datos/SKILL.md +0 -771
- package/vendor/theus-arsenal/skills/analisis-plataformas-competencia/SKILL.md +0 -137
- package/vendor/theus-arsenal/skills/api-x/SKILL.md +0 -233
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/SKILL.md +0 -335
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer-loop.sh +0 -374
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/observer.md +0 -188
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/session-guardian.sh +0 -153
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/agents/start-observer.sh +0 -253
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/config.json +0 -8
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/hooks/observe.sh +0 -594
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/detect-project.sh +0 -325
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/instinct-cli.py +0 -1918
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/lib/arsenal-dir.sh +0 -23
- package/vendor/theus-arsenal/skills/aprendizaje-continuo-v2/scripts/test_parse_instinct.py +0 -1420
- package/vendor/theus-arsenal/skills/arquitectura-hexagonal/SKILL.md +0 -275
- package/vendor/theus-arsenal/skills/arquitectura-limpia-android/SKILL.md +0 -340
- package/vendor/theus-arsenal/skills/arquitectura-pipelines-recomendacion/SKILL.md +0 -112
- package/vendor/theus-arsenal/skills/atlas-datos-prediccion/SKILL.md +0 -53
- package/vendor/theus-arsenal/skills/auditoria-arquitectura-agentes/SKILL.md +0 -257
- package/vendor/theus-arsenal/skills/auditoria-produccion/SKILL.md +0 -180
- package/vendor/theus-arsenal/skills/auditoria-rutas-clic/SKILL.md +0 -243
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/SKILL.md +0 -180
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/high-score-example.md +0 -89
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/examples/low-score-example.md +0 -87
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/evaluation-criteria.md +0 -71
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/references/hook-integration.md +0 -90
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/scripts/evaluate.py +0 -409
- package/vendor/theus-arsenal/skills/autoevaluacion-agente/templates/evaluation-report.md +0 -86
- package/vendor/theus-arsenal/skills/automatizacion-ssh-netmiko/SKILL.md +0 -176
- package/vendor/theus-arsenal/skills/base-datos-pubmed/SKILL.md +0 -174
- package/vendor/theus-arsenal/skills/base-datos-uspto/SKILL.md +0 -173
- package/vendor/theus-arsenal/skills/benchmark/SKILL.md +0 -92
- package/vendor/theus-arsenal/skills/bitacora-crecimiento/SKILL.md +0 -120
- package/vendor/theus-arsenal/skills/bucle-verificacion/SKILL.md +0 -125
- package/vendor/theus-arsenal/skills/buscar-primero/SKILL.md +0 -184
- package/vendor/theus-arsenal/skills/busqueda-exa/SKILL.md +0 -111
- package/vendor/theus-arsenal/skills/cache-por-hash/SKILL.md +0 -160
- package/vendor/theus-arsenal/skills/campana-marketing/SKILL.md +0 -118
- package/vendor/theus-arsenal/skills/capacidad-producto/SKILL.md +0 -138
- package/vendor/theus-arsenal/skills/cazador-vulnerabilidades/SKILL.md +0 -104
- package/vendor/theus-arsenal/skills/compactacion-estrategica/SKILL.md +0 -115
- package/vendor/theus-arsenal/skills/comparador-baskets-prediccion/SKILL.md +0 -69
- package/vendor/theus-arsenal/skills/compras-energia/SKILL.md +0 -206
- package/vendor/theus-arsenal/skills/concurrencia-swift-6-2/SKILL.md +0 -224
- package/vendor/theus-arsenal/skills/consejo/SKILL.md +0 -201
- package/vendor/theus-arsenal/skills/construccion-harness-agentes/SKILL.md +0 -78
- package/vendor/theus-arsenal/skills/constructor-conectores/SKILL.md +0 -119
- package/vendor/theus-arsenal/skills/constructor-equipos/SKILL.md +0 -169
- package/vendor/theus-arsenal/skills/consulta-documentacion/SKILL.md +0 -92
- package/vendor/theus-arsenal/skills/consultas-genomicas-gget/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/contacto-inversores/SKILL.md +0 -95
- package/vendor/theus-arsenal/skills/corrutinas-flows-kotlin/SKILL.md +0 -284
- package/vendor/theus-arsenal/skills/creacion-video-remotion/SKILL.md +0 -46
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/3d.md +0 -86
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/animations.md +0 -29
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/charts-bar-chart.tsx +0 -173
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-typewriter.tsx +0 -100
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets/text-animations-word-highlight.tsx +0 -108
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/assets.md +0 -78
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/audio.md +0 -172
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/calculate-metadata.md +0 -104
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/can-decode.md +0 -75
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/charts.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/compositions.md +0 -146
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/display-captions.md +0 -126
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/extract-frames.md +0 -229
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/fonts.md +0 -152
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-audio-duration.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-dimensions.md +0 -68
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/get-video-duration.md +0 -58
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/gifs.md +0 -138
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/images.md +0 -130
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/import-srt-captions.md +0 -67
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/lottie.md +0 -67
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-dom-nodes.md +0 -34
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/measuring-text.md +0 -143
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/sequencing.md +0 -106
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/tailwind.md +0 -11
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/text-animations.md +0 -20
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/timing.md +0 -179
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transcribe-captions.md +0 -19
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/transitions.md +0 -122
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/trimming.md +0 -52
- package/vendor/theus-arsenal/skills/creacion-video-remotion/rules/videos.md +0 -171
- package/vendor/theus-arsenal/skills/cumplimiento-aduanero/SKILL.md +0 -270
- package/vendor/theus-arsenal/skills/cumplimiento-hipaa/SKILL.md +0 -78
- package/vendor/theus-arsenal/skills/datos-sensibles-salud/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/decimales-tokens-evm/SKILL.md +0 -128
- package/vendor/theus-arsenal/skills/decisiones-arquitectura/SKILL.md +0 -206
- package/vendor/theus-arsenal/skills/demos-ui/SKILL.md +0 -469
- package/vendor/theus-arsenal/skills/desarrollo-por-intencion/SKILL.md +0 -369
- package/vendor/theus-arsenal/skills/descubrimiento-marca/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/10_proposito-porque.md +0 -42
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/20_posicionamiento.md +0 -47
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/30_audiencia-nicho.md +0 -53
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/40_personalidad-arquetipo.md +0 -61
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/50_voz-tono.md +0 -62
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/60_narrativa-historia.md +0 -54
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/70_tension-fundador.md +0 -50
- package/vendor/theus-arsenal/skills/descubrimiento-marca/references/90_SINTESIS.md +0 -133
- package/vendor/theus-arsenal/skills/descubrimiento-plugins-laravel/SKILL.md +0 -230
- package/vendor/theus-arsenal/skills/destilado-reglas/SKILL.md +0 -263
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-rules.sh +0 -58
- package/vendor/theus-arsenal/skills/destilado-reglas/scripts/scan-skills.sh +0 -129
- package/vendor/theus-arsenal/skills/diagnostico-bgp/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/direccion-estetica/SKILL.md +0 -220
- package/vendor/theus-arsenal/skills/direccion-estetica/references/taxonomia-generos.md +0 -89
- package/vendor/theus-arsenal/skills/diseno-api/SKILL.md +0 -522
- package/vendor/theus-arsenal/skills/diseno-liquid-glass/SKILL.md +0 -282
- package/vendor/theus-arsenal/skills/e2e-escritorio-windows/SKILL.md +0 -879
- package/vendor/theus-arsenal/skills/edicion-video/SKILL.md +0 -289
- package/vendor/theus-arsenal/skills/enfoque-producto/SKILL.md +0 -91
- package/vendor/theus-arsenal/skills/entornos-flox/SKILL.md +0 -493
- package/vendor/theus-arsenal/skills/estandares-codigo/SKILL.md +0 -548
- package/vendor/theus-arsenal/skills/estandares-cpp/SKILL.md +0 -727
- package/vendor/theus-arsenal/skills/estandares-java/SKILL.md +0 -389
- package/vendor/theus-arsenal/skills/estilo-legado/SKILL.md +0 -149
- package/vendor/theus-arsenal/skills/estructura-informes-competencia/SKILL.md +0 -95
- package/vendor/theus-arsenal/skills/evaluacion-academica/SKILL.md +0 -165
- package/vendor/theus-arsenal/skills/explorador-skills/SKILL.md +0 -129
- package/vendor/theus-arsenal/skills/flujo-git/SKILL.md +0 -714
- package/vendor/theus-arsenal/skills/flujo-ingenieria-ml/SKILL.md +0 -343
- package/vendor/theus-arsenal/skills/flujo-tdd/SKILL.md +0 -584
- package/vendor/theus-arsenal/skills/forja-personas/SKILL.md +0 -298
- package/vendor/theus-arsenal/skills/forja-personas/gacha.py +0 -224
- package/vendor/theus-arsenal/skills/forja-personas/gacha.sh +0 -5
- package/vendor/theus-arsenal/skills/forja-personas/references/avatar-style.md +0 -123
- package/vendor/theus-arsenal/skills/forja-personas/references/boundary-rules.md +0 -53
- package/vendor/theus-arsenal/skills/forja-personas/references/error-handling.md +0 -53
- package/vendor/theus-arsenal/skills/forja-personas/references/identity-tension.md +0 -48
- package/vendor/theus-arsenal/skills/forja-personas/references/naming-system.md +0 -39
- package/vendor/theus-arsenal/skills/forja-personas/references/output-template.md +0 -166
- package/vendor/theus-arsenal/skills/fundamentos-animacion/SKILL.md +0 -296
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/SKILL.md +0 -156
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/generate_icons.swift +0 -258
- package/vendor/theus-arsenal/skills/generacion-iconos-ios/scripts/iconify_gen.sh +0 -235
- package/vendor/theus-arsenal/skills/gestion-excepciones-logisticas/SKILL.md +0 -208
- package/vendor/theus-arsenal/skills/gestion-transportistas/SKILL.md +0 -204
- package/vendor/theus-arsenal/skills/guia-adopcion-ml/SKILL.md +0 -64
- package/vendor/theus-arsenal/skills/harness-agente-autonomo/SKILL.md +0 -252
- package/vendor/theus-arsenal/skills/harness-eval-clinico/SKILL.md +0 -212
- package/vendor/theus-arsenal/skills/harness-evaluacion/SKILL.md +0 -296
- package/vendor/theus-arsenal/skills/harness-generador-evaluador/SKILL.md +0 -254
- package/vendor/theus-arsenal/skills/homelab-diseno-red/SKILL.md +0 -120
- package/vendor/theus-arsenal/skills/homelab-dns-pihole/SKILL.md +0 -264
- package/vendor/theus-arsenal/skills/homelab-preparacion-red/SKILL.md +0 -144
- package/vendor/theus-arsenal/skills/homelab-segmentacion-vlan/SKILL.md +0 -307
- package/vendor/theus-arsenal/skills/homelab-vpn-wireguard/SKILL.md +0 -299
- package/vendor/theus-arsenal/skills/ingenieria-agentica/SKILL.md +0 -96
- package/vendor/theus-arsenal/skills/inspeccion-animaciones-blender/SKILL.md +0 -164
- package/vendor/theus-arsenal/skills/instaladores-python/SKILL.md +0 -820
- package/vendor/theus-arsenal/skills/integracion-jira/SKILL.md +0 -307
- package/vendor/theus-arsenal/skills/inteligencia-leads/SKILL.md +0 -312
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/agente-enriquecimiento.md +0 -87
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/mapeador-mutuos.md +0 -76
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/puntuador-senales.md +0 -60
- package/vendor/theus-arsenal/skills/inteligencia-leads/agents/redactor-outreach.md +0 -102
- package/vendor/theus-arsenal/skills/inteligencia-mercados-prediccion/SKILL.md +0 -53
- package/vendor/theus-arsenal/skills/introspeccion-agente/SKILL.md +0 -150
- package/vendor/theus-arsenal/skills/inventario-skills/SKILL.md +0 -194
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/quick-diff.sh +0 -87
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/save-results.sh +0 -57
- package/vendor/theus-arsenal/skills/inventario-skills/scripts/scan.sh +0 -170
- package/vendor/theus-arsenal/skills/investigacion-mercado/SKILL.md +0 -87
- package/vendor/theus-arsenal/skills/investigacion-oraculos-prediccion/SKILL.md +0 -59
- package/vendor/theus-arsenal/skills/investigacion-profunda/SKILL.md +0 -161
- package/vendor/theus-arsenal/skills/keccak256-nodejs/SKILL.md +0 -100
- package/vendor/theus-arsenal/skills/libro-decisiones-recursivo/SKILL.md +0 -82
- package/vendor/theus-arsenal/skills/lienzo-planes/SKILL.md +0 -111
- package/vendor/theus-arsenal/skills/limpieza-configuracion/SKILL.md +0 -116
- package/vendor/theus-arsenal/skills/logistica-inversa-devoluciones/SKILL.md +0 -241
- package/vendor/theus-arsenal/skills/manejo-errores/SKILL.md +0 -375
- package/vendor/theus-arsenal/skills/materiales-inversores/SKILL.md +0 -101
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/SKILL.md +0 -170
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/forget.mjs +0 -44
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/info.mjs +0 -24
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/init.mjs +0 -152
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/list.mjs +0 -40
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/migrate.mjs +0 -214
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/resume.mjs +0 -36
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/save.mjs +0 -210
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/commands/shared.mjs +0 -402
- package/vendor/theus-arsenal/skills/memoria-por-proyecto/hooks/session-start.mjs +0 -238
- package/vendor/theus-arsenal/skills/metodologia-benchmarks/SKILL.md +0 -131
- package/vendor/theus-arsenal/skills/migraciones-bd/SKILL.md +0 -430
- package/vendor/theus-arsenal/skills/modelos-fundacionales-en-dispositivo/SKILL.md +0 -244
- package/vendor/theus-arsenal/skills/modo-seguro/SKILL.md +0 -86
- package/vendor/theus-arsenal/skills/motion-avanzado/SKILL.md +0 -592
- package/vendor/theus-arsenal/skills/motor-de-contenido/SKILL.md +0 -136
- package/vendor/theus-arsenal/skills/no-conformidades-calidad/SKILL.md +0 -249
- package/vendor/theus-arsenal/skills/onboarding-codigo/SKILL.md +0 -244
- package/vendor/theus-arsenal/skills/operaciones-agentes-empresariales/SKILL.md +0 -51
- package/vendor/theus-arsenal/skills/operaciones-conocimiento/SKILL.md +0 -159
- package/vendor/theus-arsenal/skills/operaciones-correo/SKILL.md +0 -123
- package/vendor/theus-arsenal/skills/operaciones-facturacion/SKILL.md +0 -142
- package/vendor/theus-arsenal/skills/operaciones-flujo-proyectos/SKILL.md +0 -110
- package/vendor/theus-arsenal/skills/operaciones-github/SKILL.md +0 -143
- package/vendor/theus-arsenal/skills/operaciones-google-workspace/SKILL.md +0 -100
- package/vendor/theus-arsenal/skills/operaciones-investigacion/SKILL.md +0 -124
- package/vendor/theus-arsenal/skills/operaciones-mensajes/SKILL.md +0 -103
- package/vendor/theus-arsenal/skills/operaciones-terminal/SKILL.md +0 -110
- package/vendor/theus-arsenal/skills/optimizacion-benchmark/SKILL.md +0 -70
- package/vendor/theus-arsenal/skills/optimizacion-costos-llm/SKILL.md +0 -182
- package/vendor/theus-arsenal/skills/optimizador-conexiones/SKILL.md +0 -191
- package/vendor/theus-arsenal/skills/optimizador-paralelismo/SKILL.md +0 -75
- package/vendor/theus-arsenal/skills/optimizador-prompts/SKILL.md +0 -374
- package/vendor/theus-arsenal/skills/orq-agregar-funcionalidad/SKILL.md +0 -37
- package/vendor/theus-arsenal/skills/orq-cambiar-funcionalidad/SKILL.md +0 -36
- package/vendor/theus-arsenal/skills/orq-construir-mvp/SKILL.md +0 -38
- package/vendor/theus-arsenal/skills/orq-corregir-defecto/SKILL.md +0 -36
- package/vendor/theus-arsenal/skills/orq-pipeline/SKILL.md +0 -134
- package/vendor/theus-arsenal/skills/orq-refinar-codigo/SKILL.md +0 -49
- package/vendor/theus-arsenal/skills/orquestacion-equipos-agentes/SKILL.md +0 -117
- package/vendor/theus-arsenal/skills/pagos-agentes-x402/SKILL.md +0 -237
- package/vendor/theus-arsenal/skills/patrones-angular/SKILL.md +0 -153
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-animations.md +0 -160
- package/vendor/theus-arsenal/skills/patrones-angular/references/angular-aria.md +0 -410
- package/vendor/theus-arsenal/skills/patrones-angular/references/cli.md +0 -86
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-harnesses.md +0 -59
- package/vendor/theus-arsenal/skills/patrones-angular/references/component-styling.md +0 -91
- package/vendor/theus-arsenal/skills/patrones-angular/references/components.md +0 -117
- package/vendor/theus-arsenal/skills/patrones-angular/references/creating-services.md +0 -97
- package/vendor/theus-arsenal/skills/patrones-angular/references/data-resolvers.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/define-routes.md +0 -67
- package/vendor/theus-arsenal/skills/patrones-angular/references/defining-providers.md +0 -72
- package/vendor/theus-arsenal/skills/patrones-angular/references/di-fundamentals.md +0 -120
- package/vendor/theus-arsenal/skills/patrones-angular/references/e2e-testing.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-angular/references/effects.md +0 -83
- package/vendor/theus-arsenal/skills/patrones-angular/references/hierarchical-injectors.md +0 -43
- package/vendor/theus-arsenal/skills/patrones-angular/references/host-elements.md +0 -80
- package/vendor/theus-arsenal/skills/patrones-angular/references/injection-context.md +0 -63
- package/vendor/theus-arsenal/skills/patrones-angular/references/inputs.md +0 -101
- package/vendor/theus-arsenal/skills/patrones-angular/references/linked-signal.md +0 -59
- package/vendor/theus-arsenal/skills/patrones-angular/references/loading-strategies.md +0 -61
- package/vendor/theus-arsenal/skills/patrones-angular/references/mcp.md +0 -67
- package/vendor/theus-arsenal/skills/patrones-angular/references/navigate-to-routes.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/outputs.md +0 -86
- package/vendor/theus-arsenal/skills/patrones-angular/references/reactive-forms.md +0 -122
- package/vendor/theus-arsenal/skills/patrones-angular/references/rendering-strategies.md +0 -44
- package/vendor/theus-arsenal/skills/patrones-angular/references/resource.md +0 -77
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-animations.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-angular/references/route-guards.md +0 -52
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-lifecycle.md +0 -45
- package/vendor/theus-arsenal/skills/patrones-angular/references/router-testing.md +0 -87
- package/vendor/theus-arsenal/skills/patrones-angular/references/show-routes-with-outlets.md +0 -68
- package/vendor/theus-arsenal/skills/patrones-angular/references/signal-forms.md +0 -795
- package/vendor/theus-arsenal/skills/patrones-angular/references/signals-overview.md +0 -94
- package/vendor/theus-arsenal/skills/patrones-angular/references/tailwind-css.md +0 -69
- package/vendor/theus-arsenal/skills/patrones-angular/references/template-driven-forms.md +0 -114
- package/vendor/theus-arsenal/skills/patrones-angular/references/testing-fundamentals.md +0 -65
- package/vendor/theus-arsenal/skills/patrones-animacion/SKILL.md +0 -432
- package/vendor/theus-arsenal/skills/patrones-backend/SKILL.md +0 -560
- package/vendor/theus-arsenal/skills/patrones-cdss-clinico/SKILL.md +0 -249
- package/vendor/theus-arsenal/skills/patrones-cisco-ios/SKILL.md +0 -148
- package/vendor/theus-arsenal/skills/patrones-clickhouse/SKILL.md +0 -443
- package/vendor/theus-arsenal/skills/patrones-compose-multiplatform/SKILL.md +0 -298
- package/vendor/theus-arsenal/skills/patrones-dart-flutter/SKILL.md +0 -566
- package/vendor/theus-arsenal/skills/patrones-despliegue/SKILL.md +0 -426
- package/vendor/theus-arsenal/skills/patrones-django/SKILL.md +0 -739
- package/vendor/theus-arsenal/skills/patrones-django-celery/SKILL.md +0 -456
- package/vendor/theus-arsenal/skills/patrones-docker/SKILL.md +0 -363
- package/vendor/theus-arsenal/skills/patrones-dotnet/SKILL.md +0 -321
- package/vendor/theus-arsenal/skills/patrones-emr-clinico/SKILL.md +0 -168
- package/vendor/theus-arsenal/skills/patrones-fastapi/SKILL.md +0 -513
- package/vendor/theus-arsenal/skills/patrones-frontend/SKILL.md +0 -655
- package/vendor/theus-arsenal/skills/patrones-go/SKILL.md +0 -674
- package/vendor/theus-arsenal/skills/patrones-jpa/SKILL.md +0 -156
- package/vendor/theus-arsenal/skills/patrones-kotlin/SKILL.md +0 -717
- package/vendor/theus-arsenal/skills/patrones-kotlin-exposed/SKILL.md +0 -724
- package/vendor/theus-arsenal/skills/patrones-kotlin-ktor/SKILL.md +0 -694
- package/vendor/theus-arsenal/skills/patrones-kubernetes/SKILL.md +0 -754
- package/vendor/theus-arsenal/skills/patrones-laravel/SKILL.md +0 -414
- package/vendor/theus-arsenal/skills/patrones-mcp/SKILL.md +0 -66
- package/vendor/theus-arsenal/skills/patrones-mysql/SKILL.md +0 -420
- package/vendor/theus-arsenal/skills/patrones-nestjs/SKILL.md +0 -229
- package/vendor/theus-arsenal/skills/patrones-nextjs/SKILL.md +0 -56
- package/vendor/theus-arsenal/skills/patrones-nuxt4/SKILL.md +0 -99
- package/vendor/theus-arsenal/skills/patrones-perl/SKILL.md +0 -508
- package/vendor/theus-arsenal/skills/patrones-postgres/SKILL.md +0 -141
- package/vendor/theus-arsenal/skills/patrones-prisma/SKILL.md +0 -399
- package/vendor/theus-arsenal/skills/patrones-python/SKILL.md +0 -750
- package/vendor/theus-arsenal/skills/patrones-pytorch/SKILL.md +0 -400
- package/vendor/theus-arsenal/skills/patrones-quarkus/SKILL.md +0 -729
- package/vendor/theus-arsenal/skills/patrones-react/SKILL.md +0 -339
- package/vendor/theus-arsenal/skills/patrones-react-native/SKILL.md +0 -325
- package/vendor/theus-arsenal/skills/patrones-redis/SKILL.md +0 -401
- package/vendor/theus-arsenal/skills/patrones-rust/SKILL.md +0 -504
- package/vendor/theus-arsenal/skills/patrones-springboot/SKILL.md +0 -314
- package/vendor/theus-arsenal/skills/patrones-swiftui/SKILL.md +0 -261
- package/vendor/theus-arsenal/skills/patrones-tinystruct/SKILL.md +0 -281
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/architecture.md +0 -90
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/data-handling.md +0 -60
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/database.md +0 -99
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/routing.md +0 -64
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/system-usage.md +0 -97
- package/vendor/theus-arsenal/skills/patrones-tinystruct/references/testing.md +0 -72
- package/vendor/theus-arsenal/skills/patrones-vite/SKILL.md +0 -449
- package/vendor/theus-arsenal/skills/patrones-vue/SKILL.md +0 -469
- package/vendor/theus-arsenal/skills/persistencia-actores-swift/SKILL.md +0 -148
- package/vendor/theus-arsenal/skills/pipeline-opensource/SKILL.md +0 -254
- package/vendor/theus-arsenal/skills/planificacion-demanda-inventario/SKILL.md +0 -236
- package/vendor/theus-arsenal/skills/planificador-trades-prediccion/SKILL.md +0 -60
- package/vendor/theus-arsenal/skills/plano-tecnico/SKILL.md +0 -102
- package/vendor/theus-arsenal/skills/presentaciones-html/SKILL.md +0 -189
- package/vendor/theus-arsenal/skills/presentaciones-html/STYLE_PRESETS.md +0 -330
- package/vendor/theus-arsenal/skills/presentaciones-html/animation-patterns.md +0 -122
- package/vendor/theus-arsenal/skills/presentaciones-html/html-template.md +0 -419
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/export-pdf.sh +0 -418
- package/vendor/theus-arsenal/skills/presentaciones-html/scripts/extract-pptx.py +0 -96
- package/vendor/theus-arsenal/skills/presentaciones-html/viewport-base.css +0 -153
- package/vendor/theus-arsenal/skills/presupuesto-contexto/SKILL.md +0 -263
- package/vendor/theus-arsenal/skills/procesamiento-documentos-nutrient/SKILL.md +0 -168
- package/vendor/theus-arsenal/skills/programacion-produccion/SKILL.md +0 -220
- package/vendor/theus-arsenal/skills/publicacion-cruzada/SKILL.md +0 -117
- package/vendor/theus-arsenal/skills/publicador-social/SKILL.md +0 -121
- package/vendor/theus-arsenal/skills/puerta-de-entrega/SKILL.md +0 -164
- package/vendor/theus-arsenal/skills/puerta-de-entrega/hooks/puerta-entrega.py +0 -242
- package/vendor/theus-arsenal/skills/pulir-interfaces/SKILL.md +0 -126
- package/vendor/theus-arsenal/skills/qa-navegador/SKILL.md +0 -103
- package/vendor/theus-arsenal/skills/ranking-grafo-social/SKILL.md +0 -153
- package/vendor/theus-arsenal/skills/recuperacion-iterativa/SKILL.md +0 -236
- package/vendor/theus-arsenal/skills/redaccion-articulos/SKILL.md +0 -81
- package/vendor/theus-arsenal/skills/regex-vs-llm/SKILL.md +0 -221
- package/vendor/theus-arsenal/skills/regresion-codigo-ia/SKILL.md +0 -388
- package/vendor/theus-arsenal/skills/rendimiento-react/SKILL.md +0 -567
- package/vendor/theus-arsenal/skills/revision-codigo-flutter-dart/SKILL.md +0 -442
- package/vendor/theus-arsenal/skills/revision-literatura-cientifica/SKILL.md +0 -191
- package/vendor/theus-arsenal/skills/revision-multiperspectiva/SKILL.md +0 -302
- package/vendor/theus-arsenal/skills/revision-riesgo-prediccion/SKILL.md +0 -56
- package/vendor/theus-arsenal/skills/revision-seguridad/SKILL.md +0 -505
- package/vendor/theus-arsenal/skills/revision-seguridad/cloud-infrastructure-security.md +0 -361
- package/vendor/theus-arsenal/skills/runtime-bun/SKILL.md +0 -83
- package/vendor/theus-arsenal/skills/salud-codigo-codescene/SKILL.md +0 -163
- package/vendor/theus-arsenal/skills/salud-interfaces-red/SKILL.md +0 -143
- package/vendor/theus-arsenal/skills/seguimiento-costos/SKILL.md +0 -122
- package/vendor/theus-arsenal/skills/seguridad-agentes-trading/SKILL.md +0 -145
- package/vendor/theus-arsenal/skills/seguridad-amm-defi/SKILL.md +0 -166
- package/vendor/theus-arsenal/skills/seguridad-django/SKILL.md +0 -648
- package/vendor/theus-arsenal/skills/seguridad-laravel/SKILL.md +0 -945
- package/vendor/theus-arsenal/skills/seguridad-perl/SKILL.md +0 -507
- package/vendor/theus-arsenal/skills/seguridad-quarkus/SKILL.md +0 -474
- package/vendor/theus-arsenal/skills/seguridad-springboot/SKILL.md +0 -279
- package/vendor/theus-arsenal/skills/seo/SKILL.md +0 -166
- package/vendor/theus-arsenal/skills/sistema-diseno/SKILL.md +0 -81
- package/vendor/theus-arsenal/skills/sistema-operativo-agentico/SKILL.md +0 -375
- package/vendor/theus-arsenal/skills/sistemas-latencia-critica/SKILL.md +0 -65
- package/vendor/theus-arsenal/skills/tdd-django/SKILL.md +0 -735
- package/vendor/theus-arsenal/skills/tdd-laravel/SKILL.md +0 -673
- package/vendor/theus-arsenal/skills/tdd-quarkus/SKILL.md +0 -817
- package/vendor/theus-arsenal/skills/tdd-springboot/SKILL.md +0 -165
- package/vendor/theus-arsenal/skills/testing-cpp/SKILL.md +0 -328
- package/vendor/theus-arsenal/skills/testing-csharp/SKILL.md +0 -321
- package/vendor/theus-arsenal/skills/testing-e2e/SKILL.md +0 -325
- package/vendor/theus-arsenal/skills/testing-go/SKILL.md +0 -719
- package/vendor/theus-arsenal/skills/testing-kotlin/SKILL.md +0 -829
- package/vendor/theus-arsenal/skills/testing-perl/SKILL.md +0 -479
- package/vendor/theus-arsenal/skills/testing-protocolos-di-swift/SKILL.md +0 -196
- package/vendor/theus-arsenal/skills/testing-python/SKILL.md +0 -815
- package/vendor/theus-arsenal/skills/testing-react/SKILL.md +0 -421
- package/vendor/theus-arsenal/skills/testing-rust/SKILL.md +0 -506
- package/vendor/theus-arsenal/skills/tours-de-codigo/SKILL.md +0 -252
- package/vendor/theus-arsenal/skills/traduccion-documentos-visado/SKILL.md +0 -121
- package/vendor/theus-arsenal/skills/ui-a-vue/SKILL.md +0 -141
- package/vendor/theus-arsenal/skills/validacion-config-red/SKILL.md +0 -211
- package/vendor/theus-arsenal/skills/verificacion-django/SKILL.md +0 -470
- package/vendor/theus-arsenal/skills/verificacion-factual/SKILL.md +0 -142
- package/vendor/theus-arsenal/skills/verificacion-laravel/SKILL.md +0 -184
- package/vendor/theus-arsenal/skills/verificacion-quarkus/SKILL.md +0 -485
- package/vendor/theus-arsenal/skills/verificacion-springboot/SKILL.md +0 -237
- package/vendor/theus-arsenal/skills/videodb/SKILL.md +0 -374
- package/vendor/theus-arsenal/skills/videodb/reference/api-reference.md +0 -550
- package/vendor/theus-arsenal/skills/videodb/reference/capture-reference.md +0 -407
- package/vendor/theus-arsenal/skills/videodb/reference/capture.md +0 -101
- package/vendor/theus-arsenal/skills/videodb/reference/editor.md +0 -443
- package/vendor/theus-arsenal/skills/videodb/reference/generative.md +0 -331
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream-reference.md +0 -564
- package/vendor/theus-arsenal/skills/videodb/reference/rtstream.md +0 -65
- package/vendor/theus-arsenal/skills/videodb/reference/search.md +0 -230
- package/vendor/theus-arsenal/skills/videodb/reference/streaming.md +0 -406
- package/vendor/theus-arsenal/skills/videodb/reference/use-cases.md +0 -118
- package/vendor/theus-arsenal/skills/videodb/scripts/ws_listener.py +0 -279
- package/vendor/theus-arsenal/skills/videos-manim/SKILL.md +0 -91
- package/vendor/theus-arsenal/skills/videos-manim/assets/network_graph_scene.py +0 -52
- package/vendor/theus-arsenal/skills/vigilancia-canary/SKILL.md +0 -108
- package/vendor/theus-arsenal/skills/voz-de-marca/SKILL.md +0 -106
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
# Guía de búsqueda e indexación
|
|
2
|
-
|
|
3
|
-
La búsqueda permite encontrar momentos concretos dentro de videos usando consultas en lenguaje natural, palabras clave exactas o descripciones visuales de escenas.
|
|
4
|
-
|
|
5
|
-
## Requisitos previos
|
|
6
|
-
|
|
7
|
-
Los videos **deben estar indexados** antes de poder buscarse. La indexación es una operación única por video y por tipo de índice.
|
|
8
|
-
|
|
9
|
-
## Indexación
|
|
10
|
-
|
|
11
|
-
### Índice de habla (spoken word)
|
|
12
|
-
|
|
13
|
-
Indexa el contenido de habla transcrito de un video para búsqueda semántica y de palabras clave:
|
|
14
|
-
|
|
15
|
-
```python
|
|
16
|
-
video = coll.get_video(video_id)
|
|
17
|
-
|
|
18
|
-
# force=True hace la indexación idempotente — la omite si ya está indexado
|
|
19
|
-
video.index_spoken_words(force=True)
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Esto transcribe la pista de audio y construye un índice buscable sobre el contenido hablado. Requerido para la búsqueda semántica y la de palabras clave.
|
|
23
|
-
|
|
24
|
-
**Parámetros:**
|
|
25
|
-
|
|
26
|
-
| Parámetro | Tipo | Por defecto | Descripción |
|
|
27
|
-
|-----------|------|-------------|-------------|
|
|
28
|
-
| `language_code` | `str\|None` | `None` | Código de idioma del video |
|
|
29
|
-
| `segmentation_type` | `SegmentationType` | `SegmentationType.sentence` | Tipo de segmentación (`sentence` o `llm`) |
|
|
30
|
-
| `force` | `bool` | `False` | Ponlo en `True` para omitir si ya está indexado (evita el error "already exists") |
|
|
31
|
-
| `callback_url` | `str\|None` | `None` | URL de webhook para notificación asíncrona |
|
|
32
|
-
|
|
33
|
-
### Índice de escenas
|
|
34
|
-
|
|
35
|
-
Indexa el contenido visual generando descripciones de IA de las escenas. Igual que la indexación de habla, lanza un error si ya existe un índice de escenas. Extrae el `scene_index_id` existente del mensaje de error.
|
|
36
|
-
|
|
37
|
-
```python
|
|
38
|
-
import re
|
|
39
|
-
from videodb import SceneExtractionType
|
|
40
|
-
|
|
41
|
-
try:
|
|
42
|
-
scene_index_id = video.index_scenes(
|
|
43
|
-
extraction_type=SceneExtractionType.shot_based,
|
|
44
|
-
prompt="Describe el contenido visual, los objetos, las acciones y el entorno de esta escena.",
|
|
45
|
-
)
|
|
46
|
-
except Exception as e:
|
|
47
|
-
match = re.search(r"id\s+([a-f0-9]+)", str(e))
|
|
48
|
-
if match:
|
|
49
|
-
scene_index_id = match.group(1)
|
|
50
|
-
else:
|
|
51
|
-
raise
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**Tipos de extracción:**
|
|
55
|
-
|
|
56
|
-
| Tipo | Descripción | Ideal para |
|
|
57
|
-
|------|-------------|----------|
|
|
58
|
-
| `SceneExtractionType.shot_based` | Divide por límites de plano visual | Uso general, contenido con acción |
|
|
59
|
-
| `SceneExtractionType.time_based` | Divide a intervalos fijos | Muestreo uniforme, contenido largo estático |
|
|
60
|
-
| `SceneExtractionType.transcript` | Divide según segmentos de la transcripción | Límites de escena guiados por el habla |
|
|
61
|
-
|
|
62
|
-
**Parámetros para `time_based`:**
|
|
63
|
-
|
|
64
|
-
```python
|
|
65
|
-
video.index_scenes(
|
|
66
|
-
extraction_type=SceneExtractionType.time_based,
|
|
67
|
-
extraction_config={"time": 5, "select_frames": ["first", "last"]},
|
|
68
|
-
prompt="Describe qué está pasando en esta escena.",
|
|
69
|
-
)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## Tipos de búsqueda
|
|
73
|
-
|
|
74
|
-
### Búsqueda semántica
|
|
75
|
-
|
|
76
|
-
Consultas en lenguaje natural contrastadas con el contenido hablado:
|
|
77
|
-
|
|
78
|
-
```python
|
|
79
|
-
from videodb import SearchType
|
|
80
|
-
|
|
81
|
-
results = video.search(
|
|
82
|
-
query="explicando los beneficios del machine learning",
|
|
83
|
-
search_type=SearchType.semantic,
|
|
84
|
-
)
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
Devuelve segmentos ordenados por relevancia donde el contenido hablado coincide semánticamente con la consulta.
|
|
88
|
-
|
|
89
|
-
### Búsqueda por palabra clave
|
|
90
|
-
|
|
91
|
-
Coincidencia exacta de términos en el habla transcrita:
|
|
92
|
-
|
|
93
|
-
```python
|
|
94
|
-
results = video.search(
|
|
95
|
-
query="inteligencia artificial",
|
|
96
|
-
search_type=SearchType.keyword,
|
|
97
|
-
)
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Devuelve segmentos que contienen exactamente la palabra clave o frase.
|
|
101
|
-
|
|
102
|
-
### Búsqueda de escenas
|
|
103
|
-
|
|
104
|
-
Consultas de contenido visual contrastadas con las descripciones de escenas indexadas. Requiere una llamada previa a `index_scenes()`.
|
|
105
|
-
|
|
106
|
-
`index_scenes()` devuelve un `scene_index_id`. Pásalo a `video.search()` para apuntar a un índice de escenas concreto (especialmente importante cuando un video tiene varios índices de escenas):
|
|
107
|
-
|
|
108
|
-
```python
|
|
109
|
-
from videodb import SearchType, IndexType
|
|
110
|
-
from videodb.exceptions import InvalidRequestError
|
|
111
|
-
|
|
112
|
-
# Busca usando búsqueda semántica contra el índice de escenas.
|
|
113
|
-
# Usa score_threshold para filtrar ruido de baja relevancia (recomendado: 0.3+).
|
|
114
|
-
try:
|
|
115
|
-
results = video.search(
|
|
116
|
-
query="persona escribiendo en una pizarra",
|
|
117
|
-
search_type=SearchType.semantic,
|
|
118
|
-
index_type=IndexType.scene,
|
|
119
|
-
scene_index_id=scene_index_id,
|
|
120
|
-
score_threshold=0.3,
|
|
121
|
-
)
|
|
122
|
-
shots = results.get_shots()
|
|
123
|
-
except InvalidRequestError as e:
|
|
124
|
-
if "No results found" in str(e):
|
|
125
|
-
shots = []
|
|
126
|
-
else:
|
|
127
|
-
raise
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**Notas importantes:**
|
|
131
|
-
|
|
132
|
-
- Usa `SearchType.semantic` con `index_type=IndexType.scene` — es la combinación más fiable y funciona en todos los planes.
|
|
133
|
-
- `SearchType.scene` existe pero puede no estar disponible en todos los planes (p. ej. el gratuito). Prefiere `SearchType.semantic` con `IndexType.scene`.
|
|
134
|
-
- El parámetro `scene_index_id` es opcional. Si se omite, la búsqueda corre contra todos los índices de escenas del video. Pásalo para apuntar a un índice concreto.
|
|
135
|
-
- Puedes crear varios índices de escenas por video (con distintos prompts o tipos de extracción) y buscarlos de forma independiente usando `scene_index_id`.
|
|
136
|
-
|
|
137
|
-
### Búsqueda de escenas con filtrado por metadatos
|
|
138
|
-
|
|
139
|
-
Al indexar escenas con metadatos personalizados, puedes combinar la búsqueda semántica con filtros de metadatos:
|
|
140
|
-
|
|
141
|
-
```python
|
|
142
|
-
from videodb import SearchType, IndexType
|
|
143
|
-
|
|
144
|
-
results = video.search(
|
|
145
|
-
query="una escena de persecución hábil",
|
|
146
|
-
search_type=SearchType.semantic,
|
|
147
|
-
index_type=IndexType.scene,
|
|
148
|
-
scene_index_id=scene_index_id,
|
|
149
|
-
filter=[{"camera_view": "road_ahead"}, {"action_type": "chasing"}],
|
|
150
|
-
)
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Ver el [cookbook de scene_level_metadata_indexing](https://github.com/video-db/videodb-cookbook/blob/main/quickstart/scene_level_metadata_indexing.ipynb) para un ejemplo completo de indexación con metadatos personalizados y búsqueda filtrada.
|
|
154
|
-
|
|
155
|
-
## Trabajar con los resultados
|
|
156
|
-
|
|
157
|
-
### Obtener shots
|
|
158
|
-
|
|
159
|
-
Accede a los segmentos de resultado individuales:
|
|
160
|
-
|
|
161
|
-
```python
|
|
162
|
-
results = video.search("tu consulta")
|
|
163
|
-
|
|
164
|
-
for shot in results.get_shots():
|
|
165
|
-
print(f"Video: {shot.video_id}")
|
|
166
|
-
print(f"Inicio: {shot.start:.2f}s")
|
|
167
|
-
print(f"Fin: {shot.end:.2f}s")
|
|
168
|
-
print(f"Texto: {shot.text}")
|
|
169
|
-
print("---")
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Reproducir los resultados compilados
|
|
173
|
-
|
|
174
|
-
Transmite todos los segmentos coincidentes como un único video compilado:
|
|
175
|
-
|
|
176
|
-
```python
|
|
177
|
-
results = video.search("tu consulta")
|
|
178
|
-
stream_url = results.compile()
|
|
179
|
-
results.play() # abre el stream compilado en el navegador
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Extraer clips
|
|
183
|
-
|
|
184
|
-
Descarga o transmite segmentos concretos del resultado:
|
|
185
|
-
|
|
186
|
-
```python
|
|
187
|
-
for shot in results.get_shots():
|
|
188
|
-
stream_url = shot.generate_stream()
|
|
189
|
-
print(f"Clip: {stream_url}")
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
## Búsqueda entre colecciones
|
|
193
|
-
|
|
194
|
-
Busca en todos los videos de una colección:
|
|
195
|
-
|
|
196
|
-
```python
|
|
197
|
-
coll = conn.get_collection()
|
|
198
|
-
|
|
199
|
-
# Busca en todos los videos de la colección
|
|
200
|
-
results = coll.search(
|
|
201
|
-
query="demo del producto",
|
|
202
|
-
search_type=SearchType.semantic,
|
|
203
|
-
)
|
|
204
|
-
|
|
205
|
-
for shot in results.get_shots():
|
|
206
|
-
print(f"Video: {shot.video_id} [{shot.start:.1f}s - {shot.end:.1f}s]")
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
> **Nota:** la búsqueda a nivel de colección solo soporta `SearchType.semantic`. Usar `SearchType.keyword` o `SearchType.scene` con `coll.search()` lanza `NotImplementedError`. Para búsqueda por palabra clave o de escenas, usa `video.search()` en videos individuales.
|
|
210
|
-
|
|
211
|
-
## Búsqueda + compilación
|
|
212
|
-
|
|
213
|
-
Indexa, busca y compila los segmentos coincidentes en un único stream reproducible:
|
|
214
|
-
|
|
215
|
-
```python
|
|
216
|
-
video.index_spoken_words(force=True)
|
|
217
|
-
results = video.search(query="tu consulta", search_type=SearchType.semantic)
|
|
218
|
-
stream_url = results.compile()
|
|
219
|
-
print(stream_url)
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
## Consejos
|
|
223
|
-
|
|
224
|
-
- **Indexa una vez, busca muchas**: la indexación es la operación cara. Una vez indexado, las búsquedas son rápidas.
|
|
225
|
-
- **Combina tipos de índice**: indexa habla y escenas para habilitar todos los tipos de búsqueda sobre el mismo video.
|
|
226
|
-
- **Refina las consultas**: la búsqueda semántica funciona mejor con frases descriptivas en lenguaje natural que con palabras sueltas.
|
|
227
|
-
- **Usa palabra clave para precisión**: cuando necesites coincidencias exactas, la búsqueda por palabra clave evita la deriva semántica.
|
|
228
|
-
- **Maneja "No results found"**: `video.search()` lanza `InvalidRequestError` cuando no hay coincidencias. Envuelve siempre las búsquedas en try/except y trata `"No results found"` como un conjunto vacío.
|
|
229
|
-
- **Filtra el ruido en escenas**: la búsqueda semántica de escenas puede devolver resultados poco relevantes con consultas vagas. Usa `score_threshold=0.3` (o mayor) para filtrar ruido.
|
|
230
|
-
- **Indexación idempotente**: usa `index_spoken_words(force=True)` para reindexar con seguridad. `index_scenes()` no tiene parámetro `force` — envuélvelo en try/except y extrae el `scene_index_id` existente del error con `re.search(r"id\s+([a-f0-9]+)", str(e))`.
|
|
@@ -1,406 +0,0 @@
|
|
|
1
|
-
# Streaming y reproducción
|
|
2
|
-
|
|
3
|
-
VideoDB genera streams bajo demanda y devuelve URLs compatibles con HLS que se reproducen al instante en cualquier reproductor de video estándar. Sin tiempos de renderizado ni esperas de exportación: ediciones, búsquedas y composiciones se transmiten de inmediato.
|
|
4
|
-
|
|
5
|
-
## Requisitos previos
|
|
6
|
-
|
|
7
|
-
Los videos **deben estar subidos** a una colección antes de generar streams. Para streams basados en búsqueda, el video además debe estar **indexado** (palabras habladas y/o escenas). Ver [search.md](search.md) para los detalles de indexación.
|
|
8
|
-
|
|
9
|
-
## Conceptos clave
|
|
10
|
-
|
|
11
|
-
### Generación de streams
|
|
12
|
-
|
|
13
|
-
Cada video, resultado de búsqueda y línea de tiempo en VideoDB puede producir una **URL de stream**. Esa URL apunta a un manifiesto HLS (HTTP Live Streaming) que se compila bajo demanda.
|
|
14
|
-
|
|
15
|
-
```python
|
|
16
|
-
# Desde un video
|
|
17
|
-
stream_url = video.generate_stream()
|
|
18
|
-
|
|
19
|
-
# Desde una línea de tiempo
|
|
20
|
-
stream_url = timeline.generate_stream()
|
|
21
|
-
|
|
22
|
-
# Desde resultados de búsqueda
|
|
23
|
-
stream_url = results.compile()
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Transmitir un solo video
|
|
27
|
-
|
|
28
|
-
### Reproducción básica
|
|
29
|
-
|
|
30
|
-
```python
|
|
31
|
-
import videodb
|
|
32
|
-
|
|
33
|
-
conn = videodb.connect()
|
|
34
|
-
coll = conn.get_collection()
|
|
35
|
-
video = coll.get_video("tu-video-id")
|
|
36
|
-
|
|
37
|
-
# Genera la URL del stream
|
|
38
|
-
stream_url = video.generate_stream()
|
|
39
|
-
print(f"Stream: {stream_url}")
|
|
40
|
-
|
|
41
|
-
# Abre en el navegador por defecto
|
|
42
|
-
video.play()
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Con subtítulos
|
|
46
|
-
|
|
47
|
-
```python
|
|
48
|
-
# Indexa y añade subtítulos primero
|
|
49
|
-
video.index_spoken_words(force=True)
|
|
50
|
-
stream_url = video.add_subtitle()
|
|
51
|
-
|
|
52
|
-
# La URL devuelta ya incluye los subtítulos
|
|
53
|
-
print(f"Stream con subtítulos: {stream_url}")
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Segmentos específicos
|
|
57
|
-
|
|
58
|
-
Transmite solo una porción de un video pasando una línea de tiempo de rangos de marcas de tiempo:
|
|
59
|
-
|
|
60
|
-
```python
|
|
61
|
-
# Transmite los segundos 10-30 y 60-90
|
|
62
|
-
stream_url = video.generate_stream(timeline=[(10, 30), (60, 90)])
|
|
63
|
-
print(f"Stream de segmentos: {stream_url}")
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
## Transmitir composiciones de línea de tiempo
|
|
67
|
-
|
|
68
|
-
Construye una composición multi-asset y transmítela en tiempo real:
|
|
69
|
-
|
|
70
|
-
```python
|
|
71
|
-
import videodb
|
|
72
|
-
from videodb.timeline import Timeline
|
|
73
|
-
from videodb.asset import VideoAsset, AudioAsset, ImageAsset, TextAsset, TextStyle
|
|
74
|
-
|
|
75
|
-
conn = videodb.connect()
|
|
76
|
-
coll = conn.get_collection()
|
|
77
|
-
|
|
78
|
-
video = coll.get_video(video_id)
|
|
79
|
-
music = coll.get_audio(music_id)
|
|
80
|
-
|
|
81
|
-
timeline = Timeline(conn)
|
|
82
|
-
|
|
83
|
-
# Contenido de video principal
|
|
84
|
-
timeline.add_inline(VideoAsset(asset_id=video.id))
|
|
85
|
-
|
|
86
|
-
# Superposición de música de fondo (empieza en el segundo 0)
|
|
87
|
-
timeline.add_overlay(0, AudioAsset(asset_id=music.id))
|
|
88
|
-
|
|
89
|
-
# Superposición de texto al inicio
|
|
90
|
-
timeline.add_overlay(0, TextAsset(
|
|
91
|
-
text="Demo en vivo",
|
|
92
|
-
duration=3,
|
|
93
|
-
style=TextStyle(fontsize=48, fontcolor="white", boxcolor="#000000"),
|
|
94
|
-
))
|
|
95
|
-
|
|
96
|
-
# Genera el stream compuesto
|
|
97
|
-
stream_url = timeline.generate_stream()
|
|
98
|
-
print(f"Stream compuesto: {stream_url}")
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
**Importante:** `add_inline()` solo acepta `VideoAsset`. Usa `add_overlay()` para `AudioAsset`, `ImageAsset` y `TextAsset`.
|
|
102
|
-
|
|
103
|
-
Para edición de línea de tiempo en detalle, ver [editor.md](editor.md).
|
|
104
|
-
|
|
105
|
-
## Transmitir resultados de búsqueda
|
|
106
|
-
|
|
107
|
-
Compila los resultados de búsqueda en un único stream con todos los segmentos coincidentes:
|
|
108
|
-
|
|
109
|
-
```python
|
|
110
|
-
from videodb import SearchType
|
|
111
|
-
from videodb.exceptions import InvalidRequestError
|
|
112
|
-
|
|
113
|
-
video.index_spoken_words(force=True)
|
|
114
|
-
try:
|
|
115
|
-
results = video.search("anuncio clave", search_type=SearchType.semantic)
|
|
116
|
-
|
|
117
|
-
# Compila todos los shots coincidentes en un solo stream
|
|
118
|
-
stream_url = results.compile()
|
|
119
|
-
print(f"Stream de resultados: {stream_url}")
|
|
120
|
-
|
|
121
|
-
# O reprodúcelo directamente
|
|
122
|
-
results.play()
|
|
123
|
-
except InvalidRequestError as exc:
|
|
124
|
-
if "No results found" in str(exc):
|
|
125
|
-
print("No se encontraron segmentos de anuncio coincidentes.")
|
|
126
|
-
else:
|
|
127
|
-
raise
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Transmitir coincidencias individuales
|
|
131
|
-
|
|
132
|
-
```python
|
|
133
|
-
from videodb.exceptions import InvalidRequestError
|
|
134
|
-
|
|
135
|
-
try:
|
|
136
|
-
results = video.search("demo del producto", search_type=SearchType.semantic)
|
|
137
|
-
for i, shot in enumerate(results.get_shots()):
|
|
138
|
-
stream_url = shot.generate_stream()
|
|
139
|
-
print(f"Coincidencia {i+1} [{shot.start:.1f}s-{shot.end:.1f}s]: {stream_url}")
|
|
140
|
-
except InvalidRequestError as exc:
|
|
141
|
-
if "No results found" in str(exc):
|
|
142
|
-
print("Ningún segmento de demo del producto coincidió con la consulta.")
|
|
143
|
-
else:
|
|
144
|
-
raise
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Reproducción de audio
|
|
148
|
-
|
|
149
|
-
Obtén una URL de reproducción firmada para contenido de audio:
|
|
150
|
-
|
|
151
|
-
```python
|
|
152
|
-
audio = coll.get_audio(audio_id)
|
|
153
|
-
playback_url = audio.generate_url()
|
|
154
|
-
print(f"URL de audio: {playback_url}")
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## Ejemplos de flujos completos
|
|
158
|
-
|
|
159
|
-
### Pipeline búsqueda-a-stream
|
|
160
|
-
|
|
161
|
-
Combina búsqueda, composición de línea de tiempo y streaming en un solo flujo:
|
|
162
|
-
|
|
163
|
-
```python
|
|
164
|
-
import videodb
|
|
165
|
-
from videodb import SearchType
|
|
166
|
-
from videodb.exceptions import InvalidRequestError
|
|
167
|
-
from videodb.timeline import Timeline
|
|
168
|
-
from videodb.asset import VideoAsset, TextAsset, TextStyle
|
|
169
|
-
|
|
170
|
-
conn = videodb.connect()
|
|
171
|
-
coll = conn.get_collection()
|
|
172
|
-
video = coll.get_video("tu-video-id")
|
|
173
|
-
|
|
174
|
-
video.index_spoken_words(force=True)
|
|
175
|
-
|
|
176
|
-
# Busca los momentos clave
|
|
177
|
-
queries = ["introducción", "demo principal", "preguntas y respuestas"]
|
|
178
|
-
timeline = Timeline(conn)
|
|
179
|
-
timeline_offset = 0.0
|
|
180
|
-
|
|
181
|
-
for query in queries:
|
|
182
|
-
try:
|
|
183
|
-
results = video.search(query, search_type=SearchType.semantic)
|
|
184
|
-
shots = results.get_shots()
|
|
185
|
-
except InvalidRequestError as exc:
|
|
186
|
-
if "No results found" in str(exc):
|
|
187
|
-
shots = []
|
|
188
|
-
else:
|
|
189
|
-
raise
|
|
190
|
-
|
|
191
|
-
if not shots:
|
|
192
|
-
continue
|
|
193
|
-
|
|
194
|
-
# Añade la etiqueta de sección donde empieza este bloque en la línea de tiempo compilada
|
|
195
|
-
timeline.add_overlay(timeline_offset, TextAsset(
|
|
196
|
-
text=query.title(),
|
|
197
|
-
duration=2,
|
|
198
|
-
style=TextStyle(fontsize=36, fontcolor="white", boxcolor="#222222"),
|
|
199
|
-
))
|
|
200
|
-
|
|
201
|
-
for shot in shots:
|
|
202
|
-
timeline.add_inline(
|
|
203
|
-
VideoAsset(asset_id=shot.video_id, start=shot.start, end=shot.end)
|
|
204
|
-
)
|
|
205
|
-
timeline_offset += shot.end - shot.start
|
|
206
|
-
|
|
207
|
-
stream_url = timeline.generate_stream()
|
|
208
|
-
print(f"Compilación dinámica: {stream_url}")
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Stream multi-video
|
|
212
|
-
|
|
213
|
-
Combina clips de distintos videos en un solo stream:
|
|
214
|
-
|
|
215
|
-
```python
|
|
216
|
-
import videodb
|
|
217
|
-
from videodb.timeline import Timeline
|
|
218
|
-
from videodb.asset import VideoAsset
|
|
219
|
-
|
|
220
|
-
conn = videodb.connect()
|
|
221
|
-
coll = conn.get_collection()
|
|
222
|
-
|
|
223
|
-
video_clips = [
|
|
224
|
-
{"id": "vid_001", "start": 0, "end": 15},
|
|
225
|
-
{"id": "vid_002", "start": 10, "end": 30},
|
|
226
|
-
{"id": "vid_003", "start": 5, "end": 25},
|
|
227
|
-
]
|
|
228
|
-
|
|
229
|
-
timeline = Timeline(conn)
|
|
230
|
-
for clip in video_clips:
|
|
231
|
-
timeline.add_inline(
|
|
232
|
-
VideoAsset(asset_id=clip["id"], start=clip["start"], end=clip["end"])
|
|
233
|
-
)
|
|
234
|
-
|
|
235
|
-
stream_url = timeline.generate_stream()
|
|
236
|
-
print(f"Stream multi-video: {stream_url}")
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
### Ensamblado condicional de stream
|
|
240
|
-
|
|
241
|
-
Construye un stream dinámicamente según la disponibilidad de resultados:
|
|
242
|
-
|
|
243
|
-
```python
|
|
244
|
-
import videodb
|
|
245
|
-
from videodb import SearchType
|
|
246
|
-
from videodb.exceptions import InvalidRequestError
|
|
247
|
-
from videodb.timeline import Timeline
|
|
248
|
-
from videodb.asset import VideoAsset, TextAsset, TextStyle
|
|
249
|
-
|
|
250
|
-
conn = videodb.connect()
|
|
251
|
-
coll = conn.get_collection()
|
|
252
|
-
video = coll.get_video("tu-video-id")
|
|
253
|
-
|
|
254
|
-
video.index_spoken_words(force=True)
|
|
255
|
-
|
|
256
|
-
timeline = Timeline(conn)
|
|
257
|
-
|
|
258
|
-
# Intenta encontrar contenido específico; si no, usa el video completo
|
|
259
|
-
topics = ["palabras de apertura", "análisis técnico a fondo", "cierre"]
|
|
260
|
-
|
|
261
|
-
found_any = False
|
|
262
|
-
timeline_offset = 0.0
|
|
263
|
-
for topic in topics:
|
|
264
|
-
try:
|
|
265
|
-
results = video.search(topic, search_type=SearchType.semantic)
|
|
266
|
-
shots = results.get_shots()
|
|
267
|
-
except InvalidRequestError as exc:
|
|
268
|
-
if "No results found" in str(exc):
|
|
269
|
-
shots = []
|
|
270
|
-
else:
|
|
271
|
-
raise
|
|
272
|
-
|
|
273
|
-
if shots:
|
|
274
|
-
found_any = True
|
|
275
|
-
timeline.add_overlay(timeline_offset, TextAsset(
|
|
276
|
-
text=topic.title(),
|
|
277
|
-
duration=2,
|
|
278
|
-
style=TextStyle(fontsize=32, fontcolor="white", boxcolor="#1a1a2e"),
|
|
279
|
-
))
|
|
280
|
-
for shot in shots:
|
|
281
|
-
timeline.add_inline(
|
|
282
|
-
VideoAsset(asset_id=shot.video_id, start=shot.start, end=shot.end)
|
|
283
|
-
)
|
|
284
|
-
timeline_offset += shot.end - shot.start
|
|
285
|
-
|
|
286
|
-
if found_any:
|
|
287
|
-
stream_url = timeline.generate_stream()
|
|
288
|
-
print(f"Stream curado: {stream_url}")
|
|
289
|
-
else:
|
|
290
|
-
# Recurre al stream del video completo
|
|
291
|
-
stream_url = video.generate_stream()
|
|
292
|
-
print(f"Stream del video completo: {stream_url}")
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
### Resumen de un evento en vivo
|
|
296
|
-
|
|
297
|
-
Procesa la grabación de un evento en un resumen transmitible con varias secciones:
|
|
298
|
-
|
|
299
|
-
```python
|
|
300
|
-
import videodb
|
|
301
|
-
from videodb import SearchType
|
|
302
|
-
from videodb.exceptions import InvalidRequestError
|
|
303
|
-
from videodb.timeline import Timeline
|
|
304
|
-
from videodb.asset import VideoAsset, AudioAsset, ImageAsset, TextAsset, TextStyle
|
|
305
|
-
|
|
306
|
-
conn = videodb.connect()
|
|
307
|
-
coll = conn.get_collection()
|
|
308
|
-
|
|
309
|
-
# Sube la grabación del evento
|
|
310
|
-
event = coll.upload(url="https://example.com/event-recording.mp4")
|
|
311
|
-
event.index_spoken_words(force=True)
|
|
312
|
-
|
|
313
|
-
# Genera música de fondo
|
|
314
|
-
music = coll.generate_music(
|
|
315
|
-
prompt="música corporativa de fondo animada",
|
|
316
|
-
duration=120,
|
|
317
|
-
)
|
|
318
|
-
|
|
319
|
-
# Genera la imagen del título
|
|
320
|
-
title_img = coll.generate_image(
|
|
321
|
-
prompt="tarjeta de título moderna para resumen de evento, fondo oscuro, profesional",
|
|
322
|
-
aspect_ratio="16:9",
|
|
323
|
-
)
|
|
324
|
-
|
|
325
|
-
# Construye la línea de tiempo del resumen
|
|
326
|
-
timeline = Timeline(conn)
|
|
327
|
-
timeline_offset = 0.0
|
|
328
|
-
|
|
329
|
-
# Segmentos de video principales a partir de búsquedas
|
|
330
|
-
try:
|
|
331
|
-
keynote = event.search("anuncio de la keynote", search_type=SearchType.semantic)
|
|
332
|
-
keynote_shots = keynote.get_shots()[:5]
|
|
333
|
-
except InvalidRequestError as exc:
|
|
334
|
-
if "No results found" in str(exc):
|
|
335
|
-
keynote_shots = []
|
|
336
|
-
else:
|
|
337
|
-
raise
|
|
338
|
-
if keynote_shots:
|
|
339
|
-
keynote_start = timeline_offset
|
|
340
|
-
for shot in keynote_shots:
|
|
341
|
-
timeline.add_inline(
|
|
342
|
-
VideoAsset(asset_id=shot.video_id, start=shot.start, end=shot.end)
|
|
343
|
-
)
|
|
344
|
-
timeline_offset += shot.end - shot.start
|
|
345
|
-
else:
|
|
346
|
-
keynote_start = None
|
|
347
|
-
|
|
348
|
-
try:
|
|
349
|
-
demo = event.search("demo del producto", search_type=SearchType.semantic)
|
|
350
|
-
demo_shots = demo.get_shots()[:5]
|
|
351
|
-
except InvalidRequestError as exc:
|
|
352
|
-
if "No results found" in str(exc):
|
|
353
|
-
demo_shots = []
|
|
354
|
-
else:
|
|
355
|
-
raise
|
|
356
|
-
if demo_shots:
|
|
357
|
-
demo_start = timeline_offset
|
|
358
|
-
for shot in demo_shots:
|
|
359
|
-
timeline.add_inline(
|
|
360
|
-
VideoAsset(asset_id=shot.video_id, start=shot.start, end=shot.end)
|
|
361
|
-
)
|
|
362
|
-
timeline_offset += shot.end - shot.start
|
|
363
|
-
else:
|
|
364
|
-
demo_start = None
|
|
365
|
-
|
|
366
|
-
# Superpone la imagen de la tarjeta de título
|
|
367
|
-
timeline.add_overlay(0, ImageAsset(
|
|
368
|
-
asset_id=title_img.id, width=100, height=100, x=80, y=20, duration=5
|
|
369
|
-
))
|
|
370
|
-
|
|
371
|
-
# Superpone las etiquetas de sección en los offsets correctos
|
|
372
|
-
if keynote_start is not None:
|
|
373
|
-
timeline.add_overlay(max(5, keynote_start), TextAsset(
|
|
374
|
-
text="Momentos clave de la keynote",
|
|
375
|
-
duration=3,
|
|
376
|
-
style=TextStyle(fontsize=40, fontcolor="white", boxcolor="#0d1117"),
|
|
377
|
-
))
|
|
378
|
-
if demo_start is not None:
|
|
379
|
-
timeline.add_overlay(max(5, demo_start), TextAsset(
|
|
380
|
-
text="Momentos clave de la demo",
|
|
381
|
-
duration=3,
|
|
382
|
-
style=TextStyle(fontsize=36, fontcolor="white", boxcolor="#0d1117"),
|
|
383
|
-
))
|
|
384
|
-
|
|
385
|
-
# Superpone la música de fondo
|
|
386
|
-
timeline.add_overlay(0, AudioAsset(
|
|
387
|
-
asset_id=music.id, fade_in_duration=3
|
|
388
|
-
))
|
|
389
|
-
|
|
390
|
-
# Transmite el resumen final
|
|
391
|
-
stream_url = timeline.generate_stream()
|
|
392
|
-
print(f"Resumen del evento: {stream_url}")
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
---
|
|
396
|
-
|
|
397
|
-
## Consejos
|
|
398
|
-
|
|
399
|
-
- **Compatibilidad HLS**: las URLs de stream devuelven manifiestos HLS (`.m3u8`). Funcionan nativamente en Safari, y en otros navegadores vía hls.js o librerías similares.
|
|
400
|
-
- **Compilación bajo demanda**: los streams se compilan en el servidor al solicitarlos. La primera reproducción puede tener una breve demora de compilación; las siguientes reproducciones de la misma composición se cachean.
|
|
401
|
-
- **Caché**: llamar a `video.generate_stream()` una segunda vez sin argumentos devuelve la URL de stream cacheada en lugar de recompilar.
|
|
402
|
-
- **Streams de segmentos**: `video.generate_stream(timeline=[(start, end)])` es la forma más rápida de transmitir un clip específico sin construir un objeto `Timeline` completo.
|
|
403
|
-
- **En línea vs superposición**: `add_inline()` solo acepta `VideoAsset` y coloca los assets secuencialmente en la pista principal. `add_overlay()` acepta `AudioAsset`, `ImageAsset` y `TextAsset` y los apila encima a partir de un tiempo de inicio dado.
|
|
404
|
-
- **Valores por defecto de TextStyle**: `TextStyle` usa por defecto `font='Sans'`, `fontcolor='black'`. Usa `boxcolor` (no `bgcolor`) para el color de fondo del texto.
|
|
405
|
-
- **Combina con generación**: usa `coll.generate_music(prompt, duration)` y `coll.generate_image(prompt, aspect_ratio)` para crear assets para composiciones de línea de tiempo.
|
|
406
|
-
- **Reproducción**: `.play()` abre la URL del stream en el navegador por defecto del sistema. Para uso programático, trabaja directamente con la cadena de la URL.
|