@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,512 +0,0 @@
|
|
|
1
|
-
# assistant
|
|
2
|
-
|
|
3
|
-
[Thinking] The user is asking a very complex question in Portuguese. Let me break it down:
|
|
4
|
-
|
|
5
|
-
They want to use storage memory from various resources (repos, buckets, pipelines) and convert it to RAM
|
|
6
|
-
They want to build a platform with container sandboxes
|
|
7
|
-
They want to use free infrastructure from GitHub, GitLab, Forgejo, Gitea, Codeberg, etc.
|
|
8
|
-
They want pipelines, cron jobs, and sandboxes
|
|
9
|
-
They want to use storage from databases (Drizzle ORM, Prisma, MySQL2) and convert to RAM
|
|
10
|
-
They want to deploy to various platforms
|
|
11
|
-
They want npm packages, CDN delivery via jsDelivr
|
|
12
|
-
They want to create a library that converts physical storage to memory runner9. They want virtual memory using repos + libraries + pipelines
|
|
13
|
-
|
|
14
|
-
This is a massive request. I need to:
|
|
15
|
-
|
|
16
|
-
Research existing projects and approaches
|
|
17
|
-
Provide a practical implementation plan
|
|
18
|
-
Give them scripts and code examples
|
|
19
|
-
|
|
20
|
-
Let me research this topic thoroughly and provide a comprehensive answer.
|
|
21
|
-
First, let me understand what they're asking:
|
|
22
|
-
|
|
23
|
-
They want to use the free storage/compute from git hosting platforms (GitHub Actions, GitLab CI, etc.)
|
|
24
|
-
Convert storage (file system, databases) into RAM-like memory
|
|
25
|
-
Create sandboxes that can run Linux, Docker, etc.
|
|
26
|
-
Use existing open source projects for this
|
|
27
|
-
|
|
28
|
-
Let me search for relevant projects and approaches.
|
|
29
|
-
|
|
30
|
-
[Thinking] The user is asking a very complex question about:
|
|
31
|
-
|
|
32
|
-
Using storage memory (from repos, buckets, databases) as RAM
|
|
33
|
-
Building a platform with sandbox containers
|
|
34
|
-
Using free infrastructure from GitHub, GitLab, Gitea, etc.
|
|
35
|
-
Converting storage to RAM using pipelines, npm packages, CDN5. Creating libraries that bridge storage to memory
|
|
36
|
-
|
|
37
|
-
I found some very relevant projects:
|
|
38
|
-
|
|
39
|
-
DiskLLM - Uses mmap to convert SSD storage into virtual memory for LLM inference
|
|
40
|
-
m-store - Zero-kernel storage engine that bridges GPU VRAM, NVMe, and CXL memory
|
|
41
|
-
GitHub Actions - Free runners with 4vCPU, 16GB RAM, 14GB storage
|
|
42
|
-
MemoryBridge - Cross-tool AI memory
|
|
43
|
-
Jun-DB - Hierarchical sharded object persistence with LRU cache
|
|
44
|
-
Memory Kernel - Persistent memory for AI agents
|
|
45
|
-
MemoryX - Universal memory layer with compression
|
|
46
|
-
|
|
47
|
-
Let me search for more specific projects about:
|
|
48
|
-
|
|
49
|
-
Storage to RAM conversion
|
|
50
|
-
Virtual memory emulation
|
|
51
|
-
Sandbox runners using free infrastructure
|
|
52
|
-
|
|
53
|
-
[Thinking] Now I have a good understanding of the landscape. Let me create a comprehensive plan for the user. They want to:
|
|
54
|
-
|
|
55
|
-
Use storage (from repos, buckets, databases) as RAM
|
|
56
|
-
Build a platform with sandbox containers
|
|
57
|
-
Use free infrastructure from GitHub, GitLab, etc.
|
|
58
|
-
Create a library that bridges storage to memory
|
|
59
|
-
|
|
60
|
-
Let me synthesize this into a practical plan with code examples.
|
|
61
|
-
|
|
62
|
-
[Thinking] Now I have a comprehensive understanding of the landscape. Let me create a practical implementation plan for the user. They want to:
|
|
63
|
-
|
|
64
|
-
Use storage (from repos, buckets, databases) as RAM
|
|
65
|
-
Build a platform with sandbox containers
|
|
66
|
-
Use free infrastructure from GitHub, GitLab, etc.
|
|
67
|
-
Create a library that bridges storage to memory
|
|
68
|
-
|
|
69
|
-
Let me synthesize this into a practical plan with code examples.
|
|
70
|
-
Key findings:
|
|
71
|
-
|
|
72
|
-
DiskLLM - Uses mmap to convert SSD storage into virtual memory for LLM inference2. mmap-io - Node.js addon for memory mapping files (projects files to RAM)
|
|
73
|
-
memfs - In-memory file system implementation
|
|
74
|
-
paged-buffer - LRU page eviction for large files
|
|
75
|
-
platformatic/vfs - Virtual File System with SQLite provider
|
|
76
|
-
GitHub Actions - Free runners with 4vCPU, 16GB RAM, 14GB storage
|
|
77
|
-
GitLab CI - Free runners with 2vCPU, 8GB RAM, 30GB storage
|
|
78
|
-
|
|
79
|
-
The user wants to:
|
|
80
|
-
|
|
81
|
-
Convert storage to RAM using mmap
|
|
82
|
-
Use free CI/CD runners as compute infrastructure
|
|
83
|
-
Create sandboxes that can run Linux/Docker
|
|
84
|
-
Use npm packages and CDN delivery
|
|
85
|
-
|
|
86
|
-
Let me create a comprehensive plan with code examples.
|
|
87
|
-
|
|
88
|
-
Vou pesquisar projetos e abordagens para isso. Deixa eu buscar informações relevantes.
|
|
89
|
-
|
|
90
|
-
Baseado na pesquisa, encontrei projetos e abordagens relevantes. Aqui está o plano completo:
|
|
91
|
-
|
|
92
|
-
Plataforma: Storage-to-RAM Bridge + Sandbox Runner
|
|
93
|
-
Conceito Principal
|
|
94
|
-
Usar mmap (memory-mapped files) para converter armazenamento em "RAM virtual", combinado com runners gratuitos de CI/CD como infraestrutura de compute.
|
|
95
|
-
Arquitetura
|
|
96
|
-
┌─────────────────────────────────────────────────────────┐
|
|
97
|
-
│ SANDBOX PLATFORM │
|
|
98
|
-
├─────────────────────────────────────────────────────────┤
|
|
99
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
|
100
|
-
│ │ GitHub │ │ GitLab CI │ │ Gitea/ │ │
|
|
101
|
-
│ │ Actions │ │ Runners │ │ Forgejo │ │
|
|
102
|
-
│ │ (4vCPU/16GB)│ │ (2vCPU/8GB) │ │ (self-host) │ │
|
|
103
|
-
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
|
|
104
|
-
│ │ │ │ │
|
|
105
|
-
│ └────────────────┼────────────────┘ │
|
|
106
|
-
│ ▼ │
|
|
107
|
-
│ ┌─────────────────────────────────────────────────┐ │
|
|
108
|
-
│ │ MEMORY BRIDGE LAYER │ │
|
|
109
|
-
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
|
|
110
|
-
│ │ │ mmap-io │ │ paged- │ │ memfs │ │ │
|
|
111
|
-
│ │ │ (storage→ │ │ buffer │ │ (in-memory│ │ │
|
|
112
|
-
│ │ │ RAM) │ │ (LRU) │ │ fs) │ │ │
|
|
113
|
-
│ │ └───────────┘ └───────────┘ └───────────┘ │ │
|
|
114
|
-
│ └─────────────────────────────────────────────────┘ │
|
|
115
|
-
│ │ │
|
|
116
|
-
│ ▼ │
|
|
117
|
-
│ ┌─────────────────────────────────────────────────┐ │
|
|
118
|
-
│ │ STORAGE BACKENDS │ │
|
|
119
|
-
│ │ • GitHub/GitLab Repos (git objects) │ │
|
|
120
|
-
│ │ • S3/Buckets (R2, MinIO) │ │
|
|
121
|
-
│ │ • SQLite/Prisma/Drizzle (DB as storage) │ │
|
|
122
|
-
│ │ • npm CDN (jsDelivr/unpkg) │ │
|
|
123
|
-
│ └─────────────────────────────────────────────────┘ │
|
|
124
|
-
└─────────────────────────────────────────────────────────┘
|
|
125
|
-
Projetos Open Source Relevantes
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
Projeto
|
|
130
|
-
Uso
|
|
131
|
-
npm/Link
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
@riaskov/mmap-io
|
|
136
|
-
Memory-mapped files (storage→RAM)
|
|
137
|
-
npm i @riaskov/mmap-io
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
@phroun/paged-buffer
|
|
141
|
-
LRU page eviction para arquivos grandes
|
|
142
|
-
npm i @phroun/paged-buffer
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
memfs
|
|
146
|
-
Filesystem in-memory completo
|
|
147
|
-
npm i memfs
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
platformatic/vfs
|
|
151
|
-
Virtual FS com SQLite provider
|
|
152
|
-
npm i @platformatic/vfs
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
jun-db
|
|
156
|
-
Object persistence com LRU cache
|
|
157
|
-
npm i jun-db
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
@cloudpss/mmap
|
|
161
|
-
mmap via N-API (suporta /dev/shm)
|
|
162
|
-
npm i @cloudpss/mmap
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
Implementação Passo a Passo
|
|
166
|
-
1. Biblioteca Principal: storage-to-ram-bridge
|
|
167
|
-
// src/bridge.ts
|
|
168
|
-
import mmap from '@riaskov/mmap-io';
|
|
169
|
-
import fs from 'fs';
|
|
170
|
-
import path from 'path';
|
|
171
|
-
|
|
172
|
-
interface BridgeOptions {
|
|
173
|
-
storagePath: string; // path do arquivo de storage
|
|
174
|
-
ramLimitMB: number; // limite de RAM em MB
|
|
175
|
-
syncInterval?: number; // intervalo de sync em ms
|
|
176
|
-
useSharedMemory?: boolean; // usar /dev/shm no Linux
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
class StorageRAMBridge {
|
|
180
|
-
private buffer: Buffer | null = null;
|
|
181
|
-
private fd: number;
|
|
182
|
-
private size: number;
|
|
183
|
-
private options: BridgeOptions;
|
|
184
|
-
|
|
185
|
-
constructor(options: BridgeOptions) {
|
|
186
|
-
this.options = options;
|
|
187
|
-
|
|
188
|
-
// Criar arquivo se não existir
|
|
189
|
-
if (!fs.existsSync(options.storagePath)) {
|
|
190
|
-
fs.writeFileSync(options.storagePath, Buffer.alloc(1024 * 1024)); // 1MB inicial
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
this.fd = fs.openSync(options.storagePath, 'r+');
|
|
194
|
-
this.size = fs.fstatSync(this.fd).size;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
// Mapear storage para RAM usando mmap
|
|
198
|
-
map(): Buffer {
|
|
199
|
-
const PROT_READ = 0x1;
|
|
200
|
-
const PROT_WRITE = 0x2;
|
|
201
|
-
const MAP_SHARED = 0x01;
|
|
202
|
-
|
|
203
|
-
this.buffer = mmap.map(
|
|
204
|
-
this.size,
|
|
205
|
-
PROT_READ | PROT_WRITE,
|
|
206
|
-
MAP_SHARED,
|
|
207
|
-
this.fd
|
|
208
|
-
);
|
|
209
|
-
|
|
210
|
-
// Dica para acesso aleatório
|
|
211
|
-
mmap.advise(this.buffer, mmap.MADV_RANDOM);
|
|
212
|
-
|
|
213
|
-
return this.buffer;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
// Sincronizar RAM → Storage
|
|
217
|
-
sync(): void {
|
|
218
|
-
if (this.buffer) {
|
|
219
|
-
mmap.sync(this.buffer);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
// Ler dados como objeto
|
|
224
|
-
read<T>(offset: number, length: number): T {
|
|
225
|
-
if (!this.buffer) throw new Error('Buffer não mapeado');
|
|
226
|
-
return JSON.parse(
|
|
227
|
-
this.buffer.slice(offset, offset + length).toString('utf8')
|
|
228
|
-
) as T;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
// Escrever dados
|
|
232
|
-
write<T>(offset: number, data: T): void {
|
|
233
|
-
if (!this.buffer) throw new Error('Buffer não mapeado');
|
|
234
|
-
const json = JSON.stringify(data);
|
|
235
|
-
const buf = Buffer.from(json, 'utf8');
|
|
236
|
-
buf.copy(this.buffer, offset);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
// Expandir arquivo se necessário
|
|
240
|
-
grow(newSize: number): void {
|
|
241
|
-
fs.ftruncateSync(this.fd, newSize);
|
|
242
|
-
this.size = newSize;
|
|
243
|
-
this.buffer = mmap.map(
|
|
244
|
-
this.size,
|
|
245
|
-
mmap.PROT_READ | mmap.PROT_WRITE,
|
|
246
|
-
mmap.MAP_SHARED,
|
|
247
|
-
this.fd
|
|
248
|
-
);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
close(): void {
|
|
252
|
-
this.sync();
|
|
253
|
-
fs.closeSync(this.fd);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
export { StorageRAMBridge, BridgeOptions };
|
|
258
|
-
2. Cache LRU com Paged Buffer
|
|
259
|
-
// src/cache.ts
|
|
260
|
-
import { PagedBuffer, FilePageStorage } from '@phroun/paged-buffer';
|
|
261
|
-
|
|
262
|
-
class RAMCache {
|
|
263
|
-
private buffer: PagedBuffer;
|
|
264
|
-
private storage: FilePageStorage;
|
|
265
|
-
|
|
266
|
-
constructor(cacheDir: string, pageSize: number = 64 * 1024) {
|
|
267
|
-
this.storage = new FilePageStorage(cacheDir);
|
|
268
|
-
this.buffer = new PagedBuffer(
|
|
269
|
-
pageSize, // 64KB pages
|
|
270
|
-
this.storage,
|
|
271
|
-
50 // manter 50 pages em RAM (~3MB)
|
|
272
|
-
);
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
async get(key: string): Promise<Buffer | null> {
|
|
276
|
-
const offset = this.hashToOffset(key);
|
|
277
|
-
try {
|
|
278
|
-
return await this.buffer.getBytes(offset, 1024);
|
|
279
|
-
} catch {
|
|
280
|
-
return null;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
async set(key: string, data: Buffer): Promise<void> {
|
|
285
|
-
const offset = this.hashToOffset(key);
|
|
286
|
-
await this.buffer.insertBytes(offset, data);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
private hashToOffset(key: string): number {
|
|
290
|
-
let hash = 0;
|
|
291
|
-
for (let i = 0; i < key.length; i++) {
|
|
292
|
-
hash = ((hash << 5) - hash) + key.charCodeAt(i);
|
|
293
|
-
hash |= 0;
|
|
294
|
-
}
|
|
295
|
-
return Math.abs(hash) % (1024 * 1024 * 100); // 100MB range
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
export { RAMCache };
|
|
300
|
-
3. Virtual File System com SQLite Provider
|
|
301
|
-
// src/vfs.ts
|
|
302
|
-
import { create, SqliteProvider } from '@platformatic/vfs';
|
|
303
|
-
|
|
304
|
-
class VirtualStorage {
|
|
305
|
-
private vfs: any;
|
|
306
|
-
private provider: SqliteProvider;
|
|
307
|
-
|
|
308
|
-
constructor(dbPath: string) {
|
|
309
|
-
this.provider = new SqliteProvider(dbPath);
|
|
310
|
-
this.vfs = create(this.provider);
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
// Usar como fs normal
|
|
314
|
-
readFile(path: string): string {
|
|
315
|
-
return this.vfs.readFileSync(path, 'utf8');
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
writeFile(path: string, data: string): void {
|
|
319
|
-
this.vfs.writeFileSync(path, data);
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
// Montar como overlay no fs real
|
|
323
|
-
mountOverlay(rootDir: string): void {
|
|
324
|
-
this.vfs.mount(rootDir, { overlay: true });
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
close(): void {
|
|
328
|
-
this.provider.close();
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
export { VirtualStorage };
|
|
333
|
-
4. Runner Pipeline (GitHub Actions)
|
|
334
|
-
# .github/workflows/sandbox.yml
|
|
335
|
-
name: Sandbox Runner
|
|
336
|
-
|
|
337
|
-
on:
|
|
338
|
-
workflow_dispatch:
|
|
339
|
-
inputs:
|
|
340
|
-
sandbox_config:
|
|
341
|
-
description: 'Sandbox config JSON'
|
|
342
|
-
required: true
|
|
343
|
-
|
|
344
|
-
jobs:
|
|
345
|
-
run-sandbox:
|
|
346
|
-
runs-on: ubuntu-latest # 4vCPU, 16GB RAM, 14GB SSD
|
|
347
|
-
|
|
348
|
-
steps:
|
|
349
|
-
- uses: actions/checkout@v4
|
|
350
|
-
|
|
351
|
-
- name: Setup Node.js
|
|
352
|
-
uses: actions/setup-node@v4
|
|
353
|
-
with:
|
|
354
|
-
node-version: '22'
|
|
355
|
-
|
|
356
|
-
- name: Install dependencies
|
|
357
|
-
run: |
|
|
358
|
-
npm install @riaskov/mmap-io
|
|
359
|
-
npm install @phroun/paged-buffer
|
|
360
|
-
npm install memfs
|
|
361
|
-
|
|
362
|
-
- name: Create RAM bridge
|
|
363
|
-
run: |
|
|
364
|
-
node -e "
|
|
365
|
-
const { StorageRAMBridge } = require('./dist/bridge');
|
|
366
|
-
const bridge = new StorageRAMBridge({
|
|
367
|
-
storagePath: './sandbox-storage.bin',
|
|
368
|
-
ramLimitMB: 8192, // 8GB RAM
|
|
369
|
-
useSharedMemory: true
|
|
370
|
-
});
|
|
371
|
-
bridge.map();
|
|
372
|
-
console.log('Storage mapped to RAM successfully');
|
|
373
|
-
console.log('Available memory:', process.memoryUsage().heapUsed / 1024 / 1024, 'MB');
|
|
374
|
-
"
|
|
375
|
-
|
|
376
|
-
- name: Run sandbox
|
|
377
|
-
run: |
|
|
378
|
-
docker run --rm \
|
|
379
|
-
--memory=8g \
|
|
380
|
-
--cpus=4 \
|
|
381
|
-
-v ${{ github.workspace }}:/workspace \
|
|
382
|
-
-w /workspace \
|
|
383
|
-
ubuntu:22.04 \
|
|
384
|
-
bash -c "apt-get update && apt-get install -y nodejs npm && node dist/sandbox.js"
|
|
385
|
-
|
|
386
|
-
- name: Sync storage
|
|
387
|
-
if: always()
|
|
388
|
-
run: |
|
|
389
|
-
node -e "
|
|
390
|
-
const { StorageRAMBridge } = require('./dist/bridge');
|
|
391
|
-
const bridge = new StorageRAMBridge({
|
|
392
|
-
storagePath: './sandbox-storage.bin',
|
|
393
|
-
ramLimitMB: 8192
|
|
394
|
-
});
|
|
395
|
-
bridge.map();
|
|
396
|
-
bridge.sync();
|
|
397
|
-
bridge.close();
|
|
398
|
-
"
|
|
399
|
-
|
|
400
|
-
- name: Upload storage artifact
|
|
401
|
-
uses: actions/upload-artifact@v4
|
|
402
|
-
with:
|
|
403
|
-
name: sandbox-storage
|
|
404
|
-
path: sandbox-storage.bin
|
|
405
|
-
retention-days: 7
|
|
406
|
-
5. GitLab CI Runner
|
|
407
|
-
# .gitlab-ci.yml
|
|
408
|
-
stages:
|
|
409
|
-
- sandbox
|
|
410
|
-
|
|
411
|
-
sandbox-runner:
|
|
412
|
-
stage: sandbox
|
|
413
|
-
tags:
|
|
414
|
-
- saas-linux-medium-amd64 # 4vCPU, 16GB RAM, 50GB SSD
|
|
415
|
-
image: node:22
|
|
416
|
-
script:
|
|
417
|
-
- npm install @riaskov/mmap-io @phroun/paged-buffer memfs
|
|
418
|
-
- npm run build
|
|
419
|
-
- |
|
|
420
|
-
node -e "
|
|
421
|
-
const { StorageRAMBridge } = require('./dist/bridge');
|
|
422
|
-
const bridge = new StorageRAMBridge({
|
|
423
|
-
storagePath: './sandbox.bin',
|
|
424
|
-
ramLimitMB: 8192
|
|
425
|
-
});
|
|
426
|
-
bridge.map();
|
|
427
|
-
|
|
428
|
-
// Carregar pacotes do npm CDN
|
|
429
|
-
const packages = ['react', 'vue', 'express'];
|
|
430
|
-
for (const pkg of packages) {
|
|
431
|
-
const data = await fetch('https://cdn.jsdelivr.net/npm/' + pkg + '/+esm');
|
|
432
|
-
bridge.write(offset, await data.text());
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
bridge.sync();
|
|
436
|
-
"
|
|
437
|
-
artifacts:
|
|
438
|
-
paths:
|
|
439
|
-
- sandbox.bin
|
|
440
|
-
expire_in: 7 days
|
|
441
|
-
6. Package.json do Projeto
|
|
442
|
-
{
|
|
443
|
-
"name": "storage-ram-bridge",
|
|
444
|
-
"version": "1.0.0",
|
|
445
|
-
"type": "module",
|
|
446
|
-
"main": "dist/bridge.js",
|
|
447
|
-
"scripts": {
|
|
448
|
-
"build": "tsc",
|
|
449
|
-
"dev": "tsx watch src/index.ts",
|
|
450
|
-
"sandbox": "node dist/sandbox.js",
|
|
451
|
-
"test": "vitest"
|
|
452
|
-
},
|
|
453
|
-
"dependencies": {
|
|
454
|
-
"@riaskov/mmap-io": "^1.7.0",
|
|
455
|
-
"@phroun/paged-buffer": "^1.0.0",
|
|
456
|
-
"memfs": "^4.0.0",
|
|
457
|
-
"@platformatic/vfs": "^1.0.0",
|
|
458
|
-
"jun-db": "^1.0.0"
|
|
459
|
-
},
|
|
460
|
-
"devDependencies": {
|
|
461
|
-
"typescript": "^5.4.0",
|
|
462
|
-
"tsx": "^4.0.0",
|
|
463
|
-
"vitest": "^1.0.0"
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
Macetes e Possibilidades
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
Aspecto
|
|
471
|
-
Detalhe
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
GitHub Actions
|
|
476
|
-
4vCPU, 16GB RAM, 14GB SSD grátis (público)
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
GitLab CI
|
|
480
|
-
2vCPU, 8GB RAM, 30GB SSD grátis
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
mmap
|
|
484
|
-
Converte storage em RAM virtual com zero-copy
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
LRU Cache
|
|
488
|
-
Paged buffer mantém apenas dados quentes em RAM
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
SQLite como Storage
|
|
492
|
-
DB file = storage que pode ser mapeado em RAM
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
npm CDN
|
|
496
|
-
jsDelivr serve pacotes como storage distribuído
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
Docker-in-CI
|
|
500
|
-
Roda containers Linux completos nos runners
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
Fluxo de Uso
|
|
504
|
-
1. Usuário cria sandbox → dispara workflow
|
|
505
|
-
2. CI baixa artifacts anteriores (storage.bin)
|
|
506
|
-
3. Bridge mapeia storage.bin para RAM via mmap
|
|
507
|
-
4. Pacotes npm carregados do CDN → escritos no storage
|
|
508
|
-
5. Container Linux roda com 8GB RAM + 8GB storage
|
|
509
|
-
6. Ao finalizar → storage.bin sincronizado e salvo como artifact
|
|
510
|
-
7. Próxima sessão retoma do mesmo storage
|
|
511
|
-
|
|
512
|
-
Quer que eu implemente algum componente específico ou crie o projeto completo?
|