dialog-ide 0.5.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 (225) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/LICENSE +201 -0
  3. package/README.md +211 -0
  4. package/THIRD_PARTY_LICENSES.md +157 -0
  5. package/bin/darwin-arm64/aambundle +0 -0
  6. package/bin/darwin-arm64/dgdebug +0 -0
  7. package/bin/darwin-arm64/dialogc +0 -0
  8. package/bin/dialog-lib/stddebug.dg +112 -0
  9. package/bin/dialog-lib/stdlib.dg +6730 -0
  10. package/bin/dialog-lib/unit.dg +187 -0
  11. package/dist/cli/commands/run-skein.d.ts +17 -0
  12. package/dist/cli/commands/run-skein.d.ts.map +1 -0
  13. package/dist/cli/commands/run-skein.js +105 -0
  14. package/dist/cli/commands/run-skein.js.map +1 -0
  15. package/dist/cli/commands/sources.d.ts +12 -0
  16. package/dist/cli/commands/sources.d.ts.map +1 -0
  17. package/dist/cli/commands/sources.js +42 -0
  18. package/dist/cli/commands/sources.js.map +1 -0
  19. package/dist/cli/commands/test.d.ts +9 -0
  20. package/dist/cli/commands/test.d.ts.map +1 -0
  21. package/dist/cli/commands/test.js +41 -0
  22. package/dist/cli/commands/test.js.map +1 -0
  23. package/dist/cli/context.d.ts +9 -0
  24. package/dist/cli/context.d.ts.map +1 -0
  25. package/dist/cli/context.js +78 -0
  26. package/dist/cli/context.js.map +1 -0
  27. package/dist/cli.d.ts +3 -0
  28. package/dist/cli.d.ts.map +1 -0
  29. package/dist/cli.js +32 -0
  30. package/dist/cli.js.map +1 -0
  31. package/dist/dialog-cover-resize.d.ts +2 -0
  32. package/dist/dialog-cover-resize.d.ts.map +1 -0
  33. package/dist/dialog-cover-resize.js +46 -0
  34. package/dist/dialog-cover-resize.js.map +1 -0
  35. package/dist/dialog-export.d.ts +23 -0
  36. package/dist/dialog-export.d.ts.map +1 -0
  37. package/dist/dialog-export.js +133 -0
  38. package/dist/dialog-export.js.map +1 -0
  39. package/dist/dialog-feelies.d.ts +4 -0
  40. package/dist/dialog-feelies.d.ts.map +1 -0
  41. package/dist/dialog-feelies.js +62 -0
  42. package/dist/dialog-feelies.js.map +1 -0
  43. package/dist/dialog-outline.d.ts +19 -0
  44. package/dist/dialog-outline.d.ts.map +1 -0
  45. package/dist/dialog-outline.js +122 -0
  46. package/dist/dialog-outline.js.map +1 -0
  47. package/dist/dialog-project-init.d.ts +5 -0
  48. package/dist/dialog-project-init.d.ts.map +1 -0
  49. package/dist/dialog-project-init.js +107 -0
  50. package/dist/dialog-project-init.js.map +1 -0
  51. package/dist/dialog-source-coverage.d.ts +9 -0
  52. package/dist/dialog-source-coverage.d.ts.map +1 -0
  53. package/dist/dialog-source-coverage.js +61 -0
  54. package/dist/dialog-source-coverage.js.map +1 -0
  55. package/dist/dialog-source-decoration-provider.d.ts +11 -0
  56. package/dist/dialog-source-decoration-provider.d.ts.map +1 -0
  57. package/dist/dialog-source-decoration-provider.js +79 -0
  58. package/dist/dialog-source-decoration-provider.js.map +1 -0
  59. package/dist/dialog-symbol-index.d.ts +19 -0
  60. package/dist/dialog-symbol-index.d.ts.map +1 -0
  61. package/dist/dialog-symbol-index.js +107 -0
  62. package/dist/dialog-symbol-index.js.map +1 -0
  63. package/dist/dialog-symbol-provider.d.ts +5 -0
  64. package/dist/dialog-symbol-provider.d.ts.map +1 -0
  65. package/dist/dialog-symbol-provider.js +56 -0
  66. package/dist/dialog-symbol-provider.js.map +1 -0
  67. package/dist/dialog-web-export.d.ts +25 -0
  68. package/dist/dialog-web-export.d.ts.map +1 -0
  69. package/dist/dialog-web-export.js +283 -0
  70. package/dist/dialog-web-export.js.map +1 -0
  71. package/dist/dialog-workspace-symbol-provider.d.ts +16 -0
  72. package/dist/dialog-workspace-symbol-provider.d.ts.map +1 -0
  73. package/dist/dialog-workspace-symbol-provider.js +107 -0
  74. package/dist/dialog-workspace-symbol-provider.js.map +1 -0
  75. package/dist/dialog-workspace-watcher.d.ts +22 -0
  76. package/dist/dialog-workspace-watcher.d.ts.map +1 -0
  77. package/dist/dialog-workspace-watcher.js +102 -0
  78. package/dist/dialog-workspace-watcher.js.map +1 -0
  79. package/dist/dialoged/skein/compile-error.d.ts +10 -0
  80. package/dist/dialoged/skein/compile-error.d.ts.map +1 -0
  81. package/dist/dialoged/skein/compile-error.js +28 -0
  82. package/dist/dialoged/skein/compile-error.js.map +1 -0
  83. package/dist/dialoged/skein/dynamic.d.ts +14 -0
  84. package/dist/dialoged/skein/dynamic.d.ts.map +1 -0
  85. package/dist/dialoged/skein/dynamic.js +176 -0
  86. package/dist/dialoged/skein/dynamic.js.map +1 -0
  87. package/dist/dialoged/skein/frotz-build.d.ts +10 -0
  88. package/dist/dialoged/skein/frotz-build.d.ts.map +1 -0
  89. package/dist/dialoged/skein/frotz-build.js +70 -0
  90. package/dist/dialoged/skein/frotz-build.js.map +1 -0
  91. package/dist/dialoged/skein/index.d.ts +15 -0
  92. package/dist/dialoged/skein/index.d.ts.map +1 -0
  93. package/dist/dialoged/skein/index.js +31 -0
  94. package/dist/dialoged/skein/index.js.map +1 -0
  95. package/dist/dialoged/skein/io.d.ts +15 -0
  96. package/dist/dialoged/skein/io.d.ts.map +1 -0
  97. package/dist/dialoged/skein/io.js +53 -0
  98. package/dist/dialoged/skein/io.js.map +1 -0
  99. package/dist/dialoged/skein/persistence.d.ts +13 -0
  100. package/dist/dialoged/skein/persistence.d.ts.map +1 -0
  101. package/dist/dialoged/skein/persistence.js +228 -0
  102. package/dist/dialoged/skein/persistence.js.map +1 -0
  103. package/dist/dialoged/skein/process.d.ts +38 -0
  104. package/dist/dialoged/skein/process.d.ts.map +1 -0
  105. package/dist/dialoged/skein/process.js +189 -0
  106. package/dist/dialoged/skein/process.js.map +1 -0
  107. package/dist/dialoged/skein/progress.d.ts +17 -0
  108. package/dist/dialoged/skein/progress.d.ts.map +1 -0
  109. package/dist/dialoged/skein/progress.js +9 -0
  110. package/dist/dialoged/skein/progress.js.map +1 -0
  111. package/dist/dialoged/skein/project.d.ts +44 -0
  112. package/dist/dialoged/skein/project.d.ts.map +1 -0
  113. package/dist/dialoged/skein/project.js +223 -0
  114. package/dist/dialoged/skein/project.js.map +1 -0
  115. package/dist/dialoged/skein/search.d.ts +15 -0
  116. package/dist/dialoged/skein/search.d.ts.map +1 -0
  117. package/dist/dialoged/skein/search.js +99 -0
  118. package/dist/dialoged/skein/search.js.map +1 -0
  119. package/dist/dialoged/skein/service.d.ts +91 -0
  120. package/dist/dialoged/skein/service.d.ts.map +1 -0
  121. package/dist/dialoged/skein/service.js +1097 -0
  122. package/dist/dialoged/skein/service.js.map +1 -0
  123. package/dist/dialoged/skein/session.d.ts +96 -0
  124. package/dist/dialoged/skein/session.d.ts.map +1 -0
  125. package/dist/dialoged/skein/session.js +690 -0
  126. package/dist/dialoged/skein/session.js.map +1 -0
  127. package/dist/dialoged/skein/syntax.d.ts +5 -0
  128. package/dist/dialoged/skein/syntax.d.ts.map +1 -0
  129. package/dist/dialoged/skein/syntax.js +150 -0
  130. package/dist/dialoged/skein/syntax.js.map +1 -0
  131. package/dist/dialoged/skein/trace.d.ts +31 -0
  132. package/dist/dialoged/skein/trace.d.ts.map +1 -0
  133. package/dist/dialoged/skein/trace.js +172 -0
  134. package/dist/dialoged/skein/trace.js.map +1 -0
  135. package/dist/dialoged/skein/tree.d.ts +114 -0
  136. package/dist/dialoged/skein/tree.d.ts.map +1 -0
  137. package/dist/dialoged/skein/tree.js +701 -0
  138. package/dist/dialoged/skein/tree.js.map +1 -0
  139. package/dist/dialoged/skein/ui/ansi.d.ts +4 -0
  140. package/dist/dialoged/skein/ui/ansi.d.ts.map +1 -0
  141. package/dist/dialoged/skein/ui/ansi.js +215 -0
  142. package/dist/dialoged/skein/ui/ansi.js.map +1 -0
  143. package/dist/dialoged/skein/ui/diff.d.ts +7 -0
  144. package/dist/dialoged/skein/ui/diff.d.ts.map +1 -0
  145. package/dist/dialoged/skein/ui/diff.js +17 -0
  146. package/dist/dialoged/skein/ui/diff.js.map +1 -0
  147. package/dist/dialoged/skein/ui/knot-menu.d.ts +5 -0
  148. package/dist/dialoged/skein/ui/knot-menu.d.ts.map +1 -0
  149. package/dist/dialoged/skein/ui/knot-menu.js +89 -0
  150. package/dist/dialoged/skein/ui/knot-menu.js.map +1 -0
  151. package/dist/dialoged/skein/ui/marker-colors.d.ts +5 -0
  152. package/dist/dialoged/skein/ui/marker-colors.d.ts.map +1 -0
  153. package/dist/dialoged/skein/ui/marker-colors.js +18 -0
  154. package/dist/dialoged/skein/ui/marker-colors.js.map +1 -0
  155. package/dist/dialoged/skein/ui/render.d.ts +13 -0
  156. package/dist/dialoged/skein/ui/render.d.ts.map +1 -0
  157. package/dist/dialoged/skein/ui/render.js +332 -0
  158. package/dist/dialoged/skein/ui/render.js.map +1 -0
  159. package/dist/dialoged/skein/ui/traceRender.d.ts +11 -0
  160. package/dist/dialoged/skein/ui/traceRender.d.ts.map +1 -0
  161. package/dist/dialoged/skein/ui/traceRender.js +139 -0
  162. package/dist/dialoged/skein/ui/traceRender.js.map +1 -0
  163. package/dist/dialoged/skein/ui/tree-pane.d.ts +3 -0
  164. package/dist/dialoged/skein/ui/tree-pane.d.ts.map +1 -0
  165. package/dist/dialoged/skein/ui/tree-pane.js +135 -0
  166. package/dist/dialoged/skein/ui/tree-pane.js.map +1 -0
  167. package/dist/dialoged/skein/ui/webExportPage.d.ts +29 -0
  168. package/dist/dialoged/skein/ui/webExportPage.d.ts.map +1 -0
  169. package/dist/dialoged/skein/ui/webExportPage.js +72 -0
  170. package/dist/dialoged/skein/ui/webExportPage.js.map +1 -0
  171. package/dist/extension.d.ts +4 -0
  172. package/dist/extension.d.ts.map +1 -0
  173. package/dist/extension.js +885 -0
  174. package/dist/extension.js.map +1 -0
  175. package/dist/session-runner.d.ts +23 -0
  176. package/dist/session-runner.d.ts.map +1 -0
  177. package/dist/session-runner.js +92 -0
  178. package/dist/session-runner.js.map +1 -0
  179. package/language-configuration.json +43 -0
  180. package/media/icon.png +0 -0
  181. package/media/icons/arrow-down-circle-solid.svg +3 -0
  182. package/media/icons/arrow-down-solid.svg +3 -0
  183. package/media/icons/arrow-path-solid.svg +3 -0
  184. package/media/icons/arrow-right-solid.svg +3 -0
  185. package/media/icons/arrow-up-on-square-stack-solid.svg +5 -0
  186. package/media/icons/arrow-up-solid.svg +3 -0
  187. package/media/icons/arrow-uturn-left.svg +3 -0
  188. package/media/icons/arrow-uturn-right.svg +3 -0
  189. package/media/icons/bookmark-solid.svg +3 -0
  190. package/media/icons/bug-ant-solid.svg +3 -0
  191. package/media/icons/check-badge-solid.svg +3 -0
  192. package/media/icons/check-circle-solid.svg +3 -0
  193. package/media/icons/chevron-double-down-solid.svg +4 -0
  194. package/media/icons/chevron-double-up-solid.svg +4 -0
  195. package/media/icons/command-line-solid.svg +3 -0
  196. package/media/icons/cpu-chip-solid.svg +4 -0
  197. package/media/icons/dg-file-dark.svg +6 -0
  198. package/media/icons/dg-file-light.svg +6 -0
  199. package/media/icons/ellipsis-vertical-solid.svg +3 -0
  200. package/media/icons/exclamation-triangle.svg +3 -0
  201. package/media/icons/folder-arrow-down-solid.svg +3 -0
  202. package/media/icons/globe-alt.svg +3 -0
  203. package/media/icons/lock-closed-solid.svg +3 -0
  204. package/media/icons/magnifying-glass-solid.svg +3 -0
  205. package/media/icons/pencil-solid.svg +4 -0
  206. package/media/icons/play-solid.svg +3 -0
  207. package/media/icons/plus-circle-solid.svg +3 -0
  208. package/media/icons/scissors-solid.svg +5 -0
  209. package/media/icons/tag-solid.svg +3 -0
  210. package/media/icons/trash-solid.svg +3 -0
  211. package/media/icons/x-circle-solid.svg +3 -0
  212. package/media/js/datastar.js +9 -0
  213. package/media/js/main.js +1109 -0
  214. package/media/js/skein-loader.js +10 -0
  215. package/media/js/trace-loader.js +4 -0
  216. package/media/js/trace.js +147 -0
  217. package/media/style.css +5783 -0
  218. package/package.json +231 -0
  219. package/resources/bundle/default-cover.png +0 -0
  220. package/resources/bundle/introduction-to-if.pdf +0 -0
  221. package/resources/bundle/play-if-card.pdf +1990 -1
  222. package/resources/bundle/play.css +432 -0
  223. package/resources/bundle/style.css +450 -0
  224. package/resources/dfrotz-skein-patch.dg +4 -0
  225. package/syntaxes/dialog.tmLanguage.json +490 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/dialoged/skein/tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function stripAnsi(text: string): string;
2
+ export declare function ansiToHtml(text: string): string;
3
+ export declare function ansiToMarkers(text: string): string;
4
+ //# sourceMappingURL=ansi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/ansi.ts"],"names":[],"mappings":"AAsCA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAiJD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkC/C;AAQD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsClD"}
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stripAnsi = stripAnsi;
4
+ exports.ansiToHtml = ansiToHtml;
5
+ exports.ansiToMarkers = ansiToMarkers;
6
+ const SGR_PATTERN = /\x1b\[([0-9;]*)m/g;
7
+ const SGR_STRIP_PATTERN = /\x1b\[[0-9;]*m/g;
8
+ function stripAnsi(text) {
9
+ return text.replace(SGR_STRIP_PATTERN, '');
10
+ }
11
+ const COLOR_NAMES = {
12
+ 30: 'black',
13
+ 31: 'red',
14
+ 32: 'green',
15
+ 33: 'yellow',
16
+ 34: 'blue',
17
+ 35: 'magenta',
18
+ 36: 'cyan',
19
+ 37: 'white'
20
+ };
21
+ const KNOWN_RGB_COLORS = {
22
+ '38,38,38': 'black',
23
+ '223,32,80': 'red',
24
+ '24,170,73': 'green',
25
+ '181,169,41': 'yellow',
26
+ '99,97,234': 'blue',
27
+ '191,28,191': 'magenta',
28
+ '33,186,186': 'cyan',
29
+ '242,242,242': 'white'
30
+ };
31
+ function escapeHtml(text) {
32
+ return text
33
+ .replace(/&/g, '&')
34
+ .replace(/</g, '&lt;')
35
+ .replace(/>/g, '&gt;')
36
+ .replace(/"/g, '&quot;')
37
+ .replace(/'/g, '&#39;');
38
+ }
39
+ function parseSgr(paramsStr) {
40
+ if (paramsStr === '') {
41
+ return [0];
42
+ }
43
+ return paramsStr.split(';').map((part) => parseInt(part, 10));
44
+ }
45
+ function parseSegments(text) {
46
+ const segments = [];
47
+ let pos = 0;
48
+ SGR_PATTERN.lastIndex = 0;
49
+ let match;
50
+ while ((match = SGR_PATTERN.exec(text)) !== null) {
51
+ if (match.index > pos) {
52
+ segments.push({ type: 'text', value: text.slice(pos, match.index) });
53
+ }
54
+ segments.push({ type: 'sgr', params: parseSgr(match[1]) });
55
+ pos = match.index + match[0].length;
56
+ }
57
+ if (pos < text.length) {
58
+ segments.push({ type: 'text', value: text.slice(pos) });
59
+ }
60
+ return segments;
61
+ }
62
+ function rgbEntry(r, g, b) {
63
+ const name = KNOWN_RGB_COLORS[`${r},${g},${b}`];
64
+ if (name) {
65
+ return { tag: name.toUpperCase(), css: `ansi-${name}`, color: true };
66
+ }
67
+ const hex = [r, g, b].map((n) => n.toString(16).padStart(2, '0').toUpperCase()).join('');
68
+ return { tag: `#${hex}`, css: null, style: `color:#${hex.toLowerCase()}`, color: true };
69
+ }
70
+ function codeToEntry(code) {
71
+ switch (code) {
72
+ case 0:
73
+ return null;
74
+ case 1:
75
+ return { tag: 'B', css: 'ansi-bold' };
76
+ case 4:
77
+ return { tag: 'I', css: 'ansi-italic' };
78
+ case 7:
79
+ return { tag: 'U', css: 'ansi-underline' };
80
+ case 50:
81
+ return { tag: 'TT', css: 'ansi-fixed' };
82
+ default: {
83
+ const name = COLOR_NAMES[code];
84
+ if (name) {
85
+ return { tag: name.toUpperCase(), css: `ansi-${name}`, color: true };
86
+ }
87
+ return { tag: String(code), css: null };
88
+ }
89
+ }
90
+ }
91
+ function sgrActions(codes) {
92
+ const actions = [];
93
+ let i = 0;
94
+ while (i < codes.length) {
95
+ const code = codes[i];
96
+ if (code === 0) {
97
+ actions.push({ type: 'reset' });
98
+ i += 1;
99
+ }
100
+ else if (code === 39) {
101
+ actions.push({ type: 'popColor' });
102
+ i += 1;
103
+ }
104
+ else if (code === 38 && codes[i + 1] === 2 && codes.length - i >= 5) {
105
+ actions.push({ type: 'push', entry: rgbEntry(codes[i + 2], codes[i + 3], codes[i + 4]) });
106
+ i += 5;
107
+ }
108
+ else {
109
+ actions.push({ type: 'push', entry: codeToEntry(code) });
110
+ i += 1;
111
+ }
112
+ }
113
+ return actions;
114
+ }
115
+ function popColorEntry(stack) {
116
+ for (let i = stack.length - 1; i >= 0; i--) {
117
+ if (stack[i].color) {
118
+ return [[...stack.slice(0, i), ...stack.slice(i + 1)], stack[i]];
119
+ }
120
+ }
121
+ return [stack, null];
122
+ }
123
+ function stackToClassAndStyle(stack) {
124
+ const classes = [...new Set(stack.map((e) => e.css).filter((css) => css !== null))].join(' ');
125
+ const style = stack
126
+ .map((e) => e.style)
127
+ .filter((s) => s !== undefined)
128
+ .join(';');
129
+ if (!classes && !style) {
130
+ return null;
131
+ }
132
+ const attrs = {};
133
+ if (classes) {
134
+ attrs.class = classes;
135
+ }
136
+ if (style) {
137
+ attrs.style = style;
138
+ }
139
+ return attrs;
140
+ }
141
+ function ansiToHtml(text) {
142
+ if (!text.includes('\x1b')) {
143
+ return escapeHtml(text);
144
+ }
145
+ const segments = parseSegments(text);
146
+ let stack = [];
147
+ let html = '';
148
+ for (const segment of segments) {
149
+ if (segment.type === 'sgr') {
150
+ for (const action of sgrActions(segment.params)) {
151
+ if (action.type === 'reset') {
152
+ stack = [];
153
+ }
154
+ else if (action.type === 'popColor') {
155
+ stack = popColorEntry(stack)[0];
156
+ }
157
+ else if (action.entry) {
158
+ stack = [...stack, action.entry];
159
+ }
160
+ }
161
+ }
162
+ else {
163
+ const attrs = stackToClassAndStyle(stack);
164
+ const escaped = escapeHtml(segment.value);
165
+ if (attrs) {
166
+ const classAttr = attrs.class ? ` class="${attrs.class}"` : '';
167
+ const styleAttr = attrs.style ? ` style="${attrs.style}"` : '';
168
+ html += `<span${classAttr}${styleAttr}>${escaped}</span>`;
169
+ }
170
+ else {
171
+ html += escaped;
172
+ }
173
+ }
174
+ }
175
+ return html;
176
+ }
177
+ function ansiToMarkers(text) {
178
+ if (!text.includes('\x1b')) {
179
+ return text;
180
+ }
181
+ const segments = parseSegments(text);
182
+ let stack = [];
183
+ let out = '';
184
+ for (const segment of segments) {
185
+ if (segment.type === 'sgr') {
186
+ for (const action of sgrActions(segment.params)) {
187
+ if (action.type === 'reset') {
188
+ for (let i = stack.length - 1; i >= 0; i--) {
189
+ out += `[/${stack[i].tag}]`;
190
+ }
191
+ stack = [];
192
+ }
193
+ else if (action.type === 'popColor') {
194
+ const [newStack, popped] = popColorEntry(stack);
195
+ if (popped) {
196
+ out += `[/${popped.tag}]`;
197
+ }
198
+ stack = newStack;
199
+ }
200
+ else if (action.entry) {
201
+ out += `[${action.entry.tag}]`;
202
+ stack = [...stack, action.entry];
203
+ }
204
+ }
205
+ }
206
+ else {
207
+ out += segment.value;
208
+ }
209
+ }
210
+ for (let i = stack.length - 1; i >= 0; i--) {
211
+ out += `[/${stack[i].tag}]`;
212
+ }
213
+ return out;
214
+ }
215
+ //# sourceMappingURL=ansi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/ansi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type DiffSegmentType = 'added' | 'removed' | 'unchanged';
2
+ export interface DiffSegment {
3
+ type: DiffSegmentType;
4
+ value: string;
5
+ }
6
+ export declare function diffText(oldText: string | null, newText: string | null): DiffSegment[];
7
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/diff.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAQD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW,EAAE,CAYtF"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.diffText = diffText;
4
+ const diff_1 = require("diff");
5
+ function diffText(oldText, newText) {
6
+ if (oldText === null) {
7
+ return newText === null ? [] : [{ type: 'added', value: newText }];
8
+ }
9
+ if (newText === null) {
10
+ return [{ type: 'unchanged', value: oldText }];
11
+ }
12
+ return (0, diff_1.diffWordsWithSpace)(oldText, newText).map((part) => ({
13
+ type: part.added ? 'added' : part.removed ? 'removed' : 'unchanged',
14
+ value: part.value
15
+ }));
16
+ }
17
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/diff.ts"],"names":[],"mappings":";;AAiCA,4BAYC;AA3BD,+BAA0C;AAe1C,SAAgB,QAAQ,CAAC,OAAsB,EAAE,OAAsB;IACrE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,IAAA,yBAAkB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;QACnE,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { EngineType } from '../process';
2
+ import { Marker } from '../tree';
3
+ export type KnotMenuOpenRoute = '/actions/open-graph-menu' | '/actions/open-transcript-menu';
4
+ export declare function renderKnotMenu(id: number, hasUnblessed: boolean, isOpen: boolean, openRoute: KnotMenuOpenRoute, isActive?: boolean, currentLabel?: string | null, currentCommand?: string | null, triggerSize?: 'compact' | 'prominent', keystrokeReached?: boolean, engine?: EngineType, currentMarker?: Marker | null): string;
5
+ //# sourceMappingURL=knot-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knot-menu.d.ts","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/knot-menu.ts"],"names":[],"mappings":"AA2FA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAoBjC,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GAAG,+BAA+B,CAAC;AA4B7F,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,OAAO,EACrB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,GAAE,OAAe,EACzB,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,cAAc,GAAE,MAAM,GAAG,IAAW,EACpC,WAAW,GAAE,SAAS,GAAG,WAAuB,EAOhD,gBAAgB,GAAE,OAAe,EAIjC,MAAM,GAAE,UAAsB,EAC9B,aAAa,GAAE,MAAM,GAAG,IAAW,GAClC,MAAM,CAkER"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderKnotMenu = renderKnotMenu;
4
+ const marker_colors_1 = require("./marker-colors");
5
+ function escapeHtml(text) {
6
+ return text
7
+ .replace(/&/g, '&amp;')
8
+ .replace(/</g, '&lt;')
9
+ .replace(/>/g, '&gt;')
10
+ .replace(/"/g, '&quot;')
11
+ .replace(/'/g, '&#39;');
12
+ }
13
+ function menuItemClass(disabled) {
14
+ return disabled ? ' class="menu-disabled"' : '';
15
+ }
16
+ function menuItemAttrs(disabled) {
17
+ return disabled ? ' disabled' : '';
18
+ }
19
+ const PANE_CONFIG = {
20
+ '/actions/open-graph-menu': { pane: 'graph', directionClass: 'dropdown-right' },
21
+ '/actions/open-transcript-menu': { pane: 'transcript', directionClass: 'dropdown-left' }
22
+ };
23
+ const TRIGGER_SIZE_CLASSES = {
24
+ compact: { button: 'btn btn-xs btn-ghost py-0 px-0.5 min-h-0 h-4 w-4 leading-none', icon: 'icon icon-dots-vertical w-3 h-3' },
25
+ prominent: {
26
+ button: 'btn btn-xs btn-ghost py-0 px-1 min-h-0 h-6 w-6 leading-none bg-base-content/10',
27
+ icon: 'icon icon-dots-vertical w-4 h-4'
28
+ }
29
+ };
30
+ function renderKnotMenu(id, hasUnblessed, isOpen, openRoute, isActive = false, currentLabel = null, currentCommand = null, triggerSize = 'compact', keystrokeReached = false, engine = 'dgdebug', currentMarker = null) {
31
+ const isRoot = id === 0;
32
+ const { pane, directionClass } = PANE_CONFIG[openRoute];
33
+ const anchorName = `--knot-menu-${pane}-${id}`;
34
+ const popoverId = `knot-menu-${pane}-${id}`;
35
+ const hint = (label, key) => (isActive ? ` title="${label} (${key})"` : '');
36
+ const traceDisabled = keystrokeReached || engine !== 'dgdebug';
37
+ const traceHint = keystrokeReached
38
+ ? ' title="Tracing isn\'t available for a knot reached via a keystroke prompt"'
39
+ : engine !== 'dgdebug'
40
+ ? ' title="Tracing requires the dgdebug engine"'
41
+ : hint('Trace', '⌥T');
42
+ const insertParentDisabled = isRoot || keystrokeReached;
43
+ const insertParentHint = keystrokeReached
44
+ ? ' title="Insert Parent isn\'t available for a knot reached via a keystroke prompt"'
45
+ : '';
46
+ const { button: triggerButtonClass, icon: triggerIconClass } = TRIGGER_SIZE_CLASSES[triggerSize];
47
+ return `<details class="dropdown ${directionClass} font-sans"${isOpen ? ' open' : ''} style="anchor-name: ${anchorName}">
48
+ <summary tabindex="0" role="button" class="${triggerButtonClass}"
49
+ data-on:click__prevent__stop="$knotId = ${id}; @post('${openRoute}')" aria-label="Knot actions">
50
+ <div class="${triggerIconClass}" aria-hidden="true"></div>
51
+ </summary>
52
+ <ul id="${popoverId}" popover="manual" tabindex="0" role="menu" class="dropdown-content knot-menu-popover menu bg-base-100 rounded-box p-2 w-52 shadow-xl z-10"
53
+ style="position-anchor: ${anchorName}"
54
+ // el.isConnected guards against the marker filter (tree-pane.ts) pruning a knot whose menu is
55
+ // currently open: the popover element gets removed from the DOM in that same patch, and
56
+ // Datastar still re-invokes this effect against the now-detached node afterward - the native
57
+ // Popover API throws "Invalid on disconnected popover elements" unconditionally for that,
58
+ // an uncaught error that aborts the rest of Datastar's patch/effect processing (breaking every
59
+ // other knot's menu, not just this one) until the page is reloaded.
60
+ data-effect="if (el.isConnected) el.togglePopover(${isOpen})"
61
+ data-on:click__stop="void 0">
62
+ <li${menuItemClass(!hasUnblessed)}><button type="button" role="menuitem"${hint('Bless Knot', '⌥B')}${menuItemAttrs(!hasUnblessed)} data-on:click="$knotId = ${id}; @post('/actions/bless-knot')">Bless Knot</button></li>
63
+ <li><button type="button" role="menuitem"${hint('New Child', '⌥A')} data-on:click="$knotId = ${id}; @post('/actions/new-child')">New Child</button></li>
64
+ <li><button type="button" role="menuitem"${hint('Replay to Here', '⌥R')} data-on:click="$knotId = ${id}; @post('/actions/replay-to')">Replay to Here</button></li>
65
+ <li${menuItemClass(traceDisabled)}><button type="button" role="menuitem"${traceHint}${menuItemAttrs(traceDisabled)} data-on:click="${isRoot ? `@post('/actions/trace-startup')` : `$knotId = ${id}; @post('/actions/trace-knot')`}">Trace</button></li>
66
+ <li${menuItemClass(isRoot)}><button type="button" role="menuitem"${hint('Edit Label', '⌥L')}${menuItemAttrs(isRoot)}
67
+ data-current-label="${escapeHtml(currentLabel ?? '')}"
68
+ data-on:click="sk.showLabelModal(${id}, el.dataset.currentLabel)">Edit Label&hellip;</button></li>
69
+ <li>
70
+ <div class="flex flex-row items-center gap-1 px-2 py-1">
71
+ ${marker_colors_1.ALL_MARKERS.map((marker) => `<button type="button" role="menuitem" aria-label="Mark ${marker_colors_1.MARKER_LABEL[marker]}"
72
+ class="w-4 h-4 rounded-full ${marker_colors_1.MARKER_SWATCH_CLASS[marker]} ${currentMarker === marker ? 'ring-2 ring-offset-1 ring-base-content' : ''}"
73
+ data-on:click="$knotId = ${id}; $marker = ${marker}; @post('/actions/set-marker')"></button>`).join('')}
74
+ ${currentMarker !== null
75
+ ? `<button type="button" role="menuitem" class="btn btn-xs btn-ghost" data-on:click="$knotId = ${id}; $marker = 0; @post('/actions/set-marker')">Clear</button>`
76
+ : ''}
77
+ </div>
78
+ </li>
79
+ <li${menuItemClass(isRoot)}><button type="button" role="menuitem"${hint('Edit Command', '⌥E')}${menuItemAttrs(isRoot)}
80
+ data-current-command="${escapeHtml(currentCommand ?? '')}"
81
+ data-on:click="sk.showCommandModal(${id}, el.dataset.currentCommand)">Edit Command&hellip;</button></li>
82
+ <li${menuItemClass(isRoot)}><button type="button" role="menuitem"${hint('Toggle Lock', '⌥K')}${menuItemAttrs(isRoot)} data-on:click="$knotId = ${id}; @post('/actions/toggle-lock')">Toggle Lock</button></li>
83
+ <li${menuItemClass(insertParentDisabled)}><button type="button" role="menuitem"${insertParentHint}${menuItemAttrs(insertParentDisabled)} data-on:click="sk.showInsertParentModal(${id})">Insert Parent&hellip;</button></li>
84
+ <li${menuItemClass(isRoot)}><button type="button" role="menuitem"${menuItemAttrs(isRoot)} data-on:click="$knotId = ${id}; @post('/actions/splice-knot')">Splice Out</button></li>
85
+ <li${menuItemClass(isRoot)}><button type="button" role="menuitem"${hint('Delete', '⌥D')}${menuItemAttrs(isRoot)} data-on:click="$knotId = ${id}; @post('/actions/delete-knot')">Delete</button></li>
86
+ </ul>
87
+ </details>`;
88
+ }
89
+ //# sourceMappingURL=knot-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knot-menu.js","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/knot-menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Marker, ALL_MARKERS } from '../tree';
2
+ export { ALL_MARKERS };
3
+ export declare const MARKER_SWATCH_CLASS: Record<Marker, string>;
4
+ export declare const MARKER_LABEL: Record<Marker, string>;
5
+ //# sourceMappingURL=marker-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-colors.d.ts","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/marker-colors.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,CAAC;AAMvB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKtD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MARKER_LABEL = exports.MARKER_SWATCH_CLASS = exports.ALL_MARKERS = void 0;
4
+ const tree_1 = require("../tree");
5
+ Object.defineProperty(exports, "ALL_MARKERS", { enumerable: true, get: function () { return tree_1.ALL_MARKERS; } });
6
+ exports.MARKER_SWATCH_CLASS = {
7
+ 1: 'bg-red-500',
8
+ 2: 'bg-yellow-500',
9
+ 3: 'bg-green-500',
10
+ 4: 'bg-blue-500'
11
+ };
12
+ exports.MARKER_LABEL = {
13
+ 1: 'Red',
14
+ 2: 'Yellow',
15
+ 3: 'Green',
16
+ 4: 'Blue'
17
+ };
18
+ //# sourceMappingURL=marker-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-colors.js","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/marker-colors.ts"],"names":[],"mappings":";;;AAMA,kCAA8C;AAErC,4FAFQ,kBAAW,OAER;AAMP,QAAA,mBAAmB,GAA2B;IACzD,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,cAAc;IACjB,CAAC,EAAE,aAAa;CACjB,CAAC;AAEW,QAAA,YAAY,GAA2B;IAClD,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;CACV,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { EngineType } from '../process';
2
+ import { SearchResults } from '../search';
3
+ import { Marker, SkeinTree } from '../tree';
4
+ export interface SessionDisplayInfo {
5
+ sessionId: string;
6
+ engine: EngineType;
7
+ seed: number;
8
+ }
9
+ export declare function renderNavbar(info: SessionDisplayInfo, tree: SkeinTree, showDynamicState?: boolean, searchQuery?: string, searchResults?: SearchResults, markerFilter?: Marker | null): string;
10
+ export declare function renderKnotList(tree: SkeinTree, transcriptMenuId?: number | null, showDynamicState?: boolean): string;
11
+ export declare function renderApp(info: SessionDisplayInfo, tree: SkeinTree, graphMenuId?: number | null, transcriptMenuId?: number | null, showDynamicState?: boolean, searchQuery?: string, searchResults?: SearchResults, markerFilter?: Marker | null): string;
12
+ export declare function renderPage(info: SessionDisplayInfo | undefined, tree: SkeinTree | undefined, graphMenuId?: number | null, transcriptMenuId?: number | null, showDynamicState?: boolean, searchQuery?: string, searchResults?: SearchResults, markerFilter?: Marker | null): string;
13
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/dialoged/skein/ui/render.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAA2B,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAOrE,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAwgBD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,SAAS,EACf,gBAAgB,GAAE,OAAe,EACjC,WAAW,GAAE,MAAW,EACxB,aAAa,GAAE,aAAoC,EACnD,YAAY,GAAE,MAAM,GAAG,IAAW,GACjC,MAAM,CA6CR;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,gBAAgB,GAAE,MAAM,GAAG,IAAW,EACtC,gBAAgB,GAAE,OAAe,GAChC,MAAM,CAKR;AAgBD,wBAAgB,SAAS,CACvB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,SAAS,EACf,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,gBAAgB,GAAE,MAAM,GAAG,IAAW,EACtC,gBAAgB,GAAE,OAAe,EACjC,WAAW,GAAE,MAAW,EACxB,aAAa,GAAE,aAAoC,EACnD,YAAY,GAAE,MAAM,GAAG,IAAW,GACjC,MAAM,CAwBR;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,kBAAkB,GAAG,SAAS,EACpC,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,gBAAgB,GAAE,MAAM,GAAG,IAAW,EACtC,gBAAgB,GAAE,OAAe,EACjC,WAAW,GAAE,MAAW,EACxB,aAAa,GAAE,aAAoC,EACnD,YAAY,GAAE,MAAM,GAAG,IAAW,GACjC,MAAM,CAkBR"}