@wenathlan/saddle 1.8.17 → 2.0.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.
- package/Dockerfile +1339 -0
- package/README.md +68 -22
- package/alternatives.ts +1218 -0
- package/biome.json +153 -0
- package/boards.json +1517 -0
- package/compute.ts +3144 -0
- package/cores.json +1801 -0
- package/dist/acquisition.d.ts +359 -0
- package/dist/acquisition.d.ts.map +1 -0
- package/dist/acquisition.js +629 -0
- package/dist/acquisition.js.map +1 -0
- package/dist/alternatives.d.ts +509 -0
- package/dist/alternatives.d.ts.map +1 -0
- package/dist/alternatives.js +951 -0
- package/dist/alternatives.js.map +1 -0
- package/dist/automation.d.ts +426 -0
- package/dist/automation.d.ts.map +1 -0
- package/dist/automation.js +561 -0
- package/dist/automation.js.map +1 -0
- package/dist/browser.d.ts +562 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +1057 -0
- package/dist/browser.js.map +1 -0
- package/dist/capacitor.config.d.ts +13 -0
- package/dist/capacitor.config.d.ts.map +1 -0
- package/dist/capacitor.config.js +26 -0
- package/dist/capacitor.config.js.map +1 -0
- package/dist/cli.d.ts +17 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +111 -0
- package/dist/cli.js.map +1 -0
- package/dist/communication.d.ts +192 -0
- package/dist/communication.d.ts.map +1 -0
- package/dist/communication.js +418 -0
- package/dist/communication.js.map +1 -0
- package/dist/compute.d.ts +1161 -0
- package/dist/compute.d.ts.map +1 -0
- package/dist/compute.js +2273 -0
- package/dist/compute.js.map +1 -0
- package/dist/distribution.d.ts +529 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/distribution.js +811 -0
- package/dist/distribution.js.map +1 -0
- package/dist/execution.d.ts +530 -0
- package/dist/execution.d.ts.map +1 -0
- package/dist/execution.js +761 -0
- package/dist/execution.js.map +1 -0
- package/dist/format.d.ts +19 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +60 -0
- package/dist/format.js.map +1 -0
- package/dist/foundation.d.ts +176 -0
- package/dist/foundation.d.ts.map +1 -0
- package/dist/foundation.js +309 -0
- package/dist/foundation.js.map +1 -0
- package/dist/index.d.ts +733 -122
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1018 -122
- package/dist/index.js.map +1 -1
- package/dist/integration.d.ts +236 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +236 -0
- package/dist/integration.js.map +1 -0
- package/dist/intelligence.d.ts +94 -0
- package/dist/intelligence.d.ts.map +1 -0
- package/dist/intelligence.js +145 -0
- package/dist/intelligence.js.map +1 -0
- package/dist/isolation.d.ts +129 -0
- package/dist/isolation.d.ts.map +1 -0
- package/dist/isolation.js +96 -0
- package/dist/isolation.js.map +1 -0
- package/dist/media.d.ts +344 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +986 -0
- package/dist/media.js.map +1 -0
- package/dist/modes.d.ts +359 -0
- package/dist/modes.d.ts.map +1 -0
- package/dist/modes.js +134 -0
- package/dist/modes.js.map +1 -0
- package/dist/{library/public.d.ts → operations.d.ts} +15 -1
- package/dist/operations.d.ts.map +1 -0
- package/dist/{library/public.js → operations.js} +18 -7
- package/dist/operations.js.map +1 -0
- package/dist/orchestrator.d.ts +1339 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +4308 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/performance.d.ts +416 -0
- package/dist/performance.d.ts.map +1 -0
- package/dist/performance.js +827 -0
- package/dist/performance.js.map +1 -0
- package/dist/quantum.d.ts +810 -0
- package/dist/quantum.d.ts.map +1 -0
- package/dist/quantum.js +2073 -0
- package/dist/quantum.js.map +1 -0
- package/dist/render.d.ts +381 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +1073 -0
- package/dist/render.js.map +1 -0
- package/dist/scheduler.d.ts +596 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +1259 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/security.d.ts +501 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +1170 -0
- package/dist/security.js.map +1 -0
- package/dist/server.d.ts +21 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/{server/node.js → server.js} +16 -2
- package/dist/server.js.map +1 -0
- package/dist/tiers.d.ts +1002 -0
- package/dist/tiers.d.ts.map +1 -0
- package/dist/tiers.js +2165 -0
- package/dist/tiers.js.map +1 -0
- package/dist/virtual.d.ts +641 -0
- package/dist/virtual.d.ts.map +1 -0
- package/dist/virtual.js +1285 -0
- package/dist/virtual.js.map +1 -0
- package/dist/virtualcpu.d.ts +316 -0
- package/dist/virtualcpu.d.ts.map +1 -0
- package/dist/virtualcpu.js +1180 -0
- package/dist/virtualcpu.js.map +1 -0
- package/dist/virtualgpu.d.ts +345 -0
- package/dist/virtualgpu.d.ts.map +1 -0
- package/dist/virtualgpu.js +1000 -0
- package/dist/virtualgpu.js.map +1 -0
- package/dist/virtualization.d.ts +607 -0
- package/dist/virtualization.d.ts.map +1 -0
- package/dist/virtualization.js +1187 -0
- package/dist/virtualization.js.map +1 -0
- package/dist/virtualmemory.d.ts +818 -0
- package/dist/virtualmemory.d.ts.map +1 -0
- package/dist/virtualmemory.js +1796 -0
- package/dist/virtualmemory.js.map +1 -0
- package/dist/webscrape.d.ts +720 -0
- package/dist/webscrape.d.ts.map +1 -0
- package/dist/webscrape.js +2697 -0
- package/dist/webscrape.js.map +1 -0
- package/docker.config +769 -0
- package/docs/CONVERSA.txt +1523 -0
- package/docs/alternatives.md +499 -0
- package/docs/architecture-1.8.19.md +76 -0
- package/docs/architecture-1.8.19.mmd +33 -0
- package/docs/architecture-1.8.19.png +0 -0
- package/docs/architecture.md +355 -0
- package/docs/artifactavailability.md +6 -0
- package/docs/brancharchive-2026-08-18.md +18 -0
- package/docs/browser.md +7 -0
- package/docs/consolidation.md +70 -0
- package/docs/e2ugh-engine.md +528 -0
- package/{dist/examples/localjob.js → docs/example-localjob.ts} +3 -3
- package/{dist/examples/publicapi.js → docs/example-publicapi.ts} +2 -2
- package/docs/hardware.md +342 -0
- package/docs/optimization.md +126 -0
- package/docs/performance.md +499 -0
- package/docs/planning.1.8.18.md +94 -0
- package/docs/planning.1.8.19.md +49 -0
- package/docs/releasenotes-1.8.17.md +6 -0
- package/docs/releasenotes-1.8.18.md +32 -0
- package/docs/releasenotes-1.8.19.md +35 -0
- package/docs/research-1.8.18-isolation.md +43 -0
- package/docs/research-1.8.19-virtual-browser.md +27 -0
- package/docs/saddle.archive.1.8.17.tar.gz.gpg +0 -0
- package/docs/security.md +454 -0
- package/docs/todo-1.8.16.md +56 -1
- package/docs/todo-1.8.18.md +164 -0
- package/docs/todo-1.8.19.md +241 -0
- package/docs/viability.md +777 -0
- package/docs/virtualization.md +335 -0
- package/docs/web-duplicatecleanup.md +9 -0
- package/docs/web-ideas.md +106 -0
- package/docs/workflowimprovements-2026-08-19.md +70 -0
- package/gpumonitor.cpp +1543 -0
- package/gpus.json +2408 -0
- package/index.ts +1478 -0
- package/media.ts +1337 -0
- package/mttg.config +1549 -0
- package/orchestrator.ts +5462 -0
- package/package.json +304 -55
- package/passage.config +1331 -0
- package/performance.ts +1049 -0
- package/processors.json +2217 -0
- package/qemu.config +1062 -0
- package/qemubridge.py +1340 -0
- package/quantum.ts +2393 -0
- package/render.ts +1325 -0
- package/scheduler.ts +1600 -0
- package/security.ts +1449 -0
- package/tiers.ts +2871 -0
- package/tsconfig.json +29 -0
- package/virtualcpu.ts +1273 -0
- package/virtualgpu.ts +1181 -0
- package/virtualhardware.c +1011 -0
- package/virtualhardware.json +739 -0
- package/virtualization.ts +1628 -0
- package/virtualizationcore.cpp +4635 -0
- package/virtualmemory.ts +2303 -0
- package/vm.config.json +1910 -0
- package/{extension → web/extension}/manifest.json +1 -1
- package/web/readme.md +382 -0
- package/web/tsconfig.json +25 -0
- package/dist/adapters/forge.d.ts +0 -17
- package/dist/adapters/forge.d.ts.map +0 -1
- package/dist/adapters/forge.js +0 -19
- package/dist/adapters/forge.js.map +0 -1
- package/dist/adapters/forgejo.d.ts +0 -49
- package/dist/adapters/forgejo.d.ts.map +0 -1
- package/dist/adapters/forgejo.js +0 -8
- package/dist/adapters/forgejo.js.map +0 -1
- package/dist/adapters/github.d.ts +0 -12
- package/dist/adapters/github.d.ts.map +0 -1
- package/dist/adapters/github.js +0 -20
- package/dist/adapters/github.js.map +0 -1
- package/dist/adapters/gitlab.d.ts +0 -17
- package/dist/adapters/gitlab.d.ts.map +0 -1
- package/dist/adapters/gitlab.js +0 -10
- package/dist/adapters/gitlab.js.map +0 -1
- package/dist/adapters/huggingface.d.ts +0 -17
- package/dist/adapters/huggingface.d.ts.map +0 -1
- package/dist/adapters/huggingface.js +0 -6
- package/dist/adapters/huggingface.js.map +0 -1
- package/dist/adapters/socket.d.ts +0 -11
- package/dist/adapters/socket.d.ts.map +0 -1
- package/dist/adapters/socket.js +0 -17
- package/dist/adapters/socket.js.map +0 -1
- package/dist/adapters/transport.d.ts +0 -7
- package/dist/adapters/transport.d.ts.map +0 -1
- package/dist/adapters/transport.js +0 -36
- package/dist/adapters/transport.js.map +0 -1
- package/dist/ai/chunk.d.ts +0 -2
- package/dist/ai/chunk.d.ts.map +0 -1
- package/dist/ai/chunk.js +0 -36
- package/dist/ai/chunk.js.map +0 -1
- package/dist/ai/llmstxt.d.ts +0 -6
- package/dist/ai/llmstxt.d.ts.map +0 -1
- package/dist/ai/llmstxt.js +0 -12
- package/dist/ai/llmstxt.js.map +0 -1
- package/dist/ai/provenance.d.ts +0 -22
- package/dist/ai/provenance.d.ts.map +0 -1
- package/dist/ai/provenance.js +0 -25
- package/dist/ai/provenance.js.map +0 -1
- package/dist/ai/rag.d.ts +0 -26
- package/dist/ai/rag.d.ts.map +0 -1
- package/dist/ai/rag.js +0 -22
- package/dist/ai/rag.js.map +0 -1
- package/dist/ai/tokens.d.ts +0 -15
- package/dist/ai/tokens.d.ts.map +0 -1
- package/dist/ai/tokens.js +0 -9
- package/dist/ai/tokens.js.map +0 -1
- package/dist/api/auth.d.ts +0 -16
- package/dist/api/auth.d.ts.map +0 -1
- package/dist/api/auth.js +0 -19
- package/dist/api/auth.js.map +0 -1
- package/dist/api/contracts.d.ts +0 -28
- package/dist/api/contracts.d.ts.map +0 -1
- package/dist/api/contracts.js +0 -14
- package/dist/api/contracts.js.map +0 -1
- package/dist/api/control.d.ts +0 -10
- package/dist/api/control.d.ts.map +0 -1
- package/dist/api/control.js +0 -35
- package/dist/api/control.js.map +0 -1
- package/dist/api/http.d.ts +0 -7
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -12
- package/dist/api/http.js.map +0 -1
- package/dist/api/rate.d.ts +0 -28
- package/dist/api/rate.d.ts.map +0 -1
- package/dist/api/rate.js +0 -36
- package/dist/api/rate.js.map +0 -1
- package/dist/api/security.d.ts +0 -12
- package/dist/api/security.d.ts.map +0 -1
- package/dist/api/security.js +0 -56
- package/dist/api/security.js.map +0 -1
- package/dist/api/service.d.ts +0 -5
- package/dist/api/service.d.ts.map +0 -1
- package/dist/api/service.js +0 -70
- package/dist/api/service.js.map +0 -1
- package/dist/apps/registry.d.ts +0 -33
- package/dist/apps/registry.d.ts.map +0 -1
- package/dist/apps/registry.js +0 -24
- package/dist/apps/registry.js.map +0 -1
- package/dist/binary/archive.d.ts +0 -27
- package/dist/binary/archive.d.ts.map +0 -1
- package/dist/binary/archive.js +0 -46
- package/dist/binary/archive.js.map +0 -1
- package/dist/binary/build.d.ts +0 -29
- package/dist/binary/build.d.ts.map +0 -1
- package/dist/binary/build.js +0 -17
- package/dist/binary/build.js.map +0 -1
- package/dist/binary/transform.d.ts +0 -70
- package/dist/binary/transform.d.ts.map +0 -1
- package/dist/binary/transform.js +0 -105
- package/dist/binary/transform.js.map +0 -1
- package/dist/bot/adapter.d.ts +0 -5
- package/dist/bot/adapter.d.ts.map +0 -1
- package/dist/bot/adapter.js +0 -11
- package/dist/bot/adapter.js.map +0 -1
- package/dist/bot/bot.d.ts +0 -28
- package/dist/bot/bot.d.ts.map +0 -1
- package/dist/bot/bot.js +0 -52
- package/dist/bot/bot.js.map +0 -1
- package/dist/bot/commands.d.ts +0 -8
- package/dist/bot/commands.d.ts.map +0 -1
- package/dist/bot/commands.js +0 -19
- package/dist/bot/commands.js.map +0 -1
- package/dist/bot/permissions.d.ts +0 -13
- package/dist/bot/permissions.d.ts.map +0 -1
- package/dist/bot/permissions.js +0 -16
- package/dist/bot/permissions.js.map +0 -1
- package/dist/browser/actions.d.ts +0 -33
- package/dist/browser/actions.d.ts.map +0 -1
- package/dist/browser/actions.js +0 -44
- package/dist/browser/actions.js.map +0 -1
- package/dist/browser/agent.d.ts +0 -21
- package/dist/browser/agent.d.ts.map +0 -1
- package/dist/browser/agent.js +0 -13
- package/dist/browser/agent.js.map +0 -1
- package/dist/browser/context.d.ts +0 -43
- package/dist/browser/context.d.ts.map +0 -1
- package/dist/browser/context.js +0 -54
- package/dist/browser/context.js.map +0 -1
- package/dist/browser/fingerprint.d.ts +0 -4
- package/dist/browser/fingerprint.d.ts.map +0 -1
- package/dist/browser/fingerprint.js +0 -12
- package/dist/browser/fingerprint.js.map +0 -1
- package/dist/browser/index.d.ts +0 -11
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.js +0 -11
- package/dist/browser/index.js.map +0 -1
- package/dist/browser/playwright.d.ts +0 -11
- package/dist/browser/playwright.d.ts.map +0 -1
- package/dist/browser/playwright.js +0 -24
- package/dist/browser/playwright.js.map +0 -1
- package/dist/browser/recorder.d.ts +0 -21
- package/dist/browser/recorder.d.ts.map +0 -1
- package/dist/browser/recorder.js +0 -58
- package/dist/browser/recorder.js.map +0 -1
- package/dist/browser/session.d.ts +0 -14
- package/dist/browser/session.d.ts.map +0 -1
- package/dist/browser/session.js +0 -21
- package/dist/browser/session.js.map +0 -1
- package/dist/browser/snapshot.d.ts +0 -69
- package/dist/browser/snapshot.d.ts.map +0 -1
- package/dist/browser/snapshot.js +0 -133
- package/dist/browser/snapshot.js.map +0 -1
- package/dist/captcha/contract.d.ts +0 -35
- package/dist/captcha/contract.d.ts.map +0 -1
- package/dist/captcha/contract.js +0 -17
- package/dist/captcha/contract.js.map +0 -1
- package/dist/captcha/evidence.d.ts +0 -10
- package/dist/captcha/evidence.d.ts.map +0 -1
- package/dist/captcha/evidence.js +0 -9
- package/dist/captcha/evidence.js.map +0 -1
- package/dist/captcha/guard.d.ts +0 -23
- package/dist/captcha/guard.d.ts.map +0 -1
- package/dist/captcha/guard.js +0 -12
- package/dist/captcha/guard.js.map +0 -1
- package/dist/cli/main.d.ts +0 -4
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -46
- package/dist/cli/main.js.map +0 -1
- package/dist/core/errors.d.ts +0 -84
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -54
- package/dist/core/errors.js.map +0 -1
- package/dist/core/events.d.ts +0 -9
- package/dist/core/events.d.ts.map +0 -1
- package/dist/core/events.js +0 -21
- package/dist/core/events.js.map +0 -1
- package/dist/core/hash.d.ts +0 -10
- package/dist/core/hash.d.ts.map +0 -1
- package/dist/core/hash.js +0 -82
- package/dist/core/hash.js.map +0 -1
- package/dist/core/ids.d.ts +0 -10
- package/dist/core/ids.d.ts.map +0 -1
- package/dist/core/ids.js +0 -15
- package/dist/core/ids.js.map +0 -1
- package/dist/delivery/manifest.d.ts +0 -35
- package/dist/delivery/manifest.d.ts.map +0 -1
- package/dist/delivery/manifest.js +0 -68
- package/dist/delivery/manifest.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -6
- package/dist/deploy/index.d.ts.map +0 -1
- package/dist/deploy/index.js +0 -6
- package/dist/deploy/index.js.map +0 -1
- package/dist/dispatch/resumable.d.ts +0 -102
- package/dist/dispatch/resumable.d.ts.map +0 -1
- package/dist/dispatch/resumable.js +0 -64
- package/dist/dispatch/resumable.js.map +0 -1
- package/dist/dispatch/workflow.d.ts +0 -6
- package/dist/dispatch/workflow.d.ts.map +0 -1
- package/dist/dispatch/workflow.js +0 -37
- package/dist/dispatch/workflow.js.map +0 -1
- package/dist/domain/artifacts.d.ts +0 -12
- package/dist/domain/artifacts.d.ts.map +0 -1
- package/dist/domain/artifacts.js +0 -14
- package/dist/domain/artifacts.js.map +0 -1
- package/dist/domain/jobs.d.ts +0 -12
- package/dist/domain/jobs.d.ts.map +0 -1
- package/dist/domain/jobs.js +0 -20
- package/dist/domain/jobs.js.map +0 -1
- package/dist/domain/providers.d.ts +0 -10
- package/dist/domain/providers.d.ts.map +0 -1
- package/dist/domain/providers.js +0 -8
- package/dist/domain/providers.js.map +0 -1
- package/dist/domain/runtime.d.ts +0 -14
- package/dist/domain/runtime.d.ts.map +0 -1
- package/dist/domain/runtime.js +0 -10
- package/dist/domain/runtime.js.map +0 -1
- package/dist/domain/sessions.d.ts +0 -12
- package/dist/domain/sessions.d.ts.map +0 -1
- package/dist/domain/sessions.js +0 -57
- package/dist/domain/sessions.js.map +0 -1
- package/dist/examples/localjob.d.ts +0 -2
- package/dist/examples/localjob.d.ts.map +0 -1
- package/dist/examples/localjob.js.map +0 -1
- package/dist/examples/publicapi.d.ts +0 -2
- package/dist/examples/publicapi.d.ts.map +0 -1
- package/dist/examples/publicapi.js.map +0 -1
- package/dist/extension/build.d.ts +0 -9
- package/dist/extension/build.d.ts.map +0 -1
- package/dist/extension/build.js +0 -85
- package/dist/extension/build.js.map +0 -1
- package/dist/extension/content.d.ts +0 -6
- package/dist/extension/content.d.ts.map +0 -1
- package/dist/extension/content.js +0 -135
- package/dist/extension/content.js.map +0 -1
- package/dist/extension/index.d.ts +0 -7
- package/dist/extension/index.d.ts.map +0 -1
- package/dist/extension/index.js +0 -7
- package/dist/extension/index.js.map +0 -1
- package/dist/extension/pagebridge.d.ts +0 -6
- package/dist/extension/pagebridge.d.ts.map +0 -1
- package/dist/extension/pagebridge.js +0 -42
- package/dist/extension/pagebridge.js.map +0 -1
- package/dist/extension/permissions.d.ts +0 -26
- package/dist/extension/permissions.d.ts.map +0 -1
- package/dist/extension/permissions.js +0 -28
- package/dist/extension/permissions.js.map +0 -1
- package/dist/extension/popup.d.ts +0 -5
- package/dist/extension/popup.d.ts.map +0 -1
- package/dist/extension/popup.js +0 -26
- package/dist/extension/popup.js.map +0 -1
- package/dist/extension/protocol.d.ts +0 -58
- package/dist/extension/protocol.d.ts.map +0 -1
- package/dist/extension/protocol.js +0 -101
- package/dist/extension/protocol.js.map +0 -1
- package/dist/extension/serviceworker.d.ts +0 -25
- package/dist/extension/serviceworker.d.ts.map +0 -1
- package/dist/extension/serviceworker.js +0 -102
- package/dist/extension/serviceworker.js.map +0 -1
- package/dist/extension/worker.d.ts +0 -28
- package/dist/extension/worker.d.ts.map +0 -1
- package/dist/extension/worker.js +0 -22
- package/dist/extension/worker.js.map +0 -1
- package/dist/format/check.d.ts +0 -8
- package/dist/format/check.d.ts.map +0 -1
- package/dist/format/check.js +0 -38
- package/dist/format/check.js.map +0 -1
- package/dist/library/public.d.ts.map +0 -1
- package/dist/library/public.js.map +0 -1
- package/dist/mcp/browser.d.ts +0 -9
- package/dist/mcp/browser.d.ts.map +0 -1
- package/dist/mcp/browser.js +0 -13
- package/dist/mcp/browser.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -35
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -40
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/transport.d.ts +0 -7
- package/dist/mcp/transport.d.ts.map +0 -1
- package/dist/mcp/transport.js +0 -17
- package/dist/mcp/transport.js.map +0 -1
- package/dist/memory/bridge.d.ts +0 -14
- package/dist/memory/bridge.d.ts.map +0 -1
- package/dist/memory/bridge.js +0 -16
- package/dist/memory/bridge.js.map +0 -1
- package/dist/memory/engine.d.ts +0 -38
- package/dist/memory/engine.d.ts.map +0 -1
- package/dist/memory/engine.js +0 -109
- package/dist/memory/engine.js.map +0 -1
- package/dist/memory/modes.d.ts +0 -43
- package/dist/memory/modes.d.ts.map +0 -1
- package/dist/memory/modes.js +0 -66
- package/dist/memory/modes.js.map +0 -1
- package/dist/memory/objects.d.ts +0 -21
- package/dist/memory/objects.d.ts.map +0 -1
- package/dist/memory/objects.js +0 -20
- package/dist/memory/objects.js.map +0 -1
- package/dist/memory/planner.d.ts +0 -66
- package/dist/memory/planner.d.ts.map +0 -1
- package/dist/memory/planner.js +0 -108
- package/dist/memory/planner.js.map +0 -1
- package/dist/memory/targets.d.ts +0 -78
- package/dist/memory/targets.d.ts.map +0 -1
- package/dist/memory/targets.js +0 -29
- package/dist/memory/targets.js.map +0 -1
- package/dist/memory/transforms.d.ts +0 -19
- package/dist/memory/transforms.d.ts.map +0 -1
- package/dist/memory/transforms.js +0 -14
- package/dist/memory/transforms.js.map +0 -1
- package/dist/modes/matrix.d.ts +0 -23
- package/dist/modes/matrix.d.ts.map +0 -1
- package/dist/modes/matrix.js +0 -18
- package/dist/modes/matrix.js.map +0 -1
- package/dist/modes/modes.d.ts +0 -33
- package/dist/modes/modes.d.ts.map +0 -1
- package/dist/modes/modes.js +0 -15
- package/dist/modes/modes.js.map +0 -1
- package/dist/modes/resolve.d.ts +0 -96
- package/dist/modes/resolve.d.ts.map +0 -1
- package/dist/modes/resolve.js +0 -48
- package/dist/modes/resolve.js.map +0 -1
- package/dist/observability/metrics.d.ts +0 -14
- package/dist/observability/metrics.d.ts.map +0 -1
- package/dist/observability/metrics.js +0 -18
- package/dist/observability/metrics.js.map +0 -1
- package/dist/packager/manifest.d.ts +0 -66
- package/dist/packager/manifest.d.ts.map +0 -1
- package/dist/packager/manifest.js +0 -94
- package/dist/packager/manifest.js.map +0 -1
- package/dist/packager/publish.d.ts +0 -51
- package/dist/packager/publish.d.ts.map +0 -1
- package/dist/packager/publish.js +0 -18
- package/dist/packager/publish.js.map +0 -1
- package/dist/packager/targetcli.d.ts +0 -7
- package/dist/packager/targetcli.d.ts.map +0 -1
- package/dist/packager/targetcli.js +0 -22
- package/dist/packager/targetcli.js.map +0 -1
- package/dist/persistence/adapter.d.ts +0 -5
- package/dist/persistence/adapter.d.ts.map +0 -1
- package/dist/persistence/adapter.js +0 -11
- package/dist/persistence/adapter.js.map +0 -1
- package/dist/persistence/drizzle.d.ts +0 -2
- package/dist/persistence/drizzle.d.ts.map +0 -1
- package/dist/persistence/drizzle.js +0 -12
- package/dist/persistence/drizzle.js.map +0 -1
- package/dist/persistence/memory.d.ts +0 -2
- package/dist/persistence/memory.d.ts.map +0 -1
- package/dist/persistence/memory.js +0 -27
- package/dist/persistence/memory.js.map +0 -1
- package/dist/persistence/migrations.d.ts +0 -19
- package/dist/persistence/migrations.d.ts.map +0 -1
- package/dist/persistence/migrations.js +0 -13
- package/dist/persistence/migrations.js.map +0 -1
- package/dist/persistence/prisma.d.ts +0 -2
- package/dist/persistence/prisma.d.ts.map +0 -1
- package/dist/persistence/prisma.js +0 -25
- package/dist/persistence/prisma.js.map +0 -1
- package/dist/persistence/schema.d.ts +0 -63
- package/dist/persistence/schema.d.ts.map +0 -1
- package/dist/persistence/schema.js +0 -28
- package/dist/persistence/schema.js.map +0 -1
- package/dist/persistence/sql.d.ts +0 -3
- package/dist/persistence/sql.d.ts.map +0 -1
- package/dist/persistence/sql.js +0 -37
- package/dist/persistence/sql.js.map +0 -1
- package/dist/protocol/blocks.d.ts +0 -10
- package/dist/protocol/blocks.d.ts.map +0 -1
- package/dist/protocol/blocks.js +0 -26
- package/dist/protocol/blocks.js.map +0 -1
- package/dist/protocol/json.d.ts +0 -6
- package/dist/protocol/json.d.ts.map +0 -1
- package/dist/protocol/json.js +0 -6
- package/dist/protocol/json.js.map +0 -1
- package/dist/protocol/ndjson.d.ts +0 -3
- package/dist/protocol/ndjson.d.ts.map +0 -1
- package/dist/protocol/ndjson.js +0 -20
- package/dist/protocol/ndjson.js.map +0 -1
- package/dist/protocol/sse.d.ts +0 -7
- package/dist/protocol/sse.d.ts.map +0 -1
- package/dist/protocol/sse.js +0 -25
- package/dist/protocol/sse.js.map +0 -1
- package/dist/proxy/pool.d.ts +0 -9
- package/dist/proxy/pool.d.ts.map +0 -1
- package/dist/proxy/pool.js +0 -27
- package/dist/proxy/pool.js.map +0 -1
- package/dist/queue/idempotency.d.ts +0 -10
- package/dist/queue/idempotency.d.ts.map +0 -1
- package/dist/queue/idempotency.js +0 -13
- package/dist/queue/idempotency.js.map +0 -1
- package/dist/queue/persistent.d.ts +0 -14
- package/dist/queue/persistent.d.ts.map +0 -1
- package/dist/queue/persistent.js +0 -66
- package/dist/queue/persistent.js.map +0 -1
- package/dist/queue/queue.d.ts +0 -7
- package/dist/queue/queue.d.ts.map +0 -1
- package/dist/queue/queue.js +0 -55
- package/dist/queue/queue.js.map +0 -1
- package/dist/queue/saga.d.ts +0 -5
- package/dist/queue/saga.d.ts.map +0 -1
- package/dist/queue/saga.js +0 -20
- package/dist/queue/saga.js.map +0 -1
- package/dist/release/assets.d.ts +0 -144
- package/dist/release/assets.d.ts.map +0 -1
- package/dist/release/assets.js +0 -157
- package/dist/release/assets.js.map +0 -1
- package/dist/release/evidence.d.ts +0 -92
- package/dist/release/evidence.d.ts.map +0 -1
- package/dist/release/evidence.js +0 -148
- package/dist/release/evidence.js.map +0 -1
- package/dist/release/verify.d.ts +0 -12
- package/dist/release/verify.d.ts.map +0 -1
- package/dist/release/verify.js +0 -112
- package/dist/release/verify.js.map +0 -1
- package/dist/runners/chain.d.ts +0 -125
- package/dist/runners/chain.d.ts.map +0 -1
- package/dist/runners/chain.js +0 -95
- package/dist/runners/chain.js.map +0 -1
- package/dist/runners/health.d.ts +0 -36
- package/dist/runners/health.d.ts.map +0 -1
- package/dist/runners/health.js +0 -26
- package/dist/runners/health.js.map +0 -1
- package/dist/runners/heartbeat.d.ts +0 -23
- package/dist/runners/heartbeat.d.ts.map +0 -1
- package/dist/runners/heartbeat.js +0 -29
- package/dist/runners/heartbeat.js.map +0 -1
- package/dist/runners/inprocess.d.ts +0 -17
- package/dist/runners/inprocess.d.ts.map +0 -1
- package/dist/runners/inprocess.js +0 -20
- package/dist/runners/inprocess.js.map +0 -1
- package/dist/runners/scheduler.d.ts +0 -5
- package/dist/runners/scheduler.d.ts.map +0 -1
- package/dist/runners/scheduler.js +0 -19
- package/dist/runners/scheduler.js.map +0 -1
- package/dist/runtime/abort.d.ts +0 -8
- package/dist/runtime/abort.d.ts.map +0 -1
- package/dist/runtime/abort.js +0 -13
- package/dist/runtime/abort.js.map +0 -1
- package/dist/runtime/compatibility.d.ts +0 -37
- package/dist/runtime/compatibility.d.ts.map +0 -1
- package/dist/runtime/compatibility.js +0 -10
- package/dist/runtime/compatibility.js.map +0 -1
- package/dist/runtime/detect.d.ts +0 -13
- package/dist/runtime/detect.d.ts.map +0 -1
- package/dist/runtime/detect.js +0 -18
- package/dist/runtime/detect.js.map +0 -1
- package/dist/runtime/engine.d.ts +0 -20
- package/dist/runtime/engine.d.ts.map +0 -1
- package/dist/runtime/engine.js +0 -61
- package/dist/runtime/engine.js.map +0 -1
- package/dist/runtime/retry.d.ts +0 -19
- package/dist/runtime/retry.d.ts.map +0 -1
- package/dist/runtime/retry.js +0 -54
- package/dist/runtime/retry.js.map +0 -1
- package/dist/runtime/worker.d.ts +0 -10
- package/dist/runtime/worker.d.ts.map +0 -1
- package/dist/runtime/worker.js +0 -25
- package/dist/runtime/worker.js.map +0 -1
- package/dist/scrape/cache.d.ts +0 -45
- package/dist/scrape/cache.d.ts.map +0 -1
- package/dist/scrape/cache.js +0 -45
- package/dist/scrape/cache.js.map +0 -1
- package/dist/scrape/crawl.d.ts +0 -47
- package/dist/scrape/crawl.d.ts.map +0 -1
- package/dist/scrape/crawl.js +0 -114
- package/dist/scrape/crawl.js.map +0 -1
- package/dist/scrape/extract.d.ts +0 -63
- package/dist/scrape/extract.d.ts.map +0 -1
- package/dist/scrape/extract.js +0 -47
- package/dist/scrape/extract.js.map +0 -1
- package/dist/scrape/normalize.d.ts +0 -52
- package/dist/scrape/normalize.d.ts.map +0 -1
- package/dist/scrape/normalize.js +0 -102
- package/dist/scrape/normalize.js.map +0 -1
- package/dist/scrape/robots.d.ts +0 -37
- package/dist/scrape/robots.d.ts.map +0 -1
- package/dist/scrape/robots.js +0 -71
- package/dist/scrape/robots.js.map +0 -1
- package/dist/scrape/schema.d.ts +0 -23
- package/dist/scrape/schema.d.ts.map +0 -1
- package/dist/scrape/schema.js +0 -92
- package/dist/scrape/schema.js.map +0 -1
- package/dist/scrape/scraper.d.ts +0 -6
- package/dist/scrape/scraper.d.ts.map +0 -1
- package/dist/scrape/scraper.js +0 -46
- package/dist/scrape/scraper.js.map +0 -1
- package/dist/scrape/semantic.d.ts +0 -25
- package/dist/scrape/semantic.d.ts.map +0 -1
- package/dist/scrape/semantic.js +0 -27
- package/dist/scrape/semantic.js.map +0 -1
- package/dist/server/node.d.ts +0 -7
- package/dist/server/node.d.ts.map +0 -1
- package/dist/server/node.js.map +0 -1
- package/dist/sessions/file.d.ts +0 -25
- package/dist/sessions/file.d.ts.map +0 -1
- package/dist/sessions/file.js +0 -13
- package/dist/sessions/file.js.map +0 -1
- package/dist/sessions/replay.d.ts +0 -9
- package/dist/sessions/replay.d.ts.map +0 -1
- package/dist/sessions/replay.js +0 -70
- package/dist/sessions/replay.js.map +0 -1
- package/dist/sessions/store.d.ts +0 -25
- package/dist/sessions/store.d.ts.map +0 -1
- package/dist/sessions/store.js +0 -13
- package/dist/sessions/store.js.map +0 -1
- package/dist/storage/adapter.d.ts +0 -5
- package/dist/storage/adapter.d.ts.map +0 -1
- package/dist/storage/adapter.js +0 -11
- package/dist/storage/adapter.js.map +0 -1
- package/dist/storage/cache.d.ts +0 -23
- package/dist/storage/cache.d.ts.map +0 -1
- package/dist/storage/cache.js +0 -79
- package/dist/storage/cache.js.map +0 -1
- package/dist/storage/checksum.d.ts +0 -3
- package/dist/storage/checksum.d.ts.map +0 -1
- package/dist/storage/checksum.js +0 -19
- package/dist/storage/checksum.js.map +0 -1
- package/dist/storage/chunked.d.ts +0 -21
- package/dist/storage/chunked.d.ts.map +0 -1
- package/dist/storage/chunked.js +0 -67
- package/dist/storage/chunked.js.map +0 -1
- package/dist/storage/content.d.ts +0 -24
- package/dist/storage/content.d.ts.map +0 -1
- package/dist/storage/content.js +0 -44
- package/dist/storage/content.js.map +0 -1
- package/dist/storage/filehosting.d.ts +0 -2
- package/dist/storage/filehosting.d.ts.map +0 -1
- package/dist/storage/filehosting.js +0 -24
- package/dist/storage/filehosting.js.map +0 -1
- package/dist/storage/githubcontents.d.ts +0 -2
- package/dist/storage/githubcontents.d.ts.map +0 -1
- package/dist/storage/githubcontents.js +0 -29
- package/dist/storage/githubcontents.js.map +0 -1
- package/dist/storage/index.d.ts +0 -12
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -12
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/local.d.ts +0 -2
- package/dist/storage/local.d.ts.map +0 -1
- package/dist/storage/local.js +0 -72
- package/dist/storage/local.js.map +0 -1
- package/dist/storage/memory.d.ts +0 -6
- package/dist/storage/memory.d.ts.map +0 -1
- package/dist/storage/memory.js +0 -36
- package/dist/storage/memory.js.map +0 -1
- package/dist/storage/pool.d.ts +0 -95
- package/dist/storage/pool.d.ts.map +0 -1
- package/dist/storage/pool.js +0 -202
- package/dist/storage/pool.js.map +0 -1
- package/dist/storage/s3compatible.d.ts +0 -3
- package/dist/storage/s3compatible.d.ts.map +0 -1
- package/dist/storage/s3compatible.js +0 -70
- package/dist/storage/s3compatible.js.map +0 -1
- package/dist/storage/sync.d.ts +0 -47
- package/dist/storage/sync.d.ts.map +0 -1
- package/dist/storage/sync.js +0 -75
- package/dist/storage/sync.js.map +0 -1
- package/dist/surfaces/adapters.d.ts +0 -97
- package/dist/surfaces/adapters.d.ts.map +0 -1
- package/dist/surfaces/adapters.js +0 -50
- package/dist/surfaces/adapters.js.map +0 -1
- package/dist/surfaces/controls.d.ts +0 -18
- package/dist/surfaces/controls.d.ts.map +0 -1
- package/dist/surfaces/controls.js +0 -45
- package/dist/surfaces/controls.js.map +0 -1
- package/dist/surfaces/manifest.d.ts +0 -68
- package/dist/surfaces/manifest.d.ts.map +0 -1
- package/dist/surfaces/manifest.js +0 -42
- package/dist/surfaces/manifest.js.map +0 -1
- package/dist/surfaces/n8n.d.ts +0 -25
- package/dist/surfaces/n8n.d.ts.map +0 -1
- package/dist/surfaces/n8n.js +0 -31
- package/dist/surfaces/n8n.js.map +0 -1
- package/dist/surfaces/operations.d.ts +0 -32
- package/dist/surfaces/operations.d.ts.map +0 -1
- package/dist/surfaces/operations.js +0 -53
- package/dist/surfaces/operations.js.map +0 -1
- package/dist/surfaces/requirements.d.ts +0 -29
- package/dist/surfaces/requirements.d.ts.map +0 -1
- package/dist/surfaces/requirements.js +0 -50
- package/dist/surfaces/requirements.js.map +0 -1
- package/dist/surfaces/targets.d.ts +0 -196
- package/dist/surfaces/targets.d.ts.map +0 -1
- package/dist/surfaces/targets.js +0 -27
- package/dist/surfaces/targets.js.map +0 -1
- package/dist/webhook/delivery.d.ts +0 -18
- package/dist/webhook/delivery.d.ts.map +0 -1
- package/dist/webhook/delivery.js +0 -36
- package/dist/webhook/delivery.js.map +0 -1
- package/dist/webhook/receiver.d.ts +0 -26
- package/dist/webhook/receiver.d.ts.map +0 -1
- package/dist/webhook/receiver.js +0 -24
- package/dist/webhook/receiver.js.map +0 -1
- package/dist/webhook/signature.d.ts +0 -3
- package/dist/webhook/signature.d.ts.map +0 -1
- package/dist/webhook/signature.js +0 -7
- package/dist/webhook/signature.js.map +0 -1
- package/dist/workflow/manifest.d.ts +0 -22
- package/dist/workflow/manifest.d.ts.map +0 -1
- package/dist/workflow/manifest.js +0 -21
- package/dist/workflow/manifest.js.map +0 -1
- package/dist/workflow/registry.d.ts +0 -7
- package/dist/workflow/registry.d.ts.map +0 -1
- package/dist/workflow/registry.js +0 -18
- package/dist/workflow/registry.js.map +0 -1
- package/dist/workflow/templates.d.ts +0 -6
- package/dist/workflow/templates.d.ts.map +0 -1
- package/dist/workflow/templates.js +0 -18
- package/dist/workflow/templates.js.map +0 -1
- package/dist/workflow/triggers.d.ts +0 -64
- package/dist/workflow/triggers.d.ts.map +0 -1
- package/dist/workflow/triggers.js +0 -99
- package/dist/workflow/triggers.js.map +0 -1
- package/docs/logs/.gitkeep +0 -0
- package/docs/plans/00.index.md +0 -50
- package/docs/plans/01.architecture.md +0 -86
- package/docs/plans/02.research.computer.use.md +0 -58
- package/docs/plans/03.research.captcha.bypass.md +0 -68
- package/docs/plans/04.research.sandbox.ai.md +0 -52
- package/docs/plans/05.capture.platform.md +0 -57
- package/docs/plans/06.dependencies.md +0 -97
- package/docs/plans/07.captcha.test.page.md +0 -41
- package/docs/plans/08.production.infra.md +0 -70
- package/docs/plans/09.database.schema.md +0 -121
- package/docs/plans/10.cloudinary.storage.md +0 -57
- package/docs/plans/11.movement.logs.json.md +0 -72
- package/docs/plans/12.research.atlas.agent.browser.md +0 -79
- package/docs/plans/13.research.anti.detection.md +0 -898
- package/docs/plans/14.research.proxy.md +0 -1495
- package/docs/plans/15.research.retry.rate.limit.md +0 -1958
- package/docs/plans/16.research.crawling.md +0 -1417
- package/docs/plans/17.research.caching.md +0 -1610
- package/docs/plans/18.research.content.extraction.md +0 -1952
- package/docs/plans/19.research.errors.events.md +0 -1523
- package/docs/plans/20.research.zod.validation.md +0 -1350
- package/docs/plans/21.research.batch.concurrency.md +0 -1888
- package/docs/plans/22.research.universal.runtime.md +0 -944
- package/docs/plans/23.research.ai.integration.md +0 -1465
- package/docs/plans/24.research.memory.persistence.md +0 -1979
- package/docs/plans/25.research.server.api.md +0 -342
- package/docs/plans/26.research.compilation.md +0 -249
- package/docs/plans/27.research.html.parsing.md +0 -251
- package/docs/plans/28.action.plan.md +0 -50
- package/docs/plans/29.api.reference.md +0 -174
- package/docs/plans/30.architecture.plan.md +0 -94
- package/docs/plans/31.auditoria.dados.md +0 -163
- package/docs/plans/32.bots.automacao.computacional.md +0 -214
- package/docs/plans/33.bots.codigo.revisao.md +0 -220
- package/docs/plans/34.bots.seguranca.cicd.md +0 -366
- package/docs/plans/35.comparativo.concorrencia.md +0 -464
- package/docs/plans/36.computational.memory.md +0 -340
- package/docs/plans/37.deploystrategy.md +0 -394
- package/docs/plans/38.flow.md +0 -155
- package/docs/plans/39.multi.platform.bot.md +0 -252
- package/docs/plans/40.npm.publish.md +0 -250
- package/docs/plans/41.o.que.falta.md +0 -407
- package/docs/plans/42.pesquisa.concorrencia.md +0 -721
- package/docs/plans/43.plan.universal.architecture.md +0 -496
- package/docs/plans/44.reference.md +0 -100
- package/docs/plans/45.robotarchitecture.md +0 -237
- package/docs/plans/46.scdnintegration.md +0 -284
- package/docs/plans/47.multiforge.readme.md +0 -129
- package/docs/plans/48.theory.v4.repo.os.md +0 -152
- package/docs/plans/49.third.party.infra.md +0 -12
- package/docs/plans/50.file.as.compute.md +0 -39
- package/docs/plans/51.architecture.virtual.processor.md +0 -80
- package/docs/plans/52.manifesto.v8.md +0 -11
- package/docs/plans/58.cdn.list.md +0 -23
- package/docs/plans/59.sql.frameworks.md +0 -33
- package/docs/plans/60.sql.thirdparty.md +0 -26
- package/docs/plans/61.objective.multiforge.md +0 -63
- package/docs/plans/62.huggingface.upload.md +0 -26
- package/docs/plans/63.kaggle.upload.md +0 -24
- package/docs/plans/64.npm.storage.md +0 -30
- package/docs/plans/65.rclone.terabox.md +0 -32
- package/docs/plans/66.buckets.and.models.todo.md +0 -14
- package/docs/plans/67.database.todo.md +0 -13
- package/docs/plans/68.deploy.packages.todo.md +0 -12
- package/docs/plans/69.report.human.operator.md +0 -133
- package/docs/plans/70.report.brain2qwerty.ems.md +0 -135
- package/docs/plans/71.report.hd.infinito.vram.md +0 -155
- package/docs/plans/72.plan.hd.infinito.node.md +0 -146
- package/docs/plans/73.plan.scifi.repos.md +0 -125
- package/docs/plans/74.000.manifesto.v8.flat.2..md +0 -11
- package/docs/plans/README.md +0 -489
- package/docs/plans/aggregate_platforms.mjs +0 -146
- package/docs/plans/examplesession.json +0 -36
- package/docs/plans/missing-facts.md +0 -192
- package/docs/plans/models.md +0 -64
- package/docs/plans/organize.cjs +0 -270
- package/docs/plans/platforms.md +0 -2887
- package/docs/plans/sites.md +0 -31322
- package/docs/sources/farm.py +0 -117
- package/docs/sources/html/saddle1.html +0 -132
- package/docs/sources/html/saddle2.html +0 -157
- package/docs/sources/html/saddle3.html +0 -119
- package/docs/sources/html/saddle4.html +0 -144
- package/docs/sources/html/saddle5.html +0 -72
- package/docs/sources/html/saddle6.html +0 -171
- package/docs/sources/html/saddle7.html +0 -236
- package/docs/sources/saddle.ts +0 -74
- package/docs/sources/schema.prisma +0 -88
- package/docs/sources/script.sh +0 -64
- package/docs/sources/workflows.yml +0 -458
- package/docs/talks1/_body.txt +0 -14
- package/docs/talks1/_index.md +0 -15
- package/docs/talks1/_screenshot.png +0 -0
- package/docs/talks1/assistant-01.md +0 -5
- package/docs/talks1/assistant-02.md +0 -5
- package/docs/talks1/assistant-03.md +0 -531
- package/docs/talks1/assistant-04.md +0 -26
- package/docs/talks1/assistant-05.md +0 -774
- package/docs/talks1/assistant-06.md +0 -1718
- package/docs/talks1/scrape-share.cjs +0 -185
- package/docs/talks1/scrape-share.ts +0 -183
- package/docs/talks1/user-01.md +0 -3
- package/docs/talks1/user-02.md +0 -3
- package/docs/talks1/user-03.md +0 -88
- package/docs/talks1/user-04.md +0 -3
- package/docs/talks1/user-05.md +0 -3
- package/docs/talks1/user-06.md +0 -88
- package/docs/talks1/user-07.md +0 -88
- package/docs/talks2/_body.txt +0 -14
- package/docs/talks2/_index.md +0 -16
- package/docs/talks2/_screenshot.png +0 -0
- package/docs/talks2/assistant-01.md +0 -5
- package/docs/talks2/assistant-02.md +0 -5
- package/docs/talks2/assistant-03.md +0 -424
- package/docs/talks2/assistant-04.md +0 -598
- package/docs/talks2/assistant-05.md +0 -1280
- package/docs/talks2/assistant-06.md +0 -1227
- package/docs/talks2/assistant-07.md +0 -1252
- package/docs/talks2/user-01.md +0 -3
- package/docs/talks2/user-02.md +0 -3
- package/docs/talks2/user-03.md +0 -88
- package/docs/talks2/user-04.md +0 -88
- package/docs/talks2/user-05.md +0 -88
- package/docs/talks2/user-06.md +0 -88
- package/docs/talks2/user-07.md +0 -3
- package/docs/talks3/_body.txt +0 -467
- package/docs/talks3/_index.md +0 -10
- package/docs/talks3/_screenshot.png +0 -0
- package/docs/talks3/assistant-01.md +0 -417
- package/docs/talks3/assistant-02.md +0 -417
- package/docs/talks3/assistant-03.md +0 -29
- package/docs/talks3/assistant-04.md +0 -727
- package/docs/talks3/user-01.md +0 -88
- package/docs/talks3/user-02.md +0 -88
- package/docs/talks3/user-03.md +0 -3
- package/docs/talks3/user-04.md +0 -3
- package/docs/talks4/_body.txt +0 -14
- package/docs/talks4/_index.md +0 -12
- package/docs/talks4/_screenshot.png +0 -0
- package/docs/talks4/assistant-01.md +0 -5
- package/docs/talks4/assistant-02.md +0 -5
- package/docs/talks4/assistant-03.md +0 -35
- package/docs/talks4/assistant-04.md +0 -512
- package/docs/talks4/assistant-05.md +0 -599
- package/docs/talks4/user-01.md +0 -3
- package/docs/talks4/user-02.md +0 -3
- package/docs/talks4/user-03.md +0 -88
- package/docs/talks4/user-04.md +0 -88
- package/docs/talks4/user-05.md +0 -7
- package/docs/talks5/_body.txt +0 -14
- package/docs/talks5/_index.md +0 -13
- package/docs/talks5/_screenshot.png +0 -0
- package/docs/talks5/assistant-01.md +0 -5
- package/docs/talks5/assistant-02.md +0 -5
- package/docs/talks5/assistant-03.md +0 -690
- package/docs/talks5/assistant-04.md +0 -758
- package/docs/talks5/assistant-05.md +0 -974
- package/docs/talks5/user-01.md +0 -3
- package/docs/talks5/user-02.md +0 -3
- package/docs/talks5/user-03.md +0 -105
- package/docs/talks5/user-04.md +0 -105
- package/docs/talks5/user-05.md +0 -63
- package/docs/talks5/user-06.md +0 -105
- package/docs/talks6/_body.txt +0 -14
- package/docs/talks6/_index.md +0 -9
- package/docs/talks6/_screenshot.png +0 -0
- package/docs/talks6/assistant-01.md +0 -5
- package/docs/talks6/assistant-02.md +0 -5
- package/docs/talks6/assistant-03.md +0 -1499
- package/docs/talks6/user-01.md +0 -3
- package/docs/talks6/user-02.md +0 -3
- package/docs/talks6/user-03.md +0 -88
- package/docs/talks6/user-04.md +0 -88
- package/docs/talks7/_body.txt +0 -14
- package/docs/talks7/_index.md +0 -10
- package/docs/talks7/_screenshot.png +0 -0
- package/docs/talks7/assistant-01.md +0 -5
- package/docs/talks7/assistant-02.md +0 -5
- package/docs/talks7/assistant-03.md +0 -523
- package/docs/talks7/assistant-04.md +0 -617
- package/docs/talks7/user-01.md +0 -3
- package/docs/talks7/user-02.md +0 -3
- package/docs/talks7/user-03.md +0 -105
- package/docs/talks7/user-04.md +0 -67
- package/docs/talks8/conversa1.txt +0 -1322
- package/docs/talks8/conversa2.txt +0 -237
- package/docs/talks9/Beyond the Obvious_ 50 Plataformas Auto-Hospedadas de Forja de C/303/263digo para Al/303/251m de Gitea e GitLab.md" +0 -174
- package/docs/talks9/De NPM a Multi-Linguagem_ Uma Arquitetura T/303/251cnica para a Execu/303/247/303/243o Integrada de C/303/263digo no Ecossistema Node.js.md" +0 -59
- package/docs/talks9/De NPM a VMs Virtuais_ Uma An/303/241lise Arquitet/303/264nica para a Realiza/303/247/303/243o do Ciclo de Vida do Projeto SADDLE.md" +0 -91
- package/docs/talks9/Mapeamento da Engrenagem Computacional_ Uma Arquitetura para Execu/303/247/303/243o Isolada e Persist/303/252ncia em Ambientes Distribu/303/255dos.md" +0 -116
- package/docs/talks9/O Cen/303/241rio Pr/303/241tico do SADDLE_ Uma An/303/241lise de Viabilidade e Modelo de Ciclo de Vida Integrado.md" +0 -128
- package/docs/talks9/README (2).md +0 -489
- package/docs/talks9/README.md +0 -198
- package/docs/talks9/Viabilidade do Saddle_ Uma An/303/241lise T/303/251cnica da Transforma/303/247/303/243o de Armazenamento Remoto em Mem/303/263ria Computacional.md" +0 -80
- package/docs/talks9/conversa.txt +0 -544
- package/docs/talks9/other (2).md +0 -39
- package/docs/talks9/other.md +0 -57
- package/docs/talks9/outro.txt +0 -24
- /package/{extension/README.md → docs/extension.md} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* webhook signatures use hmac sha256 and keep secrets outside serialized events.
|
|
3
|
-
*/
|
|
4
|
-
import { constanttimeequal, hmacsha256 } from "../core/hash.js";
|
|
5
|
-
export function webhooksig(payload, secret) { return hmacsha256(typeof payload === "string" ? payload : JSON.stringify(payload), secret); }
|
|
6
|
-
export function webhookverify(payload, signature, secret) { return constanttimeequal(webhooksig(payload, secret), signature); }
|
|
7
|
-
//# sourceMappingURL=signature.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../webhook/signature.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,UAAU,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,UAAU,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3I,MAAM,UAAU,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,OAAO,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow manifests describe the same job surface for different forge runtimes.
|
|
3
|
-
*/
|
|
4
|
-
export declare const forgeprofiles: readonly string[];
|
|
5
|
-
export declare function workflowmanifest(options?: {}): {
|
|
6
|
-
name: any;
|
|
7
|
-
command: any;
|
|
8
|
-
trigger: any;
|
|
9
|
-
inputs: any;
|
|
10
|
-
platforms: any;
|
|
11
|
-
environment: any;
|
|
12
|
-
artifacts: any;
|
|
13
|
-
timeoutminutes: any;
|
|
14
|
-
publicrunner: any;
|
|
15
|
-
};
|
|
16
|
-
export declare function workflowinputs(manifest: any): {
|
|
17
|
-
name: any;
|
|
18
|
-
command: any;
|
|
19
|
-
timeoutminutes: any;
|
|
20
|
-
artifacts: any;
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../workflow/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,aAAa,mBAAwE,CAAC;AAEnG,wBAAgB,gBAAgB,CAAC,OAAO,KAAK;IAGzC,IAAI;IACJ,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,WAAW;IACX,SAAS;IACT,cAAc;IACd,YAAY;EAEf;AAED,wBAAgB,cAAc,CAAC,QAAQ,KAAA;IAAa,IAAI;IAAiB,OAAO;IAAoB,cAAc;IAA2B,SAAS;EAAmC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow manifests describe the same job surface for different forge runtimes.
|
|
3
|
-
*/
|
|
4
|
-
export const forgeprofiles = Object.freeze(["github", "forgejo", "gitea", "woodpecker", "gitlab"]);
|
|
5
|
-
export function workflowmanifest(options = {}) {
|
|
6
|
-
if (!options.name || !options.command)
|
|
7
|
-
throw new TypeError("workflow manifest requires name and command");
|
|
8
|
-
return {
|
|
9
|
-
name: options.name,
|
|
10
|
-
command: options.command,
|
|
11
|
-
trigger: options.trigger ?? ["manual", "dispatch"],
|
|
12
|
-
inputs: options.inputs ?? {},
|
|
13
|
-
platforms: options.platforms ?? forgeprofiles,
|
|
14
|
-
environment: options.environment ?? {},
|
|
15
|
-
artifacts: options.artifacts ?? ["results/**"],
|
|
16
|
-
timeoutminutes: options.timeoutminutes ?? 30,
|
|
17
|
-
publicrunner: options.publicrunner ?? true
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export function workflowinputs(manifest) { return { name: manifest.name, command: manifest.command, timeoutminutes: manifest.timeoutminutes, artifacts: manifest.artifacts.join(",") }; }
|
|
21
|
-
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../workflow/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnG,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAG,EAAE;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;QAAE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IAC1G,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,aAAa;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;QACtC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC;QAC9C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QAC5C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../workflow/registry.ts"],"names":[],"mappings":"AAMA,wBAAgB,gBAAgB;;;;;EAS/B"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow registry stores generated manifests and templates for later dispatch.
|
|
3
|
-
*/
|
|
4
|
-
import { forgeprofiles } from "./manifest.js";
|
|
5
|
-
import { forgejoworkflow, giteaworkflow, githubworkflow, gitlabworkflow, woodpeckerworkflow } from "./templates.js";
|
|
6
|
-
export function workflowregistry() {
|
|
7
|
-
const manifests = new Map();
|
|
8
|
-
const renderers = { github: githubworkflow, forgejo: forgejoworkflow, gitea: giteaworkflow, woodpecker: woodpeckerworkflow, gitlab: gitlabworkflow };
|
|
9
|
-
return {
|
|
10
|
-
register(manifest) { manifests.set(manifest.name, manifest); return manifest; },
|
|
11
|
-
get(name) { return manifests.get(name) ?? null; },
|
|
12
|
-
render(name, forge) { if (!renderers[forge] || !forgeprofiles.includes(forge))
|
|
13
|
-
throw new TypeError(`unsupported forge: ${forge}`); const manifest = manifests.get(name); if (!manifest)
|
|
14
|
-
throw new Error(`workflow not found: ${name}`); return renderers[forge](manifest); },
|
|
15
|
-
list() { return [...manifests.values()]; }
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../workflow/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACrJ,OAAO;QACL,QAAQ,CAAC,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC;QAC/E,GAAG,CAAC,IAAI,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5Q,IAAI,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare function githubworkflow(manifest: any): string;
|
|
2
|
-
export declare function forgejoworkflow(manifest: any): string;
|
|
3
|
-
export declare function giteaworkflow(manifest: any): string;
|
|
4
|
-
export declare function woodpeckerworkflow(manifest: any): string;
|
|
5
|
-
export declare function gitlabworkflow(manifest: any): string;
|
|
6
|
-
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../workflow/templates.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,QAAQ,KAAA,UAGtC;AAED,wBAAgB,eAAe,CAAC,QAAQ,KAAA,UAAkD;AAC1F,wBAAgB,aAAa,CAAC,QAAQ,KAAA,UAAgD;AACtF,wBAAgB,kBAAkB,CAAC,QAAQ,KAAA,UAC1C;AACD,wBAAgB,cAAc,CAAC,QAAQ,KAAA,UAA2P"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow templates use explicit environment names and keep provider secrets external.
|
|
3
|
-
*/
|
|
4
|
-
import { workflowinputs } from "./manifest.js";
|
|
5
|
-
export function githubworkflow(manifest) {
|
|
6
|
-
const input = workflowinputs(manifest);
|
|
7
|
-
return `name: ${manifest.name}\non:\n workflow_dispatch:\n inputs:\n jobid:\n required: true\n type: string\n command:\n required: true\n type: string\n default: ${manifest.command}\n repository_dispatch:\n types: [saddle-job]\npermissions:\n contents: read\njobs:\n process:\n runs-on: ubuntu-latest\n timeout-minutes: ${input.timeoutminutes}\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: 26.7.0\n - run: npm ci\n - run: \${{ github.event.inputs.command || '${manifest.command}' }}\n env:\n SBOT_JOB_ID: \${{ github.event.inputs.jobid || github.event.client_payload.jobid }}\n - uses: actions/upload-artifact@v4\n with:\n name: saddle-results\n path: ${manifest.artifacts.join("\n ")}\n if-no-files-found: ignore\n`;
|
|
8
|
-
}
|
|
9
|
-
export function forgejoworkflow(manifest) { return genericworkflow(manifest, "forgejo"); }
|
|
10
|
-
export function giteaworkflow(manifest) { return genericworkflow(manifest, "gitea"); }
|
|
11
|
-
export function woodpeckerworkflow(manifest) {
|
|
12
|
-
return `when:\n - event: push\n - event: manual\nsteps:\n process:\n image: node:26.7.0\n commands:\n - npm ci\n - ${manifest.command}\n`;
|
|
13
|
-
}
|
|
14
|
-
export function gitlabworkflow(manifest) { return `stages:\n - process\nprocess:\n stage: process\n image: node:26.7.0\n script:\n - npm ci\n - ${manifest.command}\n artifacts:\n when: always\n paths:\n${manifest.artifacts.map((item) => ` - ${item}`).join("\n")}\n`; }
|
|
15
|
-
function genericworkflow(manifest, name) {
|
|
16
|
-
return `name: ${manifest.name}\non:\n workflow_dispatch:\njobs:\n process:\n runs-on: ubuntu-latest\n timeout-minutes: ${manifest.timeoutminutes}\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: 26.7.0\n - run: npm ci\n - run: ${manifest.command}\n`;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=templates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../workflow/templates.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,QAAQ;IACrC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,SAAS,QAAQ,CAAC,IAAI,wLAAwL,QAAQ,CAAC,OAAO,0JAA0J,KAAK,CAAC,cAAc,+MAA+M,QAAQ,CAAC,OAAO,+NAA+N,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,yCAAyC,CAAC;AACt6B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAQ,IAAI,OAAO,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1F,MAAM,UAAU,aAAa,CAAC,QAAQ,IAAI,OAAO,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtF,MAAM,UAAU,kBAAkB,CAAC,QAAQ;IAAI,OAAO,iIAAiI,QAAQ,CAAC,OAAO,IAAI,CAAC;AAC5M,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,QAAQ,IAAI,OAAO,0GAA0G,QAAQ,CAAC,OAAO,iDAAiD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAElS,SAAS,eAAe,CAAC,QAAQ,EAAE,IAAI;IAAI,OAAO,SAAS,QAAQ,CAAC,IAAI,oGAAoG,QAAQ,CAAC,cAAc,0KAA0K,QAAQ,CAAC,OAAO,IAAI,CAAC;AAClY,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow triggers normalize manual, event, schedule and retry starts without binding a forge.
|
|
3
|
-
*/
|
|
4
|
-
export declare const triggernames: readonly string[];
|
|
5
|
-
/** Validates and normalizes a trigger declaration. */
|
|
6
|
-
export declare function workflowtriggers(value?: string[]): string[];
|
|
7
|
-
/** Matches a workflow trigger against an incoming event without executing it. */
|
|
8
|
-
export declare function triggermatch(manifest: any, event?: {}): {
|
|
9
|
-
matched: boolean;
|
|
10
|
-
type: string;
|
|
11
|
-
reason: string;
|
|
12
|
-
errors?: undefined;
|
|
13
|
-
inputs?: undefined;
|
|
14
|
-
requestid?: undefined;
|
|
15
|
-
} | {
|
|
16
|
-
matched: boolean;
|
|
17
|
-
type: string;
|
|
18
|
-
reason: string;
|
|
19
|
-
errors: any[];
|
|
20
|
-
inputs?: undefined;
|
|
21
|
-
requestid?: undefined;
|
|
22
|
-
} | {
|
|
23
|
-
reason?: undefined;
|
|
24
|
-
errors?: undefined;
|
|
25
|
-
matched: boolean;
|
|
26
|
-
type: string;
|
|
27
|
-
inputs: {};
|
|
28
|
-
requestid: any;
|
|
29
|
-
};
|
|
30
|
-
/** Validates and normalizes caller-supplied workflow inputs against a manifest schema. */
|
|
31
|
-
export declare function validateworkflowinputs(manifest: any, values?: {}): {
|
|
32
|
-
valid: boolean;
|
|
33
|
-
values: {};
|
|
34
|
-
errors: any[];
|
|
35
|
-
};
|
|
36
|
-
/** Keeps trigger declarations and produces deterministic matching results. */
|
|
37
|
-
export declare function triggerregistry(): {
|
|
38
|
-
register: (manifest: any) => any;
|
|
39
|
-
get: (name: any) => any;
|
|
40
|
-
match: (name: any, event: any) => {
|
|
41
|
-
matched: boolean;
|
|
42
|
-
type: string;
|
|
43
|
-
reason: string;
|
|
44
|
-
errors?: undefined;
|
|
45
|
-
inputs?: undefined;
|
|
46
|
-
requestid?: undefined;
|
|
47
|
-
} | {
|
|
48
|
-
matched: boolean;
|
|
49
|
-
type: string;
|
|
50
|
-
reason: string;
|
|
51
|
-
errors: any[];
|
|
52
|
-
inputs?: undefined;
|
|
53
|
-
requestid?: undefined;
|
|
54
|
-
} | {
|
|
55
|
-
reason?: undefined;
|
|
56
|
-
errors?: undefined;
|
|
57
|
-
matched: boolean;
|
|
58
|
-
type: string;
|
|
59
|
-
inputs: {};
|
|
60
|
-
requestid: any;
|
|
61
|
-
};
|
|
62
|
-
list: () => any[];
|
|
63
|
-
};
|
|
64
|
-
//# sourceMappingURL=triggers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.d.ts","sourceRoot":"","sources":["../../workflow/triggers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,YAAY,mBAAqF,CAAC;AAE/G,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,KAAK,WAAa,YAIlD;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAK;;;;;;;;;;;;;;;;;;;;;EAQhD;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAK;;;;EAoB3D;AAED,8EAA8E;AAC9E,wBAAgB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* workflow triggers normalize manual, event, schedule and retry starts without binding a forge.
|
|
3
|
-
*/
|
|
4
|
-
export const triggernames = Object.freeze(["manual", "dispatch", "webhook", "schedule", "retry", "heartbeat"]);
|
|
5
|
-
/** Validates and normalizes a trigger declaration. */
|
|
6
|
-
export function workflowtriggers(value = ["manual"]) {
|
|
7
|
-
const list = Array.isArray(value) ? value : [value];
|
|
8
|
-
if (list.length === 0 || list.some((name) => !triggernames.includes(name)))
|
|
9
|
-
throw new TypeError("workflow trigger is unsupported");
|
|
10
|
-
return [...new Set(list)];
|
|
11
|
-
}
|
|
12
|
-
/** Matches a workflow trigger against an incoming event without executing it. */
|
|
13
|
-
export function triggermatch(manifest, event = {}) {
|
|
14
|
-
const triggers = workflowtriggers(manifest?.trigger);
|
|
15
|
-
const type = String(event.type ?? "manual");
|
|
16
|
-
if (!triggers.includes(type))
|
|
17
|
-
return { matched: false, type, reason: "trigger-not-declared" };
|
|
18
|
-
if (type === "schedule" && event.at !== undefined && Number(event.at) > Date.now())
|
|
19
|
-
return { matched: false, type, reason: "not-due" };
|
|
20
|
-
const validation = validateworkflowinputs(manifest, event.inputs ?? {});
|
|
21
|
-
if (!validation.valid)
|
|
22
|
-
return { matched: false, type, reason: "invalid-inputs", errors: validation.errors };
|
|
23
|
-
return { matched: true, type, inputs: validation.values, requestid: event.requestid ?? `${manifest.name}/${type}/${stablevalue(event)}` };
|
|
24
|
-
}
|
|
25
|
-
/** Validates and normalizes caller-supplied workflow inputs against a manifest schema. */
|
|
26
|
-
export function validateworkflowinputs(manifest, values = {}) {
|
|
27
|
-
const schema = manifest?.inputs ?? {};
|
|
28
|
-
const source = values && typeof values === "object" && !Array.isArray(values) ? values : {};
|
|
29
|
-
const errors = [];
|
|
30
|
-
const normalized = {};
|
|
31
|
-
for (const name of Object.keys(source))
|
|
32
|
-
if (!Object.hasOwn(schema, name))
|
|
33
|
-
errors.push({ name, reason: "unknown-input" });
|
|
34
|
-
for (const [name, declaration] of Object.entries(schema)) {
|
|
35
|
-
const rule = typeof declaration === "string" ? { type: declaration } : declaration ?? {};
|
|
36
|
-
let value = source[name];
|
|
37
|
-
if (value === undefined && rule.default !== undefined)
|
|
38
|
-
value = rule.default;
|
|
39
|
-
if (value === undefined) {
|
|
40
|
-
if (rule.required)
|
|
41
|
-
errors.push({ name, reason: "required" });
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
const converted = convertinput(value, rule.type ?? "string");
|
|
45
|
-
if (converted.error) {
|
|
46
|
-
errors.push({ name, reason: converted.error });
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
if (Array.isArray(rule.choices) && !rule.choices.includes(converted.value)) {
|
|
50
|
-
errors.push({ name, reason: "choice" });
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
normalized[name] = converted.value;
|
|
54
|
-
}
|
|
55
|
-
return { valid: errors.length === 0, values: normalized, errors };
|
|
56
|
-
}
|
|
57
|
-
/** Keeps trigger declarations and produces deterministic matching results. */
|
|
58
|
-
export function triggerregistry() {
|
|
59
|
-
const values = new Map();
|
|
60
|
-
function register(manifest) { if (!manifest?.name)
|
|
61
|
-
throw new TypeError("trigger manifest requires name"); const normalized = { ...manifest, trigger: workflowtriggers(manifest.trigger) }; values.set(normalized.name, normalized); return normalized; }
|
|
62
|
-
function get(name) { return values.get(name); }
|
|
63
|
-
function match(name, event) { const manifest = get(name); if (!manifest)
|
|
64
|
-
throw new Error(`workflow not found: ${name}`); return triggermatch(manifest, event); }
|
|
65
|
-
function list() { return [...values.values()].map((manifest) => ({ ...manifest, trigger: [...manifest.trigger] })); }
|
|
66
|
-
return { register, get, match, list };
|
|
67
|
-
}
|
|
68
|
-
function convertinput(value, type) {
|
|
69
|
-
if (type === "string")
|
|
70
|
-
return { value: String(value) };
|
|
71
|
-
if (type === "number") {
|
|
72
|
-
const number = typeof value === "number" ? value : Number(value);
|
|
73
|
-
return Number.isFinite(number) ? { value: number } : { error: "number" };
|
|
74
|
-
}
|
|
75
|
-
if (type === "boolean") {
|
|
76
|
-
if (value === true || value === "true")
|
|
77
|
-
return { value: true };
|
|
78
|
-
if (value === false || value === "false")
|
|
79
|
-
return { value: false };
|
|
80
|
-
return { error: "boolean" };
|
|
81
|
-
}
|
|
82
|
-
if (type === "json") {
|
|
83
|
-
try {
|
|
84
|
-
return { value: typeof value === "string" ? JSON.parse(value) : value };
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
return { error: "json" };
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return { error: "type" };
|
|
91
|
-
}
|
|
92
|
-
function stablevalue(value) {
|
|
93
|
-
if (Array.isArray(value))
|
|
94
|
-
return `[${value.map(stablevalue).join(",")}]`;
|
|
95
|
-
if (value && typeof value === "object")
|
|
96
|
-
return `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${stablevalue(value[key])}`).join(",")}}`;
|
|
97
|
-
return JSON.stringify(value);
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=triggers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../workflow/triggers.ts"],"names":[],"mappings":"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"}
|
package/docs/logs/.gitkeep
DELETED
|
File without changes
|
package/docs/plans/00.index.md
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Index
|
|
2
|
-
|
|
3
|
-
Project: **UKA** — computer use agent, sandbox for AI and captcha bypass. Super bot with computational memory. Package `@wenathlan/saddle`. Domain acquired.
|
|
4
|
-
|
|
5
|
-
Theme: computer use, bypasses, captcha, sandbox for AI, container for AI, multi-platform bot, storage-to-compute memory transformation.
|
|
6
|
-
|
|
7
|
-
## Planning Documents (`docs/plans`)
|
|
8
|
-
|
|
9
|
-
| # | File | Subject |
|
|
10
|
-
|---|------|---------|
|
|
11
|
-
| 01 | [architecture.md](./01.architecture.md) | General system architecture |
|
|
12
|
-
| 02 | [research.computer.use.md](./02.research.computer.use.md) | Research: computer use agents 2026 |
|
|
13
|
-
| 03 | [research.captcha.bypass.md](./03.research.captcha.bypass.md) | Research: hcaptcha cloudflare recaptcha bypass |
|
|
14
|
-
| 04 | [research.sandbox.ai.md](./04.research.sandbox.ai.md) | Research: virtual sandbox and containers for AI |
|
|
15
|
-
| 05 | [capture.platform.md](./05.capture.platform.md) | Browser movement capture platform |
|
|
16
|
-
| 06 | [dependencies.md](./06.dependencies.md) | 60+ project dependencies |
|
|
17
|
-
| 07 | [captcha.test.page.md](./07.captcha.test.page.md) | Test page with hcaptcha cloudflare |
|
|
18
|
-
| 08 | [production.infra.md](./08.production.infra.md) | Production infra (vercel/netlify) and sandbox backend |
|
|
19
|
-
| 09 | [database.schema.md](./09.database.schema.md) | Database schema (drizzle/prisma/mysql2) |
|
|
20
|
-
| 10 | [cloudinary.storage.md](./10.cloudinary.storage.md) | Data storage on cloudinary |
|
|
21
|
-
| 11 | [movement.logs.json.md](./11.movement.logs.json.md) | JSON movement log format (brave) |
|
|
22
|
-
| 12 | [research.atlas.agent.browser.md](./12.research.atlas.agent.browser.md) | Atlas: agent browser repos with same classification |
|
|
23
|
-
| 28 | [action.plan.md](./28.action.plan.md) | Action plan and next steps |
|
|
24
|
-
|
|
25
|
-
## Super Bot Documentation (`docs/plans`)
|
|
26
|
-
|
|
27
|
-
| # | File | Subject |
|
|
28
|
-
|---|------|---------|
|
|
29
|
-
| 45 | [robotarchitecture.md](./45.robotarchitecture.md) | Super bot architecture overview |
|
|
30
|
-
| 37 | [deploystrategy.md](./37.deploystrategy.md) | Deploy strategies (Netlify, Vercel, CI/CD, Docker, VM) |
|
|
31
|
-
| 36 | [computational.memory.md](./36.computational.memory.md) | Storage-to-compute memory transformation system |
|
|
32
|
-
| 39 | [multi.platform.bot.md](./39.multi.platform.bot.md) | Multi-platform bot (GitHub, GitLab, Forgejo, Gitea, Discord) |
|
|
33
|
-
| 40 | [npm.publish.md](./40.npm.publish.md) | NPM package publishing (`@wenathlan/saddle`) |
|
|
34
|
-
| 46 | [scdnintegration.md](./46.scdnintegration.md) | SCDN integration for assets and deployment |
|
|
35
|
-
| 44 | [reference.md](./44.reference.md) | Reference index for all saddle documentation |
|
|
36
|
-
| 33 | [bots.codigo.revisao.md](./33.bots.codigo.revisao.md) | Best AI code review bots (research) |
|
|
37
|
-
| 32 | [bots.automacao.computacional.md](./32.bots.automacao.computacional.md) | Best computational automation bots (research) |
|
|
38
|
-
| 34 | [bots.seguranca.cicd.md](./34.bots.seguranca.cicd.md) | Bot research (security + CI/CD) |
|
|
39
|
-
|
|
40
|
-
## Folders
|
|
41
|
-
|
|
42
|
-
- `docs/plans/` — planning and research (this index)
|
|
43
|
-
- `docs/talks/` — decision transcripts
|
|
44
|
-
- `docs/logs/` — JSON movement logs from Brave (`examplesession.json`)
|
|
45
|
-
- `tests/` — unit tests (`examples/`, `output/`, `scripts/`)
|
|
46
|
-
- `web/` — production site, deployed to Vercel or Netlify (files at root, no `src/`)
|
|
47
|
-
|
|
48
|
-
## Phase Decision
|
|
49
|
-
|
|
50
|
-
We are in **planning + research**. Platform implementation starts **only after user approval** (see `28.action.plan.md`).
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# 01 Architecture
|
|
2
|
-
|
|
3
|
-
## Goal
|
|
4
|
-
|
|
5
|
-
Build **UKA**, a computer use agent for ai that:
|
|
6
|
-
|
|
7
|
-
1. Captures human movement in the browser (virtual mouse, virtual arrow, click, rotation, coordinates) in a real environment (brave / chromium).
|
|
8
|
-
2. Exports movement as json logs to `docs/logs/`.
|
|
9
|
-
3. Runs in a virtual sandbox to isolate ai agent execution.
|
|
10
|
-
4. Faces strong captchas (hcaptcha, cloudflare turnstile, recaptcha) in controlled tests, opening test pages in brave.
|
|
11
|
-
5. Persists data in production via a deployed site (vercel/netlify) plus db (drizzle/prisma/mysql2) plus cloudinary.
|
|
12
|
-
|
|
13
|
-
## Architecture rules (skill arch)
|
|
14
|
-
|
|
15
|
-
- No `src/` folder. Logic lives at the root of `web/`.
|
|
16
|
-
- No vercel functions. No netlify functions. Use prisma, drizzle, mysql2, socket.
|
|
17
|
-
- No localhost. Host is parametrized (`host`). Ports randomized then locked.
|
|
18
|
-
- Files lowercase. No underscore. No hyphen. English docs. Jsdoc comments.
|
|
19
|
-
- Logic grouped. Up to 20 related logics per file.
|
|
20
|
-
- Runs as a library across modes (computer, browser, cli, binary, headless, etc).
|
|
21
|
-
|
|
22
|
-
## Atlas (the browser)
|
|
23
|
-
|
|
24
|
-
Atlas is the real browser component of UKA. It works across the 30 modes from the
|
|
25
|
-
architecture skill (computer, browser, cli, binary, headless, etc) and its primary
|
|
26
|
-
job is to bypass hcaptcha so the agent can act. It serves both the agent and the
|
|
27
|
-
sandbox, and talks to our own database on vercel/netlify. See
|
|
28
|
-
[12 research atlas agent browser](./12-research-atlas-agent-browser.md) for the
|
|
29
|
-
prior-art survey and the p1 stealth / p2 vlm / p3 token fallback layering.
|
|
30
|
-
|
|
31
|
-
## Components
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
atlas (web/atlas.js + deps)
|
|
35
|
-
- real browser across 30 modes
|
|
36
|
-
- stealth layer + hcaptcha bypass (vlm or token api fallback)
|
|
37
|
-
- feeds agent and sandbox
|
|
38
|
-
|
|
39
|
-
capture ui (web/*.html + web/capture.js)
|
|
40
|
-
- virtual arrow / virtual mouse injected via cdp
|
|
41
|
-
- captures click, drag, scroll, coordinates, rotation
|
|
42
|
-
- exports json to docs/logs/
|
|
43
|
-
|
|
44
|
-
sandbox (web/ + @vercel/sandbox)
|
|
45
|
-
- isolated firecracker microvm per session/agent
|
|
46
|
-
- chrome/brave ready, novnc streaming
|
|
47
|
-
- api https (post/get) to the deployed site
|
|
48
|
-
|
|
49
|
-
production backend (web/, deployed to vercel/netlify)
|
|
50
|
-
- open node server (hono/express), not platform functions
|
|
51
|
-
- db (drizzle + mysql2 + prisma schema)
|
|
52
|
-
- cloudinary for assets and replays
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Main flows
|
|
56
|
-
|
|
57
|
-
### A. Capture (local/dev)
|
|
58
|
-
1. Open brave via playwright/chromium with `chrome.debugger` (cdp).
|
|
59
|
-
2. Inject svg cursor sprite plus event listeners (`Input.dispatchMouseEvent`).
|
|
60
|
-
3. Record each event with timestamp, type, coordinates, target, rng seed.
|
|
61
|
-
4. Compact trajectories and export to `docs/logs/<session>.json`.
|
|
62
|
-
|
|
63
|
-
### B. Captcha test
|
|
64
|
-
1. Open test page (`tests/examples/hcaptchatest.html` or a real site).
|
|
65
|
-
2. Run solver (hcaptcha challenger / vision) or record manual bypass.
|
|
66
|
-
3. Save evidence (screenshot, token, log) to `tests/output/`.
|
|
67
|
-
|
|
68
|
-
### C. Production
|
|
69
|
-
1. Agent calls the deployed site api (`web/`).
|
|
70
|
-
2. Backend writes session to db (drizzle/mysql2) and assets to cloudinary.
|
|
71
|
-
3. Logs and replays available via get https.
|
|
72
|
-
|
|
73
|
-
## Key technologies (details in `06-dependencies.md`)
|
|
74
|
-
|
|
75
|
-
- Browser automation: `playwright`, `puppeteer`, `chromium-bidi`, `@playwright/test`
|
|
76
|
-
- Human mouse: `bezier-js`, `@napi-rs/canvas`, `d3`
|
|
77
|
-
- Ai / vision: `ai`, `@ai-sdk/*`, `@xenova/transformers`, `onnxruntime-web`, `tesseract.js`
|
|
78
|
-
- Sandbox: `@vercel/sandbox`, `vercel`
|
|
79
|
-
- Server: `hono`, `express`, `cors`, `helmet`, `socket.io` (socket realtime)
|
|
80
|
-
- Db: `drizzle-orm`, `mysql2`, `@prisma/client`, `prisma`
|
|
81
|
-
- Storage: `cloudinary`
|
|
82
|
-
- Validation: `zod`, `valibot`, `arktype`
|
|
83
|
-
|
|
84
|
-
## Next steps
|
|
85
|
-
|
|
86
|
-
See `action-plan.md`. Implementation starts after user approval.
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# 02 — Pesquisa: Computer Use Agents (2026)
|
|
2
|
-
|
|
3
|
-
## Estado da arte
|
|
4
|
-
|
|
5
|
-
Em 2026, *computer-use agents* deixaram de ser protótipos e entraram em produção para
|
|
6
|
-
tarefas restritas e supervisionadas. Principais provedores e frameworks:
|
|
7
|
-
|
|
8
|
-
- **Anthropic Computer Use** (`computer_use_20251124`): ferramentas `computer` (mouse/teclado),
|
|
9
|
-
`text_editor`, `bash`. Recomenda rodar em **VMs/containers com privilégios mínimos**.
|
|
10
|
-
- **OpenAI Operator / CUA**: 87% de sucesso em sites JS complexos; 58% no WebArena.
|
|
11
|
-
- **Google Project Mariner**: 83.5% WebVoyager, 84% ScreenSpot.
|
|
12
|
-
- **Microsoft UFO²**: funde Windows UI Automation + OmniParser (visão).
|
|
13
|
-
- **browser-use** (open source): 89.1% WebVoyager (abordagem híbrida DOM + visão).
|
|
14
|
-
|
|
15
|
-
### Benchmarks
|
|
16
|
-
- **OSWorld:** humano 72.36% vs SOTA ~12–20% (desktop ainda imaturo).
|
|
17
|
-
- **WebArena:** tops ~71%, produção na faixa 50–60%.
|
|
18
|
-
- **WebVoyager:** browser-use 89.1% (híbrido).
|
|
19
|
-
|
|
20
|
-
### Conclusão de arquitetura
|
|
21
|
-
Ganham abordagens **híbridas**:
|
|
22
|
-
1. Raciocínio por **DOM / accessibility tree** para elementos estruturados.
|
|
23
|
-
2. **Visão** (VLM) para layouts não-padrão, canvas, imagens.
|
|
24
|
-
3. **Scripts determinísticos** para validação e replay.
|
|
25
|
-
4. **Verificação** (screenshot antes/depois, diff de elementos).
|
|
26
|
-
|
|
27
|
-
## Projetos de referência encontrados
|
|
28
|
-
|
|
29
|
-
| Projeto | Diferencial relevante para UKA |
|
|
30
|
-
|---------|-------------------------------|
|
|
31
|
-
| [agentbrowser](https://github.com/AshtonVaughan/agentbrowser) | Cursor visível humano via CDP, trilha SVG, trajetórias Bézier com jitter/overshoot, **traces JSONL** em `~/.agentbrowser/traces/`, replay determinístico por seed, bypass de Cloudflare/OneTrust |
|
|
32
|
-
| [humanjs](https://github.com/totigm/humanjs) | Playwright humanizado: curvas Bézier, ritmo de digitação, scroll, **personalidades** (careful/fast/distracted/precise), gravador → JSON timeline, MCP server |
|
|
33
|
-
| [human-browser-use](https://github.com/andyless/human-browser-use) | Extensão p/ browser-use: trajetória Bézier, typing lognormal, scroll inercial, stealth fingerprint (`navigator.webdriver`, WebGL, canvas) |
|
|
34
|
-
| [agentic-stealth-browser](https://github.com/shanewas/agentic-stealth-browser) | TLS spoofing (JA3/JA4), fingerprint, recovery chain (detecta captcha → rotaciona proxy), account warming |
|
|
35
|
-
| [mantis](https://github.com/mercurialsolo/mantis) | Agent perception-reasoning-action em Xvfb+Chrome+xdotool (sem fingerprint Playwright), vídeo screencast, deploy em Baseten/Modal/EKS/GKE |
|
|
36
|
-
| [win-pilot-mcp](https://github.com/omidmanoochehri/win-pilot-mcp) | MCP Windows computer-use: screen capture, OCR, mouse humano, logging estruturado, replay de macros |
|
|
37
|
-
| [cloakbrowser-human](https://github.com/evelaa123/cloakbrowser-human) | Wrapper Playwright que adiciona camada **comportamental** (mouse Bézier, typing, scroll) — complementa stealth de fingerprint |
|
|
38
|
-
|
|
39
|
-
## Padrões de movimento humano (extraídos da pesquisa)
|
|
40
|
-
|
|
41
|
-
- **Trajetória do mouse:** curva Bézier única, velocidade variável por arc-length:
|
|
42
|
-
- 0–5%: ramp-up (0.3x → 2.5x)
|
|
43
|
-
- 5–75%: cruise (2.3–2.5x) com variação senoidal
|
|
44
|
-
- 75–100%: ease-out cúbico (2.5x → 0.3x)
|
|
45
|
-
- sub-pixel drift final (σ 0.3–1.5px)
|
|
46
|
-
- duração via **Lei de Fitts**: `0.05 + 0.07*log2(1 + distance/20)` s
|
|
47
|
-
- **Overshoot:** ~15% de chance, auto-aumenta em movimentos longos.
|
|
48
|
-
- **Typing:** inter-key delay lognormal (μ=4.17, σ=0.3 → ~65ms), bigram speedup, 2% typo.
|
|
49
|
-
- **Scroll:** wheel events com acel/decel, overshoot, settle delay.
|
|
50
|
-
- **Stealth:** `navigator.webdriver → undefined`, spoof de plugins/WebGL/canvas, flags de launch.
|
|
51
|
-
|
|
52
|
-
## Aplicação no UKA
|
|
53
|
-
|
|
54
|
-
- Implementar `HumanCursor` (SVG overlay + CDP `Input.dispatchMouseEvent`) inspirado no
|
|
55
|
-
agentbrowser/humanjs, com trajetórias Bézier + jitter + overshoot determinísticas por seed.
|
|
56
|
-
- Gravar **todos os eventos** como `SessionEvent` tipado → exportar JSON para `docs/logs/`.
|
|
57
|
-
- Usar replay determinístico (seed) para testes reprodutíveis.
|
|
58
|
-
- Tratar GUI como imagem (visão) + DOM/accessibility para alvos estruturados.
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# 03 — Pesquisa: hCaptcha / Cloudflare / reCAPTCHA Bypass
|
|
2
|
-
|
|
3
|
-
## Contexto
|
|
4
|
-
|
|
5
|
-
O UKA precisa **testar** a capacidade do computer-use de enfrentar captchas fortes. A
|
|
6
|
-
pesquisa abaixo levanta abordagens open-source e comerciais (uso edUKAcional / automação
|
|
7
|
-
supervisionada).
|
|
8
|
-
|
|
9
|
-
## hCaptcha
|
|
10
|
-
|
|
11
|
-
### hcaptcha-challenger (QIN2DIM) — referência principal
|
|
12
|
-
- Resolve hCaptcha com **LLM multimodal** (sem Tampermonkey, sem serviço anti-captcha 3º).
|
|
13
|
-
- Modelos plugáveis (ONNX):
|
|
14
|
-
- `image_label_binary` → ResNet ✅
|
|
15
|
-
- `image_label_area_select: point` → YOLOv8 ✅
|
|
16
|
-
- `image_label_area_select: bounding box` → YOLOv8 segmentation
|
|
17
|
-
- `image_drag_drop` → Spatial Chain-of-Thought ✅
|
|
18
|
-
- `image_label_multiple_choice` → ViT zero-shot
|
|
19
|
-
- Pipeline: `install()` → `AgentT.from_page()` → `handle_checkbox()` → `execute()` loop.
|
|
20
|
-
- Deps: `playwright`, `httpx`, `opencv-python`, `pillow`, `loguru`, `pydantic-settings`.
|
|
21
|
-
|
|
22
|
-
### Outros solvers
|
|
23
|
-
- **hCaptcha-Solver (Camoufox + Multibot):** usa Camoufox p/ HSW token + Groq vision +
|
|
24
|
-
**geração de movimento de mouse realista** (Multibot API). Lida com `image_label_binary`,
|
|
25
|
-
`area_select`, `drag_drop`. Requer proxy.
|
|
26
|
-
- **maximedrn/hcaptcha-solver-python-selenium:** userscript Tampermonkey + Selenium (edUKAcional).
|
|
27
|
-
- **auto-captcha-solver / auto-captcha (NopeCHA):** detecta hCaptcha, reCAPTCHA v2/v3,
|
|
28
|
-
Cloudflare Turnstile via **API de token NopeCHA**; injeta token automaticamente. Tem MCP
|
|
29
|
-
server e CLI. Tipos: hCaptcha ✅, reCAPTCHA v2/v3 ✅, Turnstile ⚠️ (lento).
|
|
30
|
-
|
|
31
|
-
## Cloudflare (Turnstile / interstitials)
|
|
32
|
-
|
|
33
|
-
- **agentic-stealth-browser** passa Cloudflare interstitial usando TLS spoofing + fingerprint
|
|
34
|
-
+ comportamento humano + **recovery chain** (detecta captcha → rotaciona proxy/sessão → retry).
|
|
35
|
-
- **auto-captcha** resolve Turnstile via NopeCHA (fila lenta, requer proxy em produção).
|
|
36
|
-
- **captcha-solver (CloakBrowser + 2Captcha/CapSolver):** Turnstile resolvido em ~5s via
|
|
37
|
-
ClickSolver (free) ou fallback pago.
|
|
38
|
-
|
|
39
|
-
## reCAPTCHA
|
|
40
|
-
|
|
41
|
-
- v2/v3/Enterprise: cobertos por hcaptcha-challenger (via proxy), auto-captcha (NopeCHA),
|
|
42
|
-
2Captcha, CapSolver.
|
|
43
|
-
|
|
44
|
-
## Capes (tipos suportados por 2Captcha/CapSolver — 30+)
|
|
45
|
-
|
|
46
|
-
reCAPTCHA v2/v3/Enterprise, Cloudflare Turnstile, hCaptcha, FunCaptcha (Arkose), GeeTest,
|
|
47
|
-
KeyCaptcha, Amazon WAF, DataDome, Akamai, Imperva, Friendly, MTCaptcha, Lemin, Cutcaptcha,
|
|
48
|
-
Tencent, Yandex, ALTCHA, Prosopo, entre outros.
|
|
49
|
-
|
|
50
|
-
## Camadas de defesa que o UKA deve considerar
|
|
51
|
-
|
|
52
|
-
| Camada | O que ataca | Mitigação no UKA |
|
|
53
|
-
|--------|-------------|------------------|
|
|
54
|
-
| Fingerprint (WebDriver, CDP, headless, GPU) | detecta automação | stealth JS + Brave real/CDP, spoof WebGL/canvas |
|
|
55
|
-
| Comportamental (mouse/keyboard/scroll) | analisa padrões | trajetórias Bézier humanas, typing lognormal |
|
|
56
|
-
| TLS (JA3/JA4) | identifica cliente | TLS regional / proxy residencial sticky |
|
|
57
|
-
| IP reputation | bloqueia faixas | proxies residenciais com sessão sticky |
|
|
58
|
-
| Captcha | desafio final | solver VLM (hcaptcha-challenger) ou token API |
|
|
59
|
-
|
|
60
|
-
## Aplicação no UKA
|
|
61
|
-
|
|
62
|
-
- Criar `tests/examples/hcaptcha-test.html` (página de teste local) + usar sites reais fortes
|
|
63
|
-
(Cloudflare, Google reCAPTCHA demo, hCaptcha demo) no Brave.
|
|
64
|
-
- Pipeline de teste: abrir → detectar captcha → resolver (VLM ou token API) → registrar
|
|
65
|
-
token/screenshot/log em `tests/output/`.
|
|
66
|
-
- **Não** usar para abuso: foco em automação supervisionada e pesquisa.
|
|
67
|
-
- Dependências relevantes: `playwright`, `puppeteer`, `@xenova/transformers`,
|
|
68
|
-
`onnxruntime-web`, `tesseract.js`, `cloudinary` (evidências).
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# 04 — Pesquisa: Sandbox Virtual e Containers para IA
|
|
2
|
-
|
|
3
|
-
## Por que sandbox?
|
|
4
|
-
|
|
5
|
-
Computer-use agents executam código/inputs não confiáveis (saída de LLM, uploads de
|
|
6
|
-
usuário). Rodar em sandbox isola a execução, impede acesso ao sistema de produção e limita
|
|
7
|
-
recursos. A pesquisa mostra que provedores ladearam para **microVMs Firecracker**.
|
|
8
|
-
|
|
9
|
-
## Vercel Sandbox (opção principal do UKA)
|
|
10
|
-
|
|
11
|
-
- Compute primitive para rodar código não confiável com segurança (AI agents, code gen).
|
|
12
|
-
- **Firecracker microVM** por sandbox, filesystem e rede próprios, isolamento forte.
|
|
13
|
-
- Runtimes: `node26/24/22`, `python3.13`. Default `node24`.
|
|
14
|
-
- Cada sandbox roda como `vercel-sandbox` (sudo disponível), working dir `/vercel/sandbox`.
|
|
15
|
-
- Startup em **milissegundos**; suporta Docker/FUSE dentro do microVM (privilégio elevado).
|
|
16
|
-
- **Credential brokering:** injeta secrets em requests de saída sem expor dentro do VM
|
|
17
|
-
(`console.log(process.env)` não vaza a chave).
|
|
18
|
-
- **Network policy:** allowlist de domínios, atualizável em runtime.
|
|
19
|
-
- SDK JS e Python; CLI. Multi-agent isolation (usuário Linux por agente, grupos p/ compartilhar).
|
|
20
|
-
|
|
21
|
-
### AI SDK Computer Use (vercel-labs) — template de referência
|
|
22
|
-
- Next.js + AI SDK + Claude Sonnet 4.5 + **Vercel Sandbox**.
|
|
23
|
-
- Snapshot pré-construído com: **Xvnc**, **openbox**, **noVNC + websockify**, **Google
|
|
24
|
-
Chrome**, **xdotool + ImageMagick**.
|
|
25
|
-
- Fluxo: User ↔ Chat UI ↔ AI SDK ↔ Claude → Vercel Sandbox (desktop via noVNC iframe).
|
|
26
|
-
- Ferramentas: `computer` (screenshot/click/type/scroll) + `bash`.
|
|
27
|
-
- Env: `ANTHROPIC_API_KEY`, `SANDBOX_SNAPSHOT_ID`, `VERCEL_OIDC_TOKEN`/`VERCEL_TOKEN`.
|
|
28
|
-
|
|
29
|
-
### vercel-labs/agent-browser (serverless)
|
|
30
|
-
- CLI Rust nativo; roda agent-browser + Chrome em Vercel Sandbox microVM efêmero.
|
|
31
|
-
- Helper `@agent-browser/sandbox/vercel` + `@vercel/sandbox`.
|
|
32
|
-
|
|
33
|
-
### vercel-labs/sandcastle (PoC desktop)
|
|
34
|
-
- Desktop Linux web sobre Vercel Sandbox. Stack: Next.js, Tailwind, **Zustand + SWR**,
|
|
35
|
-
**Neon Postgres + Drizzle ORM**, `@vercel/sandbox`, code-server, Xpra. Auth password/OAuth.
|
|
36
|
-
|
|
37
|
-
## Outras opções
|
|
38
|
-
|
|
39
|
-
- **Modal / Baseten / EKS / GKE** (usados pelo mantis) — containers Docker customizados.
|
|
40
|
-
- **Daytona / Cloudflare** — alternativas de sandbox (citadas mas com menos fit p/ TS).
|
|
41
|
-
- **Containers Docker locais** (xdotool + Xvfb + Chromium) para dev sem nuvem.
|
|
42
|
-
|
|
43
|
-
## Decisão para o UKA
|
|
44
|
-
|
|
45
|
-
- **Produção:** Vercel Sandbox como camada de execução do computer-use; site de controle
|
|
46
|
-
deployado em **Vercel** (ou Netlify) (`web/`).
|
|
47
|
-
- **Banco:** criado no deploy (Drizzle/LibSQL ou Prisma em Neon/Turso), conforme `09-esquema-banco-dados.md`.
|
|
48
|
-
- **Armazenamento:** Cloudinary para assets/replays (`10-cloudinary-storage.md`).
|
|
49
|
-
- **Dev local:** Brave real via Playwright/CDP para a plataforma de captura (`05-plataforma-captura-movimentos.md`).
|
|
50
|
-
- **Comunicação:** requests **POST/GET HTTPS** do agente → site deployado → DB + Cloudinary.
|
|
51
|
-
- Dependências: `@vercel/sandbox`, `vercel`, `@netlify/blobs`, `@netlify/functions`,
|
|
52
|
-
`hono`/`express`, `drizzle-orm`, `@libsql/client`, `socket.io`.
|