@dxos/plugin-automation 0.7.4 → 0.7.5-labs.5f04cf6
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-N3QSALKY.mjs → AssistantPanel-KO6DZBTU.mjs} +10 -11
- package/dist/lib/browser/AssistantPanel-KO6DZBTU.mjs.map +7 -0
- package/dist/lib/browser/AutomationPanel-BMLM533Z.mjs +131 -0
- package/dist/lib/browser/AutomationPanel-BMLM533Z.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-SIAJFRFF.mjs +300 -0
- package/dist/lib/browser/ChatContainer-SIAJFRFF.mjs.map +7 -0
- package/dist/lib/browser/ai-client-6CRYUC6D.mjs +22 -0
- package/dist/lib/browser/ai-client-6CRYUC6D.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-IJTTULDP.mjs +131 -0
- package/dist/lib/browser/app-graph-builder-IJTTULDP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7KB4UMXO.mjs → chunk-C3VRGDR6.mjs} +30 -4
- package/dist/lib/browser/chunk-C3VRGDR6.mjs.map +7 -0
- package/dist/lib/browser/chunk-EKJVAFT2.mjs +226 -0
- package/dist/lib/browser/chunk-EKJVAFT2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-X5KMOH3I.mjs → chunk-HKX3D3ZP.mjs} +3 -3
- package/dist/lib/browser/chunk-HKX3D3ZP.mjs.map +7 -0
- package/dist/lib/browser/chunk-HZ4TA7HY.mjs +15 -0
- package/dist/lib/browser/chunk-HZ4TA7HY.mjs.map +7 -0
- package/dist/lib/browser/chunk-JSNPW6JF.mjs +14 -0
- package/dist/lib/browser/chunk-JSNPW6JF.mjs.map +7 -0
- package/dist/lib/browser/chunk-KPSDH6XZ.mjs +118 -0
- package/dist/lib/browser/chunk-KPSDH6XZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-YZF3SDZL.mjs +139 -0
- package/dist/lib/browser/chunk-YZF3SDZL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +143 -249
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-AHDQ3KQP.mjs +24 -0
- package/dist/lib/browser/intent-resolver-AHDQ3KQP.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-IGMBLSV7.mjs +49 -0
- package/dist/lib/browser/react-surface-IGMBLSV7.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -3
- package/dist/lib/node/{AssistantPanel-RIA4TI3B.cjs → AssistantPanel-PPFS2HKK.cjs} +20 -21
- package/dist/lib/node/AssistantPanel-PPFS2HKK.cjs.map +7 -0
- package/dist/lib/node/{AutomationPanel-HZS5WKI5.cjs → AutomationPanel-RXJDVLCF.cjs} +52 -72
- package/dist/lib/node/AutomationPanel-RXJDVLCF.cjs.map +7 -0
- package/dist/lib/node/ChatContainer-GS2SC5OG.cjs +318 -0
- package/dist/lib/node/ChatContainer-GS2SC5OG.cjs.map +7 -0
- package/dist/lib/node/ai-client-A3RRU55B.cjs +38 -0
- package/dist/lib/node/ai-client-A3RRU55B.cjs.map +7 -0
- package/dist/lib/node/app-graph-builder-MF5M4QRS.cjs +147 -0
- package/dist/lib/node/app-graph-builder-MF5M4QRS.cjs.map +7 -0
- package/dist/lib/node/{chunk-DTJ7XVO2.cjs → chunk-5VF5JKUN.cjs} +7 -7
- package/dist/lib/node/chunk-5VF5JKUN.cjs.map +7 -0
- package/dist/lib/node/{chunk-CUCUWUAF.cjs → chunk-BUQOZA4N.cjs} +32 -8
- package/dist/lib/node/chunk-BUQOZA4N.cjs.map +7 -0
- package/dist/lib/node/chunk-DNLBVFR7.cjs +147 -0
- package/dist/lib/node/chunk-DNLBVFR7.cjs.map +7 -0
- package/dist/lib/node/chunk-TWDGP26W.cjs +172 -0
- package/dist/lib/node/chunk-TWDGP26W.cjs.map +7 -0
- package/dist/lib/node/chunk-VEGLN4YN.cjs +250 -0
- package/dist/lib/node/chunk-VEGLN4YN.cjs.map +7 -0
- package/dist/lib/node/chunk-Z2YFE5SJ.cjs +49 -0
- package/dist/lib/node/chunk-Z2YFE5SJ.cjs.map +7 -0
- package/dist/lib/node/{meta.cjs → chunk-ZS5RZ7RM.cjs} +12 -8
- package/dist/lib/node/chunk-ZS5RZ7RM.cjs.map +7 -0
- package/dist/lib/node/index.cjs +159 -279
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/intent-resolver-TBHYXBDI.cjs +39 -0
- package/dist/lib/node/intent-resolver-TBHYXBDI.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-surface-BVUZMKYS.cjs +69 -0
- package/dist/lib/node/react-surface-BVUZMKYS.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +10 -7
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{AssistantPanel-72YH43CH.mjs → AssistantPanel-XSSKKCJY.mjs} +10 -11
- package/dist/lib/node-esm/AssistantPanel-XSSKKCJY.mjs.map +7 -0
- package/dist/lib/node-esm/AutomationPanel-GQZZ4UBI.mjs +132 -0
- package/dist/lib/node-esm/AutomationPanel-GQZZ4UBI.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-57ILGC3R.mjs +301 -0
- package/dist/lib/node-esm/ChatContainer-57ILGC3R.mjs.map +7 -0
- package/dist/lib/node-esm/ai-client-2GBZRHBA.mjs +23 -0
- package/dist/lib/node-esm/ai-client-2GBZRHBA.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-5N7OK23B.mjs +132 -0
- package/dist/lib/node-esm/app-graph-builder-5N7OK23B.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5QUXIXNB.mjs +227 -0
- package/dist/lib/node-esm/chunk-5QUXIXNB.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ICHNUP5M.mjs +119 -0
- package/dist/lib/node-esm/chunk-ICHNUP5M.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ISYLEDVU.mjs +16 -0
- package/dist/lib/node-esm/chunk-ISYLEDVU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-23LY7DYS.mjs → chunk-JCYVS5GG.mjs} +29 -4
- package/dist/lib/node-esm/chunk-JCYVS5GG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-L2B6VGMG.mjs +16 -0
- package/dist/lib/node-esm/chunk-L2B6VGMG.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-U7HXYMPZ.mjs +141 -0
- package/dist/lib/node-esm/chunk-U7HXYMPZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HNOBZHWK.mjs → chunk-X3LPRWIL.mjs} +3 -3
- package/dist/lib/node-esm/chunk-X3LPRWIL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +143 -249
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-DPJJHFGK.mjs +25 -0
- package/dist/lib/node-esm/intent-resolver-DPJJHFGK.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-77S6XJOM.mjs +50 -0
- package/dist/lib/node-esm/react-surface-77S6XJOM.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -3
- package/dist/types/src/AutomationPlugin.d.ts +1 -3
- package/dist/types/src/AutomationPlugin.d.ts.map +1 -1
- package/dist/types/src/artifacts.stories.d.ts +30 -0
- package/dist/types/src/artifacts.stories.d.ts.map +1 -0
- package/dist/types/src/capabilities/ai-client.d.ts +5 -0
- package/dist/types/src/capabilities/ai-client.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +180 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +5 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +182 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +4 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/components/AssistantPanel/AssistantPanel.d.ts.map +1 -1
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +1 -1
- package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -1
- package/dist/types/src/components/AutomationPanel/AutomationPanel.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +8 -0
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/components/Thread/Thread.d.ts +14 -0
- package/dist/types/src/components/Thread/Thread.d.ts.map +1 -0
- package/dist/types/src/components/Thread/Thread.stories.d.ts +12 -0
- package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -0
- package/dist/types/src/components/Thread/index.d.ts +2 -0
- package/dist/types/src/components/Thread/index.d.ts.map +1 -0
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts +1 -2
- package/dist/types/src/components/TriggerEditor/TriggerEditor.d.ts.map +1 -1
- package/dist/types/src/components/TriggerEditor/TriggerEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +8 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/email.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
- package/dist/types/src/hooks/processor.d.ts +46 -0
- package/dist/types/src/hooks/processor.d.ts.map +1 -0
- package/dist/types/src/hooks/processor.test.d.ts +2 -0
- package/dist/types/src/hooks/processor.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +2 -0
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +76 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +40 -39
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +16 -5
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +48 -47
- package/src/AutomationPlugin.tsx +85 -194
- package/src/artifacts.stories.tsx +180 -0
- package/src/capabilities/ai-client.ts +19 -0
- package/src/capabilities/app-graph-builder.ts +127 -0
- package/src/capabilities/capabilities.ts +12 -0
- package/src/capabilities/index.ts +12 -0
- package/src/capabilities/intent-resolver.ts +22 -0
- package/src/capabilities/react-surface.tsx +34 -0
- package/src/components/AssistantPanel/AssistantPanel.tsx +10 -8
- package/src/components/AutomationPanel/AutomationPanel.stories.tsx +1 -2
- package/src/components/AutomationPanel/AutomationPanel.tsx +61 -39
- package/src/components/ChatContainer.tsx +80 -0
- package/src/components/PromptEditor/PromptEditor.stories.tsx +3 -3
- package/src/components/Thread/Thread.stories.tsx +142 -0
- package/src/components/Thread/Thread.tsx +149 -0
- package/src/components/Thread/index.ts +5 -0
- package/src/components/TriggerEditor/TriggerEditor.stories.tsx +1 -2
- package/src/components/TriggerEditor/TriggerEditor.tsx +83 -16
- package/src/components/index.ts +5 -0
- package/src/hooks/email.ts +2 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/invocation-handler.ts +2 -2
- package/src/hooks/processor.test.ts +15 -0
- package/src/hooks/processor.ts +161 -0
- package/src/index.ts +1 -4
- package/src/meta.ts +1 -1
- package/src/testing/testing.ts +9 -2
- package/src/translations.ts +13 -0
- package/src/types/schema.ts +9 -2
- package/src/types/types.ts +15 -21
- package/dist/lib/browser/AssistantPanel-N3QSALKY.mjs.map +0 -7
- package/dist/lib/browser/AutomationPanel-AQMN2CQR.mjs +0 -153
- package/dist/lib/browser/AutomationPanel-AQMN2CQR.mjs.map +0 -7
- package/dist/lib/browser/chunk-7KB4UMXO.mjs.map +0 -7
- package/dist/lib/browser/chunk-X5KMOH3I.mjs.map +0 -7
- package/dist/lib/browser/meta.mjs +0 -9
- package/dist/lib/browser/meta.mjs.map +0 -7
- package/dist/lib/node/AssistantPanel-RIA4TI3B.cjs.map +0 -7
- package/dist/lib/node/AutomationPanel-HZS5WKI5.cjs.map +0 -7
- package/dist/lib/node/chunk-CUCUWUAF.cjs.map +0 -7
- package/dist/lib/node/chunk-DTJ7XVO2.cjs.map +0 -7
- package/dist/lib/node/meta.cjs.map +0 -7
- package/dist/lib/node-esm/AssistantPanel-72YH43CH.mjs.map +0 -7
- package/dist/lib/node-esm/AutomationPanel-JUHOWQWW.mjs +0 -154
- package/dist/lib/node-esm/AutomationPanel-JUHOWQWW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-23LY7DYS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HNOBZHWK.mjs.map +0 -7
- package/dist/lib/node-esm/meta.mjs +0 -10
- package/dist/lib/node-esm/meta.mjs.map +0 -7
|
@@ -1,36 +1,51 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
AssistantPanel,
|
|
4
|
+
AutomationPanel,
|
|
5
|
+
ChatContainer,
|
|
6
|
+
PromptEditor
|
|
7
|
+
} from "./chunk-5QUXIXNB.mjs";
|
|
2
8
|
import {
|
|
3
9
|
AutomationAction,
|
|
4
10
|
ChainInputSchema,
|
|
5
11
|
ChainInputType,
|
|
6
12
|
ChainPromptType,
|
|
7
|
-
ChainType
|
|
8
|
-
|
|
13
|
+
ChainType,
|
|
14
|
+
GptChatType
|
|
15
|
+
} from "./chunk-JCYVS5GG.mjs";
|
|
16
|
+
import {
|
|
17
|
+
TriggerEditor
|
|
18
|
+
} from "./chunk-ICHNUP5M.mjs";
|
|
19
|
+
import {
|
|
20
|
+
AiClient,
|
|
21
|
+
AppGraphBuilder,
|
|
22
|
+
IntentResolver,
|
|
23
|
+
ReactSurface
|
|
24
|
+
} from "./chunk-L2B6VGMG.mjs";
|
|
25
|
+
import {
|
|
26
|
+
Thread,
|
|
27
|
+
ThreadMessage
|
|
28
|
+
} from "./chunk-U7HXYMPZ.mjs";
|
|
29
|
+
import "./chunk-ISYLEDVU.mjs";
|
|
9
30
|
import {
|
|
10
31
|
AUTOMATION_PLUGIN,
|
|
11
|
-
|
|
12
|
-
} from "./chunk-
|
|
32
|
+
meta
|
|
33
|
+
} from "./chunk-X3LPRWIL.mjs";
|
|
13
34
|
|
|
14
35
|
// packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx
|
|
15
|
-
import
|
|
16
|
-
import { parseMetadataResolverPlugin, resolvePlugin } from "@dxos/app-framework";
|
|
36
|
+
import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events, oneOf } from "@dxos/app-framework";
|
|
17
37
|
import { FunctionTrigger } from "@dxos/functions";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { memoizeQuery } from "@dxos/plugin-space";
|
|
22
|
-
import { getSpace, getTypename, isEchoObject, loadObjectReferences, parseId, SpaceState } from "@dxos/react-client/echo";
|
|
23
|
-
import { translations as formTranslations } from "@dxos/react-ui-form";
|
|
24
|
-
|
|
25
|
-
// packages/plugins/experimental/plugin-automation/src/components/index.ts
|
|
26
|
-
import { lazy } from "react";
|
|
27
|
-
var AssistantPanel = lazy(() => import("./AssistantPanel-72YH43CH.mjs"));
|
|
28
|
-
var AutomationPanel = lazy(() => import("./AutomationPanel-JUHOWQWW.mjs"));
|
|
38
|
+
import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
39
|
+
import { DeckCapabilities } from "@dxos/plugin-deck";
|
|
40
|
+
import { RefArray } from "@dxos/react-client/echo";
|
|
29
41
|
|
|
30
42
|
// packages/plugins/experimental/plugin-automation/src/translations.ts
|
|
31
43
|
var translations_default = [
|
|
32
44
|
{
|
|
33
45
|
"en-US": {
|
|
46
|
+
[GptChatType.typename]: {
|
|
47
|
+
"typename label": "GPT Chat"
|
|
48
|
+
},
|
|
34
49
|
[AUTOMATION_PLUGIN]: {
|
|
35
50
|
"plugin name": "Automation",
|
|
36
51
|
"object placeholder": "New prompt",
|
|
@@ -42,6 +57,7 @@ var translations_default = [
|
|
|
42
57
|
"value placeholder": "Enter value...",
|
|
43
58
|
"select preset template placeholder": "Select preset",
|
|
44
59
|
"open automation panel label": "Show Automations",
|
|
60
|
+
"automation panel label": "Automations",
|
|
45
61
|
"function select label": "Function",
|
|
46
62
|
"function select placeholder": "Select function",
|
|
47
63
|
"function enabled": "Enabled",
|
|
@@ -51,10 +67,16 @@ var translations_default = [
|
|
|
51
67
|
"trigger type webhook": "Webhook",
|
|
52
68
|
"trigger type websocket": "Websocket",
|
|
53
69
|
"trigger type subscription": "Subscription",
|
|
70
|
+
"trigger type email": "Email",
|
|
54
71
|
"trigger filter": "Filter",
|
|
55
72
|
"trigger cron": "Cron",
|
|
56
73
|
"trigger method": "Method",
|
|
57
74
|
"trigger endpoint": "Endpoint",
|
|
75
|
+
"trigger copy url": "Copy URL",
|
|
76
|
+
"trigger copy email": "Copy Email",
|
|
77
|
+
"trigger meta add": "Add",
|
|
78
|
+
"trigger meta remove": "Remove",
|
|
79
|
+
"trigger meta prop name placeholder": "New meta property name",
|
|
58
80
|
"open assistant panel label": "Show Assistant",
|
|
59
81
|
"assistant panel label": "Assistant"
|
|
60
82
|
}
|
|
@@ -63,238 +85,106 @@ var translations_default = [
|
|
|
63
85
|
];
|
|
64
86
|
|
|
65
87
|
// packages/plugins/experimental/plugin-automation/src/AutomationPlugin.tsx
|
|
66
|
-
var
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
88
|
+
var AutomationPlugin = () => definePlugin(meta, [
|
|
89
|
+
defineModule({
|
|
90
|
+
id: `${meta.id}/module/ai-client`,
|
|
91
|
+
activatesOn: ClientEvents.ClientReady,
|
|
92
|
+
activate: AiClient
|
|
93
|
+
}),
|
|
94
|
+
defineModule({
|
|
95
|
+
id: `${meta.id}/module/translations`,
|
|
96
|
+
activatesOn: Events.SetupTranslations,
|
|
97
|
+
activate: () => contributes(Capabilities.Translations, translations_default)
|
|
98
|
+
}),
|
|
99
|
+
defineModule({
|
|
100
|
+
id: `${meta.id}/module/metadata`,
|
|
101
|
+
activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),
|
|
102
|
+
activate: () => [
|
|
103
|
+
contributes(Capabilities.Metadata, {
|
|
104
|
+
id: ChainType.typename,
|
|
105
|
+
metadata: {
|
|
106
|
+
placeholder: [
|
|
107
|
+
"object placeholder",
|
|
108
|
+
{
|
|
109
|
+
ns: AUTOMATION_PLUGIN
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
icon: "ph--magic-wand--regular",
|
|
113
|
+
// TODO(wittjosiah): Move out of metadata.
|
|
114
|
+
loadReferences: async (chain) => await RefArray.loadAll(chain.prompts ?? [])
|
|
84
115
|
}
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
116
|
+
}),
|
|
117
|
+
contributes(Capabilities.Metadata, {
|
|
118
|
+
id: GptChatType.typename,
|
|
119
|
+
metadata: {
|
|
120
|
+
createObject: (props) => createIntent(AutomationAction.Create, props),
|
|
121
|
+
placeholder: [
|
|
122
|
+
"object placeholder",
|
|
123
|
+
{
|
|
124
|
+
ns: AUTOMATION_PLUGIN
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
icon: "ph--atom--regular"
|
|
128
|
+
}
|
|
129
|
+
})
|
|
130
|
+
]
|
|
131
|
+
}),
|
|
132
|
+
defineModule({
|
|
133
|
+
id: `${meta.id}/module/schema`,
|
|
134
|
+
activatesOn: ClientEvents.SetupClient,
|
|
135
|
+
activate: () => [
|
|
136
|
+
contributes(ClientCapabilities.SystemSchema, [
|
|
137
|
+
ChainType,
|
|
138
|
+
ChainPromptType,
|
|
139
|
+
FunctionTrigger
|
|
140
|
+
]),
|
|
141
|
+
contributes(ClientCapabilities.Schema, [
|
|
142
|
+
GptChatType
|
|
143
|
+
])
|
|
144
|
+
]
|
|
145
|
+
}),
|
|
146
|
+
defineModule({
|
|
147
|
+
id: `${meta.id}/module/complementary-panels`,
|
|
148
|
+
activatesOn: Events.Startup,
|
|
149
|
+
activate: () => [
|
|
150
|
+
contributes(DeckCapabilities.ComplementaryPanel, {
|
|
151
|
+
id: "automation",
|
|
152
|
+
label: [
|
|
153
|
+
"automation panel label",
|
|
109
154
|
{
|
|
110
|
-
|
|
111
|
-
label: [
|
|
112
|
-
"open assistant panel label",
|
|
113
|
-
{
|
|
114
|
-
ns: AUTOMATION_PLUGIN
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
icon: "ph--atom--regular"
|
|
155
|
+
ns: AUTOMATION_PLUGIN
|
|
118
156
|
}
|
|
119
|
-
]
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
F: __dxlog_file,
|
|
129
|
-
L: 66,
|
|
130
|
-
S: void 0,
|
|
131
|
-
A: [
|
|
132
|
-
"resolve",
|
|
133
|
-
""
|
|
134
|
-
]
|
|
135
|
-
});
|
|
136
|
-
invariant(client, void 0, {
|
|
137
|
-
F: __dxlog_file,
|
|
138
|
-
L: 67,
|
|
139
|
-
S: void 0,
|
|
140
|
-
A: [
|
|
141
|
-
"client",
|
|
142
|
-
""
|
|
143
|
-
]
|
|
144
|
-
});
|
|
145
|
-
return [
|
|
146
|
-
// Create nodes for object settings.
|
|
147
|
-
createExtension({
|
|
148
|
-
id: `${AUTOMATION_PLUGIN}/automation-for-subject`,
|
|
149
|
-
resolver: ({ id }) => {
|
|
150
|
-
if (!id.endsWith("~automation")) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
const type = "orphan-settings-for-subject";
|
|
154
|
-
const icon = "ph--magic-wand--regular";
|
|
155
|
-
const [subjectId] = id.split("~");
|
|
156
|
-
const { spaceId, objectId } = parseId(subjectId);
|
|
157
|
-
const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
|
|
158
|
-
const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
|
|
159
|
-
if (!objectId) {
|
|
160
|
-
const label2 = space ? space.properties.name || [
|
|
161
|
-
"unnamed space label",
|
|
162
|
-
{
|
|
163
|
-
ns: AUTOMATION_PLUGIN
|
|
164
|
-
}
|
|
165
|
-
] : [
|
|
166
|
-
"unnamed object settings label",
|
|
167
|
-
{
|
|
168
|
-
ns: AUTOMATION_PLUGIN
|
|
169
|
-
}
|
|
170
|
-
];
|
|
171
|
-
return {
|
|
172
|
-
id,
|
|
173
|
-
type,
|
|
174
|
-
data: null,
|
|
175
|
-
properties: {
|
|
176
|
-
icon,
|
|
177
|
-
label: label2,
|
|
178
|
-
showResolvedThreads: false,
|
|
179
|
-
object: null,
|
|
180
|
-
space
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
const [object] = memoizeQuery(space, {
|
|
185
|
-
id: objectId
|
|
186
|
-
});
|
|
187
|
-
if (!object || !subjectId) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
const meta = resolve(getTypename(object) ?? "");
|
|
191
|
-
const label = meta.label?.(object) || object.name || meta.placeholder || [
|
|
192
|
-
"unnamed object settings label",
|
|
193
|
-
{
|
|
194
|
-
ns: AUTOMATION_PLUGIN
|
|
195
|
-
}
|
|
196
|
-
];
|
|
197
|
-
return {
|
|
198
|
-
id,
|
|
199
|
-
type,
|
|
200
|
-
data: null,
|
|
201
|
-
properties: {
|
|
202
|
-
icon,
|
|
203
|
-
label,
|
|
204
|
-
object
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
}),
|
|
209
|
-
createExtension({
|
|
210
|
-
id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,
|
|
211
|
-
resolver: ({ id }) => {
|
|
212
|
-
if (!id.endsWith("~assistant")) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
const [subjectId] = id.split("~");
|
|
216
|
-
const { spaceId, objectId } = parseId(subjectId);
|
|
217
|
-
const spaces = toSignal((onChange) => client.spaces.subscribe(() => onChange()).unsubscribe, () => client.spaces.get());
|
|
218
|
-
const space = spaces?.find((space2) => space2.id === spaceId && space2.state.get() === SpaceState.SPACE_READY);
|
|
219
|
-
if (!objectId) {
|
|
220
|
-
return {
|
|
221
|
-
id,
|
|
222
|
-
type: "orphan-automation-for-subject",
|
|
223
|
-
data: null,
|
|
224
|
-
properties: {
|
|
225
|
-
icon: "ph--atom--regular",
|
|
226
|
-
label: [
|
|
227
|
-
"assistant panel label",
|
|
228
|
-
{
|
|
229
|
-
ns: AUTOMATION_PLUGIN
|
|
230
|
-
}
|
|
231
|
-
],
|
|
232
|
-
object: null,
|
|
233
|
-
space
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
const [object] = memoizeQuery(space, {
|
|
238
|
-
id: objectId
|
|
239
|
-
});
|
|
240
|
-
return {
|
|
241
|
-
id,
|
|
242
|
-
type: "orphan-automation-for-subject",
|
|
243
|
-
data: null,
|
|
244
|
-
properties: {
|
|
245
|
-
icon: "ph--atom--regular",
|
|
246
|
-
label: [
|
|
247
|
-
"assistant panel label",
|
|
248
|
-
{
|
|
249
|
-
ns: AUTOMATION_PLUGIN
|
|
250
|
-
}
|
|
251
|
-
],
|
|
252
|
-
object
|
|
253
|
-
}
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
})
|
|
257
|
-
];
|
|
258
|
-
}
|
|
259
|
-
},
|
|
260
|
-
surface: {
|
|
261
|
-
component: ({ data, role }) => {
|
|
262
|
-
switch (role) {
|
|
263
|
-
case "complementary--assistant":
|
|
264
|
-
return /* @__PURE__ */ React.createElement(AssistantPanel, {
|
|
265
|
-
subject: data.subject
|
|
266
|
-
});
|
|
267
|
-
case "complementary--automation": {
|
|
268
|
-
const object = data.subject;
|
|
269
|
-
const space = isEchoObject(object) ? getSpace(object) : void 0;
|
|
270
|
-
if (space) {
|
|
271
|
-
invariant(isEchoObject(object), void 0, {
|
|
272
|
-
F: __dxlog_file,
|
|
273
|
-
L: 193,
|
|
274
|
-
S: void 0,
|
|
275
|
-
A: [
|
|
276
|
-
"isEchoObject(object)",
|
|
277
|
-
""
|
|
278
|
-
]
|
|
279
|
-
});
|
|
280
|
-
return /* @__PURE__ */ React.createElement(AutomationPanel, {
|
|
281
|
-
space,
|
|
282
|
-
object
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
break;
|
|
286
|
-
}
|
|
157
|
+
],
|
|
158
|
+
icon: "ph--magic-wand--regular"
|
|
159
|
+
}),
|
|
160
|
+
contributes(DeckCapabilities.ComplementaryPanel, {
|
|
161
|
+
id: "assistant",
|
|
162
|
+
label: [
|
|
163
|
+
"assistant panel label",
|
|
164
|
+
{
|
|
165
|
+
ns: AUTOMATION_PLUGIN
|
|
287
166
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
167
|
+
],
|
|
168
|
+
icon: "ph--atom--regular"
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
}),
|
|
172
|
+
defineModule({
|
|
173
|
+
id: `${meta.id}/module/react-surface`,
|
|
174
|
+
activatesOn: Events.Startup,
|
|
175
|
+
activate: ReactSurface
|
|
176
|
+
}),
|
|
177
|
+
defineModule({
|
|
178
|
+
id: `${meta.id}/module/app-graph-builder`,
|
|
179
|
+
activatesOn: Events.SetupAppGraph,
|
|
180
|
+
activate: AppGraphBuilder
|
|
181
|
+
}),
|
|
182
|
+
defineModule({
|
|
183
|
+
id: `${meta.id}/module/intent-resolver`,
|
|
184
|
+
activatesOn: Events.SetupIntents,
|
|
185
|
+
activate: IntentResolver
|
|
186
|
+
})
|
|
187
|
+
]);
|
|
298
188
|
|
|
299
189
|
// packages/plugins/experimental/plugin-automation/src/presets.ts
|
|
300
190
|
import { create } from "@dxos/live-object";
|
|
@@ -513,10 +403,8 @@ var chainPresets = [
|
|
|
513
403
|
})
|
|
514
404
|
}
|
|
515
405
|
];
|
|
516
|
-
|
|
517
|
-
// packages/plugins/experimental/plugin-automation/src/index.ts
|
|
518
|
-
var src_default = AutomationPlugin;
|
|
519
406
|
export {
|
|
407
|
+
AUTOMATION_PLUGIN,
|
|
520
408
|
AssistantPanel,
|
|
521
409
|
AutomationAction,
|
|
522
410
|
AutomationPanel,
|
|
@@ -525,8 +413,14 @@ export {
|
|
|
525
413
|
ChainInputType,
|
|
526
414
|
ChainPromptType,
|
|
527
415
|
ChainType,
|
|
416
|
+
ChatContainer,
|
|
417
|
+
GptChatType,
|
|
418
|
+
PromptEditor,
|
|
419
|
+
Thread,
|
|
420
|
+
ThreadMessage,
|
|
421
|
+
TriggerEditor,
|
|
528
422
|
chainPresets,
|
|
529
|
-
|
|
423
|
+
meta,
|
|
530
424
|
str
|
|
531
425
|
};
|
|
532
426
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/AutomationPlugin.tsx", "../../../src/
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { parseMetadataResolverPlugin, type PluginDefinition, resolvePlugin } from '@dxos/app-framework';\nimport { FunctionTrigger } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { createExtension, toSignal } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport {\n getSpace,\n getTypename,\n isEchoObject,\n loadObjectReferences,\n parseId,\n SpaceState,\n} from '@dxos/react-client/echo';\nimport { translations as formTranslations } from '@dxos/react-ui-form';\n\nimport { AssistantPanel, AutomationPanel } from './components';\nimport meta, { AUTOMATION_PLUGIN } from './meta';\nimport translations from './translations';\nimport { type AutomationPluginProvides, ChainPromptType, ChainType } from './types';\n\nexport const AutomationPlugin = (): PluginDefinition<AutomationPluginProvides> => {\n return {\n meta,\n provides: {\n metadata: {\n records: {\n [ChainType.typename]: {\n placeholder: ['object placeholder', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (chain: ChainType) => loadObjectReferences(chain, (chain) => chain.prompts),\n },\n },\n },\n translations: [...translations, ...formTranslations],\n echo: {\n system: [ChainType, ChainPromptType, FunctionTrigger],\n },\n complementary: {\n panels: [\n {\n id: 'automation',\n label: ['open automation panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n },\n {\n id: 'assistant',\n label: ['open assistant panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--atom--regular',\n },\n ],\n },\n graph: {\n builder: (plugins) => {\n const clientPlugin = resolvePlugin(plugins, parseClientPlugin);\n const metadataPlugin = resolvePlugin(plugins, parseMetadataResolverPlugin);\n const resolve = metadataPlugin?.provides.metadata.resolver;\n const client = clientPlugin?.provides.client;\n invariant(resolve);\n invariant(client);\n\n return [\n // Create nodes for object settings.\n createExtension({\n id: `${AUTOMATION_PLUGIN}/automation-for-subject`,\n resolver: ({ id }) => {\n if (!id.endsWith('~automation')) {\n return;\n }\n\n const type = 'orphan-settings-for-subject';\n const icon = 'ph--magic-wand--regular';\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find(\n (space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY,\n );\n if (!objectId) {\n // TODO(burdon): Ref SPACE_PLUGIN ns.\n const label = space\n ? space.properties.name || ['unnamed space label', { ns: AUTOMATION_PLUGIN }]\n : ['unnamed object settings label', { ns: AUTOMATION_PLUGIN }];\n\n // TODO(wittjosiah): Support comments for arbitrary subjects.\n // This is to ensure that the comments panel is not stuck on an old object.\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n showResolvedThreads: false,\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object || !subjectId) {\n return;\n }\n\n const meta = resolve(getTypename(object) ?? '');\n const label = meta.label?.(object) ||\n object.name ||\n meta.placeholder || ['unnamed object settings label', { ns: AUTOMATION_PLUGIN }];\n\n return {\n id,\n type,\n data: null,\n properties: {\n icon,\n label,\n object,\n },\n };\n },\n }),\n createExtension({\n id: `${AUTOMATION_PLUGIN}/assistant-for-subject`,\n resolver: ({ id }) => {\n // TODO(Zan): Find util (or make one). Effect schema!!\n if (!id.endsWith('~assistant')) {\n return;\n }\n\n const [subjectId] = id.split('~');\n const { spaceId, objectId } = parseId(subjectId);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n const space = spaces?.find(\n (space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY,\n );\n if (!objectId) {\n // TODO(wittjosiah): Support assistant for arbitrary subjects.\n // This is to ensure that the assistant panel is not stuck on an old object.\n return {\n id,\n type: 'orphan-automation-for-subject',\n data: null,\n properties: {\n icon: 'ph--atom--regular',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n object: null,\n space,\n },\n };\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n\n return {\n id,\n type: 'orphan-automation-for-subject',\n data: null,\n properties: {\n icon: 'ph--atom--regular',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n object,\n },\n };\n },\n }),\n ];\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'complementary--assistant':\n return <AssistantPanel subject={data.subject as any} />;\n case 'complementary--automation': {\n const object = data.subject;\n const space = isEchoObject(object) ? getSpace(object) : undefined;\n if (space) {\n invariant(isEchoObject(object));\n return <AutomationPanel space={space} object={object} />;\n }\n break;\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: (intent) => {},\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const AssistantPanel = lazy(() => import('./AssistantPanel'));\nexport const AutomationPanel = lazy(() => import('./AutomationPanel'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AUTOMATION_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [AUTOMATION_PLUGIN]: {\n 'plugin name': 'Automation',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'select preset template placeholder': 'Select preset',\n 'open automation panel label': 'Show Automations',\n\n 'function select label': 'Function',\n 'function select placeholder': 'Select function',\n 'function enabled': 'Enabled',\n 'trigger select label': 'Trigger',\n 'trigger select placeholder': 'Trigger type',\n\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n\n 'trigger filter': 'Filter',\n 'trigger cron': 'Cron',\n 'trigger method': 'Method',\n 'trigger endpoint': 'Endpoint',\n\n 'open assistant panel label': 'Show Assistant',\n 'assistant panel label': 'Assistant',\n },\n },\n },\n];\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { create } from '@dxos/live-object';\n\nimport { ChainInputType, ChainPromptType } from './types';\n\nexport const str = (...text: (string | undefined | boolean)[]): string =>\n text\n .filter((value) => value !== undefined && value !== false)\n .flat()\n .join('\\n');\n\nexport type Preset = {\n id: string;\n title: string;\n createPrompt: () => ChainPromptType;\n};\n\nexport const chainPresets: Preset[] = [\n {\n id: 'dxos.org/prompt/translate',\n title: 'Translate',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'say',\n template: str(\n // prettier-ignore\n 'Translate the following into {language}:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.VALUE,\n name: 'language',\n value: 'japanese',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n // TODO(burdon): Message.\n // {\n // type: ChainInputType.CONTEXT,\n // name: 'input',\n // value: 'object.text',\n // },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/chess',\n title: 'Chess',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'hint',\n template: str(\n // prettier-ignore\n 'You are a machine that is an expert chess player.',\n '',\n 'The move history of the current game is: {history}',\n '',\n 'Suggest the next move and very briefly explain your strategy in a couple of sentences.',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'history',\n value: 'object.pgn',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/mermaid',\n title: 'Mermaid',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'draw',\n template: str(\n // prettier-ignore\n 'Create a simplified mermaid graph representing the text below.',\n 'Do not explain anything.',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/list',\n title: 'List',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'list',\n template: str(\n // prettier-ignore\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a single array of JSON objects.',\n '',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{schema}',\n '',\n '---',\n '',\n '{question}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'schema',\n value: 'example.com/type/project',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'question',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/base',\n title: 'RAG',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'rag',\n template: str(\n // prettier-ignore\n \"Very briefly answer the question based only on the following context and say if you don't know the answer.\",\n // 'answer the question using the following context as well as your training data:',\n '',\n '{context}',\n '',\n '---',\n '',\n 'question: {question}',\n ),\n inputs: [\n {\n type: ChainInputType.RETRIEVER,\n name: 'context',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'question',\n value: 'object.text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/lookup',\n title: 'Lookup',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'lookup',\n template: str(\n // prettier-ignore\n 'Lookup and very briefly summarize the following topic in one or two sentences:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/extract',\n title: 'Extract',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'extract',\n template: str(\n // prettier-ignore\n 'List all people and companies mentioned in the text below.',\n '',\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{contact}',\n '{company}',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'contact',\n value: 'example.com/type/contact',\n },\n {\n type: ChainInputType.SCHEMA,\n name: 'company',\n value: 'example.com/type/organization',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/discord',\n title: 'Summarize',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'summarize',\n template: str(\n // prettier-ignore\n 'Summarize what the team is working on and format it as a markdown table without any explanation.',\n '',\n '---',\n '',\n '{context}',\n ),\n inputs: [\n {\n type: ChainInputType.RESOLVER,\n name: 'context',\n value: 'discord.messages.recent',\n },\n ],\n }),\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AutomationPlugin } from './AutomationPlugin';\n\nexport default AutomationPlugin;\n\nexport * from './AutomationPlugin';\nexport * from './components';\nexport * from './presets';\nexport * from './types';\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
3
|
+
"sources": ["../../../src/AutomationPlugin.tsx", "../../../src/translations.ts", "../../../src/presets.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { FunctionTrigger } from '@dxos/functions';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { DeckCapabilities } from '@dxos/plugin-deck';\nimport { RefArray } from '@dxos/react-client/echo';\n\nimport { AiClient, AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';\nimport { AUTOMATION_PLUGIN, meta } from './meta';\nimport translations from './translations';\nimport { AutomationAction, ChainPromptType, ChainType, GptChatType } from './types';\n\n// TODO(wittjosiah): Rename to AssistantPlugin?\nexport const AutomationPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/ai-client`,\n activatesOn: ClientEvents.ClientReady,\n activate: AiClient,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: ChainType.typename,\n metadata: {\n placeholder: ['object placeholder', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (chain: ChainType) => await RefArray.loadAll(chain.prompts ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: GptChatType.typename,\n metadata: {\n createObject: (props: { name?: string }) => createIntent(AutomationAction.Create, props),\n placeholder: ['object placeholder', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--atom--regular',\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupClient,\n activate: () => [\n contributes(ClientCapabilities.SystemSchema, [ChainType, ChainPromptType, FunctionTrigger]),\n contributes(ClientCapabilities.Schema, [GptChatType]),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/complementary-panels`,\n activatesOn: Events.Startup,\n activate: () => [\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'automation',\n label: ['automation panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--magic-wand--regular',\n }),\n contributes(DeckCapabilities.ComplementaryPanel, {\n id: 'assistant',\n label: ['assistant panel label', { ns: AUTOMATION_PLUGIN }],\n icon: 'ph--atom--regular',\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.Startup,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntents,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { AUTOMATION_PLUGIN } from './meta';\nimport { GptChatType } from './types';\n\nexport default [\n {\n 'en-US': {\n [GptChatType.typename]: {\n 'typename label': 'GPT Chat',\n },\n [AUTOMATION_PLUGIN]: {\n 'plugin name': 'Automation',\n 'object placeholder': 'New prompt',\n 'create object label': 'Create prompt',\n 'create trigger label': 'Create trigger',\n 'create stack section label': 'Create prompt',\n 'command placeholder': 'Enter slash command...',\n 'template placeholder': 'Enter template...',\n 'value placeholder': 'Enter value...',\n 'select preset template placeholder': 'Select preset',\n 'open automation panel label': 'Show Automations',\n 'automation panel label': 'Automations',\n\n 'function select label': 'Function',\n 'function select placeholder': 'Select function',\n 'function enabled': 'Enabled',\n 'trigger select label': 'Trigger',\n 'trigger select placeholder': 'Trigger type',\n\n 'trigger type timer': 'Timer',\n 'trigger type webhook': 'Webhook',\n 'trigger type websocket': 'Websocket',\n 'trigger type subscription': 'Subscription',\n 'trigger type email': 'Email',\n\n 'trigger filter': 'Filter',\n 'trigger cron': 'Cron',\n 'trigger method': 'Method',\n 'trigger endpoint': 'Endpoint',\n\n 'trigger copy url': 'Copy URL',\n 'trigger copy email': 'Copy Email',\n\n 'trigger meta add': 'Add',\n 'trigger meta remove': 'Remove',\n 'trigger meta prop name placeholder': 'New meta property name',\n\n 'open assistant panel label': 'Show Assistant',\n 'assistant panel label': 'Assistant',\n },\n },\n },\n];\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { create } from '@dxos/live-object';\n\nimport { ChainInputType, ChainPromptType } from './types';\n\nexport const str = (...text: (string | undefined | boolean)[]): string =>\n text\n .filter((value) => value !== undefined && value !== false)\n .flat()\n .join('\\n');\n\nexport type Preset = {\n id: string;\n title: string;\n createPrompt: () => ChainPromptType;\n};\n\nexport const chainPresets: Preset[] = [\n {\n id: 'dxos.org/prompt/translate',\n title: 'Translate',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'say',\n template: str(\n // prettier-ignore\n 'Translate the following into {language}:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.VALUE,\n name: 'language',\n value: 'japanese',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n // TODO(burdon): Message.\n // {\n // type: ChainInputType.CONTEXT,\n // name: 'input',\n // value: 'object.text',\n // },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/chess',\n title: 'Chess',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'hint',\n template: str(\n // prettier-ignore\n 'You are a machine that is an expert chess player.',\n '',\n 'The move history of the current game is: {history}',\n '',\n 'Suggest the next move and very briefly explain your strategy in a couple of sentences.',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'history',\n value: 'object.pgn',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/mermaid',\n title: 'Mermaid',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'draw',\n template: str(\n // prettier-ignore\n 'Create a simplified mermaid graph representing the text below.',\n 'Do not explain anything.',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'input',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/list',\n title: 'List',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'list',\n template: str(\n // prettier-ignore\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a single array of JSON objects.',\n '',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{schema}',\n '',\n '---',\n '',\n '{question}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'schema',\n value: 'example.com/type/project',\n },\n {\n type: ChainInputType.PASS_THROUGH,\n name: 'question',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/base',\n title: 'RAG',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'rag',\n template: str(\n // prettier-ignore\n \"Very briefly answer the question based only on the following context and say if you don't know the answer.\",\n // 'answer the question using the following context as well as your training data:',\n '',\n '{context}',\n '',\n '---',\n '',\n 'question: {question}',\n ),\n inputs: [\n {\n type: ChainInputType.RETRIEVER,\n name: 'context',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'question',\n value: 'object.text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/lookup',\n title: 'Lookup',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'lookup',\n template: str(\n // prettier-ignore\n 'Lookup and very briefly summarize the following topic in one or two sentences:',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/extract',\n title: 'Extract',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'extract',\n template: str(\n // prettier-ignore\n 'List all people and companies mentioned in the text below.',\n '',\n 'You are a machine that only replies with valid, iterable RFC8259 compliant JSON in your responses.',\n 'Your entire response should be a map where the key is the type and the value is a single array of JSON objects conforming to the following types:',\n '',\n '{contact}',\n '{company}',\n '',\n '---',\n '',\n '{input}',\n ),\n inputs: [\n {\n type: ChainInputType.SCHEMA,\n name: 'contact',\n value: 'example.com/type/contact',\n },\n {\n type: ChainInputType.SCHEMA,\n name: 'company',\n value: 'example.com/type/organization',\n },\n {\n type: ChainInputType.CONTEXT,\n name: 'input',\n value: 'text',\n },\n ],\n }),\n },\n {\n id: 'dxos.org/prompt/discord',\n title: 'Summarize',\n createPrompt: () =>\n create(ChainPromptType, {\n command: 'summarize',\n template: str(\n // prettier-ignore\n 'Summarize what the team is working on and format it as a markdown table without any explanation.',\n '',\n '---',\n '',\n '{context}',\n ),\n inputs: [\n {\n type: ChainInputType.RESOLVER,\n name: 'context',\n value: 'discord.messages.recent',\n },\n ],\n }),\n },\n];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "FunctionTrigger", "ClientCapabilities", "ClientEvents", "DeckCapabilities", "RefArray", "GptChatType", "typename", "AUTOMATION_PLUGIN", "AutomationPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "ClientEvents", "ClientReady", "activate", "AiClient", "Events", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "oneOf", "Startup", "SetupAppGraph", "Metadata", "ChainType", "typename", "metadata", "placeholder", "ns", "AUTOMATION_PLUGIN", "icon", "loadReferences", "chain", "RefArray", "loadAll", "prompts", "GptChatType", "createObject", "props", "createIntent", "AutomationAction", "Create", "SetupClient", "ClientCapabilities", "SystemSchema", "ChainPromptType", "FunctionTrigger", "Schema", "DeckCapabilities", "ComplementaryPanel", "label", "ReactSurface", "AppGraphBuilder", "SetupIntents", "IntentResolver", "create", "str", "text", "filter", "value", "undefined", "flat", "join", "chainPresets", "id", "title", "createPrompt", "create", "ChainPromptType", "command", "template", "inputs", "type", "ChainInputType", "VALUE", "name", "PASS_THROUGH", "CONTEXT", "SCHEMA", "RETRIEVER", "RESOLVER"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
AutomationAction,
|
|
4
|
+
GptChatType
|
|
5
|
+
} from "./chunk-JCYVS5GG.mjs";
|
|
6
|
+
import "./chunk-X3LPRWIL.mjs";
|
|
7
|
+
|
|
8
|
+
// packages/plugins/experimental/plugin-automation/src/capabilities/intent-resolver.ts
|
|
9
|
+
import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
|
|
10
|
+
import { ObjectId } from "@dxos/echo-schema";
|
|
11
|
+
import { create, makeRef } from "@dxos/live-object";
|
|
12
|
+
var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver(AutomationAction.Create, ({ name }) => ({
|
|
13
|
+
data: {
|
|
14
|
+
object: create(GptChatType, {
|
|
15
|
+
name,
|
|
16
|
+
queue: makeRef({
|
|
17
|
+
id: ObjectId.random()
|
|
18
|
+
})
|
|
19
|
+
})
|
|
20
|
+
}
|
|
21
|
+
})));
|
|
22
|
+
export {
|
|
23
|
+
intent_resolver_default as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=intent-resolver-DPJJHFGK.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver } from '@dxos/app-framework';\nimport { ObjectId } from '@dxos/echo-schema';\nimport { create, makeRef } from '@dxos/live-object';\n\nimport { AutomationAction, GptChatType } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver(AutomationAction.Create, ({ name }) => ({\n data: {\n object: create(GptChatType, {\n name,\n queue: makeRef({ id: ObjectId.random() }), // new DXN(DXN.kind.QUEUE, [QueueSubspaceTags.DATA, SpaceId.random(), ObjectId.random()]).toString(),\n }),\n },\n })),\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAAsB;AAC1D,SAASC,gBAAgB;AACzB,SAASC,QAAQC,eAAe;AAIhC,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAeC,iBAAiBC,QAAQ,CAAC,EAAEC,KAAI,OAAQ;EACrDC,MAAM;IACJC,QAAQC,OAAOC,aAAa;MAC1BJ;MACAK,OAAOC,QAAQ;QAAEC,IAAIC,SAASC,OAAM;MAAG,CAAA;IACzC,CAAA;EACF;AACF,EAAA,CAAA;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createResolver", "ObjectId", "create", "makeRef", "contributes", "Capabilities", "IntentResolver", "createResolver", "AutomationAction", "Create", "name", "data", "object", "create", "GptChatType", "queue", "makeRef", "id", "ObjectId", "random"]
|
|
7
|
+
}
|