@mdsnai/sdk 0.2.1 → 0.3.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 (255) hide show
  1. package/README.md +39 -75
  2. package/dist/core/errors.d.ts +14 -0
  3. package/dist/core/errors.d.ts.map +1 -0
  4. package/dist/core/errors.js +13 -0
  5. package/dist/core/errors.js.map +1 -0
  6. package/dist/core/index.d.ts +16 -4
  7. package/dist/core/index.d.ts.map +1 -0
  8. package/dist/core/index.js +69 -13
  9. package/dist/core/index.js.map +1 -0
  10. package/dist/core/markdown-body.d.ts +3 -0
  11. package/dist/core/markdown-body.d.ts.map +1 -0
  12. package/dist/core/markdown-body.js +65 -0
  13. package/dist/core/markdown-body.js.map +1 -0
  14. package/dist/core/markdown-renderer.d.ts +5 -0
  15. package/dist/core/markdown-renderer.d.ts.map +1 -0
  16. package/dist/core/markdown-renderer.js +75 -0
  17. package/dist/core/markdown-renderer.js.map +1 -0
  18. package/dist/core/negotiate.d.ts +3 -0
  19. package/dist/core/negotiate.d.ts.map +1 -0
  20. package/dist/core/negotiate.js +63 -0
  21. package/dist/core/negotiate.js.map +1 -0
  22. package/dist/core/parse/anchors.d.ts +2 -0
  23. package/dist/core/parse/anchors.d.ts.map +1 -0
  24. package/dist/core/parse/anchors.js +26 -0
  25. package/dist/core/parse/anchors.js.map +1 -0
  26. package/dist/core/parse/block-parser.d.ts +3 -0
  27. package/dist/core/parse/block-parser.d.ts.map +1 -0
  28. package/dist/core/parse/block-parser.js +116 -0
  29. package/dist/core/parse/block-parser.js.map +1 -0
  30. package/dist/core/parse/executable-block.d.ts +6 -0
  31. package/dist/core/parse/executable-block.d.ts.map +1 -0
  32. package/dist/core/parse/executable-block.js +48 -0
  33. package/dist/core/parse/executable-block.js.map +1 -0
  34. package/dist/core/parse/frontmatter.d.ts +7 -0
  35. package/dist/core/parse/frontmatter.d.ts.map +1 -0
  36. package/dist/core/parse/frontmatter.js +45 -0
  37. package/dist/core/parse/frontmatter.js.map +1 -0
  38. package/dist/core/serialize.d.ts +4 -0
  39. package/dist/core/serialize.d.ts.map +1 -0
  40. package/dist/core/serialize.js +123 -0
  41. package/dist/core/serialize.js.map +1 -0
  42. package/dist/core/types.d.ts +66 -0
  43. package/dist/core/types.d.ts.map +1 -0
  44. package/dist/core/types.js +2 -0
  45. package/dist/core/types.js.map +1 -0
  46. package/dist/core/validate.d.ts +3 -0
  47. package/dist/core/validate.d.ts.map +1 -0
  48. package/dist/core/validate.js +91 -0
  49. package/dist/core/validate.js.map +1 -0
  50. package/dist/elements/components/mdsn-action.d.ts +6 -0
  51. package/dist/elements/components/mdsn-action.d.ts.map +1 -0
  52. package/dist/elements/components/mdsn-action.js +34 -0
  53. package/dist/elements/components/mdsn-action.js.map +1 -0
  54. package/dist/elements/components/mdsn-block.d.ts +9 -0
  55. package/dist/elements/components/mdsn-block.d.ts.map +1 -0
  56. package/dist/elements/components/mdsn-block.js +36 -0
  57. package/dist/elements/components/mdsn-block.js.map +1 -0
  58. package/dist/elements/components/mdsn-error.d.ts +9 -0
  59. package/dist/elements/components/mdsn-error.d.ts.map +1 -0
  60. package/dist/elements/components/mdsn-error.js +36 -0
  61. package/dist/elements/components/mdsn-error.js.map +1 -0
  62. package/dist/elements/components/mdsn-field.d.ts +6 -0
  63. package/dist/elements/components/mdsn-field.d.ts.map +1 -0
  64. package/dist/elements/components/mdsn-field.js +35 -0
  65. package/dist/elements/components/mdsn-field.js.map +1 -0
  66. package/dist/elements/components/mdsn-form.d.ts +6 -0
  67. package/dist/elements/components/mdsn-form.d.ts.map +1 -0
  68. package/dist/elements/components/mdsn-form.js +22 -0
  69. package/dist/elements/components/mdsn-form.js.map +1 -0
  70. package/dist/elements/components/mdsn-page.d.ts +9 -0
  71. package/dist/elements/components/mdsn-page.d.ts.map +1 -0
  72. package/dist/elements/components/mdsn-page.js +46 -0
  73. package/dist/elements/components/mdsn-page.js.map +1 -0
  74. package/dist/elements/index.d.ts +3 -0
  75. package/dist/elements/index.d.ts.map +1 -0
  76. package/dist/elements/index.js +3 -0
  77. package/dist/elements/index.js.map +1 -0
  78. package/dist/elements/mount.d.ts +11 -0
  79. package/dist/elements/mount.d.ts.map +1 -0
  80. package/dist/elements/mount.js +245 -0
  81. package/dist/elements/mount.js.map +1 -0
  82. package/dist/elements/register.d.ts +2 -0
  83. package/dist/elements/register.d.ts.map +1 -0
  84. package/dist/elements/register.js +27 -0
  85. package/dist/elements/register.js.map +1 -0
  86. package/dist/elements/theme.d.ts +2 -0
  87. package/dist/elements/theme.d.ts.map +1 -0
  88. package/dist/elements/theme.js +13 -0
  89. package/dist/elements/theme.js.map +1 -0
  90. package/dist/index.d.ts +4 -8
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +5 -35
  93. package/dist/index.js.map +1 -0
  94. package/dist/server/hosted-app.d.ts +35 -0
  95. package/dist/server/hosted-app.d.ts.map +1 -0
  96. package/dist/server/hosted-app.js +105 -0
  97. package/dist/server/hosted-app.js.map +1 -0
  98. package/dist/server/html-render.d.ts +13 -0
  99. package/dist/server/html-render.d.ts.map +1 -0
  100. package/dist/server/html-render.js +316 -0
  101. package/dist/server/html-render.js.map +1 -0
  102. package/dist/server/index.d.ts +8 -15
  103. package/dist/server/index.d.ts.map +1 -0
  104. package/dist/server/index.js +6 -32
  105. package/dist/server/index.js.map +1 -0
  106. package/dist/server/node.d.ts +23 -0
  107. package/dist/server/node.d.ts.map +1 -0
  108. package/dist/server/node.js +200 -0
  109. package/dist/server/node.js.map +1 -0
  110. package/dist/server/result.d.ts +15 -0
  111. package/dist/server/result.d.ts.map +1 -0
  112. package/dist/server/result.js +64 -0
  113. package/dist/server/result.js.map +1 -0
  114. package/dist/server/router.d.ts +12 -0
  115. package/dist/server/router.d.ts.map +1 -0
  116. package/dist/server/router.js +24 -0
  117. package/dist/server/router.js.map +1 -0
  118. package/dist/server/runtime.d.ts +15 -0
  119. package/dist/server/runtime.d.ts.map +1 -0
  120. package/dist/server/runtime.js +245 -0
  121. package/dist/server/runtime.js.map +1 -0
  122. package/dist/server/session.d.ts +5 -40
  123. package/dist/server/session.d.ts.map +1 -0
  124. package/dist/server/session.js +11 -213
  125. package/dist/server/session.js.map +1 -0
  126. package/dist/server/types.d.ts +62 -0
  127. package/dist/server/types.d.ts.map +1 -0
  128. package/dist/server/types.js +2 -0
  129. package/dist/server/types.js.map +1 -0
  130. package/dist/web/headless.d.ts +22 -92
  131. package/dist/web/headless.d.ts.map +1 -0
  132. package/dist/web/headless.js +311 -337
  133. package/dist/web/headless.js.map +1 -0
  134. package/dist/web/index.d.ts +2 -11
  135. package/dist/web/index.d.ts.map +1 -0
  136. package/dist/web/index.js +2 -23
  137. package/dist/web/index.js.map +1 -0
  138. package/package.json +19 -43
  139. package/LICENSE +0 -21
  140. package/dist/cli/args.d.ts +0 -8
  141. package/dist/cli/args.js +0 -63
  142. package/dist/cli/commands/build.d.ts +0 -5
  143. package/dist/cli/commands/build.js +0 -19
  144. package/dist/cli/commands/create.d.ts +0 -2
  145. package/dist/cli/commands/create.js +0 -39
  146. package/dist/cli/commands/dev.d.ts +0 -10
  147. package/dist/cli/commands/dev.js +0 -13
  148. package/dist/cli/commands/start.d.ts +0 -9
  149. package/dist/cli/commands/start.js +0 -13
  150. package/dist/cli/entry.d.ts +0 -2
  151. package/dist/cli/entry.js +0 -8
  152. package/dist/cli/index.d.ts +0 -9
  153. package/dist/cli/index.js +0 -58
  154. package/dist/core/document/frontmatter.d.ts +0 -5
  155. package/dist/core/document/frontmatter.js +0 -41
  156. package/dist/core/document/markdown.d.ts +0 -5
  157. package/dist/core/document/markdown.js +0 -81
  158. package/dist/core/document/page-definition.d.ts +0 -2
  159. package/dist/core/document/page-definition.js +0 -23
  160. package/dist/core/model/block.d.ts +0 -26
  161. package/dist/core/model/block.js +0 -8
  162. package/dist/core/model/document.d.ts +0 -11
  163. package/dist/core/model/document.js +0 -2
  164. package/dist/core/model/fragment.d.ts +0 -4
  165. package/dist/core/model/fragment.js +0 -2
  166. package/dist/core/model/index.d.ts +0 -4
  167. package/dist/core/model/index.js +0 -2
  168. package/dist/core/model/input.d.ts +0 -10
  169. package/dist/core/model/input.js +0 -2
  170. package/dist/core/protocol/mdsn.d.ts +0 -4
  171. package/dist/core/protocol/mdsn.js +0 -66
  172. package/dist/core/protocol/statements.d.ts +0 -7
  173. package/dist/core/protocol/statements.js +0 -115
  174. package/dist/core/protocol/validation.d.ts +0 -3
  175. package/dist/core/protocol/validation.js +0 -70
  176. package/dist/core/utils/html.d.ts +0 -6
  177. package/dist/core/utils/html.js +0 -28
  178. package/dist/core/utils/index.d.ts +0 -2
  179. package/dist/core/utils/index.js +0 -12
  180. package/dist/core/utils/logger.d.ts +0 -12
  181. package/dist/core/utils/logger.js +0 -45
  182. package/dist/framework/create-framework-app.d.ts +0 -13
  183. package/dist/framework/create-framework-app.js +0 -12
  184. package/dist/framework/hosted-app.d.ts +0 -34
  185. package/dist/framework/hosted-app.js +0 -223
  186. package/dist/framework/index.d.ts +0 -6
  187. package/dist/framework/index.js +0 -9
  188. package/dist/framework/site-app.d.ts +0 -13
  189. package/dist/framework/site-app.js +0 -147
  190. package/dist/server/action-context.d.ts +0 -11
  191. package/dist/server/action-context.js +0 -26
  192. package/dist/server/action-host.d.ts +0 -2
  193. package/dist/server/action-host.js +0 -10
  194. package/dist/server/action-inputs.d.ts +0 -3
  195. package/dist/server/action-inputs.js +0 -178
  196. package/dist/server/action-runtime.d.ts +0 -8
  197. package/dist/server/action-runtime.js +0 -62
  198. package/dist/server/action.d.ts +0 -33
  199. package/dist/server/action.js +0 -101
  200. package/dist/server/build.d.ts +0 -10
  201. package/dist/server/build.js +0 -170
  202. package/dist/server/config.d.ts +0 -56
  203. package/dist/server/config.js +0 -42
  204. package/dist/server/dev.d.ts +0 -48
  205. package/dist/server/dev.js +0 -90
  206. package/dist/server/error-fragments.d.ts +0 -46
  207. package/dist/server/error-fragments.js +0 -77
  208. package/dist/server/init.d.ts +0 -1
  209. package/dist/server/init.js +0 -176
  210. package/dist/server/layout.d.ts +0 -17
  211. package/dist/server/layout.js +0 -40
  212. package/dist/server/markdown.d.ts +0 -49
  213. package/dist/server/markdown.js +0 -77
  214. package/dist/server/module-loader.d.ts +0 -4
  215. package/dist/server/module-loader.js +0 -71
  216. package/dist/server/negotiate.d.ts +0 -3
  217. package/dist/server/negotiate.js +0 -55
  218. package/dist/server/page-host.d.ts +0 -21
  219. package/dist/server/page-host.js +0 -66
  220. package/dist/server/page-links.d.ts +0 -10
  221. package/dist/server/page-links.js +0 -80
  222. package/dist/server/route-matcher.d.ts +0 -6
  223. package/dist/server/route-matcher.js +0 -73
  224. package/dist/server/routes.d.ts +0 -6
  225. package/dist/server/routes.js +0 -73
  226. package/dist/server/server.d.ts +0 -28
  227. package/dist/server/server.js +0 -161
  228. package/dist/server/site.d.ts +0 -11
  229. package/dist/server/site.js +0 -59
  230. package/dist/server/targets.d.ts +0 -7
  231. package/dist/server/targets.js +0 -21
  232. package/dist/web/block-runtime.d.ts +0 -2
  233. package/dist/web/block-runtime.js +0 -25
  234. package/dist/web/fragment-render.d.ts +0 -8
  235. package/dist/web/fragment-render.js +0 -58
  236. package/dist/web/i18n.d.ts +0 -29
  237. package/dist/web/i18n.js +0 -65
  238. package/dist/web/navigation.d.ts +0 -3
  239. package/dist/web/navigation.js +0 -32
  240. package/dist/web/page-bootstrap.d.ts +0 -6
  241. package/dist/web/page-bootstrap.js +0 -28
  242. package/dist/web/page-client-runtime.d.ts +0 -4
  243. package/dist/web/page-client-runtime.js +0 -7
  244. package/dist/web/page-client-script.d.ts +0 -1
  245. package/dist/web/page-client-script.js +0 -579
  246. package/dist/web/page-html.d.ts +0 -8
  247. package/dist/web/page-html.js +0 -42
  248. package/dist/web/page-render.d.ts +0 -20
  249. package/dist/web/page-render.js +0 -84
  250. package/dist/web/public-client-runtime.d.ts +0 -1
  251. package/dist/web/public-client-runtime.js +0 -5
  252. package/dist/web/public-render.d.ts +0 -12
  253. package/dist/web/public-render.js +0 -18
  254. package/dist/web/target-path.d.ts +0 -1
  255. package/dist/web/target-path.js +0 -35
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.renderBlockPanelHtml = renderBlockPanelHtml;
7
- exports.createPageRenderModel = createPageRenderModel;
8
- const markdown_it_1 = __importDefault(require("markdown-it"));
9
- const block_1 = require("../core/model/block");
10
- const core_1 = require("../core");
11
- const page_bootstrap_1 = require("./page-bootstrap");
12
- const block_runtime_1 = require("./block-runtime");
13
- const headless_1 = require("./headless");
14
- function createMarkdownRenderer(options) {
15
- return new markdown_it_1.default({
16
- html: true,
17
- linkify: options?.linkify ?? true,
18
- typographer: options?.typographer ?? false,
19
- });
20
- }
21
- function renderInput(block) {
22
- if (block.inputs.length === 0)
23
- return "";
24
- const items = block.inputs.map((input) => {
25
- const required = input.required ? " required" : "";
26
- const requiredFlag = input.required ? ' data-required="true"' : "";
27
- const secretFlag = input.secret ? ' data-secret="true"' : "";
28
- const inputType = input.type === "boolean"
29
- ? "checkbox"
30
- : input.secret
31
- ? "password"
32
- : input.type === "number"
33
- ? "number"
34
- : input.type === "asset"
35
- ? "url"
36
- : "text";
37
- if (input.type === "choice") {
38
- const options = (input.options ?? [])
39
- .map((option) => `<option value="${(0, core_1.escapeHtml)(option)}">${(0, core_1.escapeHtml)(option)}</option>`)
40
- .join("");
41
- return `<label>${(0, core_1.escapeHtml)(input.name)}<select id="${(0, core_1.escapeHtml)(input.id)}" data-mdsn-input="${(0, core_1.escapeHtml)(input.id)}" data-input-name="${(0, core_1.escapeHtml)(input.name)}" data-input-type="${(0, core_1.escapeHtml)(input.type)}"${requiredFlag}${secretFlag}${required}><option value=""></option>${options}</select></label>`;
42
- }
43
- return `<label>${(0, core_1.escapeHtml)(input.name)}<input id="${(0, core_1.escapeHtml)(input.id)}" type="${inputType}" data-mdsn-input="${(0, core_1.escapeHtml)(input.id)}" data-input-name="${(0, core_1.escapeHtml)(input.name)}" data-input-type="${(0, core_1.escapeHtml)(input.type)}"${requiredFlag}${secretFlag}${required} /></label>`;
44
- }).join("");
45
- return `<div class="mdsn-block-inputs">${items}</div>`;
46
- }
47
- function renderActions(block, options) {
48
- const readButtons = block.reads
49
- .filter((read) => read.name && !(0, block_1.isStreamAccept)(read.accept))
50
- .map((read) => `<button type="button" data-mdsn-read="${(0, core_1.escapeHtml)(read.id)}" data-op-name="${(0, core_1.escapeHtml)(read.name)}" data-target="${(0, core_1.escapeHtml)(options?.mapActionTarget?.(read.target) ?? read.target)}" data-inputs="${(0, core_1.escapeHtml)(read.inputs.join(","))}">${(0, core_1.escapeHtml)(read.name)}</button>`);
51
- const writeButtons = block.writes.map((write) => `<button type="button" data-mdsn-write="${(0, core_1.escapeHtml)(write.id)}" data-op-name="${(0, core_1.escapeHtml)(write.name)}" data-target="${(0, core_1.escapeHtml)(options?.mapActionTarget?.(write.target) ?? write.target)}" data-inputs="${(0, core_1.escapeHtml)(write.inputs.join(","))}">${(0, core_1.escapeHtml)(write.name)}</button>`);
52
- const buttons = [...readButtons, ...writeButtons].join("");
53
- return buttons.length > 0 ? `<div class="mdsn-block-actions">${buttons}</div>` : "";
54
- }
55
- function renderBlockPanelContent(block, options) {
56
- return `<section class="mdsn-block-panel" data-mdsn-block-panel="${(0, core_1.escapeHtml)(block.name)}"><header><strong>${(0, core_1.escapeHtml)(block.name)}</strong></header>${renderInput(block)}${renderActions(block, options)}</section>`;
57
- }
58
- function renderBlockPanelHtml(block, options, mode = "region") {
59
- const content = renderBlockPanelContent(block, options);
60
- return mode === "plain" ? content : (0, block_runtime_1.createBlockRegionMarkup)(block.name, content);
61
- }
62
- function renderMarkdownContainer(container, renderer) {
63
- return renderer.render(container.markdown);
64
- }
65
- function renderParsedPage(page, options) {
66
- const renderer = createMarkdownRenderer(options?.markdown);
67
- const blockByName = new Map(page.blocks.map((block) => [block.name, block]));
68
- return page.segments.map((segment) => {
69
- if (segment.type === "container") {
70
- return renderMarkdownContainer(segment.container, renderer);
71
- }
72
- const block = blockByName.get(segment.anchor.name);
73
- return block ? renderBlockPanelHtml(block, options, "region") : "";
74
- }).join("");
75
- }
76
- function createPageRenderModel(document, options) {
77
- const page = (0, headless_1.createParsedPage)(document);
78
- return {
79
- markdownHtml: renderParsedPage(page, options),
80
- bootstrap: (0, page_bootstrap_1.createPageBootstrap)(document),
81
- document,
82
- page,
83
- };
84
- }
@@ -1 +0,0 @@
1
- export { getPageClientRuntimeScript as getClientRuntimeScript } from "./page-client-script";
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClientRuntimeScript = void 0;
4
- var page_client_script_1 = require("./page-client-script");
5
- Object.defineProperty(exports, "getClientRuntimeScript", { enumerable: true, get: function () { return page_client_script_1.getPageClientRuntimeScript; } });
@@ -1,12 +0,0 @@
1
- import type { DocumentDefinition } from "../core/model/document";
2
- import { type PageRenderModel } from "./page-render";
3
- export interface CreateRenderModelOptions {
4
- mapTarget?: (target: string) => string;
5
- }
6
- export type RenderModel = PageRenderModel;
7
- export declare function createRenderModel(document: DocumentDefinition, options?: CreateRenderModelOptions): RenderModel;
8
- export declare function renderDefaultHtmlDocument(model: RenderModel, options?: {
9
- title?: string;
10
- lang?: string;
11
- }): string;
12
- export declare function renderPageHtml(document: DocumentDefinition, options?: CreateRenderModelOptions): string;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRenderModel = createRenderModel;
4
- exports.renderDefaultHtmlDocument = renderDefaultHtmlDocument;
5
- exports.renderPageHtml = renderPageHtml;
6
- const page_html_1 = require("./page-html");
7
- const page_render_1 = require("./page-render");
8
- function createRenderModel(document, options) {
9
- return (0, page_render_1.createPageRenderModel)(document, {
10
- mapActionTarget: options?.mapTarget,
11
- });
12
- }
13
- function renderDefaultHtmlDocument(model, options) {
14
- return (0, page_html_1.renderPageHtmlDocument)(model, options);
15
- }
16
- function renderPageHtml(document, options) {
17
- return renderDefaultHtmlDocument(createRenderModel(document, options));
18
- }
@@ -1 +0,0 @@
1
- export declare function mapTargetToHttpPath(target: string): string;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapTargetToHttpPath = mapTargetToHttpPath;
4
- function normalizeRoutePath(routePath) {
5
- if (!routePath || routePath === "/") {
6
- return "/";
7
- }
8
- return routePath.startsWith("/")
9
- ? (routePath.replace(/\/+$/, "") || "/")
10
- : (`/${routePath}`.replace(/\/+$/, "") || "/");
11
- }
12
- function markdownPathToRoutePath(pathname) {
13
- if (!pathname || !pathname.toLowerCase().endsWith(".md")) {
14
- return null;
15
- }
16
- const normalized = normalizeRoutePath(pathname);
17
- if (normalized === "/index.md") {
18
- return "/";
19
- }
20
- const stripped = normalized.slice(0, -3);
21
- if (stripped.endsWith("/index")) {
22
- return stripped.slice(0, -6) || "/";
23
- }
24
- return stripped.length > 0 ? stripped : "/";
25
- }
26
- function mapTargetToHttpPath(target) {
27
- if (/^https?:\/\//i.test(target)) {
28
- return target;
29
- }
30
- const markdownRoutePath = markdownPathToRoutePath(target);
31
- if (markdownRoutePath) {
32
- return markdownRoutePath;
33
- }
34
- return target;
35
- }