@sfmc-bds/cli 0.2.0-beta.5 → 0.2.0-beta.6

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 (163) hide show
  1. package/dist/argv-parse.d.ts +13 -0
  2. package/dist/argv-parse.d.ts.map +1 -0
  3. package/dist/argv-parse.js +32 -0
  4. package/dist/argv-parse.js.map +7 -0
  5. package/dist/cli-gate.d.ts +11 -0
  6. package/dist/cli-gate.d.ts.map +1 -0
  7. package/dist/cli-gate.js +48 -0
  8. package/dist/cli-gate.js.map +7 -0
  9. package/dist/cmd-remote.d.ts +13 -0
  10. package/dist/cmd-remote.d.ts.map +1 -0
  11. package/dist/cmd-remote.js +38 -0
  12. package/dist/cmd-remote.js.map +7 -0
  13. package/dist/command-palette.d.ts +61 -0
  14. package/dist/command-palette.d.ts.map +1 -0
  15. package/dist/command-palette.js +352 -0
  16. package/dist/command-palette.js.map +7 -0
  17. package/dist/command-surface.d.ts +92 -0
  18. package/dist/command-surface.d.ts.map +1 -0
  19. package/dist/command-surface.js +350 -0
  20. package/dist/command-surface.js.map +7 -0
  21. package/dist/commands-reload.js +2 -2
  22. package/dist/commands-reload.js.map +2 -2
  23. package/dist/commands.d.ts +1 -1
  24. package/dist/commands.d.ts.map +1 -1
  25. package/dist/commands.js +79 -17
  26. package/dist/commands.js.map +2 -2
  27. package/dist/debug-command.d.ts +5 -0
  28. package/dist/debug-command.d.ts.map +1 -0
  29. package/dist/debug-command.js +118 -0
  30. package/dist/debug-command.js.map +7 -0
  31. package/dist/help-text.d.ts +3 -0
  32. package/dist/help-text.d.ts.map +1 -0
  33. package/dist/help-text.js +168 -0
  34. package/dist/help-text.js.map +7 -0
  35. package/dist/i18n/locales/en.d.ts +101 -20
  36. package/dist/i18n/locales/en.d.ts.map +1 -1
  37. package/dist/i18n/locales/en.js +105 -20
  38. package/dist/i18n/locales/en.js.map +2 -2
  39. package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
  40. package/dist/i18n/locales/zh-CN.js +153 -62
  41. package/dist/i18n/locales/zh-CN.js.map +2 -2
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +6 -0
  45. package/dist/index.js.map +2 -2
  46. package/dist/logs.d.ts +16 -1
  47. package/dist/logs.d.ts.map +1 -1
  48. package/dist/logs.js +80 -11
  49. package/dist/logs.js.map +2 -2
  50. package/dist/main.js +58 -44
  51. package/dist/main.js.map +2 -2
  52. package/dist/module-commands.d.ts +29 -33
  53. package/dist/module-commands.d.ts.map +1 -1
  54. package/dist/module-commands.js +101 -37
  55. package/dist/module-commands.js.map +2 -2
  56. package/dist/module-pack-build.d.ts +10 -0
  57. package/dist/module-pack-build.d.ts.map +1 -0
  58. package/dist/module-pack-build.js +430 -0
  59. package/dist/module-pack-build.js.map +7 -0
  60. package/dist/module-publish.d.ts +69 -0
  61. package/dist/module-publish.d.ts.map +1 -0
  62. package/dist/module-publish.js +478 -0
  63. package/dist/module-publish.js.map +7 -0
  64. package/dist/module-watch.d.ts +32 -0
  65. package/dist/module-watch.d.ts.map +1 -0
  66. package/dist/module-watch.js +171 -0
  67. package/dist/module-watch.js.map +7 -0
  68. package/dist/module-wizard.d.ts +4 -6
  69. package/dist/module-wizard.d.ts.map +1 -1
  70. package/dist/module-wizard.js +108 -124
  71. package/dist/module-wizard.js.map +2 -2
  72. package/dist/pack-lifecycle.d.ts +1 -1
  73. package/dist/pack-lifecycle.d.ts.map +1 -1
  74. package/dist/pack-lifecycle.js +3 -3
  75. package/dist/pack-lifecycle.js.map +2 -2
  76. package/dist/pack-update/index.d.ts +18 -0
  77. package/dist/pack-update/index.d.ts.map +1 -0
  78. package/dist/pack-update/index.js +113 -0
  79. package/dist/pack-update/index.js.map +7 -0
  80. package/dist/registry.d.ts +6 -3
  81. package/dist/registry.d.ts.map +1 -1
  82. package/dist/registry.js +15 -3
  83. package/dist/registry.js.map +2 -2
  84. package/dist/remote-agent.d.ts.map +1 -1
  85. package/dist/remote-agent.js +7 -5
  86. package/dist/remote-agent.js.map +2 -2
  87. package/dist/repl-windows/format-display.d.ts +10 -0
  88. package/dist/repl-windows/format-display.d.ts.map +1 -0
  89. package/dist/repl-windows/format-display.js +57 -0
  90. package/dist/repl-windows/format-display.js.map +7 -0
  91. package/dist/repl-windows/host.d.ts +60 -0
  92. package/dist/repl-windows/host.d.ts.map +1 -0
  93. package/dist/repl-windows/host.js +179 -0
  94. package/dist/repl-windows/host.js.map +7 -0
  95. package/dist/repl-windows/index.d.ts +9 -0
  96. package/dist/repl-windows/index.d.ts.map +1 -0
  97. package/dist/repl-windows/index.js +13 -0
  98. package/dist/repl-windows/index.js.map +7 -0
  99. package/dist/repl-windows/logs-filter-window.d.ts +15 -0
  100. package/dist/repl-windows/logs-filter-window.d.ts.map +1 -0
  101. package/dist/repl-windows/logs-filter-window.js +77 -0
  102. package/dist/repl-windows/logs-filter-window.js.map +7 -0
  103. package/dist/repl-windows/service-window.d.ts +4 -0
  104. package/dist/repl-windows/service-window.d.ts.map +1 -0
  105. package/dist/repl-windows/service-window.js +28 -0
  106. package/dist/repl-windows/service-window.js.map +7 -0
  107. package/dist/repl-windows/types.d.ts +56 -0
  108. package/dist/repl-windows/types.d.ts.map +1 -0
  109. package/dist/repl-windows/types.js +1 -0
  110. package/dist/repl-windows/types.js.map +7 -0
  111. package/dist/repl.d.ts +7 -8
  112. package/dist/repl.d.ts.map +1 -1
  113. package/dist/repl.js +722 -412
  114. package/dist/repl.js.map +3 -3
  115. package/dist/runtime.d.ts +2 -0
  116. package/dist/runtime.d.ts.map +1 -1
  117. package/dist/runtime.js +4 -0
  118. package/dist/runtime.js.map +2 -2
  119. package/dist/send-target.d.ts +11 -0
  120. package/dist/send-target.d.ts.map +1 -0
  121. package/dist/send-target.js +38 -0
  122. package/dist/send-target.js.map +7 -0
  123. package/dist/services.d.ts +21 -1
  124. package/dist/services.d.ts.map +1 -1
  125. package/dist/services.js +146 -7
  126. package/dist/services.js.map +2 -2
  127. package/dist/theme.js +1 -1
  128. package/dist/theme.js.map +2 -2
  129. package/dist/wizard.d.ts.map +1 -1
  130. package/dist/wizard.js +11 -9
  131. package/dist/wizard.js.map +2 -2
  132. package/dist/world-packs.d.ts.map +1 -1
  133. package/dist/world-packs.js +6 -3
  134. package/dist/world-packs.js.map +2 -2
  135. package/package.json +4 -4
  136. package/dist/pack-update/bindings.d.ts +0 -12
  137. package/dist/pack-update/bindings.d.ts.map +0 -1
  138. package/dist/pack-update/bindings.js +0 -64
  139. package/dist/pack-update/bindings.js.map +0 -7
  140. package/dist/pack-update/config.d.ts +0 -22
  141. package/dist/pack-update/config.d.ts.map +0 -1
  142. package/dist/pack-update/config.js +0 -141
  143. package/dist/pack-update/config.js.map +0 -7
  144. package/dist/pack-update/providers/curseforge.d.ts +0 -23
  145. package/dist/pack-update/providers/curseforge.d.ts.map +0 -1
  146. package/dist/pack-update/providers/curseforge.js +0 -229
  147. package/dist/pack-update/providers/curseforge.js.map +0 -7
  148. package/dist/pack-update/providers/index.d.ts +0 -16
  149. package/dist/pack-update/providers/index.d.ts.map +0 -1
  150. package/dist/pack-update/providers/index.js +0 -37
  151. package/dist/pack-update/providers/index.js.map +0 -7
  152. package/dist/pack-update/service.d.ts +0 -21
  153. package/dist/pack-update/service.d.ts.map +0 -1
  154. package/dist/pack-update/service.js +0 -572
  155. package/dist/pack-update/service.js.map +0 -7
  156. package/dist/pack-update/types.d.ts +0 -126
  157. package/dist/pack-update/types.d.ts.map +0 -1
  158. package/dist/pack-update/types.js +0 -8
  159. package/dist/pack-update/types.js.map +0 -7
  160. package/dist/pack-update/version-policy.d.ts +0 -81
  161. package/dist/pack-update/version-policy.d.ts.map +0 -1
  162. package/dist/pack-update/version-policy.js +0 -210
  163. package/dist/pack-update/version-policy.js.map +0 -7
@@ -0,0 +1,77 @@
1
+ import { SOURCE_META } from "../logs.js";
2
+ import { c } from "../theme.js";
3
+ import { formatLogDisplay, logDisplayPrefixWidth } from "./format-display.js";
4
+ const LEVELS = ["", "info", "warn", "error", "debug", "success"];
5
+ function paintFooter(state) {
6
+ const lv = state.levels[0] ?? "*";
7
+ const src = state.sources[0] ?? "*";
8
+ return ` ${c.cyan("L")}${c.dim(" level:")}${c.text(String(lv))} ${c.cyan("S")}${c.dim(" source:")}${c.text(String(src))} ${c.cyan("Esc")}${c.dim(" back")}`;
9
+ }
10
+ function createLogsFilterWindow(opts) {
11
+ const cycleLevel = () => {
12
+ const st = opts.getState();
13
+ const cur = st.levels[0] ?? "";
14
+ const idx = LEVELS.indexOf(cur);
15
+ const next = LEVELS[(idx + 1) % LEVELS.length];
16
+ opts.setState({
17
+ ...st,
18
+ levels: next ? [next] : []
19
+ });
20
+ opts.onFilterChanged();
21
+ };
22
+ const cycleSource = () => {
23
+ const st = opts.getState();
24
+ const names = ["", ...SOURCE_META.map((m) => m.value)];
25
+ const cur = st.sources[0] ?? "";
26
+ const idx = Math.max(0, names.indexOf(cur));
27
+ const next = names[(idx + 1) % names.length];
28
+ opts.setState({
29
+ ...st,
30
+ sources: next ? [next] : []
31
+ });
32
+ opts.onFilterChanged();
33
+ };
34
+ return {
35
+ id: "logs",
36
+ title: "LOGS",
37
+ showsInput: false,
38
+ get footerShortcuts() {
39
+ return paintFooter(opts.getState());
40
+ },
41
+ acceptLog(log) {
42
+ const st = opts.getState();
43
+ if (st.levels.length && !st.levels.includes(log.level)) return false;
44
+ if (st.sources.length && !st.sources.includes(log.source)) return false;
45
+ return true;
46
+ },
47
+ formatLogLine(log) {
48
+ return {
49
+ text: formatLogDisplay(log, { omitSource: false }),
50
+ indent: logDisplayPrefixWidth(log, { omitSource: false })
51
+ };
52
+ },
53
+ getReplayFilter() {
54
+ const st = opts.getState();
55
+ return { levels: st.levels, sources: st.sources };
56
+ },
57
+ onKey(ev) {
58
+ if (ev.type === "escape") return { action: "back" };
59
+ if (ev.type === "char") {
60
+ const ch = ev.ch.toLowerCase();
61
+ if (ch === "l") {
62
+ cycleLevel();
63
+ return { action: "redraw" };
64
+ }
65
+ if (ch === "s") {
66
+ cycleSource();
67
+ return { action: "redraw" };
68
+ }
69
+ }
70
+ return { action: "handled" };
71
+ }
72
+ };
73
+ }
74
+ export {
75
+ createLogsFilterWindow
76
+ };
77
+ //# sourceMappingURL=logs-filter-window.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/repl-windows/logs-filter-window.ts"],
4
+ "sourcesContent": ["/**\n * repl-windows/logs-filter-window.ts \u2014 /logs \u7B5B\u9009\u7A97\uFF08\u65E0\u8F93\u5165\uFF0C\u5FEB\u6377\u952E\u7B5B\u9009\uFF09\n */\nimport { SOURCE_META, type LogLevel, type LogSource, type UnifiedLog } from \"../logs.js\";\nimport { c } from \"../theme.js\";\nimport { formatLogDisplay, logDisplayPrefixWidth } from \"./format-display.js\";\nimport type { ReplWindow, WindowKeyEvent, WindowKeyResult } from \"./types.js\";\n\nconst LEVELS: Array<LogLevel | \"\"> = [\"\", \"info\", \"warn\", \"error\", \"debug\", \"success\"];\n\nexport type LogsFilterState = {\n levels: LogLevel[];\n sources: LogSource[];\n};\n\nfunction paintFooter(state: LogsFilterState): string {\n const lv = state.levels[0] ?? \"*\";\n const src = state.sources[0] ?? \"*\";\n return (\n ` ${c.cyan(\"L\")}${c.dim(\" level:\")}${c.text(String(lv))} ` +\n `${c.cyan(\"S\")}${c.dim(\" source:\")}${c.text(String(src))} ` +\n `${c.cyan(\"Esc\")}${c.dim(\" back\")}`\n );\n}\n\nexport function createLogsFilterWindow(opts: {\n getState: () => LogsFilterState;\n setState: (next: LogsFilterState) => void;\n onFilterChanged: () => void;\n}): ReplWindow {\n const cycleLevel = (): void => {\n const st = opts.getState();\n const cur = st.levels[0] ?? \"\";\n const idx = LEVELS.indexOf(cur as LogLevel | \"\");\n const next = LEVELS[(idx + 1) % LEVELS.length]!;\n opts.setState({\n ...st,\n levels: next ? [next] : [],\n });\n opts.onFilterChanged();\n };\n\n const cycleSource = (): void => {\n const st = opts.getState();\n const names: Array<LogSource | \"\"> = [\"\", ...SOURCE_META.map((m) => m.value)];\n const cur = st.sources[0] ?? \"\";\n const idx = Math.max(0, names.indexOf(cur));\n const next = names[(idx + 1) % names.length]!;\n opts.setState({\n ...st,\n sources: next ? [next] : [],\n });\n opts.onFilterChanged();\n };\n\n return {\n id: \"logs\",\n title: \"LOGS\",\n showsInput: false,\n get footerShortcuts() {\n return paintFooter(opts.getState());\n },\n acceptLog(log: UnifiedLog): boolean {\n const st = opts.getState();\n if (st.levels.length && !st.levels.includes(log.level)) return false;\n if (st.sources.length && !st.sources.includes(log.source)) return false;\n return true;\n },\n formatLogLine(log: UnifiedLog) {\n return {\n text: formatLogDisplay(log, { omitSource: false }),\n indent: logDisplayPrefixWidth(log, { omitSource: false }),\n };\n },\n getReplayFilter() {\n const st = opts.getState();\n return { levels: st.levels, sources: st.sources };\n },\n onKey(ev: WindowKeyEvent): WindowKeyResult {\n if (ev.type === \"escape\") return { action: \"back\" };\n if (ev.type === \"char\") {\n const ch = ev.ch.toLowerCase();\n if (ch === \"l\") {\n cycleLevel();\n return { action: \"redraw\" };\n }\n if (ch === \"s\") {\n cycleSource();\n return { action: \"redraw\" };\n }\n }\n return { action: \"handled\" };\n },\n };\n}\n"],
5
+ "mappings": "AAGA,SAAS,mBAAmE;AAC5E,SAAS,SAAS;AAClB,SAAS,kBAAkB,6BAA6B;AAGxD,MAAM,SAA+B,CAAC,IAAI,QAAQ,QAAQ,SAAS,SAAS,SAAS;AAOrF,SAAS,YAAY,OAAgC;AACnD,QAAM,KAAK,MAAM,OAAO,CAAC,KAAK;AAC9B,QAAM,MAAM,MAAM,QAAQ,CAAC,KAAK;AAChC,SACE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC,GAAG,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,KACrD,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,GAAG,EAAE,KAAK,OAAO,GAAG,CAAC,CAAC,KACrD,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;AAErC;AAEO,SAAS,uBAAuB,MAIxB;AACb,QAAM,aAAa,MAAY;AAC7B,UAAM,KAAK,KAAK,SAAS;AACzB,UAAM,MAAM,GAAG,OAAO,CAAC,KAAK;AAC5B,UAAM,MAAM,OAAO,QAAQ,GAAoB;AAC/C,UAAM,OAAO,QAAQ,MAAM,KAAK,OAAO,MAAM;AAC7C,SAAK,SAAS;AAAA,MACZ,GAAG;AAAA,MACH,QAAQ,OAAO,CAAC,IAAI,IAAI,CAAC;AAAA,IAC3B,CAAC;AACD,SAAK,gBAAgB;AAAA,EACvB;AAEA,QAAM,cAAc,MAAY;AAC9B,UAAM,KAAK,KAAK,SAAS;AACzB,UAAM,QAA+B,CAAC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AAC5E,UAAM,MAAM,GAAG,QAAQ,CAAC,KAAK;AAC7B,UAAM,MAAM,KAAK,IAAI,GAAG,MAAM,QAAQ,GAAG,CAAC;AAC1C,UAAM,OAAO,OAAO,MAAM,KAAK,MAAM,MAAM;AAC3C,SAAK,SAAS;AAAA,MACZ,GAAG;AAAA,MACH,SAAS,OAAO,CAAC,IAAI,IAAI,CAAC;AAAA,IAC5B,CAAC;AACD,SAAK,gBAAgB;AAAA,EACvB;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,IAAI,kBAAkB;AACpB,aAAO,YAAY,KAAK,SAAS,CAAC;AAAA,IACpC;AAAA,IACA,UAAU,KAA0B;AAClC,YAAM,KAAK,KAAK,SAAS;AACzB,UAAI,GAAG,OAAO,UAAU,CAAC,GAAG,OAAO,SAAS,IAAI,KAAK,EAAG,QAAO;AAC/D,UAAI,GAAG,QAAQ,UAAU,CAAC,GAAG,QAAQ,SAAS,IAAI,MAAM,EAAG,QAAO;AAClE,aAAO;AAAA,IACT;AAAA,IACA,cAAc,KAAiB;AAC7B,aAAO;AAAA,QACL,MAAM,iBAAiB,KAAK,EAAE,YAAY,MAAM,CAAC;AAAA,QACjD,QAAQ,sBAAsB,KAAK,EAAE,YAAY,MAAM,CAAC;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,kBAAkB;AAChB,YAAM,KAAK,KAAK,SAAS;AACzB,aAAO,EAAE,QAAQ,GAAG,QAAQ,SAAS,GAAG,QAAQ;AAAA,IAClD;AAAA,IACA,MAAM,IAAqC;AACzC,UAAI,GAAG,SAAS,SAAU,QAAO,EAAE,QAAQ,OAAO;AAClD,UAAI,GAAG,SAAS,QAAQ;AACtB,cAAM,KAAK,GAAG,GAAG,YAAY;AAC7B,YAAI,OAAO,KAAK;AACd,qBAAW;AACX,iBAAO,EAAE,QAAQ,SAAS;AAAA,QAC5B;AACA,YAAI,OAAO,KAAK;AACd,sBAAY;AACZ,iBAAO,EAAE,QAAQ,SAAS;AAAA,QAC5B;AAAA,MACF;AACA,aAAO,EAAE,QAAQ,UAAU;AAAA,IAC7B;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import type { ServiceName } from "../services.js";
2
+ import type { ReplWindow } from "./types.js";
3
+ export declare function createServiceWindow(name: ServiceName): ReplWindow;
4
+ //# sourceMappingURL=service-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-window.d.ts","sourceRoot":"","sources":["../../src/repl-windows/service-window.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAqBjE"}
@@ -0,0 +1,28 @@
1
+ import { formatLogDisplay, logDisplayPrefixWidth } from "./format-display.js";
2
+ import { serviceWindowId } from "./host.js";
3
+ function createServiceWindow(name) {
4
+ const id = serviceWindowId(name);
5
+ return {
6
+ id,
7
+ title: name.toUpperCase(),
8
+ showsInput: true,
9
+ footerShortcuts: "",
10
+ serviceName: name,
11
+ acceptLog(log) {
12
+ return log.source === name;
13
+ },
14
+ formatLogLine(log) {
15
+ return {
16
+ text: formatLogDisplay(log, { omitSource: true }),
17
+ indent: logDisplayPrefixWidth(log, { omitSource: true })
18
+ };
19
+ },
20
+ getReplayFilter() {
21
+ return { levels: [], sources: [name] };
22
+ }
23
+ };
24
+ }
25
+ export {
26
+ createServiceWindow
27
+ };
28
+ //# sourceMappingURL=service-window.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/repl-windows/service-window.ts"],
4
+ "sourcesContent": ["/**\n * repl-windows/service-window.ts \u2014 \u6D3B\u8DC3\u670D\u52A1\u65E5\u5FD7\u7A97\uFF08\u7701\u7565\u6E90\u6807\u7B7E\uFF09\n */\nimport type { UnifiedLog } from \"../logs.js\";\nimport type { ServiceName } from \"../services.js\";\nimport { formatLogDisplay, logDisplayPrefixWidth } from \"./format-display.js\";\nimport { serviceWindowId } from \"./host.js\";\nimport type { ReplWindow } from \"./types.js\";\n\nexport function createServiceWindow(name: ServiceName): ReplWindow {\n const id = serviceWindowId(name);\n return {\n id,\n title: name.toUpperCase(),\n showsInput: true,\n footerShortcuts: \"\",\n serviceName: name,\n acceptLog(log: UnifiedLog): boolean {\n return log.source === name;\n },\n formatLogLine(log: UnifiedLog) {\n return {\n text: formatLogDisplay(log, { omitSource: true }),\n indent: logDisplayPrefixWidth(log, { omitSource: true }),\n };\n },\n getReplayFilter() {\n return { levels: [], sources: [name] };\n },\n };\n}\n"],
5
+ "mappings": "AAKA,SAAS,kBAAkB,6BAA6B;AACxD,SAAS,uBAAuB;AAGzB,SAAS,oBAAoB,MAA+B;AACjE,QAAM,KAAK,gBAAgB,IAAI;AAC/B,SAAO;AAAA,IACL;AAAA,IACA,OAAO,KAAK,YAAY;AAAA,IACxB,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,UAAU,KAA0B;AAClC,aAAO,IAAI,WAAW;AAAA,IACxB;AAAA,IACA,cAAc,KAAiB;AAC7B,aAAO;AAAA,QACL,MAAM,iBAAiB,KAAK,EAAE,YAAY,KAAK,CAAC;AAAA,QAChD,QAAQ,sBAAsB,KAAK,EAAE,YAAY,KAAK,CAAC;AAAA,MACzD;AAAA,IACF;AAAA,IACA,kBAAkB;AAChB,aAAO,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE;AAAA,IACvC;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * repl-windows/types.ts — REPL 类窗口契约(Host 只依赖本接口)
3
+ */
4
+ import type { UnifiedLog } from "../logs.js";
5
+ import type { ServiceName } from "../services.js";
6
+ export type WindowKeyResult = {
7
+ action: "none";
8
+ } | {
9
+ action: "back";
10
+ } | {
11
+ action: "redraw";
12
+ } | {
13
+ action: "handled";
14
+ };
15
+ /** 简化按键:由 readLine 翻译后传入 */
16
+ export type WindowKeyEvent = {
17
+ type: "escape";
18
+ } | {
19
+ type: "char";
20
+ ch: string;
21
+ } | {
22
+ type: "ctrl";
23
+ code: string;
24
+ };
25
+ export type WindowChrome = {
26
+ showsInput: boolean;
27
+ /** 无输入时底部 shortcut 条(已着色) */
28
+ footerShortcuts: string;
29
+ title: string;
30
+ };
31
+ export interface ReplWindow {
32
+ readonly id: string;
33
+ readonly title: string;
34
+ /** 是否绘制 ❯ 输入行 */
35
+ readonly showsInput: boolean;
36
+ /** 无输入时的 shortcut 文案(已着色) */
37
+ footerShortcuts: string;
38
+ /** 服务窗绑定的发送目标;非服务窗为 undefined */
39
+ readonly serviceName?: ServiceName;
40
+ /** 是否接收并展示该条日志 */
41
+ acceptLog(log: UnifiedLog): boolean;
42
+ /** TTY 展示行(含 ANSI)与悬挂缩进列宽 */
43
+ formatLogLine(log: UnifiedLog): {
44
+ text: string;
45
+ indent: number;
46
+ };
47
+ onActivate?(): void;
48
+ onDeactivate?(): void;
49
+ onKey?(ev: WindowKeyEvent): WindowKeyResult;
50
+ /** 激活/筛选变化时需要重放缓冲 */
51
+ getReplayFilter?(): {
52
+ levels: string[];
53
+ sources: string[];
54
+ };
55
+ }
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/repl-windows/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAClB;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1B,4BAA4B;AAC5B,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,kBAAkB;IAClB,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IACpC,6BAA6B;IAC7B,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,UAAU,CAAC,IAAI,IAAI,CAAC;IACpB,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,KAAK,CAAC,CAAC,EAAE,EAAE,cAAc,GAAG,eAAe,CAAC;IAC5C,qBAAqB;IACrB,eAAe,CAAC,IAAI;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC7D"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/dist/repl.d.ts CHANGED
@@ -1,13 +1,12 @@
1
- /** 按当前语言生成帮助(勿缓存为常量,locale 可切换)。 */
2
- export declare function getHelp(): string;
3
- /** @deprecated 请用 getHelp();保留别名以兼容旧导入。 */
1
+ import { type CommandMode } from "./command-surface.js";
2
+ export declare function playWelcomeAnimation(): Promise<void>;
3
+ export declare function getHelp(mode?: CommandMode): string;
4
+ /** @deprecated 请用 getHelp(mode);保留别名以兼容旧导入。 */
4
5
  export declare const HELP: string;
5
- interface SelectItem {
6
+ /** 来源选择项:方括号 3 字符标签染色(供外部/测试复用) */
7
+ export declare const SOURCE_ITEMS: Array<{
6
8
  label: string;
7
9
  value: string;
8
- }
9
- /** 来源选择项:标签整段染色(含后续 formatSourceTag 的方括号风格) */
10
- export declare const SOURCE_ITEMS: SelectItem[];
10
+ }>;
11
11
  export declare function startRepl(): Promise<void>;
12
- export {};
13
12
  //# sourceMappingURL=repl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AA8DA,oCAAoC;AACpC,wBAAgB,OAAO,IAAI,MAAM,CA4DhC;AAED,2CAA2C;AAC3C,eAAO,MAAM,IAAI,EAOD,MAAM,CAAC;AAyJvB,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AA0QD,+CAA+C;AAC/C,eAAO,MAAM,YAAY,EAAE,UAAU,EAGlC,CAAC;AAkEJ,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAuH/C"}
1
+ {"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAcA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAgN9B,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiD1D;AAcD,wBAAgB,OAAO,CAAC,IAAI,GAAE,WAAoB,GAAG,MAAM,CAE1D;AAED,+CAA+C;AAC/C,eAAO,MAAM,IAAI,EAOD,MAAM,CAAC;AA0fvB,mCAAmC;AACnC,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAG9D,CAAC;AAmBJ,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkR/C"}