@theia/ai-history 1.60.2 → 1.61.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-history-communication-card.d.ts","sourceRoot":"","sources":["../../src/browser/ai-history-communication-card.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,yBAAyB,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmF9D,CAAC"}
1
+ {"version":3,"file":"ai-history-communication-card.d.ts","sourceRoot":"","sources":["../../src/browser/ai-history-communication-card.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,yBAAyB,CAAC;CACpC;AAsBD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA2D1D,CAAC"}
@@ -3,72 +3,69 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommunicationCard = void 0;
4
4
  const core_1 = require("@theia/core");
5
5
  const React = require("@theia/core/shared/react");
6
- const CommunicationCard = ({ entry }) => {
7
- // Format JSON with error handling
8
- const formatJson = (data) => {
9
- try {
10
- return JSON.stringify(data, undefined, 2);
11
- }
12
- catch (error) {
13
- console.error('Error formatting JSON:', error);
14
- return 'Error formatting data';
15
- }
16
- };
17
- // Format the timestamp for better readability
18
- const formatTimestamp = (timestamp) => new Date(timestamp).toLocaleString(undefined, {
19
- year: 'numeric',
20
- month: 'short',
21
- day: 'numeric',
22
- hour: '2-digit',
23
- minute: '2-digit',
24
- second: '2-digit'
25
- });
26
- ;
27
- return (React.createElement("div", { className: 'theia-card', role: "article", "aria-label": `Communication log for request ${entry.requestId}` },
28
- React.createElement("div", { className: 'theia-card-meta' },
29
- React.createElement("span", { className: 'theia-card-request-id' },
30
- core_1.nls.localize('theia/ai/history/communication-card/requestId', 'Request ID'),
31
- ": ",
32
- entry.requestId),
33
- React.createElement("span", { className: 'theia-card-session-id' },
34
- core_1.nls.localize('theia/ai/history/communication-card/sessionId', 'Session ID'),
35
- ": ",
36
- entry.sessionId)),
37
- React.createElement("div", { className: 'theia-card-content' },
38
- entry.request && (React.createElement("div", { className: 'theia-card-request' },
39
- React.createElement("h2", null, core_1.nls.localize('theia/ai/history/communication-card/request', 'Request')),
40
- React.createElement("details", { key: `request-${entry.requestId}` },
41
- React.createElement("summary", null,
42
- React.createElement("h3", null,
43
- core_1.nls.localize('theia/ai/history/communication-card/request/summary', 'Request'),
44
- " ",
45
- entry.requestId)),
46
- React.createElement("div", { className: 'theia-card-request-messages' },
47
- React.createElement("h4", null, core_1.nls.localize('theia/ai/history/communication-card/request/messages', 'Messages')),
48
- React.createElement("ul", { className: 'theia-card-request-messages-list' }, entry.request.map((message, index) => (React.createElement("li", { key: `message-${entry.requestId}-${index}`, className: "message-item" },
49
- React.createElement("pre", { className: "message-content" }, formatJson(message)))))))))),
50
- entry.response && (React.createElement("div", { className: 'theia-card-response' },
51
- React.createElement("h2", null, core_1.nls.localize('theia/ai/history/communication-card/response', 'Response')),
52
- React.createElement("details", { key: `response-${entry.requestId}` },
53
- React.createElement("summary", null,
54
- React.createElement("h3", null,
55
- core_1.nls.localize('theia/ai/history/communication-card/response/summary', 'Response'),
56
- " ",
57
- entry.requestId)),
58
- React.createElement("div", { className: 'theia-card-response-messages' },
59
- React.createElement("h4", null, core_1.nls.localize('theia/ai/history/communication-card/response/messages', 'Messages')),
60
- React.createElement("ul", { className: 'theia-card-response-messages-list' }, entry.response.map((message, index) => (React.createElement("li", { key: `message-${entry.requestId}-${index}`, className: "message-item" },
61
- React.createElement("pre", { className: "message-content" }, formatJson(message))))))))))),
62
- React.createElement("div", { className: 'theia-card-meta' },
63
- React.createElement("span", { className: 'theia-card-timestamp' },
64
- core_1.nls.localize('theia/ai/history/communication-card/timestamp', 'Timestamp'),
65
- ": ",
66
- formatTimestamp(entry.timestamp)),
67
- entry.responseTime !== undefined && (React.createElement("span", { className: 'theia-card-response-time' },
68
- core_1.nls.localize('theia/ai/history/communication-card/responseTime', 'Response Time'),
69
- ": ",
70
- entry.responseTime,
71
- "ms")))));
6
+ // Format JSON with error handling
7
+ const formatJson = (data) => {
8
+ try {
9
+ return JSON.stringify(data, undefined, 2).split(/(?:\\r)?\\n/).flatMap((stringChunk, i) => [stringChunk, React.createElement("br", { key: stringChunk + i })]);
10
+ }
11
+ catch (error) {
12
+ console.error('Error formatting JSON:', error);
13
+ return 'Error formatting data';
14
+ }
72
15
  };
16
+ // Format the timestamp for better readability
17
+ const formatTimestamp = (timestamp) => new Date(timestamp).toLocaleString(undefined, {
18
+ year: 'numeric',
19
+ month: 'short',
20
+ day: 'numeric',
21
+ hour: '2-digit',
22
+ minute: '2-digit',
23
+ second: '2-digit'
24
+ });
25
+ const CommunicationCard = ({ entry }) => (React.createElement("div", { className: 'theia-card', role: "article", "aria-label": `Communication log for request ${entry.requestId}` },
26
+ React.createElement("div", { className: 'theia-card-meta' },
27
+ React.createElement("span", { className: 'theia-card-request-id' },
28
+ core_1.nls.localize('theia/ai/history/communication-card/requestId', 'Request ID'),
29
+ ": ",
30
+ entry.requestId),
31
+ React.createElement("span", { className: 'theia-card-session-id' },
32
+ core_1.nls.localize('theia/ai/history/communication-card/sessionId', 'Session ID'),
33
+ ": ",
34
+ entry.sessionId)),
35
+ React.createElement("div", { className: 'theia-card-content' },
36
+ entry.request && (React.createElement("div", { className: 'theia-card-request' },
37
+ React.createElement("h2", null, core_1.nls.localize('theia/ai/history/communication-card/request', 'Request')),
38
+ React.createElement("details", { key: `request-${entry.requestId}` },
39
+ React.createElement("summary", null,
40
+ React.createElement("h3", null,
41
+ core_1.nls.localize('theia/ai/history/communication-card/request/summary', 'Request'),
42
+ " ",
43
+ entry.requestId)),
44
+ React.createElement("div", { className: 'theia-card-request-messages' },
45
+ React.createElement("h4", null, core_1.nls.localize('theia/ai/history/communication-card/request/messages', 'Messages')),
46
+ React.createElement("ul", { className: 'theia-card-request-messages-list' }, entry.request.map((message, index) => (React.createElement("li", { key: `message-${entry.requestId}-${index}`, className: "message-item" },
47
+ React.createElement("pre", { className: "message-content" }, formatJson(message)))))))))),
48
+ entry.response && (React.createElement("div", { className: 'theia-card-response' },
49
+ React.createElement("h2", null, core_1.nls.localize('theia/ai/history/communication-card/response', 'Response')),
50
+ React.createElement("details", { key: `response-${entry.requestId}` },
51
+ React.createElement("summary", null,
52
+ React.createElement("h3", null,
53
+ core_1.nls.localize('theia/ai/history/communication-card/response/summary', 'Response'),
54
+ " ",
55
+ entry.requestId)),
56
+ React.createElement("div", { className: 'theia-card-response-messages' },
57
+ React.createElement("h4", null, core_1.nls.localize('theia/ai/history/communication-card/response/messages', 'Messages')),
58
+ React.createElement("ul", { className: 'theia-card-response-messages-list' }, entry.response.map((message, index) => (React.createElement("li", { key: `message-${entry.requestId}-${index}`, className: "message-item" },
59
+ React.createElement("pre", { className: "message-content" }, formatJson(message))))))))))),
60
+ React.createElement("div", { className: 'theia-card-meta' },
61
+ React.createElement("span", { className: 'theia-card-timestamp' },
62
+ core_1.nls.localize('theia/ai/history/communication-card/timestamp', 'Timestamp'),
63
+ ": ",
64
+ formatTimestamp(entry.timestamp)),
65
+ entry.responseTime !== undefined && (React.createElement("span", { className: 'theia-card-response-time' },
66
+ core_1.nls.localize('theia/ai/history/communication-card/responseTime', 'Response Time'),
67
+ ": ",
68
+ entry.responseTime,
69
+ "ms")))));
73
70
  exports.CommunicationCard = CommunicationCard;
74
71
  //# sourceMappingURL=ai-history-communication-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-history-communication-card.js","sourceRoot":"","sources":["../../src/browser/ai-history-communication-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-history-communication-card.js","sourceRoot":"","sources":["../../src/browser/ai-history-communication-card.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@theia/ai-history",
3
- "version": "1.60.2",
3
+ "version": "1.61.0",
4
4
  "description": "Theia - AI communication history",
5
5
  "dependencies": {
6
- "@theia/ai-core": "1.60.2",
7
- "@theia/core": "1.60.2",
8
- "@theia/filesystem": "1.60.2",
9
- "@theia/output": "1.60.2",
10
- "@theia/workspace": "1.60.2",
6
+ "@theia/ai-core": "1.61.0",
7
+ "@theia/core": "1.61.0",
8
+ "@theia/filesystem": "1.61.0",
9
+ "@theia/output": "1.61.0",
10
+ "@theia/workspace": "1.61.0",
11
11
  "minimatch": "^5.1.0",
12
12
  "tslib": "^2.6.2"
13
13
  },
@@ -45,10 +45,10 @@
45
45
  "watch": "theiaext watch"
46
46
  },
47
47
  "devDependencies": {
48
- "@theia/ext-scripts": "1.60.2"
48
+ "@theia/ext-scripts": "1.61.0"
49
49
  },
50
50
  "nyc": {
51
51
  "extends": "../../configs/nyc.json"
52
52
  },
53
- "gitHead": "20a341b4c41053bfa2c6efc9ff07ac967da077f2"
53
+ "gitHead": "c99af52568c2e1f453c80c1b0d1fb73c3a23dcc0"
54
54
  }
@@ -20,31 +20,28 @@ import * as React from '@theia/core/shared/react';
20
20
  export interface CommunicationCardProps {
21
21
  entry: CommunicationHistoryEntry;
22
22
  }
23
+ // Format JSON with error handling
24
+ const formatJson = (data: unknown): React.ReactNode => {
25
+ try {
26
+ return JSON.stringify(data, undefined, 2).split(/(?:\\r)?\\n/).flatMap((stringChunk, i) => [stringChunk, <br key={stringChunk + i}/>]);
27
+ } catch (error) {
28
+ console.error('Error formatting JSON:', error);
29
+ return 'Error formatting data';
30
+ }
31
+ };
23
32
 
24
- export const CommunicationCard: React.FC<CommunicationCardProps> = ({ entry }) => {
25
- // Format JSON with error handling
26
- const formatJson = (data: unknown): string => {
27
- try {
28
- return JSON.stringify(data, undefined, 2);
29
- } catch (error) {
30
- console.error('Error formatting JSON:', error);
31
- return 'Error formatting data';
32
- }
33
- };
34
-
35
- // Format the timestamp for better readability
36
- const formatTimestamp = (timestamp: number): string =>
37
- new Date(timestamp).toLocaleString(undefined, {
38
- year: 'numeric',
39
- month: 'short',
40
- day: 'numeric',
41
- hour: '2-digit',
42
- minute: '2-digit',
43
- second: '2-digit'
44
- });
45
- ;
33
+ // Format the timestamp for better readability
34
+ const formatTimestamp = (timestamp: number): string =>
35
+ new Date(timestamp).toLocaleString(undefined, {
36
+ year: 'numeric',
37
+ month: 'short',
38
+ day: 'numeric',
39
+ hour: '2-digit',
40
+ minute: '2-digit',
41
+ second: '2-digit'
42
+ });
46
43
 
47
- return (
44
+ export const CommunicationCard: React.FC<CommunicationCardProps> = ({ entry }) => (
48
45
  <div className='theia-card' role="article" aria-label={`Communication log for request ${entry.requestId}`}>
49
46
  <div className='theia-card-meta'>
50
47
  <span className='theia-card-request-id'>{nls.localize('theia/ai/history/communication-card/requestId', 'Request ID')}: {entry.requestId}</span>
@@ -104,4 +101,3 @@ export const CommunicationCard: React.FC<CommunicationCardProps> = ({ entry }) =
104
101
  </div>
105
102
  </div>
106
103
  );
107
- };
@@ -110,6 +110,7 @@
110
110
  .theia-card-request pre,
111
111
  .theia-card-response pre {
112
112
  background-color: var(--theia-editor-background);
113
+ text-wrap: wrap;
113
114
  }
114
115
 
115
116
  .theia-card-request,