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
package/README.md CHANGED
@@ -46,6 +46,38 @@ Used by `scripts/` (`pnpm worker`, `pnpm post-task`) via `.env.local`. Browser a
46
46
 
47
47
  ## Usage
48
48
 
49
+ ### Browser / bundlers (default)
50
+
51
+ Chrome extensions, React, Vite — import from the main entry (no Node built-ins):
52
+
53
+ ```typescript
54
+ import { supabase, getTarget, postLinkCreate } from "target-supabase-sdk";
55
+ ```
56
+
57
+ ### Node.js workers / CLI
58
+
59
+ Local task registry, repo script loading, TaskNode — use the `/node` entry:
60
+
61
+ ```typescript
62
+ import { TaskManager, RepoManager, TaskNode, postTask } from "target-supabase-sdk/node";
63
+ ```
64
+
65
+ > **Breaking change in 0.2.0:** `TaskManager`, `RepoManager`, and `postTask` are no longer on the default entry. Import them from `/node`.
66
+
67
+ ### Browser vs Node (package layout)
68
+
69
+ Since **0.2.0**, the package ships two compiled entries:
70
+
71
+ | Import | Built file | Runtime |
72
+ |--------|------------|---------|
73
+ | `target-supabase-sdk` | `dist/browser.js` | Chrome extension, React, Vite — no Node built-ins |
74
+ | `target-supabase-sdk/node` | `dist/node.js` | Workers, CLI, TaskNode — includes browser API + Node-only code |
75
+ | `target-supabase-sdk/browser` | `dist/browser.js` | Explicit alias of default |
76
+
77
+ `src/browser.ts` is the curated browser public surface. `src/node.ts` re-exports browser and adds Node-only symbols (`TaskManager`, `postTask`, `RepoManager`, …).
78
+
79
+ ### Initialize Supabase
80
+
49
81
  ```typescript
50
82
  import { supabase, getTarget, loginUser } from "target-supabase-sdk";
51
83
 
@@ -59,6 +91,40 @@ await supabase.initialize({
59
91
  const target = await getTarget({ id: "..." });
60
92
  ```
61
93
 
94
+ ## Adding new modules (contributors)
95
+
96
+ When adding a domain, API, or Manager, **classify browser vs Node before** registering exports. The default entry must stay bundler-safe (Chrome extensions, Webpack, Vite).
97
+
98
+ ### Decision flow
99
+
100
+ 1. **Scan static dependencies** — grep the new code and everything it imports for `node:fs`, `node:crypto`, `node:path`, etc.
101
+ 2. **Choose entry:**
102
+ - No `node:*` in the chain → add to `src/browser.ts` (and domain `index.ts`)
103
+ - Uses Node built-ins → add **only** to `src/node.ts` (consumers use `target-supabase-sdk/node`)
104
+ - Same file mixes both → **split** into separate leaf modules (example: `task.api.ts` vs `task-post.api.ts`)
105
+ 3. **Build** — `pnpm build` runs TypeScript compile plus `scripts/verify-browser-entry.mjs`, which walks the static import graph from `dist/browser.js` and fails if any module references `node:*`.
106
+
107
+ ```bash
108
+ pnpm build
109
+ # [verify:browser] OK — N module(s) in browser graph, no node: imports.
110
+ ```
111
+
112
+ Node entry (`/node`) is validated by `tsc` compile only — no separate verify script.
113
+
114
+ ### Rules of thumb
115
+
116
+ | Safe on default entry `.` | Node entry `/node` only |
117
+ |---------------------------|-------------------------|
118
+ | `*.interface.ts`, Supabase RPC `*.api.ts` | `TaskManager`, `RepoManager`, `TaskNode` |
119
+ | `createTarget`, `postLinkCreate`, task `patch*` APIs | `postTask`, `TaskRepoValidation` |
120
+ | `repo.api` (remote) | `local-task-registry`, `repo.script-loader` |
121
+
122
+ **Do not rely on dynamic `import()`** to hide Node code: if `browser.ts` statically re-exports a file, bundlers include the whole module. Keep Node-only code in separate files that `browser.ts` never touches.
123
+
124
+ **Internal imports:** within a domain, import leaf paths (`from "./task.api"`) not the domain barrel (`from "./index"`) to avoid cycles.
125
+
126
+ Detailed conventions: `.cursor/skills/browser-node-exports/SKILL.md` and `.cursor/skills/library-exports/SKILL.md`.
127
+
62
128
  ## Development
63
129
 
64
130
  ```bash
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Browser-safe public API — no Node.js built-ins (node:fs, node:crypto, …).
3
+ * Default package entry (`target-supabase-sdk`).
4
+ *
5
+ * For TaskManager, RepoManager, TaskNode, use `target-supabase-sdk/node`.
6
+ */
7
+ export { SupabaseInitializer } from "./supabase";
8
+ export type { SupabaseInitializerParams } from "./supabase";
9
+ export type { SupabaseClient } from "@supabase/supabase-js";
10
+ import { SupabaseInitializer } from "./supabase";
11
+ export declare const supabase: SupabaseInitializer;
12
+ export * from "./core.api";
13
+ export * from "./core.interface";
14
+ export * from "./core.utils";
15
+ export * from "./auth/auth.api";
16
+ export * from "./feed/feed.interface";
17
+ export * from "./idea/idea.interface";
18
+ export { CategoryParcel } from "./parcel/parcel.interface";
19
+ export type { Parcel, ParcelDetails, Chunk, LifecycleStatus as ParcelLifecycleStatus, Lifecycle as ParcelLifecycle, } from "./parcel/parcel.interface";
20
+ export { ParcelManager } from "./parcel/parcel-manager";
21
+ export type { StorageAdapter, ParcelTargetBase } from "./parcel/parcel-manager";
22
+ export * from "./file/file.interface";
23
+ export * from "./file/file.api";
24
+ export * from "./file/file-manager";
25
+ export * from "./file-list/file-list.interface";
26
+ export * from "./file-list/file-list.api";
27
+ export * from "./question-list/question-list.interface";
28
+ export * from "./question-list/question-list.api";
29
+ export * from "./review/review.interface";
30
+ export * from "./review/review.api";
31
+ export type { ReviewV2, ReviewV2Details, ReviewResult, } from "./review-v2/review.interface";
32
+ export * from "./review-v2/review-setting.interface";
33
+ export { postReview as postReviewV2, PostReviewValidator as PostReviewV2Validator, } from "./review-v2/apis/post-review.api";
34
+ export type { PostReviewPayload as PostReviewV2Payload } from "./review-v2/apis/post-review.api";
35
+ export * from "./review-v2/apis/post-review-setting.api";
36
+ export * from "./service/base.interface";
37
+ export * from "./service/service.interface";
38
+ export * from "./service/api.interface";
39
+ export * from "./link/link.interface";
40
+ export * from "./link/link.api";
41
+ export * from "./list/list.interface";
42
+ export * from "./list/list.api";
43
+ export * from "./word/word.interface";
44
+ export { CategoryTask, ResultCode, TaskStatus, TaskStatusAction, } from "./task/task.interface";
45
+ export type { Task, TaskDetails, TaskFlow } from "./task/task.interface";
46
+ export { patchChangeTaskStatus, patchChangeTaskStatusSchema, patchClaimTask, patchClaimTaskSchema, patchTaskProgress, patchTaskProgressSchema, } from "./task/task.api";
47
+ export type { PatchChangeTaskStatusPayload, PatchClaimTaskPayload, PatchTaskProgressPayload, } from "./task/task.api";
48
+ export * from "./node/node.interface";
49
+ export * from "./node/node.api";
50
+ export * from "./repo/repo.interface";
51
+ export * from "./repo/repo.api";
52
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,QAAQ,qBAAoC,CAAC;AAE1D,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EACX,MAAM,EACN,aAAa,EACb,KAAK,EACL,eAAe,IAAI,qBAAqB,EACxC,SAAS,IAAI,eAAe,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,YAAY,EACX,QAAQ,EACR,eAAe,EACf,YAAY,GACZ,MAAM,8BAA8B,CAAC;AACtC,cAAc,sCAAsC,CAAC;AACrD,OAAO,EACN,UAAU,IAAI,YAAY,EAC1B,mBAAmB,IAAI,qBAAqB,GAC5C,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACjG,cAAc,0CAA0C,CAAC;AAEzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAExC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACX,4BAA4B,EAC5B,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Browser-safe public API — no Node.js built-ins (node:fs, node:crypto, …).
3
+ * Default package entry (`target-supabase-sdk`).
4
+ *
5
+ * For TaskManager, RepoManager, TaskNode, use `target-supabase-sdk/node`.
6
+ */
7
+ export { SupabaseInitializer } from "./supabase";
8
+ import { SupabaseInitializer } from "./supabase";
9
+ export const supabase = SupabaseInitializer.getInstance();
10
+ export * from "./core.api";
11
+ export * from "./core.interface";
12
+ export * from "./core.utils";
13
+ export * from "./auth/auth.api";
14
+ export * from "./feed/feed.interface";
15
+ export * from "./idea/idea.interface";
16
+ export { CategoryParcel } from "./parcel/parcel.interface";
17
+ export { ParcelManager } from "./parcel/parcel-manager";
18
+ export * from "./file/file.interface";
19
+ export * from "./file/file.api";
20
+ export * from "./file/file-manager";
21
+ export * from "./file-list/file-list.interface";
22
+ export * from "./file-list/file-list.api";
23
+ export * from "./question-list/question-list.interface";
24
+ export * from "./question-list/question-list.api";
25
+ export * from "./review/review.interface";
26
+ export * from "./review/review.api";
27
+ export * from "./review-v2/review-setting.interface";
28
+ export { postReview as postReviewV2, PostReviewValidator as PostReviewV2Validator, } from "./review-v2/apis/post-review.api";
29
+ export * from "./review-v2/apis/post-review-setting.api";
30
+ export * from "./service/base.interface";
31
+ export * from "./service/service.interface";
32
+ export * from "./service/api.interface";
33
+ export * from "./link/link.interface";
34
+ export * from "./link/link.api";
35
+ export * from "./list/list.interface";
36
+ export * from "./list/list.api";
37
+ export * from "./word/word.interface";
38
+ // task — api + validation only (TaskManager is Node-only → node entry)
39
+ export { CategoryTask, ResultCode, TaskStatus, TaskStatusAction, } from "./task/task.interface";
40
+ export { patchChangeTaskStatus, patchChangeTaskStatusSchema, patchClaimTask, patchClaimTaskSchema, patchTaskProgress, patchTaskProgressSchema, } from "./task/task.api";
41
+ export * from "./node/node.interface";
42
+ export * from "./node/node.api";
43
+ export * from "./repo/repo.interface";
44
+ export * from "./repo/repo.api";
45
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;AAE1D,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AAOpC,cAAc,sCAAsC,CAAC;AACrD,OAAO,EACN,UAAU,IAAI,YAAY,EAC1B,mBAAmB,IAAI,qBAAqB,GAC5C,MAAM,kCAAkC,CAAC;AAE1C,cAAc,0CAA0C,CAAC;AAEzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAExC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAEtC,uEAAuE;AACvE,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,GAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,iBAAiB,CAAC;AAOzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createTarget, MAX_POLL_TARGET_LIST_SIZE, pollTargetList, validateWithSchema, } from "../core.api";
2
2
  import { generateResponse } from "../core.interface";
3
- import { createApiLogger } from "../shared/log/log-manager";
3
+ import { createApiLogger } from "../shared/log";
4
4
  import { z } from "zod";
5
5
  import { CategoryCommand, CommandType } from "./command.interface";
6
6
  const nodeIdSchema = z.string().trim().min(1);
@@ -23,7 +23,7 @@ function commandNodeFilter(nodeId) {
23
23
  // ─── postCommand ─────────────────────────────────────────────────────────────
24
24
  /** Enqueue a control command for `nodeId` (scheduler / admin). */
25
25
  export const postCommand = validateWithSchema(postCommandSchema, "postCommandSchema")(async ({ nodeId, command, traceId }) => {
26
- const logger = createApiLogger("postCommand", { traceId, nodeId });
26
+ const logger = createApiLogger("postCommand", { traceId, labels: { nodeId } });
27
27
  const result = await createTarget({
28
28
  payload: { nodeId, command, traceId },
29
29
  createFn: () => ({
@@ -35,14 +35,14 @@ export const postCommand = validateWithSchema(postCommandSchema, "postCommandSch
35
35
  });
36
36
  logger.info("Command已入隊", {
37
37
  topic: "command",
38
- context: { nodeId, command },
38
+ data: { nodeId, command },
39
39
  });
40
40
  return result;
41
41
  });
42
42
  // ─── getPollCommandList ──────────────────────────────────────────────────────
43
43
  /** Dequeue control commands for `nodeId` (oldest first). */
44
44
  export const getPollCommandList = validateWithSchema(getPollCommandListSchema, "getPollCommandListSchema")(async ({ nodeId, size, traceId }) => {
45
- const logger = createApiLogger("getPollCommandList", { traceId, nodeId });
45
+ const logger = createApiLogger("getPollCommandList", { traceId, labels: { nodeId } });
46
46
  const { data: dequeuedList = [] } = await pollTargetList({
47
47
  category: CategoryCommand.COMMAND,
48
48
  size: size ?? 50,
@@ -51,7 +51,7 @@ export const getPollCommandList = validateWithSchema(getPollCommandListSchema, "
51
51
  });
52
52
  logger.info("Command", {
53
53
  topic: "command",
54
- context: { nodeId, dequeued: dequeuedList.length },
54
+ data: { nodeId, dequeued: dequeuedList.length },
55
55
  });
56
56
  return generateResponse.success(dequeuedList);
57
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"command.api.js","sourceRoot":"","sources":["../../src/command/command.api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.api.js","sourceRoot":"","sources":["../../src/command/command.api.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,49 +1,3 @@
1
- export { SupabaseInitializer } from "./supabase";
2
- export type { SupabaseInitializerParams } from "./supabase";
3
- export type { SupabaseClient } from "@supabase/supabase-js";
4
- import { SupabaseInitializer } from "./supabase";
5
- export declare const supabase: SupabaseInitializer;
6
- export * from "./core.api";
7
- export * from "./core.interface";
8
- export * from "./core.utils";
9
- export * from "./auth/auth.api";
10
- export * from "./feed/feed.interface";
11
- export * from "./idea/idea.interface";
12
- export * from "./link/link.interface";
13
- export { CategoryParcel } from "./parcel/parcel.interface";
14
- export type { Parcel, ParcelDetails, Chunk, LifecycleStatus as ParcelLifecycleStatus, Lifecycle as ParcelLifecycle, } from "./parcel/parcel.interface";
15
- export { ParcelManager } from "./parcel/parcel-manager";
16
- export type { StorageAdapter, ParcelTargetBase } from "./parcel/parcel-manager";
17
- export * from "./file/file.interface";
18
- export * from "./file/file.api";
19
- export * from "./file/file-manager";
20
- export * from "./file-list/file-list.interface";
21
- export * from "./file-list/file-list.api";
22
- export * from "./question-list/question-list.interface";
23
- export * from "./question-list/question-list.api";
24
- export * from "./review/review.interface";
25
- export * from "./review/review.api";
26
- export type { ReviewV2, ReviewV2Details, ReviewResult } from "./review-v2/review.interface";
27
- export * from "./review-v2/review-setting.interface";
28
- export { postReview as postReviewV2, PostReviewValidator as PostReviewV2Validator } from "./review-v2/apis/post-review.api";
29
- export type { PostReviewPayload as PostReviewV2Payload } from "./review-v2/apis/post-review.api";
30
- export * from "./review-v2/apis/post-review-setting.api";
31
- export * from "./service/base.interface";
32
- export * from "./service/service.interface";
33
- export * from "./service/api.interface";
34
- export * from "./link/link.interface";
35
- export * from "./link/link.api";
36
- export * from "./list/list.interface";
37
- export * from "./list/list.api";
38
- export * from "./word/word.interface";
39
- export * from "./task/task.interface";
40
- export * from "./task/task.api";
41
- export { TaskManager } from "./task/task-manager";
42
- export type { RegisterTasksOptions, RegisterTasksResult, PrepareTaskResponse, PrepareTaskParams, PrepareTaskFailureReason, } from "./task/task-manager";
43
- export * from "./node/node.interface";
44
- export * from "./node/node.api";
45
- export { NodeManager } from "./node/node-manager";
46
- export * from "./repo/repo.interface";
47
- export * from "./repo/repo.api";
48
- export { RepoManager } from "./repo/repo-manager";
1
+ /** @deprecated Use explicit entry — re-exports browser-safe API only. */
2
+ export * from "./browser";
49
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,QAAQ,qBAAoC,CAAC;AAE1D,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EACV,MAAM,EACN,aAAa,EACb,KAAK,EACL,eAAe,IAAI,qBAAqB,EACxC,SAAS,IAAI,eAAe,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5F,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,mBAAmB,IAAI,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC5H,YAAY,EAAE,iBAAiB,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACjG,cAAc,0CAA0C,CAAC;AAEzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EACR,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,42 +1,3 @@
1
- export { SupabaseInitializer } from "./supabase";
2
- import { SupabaseInitializer } from "./supabase";
3
- export const supabase = SupabaseInitializer.getInstance();
4
- export * from "./core.api";
5
- export * from "./core.interface";
6
- export * from "./core.utils";
7
- export * from "./auth/auth.api";
8
- export * from "./feed/feed.interface";
9
- export * from "./idea/idea.interface";
10
- export * from "./link/link.interface";
11
- export { CategoryParcel } from "./parcel/parcel.interface";
12
- export { ParcelManager } from "./parcel/parcel-manager";
13
- export * from "./file/file.interface";
14
- export * from "./file/file.api";
15
- export * from "./file/file-manager";
16
- export * from "./file-list/file-list.interface";
17
- export * from "./file-list/file-list.api";
18
- export * from "./question-list/question-list.interface";
19
- export * from "./question-list/question-list.api";
20
- export * from "./review/review.interface";
21
- export * from "./review/review.api";
22
- export * from "./review-v2/review-setting.interface";
23
- export { postReview as postReviewV2, PostReviewValidator as PostReviewV2Validator } from "./review-v2/apis/post-review.api";
24
- export * from "./review-v2/apis/post-review-setting.api";
25
- export * from "./service/base.interface";
26
- export * from "./service/service.interface";
27
- export * from "./service/api.interface";
28
- export * from "./link/link.interface";
29
- export * from "./link/link.api";
30
- export * from "./list/list.interface";
31
- export * from "./list/list.api";
32
- export * from "./word/word.interface";
33
- export * from "./task/task.interface";
34
- export * from "./task/task.api";
35
- export { TaskManager } from "./task/task-manager";
36
- export * from "./node/node.interface";
37
- export * from "./node/node.api";
38
- export { NodeManager } from "./node/node-manager";
39
- export * from "./repo/repo.interface";
40
- export * from "./repo/repo.api";
41
- export { RepoManager } from "./repo/repo-manager";
1
+ /** @deprecated Use explicit entry — re-exports browser-safe API only. */
2
+ export * from "./browser";
42
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;AAE1D,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAE7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAE1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AAGpC,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,mBAAmB,IAAI,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE5H,cAAc,0CAA0C,CAAC;AAEzD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AAGxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASlD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,cAAc,WAAW,CAAC"}
@@ -4,7 +4,7 @@ export declare enum CategoryLink {
4
4
  LINK = "link"
5
5
  }
6
6
  export interface Link extends Target {
7
- /** 鏈接名稱 */
7
+ /** Should be unique */
8
8
  name: string;
9
9
  /** URL */
10
10
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"link.interface.d.ts","sourceRoot":"","sources":["../../src/link/link.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,oBAAY,YAAY;IACpB,sBAAsB;IACtB,IAAI,SAAS;CAChB;AAED,MAAM,WAAW,IAAK,SAAQ,MAAM;IAChC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU;IACV,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,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"link.interface.d.ts","sourceRoot":"","sources":["../../src/link/link.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,oBAAY,YAAY;IACpB,sBAAsB;IACtB,IAAI,SAAS;CAChB;AAED,MAAM,WAAW,IAAK,SAAQ,MAAM;IAChC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU;IACV,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,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,11 @@
1
+ import { type LogScope } from "../shared/log";
2
+ /** Input for {@link scopeForNodeLoop}. */
3
+ export type ScopeForNodeLoopInput = {
4
+ module: string;
5
+ traceId: string;
6
+ nodeId: string;
7
+ traceParentId?: string | null;
8
+ };
9
+ /** Log scope for one node main-loop iteration (trace + nodeId label). */
10
+ export declare function scopeForNodeLoop(input: ScopeForNodeLoopInput): LogScope;
11
+ //# sourceMappingURL=node-log-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-log-scope.d.ts","sourceRoot":"","sources":["../../src/node/node-log-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D,0CAA0C;AAC1C,MAAM,MAAM,qBAAqB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,QAAQ,CAGvE"}
@@ -0,0 +1,7 @@
1
+ import { createRootScope } from "../shared/log";
2
+ /** Log scope for one node main-loop iteration (trace + nodeId label). */
3
+ export function scopeForNodeLoop(input) {
4
+ const { module, traceId, nodeId, traceParentId = null } = input;
5
+ return createRootScope({ module, traceId, labels: { nodeId }, traceParentId });
6
+ }
7
+ //# sourceMappingURL=node-log-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-log-scope.js","sourceRoot":"","sources":["../../src/node/node-log-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiB,MAAM,eAAe,CAAC;AAU/D,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IACzD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAChE,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;AACnF,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { CommandType } from "../command/command.interface";
2
+ import { type LoggerWithScope } from "../shared/log";
3
+ import { NodeLoopContext } from "./node.interface";
4
+ /**
5
+ * Shared node process runtime: bootstrap, main-loop frame, heartbeat, commands, shutdown.
6
+ * Subclasses implement {@link onBeforeRegisterNode} and {@link runLoopSteps}.
7
+ */
8
+ declare abstract class BaseNodeRuntime {
9
+ protected static readonly HEARTBEAT_FAILURE_THRESHOLD = 3;
10
+ protected readonly runtimeModule: string;
11
+ private _localNodeId;
12
+ private _isNodeIdLocked;
13
+ private isRunning;
14
+ private loopCount;
15
+ private consecutiveHeartbeatFailures;
16
+ private readonly startupTraceId;
17
+ private readonly startupScope;
18
+ private shutdownPromise;
19
+ private startPromise;
20
+ get localNodeId(): string | null;
21
+ protected set localNodeId(value: string);
22
+ protected constructor(runtimeModule: string);
23
+ /** Hook: task registration, trigger config load, etc. Throw to abort bootstrap. */
24
+ protected abstract onBeforeRegisterNode(logger: LoggerWithScope): Promise<void>;
25
+ /** Hook: one iteration body after commands + heartbeat gate. */
26
+ protected abstract runLoopSteps(ctx: NodeLoopContext, heartbeatOk: boolean): Promise<void>;
27
+ private getLogNodeId;
28
+ protected isShuttingDown(): boolean;
29
+ protected requestShutdown(trigger: string): void;
30
+ private registerProcessLifecycle;
31
+ start(): Promise<void>;
32
+ private runStart;
33
+ shutdown(options?: {
34
+ trigger?: string;
35
+ }): Promise<void>;
36
+ private runShutdown;
37
+ heartbeat(ctx: NodeLoopContext): Promise<boolean>;
38
+ batchCommand(ctx: NodeLoopContext): Promise<void>;
39
+ executeCommand(cmd: CommandType): Promise<void>;
40
+ }
41
+ export { BaseNodeRuntime };
42
+ //# sourceMappingURL=node-runtime.base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-runtime.base.d.ts","sourceRoot":"","sources":["../../src/node/node-runtime.base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAKH,KAAK,eAAe,EAEvB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,eAAe,EAAc,MAAM,kBAAkB,CAAC;AAG/D;;;GAGG;AACH,uBAAe,eAAe;IAC1B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,KAAK;IAE1D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAEzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,4BAA4B,CAAK;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAW;IACxC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,YAAY,CAA8B;IAElD,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED,SAAS,KAAK,WAAW,CAAC,KAAK,EAAE,MAAM,EAUtC;IAED,SAAS,aAAa,aAAa,EAAE,MAAM;IAQ3C,mFAAmF;IACnF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/E,gEAAgE;IAChE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1F,OAAO,CAAC,YAAY;IAIpB,SAAS,CAAC,cAAc,IAAI,OAAO;IAInC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhD,OAAO,CAAC,wBAAwB;IAsD1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAQd,QAAQ;IAkHhB,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA6B/C,WAAW;IAqCnB,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAkDjD,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiEjD,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAWxD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}