@malloy-publisher/server 0.0.198-dev → 0.0.198-dev1
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/README.docker.md +135 -20
- package/README.md +15 -0
- package/build.ts +42 -1
- package/dist/app/api-doc.yaml +51 -0
- package/dist/app/assets/EnvironmentPage-Dpee_Kn6.js +1 -0
- package/dist/app/assets/HomePage-DLRWTNoL.js +1 -0
- package/dist/app/assets/MainPage-DsVt5QGM.js +2 -0
- package/dist/app/assets/ModelPage-AwAugZ37.js +1 -0
- package/dist/app/assets/PackagePage-XQ-EWGTC.js +1 -0
- package/dist/app/assets/RouteError-3Mv8JQw7.js +1 -0
- package/dist/app/assets/WorkbookPage-DHYYpcYc.js +1 -0
- package/dist/app/assets/{core-w79IMXAG.es-Bd0UlzOL.js → core-DfcpQGVP.es-DQggNOdX.js} +14 -14
- package/dist/app/assets/{index-C513UodQ.js → index-BUp81Qdm.js} +15 -15
- package/dist/app/assets/index-D1pdwrUW.js +1803 -0
- package/dist/app/assets/index-Dv5bF4Ii.js +451 -0
- package/dist/app/assets/{index.umd-BMeMPq_9.js → index.umd-CQH4LZU8.js} +1 -1
- package/dist/app/index.html +2 -3
- package/dist/compile_worker.mjs +628 -0
- package/dist/default-publisher.config.json +23 -0
- package/dist/instrumentation.mjs +36 -38
- package/dist/server.mjs +2060 -913
- package/package.json +11 -12
- package/publisher.config.example.bigquery.json +33 -0
- package/publisher.config.example.duckdb.json +23 -0
- package/publisher.config.json +1 -11
- package/src/compile/compile_pool.spec.ts +227 -0
- package/src/compile/compile_pool.ts +729 -0
- package/src/compile/compile_worker.ts +683 -0
- package/src/compile/protocol.ts +251 -0
- package/src/config.spec.ts +306 -0
- package/src/config.ts +222 -2
- package/src/controller/compile.controller.ts +3 -1
- package/src/controller/connection.controller.ts +1 -1
- package/src/controller/model.controller.ts +8 -1
- package/src/controller/package.controller.ts +70 -29
- package/src/controller/query.controller.ts +3 -0
- package/src/default-publisher.config.json +23 -0
- package/src/errors.spec.ts +42 -0
- package/src/errors.ts +21 -0
- package/src/health.spec.ts +90 -0
- package/src/health.ts +86 -45
- package/src/logger.ts +1 -3
- package/src/mcp/tools/discovery_tools.ts +6 -2
- package/src/mcp/tools/execute_query_tool.ts +12 -0
- package/src/path_safety.spec.ts +158 -0
- package/src/path_safety.ts +140 -0
- package/src/pg_helpers.spec.ts +226 -0
- package/src/pg_helpers.ts +129 -0
- package/src/server-old.ts +3 -23
- package/src/server.ts +49 -0
- package/src/service/connection.spec.ts +6 -4
- package/src/service/connection.ts +8 -3
- package/src/service/connection_config.ts +2 -2
- package/src/service/environment.ts +621 -176
- package/src/service/environment_admission.spec.ts +180 -0
- package/src/service/environment_store.ts +22 -0
- package/src/service/filter_integration.spec.ts +110 -0
- package/src/service/givens_integration.spec.ts +192 -0
- package/src/service/manifest_service.spec.ts +7 -2
- package/src/service/manifest_service.ts +8 -2
- package/src/service/materialization_service.ts +14 -3
- package/src/service/model.spec.ts +105 -0
- package/src/service/model.ts +317 -10
- package/src/service/model_worker_path.spec.ts +125 -0
- package/src/service/package.ts +4 -3
- package/src/service/package_memory_governor.spec.ts +173 -0
- package/src/service/package_memory_governor.ts +233 -0
- package/src/service/package_race.spec.ts +208 -0
- package/src/storage/StorageManager.ts +71 -11
- package/src/storage/duckdb/schema.ts +41 -0
- package/src/utils.ts +11 -0
- package/tests/harness/rest_e2e.ts +2 -2
- package/tests/integration/concurrent_package/concurrent_package.integration.spec.ts +280 -0
- package/tests/integration/legacy_routes/legacy_routes.integration.spec.ts +259 -0
- package/tests/unit/duckdb/attached_databases.test.ts +5 -5
- package/tests/unit/duckdb/legacy_schema_migration.test.ts +194 -0
- package/tests/unit/storage/StorageManager.test.ts +166 -0
- package/dist/app/assets/EnvironmentPage-1j6QDWAy.js +0 -1
- package/dist/app/assets/HomePage-DMop21VG.js +0 -1
- package/dist/app/assets/MainPage-BbE8ETz1.js +0 -2
- package/dist/app/assets/ModelPage-D2jvfe3t.js +0 -1
- package/dist/app/assets/PackagePage-BbnhGoD3.js +0 -1
- package/dist/app/assets/RouteError-D3LGEZ3i.js +0 -1
- package/dist/app/assets/WorkbookPage-DttVIj4u.js +0 -1
- package/dist/app/assets/index-5K9YjIxF.js +0 -456
- package/dist/app/assets/index-DIgzgp69.js +0 -1742
package/dist/instrumentation.mjs
CHANGED
|
@@ -43,6 +43,7 @@ var __export = (target, all) => {
|
|
|
43
43
|
set: __exportSetter.bind(all, name)
|
|
44
44
|
});
|
|
45
45
|
};
|
|
46
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
46
47
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
47
48
|
|
|
48
49
|
// ../../node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js
|
|
@@ -115086,41 +115087,7 @@ var require_winston = __commonJS((exports) => {
|
|
|
115086
115087
|
warn.forProperties(exports, "deprecated", ["emitErrs", "levelLength"]);
|
|
115087
115088
|
});
|
|
115088
115089
|
|
|
115089
|
-
// src/instrumentation.ts
|
|
115090
|
-
var import_api = __toESM(require_src(), 1);
|
|
115091
|
-
var import_auto_instrumentations_node = __toESM(require_src59(), 1);
|
|
115092
|
-
var import_exporter_logs_otlp_proto = __toESM(require_src66(), 1);
|
|
115093
|
-
var import_exporter_prometheus = __toESM(require_src71(), 1);
|
|
115094
|
-
var import_exporter_trace_otlp_proto = __toESM(require_src72(), 1);
|
|
115095
|
-
var import_instrumentation_express = __toESM(require_src17(), 1);
|
|
115096
|
-
var import_resources = __toESM(require_src57(), 1);
|
|
115097
|
-
var import_sdk_logs = __toESM(require_src75(), 1);
|
|
115098
|
-
var import_sdk_node = __toESM(require_src106(), 1);
|
|
115099
|
-
var import_sdk_trace_base = __toESM(require_src82(), 1);
|
|
115100
|
-
var import_semantic_conventions = __toESM(require_src2(), 1);
|
|
115101
|
-
|
|
115102
115090
|
// src/logger.ts
|
|
115103
|
-
var import_winston = __toESM(require_winston(), 1);
|
|
115104
|
-
var isTelemetryEnabled = Boolean(process.env.OTEL_EXPORTER_OTLP_ENDPOINT);
|
|
115105
|
-
var VALID_LOG_LEVELS = ["error", "warn", "info", "verbose", "debug", "silly"];
|
|
115106
|
-
var getLogLevel = () => {
|
|
115107
|
-
if (process.env.LOG_LEVEL) {
|
|
115108
|
-
const logLevel = process.env.LOG_LEVEL.toLowerCase();
|
|
115109
|
-
if (VALID_LOG_LEVELS.includes(logLevel)) {
|
|
115110
|
-
return logLevel;
|
|
115111
|
-
} else {
|
|
115112
|
-
console.error(`Invalid log level: ${process.env.LOG_LEVEL}. Valid log levels are: ${VALID_LOG_LEVELS.join(", ")}. Defaulting to "debug".`);
|
|
115113
|
-
}
|
|
115114
|
-
}
|
|
115115
|
-
return "debug";
|
|
115116
|
-
};
|
|
115117
|
-
var logger = import_winston.default.createLogger({
|
|
115118
|
-
level: getLogLevel(),
|
|
115119
|
-
format: isTelemetryEnabled ? import_winston.default.format.combine(import_winston.default.format.uncolorize(), import_winston.default.format.timestamp(), import_winston.default.format.metadata({
|
|
115120
|
-
fillExcept: ["message", "level", "timestamp"]
|
|
115121
|
-
}), import_winston.default.format.json()) : import_winston.default.format.combine(import_winston.default.format.colorize(), import_winston.default.format.simple()),
|
|
115122
|
-
transports: [new import_winston.default.transports.Console]
|
|
115123
|
-
});
|
|
115124
115091
|
function extractTraceIdFromTraceparent(traceparent) {
|
|
115125
115092
|
if (!traceparent) {
|
|
115126
115093
|
return;
|
|
@@ -115132,7 +115099,6 @@ function extractTraceIdFromTraceparent(traceparent) {
|
|
|
115132
115099
|
}
|
|
115133
115100
|
return;
|
|
115134
115101
|
}
|
|
115135
|
-
var DISABLE_RESPONSE_LOGGING = process.env.DISABLE_RESPONSE_LOGGING === "true" || process.env.DISABLE_RESPONSE_LOGGING === "1";
|
|
115136
115102
|
function formatDuration(durationMs) {
|
|
115137
115103
|
if (durationMs >= 1000) {
|
|
115138
115104
|
const seconds = durationMs / 1000;
|
|
@@ -115140,7 +115106,17 @@ function formatDuration(durationMs) {
|
|
|
115140
115106
|
}
|
|
115141
115107
|
return `${durationMs.toFixed(2)}ms`;
|
|
115142
115108
|
}
|
|
115143
|
-
var
|
|
115109
|
+
var import_winston, isTelemetryEnabled, VALID_LOG_LEVELS, getLogLevel = () => {
|
|
115110
|
+
if (process.env.LOG_LEVEL) {
|
|
115111
|
+
const logLevel = process.env.LOG_LEVEL.toLowerCase();
|
|
115112
|
+
if (VALID_LOG_LEVELS.includes(logLevel)) {
|
|
115113
|
+
return logLevel;
|
|
115114
|
+
} else {
|
|
115115
|
+
console.error(`Invalid log level: ${process.env.LOG_LEVEL}. Valid log levels are: ${VALID_LOG_LEVELS.join(", ")}. Defaulting to "debug".`);
|
|
115116
|
+
}
|
|
115117
|
+
}
|
|
115118
|
+
return "debug";
|
|
115119
|
+
}, logger, DISABLE_RESPONSE_LOGGING, loggerMiddleware = (req, res, next) => {
|
|
115144
115120
|
const startTime = performance.now();
|
|
115145
115121
|
const resJson = res.json;
|
|
115146
115122
|
res.json = (body) => {
|
|
@@ -115170,8 +115146,7 @@ var loggerMiddleware = (req, res, next) => {
|
|
|
115170
115146
|
}
|
|
115171
115147
|
});
|
|
115172
115148
|
next();
|
|
115173
|
-
}
|
|
115174
|
-
var logAxiosError = (error) => {
|
|
115149
|
+
}, logAxiosError = (error) => {
|
|
115175
115150
|
if (error.response) {
|
|
115176
115151
|
logger.error("Axios server-side error", {
|
|
115177
115152
|
url: error.response.config.url,
|
|
@@ -115185,8 +115160,31 @@ var logAxiosError = (error) => {
|
|
|
115185
115160
|
logger.error("Axios unknown error", { error });
|
|
115186
115161
|
}
|
|
115187
115162
|
};
|
|
115163
|
+
var init_logger = __esm(() => {
|
|
115164
|
+
import_winston = __toESM(require_winston(), 1);
|
|
115165
|
+
isTelemetryEnabled = Boolean(process.env.OTEL_EXPORTER_OTLP_ENDPOINT);
|
|
115166
|
+
VALID_LOG_LEVELS = ["error", "warn", "info", "verbose", "debug", "silly"];
|
|
115167
|
+
logger = import_winston.default.createLogger({
|
|
115168
|
+
level: getLogLevel(),
|
|
115169
|
+
format: isTelemetryEnabled ? import_winston.default.format.combine(import_winston.default.format.uncolorize(), import_winston.default.format.timestamp(), import_winston.default.format.errors({ stack: true }), import_winston.default.format.json()) : import_winston.default.format.combine(import_winston.default.format.colorize(), import_winston.default.format.simple()),
|
|
115170
|
+
transports: [new import_winston.default.transports.Console]
|
|
115171
|
+
});
|
|
115172
|
+
DISABLE_RESPONSE_LOGGING = process.env.DISABLE_RESPONSE_LOGGING === "true" || process.env.DISABLE_RESPONSE_LOGGING === "1";
|
|
115173
|
+
});
|
|
115188
115174
|
|
|
115189
115175
|
// src/instrumentation.ts
|
|
115176
|
+
init_logger();
|
|
115177
|
+
var import_api = __toESM(require_src(), 1);
|
|
115178
|
+
var import_auto_instrumentations_node = __toESM(require_src59(), 1);
|
|
115179
|
+
var import_exporter_logs_otlp_proto = __toESM(require_src66(), 1);
|
|
115180
|
+
var import_exporter_prometheus = __toESM(require_src71(), 1);
|
|
115181
|
+
var import_exporter_trace_otlp_proto = __toESM(require_src72(), 1);
|
|
115182
|
+
var import_instrumentation_express = __toESM(require_src17(), 1);
|
|
115183
|
+
var import_resources = __toESM(require_src57(), 1);
|
|
115184
|
+
var import_sdk_logs = __toESM(require_src75(), 1);
|
|
115185
|
+
var import_sdk_node = __toESM(require_src106(), 1);
|
|
115186
|
+
var import_sdk_trace_base = __toESM(require_src82(), 1);
|
|
115187
|
+
var import_semantic_conventions = __toESM(require_src2(), 1);
|
|
115190
115188
|
var prometheusExporter = null;
|
|
115191
115189
|
var sdk = null;
|
|
115192
115190
|
function getPrometheusMetricsHandler() {
|