target-supabase-sdk 0.1.9 → 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.
Files changed (135) hide show
  1. package/README.md +66 -0
  2. package/dist/browser.d.ts +52 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +45 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/command/command.api.js +5 -5
  7. package/dist/command/command.api.js.map +1 -1
  8. package/dist/index.d.ts +2 -48
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -41
  11. package/dist/index.js.map +1 -1
  12. package/dist/link/link.interface.d.ts +1 -1
  13. package/dist/link/link.interface.d.ts.map +1 -1
  14. package/dist/node/node-log-scope.d.ts +11 -0
  15. package/dist/node/node-log-scope.d.ts.map +1 -0
  16. package/dist/node/node-log-scope.js +7 -0
  17. package/dist/node/node-log-scope.js.map +1 -0
  18. package/dist/node/node-runtime.base.d.ts +42 -0
  19. package/dist/node/node-runtime.base.d.ts.map +1 -0
  20. package/dist/node/node-runtime.base.js +397 -0
  21. package/dist/node/node-runtime.base.js.map +1 -0
  22. package/dist/node/node.api.d.ts +3 -3
  23. package/dist/node/node.api.js +3 -3
  24. package/dist/node/node.api.js.map +1 -1
  25. package/dist/node/task-node.d.ts +20 -0
  26. package/dist/node/task-node.d.ts.map +1 -0
  27. package/dist/node/task-node.js +245 -0
  28. package/dist/node/task-node.js.map +1 -0
  29. package/dist/node/trigger-node.d.ts +18 -0
  30. package/dist/node/trigger-node.d.ts.map +1 -0
  31. package/dist/node/trigger-node.js +150 -0
  32. package/dist/node/trigger-node.js.map +1 -0
  33. package/dist/node.d.ts +22 -0
  34. package/dist/node.d.ts.map +1 -0
  35. package/dist/node.js +19 -0
  36. package/dist/node.js.map +1 -0
  37. package/dist/repo/repo-manager.d.ts +14 -3
  38. package/dist/repo/repo-manager.d.ts.map +1 -1
  39. package/dist/repo/repo-manager.js +27 -17
  40. package/dist/repo/repo-manager.js.map +1 -1
  41. package/dist/repo/repo.script-loader.d.ts +3 -3
  42. package/dist/repo/repo.script-loader.d.ts.map +1 -1
  43. package/dist/repo/repo.script-loader.js +10 -10
  44. package/dist/repo/repo.script-loader.js.map +1 -1
  45. package/dist/shared/log/create-api-logger.d.ts +10 -6
  46. package/dist/shared/log/create-api-logger.d.ts.map +1 -1
  47. package/dist/shared/log/create-api-logger.js +10 -6
  48. package/dist/shared/log/create-api-logger.js.map +1 -1
  49. package/dist/shared/log/index.d.ts +10 -0
  50. package/dist/shared/log/index.d.ts.map +1 -0
  51. package/dist/shared/log/index.js +10 -0
  52. package/dist/shared/log/index.js.map +1 -0
  53. package/dist/shared/log/log-manager.d.ts +25 -46
  54. package/dist/shared/log/log-manager.d.ts.map +1 -1
  55. package/dist/shared/log/log-manager.js +59 -40
  56. package/dist/shared/log/log-manager.js.map +1 -1
  57. package/dist/shared/log/log-scope.d.ts +49 -0
  58. package/dist/shared/log/log-scope.d.ts.map +1 -0
  59. package/dist/shared/log/log-scope.js +70 -0
  60. package/dist/shared/log/log-scope.js.map +1 -0
  61. package/dist/task/index.d.ts +15 -0
  62. package/dist/task/index.d.ts.map +1 -0
  63. package/dist/task/index.js +14 -0
  64. package/dist/task/index.js.map +1 -0
  65. package/dist/task/local-task-registry.d.ts +10 -0
  66. package/dist/task/local-task-registry.d.ts.map +1 -1
  67. package/dist/task/local-task-registry.js +83 -22
  68. package/dist/task/local-task-registry.js.map +1 -1
  69. package/dist/task/task-manager.d.ts +18 -6
  70. package/dist/task/task-manager.d.ts.map +1 -1
  71. package/dist/task/task-manager.js +46 -67
  72. package/dist/task/task-manager.js.map +1 -1
  73. package/dist/task/task-post.api.d.ts +49 -0
  74. package/dist/task/task-post.api.d.ts.map +1 -0
  75. package/dist/task/task-post.api.js +91 -0
  76. package/dist/task/task-post.api.js.map +1 -0
  77. package/dist/task/task-repo-context.d.ts +2 -0
  78. package/dist/task/task-repo-context.d.ts.map +1 -1
  79. package/dist/task/task-repo-context.js.map +1 -1
  80. package/dist/task/task-repo-validation.d.ts +46 -0
  81. package/dist/task/task-repo-validation.d.ts.map +1 -0
  82. package/dist/task/task-repo-validation.js +96 -0
  83. package/dist/task/task-repo-validation.js.map +1 -0
  84. package/dist/task/task.api.d.ts +11 -53
  85. package/dist/task/task.api.d.ts.map +1 -1
  86. package/dist/task/task.api.js +13 -61
  87. package/dist/task/task.api.js.map +1 -1
  88. package/dist/task/task.interface.d.ts +2 -0
  89. package/dist/task/task.interface.d.ts.map +1 -1
  90. package/dist/task/task.interface.js.map +1 -1
  91. package/dist/trigger/trigger.api.d.ts +140 -0
  92. package/dist/trigger/trigger.api.d.ts.map +1 -0
  93. package/dist/trigger/trigger.api.js +125 -0
  94. package/dist/trigger/trigger.api.js.map +1 -0
  95. package/dist/trigger/trigger.interface.d.ts +43 -0
  96. package/dist/trigger/trigger.interface.d.ts.map +1 -0
  97. package/dist/trigger/trigger.interface.js +11 -0
  98. package/dist/trigger/trigger.interface.js.map +1 -0
  99. package/dist/trigger/trigger.utils.d.ts +6 -0
  100. package/dist/trigger/trigger.utils.d.ts.map +1 -0
  101. package/dist/trigger/trigger.utils.js +39 -0
  102. package/dist/trigger/trigger.utils.js.map +1 -0
  103. package/package.json +21 -6
  104. package/src/browser.ts +100 -0
  105. package/src/command/command.api.ts +5 -5
  106. package/src/index.ts +2 -79
  107. package/src/link/link.interface.ts +1 -1
  108. package/src/node/node-log-scope.ts +15 -0
  109. package/src/node/node-runtime.base.ts +450 -0
  110. package/src/node/node.api.ts +3 -3
  111. package/src/node/task-node.ts +284 -0
  112. package/src/node/trigger-node.ts +180 -0
  113. package/src/node.ts +62 -0
  114. package/src/repo/repo-manager.ts +49 -21
  115. package/src/repo/repo.script-loader.ts +13 -13
  116. package/src/shared/log/create-api-logger.ts +23 -12
  117. package/src/shared/log/index.ts +23 -0
  118. package/src/shared/log/log-manager.ts +85 -90
  119. package/src/shared/log/log-scope.ts +123 -0
  120. package/src/task/index.ts +48 -0
  121. package/src/task/local-task-registry.ts +110 -23
  122. package/src/task/task-manager.ts +73 -84
  123. package/src/task/task-post.api.ts +116 -0
  124. package/src/task/task-repo-context.ts +2 -0
  125. package/src/task/task-repo-validation.ts +171 -0
  126. package/src/task/task.api.ts +13 -73
  127. package/src/task/task.interface.ts +2 -0
  128. package/src/trigger/trigger.api.ts +166 -0
  129. package/src/trigger/trigger.interface.ts +50 -0
  130. package/src/trigger/trigger.utils.ts +56 -0
  131. package/dist/node/node-manager.d.ts +0 -48
  132. package/dist/node/node-manager.d.ts.map +0 -1
  133. package/dist/node/node-manager.js +0 -619
  134. package/dist/node/node-manager.js.map +0 -1
  135. package/src/node/node-manager.ts +0 -673
@@ -1,5 +1,6 @@
1
1
  import { isDevEnvironment } from "../../core.utils";
2
2
  import { generateUniqueId } from "../utils/id.utils";
3
+ import { applyScopePatch, formatScopeLabels, resolveLogData, } from "./log-scope";
3
4
  /**
4
5
  * Log severity and semantics (low → high). `minLevel` filters by {@link LOG_LEVEL_RANK}.
5
6
  *
@@ -40,7 +41,7 @@ const DEFAULT_OPTIONS = {
40
41
  function mergeLogOptions(options) {
41
42
  return { ...DEFAULT_OPTIONS, ...options };
42
43
  }
43
- function formatContextValue(value) {
44
+ function formatDataValue(value) {
44
45
  if (value === undefined) {
45
46
  return "";
46
47
  }
@@ -54,16 +55,19 @@ function formatContextValue(value) {
54
55
  return String(value);
55
56
  }
56
57
  }
57
- function validateLogContext(logContext) {
58
+ function validateLogScope(logScope) {
58
59
  const missing = [];
59
- if (!logContext.module?.trim()) {
60
+ if (!logScope.module?.trim()) {
60
61
  missing.push("module");
61
62
  }
62
- if (!logContext.traceId?.trim()) {
63
+ if (!logScope.traceId?.trim()) {
63
64
  missing.push("traceId");
64
65
  }
66
+ if (logScope.traceParentId !== null && typeof logScope.traceParentId !== "string") {
67
+ missing.push("traceParentId");
68
+ }
65
69
  if (missing.length > 0) {
66
- console.warn(`[LogManager] LogContext missing or empty: ${missing.join(", ")}`, logContext);
70
+ console.warn(`[LogManager] LogScope missing or invalid: ${missing.join(", ")}`, logScope);
67
71
  }
68
72
  }
69
73
  class LogManager {
@@ -105,7 +109,8 @@ class LogManager {
105
109
  shouldLog(level) {
106
110
  return LOG_LEVEL_RANK[level] >= LOG_LEVEL_RANK[this.getMinLevel()];
107
111
  }
108
- createLogEntry({ level, message, topic, module, traceId, nodeId, extra, context, }) {
112
+ createLogEntry(payload) {
113
+ const { level, message, topic, extra, data, module, traceId, traceParentId, labels } = payload;
109
114
  return {
110
115
  timestamp: Date.now(),
111
116
  level,
@@ -113,9 +118,10 @@ class LogManager {
113
118
  topic: topic === undefined ? this.options.defaultTopic : topic,
114
119
  module,
115
120
  traceId,
116
- nodeId,
121
+ traceParentId,
122
+ labels,
117
123
  extra,
118
- context,
124
+ data,
119
125
  };
120
126
  }
121
127
  formatLevelTag(entry) {
@@ -131,7 +137,7 @@ class LogManager {
131
137
  parts.push(`[${new Date(entry.timestamp).toISOString()}]`);
132
138
  }
133
139
  parts.push(this.formatLevelTag(entry));
134
- parts.push(`traceId=${entry.traceId} nodeId=${entry.nodeId ?? "--"} module=${entry.module} topic=${entry.topic ?? "--"}`);
140
+ parts.push(`traceId=${entry.traceId} parent=${entry.traceParentId ?? "null"} labels=${formatScopeLabels(entry.labels)} module=${entry.module} topic=${entry.topic ?? "--"}`);
135
141
  if (this.options.formatPrefix) {
136
142
  parts.push(`prefix=${this.options.formatPrefix}`);
137
143
  }
@@ -140,9 +146,9 @@ class LogManager {
140
146
  if (entry.extra) {
141
147
  parts.push(`| extra=${entry.extra}`);
142
148
  }
143
- const contextText = formatContextValue(entry.context);
144
- if (contextText) {
145
- parts.push(`| context=${contextText}`);
149
+ const dataText = formatDataValue(entry.data);
150
+ if (dataText) {
151
+ parts.push(`| data=${dataText}`);
146
152
  }
147
153
  return parts.join(" ");
148
154
  }
@@ -159,14 +165,21 @@ class LogManager {
159
165
  console.log(formatted);
160
166
  }
161
167
  }
162
- log(level, message, logContext, restParams) {
168
+ log(level, message, logScope, restParams) {
163
169
  if (!this.shouldLog(level)) {
164
170
  return;
165
171
  }
166
- validateLogContext(logContext);
167
- const { topic, extra, context } = restParams ?? {};
168
- const { module, traceId, nodeId } = logContext;
169
- const entry = this.createLogEntry({ level, message, topic, extra, context, module, traceId, nodeId });
172
+ validateLogScope(logScope);
173
+ const { topic, extra } = restParams ?? {};
174
+ const data = resolveLogData(restParams);
175
+ const entry = this.createLogEntry({
176
+ level,
177
+ message,
178
+ topic,
179
+ extra,
180
+ data,
181
+ ...logScope,
182
+ });
170
183
  this.history.push(entry);
171
184
  if (this.history.length > this.options.maxHistoryLength) {
172
185
  this.history.shift();
@@ -178,41 +191,47 @@ class LogManager {
178
191
  generateTraceId() {
179
192
  return generateUniqueId();
180
193
  }
181
- debug(message, logContext, restParams) {
182
- this.log(LogLevel.DEBUG, message, logContext, restParams);
194
+ debug(message, logScope, restParams) {
195
+ this.log(LogLevel.DEBUG, message, logScope, restParams);
183
196
  }
184
- info(message, logContext, restParams) {
185
- this.log(LogLevel.INFO, message, logContext, restParams);
197
+ info(message, logScope, restParams) {
198
+ this.log(LogLevel.INFO, message, logScope, restParams);
186
199
  }
187
- success(message, logContext, restParams) {
188
- this.log(LogLevel.SUCCESS, message, logContext, restParams);
200
+ success(message, logScope, restParams) {
201
+ this.log(LogLevel.SUCCESS, message, logScope, restParams);
189
202
  }
190
- warn(message, logContext, restParams) {
191
- this.log(LogLevel.WARN, message, logContext, restParams);
203
+ warn(message, logScope, restParams) {
204
+ this.log(LogLevel.WARN, message, logScope, restParams);
192
205
  }
193
- error(message, logContext, restParams) {
194
- this.log(LogLevel.ERROR, message, logContext, restParams);
206
+ error(message, logScope, restParams) {
207
+ this.log(LogLevel.ERROR, message, logScope, restParams);
195
208
  }
196
- critical(message, logContext, restParams) {
197
- this.log(LogLevel.CRITICAL, message, logContext, restParams);
209
+ critical(message, logScope, restParams) {
210
+ this.log(LogLevel.CRITICAL, message, logScope, restParams);
198
211
  }
199
- withContext(context) {
200
- const boundContext = { ...context };
212
+ withScope(scope) {
213
+ const boundScope = { ...scope, labels: scope.labels ? { ...scope.labels } : undefined };
201
214
  const logger = {
202
- debug: (message, restParams) => this.debug(message, boundContext, restParams),
203
- info: (message, restParams) => this.info(message, boundContext, restParams),
204
- success: (message, restParams) => this.success(message, boundContext, restParams),
205
- warn: (message, restParams) => this.warn(message, boundContext, restParams),
206
- error: (message, restParams) => this.error(message, boundContext, restParams),
207
- critical: (message, restParams) => this.critical(message, boundContext, restParams),
215
+ debug: (message, restParams) => this.debug(message, boundScope, restParams),
216
+ info: (message, restParams) => this.info(message, boundScope, restParams),
217
+ success: (message, restParams) => this.success(message, boundScope, restParams),
218
+ warn: (message, restParams) => this.warn(message, boundScope, restParams),
219
+ error: (message, restParams) => this.error(message, boundScope, restParams),
220
+ critical: (message, restParams) => this.critical(message, boundScope, restParams),
221
+ resetScope: (fields) => {
222
+ const next = applyScopePatch(boundScope, fields);
223
+ boundScope.module = next.module;
224
+ boundScope.traceId = next.traceId;
225
+ boundScope.traceParentId = next.traceParentId;
226
+ boundScope.labels = next.labels;
227
+ },
208
228
  resetContext: (fields) => {
209
- Object.assign(boundContext, fields);
229
+ logger.resetScope(fields);
210
230
  },
211
231
  };
212
- return { logger, context: boundContext };
232
+ return { logger, scope: boundScope };
213
233
  }
214
234
  }
215
235
  export const logManager = LogManager.getInstance();
216
236
  export { LogManager, LogLevel };
217
- export { createApiLogger } from "./create-api-logger";
218
237
  //# sourceMappingURL=log-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-manager.js","sourceRoot":"","sources":["../../../src/shared/log/log-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-manager.js","sourceRoot":"","sources":["../../../src/shared/log/log-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /** Logger-bound scope: module + trace chain + optional labels. */
2
+ export interface LogScope {
3
+ module: string;
4
+ traceId: string;
5
+ traceParentId: string | null;
6
+ labels?: Readonly<Record<string, string>>;
7
+ }
8
+ /** Partial update for {@link LogScope} / {@link applyScopePatch}. */
9
+ export type LogScopePatch = Partial<Omit<LogScope, "labels">> & {
10
+ labels?: Record<string, string>;
11
+ };
12
+ export type LogScopeInput = LogScopePatch & Pick<LogScope, "module">;
13
+ interface NormalizeScopeOptions {
14
+ /** When true and traceId is missing, generate a new id. */
15
+ generateTraceId?: boolean;
16
+ }
17
+ /** Coerce partial input into a {@link LogScope}. */
18
+ export declare function normalizeScope(input: LogScopeInput, options?: NormalizeScopeOptions): LogScope;
19
+ /** Input for {@link createRootScope}. */
20
+ export type CreateRootScopeInput = {
21
+ module: string;
22
+ traceId?: string;
23
+ labels?: Record<string, string>;
24
+ traceParentId?: string | null;
25
+ };
26
+ /** Root scope: traceParentId defaults to null. */
27
+ export declare function createRootScope(input: CreateRootScopeInput): LogScope;
28
+ /** Input for {@link createChildScope}. */
29
+ export type CreateChildScopeInput = {
30
+ module: string;
31
+ parent: LogScope;
32
+ traceId?: string;
33
+ traceParentId?: string | null;
34
+ labels?: Record<string, string>;
35
+ };
36
+ /** Child scope: parent link defaults to parent.traceId; labels merge with parent. */
37
+ export declare function createChildScope(input: CreateChildScopeInput): LogScope;
38
+ /** Same trace chain, different module (e.g. prepareTask vs executeTask). */
39
+ export declare function withModule(scope: LogScope, module: string): LogScope;
40
+ /** Merge patch into scope (labels deep-merge). */
41
+ export declare function applyScopePatch(scope: LogScope, patch: LogScopePatch): LogScope;
42
+ export declare function formatScopeLabels(labels?: Readonly<Record<string, string>>): string;
43
+ /** Prefer `data`; fall back to deprecated `context` on log rest params. */
44
+ export declare function resolveLogData(rest?: {
45
+ data?: unknown;
46
+ context?: unknown;
47
+ }): unknown | undefined;
48
+ export {};
49
+ //# sourceMappingURL=log-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-scope.d.ts","sourceRoot":"","sources":["../../../src/shared/log/log-scope.ts"],"names":[],"mappings":"AAEA,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C;AAED,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAAG;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAErE,UAAU,qBAAqB;IAC3B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAUD,oDAAoD;AACpD,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,QAAQ,CAa9F;AAED,yCAAyC;AACzC,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,QAAQ,CAUrE;AAED,0CAA0C;AAC1C,MAAM,MAAM,qBAAqB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,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,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAWvE;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEpE;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,GAAG,QAAQ,CAO/E;AACD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAOnF;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,GAAG,SAAS,CAQhG"}
@@ -0,0 +1,70 @@
1
+ import { generateUniqueId } from "../utils/id.utils";
2
+ function mergeLabels(base, patch) {
3
+ const merged = { ...base, ...patch };
4
+ return Object.keys(merged).length > 0 ? merged : undefined;
5
+ }
6
+ /** Coerce partial input into a {@link LogScope}. */
7
+ export function normalizeScope(input, options) {
8
+ const generateTraceId = options?.generateTraceId ?? false;
9
+ const traceId = input.traceId?.trim() || (generateTraceId ? generateUniqueId() : "");
10
+ if (!traceId) {
11
+ throw new Error("[LogScope] traceId is required (or enable generateTraceId)");
12
+ }
13
+ return {
14
+ module: input.module,
15
+ traceId,
16
+ traceParentId: input.traceParentId ?? null,
17
+ labels: mergeLabels(undefined, input.labels),
18
+ };
19
+ }
20
+ /** Root scope: traceParentId defaults to null. */
21
+ export function createRootScope(input) {
22
+ return normalizeScope({
23
+ module: input.module,
24
+ traceId: input.traceId,
25
+ traceParentId: input.traceParentId ?? null,
26
+ labels: input.labels,
27
+ }, { generateTraceId: true });
28
+ }
29
+ /** Child scope: parent link defaults to parent.traceId; labels merge with parent. */
30
+ export function createChildScope(input) {
31
+ const { module, parent, traceId, traceParentId, labels } = input;
32
+ return normalizeScope({
33
+ module,
34
+ traceId,
35
+ traceParentId: traceParentId ?? parent.traceId,
36
+ labels: mergeLabels(parent.labels, labels),
37
+ }, { generateTraceId: true });
38
+ }
39
+ /** Same trace chain, different module (e.g. prepareTask vs executeTask). */
40
+ export function withModule(scope, module) {
41
+ return { ...scope, module };
42
+ }
43
+ /** Merge patch into scope (labels deep-merge). */
44
+ export function applyScopePatch(scope, patch) {
45
+ return normalizeScope({
46
+ module: patch.module ?? scope.module,
47
+ traceId: patch.traceId ?? scope.traceId,
48
+ traceParentId: patch.traceParentId !== undefined ? patch.traceParentId : scope.traceParentId,
49
+ labels: mergeLabels(scope.labels, patch.labels),
50
+ });
51
+ }
52
+ export function formatScopeLabels(labels) {
53
+ if (labels == null || Object.keys(labels).length === 0) {
54
+ return "--";
55
+ }
56
+ return Object.entries(labels)
57
+ .map(([key, value]) => `${key}:${value}`)
58
+ .join(",");
59
+ }
60
+ /** Prefer `data`; fall back to deprecated `context` on log rest params. */
61
+ export function resolveLogData(rest) {
62
+ if (rest?.data !== undefined) {
63
+ return rest.data;
64
+ }
65
+ if (rest?.context !== undefined) {
66
+ return rest.context;
67
+ }
68
+ return undefined;
69
+ }
70
+ //# sourceMappingURL=log-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-scope.js","sourceRoot":"","sources":["../../../src/shared/log/log-scope.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Task domain public API — curated re-exports only.
3
+ * Internal modules (local-task-registry, task-repo-context, task.utils) stay private.
4
+ */
5
+ export { CategoryTask, ResultCode, TaskStatus, TaskStatusAction, } from "./task.interface";
6
+ export type { Task, TaskDetails, TaskFlow } from "./task.interface";
7
+ export { patchChangeTaskStatus, patchChangeTaskStatusSchema, patchClaimTask, patchClaimTaskSchema, patchTaskProgress, patchTaskProgressSchema, } from "./task.api";
8
+ export type { PatchChangeTaskStatusPayload, PatchClaimTaskPayload, PatchTaskProgressPayload, } from "./task.api";
9
+ export { postTask, postTaskSchema } from "./task-post.api";
10
+ export type { PostTaskPayload } from "./task-post.api";
11
+ export { TaskManager } from "./task-manager";
12
+ export type { PrepareTaskFailureReason, PrepareTaskParams, PrepareTaskResponse, RegisterTasksOptions, RegisterTasksResult, } from "./task-manager";
13
+ export { TaskRepoValidation } from "./task-repo-validation";
14
+ export type { TaskRepoValidationFailureReason, ValidateTaskRepoAndParamsInput, ValidateTaskRepoAndParamsResult, } from "./task-repo-validation";
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EACX,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACX,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EACX,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,GAC/B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Task domain public API — curated re-exports only.
3
+ * Internal modules (local-task-registry, task-repo-context, task.utils) stay private.
4
+ */
5
+ // task.interface
6
+ export { CategoryTask, ResultCode, TaskStatus, TaskStatusAction, } from "./task.interface";
7
+ // task.api
8
+ export { patchChangeTaskStatus, patchChangeTaskStatusSchema, patchClaimTask, patchClaimTaskSchema, patchTaskProgress, patchTaskProgressSchema, } from "./task.api";
9
+ export { postTask, postTaskSchema } from "./task-post.api";
10
+ // task-manager
11
+ export { TaskManager } from "./task-manager";
12
+ // task-repo-validation
13
+ export { TaskRepoValidation } from "./task-repo-validation";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iBAAiB;AACjB,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,GAChB,MAAM,kBAAkB,CAAC;AAG1B,WAAW;AACX,OAAO,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG3D,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,uBAAuB;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -4,12 +4,20 @@ export interface BootstrapLocalTasksOptions {
4
4
  rootConfigPath?: string;
5
5
  /** Base directory for resolving root config (default `process.cwd()`) */
6
6
  cwd?: string;
7
+ /**
8
+ * When set with an unchanged config fingerprint, skip full scan if this key is already
9
+ * registered in {@link RepoManager}.
10
+ */
11
+ forTaskTypeKey?: string;
7
12
  }
8
13
  /**
9
14
  * Discover local task packages from config files and register them with {@link RepoManager}.
10
15
  *
11
16
  * **Never throws** for missing root config — returns `{ status: "not_configured" }`.
12
17
  *
18
+ * Re-scans are skipped when the config fingerprint is unchanged (root config + taskDir mtimes).
19
+ * Concurrent calls share a single in-flight scan (single-flight).
20
+ *
13
21
  * Host app layout (recommended):
14
22
  * ```
15
23
  * ./config/task.config.js → { taskDir: "../tasks" }
@@ -22,6 +30,8 @@ export interface BootstrapLocalTasksOptions {
22
30
  * Legacy fallback: `./task.config.js` at project root (`taskDir: "./tasks"`).
23
31
  */
24
32
  export declare function bootstrapLocalTasks(options?: BootstrapLocalTasksOptions): Promise<BootstrapLocalTasksResult>;
33
+ /** Clear fingerprint cache (tests / hot-reload tooling). */
34
+ export declare function clearBootstrapLocalTasksCache(): void;
25
35
  export declare function getRegisteredLocalTaskTypeKeys(): string[];
26
36
  export { TASK_RUNNER_ROOT_CONFIG_RELATIVE_PATH };
27
37
  //# sourceMappingURL=local-task-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-task-registry.d.ts","sourceRoot":"","sources":["../../src/task/local-task-registry.ts"],"names":[],"mappings":"AAWA,OAAO,EACH,yBAAyB,EAGzB,qCAAqC,EAGxC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,0BAA0B;IACvC,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAuDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,GAAE,0BAA+B,GACzC,OAAO,CAAC,yBAAyB,CAAC,CA0FpC;AAED,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAEzD;AAED,OAAO,EAAE,qCAAqC,EAAE,CAAC"}
1
+ {"version":3,"file":"local-task-registry.d.ts","sourceRoot":"","sources":["../../src/task/local-task-registry.ts"],"names":[],"mappings":"AAWA,OAAO,EACH,yBAAyB,EAGzB,qCAAqC,EAGxC,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,0BAA0B;IACvC,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiND;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,GAAE,0BAA+B,GACzC,OAAO,CAAC,yBAAyB,CAAC,CASpC;AAED,4DAA4D;AAC5D,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD;AAED,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAEzD;AAED,OAAO,EAAE,qCAAqC,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { readdir } from "node:fs/promises";
1
+ import { readdir, stat } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { RepoManager } from "../repo/repo-manager";
4
4
  import { importJsConfigModule, pathExists, resolveFirstExistingPath, resolvePathFromBaseDir, resolvePathFromConfigFile, } from "../shared/utils/config-path.utils";
@@ -9,6 +9,8 @@ const EMPTY_RESULT = {
9
9
  skipped: [],
10
10
  errors: [],
11
11
  };
12
+ let bootstrapCache = { fingerprint: null, lastResult: null };
13
+ let bootstrapInFlight = null;
12
14
  function parseRootConfig(raw, configPath) {
13
15
  if (raw == null || typeof raw !== "object") {
14
16
  throw new Error(`Root config must export an object: ${configPath}`);
@@ -50,23 +52,36 @@ function finalizeStatus(result) {
50
52
  }
51
53
  return "loaded";
52
54
  }
53
- /**
54
- * Discover local task packages from config files and register them with {@link RepoManager}.
55
- *
56
- * **Never throws** for missing root config — returns `{ status: "not_configured" }`.
57
- *
58
- * Host app layout (recommended):
59
- * ```
60
- * ./config/task.config.js → { taskDir: "../tasks" }
61
- * ./tasks/my-task/task.config.js
62
- * ./tasks/my-task/index.mjs
63
- * ```
64
- *
65
- * `taskDir` / `entry` paths are relative to **their config file's directory** (see config-file-relative-paths skill).
66
- *
67
- * Legacy fallback: `./task.config.js` at project root (`taskDir: "./tasks"`).
68
- */
69
- export async function bootstrapLocalTasks(options = {}) {
55
+ async function computeConfigFingerprint(rootConfigPath, tasksRoot) {
56
+ const rootStat = await stat(rootConfigPath);
57
+ const tasksRootStat = await stat(tasksRoot);
58
+ const entries = await readdir(tasksRoot, { withFileTypes: true });
59
+ const configMtims = [];
60
+ for (const entry of entries) {
61
+ if (!entry.isDirectory()) {
62
+ continue;
63
+ }
64
+ const configPath = join(tasksRoot, entry.name, TASK_LOCAL_PACKAGE_CONFIG_FILENAME);
65
+ if (await pathExists(configPath)) {
66
+ const configStat = await stat(configPath);
67
+ configMtims.push(configStat.mtimeMs);
68
+ }
69
+ }
70
+ configMtims.sort((a, b) => a - b);
71
+ return `${rootConfigPath}:${rootStat.mtimeMs}:${tasksRoot}:${tasksRootStat.mtimeMs}:${configMtims.join(",")}`;
72
+ }
73
+ function canUseCachedBootstrap(fingerprint, forTaskTypeKey) {
74
+ if (bootstrapCache.fingerprint !== fingerprint || bootstrapCache.lastResult == null) {
75
+ return null;
76
+ }
77
+ if (forTaskTypeKey != null && forTaskTypeKey !== "") {
78
+ if (!RepoManager.hasLocalRepo(forTaskTypeKey)) {
79
+ return null;
80
+ }
81
+ }
82
+ return { ...bootstrapCache.lastResult, cached: true };
83
+ }
84
+ async function runBootstrapScan(options) {
70
85
  const cwd = options.cwd ?? process.cwd();
71
86
  const rootConfigPath = await resolveFirstExistingPath(cwd, {
72
87
  explicitPath: options.rootConfigPath,
@@ -76,10 +91,12 @@ export async function bootstrapLocalTasks(options = {}) {
76
91
  ],
77
92
  });
78
93
  if (rootConfigPath == null) {
79
- return {
94
+ const result = {
80
95
  ...EMPTY_RESULT,
81
96
  message: `No root config (tried ${TASK_RUNNER_ROOT_CONFIG_RELATIVE_PATH}, ${TASK_RUNNER_ROOT_CONFIG_LEGACY_RELATIVE_PATH})`,
82
97
  };
98
+ bootstrapCache = { fingerprint: null, lastResult: result };
99
+ return result;
83
100
  }
84
101
  const result = {
85
102
  registered: [],
@@ -91,11 +108,18 @@ export async function bootstrapLocalTasks(options = {}) {
91
108
  const { taskDir } = parseRootConfig(rootRaw, rootConfigPath);
92
109
  const tasksRoot = resolvePathFromConfigFile(rootConfigPath, taskDir);
93
110
  if (!(await pathExists(tasksRoot))) {
94
- return {
111
+ const failed = {
95
112
  status: "failed",
96
113
  message: `taskDir does not exist: ${tasksRoot}`,
97
114
  ...result,
98
115
  };
116
+ bootstrapCache = { fingerprint: null, lastResult: failed };
117
+ return failed;
118
+ }
119
+ const fingerprint = await computeConfigFingerprint(rootConfigPath, tasksRoot);
120
+ const cached = canUseCachedBootstrap(fingerprint, options.forTaskTypeKey);
121
+ if (cached != null) {
122
+ return cached;
99
123
  }
100
124
  const entries = await readdir(tasksRoot, { withFileTypes: true });
101
125
  for (const entry of entries) {
@@ -130,21 +154,58 @@ export async function bootstrapLocalTasks(options = {}) {
130
154
  }
131
155
  }
132
156
  const status = finalizeStatus(result);
133
- return {
157
+ const finalResult = {
134
158
  status,
135
159
  message: status === "empty"
136
160
  ? `Root config loaded but no tasks registered under ${tasksRoot}`
137
161
  : undefined,
138
162
  ...result,
139
163
  };
164
+ bootstrapCache = { fingerprint, lastResult: finalResult };
165
+ return finalResult;
140
166
  }
141
167
  catch (error) {
142
- return {
168
+ const failed = {
143
169
  status: "failed",
144
170
  message: error instanceof Error ? error.message : String(error),
145
171
  ...result,
146
172
  };
173
+ bootstrapCache = { fingerprint: null, lastResult: failed };
174
+ return failed;
175
+ }
176
+ }
177
+ /**
178
+ * Discover local task packages from config files and register them with {@link RepoManager}.
179
+ *
180
+ * **Never throws** for missing root config — returns `{ status: "not_configured" }`.
181
+ *
182
+ * Re-scans are skipped when the config fingerprint is unchanged (root config + taskDir mtimes).
183
+ * Concurrent calls share a single in-flight scan (single-flight).
184
+ *
185
+ * Host app layout (recommended):
186
+ * ```
187
+ * ./config/task.config.js → { taskDir: "../tasks" }
188
+ * ./tasks/my-task/task.config.js
189
+ * ./tasks/my-task/index.mjs
190
+ * ```
191
+ *
192
+ * `taskDir` / `entry` paths are relative to **their config file's directory** (see config-file-relative-paths skill).
193
+ *
194
+ * Legacy fallback: `./task.config.js` at project root (`taskDir: "./tasks"`).
195
+ */
196
+ export async function bootstrapLocalTasks(options = {}) {
197
+ if (bootstrapInFlight != null) {
198
+ return bootstrapInFlight;
147
199
  }
200
+ bootstrapInFlight = runBootstrapScan(options).finally(() => {
201
+ bootstrapInFlight = null;
202
+ });
203
+ return bootstrapInFlight;
204
+ }
205
+ /** Clear fingerprint cache (tests / hot-reload tooling). */
206
+ export function clearBootstrapLocalTasksCache() {
207
+ bootstrapCache = { fingerprint: null, lastResult: null };
208
+ bootstrapInFlight = null;
148
209
  }
149
210
  export function getRegisteredLocalTaskTypeKeys() {
150
211
  return RepoManager.getRegisteredLocalTaskTypeKeys();
@@ -1 +1 @@
1
- {"version":3,"file":"local-task-registry.js","sourceRoot":"","sources":["../../src/task/local-task-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-task-registry.js","sourceRoot":"","sources":["../../src/task/local-task-registry.ts"],"names":[],"mappings":"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"}