@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.
- package/dist/lib/browser/AssistantPanel-622FK3DP.mjs +341 -0
- package/dist/lib/browser/AssistantPanel-622FK3DP.mjs.map +7 -0
- package/dist/lib/browser/AutomationPanel-PVI2EJNE.mjs +125 -0
- package/dist/lib/browser/AutomationPanel-PVI2EJNE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-B3Z4NQC2.mjs → chunk-R6GS7UA7.mjs} +2 -8
- package/dist/lib/browser/{chunk-B3Z4NQC2.mjs.map → chunk-R6GS7UA7.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-PQLGYMNY.mjs → chunk-X5KMOH3I.mjs} +2 -2
- package/dist/lib/browser/{chunk-PQLGYMNY.mjs.map → chunk-X5KMOH3I.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +277 -1011
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +1 -2
- package/dist/lib/node/AssistantPanel-HRJRVOZD.cjs +361 -0
- package/dist/lib/node/AssistantPanel-HRJRVOZD.cjs.map +7 -0
- package/dist/lib/node/AutomationPanel-Z2XW24BN.cjs +145 -0
- package/dist/lib/node/AutomationPanel-Z2XW24BN.cjs.map +7 -0
- package/dist/lib/node/{chunk-JSZ6PAYL.cjs → chunk-DTJ7XVO2.cjs} +5 -5
- package/dist/lib/node/{chunk-JSZ6PAYL.cjs.map → chunk-DTJ7XVO2.cjs.map} +1 -1
- package/dist/lib/node/{chunk-SUMUWFZA.cjs → chunk-JHKEVE65.cjs} +5 -8
- package/dist/lib/node/{chunk-SUMUWFZA.cjs.map → chunk-JHKEVE65.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +298 -1008
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.cjs +3 -3
- package/dist/lib/node/meta.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/types/index.cjs +6 -7
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/AssistantPanel-QIIX7S4V.mjs +342 -0
- package/dist/lib/node-esm/AssistantPanel-QIIX7S4V.mjs.map +7 -0
- package/dist/lib/node-esm/AutomationPanel-5L5NFVKU.mjs +126 -0
- package/dist/lib/node-esm/AutomationPanel-5L5NFVKU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-B35UD3D7.mjs → chunk-HNOBZHWK.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-B35UD3D7.mjs.map → chunk-HNOBZHWK.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-PYT2WY4B.mjs → chunk-ISJZVA2J.mjs} +2 -7
- package/dist/lib/node-esm/{chunk-PYT2WY4B.mjs.map → chunk-ISJZVA2J.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +277 -1011
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/meta.mjs +1 -1
- package/dist/lib/node-esm/types/index.mjs +1 -2
- package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
- package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts +8 -0
- package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +1 -0
- package/dist/types/src/components/AssistantPanel/index.d.ts +3 -0
- package/dist/types/src/components/AssistantPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/AssistantPanel/system-instructions.d.ts +6 -0
- package/dist/types/src/components/AssistantPanel/system-instructions.d.ts.map +1 -0
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +9 -0
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -0
- package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts +6 -0
- package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/AutomationPanel/index.d.ts +3 -0
- package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +5 -3
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
- package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts +1 -1
- package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
- package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/testing.d.ts +12 -0
- package/dist/types/src/testing/testing.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +3 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +3 -3
- package/dist/types/src/types/types.d.ts +0 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/package.json +37 -34
- package/src/AutomationPlugin.tsx +90 -37
- package/src/components/AssistantPanel/AssistantPanel.tsx +230 -0
- package/src/components/AssistantPanel/index.ts +7 -0
- package/src/components/AssistantPanel/system-instructions.ts +166 -0
- package/src/components/AutomationPanel/AutomationPanel.stories.tsx +57 -0
- package/src/components/AutomationPanel/AutomationPanel.tsx +96 -0
- package/src/components/AutomationPanel/index.ts +7 -0
- package/src/components/TriggerEditor/TriggerEditor.stories.tsx +15 -27
- package/src/components/TriggerEditor/TriggerEditor.tsx +39 -324
- package/src/components/index.ts +2 -6
- package/src/hooks/invocation-handler.ts +6 -9
- package/src/hooks/useLocalTriggerManager.ts +2 -4
- package/src/meta.ts +1 -1
- package/src/testing/index.ts +5 -0
- package/src/testing/testing.ts +34 -0
- package/src/translations.ts +4 -1
- package/src/types/types.ts +3 -5
- package/dist/lib/browser/PromptContainer-6CBNCUKQ.mjs +0 -19
- package/dist/lib/browser/PromptContainer-6CBNCUKQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-CJMV64XO.mjs +0 -217
- package/dist/lib/browser/chunk-CJMV64XO.mjs.map +0 -7
- package/dist/lib/node/PromptContainer-7RCGCU3K.cjs +0 -45
- package/dist/lib/node/PromptContainer-7RCGCU3K.cjs.map +0 -7
- package/dist/lib/node/chunk-YGRHTCOX.cjs +0 -240
- package/dist/lib/node/chunk-YGRHTCOX.cjs.map +0 -7
- package/dist/lib/node-esm/PromptContainer-4SCHQV5C.mjs +0 -20
- package/dist/lib/node-esm/PromptContainer-4SCHQV5C.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-62AB5HXX.mjs +0 -218
- package/dist/lib/node-esm/chunk-62AB5HXX.mjs.map +0 -7
- package/dist/types/src/components/AutomationPanel.d.ts +0 -3
- package/dist/types/src/components/AutomationPanel.d.ts.map +0 -1
- package/dist/types/src/components/Chain.d.ts +0 -12
- package/dist/types/src/components/Chain.d.ts.map +0 -1
- package/dist/types/src/components/PromptContainer.d.ts +0 -6
- package/dist/types/src/components/PromptContainer.d.ts.map +0 -1
- package/dist/types/src/components/TriggerEditor/Form.d.ts +0 -5
- package/dist/types/src/components/TriggerEditor/Form.d.ts.map +0 -1
- package/dist/types/src/components/TriggerEditor/meta.d.ts +0 -25
- package/dist/types/src/components/TriggerEditor/meta.d.ts.map +0 -1
- package/src/components/AutomationPanel.tsx +0 -23
- package/src/components/Chain.tsx +0 -66
- package/src/components/PromptContainer.tsx +0 -19
- package/src/components/TriggerEditor/Form.tsx +0 -18
- 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
|
-
};
|