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.
Files changed (36) hide show
  1. package/dist/browser.d.ts +1 -2
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +2 -2
  4. package/dist/chunks/{enable-log-persist-Cu3SGxK7.js → enable-log-persist-Dl55_mv2.js} +2 -2
  5. package/dist/chunks/{enable-log-persist-Cu3SGxK7.js.map → enable-log-persist-Dl55_mv2.js.map} +1 -1
  6. package/dist/chunks/{list.api-DSTOHzOC.js → list.api-BzbTJBsM.js} +35 -2
  7. package/dist/chunks/list.api-BzbTJBsM.js.map +1 -0
  8. package/dist/chunks/{task-queue-BHvNgb-X.js → task-queue-H4mpSW8R.js} +4 -16
  9. package/dist/chunks/task-queue-H4mpSW8R.js.map +1 -0
  10. package/dist/node/preload/run-service-preload.d.ts +1 -0
  11. package/dist/node/preload/run-service-preload.d.ts.map +1 -1
  12. package/dist/node/preload/service-preload.interface.d.ts +5 -0
  13. package/dist/node/preload/service-preload.interface.d.ts.map +1 -1
  14. package/dist/node.js +6 -6
  15. package/dist/preload.js +14 -4
  16. package/dist/preload.js.map +1 -1
  17. package/dist/resource/resource.interface.d.ts +20 -0
  18. package/dist/resource/resource.interface.d.ts.map +1 -0
  19. package/dist/service/config.api.d.ts.map +1 -1
  20. package/dist/shared/log/index.d.ts +2 -0
  21. package/dist/shared/log/index.d.ts.map +1 -1
  22. package/dist/shared/log/log-min-level.d.ts +15 -0
  23. package/dist/shared/log/log-min-level.d.ts.map +1 -0
  24. package/package.json +1 -1
  25. package/src/browser.ts +3 -1
  26. package/src/node/preload/run-service-preload.ts +14 -0
  27. package/src/node/preload/service-preload.interface.ts +6 -0
  28. package/src/resource/resource.interface.ts +37 -0
  29. package/src/service/config.api.ts +1 -0
  30. package/src/shared/log/index.ts +7 -0
  31. package/src/shared/log/log-min-level.ts +46 -0
  32. package/dist/chunks/list.api-DSTOHzOC.js.map +0 -1
  33. package/dist/chunks/task-queue-BHvNgb-X.js.map +0 -1
  34. package/dist/idea/idea.interface.d.ts +0 -25
  35. package/dist/idea/idea.interface.d.ts.map +0 -1
  36. 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":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAmBzE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAatE"}
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;CACpD"}
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, Q as validateWithSchema, f as createLogger, x as pollTargetList, j as generateResponse, g as createTarget, H as supabase, v as logManager, T as createScope, c as LogLevel, V as patchScope, G as scanTargetList, W as withModule, k as getPossibleTarget, s as isOptimisticLockResponse, K as updateTargetDetails } from './chunks/list.api-DSTOHzOC.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_PERSIST_LOADER_KEY, d as MAX_TARGET_LIST_PAGE_SIZE, O as OPTIMISTIC_LOCK_ERROR_CODE, e as OPTIMISTIC_LOCK_FAILED_MESSAGE, P as PostListValidator, S as StatusCode, U as UPDATE_TARGET_NOT_FOUND_MESSAGE, h as deleteTarget, i as formatZodError, l as getTarget, m as getTargetList, n as getTargetTotalCount, o as handleSupabaseError, p as isCreateTargetAlreadyExistsError, q as isDevEnvironment, r as isOptimisticLockError, t as logDev, u as logDevGroup, w as patchTarget, y as postListCreate, z as postLogListCreate, A as postTarget, D as postTargetPayloadSchema, E as queryFilterSchema, F as safeParseWithSchema, I as targetDraftSchema, J as updateTarget, N as validateWith } from './chunks/list.api-DSTOHzOC.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-Cu3SGxK7.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-Cu3SGxK7.js';
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 { bi as sha256Hex, bn as getErrorMessage, aN as postRegisterNode, ar as patchChangeNodeStatus, N as NodeStatus, aC as patchStopNode, az as patchNodeHeartBeat, E as EMPTY_REGISTRY_SLOT_RUNTIME_STATE, b8 as runRegistrySlotGuardCheck, a$ as registrySlotRuntimePatchFromGuardResult, d as CategoryNode, V as evaluateBusyNodeLiveness, aB as patchServiceRuntime, l as ServiceRegistryError, y as claimServiceRegistrySlot, f as CategoryRepo, R as ResultCode, bo as LOG_TOPIC_TASK, n as TASK_REPO_USAGE, a8 as getScanRemoteRepoValues, av as patchClaimTask, bp as CRITICAL_UNKNOWN_TASK_TRACE_ID, at as patchChangeTaskStatus, p as TaskStatusAction, bq as toError, aV as postTaskSchema, br as createTaskRow, o as TaskStatus } from './chunks/task-queue-BHvNgb-X.js';
9
- export { A as ApiMethod, C as CategoryConfig, a as CategoryExtraction, b as CategoryIdea, c as CategoryLink, e as CategoryParcel, g as CategoryService, h as CategoryTask, D as DEFAULT_SYSTEM_REGISTRY_SEED_SLOTS, L as LINK_MANIFEST_VERSION, i as LIST_MANIFEST_VERSION, M as Market, P as POST_TASK_DEFAULT_MAX_ATTEMPTS, j as ParcelManager, k as PostLinkValidator, S as ServiceLifecycleStatus, m as ServiceSlotStatus, T as TARGET_SYSTEM_REGISTRY_KEY, q as apiDetailsSchema, r as appendSystemRegistrySlots, s as assertRegistrySlotAvailable, t as assertRegistrySlotOwner, u as buildEmptyServiceSlots, v as buildLinkTargetDraft, w as buildListTargetDraft, x as buildSystemRegistryConfigDetails, z as classifyNetworkError, B as countTasksByType, F as createActiveServiceLifecycle, G as createClaimedRegistrySlotRuntimeState, H as createStorageProviderRegistry, I as createUploadTracker, J as decodeLogBatch, K as decodeLogBatchList, O as defaultL3ServiceDetails, Q as deleteParcel, U as deleteParcelSchema, W as fetchBinaryWithRetry, X as fetchWithRetry, Y as fieldDefinitionSchema, Z as flattenLogBatch, _ as flattenLogBatches, $ as formatNetworkError, a0 as getApi, a1 as getApiSchema, a2 as getConfig, a3 as getConfigSchema, a4 as getExtraction, a5 as getExtractionSchema, a6 as getParcel, a7 as getParcelSchema, a9 as getScanRemoteRepoValuesSchema, aa as getService, ab as getServiceSchema, ac as getTargetSystemRegistry, ad as getValueAtPath, ae as installChunkFetchRegistry, af as isHttpUrl, ag as isLocalFilesystemPath, ah as isLogBatchList, ai as isLogEntry, aj as isOpaqueChunkUrl, ak as isRetryableHttpStatus, al as linkTargetDraftBuildInputSchema, am as parcelDetailsSchema, an as parseLogBatchMeta, ao as parseProviderPrefixedUrl, ap as parseServiceSlot, aq as parseServiceSlots, as as patchChangeNodeStatusSchema, au as patchChangeTaskStatusSchema, aw as patchClaimTaskSchema, ax as patchExtractionObjects, ay as patchExtractionObjectsSchema, aA as patchNodeHeartBeatSchema, aD as patchStopNodeSchema, aE as patchTaskProgress, aF as patchTaskProgressSchema, aG as postApi, aH as postApiSchema, aI as postExtraction, aJ as postExtractionSchema, aK as postLinkCreate, aL as postParcel, aM as postParcelSchema, aO as postRegisterNodeSchema, aP as postService, aQ as postServiceInstance, aR as postServiceSchema, aS as postSystemRegistryConfig, aT as postSystemRegistryConfigSchema, aU as postTask, aW as postTaskWithRetry, aX as publishParcel, aY as registerProviderChunkResolver, aZ as registerService, a_ as registerServiceAtStartup, b0 as releaseSystemRegistrySlots, b1 as requestHasBody, b2 as resetSystemRegistryConfig, b3 as resetSystemRegistryConfigSchema, b4 as resolveActiveRegistryServiceId, b5 as resolveFetchUrl, b6 as restoreParcel, b7 as restoreParcelById, b9 as sanitizeFileName, ba as sanitizeParcelFileName, bb as scanExtractionList, bc as scanExtractionListSchema, bd as schemaDefinitionSchema, be as serviceDetailsSchema, bf as serviceLifecycleSchema, bg as serviceNodeSnapshotSchema, bh as serviceRuntimeSchema, bj as summarizeTaskQueue, bk as systemRegistrySeedSlotSchema, bl as unregisterService, bm as unregisterServiceAtShutdown } from './chunks/task-queue-BHvNgb-X.js';
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-Cu3SGxK7.js';
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)
@@ -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":";;;;;;;;;;;AAOA,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;;;;;;;;;;AAUG;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;AAEvC,IAAA,4BAA4B,EAAE;;;AAIlC;;;;"}
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,EAOtE,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;;;;;;YAxG3B,CAAT;;;;;;;;;YAAS,CAAT;;;UAwG8B,MAAM;;;;;;YAxG3B,CAAT;;;;;;;;;YAAS,CAAT;;EA2HD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;4FAsBnC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;4FA2CpC,CAAC"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "target-supabase-sdk",
3
- "version": "0.2.11",
3
+ "version": "0.2.12",
4
4
  "description": "Supabase client initializer and data access APIs",
5
5
  "license": "MIT",
6
6
  "author": "KyLoc20",
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 = {
@@ -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
+ }