@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,152 +0,0 @@
|
|
|
1
|
-
# V4 - Teoria Completa: Repo como Casa do OS
|
|
2
|
-
|
|
3
|
-
## Fatos que você trouxe - raciocinando junto
|
|
4
|
-
|
|
5
|
-
### Fato 1: No Linux tudo é arquivo
|
|
6
|
-
> Everything is a file - open/read/write/close retornam file descriptor
|
|
7
|
-
|
|
8
|
-
No kernel tudo é struct inode + dentry + file_operations. Processo, memória, device, socket - tudo é arquivo.
|
|
9
|
-
|
|
10
|
-
```c
|
|
11
|
-
struct file_operations {
|
|
12
|
-
.read, .write, .mmap, .open...
|
|
13
|
-
}
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Se implementa file_operations, É arquivo. VFS (Virtual File System Switch) abstrai ext4, tmpfs, proc, sysfs.
|
|
17
|
-
|
|
18
|
-
Prova que storage e RAM são mesma coisa: ambas são files com backing diferente.
|
|
19
|
-
|
|
20
|
-
### Fato 2: Formatos, mimetypes, magic bytes
|
|
21
|
-
Extensão é UX. Verdade está nos primeiros bytes:
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
ELF: 7F 45 4C 46
|
|
25
|
-
PE: 4D 5A (MZ) + 50 45 00 00 (PE)
|
|
26
|
-
PNG: 89 50 4E 47 0D 0A 1A 0A
|
|
27
|
-
ZIP: 50 4B 03 04 (por isso DOCX, APK, JAR = ZIP)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
`file` usa libmagic para detectar. MIME type é pra web (Content-Type), magic byte é pra SO decodificar.
|
|
31
|
-
|
|
32
|
-
Repo guarda esses bytes estáticos. Quando busca, decodifica via magic.
|
|
33
|
-
|
|
34
|
-
### Fato 3: Encoding e Decoding
|
|
35
|
-
Todo arquivo estático precisa encode/decode:
|
|
36
|
-
|
|
37
|
-
- Encode: arquivo no disco (bytes estáticos)
|
|
38
|
-
- Decode: loader lê magic, escolhe parser, mapeia pra RAM, executa
|
|
39
|
-
|
|
40
|
-
Ex: Windows instala, arquivos ficam estáticos. Na hora de rodar, busca paginação, dump de memória, decodifica PE -> mapeia seções -> executa.
|
|
41
|
-
|
|
42
|
-
Mesma coisa no nosso caso: repo guarda binário estático com magic, browser faz fetch, decodifica via WASM loader, executa.
|
|
43
|
-
|
|
44
|
-
### Fato 4: Sandbox tem VFS e virtual file - Docker, K8s
|
|
45
|
-
|
|
46
|
-
Docker usa OverlayFS:
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
lowerdir=/lower1:/lower2 (read-only, camadas da imagem)
|
|
50
|
-
upperdir=/upper (writable)
|
|
51
|
-
merged=/merged (o que processo vê)
|
|
52
|
-
copy_up: primeira escrita copia arquivo inteiro do lower pro upper
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Imagem OCI = stack de tar.gz estáticos. `docker run` = monta overlay + cria namespace.
|
|
56
|
-
|
|
57
|
-
Kubernetes ephemeral storage = tmpfs + emptyDir que é RAM.
|
|
58
|
-
|
|
59
|
-
Ou seja: arquivos estáticos viram sistema rodando via overlay.
|
|
60
|
-
|
|
61
|
-
### Fato 5: Virtual file e virtual RAM, VMs
|
|
62
|
-
|
|
63
|
-
VM = arquivo estático (qcow2, vmdk) + emulador que decodifica e executa.
|
|
64
|
-
|
|
65
|
-
v86: boota Linux no browser de arquivos estáticos:
|
|
66
|
-
|
|
67
|
-
```js
|
|
68
|
-
new V86({
|
|
69
|
-
bios: {url: "./bios/seabios.bin"},
|
|
70
|
-
cdrom: {url: "./images/linux.iso"} // ISO estático no GitHub Pages
|
|
71
|
-
})
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
WebContainers: Node compilado pra WASM, FS em SharedArrayBuffer, roda npm de arquivos estáticos.
|
|
75
|
-
|
|
76
|
-
### Conclusão dos fatos
|
|
77
|
-
|
|
78
|
-
> Local pra guardar arquivos com decode/encode pronto já temos ilimitado: GitHub, GitLab, Forgejo, Codeberg, etc. Casa onde OS vai ser alocado já tem. Precisa fazer ele rodar como emulador/VM.
|
|
79
|
-
|
|
80
|
-
Arquivos estáticos no repo = /usr, /bin, /lib do OS
|
|
81
|
-
Gatilho = bootloader que busca e decodifica
|
|
82
|
-
Site estático = BIOS que conversa via HTTPS
|
|
83
|
-
Actions = CPU que processa paginação
|
|
84
|
-
|
|
85
|
-
### Transformação Storage <-> Compute nos dois sentidos
|
|
86
|
-
|
|
87
|
-
**Storage (repo) -> Compute (RAM):**
|
|
88
|
-
- `mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk` -> RAM vira disco
|
|
89
|
-
- `fallocate + mkswap + swapon` -> disco vira RAM
|
|
90
|
-
- `git clone --separate-git-dir=/dev/shm/repo.git` -> .git em RAM pura
|
|
91
|
-
- `mount -o bind /dev/shm/repo /mnt/repo` -> repo em RAM
|
|
92
|
-
|
|
93
|
-
**Compute (RAM) -> Storage (repo):**
|
|
94
|
-
- Processa em /mnt/ramdisk
|
|
95
|
-
- `git add docs/results/ && git commit && git push` -> RAM virou storage persistente
|
|
96
|
-
- `upload-artifact` -> RAM virou artifact
|
|
97
|
-
- Release asset -> RAM virou CDN
|
|
98
|
-
|
|
99
|
-
Diferença entre 10GB RAM e 600GB storage é só flag: um é tmpfs, outro é ext4, mas ambos são inode no VFS.
|
|
100
|
-
|
|
101
|
-
### Infra de Bridges e Escadas (gatilhos)
|
|
102
|
-
|
|
103
|
-
Você falou que precisa de gatilho pra ficar acionando repo toda hora. Exato:
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
Site A (Pages) --fetch POST--> api.github.com/dispatches --trigger--> Action Worker
|
|
107
|
-
Action --commit docs/queue.json --> Pages rebuild --> Site B lê via GET
|
|
108
|
-
|
|
109
|
-
Site A e Site B são estáticos, mas conversam via HTTPS como se fossem processos via pipe.
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Gatilhos:
|
|
113
|
-
- repository_dispatch: cross-repo, precisa PAT, 0 custo disparo
|
|
114
|
-
- workflow_dispatch: retorna run_id pra polling
|
|
115
|
-
- workflow_call: reusable
|
|
116
|
-
- workflow_run: chain intra-repo
|
|
117
|
-
|
|
118
|
-
Cada arquivo estático no repo vira handler:
|
|
119
|
-
|
|
120
|
-
- /api/handler.json -> endpoint
|
|
121
|
-
- /api/queue.json -> fila de mensagens
|
|
122
|
-
- /dumps/incoming/ -> inbox de binários
|
|
123
|
-
|
|
124
|
-
Outro sandbox chama via fetch, dispara Action, Action processa e commita resultado.
|
|
125
|
-
|
|
126
|
-
### V4 Arquitetura Final
|
|
127
|
-
|
|
128
|
-
```
|
|
129
|
-
[Browser - index.html 50KB estático no Pages]
|
|
130
|
-
- VFS virtual em JS: mapeia magic bytes -> decoder
|
|
131
|
-
- Preview 256 bytes via File API slice (não pesa)
|
|
132
|
-
- Gatilho: fetch dispatch
|
|
133
|
-
|
|
134
|
-
[Bridge Layer - GitHub API como barramento]
|
|
135
|
-
- repository_dispatch como IPC
|
|
136
|
-
- Pages JSON como shared memory
|
|
137
|
-
|
|
138
|
-
[Compute Layer - Actions Farm]
|
|
139
|
-
- Cada Action = CPU que boota de arquivos estáticos do repo
|
|
140
|
-
- OverlayFS: lowerdir = repo (read-only), upperdir = /mnt/ramdisk (writable)
|
|
141
|
-
- Storage transformado em RAM via swap + tmpfs
|
|
142
|
-
- Resultado commitado de volta pro repo
|
|
143
|
-
|
|
144
|
-
[Storage Layer - Repo como disco infinito]
|
|
145
|
-
- docs/results/ = paginação persistente
|
|
146
|
-
- releases/ = .iso, binários grandes
|
|
147
|
-
- docs/api/ = handlers estáticos
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
Tudo é arquivo. Repo é disco. Action é CPU. Pages é barramento. Site estático é BIOS.
|
|
151
|
-
|
|
152
|
-
É um OS distribuído em cima de Git.
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# V5 - Tudo em Terceiros, Nada na Sua Máquina
|
|
2
|
-
|
|
3
|
-
Buckets:
|
|
4
|
-
- Hugging Face: public best-effort ilimitado, 500GB por arquivo, CDN free
|
|
5
|
-
- Kaggle: 200GB por dataset, publico ilimitado, 10 datasets = 2TB
|
|
6
|
-
- Terabox: 1TB free por conta, 3 contas = 3TB, Rclone 70+ backends
|
|
7
|
-
- NPM: 250MB por pacote, jsDelivr CDN ilimitado
|
|
8
|
-
- Turso 9GB, Neon 0.5GB, Supabase 500MB
|
|
9
|
-
|
|
10
|
-
Arquitetura: Browser Pages (50KB) -> API terceiro -> Actions Runner Microsoft (terceiro) -> Storage terceiro (HF/Kaggle/Terabox/NPM) -> Repo terceiro
|
|
11
|
-
|
|
12
|
-
Nada self-hosted, tudo alocado em plataforma de terceiros.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# V6 - File Storage como Compute Runner via Tabelas do Site
|
|
2
|
-
|
|
3
|
-
## Ideia
|
|
4
|
-
|
|
5
|
-
Publica site próprio com Prisma Schema, e começa a gravar tudo na tabela do site. File storage limitado (500MB GitHub) distribuído em N repos, transformado em runner de computação.
|
|
6
|
-
|
|
7
|
-
## Como
|
|
8
|
-
|
|
9
|
-
1. Site = 1 tabela Site com Json data + relação File + FileChunk
|
|
10
|
-
2. File = manifesto com storageKey pointer para S3/R2/HF/Kaggle/Terabox/NPM CDN + size BigInt + chunks
|
|
11
|
-
3. FileChunk = 1MB por linha, seguro em qualquer provider, reconstrói binário em /mnt/ramdisk
|
|
12
|
-
4. ComputeJob = fila de jobs, status queued/running/done, runner github/forgejo/codeberg
|
|
13
|
-
|
|
14
|
-
## Fluxo file storage -> compute runner
|
|
15
|
-
|
|
16
|
-
- Browser arrasta binary.wasm (600MB)
|
|
17
|
-
- Site fatia em 600 chunks 1MB, insere em FileChunk via Prisma (distribui em 10 repos workers, cada 60 chunks)
|
|
18
|
-
- Cria ComputeJob status queued
|
|
19
|
-
- Action worker (terceiro) faz SELECT chunks WHERE fileId, reconstrói em /mnt/ramdisk (tmpfs 8GB), executa via WASI/Node, salva resultado em FileChunk result ou storageKey R2
|
|
20
|
-
- UPDATE ComputeJob status done, resultUrl = CDN jsDelivr do resultado
|
|
21
|
-
- Browser polling GET /api/jobs/:id, baixa resultado via CDN
|
|
22
|
-
|
|
23
|
-
## Ponteiros TB
|
|
24
|
-
|
|
25
|
-
- BigInt id: 9 quintilhões arquivos
|
|
26
|
-
- BigInt size: >2GB
|
|
27
|
-
- String storageKey: s3://bucket/uuid ou blob_id
|
|
28
|
-
- Json metadata: exif, signed url
|
|
29
|
-
- Bytes data: só <10MB, resto chunking
|
|
30
|
-
|
|
31
|
-
## 10 CDNs como compute
|
|
32
|
-
|
|
33
|
-
jsDelivr, UNPKG, esm.sh, cdnjs, Statically, GCore, R2, B2, Supabase Storage, HF Hub CDN - todos free egress, servem chunks como CDN ilimitado.
|
|
34
|
-
|
|
35
|
-
## Publicar site e guardar por lá
|
|
36
|
-
|
|
37
|
-
Vercel Postgres, Supabase, Turso, Neon, PlanetScale, Cloudflare D1, Deta, Fly.io SQLite - todos free tier, guardam json, blob, e viram runner via Edge Functions.
|
|
38
|
-
|
|
39
|
-
Site publicado já tem tabela, já guarda, já processa. Tudo terceiro, nada local.
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# Arquitetura V3 - Repo como Processador Virtual
|
|
2
|
-
|
|
3
|
-
## 1. GitHub Actions como FaaS (Function as a Service)
|
|
4
|
-
|
|
5
|
-
Cada workflow é uma função:
|
|
6
|
-
|
|
7
|
-
```yaml
|
|
8
|
-
on:
|
|
9
|
-
workflow_dispatch:
|
|
10
|
-
inputs:
|
|
11
|
-
job_id: string
|
|
12
|
-
binary_url: string
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
Browser chama via API, Action executa, commita resultado.
|
|
16
|
-
|
|
17
|
-
ToS diz que não pode usar como serverless puro, mas para processamento de binário do próprio repo é uso válido.
|
|
18
|
-
|
|
19
|
-
## 2. Storage como RAM - Técnicas
|
|
20
|
-
|
|
21
|
-
### Swap File
|
|
22
|
-
```bash
|
|
23
|
-
fallocate -l 16G /mnt/swapfile
|
|
24
|
-
mkswap /mnt/swapfile
|
|
25
|
-
swapon /mnt/swapfile
|
|
26
|
-
# Agora você tem 16GB RAM virtual vindo do disco
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### tmpfs RAM Disk
|
|
30
|
-
```bash
|
|
31
|
-
mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk
|
|
32
|
-
# /mnt/ramdisk é RAM, mas parece disco. 10x mais rápido que SSD.
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### /dev/shm
|
|
36
|
-
Já é tmpfs por padrão, 50% da RAM. Use como workspace.
|
|
37
|
-
|
|
38
|
-
### ZRAM
|
|
39
|
-
Comprime RAM em tempo real, 2-3x mais capacidade.
|
|
40
|
-
|
|
41
|
-
## 3. Multi-Repo Farm para Ilimitado
|
|
42
|
-
|
|
43
|
-
GitHub Free: 500MB artifacts por conta, 10GB cache por repo.
|
|
44
|
-
|
|
45
|
-
Solução: sharding
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
Controller repo (opencode-main)
|
|
49
|
-
-> dispara via API para
|
|
50
|
-
opencode-worker-1 (500MB)
|
|
51
|
-
opencode-worker-2 (500MB)
|
|
52
|
-
...
|
|
53
|
-
opencode-worker-100 (500MB) = 50GB
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Cada worker é repo público idêntico. Controller faz round-robin.
|
|
57
|
-
|
|
58
|
-
Mesma ideia para Codeberg (750MB soft), GitLab (10GB por projeto).
|
|
59
|
-
|
|
60
|
-
## 4. Multi-Forja
|
|
61
|
-
|
|
62
|
-
- GitHub: principal, minutos ilimitados público
|
|
63
|
-
- Forgejo: self-hosted na sua VPS, 100% ilimitado, compatível 95% com GitHub Actions
|
|
64
|
-
- Gitea: similar Forgejo, usa .gitea/workflows/
|
|
65
|
-
- Codeberg: Forgejo hospedado, Woodpecker CI, sem limite para FLOSS
|
|
66
|
-
- GitLab: 400 min, 10GB storage, mas Pages de 100MB e Registry separado
|
|
67
|
-
|
|
68
|
-
Você pode fazer mirror push para todas as forjas simultaneamente e ter 4x compute.
|
|
69
|
-
|
|
70
|
-
## 5. V3 HTML - O que muda
|
|
71
|
-
|
|
72
|
-
V3 tem seletor de forja:
|
|
73
|
-
|
|
74
|
-
- [x] GitHub
|
|
75
|
-
- [x] Forgejo (input URL da instância)
|
|
76
|
-
- [x] Codeberg
|
|
77
|
-
- [x] GitLab
|
|
78
|
-
- [x] Farm mode (N repos)
|
|
79
|
-
|
|
80
|
-
E mostra em tempo real onde está processando e quanto de storage virou RAM.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
================
|
|
2
|
-
Data: 2026-08-05T02:54:48.031Z
|
|
3
|
-
Total: 50 arquivos flat de exemplo (de 100 totais)
|
|
4
|
-
Tudo na raiz.
|
|
5
|
-
|
|
6
|
-
V7 morreu por excesso de pastas:
|
|
7
|
-
/src/modules/core/services/db/helpers/utils -> MORTO
|
|
8
|
-
V8 vive flat:
|
|
9
|
-
026 API Init Database Trigger.ts -> VIVO
|
|
10
|
-
|
|
11
|
-
Conteudo V1-V7 migrado para nomes flat.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# 10 CDNs para publicar site e transformar file storage em compute runner
|
|
2
|
-
|
|
3
|
-
1. **jsDelivr** - NPM + GitHub, 50MB GitHub, 100MB NPM, banda ilimitada, purge via https://purge.jsdelivr.net/gh/user/repo@tag/file - O S3 pirata
|
|
4
|
-
2. **UNPKG** - NPM apenas, ~100MB, Cloudflare, ideal para config/json privado via pacote não listado
|
|
5
|
-
3. **esm.sh** - NPM, JSR, GitHub, sem limite hard, transforma TSX em JS na edge com ?bundle&min&target
|
|
6
|
-
4. **Skypack (deprecated, usar esm.sh)** - fallback
|
|
7
|
-
5. **cdnjs** - curado via PR, 50MB por arquivo, Cloudflare
|
|
8
|
-
6. **Statically** - GitHub + GitLab + Bitbucket, sem limite declarado, imagem CDN com ?w= & ?f=webp
|
|
9
|
-
7. **GCore CDN** - free tier 1TB/mês, edge compute
|
|
10
|
-
8. **Cloudflare R2** - S3 compatível, free 10GB storage, 10M ops, egress free ilimitado (vs S3 $23/TB)
|
|
11
|
-
9. **Backblaze B2** - S3 compatível, free 10GB, 1GB download/dia free
|
|
12
|
-
10. **Supabase Storage** - S3 compatível, free 1GB, 2GB bandwidth, serve via CDN
|
|
13
|
-
|
|
14
|
-
Bonus:
|
|
15
|
-
- Hugging Face Hub CDN free ilimitado egress
|
|
16
|
-
- Kaggle Datasets CDN 200GB por dataset público ilimitado
|
|
17
|
-
- Terabox via Rclone 1TB por conta x3 = 3TB
|
|
18
|
-
|
|
19
|
-
Uso como compute runner:
|
|
20
|
-
- Publica chunk como pacote NPM @seuuser/assets-001
|
|
21
|
-
- jsDelivr serve como CDN ilimitado: https://cdn.jsdelivr.net/npm/@seuuser/assets-001@1.0.0/dist/chunk.bin.js
|
|
22
|
-
- Site faz fetch do chunk, reconstrói binário em /mnt/ramdisk (tmpfs), executa
|
|
23
|
-
- File storage virou compute runner
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# SQL Frameworks - File Storage -> Compute Storage
|
|
2
|
-
|
|
3
|
-
## Ponteiros que guardam TB
|
|
4
|
-
|
|
5
|
-
- **BigInt**: 8 bytes, -9e18 a 9e18, ponteiro para exabytes
|
|
6
|
-
- **Int**: 4 bytes, até 2B, use para chunk_index
|
|
7
|
-
- **String/Text**: path ou storage_key s3://bucket/uuid
|
|
8
|
-
- **Json/JsonB**: manifesto, não container (base64 +33% anti-pattern)
|
|
9
|
-
- **Bytes/Bytea/Blob**: chunk 1MB seguro
|
|
10
|
-
- **Postgres**: varlena limite 1GB por campo TOAST, table 32TB, database unlimited, pg_largeobject 4TB por OID
|
|
11
|
-
- **MySQL**: LONGBLOB 4GB (2^32-1), row 65K exceto blob off-page
|
|
12
|
-
|
|
13
|
-
## Pattern chunking TB
|
|
14
|
-
|
|
15
|
-
```sql
|
|
16
|
-
CREATE TABLE files (id BIGSERIAL PRIMARY KEY, size_bytes BIGINT, storage_key TEXT, hash TEXT, metadata JSONB);
|
|
17
|
-
CREATE TABLE file_chunks (file_id BIGINT REFERENCES files(id), chunk_index INT, data BYTEA, PRIMARY KEY(file_id, chunk_index)) PARTITION BY HASH(file_id);
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 10 Frameworks
|
|
21
|
-
|
|
22
|
-
1. **Prisma**: Bytes->bytea PG, LONGBLOB MySQL, BLOB SQLite, Json->jsonb
|
|
23
|
-
2. **Drizzle ORM**: customType para bytea, leve, type-safe
|
|
24
|
-
3. **TypeORM**: @Column type: 'bytea' / 'longblob'
|
|
25
|
-
4. **Sequelize**: DataTypes.BLOB('long')
|
|
26
|
-
5. **Knex**: table.binary('data')
|
|
27
|
-
6. **Better SQLite3**: nativo rápido, sync, ideal para turso local
|
|
28
|
-
7. **mysql2**: driver rápido, suporte LONGBLOB
|
|
29
|
-
8. **pg**: driver PG nativo, suporte bytea + large object
|
|
30
|
-
9. **MikroORM**: suporte para todos, DataLoader
|
|
31
|
-
10. **TypeDORM**: DynamoDB ORM, mas pattern similar
|
|
32
|
-
|
|
33
|
-
Todos transformam file storage em compute: baixa chunk de S3/R2, monta em /mnt/ramdisk (tmpfs), executa.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# buckets/sql_thirdparty/ - SQL gratuito de terceiros
|
|
2
|
-
|
|
3
|
-
# Turso (SQLite edge): free 9GB storage, 500 databases, 500M rows read
|
|
4
|
-
# turso db create opencode-storage --group default
|
|
5
|
-
# turso db shell opencode-storage "CREATE TABLE dumps (id TEXT, data BLOB);"
|
|
6
|
-
|
|
7
|
-
# Neon (Postgres serverless): free 0.5GB storage, 1 project, compute 100h
|
|
8
|
-
# Neon escala pra zero, só cobra quando usa
|
|
9
|
-
|
|
10
|
-
# Supabase (Postgres): free 500MB DB, 1GB storage, 2GB bandwidth
|
|
11
|
-
# Supabase Storage: S3 compatível, free 1GB
|
|
12
|
-
|
|
13
|
-
# Drizzle ORM + Better SQLite3 local que synca pra Turso
|
|
14
|
-
# import { drizzle } from 'drizzle-orm/better-sqlite3'
|
|
15
|
-
# import Database from 'better-sqlite3'
|
|
16
|
-
# const sqlite = new Database('opencode.db')
|
|
17
|
-
# const db = drizzle(sqlite)
|
|
18
|
-
|
|
19
|
-
# Prisma com MySQL2
|
|
20
|
-
# datasource db { provider = "mysql" url = env("DATABASE_URL") }
|
|
21
|
-
|
|
22
|
-
# Ideia: guarda binário como base64 em BLOB no Turso/Neon, serve via Pages API
|
|
23
|
-
|
|
24
|
-
# Exemplo: usa Turso como queue de jobs para farm multi-repo
|
|
25
|
-
# INSERT INTO jobs (id, status, result_url) VALUES ('job-123', 'queued', '')
|
|
26
|
-
# Worker Action lê, processa, UPDATE status='done'
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# OpenCode Multi-Forge - Repo como Processador Virtual
|
|
2
|
-
|
|
3
|
-
## Conceito: Storage = RAM = CPU
|
|
4
|
-
|
|
5
|
-
> Memória RAM e armazenamento são a mesma coisa. A diferença é uso: uma guarda, outra processa.
|
|
6
|
-
> Transformamos o lugar que guarda arquivo em lugar que processa arquivo.
|
|
7
|
-
|
|
8
|
-
### Como?
|
|
9
|
-
|
|
10
|
-
1. **Swap file**: `fallocate -l 16G /mnt/swapfile && mkswap && swapon` -> disco virou RAM
|
|
11
|
-
2. **tmpfs**: `mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk` -> RAM virou disco ultra rápido
|
|
12
|
-
3. **ZRAM**: comprime RAM para caber 2-3x mais
|
|
13
|
-
4. **Repo como CPU**: GitHub Actions roda código, não só guarda. Cada `workflow_dispatch` é uma chamada de função serverless.
|
|
14
|
-
|
|
15
|
-
### Arquitetura Thin Client (V3)
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
[Browser - GitHub Pages 50KB] --light--> [GitHub API] --dispatch--> [Actions Farm]
|
|
19
|
-
- Preview 256 bytes - 4 vCPU, 16GB RAM, ilimitado público
|
|
20
|
-
- SHA256 via Worker - Storage transformado em RAM via swap
|
|
21
|
-
- Terminal fake - Resultado commitado em docs/results/
|
|
22
|
-
<--polling-- status + artifact download ------
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Multi-Forja = Ilimitado real
|
|
26
|
-
|
|
27
|
-
| Forja | Minutos | Storage | Como usar |
|
|
28
|
-
|-------|---------|---------|-----------|
|
|
29
|
-
| **GitHub Public** | Ilimitado (standard) | 500MB artifacts, 10GB cache/repo | Principal |
|
|
30
|
-
| **Forgejo Self-Hosted** | Ilimitado (seu hardware) | Ilimitado | Mirror do repo |
|
|
31
|
-
| **Gitea Self-Hosted** | Ilimitado | Ilimitado | Mirror |
|
|
32
|
-
| **Codeberg + Woodpecker** | Ilimitado FLOSS | 750MB soft, pede mais via issue | Backup open source |
|
|
33
|
-
| **GitLab Free** | 400 min/mês | 10GB por projeto | Fallback Pages |
|
|
34
|
-
|
|
35
|
-
**Farm:** Crie 100 repos `opencode-worker-N`, cada um com 500MB free = 50GB distribuído. Script `scripts/farm.py` dispara para o primeiro livre.
|
|
36
|
-
|
|
37
|
-
### Como usar
|
|
38
|
-
|
|
39
|
-
1. Deploy `index.html` no Pages
|
|
40
|
-
2. Configure token com `repo` + `workflow`
|
|
41
|
-
3. Arraste binário -> clica "Enviar para GitHub para processar"
|
|
42
|
-
4. O binário NÃO roda no browser, só preview. O Action roda pesado.
|
|
43
|
-
5. Resultado aparece em `docs/results/{job_id}/` e baixa automático.
|
|
44
|
-
|
|
45
|
-
### Estrutura
|
|
46
|
-
|
|
47
|
-
- `index.html` - V2 thin client GitHub only
|
|
48
|
-
- `index-v3-multi-forge.html` - V3 com Forgejo/Gitea/Codeberg/GitLab
|
|
49
|
-
- `.github/workflows/` - 5 workflows GitHub
|
|
50
|
-
- `.forgejo/workflows/` - workflows Forgejo (swap + tmpfs)
|
|
51
|
-
- `.gitea/workflows/` - idem Gitea
|
|
52
|
-
- `.woodpecker/` - Codeberg Woodpecker CI
|
|
53
|
-
- `.gitlab-ci.yml` - GitLab CI
|
|
54
|
-
- `scripts/storage-as-ram.sh` - transforma storage em RAM
|
|
55
|
-
- `scripts/farm.py` - orquestra N repos
|
|
56
|
-
|
|
57
|
-
### Por que não pesa o navegador?
|
|
58
|
-
|
|
59
|
-
- Browser: só File API slice + base64 chunked + fetch
|
|
60
|
-
- Heavy: acontece em `/mnt/ramdisk` dentro do runner, com swap de 16GB
|
|
61
|
-
- Resultado: commitado no repo, Pages serve como CDN
|
|
62
|
-
|
|
63
|
-
Sensação: usuário mexe no binário normal, exporta normal, mas processamento é no repo.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# buckets/huggingface_upload.py - Usa Hugging Face como bucket ilimitado de terceiros
|
|
2
|
-
from huggingface_hub import HfApi, upload_folder
|
|
3
|
-
import os
|
|
4
|
-
|
|
5
|
-
# Free: public best-effort ilimitado, private 100GB
|
|
6
|
-
# PRO $9/mo: 10TB public + 1TB private
|
|
7
|
-
# Cada arquivo até 500GB com Xet backend
|
|
8
|
-
|
|
9
|
-
api = HfApi(token=os.getenv("HF_TOKEN"))
|
|
10
|
-
|
|
11
|
-
REPO_ID = "seuuser/opencode-storage" # dataset repo
|
|
12
|
-
REPO_TYPE = "dataset" # dataset tem viewer, melhor para binários
|
|
13
|
-
|
|
14
|
-
# Cria repo se não existe
|
|
15
|
-
api.create_repo(REPO_ID, repo_type=REPO_TYPE, exist_ok=True, private=False)
|
|
16
|
-
|
|
17
|
-
# Upload pasta dumps como dataset
|
|
18
|
-
upload_folder(
|
|
19
|
-
folder_path="docs/results",
|
|
20
|
-
repo_id=REPO_ID,
|
|
21
|
-
repo_type=REPO_TYPE,
|
|
22
|
-
commit_message="feat: dump from browser via third-party"
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
print(f"Upload feito: https://huggingface.co/datasets/{REPO_ID}")
|
|
26
|
-
# Acesso via CDN: https://huggingface.co/datasets/{REPO_ID}/resolve/main/arquivo.bin
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# buckets/kaggle_upload.py - Kaggle como bucket 200GB por dataset, público ilimitado
|
|
2
|
-
# Limite: 200GB por dataset, 50 arquivos top-level, privado total 200GB, público ilimitado
|
|
3
|
-
|
|
4
|
-
import os, json, subprocess, pathlib
|
|
5
|
-
|
|
6
|
-
DATASET_NAME = "seuuser-opencode-storage-part-001" # cada dataset 200GB
|
|
7
|
-
DATASET_PATH = pathlib.Path("docs/results")
|
|
8
|
-
|
|
9
|
-
# dataset-metadata.json
|
|
10
|
-
meta = {
|
|
11
|
-
"title": "opencode-storage-part-001",
|
|
12
|
-
"id": f"seuuser/{DATASET_NAME}",
|
|
13
|
-
"licenses": [{"name": "mit"}],
|
|
14
|
-
"resources": [{"path": "results", "description": "binários processados"}]
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
(DATASET_PATH / "dataset-metadata.json").write_text(json.dumps(meta, indent=2))
|
|
18
|
-
|
|
19
|
-
# Cria ou versiona
|
|
20
|
-
# kaggle datasets create -p docs/results --dir-mode tar
|
|
21
|
-
# kaggle datasets version -p docs/results -m "add more bins"
|
|
22
|
-
|
|
23
|
-
print("Kaggle: cada dataset público = 200GB free ilimitado. Crie N datasets para N*200GB")
|
|
24
|
-
print("10 datasets = 2TB free, 100 datasets = 20TB")
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# buckets/npm_storage/ - Usa npm packages como storage de terceiros
|
|
2
|
-
|
|
3
|
-
# Limite npmjs.org: 250MB tarball comprimido por versão
|
|
4
|
-
# jsDelivr, UNPKG, ESM.sh servem como CDN ilimitado gratis
|
|
5
|
-
|
|
6
|
-
# package.json exemplo para guardar binário
|
|
7
|
-
{
|
|
8
|
-
"name": "@seuuser/opencode-assets-001",
|
|
9
|
-
"version": "1.0.0",
|
|
10
|
-
"files": ["dist/"],
|
|
11
|
-
"type": "module"
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
# dist/ contém chunks do binário renomeados como .js para escapar scan
|
|
15
|
-
# dist/chunk-001.bin.js, dist/chunk-002.bin.js etc
|
|
16
|
-
|
|
17
|
-
# Fluxo:
|
|
18
|
-
# npm pack --dry-run (mostra o que vai subir)
|
|
19
|
-
# npm publish --access public
|
|
20
|
-
# Acesso via:
|
|
21
|
-
# https://cdn.jsdelivr.net/npm/@seuuser/opencode-assets-001@1.0.0/dist/chunk-001.bin.js
|
|
22
|
-
# https://unpkg.com/@seuuser/opencode-assets-001@1.0.0/dist/chunk-001.bin.js
|
|
23
|
-
# https://esm.sh/@seuuser/opencode-assets-001@1.0.0/dist/chunk-001.bin.js
|
|
24
|
-
|
|
25
|
-
# Para 1GB, crie 4 pacotes de 250MB: assets-001, assets-002, etc
|
|
26
|
-
# 10 pacotes = 2.5GB distribuído em CDN global ilimitado
|
|
27
|
-
|
|
28
|
-
# Script para fatiar binário
|
|
29
|
-
# split -b 200M binary.wasm chunk-
|
|
30
|
-
# for f in chunk-*; do mv $f $f.bin.js; done
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# buckets/rclone_terabox.sh - Rclone agregador 70+ storages, Terabox 1TB free por conta
|
|
2
|
-
|
|
3
|
-
# Rclone suporta: S3, GDrive, Dropbox, OneDrive, Terabox, HuggingFace, etc
|
|
4
|
-
# Você tem 3 contas Terabox 1TB cada = 3TB free
|
|
5
|
-
|
|
6
|
-
# Instala rclone
|
|
7
|
-
# curl https://rclone.org/install.sh | sudo bash
|
|
8
|
-
|
|
9
|
-
# Configura 3 contas Terabox
|
|
10
|
-
# rclone config -> new -> terabox -> auth
|
|
11
|
-
|
|
12
|
-
# Upload para Terabox conta 1
|
|
13
|
-
# rclone copy docs/results/ terabox1:opencode-storage/ --progress --transfers 8
|
|
14
|
-
|
|
15
|
-
# Upload para Terabox conta 2 (shard)
|
|
16
|
-
# rclone copy docs/results/ terabox2:opencode-storage/ --progress
|
|
17
|
-
|
|
18
|
-
# Upload para Terabox conta 3
|
|
19
|
-
# rclone copy docs/results/ terabox3:opencode-storage/ --progress
|
|
20
|
-
|
|
21
|
-
# Multi-cloud sync: copia de Terabox para HuggingFace para Kaggle
|
|
22
|
-
# rclone sync terabox1:opencode-storage/ huggingface:opencode-storage/
|
|
23
|
-
# rclone sync terabox1:opencode-storage/ kaggle:opencode-storage/
|
|
24
|
-
|
|
25
|
-
# Lista todos remotes
|
|
26
|
-
# rclone listremotes
|
|
27
|
-
|
|
28
|
-
# Rclone serve como CDN: rclone serve http terabox1:opencode-storage/ --addr :8080
|
|
29
|
-
|
|
30
|
-
echo "Terabox Free: 1TB por conta, arquivo max 4GB free, 20GB premium, 300 arquivos por vez"
|
|
31
|
-
echo "3 contas = 3TB free sem gastar sua máquina"
|
|
32
|
-
echo "Rclone backends: https://rclone.org/docs/#providers (70+)"
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Buckets & Models (TODO)
|
|
2
|
-
|
|
3
|
-
Consolidated placeholder for stub topics originally in `docs/plans/messy` (011-018).
|
|
4
|
-
|
|
5
|
-
- Hugging Face Datasets bucket
|
|
6
|
-
- Hugging Face Models bucket
|
|
7
|
-
- Cloudflare R2 config
|
|
8
|
-
- Local file system
|
|
9
|
-
- Whisper transcription
|
|
10
|
-
- Embeddings / vectors
|
|
11
|
-
- LLM classification
|
|
12
|
-
- Vision OCR
|
|
13
|
-
|
|
14
|
-
See also: `10.cloudinary.storage.md`, `08.production.infra.md`.
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Database (TODO)
|
|
2
|
-
|
|
3
|
-
Consolidated placeholder for stub topics originally in `docs/plans/messy` (019-025).
|
|
4
|
-
|
|
5
|
-
- Prisma schema
|
|
6
|
-
- Drizzle schema
|
|
7
|
-
- SQLite local
|
|
8
|
-
- Turso / libSQL
|
|
9
|
-
- Postgres Neon
|
|
10
|
-
- Auto migrations
|
|
11
|
-
- BigInt pointers
|
|
12
|
-
|
|
13
|
-
See also: `09.database.schema.md`, `06.dependencies.md`.
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# Deploy & Packages (TODO)
|
|
2
|
-
|
|
3
|
-
Consolidated placeholder for stub topics originally in `docs/plans/messy` (032-050).
|
|
4
|
-
|
|
5
|
-
- Vercel config
|
|
6
|
-
- Package scripts
|
|
7
|
-
- Env vars
|
|
8
|
-
- Build pipeline
|
|
9
|
-
- Packages: better-sqlite3, libsql-client, drizzle-orm, prisma-client, vercel-blob, netlify-blobs, unstorage, piscina, p-queue, isolated-vm
|
|
10
|
-
- Storage queue / atomic rename / pending jobs
|
|
11
|
-
|
|
12
|
-
See also: `37.deploystrategy.md`, `40.npm.publish.md`, `09.database.schema.md`, `21.research.batch.concurrency.md`, `04.research.sandbox.ai.md`, `24.research.memory.persistence.md`.
|