target-supabase-sdk 0.1.7 → 0.1.9
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 +8 -6
- package/dist/auth/auth.api.d.ts.map +1 -1
- package/dist/auth/auth.api.js +8 -7
- package/dist/auth/auth.api.js.map +1 -1
- 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 +116 -12
- package/dist/core.api.d.ts.map +1 -1
- package/dist/core.api.js +289 -103
- package/dist/core.api.js.map +1 -1
- package/dist/core.interface.d.ts +2 -1
- package/dist/core.interface.d.ts.map +1 -1
- package/dist/core.interface.js +1 -1
- package/dist/core.interface.js.map +1 -1
- package/dist/core.utils.d.ts +0 -2
- package/dist/core.utils.d.ts.map +1 -1
- package/dist/core.utils.js +0 -5
- package/dist/core.utils.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/file-list/file-list.api.js +1 -1
- package/dist/file-list/file-list.api.js.map +1 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/list/list.interface.d.ts +2 -2
- package/dist/list/list.interface.d.ts.map +1 -1
- package/dist/node/node-manager.d.ts +48 -0
- package/dist/node/node-manager.d.ts.map +1 -0
- package/dist/node/node-manager.js +619 -0
- package/dist/node/node-manager.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 +68 -0
- package/dist/node/node.api.d.ts.map +1 -0
- package/dist/node/node.api.js +100 -0
- package/dist/node/node.api.js.map +1 -0
- package/dist/node/node.interface.d.ts +35 -0
- package/dist/node/node.interface.d.ts.map +1 -0
- package/dist/node/node.interface.js +19 -0
- package/dist/node/node.interface.js.map +1 -0
- 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/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/question-list/question-list.api.js +1 -1
- package/dist/question-list/question-list.api.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 +31 -0
- package/dist/repo/repo-manager.d.ts.map +1 -0
- package/dist/repo/repo-manager.js +156 -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 +27 -0
- package/dist/repo/repo.interface.d.ts.map +1 -0
- package/dist/repo/repo.interface.js +8 -0
- package/dist/repo/repo.interface.js.map +1 -0
- 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/review/review.api.js +5 -5
- package/dist/review/review.api.js.map +1 -1
- package/dist/shared/log/create-api-logger.d.ts +17 -0
- package/dist/shared/log/create-api-logger.d.ts.map +1 -0
- package/dist/shared/log/create-api-logger.js +15 -0
- package/dist/shared/log/create-api-logger.js.map +1 -0
- package/dist/shared/log/log-manager.d.ts +114 -0
- package/dist/shared/log/log-manager.d.ts.map +1 -0
- package/dist/shared/log/log-manager.js +218 -0
- package/dist/shared/log/log-manager.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/local-task-registry.d.ts +27 -0
- package/dist/task/local-task-registry.d.ts.map +1 -0
- package/dist/task/local-task-registry.js +153 -0
- package/dist/task/local-task-registry.js.map +1 -0
- package/dist/task/task-manager.d.ts +52 -0
- package/dist/task/task-manager.d.ts.map +1 -0
- package/dist/task/task-manager.js +217 -0
- package/dist/task/task-manager.js.map +1 -0
- package/dist/task/task-repo-context.d.ts +95 -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.api.d.ts +241 -0
- package/dist/task/task.api.d.ts.map +1 -0
- package/dist/task/task.api.js +351 -0
- package/dist/task/task.api.js.map +1 -0
- package/dist/task/task.interface.d.ts +56 -0
- package/dist/task/task.interface.d.ts.map +1 -0
- package/dist/task/task.interface.js +36 -0
- package/dist/task/task.interface.js.map +1 -0
- package/dist/task/task.utils.d.ts +1 -0
- package/dist/task/task.utils.d.ts.map +1 -0
- package/dist/task/task.utils.js +2 -0
- package/dist/task/task.utils.js.map +1 -0
- package/dist/word/word.api.d.ts +5 -5
- package/dist/word/word.api.d.ts.map +1 -1
- package/dist/word/word.api.js +1 -1
- package/dist/word/word.api.js.map +1 -1
- package/package.json +10 -3
- package/src/auth/auth.api.ts +9 -7
- package/src/command/command.api.ts +88 -0
- package/src/command/command.interface.ts +17 -0
- package/src/core.api.ts +489 -133
- package/src/core.interface.ts +3 -1
- package/src/core.utils.ts +0 -6
- package/src/file/file-manager.ts +1 -1
- package/src/file-list/file-list.api.ts +1 -1
- package/src/index.ts +22 -1
- package/src/list/list.interface.ts +2 -2
- package/src/node/node-manager.ts +673 -0
- package/src/node/node-task.preset.ts +13 -0
- package/src/node/node.api.ts +139 -0
- package/src/node/node.interface.ts +40 -0
- package/src/node/node.utils.ts +36 -0
- package/src/parcel/parcel-manager.ts +1 -1
- package/src/question-list/question-list.api.ts +1 -1
- package/src/repo/repo-context.utils.ts +111 -0
- package/src/repo/repo-manager.ts +217 -0
- package/src/repo/repo.api.ts +50 -0
- package/src/repo/repo.interface.ts +31 -0
- package/src/repo/repo.script-loader.ts +140 -0
- package/src/review/review.api.ts +5 -5
- package/src/shared/log/create-api-logger.ts +25 -0
- package/src/shared/log/log-manager.ts +340 -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/local-task-registry.ts +195 -0
- package/src/task/task-manager.ts +312 -0
- package/src/task/task-repo-context.ts +103 -0
- package/src/task/task.api.ts +429 -0
- package/src/task/task.interface.ts +68 -0
- package/src/task/task.utils.ts +0 -0
- package/src/word/word.api.ts +6 -6
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createTarget,
|
|
3
|
+
MAX_POLL_TARGET_LIST_SIZE,
|
|
4
|
+
pollTargetList,
|
|
5
|
+
validateWithSchema,
|
|
6
|
+
} from "../core.api";
|
|
7
|
+
import { generateResponse } from "../core.interface";
|
|
8
|
+
import { createApiLogger } from "../shared/log/log-manager";
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
import { CategoryCommand, Command, CommandType } from "./command.interface";
|
|
11
|
+
|
|
12
|
+
const nodeIdSchema = z.string().trim().min(1);
|
|
13
|
+
const traceIdSchema = z.string().trim().min(1).optional();
|
|
14
|
+
|
|
15
|
+
// ─── Zod schemas ─────────────────────────────────────────────────────────────
|
|
16
|
+
|
|
17
|
+
export const postCommandSchema = z.object({
|
|
18
|
+
nodeId: nodeIdSchema,
|
|
19
|
+
command: z.nativeEnum(CommandType),
|
|
20
|
+
traceId: traceIdSchema,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export type PostCommandPayload = z.infer<typeof postCommandSchema>;
|
|
24
|
+
|
|
25
|
+
export const getPollCommandListSchema = z.object({
|
|
26
|
+
nodeId: nodeIdSchema,
|
|
27
|
+
size: z.number().int().min(1).max(MAX_POLL_TARGET_LIST_SIZE).optional(),
|
|
28
|
+
traceId: traceIdSchema,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export type GetPollCommandListPayload = z.infer<typeof getPollCommandListSchema>;
|
|
32
|
+
|
|
33
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
34
|
+
|
|
35
|
+
function commandNodeFilter(nodeId: string) {
|
|
36
|
+
return [{ field: "value", operator: "eq" as const, value: nodeId }];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// ─── postCommand ─────────────────────────────────────────────────────────────
|
|
40
|
+
|
|
41
|
+
/** Enqueue a control command for `nodeId` (scheduler / admin). */
|
|
42
|
+
export const postCommand = validateWithSchema(
|
|
43
|
+
postCommandSchema,
|
|
44
|
+
"postCommandSchema"
|
|
45
|
+
)(async ({ nodeId, command, traceId }) => {
|
|
46
|
+
const logger = createApiLogger("postCommand", { traceId, nodeId });
|
|
47
|
+
|
|
48
|
+
const result = await createTarget<Command, PostCommandPayload>({
|
|
49
|
+
payload: { nodeId, command, traceId },
|
|
50
|
+
createFn: () => ({
|
|
51
|
+
name: command,
|
|
52
|
+
value: nodeId,
|
|
53
|
+
category: CategoryCommand.COMMAND,
|
|
54
|
+
tagList: [],
|
|
55
|
+
}),
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
logger.info("Command已入隊", {
|
|
59
|
+
topic: "command",
|
|
60
|
+
context: { nodeId, command },
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
return result;
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// ─── getPollCommandList ──────────────────────────────────────────────────────
|
|
67
|
+
|
|
68
|
+
/** Dequeue control commands for `nodeId` (oldest first). */
|
|
69
|
+
export const getPollCommandList = validateWithSchema(
|
|
70
|
+
getPollCommandListSchema,
|
|
71
|
+
"getPollCommandListSchema"
|
|
72
|
+
)(async ({ nodeId, size, traceId }) => {
|
|
73
|
+
const logger = createApiLogger("getPollCommandList", { traceId, nodeId });
|
|
74
|
+
|
|
75
|
+
const { data: dequeuedList = [] } = await pollTargetList<Command>({
|
|
76
|
+
category: CategoryCommand.COMMAND,
|
|
77
|
+
size: size ?? 50,
|
|
78
|
+
filterList: commandNodeFilter(nodeId),
|
|
79
|
+
ascending: true,
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
logger.info("Command", {
|
|
83
|
+
topic: "command",
|
|
84
|
+
context: { nodeId, dequeued: dequeuedList.length },
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
return generateResponse.success(dequeuedList);
|
|
88
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Target } from "../core.interface";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export enum CategoryCommand {
|
|
5
|
+
COMMAND = "command",
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export enum CommandType {
|
|
9
|
+
STOP_NODE = "stop-node",
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface Command extends Target {
|
|
13
|
+
name: CommandType;
|
|
14
|
+
/** Node.id */
|
|
15
|
+
value: string;
|
|
16
|
+
category: CategoryCommand;
|
|
17
|
+
}
|