@genexus/mercury 0.35.0 → 0.36.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 (41) hide show
  1. package/README.md +0 -29
  2. package/dist/{assets/MERCURY_ASSETS.d.ts → MERCURY_ASSETS.d.ts} +1032 -1018
  3. package/dist/MERCURY_ASSETS.js +1 -0
  4. package/dist/assets/icons/objects/dark/master-panel.svg +1 -0
  5. package/dist/assets/icons/objects/light/master-panel.svg +1 -0
  6. package/dist/assets-manager.d.ts +3 -3
  7. package/dist/bundles/css/all.css +1 -1
  8. package/dist/bundles/css/base/base-globant.css +1 -1
  9. package/dist/bundles/css/base/base.css +1 -1
  10. package/dist/bundles/css/base/icons.css +1 -1
  11. package/dist/components/chat/render.lit.d.ts +14 -2
  12. package/dist/components/chat/render.lit.js +14 -8
  13. package/dist/register-mercury.js +1 -1
  14. package/package.json +14 -26
  15. package/dist/assets/MERCURY_ASSETS.js +0 -1
  16. package/dist/assets/MERCURY_ASSETS.ts +0 -19308
  17. package/dist/assets/images/mercury-favicon-32x32.png +0 -0
  18. package/dist/assets/images/noise-texture-200x200-original.png +0 -0
  19. package/dist/assets/images/noise-texture-200x200.png +0 -0
  20. package/dist/cli/bundle.d.ts +0 -2
  21. package/dist/cli/bundle.js +0 -191
  22. package/dist/cli/internal/constants.d.ts +0 -19
  23. package/dist/cli/internal/constants.js +0 -24
  24. package/dist/cli/internal/create-bundles-with-custom-paths.d.ts +0 -10
  25. package/dist/cli/internal/create-bundles-with-custom-paths.js +0 -114
  26. package/dist/cli/internal/file-management.d.ts +0 -5
  27. package/dist/cli/internal/file-management.js +0 -53
  28. package/dist/cli/internal/print-utils.d.ts +0 -18
  29. package/dist/cli/internal/print-utils.js +0 -35
  30. package/dist/cli/internal/transpile-bundle-and-create-mappings.d.ts +0 -2
  31. package/dist/cli/internal/transpile-bundle-and-create-mappings.js +0 -57
  32. package/dist/cli/internal/types.d.ts +0 -20
  33. package/dist/cli/internal/types.js +0 -1
  34. package/dist/cli/internal/utils.d.ts +0 -14
  35. package/dist/cli/internal/utils.js +0 -47
  36. package/dist/cli/internal/validate-args.d.ts +0 -2
  37. package/dist/cli/internal/validate-args.js +0 -126
  38. package/dist/cli/internal/watch-fs.d.ts +0 -3
  39. package/dist/cli/internal/watch-fs.js +0 -101
  40. package/dist/cli/mercury.d.ts +0 -2
  41. package/dist/cli/mercury.js +0 -14
@@ -1,4 +1,16 @@
1
- import type { ChatMessageRenderBySections, ChatSendContainerLayout } from "@genexus/chameleon-controls-library/dist/types/components/chat/types";
1
+ import { type TemplateResult } from "lit";
2
+ import type { ChatActionsRender, ChatCodeBlockRender, ChatContentRender, ChatMessage, ChatSendContainerLayout } from "@genexus/chameleon-controls-library/dist/types/components/chat/types";
2
3
  import "./mer-animated-dots.js";
3
- export declare const renderItem: ChatMessageRenderBySections;
4
+ export declare const renderItem: {
5
+ readonly actions: ChatActionsRender;
6
+ readonly contentBefore: (message: ChatMessage) => TemplateResult;
7
+ readonly codeBlock: ChatCodeBlockRender;
8
+ readonly content: ChatContentRender;
9
+ readonly file: {
10
+ readonly audio: (file: import("@genexus/chameleon-controls-library/dist/types/components/chat/types").ChatMessageFile) => TemplateResult;
11
+ readonly video: (file: import("@genexus/chameleon-controls-library/dist/types/components/chat/types").ChatMessageFile) => TemplateResult;
12
+ readonly image: (file: import("@genexus/chameleon-controls-library/dist/types/components/chat/types").ChatMessageFile) => TemplateResult;
13
+ readonly file: (file: import("@genexus/chameleon-controls-library/dist/types/components/chat/types").ChatMessageFile) => TemplateResult;
14
+ };
15
+ };
4
16
  export declare const sendContainerLayout: ChatSendContainerLayout;
@@ -36,11 +36,16 @@ import "./mer-animated-dots.js";
36
36
  * @param messageMetaData - Metadata containing agentName and time
37
37
  * @returns TemplateResult rendering the assistant message header
38
38
  */
39
- const messageHeader = (messageMetaData, waiting = false) => {
40
- const agentName = messageMetaData?.agentName;
39
+ const messageHeader = (message) => {
40
+ if (message.role === "system" || message.role === "user") {
41
+ return nothing; // TODO: Improve type safety in the ch-chat (nicolas-camera_globant)
42
+ }
43
+ const agentName = message.metadata?.agentName;
41
44
  const assistantId = agentName?.toLowerCase().replace(/ /g, "-");
42
- const messageTime = messageMetaData?.time;
43
- return html `<div part="header assistant${assistantId ? ` header-${assistantId}` : ""}"><div part="header__start assistant"><div part="header__avatar-container assistant"><div part="header__avatar-border assistant"></div><div part="header__avatar-image assistant"></div></div><div part="header__role assistant">${agentName}</div>${waiting ? html `<mer-animated-dots></mer-animated-dots>` : nothing}</div>${messageTime
45
+ const messageTime = message.metadata?.time;
46
+ return html `<div part="header assistant${assistantId ? ` header-${assistantId}` : ""}"><div part="header__start assistant"><div part="header__avatar-container assistant"><div part="header__avatar-border assistant"></div><div part="header__avatar-image assistant"></div></div><div part="header__role assistant">${agentName}</div>${message.role === "assistant" && message.status === "waiting"
47
+ ? html `<mer-animated-dots></mer-animated-dots>`
48
+ : nothing}</div>${messageTime
44
49
  ? html `<time datetime="${messageTime}" part="header__time assistant">${messageTime}</time>`
45
50
  : nothing}</div>`;
46
51
  };
@@ -48,11 +53,11 @@ const messageHeader = (messageMetaData, waiting = false) => {
48
53
  const customAssistantContentRender = (message, chatRef, codeBlockRender) => {
49
54
  const messageContent = getMessageContent(message);
50
55
  return message.status === "waiting"
51
- ? html `${messageHeader(message.metadata, true)}<div class="assistant-loading" part="${tokenMap({
56
+ ? html `<div class="assistant-loading" part="${tokenMap({
52
57
  [`assistant content waiting ${message.id}`]: true,
53
58
  ...(message.parts ? { [message.parts]: true } : {})
54
59
  })}">${messageContent}</div>`
55
- : html `${messageHeader(message.metadata)}<ch-markdown-viewer part="${tokenMap({
60
+ : html `<ch-markdown-viewer part="${tokenMap({
56
61
  [`assistant content ${message.id} ${message.status ?? DEFAULT_ASSISTANT_STATUS}`]: true,
57
62
  ...(message.parts ? { [message.parts]: true } : {})
58
63
  })}" .renderCode="${
@@ -61,10 +66,10 @@ const customAssistantContentRender = (message, chatRef, codeBlockRender) => {
61
66
  // In Chameleon this type mismatch does not happens. TODO: Evaluate a solution in Chameleon.
62
67
  codeBlockRender(chatRef)}" .showIndicator="${message.status === "streaming"}" .theme="${chatRef.markdownTheme ?? undefined}" .value="${messageContent}"></ch-markdown-viewer>`;
63
68
  };
64
- // customzied in order to add the custom "messageHeader"
69
+ // Customized in order to add the custom "messageHeader"
65
70
  const customErrorContentRender = (message, chatRef, codeBlockRender) => {
66
71
  const errorContent = getMessageContent(message);
67
- return html `${messageHeader(message.metadata)}<ch-markdown-viewer part="${tokenMap({
72
+ return html `<ch-markdown-viewer part="${tokenMap({
68
73
  [`error content ${message.id}`]: true,
69
74
  ...(message.parts ? { [message.parts]: true } : {})
70
75
  })}" .renderCode="${
@@ -88,6 +93,7 @@ const contentRenderByRole = {
88
93
  const customContentRender = (message, chatRef, codeBlockRender) => contentRenderByRole[message.role](message, chatRef, codeBlockRender);
89
94
  export const renderItem = {
90
95
  actions: customActionsRender,
96
+ contentBefore: messageHeader,
91
97
  codeBlock: customCodeBlockRender,
92
98
  content: customContentRender,
93
99
  file: customFileRenders
@@ -1 +1 @@
1
- "use strict";import{MERCURY_ALIAS as r,registerAssets as e}from"./assets-manager.js";import{MERCURY_ASSETS as t}from"./assets/MERCURY_ASSETS.js";export const registerMercury=()=>e("Mercury",r,t);
1
+ "use strict";import{MERCURY_ALIAS as r,registerAssets as e}from"./assets-manager.js";import{MERCURY_ASSETS as t}from"./MERCURY_ASSETS.js";export const registerMercury=()=>e("Mercury",r,t);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genexus/mercury",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "Mercury Design System is a robust and scalable solution designed to improve product development.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -9,20 +9,15 @@
9
9
  "dist/"
10
10
  ],
11
11
  "type": "module",
12
- "bin": {
13
- "mercury": "./dist/cli/mercury.js"
14
- },
15
12
  "exports": {
16
13
  ".": {
17
- "import": {
18
- "types": "./dist/index.d.ts",
19
- "default": "./dist/index.js"
20
- }
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
21
16
  },
22
17
  "./MERCURY_ASSETS.js": {
23
18
  "import": {
24
- "types": "./dist/assets/MERCURY_ASSETS.d.ts",
25
- "default": "./dist/assets/MERCURY_ASSETS.js"
19
+ "types": "./dist/MERCURY_ASSETS.d.ts",
20
+ "default": "./dist/MERCURY_ASSETS.js"
26
21
  }
27
22
  },
28
23
  "./assets-manager.js": {
@@ -54,22 +49,16 @@
54
49
  "./package.json": "./package.json"
55
50
  },
56
51
  "scripts": {
57
- "build": "bun build.js && bun icons-svg && bun icons-sass && bun build.scss && bun copy-tasks",
58
- "build.js": "tsc && node minify-literals.js && esbuild dist/*.js --allow-overwrite --minify --outdir=dist --log-level=silent && esbuild dist/assets/*.js --allow-overwrite --minify --outdir=dist/assets --log-level=silent",
59
- "build-no-svg": "bun build.js && bun build.scss && bun copy-tasks",
60
- "build.scss": "bun build.scss.base && bun build.scss.bundles",
61
- "build.scss.base": "scss-bundle -e ./src/icons/_generated/categories.scss -o src/icons/_generated/categories-bundled.scss --logLevel=silent",
62
- "build.scss.bundles": "node dist/cli/bundle.js",
63
- "build.scss.watch": "tsc && bun build.scss.base && bun copy-tasks && bun build.scss.bundles --watch -i=/assets/icons/ -f=/assets/fonts/ --outDir=../showcase/.mercury/ --avoid-hash=base/base",
64
- "build.scss.test-common": "tsc && bun build.scss.base && bun copy-tasks && bun build.scss.bundles --ci -i=/assets/icons/ -f=/assets/fonts/ --outDir=../common/public/mercury/css/",
65
- "build.scss.helpers": "scss-bundle -e ./src/assets/scss/_helpers.scss -o ./src/assets/scss/helpers-bundled.scss --logLevel=info",
66
- "start": "vite --port 5200 --open showcase/button.html",
52
+ "dev": "tsgo && node minify-literals.js",
53
+ "build": "bun build.js && bun icons-svg && bun icons-sass && bun build.assets",
54
+ "build.js": "tsc && node minify-literals.js && esbuild dist/*.js --allow-overwrite --minify --outdir=dist --log-level=silent",
55
+ "build-no-svg": "bun build.js && bun build.assets",
56
+ "build.assets": "bun build.assets.icons && bun build.assets.bundles",
57
+ "build.assets.icons": "scss-bundle -e ./src/icons/_generated/categories.scss -o src/icons/_generated/categories-bundled.scss --logLevel=silent",
58
+ "build.assets.bundles": "bun run build-scss-and-copy-assets.ts",
67
59
  "process-icons": "ssg --configPath=./src/config/icons.js",
68
60
  "icons-svg": "ssg-svg --srcDir=src/icons/svg-source --outDir=src/assets/icons/_generated/ --configFilePath=src/icons/svg-source/.config/color-states.json --showcaseDir=showcase/icons/ --showcaseBaseHref=../assets/icons/ --logDir=./log --objectFilePath=src/assets/MERCURY_ASSETS.ts --defaultColorType=on-surface",
69
61
  "icons-sass": "ssg-sass --srcDir=src/assets/icons/ --outDir=src/icons/_generated/ --configFilePath=src/icons/svg-source/.config/color-states.json --vendorPrefix=",
70
- "watch.scss": "chokidar src/**/*.scss ../common/**/*.scss -c \"npm run build.scss\"",
71
- "watch.scss.mac": "chokidar 'src/**/*.scss' '../common/**/*.scss' -c \"npm run build.scss\"",
72
- "copy-tasks": "node copy-tasks.js",
73
62
  "coverage": "bun playwright install && vitest watch run --coverage",
74
63
  "validate.ci": "bun lint && bun build-no-svg && bun run test.ci",
75
64
  "lint": "eslint src/**/*.ts --fix",
@@ -83,17 +72,16 @@
83
72
  "devDependencies": {
84
73
  "@eslint/js": "~9.35.0",
85
74
  "@genexus/chameleon-controls-library": "6.22.1",
75
+ "@genexus/mercury-build": "^0.1.0",
86
76
  "@genexus/svg-sass-generator": "1.1.24",
87
77
  "@jackolope/ts-lit-plugin": "^3.1.4",
88
78
  "@types/node": "*",
89
79
  "@typescript-eslint/eslint-plugin": "*",
90
80
  "@typescript-eslint/parser": "*",
81
+ "@typescript/native-preview": "7.0.0-dev.20251104.1",
91
82
  "@vitest/browser": "*",
92
83
  "@vitest/coverage-v8": "*",
93
84
  "@vitest/ui": "*",
94
- "chokidar": "^3.6.0",
95
- "chokidar-cli": "^3.0.0",
96
- "esbuild": "*",
97
85
  "eslint": "*",
98
86
  "globals": "*",
99
87
  "minify-html-literals": "~1.3.5",