@aopslab/aops-server 0.1.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 (185) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +6 -0
  3. package/README.md +21 -0
  4. package/aops-server-runtime.json +11 -0
  5. package/build/client/_app/immutable/chunks/2_TffmqH.js +1 -0
  6. package/build/client/_app/immutable/chunks/3DOfIKW0.js +1 -0
  7. package/build/client/_app/immutable/chunks/B2EkC-sy.js +1 -0
  8. package/build/client/_app/immutable/chunks/CMkIcmi1.js +2 -0
  9. package/build/client/_app/immutable/chunks/rqnVXeyB.js +1 -0
  10. package/build/client/_app/immutable/chunks/sZYZbj9W.js +1 -0
  11. package/build/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
  12. package/build/client/_app/immutable/entry/app.C7STLTX8.js +2 -0
  13. package/build/client/_app/immutable/entry/start.BC94hOaC.js +1 -0
  14. package/build/client/_app/immutable/nodes/0.BYBfjxZ5.js +1 -0
  15. package/build/client/_app/immutable/nodes/1.BNXFXajG.js +1 -0
  16. package/build/client/_app/version.json +1 -0
  17. package/build/env.js +70 -0
  18. package/build/env.js.map +1 -0
  19. package/build/handler.js +16 -0
  20. package/build/handler.js.map +1 -0
  21. package/build/index.js +139 -0
  22. package/build/index.js.map +1 -0
  23. package/build/server/chunks/0-RfB6m2nq.js +7 -0
  24. package/build/server/chunks/0-RfB6m2nq.js.map +1 -0
  25. package/build/server/chunks/1-_gg8Q0UT.js +9 -0
  26. package/build/server/chunks/1-_gg8Q0UT.js.map +1 -0
  27. package/build/server/chunks/_server.ts-6276EQIF.js +44 -0
  28. package/build/server/chunks/_server.ts-6276EQIF.js.map +1 -0
  29. package/build/server/chunks/_server.ts-B59WFQzX.js +174 -0
  30. package/build/server/chunks/_server.ts-B59WFQzX.js.map +1 -0
  31. package/build/server/chunks/_server.ts-BauJsLZI.js +40 -0
  32. package/build/server/chunks/_server.ts-BauJsLZI.js.map +1 -0
  33. package/build/server/chunks/_server.ts-BnGzJw2-.js +81 -0
  34. package/build/server/chunks/_server.ts-BnGzJw2-.js.map +1 -0
  35. package/build/server/chunks/_server.ts-CP7qM24V.js +34 -0
  36. package/build/server/chunks/_server.ts-CP7qM24V.js.map +1 -0
  37. package/build/server/chunks/_server.ts-Cbq_u99d.js +9 -0
  38. package/build/server/chunks/_server.ts-Cbq_u99d.js.map +1 -0
  39. package/build/server/chunks/_server.ts-Ch8fPT-o.js +92 -0
  40. package/build/server/chunks/_server.ts-Ch8fPT-o.js.map +1 -0
  41. package/build/server/chunks/_server.ts-Cv-yaXZI.js +7 -0
  42. package/build/server/chunks/_server.ts-Cv-yaXZI.js.map +1 -0
  43. package/build/server/chunks/_server.ts-D6lBwOON.js +34 -0
  44. package/build/server/chunks/_server.ts-D6lBwOON.js.map +1 -0
  45. package/build/server/chunks/_server.ts-D84K3pp9.js +11 -0
  46. package/build/server/chunks/_server.ts-D84K3pp9.js.map +1 -0
  47. package/build/server/chunks/_server.ts-DNzU1ToA.js +277 -0
  48. package/build/server/chunks/_server.ts-DNzU1ToA.js.map +1 -0
  49. package/build/server/chunks/_server.ts-DQQnw77t.js +17 -0
  50. package/build/server/chunks/_server.ts-DQQnw77t.js.map +1 -0
  51. package/build/server/chunks/_server.ts-DSxr5l15.js +18 -0
  52. package/build/server/chunks/_server.ts-DSxr5l15.js.map +1 -0
  53. package/build/server/chunks/_server.ts-DZYokvuR.js +80 -0
  54. package/build/server/chunks/_server.ts-DZYokvuR.js.map +1 -0
  55. package/build/server/chunks/_server.ts-Dcqwpz2t.js +144 -0
  56. package/build/server/chunks/_server.ts-Dcqwpz2t.js.map +1 -0
  57. package/build/server/chunks/_server.ts-Di9VJnF4.js +81 -0
  58. package/build/server/chunks/_server.ts-Di9VJnF4.js.map +1 -0
  59. package/build/server/chunks/_server.ts-FBEHFT8b.js +33 -0
  60. package/build/server/chunks/_server.ts-FBEHFT8b.js.map +1 -0
  61. package/build/server/chunks/_server.ts-gZytCuiJ.js +10 -0
  62. package/build/server/chunks/_server.ts-gZytCuiJ.js.map +1 -0
  63. package/build/server/chunks/_server.ts-tNULLyEO.js +261 -0
  64. package/build/server/chunks/_server.ts-tNULLyEO.js.map +1 -0
  65. package/build/server/chunks/agent-gateway-runtime-DTZ4SxaC.js +2598 -0
  66. package/build/server/chunks/agent-gateway-runtime-DTZ4SxaC.js.map +1 -0
  67. package/build/server/chunks/aops-runtime-config-wpVmg7T-.js +179 -0
  68. package/build/server/chunks/aops-runtime-config-wpVmg7T-.js.map +1 -0
  69. package/build/server/chunks/discovery-D9JnSgfu.js +894 -0
  70. package/build/server/chunks/discovery-D9JnSgfu.js.map +1 -0
  71. package/build/server/chunks/error.svelte-DgUOqi-L.js +45 -0
  72. package/build/server/chunks/error.svelte-DgUOqi-L.js.map +1 -0
  73. package/build/server/chunks/handler-BN3-p5rP.js +1733 -0
  74. package/build/server/chunks/handler-BN3-p5rP.js.map +1 -0
  75. package/build/server/chunks/hooks.server-C4wxiH5m.js +52 -0
  76. package/build/server/chunks/hooks.server-C4wxiH5m.js.map +1 -0
  77. package/build/server/chunks/index.js-nbqdVuWC.js +10698 -0
  78. package/build/server/chunks/index.js-nbqdVuWC.js.map +1 -0
  79. package/build/server/chunks/manifest.js-_Re-Wj-y.js +167 -0
  80. package/build/server/chunks/manifest.js-_Re-Wj-y.js.map +1 -0
  81. package/build/server/chunks/plugin-error-normalize-Bq14Qbz3.js +297 -0
  82. package/build/server/chunks/plugin-error-normalize-Bq14Qbz3.js.map +1 -0
  83. package/build/server/chunks/project-alias-DqE2v58Q.js +29 -0
  84. package/build/server/chunks/project-alias-DqE2v58Q.js.map +1 -0
  85. package/build/server/chunks/registry-5amIZito.js +289 -0
  86. package/build/server/chunks/registry-5amIZito.js.map +1 -0
  87. package/build/server/chunks/request-base-url-BDdrsaga.js +24 -0
  88. package/build/server/chunks/request-base-url-BDdrsaga.js.map +1 -0
  89. package/build/server/chunks/request-context-tNeFQjgb.js +422 -0
  90. package/build/server/chunks/request-context-tNeFQjgb.js.map +1 -0
  91. package/build/server/chunks/xf-result-BRDjvftr.js +17 -0
  92. package/build/server/chunks/xf-result-BRDjvftr.js.map +1 -0
  93. package/build/shims.js +33 -0
  94. package/build/shims.js.map +1 -0
  95. package/cockpit/.vite/manifest.json +198 -0
  96. package/cockpit/assets/dm-sans-latin-400-normal-BwCSEQnW.woff +0 -0
  97. package/cockpit/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2 +0 -0
  98. package/cockpit/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2 +0 -0
  99. package/cockpit/assets/dm-sans-latin-500-normal-Dr3UlScf.woff +0 -0
  100. package/cockpit/assets/dm-sans-latin-700-normal-CUSSCpQX.woff +0 -0
  101. package/cockpit/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2 +0 -0
  102. package/cockpit/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff +0 -0
  103. package/cockpit/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2 +0 -0
  104. package/cockpit/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2 +0 -0
  105. package/cockpit/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff +0 -0
  106. package/cockpit/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff +0 -0
  107. package/cockpit/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2 +0 -0
  108. package/cockpit/assets/index-DDswO4B1.css +1 -0
  109. package/cockpit/assets/index-bovtnZ98.js +18 -0
  110. package/cockpit/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  111. package/cockpit/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  112. package/cockpit/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  113. package/cockpit/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  114. package/cockpit/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  115. package/cockpit/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  116. package/cockpit/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  117. package/cockpit/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  118. package/cockpit/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  119. package/cockpit/assets/outfit-latin-400-normal-BGsTXAXT.woff2 +0 -0
  120. package/cockpit/assets/outfit-latin-400-normal-DMwTpYkH.woff +0 -0
  121. package/cockpit/assets/outfit-latin-600-normal-B7SfZ07L.woff2 +0 -0
  122. package/cockpit/assets/outfit-latin-600-normal-BEfTtDA7.woff +0 -0
  123. package/cockpit/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2 +0 -0
  124. package/cockpit/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff +0 -0
  125. package/cockpit/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2 +0 -0
  126. package/cockpit/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff +0 -0
  127. package/cockpit/assets/unbounded-cyrillic-600-normal-B-s5c2Kn.woff +0 -0
  128. package/cockpit/assets/unbounded-cyrillic-600-normal-DW6uzIMB.woff2 +0 -0
  129. package/cockpit/assets/unbounded-latin-600-normal-BPdB_PEv.woff +0 -0
  130. package/cockpit/assets/unbounded-latin-600-normal-oRSANpZr.woff2 +0 -0
  131. package/cockpit/assets/unbounded-latin-ext-600-normal-0iZLtTDV.woff2 +0 -0
  132. package/cockpit/assets/unbounded-latin-ext-600-normal-ClMPf-bu.woff +0 -0
  133. package/cockpit/assets/unbounded-vietnamese-600-normal-BzfrgZ_C.woff +0 -0
  134. package/cockpit/assets/unbounded-vietnamese-600-normal-Cx2bTSHN.woff2 +0 -0
  135. package/cockpit/community.module-inventory.json +2389 -0
  136. package/cockpit/index.html +14 -0
  137. package/community-postgres.json +13 -0
  138. package/migrations/agentspace/0000_thin_carlie_cooper.sql +764 -0
  139. package/migrations/agentspace/meta/0000_snapshot.json +6885 -0
  140. package/migrations/agentspace/meta/_journal.json +13 -0
  141. package/migrations/chatv3/0000_dry_ego.sql +218 -0
  142. package/migrations/chatv3/0001_nosy_obadiah_stane.sql +35 -0
  143. package/migrations/chatv3/0002_narrow_darkhawk.sql +4 -0
  144. package/migrations/chatv3/0003_damp_zarek.sql +2 -0
  145. package/migrations/chatv3/0004_nervous_martin_li.sql +60 -0
  146. package/migrations/chatv3/0005_chatv3_server_encrypted_mode.sql +1 -0
  147. package/migrations/chatv3/meta/0000_snapshot.json +1887 -0
  148. package/migrations/chatv3/meta/0001_snapshot.json +2175 -0
  149. package/migrations/chatv3/meta/0002_snapshot.json +2229 -0
  150. package/migrations/chatv3/meta/0003_snapshot.json +2241 -0
  151. package/migrations/chatv3/meta/0004_snapshot.json +2746 -0
  152. package/migrations/chatv3/meta/_journal.json +48 -0
  153. package/migrations/docman/0000_curvy_valeria_richards.sql +257 -0
  154. package/migrations/docman/0001_massive_risque.sql +2 -0
  155. package/migrations/docman/0002_simple_logan.sql +50 -0
  156. package/migrations/docman/0003_quick_index.sql +45 -0
  157. package/migrations/docman/0004_known_summary.sql +9 -0
  158. package/migrations/docman/0005_vector_signal.sql +9 -0
  159. package/migrations/docman/0006_document_version_current_invariant.sql +15 -0
  160. package/migrations/docman/meta/_journal.json +55 -0
  161. package/migrations/projectman/0000_smooth_klaw.sql +257 -0
  162. package/migrations/projectman/0001_worthless_zodiak.sql +9 -0
  163. package/migrations/projectman/0002_board_rename.sql +108 -0
  164. package/migrations/projectman/0003_review_request.sql +62 -0
  165. package/migrations/projectman/0004_review_request_idempotency.sql +3 -0
  166. package/migrations/projectman/0005_allow_multi_sprint_per_task.sql +1 -0
  167. package/migrations/projectman/meta/_journal.json +48 -0
  168. package/migrations/sys/0000_loose_praxagora.sql +31 -0
  169. package/migrations/sys/0001_awesome_ronan.sql +2 -0
  170. package/migrations/sys/0002_steady_maximus.sql +2 -0
  171. package/migrations/sys/0003_escalating_rate_limiter.sql +2 -0
  172. package/migrations/sys/0004_rate_limiter_timestamptz.sql +22 -0
  173. package/migrations/sys/0005_sys_counters.sql +21 -0
  174. package/migrations/sys/meta/_journal.json +48 -0
  175. package/npm-shrinkwrap.json +4375 -0
  176. package/package.json +62 -0
  177. package/runtime/agentspace-host-adapter.mjs +64 -0
  178. package/runtime/agentspace-tooling.mjs +389 -0
  179. package/runtime/docman-host-adapter.mjs +177 -0
  180. package/runtime/docman-policy.mjs +450 -0
  181. package/runtime/docman-tooling.mjs +20 -0
  182. package/runtime/projectman-host-adapter.mjs +597 -0
  183. package/runtime/scope-context.mjs +99 -0
  184. package/scripts/community-host.mjs +626 -0
  185. package/scripts/community-migration-policy-v1.json +296 -0
@@ -0,0 +1,261 @@
1
+ import { j as json } from './index.js-nbqdVuWC.js';
2
+ import { Effect } from 'effect';
3
+ import { normalizeDocmanFlowAction, saveDocmanGroupFlow, saveDocmanDocumentFlow, saveDocmanSectionFlow, copyDocmanSectionFlow, createLinkedDocmanSection, linkExistingDocmanSection, linkExistingDocmanPageVersion, updateDocmanDocumentSectionLinksFlow, updateDocmanSectionPageLinksFlow, saveDocmanPageVersionDraftFlow, updateDocmanDocumentVersionFlow, updateDocmanPageFlow, copyDocmanPageFlow, createDocmanDocumentVersionFlow, createDocmanPageWithInitialVersionFlow, createLinkedDocmanPage, inferDocmanFlowErrorStatus } from '@aopslab/domain-product-docman';
4
+ import { a as attachResolvedProjectScope, b as resolveProjectScopeFromLocals } from './request-context-tNeFQjgb.js';
5
+ import { e as errResult, o as okResult } from './xf-result-BRDjvftr.js';
6
+ import './aops-runtime-config-wpVmg7T-.js';
7
+ import 'node:fs';
8
+ import 'node:path';
9
+ import 'pg';
10
+ import '@aopslab/xf-dm-kits/appConfig';
11
+ import '@aopslab/xf-dm-kits';
12
+ import '@aopslab/domain-kit-agentspace';
13
+ import './project-alias-DqE2v58Q.js';
14
+
15
+ function toRecord(value) {
16
+ if (!value || typeof value !== "object" || Array.isArray(value)) return {};
17
+ return value;
18
+ }
19
+ function inferScopeStatus(result) {
20
+ if (result.ok) return 200;
21
+ const message = String(result.messages?.[0]?.messageText ?? "").trim().toLowerCase();
22
+ if (message === "unauthorized") return 401;
23
+ if (message === "forbidden") return 403;
24
+ if (message === "project_required") return 409;
25
+ if (message === "project_not_found") return 404;
26
+ return 400;
27
+ }
28
+ function normalizeNonEmpty(value) {
29
+ if (typeof value !== "string") return "";
30
+ const trimmed = value.trim();
31
+ return trimmed.length > 0 ? trimmed : "";
32
+ }
33
+ async function resolveDocmanFlowScope(params) {
34
+ const projectSvc = await params.kit.createProjectService();
35
+ const directProject = typeof projectSvc.getById === "function" ? await Effect.runPromise(projectSvc.getById(params.projectId)).catch(() => null) : null;
36
+ const projectId = normalizeNonEmpty(directProject?.id) || normalizeNonEmpty(params.projectId);
37
+ const projectScopeId = normalizeNonEmpty(directProject?.scopeId);
38
+ const defaultScopeId = projectScopeId || projectId;
39
+ if (!defaultScopeId) {
40
+ return {
41
+ ok: false,
42
+ status: 404,
43
+ result: errResult("project_scope_not_found", { projectId: params.projectId })
44
+ };
45
+ }
46
+ const requestedScopeId = normalizeNonEmpty(params.requestedScopeId);
47
+ if (!requestedScopeId) {
48
+ return { ok: true, scopeId: defaultScopeId };
49
+ }
50
+ if (requestedScopeId === projectId || requestedScopeId === projectScopeId) {
51
+ return { ok: true, scopeId: requestedScopeId };
52
+ }
53
+ return {
54
+ ok: false,
55
+ status: 409,
56
+ result: errResult("scope_not_in_project", {
57
+ projectId: params.projectId,
58
+ scopeId: requestedScopeId
59
+ })
60
+ };
61
+ }
62
+ async function readJsonBody(request) {
63
+ try {
64
+ return toRecord(await request.json());
65
+ } catch {
66
+ return {};
67
+ }
68
+ }
69
+ const POST = async ({ request, locals }) => {
70
+ await attachResolvedProjectScope({ request, locals });
71
+ const body = await readJsonBody(request);
72
+ const attachedScopeId = normalizeNonEmpty(locals.scopeId);
73
+ const requestedScopeId = normalizeNonEmpty(body.scopeId);
74
+ let resolvedScopeId = attachedScopeId;
75
+ if (!resolvedScopeId || requestedScopeId && requestedScopeId !== resolvedScopeId) {
76
+ const scope = await resolveProjectScopeFromLocals({
77
+ input: {
78
+ projectId: body.projectId ?? locals.projectId,
79
+ projectName: body.projectName,
80
+ project: body.project
81
+ },
82
+ locals
83
+ });
84
+ if (!scope.ok) return json(scope.result, { status: inferScopeStatus(scope.result) });
85
+ const resolvedScope = await resolveDocmanFlowScope({
86
+ projectId: scope.projectId,
87
+ requestedScopeId: requestedScopeId || void 0,
88
+ kit: scope.kit
89
+ });
90
+ if (!resolvedScope.ok) {
91
+ return json(resolvedScope.result, { status: resolvedScope.status });
92
+ }
93
+ resolvedScopeId = resolvedScope.scopeId;
94
+ }
95
+ if (!resolvedScopeId) {
96
+ return json(errResult("project_required"), { status: 409 });
97
+ }
98
+ const action = normalizeDocmanFlowAction(body.action);
99
+ if (!action) {
100
+ return json(errResult("unsupported_docman_flow_action"), { status: 400 });
101
+ }
102
+ try {
103
+ if (action === "save-group") {
104
+ const result2 = await saveDocmanGroupFlow({
105
+ scopeId: resolvedScopeId,
106
+ groupId: body.groupId,
107
+ data: body.data
108
+ });
109
+ return json(okResult(result2), { status: 200 });
110
+ }
111
+ if (action === "save-document") {
112
+ const result2 = await saveDocmanDocumentFlow({
113
+ scopeId: resolvedScopeId,
114
+ documentId: body.documentId,
115
+ data: body.data
116
+ });
117
+ return json(okResult(result2), { status: 200 });
118
+ }
119
+ if (action === "save-section") {
120
+ const result2 = await saveDocmanSectionFlow({
121
+ scopeId: resolvedScopeId,
122
+ sectionId: body.sectionId,
123
+ data: body.data
124
+ });
125
+ return json(okResult(result2), { status: 200 });
126
+ }
127
+ if (action === "copy-section") {
128
+ const result2 = await copyDocmanSectionFlow({
129
+ scopeId: resolvedScopeId,
130
+ sourceSectionId: body.sourceSectionId,
131
+ targetDocumentVersionId: body.targetDocumentVersionId,
132
+ parentLinkId: body.parentLinkId,
133
+ position: body.position,
134
+ rename: body.rename,
135
+ clonePages: body.clonePages
136
+ });
137
+ return json(okResult(result2), { status: 200 });
138
+ }
139
+ if (action === "create-linked-section") {
140
+ const result2 = await createLinkedDocmanSection({
141
+ scopeId: resolvedScopeId,
142
+ documentVersionId: body.documentVersionId,
143
+ parentLinkId: body.parentLinkId
144
+ });
145
+ return json(okResult(result2), { status: 200 });
146
+ }
147
+ if (action === "link-existing-section") {
148
+ const result2 = await linkExistingDocmanSection({
149
+ scopeId: resolvedScopeId,
150
+ documentVersionId: body.documentVersionId,
151
+ sectionId: body.sectionId,
152
+ parentLinkId: body.parentLinkId,
153
+ position: body.position,
154
+ titleOverride: body.titleOverride,
155
+ numbering: body.numbering
156
+ });
157
+ return json(okResult(result2), { status: 200 });
158
+ }
159
+ if (action === "link-existing-page-version") {
160
+ const result2 = await linkExistingDocmanPageVersion({
161
+ scopeId: resolvedScopeId,
162
+ sectionId: body.sectionId,
163
+ pageId: body.pageId,
164
+ pageVersionId: body.pageVersionId,
165
+ position: body.position,
166
+ titleOverride: body.titleOverride,
167
+ numbering: body.numbering
168
+ });
169
+ return json(okResult(result2), { status: 200 });
170
+ }
171
+ if (action === "update-document-section-links") {
172
+ const result2 = await updateDocmanDocumentSectionLinksFlow({
173
+ scopeId: resolvedScopeId,
174
+ documentVersionId: body.documentVersionId,
175
+ updates: body.updates
176
+ });
177
+ return json(okResult(result2), { status: 200 });
178
+ }
179
+ if (action === "update-section-page-links") {
180
+ const result2 = await updateDocmanSectionPageLinksFlow({
181
+ scopeId: resolvedScopeId,
182
+ sectionId: body.sectionId,
183
+ updates: body.updates
184
+ });
185
+ return json(okResult(result2), { status: 200 });
186
+ }
187
+ if (action === "save-page-version-draft") {
188
+ const result2 = await saveDocmanPageVersionDraftFlow({
189
+ scopeId: resolvedScopeId,
190
+ pageVersionId: body.pageVersionId,
191
+ documentLinkId: body.documentLinkId,
192
+ data: body.data
193
+ });
194
+ return json(okResult(result2), { status: 200 });
195
+ }
196
+ if (action === "update-document-version") {
197
+ const result2 = await updateDocmanDocumentVersionFlow({
198
+ scopeId: resolvedScopeId,
199
+ documentVersionId: body.documentVersionId,
200
+ documentId: body.documentId,
201
+ data: body.data
202
+ });
203
+ return json(okResult(result2), { status: 200 });
204
+ }
205
+ if (action === "update-page") {
206
+ const result2 = await updateDocmanPageFlow({
207
+ scopeId: resolvedScopeId,
208
+ pageId: body.pageId,
209
+ data: body.data
210
+ });
211
+ return json(okResult(result2), { status: 200 });
212
+ }
213
+ if (action === "copy-page") {
214
+ const result2 = await copyDocmanPageFlow({
215
+ scopeId: resolvedScopeId,
216
+ sourcePageId: body.sourcePageId,
217
+ sourcePageVersionId: body.sourcePageVersionId,
218
+ targetSectionId: body.targetSectionId,
219
+ position: body.position,
220
+ rename: body.rename,
221
+ clonePage: body.clonePage
222
+ });
223
+ return json(okResult(result2), { status: 200 });
224
+ }
225
+ if (action === "create-document-version") {
226
+ const result2 = await createDocmanDocumentVersionFlow({
227
+ scopeId: resolvedScopeId,
228
+ documentId: body.documentId,
229
+ data: body.data,
230
+ documentInitMode: body.documentInitMode,
231
+ sourceVersionId: body.sourceVersionId,
232
+ sourceSectionLinkIds: body.sourceSectionLinkIds
233
+ });
234
+ return json(okResult(result2), { status: 200 });
235
+ }
236
+ if (action === "create-page-with-initial-version") {
237
+ const result2 = await createDocmanPageWithInitialVersionFlow({
238
+ scopeId: resolvedScopeId,
239
+ data: body.format === void 0 ? body.data : {
240
+ ...toRecord(body.data),
241
+ format: body.format
242
+ }
243
+ });
244
+ return json(okResult(result2), { status: 200 });
245
+ }
246
+ const result = await createLinkedDocmanPage({
247
+ scopeId: resolvedScopeId,
248
+ documentVersionId: body.documentVersionId,
249
+ sectionId: body.sectionId,
250
+ parentLinkId: body.parentLinkId,
251
+ format: body.format
252
+ });
253
+ return json(okResult(result), { status: 200 });
254
+ } catch (error) {
255
+ const message = error instanceof Error && error.message.trim().length > 0 ? error.message : "docman_flow_failed";
256
+ return json(errResult(message), { status: inferDocmanFlowErrorStatus(message) });
257
+ }
258
+ };
259
+
260
+ export { POST };
261
+ //# sourceMappingURL=_server.ts-tNULLyEO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-tNULLyEO.js","sources":["../../../.svelte-kit/output/server/entries/endpoints/api/aops/docman/flows/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { Effect } from \"effect\";\nimport { normalizeDocmanFlowAction, saveDocmanGroupFlow, saveDocmanDocumentFlow, saveDocmanSectionFlow, copyDocmanSectionFlow, createLinkedDocmanSection, linkExistingDocmanSection, linkExistingDocmanPageVersion, updateDocmanDocumentSectionLinksFlow, updateDocmanSectionPageLinksFlow, saveDocmanPageVersionDraftFlow, updateDocmanDocumentVersionFlow, updateDocmanPageFlow, copyDocmanPageFlow, createDocmanDocumentVersionFlow, createDocmanPageWithInitialVersionFlow, createLinkedDocmanPage, inferDocmanFlowErrorStatus } from \"@aopslab/domain-product-docman\";\nimport { a as attachResolvedProjectScope, b as resolveProjectScopeFromLocals } from \"../../../../../../chunks/request-context.js\";\nimport { e as errResult, o as okResult } from \"../../../../../../chunks/xf-result.js\";\nfunction toRecord(value) {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return {};\n return value;\n}\nfunction inferScopeStatus(result) {\n if (result.ok) return 200;\n const message = String(result.messages?.[0]?.messageText ?? \"\").trim().toLowerCase();\n if (message === \"unauthorized\") return 401;\n if (message === \"forbidden\") return 403;\n if (message === \"project_required\") return 409;\n if (message === \"project_not_found\") return 404;\n return 400;\n}\nfunction normalizeNonEmpty(value) {\n if (typeof value !== \"string\") return \"\";\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : \"\";\n}\nasync function resolveDocmanFlowScope(params) {\n const projectSvc = await params.kit.createProjectService();\n const directProject = typeof projectSvc.getById === \"function\" ? await Effect.runPromise(projectSvc.getById(params.projectId)).catch(() => null) : null;\n const projectId = normalizeNonEmpty(directProject?.id) || normalizeNonEmpty(params.projectId);\n const projectScopeId = normalizeNonEmpty(directProject?.scopeId);\n const defaultScopeId = projectScopeId || projectId;\n if (!defaultScopeId) {\n return {\n ok: false,\n status: 404,\n result: errResult(\"project_scope_not_found\", { projectId: params.projectId })\n };\n }\n const requestedScopeId = normalizeNonEmpty(params.requestedScopeId);\n if (!requestedScopeId) {\n return { ok: true, scopeId: defaultScopeId };\n }\n if (requestedScopeId === projectId || requestedScopeId === projectScopeId) {\n return { ok: true, scopeId: requestedScopeId };\n }\n return {\n ok: false,\n status: 409,\n result: errResult(\"scope_not_in_project\", {\n projectId: params.projectId,\n scopeId: requestedScopeId\n })\n };\n}\nasync function readJsonBody(request) {\n try {\n return toRecord(await request.json());\n } catch {\n return {};\n }\n}\nconst POST = async ({ request, locals }) => {\n await attachResolvedProjectScope({ request, locals });\n const body = await readJsonBody(request);\n const attachedScopeId = normalizeNonEmpty(locals.scopeId);\n const requestedScopeId = normalizeNonEmpty(body.scopeId);\n let resolvedScopeId = attachedScopeId;\n if (!resolvedScopeId || requestedScopeId && requestedScopeId !== resolvedScopeId) {\n const scope = await resolveProjectScopeFromLocals({\n input: {\n projectId: body.projectId ?? locals.projectId,\n projectName: body.projectName,\n project: body.project\n },\n locals\n });\n if (!scope.ok) return json(scope.result, { status: inferScopeStatus(scope.result) });\n const resolvedScope = await resolveDocmanFlowScope({\n projectId: scope.projectId,\n requestedScopeId: requestedScopeId || void 0,\n kit: scope.kit\n });\n if (!resolvedScope.ok) {\n return json(resolvedScope.result, { status: resolvedScope.status });\n }\n resolvedScopeId = resolvedScope.scopeId;\n }\n if (!resolvedScopeId) {\n return json(errResult(\"project_required\"), { status: 409 });\n }\n const action = normalizeDocmanFlowAction(body.action);\n if (!action) {\n return json(errResult(\"unsupported_docman_flow_action\"), { status: 400 });\n }\n try {\n if (action === \"save-group\") {\n const result2 = await saveDocmanGroupFlow({\n scopeId: resolvedScopeId,\n groupId: body.groupId,\n data: body.data\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"save-document\") {\n const result2 = await saveDocmanDocumentFlow({\n scopeId: resolvedScopeId,\n documentId: body.documentId,\n data: body.data\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"save-section\") {\n const result2 = await saveDocmanSectionFlow({\n scopeId: resolvedScopeId,\n sectionId: body.sectionId,\n data: body.data\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"copy-section\") {\n const result2 = await copyDocmanSectionFlow({\n scopeId: resolvedScopeId,\n sourceSectionId: body.sourceSectionId,\n targetDocumentVersionId: body.targetDocumentVersionId,\n parentLinkId: body.parentLinkId,\n position: body.position,\n rename: body.rename,\n clonePages: body.clonePages\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"create-linked-section\") {\n const result2 = await createLinkedDocmanSection({\n scopeId: resolvedScopeId,\n documentVersionId: body.documentVersionId,\n parentLinkId: body.parentLinkId\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"link-existing-section\") {\n const result2 = await linkExistingDocmanSection({\n scopeId: resolvedScopeId,\n documentVersionId: body.documentVersionId,\n sectionId: body.sectionId,\n parentLinkId: body.parentLinkId,\n position: body.position,\n titleOverride: body.titleOverride,\n numbering: body.numbering\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"link-existing-page-version\") {\n const result2 = await linkExistingDocmanPageVersion({\n scopeId: resolvedScopeId,\n sectionId: body.sectionId,\n pageId: body.pageId,\n pageVersionId: body.pageVersionId,\n position: body.position,\n titleOverride: body.titleOverride,\n numbering: body.numbering\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"update-document-section-links\") {\n const result2 = await updateDocmanDocumentSectionLinksFlow({\n scopeId: resolvedScopeId,\n documentVersionId: body.documentVersionId,\n updates: body.updates\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"update-section-page-links\") {\n const result2 = await updateDocmanSectionPageLinksFlow({\n scopeId: resolvedScopeId,\n sectionId: body.sectionId,\n updates: body.updates\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"save-page-version-draft\") {\n const result2 = await saveDocmanPageVersionDraftFlow({\n scopeId: resolvedScopeId,\n pageVersionId: body.pageVersionId,\n documentLinkId: body.documentLinkId,\n data: body.data\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"update-document-version\") {\n const result2 = await updateDocmanDocumentVersionFlow({\n scopeId: resolvedScopeId,\n documentVersionId: body.documentVersionId,\n documentId: body.documentId,\n data: body.data\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"update-page\") {\n const result2 = await updateDocmanPageFlow({\n scopeId: resolvedScopeId,\n pageId: body.pageId,\n data: body.data\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"copy-page\") {\n const result2 = await copyDocmanPageFlow({\n scopeId: resolvedScopeId,\n sourcePageId: body.sourcePageId,\n sourcePageVersionId: body.sourcePageVersionId,\n targetSectionId: body.targetSectionId,\n position: body.position,\n rename: body.rename,\n clonePage: body.clonePage\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"create-document-version\") {\n const result2 = await createDocmanDocumentVersionFlow({\n scopeId: resolvedScopeId,\n documentId: body.documentId,\n data: body.data,\n documentInitMode: body.documentInitMode,\n sourceVersionId: body.sourceVersionId,\n sourceSectionLinkIds: body.sourceSectionLinkIds\n });\n return json(okResult(result2), { status: 200 });\n }\n if (action === \"create-page-with-initial-version\") {\n const result2 = await createDocmanPageWithInitialVersionFlow({\n scopeId: resolvedScopeId,\n data: body.format === void 0 ? body.data : {\n ...toRecord(body.data),\n format: body.format\n }\n });\n return json(okResult(result2), { status: 200 });\n }\n const result = await createLinkedDocmanPage({\n scopeId: resolvedScopeId,\n documentVersionId: body.documentVersionId,\n sectionId: body.sectionId,\n parentLinkId: body.parentLinkId,\n format: body.format\n });\n return json(okResult(result), { status: 200 });\n } catch (error) {\n const message = error instanceof Error && error.message.trim().length > 0 ? error.message : \"docman_flow_failed\";\n return json(errResult(message), { status: inferDocmanFlowErrorStatus(message) });\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}