@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,690 +0,0 @@
|
|
|
1
|
-
# assistant
|
|
2
|
-
|
|
3
|
-
[Thinking] The user is asking me to create a comprehensive plan for building a platform that:
|
|
4
|
-
|
|
5
|
-
Uses various memory/storage technologies (RAM, VRAM, GPU, VM, etc.) to run sandboxes, Linux, Docker, terminals, scripts, binaries, processes, packages, libraries, and frameworks
|
|
6
|
-
Converts storage into RAM/memory and vice versa
|
|
7
|
-
Creates a sandbox platform using GitHub, GitLab, Forgejo, Gitea, Codeberg and other repositories
|
|
8
|
-
Each sandbox should have a timeline, pipeline, and cron job
|
|
9
|
-
Replicates Z.ai infrastructure for running Linux, Docker, and sandboxes
|
|
10
|
-
Uses free infrastructure from various repositories
|
|
11
|
-
Has8GB RAM quota and 8GB system memory quota
|
|
12
|
-
Deploys to multiple platforms (GitLab, GitHub, Gitea, Forgejo, Hugging Face, ModelScope, Vercel, Netlify)
|
|
13
|
-
Integrates with Drizzle ORM, Prisma SQL, mysql2, Node.js tools, Python and Rust libraries
|
|
14
|
-
Uses NPM packages and CDNs for distribution11. The user is on Windows PowerShell and wants to execute Linux scripts
|
|
15
|
-
|
|
16
|
-
This is a very ambitious and complex project. Let me research and plan this systematically. I need to:
|
|
17
|
-
|
|
18
|
-
Research the technologies mentioned
|
|
19
|
-
Research existing sandbox solutions
|
|
20
|
-
Research memory/storage conversion techniques
|
|
21
|
-
Create a comprehensive plan
|
|
22
|
-
Provide step-by-step implementation
|
|
23
|
-
|
|
24
|
-
Let me start by researching the key components.
|
|
25
|
-
|
|
26
|
-
[Thinking] The user is asking for a very complex project involving:
|
|
27
|
-
|
|
28
|
-
Converting storage to RAM/virtual memory for sandboxes
|
|
29
|
-
Creating a platform with containers and sandboxes using GitHub, GitLab, Forgejo, Gitea, Codeberg, etc.
|
|
30
|
-
Each sandbox having a timeline, pipeline, and cron job
|
|
31
|
-
Replicating Z.ai infrastructure for Linux, Docker, and sandboxes
|
|
32
|
-
Using free infrastructure from repositories
|
|
33
|
-
8GB RAM quota and 8GB system memory quota
|
|
34
|
-
Deploying to multiple platforms
|
|
35
|
-
Integrating with Drizzle ORM, Prisma, mysql2, Node.js tools, Python and Rust libraries
|
|
36
|
-
|
|
37
|
-
Let me research more specific topics to understand the feasibility and implementation approach.
|
|
38
|
-
|
|
39
|
-
[Thinking] The user is asking me to create a comprehensive plan for building a platform that uses memory/storage conversion to run sandboxes, Linux, Docker, and other environments. They want to use free infrastructure from GitHub, GitLab, Forgejo, Gitea, Codeberg, and other platforms.
|
|
40
|
-
Let me research more to understand the specific technologies and approaches needed for this project.
|
|
41
|
-
|
|
42
|
-
[Thinking] This is a very complex request. The user is asking me to research and plan a comprehensive platform that:
|
|
43
|
-
|
|
44
|
-
Uses various memory/storage technologies (RAM, VRAM, GPU, VM, etc.) to run sandboxes, Linux, Docker, etc.
|
|
45
|
-
Creates a platform with containers and sandboxes using GitHub, GitLab, Forgejo, Gitea, Codeberg, etc.
|
|
46
|
-
Each sandbox has a timeline, pipeline, and cron job
|
|
47
|
-
Uses free infrastructure from repositories
|
|
48
|
-
5.8GB RAM quota and 8GB system memory quota
|
|
49
|
-
Converts storage into memory (the key concept)
|
|
50
|
-
|
|
51
|
-
Let me summarize what I've learned from the research:
|
|
52
|
-
Key Findings:
|
|
53
|
-
Memory/Storage Conversion Technologies:
|
|
54
|
-
|
|
55
|
-
nbd-vram - Uses NVIDIA GPU VRAM as swap space on Linux (converts VRAM to storage/RAM)
|
|
56
|
-
StorageLLM - MoE-native storage offloading engine that treats storage as a memory tier
|
|
57
|
-
Blowfish - Elastic VM memory for disaggregated memory
|
|
58
|
-
virtual-context - Virtual memory for AI context management
|
|
59
|
-
DiskLLM - Run LLMs using SSD instead of RAM (57x less RAM needed)
|
|
60
|
-
m-store - Zero-kernel, RDMA-first data plane that bridges GPU VRAM, NVMe, and CXL memory
|
|
61
|
-
|
|
62
|
-
Sandbox Platforms:
|
|
63
|
-
|
|
64
|
-
Firecracker - Lightweight microVMs (used by AWS Lambda, <5MB overhead, 125ms boot)
|
|
65
|
-
|
|
66
|
-
Lambda MicroVMs - AWS service for isolated sandboxes
|
|
67
|
-
|
|
68
|
-
Treadstone - Agent-native sandbox infrastructure
|
|
69
|
-
|
|
70
|
-
DAIV - Self-hosted SWE agents for GitLab & GitHub
|
|
71
|
-
|
|
72
|
-
Sandcastle - Provider-agnostic sandbox for coding agents
|
|
73
|
-
|
|
74
|
-
Clampdown - Run AI coding agents in hardened container sandboxes
|
|
75
|
-
|
|
76
|
-
E2B - Cloud-based isolated execution environment
|
|
77
|
-
|
|
78
|
-
SandboxFusion - Secure sandbox for running LLM-generated code
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
Git-native Scheduling:
|
|
82
|
-
|
|
83
|
-
gitcron - Git-native scheduling, tasks, and reminders2. cronai - Cron for AI agents
|
|
84
|
-
Labro - Runs AI coding agents on a schedule
|
|
85
|
-
CronFoundry - Self-hostable, GitOps-style scheduler for LLM skills
|
|
86
|
-
|
|
87
|
-
GitHub Actions Free Tier:
|
|
88
|
-
|
|
89
|
-
Public repos: Free unlimited minutes
|
|
90
|
-
Private repos: 2,000 minutes/month, 500 MB artifact storage, 10 GB cache
|
|
91
|
-
Self-hosted runners: Free (no orchestration fees)
|
|
92
|
-
|
|
93
|
-
Key Architecture Concepts:
|
|
94
|
-
|
|
95
|
-
Storage as RAM - Using mmap, swap, NBD to convert storage to memory
|
|
96
|
-
WebAssembly - Sandboxed execution with linear memory
|
|
97
|
-
Firecracker microVMs - Lightweight VM isolation
|
|
98
|
-
GitOps pipelines - Automated workflows via Git repositories
|
|
99
|
-
|
|
100
|
-
I need to create a comprehensive plan that addresses the user's requirements while being realistic about what's achievable. The user wants to:
|
|
101
|
-
|
|
102
|
-
Use storage as RAM/memory for sandboxes
|
|
103
|
-
Leverage free infrastructure from Git platforms
|
|
104
|
-
Create a platform with containers and sandboxes
|
|
105
|
-
Each sandbox has timeline, pipeline, and cron job
|
|
106
|
-
8GB RAM and 8GB system memory quotas
|
|
107
|
-
|
|
108
|
-
Let me create a structured plan.
|
|
109
|
-
|
|
110
|
-
Entendi o projeto ambicioso. Vou pesquisar e criar um plano completo para essa plataforma de sandbox com conversão de memória/ARMazenamento.
|
|
111
|
-
|
|
112
|
-
Let me continue researching the specific components needed for this platform.
|
|
113
|
-
|
|
114
|
-
Plataforma de Sandbox com Conversão de Memória/ARMazenamento
|
|
115
|
-
Resumo da Pesquisa
|
|
116
|
-
Baseado nas 40 pesquisas realizadas, identifiquei as seguintes tecnologias-chave:
|
|
117
|
-
|
|
118
|
-
1. Tecnologias de Conversão Armazenamento → RAM
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
Tecnologia
|
|
123
|
-
Descrição
|
|
124
|
-
Status
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
nbd-vram
|
|
129
|
-
Converte VRAM GPU em swap (Linux)
|
|
130
|
-
Open source, MIT
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
StorageLLM
|
|
134
|
-
Offloading de storage para memória (MoE)
|
|
135
|
-
Open source
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
DiskLLM
|
|
139
|
-
Roda LLMs usando SSD em vez de RAM (57x menos RAM)
|
|
140
|
-
Open source, MIT
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
m-store
|
|
144
|
-
Zero-kernel, RDMA-first, bridge GPU VRAM + NVMe + CXL
|
|
145
|
-
Open source
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
Blowfish
|
|
149
|
-
VM memory overcommitment via disaggregated memory
|
|
150
|
-
Open source, Apache 2.0
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
virtual-context
|
|
154
|
-
Virtual memory para AI context management
|
|
155
|
-
Open source
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
2. Plataformas de Sandbox
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
Plataforma
|
|
164
|
-
Tipo
|
|
165
|
-
Custo
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
Firecracker
|
|
170
|
-
microVM (KVM)
|
|
171
|
-
Open source, AWS Lambda
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
Lambda MicroVMs
|
|
175
|
-
Sandbox gerenciado
|
|
176
|
-
Pago (AWS)
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Treadstone
|
|
180
|
-
Agent-native sandbox
|
|
181
|
-
Open source
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
DAIV
|
|
185
|
-
SWE agents para GitLab/GitHub
|
|
186
|
-
Open source
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
Sandcastle
|
|
190
|
-
Provider-agnostic sandbox
|
|
191
|
-
Open source
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
Clampdown
|
|
195
|
-
Hardened container sandboxes
|
|
196
|
-
Open source
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
E2B
|
|
200
|
-
Cloud sandbox
|
|
201
|
-
Free tier disponível
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
SandboxFusion
|
|
205
|
-
Secure sandbox para código LLM
|
|
206
|
-
Open source
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
3. Git-native Scheduling (Cron + Pipelines)
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
Ferramenta
|
|
215
|
-
Descrição
|
|
216
|
-
Plataformas
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
gitcron
|
|
221
|
-
Cron para AI agents via GitHub Actions
|
|
222
|
-
GitHub
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
cronai
|
|
226
|
-
Cron para Claude agents
|
|
227
|
-
GitHub
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
Labro
|
|
231
|
-
AI agents em schedule via GitHub
|
|
232
|
-
GitHub
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
CronFoundry
|
|
236
|
-
GitOps scheduler para LLM skills
|
|
237
|
-
GitHub, Azure
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
GitLab Schedules
|
|
241
|
-
Pipelines agendadas nativas
|
|
242
|
-
GitLab
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
4. Infraestrutura Gratuita Disponível
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
Plataforma
|
|
251
|
-
Minutos Grátis
|
|
252
|
-
Armazenamento
|
|
253
|
-
Cache
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
GitHub Free
|
|
258
|
-
2,000 min/mês
|
|
259
|
-
500 MB
|
|
260
|
-
10 GB/repo
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
GitHub (public)
|
|
264
|
-
Ilimitado
|
|
265
|
-
Ilimitado
|
|
266
|
-
Ilimitado
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
GitLab Free
|
|
270
|
-
400 min/mês
|
|
271
|
-
5 GB
|
|
272
|
-
10 GB
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
Forgejo/Gitea
|
|
276
|
-
Self-hosted
|
|
277
|
-
Ilimitado
|
|
278
|
-
Ilimitado
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
Codeberg
|
|
282
|
-
Self-hosted (5 GB)
|
|
283
|
-
5 GB
|
|
284
|
-
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
Hugging Face
|
|
288
|
-
Free tier
|
|
289
|
-
50 GB
|
|
290
|
-
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
5. Stack Tecnológico Proposta
|
|
295
|
-
Camada 1: Conversão de Memória
|
|
296
|
-
|
|
297
|
-
WebAssembly (WASM) para sandbox isolado com memória linear
|
|
298
|
-
Firecracker para microVMs com <5MB overhead
|
|
299
|
-
mmap + NBD para converter storage em RAM virtual
|
|
300
|
-
|
|
301
|
-
Camada 2: Orquestração
|
|
302
|
-
|
|
303
|
-
GitHub Actions (public = gratuito) para pipelines
|
|
304
|
-
gitcron ou cronai para agendamento
|
|
305
|
-
Docker para containerização
|
|
306
|
-
|
|
307
|
-
Camada 3: Armazenamento
|
|
308
|
-
|
|
309
|
-
Drizzle ORM + mysql2 para banco de dados
|
|
310
|
-
GitHub/GitLab repos como storage distribuído
|
|
311
|
-
CDN jsDelivr/esm para distribuição de pacotes
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
6. Arquitetura do Sistema
|
|
315
|
-
┌─────────────────────────────────────────────────────────┐
|
|
316
|
-
│ SANDPLATFORM │
|
|
317
|
-
├─────────────────────────────────────────────────────────┤
|
|
318
|
-
│ │
|
|
319
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
320
|
-
│ │ GitHub │ │ GitLab │ │ Forgejo/ │ │
|
|
321
|
-
│ │ Actions │ │ Pipelines │ │ Gitea │ │
|
|
322
|
-
│ │ (Gratuito) │ │ (Gratuito) │ │ (Self-host)│ │
|
|
323
|
-
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
|
|
324
|
-
│ │ │ │ │
|
|
325
|
-
│ └────────────────┼────────────────┘ │
|
|
326
|
-
│ │ │
|
|
327
|
-
│ ┌───────────────────────▼───────────────────────┐ │
|
|
328
|
-
│ │ ORQUESTRADOR DE SANDBOX │ │
|
|
329
|
-
│ │ - Cron jobs por sandbox │ │
|
|
330
|
-
│ │ - Timeline de execução │ │
|
|
331
|
-
│ │ - Pipelines automáticas │ │
|
|
332
|
-
│ └───────────────────────┬───────────────────────┘ │
|
|
333
|
-
│ │ │
|
|
334
|
-
│ ┌───────────────────────▼───────────────────────┐ │
|
|
335
|
-
│ │ CAMADA DE MEMÓRIA VIRTUAL │ │
|
|
336
|
-
│ │ - WebAssembly (sandbox isolado) │ │
|
|
337
|
-
│ │ - Firecracker (microVM) │ │
|
|
338
|
-
│ │ - mmap/NBD (storage → RAM) │ │
|
|
339
|
-
│ │ - VRAM swap (GPU → RAM) │ │
|
|
340
|
-
│ └───────────────────────┬───────────────────────┘ │
|
|
341
|
-
│ │ │
|
|
342
|
-
│ ┌───────────────────────▼───────────────────────┐ │
|
|
343
|
-
│ │ ARMAZENAMENTO DISTRIBUÍDO │ │
|
|
344
|
-
│ │ - GitHub/GitLab repos (5-50 GB grátis) │ │
|
|
345
|
-
│ │ - Hugging Face (50 GB grátis) │ │
|
|
346
|
-
│ │ - CDN jsDelivr (execução a qualquer momento) │ │
|
|
347
|
-
│ │ - Drizzle ORM + mysql2 (banco de dados) │ │
|
|
348
|
-
│ └───────────────────────────────────────────────┘ │
|
|
349
|
-
│ │
|
|
350
|
-
└─────────────────────────────────────────────────────────┘
|
|
351
|
-
|
|
352
|
-
7. Implementação Passo a Passo
|
|
353
|
-
Fase 1: Infraestrutura Base (Semana 1-2)
|
|
354
|
-
1.1 Criar repositório no GitHub (público = gratuito)
|
|
355
|
-
# Repositório público para a plataforma
|
|
356
|
-
gh repo create sandplatform --public --description "Sandbox platform with memory conversion"
|
|
357
|
-
1.2 Configurar Dockerfile base
|
|
358
|
-
FROM ubuntu:22.04
|
|
359
|
-
# Instalar dependências
|
|
360
|
-
RUN apt-get update && apt-get install -y \
|
|
361
|
-
docker.io \
|
|
362
|
-
git \
|
|
363
|
-
nodejs \
|
|
364
|
-
npm \
|
|
365
|
-
python3 \
|
|
366
|
-
rustc \
|
|
367
|
-
gcc \
|
|
368
|
-
make
|
|
369
|
-
|
|
370
|
-
# Instalar Firecracker
|
|
371
|
-
RUN curl -fsSL -o firecracker \
|
|
372
|
-
https://github.com/firecracker-microvm/firecracker/releases/download/v1.7.0/firecracker-v1.7.0-x86_64 && \
|
|
373
|
-
chmod +x firecracker && mv firecracker /usr/local/bin/
|
|
374
|
-
|
|
375
|
-
# Instalar WASM runtime
|
|
376
|
-
RUN curl https://get.wasmer.io -sSfL | sh
|
|
377
|
-
|
|
378
|
-
WORKDIR /app
|
|
379
|
-
1.3 Criar schema do banco com Drizzle ORM
|
|
380
|
-
// src/db/schema.ts
|
|
381
|
-
import { mysqlTable, int, varchar, timestamp, text } from 'drizzle-orm/mysql-core';
|
|
382
|
-
|
|
383
|
-
export const sandboxes = mysqlTable('sandboxes', {
|
|
384
|
-
id: int('id').primaryKey().autoincrement(),
|
|
385
|
-
name: varchar('name', { length: 255 }).notNull(),
|
|
386
|
-
status: varchar('status', { length: 50 }).default('pending'),
|
|
387
|
-
memoryQuota: int('memory_quota').default(8192), // 8GB em MB
|
|
388
|
-
storageQuota: int('storage_quota').default(8192),
|
|
389
|
-
createdAt: timestamp('created_at').defaultNow(),
|
|
390
|
-
repoUrl: varchar('repo_url', { length: 500 }),
|
|
391
|
-
});
|
|
392
|
-
|
|
393
|
-
export const pipelines = mysqlTable('pipelines', {
|
|
394
|
-
id: int('id').primaryKey().autoincrement(),
|
|
395
|
-
sandboxId: int('sandbox_id').references(() => sandboxes.id),
|
|
396
|
-
cronExpression: varchar('cron_expression', { length: 100 }),
|
|
397
|
-
lastRun: timestamp('last_run'),
|
|
398
|
-
nextRun: timestamp('next_run'),
|
|
399
|
-
status: varchar('status', { length: 50 }).default('active'),
|
|
400
|
-
});
|
|
401
|
-
Fase 2: Conversão de Memória (Semana 3-4)
|
|
402
|
-
2.1 Módulo de Storage → RAM
|
|
403
|
-
// src/memory/storage-to-ram.ts
|
|
404
|
-
import { createHash } from 'crypto';
|
|
405
|
-
import { readFile, writeFile } from 'fs/promises';
|
|
406
|
-
|
|
407
|
-
export class StorageToRamConverter {
|
|
408
|
-
private cache: Map<string, Buffer> = new Map();
|
|
409
|
-
private maxCacheSize: number = 8 * 1024 * 1024 * 1024; // 8GB
|
|
410
|
-
|
|
411
|
-
async convertToRam(filePath: string): Promise<Buffer> {
|
|
412
|
-
const hash = createHash('md5').update(filePath).digest('hex');
|
|
413
|
-
|
|
414
|
-
if (this.cache.has(hash)) {
|
|
415
|
-
return this.cache.get(hash)!;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
const data = await readFile(filePath);
|
|
419
|
-
|
|
420
|
-
if (this.getCacheSize() + data.length > this.maxCacheSize) {
|
|
421
|
-
this.evictLeastUsed();
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
this.cache.set(hash, data);
|
|
425
|
-
return data;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
async convertToStorage(key: string, data: Buffer): Promise<void> {
|
|
429
|
-
const hash = createHash('md5').update(key).digest('hex');
|
|
430
|
-
await writeFile(`/tmp/storage/${hash}`, data);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
private getCacheSize(): number {
|
|
434
|
-
let size = 0;
|
|
435
|
-
for (const buffer of this.cache.values()) {
|
|
436
|
-
size += buffer.length;
|
|
437
|
-
}
|
|
438
|
-
return size;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
private evictLeastUsed(): void {
|
|
442
|
-
const firstKey = this.cache.keys().next().value;
|
|
443
|
-
if (firstKey) {
|
|
444
|
-
this.cache.delete(firstKey);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
2.2 WebAssembly Sandbox Runner
|
|
449
|
-
// src/sandbox/wasm-runner.ts
|
|
450
|
-
export class WasmSandbox {
|
|
451
|
-
private memory: WebAssembly.Memory;
|
|
452
|
-
private instance: WebAssembly.Instance | null = null;
|
|
453
|
-
|
|
454
|
-
constructor(initialPages: number = 1024) { // 64MB initial
|
|
455
|
-
this.memory = new WebAssembly.Memory({
|
|
456
|
-
initial: initialPages,
|
|
457
|
-
maximum: 131072, // 8GB max
|
|
458
|
-
});
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
async instantiate(wasmBinary: ArrayBuffer): Promise<void> {
|
|
462
|
-
const importObject = {
|
|
463
|
-
env: {
|
|
464
|
-
memory: this.memory,
|
|
465
|
-
},
|
|
466
|
-
};
|
|
467
|
-
|
|
468
|
-
this.instance = await WebAssembly.instantiate(wasmBinary, importObject);
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
getMemoryBuffer(): ArrayBuffer {
|
|
472
|
-
return this.memory.buffer;
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
growMemory(pages: number): number {
|
|
476
|
-
return this.memory.grow(pages);
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
Fase 3: Orquestração com Git (Semana 5-6)
|
|
480
|
-
3.1 Git-native Cron System
|
|
481
|
-
# .github/workflows/sandbox-cron.yml
|
|
482
|
-
name: Sandbox Cron Jobs
|
|
483
|
-
|
|
484
|
-
on:
|
|
485
|
-
schedule:
|
|
486
|
-
- cron: '*/5 * * * *' # A cada 5 minutos
|
|
487
|
-
|
|
488
|
-
jobs:
|
|
489
|
-
check-sandboxes:
|
|
490
|
-
runs-on: ubuntu-latest
|
|
491
|
-
steps:
|
|
492
|
-
- uses: actions/checkout@v4
|
|
493
|
-
|
|
494
|
-
- name: Setup Node.js
|
|
495
|
-
uses: actions/setup-node@v4
|
|
496
|
-
with:
|
|
497
|
-
node-version: '20'
|
|
498
|
-
|
|
499
|
-
- name: Install dependencies
|
|
500
|
-
run: npm ci
|
|
501
|
-
|
|
502
|
-
- name: Check and execute sandbox crons
|
|
503
|
-
run: |
|
|
504
|
-
node scripts/check-crons.js
|
|
505
|
-
env:
|
|
506
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
507
|
-
|
|
508
|
-
- name: Upload results
|
|
509
|
-
uses: actions/upload-artifact@v4
|
|
510
|
-
with:
|
|
511
|
-
name: cron-results
|
|
512
|
-
path: results/
|
|
513
|
-
3.2 Sandbox Manager
|
|
514
|
-
// src/sandbox/manager.ts
|
|
515
|
-
import { Octokit } from '@octokit/rest';
|
|
516
|
-
|
|
517
|
-
export class SandboxManager {
|
|
518
|
-
private octokit: Octokit;
|
|
519
|
-
|
|
520
|
-
constructor(token: string) {
|
|
521
|
-
this.octokit = new Octokit({ auth: token });
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
async createSandbox(name: string, config: SandboxConfig) {
|
|
525
|
-
// 1. Criar repositório
|
|
526
|
-
const repo = await this.octokit.repos.createInOrg({
|
|
527
|
-
org: 'sandplatform',
|
|
528
|
-
name: `sandbox-${name}`,
|
|
529
|
-
private: false,
|
|
530
|
-
description: `Sandbox: ${name}`,
|
|
531
|
-
});
|
|
532
|
-
|
|
533
|
-
// 2. Criar pipeline
|
|
534
|
-
await this.createPipeline(repo.data.full_name, config);
|
|
535
|
-
|
|
536
|
-
// 3. Criar cron job
|
|
537
|
-
await this.createCronJob(repo.data.full_name, config.cron);
|
|
538
|
-
|
|
539
|
-
return {
|
|
540
|
-
repoUrl: repo.data.html_url,
|
|
541
|
-
sandboxId: name,
|
|
542
|
-
};
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
async createPipeline(repo: string, config: SandboxConfig) {
|
|
546
|
-
const workflow = `
|
|
547
|
-
name: Sandbox Pipeline
|
|
548
|
-
on:
|
|
549
|
-
push:
|
|
550
|
-
branches: [main]
|
|
551
|
-
schedule:
|
|
552
|
-
- cron: '${config.cron}'
|
|
553
|
-
|
|
554
|
-
jobs:
|
|
555
|
-
run:
|
|
556
|
-
runs-on: ubuntu-latest
|
|
557
|
-
steps:
|
|
558
|
-
- uses: actions/checkout@v4
|
|
559
|
-
- name: Execute sandbox
|
|
560
|
-
run: |
|
|
561
|
-
# Configurar memória
|
|
562
|
-
export MEMORY_QUOTA=${config.memoryQuota}
|
|
563
|
-
export STORAGE_QUOTA=${config.storageQuota}
|
|
564
|
-
|
|
565
|
-
# Executar sandbox
|
|
566
|
-
node src/sandbox/execute.js
|
|
567
|
-
`;
|
|
568
|
-
|
|
569
|
-
await this.octokit.repos.createOrUpdateFileContents({
|
|
570
|
-
owner: 'sandplatform',
|
|
571
|
-
repo,
|
|
572
|
-
path: '.github/workflows/sandbox.yml',
|
|
573
|
-
message: 'Initialize sandbox pipeline',
|
|
574
|
-
content: Buffer.from(workflow).toString('base64'),
|
|
575
|
-
});
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
Fase 4: Integração Completa (Semana 7-8)
|
|
579
|
-
4.1 API Principal
|
|
580
|
-
// src/api/server.ts
|
|
581
|
-
import express from 'express';
|
|
582
|
-
import { SandboxManager } from '../sandbox/manager';
|
|
583
|
-
import { StorageToRamConverter } from '../memory/storage-to-ram';
|
|
584
|
-
|
|
585
|
-
const app = express();
|
|
586
|
-
const manager = new SandboxManager(process.env.GITHUB_TOKEN!);
|
|
587
|
-
const memoryConverter = new StorageToRamConverter();
|
|
588
|
-
|
|
589
|
-
app.post('/api/sandboxes', async (req, res) => {
|
|
590
|
-
const { name, memoryQuota = 8192, storageQuota = 8192 } = req.body;
|
|
591
|
-
|
|
592
|
-
const sandbox = await manager.createSandbox(name, {
|
|
593
|
-
memoryQuota,
|
|
594
|
-
storageQuota,
|
|
595
|
-
cron: '*/30 * * * *', // a cada 30 minutos
|
|
596
|
-
});
|
|
597
|
-
|
|
598
|
-
res.json(sandbox);
|
|
599
|
-
});
|
|
600
|
-
|
|
601
|
-
app.get('/api/sandboxes/:id/memory', async (req, res) => {
|
|
602
|
-
const { id } = req.params;
|
|
603
|
-
const buffer = await memoryConverter.convertToRam(`/data/sandbox/${id}`);
|
|
604
|
-
res.json({ size: buffer.length, status: 'loaded' });
|
|
605
|
-
});
|
|
606
|
-
|
|
607
|
-
app.listen(3000, () => {
|
|
608
|
-
console.log('Sandbox platform running on port 3000');
|
|
609
|
-
});
|
|
610
|
-
|
|
611
|
-
8. Comparação com Alternativas
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
Característica
|
|
616
|
-
SandPlatform
|
|
617
|
-
Archbox
|
|
618
|
-
E2B
|
|
619
|
-
Docker
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
Conversão Storage→RAM
|
|
624
|
-
✅
|
|
625
|
-
❌
|
|
626
|
-
❌
|
|
627
|
-
Parcial
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
Git-native cron
|
|
631
|
-
✅
|
|
632
|
-
❌
|
|
633
|
-
❌
|
|
634
|
-
❌
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
Gratuito
|
|
638
|
-
✅ (public)
|
|
639
|
-
✅
|
|
640
|
-
Free tier
|
|
641
|
-
✅
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
8GB RAM quota
|
|
645
|
-
✅
|
|
646
|
-
❌
|
|
647
|
-
Pago
|
|
648
|
-
Depende
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
Multi-repo
|
|
652
|
-
✅
|
|
653
|
-
❌
|
|
654
|
-
❌
|
|
655
|
-
❌
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
MicroVM isolation
|
|
659
|
-
✅ (Firecracker)
|
|
660
|
-
❌
|
|
661
|
-
✅
|
|
662
|
-
❌
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
9. Limitações e Considerações
|
|
667
|
-
|
|
668
|
-
GitHub Free tier: 2,000 min/mês para privados, ilimitado para públicos
|
|
669
|
-
Firecracker: Requer Linux com KVM (não roda no Windows nativamente)
|
|
670
|
-
WSL: Necessário no Windows para executar scripts .sh
|
|
671
|
-
8GB RAM: É um quota por sandbox, não global
|
|
672
|
-
WebAssembly: Limitado a 4GB por padrão (Memory64 para mais)
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
10. Próximos Passos
|
|
676
|
-
|
|
677
|
-
Criar repositório público no GitHub (gratuito)
|
|
678
|
-
Configurar GitHub Actions para pipelines automáticas
|
|
679
|
-
Implementar módulo de memória com mmap/NBD
|
|
680
|
-
Integrar Firecracker para microVMs isoladas
|
|
681
|
-
Deploy no Vercel/Netlify para frontend
|
|
682
|
-
Configurar Drizzle ORM + mysql2 para banco
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
Deseja que eu implemente alguma parte específica? Posso começar com:
|
|
686
|
-
|
|
687
|
-
A criação do repositório e schema do banco
|
|
688
|
-
O módulo de conversão storage→RAM
|
|
689
|
-
A integração com GitHub Actions
|
|
690
|
-
O runner de WebAssembly
|