ugly-app 0.1.527 → 0.1.529

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 (47) hide show
  1. package/.pgdata/base/24577/1259 +0 -0
  2. package/.pgdata/base/24577/24619 +0 -0
  3. package/.pgdata/base/24577/24619_fsm +0 -0
  4. package/.pgdata/base/24577/24619_vm +0 -0
  5. package/.pgdata/base/24577/24627 +0 -0
  6. package/.pgdata/base/24577/24629 +0 -0
  7. package/.pgdata/base/24577/24629_fsm +0 -0
  8. package/.pgdata/base/24577/24630 +0 -0
  9. package/.pgdata/base/24577/24630_fsm +0 -0
  10. package/.pgdata/base/24577/24638 +0 -0
  11. package/.pgdata/base/24577/24640 +0 -0
  12. package/.pgdata/base/24577/24652 +0 -0
  13. package/.pgdata/base/24577/24652_fsm +0 -0
  14. package/.pgdata/base/24577/24660 +0 -0
  15. package/.pgdata/base/24577/24662 +0 -0
  16. package/.pgdata/base/24577/24662_fsm +0 -0
  17. package/.pgdata/base/24577/25512 +0 -0
  18. package/.pgdata/base/24577/25520 +0 -0
  19. package/.pgdata/base/24577/25522 +0 -0
  20. package/.pgdata/base/24577/25523 +0 -0
  21. package/.pgdata/base/24577/25531 +0 -0
  22. package/.pgdata/base/24577/25533 +0 -0
  23. package/.pgdata/base/24577/25534 +0 -0
  24. package/.pgdata/base/24577/25534_fsm +0 -0
  25. package/.pgdata/base/24577/25542 +0 -0
  26. package/.pgdata/base/24577/25544 +0 -0
  27. package/.pgdata/base/24577/25544_fsm +0 -0
  28. package/.pgdata/base/24577/2619 +0 -0
  29. package/.pgdata/base/24577/2619_fsm +0 -0
  30. package/.pgdata/base/24577/2619_vm +0 -0
  31. package/.pgdata/base/24577/2696 +0 -0
  32. package/.pgdata/global/pg_control +0 -0
  33. package/.pgdata/pg_wal/000000010000000000000008 +0 -0
  34. package/.pgdata/pg_xact/0000 +0 -0
  35. package/dist/cli/version.d.ts +1 -1
  36. package/dist/cli/version.js +1 -1
  37. package/dist/conversation/client/ChatMessageBubble.d.ts.map +1 -1
  38. package/dist/conversation/client/ChatMessageBubble.js +11 -1
  39. package/dist/conversation/client/ChatMessageBubble.js.map +1 -1
  40. package/dist/conversation/server/engine.d.ts +21 -0
  41. package/dist/conversation/server/engine.d.ts.map +1 -0
  42. package/dist/conversation/server/engine.js +3 -0
  43. package/dist/conversation/server/engine.js.map +1 -0
  44. package/package.json +2 -1
  45. package/src/cli/version.ts +1 -1
  46. package/src/conversation/client/ChatMessageBubble.tsx +14 -0
  47. package/src/conversation/server/engine.ts +83 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.527";
1
+ export declare const CLI_VERSION = "0.1.529";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.527";
2
+ export const CLI_VERSION = "0.1.529";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/conversation/client/ChatMessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAsFD,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAkD/E"}
1
+ {"version":3,"file":"ChatMessageBubble.d.ts","sourceRoot":"","sources":["../../../src/conversation/client/ChatMessageBubble.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAiGD,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAqD/E"}
@@ -50,6 +50,16 @@ const timeStyle = {
50
50
  color: 'var(--app-foreground)',
51
51
  opacity: 0.5,
52
52
  };
53
+ const botBadgeStyle = {
54
+ fontSize: 9,
55
+ fontWeight: 700,
56
+ letterSpacing: 0.5,
57
+ color: '#fff',
58
+ background: 'var(--app-primary)',
59
+ borderRadius: 3,
60
+ padding: '1px 4px',
61
+ textTransform: 'uppercase',
62
+ };
53
63
  const bodyStyle = {
54
64
  fontSize: 14,
55
65
  lineHeight: '1.45',
@@ -88,6 +98,6 @@ export function ChatMessageBubble({ message, isGrouped }) {
88
98
  const content = ctx.renderMessage
89
99
  ? ctx.renderMessage(message, defaultRender)
90
100
  : defaultRender();
91
- return (_jsxs("div", { "data-message-id": message.id, style: isGrouped ? rowStyle : rowWithHeaderStyle, onClick: handleClick, children: [isGrouped ? (_jsx("div", { style: avatarPlaceholderStyle })) : (_jsx("div", { style: { ...avatarStyle, backgroundColor: avatarColor(message.userId) }, children: initial })), _jsxs("div", { style: contentColumnStyle, children: [!isGrouped && (_jsxs("div", { style: headerStyle, children: [_jsx("span", { style: nameStyle, children: displayName }), _jsx("span", { style: timeStyle, children: formatTime(message.created) })] })), content] })] }));
101
+ return (_jsxs("div", { "data-message-id": message.id, style: isGrouped ? rowStyle : rowWithHeaderStyle, onClick: handleClick, children: [isGrouped ? (_jsx("div", { style: avatarPlaceholderStyle })) : user?.avatarUrl ? (_jsx("img", { src: user.avatarUrl, alt: "", style: { ...avatarStyle, objectFit: 'cover' } })) : (_jsx("div", { style: { ...avatarStyle, backgroundColor: avatarColor(message.userId) }, children: initial })), _jsxs("div", { style: contentColumnStyle, children: [!isGrouped && (_jsxs("div", { style: headerStyle, children: [_jsx("span", { style: nameStyle, children: displayName }), user?.isBot ? _jsx("span", { style: botBadgeStyle, children: "Bot" }) : null, _jsx("span", { style: timeStyle, children: formatTime(message.created) })] })), content] })] }));
92
102
  }
93
103
  //# sourceMappingURL=ChatMessageBubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageBubble.js","sourceRoot":"","sources":["../../../src/conversation/client/ChatMessageBubble.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessageBubble.js","sourceRoot":"","sources":["../../../src/conversation/client/ChatMessageBubble.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Workers-safe conversation engine barrel.
3
+ *
4
+ * Re-exports the dependency-injected conversation/user engine functions WITHOUT
5
+ * `ConversationServer` — that class statically imports the Node `nats` client
6
+ * (`server/Nats.js`), which can't be bundled for Cloudflare Workers and poisons
7
+ * the whole `./index.js` barrel via tree-shaking-resistant side-effect imports.
8
+ *
9
+ * Use this entry (`ugly-app/conversation/engine`) from Workers-targeted code
10
+ * that drives chat via `setConversationDeps` + the engine functions + trackDocs.
11
+ * Use `ugly-app/conversation/server` (which also exports `enableConversations`
12
+ * and `ConversationServer`) for Node apps that want the built-in AI-chat socket.
13
+ *
14
+ * Export lists mirror `./index.js` exactly (minus ConversationServer/
15
+ * enableConversations) so the two entries stay in sync.
16
+ */
17
+ export type { ConversationDeps } from './ConversationDeps.js';
18
+ export type { ConversationConfig, AIChatConfig, AIChatSession, AIChatMessage, AIChatTool, ConversationHooks, EmailFalloverConfig, SmsFalloverConfig, } from './types.js';
19
+ export { setConversationDeps, conversationCreate, conversationDelete, conversationDeleteAll, conversationGet, conversationLoad, conversationSearch, conversationMessageCreate, conversationMessageDelete, conversationMessageEdit, conversationMessageGet, conversationMessageSearch, conversationMessageReact, conversationMessageContinue, conversationMessageUpdate, conversationSetFields, conversationSetTyping, conversationRunHourly, conversationWebPageUpdated, conversationUpdateChargeUserIds, conversationGetName, getConversationTitle, messageGetText, textMaxLength, dispatchConversationHourly, dispatchConversationStart, dispatchConversationUserAdd, dispatchConversationUserVisible, dispatchConversationEmail, conversationHourly, conversationMessageCreateInternal, } from './Conversation.js';
20
+ export { setConversationUserDeps, conversationUserGet, conversationUserGetAll, conversationUserGetOwners, conversationUserGetChargeUserIds, conversationBotGetAll, conversationUserAdd, conversationBotAdd, conversationUserRemove, conversationBotRemove, conversationUserPublicSetButtons, conversationUserPublicContextMenuSet, conversationUserPrivateButtonsSet, conversationUserPrivateContextMenuSet, conversationUserPrivateUpdate, conversationUserUpdateRole, conversationBotUpdateParams, conversationBotRun, conversationDeleteUnpinned, } from './ConversationUser.js';
21
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/conversation/server/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,iCAAiC,GAClC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,gCAAgC,EAChC,oCAAoC,EACpC,iCAAiC,EACjC,qCAAqC,EACrC,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { setConversationDeps, conversationCreate, conversationDelete, conversationDeleteAll, conversationGet, conversationLoad, conversationSearch, conversationMessageCreate, conversationMessageDelete, conversationMessageEdit, conversationMessageGet, conversationMessageSearch, conversationMessageReact, conversationMessageContinue, conversationMessageUpdate, conversationSetFields, conversationSetTyping, conversationRunHourly, conversationWebPageUpdated, conversationUpdateChargeUserIds, conversationGetName, getConversationTitle, messageGetText, textMaxLength, dispatchConversationHourly, dispatchConversationStart, dispatchConversationUserAdd, dispatchConversationUserVisible, dispatchConversationEmail, conversationHourly, conversationMessageCreateInternal, } from './Conversation.js';
2
+ export { setConversationUserDeps, conversationUserGet, conversationUserGetAll, conversationUserGetOwners, conversationUserGetChargeUserIds, conversationBotGetAll, conversationUserAdd, conversationBotAdd, conversationUserRemove, conversationBotRemove, conversationUserPublicSetButtons, conversationUserPublicContextMenuSet, conversationUserPrivateButtonsSet, conversationUserPrivateContextMenuSet, conversationUserPrivateUpdate, conversationUserUpdateRole, conversationBotUpdateParams, conversationBotRun, conversationDeleteUnpinned, } from './ConversationUser.js';
3
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/conversation/server/engine.ts"],"names":[],"mappings":"AA4BA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,iCAAiC,GAClC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,gCAAgC,EAChC,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,gCAAgC,EAChC,oCAAoC,EACpC,iCAAiC,EACjC,qCAAqC,EACrC,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.527",
3
+ "version": "0.1.529",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -16,6 +16,7 @@
16
16
  "./markdown/client": "./dist/markdown/client/index.js",
17
17
  "./conversation/shared": "./dist/conversation/shared/index.js",
18
18
  "./conversation/server": "./dist/conversation/server/index.js",
19
+ "./conversation/engine": "./dist/conversation/server/engine.js",
19
20
  "./conversation/client": "./dist/conversation/client/index.js",
20
21
  "./webrtc": {
21
22
  "default": "./dist/webrtc/index.js"
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.527";
2
+ export const CLI_VERSION = "0.1.529";
@@ -65,6 +65,17 @@ const timeStyle: CSSProperties = {
65
65
  opacity: 0.5,
66
66
  };
67
67
 
68
+ const botBadgeStyle: CSSProperties = {
69
+ fontSize: 9,
70
+ fontWeight: 700,
71
+ letterSpacing: 0.5,
72
+ color: '#fff',
73
+ background: 'var(--app-primary)',
74
+ borderRadius: 3,
75
+ padding: '1px 4px',
76
+ textTransform: 'uppercase',
77
+ };
78
+
68
79
  const bodyStyle: CSSProperties = {
69
80
  fontSize: 14,
70
81
  lineHeight: '1.45',
@@ -126,6 +137,8 @@ export function ChatMessageBubble({ message, isGrouped }: ChatMessageBubbleProps
126
137
  >
127
138
  {isGrouped ? (
128
139
  <div style={avatarPlaceholderStyle} />
140
+ ) : user?.avatarUrl ? (
141
+ <img src={user.avatarUrl} alt="" style={{ ...avatarStyle, objectFit: 'cover' }} />
129
142
  ) : (
130
143
  <div style={{ ...avatarStyle, backgroundColor: avatarColor(message.userId) }}>
131
144
  {initial}
@@ -135,6 +148,7 @@ export function ChatMessageBubble({ message, isGrouped }: ChatMessageBubbleProps
135
148
  {!isGrouped && (
136
149
  <div style={headerStyle}>
137
150
  <span style={nameStyle}>{displayName}</span>
151
+ {user?.isBot ? <span style={botBadgeStyle}>Bot</span> : null}
138
152
  <span style={timeStyle}>{formatTime(message.created)}</span>
139
153
  </div>
140
154
  )}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Workers-safe conversation engine barrel.
3
+ *
4
+ * Re-exports the dependency-injected conversation/user engine functions WITHOUT
5
+ * `ConversationServer` — that class statically imports the Node `nats` client
6
+ * (`server/Nats.js`), which can't be bundled for Cloudflare Workers and poisons
7
+ * the whole `./index.js` barrel via tree-shaking-resistant side-effect imports.
8
+ *
9
+ * Use this entry (`ugly-app/conversation/engine`) from Workers-targeted code
10
+ * that drives chat via `setConversationDeps` + the engine functions + trackDocs.
11
+ * Use `ugly-app/conversation/server` (which also exports `enableConversations`
12
+ * and `ConversationServer`) for Node apps that want the built-in AI-chat socket.
13
+ *
14
+ * Export lists mirror `./index.js` exactly (minus ConversationServer/
15
+ * enableConversations) so the two entries stay in sync.
16
+ */
17
+ export type { ConversationDeps } from './ConversationDeps.js';
18
+ export type {
19
+ ConversationConfig,
20
+ AIChatConfig,
21
+ AIChatSession,
22
+ AIChatMessage,
23
+ AIChatTool,
24
+ ConversationHooks,
25
+ EmailFalloverConfig,
26
+ SmsFalloverConfig,
27
+ } from './types.js';
28
+
29
+ export {
30
+ setConversationDeps,
31
+ conversationCreate,
32
+ conversationDelete,
33
+ conversationDeleteAll,
34
+ conversationGet,
35
+ conversationLoad,
36
+ conversationSearch,
37
+ conversationMessageCreate,
38
+ conversationMessageDelete,
39
+ conversationMessageEdit,
40
+ conversationMessageGet,
41
+ conversationMessageSearch,
42
+ conversationMessageReact,
43
+ conversationMessageContinue,
44
+ conversationMessageUpdate,
45
+ conversationSetFields,
46
+ conversationSetTyping,
47
+ conversationRunHourly,
48
+ conversationWebPageUpdated,
49
+ conversationUpdateChargeUserIds,
50
+ conversationGetName,
51
+ getConversationTitle,
52
+ messageGetText,
53
+ textMaxLength,
54
+ dispatchConversationHourly,
55
+ dispatchConversationStart,
56
+ dispatchConversationUserAdd,
57
+ dispatchConversationUserVisible,
58
+ dispatchConversationEmail,
59
+ conversationHourly,
60
+ conversationMessageCreateInternal,
61
+ } from './Conversation.js';
62
+
63
+ export {
64
+ setConversationUserDeps,
65
+ conversationUserGet,
66
+ conversationUserGetAll,
67
+ conversationUserGetOwners,
68
+ conversationUserGetChargeUserIds,
69
+ conversationBotGetAll,
70
+ conversationUserAdd,
71
+ conversationBotAdd,
72
+ conversationUserRemove,
73
+ conversationBotRemove,
74
+ conversationUserPublicSetButtons,
75
+ conversationUserPublicContextMenuSet,
76
+ conversationUserPrivateButtonsSet,
77
+ conversationUserPrivateContextMenuSet,
78
+ conversationUserPrivateUpdate,
79
+ conversationUserUpdateRole,
80
+ conversationBotUpdateParams,
81
+ conversationBotRun,
82
+ conversationDeleteUnpinned,
83
+ } from './ConversationUser.js';