@dxos/plugin-automation 0.7.1 → 0.7.2-main.f1adc9f

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 (116) hide show
  1. package/dist/lib/browser/AssistantPanel-622FK3DP.mjs +341 -0
  2. package/dist/lib/browser/AssistantPanel-622FK3DP.mjs.map +7 -0
  3. package/dist/lib/browser/AutomationPanel-PVI2EJNE.mjs +125 -0
  4. package/dist/lib/browser/AutomationPanel-PVI2EJNE.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-B3Z4NQC2.mjs → chunk-R6GS7UA7.mjs} +2 -8
  6. package/dist/lib/browser/{chunk-B3Z4NQC2.mjs.map → chunk-R6GS7UA7.mjs.map} +3 -3
  7. package/dist/lib/browser/{chunk-PQLGYMNY.mjs → chunk-X5KMOH3I.mjs} +2 -2
  8. package/dist/lib/browser/{chunk-PQLGYMNY.mjs.map → chunk-X5KMOH3I.mjs.map} +1 -1
  9. package/dist/lib/browser/index.mjs +277 -1011
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/meta.mjs +1 -1
  13. package/dist/lib/browser/types/index.mjs +1 -2
  14. package/dist/lib/node/AssistantPanel-HRJRVOZD.cjs +361 -0
  15. package/dist/lib/node/AssistantPanel-HRJRVOZD.cjs.map +7 -0
  16. package/dist/lib/node/AutomationPanel-Z2XW24BN.cjs +145 -0
  17. package/dist/lib/node/AutomationPanel-Z2XW24BN.cjs.map +7 -0
  18. package/dist/lib/node/{chunk-JSZ6PAYL.cjs → chunk-DTJ7XVO2.cjs} +5 -5
  19. package/dist/lib/node/{chunk-JSZ6PAYL.cjs.map → chunk-DTJ7XVO2.cjs.map} +1 -1
  20. package/dist/lib/node/{chunk-SUMUWFZA.cjs → chunk-JHKEVE65.cjs} +5 -8
  21. package/dist/lib/node/{chunk-SUMUWFZA.cjs.map → chunk-JHKEVE65.cjs.map} +3 -3
  22. package/dist/lib/node/index.cjs +298 -1008
  23. package/dist/lib/node/index.cjs.map +4 -4
  24. package/dist/lib/node/meta.cjs +3 -3
  25. package/dist/lib/node/meta.cjs.map +1 -1
  26. package/dist/lib/node/meta.json +1 -1
  27. package/dist/lib/node/types/index.cjs +6 -7
  28. package/dist/lib/node/types/index.cjs.map +2 -2
  29. package/dist/lib/node-esm/AssistantPanel-QIIX7S4V.mjs +342 -0
  30. package/dist/lib/node-esm/AssistantPanel-QIIX7S4V.mjs.map +7 -0
  31. package/dist/lib/node-esm/AutomationPanel-5L5NFVKU.mjs +126 -0
  32. package/dist/lib/node-esm/AutomationPanel-5L5NFVKU.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-B35UD3D7.mjs → chunk-HNOBZHWK.mjs} +2 -2
  34. package/dist/lib/node-esm/{chunk-B35UD3D7.mjs.map → chunk-HNOBZHWK.mjs.map} +1 -1
  35. package/dist/lib/node-esm/{chunk-PYT2WY4B.mjs → chunk-ISJZVA2J.mjs} +2 -7
  36. package/dist/lib/node-esm/{chunk-PYT2WY4B.mjs.map → chunk-ISJZVA2J.mjs.map} +3 -3
  37. package/dist/lib/node-esm/index.mjs +277 -1011
  38. package/dist/lib/node-esm/index.mjs.map +4 -4
  39. package/dist/lib/node-esm/meta.json +1 -1
  40. package/dist/lib/node-esm/meta.mjs +1 -1
  41. package/dist/lib/node-esm/types/index.mjs +1 -2
  42. package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
  43. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +8 -0
  44. package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +1 -0
  45. package/dist/types/src/components/AssistantPanel/index.d.ts +3 -0
  46. package/dist/types/src/components/AssistantPanel/index.d.ts.map +1 -0
  47. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +6 -0
  48. package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +1 -0
  49. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +9 -0
  50. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -0
  51. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +6 -0
  52. package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -0
  53. package/dist/types/src/components/AutomationPanel/index.d.ts +3 -0
  54. package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -0
  55. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +5 -3
  56. package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
  57. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +1 -1
  58. package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
  59. package/dist/types/src/components/index.d.ts +2 -5
  60. package/dist/types/src/components/index.d.ts.map +1 -1
  61. package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
  62. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +1 -1
  63. package/dist/types/src/testing/index.d.ts +2 -0
  64. package/dist/types/src/testing/index.d.ts.map +1 -0
  65. package/dist/types/src/testing/testing.d.ts +12 -0
  66. package/dist/types/src/testing/testing.d.ts.map +1 -0
  67. package/dist/types/src/translations.d.ts +3 -1
  68. package/dist/types/src/translations.d.ts.map +1 -1
  69. package/dist/types/src/types/schema.d.ts +3 -3
  70. package/dist/types/src/types/types.d.ts +0 -1
  71. package/dist/types/src/types/types.d.ts.map +1 -1
  72. package/package.json +37 -34
  73. package/src/AutomationPlugin.tsx +90 -37
  74. package/src/components/AssistantPanel/AssistantPanel.tsx +230 -0
  75. package/src/components/AssistantPanel/index.ts +7 -0
  76. package/src/components/AssistantPanel/system-instructions.ts +166 -0
  77. package/src/components/AutomationPanel/AutomationPanel.stories.tsx +57 -0
  78. package/src/components/AutomationPanel/AutomationPanel.tsx +96 -0
  79. package/src/components/AutomationPanel/index.ts +7 -0
  80. package/src/components/TriggerEditor/TriggerEditor.stories.tsx +15 -27
  81. package/src/components/TriggerEditor/TriggerEditor.tsx +39 -324
  82. package/src/components/index.ts +2 -6
  83. package/src/hooks/invocation-handler.ts +6 -9
  84. package/src/hooks/useLocalTriggerManager.ts +2 -4
  85. package/src/meta.ts +1 -1
  86. package/src/testing/index.ts +5 -0
  87. package/src/testing/testing.ts +34 -0
  88. package/src/translations.ts +4 -1
  89. package/src/types/types.ts +3 -5
  90. package/dist/lib/browser/PromptContainer-6CBNCUKQ.mjs +0 -19
  91. package/dist/lib/browser/PromptContainer-6CBNCUKQ.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-CJMV64XO.mjs +0 -217
  93. package/dist/lib/browser/chunk-CJMV64XO.mjs.map +0 -7
  94. package/dist/lib/node/PromptContainer-7RCGCU3K.cjs +0 -45
  95. package/dist/lib/node/PromptContainer-7RCGCU3K.cjs.map +0 -7
  96. package/dist/lib/node/chunk-YGRHTCOX.cjs +0 -240
  97. package/dist/lib/node/chunk-YGRHTCOX.cjs.map +0 -7
  98. package/dist/lib/node-esm/PromptContainer-4SCHQV5C.mjs +0 -20
  99. package/dist/lib/node-esm/PromptContainer-4SCHQV5C.mjs.map +0 -7
  100. package/dist/lib/node-esm/chunk-62AB5HXX.mjs +0 -218
  101. package/dist/lib/node-esm/chunk-62AB5HXX.mjs.map +0 -7
  102. package/dist/types/src/components/AutomationPanel.d.ts +0 -3
  103. package/dist/types/src/components/AutomationPanel.d.ts.map +0 -1
  104. package/dist/types/src/components/Chain.d.ts +0 -12
  105. package/dist/types/src/components/Chain.d.ts.map +0 -1
  106. package/dist/types/src/components/PromptContainer.d.ts +0 -6
  107. package/dist/types/src/components/PromptContainer.d.ts.map +0 -1
  108. package/dist/types/src/components/TriggerEditor/Form.d.ts +0 -5
  109. package/dist/types/src/components/TriggerEditor/Form.d.ts.map +0 -1
  110. package/dist/types/src/components/TriggerEditor/meta.d.ts +0 -25
  111. package/dist/types/src/components/TriggerEditor/meta.d.ts.map +0 -1
  112. package/src/components/AutomationPanel.tsx +0 -23
  113. package/src/components/Chain.tsx +0 -66
  114. package/src/components/PromptContainer.tsx +0 -19
  115. package/src/components/TriggerEditor/Form.tsx +0 -18
  116. package/src/components/TriggerEditor/meta.tsx +0 -226
@@ -1,226 +0,0 @@
1
- //
2
- // Copyright 2024 DXOS.org
3
- //
4
-
5
- import React, { type FC } from 'react';
6
-
7
- import { create, getMeta as getEchoMeta } from '@dxos/echo-schema';
8
- import { type FunctionTrigger } from '@dxos/functions/types';
9
- import { GameType } from '@dxos/plugin-chess/types';
10
- import { FileType } from '@dxos/plugin-ipfs/types';
11
- import { DocumentType } from '@dxos/plugin-markdown';
12
- import { type ScriptType } from '@dxos/plugin-script';
13
- import { DiagramType } from '@dxos/plugin-sketch/types';
14
- import { CollectionType, MessageType } from '@dxos/plugin-space';
15
- import { Input } from '@dxos/react-ui';
16
- import { safeParseInt } from '@dxos/util';
17
-
18
- import { InputRow } from './Form';
19
- import { chainPresets } from '../../presets';
20
- import { type ChainPromptType } from '../../types';
21
- import { ChainPresets } from '../Chain';
22
- import { PromptEditor } from '../PromptEditor';
23
-
24
- // TODO(burdon): Factor out deps (remove from package.json). Provide via plugins.
25
-
26
- type TriggerId = string;
27
-
28
- const stateInitialValues = {
29
- schemas: [
30
- // TODO(burdon): Get all schema from API.
31
- DocumentType,
32
- FileType,
33
- GameType,
34
- MessageType,
35
- DiagramType,
36
- CollectionType,
37
- ] as any[],
38
- selectedSchema: {} as Record<TriggerId, any>,
39
- };
40
-
41
- // TODO(burdon): What is this for?
42
- export const state = create<typeof stateInitialValues>(stateInitialValues);
43
-
44
- //
45
- // Trigger meta.
46
- // TODO(burdon): Custom/generated UX to provide values to functions from types/other metadata.
47
- //
48
-
49
- type MetaProps<T> = { meta: T } & { triggerId?: string };
50
-
51
- type MetaExtension<T> = {
52
- initialValue?: () => T;
53
- component: FC<MetaProps<T>>;
54
- };
55
-
56
- const USERFUNCTIONS_PRESET_META_KEY = 'dxos.org/service/function-preset';
57
-
58
- /**
59
- * Create meta type from function.
60
- * @param trigger - function trigger.
61
- * @param script - function script.
62
- */
63
- export const getFunctionMetaExtension = (
64
- trigger: FunctionTrigger,
65
- script?: ScriptType,
66
- ): MetaExtension<any> | undefined => {
67
- if (script) {
68
- const meta = getEchoMeta(script).keys.find((key) => key.source === USERFUNCTIONS_PRESET_META_KEY);
69
- const extension = meta && metaExtensions[meta.id];
70
- if (extension) {
71
- return extension;
72
- }
73
- }
74
-
75
- // TODO: try to infer by spec type?
76
- return trigger?.function ? metaExtensions[trigger.function] : metaExtensions['dxos.org/function/gpt'];
77
- };
78
-
79
- //
80
- // Default (generic).
81
- // TODO(burdon): Create property editor.
82
- //
83
-
84
- type DefaultMeta = {};
85
-
86
- const DefaultMetaProps = ({ meta }: MetaProps<DefaultMeta>) => {
87
- return <></>;
88
- };
89
-
90
- //
91
- // Chess
92
- //
93
-
94
- type ChessMeta = { level?: number };
95
-
96
- const ChessMetaProps = ({ meta }: MetaProps<ChessMeta>) => {
97
- if (!meta) {
98
- return null;
99
- }
100
-
101
- return (
102
- <>
103
- <InputRow label='Level'>
104
- <Input.TextInput
105
- type='number'
106
- value={meta.level ?? 1}
107
- onChange={(event) => (meta.level = safeParseInt(event.target.value))}
108
- placeholder='Engine strength.'
109
- />
110
- </InputRow>
111
- </>
112
- );
113
- };
114
-
115
- //
116
- // Email
117
- //
118
-
119
- type EmailWorkerMeta = { account?: string };
120
-
121
- const EmailWorkerMetaProps = ({ meta }: MetaProps<EmailWorkerMeta>) => {
122
- if (!meta) {
123
- return null;
124
- }
125
-
126
- return (
127
- <>
128
- <InputRow label='Account'>
129
- <Input.TextInput
130
- value={meta.account ?? ''}
131
- onChange={(event) => (meta.account = event.target.value)}
132
- placeholder='https://'
133
- />
134
- </InputRow>
135
- </>
136
- );
137
- };
138
-
139
- //
140
- // Chain
141
- //
142
-
143
- type ChainPromptMeta = { model?: string; prompt?: ChainPromptType };
144
-
145
- const ChainPromptMetaProps = ({ meta, triggerId }: MetaProps<ChainPromptMeta>) => {
146
- const schema = triggerId ? state.selectedSchema[triggerId] : undefined;
147
- if (!meta) {
148
- return null;
149
- }
150
-
151
- return (
152
- <>
153
- <InputRow label='Model'>
154
- <Input.TextInput
155
- value={meta.model ?? ''}
156
- onChange={(event) => (meta.model = event.target.value)}
157
- placeholder='llama2'
158
- />
159
- </InputRow>
160
- <InputRow label='Presets'>
161
- <ChainPresets
162
- presets={chainPresets}
163
- onSelect={(preset) => {
164
- meta.prompt = preset.createPrompt();
165
- }}
166
- />
167
- </InputRow>
168
- {meta.prompt && (
169
- <InputRow label='Prompt'>
170
- <PromptEditor prompt={meta.prompt} schema={schema} />
171
- </InputRow>
172
- )}
173
- </>
174
- );
175
- };
176
-
177
- //
178
- // Embedding
179
- //
180
-
181
- type EmbeddingMeta = { model?: string; prompt?: ChainPromptType };
182
-
183
- const EmbeddingMetaProps = ({ meta }: MetaProps<EmbeddingMeta>) => {
184
- if (!meta) {
185
- return null;
186
- }
187
-
188
- return (
189
- <>
190
- <InputRow label='Model'>
191
- <Input.TextInput
192
- value={meta.model ?? ''}
193
- onChange={(event) => (meta.model = event.target.value)}
194
- placeholder='llama2'
195
- />
196
- </InputRow>
197
- </>
198
- );
199
- };
200
-
201
- const metaExtensions: Record<string, MetaExtension<any>> = {
202
- __DEFAULT__: {
203
- initialValue: () => ({}),
204
- component: DefaultMetaProps,
205
- } satisfies MetaExtension<DefaultMeta>,
206
-
207
- 'dxos.org/function/chess': {
208
- initialValue: () => ({ level: 2 }),
209
- component: ChessMetaProps,
210
- } satisfies MetaExtension<ChessMeta>,
211
-
212
- 'dxos.org/function/email-worker': {
213
- initialValue: () => ({ account: 'hello@dxos.network' }),
214
- component: EmailWorkerMetaProps,
215
- } satisfies MetaExtension<EmailWorkerMeta>,
216
-
217
- 'dxos.org/function/gpt': {
218
- initialValue: () => ({ model: 'llama2' }),
219
- component: ChainPromptMetaProps,
220
- } satisfies MetaExtension<ChainPromptMeta>,
221
-
222
- 'dxos.org/function/embedding': {
223
- initialValue: () => ({ model: 'llama2' }),
224
- component: EmbeddingMetaProps,
225
- } satisfies MetaExtension<EmbeddingMeta>,
226
- };