@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,598 +0,0 @@
|
|
|
1
|
-
# assistant
|
|
2
|
-
|
|
3
|
-
[Thinking] The user is asking me to provide a step-by-step guide with scripts, pipelines, and implementations for creating a sandbox platform using free infrastructure from GitHub, GitLab, Forgejo, Gitea, Codeberg, etc. They want to understand how to:
|
|
4
|
-
|
|
5
|
-
Use storage as RAM (zram, tmpfs, etc.)
|
|
6
|
-
Create sandbox environments using CI/CD pipelines
|
|
7
|
-
Use the free tiers of these platforms
|
|
8
|
-
Implement this with various tools (Docker, Node.js, Python, Rust, etc.)
|
|
9
|
-
|
|
10
|
-
They also mention wanting to download the init-fullstack.sh script and run it, but since this is a plan mode, I need to provide a comprehensive plan without actually executing anything.
|
|
11
|
-
Let me create a detailed plan covering:
|
|
12
|
-
|
|
13
|
-
Architecture overview
|
|
14
|
-
Infrastructure setup on each platform
|
|
15
|
-
Memory/storage conversion techniques
|
|
16
|
-
Pipeline implementations
|
|
17
|
-
Scripts and configurationsI should search for more specific information about implementing this.
|
|
18
|
-
|
|
19
|
-
[Thinking] Now I have enough information to create a comprehensive step-by-step plan. Let me organize this into a clear, actionable guide.
|
|
20
|
-
|
|
21
|
-
[Thinking] Now let me create a comprehensive plan. I need to be thorough but also concise.
|
|
22
|
-
|
|
23
|
-
[Thinking] I've provided a comprehensive plan. Let me now ask if the user wants me to implement any specific part of this plan.
|
|
24
|
-
|
|
25
|
-
PLANO COMPLETO: Plataforma Sandbox com Infraestrutura Gratuita
|
|
26
|
-
|
|
27
|
-
VISÃO GERAL DA ARQUITETURA
|
|
28
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
29
|
-
│ SEU SISTEMA (Cloudflare Workers/Node) │
|
|
30
|
-
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────────┐ │
|
|
31
|
-
│ │ API │ │ Auth │ │ Cron │ │ Monitor │ │
|
|
32
|
-
│ │ REST │ │ JWT/OAuth│ │ Jobs │ │ Dashboard │ │
|
|
33
|
-
│ └────┬─────┘ └────┬─────┘ └────┬────┘ └──────┬───────┘ │
|
|
34
|
-
│ └──────────────┴─────────────┴──────────────┘ │
|
|
35
|
-
└───────────────────────────┬─────────────────────────────────┘
|
|
36
|
-
│
|
|
37
|
-
┌───────────────────┼───────────────────┐
|
|
38
|
-
▼ ▼ ▼
|
|
39
|
-
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
|
|
40
|
-
│ GitHub Actions│ │ GitLab CI │ │ Forgejo/Gitea │
|
|
41
|
-
│ (público: │ │ (400 min/mês) │ │ (self-hosted) │
|
|
42
|
-
│ ilimitado) │ │ │ │ │
|
|
43
|
-
│ 16GB RAM │ │ 8-128GB RAM │ │ RAM ilimitada │
|
|
44
|
-
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
|
|
45
|
-
│ │ │
|
|
46
|
-
▼ ▼ ▼
|
|
47
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
48
|
-
│ RUNNER EFÊMERO (Docker/VM) │
|
|
49
|
-
│ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────────┐ │
|
|
50
|
-
│ │ zram │ │ tmpfs │ │ overlay │ │ cgroup │ │
|
|
51
|
-
│ │ swap │ │ /tmp │ │ fs │ │ limits │ │
|
|
52
|
-
│ │ compr. │ │ em RAM │ │ CoW │ │ --memory │ │
|
|
53
|
-
│ └─────────┘ └──────────┘ └─────────┘ └──────────────┘ │
|
|
54
|
-
└─────────────────────────────────────────────────────────────┘
|
|
55
|
-
|
|
56
|
-
PASSO 1: Infraestrutura Gratuita por Plataforma
|
|
57
|
-
GitHub Actions (Repositórios Públicos)
|
|
58
|
-
# .github/workflows/sandbox.yml
|
|
59
|
-
name: Sandbox Runner
|
|
60
|
-
|
|
61
|
-
on:
|
|
62
|
-
repository_dispatch:
|
|
63
|
-
types: [create-sandbox]
|
|
64
|
-
workflow_dispatch:
|
|
65
|
-
inputs:
|
|
66
|
-
sandbox_id:
|
|
67
|
-
description: 'ID da sandbox'
|
|
68
|
-
required: true
|
|
69
|
-
ram_limit:
|
|
70
|
-
description: 'Limite RAM (ex: 8G)'
|
|
71
|
-
default: '8G'
|
|
72
|
-
cpu_limit:
|
|
73
|
-
description: 'Limite CPU'
|
|
74
|
-
default: '4'
|
|
75
|
-
packages:
|
|
76
|
-
description: 'Pacotes para instalar'
|
|
77
|
-
default: 'nodejs python3'
|
|
78
|
-
|
|
79
|
-
jobs:
|
|
80
|
-
sandbox:
|
|
81
|
-
runs-on: ubuntu-latest # 4 vCPU, 16 GB RAM grátis
|
|
82
|
-
|
|
83
|
-
container:
|
|
84
|
-
image: ubuntu:22.04
|
|
85
|
-
options: >-
|
|
86
|
-
--memory ${{ github.event.inputs.ram_limit || '8G' }}
|
|
87
|
-
--cpus ${{ github.event.inputs.cpu_limit || '4' }}
|
|
88
|
-
--tmpfs /tmp:size=4G
|
|
89
|
-
--tmpfs /run:size=2G
|
|
90
|
-
|
|
91
|
-
steps:
|
|
92
|
-
- name: Setup zram
|
|
93
|
-
run: |
|
|
94
|
-
modprobe zram
|
|
95
|
-
echo lz4 > /sys/block/zram0/comp_algorithm
|
|
96
|
-
echo 8G > /sys/block/zram0/disksize
|
|
97
|
-
mkswap /dev/zram0
|
|
98
|
-
swapon /dev/zram0
|
|
99
|
-
echo "zram configurado:"
|
|
100
|
-
zramctl
|
|
101
|
-
|
|
102
|
-
- name: Setup tmpfs
|
|
103
|
-
run: |
|
|
104
|
-
mount -t tmpfs -o size=4G tmpfs /workspace
|
|
105
|
-
echo "tmpfs configurado:"
|
|
106
|
-
df -h /workspace
|
|
107
|
-
|
|
108
|
-
- name: Instalar pacotes
|
|
109
|
-
run: |
|
|
110
|
-
apt-get update
|
|
111
|
-
apt-get install -y ${{ github.event.inputs.packages || 'nodejs python3' }}
|
|
112
|
-
|
|
113
|
-
- name: Clone repositório
|
|
114
|
-
uses: actions/checkout@v4
|
|
115
|
-
with:
|
|
116
|
-
path: /workspace
|
|
117
|
-
|
|
118
|
-
- name: Verificar recursos
|
|
119
|
-
run: |
|
|
120
|
-
echo "=== RAM ==="
|
|
121
|
-
free -h
|
|
122
|
-
echo "=== Disco ==="
|
|
123
|
-
df -h
|
|
124
|
-
echo "=== CPU ==="
|
|
125
|
-
nproc
|
|
126
|
-
|
|
127
|
-
- name: Executar sandbox
|
|
128
|
-
working-directory: /workspace
|
|
129
|
-
run: |
|
|
130
|
-
# Aqui roda o código do usuário
|
|
131
|
-
ls -la
|
|
132
|
-
# node app.js ou python main.py
|
|
133
|
-
GitLab CI
|
|
134
|
-
# .gitlab-ci.yml
|
|
135
|
-
stages:
|
|
136
|
-
- sandbox
|
|
137
|
-
|
|
138
|
-
sandbox:
|
|
139
|
-
stage: sandbox
|
|
140
|
-
tags:
|
|
141
|
-
- saas-linux-small-amd64 # 2 vCPU, 8 GB RAM
|
|
142
|
-
image: ubuntu:22.04
|
|
143
|
-
variables:
|
|
144
|
-
MEMORY_LIMIT: "7G"
|
|
145
|
-
CPU_LIMIT: "2"
|
|
146
|
-
before_script:
|
|
147
|
-
- apt-get update && apt-get install -y zram-tools
|
|
148
|
-
- zramctl /dev/zram0 --algorithm lz4 --size 4G --type swap
|
|
149
|
-
script:
|
|
150
|
-
- free -h
|
|
151
|
-
- df -h
|
|
152
|
-
- # Código do usuário
|
|
153
|
-
rules:
|
|
154
|
-
- if: $CI_PIPELINE_SOURCE == "web"
|
|
155
|
-
- if: $CI_PIPELINE_SOURCE == "api"
|
|
156
|
-
Forgejo/Gitea (Self-hosted)
|
|
157
|
-
# .forgejo/workflows/sandbox.yml
|
|
158
|
-
name: Self-hosted Sandbox
|
|
159
|
-
|
|
160
|
-
on:
|
|
161
|
-
push:
|
|
162
|
-
branches: [main]
|
|
163
|
-
|
|
164
|
-
jobs:
|
|
165
|
-
sandbox:
|
|
166
|
-
runs-on: self-hosted
|
|
167
|
-
container:
|
|
168
|
-
image: catthehacker/ubuntu:act-latest
|
|
169
|
-
options: >-
|
|
170
|
-
--memory 8G
|
|
171
|
-
--cpus 4
|
|
172
|
-
--tmpfs /tmp:size=4G
|
|
173
|
-
|
|
174
|
-
steps:
|
|
175
|
-
- name: Setup
|
|
176
|
-
run: |
|
|
177
|
-
if modprobe zram 2>/dev/null; then
|
|
178
|
-
echo lz4 > /sys/block/zram0/comp_algorithm
|
|
179
|
-
echo 8G > /sys/block/zram0/disksize
|
|
180
|
-
mkswap /dev/zram0 && swapon /dev/zram0
|
|
181
|
-
fi
|
|
182
|
-
|
|
183
|
-
- uses: actions/checkout@v4
|
|
184
|
-
- run: npm install && npm test
|
|
185
|
-
|
|
186
|
-
PASSO 2: Conversão Storage → RAM
|
|
187
|
-
Script de Setup de Memória
|
|
188
|
-
#!/bin/bash
|
|
189
|
-
# setup-memory.sh - Converte storage em RAM
|
|
190
|
-
|
|
191
|
-
setup_zram() {
|
|
192
|
-
local size="${1:-4G}"
|
|
193
|
-
local algo="${2:-lz4}"
|
|
194
|
-
|
|
195
|
-
modprobe zram
|
|
196
|
-
echo $algo > /sys/block/zram0/comp_algorithm
|
|
197
|
-
echo $size > /sys/block/zram0/disksize
|
|
198
|
-
mkswap /dev/zram0
|
|
199
|
-
swapon /dev/zram0
|
|
200
|
-
|
|
201
|
-
echo "zram configurado: $size com $algo"
|
|
202
|
-
zramctl
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
setup_tmpfs() {
|
|
206
|
-
local mount_point="${1:-/workspace}"
|
|
207
|
-
local size="${2:-4G}"
|
|
208
|
-
|
|
209
|
-
mkdir -p $mount_point
|
|
210
|
-
mount -t tmpfs -o size=$size tmpfs $mount_point
|
|
211
|
-
|
|
212
|
-
echo "tmpfs configurado em $mount_point: $size"
|
|
213
|
-
df -h $mount_point
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
setup_overlay() {
|
|
217
|
-
local upper="${1:-/tmp/overlay-upper}"
|
|
218
|
-
local work="${2:-/tmp/overlay-work}"
|
|
219
|
-
local merged="${3:-/merged}"
|
|
220
|
-
|
|
221
|
-
mkdir -p $upper $work $merged
|
|
222
|
-
mount -t overlay overlay \
|
|
223
|
-
-o lowerdir=/lower,upperdir=$upper,workdir=$work \
|
|
224
|
-
$merged
|
|
225
|
-
|
|
226
|
-
echo "overlay configurado em $merged"
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
# Executar setup
|
|
230
|
-
setup_zram "8G"
|
|
231
|
-
setup_tmpfs "/workspace" "4G"
|
|
232
|
-
setup_tmpfs "/tmp" "2G"
|
|
233
|
-
Docker Compose com Limits
|
|
234
|
-
# docker-compose.sandbox.yml
|
|
235
|
-
version: '3.8'
|
|
236
|
-
|
|
237
|
-
services:
|
|
238
|
-
sandbox:
|
|
239
|
-
image: ubuntu:22.04
|
|
240
|
-
deploy:
|
|
241
|
-
resources:
|
|
242
|
-
limits:
|
|
243
|
-
cpus: '4'
|
|
244
|
-
memory: 8G
|
|
245
|
-
reservations:
|
|
246
|
-
memory: 2G
|
|
247
|
-
volumes:
|
|
248
|
-
- workspace:/workspace
|
|
249
|
-
- tmpfs:/tmp
|
|
250
|
-
tmpfs:
|
|
251
|
-
- /tmp:size=4G
|
|
252
|
-
- /run:size=2G
|
|
253
|
-
command: >
|
|
254
|
-
bash -c "
|
|
255
|
-
modprobe zram &&
|
|
256
|
-
echo lz4 > /sys/block/zram0/comp_algorithm &&
|
|
257
|
-
echo 8G > /sys/block/zram0/disksize &&
|
|
258
|
-
mkswap /dev/zram0 &&
|
|
259
|
-
swapon /dev/zram0 &&
|
|
260
|
-
free -h &&
|
|
261
|
-
df -h &&
|
|
262
|
-
sleep infinity
|
|
263
|
-
"
|
|
264
|
-
|
|
265
|
-
volumes:
|
|
266
|
-
workspace:
|
|
267
|
-
tmpfs:
|
|
268
|
-
|
|
269
|
-
PASSO 3: Projetos Open Source para Sandboxing
|
|
270
|
-
Para microVMs (mais isolamento):
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
Projeto
|
|
275
|
-
Comando
|
|
276
|
-
RAM por fork
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
kern
|
|
281
|
-
kern box --image alpine --memory 512M -it -- sh
|
|
282
|
-
~1.5 MB
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
exec-sandbox
|
|
286
|
-
exec-sandbox run --memory 192 -- python code.py
|
|
287
|
-
192 MB
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
mitos
|
|
291
|
-
mitos sandbox create --from-sandbox <id>
|
|
292
|
-
~3 MiB
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
rust-nano-vm
|
|
296
|
-
nanovm create --memory 256
|
|
297
|
-
~0.5 MiB
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
Para containers Docker:
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
Projeto
|
|
305
|
-
Comando
|
|
306
|
-
RAM por fork
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
ez-gh-actions
|
|
311
|
-
ezgha start --memory 4096 --cpus 2
|
|
312
|
-
Configurável
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
outrunner
|
|
316
|
-
outrunner run --memory 4G --image ubuntu
|
|
317
|
-
Configurável
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
ephemerd
|
|
321
|
-
ephemerd serve --memory 8192
|
|
322
|
-
Configurável
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
Para storage→RAM:
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
Projeto
|
|
330
|
-
Comando
|
|
331
|
-
Uso
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
zram-config
|
|
336
|
-
zram-config start
|
|
337
|
-
Swap comprimido
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
MAVFS
|
|
341
|
-
python run_mafs.py shell --ram redis
|
|
342
|
-
Filesystem virtual
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
DiskLLM
|
|
346
|
-
diskllm run --kv-backend ssd
|
|
347
|
-
Cache em SSD
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
storage.llm
|
|
351
|
-
./storagellm-server --model ./model
|
|
352
|
-
Offload storage→VRAM
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
PASSO 4: Orquestrador com Cloudflare Workers
|
|
357
|
-
// src/index.js
|
|
358
|
-
export default {
|
|
359
|
-
async scheduled(event, env, ctx) {
|
|
360
|
-
// Cron job para limpar sandboxes antigas
|
|
361
|
-
await cleanupOldSandboxes(env);
|
|
362
|
-
},
|
|
363
|
-
|
|
364
|
-
async fetch(request, env, ctx) {
|
|
365
|
-
const url = new URL(request.url);
|
|
366
|
-
|
|
367
|
-
if (url.pathname === '/api/sandbox/create') {
|
|
368
|
-
return await createSandbox(request, env);
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
if (url.pathname === '/api/sandbox/destroy') {
|
|
372
|
-
return await destroySandbox(request, env);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
return new Response('Sandbox Platform API');
|
|
376
|
-
}
|
|
377
|
-
};
|
|
378
|
-
|
|
379
|
-
async function createSandbox(request, env) {
|
|
380
|
-
const { userId, ramLimit, cpuLimit, packages } = await request.json();
|
|
381
|
-
|
|
382
|
-
// Escolher plataforma baseado na carga
|
|
383
|
-
let platform = 'github'; // padrão: gratuito para públicos
|
|
384
|
-
|
|
385
|
-
if (ramLimit > 16) {
|
|
386
|
-
platform = 'gitlab'; // até 128 GB no premium
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
// Criar repositório e disparar workflow
|
|
390
|
-
const repoName = `sandbox-${userId}-${Date.now()}`;
|
|
391
|
-
|
|
392
|
-
if (platform === 'github') {
|
|
393
|
-
await createGitHubRepo(repoName, env);
|
|
394
|
-
await triggerGitHubWorkflow(repoName, { ramLimit, cpuLimit, packages }, env);
|
|
395
|
-
} else if (platform === 'gitlab') {
|
|
396
|
-
await createGitLabProject(repoName, env);
|
|
397
|
-
await triggerGitLabPipeline(repoName, { ramLimit, cpuLimit, packages }, env);
|
|
398
|
-
} else if (platform === 'forgejo') {
|
|
399
|
-
await createForgejoRepo(repoName, env);
|
|
400
|
-
await triggerForgejoWorkflow(repoName, { ramLimit, cpuLimit, packages }, env);
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
return Response.json({
|
|
404
|
-
sandboxId: repoName,
|
|
405
|
-
platform,
|
|
406
|
-
status: 'creating',
|
|
407
|
-
estimatedReady: '30s'
|
|
408
|
-
});
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
async function triggerGitHubWorkflow(repoName, config, env) {
|
|
412
|
-
const workflow = `
|
|
413
|
-
name: Sandbox
|
|
414
|
-
on:
|
|
415
|
-
workflow_dispatch:
|
|
416
|
-
inputs:
|
|
417
|
-
ram_limit:
|
|
418
|
-
default: '${config.ramLimit}'
|
|
419
|
-
cpu_limit:
|
|
420
|
-
default: '${config.cpuLimit}'
|
|
421
|
-
packages:
|
|
422
|
-
default: '${config.packages}'
|
|
423
|
-
|
|
424
|
-
jobs:
|
|
425
|
-
run:
|
|
426
|
-
runs-on: ubuntu-latest
|
|
427
|
-
container:
|
|
428
|
-
image: ubuntu:22.04
|
|
429
|
-
options: --memory \${{ github.event.inputs.ram_limit }} --cpus \${{ github.event.inputs.cpu_limit }}
|
|
430
|
-
steps:
|
|
431
|
-
- run: apt-get update && apt-get install -y \${{ github.event.inputs.packages }}
|
|
432
|
-
- run: free -h && df -h
|
|
433
|
-
`;
|
|
434
|
-
|
|
435
|
-
// Criar arquivo .github/workflows/sandbox.yml
|
|
436
|
-
await fetch(`https://api.github.com/repos/${env.GITHUB_ORG}/${repoName}/contents/.github/workflows/sandbox.yml`, {
|
|
437
|
-
method: 'PUT',
|
|
438
|
-
headers: {
|
|
439
|
-
'Authorization': `token ${env.GITHUB_TOKEN}`,
|
|
440
|
-
'Content-Type': 'application/json'
|
|
441
|
-
},
|
|
442
|
-
body: JSON.stringify({
|
|
443
|
-
message: 'Create sandbox workflow',
|
|
444
|
-
content: btoa(workflow)
|
|
445
|
-
})
|
|
446
|
-
});
|
|
447
|
-
|
|
448
|
-
// Disparar workflow
|
|
449
|
-
await fetch(`https://api.github.com/repos/${env.GITHUB_ORG}/${repoName}/actions/workflows/sandbox.yml/dispatches`, {
|
|
450
|
-
method: 'POST',
|
|
451
|
-
headers: {
|
|
452
|
-
'Authorization': `token ${env.GITHUB_TOKEN}`,
|
|
453
|
-
'Content-Type': 'application/json'
|
|
454
|
-
},
|
|
455
|
-
body: JSON.stringify({
|
|
456
|
-
ref: 'main',
|
|
457
|
-
inputs: {
|
|
458
|
-
ram_limit: config.ramLimit,
|
|
459
|
-
cpu_limit: config.cpuLimit,
|
|
460
|
-
packages: config.packages
|
|
461
|
-
}
|
|
462
|
-
})
|
|
463
|
-
});
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
PASSO 5: Monitoramento e Limpeza
|
|
467
|
-
// src/monitor.js
|
|
468
|
-
export async function cleanupOldSandboxes(env) {
|
|
469
|
-
const sandboxes = await env.DB.prepare(
|
|
470
|
-
'SELECT * FROM sandboxes WHERE created_at < datetime("now", "-1 hour")'
|
|
471
|
-
).all();
|
|
472
|
-
|
|
473
|
-
for (const sandbox of sandboxes.results) {
|
|
474
|
-
// Destruir repositório e resources
|
|
475
|
-
await destroySandbox(sandbox.id, sandbox.platform, env);
|
|
476
|
-
|
|
477
|
-
// Remover do banco
|
|
478
|
-
await env.DB.prepare('DELETE FROM sandboxes WHERE id = ?').bind(sandbox.id).run();
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
export async function getMetrics(sandboxId, env) {
|
|
483
|
-
// Buscar métricas do runner
|
|
484
|
-
const metrics = await fetch(`https://api.github.com/repos/${env.GITHUB_ORG}/${sandboxId}/actions/runs`, {
|
|
485
|
-
headers: {
|
|
486
|
-
'Authorization': `token ${env.GITHUB_TOKEN}`
|
|
487
|
-
}
|
|
488
|
-
});
|
|
489
|
-
|
|
490
|
-
return {
|
|
491
|
-
status: metrics.workflow_runs[0]?.status,
|
|
492
|
-
conclusion: metrics.workflow_runs[0]?.conclusion,
|
|
493
|
-
duration: metrics.workflow_runs[0]?.run_started_at,
|
|
494
|
-
logs: await getRunLogs(sandboxId, env)
|
|
495
|
-
};
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
PASSO 6: Script de Setup Local (Windows/Mac/Linux)
|
|
499
|
-
#!/bin/bash
|
|
500
|
-
# setup-sandbox-platform.sh
|
|
501
|
-
|
|
502
|
-
echo "=== Configurando Plataforma Sandbox ==="
|
|
503
|
-
|
|
504
|
-
# 1. Instalar dependências
|
|
505
|
-
echo "Instalando dependências..."
|
|
506
|
-
npm install -g wrangler # Cloudflare Workers CLI
|
|
507
|
-
npm install -g @cloudflare/workers-types
|
|
508
|
-
|
|
509
|
-
# 2. Criar projeto
|
|
510
|
-
echo "Criando projeto..."
|
|
511
|
-
mkdir sandbox-platform && cd sandbox-platform
|
|
512
|
-
npm init -y
|
|
513
|
-
npm install @cloudflare/workers-types typescript
|
|
514
|
-
|
|
515
|
-
# 3. Configurar Cloudflare
|
|
516
|
-
echo "Configurando Cloudflare..."
|
|
517
|
-
wrangler login
|
|
518
|
-
wrangler secret put GITHUB_TOKEN
|
|
519
|
-
wrangler secret put GITLAB_TOKEN
|
|
520
|
-
wrangler secret put FORGEJO_TOKEN
|
|
521
|
-
|
|
522
|
-
# 4. Criar banco de dados
|
|
523
|
-
echo "Criando banco de dados..."
|
|
524
|
-
wrangler d1 create sandboxes-db
|
|
525
|
-
|
|
526
|
-
# 5. Deploy
|
|
527
|
-
echo "Fazendo deploy..."
|
|
528
|
-
wrangler deploy
|
|
529
|
-
|
|
530
|
-
echo "=== Plataforma configurada! ==="
|
|
531
|
-
echo "API URL: https://sandbox-platform.your-subdomain.workers.dev"
|
|
532
|
-
|
|
533
|
-
RESUMO DOS RECURSOS GRATUITOS
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
Plataforma
|
|
538
|
-
RAM
|
|
539
|
-
CPU
|
|
540
|
-
Storage
|
|
541
|
-
Minutos/mês
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
GitHub (público)
|
|
546
|
-
16 GB
|
|
547
|
-
4 vCPU
|
|
548
|
-
14 GB
|
|
549
|
-
Ilimitado
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
GitHub (privado)
|
|
553
|
-
16 GB
|
|
554
|
-
4 vCPU
|
|
555
|
-
14 GB
|
|
556
|
-
2.000
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
GitLab Free
|
|
560
|
-
8 GB
|
|
561
|
-
2 vCPU
|
|
562
|
-
30 GB
|
|
563
|
-
400
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
Codeberg
|
|
567
|
-
8 GB
|
|
568
|
-
4 vCPU
|
|
569
|
-
-
|
|
570
|
-
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
Forgejo self-hosted
|
|
574
|
-
Ilimitado
|
|
575
|
-
Ilimitado
|
|
576
|
-
Ilimitado
|
|
577
|
-
Ilimitado
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
MACETES PRINCIPAIS
|
|
582
|
-
|
|
583
|
-
Repositórios públicos no GitHub = ilimitado (16 GB RAM grátis)
|
|
584
|
-
zram converte 4 GB storage em ~12 GB RAM comprimida
|
|
585
|
-
tmpfs coloca arquivos direto em RAM (zero I/O disco)
|
|
586
|
-
Docker --memory isola cada sandbox sem afetar outras
|
|
587
|
-
Cloudflare Workers free tier orquestra tudo
|
|
588
|
-
Cron jobs mantêm sandboxes limpas automaticamente
|
|
589
|
-
|
|
590
|
-
Quer que eu implemente alguma parte específica? Posso:
|
|
591
|
-
|
|
592
|
-
Criar o projeto completo com Cloudflare Workers + GitHub/GitLab/Forgejo
|
|
593
|
-
Criar os scripts de setup de zram/tmpfs/overlay
|
|
594
|
-
Configurar o Forgejo self-hosted no seu servidor
|
|
595
|
-
Criar o orchestador com cron jobs e monitoramento
|
|
596
|
-
Integrar com o script init-fullstack.sh do Z.ai
|
|
597
|
-
|
|
598
|
-
Qual parte quer começar?
|