@neverinfamous/postgres-mcp 1.3.0 → 2.1.0
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/LICENSE +1 -1
- package/README.md +244 -129
- package/dist/__tests__/benchmarks/codemode.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/codemode.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/codemode.bench.js +159 -0
- package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.js +123 -0
- package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts +11 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.js +199 -0
- package/dist/__tests__/benchmarks/handler-dispatch.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts +15 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.js +155 -0
- package/dist/__tests__/benchmarks/logger-sanitization.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.js +181 -0
- package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts +11 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.js +209 -0
- package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts +9 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.js +83 -0
- package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.js +128 -0
- package/dist/__tests__/benchmarks/transport-auth.bench.js.map +1 -0
- package/dist/__tests__/benchmarks/utilities.bench.d.ts +10 -0
- package/dist/__tests__/benchmarks/utilities.bench.d.ts.map +1 -0
- package/dist/__tests__/benchmarks/utilities.bench.js +164 -0
- package/dist/__tests__/benchmarks/utilities.bench.js.map +1 -0
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +2 -1
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.d.ts +6 -1
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +23 -7
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.d.ts +5 -22
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +30 -519
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/index.js +1 -1
- package/dist/adapters/postgresql/prompts/index.js.map +1 -1
- package/dist/adapters/postgresql/resources/index.d.ts +1 -1
- package/dist/adapters/postgresql/resources/index.js +3 -3
- package/dist/adapters/postgresql/resources/index.js.map +1 -1
- package/dist/adapters/postgresql/schema-operations.d.ts +71 -0
- package/dist/adapters/postgresql/schema-operations.d.ts.map +1 -0
- package/dist/adapters/postgresql/schema-operations.js +561 -0
- package/dist/adapters/postgresql/schema-operations.js.map +1 -0
- package/dist/adapters/postgresql/schemas/admin.d.ts +4 -4
- package/dist/adapters/postgresql/schemas/admin.js +4 -4
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.d.ts +39 -25
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +54 -25
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/core/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/core/index.js +6 -0
- package/dist/adapters/postgresql/schemas/core/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/{core.d.ts → core/queries.d.ts} +12 -167
- package/dist/adapters/postgresql/schemas/core/queries.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/{core.js → core/queries.js} +5 -213
- package/dist/adapters/postgresql/schemas/core/queries.js.map +1 -0
- package/dist/adapters/postgresql/schemas/core/transactions.d.ts +149 -0
- package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/core/transactions.js +239 -0
- package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -0
- package/dist/adapters/postgresql/schemas/cron.d.ts +12 -12
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.js +38 -10
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions/citext.d.ts +222 -0
- package/dist/adapters/postgresql/schemas/extensions/citext.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/citext.js +306 -0
- package/dist/adapters/postgresql/schemas/extensions/citext.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/index.d.ts +15 -0
- package/dist/adapters/postgresql/schemas/extensions/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/index.js +20 -0
- package/dist/adapters/postgresql/schemas/extensions/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts +164 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.js +225 -0
- package/dist/adapters/postgresql/schemas/extensions/kcache.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts +253 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.js +430 -0
- package/dist/adapters/postgresql/schemas/extensions/ltree.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts +251 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js +294 -0
- package/dist/adapters/postgresql/schemas/extensions/pgcrypto.js.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.d.ts +10 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.js +15 -0
- package/dist/adapters/postgresql/schemas/extensions/shared.js.map +1 -0
- package/dist/adapters/postgresql/schemas/index.d.ts +8 -7
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +16 -10
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/introspection.d.ts +445 -0
- package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/introspection.js +481 -0
- package/dist/adapters/postgresql/schemas/introspection.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts +270 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.js +371 -0
- package/dist/adapters/postgresql/schemas/jsonb/advanced.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts +283 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.js +456 -0
- package/dist/adapters/postgresql/schemas/jsonb/basic.js.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.js +6 -0
- package/dist/adapters/postgresql/schemas/jsonb/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +45 -29
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.js +51 -18
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +28 -32
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +82 -53
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.d.ts +78 -7
- package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.js +54 -41
- package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.d.ts +37 -19
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.js +54 -12
- package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts +429 -0
- package/dist/adapters/postgresql/schemas/postgis/advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/{postgis.js → postgis/advanced.js} +4 -467
- package/dist/adapters/postgresql/schemas/postgis/advanced.js.map +1 -0
- package/dist/adapters/postgresql/schemas/{postgis.d.ts → postgis/basic.d.ts} +1 -423
- package/dist/adapters/postgresql/schemas/postgis/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis/basic.js +493 -0
- package/dist/adapters/postgresql/schemas/postgis/basic.js.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/postgis/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/postgis/index.js +6 -0
- package/dist/adapters/postgresql/schemas/postgis/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +50 -32
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +93 -26
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
- package/dist/adapters/postgresql/schemas/stats/index.d.ts +6 -0
- package/dist/adapters/postgresql/schemas/stats/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/stats/index.js +6 -0
- package/dist/adapters/postgresql/schemas/stats/index.js.map +1 -0
- package/dist/adapters/postgresql/schemas/stats/input.d.ts +260 -0
- package/dist/adapters/postgresql/schemas/stats/input.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/{stats.js → stats/input.js} +2 -331
- package/dist/adapters/postgresql/schemas/stats/input.js.map +1 -0
- package/dist/adapters/postgresql/schemas/{stats.d.ts → stats/output.d.ts} +3 -246
- package/dist/adapters/postgresql/schemas/stats/output.d.ts.map +1 -0
- package/dist/adapters/postgresql/schemas/stats/output.js +334 -0
- package/dist/adapters/postgresql/schemas/stats/output.js.map +1 -0
- package/dist/adapters/postgresql/schemas/text-search.d.ts +44 -32
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +53 -36
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
- package/dist/adapters/postgresql/schemas/vector.d.ts +10 -10
- package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/vector.js +12 -16
- package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
- package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/admin.js +82 -67
- package/dist/adapters/postgresql/tools/admin.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.js +119 -97
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.js +345 -287
- package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext/analysis.d.ts +24 -0
- package/dist/adapters/postgresql/tools/citext/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{citext.js → citext/analysis.js} +131 -281
- package/dist/adapters/postgresql/tools/citext/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/citext/index.d.ts +15 -0
- package/dist/adapters/postgresql/tools/citext/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/citext/index.js +23 -0
- package/dist/adapters/postgresql/tools/citext/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/citext/setup.d.ts +16 -0
- package/dist/adapters/postgresql/tools/citext/setup.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/citext/setup.js +193 -0
- package/dist/adapters/postgresql/tools/citext/setup.js.map +1 -0
- package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/codemode/index.js +3 -12
- package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts +12 -22
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.js +116 -211
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts +1 -0
- package/dist/adapters/postgresql/tools/core/error-helpers.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.js +8 -1
- package/dist/adapters/postgresql/tools/core/error-helpers.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.js +124 -114
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/index.d.ts +2 -1
- package/dist/adapters/postgresql/tools/core/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/index.js +3 -2
- package/dist/adapters/postgresql/tools/core/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.js +153 -128
- package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.js +186 -161
- package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.js +37 -25
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +6 -3
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +11 -2
- package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.js +156 -129
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/utility.d.ts +26 -0
- package/dist/adapters/postgresql/tools/core/utility.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/core/utility.js +174 -0
- package/dist/adapters/postgresql/tools/core/utility.js.map +1 -0
- package/dist/adapters/postgresql/tools/cron.js +149 -70
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/introspection/analysis.d.ts +12 -0
- package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/analysis.js +574 -0
- package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/graph.d.ts +55 -0
- package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/graph.js +638 -0
- package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/index.d.ts +19 -0
- package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/index.js +36 -0
- package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/migration.d.ts +15 -0
- package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/introspection/migration.js +599 -0
- package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts +20 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.js +367 -0
- package/dist/adapters/postgresql/tools/jsonb/analytics.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/index.d.ts +4 -2
- package/dist/adapters/postgresql/tools/jsonb/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/index.js +8 -4
- package/dist/adapters/postgresql/tools/jsonb/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/read.d.ts +38 -0
- package/dist/adapters/postgresql/tools/jsonb/read.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/read.js +543 -0
- package/dist/adapters/postgresql/tools/jsonb/read.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/{advanced.d.ts → transform.d.ts} +1 -13
- package/dist/adapters/postgresql/tools/jsonb/transform.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/{advanced.js → transform.js} +39 -361
- package/dist/adapters/postgresql/tools/jsonb/transform.js.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/write.d.ts +14 -0
- package/dist/adapters/postgresql/tools/jsonb/write.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/jsonb/write.js +468 -0
- package/dist/adapters/postgresql/tools/jsonb/write.js.map +1 -0
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.js +116 -51
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.js +358 -259
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts +15 -0
- package/dist/adapters/postgresql/tools/monitoring/analysis.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{monitoring.js → monitoring/analysis.js} +37 -361
- package/dist/adapters/postgresql/tools/monitoring/analysis.js.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.d.ts +17 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.js +432 -0
- package/dist/adapters/postgresql/tools/monitoring/basic.js.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/monitoring/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/monitoring/index.js +31 -0
- package/dist/adapters/postgresql/tools/monitoring/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/index.d.ts +15 -0
- package/dist/adapters/postgresql/tools/partitioning/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/index.js +23 -0
- package/dist/adapters/postgresql/tools/partitioning/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/info.d.ts +11 -0
- package/dist/adapters/postgresql/tools/partitioning/info.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/info.js +302 -0
- package/dist/adapters/postgresql/tools/partitioning/info.js.map +1 -0
- package/dist/adapters/postgresql/tools/partitioning/management.d.ts +28 -0
- package/dist/adapters/postgresql/tools/partitioning/management.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{partitioning.js → partitioning/management.js} +48 -307
- package/dist/adapters/postgresql/tools/partitioning/management.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/helpers.d.ts +29 -0
- package/dist/adapters/postgresql/tools/partman/helpers.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/helpers.js +59 -0
- package/dist/adapters/postgresql/tools/partman/helpers.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/index.d.ts +2 -1
- package/dist/adapters/postgresql/tools/partman/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/index.js +4 -2
- package/dist/adapters/postgresql/tools/partman/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/maintenance.d.ts +20 -0
- package/dist/adapters/postgresql/tools/partman/maintenance.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/partman/maintenance.js +496 -0
- package/dist/adapters/postgresql/tools/partman/maintenance.js.map +1 -0
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.js +452 -417
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.d.ts +1 -13
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.js +173 -654
- package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.js +79 -45
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.js +83 -55
- package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.js +18 -11
- package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.js +441 -286
- package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.js +67 -79
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.js +30 -25
- package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.js +137 -100
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/schema/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/schema/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/schema/index.js +32 -0
- package/dist/adapters/postgresql/tools/schema/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/schema/objects.d.ts +15 -0
- package/dist/adapters/postgresql/tools/schema/objects.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/schema/objects.js +378 -0
- package/dist/adapters/postgresql/tools/schema/objects.js.map +1 -0
- package/dist/adapters/postgresql/tools/schema/views.d.ts +15 -0
- package/dist/adapters/postgresql/tools/schema/views.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/{schema.js → schema/views.js} +91 -339
- package/dist/adapters/postgresql/tools/schema/views.js.map +1 -0
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.js +40 -235
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.js +45 -30
- package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/math-utils.d.ts +33 -0
- package/dist/adapters/postgresql/tools/stats/math-utils.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/stats/math-utils.js +225 -0
- package/dist/adapters/postgresql/tools/stats/math-utils.js.map +1 -0
- package/dist/adapters/postgresql/tools/text/index.d.ts +16 -0
- package/dist/adapters/postgresql/tools/text/index.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text/index.js +33 -0
- package/dist/adapters/postgresql/tools/text/index.js.map +1 -0
- package/dist/adapters/postgresql/tools/text/matching.d.ts +17 -0
- package/dist/adapters/postgresql/tools/text/matching.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text/matching.js +565 -0
- package/dist/adapters/postgresql/tools/text/matching.js.map +1 -0
- package/dist/adapters/postgresql/tools/text/search.d.ts +17 -0
- package/dist/adapters/postgresql/tools/text/search.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/text/search.js +653 -0
- package/dist/adapters/postgresql/tools/text/search.js.map +1 -0
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.js +11 -27
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/{basic.d.ts → data.d.ts} +10 -8
- package/dist/adapters/postgresql/tools/vector/data.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/data.js +540 -0
- package/dist/adapters/postgresql/tools/vector/data.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/index.js +6 -2
- package/dist/adapters/postgresql/tools/vector/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/management.d.ts +11 -0
- package/dist/adapters/postgresql/tools/vector/management.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/management.js +425 -0
- package/dist/adapters/postgresql/tools/vector/management.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/query.d.ts +14 -0
- package/dist/adapters/postgresql/tools/vector/query.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/query.js +767 -0
- package/dist/adapters/postgresql/tools/vector/query.js.map +1 -0
- package/dist/adapters/postgresql/tools/vector/{advanced.d.ts → search-advanced.d.ts} +4 -5
- package/dist/adapters/postgresql/tools/vector/search-advanced.d.ts.map +1 -0
- package/dist/adapters/postgresql/tools/vector/search-advanced.js +626 -0
- package/dist/adapters/postgresql/tools/vector/search-advanced.js.map +1 -0
- package/dist/auth/auth-context.d.ts +28 -0
- package/dist/auth/auth-context.d.ts.map +1 -0
- package/dist/auth/auth-context.js +37 -0
- package/dist/auth/auth-context.js.map +1 -0
- package/dist/auth/scope-map.d.ts +20 -0
- package/dist/auth/scope-map.d.ts.map +1 -0
- package/dist/auth/scope-map.js +40 -0
- package/dist/auth/scope-map.js.map +1 -0
- package/dist/auth/scopes.d.ts.map +1 -1
- package/dist/auth/scopes.js +2 -0
- package/dist/auth/scopes.js.map +1 -1
- package/dist/cli/args.d.ts +3 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +4 -3
- package/dist/cli/args.js.map +1 -1
- package/dist/cli.js +11 -5
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api/aliases.d.ts +14 -0
- package/dist/codemode/api/aliases.d.ts.map +1 -0
- package/dist/codemode/api/aliases.js +503 -0
- package/dist/codemode/api/aliases.js.map +1 -0
- package/dist/codemode/api/group-api.d.ts +23 -0
- package/dist/codemode/api/group-api.d.ts.map +1 -0
- package/dist/codemode/api/group-api.js +179 -0
- package/dist/codemode/api/group-api.js.map +1 -0
- package/dist/codemode/{api.d.ts → api/index.d.ts} +5 -4
- package/dist/codemode/api/index.d.ts.map +1 -0
- package/dist/codemode/api/index.js +192 -0
- package/dist/codemode/api/index.js.map +1 -0
- package/dist/codemode/api/maps.d.ts +47 -0
- package/dist/codemode/api/maps.d.ts.map +1 -0
- package/dist/codemode/api/maps.js +523 -0
- package/dist/codemode/api/maps.js.map +1 -0
- package/dist/codemode/api/normalize.d.ts +13 -0
- package/dist/codemode/api/normalize.d.ts.map +1 -0
- package/dist/codemode/api/normalize.js +120 -0
- package/dist/codemode/api/normalize.js.map +1 -0
- package/dist/codemode/index.d.ts +1 -3
- package/dist/codemode/index.d.ts.map +1 -1
- package/dist/codemode/index.js +1 -5
- package/dist/codemode/index.js.map +1 -1
- package/dist/codemode/sandbox.d.ts +14 -1
- package/dist/codemode/sandbox.d.ts.map +1 -1
- package/dist/codemode/sandbox.js +66 -44
- package/dist/codemode/sandbox.js.map +1 -1
- package/dist/codemode/types.d.ts.map +1 -1
- package/dist/codemode/types.js +3 -0
- package/dist/codemode/types.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +5 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +91 -43
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +22 -19
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +48 -37
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/filtering/ToolFilter.d.ts.map +1 -1
- package/dist/filtering/ToolFilter.js +10 -13
- package/dist/filtering/ToolFilter.js.map +1 -1
- package/dist/pool/ConnectionPool.js +1 -1
- package/dist/pool/ConnectionPool.js.map +1 -1
- package/dist/server/McpServer.d.ts +1 -1
- package/dist/server/McpServer.d.ts.map +1 -1
- package/dist/server/McpServer.js +1 -2
- package/dist/server/McpServer.js.map +1 -1
- package/dist/transports/http.d.ts +44 -10
- package/dist/transports/http.d.ts.map +1 -1
- package/dist/transports/http.js +327 -40
- package/dist/transports/http.js.map +1 -1
- package/dist/types/filtering.d.ts +2 -2
- package/dist/types/filtering.d.ts.map +1 -1
- package/dist/utils/icons.d.ts.map +1 -1
- package/dist/utils/icons.js +5 -0
- package/dist/utils/icons.js.map +1 -1
- package/dist/utils/logger.d.ts +6 -6
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +18 -15
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/progress-utils.d.ts +2 -2
- package/dist/utils/progress-utils.d.ts.map +1 -1
- package/dist/utils/progress-utils.js +2 -3
- package/dist/utils/progress-utils.js.map +1 -1
- package/dist/utils/version.d.ts +9 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +12 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/utils/where-clause.d.ts +4 -0
- package/dist/utils/where-clause.d.ts.map +1 -1
- package/dist/utils/where-clause.js +40 -0
- package/dist/utils/where-clause.js.map +1 -1
- package/package.json +19 -14
- package/dist/adapters/postgresql/schemas/core.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/core.js.map +0 -1
- package/dist/adapters/postgresql/schemas/extensions.d.ts +0 -833
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/extensions.js +0 -1170
- package/dist/adapters/postgresql/schemas/extensions.js.map +0 -1
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +0 -533
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +0 -790
- package/dist/adapters/postgresql/schemas/jsonb.js.map +0 -1
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/postgis.js.map +0 -1
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +0 -1
- package/dist/adapters/postgresql/schemas/stats.js.map +0 -1
- package/dist/adapters/postgresql/tools/citext.d.ts +0 -18
- package/dist/adapters/postgresql/tools/citext.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/citext.js.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts +0 -20
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.js +0 -915
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +0 -1
- package/dist/adapters/postgresql/tools/monitoring.d.ts +0 -13
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/monitoring.js.map +0 -1
- package/dist/adapters/postgresql/tools/partitioning.d.ts +0 -13
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/partitioning.js.map +0 -1
- package/dist/adapters/postgresql/tools/schema.d.ts +0 -13
- package/dist/adapters/postgresql/tools/schema.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/schema.js.map +0 -1
- package/dist/adapters/postgresql/tools/text.d.ts +0 -13
- package/dist/adapters/postgresql/tools/text.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/text.js +0 -903
- package/dist/adapters/postgresql/tools/text.js.map +0 -1
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/vector/advanced.js +0 -958
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +0 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +0 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +0 -1165
- package/dist/adapters/postgresql/tools/vector/basic.js.map +0 -1
- package/dist/codemode/api.d.ts.map +0 -1
- package/dist/codemode/api.js +0 -1510
- package/dist/codemode/api.js.map +0 -1
- package/dist/codemode/sandbox-factory.d.ts +0 -72
- package/dist/codemode/sandbox-factory.d.ts.map +0 -1
- package/dist/codemode/sandbox-factory.js +0 -88
- package/dist/codemode/sandbox-factory.js.map +0 -1
- package/dist/codemode/worker-sandbox.d.ts +0 -82
- package/dist/codemode/worker-sandbox.d.ts.map +0 -1
- package/dist/codemode/worker-sandbox.js +0 -244
- package/dist/codemode/worker-sandbox.js.map +0 -1
- package/dist/codemode/worker-script.d.ts +0 -8
- package/dist/codemode/worker-script.d.ts.map +0 -1
- package/dist/codemode/worker-script.js +0 -113
- package/dist/codemode/worker-script.js.map +0 -1
package/dist/codemode/api.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/codemode/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* postgres-mcp - Sandbox Factory
|
|
3
|
-
*
|
|
4
|
-
* Factory functions for creating sandbox instances with configurable isolation modes.
|
|
5
|
-
* Allows runtime selection between vm-based and worker-based sandboxes.
|
|
6
|
-
*/
|
|
7
|
-
import type { SandboxOptions, PoolOptions, SandboxResult } from "./types.js";
|
|
8
|
-
/**
|
|
9
|
-
* Sandbox isolation mode
|
|
10
|
-
*/
|
|
11
|
-
export type SandboxMode = "vm" | "worker";
|
|
12
|
-
/**
|
|
13
|
-
* Unified sandbox interface
|
|
14
|
-
*/
|
|
15
|
-
export interface ISandbox {
|
|
16
|
-
execute(code: string, apiBindings: Record<string, unknown>): Promise<SandboxResult>;
|
|
17
|
-
isHealthy(): boolean;
|
|
18
|
-
dispose(): void;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Unified sandbox pool interface
|
|
22
|
-
*/
|
|
23
|
-
export interface ISandboxPool {
|
|
24
|
-
initialize(): void;
|
|
25
|
-
execute(code: string, apiBindings: Record<string, unknown>): Promise<SandboxResult>;
|
|
26
|
-
getStats(): {
|
|
27
|
-
available: number;
|
|
28
|
-
inUse: number;
|
|
29
|
-
max: number;
|
|
30
|
-
};
|
|
31
|
-
dispose(): void;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Mode info for documentation/selection
|
|
35
|
-
*/
|
|
36
|
-
export interface SandboxModeInfo {
|
|
37
|
-
name: string;
|
|
38
|
-
isolation: string;
|
|
39
|
-
performance: string;
|
|
40
|
-
security: string;
|
|
41
|
-
requirements: string;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Set the default sandbox mode
|
|
45
|
-
*/
|
|
46
|
-
export declare function setDefaultSandboxMode(mode: SandboxMode): void;
|
|
47
|
-
/**
|
|
48
|
-
* Get the current default mode
|
|
49
|
-
*/
|
|
50
|
-
export declare function getDefaultSandboxMode(): SandboxMode;
|
|
51
|
-
/**
|
|
52
|
-
* Get available sandbox modes
|
|
53
|
-
*/
|
|
54
|
-
export declare function getAvailableSandboxModes(): SandboxMode[];
|
|
55
|
-
/**
|
|
56
|
-
* Create a sandbox instance
|
|
57
|
-
* @param mode - Isolation mode ('vm' or 'worker')
|
|
58
|
-
* @param options - Sandbox options
|
|
59
|
-
*/
|
|
60
|
-
export declare function createSandbox(mode?: SandboxMode, options?: SandboxOptions): ISandbox;
|
|
61
|
-
/**
|
|
62
|
-
* Create a sandbox pool
|
|
63
|
-
* @param mode - Isolation mode ('vm' or 'worker')
|
|
64
|
-
* @param poolOptions - Pool configuration
|
|
65
|
-
* @param sandboxOptions - Sandbox configuration
|
|
66
|
-
*/
|
|
67
|
-
export declare function createSandboxPool(mode?: SandboxMode, poolOptions?: PoolOptions, sandboxOptions?: SandboxOptions): ISandboxPool;
|
|
68
|
-
/**
|
|
69
|
-
* Get mode characteristics for documentation/selection
|
|
70
|
-
*/
|
|
71
|
-
export declare function getSandboxModeInfo(mode: SandboxMode): SandboxModeInfo;
|
|
72
|
-
//# sourceMappingURL=sandbox-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-factory.d.ts","sourceRoot":"","sources":["../../src/codemode/sandbox-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,SAAS,IAAI,OAAO,CAAC;IACrB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAK7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAEnD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,EAAE,CAExD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,CAAC,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,QAAQ,CAUV;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,CAAC,EAAE,WAAW,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,YAAY,CAUd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAoBrE"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* postgres-mcp - Sandbox Factory
|
|
3
|
-
*
|
|
4
|
-
* Factory functions for creating sandbox instances with configurable isolation modes.
|
|
5
|
-
* Allows runtime selection between vm-based and worker-based sandboxes.
|
|
6
|
-
*/
|
|
7
|
-
import { CodeModeSandbox, SandboxPool } from "./sandbox.js";
|
|
8
|
-
import { WorkerSandbox, WorkerSandboxPool } from "./worker-sandbox.js";
|
|
9
|
-
import { logger } from "../utils/logger.js";
|
|
10
|
-
// Default mode (module-level state)
|
|
11
|
-
let defaultMode = "vm";
|
|
12
|
-
/**
|
|
13
|
-
* Set the default sandbox mode
|
|
14
|
-
*/
|
|
15
|
-
export function setDefaultSandboxMode(mode) {
|
|
16
|
-
defaultMode = mode;
|
|
17
|
-
logger.info(`Sandbox default mode set to: ${mode}`, {
|
|
18
|
-
module: "CODEMODE",
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get the current default mode
|
|
23
|
-
*/
|
|
24
|
-
export function getDefaultSandboxMode() {
|
|
25
|
-
return defaultMode;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get available sandbox modes
|
|
29
|
-
*/
|
|
30
|
-
export function getAvailableSandboxModes() {
|
|
31
|
-
return ["vm", "worker"];
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Create a sandbox instance
|
|
35
|
-
* @param mode - Isolation mode ('vm' or 'worker')
|
|
36
|
-
* @param options - Sandbox options
|
|
37
|
-
*/
|
|
38
|
-
export function createSandbox(mode, options) {
|
|
39
|
-
const selectedMode = mode ?? defaultMode;
|
|
40
|
-
switch (selectedMode) {
|
|
41
|
-
case "worker":
|
|
42
|
-
return WorkerSandbox.create(options);
|
|
43
|
-
case "vm":
|
|
44
|
-
default:
|
|
45
|
-
return CodeModeSandbox.create(options);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Create a sandbox pool
|
|
50
|
-
* @param mode - Isolation mode ('vm' or 'worker')
|
|
51
|
-
* @param poolOptions - Pool configuration
|
|
52
|
-
* @param sandboxOptions - Sandbox configuration
|
|
53
|
-
*/
|
|
54
|
-
export function createSandboxPool(mode, poolOptions, sandboxOptions) {
|
|
55
|
-
const selectedMode = mode ?? defaultMode;
|
|
56
|
-
switch (selectedMode) {
|
|
57
|
-
case "worker":
|
|
58
|
-
return new WorkerSandboxPool(poolOptions, sandboxOptions);
|
|
59
|
-
case "vm":
|
|
60
|
-
default:
|
|
61
|
-
return new SandboxPool(poolOptions, sandboxOptions);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Get mode characteristics for documentation/selection
|
|
66
|
-
*/
|
|
67
|
-
export function getSandboxModeInfo(mode) {
|
|
68
|
-
switch (mode) {
|
|
69
|
-
case "worker":
|
|
70
|
-
return {
|
|
71
|
-
name: "Worker Thread",
|
|
72
|
-
isolation: "Separate V8 instance per worker",
|
|
73
|
-
performance: "Higher overhead (thread spawn per execution)",
|
|
74
|
-
security: "Enhanced - isolated memory, hard timeouts",
|
|
75
|
-
requirements: "Node.js worker_threads (built-in)",
|
|
76
|
-
};
|
|
77
|
-
case "vm":
|
|
78
|
-
default:
|
|
79
|
-
return {
|
|
80
|
-
name: "VM Context",
|
|
81
|
-
isolation: "Script isolation within same process",
|
|
82
|
-
performance: "Low overhead (reusable contexts)",
|
|
83
|
-
security: "Standard - script isolation, blocked globals",
|
|
84
|
-
requirements: "Node.js vm module (built-in)",
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=sandbox-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-factory.js","sourceRoot":"","sources":["../../src/codemode/sandbox-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA4C5C,oCAAoC;AACpC,IAAI,WAAW,GAAgB,IAAI,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,WAAW,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,EAAE,EAAE;QAClD,MAAM,EAAE,UAAmB;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAkB,EAClB,OAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,IAAI,WAAW,CAAC;IAEzC,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,KAAK,IAAI,CAAC;QACV;YACE,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAkB,EAClB,WAAyB,EACzB,cAA+B;IAE/B,MAAM,YAAY,GAAG,IAAI,IAAI,WAAW,CAAC;IAEzC,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,IAAI,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC;QACV;YACE,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAiB;IAClD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,iCAAiC;gBAC5C,WAAW,EAAE,8CAA8C;gBAC3D,QAAQ,EAAE,2CAA2C;gBACrD,YAAY,EAAE,mCAAmC;aAClD,CAAC;QACJ,KAAK,IAAI,CAAC;QACV;YACE,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,sCAAsC;gBACjD,WAAW,EAAE,kCAAkC;gBAC/C,QAAQ,EAAE,8CAA8C;gBACxD,YAAY,EAAE,8BAA8B;aAC7C,CAAC;IACN,CAAC;AACH,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* postgres-mcp - Code Mode Worker Sandbox
|
|
3
|
-
*
|
|
4
|
-
* Enhanced sandboxed execution using worker_threads for process-level isolation.
|
|
5
|
-
* Provides stronger isolation than vm module by running code in a separate thread
|
|
6
|
-
* with isolated memory space.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Separate V8 instance per worker thread
|
|
10
|
-
* - Hard timeout enforcement (worker termination)
|
|
11
|
-
* - Isolated memory space
|
|
12
|
-
* - Clean process state on each execution
|
|
13
|
-
*/
|
|
14
|
-
import { type SandboxOptions, type PoolOptions, type SandboxResult } from "./types.js";
|
|
15
|
-
/**
|
|
16
|
-
* A sandboxed execution context using worker_threads
|
|
17
|
-
* Provides stronger isolation than vm module with separate V8 instance
|
|
18
|
-
*/
|
|
19
|
-
export declare class WorkerSandbox {
|
|
20
|
-
private readonly options;
|
|
21
|
-
private disposed;
|
|
22
|
-
private constructor();
|
|
23
|
-
/**
|
|
24
|
-
* Create a new worker sandbox instance
|
|
25
|
-
*/
|
|
26
|
-
static create(options?: SandboxOptions): WorkerSandbox;
|
|
27
|
-
/**
|
|
28
|
-
* Execute code in a worker thread
|
|
29
|
-
* Each execution spawns a fresh worker for maximum isolation
|
|
30
|
-
*/
|
|
31
|
-
execute(code: string, apiBindings: Record<string, unknown>): Promise<SandboxResult>;
|
|
32
|
-
/**
|
|
33
|
-
* Serialize API bindings for worker transfer
|
|
34
|
-
* We can't transfer functions directly, so we send method names
|
|
35
|
-
*/
|
|
36
|
-
private serializeBindings;
|
|
37
|
-
/**
|
|
38
|
-
* Calculate execution metrics
|
|
39
|
-
*/
|
|
40
|
-
private calculateMetrics;
|
|
41
|
-
/**
|
|
42
|
-
* Check if sandbox is healthy
|
|
43
|
-
*/
|
|
44
|
-
isHealthy(): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* Dispose of the sandbox
|
|
47
|
-
*/
|
|
48
|
-
dispose(): void;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Pool of worker sandboxes
|
|
52
|
-
* Unlike VM pool, worker sandboxes are created fresh for each execution
|
|
53
|
-
* so this pool is simpler (mainly for statistics and control)
|
|
54
|
-
*/
|
|
55
|
-
export declare class WorkerSandboxPool {
|
|
56
|
-
private readonly options;
|
|
57
|
-
private readonly sandboxOptions;
|
|
58
|
-
private activeCount;
|
|
59
|
-
private disposed;
|
|
60
|
-
constructor(poolOptions?: PoolOptions, sandboxOptions?: SandboxOptions);
|
|
61
|
-
/**
|
|
62
|
-
* Initialize the pool
|
|
63
|
-
*/
|
|
64
|
-
initialize(): void;
|
|
65
|
-
/**
|
|
66
|
-
* Execute code using a worker sandbox
|
|
67
|
-
*/
|
|
68
|
-
execute(code: string, apiBindings: Record<string, unknown>): Promise<SandboxResult>;
|
|
69
|
-
/**
|
|
70
|
-
* Get pool statistics
|
|
71
|
-
*/
|
|
72
|
-
getStats(): {
|
|
73
|
-
available: number;
|
|
74
|
-
inUse: number;
|
|
75
|
-
max: number;
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Dispose of the pool
|
|
79
|
-
*/
|
|
80
|
-
dispose(): void;
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=worker-sandbox.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-sandbox.d.ts","sourceRoot":"","sources":["../../src/codemode/worker-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,aAAa,EAEnB,MAAM,YAAY,CAAC;AAMpB;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa;IAKtD;;;OAGG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,aAAa,CAAC;IAyIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,cAAc;IAKtE;;OAEG;IACH,UAAU,IAAI,IAAI;IASlB;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,aAAa,CAAC;IA0BzB;;OAEG;IACH,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;IAQ7D;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* postgres-mcp - Code Mode Worker Sandbox
|
|
3
|
-
*
|
|
4
|
-
* Enhanced sandboxed execution using worker_threads for process-level isolation.
|
|
5
|
-
* Provides stronger isolation than vm module by running code in a separate thread
|
|
6
|
-
* with isolated memory space.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Separate V8 instance per worker thread
|
|
10
|
-
* - Hard timeout enforcement (worker termination)
|
|
11
|
-
* - Isolated memory space
|
|
12
|
-
* - Clean process state on each execution
|
|
13
|
-
*/
|
|
14
|
-
import { Worker } from "node:worker_threads";
|
|
15
|
-
import { fileURLToPath } from "node:url";
|
|
16
|
-
import { dirname, join } from "node:path";
|
|
17
|
-
import { logger } from "../utils/logger.js";
|
|
18
|
-
import { DEFAULT_SANDBOX_OPTIONS, DEFAULT_POOL_OPTIONS, } from "./types.js";
|
|
19
|
-
// Get directory for worker script
|
|
20
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
21
|
-
const WORKER_SCRIPT_PATH = join(__dirname, "worker-script.js");
|
|
22
|
-
/**
|
|
23
|
-
* A sandboxed execution context using worker_threads
|
|
24
|
-
* Provides stronger isolation than vm module with separate V8 instance
|
|
25
|
-
*/
|
|
26
|
-
export class WorkerSandbox {
|
|
27
|
-
options;
|
|
28
|
-
disposed = false;
|
|
29
|
-
constructor(options) {
|
|
30
|
-
this.options = options;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create a new worker sandbox instance
|
|
34
|
-
*/
|
|
35
|
-
static create(options) {
|
|
36
|
-
const opts = { ...DEFAULT_SANDBOX_OPTIONS, ...options };
|
|
37
|
-
return new WorkerSandbox(opts);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Execute code in a worker thread
|
|
41
|
-
* Each execution spawns a fresh worker for maximum isolation
|
|
42
|
-
*/
|
|
43
|
-
async execute(code, apiBindings) {
|
|
44
|
-
if (this.disposed) {
|
|
45
|
-
return {
|
|
46
|
-
success: false,
|
|
47
|
-
error: "Sandbox has been disposed",
|
|
48
|
-
metrics: { wallTimeMs: 0, cpuTimeMs: 0, memoryUsedMb: 0 },
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
const startTime = performance.now();
|
|
52
|
-
const startMemory = process.memoryUsage().heapUsed;
|
|
53
|
-
return new Promise((resolve) => {
|
|
54
|
-
let worker = null;
|
|
55
|
-
let timeoutId = null;
|
|
56
|
-
let resolved = false;
|
|
57
|
-
const cleanup = () => {
|
|
58
|
-
if (timeoutId) {
|
|
59
|
-
clearTimeout(timeoutId);
|
|
60
|
-
timeoutId = null;
|
|
61
|
-
}
|
|
62
|
-
if (worker) {
|
|
63
|
-
worker.terminate().catch(() => {
|
|
64
|
-
/* intentionally empty */
|
|
65
|
-
});
|
|
66
|
-
worker = null;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
const respond = (result) => {
|
|
70
|
-
if (resolved)
|
|
71
|
-
return;
|
|
72
|
-
resolved = true;
|
|
73
|
-
cleanup();
|
|
74
|
-
resolve(result);
|
|
75
|
-
};
|
|
76
|
-
try {
|
|
77
|
-
worker = new Worker(WORKER_SCRIPT_PATH, {
|
|
78
|
-
workerData: {
|
|
79
|
-
code,
|
|
80
|
-
apiBindings: this.serializeBindings(apiBindings),
|
|
81
|
-
timeout: this.options.timeoutMs,
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
// Set hard timeout (will kill worker)
|
|
85
|
-
timeoutId = setTimeout(() => {
|
|
86
|
-
const endTime = performance.now();
|
|
87
|
-
const endMemory = process.memoryUsage().heapUsed;
|
|
88
|
-
respond({
|
|
89
|
-
success: false,
|
|
90
|
-
error: `Execution timeout: exceeded ${String(this.options.timeoutMs)}ms limit`,
|
|
91
|
-
metrics: this.calculateMetrics(startTime, endTime, startMemory, endMemory),
|
|
92
|
-
});
|
|
93
|
-
}, this.options.timeoutMs + 1000); // Extra buffer for cleanup
|
|
94
|
-
worker.on("message", (result) => {
|
|
95
|
-
const endTime = performance.now();
|
|
96
|
-
const endMemory = process.memoryUsage().heapUsed;
|
|
97
|
-
respond({
|
|
98
|
-
success: result.success,
|
|
99
|
-
result: result.result,
|
|
100
|
-
error: result.error,
|
|
101
|
-
stack: result.stack,
|
|
102
|
-
metrics: this.calculateMetrics(startTime, endTime, startMemory, endMemory),
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
worker.on("error", (error) => {
|
|
106
|
-
const endTime = performance.now();
|
|
107
|
-
const endMemory = process.memoryUsage().heapUsed;
|
|
108
|
-
respond({
|
|
109
|
-
success: false,
|
|
110
|
-
error: error.message,
|
|
111
|
-
stack: error.stack,
|
|
112
|
-
metrics: this.calculateMetrics(startTime, endTime, startMemory, endMemory),
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
worker.on("exit", (exitCode) => {
|
|
116
|
-
if (!resolved && exitCode !== 0) {
|
|
117
|
-
const endTime = performance.now();
|
|
118
|
-
const endMemory = process.memoryUsage().heapUsed;
|
|
119
|
-
respond({
|
|
120
|
-
success: false,
|
|
121
|
-
error: `Worker exited with code ${String(exitCode)}`,
|
|
122
|
-
metrics: this.calculateMetrics(startTime, endTime, startMemory, endMemory),
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
const endTime = performance.now();
|
|
129
|
-
const endMemory = process.memoryUsage().heapUsed;
|
|
130
|
-
respond({
|
|
131
|
-
success: false,
|
|
132
|
-
error: error instanceof Error ? error.message : String(error),
|
|
133
|
-
stack: error instanceof Error ? error.stack : undefined,
|
|
134
|
-
metrics: this.calculateMetrics(startTime, endTime, startMemory, endMemory),
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Serialize API bindings for worker transfer
|
|
141
|
-
* We can't transfer functions directly, so we send method names
|
|
142
|
-
*/
|
|
143
|
-
serializeBindings(bindings) {
|
|
144
|
-
const serialized = {};
|
|
145
|
-
for (const [group, methods] of Object.entries(bindings)) {
|
|
146
|
-
if (typeof methods === "object" && methods !== null) {
|
|
147
|
-
serialized[group] = Object.keys(methods);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return serialized;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Calculate execution metrics
|
|
154
|
-
*/
|
|
155
|
-
calculateMetrics(startTime, endTime, startMemory, endMemory) {
|
|
156
|
-
return {
|
|
157
|
-
wallTimeMs: Math.round(endTime - startTime),
|
|
158
|
-
cpuTimeMs: Math.round(endTime - startTime), // Approximation
|
|
159
|
-
memoryUsedMb: Math.round(((endMemory - startMemory) / (1024 * 1024)) * 100) / 100,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Check if sandbox is healthy
|
|
164
|
-
*/
|
|
165
|
-
isHealthy() {
|
|
166
|
-
return !this.disposed;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Dispose of the sandbox
|
|
170
|
-
*/
|
|
171
|
-
dispose() {
|
|
172
|
-
this.disposed = true;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Pool of worker sandboxes
|
|
177
|
-
* Unlike VM pool, worker sandboxes are created fresh for each execution
|
|
178
|
-
* so this pool is simpler (mainly for statistics and control)
|
|
179
|
-
*/
|
|
180
|
-
export class WorkerSandboxPool {
|
|
181
|
-
options;
|
|
182
|
-
sandboxOptions;
|
|
183
|
-
activeCount = 0;
|
|
184
|
-
disposed = false;
|
|
185
|
-
constructor(poolOptions, sandboxOptions) {
|
|
186
|
-
this.options = { ...DEFAULT_POOL_OPTIONS, ...poolOptions };
|
|
187
|
-
this.sandboxOptions = { ...DEFAULT_SANDBOX_OPTIONS, ...sandboxOptions };
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Initialize the pool
|
|
191
|
-
*/
|
|
192
|
-
initialize() {
|
|
193
|
-
logger.info(`Worker sandbox pool initialized (max: ${String(this.options.maxInstances)} concurrent)`, {
|
|
194
|
-
module: "CODEMODE",
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Execute code using a worker sandbox
|
|
199
|
-
*/
|
|
200
|
-
async execute(code, apiBindings) {
|
|
201
|
-
if (this.disposed) {
|
|
202
|
-
return {
|
|
203
|
-
success: false,
|
|
204
|
-
error: "Pool has been disposed",
|
|
205
|
-
metrics: { wallTimeMs: 0, cpuTimeMs: 0, memoryUsedMb: 0 },
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
if (this.activeCount >= this.options.maxInstances) {
|
|
209
|
-
return {
|
|
210
|
-
success: false,
|
|
211
|
-
error: `Worker pool exhausted (max: ${String(this.options.maxInstances)} concurrent)`,
|
|
212
|
-
metrics: { wallTimeMs: 0, cpuTimeMs: 0, memoryUsedMb: 0 },
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
this.activeCount++;
|
|
216
|
-
try {
|
|
217
|
-
const sandbox = WorkerSandbox.create(this.sandboxOptions);
|
|
218
|
-
return await sandbox.execute(code, apiBindings);
|
|
219
|
-
}
|
|
220
|
-
finally {
|
|
221
|
-
this.activeCount--;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Get pool statistics
|
|
226
|
-
*/
|
|
227
|
-
getStats() {
|
|
228
|
-
return {
|
|
229
|
-
available: this.options.maxInstances - this.activeCount,
|
|
230
|
-
inUse: this.activeCount,
|
|
231
|
-
max: this.options.maxInstances,
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Dispose of the pool
|
|
236
|
-
*/
|
|
237
|
-
dispose() {
|
|
238
|
-
this.disposed = true;
|
|
239
|
-
logger.info("Worker sandbox pool disposed", {
|
|
240
|
-
module: "CODEMODE",
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
//# sourceMappingURL=worker-sandbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-sandbox.js","sourceRoot":"","sources":["../../src/codemode/worker-sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-script.d.ts","sourceRoot":"","sources":["../../src/codemode/worker-script.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|