@cyberismo/backend 0.0.15 → 0.0.17

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 (108) hide show
  1. package/dist/app.d.ts +21 -0
  2. package/dist/app.js +11 -3
  3. package/dist/app.js.map +1 -1
  4. package/dist/common/validationSchemas.d.ts +48 -0
  5. package/dist/domain/calculations/index.d.ts +15 -0
  6. package/dist/domain/calculations/schema.d.ts +16 -0
  7. package/dist/domain/calculations/service.d.ts +14 -0
  8. package/dist/domain/cardTypes/index.d.ts +15 -0
  9. package/dist/domain/cardTypes/schema.d.ts +17 -0
  10. package/dist/domain/cardTypes/service.d.ts +15 -0
  11. package/dist/domain/cards/index.d.ts +15 -0
  12. package/dist/domain/cards/index.js +22 -6
  13. package/dist/domain/cards/index.js.map +1 -1
  14. package/dist/domain/cards/lib.d.ts +29 -0
  15. package/dist/domain/cards/lib.js +73 -2
  16. package/dist/domain/cards/lib.js.map +1 -1
  17. package/dist/domain/cards/service.d.ts +61 -0
  18. package/dist/domain/cards/service.js +20 -12
  19. package/dist/domain/cards/service.js.map +1 -1
  20. package/dist/domain/fieldTypes/index.d.ts +15 -0
  21. package/dist/domain/fieldTypes/schema.d.ts +28 -0
  22. package/dist/domain/fieldTypes/service.d.ts +16 -0
  23. package/dist/domain/graphModels/index.d.ts +15 -0
  24. package/dist/domain/graphModels/schema.d.ts +16 -0
  25. package/dist/domain/graphModels/service.d.ts +14 -0
  26. package/dist/domain/graphViews/index.d.ts +15 -0
  27. package/dist/domain/graphViews/schema.d.ts +4 -0
  28. package/dist/domain/graphViews/service.d.ts +14 -0
  29. package/dist/domain/labels/index.d.ts +15 -0
  30. package/dist/domain/labels/index.js +33 -0
  31. package/dist/domain/labels/index.js.map +1 -0
  32. package/dist/domain/labels/service.d.ts +19 -0
  33. package/dist/domain/labels/service.js +21 -0
  34. package/dist/domain/labels/service.js.map +1 -0
  35. package/dist/domain/linkTypes/index.d.ts +15 -0
  36. package/dist/domain/linkTypes/schema.d.ts +16 -0
  37. package/dist/domain/linkTypes/service.d.ts +15 -0
  38. package/dist/domain/logicPrograms/index.d.ts +15 -0
  39. package/dist/domain/logicPrograms/service.d.ts +15 -0
  40. package/dist/domain/project/index.d.ts +15 -0
  41. package/dist/domain/project/index.js +42 -0
  42. package/dist/domain/project/index.js.map +1 -0
  43. package/dist/domain/project/schema.d.ts +20 -0
  44. package/dist/domain/project/schema.js +21 -0
  45. package/dist/domain/project/schema.js.map +1 -0
  46. package/dist/domain/project/service.d.ts +30 -0
  47. package/dist/domain/project/service.js +54 -0
  48. package/dist/domain/project/service.js.map +1 -0
  49. package/dist/domain/reports/index.d.ts +15 -0
  50. package/dist/domain/reports/schema.d.ts +16 -0
  51. package/dist/domain/reports/service.d.ts +14 -0
  52. package/dist/domain/resources/index.d.ts +15 -0
  53. package/dist/domain/resources/schema.d.ts +60 -0
  54. package/dist/domain/resources/service.d.ts +36 -0
  55. package/dist/domain/resources/service.js +60 -31
  56. package/dist/domain/resources/service.js.map +1 -1
  57. package/dist/domain/templates/index.d.ts +15 -0
  58. package/dist/domain/templates/index.js +1 -1
  59. package/dist/domain/templates/index.js.map +1 -1
  60. package/dist/domain/templates/schema.d.ts +22 -0
  61. package/dist/domain/templates/service.d.ts +16 -0
  62. package/dist/domain/tree/index.d.ts +15 -0
  63. package/dist/domain/tree/index.js +3 -2
  64. package/dist/domain/tree/index.js.map +1 -1
  65. package/dist/domain/tree/service.d.ts +22 -0
  66. package/dist/domain/tree/service.js +10 -2
  67. package/dist/domain/tree/service.js.map +1 -1
  68. package/dist/domain/workflows/index.d.ts +15 -0
  69. package/dist/domain/workflows/schema.d.ts +16 -0
  70. package/dist/domain/workflows/service.d.ts +14 -0
  71. package/dist/export.d.ts +42 -0
  72. package/dist/export.js +48 -152
  73. package/dist/export.js.map +1 -1
  74. package/dist/index.d.ts +13 -0
  75. package/dist/index.js.map +1 -1
  76. package/dist/main.d.ts +1 -0
  77. package/dist/middleware/commandManager.d.ts +20 -0
  78. package/dist/middleware/tree.d.ts +9 -0
  79. package/dist/middleware/tree.js +13 -0
  80. package/dist/middleware/tree.js.map +1 -0
  81. package/dist/middleware/zvalidator.d.ts +9 -0
  82. package/dist/public/THIRD-PARTY.txt +77 -83
  83. package/dist/public/assets/index-BrNy_4vV.js +163198 -0
  84. package/dist/public/index.html +1 -1
  85. package/dist/types.d.ts +29 -0
  86. package/dist/utils.d.ts +11 -0
  87. package/dist/utils.js +0 -32
  88. package/dist/utils.js.map +1 -1
  89. package/package.json +14 -8
  90. package/src/app.ts +13 -4
  91. package/src/domain/cards/index.ts +31 -6
  92. package/src/domain/cards/lib.ts +93 -3
  93. package/src/domain/cards/service.ts +36 -24
  94. package/src/domain/labels/index.ts +36 -0
  95. package/src/domain/labels/service.ts +23 -0
  96. package/src/domain/project/index.ts +58 -0
  97. package/src/domain/project/schema.ts +23 -0
  98. package/src/domain/project/service.ts +88 -0
  99. package/src/domain/resources/service.ts +87 -41
  100. package/src/domain/templates/index.ts +1 -1
  101. package/src/domain/tree/index.ts +10 -3
  102. package/src/domain/tree/service.ts +15 -1
  103. package/src/export.ts +59 -192
  104. package/src/index.ts +5 -1
  105. package/src/middleware/tree.ts +17 -0
  106. package/src/types.ts +13 -0
  107. package/src/utils.ts +0 -39
  108. package/dist/public/assets/index-Dtn1rQ-9.js +0 -163921
package/dist/export.js CHANGED
@@ -11,13 +11,15 @@
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
13
  import path from 'node:path';
14
- import { mkdir, readFile } from 'node:fs/promises';
14
+ import fs, { readFile } from 'node:fs/promises';
15
15
  import { CommandManager } from '@cyberismo/data-handler';
16
16
  import { createApp } from './app.js';
17
17
  import { cp, writeFile } from 'node:fs/promises';
18
- import { runCbSafely, runInParallel, staticFrontendDirRelative, } from './utils.js';
19
- import mime from 'mime-types';
18
+ import { staticFrontendDirRelative } from './utils.js';
19
+ import { toSSG } from 'hono/ssg';
20
+ import { findAllCards, findRelevantAttachments, } from './domain/cards/service.js';
20
21
  let _cardQueryPromise = null;
22
+ const OVERHEAD_CALLS = 6; // estimated number of overhead calls during export in addition to card exports
21
23
  /**
22
24
  * DO NO USE DIRECTLY. This resets the callOnce map, allowing you to redo the export.
23
25
  * Also resets the card query promise.
@@ -53,13 +55,22 @@ export async function getCardQueryResult(projectPath, cardKey) {
53
55
  * Export the site to a given directory.
54
56
  * Note: Do not call this function in parallel.
55
57
  * @param projectPath - Path to the project.
58
+ * @param options - Export options.
59
+ * @param options.recursive - Whether to export cards recursively.
60
+ * @param options.cardKey - Key of the card to export. If not provided, all cards will be exported.
56
61
  * @param exportDir - Directory to export to.
57
62
  * @param level - Log level for the operation.
58
63
  * @param onProgress - Optional progress callback function.
64
+ * @returns An object containing any errors that occurred during export.
59
65
  */
60
- export async function exportSite(projectPath, exportDir, level, onProgress) {
66
+ export async function exportSite(projectPath, exportDir, options, level, onProgress) {
61
67
  exportDir = exportDir || 'static';
62
- const app = createApp(projectPath);
68
+ const opts = {
69
+ recursive: false,
70
+ cardKey: undefined,
71
+ ...options,
72
+ };
73
+ const app = createApp(projectPath, opts);
63
74
  // copy whole frontend to the same directory
64
75
  await cp(staticFrontendDirRelative, exportDir, { recursive: true });
65
76
  // read config file and change export to true
@@ -70,159 +81,44 @@ export async function exportSite(projectPath, exportDir, level, onProgress) {
70
81
  const commands = await CommandManager.getInstance(projectPath, {
71
82
  logLevel: level,
72
83
  });
73
- await toSsg(app, commands, exportDir, onProgress);
74
- }
75
- async function getRoutes(app) {
76
- const routes = new Set();
77
- for (const route of app.routes) {
78
- if (route.method === 'GET')
79
- routes.add(route.path);
80
- }
81
- // handles both routes with and without dynamic parameters
82
- const filteredRoutes = [];
83
- for (const route of routes) {
84
- if (!route.includes(':')) {
85
- filteredRoutes.push(route);
86
- continue;
87
- }
88
- const response = await createSsgRequest(app, route, true);
89
- if (response.ok) {
90
- const params = await response.json();
91
- if (Array.isArray(params) && params.length > 0) {
92
- for (const param of params) {
93
- let newRoute = route;
94
- for (const [key, value] of Object.entries(param)) {
95
- newRoute = newRoute.replace(`:${key}`, `${value}`);
96
- }
97
- filteredRoutes.push(newRoute);
98
- }
99
- }
100
- }
101
- }
102
- return filteredRoutes;
103
- }
104
- /**
105
- * This is similar to hono's ssg function, but it only calls middlewares once
106
- * @param app
107
- * @param onProgress
108
- */
109
- async function toSsg(app, commands, dir, onProgress) {
110
84
  reset();
111
85
  await commands.project.calculationEngine.generate();
112
- const promises = [];
113
- const routes = await getRoutes(app);
114
- await runCbSafely(() => onProgress?.(0, routes.length));
115
- let processedFiles = 0;
116
- let failed = false;
86
+ // estimate total based on the number of cards to export
87
+ const cards = await findAllCards(commands, opts);
88
+ const attachments = await findRelevantAttachments(commands, opts);
89
+ let total = cards.length + attachments.length + OVERHEAD_CALLS;
90
+ // Actual export with progress reporting
91
+ let done = 0;
92
+ onProgress?.(done, total);
117
93
  const errors = [];
118
- const done = async (error) => {
119
- if (error) {
120
- failed = true;
121
- errors.push(error);
122
- }
123
- processedFiles++;
124
- await runCbSafely(() => onProgress?.(processedFiles, routes.length));
125
- };
126
- for (const route of routes) {
127
- promises.push(async () => {
128
- try {
129
- const response = await createSsgRequest(app, route, false);
130
- if (!response.ok) {
131
- const error = await response.json();
132
- if (typeof error === 'object' && error !== null && 'error' in error) {
133
- await done(new Error(`Failed to export route ${route}: ${error.error}`));
94
+ await toSSG(app, fs, {
95
+ dir: exportDir,
96
+ concurrency: 5,
97
+ plugins: [
98
+ {
99
+ afterResponseHook: async (response) => {
100
+ if (![200, 201, 204].includes(response.status)) {
101
+ const error = await response.json();
102
+ if (typeof error === 'object' &&
103
+ error != null &&
104
+ 'error' in error &&
105
+ typeof error.error === 'string') {
106
+ errors.push(error.error);
107
+ }
108
+ return false; // ignore route
134
109
  }
135
- else {
136
- await done(new Error(`Failed to export route ${route}`));
110
+ done++;
111
+ if (done > total) {
112
+ total = done; // adjust total if underestimated
137
113
  }
138
- return;
139
- }
140
- await writeFileToDir(dir, response, route);
141
- await done();
142
- }
143
- catch (error) {
144
- await done(error instanceof Error ? error : new Error(String(error)));
145
- }
146
- });
147
- }
148
- await runInParallel(promises, 5);
149
- if (failed) {
150
- const message = `Errors:\n${errors.map((e) => e.message).join('\n')}`;
151
- throw new Error(message);
152
- }
153
- }
154
- /**
155
- * Get the file content and file ending for a given response and route.
156
- * @param response - The response to get the file content and file ending for.
157
- * @param route - The route to get the file content and file ending for.
158
- * @returns The file content and file ending for the given response and route.
159
- * If the route already has a file ending, it will be returned as an empty string.
160
- */
161
- async function getFileContent(response, route) {
162
- // Check if route already has an extension
163
- const routeExtension = path.extname(route);
164
- if (routeExtension) {
165
- // Trust the existing extension in the route
166
- const content = await response.arrayBuffer();
167
- return {
168
- content,
169
- fileEnding: '',
170
- };
171
- }
172
- // No extension in route, fall back to content type detection
173
- const contentType = response.headers.get('content-type');
174
- if (!contentType) {
175
- throw new Error('No content type');
176
- }
177
- const extension = mime.extension(contentType);
178
- if (!extension) {
179
- throw new Error('Unsupported content type');
180
- }
181
- // Use ArrayBuffer for all content types
182
- const content = await response.arrayBuffer();
183
- return {
184
- content,
185
- fileEnding: `.${extension}`,
186
- };
187
- }
188
- async function writeFileToDir(dir, response, route) {
189
- const { content, fileEnding } = await getFileContent(response, route);
190
- let filePath = path.join(dir, route);
191
- // if route does not have a file ending, add it based on the content type
192
- if (!route.endsWith(fileEnding)) {
193
- filePath += fileEnding;
194
- }
195
- await mkdir(path.dirname(filePath), { recursive: true });
196
- await writeFile(filePath, Buffer.from(content));
197
- }
198
- // findroutes = if this request is used to find the routes in the app
199
- function createSsgRequest(app, route, findRoutes = true) {
200
- return app.request(route, {
201
- headers: new Headers({
202
- 'x-ssg': 'true',
203
- 'x-ssg-find': findRoutes ? 'true' : 'false',
204
- }),
114
+ onProgress?.(done, total);
115
+ return response;
116
+ },
117
+ },
118
+ ],
205
119
  });
206
- }
207
- /**
208
- * Check if the request is a static site generation request.
209
- * @param c - The context of the request.
210
- * @returns True if the request is a static site generation request.
211
- */
212
- export function isSSGContext(c) {
213
- return c.req.header('x-ssg') === 'true';
214
- }
215
- /**
216
- * This middleware is used to find the routes in the app.
217
- * @param fn - The function to call to get the parameters for the route.
218
- * @returns The middleware handler.
219
- */
220
- export function ssgParams(fn) {
221
- return async (c, next) => {
222
- if (c.req.header('x-ssg-find') === 'true') {
223
- return fn ? c.json(await fn(c)) : c.json([]);
224
- }
225
- return next();
120
+ return {
121
+ errors,
226
122
  };
227
123
  }
228
124
  //# sourceMappingURL=export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export { exportSite } from './export.js';
2
+ /**
3
+ * Preview the exported site
4
+ * @param dir - Directory to preview
5
+ * @param findPort - If true, find a free port
6
+ */
7
+ export declare function previewSite(dir: string, findPort?: boolean): Promise<void>;
8
+ /**
9
+ * Start the server
10
+ * @param projectPath - Path to the project
11
+ * @param findPort - If true, find a free port
12
+ */
13
+ export declare function startServer(projectPath?: string, findPort?: boolean): Promise<void>;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AACF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,gBAAgB,GAAG,YAAY,GAAG,GAAG,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,WAAoB,IAAI;IACrE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACjB,CAAC,CAAC,IAAI,CACJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CACvE,CACF,CAAC;IAEF,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAoB,EACpB,WAAoB,IAAI;IAExB,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAS,EAAE,IAAY;IACvC,KAAK,CACH;QACE,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,IAAI;KACX,EACD,CAAC,IAAI,EAAE,EAAE;QACP,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AACF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,gBAAgB,GAAG,YAAY,GAAG,GAAG,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,WAAoB,IAAI;IACrE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACjB,CAAC,CAAC,IAAI,CACJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CACvE,CACF,CAAC;IAEF,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAoB,EACpB,WAAoB,IAAI;IAExB,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,QAAQ,CACf,GAAkB,EAClB,IAAY;IAEZ,KAAK,CACH;QACE,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,IAAI;KACX,EACD,CAAC,IAAI,EAAE,EAAE;QACP,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC,CACF,CAAC;AACJ,CAAC"}
package/dist/main.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2025
4
+
5
+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
6
+
7
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
8
+
9
+ You should have received a copy of the GNU Affero General Public
10
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
+ */
12
+ import type { MiddlewareHandler } from 'hono';
13
+ import { CommandManager } from '@cyberismo/data-handler';
14
+ declare module 'hono' {
15
+ interface ContextVariableMap {
16
+ commands: CommandManager;
17
+ projectPath: string;
18
+ }
19
+ }
20
+ export declare const attachCommandManager: (projectPath?: string) => MiddlewareHandler;
@@ -0,0 +1,9 @@
1
+ import type { Next } from 'hono';
2
+ import type { AppContext, TreeOptions } from '../types.js';
3
+ /**
4
+ * Injects tree options into the context for each request
5
+ * @param opts Options to inject
6
+ * @returns Middleware function
7
+ */
8
+ declare const treeMiddleware: (opts?: TreeOptions) => (c: AppContext, next: Next) => Promise<void>;
9
+ export default treeMiddleware;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Injects tree options into the context for each request
3
+ * @param opts Options to inject
4
+ * @returns Middleware function
5
+ */
6
+ const treeMiddleware = (opts) => async (c, next) => {
7
+ if (opts) {
8
+ c.set('tree', { recursive: opts.recursive, cardKey: opts.cardKey });
9
+ }
10
+ await next();
11
+ };
12
+ export default treeMiddleware;
13
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/middleware/tree.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,cAAc,GAClB,CAAC,IAAkB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAa,EAAE,IAAU,EAAE,EAAE;IAC1D,IAAI,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,IAAI,EAAE,CAAC;AACf,CAAC,CAAC;AAEJ,eAAe,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ZodType } from 'zod';
2
+ import type { ValidationTargets } from 'hono';
3
+ import { z } from 'zod';
4
+ export declare const zValidator: <T extends ZodType, Target extends keyof ValidationTargets>(target: Target, schema: T) => import("hono").MiddlewareHandler<import("hono").Env, string, {
5
+ in: (undefined extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? z.core.input<T> : never) ? true : false) extends true ? { [K in Target]?: ((T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? z.core.input<T> : never) extends infer T_1 ? T_1 extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? z.core.input<T> : never) ? T_1 extends ValidationTargets[K] ? T_1 : { [K2 in keyof T_1]?: (T_1[K2] extends ValidationTargets[K][K2] ? T_1[K2] : ValidationTargets[K][K2]) | undefined; } : never : never) | undefined; } : { [K_1 in Target]: (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? z.core.input<T> : never) extends infer T_1 ? T_1 extends (T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").input<T> : T extends z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? z.core.input<T> : never) ? T_1 extends ValidationTargets[K_1] ? T_1 : { [K2 in keyof T_1]: T_1[K2] extends ValidationTargets[K_1][K2] ? T_1[K2] : ValidationTargets[K_1][K2]; } : never : never; };
6
+ out: { [K_2 in Target]: T extends import("zod/v3").ZodType<any, import("zod/v3").ZodTypeDef, any> ? import("zod/v3").output<T> : T extends z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> ? z.core.output<T> : never; };
7
+ }, import("hono").TypedResponse<{
8
+ error: string;
9
+ }, 400, "json">>;