target-supabase-sdk 0.2.11 → 0.2.12
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/dist/browser.d.ts +1 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +2 -2
- package/dist/chunks/{enable-log-persist-Cu3SGxK7.js → enable-log-persist-Dl55_mv2.js} +2 -2
- package/dist/chunks/{enable-log-persist-Cu3SGxK7.js.map → enable-log-persist-Dl55_mv2.js.map} +1 -1
- package/dist/chunks/{list.api-DSTOHzOC.js → list.api-BzbTJBsM.js} +35 -2
- package/dist/chunks/list.api-BzbTJBsM.js.map +1 -0
- package/dist/chunks/{task-queue-BHvNgb-X.js → task-queue-H4mpSW8R.js} +4 -16
- package/dist/chunks/task-queue-H4mpSW8R.js.map +1 -0
- package/dist/node/preload/run-service-preload.d.ts +1 -0
- package/dist/node/preload/run-service-preload.d.ts.map +1 -1
- package/dist/node/preload/service-preload.interface.d.ts +5 -0
- package/dist/node/preload/service-preload.interface.d.ts.map +1 -1
- package/dist/node.js +6 -6
- package/dist/preload.js +14 -4
- package/dist/preload.js.map +1 -1
- package/dist/resource/resource.interface.d.ts +20 -0
- package/dist/resource/resource.interface.d.ts.map +1 -0
- package/dist/service/config.api.d.ts.map +1 -1
- package/dist/shared/log/index.d.ts +2 -0
- package/dist/shared/log/index.d.ts.map +1 -1
- package/dist/shared/log/log-min-level.d.ts +15 -0
- package/dist/shared/log/log-min-level.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/browser.ts +3 -1
- package/src/node/preload/run-service-preload.ts +14 -0
- package/src/node/preload/service-preload.interface.ts +6 -0
- package/src/resource/resource.interface.ts +37 -0
- package/src/service/config.api.ts +1 -0
- package/src/shared/log/index.ts +7 -0
- package/src/shared/log/log-min-level.ts +46 -0
- package/dist/chunks/list.api-DSTOHzOC.js.map +0 -1
- package/dist/chunks/task-queue-BHvNgb-X.js.map +0 -1
- package/dist/idea/idea.interface.d.ts +0 -25
- package/dist/idea/idea.interface.d.ts.map +0 -1
- package/src/idea/idea.interface.ts +0 -28
|
@@ -5,6 +5,7 @@ import type { ServicePreloadOptions } from "./service-preload.interface";
|
|
|
5
5
|
* Phase 1 — Resolve project root from service package name
|
|
6
6
|
* Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)
|
|
7
7
|
* Phase 3 — Apply SDK service env defaults + optional L3 hook
|
|
8
|
+
* Phase 3½ — Apply LOG_MIN_LEVEL → logManager.minLevel (after env load)
|
|
8
9
|
* Phase 4 — Validate log-persist env when enabled
|
|
9
10
|
* Phase 5 — Process diagnostics (TODO)
|
|
10
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-service-preload.d.ts","sourceRoot":"","sources":["../../../src/node/preload/run-service-preload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-service-preload.d.ts","sourceRoot":"","sources":["../../../src/node/preload/run-service-preload.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AA4BzE;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAetE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LogLevel } from "../../shared/log/log-manager";
|
|
1
2
|
export interface ServicePreloadOptions {
|
|
2
3
|
/** `import.meta.url` from the service `scripts/preload.mjs`. */
|
|
3
4
|
callerImportMetaUrl: string;
|
|
@@ -11,5 +12,9 @@ export interface ServicePreloadOptions {
|
|
|
11
12
|
afterLoadEnv?: () => void;
|
|
12
13
|
/** L3 hook after SDK defaults (legacy aliases, etc.). */
|
|
13
14
|
applyEnvDefaults?: (projectRoot: string) => void;
|
|
15
|
+
/** Default when `LOG_MIN_LEVEL` unset; SDK default is DEBUG in dev, INFO in prod. */
|
|
16
|
+
defaultLogMinLevel?: LogLevel;
|
|
17
|
+
/** Apply `logManager.setOptions({ minLevel })` from env (default true). */
|
|
18
|
+
applyLogMinLevel?: boolean;
|
|
14
19
|
}
|
|
15
20
|
//# sourceMappingURL=service-preload.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-preload.interface.d.ts","sourceRoot":"","sources":["../../../src/node/preload/service-preload.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IAClC,gEAAgE;IAChE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"service-preload.interface.d.ts","sourceRoot":"","sources":["../../../src/node/preload/service-preload.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IAClC,gEAAgE;IAChE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
|
package/dist/node.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { M as MAX_POLL_TARGET_LIST_SIZE,
|
|
3
|
-
export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LOADER_KEY, b as LOG_PERSIST_LOADER_KEY,
|
|
4
|
-
import { l as loadEnvFiles, b as readEnv, c as requireEnv, d as createJsonFileStateStore, a as logPersistEnabledFromEnv, e as disableLogPersist, g as getLogPersistStats, s as snapshotLogPersistReady, w as waitForLogPersistReady, f as ensureLogPersistFromEnv } from './chunks/enable-log-persist-
|
|
5
|
-
export { C as CLI_PROD_FLAG, S as SERVICE_ENV_PROFILE_ENV_KEY, h as SERVICE_ENV_PROFILE_PROD, i as enableLogPersist, j as envBool, k as envInt, m as envMs, n as envNumber, o as envPort, q as envProfileFromProcess, t as parseEnvFile, u as parseEnvLine, p as pinEnvProfileFromArgv, x as pollUntil, y as resolveDefaultEnvFiles, z as resolveLogPersistRegistryPath, r as resolveProjectRootByPackageName, A as resolveProjectRootFromModule, v as validateLogPersistPreloadEnv } from './chunks/enable-log-persist-
|
|
2
|
+
import { M as MAX_POLL_TARGET_LIST_SIZE, V as validateWithSchema, g as createLogger, z as pollTargetList, k as generateResponse, h as createTarget, K as supabase, w as logManager, X as createScope, d as LogLevel, Y as patchScope, J as scanTargetList, Z as withModule, l as getPossibleTarget, t as isOptimisticLockResponse, R as updateTargetDetails } from './chunks/list.api-BzbTJBsM.js';
|
|
3
|
+
export { B as BaseValidator, C as CREATE_TARGET_ALREADY_EXISTS_MESSAGE, a as CategoryList, L as LOG_BATCH_LOADER_KEY, b as LOG_MIN_LEVEL_ENV_KEY, c as LOG_PERSIST_LOADER_KEY, e as MAX_TARGET_LIST_PAGE_SIZE, O as OPTIMISTIC_LOCK_ERROR_CODE, f as OPTIMISTIC_LOCK_FAILED_MESSAGE, P as PostListValidator, S as StatusCode, U as UPDATE_TARGET_NOT_FOUND_MESSAGE, i as deleteTarget, j as formatZodError, m as getTarget, n as getTargetList, o as getTargetTotalCount, p as handleSupabaseError, q as isCreateTargetAlreadyExistsError, r as isDevEnvironment, s as isOptimisticLockError, u as logDev, v as logDevGroup, x as logMinLevelFromEnv, y as patchTarget, A as postListCreate, D as postLogListCreate, E as postTarget, F as postTargetPayloadSchema, G as queryFilterSchema, H as resolveLogMinLevel, I as safeParseWithSchema, N as targetDraftSchema, Q as updateTarget, T as validateWith } from './chunks/list.api-BzbTJBsM.js';
|
|
4
|
+
import { l as loadEnvFiles, b as readEnv, c as requireEnv, d as createJsonFileStateStore, a as logPersistEnabledFromEnv, e as disableLogPersist, g as getLogPersistStats, s as snapshotLogPersistReady, w as waitForLogPersistReady, f as ensureLogPersistFromEnv } from './chunks/enable-log-persist-Dl55_mv2.js';
|
|
5
|
+
export { C as CLI_PROD_FLAG, S as SERVICE_ENV_PROFILE_ENV_KEY, h as SERVICE_ENV_PROFILE_PROD, i as enableLogPersist, j as envBool, k as envInt, m as envMs, n as envNumber, o as envPort, q as envProfileFromProcess, t as parseEnvFile, u as parseEnvLine, p as pinEnvProfileFromArgv, x as pollUntil, y as resolveDefaultEnvFiles, z as resolveLogPersistRegistryPath, r as resolveProjectRootByPackageName, A as resolveProjectRootFromModule, v as validateLogPersistPreloadEnv } from './chunks/enable-log-persist-Dl55_mv2.js';
|
|
6
6
|
import { access, stat, readFile, mkdir, unlink, writeFile, readdir } from 'node:fs/promises';
|
|
7
7
|
import { resolve, join, dirname, isAbsolute } from 'node:path';
|
|
8
|
-
import {
|
|
9
|
-
export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, b as
|
|
8
|
+
import { bg as sha256Hex, bl as getErrorMessage, aL as postRegisterNode, ap as patchChangeNodeStatus, N as NodeStatus, aA as patchStopNode, ax as patchNodeHeartBeat, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, b6 as runRegistrySlotGuardCheck, aZ as registrySlotRuntimePatchFromGuardResult, c as CategoryNode, Q as evaluateBusyNodeLiveness, az as patchServiceRuntime, k as ServiceRegistryError, x as claimServiceRegistrySlot, e as CategoryRepo, R as ResultCode, bm as LOG_TOPIC_TASK, m as TASK_REPO_USAGE, a6 as getScanRemoteRepoValues, at as patchClaimTask, bn as CRITICAL_UNKNOWN_TASK_TRACE_ID, ar as patchChangeTaskStatus, o as TaskStatusAction, bo as toError, aT as postTaskSchema, bp as createTaskRow, n as TaskStatus } from './chunks/task-queue-H4mpSW8R.js';
|
|
9
|
+
export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, b as CategoryLink, d as CategoryParcel, f as CategoryService, g as CategoryTask, D as DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, L as LINK_MANIFEST_VERSION, h as LIST_MANIFEST_VERSION, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, i as ParcelManager, j as PostLinkValidator, S as ServiceLifecycleStatus, l as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, p as apiDetailsSchema, q as appendSystemRegistrySlots, r as assertRegistrySlotAvailable, s as assertRegistrySlotOwner, t as buildEmptyServiceSlots, u as buildLinkTargetDraft, v as buildListTargetDraft, w as buildSystemRegistryConfigDetails, y as classifyNetworkError, z as countTasksByType, B as createActiveServiceLifecycle, F as createClaimedRegistrySlotRuntimeState, G as createStorageProviderRegistry, H as createUploadTracker, I as decodeLogBatch, J as decodeLogBatchList, K as defaultL3ServiceDetails, M as deleteParcel, O as deleteParcelSchema, U as fetchBinaryWithRetry, V as fetchWithRetry, W as fieldDefinitionSchema, X as flattenLogBatch, Y as flattenLogBatches, Z as formatNetworkError, _ as getApi, $ as getApiSchema, a0 as getConfig, a1 as getConfigSchema, a2 as getExtraction, a3 as getExtractionSchema, a4 as getParcel, a5 as getParcelSchema, a7 as getScanRemoteRepoValuesSchema, a8 as getService, a9 as getServiceSchema, aa as getTargetSystemRegistry, ab as getValueAtPath, ac as installChunkFetchRegistry, ad as isHttpUrl, ae as isLocalFilesystemPath, af as isLogBatchList, ag as isLogEntry, ah as isOpaqueChunkUrl, ai as isRetryableHttpStatus, aj as linkTargetDraftBuildInputSchema, ak as parcelDetailsSchema, al as parseLogBatchMeta, am as parseProviderPrefixedUrl, an as parseServiceSlot, ao as parseServiceSlots, aq as patchChangeNodeStatusSchema, as as patchChangeTaskStatusSchema, au as patchClaimTaskSchema, av as patchExtractionObjects, aw as patchExtractionObjectsSchema, ay as patchNodeHeartBeatSchema, aB as patchStopNodeSchema, aC as patchTaskProgress, aD as patchTaskProgressSchema, aE as postApi, aF as postApiSchema, aG as postExtraction, aH as postExtractionSchema, aI as postLinkCreate, aJ as postParcel, aK as postParcelSchema, aM as postRegisterNodeSchema, aN as postService, aO as postServiceInstance, aP as postServiceSchema, aQ as postSystemRegistryConfig, aR as postSystemRegistryConfigSchema, aS as postTask, aU as postTaskWithRetry, aV as publishParcel, aW as registerProviderChunkResolver, aX as registerService, aY as registerServiceAtStartup, a_ as releaseSystemRegistrySlots, a$ as requestHasBody, b0 as resetSystemRegistryConfig, b1 as resetSystemRegistryConfigSchema, b2 as resolveActiveRegistryServiceId, b3 as resolveFetchUrl, b4 as restoreParcel, b5 as restoreParcelById, b7 as sanitizeFileName, b8 as sanitizeParcelFileName, b9 as scanExtractionList, ba as scanExtractionListSchema, bb as schemaDefinitionSchema, bc as serviceDetailsSchema, bd as serviceLifecycleSchema, be as serviceNodeSnapshotSchema, bf as serviceRuntimeSchema, bh as summarizeTaskQueue, bi as systemRegistrySeedSlotSchema, bj as unregisterService, bk as unregisterServiceAtShutdown } from './chunks/task-queue-H4mpSW8R.js';
|
|
10
10
|
import { spawn } from 'node:child_process';
|
|
11
11
|
import { createHash } from 'node:crypto';
|
|
12
12
|
import { tmpdir } from 'node:os';
|
package/dist/preload.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
|
-
import { r as resolveProjectRootByPackageName, p as pinEnvProfileFromArgv, l as loadEnvFiles, v as validateLogPersistPreloadEnv, a as logPersistEnabledFromEnv } from './chunks/enable-log-persist-
|
|
2
|
+
import { r as resolveProjectRootByPackageName, p as pinEnvProfileFromArgv, l as loadEnvFiles, v as validateLogPersistPreloadEnv, a as logPersistEnabledFromEnv } from './chunks/enable-log-persist-Dl55_mv2.js';
|
|
3
|
+
import { w as logManager, H as resolveLogMinLevel } from './chunks/list.api-BzbTJBsM.js';
|
|
3
4
|
import 'node:fs';
|
|
4
5
|
import 'node:url';
|
|
5
6
|
import 'node:fs/promises';
|
|
6
|
-
import './chunks/list.api-DSTOHzOC.js';
|
|
7
|
-
import 'zod';
|
|
8
7
|
import 'lodash-es';
|
|
9
|
-
import '@supabase/supabase-js';
|
|
10
8
|
import 'node:crypto';
|
|
9
|
+
import 'zod';
|
|
10
|
+
import '@supabase/supabase-js';
|
|
11
11
|
|
|
12
12
|
function applyServiceEnvDefaults(projectRoot, options) {
|
|
13
13
|
if (!logPersistEnabledFromEnv()) {
|
|
@@ -23,12 +23,21 @@ function applyServiceEnvDefaults(projectRoot, options) {
|
|
|
23
23
|
process.env.RUNTIME_DATA_DIR = resolve(projectRoot, relative);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
+
function applyLogMinLevelFromEnv(options) {
|
|
27
|
+
if (options.applyLogMinLevel === false) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
logManager.setOptions({
|
|
31
|
+
minLevel: resolveLogMinLevel({ defaultLevel: options.defaultLogMinLevel }),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
26
34
|
/**
|
|
27
35
|
* Unified Node `--import` preload runner (sync only).
|
|
28
36
|
*
|
|
29
37
|
* Phase 1 — Resolve project root from service package name
|
|
30
38
|
* Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)
|
|
31
39
|
* Phase 3 — Apply SDK service env defaults + optional L3 hook
|
|
40
|
+
* Phase 3½ — Apply LOG_MIN_LEVEL → logManager.minLevel (after env load)
|
|
32
41
|
* Phase 4 — Validate log-persist env when enabled
|
|
33
42
|
* Phase 5 — Process diagnostics (TODO)
|
|
34
43
|
*
|
|
@@ -40,6 +49,7 @@ function runServicePreload(options) {
|
|
|
40
49
|
loadEnvFiles(projectRoot, { afterLoad: options.afterLoadEnv });
|
|
41
50
|
applyServiceEnvDefaults(projectRoot, options);
|
|
42
51
|
options.applyEnvDefaults?.(projectRoot);
|
|
52
|
+
applyLogMinLevelFromEnv(options);
|
|
43
53
|
validateLogPersistPreloadEnv();
|
|
44
54
|
// TODO: Phase 5 — optional unhandledRejection / uncaughtException formatters
|
|
45
55
|
// (formerly watch-service preload-diagnostics.mjs)
|
package/dist/preload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preload.js","sources":["../src/node/preload/run-service-preload.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport { validateLogPersistPreloadEnv } from \"../../shared/log/enable-log-persist\";\nimport { logPersistEnabledFromEnv } from \"../../shared/log/log-persist.config\";\nimport { loadEnvFiles, pinEnvProfileFromArgv } from \"../env/load-env\";\nimport { resolveProjectRootByPackageName } from \"../env/project-root\";\nimport type { ServicePreloadOptions } from \"./service-preload.interface\";\n\nfunction applyServiceEnvDefaults(projectRoot: string, options: ServicePreloadOptions): void {\n if (!logPersistEnabledFromEnv()) {\n return;\n }\n\n const service = process.env.LOG_PERSIST_SERVICE?.trim();\n if (service == null || service === \"\") {\n process.env.LOG_PERSIST_SERVICE = options.serviceValue;\n }\n\n const runtimeDir = process.env.RUNTIME_DATA_DIR?.trim();\n if (runtimeDir == null || runtimeDir === \"\") {\n const relative = options.runtimeDataDirRelative ?? \"data/runtime\";\n process.env.RUNTIME_DATA_DIR = resolve(projectRoot, relative);\n }\n}\n\n/**\n * Unified Node `--import` preload runner (sync only).\n *\n * Phase 1 — Resolve project root from service package name\n * Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)\n * Phase 3 — Apply SDK service env defaults + optional L3 hook\n * Phase 4 — Validate log-persist env when enabled\n * Phase 5 — Process diagnostics (TODO)\n *\n * Supabase init and log-persist enable stay in app `main()` (async).\n */\nexport function runServicePreload(options: ServicePreloadOptions): void {\n const projectRoot = resolveProjectRootByPackageName(options.callerImportMetaUrl, options.packageName);\n\n pinEnvProfileFromArgv();\n loadEnvFiles(projectRoot, { afterLoad: options.afterLoadEnv });\n\n applyServiceEnvDefaults(projectRoot, options);\n options.applyEnvDefaults?.(projectRoot);\n\n validateLogPersistPreloadEnv();\n\n // TODO: Phase 5 — optional unhandledRejection / uncaughtException formatters\n // (formerly watch-service preload-diagnostics.mjs)\n}\n"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"preload.js","sources":["../src/node/preload/run-service-preload.ts"],"sourcesContent":["import { resolve } from \"node:path\";\nimport { validateLogPersistPreloadEnv } from \"../../shared/log/enable-log-persist\";\nimport { logManager } from \"../../shared/log/log-manager\";\nimport { resolveLogMinLevel } from \"../../shared/log/log-min-level\";\nimport { logPersistEnabledFromEnv } from \"../../shared/log/log-persist.config\";\nimport { loadEnvFiles, pinEnvProfileFromArgv } from \"../env/load-env\";\nimport { resolveProjectRootByPackageName } from \"../env/project-root\";\nimport type { ServicePreloadOptions } from \"./service-preload.interface\";\n\nfunction applyServiceEnvDefaults(projectRoot: string, options: ServicePreloadOptions): void {\n if (!logPersistEnabledFromEnv()) {\n return;\n }\n\n const service = process.env.LOG_PERSIST_SERVICE?.trim();\n if (service == null || service === \"\") {\n process.env.LOG_PERSIST_SERVICE = options.serviceValue;\n }\n\n const runtimeDir = process.env.RUNTIME_DATA_DIR?.trim();\n if (runtimeDir == null || runtimeDir === \"\") {\n const relative = options.runtimeDataDirRelative ?? \"data/runtime\";\n process.env.RUNTIME_DATA_DIR = resolve(projectRoot, relative);\n }\n}\n\nfunction applyLogMinLevelFromEnv(options: ServicePreloadOptions): void {\n if (options.applyLogMinLevel === false) {\n return;\n }\n logManager.setOptions({\n minLevel: resolveLogMinLevel({ defaultLevel: options.defaultLogMinLevel }),\n });\n}\n\n/**\n * Unified Node `--import` preload runner (sync only).\n *\n * Phase 1 — Resolve project root from service package name\n * Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)\n * Phase 3 — Apply SDK service env defaults + optional L3 hook\n * Phase 3½ — Apply LOG_MIN_LEVEL → logManager.minLevel (after env load)\n * Phase 4 — Validate log-persist env when enabled\n * Phase 5 — Process diagnostics (TODO)\n *\n * Supabase init and log-persist enable stay in app `main()` (async).\n */\nexport function runServicePreload(options: ServicePreloadOptions): void {\n const projectRoot = resolveProjectRootByPackageName(options.callerImportMetaUrl, options.packageName);\n\n pinEnvProfileFromArgv();\n loadEnvFiles(projectRoot, { afterLoad: options.afterLoadEnv });\n\n applyServiceEnvDefaults(projectRoot, options);\n options.applyEnvDefaults?.(projectRoot);\n\n applyLogMinLevelFromEnv(options);\n\n validateLogPersistPreloadEnv();\n\n // TODO: Phase 5 — optional unhandledRejection / uncaughtException formatters\n // (formerly watch-service preload-diagnostics.mjs)\n}\n"],"names":[],"mappings":";;;;;;;;;;;AASA,SAAS,uBAAuB,CAAC,WAAmB,EAAE,OAA8B,EAAA;AAChF,IAAA,IAAI,CAAC,wBAAwB,EAAE,EAAE;QAC7B;IACJ;IAEA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;IACvD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,KAAK,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC,YAAY;IAC1D;IAEA,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE;IACvD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE;AACzC,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,IAAI,cAAc;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjE;AACJ;AAEA,SAAS,uBAAuB,CAAC,OAA8B,EAAA;AAC3D,IAAA,IAAI,OAAO,CAAC,gBAAgB,KAAK,KAAK,EAAE;QACpC;IACJ;IACA,UAAU,CAAC,UAAU,CAAC;QAClB,QAAQ,EAAE,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7E,KAAA,CAAC;AACN;AAEA;;;;;;;;;;;AAWG;AACG,SAAU,iBAAiB,CAAC,OAA8B,EAAA;AAC5D,IAAA,MAAM,WAAW,GAAG,+BAA+B,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC;AAErG,IAAA,qBAAqB,EAAE;IACvB,YAAY,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;AAE9D,IAAA,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;AAC7C,IAAA,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC;IAEvC,uBAAuB,CAAC,OAAO,CAAC;AAEhC,IAAA,4BAA4B,EAAE;;;AAIlC;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Target } from "../core.interface";
|
|
2
|
+
export declare enum CategoryResource {
|
|
3
|
+
RESOURCE = "resource"
|
|
4
|
+
}
|
|
5
|
+
export interface Resource extends Target {
|
|
6
|
+
/** For now same to value */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Unique id, "vultr:149.28.16.125" */
|
|
9
|
+
value: string;
|
|
10
|
+
category: CategoryResource;
|
|
11
|
+
details: ResourceDetails;
|
|
12
|
+
}
|
|
13
|
+
export interface ResourceDetails {
|
|
14
|
+
manifestVersion: 0;
|
|
15
|
+
/** "vultr-vps" | "supabase-project" | "telegram-storage" */
|
|
16
|
+
loaderKey: string;
|
|
17
|
+
meta: unknown;
|
|
18
|
+
runtime: unknown;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=resource.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.interface.d.ts","sourceRoot":"","sources":["../../src/resource/resource.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,oBAAY,gBAAgB;IACxB,QAAQ,aAAa;CACxB;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACpC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC5B,eAAe,EAAE,CAAC,CAAC;IACnB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.api.d.ts","sourceRoot":"","sources":["../../src/service/config.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EAAkB,KAAK,MAAM,EAAE,KAAK,aAAa,EAA8B,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAI1E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAYvB,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE/D,wEAAwE;AACxE,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,8BAA8B;IACvC,wEAAwE;;;;;;;;;;;;;;;;;;;EAG1E,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7F,qGAAqG;AACrG,eAAO,MAAM,+BAA+B;IARxC,wEAAwE;;;;;;;;;;;;;;;;;;;EAQC,CAAC;AAE9E,MAAM,MAAM,gCAAgC,GAAG,+BAA+B,CAAC;AAK/E,uFAAuF;AACvF,eAAO,MAAM,kCAAkC,EAAE,SAAS,sBAAsB,
|
|
1
|
+
{"version":3,"file":"config.api.d.ts","sourceRoot":"","sources":["../../src/service/config.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,EAAkB,KAAK,MAAM,EAAE,KAAK,aAAa,EAA8B,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,qBAAqB,CAAC;AAI1E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAYvB,CAAC;AAEN,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE/D,wEAAwE;AACxE,eAAO,MAAM,4BAA4B;;;;;;EAEvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,8BAA8B;IACvC,wEAAwE;;;;;;;;;;;;;;;;;;;EAG1E,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7F,qGAAqG;AACrG,eAAO,MAAM,+BAA+B;IARxC,wEAAwE;;;;;;;;;;;;;;;;;;;EAQC,CAAC;AAE9E,MAAM,MAAM,gCAAgC,GAAG,+BAA+B,CAAC;AAK/E,uFAAuF;AACvF,eAAO,MAAM,kCAAkC,EAAE,SAAS,sBAAsB,EAQtE,CAAC;AAkBX,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,GAAG,WAAW,EAAE,CAMlG;AAgBD,yEAAyE;AACzE,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,aAAa,CAO7F;AAED,+EAA+E;AAC/E,eAAO,MAAM,SAAS;;;;UAaW,MAAM;;;;;;YAzG3B,CAAT;;;;;;;;;YAAS,CAAT;;;UAyG8B,MAAM;;;;;;YAzG3B,CAAT;;;;;;;;;YAAS,CAAT;;EA4HD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;4FAsBnC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;4FA2CpC,CAAC"}
|
|
@@ -7,6 +7,8 @@ export type { DecodedLogBatch, FlatLogEntry } from "./log-batch";
|
|
|
7
7
|
export { decodeLogBatch, decodeLogBatchList, flattenLogBatch, flattenLogBatches, isLogBatchList, isLogEntry, parseLogBatchMeta, } from "./log-batch";
|
|
8
8
|
export type { LogEntry, LoggerWithScope, LogOptions, LogRestParams, WithScopeOptions } from "./log-manager";
|
|
9
9
|
export { LogLevel, LogManager, logManager } from "./log-manager";
|
|
10
|
+
export type { ResolveLogMinLevelOptions } from "./log-min-level";
|
|
11
|
+
export { LOG_MIN_LEVEL_ENV_KEY, logMinLevelFromEnv, resolveLogMinLevel, } from "./log-min-level";
|
|
10
12
|
export type { LogBatchMeta, LogPersistLane } from "./log-persist.interface";
|
|
11
13
|
export { LOG_BATCH_LOADER_KEY, LOG_PERSIST_LOADER_KEY } from "./log-persist.interface";
|
|
12
14
|
export type { CreateScopeInput, LoggerResetScopePatch, LogScope, LogScopeInput, LogScopePatch, PatchScopeInput, } from "./log-scope";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACR,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,iBAAiB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EACR,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,GACb,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACR,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,iBAAiB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACH,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EACR,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,eAAe,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EACH,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,cAAc,EACd,UAAU,GACb,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LogLevel } from "./log-manager";
|
|
2
|
+
/** Env key for global {@link LogManager} min level (console + log-persist when enabled). */
|
|
3
|
+
export declare const LOG_MIN_LEVEL_ENV_KEY = "LOG_MIN_LEVEL";
|
|
4
|
+
export interface ResolveLogMinLevelOptions {
|
|
5
|
+
env?: NodeJS.ProcessEnv;
|
|
6
|
+
/** When {@link LOG_MIN_LEVEL_ENV_KEY} unset; defaults to LogManager convention (DEBUG in dev, INFO in prod). */
|
|
7
|
+
defaultLevel?: LogLevel;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Parse `LOG_MIN_LEVEL` after `.env` load. Invalid values throw (same style as `envInt`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveLogMinLevel(options?: ResolveLogMinLevelOptions): LogLevel;
|
|
13
|
+
/** Alias for {@link resolveLogMinLevel}. */
|
|
14
|
+
export declare function logMinLevelFromEnv(options?: ResolveLogMinLevelOptions): LogLevel;
|
|
15
|
+
//# sourceMappingURL=log-min-level.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-min-level.d.ts","sourceRoot":"","sources":["../../../src/shared/log/log-min-level.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAWrD,MAAM,WAAW,yBAAyB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,gHAAgH;IAChH,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,QAAQ,CAYhF;AAED,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,QAAQ,CAEhF"}
|
package/package.json
CHANGED
package/src/browser.ts
CHANGED
|
@@ -28,7 +28,6 @@ export {
|
|
|
28
28
|
} from "./extraction/extraction.api";
|
|
29
29
|
export type { Extraction, ExtractionDetails } from "./extraction/extraction.interface";
|
|
30
30
|
export { CategoryExtraction } from "./extraction/extraction.interface";
|
|
31
|
-
export * from "./idea/idea.interface";
|
|
32
31
|
export * from "./link/index";
|
|
33
32
|
export * from "./list/index";
|
|
34
33
|
export * from "./node/node.api";
|
|
@@ -214,10 +213,13 @@ export {
|
|
|
214
213
|
isLogBatchList,
|
|
215
214
|
isLogEntry,
|
|
216
215
|
LOG_BATCH_LOADER_KEY,
|
|
216
|
+
LOG_MIN_LEVEL_ENV_KEY,
|
|
217
217
|
LOG_PERSIST_LOADER_KEY,
|
|
218
218
|
LogLevel,
|
|
219
219
|
logManager,
|
|
220
|
+
logMinLevelFromEnv,
|
|
220
221
|
parseLogBatchMeta,
|
|
222
|
+
resolveLogMinLevel,
|
|
221
223
|
} from "./shared/log";
|
|
222
224
|
export { isHttpUrl, resolveFetchUrl } from "./shared/utils/fetch-url";
|
|
223
225
|
export { getValueAtPath } from "./shared/utils/get-value-at-path";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
2
|
import { validateLogPersistPreloadEnv } from "../../shared/log/enable-log-persist";
|
|
3
|
+
import { logManager } from "../../shared/log/log-manager";
|
|
4
|
+
import { resolveLogMinLevel } from "../../shared/log/log-min-level";
|
|
3
5
|
import { logPersistEnabledFromEnv } from "../../shared/log/log-persist.config";
|
|
4
6
|
import { loadEnvFiles, pinEnvProfileFromArgv } from "../env/load-env";
|
|
5
7
|
import { resolveProjectRootByPackageName } from "../env/project-root";
|
|
@@ -22,12 +24,22 @@ function applyServiceEnvDefaults(projectRoot: string, options: ServicePreloadOpt
|
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
function applyLogMinLevelFromEnv(options: ServicePreloadOptions): void {
|
|
28
|
+
if (options.applyLogMinLevel === false) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
logManager.setOptions({
|
|
32
|
+
minLevel: resolveLogMinLevel({ defaultLevel: options.defaultLogMinLevel }),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
25
36
|
/**
|
|
26
37
|
* Unified Node `--import` preload runner (sync only).
|
|
27
38
|
*
|
|
28
39
|
* Phase 1 — Resolve project root from service package name
|
|
29
40
|
* Phase 2 — Load env files (`.env.local` / `.env`, or `.env.prod` when `--prod`)
|
|
30
41
|
* Phase 3 — Apply SDK service env defaults + optional L3 hook
|
|
42
|
+
* Phase 3½ — Apply LOG_MIN_LEVEL → logManager.minLevel (after env load)
|
|
31
43
|
* Phase 4 — Validate log-persist env when enabled
|
|
32
44
|
* Phase 5 — Process diagnostics (TODO)
|
|
33
45
|
*
|
|
@@ -42,6 +54,8 @@ export function runServicePreload(options: ServicePreloadOptions): void {
|
|
|
42
54
|
applyServiceEnvDefaults(projectRoot, options);
|
|
43
55
|
options.applyEnvDefaults?.(projectRoot);
|
|
44
56
|
|
|
57
|
+
applyLogMinLevelFromEnv(options);
|
|
58
|
+
|
|
45
59
|
validateLogPersistPreloadEnv();
|
|
46
60
|
|
|
47
61
|
// TODO: Phase 5 — optional unhandledRejection / uncaughtException formatters
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { LogLevel } from "../../shared/log/log-manager";
|
|
2
|
+
|
|
1
3
|
export interface ServicePreloadOptions {
|
|
2
4
|
/** `import.meta.url` from the service `scripts/preload.mjs`. */
|
|
3
5
|
callerImportMetaUrl: string;
|
|
@@ -11,4 +13,8 @@ export interface ServicePreloadOptions {
|
|
|
11
13
|
afterLoadEnv?: () => void;
|
|
12
14
|
/** L3 hook after SDK defaults (legacy aliases, etc.). */
|
|
13
15
|
applyEnvDefaults?: (projectRoot: string) => void;
|
|
16
|
+
/** Default when `LOG_MIN_LEVEL` unset; SDK default is DEBUG in dev, INFO in prod. */
|
|
17
|
+
defaultLogMinLevel?: LogLevel;
|
|
18
|
+
/** Apply `logManager.setOptions({ minLevel })` from env (default true). */
|
|
19
|
+
applyLogMinLevel?: boolean;
|
|
14
20
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Target } from "../core.interface";
|
|
2
|
+
|
|
3
|
+
export enum CategoryResource {
|
|
4
|
+
RESOURCE = "resource",
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface Resource extends Target {
|
|
8
|
+
/** For now same to value */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Unique id, "vultr:149.28.16.125" */
|
|
11
|
+
value: string;
|
|
12
|
+
category: CategoryResource;
|
|
13
|
+
details: ResourceDetails;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface ResourceDetails {
|
|
17
|
+
manifestVersion: 0;
|
|
18
|
+
/** "vultr-vps" | "supabase-project" | "telegram-storage" */
|
|
19
|
+
loaderKey: string;
|
|
20
|
+
meta: unknown;
|
|
21
|
+
runtime: unknown;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// {
|
|
25
|
+
// name: "windows-storage:DESKTOP-K32MS2Q",
|
|
26
|
+
// value: "windows-storage:DESKTOP-K32MS2Q",
|
|
27
|
+
// category: CategoryResource.RESOURCE,
|
|
28
|
+
// tagList: [],
|
|
29
|
+
// details: {
|
|
30
|
+
// manifestVersion: 0,
|
|
31
|
+
// loaderKey: "windows-storage",
|
|
32
|
+
// meta: {
|
|
33
|
+
// hostname: "DESKTOP-K32MS2Q",
|
|
34
|
+
// },
|
|
35
|
+
// runtime: {},
|
|
36
|
+
// },
|
|
37
|
+
// }
|
|
@@ -61,6 +61,7 @@ export const DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS: readonly SystemRegistrySeedSlot
|
|
|
61
61
|
{ serviceValue: "storage-service" },
|
|
62
62
|
{ serviceValue: "gc-service" },
|
|
63
63
|
{ serviceValue: "upload-service" },
|
|
64
|
+
{ serviceValue: "cv-service" },
|
|
64
65
|
] as const;
|
|
65
66
|
|
|
66
67
|
const configCategoryFilter: QueryFilter = {
|
package/src/shared/log/index.ts
CHANGED
|
@@ -23,6 +23,13 @@ export {
|
|
|
23
23
|
export type { LogEntry, LoggerWithScope, LogOptions, LogRestParams, WithScopeOptions } from "./log-manager";
|
|
24
24
|
// log-manager
|
|
25
25
|
export { LogLevel, LogManager, logManager } from "./log-manager";
|
|
26
|
+
export type { ResolveLogMinLevelOptions } from "./log-min-level";
|
|
27
|
+
// log-min-level
|
|
28
|
+
export {
|
|
29
|
+
LOG_MIN_LEVEL_ENV_KEY,
|
|
30
|
+
logMinLevelFromEnv,
|
|
31
|
+
resolveLogMinLevel,
|
|
32
|
+
} from "./log-min-level";
|
|
26
33
|
export type { LogBatchMeta, LogPersistLane } from "./log-persist.interface";
|
|
27
34
|
export { LOG_BATCH_LOADER_KEY, LOG_PERSIST_LOADER_KEY } from "./log-persist.interface";
|
|
28
35
|
export type {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { isDevEnvironment } from "../../core.utils";
|
|
2
|
+
import { LogLevel } from "./log-manager";
|
|
3
|
+
|
|
4
|
+
/** Env key for global {@link LogManager} min level (console + log-persist when enabled). */
|
|
5
|
+
export const LOG_MIN_LEVEL_ENV_KEY = "LOG_MIN_LEVEL";
|
|
6
|
+
|
|
7
|
+
const LOG_LEVEL_BY_NAME: Record<string, LogLevel> = {
|
|
8
|
+
DEBUG: LogLevel.DEBUG,
|
|
9
|
+
INFO: LogLevel.INFO,
|
|
10
|
+
SUCCESS: LogLevel.SUCCESS,
|
|
11
|
+
WARN: LogLevel.WARN,
|
|
12
|
+
ERROR: LogLevel.ERROR,
|
|
13
|
+
CRITICAL: LogLevel.CRITICAL,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export interface ResolveLogMinLevelOptions {
|
|
17
|
+
env?: NodeJS.ProcessEnv;
|
|
18
|
+
/** When {@link LOG_MIN_LEVEL_ENV_KEY} unset; defaults to LogManager convention (DEBUG in dev, INFO in prod). */
|
|
19
|
+
defaultLevel?: LogLevel;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function sdkDefaultLogMinLevel(): LogLevel {
|
|
23
|
+
return isDevEnvironment() ? LogLevel.DEBUG : LogLevel.INFO;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Parse `LOG_MIN_LEVEL` after `.env` load. Invalid values throw (same style as `envInt`).
|
|
28
|
+
*/
|
|
29
|
+
export function resolveLogMinLevel(options?: ResolveLogMinLevelOptions): LogLevel {
|
|
30
|
+
const env = options?.env ?? process.env;
|
|
31
|
+
const raw = env[LOG_MIN_LEVEL_ENV_KEY]?.trim().toUpperCase();
|
|
32
|
+
if (raw == null || raw === "") {
|
|
33
|
+
return options?.defaultLevel ?? sdkDefaultLogMinLevel();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const level = LOG_LEVEL_BY_NAME[raw];
|
|
37
|
+
if (level == null) {
|
|
38
|
+
throw new Error(`Invalid ${LOG_MIN_LEVEL_ENV_KEY}: ${raw}`);
|
|
39
|
+
}
|
|
40
|
+
return level;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** Alias for {@link resolveLogMinLevel}. */
|
|
44
|
+
export function logMinLevelFromEnv(options?: ResolveLogMinLevelOptions): LogLevel {
|
|
45
|
+
return resolveLogMinLevel(options);
|
|
46
|
+
}
|