@difizen/libro-prompt-cell 0.3.1 → 0.3.3

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/es/code-block.d.ts +3 -0
  2. package/es/code-block.d.ts.map +1 -0
  3. package/es/code-block.js +110 -0
  4. package/es/index.less +69 -6
  5. package/es/input-handler/variable-name-input.d.ts +6 -6
  6. package/es/input-handler/variable-name-input.d.ts.map +1 -1
  7. package/es/interpreter-code-output-render.d.ts +6 -0
  8. package/es/interpreter-code-output-render.d.ts.map +1 -0
  9. package/es/interpreter-code-output-render.js +25 -0
  10. package/es/interpreter-code-output-rendermime-contribution.d.ts +13 -0
  11. package/es/interpreter-code-output-rendermime-contribution.d.ts.map +1 -0
  12. package/es/interpreter-code-output-rendermime-contribution.js +22 -0
  13. package/es/libro-formatter-prompt-magic-contribution.d.ts +15 -1
  14. package/es/libro-formatter-prompt-magic-contribution.d.ts.map +1 -1
  15. package/es/libro-formatter-prompt-magic-contribution.js +18 -2
  16. package/es/module.d.ts.map +1 -1
  17. package/es/module.js +2 -1
  18. package/es/prompt-cell-model.d.ts +14 -18
  19. package/es/prompt-cell-model.d.ts.map +1 -1
  20. package/es/prompt-cell-model.js +66 -27
  21. package/es/prompt-cell-protocol.d.ts +7 -0
  22. package/es/prompt-cell-protocol.d.ts.map +1 -1
  23. package/es/prompt-cell-script.d.ts +1 -0
  24. package/es/prompt-cell-script.d.ts.map +1 -1
  25. package/es/prompt-cell-script.js +3 -0
  26. package/es/prompt-cell-view.d.ts +16 -9
  27. package/es/prompt-cell-view.d.ts.map +1 -1
  28. package/es/prompt-cell-view.js +329 -62
  29. package/es/prompt-output-render.d.ts.map +1 -1
  30. package/es/prompt-output-render.js +17 -3
  31. package/package.json +11 -6
  32. package/src/code-block.tsx +107 -0
  33. package/src/index.less +69 -6
  34. package/src/input-handler/variable-name-input.tsx +6 -6
  35. package/src/interpreter-code-output-render.tsx +28 -0
  36. package/src/interpreter-code-output-rendermime-contribution.ts +18 -0
  37. package/src/libro-formatter-prompt-magic-contribution.ts +21 -0
  38. package/src/module.ts +2 -0
  39. package/src/prompt-cell-model.ts +42 -11
  40. package/src/prompt-cell-protocol.ts +8 -0
  41. package/src/prompt-cell-script.ts +3 -0
  42. package/src/prompt-cell-view.tsx +251 -14
  43. package/src/prompt-output-render.tsx +22 -8
  44. package/es/libro-llm-render.d.ts +0 -10
  45. package/es/libro-llm-render.d.ts.map +0 -1
  46. package/es/libro-llm-render.js +0 -75
  47. package/src/libro-llm-render.tsx +0 -64
@@ -0,0 +1,3 @@
1
+ export declare const CodeBlock: (props: any) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const InterpreterCodeBlock: (props: any) => import("react/jsx-runtime").JSX.Element | null;
3
+ //# sourceMappingURL=code-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../src/code-block.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,SAAS,UAAW,GAAG,4CA2BnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,GAAG,mDAoE9C,CAAC"}
@@ -0,0 +1,110 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { CopyOutlined, EditOutlined } from '@ant-design/icons';
8
+ import { copy2clipboard } from '@difizen/libro-jupyter';
9
+ import { useInject, ViewInstance } from '@difizen/mana-app';
10
+ import { Collapse } from 'antd';
11
+ import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
12
+ import { LibroPromptCellView } from "./prompt-cell-view.js";
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ export var CodeBlock = function CodeBlock(props) {
16
+ var className = props.className,
17
+ children = props.children;
18
+ if (!props.inline && className) {
19
+ var _ref = /language-(\w+)/.exec(className || '') || [],
20
+ _ref2 = _slicedToArray(_ref, 2),
21
+ lang = _ref2[1];
22
+ return /*#__PURE__*/_jsxs("pre", {
23
+ className: "chat-msg-md-code-wrap",
24
+ children: [lang && /*#__PURE__*/_jsx("div", {
25
+ className: "chat-msg-md-code-lang",
26
+ children: lang
27
+ }), /*#__PURE__*/_jsx(CopyOutlined, {
28
+ onClick: function onClick() {
29
+ copy2clipboard(children);
30
+ },
31
+ className: "chat-msg-md-code-copy"
32
+ }), /*#__PURE__*/_jsx(SyntaxHighlighter, {
33
+ className: "libro-llm-syntax-highlighter",
34
+ language: lang,
35
+ style: {},
36
+ children: typeof children === 'string' ? children.trim() : children
37
+ })]
38
+ });
39
+ }
40
+ return /*#__PURE__*/_jsx("code", {
41
+ className: "chat-msg-md-code-code",
42
+ children: children
43
+ });
44
+ };
45
+ export var InterpreterCodeBlock = function InterpreterCodeBlock(props) {
46
+ var className = props.className,
47
+ children = props.children;
48
+ var instance = useInject(ViewInstance);
49
+ var cell = instance.cell;
50
+ if (!(cell instanceof LibroPromptCellView)) {
51
+ return null;
52
+ }
53
+ var replace = function replace(data) {
54
+ if (cell.editor) {
55
+ var length = cell.editor.model.value.length;
56
+ var start = cell.editor.getPositionAt(0);
57
+ var end = cell.editor.getPositionAt(length);
58
+ if (start && end) {
59
+ cell.editor.replaceSelection(data, {
60
+ start: start,
61
+ end: end
62
+ });
63
+ }
64
+ }
65
+ };
66
+ if (!props.inline && className) {
67
+ var _ref3 = /language-(\w+)/.exec(className || '') || [],
68
+ _ref4 = _slicedToArray(_ref3, 2),
69
+ lang = _ref4[1];
70
+ return /*#__PURE__*/_jsx(Collapse, {
71
+ ghost: true,
72
+ items: [{
73
+ key: '1',
74
+ label: 'Code',
75
+ children: /*#__PURE__*/_jsx("p", {
76
+ children: /*#__PURE__*/_jsx("div", {
77
+ className: "libro-code-interpreter-code",
78
+ children: /*#__PURE__*/_jsxs("pre", {
79
+ className: "chat-msg-md-code-wrap",
80
+ children: [/*#__PURE__*/_jsxs("div", {
81
+ className: "libro-interpreter-edit-container",
82
+ onClick: function onClick() {
83
+ cell.interpreterEditMode = true;
84
+ if (cell.model.interpreterCode) {
85
+ replace(cell.model.interpreterCode);
86
+ }
87
+ },
88
+ children: [/*#__PURE__*/_jsx("div", {
89
+ className: "libro-interpreter-edit-tip",
90
+ children: "\u4EE3\u7801\u7F16\u8F91"
91
+ }), /*#__PURE__*/_jsx(EditOutlined, {
92
+ className: "libro-interpreter-edit-icon"
93
+ })]
94
+ }), /*#__PURE__*/_jsx(SyntaxHighlighter, {
95
+ className: "libro-llm-syntax-highlighter",
96
+ language: lang,
97
+ style: {},
98
+ children: typeof children === 'string' ? children.trim() : children
99
+ })]
100
+ })
101
+ })
102
+ })
103
+ }]
104
+ });
105
+ }
106
+ return /*#__PURE__*/_jsx("code", {
107
+ className: "chat-msg-md-code-code",
108
+ children: children
109
+ });
110
+ };
package/es/index.less CHANGED
@@ -1,7 +1,29 @@
1
+ @ant-prefix: ant;
2
+
1
3
  .libro-prompt-cell-header {
2
4
  display: flex;
3
5
  align-items: center;
4
6
  justify-content: space-between;
7
+ border-bottom: 1px solid var(--mana-libro-code-border-color);
8
+ }
9
+
10
+ .libro-interpreter-code-output-render {
11
+ padding: 10px 24px;
12
+
13
+ .@{ant-prefix}-collapse-content > .@{ant-prefix}-collapse-content-box {
14
+ padding: unset;
15
+ }
16
+ .@{ant-prefix}-collapse-ghost
17
+ > .@{ant-prefix}-collapse-item
18
+ > .@{ant-prefix}-collapse-content
19
+ > .@{ant-prefix}-collapse-content-box {
20
+ padding: unset;
21
+ }
22
+ .@{ant-prefix}-collapse
23
+ > .@{ant-prefix}-collapse-item
24
+ > .@{ant-prefix}-collapse-header {
25
+ padding: unset;
26
+ }
5
27
  }
6
28
 
7
29
  .libro-llm-hljs {
@@ -36,17 +58,13 @@
36
58
  }
37
59
  }
38
60
 
39
- .libro-llm-output-render {
40
- p {
41
- color: var(--mana-libro-llm-response-output-text-color);
42
- }
43
- }
44
-
45
61
  .libro-prompt-output-render-container {
46
62
  padding: 10px 24px;
47
63
  }
48
64
 
49
65
  .libro-prompt-output-llm-render {
66
+ color: var(--mana-libro-llm-response-output-text-color);
67
+
50
68
  .libro-llm-output-render pre {
51
69
  background: #f4f6fb;
52
70
  padding: 16px;
@@ -70,3 +88,48 @@
70
88
  }
71
89
  }
72
90
  }
91
+
92
+ .libro-prompt-cell-model-tip,
93
+ .libro-prompt-cell-model-prompt {
94
+ padding: 10px 24px;
95
+ }
96
+
97
+ .libro-prompt-cell-model-prompt {
98
+ border-bottom: 1px solid var(--mana-color-border);
99
+ }
100
+
101
+ .libro-prompt-cell-model-tip {
102
+ color: var(--mana-libro-llm-response-output-text-color);
103
+ }
104
+
105
+ .libro-interpreter-edit-tip {
106
+ margin-right: 4px;
107
+ }
108
+
109
+ .libro-interpreter-edit-container {
110
+ display: flex;
111
+ position: absolute;
112
+ margin-top: 4px;
113
+ z-index: 100;
114
+ right: 0;
115
+ align-items: center;
116
+ padding: 0 8px;
117
+ color: #bdc0c4;
118
+ cursor: pointer;
119
+
120
+ &:hover {
121
+ color: #1590ff;
122
+ }
123
+ }
124
+
125
+ .libro-prompt-cell-right-header {
126
+ display: flex;
127
+ }
128
+
129
+ .libro-prompt-cell-interpreter-switch {
130
+ margin: 0 6px;
131
+ }
132
+
133
+ .libro-prompt-cell-interpreter-header-container {
134
+ display: inline-block;
135
+ }
@@ -1,16 +1,16 @@
1
1
  import type { FC } from 'react';
2
2
  import './index.less';
3
3
  interface VariableNameInputPopoverContentProps {
4
- value: string;
5
- handleVariableNameChange: (variableName: string) => void;
6
- checkVariableNameAvailable: (variableName: string) => boolean;
4
+ value?: string;
5
+ handleVariableNameChange: (variableName?: string) => void;
6
+ checkVariableNameAvailable: (variableName?: string) => boolean;
7
7
  cancel: () => void;
8
8
  }
9
9
  export declare const VariableNameInputPopoverContent: FC<VariableNameInputPopoverContentProps>;
10
10
  interface VariableNameInputProps {
11
- value: string;
12
- handleVariableNameChange: (variableName: string) => void;
13
- checkVariableNameAvailable: (variableName: string) => boolean;
11
+ value?: string;
12
+ handleVariableNameChange: (variableName?: string) => void;
13
+ checkVariableNameAvailable: (variableName?: string) => boolean;
14
14
  classname?: string;
15
15
  }
16
16
  export declare const VariableNameInput: FC<VariableNameInputProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"variable-name-input.d.ts","sourceRoot":"","sources":["../../src/input-handler/variable-name-input.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,cAAc,CAAC;AAEtB,UAAU,oCAAoC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,0BAA0B,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9D,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,EAAE,EAAE,CAC9C,oCAAoC,CAgDrC,CAAC;AAEF,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,0BAA0B,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA2CxD,CAAC"}
1
+ {"version":3,"file":"variable-name-input.d.ts","sourceRoot":"","sources":["../../src/input-handler/variable-name-input.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,cAAc,CAAC;AAEtB,UAAU,oCAAoC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,0BAA0B,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/D,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,EAAE,EAAE,CAC9C,oCAAoC,CAgDrC,CAAC;AAEF,UAAU,sBAAsB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,0BAA0B,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA2CxD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { BaseOutputView } from '@difizen/libro-jupyter';
2
+ import React from 'react';
3
+ export declare const InterpreterCodeOutputRender: React.FC<{
4
+ model: BaseOutputView;
5
+ }>;
6
+ //# sourceMappingURL=interpreter-code-output-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpreter-code-output-render.d.ts","sourceRoot":"","sources":["../src/interpreter-code-output-render.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC;IACjD,KAAK,EAAE,cAAc,CAAC;CACvB,CAmBA,CAAC"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { InterpreterCodeBlock } from "./code-block.js";
3
+ import { LibroPromptCellView } from "./prompt-cell-view.js";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export var InterpreterCodeOutputRender = function InterpreterCodeOutputRender(props) {
6
+ var model = props.model;
7
+ if (!model.data['application/vnd.libro.interpreter.code+text']) {
8
+ return null;
9
+ }
10
+ if (!(model.cell instanceof LibroPromptCellView)) {
11
+ return null;
12
+ }
13
+ var data = model.data['application/vnd.libro.interpreter.code+text'];
14
+ model.cell.model.interpreterCode = data;
15
+ return /*#__PURE__*/_jsx("div", {
16
+ className: "libro-interpreter-code-output-render-container",
17
+ children: /*#__PURE__*/_jsx("div", {
18
+ className: "libro-interpreter-code-output-render",
19
+ children: /*#__PURE__*/_jsx(InterpreterCodeBlock, {
20
+ className: "language-python",
21
+ children: data
22
+ })
23
+ })
24
+ });
25
+ };
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" resolution-mode="require"/>
2
+ import type { BaseOutputView } from '@difizen/libro-jupyter';
3
+ import { RenderMimeContribution } from '@difizen/libro-jupyter';
4
+ export declare class LibroInterpreterCodeOutputMimeTypeContribution implements RenderMimeContribution {
5
+ canHandle: (model: BaseOutputView) => number;
6
+ renderType: string;
7
+ safe: boolean;
8
+ mimeTypes: string[];
9
+ render: import("react").FC<{
10
+ model: BaseOutputView;
11
+ }>;
12
+ }
13
+ //# sourceMappingURL=interpreter-code-output-rendermime-contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpreter-code-output-rendermime-contribution.d.ts","sourceRoot":"","sources":["../src/interpreter-code-output-rendermime-contribution.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAKhE,qBACa,8CACX,YAAW,sBAAsB;IAEjC,SAAS,UAAW,cAAc,YAEhC;IACF,UAAU,SAAiC;IAC3C,IAAI,UAAQ;IACZ,SAAS,WAAmD;IAC5D,MAAM;;OAA+B;CACtC"}
@@ -0,0 +1,22 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _dec, _class;
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
+ import { RenderMimeContribution } from '@difizen/libro-jupyter';
9
+ import { singleton } from '@difizen/mana-app';
10
+ import { InterpreterCodeOutputRender } from "./interpreter-code-output-render.js";
11
+ export var LibroInterpreterCodeOutputMimeTypeContribution = (_dec = singleton({
12
+ contrib: RenderMimeContribution
13
+ }), _dec(_class = /*#__PURE__*/_createClass(function LibroInterpreterCodeOutputMimeTypeContribution() {
14
+ _classCallCheck(this, LibroInterpreterCodeOutputMimeTypeContribution);
15
+ this.canHandle = function (model) {
16
+ return 200;
17
+ };
18
+ this.renderType = 'interpreterCodeOutputRender';
19
+ this.safe = true;
20
+ this.mimeTypes = ['application/vnd.libro.interpreter.code+text'];
21
+ this.render = InterpreterCodeOutputRender;
22
+ })) || _class);
@@ -6,15 +6,23 @@ export interface PromptDecodedFormatter extends DefaultDecodedFormatter {
6
6
  variableName?: string;
7
7
  cellId?: string;
8
8
  record?: string;
9
+ interpreterCode?: string;
10
+ supportInterpreter?: 'dynamic' | 'immutable' | 'disable';
11
+ interpreterEnabled?: boolean;
9
12
  }
10
13
  export declare class FormatterPromptMagicContribution implements FormatterContribution<PromptDecodedFormatter> {
11
14
  formatter: string;
12
15
  formatterOptions?: object;
13
- canHandle: (libroFormatter: string) => 1 | 100;
16
+ canHandle: (libroFormatter: string) => 100 | 1;
14
17
  encode: (source: PromptDecodedFormatter) => {
15
18
  source: string;
16
19
  metadata: {
17
20
  libroFormatter: string;
21
+ interpreter: {
22
+ interpreter_code: string | undefined;
23
+ support_interpreter: "dynamic" | "immutable" | "disable" | undefined;
24
+ interpreter_enabled: boolean | undefined;
25
+ };
18
26
  };
19
27
  };
20
28
  decode: (formatterValue: DefaultEncodedFormatter) => {
@@ -23,12 +31,18 @@ export declare class FormatterPromptMagicContribution implements FormatterContri
23
31
  chatKey: any;
24
32
  cellId: any;
25
33
  record: any;
34
+ interpreterCode: any;
35
+ supportInterpreter: any;
36
+ interpreterEnabled: any;
26
37
  } | {
27
38
  value: string;
28
39
  variableName?: undefined;
29
40
  chatKey?: undefined;
30
41
  cellId?: undefined;
31
42
  record?: undefined;
43
+ interpreterCode?: undefined;
44
+ supportInterpreter?: undefined;
45
+ interpreterEnabled?: undefined;
32
46
  };
33
47
  validate: (source: PromptDecodedFormatter) => source is PromptDecodedFormatter;
34
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"libro-formatter-prompt-magic-contribution.d.ts","sourceRoot":"","sources":["../src/libro-formatter-prompt-magic-contribution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,gCACX,YAAW,qBAAqB,CAAC,sBAAsB,CAAC;IAExD,SAAS,SAA4B;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,mBAAoB,MAAM,aAKjC;IAEF,MAAM,WAAY,sBAAsB;;;;;MAiBtC;IAEF,MAAM,mBAAoB,uBAAuB;;;;;;;;;;;;MAqB/C;IAEF,QAAQ,WAAY,sBAAsB,sCAKxC;CACH"}
1
+ {"version":3,"file":"libro-formatter-prompt-magic-contribution.d.ts","sourceRoot":"","sources":["../src/libro-formatter-prompt-magic-contribution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACzD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBACa,gCACX,YAAW,qBAAqB,CAAC,sBAAsB,CAAC;IAExD,SAAS,SAA4B;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,mBAAoB,MAAM,aAKjC;IAEF,MAAM,WAAY,sBAAsB;;;;;;;;;;MAsBtC;IAEF,MAAM,mBAAoB,uBAAuB;;;;;;;;;;;;;;;;;;MAkC/C;IAEF,QAAQ,WAAY,sBAAsB,sCAKxC;CACH"}
@@ -36,7 +36,12 @@ export var FormatterPromptMagicContribution = (_dec = singleton({
36
36
  return {
37
37
  source: encodeValue,
38
38
  metadata: {
39
- libroFormatter: _this.formatter
39
+ libroFormatter: _this.formatter,
40
+ interpreter: {
41
+ interpreter_code: source.interpreterCode,
42
+ support_interpreter: source.supportInterpreter,
43
+ interpreter_enabled: source.interpreterEnabled
44
+ }
40
45
  }
41
46
  };
42
47
  };
@@ -46,6 +51,14 @@ export var FormatterPromptMagicContribution = (_dec = singleton({
46
51
  var run = value.split('%%prompt \n')[1];
47
52
  var runValue = JSON.parse(run);
48
53
  var codeValue = runValue.prompt;
54
+ var interpreterCode;
55
+ var supportInterpreter;
56
+ var interpreterEnabled;
57
+ if (formatterValue.metadata['interpreter']) {
58
+ interpreterCode = formatterValue.metadata['interpreter']['interpreter_code'];
59
+ supportInterpreter = formatterValue.metadata['interpreter']['support_interpreter'];
60
+ interpreterEnabled = formatterValue.metadata['interpreter']['interpreter_enabled'];
61
+ }
49
62
  var chatKey = runValue.chat_key || runValue.model_name;
50
63
  var variableName = runValue.variable_name;
51
64
  var cellId = runValue.cell_id;
@@ -55,7 +68,10 @@ export var FormatterPromptMagicContribution = (_dec = singleton({
55
68
  variableName: variableName,
56
69
  chatKey: chatKey,
57
70
  cellId: cellId,
58
- record: record
71
+ record: record,
72
+ interpreterCode: interpreterCode,
73
+ supportInterpreter: supportInterpreter,
74
+ interpreterEnabled: interpreterEnabled
59
75
  };
60
76
  }
61
77
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAW/C,eAAO,MAAM,4BAA4B;;CAExC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAyB2B,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAY/C,eAAO,MAAM,4BAA4B;;CAExC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YA0B2B,CAAC"}
package/es/module.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { CellOptions, LibroModule, OutputModule } from '@difizen/libro-core';
2
2
  import { LibroRenderMimeModule } from '@difizen/libro-rendermime';
3
3
  import { ManaModule } from '@difizen/mana-app';
4
+ import { LibroInterpreterCodeOutputMimeTypeContribution } from "./interpreter-code-output-rendermime-contribution.js";
4
5
  import { FormatterPromptMagicContribution } from "./libro-formatter-prompt-magic-contribution.js";
5
6
  import { LibroPromptCellCommandContribution } from "./prompt-cell-command-contribution.js";
6
7
  import { PromptCellContribution } from "./prompt-cell-contribution.js";
@@ -12,7 +13,7 @@ import { LibroPromptOutputMimeTypeContribution } from "./prompt-output-rendermim
12
13
  export var LibroPromptCellModuleSetting = {
13
14
  loadable: true
14
15
  };
15
- export var LibroPromptCellModule = ManaModule.create().register(PromptCellContribution, PromptScript, LibroPromptCellView, LibroPromptCellModel, LibroPromptOutputMimeTypeContribution, LibroPromptCellCommandContribution, FormatterPromptMagicContribution, {
16
+ export var LibroPromptCellModule = ManaModule.create().register(PromptCellContribution, PromptScript, LibroPromptCellView, LibroPromptCellModel, LibroPromptOutputMimeTypeContribution, LibroInterpreterCodeOutputMimeTypeContribution, LibroPromptCellCommandContribution, FormatterPromptMagicContribution, {
16
17
  token: LibroPromptCellModelFactory,
17
18
  useFactory: function useFactory(ctx) {
18
19
  return function (options) {
@@ -1,5 +1,4 @@
1
- import type { ICellMetadata, ExecutionCount, ICodeCellMetadata } from '@difizen/libro-common';
2
- import type { ICodeCell } from '@difizen/libro-common';
1
+ import type { ICodeCell, ExecutionCount, ICodeCellMetadata } from '@difizen/libro-common';
3
2
  import type { ExecutableCellModel } from '@difizen/libro-core';
4
3
  import { LibroCellModel } from '@difizen/libro-core';
5
4
  import { CellOptions } from '@difizen/libro-core';
@@ -7,38 +6,35 @@ import type { ExecutionMeta } from '@difizen/libro-jupyter';
7
6
  import { Emitter } from '@difizen/mana-app';
8
7
  import { ViewManager } from '@difizen/mana-app';
9
8
  import type { Event as ManaEvent } from '@difizen/mana-app';
9
+ import type { PromptDecodedFormatter } from './libro-formatter-prompt-magic-contribution.js';
10
+ import type { InterpreterMeta } from './prompt-cell-protocol.js';
10
11
  export interface PromptCellMetadata extends ICodeCellMetadata {
11
12
  execution: ExecutionMeta;
13
+ interpreter: InterpreterMeta;
12
14
  }
13
15
  export declare class LibroPromptCellModel extends LibroCellModel implements ExecutableCellModel {
14
16
  executeCount: ExecutionCount;
15
17
  hasExecutedSuccess: boolean;
16
18
  hasExecutedError: boolean;
17
- metadata: Partial<PromptCellMetadata | ICellMetadata>;
19
+ metadata: Partial<PromptCellMetadata>;
18
20
  kernelExecuting: boolean;
19
21
  record?: string;
20
22
  modelType?: string;
23
+ prompt: string;
24
+ promptOutput?: string;
21
25
  chatKey?: string;
22
- variableName: string;
26
+ supportInterpreter?: 'dynamic' | 'immutable' | 'disable';
27
+ interpreterEnabled?: boolean;
28
+ interpreterCode?: string;
29
+ variableName?: string;
23
30
  executing: boolean;
24
31
  hasOutputHidden: boolean;
25
32
  hasOutputsScrolled: boolean;
33
+ _interpreterEditMode: boolean;
26
34
  msgChangeEmitter: Emitter<any>;
27
35
  get msgChange(): ManaEvent<any>;
28
- get decodeObject(): {
29
- variableName: string;
30
- chatKey: string | undefined;
31
- record: string | undefined;
32
- value: string;
33
- cellId: string;
34
- };
35
- set decodeObject(value: {
36
- variableName: string;
37
- chatKey: string | undefined;
38
- record: string | undefined;
39
- value: string;
40
- cellId: string;
41
- });
36
+ get decodeObject(): PromptDecodedFormatter;
37
+ set decodeObject(data: PromptDecodedFormatter);
42
38
  viewManager: ViewManager;
43
39
  constructor(options: CellOptions, viewManager: ViewManager);
44
40
  toJSON(): Omit<ICodeCell, 'outputs'>;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-cell-model.d.ts","sourceRoot":"","sources":["../src/prompt-cell-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,qBACa,oBACX,SAAQ,cACR,YAAW,mBAAmB;IAG9B,YAAY,EAAE,cAAc,CAAC;IAG7B,kBAAkB,UAAS;IAE3B,gBAAgB,UAAS;IAEhB,QAAQ,EAAE,OAAO,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC;IAE/D,eAAe,UAAS;IAGxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IAGrB,SAAS,EAAE,OAAO,CAAC;IAEnB,eAAe,EAAE,OAAO,CAAC;IAEzB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,CAE9B;IAED,IAAa,YAAY;;;;;;MASxB;IAED,IAAa,YAAY,CAAC,KAAK;;;;;;KAAA,EAK9B;IAED,WAAW,EAAE,WAAW,CAAC;gBAGF,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW;IAiBtC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;IAW7C,cAAc,IAAI,IAAI;IAKb,OAAO;IAKhB,SAAS;CAGV"}
1
+ {"version":3,"file":"prompt-cell-model.d.ts","sourceRoot":"","sources":["../src/prompt-cell-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,qBACa,oBACX,SAAQ,cACR,YAAW,mBAAmB;IAG9B,YAAY,EAAE,cAAc,CAAC;IAG7B,kBAAkB,UAAS;IAE3B,gBAAgB,UAAS;IAEhB,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/C,eAAe,UAAS;IAGxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,SAAM;IAEZ,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,kBAAkB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAGzD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,EAAE,OAAO,CAAC;IAEnB,eAAe,EAAE,OAAO,CAAC;IAEzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,UAAS;IAG7B,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,CAE9B;IAED,IAAa,YAAY,IAcO,sBAAsB,CAFrD;IAED,IAAa,YAAY,CAAC,IAAI,EAAE,sBAAsB,EASrD;IAED,WAAW,EAAE,WAAW,CAAC;gBAGF,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,WAAW;IAkBtC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;IAgB7C,cAAc,IAAI,IAAI;IAKb,OAAO;IAKhB,SAAS;CAGV"}