target-supabase-sdk 0.1.8 → 0.2.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/README.md +74 -6
- package/dist/auth/auth.api.d.ts.map +1 -1
- package/dist/auth/auth.api.js +2 -1
- package/dist/auth/auth.api.js.map +1 -1
- package/dist/browser.d.ts +52 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +45 -0
- package/dist/browser.js.map +1 -0
- package/dist/command/command.api.d.ts +43 -0
- package/dist/command/command.api.d.ts.map +1 -0
- package/dist/command/command.api.js +58 -0
- package/dist/command/command.api.js.map +1 -0
- package/dist/command/command.interface.d.ts +14 -0
- package/dist/command/command.interface.d.ts.map +1 -0
- package/dist/command/command.interface.js +9 -0
- package/dist/command/command.interface.js.map +1 -0
- package/dist/core.api.d.ts +70 -6
- package/dist/core.api.d.ts.map +1 -1
- package/dist/core.api.js +191 -13
- package/dist/core.api.js.map +1 -1
- package/dist/file/file-manager.d.ts +1 -1
- package/dist/file/file-manager.d.ts.map +1 -1
- package/dist/file/file-manager.js +1 -1
- package/dist/file/file-manager.js.map +1 -1
- package/dist/index.d.ts +2 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -34
- package/dist/index.js.map +1 -1
- package/dist/link/link.interface.d.ts +1 -1
- package/dist/link/link.interface.d.ts.map +1 -1
- package/dist/node/node-log-scope.d.ts +11 -0
- package/dist/node/node-log-scope.d.ts.map +1 -0
- package/dist/node/node-log-scope.js +7 -0
- package/dist/node/node-log-scope.js.map +1 -0
- package/dist/node/node-runtime.base.d.ts +42 -0
- package/dist/node/node-runtime.base.d.ts.map +1 -0
- package/dist/node/node-runtime.base.js +397 -0
- package/dist/node/node-runtime.base.js.map +1 -0
- package/dist/node/node-task.preset.d.ts +1 -0
- package/dist/node/node-task.preset.d.ts.map +1 -0
- package/dist/node/node-task.preset.js +14 -0
- package/dist/node/node-task.preset.js.map +1 -0
- package/dist/node/node.api.d.ts +67 -31
- package/dist/node/node.api.d.ts.map +1 -1
- package/dist/node/node.api.js +65 -102
- package/dist/node/node.api.js.map +1 -1
- package/dist/node/node.interface.d.ts +7 -0
- package/dist/node/node.interface.d.ts.map +1 -1
- package/dist/node/node.interface.js +2 -0
- package/dist/node/node.interface.js.map +1 -1
- package/dist/node/node.utils.d.ts +5 -0
- package/dist/node/node.utils.d.ts.map +1 -0
- package/dist/node/node.utils.js +36 -0
- package/dist/node/node.utils.js.map +1 -0
- package/dist/node/task-node.d.ts +20 -0
- package/dist/node/task-node.d.ts.map +1 -0
- package/dist/node/task-node.js +245 -0
- package/dist/node/task-node.js.map +1 -0
- package/dist/node/trigger-node.d.ts +18 -0
- package/dist/node/trigger-node.d.ts.map +1 -0
- package/dist/node/trigger-node.js +150 -0
- package/dist/node/trigger-node.js.map +1 -0
- package/dist/node.d.ts +22 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +19 -0
- package/dist/node.js.map +1 -0
- package/dist/parcel/parcel-manager.d.ts +1 -1
- package/dist/parcel/parcel-manager.d.ts.map +1 -1
- package/dist/parcel/parcel-manager.js +1 -1
- package/dist/parcel/parcel-manager.js.map +1 -1
- package/dist/repo/repo-context.utils.d.ts +24 -0
- package/dist/repo/repo-context.utils.d.ts.map +1 -0
- package/dist/repo/repo-context.utils.js +81 -0
- package/dist/repo/repo-context.utils.js.map +1 -0
- package/dist/repo/repo-manager.d.ts +42 -0
- package/dist/repo/repo-manager.d.ts.map +1 -0
- package/dist/repo/repo-manager.js +166 -0
- package/dist/repo/repo-manager.js.map +1 -0
- package/dist/repo/repo.api.d.ts +16 -0
- package/dist/repo/repo.api.d.ts.map +1 -0
- package/dist/repo/repo.api.js +40 -0
- package/dist/repo/repo.api.js.map +1 -0
- package/dist/repo/repo.interface.d.ts +12 -5
- package/dist/repo/repo.interface.d.ts.map +1 -1
- package/dist/repo/repo.interface.js +2 -2
- package/dist/repo/repo.interface.js.map +1 -1
- package/dist/repo/repo.script-loader.d.ts +19 -0
- package/dist/repo/repo.script-loader.d.ts.map +1 -0
- package/dist/repo/repo.script-loader.js +108 -0
- package/dist/repo/repo.script-loader.js.map +1 -0
- package/dist/shared/log/create-api-logger.d.ts +21 -0
- package/dist/shared/log/create-api-logger.d.ts.map +1 -0
- package/dist/shared/log/create-api-logger.js +19 -0
- package/dist/shared/log/create-api-logger.js.map +1 -0
- package/dist/shared/log/index.d.ts +10 -0
- package/dist/shared/log/index.d.ts.map +1 -0
- package/dist/shared/log/index.js +10 -0
- package/dist/shared/log/index.js.map +1 -0
- package/dist/shared/log/log-manager.d.ts +93 -0
- package/dist/shared/log/log-manager.d.ts.map +1 -0
- package/dist/shared/log/log-manager.js +237 -0
- package/dist/shared/log/log-manager.js.map +1 -0
- package/dist/shared/log/log-scope.d.ts +49 -0
- package/dist/shared/log/log-scope.d.ts.map +1 -0
- package/dist/shared/log/log-scope.js +70 -0
- package/dist/shared/log/log-scope.js.map +1 -0
- package/dist/shared/utils/config-path.utils.d.ts +38 -0
- package/dist/shared/utils/config-path.utils.d.ts.map +1 -0
- package/dist/shared/utils/config-path.utils.js +85 -0
- package/dist/shared/utils/config-path.utils.js.map +1 -0
- package/dist/shared/utils/error.utils.d.ts +11 -0
- package/dist/shared/utils/error.utils.d.ts.map +1 -0
- package/dist/shared/utils/error.utils.js +15 -0
- package/dist/shared/utils/error.utils.js.map +1 -0
- package/dist/shared/utils/id.utils.d.ts +3 -0
- package/dist/shared/utils/id.utils.d.ts.map +1 -0
- package/dist/shared/utils/id.utils.js +5 -0
- package/dist/shared/utils/id.utils.js.map +1 -0
- package/dist/supabase.js +1 -1
- package/dist/supabase.js.map +1 -1
- package/dist/task/index.d.ts +15 -0
- package/dist/task/index.d.ts.map +1 -0
- package/dist/task/index.js +14 -0
- package/dist/task/index.js.map +1 -0
- package/dist/task/local-task-registry.d.ts +37 -0
- package/dist/task/local-task-registry.d.ts.map +1 -0
- package/dist/task/local-task-registry.js +214 -0
- package/dist/task/local-task-registry.js.map +1 -0
- package/dist/task/task-manager.d.ts +64 -0
- package/dist/task/task-manager.d.ts.map +1 -0
- package/dist/task/task-manager.js +196 -0
- package/dist/task/task-manager.js.map +1 -0
- package/dist/task/task-post.api.d.ts +49 -0
- package/dist/task/task-post.api.d.ts.map +1 -0
- package/dist/task/task-post.api.js +91 -0
- package/dist/task/task-post.api.js.map +1 -0
- package/dist/task/task-repo-context.d.ts +97 -0
- package/dist/task/task-repo-context.d.ts.map +1 -0
- package/dist/task/task-repo-context.js +12 -0
- package/dist/task/task-repo-context.js.map +1 -0
- package/dist/task/task-repo-validation.d.ts +46 -0
- package/dist/task/task-repo-validation.d.ts.map +1 -0
- package/dist/task/task-repo-validation.js +96 -0
- package/dist/task/task-repo-validation.js.map +1 -0
- package/dist/task/task.api.d.ts +198 -0
- package/dist/task/task.api.d.ts.map +1 -1
- package/dist/task/task.api.js +302 -1
- package/dist/task/task.api.js.map +1 -1
- package/dist/task/task.interface.d.ts +11 -2
- package/dist/task/task.interface.d.ts.map +1 -1
- package/dist/task/task.interface.js +10 -0
- package/dist/task/task.interface.js.map +1 -1
- package/dist/trigger/trigger.api.d.ts +140 -0
- package/dist/trigger/trigger.api.d.ts.map +1 -0
- package/dist/trigger/trigger.api.js +125 -0
- package/dist/trigger/trigger.api.js.map +1 -0
- package/dist/trigger/trigger.interface.d.ts +43 -0
- package/dist/trigger/trigger.interface.d.ts.map +1 -0
- package/dist/trigger/trigger.interface.js +11 -0
- package/dist/trigger/trigger.interface.js.map +1 -0
- package/dist/trigger/trigger.utils.d.ts +6 -0
- package/dist/trigger/trigger.utils.d.ts.map +1 -0
- package/dist/trigger/trigger.utils.js +39 -0
- package/dist/trigger/trigger.utils.js.map +1 -0
- package/package.json +30 -8
- package/src/auth/auth.api.ts +3 -1
- package/src/browser.ts +100 -0
- package/src/command/command.api.ts +88 -0
- package/src/command/command.interface.ts +17 -0
- package/src/core.api.ts +305 -26
- package/src/file/file-manager.ts +1 -1
- package/src/index.ts +2 -64
- package/src/link/link.interface.ts +1 -1
- package/src/node/node-log-scope.ts +15 -0
- package/src/node/node-runtime.base.ts +450 -0
- package/src/node/node-task.preset.ts +13 -0
- package/src/node/node.api.ts +95 -117
- package/src/node/node.interface.ts +8 -0
- package/src/node/node.utils.ts +36 -0
- package/src/node/task-node.ts +284 -0
- package/src/node/trigger-node.ts +180 -0
- package/src/node.ts +62 -0
- package/src/parcel/parcel-manager.ts +1 -1
- package/src/repo/repo-context.utils.ts +111 -0
- package/src/repo/repo-manager.ts +245 -0
- package/src/repo/repo.api.ts +50 -0
- package/src/repo/repo.interface.ts +13 -5
- package/src/repo/repo.script-loader.ts +140 -0
- package/src/shared/log/create-api-logger.ts +36 -0
- package/src/shared/log/index.ts +23 -0
- package/src/shared/log/log-manager.ts +335 -0
- package/src/shared/log/log-scope.ts +123 -0
- package/src/shared/utils/config-path.utils.ts +104 -0
- package/src/shared/utils/error.utils.ts +15 -0
- package/src/shared/utils/id.utils.ts +4 -0
- package/src/supabase.ts +1 -1
- package/src/task/index.ts +48 -0
- package/src/task/local-task-registry.ts +282 -0
- package/src/task/task-manager.ts +301 -0
- package/src/task/task-post.api.ts +116 -0
- package/src/task/task-repo-context.ts +105 -0
- package/src/task/task-repo-validation.ts +171 -0
- package/src/task/task.api.ts +369 -0
- package/src/task/task.interface.ts +12 -2
- package/src/trigger/trigger.api.ts +166 -0
- package/src/trigger/trigger.interface.ts +50 -0
- package/src/trigger/trigger.utils.ts +56 -0
- package/dist/task/task-node-manager.d.ts +0 -1
- package/dist/task/task-node-manager.d.ts.map +0 -1
- package/dist/task/task-node-manager.js +0 -2
- package/dist/task/task-node-manager.js.map +0 -1
- package/src/task/task-node-manager.ts +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { scanTargetList, validateWithSchema } from "../core.api";
|
|
2
|
+
import { generateResponse } from "../core.interface";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { CategoryRepo } from "./repo.interface";
|
|
5
|
+
const REPO_USAGE_FIELD = "details->>usage";
|
|
6
|
+
export const getScanRemoteRepoValuesSchema = z.object({
|
|
7
|
+
usage: z.string().trim().min(1),
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* Scan `Repo.value` keys for `category=repo` with matching `details.usage`.
|
|
11
|
+
* Returns `{ data: string[] }` on success; validation and DB failures use `{ error }` (never throws).
|
|
12
|
+
*/
|
|
13
|
+
export const getScanRemoteRepoValues = async (payload) => {
|
|
14
|
+
try {
|
|
15
|
+
return await getScanRemoteRepoValuesValidated(payload);
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
19
|
+
return generateResponse.error(message);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const getScanRemoteRepoValuesValidated = validateWithSchema(getScanRemoteRepoValuesSchema, "getScanRemoteRepoValuesSchema")(async ({ usage }) => {
|
|
23
|
+
try {
|
|
24
|
+
const { data } = await scanTargetList({
|
|
25
|
+
category: CategoryRepo.REPO,
|
|
26
|
+
selectFields: "value",
|
|
27
|
+
orderBy: { field: "value", ascending: true },
|
|
28
|
+
filterList: [{ field: REPO_USAGE_FIELD, operator: "eq", value: usage }],
|
|
29
|
+
});
|
|
30
|
+
const values = (data ?? [])
|
|
31
|
+
.map((row) => row.value?.trim())
|
|
32
|
+
.filter((value) => value != null && value !== "");
|
|
33
|
+
return generateResponse.success([...new Set(values)]);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
37
|
+
return generateResponse.error(message);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=repo.api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo.api.js","sourceRoot":"","sources":["../../src/repo/repo.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAQ,MAAM,kBAAkB,CAAC;AAEtD,MAAM,gBAAgB,GAAG,iBAA0B,CAAC;AAEpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAClC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EACxC,OAAuC,EACJ,EAAE;IACrC,IAAI,CAAC;QACD,OAAO,MAAM,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAA+B,CAAC;IACzE,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,kBAAkB,CACvD,6BAA6B,EAC7B,+BAA+B,CAClC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAuC,EAAE;IACvD,IAAI,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAO;YACxC,QAAQ,EAAE,YAAY,CAAC,IAAI;YAC3B,YAAY,EAAE,OAAO;YACrB,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5C,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aACtB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;aAC/B,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QAEvE,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAA+B,CAAC;IACzE,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import { Target } from "../core.interface";
|
|
2
2
|
export declare enum CategoryRepo {
|
|
3
3
|
/** Project */
|
|
4
|
-
REPO = "repo"
|
|
5
|
-
SCRIPT = "script"
|
|
4
|
+
REPO = "repo"
|
|
6
5
|
}
|
|
6
|
+
/** `Repo.details.usage` for task worker remote discovery ({@link registerTasks}). */
|
|
7
|
+
export declare const TASK_REPO_USAGE = "task";
|
|
7
8
|
export interface Repo extends Target {
|
|
8
|
-
/**
|
|
9
|
+
/** Human readable name */
|
|
9
10
|
name: string;
|
|
10
|
-
/**
|
|
11
|
+
/** Unique key, consumers use this to determine which repo to use */
|
|
11
12
|
value: string;
|
|
12
13
|
details: RepoDetails;
|
|
13
14
|
category: CategoryRepo;
|
|
14
15
|
}
|
|
15
16
|
export interface RepoDetails {
|
|
16
17
|
manifestVersion: number;
|
|
17
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Business usage partition for discovery and load (caller-defined string, e.g. `"task"`).
|
|
20
|
+
* Used by {@link getScanRemoteRepoValues} to narrow scan scope; validity is the caller's responsibility.
|
|
21
|
+
*/
|
|
22
|
+
usage: string;
|
|
23
|
+
/** Repo entry module URL or filesystem path — used to dynamic-import TaskRepoContext. */
|
|
24
|
+
url: string;
|
|
18
25
|
hash: string;
|
|
19
26
|
}
|
|
20
27
|
//# sourceMappingURL=repo.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.interface.d.ts","sourceRoot":"","sources":["../../src/repo/repo.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,oBAAY,YAAY;IACpB,cAAc;IACd,IAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"repo.interface.d.ts","sourceRoot":"","sources":["../../src/repo/repo.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,oBAAY,YAAY;IACpB,cAAc;IACd,IAAI,SAAS;CAChB;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC,MAAM,WAAW,IAAK,SAAQ,MAAM;IAChC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -2,7 +2,7 @@ export var CategoryRepo;
|
|
|
2
2
|
(function (CategoryRepo) {
|
|
3
3
|
/** Project */
|
|
4
4
|
CategoryRepo["REPO"] = "repo";
|
|
5
|
-
CategoryRepo["SCRIPT"] = "script";
|
|
6
5
|
})(CategoryRepo || (CategoryRepo = {}));
|
|
7
|
-
|
|
6
|
+
/** `Repo.details.usage` for task worker remote discovery ({@link registerTasks}). */
|
|
7
|
+
export const TASK_REPO_USAGE = "task";
|
|
8
8
|
//# sourceMappingURL=repo.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.interface.js","sourceRoot":"","sources":["../../src/repo/repo.interface.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"repo.interface.js","sourceRoot":"","sources":["../../src/repo/repo.interface.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,cAAc;IACd,6BAAa,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LoggerWithScope } from "../shared/log";
|
|
2
|
+
import { TaskRepoScriptRecord } from "../task/task-repo-context";
|
|
3
|
+
import { LoadedRepoContext } from "./repo-context.utils";
|
|
4
|
+
/** Resolve repo `details.url` to a value suitable for dynamic `import()`. */
|
|
5
|
+
export declare function resolveRepoEntryHref(url: string, cwd?: string): string;
|
|
6
|
+
export declare function loadRepoContextFromScript({ logger, script, taskTypeKey, }: {
|
|
7
|
+
logger: LoggerWithScope;
|
|
8
|
+
script: TaskRepoScriptRecord;
|
|
9
|
+
taskTypeKey: string;
|
|
10
|
+
}): Promise<LoadedRepoContext | null>;
|
|
11
|
+
export declare function loadRepoContextFromUrl({ logger, url, taskTypeKey, exportName, }: {
|
|
12
|
+
logger: LoggerWithScope;
|
|
13
|
+
url: string;
|
|
14
|
+
taskTypeKey: string;
|
|
15
|
+
exportName?: string;
|
|
16
|
+
}): Promise<LoadedRepoContext | null>;
|
|
17
|
+
/** Clear in-memory imported module cache (tests / hot reload). */
|
|
18
|
+
export declare function clearRepoScriptModuleCache(): void;
|
|
19
|
+
//# sourceMappingURL=repo.script-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo.script-loader.d.ts","sourceRoot":"","sources":["../../src/repo/repo.script-loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAEH,iBAAiB,EAEpB,MAAM,sBAAsB,CAAC;AAQ9B,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,MAAM,CAM7E;AAWD,wBAAsB,yBAAyB,CAAC,EAC5C,MAAM,EACN,MAAM,EACN,WAAW,GACd,EAAE;IACC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA8CpC;AAED,wBAAsB,sBAAsB,CAAC,EACzC,MAAM,EACN,GAAG,EACH,WAAW,EACX,UAAU,GACb,EAAE;IACC,MAAM,EAAE,eAAe,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA8BpC;AAED,kEAAkE;AAClE,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { resolvePathFromCwd, toFileImportHref } from "../shared/utils/config-path.utils";
|
|
6
|
+
import { getScriptLoadKey, normalizeRepoContextModule, } from "./repo-context.utils";
|
|
7
|
+
const importedModuleCache = new Map();
|
|
8
|
+
async function importFromFilePath(modulePath) {
|
|
9
|
+
return import(toFileImportHref(modulePath));
|
|
10
|
+
}
|
|
11
|
+
/** Resolve repo `details.url` to a value suitable for dynamic `import()`. */
|
|
12
|
+
export function resolveRepoEntryHref(url, cwd = process.cwd()) {
|
|
13
|
+
const trimmed = url.trim();
|
|
14
|
+
if (trimmed.includes("://")) {
|
|
15
|
+
return trimmed;
|
|
16
|
+
}
|
|
17
|
+
return toFileImportHref(resolvePathFromCwd(cwd, trimmed));
|
|
18
|
+
}
|
|
19
|
+
async function importFromSource(source, cacheKey) {
|
|
20
|
+
const hash = createHash("sha256").update(source).digest("hex").slice(0, 16);
|
|
21
|
+
const dir = join(tmpdir(), "target-supabase-sdk", "repo-scripts");
|
|
22
|
+
await mkdir(dir, { recursive: true });
|
|
23
|
+
const filePath = join(dir, `${cacheKey}-${hash}.mjs`);
|
|
24
|
+
await writeFile(filePath, source, "utf8");
|
|
25
|
+
return importFromFilePath(filePath);
|
|
26
|
+
}
|
|
27
|
+
export async function loadRepoContextFromScript({ logger, script, taskTypeKey, }) {
|
|
28
|
+
const loadKey = getScriptLoadKey(script);
|
|
29
|
+
const cacheKey = `${taskTypeKey}@${loadKey}`;
|
|
30
|
+
const cached = importedModuleCache.get(cacheKey);
|
|
31
|
+
if (cached != null) {
|
|
32
|
+
logger.info("命中 Repo 脚本模块缓存", { topic: "repo", data: { cacheKey } });
|
|
33
|
+
return cached;
|
|
34
|
+
}
|
|
35
|
+
const { source, modulePath, exportName } = script.details;
|
|
36
|
+
try {
|
|
37
|
+
let moduleExports;
|
|
38
|
+
if (source != null && source.trim() !== "") {
|
|
39
|
+
logger.info("从 source 动态加载 Repo 脚本", { topic: "repo", data: { scriptId: script.id } });
|
|
40
|
+
moduleExports = await importFromSource(source, cacheKey);
|
|
41
|
+
}
|
|
42
|
+
else if (modulePath != null && modulePath.trim() !== "") {
|
|
43
|
+
logger.info("从 modulePath 动态加载 Repo 脚本", {
|
|
44
|
+
topic: "repo",
|
|
45
|
+
data: { scriptId: script.id, modulePath },
|
|
46
|
+
});
|
|
47
|
+
moduleExports = await importFromFilePath(modulePath);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
logger.warn("脚本缺少 source 或 modulePath", { topic: "repo", data: { scriptId: script.id } });
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const context = normalizeRepoContextModule(moduleExports, taskTypeKey, exportName);
|
|
54
|
+
if (context == null) {
|
|
55
|
+
logger.warn("脚本模块未导出合法的 TaskRepoContext", {
|
|
56
|
+
topic: "repo",
|
|
57
|
+
data: { scriptId: script.id, exportName: exportName ?? "default" },
|
|
58
|
+
});
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const loaded = { context, contentHash: loadKey };
|
|
62
|
+
importedModuleCache.set(cacheKey, loaded);
|
|
63
|
+
return loaded;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
logger.error("动态加载 Repo 脚本失败", {
|
|
67
|
+
topic: "repo",
|
|
68
|
+
data: { scriptId: script.id, error: error instanceof Error ? error.message : error },
|
|
69
|
+
});
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export async function loadRepoContextFromUrl({ logger, url, taskTypeKey, exportName, }) {
|
|
74
|
+
const href = resolveRepoEntryHref(url);
|
|
75
|
+
const cacheKey = `${taskTypeKey}@url:${href}`;
|
|
76
|
+
const cached = importedModuleCache.get(cacheKey);
|
|
77
|
+
if (cached != null) {
|
|
78
|
+
logger.info("命中 Repo URL 模块缓存", { topic: "repo", data: { cacheKey } });
|
|
79
|
+
return cached;
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
logger.info("从 Repo URL 动态加载脚本", { topic: "repo", data: { url, href } });
|
|
83
|
+
const moduleExports = await import(href);
|
|
84
|
+
const context = normalizeRepoContextModule(moduleExports, taskTypeKey, exportName);
|
|
85
|
+
if (context == null) {
|
|
86
|
+
logger.warn("Repo URL 模块未导出合法的 TaskRepoContext", {
|
|
87
|
+
topic: "repo",
|
|
88
|
+
data: { url, exportName: exportName ?? "default" },
|
|
89
|
+
});
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
const loaded = { context, contentHash: cacheKey };
|
|
93
|
+
importedModuleCache.set(cacheKey, loaded);
|
|
94
|
+
return loaded;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
logger.error("从 Repo URL 动态加载失败", {
|
|
98
|
+
topic: "repo",
|
|
99
|
+
data: { url, error: error instanceof Error ? error.message : error },
|
|
100
|
+
});
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** Clear in-memory imported module cache (tests / hot reload). */
|
|
105
|
+
export function clearRepoScriptModuleCache() {
|
|
106
|
+
importedModuleCache.clear();
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=repo.script-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo.script-loader.js","sourceRoot":"","sources":["../../src/repo/repo.script-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAW,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAEzF,OAAO,EACH,gBAAgB,EAEhB,0BAA0B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEjE,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAChD,OAAO,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACjE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC;IAClE,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,MAAM,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC5C,MAAM,EACN,MAAM,EACN,WAAW,GAKd;IACG,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAE1D,IAAI,CAAC;QACD,IAAI,aAAsB,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACvF,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACrC,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE;aAC5C,CAAC,CAAC;YACH,aAAa,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACnF,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACtC,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE;aACrE,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACpE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC3B,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;SACvF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EACzC,MAAM,EACN,GAAG,EACH,WAAW,EACX,UAAU,GAMb;IACG,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,GAAG,WAAW,QAAQ,IAAI,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACnF,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBAC7C,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE;aACrD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,MAAM,GAAsB,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACrE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;YAC9B,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;SACvE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,0BAA0B;IACtC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type LoggerWithScope } from "./log-manager";
|
|
2
|
+
import { type LogScope, type LogScopePatch } from "./log-scope";
|
|
3
|
+
/**
|
|
4
|
+
* Options for {@link createApiLogger}.
|
|
5
|
+
*
|
|
6
|
+
* - **Trace:** optional `traceId` / `traceParentId` (generated root when traceId omitted)
|
|
7
|
+
* - **Labels:** optional `labels` (e.g. `{ nodeId }`)
|
|
8
|
+
*/
|
|
9
|
+
export type CreateApiLoggerOptions = {
|
|
10
|
+
traceId?: string;
|
|
11
|
+
traceParentId?: string | null;
|
|
12
|
+
labels?: Record<string, string>;
|
|
13
|
+
} & Partial<Omit<LogScope, "module" | "traceId" | "traceParentId" | "labels">>;
|
|
14
|
+
/**
|
|
15
|
+
* Logger for one SDK API invocation.
|
|
16
|
+
*
|
|
17
|
+
* Binds `module` + normalized {@link LogScope}.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createApiLogger(module: string, options?: CreateApiLoggerOptions): LoggerWithScope;
|
|
20
|
+
export type { LogScopePatch };
|
|
21
|
+
//# sourceMappingURL=create-api-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-api-logger.d.ts","sourceRoot":"","sources":["../../../src/shared/log/create-api-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAkB,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAajG;AAED,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { logManager } from "./log-manager";
|
|
2
|
+
import { normalizeScope } from "./log-scope";
|
|
3
|
+
/**
|
|
4
|
+
* Logger for one SDK API invocation.
|
|
5
|
+
*
|
|
6
|
+
* Binds `module` + normalized {@link LogScope}.
|
|
7
|
+
*/
|
|
8
|
+
export function createApiLogger(module, options) {
|
|
9
|
+
const { traceId, traceParentId, labels, ...rest } = options ?? {};
|
|
10
|
+
const scope = normalizeScope({
|
|
11
|
+
module,
|
|
12
|
+
traceId,
|
|
13
|
+
traceParentId: traceParentId ?? null,
|
|
14
|
+
labels,
|
|
15
|
+
...rest,
|
|
16
|
+
}, { generateTraceId: true });
|
|
17
|
+
return logManager.withScope(scope).logger;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=create-api-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-api-logger.js","sourceRoot":"","sources":["../../../src/shared/log/create-api-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,cAAc,EAAqC,MAAM,aAAa,CAAC;AAchF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAAgC;IAC5E,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,cAAc,CACxB;QACI,MAAM;QACN,OAAO;QACP,aAAa,EAAE,aAAa,IAAI,IAAI;QACpC,MAAM;QACN,GAAG,IAAI;KACV,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,CAC5B,CAAC;IACF,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log domain public API — curated re-exports only.
|
|
3
|
+
*/
|
|
4
|
+
export { logManager, LogManager, LogLevel } from "./log-manager";
|
|
5
|
+
export type { LogEntry, LogOptions, LoggerWithScope, LogRestParams } from "./log-manager";
|
|
6
|
+
export { createApiLogger } from "./create-api-logger";
|
|
7
|
+
export type { CreateApiLoggerOptions } from "./create-api-logger";
|
|
8
|
+
export { applyScopePatch, createChildScope, createRootScope, formatScopeLabels, normalizeScope, resolveLogData, withModule, } from "./log-scope";
|
|
9
|
+
export type { LogScope, LogScopeInput, LogScopePatch, CreateRootScopeInput, CreateChildScopeInput } from "./log-scope";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,UAAU,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log domain public API — curated re-exports only.
|
|
3
|
+
*/
|
|
4
|
+
// log-manager
|
|
5
|
+
export { logManager, LogManager, LogLevel } from "./log-manager";
|
|
6
|
+
// create-api-logger
|
|
7
|
+
export { createApiLogger } from "./create-api-logger";
|
|
8
|
+
// log-scope
|
|
9
|
+
export { applyScopePatch, createChildScope, createRootScope, formatScopeLabels, normalizeScope, resolveLogData, withModule, } from "./log-scope";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/log/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGjE,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,YAAY;AACZ,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,UAAU,GACb,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type LogScope, type LogScopePatch } from "./log-scope";
|
|
2
|
+
/**
|
|
3
|
+
* Log severity and semantics (low → high). `minLevel` filters by {@link LOG_LEVEL_RANK}.
|
|
4
|
+
*
|
|
5
|
+
* | Level | Rank | When to use |
|
|
6
|
+
* |----------|------|-------------|
|
|
7
|
+
* | DEBUG | 0 | Diagnostic detail for dev/troubleshooting; noisy, safe to drop in prod. |
|
|
8
|
+
* | INFO | 1 | Normal operational flow (startup, polling, state transitions). |
|
|
9
|
+
* | SUCCESS | 2 | Positive milestone within a flow (not a separate severity axis — same band as INFO). |
|
|
10
|
+
* | WARN | 3 | Recoverable anomaly or degradation; work continues but worth watching. |
|
|
11
|
+
* | ERROR | 4 | A concrete operation failed (API, task step, I/O); investigate and retry/fix locally. |
|
|
12
|
+
* | CRITICAL | 5 | Invariant violated — design flaw, data-integrity risk, or business rule broken; escalate and fix urgently. |
|
|
13
|
+
*/
|
|
14
|
+
declare enum LogLevel {
|
|
15
|
+
DEBUG = "DEBUG",
|
|
16
|
+
INFO = "INFO",
|
|
17
|
+
SUCCESS = "SUCCESS",
|
|
18
|
+
WARN = "WARN",
|
|
19
|
+
ERROR = "ERROR",
|
|
20
|
+
CRITICAL = "CRITICAL"
|
|
21
|
+
}
|
|
22
|
+
interface LogEntry extends LogScope {
|
|
23
|
+
timestamp: number;
|
|
24
|
+
level: LogLevel;
|
|
25
|
+
message: string;
|
|
26
|
+
topic: string | null;
|
|
27
|
+
extra?: string;
|
|
28
|
+
/** Per-line structured business payload. */
|
|
29
|
+
data?: unknown;
|
|
30
|
+
}
|
|
31
|
+
type LogRestParams = {
|
|
32
|
+
topic?: LogEntry["topic"];
|
|
33
|
+
extra?: LogEntry["extra"];
|
|
34
|
+
data?: unknown;
|
|
35
|
+
};
|
|
36
|
+
type LogParams = {
|
|
37
|
+
message: LogEntry["message"];
|
|
38
|
+
} & LogRestParams;
|
|
39
|
+
interface LogOptions {
|
|
40
|
+
defaultTopic: LogEntry["topic"];
|
|
41
|
+
formatTimestamp: boolean;
|
|
42
|
+
formatEmoji: boolean;
|
|
43
|
+
formatPrefix: string;
|
|
44
|
+
maxHistoryLength: number;
|
|
45
|
+
/** Logs below this level are skipped. Defaults to DEBUG in dev, INFO in production. */
|
|
46
|
+
minLevel?: LogLevel;
|
|
47
|
+
onLog?: (entry: LogEntry) => void;
|
|
48
|
+
}
|
|
49
|
+
interface LoggerWithScope {
|
|
50
|
+
debug: (message: LogParams["message"], restParams?: LogRestParams) => void;
|
|
51
|
+
info: (message: LogParams["message"], restParams?: LogRestParams) => void;
|
|
52
|
+
success: (message: LogParams["message"], restParams?: LogRestParams) => void;
|
|
53
|
+
warn: (message: LogParams["message"], restParams?: LogRestParams) => void;
|
|
54
|
+
error: (message: LogParams["message"], restParams?: LogRestParams) => void;
|
|
55
|
+
critical: (message: LogParams["message"], restParams?: LogRestParams) => void;
|
|
56
|
+
/** Merge partial fields into this logger's bound scope. */
|
|
57
|
+
resetScope: (fields: LogScopePatch) => void;
|
|
58
|
+
/** @deprecated use {@link LoggerWithScope.resetScope} */
|
|
59
|
+
resetContext: (fields: LogScopePatch) => void;
|
|
60
|
+
}
|
|
61
|
+
declare class LogManager {
|
|
62
|
+
private static instance;
|
|
63
|
+
private options;
|
|
64
|
+
private history;
|
|
65
|
+
private readonly levelEmojis;
|
|
66
|
+
private constructor();
|
|
67
|
+
static getInstance(options?: Partial<LogOptions>): LogManager;
|
|
68
|
+
setOptions(options: Partial<LogOptions>): void;
|
|
69
|
+
getHistory(): LogEntry[];
|
|
70
|
+
clearHistory(): void;
|
|
71
|
+
private getMinLevel;
|
|
72
|
+
private shouldLog;
|
|
73
|
+
private createLogEntry;
|
|
74
|
+
private formatLevelTag;
|
|
75
|
+
private formatLog;
|
|
76
|
+
private emitLog;
|
|
77
|
+
private log;
|
|
78
|
+
generateTraceId(): string;
|
|
79
|
+
debug(message: LogParams["message"], logScope: LogScope, restParams?: LogRestParams): void;
|
|
80
|
+
info(message: LogParams["message"], logScope: LogScope, restParams?: LogRestParams): void;
|
|
81
|
+
success(message: LogParams["message"], logScope: LogScope, restParams?: LogRestParams): void;
|
|
82
|
+
warn(message: LogParams["message"], logScope: LogScope, restParams?: LogRestParams): void;
|
|
83
|
+
error(message: LogParams["message"], logScope: LogScope, restParams?: LogRestParams): void;
|
|
84
|
+
critical(message: LogParams["message"], logScope: LogScope, restParams?: LogRestParams): void;
|
|
85
|
+
withScope(scope: LogScope): {
|
|
86
|
+
logger: LoggerWithScope;
|
|
87
|
+
scope: LogScope;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export declare const logManager: LogManager;
|
|
91
|
+
export { LogManager, LogLevel };
|
|
92
|
+
export type { LogOptions, LogEntry, LoggerWithScope, LogRestParams };
|
|
93
|
+
//# sourceMappingURL=log-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-manager.d.ts","sourceRoot":"","sources":["../../../src/shared/log/log-manager.ts"],"names":[],"mappings":"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"}
|