@dxos/plugin-routine 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PLUGIN.mdl +18 -13
- package/dist/lib/RoutinePlugin.mjs +2 -0
- package/dist/lib/RoutinePlugin.node.mjs +894 -0
- package/dist/lib/RoutinePlugin.node.mjs.map +1 -0
- package/dist/lib/RoutinePlugin.workerd.mjs +20 -0
- package/dist/lib/RoutinePlugin.workerd.mjs.map +1 -0
- package/dist/lib/capabilities/node.mjs +12 -0
- package/dist/lib/capabilities/node.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +14 -0
- package/dist/lib/capabilities.mjs.map +1 -0
- package/dist/lib/chunk-RoutineArticle.mjs +79 -0
- package/dist/lib/chunk-RoutineArticle.mjs.map +1 -0
- package/dist/lib/chunk-RoutineCompanion.mjs +192 -0
- package/dist/lib/chunk-RoutineCompanion.mjs.map +1 -0
- package/dist/lib/chunk-RoutinePlugin.mjs +38 -0
- package/dist/lib/chunk-RoutinePlugin.mjs.map +1 -0
- package/dist/lib/chunk-RoutineSettings.mjs +50 -0
- package/dist/lib/chunk-RoutineSettings.mjs.map +1 -0
- package/dist/lib/chunk-RoutineTraceCompanion.mjs +208 -0
- package/dist/lib/chunk-RoutineTraceCompanion.mjs.map +1 -0
- package/dist/lib/chunk-SkillArticle.mjs +28 -0
- package/dist/lib/chunk-SkillArticle.mjs.map +1 -0
- package/dist/lib/chunk-app-graph-builder.mjs +71 -0
- package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
- package/dist/lib/chunk-create-object.mjs +23 -0
- package/dist/lib/chunk-create-object.mjs.map +1 -0
- package/dist/lib/chunk-create-routine.mjs +34 -0
- package/dist/lib/chunk-create-routine.mjs.map +1 -0
- package/dist/lib/chunk-create-trigger-from-template.mjs +48 -0
- package/dist/lib/chunk-create-trigger-from-template.mjs.map +1 -0
- package/dist/lib/chunk-layer-specs.mjs +179 -0
- package/dist/lib/chunk-layer-specs.mjs.map +1 -0
- package/dist/lib/{neutral/chunk-HLO4LYXT.mjs → chunk-meta.mjs} +19 -27
- package/dist/lib/chunk-meta.mjs.map +1 -0
- package/dist/lib/chunk-operation-handler.mjs +11 -0
- package/dist/lib/chunk-operation-handler.mjs.map +1 -0
- package/dist/lib/chunk-paths.mjs +11 -0
- package/dist/lib/chunk-paths.mjs.map +1 -0
- package/dist/lib/chunk-react-surface.mjs +64 -0
- package/dist/lib/chunk-react-surface.mjs.map +1 -0
- package/dist/lib/chunk-registry-sync.mjs +104 -0
- package/dist/lib/chunk-registry-sync.mjs.map +1 -0
- package/dist/lib/chunk-run-routine.mjs +57 -0
- package/dist/lib/chunk-run-routine.mjs.map +1 -0
- package/dist/lib/chunk-templates.mjs +37 -0
- package/dist/lib/chunk-templates.mjs.map +1 -0
- package/dist/lib/chunk-trigger-runtime-controller.mjs +73 -0
- package/dist/lib/chunk-trigger-runtime-controller.mjs.map +1 -0
- package/dist/lib/chunk-types.mjs +149 -0
- package/dist/lib/chunk-types.mjs.map +1 -0
- package/dist/lib/chunk-util.mjs +142 -0
- package/dist/lib/chunk-util.mjs.map +1 -0
- package/dist/lib/components.mjs +1645 -0
- package/dist/lib/components.mjs.map +1 -0
- package/dist/lib/containers.mjs +11 -0
- package/dist/lib/containers.mjs.map +1 -0
- package/dist/lib/hooks.mjs +37 -0
- package/dist/lib/hooks.mjs.map +1 -0
- package/dist/lib/index.mjs +5 -0
- package/dist/lib/meta.mjs +2 -0
- package/dist/lib/operations.mjs +7 -0
- package/dist/lib/operations.mjs.map +1 -0
- package/dist/lib/plugin.mjs +9 -0
- package/dist/lib/plugin.mjs.map +1 -0
- package/dist/lib/testing.mjs +2 -0
- package/dist/lib/translations.mjs +110 -0
- package/dist/lib/translations.mjs.map +1 -0
- package/dist/lib/types.mjs +2 -0
- package/dist/types/src/RoutinePlugin.d.ts.map +1 -1
- package/dist/types/src/RoutinePlugin.node.d.ts.map +1 -1
- package/dist/types/src/RoutinePlugin.workerd.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/create-object.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts +0 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/layer-specs.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/registry-sync.d.ts +1 -1
- package/dist/types/src/capabilities/templates.d.ts +1 -1
- package/dist/types/src/capabilities/trigger-runtime-controller.d.ts +1 -1
- package/dist/types/src/commands/trigger/create/{queue.d.ts → feed.d.ts} +2 -2
- package/dist/types/src/commands/trigger/create/feed.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/update/{queue.d.ts → feed.d.ts} +2 -2
- package/dist/types/src/commands/trigger/update/feed.d.ts.map +1 -0
- package/dist/types/src/commands/trigger/util.d.ts +1 -1
- package/dist/types/src/commands/trigger/util.d.ts.map +1 -1
- package/dist/types/src/components/InstructionsEditor/InstructionsEditor.d.ts +7 -5
- package/dist/types/src/components/InstructionsEditor/InstructionsEditor.d.ts.map +1 -1
- package/dist/types/src/components/InstructionsEditor/InstructionsEditor.stories.d.ts +3 -3
- package/dist/types/src/components/InstructionsEditor/InstructionsEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/RoutineCard/RoutineCard.d.ts +9 -0
- package/dist/types/src/components/RoutineCard/RoutineCard.d.ts.map +1 -0
- package/dist/types/src/components/RoutineCard/RoutineCard.stories.d.ts +21 -0
- package/dist/types/src/components/RoutineCard/RoutineCard.stories.d.ts.map +1 -0
- package/dist/types/src/components/RoutineCard/index.d.ts +2 -0
- package/dist/types/src/components/RoutineCard/index.d.ts.map +1 -0
- package/dist/types/src/components/RoutineForm/RoutineForm.d.ts +7 -2
- package/dist/types/src/components/RoutineForm/RoutineForm.d.ts.map +1 -1
- package/dist/types/src/components/Schedule/Schedule.d.ts +2 -26
- package/dist/types/src/components/Schedule/Schedule.d.ts.map +1 -1
- package/dist/types/src/components/Schedule/days.d.ts +24 -0
- package/dist/types/src/components/Schedule/days.d.ts.map +1 -0
- package/dist/types/src/components/Schedule/describe-schedule.d.ts +3 -0
- package/dist/types/src/components/Schedule/describe-schedule.d.ts.map +1 -0
- package/dist/types/src/components/Schedule/index.d.ts +2 -0
- package/dist/types/src/components/Schedule/index.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- 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/TriggerKindSelector.d.ts +5 -2
- package/dist/types/src/components/TriggerEditor/TriggerKindSelector.d.ts.map +1 -1
- package/dist/types/src/components/TriggerEditor/trigger-kind-icon.d.ts +5 -0
- package/dist/types/src/components/TriggerEditor/trigger-kind-icon.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +5 -10
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +6 -2
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineCompanion/RoutineCompanion.d.ts +4 -12
- package/dist/types/src/containers/RoutineCompanion/RoutineCompanion.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineCompanion/RoutineCompanion.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineSettings/RoutineSettings.d.ts +4 -8
- package/dist/types/src/containers/RoutineSettings/RoutineSettings.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineTraceCompanion/RoutineTraceCompanion.d.ts +5 -3
- package/dist/types/src/containers/RoutineTraceCompanion/RoutineTraceCompanion.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineTraceCompanion/RoutineTraceCompanion.stories.d.ts.map +1 -1
- package/dist/types/src/containers/RoutineTraceCompanion/useRoutineRuns.d.ts +1 -1
- package/dist/types/src/containers/RoutineTraceCompanion/useRoutineRuns.d.ts.map +1 -1
- package/dist/types/src/containers/SkillArticle/SkillArticle.d.ts +4 -1
- package/dist/types/src/containers/SkillArticle/SkillArticle.d.ts.map +1 -1
- package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts +1 -1
- package/dist/types/src/hooks/useTriggerRuntimeControls.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/operations/run-routine.d.ts.map +1 -1
- package/dist/types/src/operations/run-routine.test.d.ts +2 -0
- package/dist/types/src/operations/run-routine.test.d.ts.map +1 -0
- package/dist/types/src/paths.d.ts.map +1 -1
- package/dist/types/src/templates/index.d.ts +1 -1
- package/dist/types/src/templates/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-functions.d.ts +30 -6
- package/dist/types/src/testing/test-functions.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/RoutineCapabilities.d.ts +9 -3
- package/dist/types/src/types/RoutineCapabilities.d.ts.map +1 -1
- package/dist/types/src/types/RoutineOperation.d.ts +2 -3
- package/dist/types/src/types/RoutineOperation.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +0 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +1 -0
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/routines-for-object.d.ts +6 -3
- package/dist/types/src/util/routines-for-object.d.ts.map +1 -1
- package/dist/types/src/util/wire.d.ts +21 -0
- package/dist/types/src/util/wire.d.ts.map +1 -0
- package/dist/types/src/util/wire.test.d.ts +2 -0
- package/dist/types/src/util/wire.test.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dx.config.ts +3 -2
- package/package.json +73 -71
- package/src/RoutinePlugin.node.ts +1 -2
- package/src/RoutinePlugin.tsx +2 -4
- package/src/RoutinePlugin.workerd.ts +1 -2
- package/src/capabilities/app-graph-builder.ts +9 -7
- package/src/capabilities/create-object.ts +2 -2
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/layer-specs.ts +78 -12
- package/src/capabilities/{react-surface.tsx → react-surface.ts} +18 -22
- package/src/capabilities/trigger-runtime-controller.test.ts +12 -18
- package/src/capabilities/trigger-runtime-controller.ts +22 -25
- package/src/commands/trigger/create/{queue.ts → feed.ts} +1 -1
- package/src/commands/trigger/create/index.ts +2 -2
- package/src/commands/trigger/update/{queue.ts → feed.ts} +1 -1
- package/src/commands/trigger/update/index.ts +2 -2
- package/src/commands/trigger/util.ts +1 -2
- package/src/components/InstructionsEditor/InstructionsEditor.stories.tsx +7 -6
- package/src/components/InstructionsEditor/InstructionsEditor.tsx +31 -19
- package/src/components/RoutineCard/RoutineCard.stories.tsx +95 -0
- package/src/components/RoutineCard/RoutineCard.tsx +60 -0
- package/src/components/{MasterDetail → RoutineCard}/index.ts +1 -1
- package/src/components/RoutineForm/RoutineForm.tsx +60 -52
- package/src/components/Schedule/Schedule.stories.tsx +1 -1
- package/src/components/Schedule/Schedule.tsx +4 -73
- package/src/components/Schedule/days.ts +18 -0
- package/src/components/Schedule/describe-schedule.ts +64 -0
- package/src/components/Schedule/index.ts +2 -0
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +1 -1
- package/src/components/TemplateEditor/TemplateForm.tsx +1 -1
- package/src/components/TriggerEditor/TriggerEditor.stories.tsx +3 -3
- package/src/components/TriggerEditor/TriggerEditor.tsx +79 -66
- package/src/components/TriggerEditor/TriggerKindSelector.tsx +4 -30
- package/src/components/TriggerEditor/trigger-kind-icon.ts +38 -0
- package/src/components/index.ts +1 -1
- package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +78 -19
- package/src/containers/RoutineArticle/RoutineArticle.tsx +8 -4
- package/src/containers/RoutineCompanion/RoutineCompanion.stories.tsx +5 -4
- package/src/containers/RoutineCompanion/RoutineCompanion.tsx +11 -7
- package/src/containers/RoutineSettings/RoutineSettings.tsx +22 -33
- package/src/containers/RoutineTraceCompanion/RoutineTraceCompanion.stories.tsx +6 -5
- package/src/containers/RoutineTraceCompanion/RoutineTraceCompanion.tsx +3 -1
- package/src/containers/RoutineTraceCompanion/useRoutineRuns.ts +3 -5
- package/src/containers/SkillArticle/SkillArticle.tsx +2 -0
- package/src/hooks/useTriggerRuntimeControls.ts +2 -2
- package/src/index.ts +1 -0
- package/src/operations/create-routine.ts +1 -1
- package/src/operations/create-trigger-from-template.ts +2 -2
- package/src/operations/run-routine.test.ts +150 -0
- package/src/operations/run-routine.ts +18 -2
- package/src/paths.ts +5 -5
- package/src/templates/index.ts +5 -3
- package/src/translations.ts +5 -6
- package/src/types/RoutineCapabilities.ts +10 -4
- package/src/types/RoutineOperation.ts +7 -6
- package/src/types/index.ts +0 -1
- package/src/util/index.ts +1 -0
- package/src/util/routines-for-object.test.ts +37 -5
- package/src/util/routines-for-object.ts +33 -8
- package/src/util/wire.test.ts +77 -0
- package/src/util/wire.ts +76 -0
- package/dist/lib/neutral/RoutineArticle-UNTMV4CC.mjs +0 -95
- package/dist/lib/neutral/RoutineArticle-UNTMV4CC.mjs.map +0 -7
- package/dist/lib/neutral/RoutineCompanion-ZZ6WMY7I.mjs +0 -249
- package/dist/lib/neutral/RoutineCompanion-ZZ6WMY7I.mjs.map +0 -7
- package/dist/lib/neutral/RoutinePlugin.mjs +0 -10
- package/dist/lib/neutral/RoutinePlugin.mjs.map +0 -7
- package/dist/lib/neutral/RoutinePlugin.node.mjs +0 -1133
- package/dist/lib/neutral/RoutinePlugin.node.mjs.map +0 -7
- package/dist/lib/neutral/RoutinePlugin.workerd.mjs +0 -36
- package/dist/lib/neutral/RoutinePlugin.workerd.mjs.map +0 -7
- package/dist/lib/neutral/RoutineSettings-ZJOM4F3S.mjs +0 -48
- package/dist/lib/neutral/RoutineSettings-ZJOM4F3S.mjs.map +0 -7
- package/dist/lib/neutral/RoutineTraceCompanion-5U6R7LJE.mjs +0 -236
- package/dist/lib/neutral/RoutineTraceCompanion-5U6R7LJE.mjs.map +0 -7
- package/dist/lib/neutral/SkillArticle-WWDNKW2Z.mjs +0 -27
- package/dist/lib/neutral/SkillArticle-WWDNKW2Z.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-FALWLZTI.mjs +0 -90
- package/dist/lib/neutral/app-graph-builder-FALWLZTI.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/index.mjs +0 -25
- package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/node.mjs +0 -19
- package/dist/lib/neutral/capabilities/node.mjs.map +0 -7
- package/dist/lib/neutral/chunk-674LDIUJ.mjs +0 -9
- package/dist/lib/neutral/chunk-674LDIUJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-HLO4LYXT.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-P3TDQKOO.mjs +0 -8
- package/dist/lib/neutral/chunk-P3TDQKOO.mjs.map +0 -7
- package/dist/lib/neutral/chunk-R7J2MU2M.mjs +0 -263
- package/dist/lib/neutral/chunk-R7J2MU2M.mjs.map +0 -7
- package/dist/lib/neutral/chunk-WLNL77C7.mjs +0 -14
- package/dist/lib/neutral/chunk-WLNL77C7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YGWSAKLD.mjs +0 -65
- package/dist/lib/neutral/chunk-YGWSAKLD.mjs.map +0 -7
- package/dist/lib/neutral/components/index.mjs +0 -1921
- package/dist/lib/neutral/components/index.mjs.map +0 -7
- package/dist/lib/neutral/containers/index.mjs +0 -17
- package/dist/lib/neutral/containers/index.mjs.map +0 -7
- package/dist/lib/neutral/create-object-V23KVDMJ.mjs +0 -25
- package/dist/lib/neutral/create-object-V23KVDMJ.mjs.map +0 -7
- package/dist/lib/neutral/create-routine-6QBY6TWF.mjs +0 -38
- package/dist/lib/neutral/create-routine-6QBY6TWF.mjs.map +0 -7
- package/dist/lib/neutral/create-trigger-from-template-U3KNS77V.mjs +0 -70
- package/dist/lib/neutral/create-trigger-from-template-U3KNS77V.mjs.map +0 -7
- package/dist/lib/neutral/hooks/index.mjs +0 -47
- package/dist/lib/neutral/hooks/index.mjs.map +0 -7
- package/dist/lib/neutral/index.mjs +0 -27
- package/dist/lib/neutral/index.mjs.map +0 -7
- package/dist/lib/neutral/layer-specs-2TWJU5HI.mjs +0 -135
- package/dist/lib/neutral/layer-specs-2TWJU5HI.mjs.map +0 -7
- package/dist/lib/neutral/meta.json +0 -1
- package/dist/lib/neutral/meta.mjs +0 -8
- package/dist/lib/neutral/meta.mjs.map +0 -7
- package/dist/lib/neutral/navigation-resolver-KQIWUH6F.mjs +0 -18
- package/dist/lib/neutral/navigation-resolver-KQIWUH6F.mjs.map +0 -7
- package/dist/lib/neutral/operation-handler-QKLJSDCQ.mjs +0 -13
- package/dist/lib/neutral/operation-handler-QKLJSDCQ.mjs.map +0 -7
- package/dist/lib/neutral/operations/index.mjs +0 -8
- package/dist/lib/neutral/operations/index.mjs.map +0 -7
- package/dist/lib/neutral/plugin.mjs +0 -16
- package/dist/lib/neutral/plugin.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-GMO7I7YE.mjs +0 -67
- package/dist/lib/neutral/react-surface-GMO7I7YE.mjs.map +0 -7
- package/dist/lib/neutral/registry-sync-DYPOC7ZG.mjs +0 -86
- package/dist/lib/neutral/registry-sync-DYPOC7ZG.mjs.map +0 -7
- package/dist/lib/neutral/run-routine-AEWO6SYD.mjs +0 -37
- package/dist/lib/neutral/run-routine-AEWO6SYD.mjs.map +0 -7
- package/dist/lib/neutral/templates-IIUCEBAX.mjs +0 -49
- package/dist/lib/neutral/templates-IIUCEBAX.mjs.map +0 -7
- package/dist/lib/neutral/testing.mjs +0 -8
- package/dist/lib/neutral/testing.mjs.map +0 -7
- package/dist/lib/neutral/translations.mjs +0 -115
- package/dist/lib/neutral/translations.mjs.map +0 -7
- package/dist/lib/neutral/trigger-runtime-controller-WIDDFGQT.mjs +0 -77
- package/dist/lib/neutral/trigger-runtime-controller-WIDDFGQT.mjs.map +0 -7
- package/dist/lib/neutral/types/index.mjs +0 -17
- package/dist/lib/neutral/types/index.mjs.map +0 -7
- package/dist/types/src/capabilities/navigation-resolver.d.ts +0 -5
- package/dist/types/src/capabilities/navigation-resolver.d.ts.map +0 -1
- package/dist/types/src/commands/trigger/create/queue.d.ts.map +0 -1
- package/dist/types/src/commands/trigger/update/queue.d.ts.map +0 -1
- package/dist/types/src/components/MasterDetail/MasterDetail.d.ts +0 -51
- package/dist/types/src/components/MasterDetail/MasterDetail.d.ts.map +0 -1
- package/dist/types/src/components/MasterDetail/MasterDetail.stories.d.ts +0 -16
- package/dist/types/src/components/MasterDetail/MasterDetail.stories.d.ts.map +0 -1
- package/dist/types/src/components/MasterDetail/index.d.ts +0 -2
- package/dist/types/src/components/MasterDetail/index.d.ts.map +0 -1
- package/dist/types/src/types/Routine.d.ts +0 -55
- package/dist/types/src/types/Routine.d.ts.map +0 -1
- package/dist/types/src/types/Routine.test.d.ts +0 -2
- package/dist/types/src/types/Routine.test.d.ts.map +0 -1
- package/src/capabilities/navigation-resolver.ts +0 -21
- package/src/components/MasterDetail/MasterDetail.stories.tsx +0 -100
- package/src/components/MasterDetail/MasterDetail.tsx +0 -175
- package/src/types/Routine.test.ts +0 -51
- package/src/types/Routine.ts +0 -144
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
-
|
|
3
|
-
// src/containers/RoutineTraceCompanion/RoutineTraceCompanion.tsx
|
|
4
|
-
import React from "react";
|
|
5
|
-
import { Obj } from "@dxos/echo";
|
|
6
|
-
import { Icon, Panel, ScrollArea, Toolbar, useTranslation } from "@dxos/react-ui";
|
|
7
|
-
import { Accordion, Empty, Listbox } from "@dxos/react-ui-list";
|
|
8
|
-
import { JsonHighlighter } from "@dxos/react-ui-syntax-highlighter";
|
|
9
|
-
import { meta } from "#meta";
|
|
10
|
-
|
|
11
|
-
// src/containers/RoutineTraceCompanion/useRoutineRuns.ts
|
|
12
|
-
import { useMemo } from "react";
|
|
13
|
-
import { Trace as Trace2 } from "@dxos/compute";
|
|
14
|
-
import { Filter, Query } from "@dxos/echo";
|
|
15
|
-
import { FeedTraceSink } from "@dxos/functions-runtime";
|
|
16
|
-
import { EID as EID2 } from "@dxos/keys";
|
|
17
|
-
import { useQuery } from "@dxos/react-client/echo";
|
|
18
|
-
|
|
19
|
-
// src/containers/RoutineTraceCompanion/runs.ts
|
|
20
|
-
import { Trace } from "@dxos/compute";
|
|
21
|
-
import { EID } from "@dxos/keys";
|
|
22
|
-
var groupIntoRuns = (messages, triggerEntityIds) => {
|
|
23
|
-
const relevant = messages.filter((msg) => {
|
|
24
|
-
if (!msg.meta.trigger) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
const eid = EID.getEntityId(EID.parse(msg.meta.trigger.uri));
|
|
28
|
-
return eid !== void 0 && triggerEntityIds.has(eid);
|
|
29
|
-
});
|
|
30
|
-
if (relevant.length === 0) {
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
|
-
const pidToParent = /* @__PURE__ */ new Map();
|
|
34
|
-
for (const msg of relevant) {
|
|
35
|
-
if (msg.meta.pid) {
|
|
36
|
-
if (msg.meta.parentPid) {
|
|
37
|
-
pidToParent.set(msg.meta.pid, msg.meta.parentPid);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
const getRootPid = (pid) => {
|
|
42
|
-
let current = pid;
|
|
43
|
-
const visited = /* @__PURE__ */ new Set();
|
|
44
|
-
while (!visited.has(current)) {
|
|
45
|
-
visited.add(current);
|
|
46
|
-
const parent = pidToParent.get(current);
|
|
47
|
-
if (!parent) {
|
|
48
|
-
return current;
|
|
49
|
-
}
|
|
50
|
-
current = parent;
|
|
51
|
-
}
|
|
52
|
-
return current;
|
|
53
|
-
};
|
|
54
|
-
const byRoot = /* @__PURE__ */ new Map();
|
|
55
|
-
for (const msg of relevant) {
|
|
56
|
-
if (!msg.meta.pid) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
const rootPid = getRootPid(msg.meta.pid);
|
|
60
|
-
const group = byRoot.get(rootPid) ?? [];
|
|
61
|
-
group.push(msg);
|
|
62
|
-
byRoot.set(rootPid, group);
|
|
63
|
-
}
|
|
64
|
-
const runs = [];
|
|
65
|
-
for (const [pid, msgs] of byRoot) {
|
|
66
|
-
const allEvents = msgs.flatMap((msg) => msg.events.map((evt) => ({
|
|
67
|
-
...evt,
|
|
68
|
-
meta: msg.meta
|
|
69
|
-
})));
|
|
70
|
-
allEvents.sort((left, right) => left.timestamp - right.timestamp);
|
|
71
|
-
const startedAt = allEvents[0]?.timestamp ?? 0;
|
|
72
|
-
const lastTimestamp = allEvents.at(-1)?.timestamp ?? startedAt;
|
|
73
|
-
const duration = lastTimestamp - startedAt;
|
|
74
|
-
let status = "pending";
|
|
75
|
-
for (const evt of allEvents) {
|
|
76
|
-
if (Trace.isOfType(Trace.OperationEnd, evt)) {
|
|
77
|
-
if (evt.data.outcome === "failure") {
|
|
78
|
-
status = "failure";
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
status = "success";
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
const conversation = msgs.find((msg) => msg.meta.conversation)?.meta.conversation;
|
|
85
|
-
const events = allEvents.map((evt) => ({
|
|
86
|
-
type: evt.type,
|
|
87
|
-
timestamp: evt.timestamp,
|
|
88
|
-
data: evt.data,
|
|
89
|
-
...evt.meta.pid && {
|
|
90
|
-
pid: evt.meta.pid
|
|
91
|
-
},
|
|
92
|
-
...evt.meta.processName && {
|
|
93
|
-
processName: evt.meta.processName
|
|
94
|
-
}
|
|
95
|
-
}));
|
|
96
|
-
runs.push({
|
|
97
|
-
pid,
|
|
98
|
-
startedAt,
|
|
99
|
-
duration,
|
|
100
|
-
status,
|
|
101
|
-
events,
|
|
102
|
-
conversation
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
runs.sort((left, right) => right.startedAt - left.startedAt);
|
|
106
|
-
return runs;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
// src/containers/RoutineTraceCompanion/useRoutineRuns.ts
|
|
110
|
-
var useRoutineRuns = (db, routine) => {
|
|
111
|
-
const [traceFeed] = useQuery(db, FeedTraceSink.query);
|
|
112
|
-
const messages = useQuery(db, traceFeed ? Query.select(Filter.type(Trace2.Message)).from(traceFeed) : Query.select(Filter.nothing()));
|
|
113
|
-
const triggerEntityIds = useMemo(() => {
|
|
114
|
-
const ids = /* @__PURE__ */ new Set();
|
|
115
|
-
for (const triggerRef of routine.triggers) {
|
|
116
|
-
if (!triggerRef) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
const uri = triggerRef.uri;
|
|
120
|
-
if (!uri) {
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
const eid = EID2.getEntityId(EID2.parse(uri));
|
|
124
|
-
if (eid) {
|
|
125
|
-
ids.add(eid);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return ids;
|
|
129
|
-
}, [
|
|
130
|
-
routine.triggers.map((triggerRef) => triggerRef?.uri ?? "").join("|")
|
|
131
|
-
]);
|
|
132
|
-
return useMemo(() => groupIntoRuns(messages, triggerEntityIds), [
|
|
133
|
-
messages,
|
|
134
|
-
triggerEntityIds
|
|
135
|
-
]);
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
// src/containers/RoutineTraceCompanion/RoutineTraceCompanion.tsx
|
|
139
|
-
var STATUS_ICONS = {
|
|
140
|
-
success: "ph--check-circle--regular",
|
|
141
|
-
failure: "ph--x-circle--regular",
|
|
142
|
-
pending: "ph--clock--regular"
|
|
143
|
-
};
|
|
144
|
-
var STATUS_CLASSES = {
|
|
145
|
-
success: "text-success-text",
|
|
146
|
-
failure: "text-error-text",
|
|
147
|
-
pending: "text-description"
|
|
148
|
-
};
|
|
149
|
-
var RoutineTraceCompanion = ({ role, subject }) => {
|
|
150
|
-
const { t } = useTranslation(meta.profile.key);
|
|
151
|
-
const db = Obj.getDatabase(subject);
|
|
152
|
-
const runs = useRoutineRuns(db, subject);
|
|
153
|
-
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
154
|
-
role
|
|
155
|
-
}, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
156
|
-
asChild: true
|
|
157
|
-
}, /* @__PURE__ */ React.createElement(Toolbar.Root, null)), /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
158
|
-
asChild: true
|
|
159
|
-
}, /* @__PURE__ */ React.createElement(ScrollArea.Root, {
|
|
160
|
-
orientation: "vertical"
|
|
161
|
-
}, /* @__PURE__ */ React.createElement(ScrollArea.Viewport, null, runs.length === 0 ? /* @__PURE__ */ React.createElement(Empty, {
|
|
162
|
-
label: t("history.empty.message")
|
|
163
|
-
}) : /* @__PURE__ */ React.createElement(Accordion.Root, {
|
|
164
|
-
items: runs,
|
|
165
|
-
getId: getRunId
|
|
166
|
-
}, ({ items }) => /* @__PURE__ */ React.createElement("div", {
|
|
167
|
-
className: "flex flex-col"
|
|
168
|
-
}, items.map((run) => /* @__PURE__ */ React.createElement(Accordion.Item, {
|
|
169
|
-
key: run.pid,
|
|
170
|
-
item: run,
|
|
171
|
-
classNames: "border-b border-subdued-separator"
|
|
172
|
-
}, /* @__PURE__ */ React.createElement(Accordion.ItemHeader, {
|
|
173
|
-
hover: true
|
|
174
|
-
}, /* @__PURE__ */ React.createElement(Listbox.ItemContent, {
|
|
175
|
-
icon: /* @__PURE__ */ React.createElement(Icon, {
|
|
176
|
-
icon: STATUS_ICONS[run.status],
|
|
177
|
-
size: 5,
|
|
178
|
-
classNames: STATUS_CLASSES[run.status]
|
|
179
|
-
}),
|
|
180
|
-
title: /* @__PURE__ */ React.createElement("span", {
|
|
181
|
-
className: "tabular-nums"
|
|
182
|
-
}, formatTimestamp(run.startedAt)),
|
|
183
|
-
description: `${t(`history.status.${run.status}.label`)} \xB7 ${formatDuration(run.duration)}`
|
|
184
|
-
})), /* @__PURE__ */ React.createElement(Accordion.ItemBody, {
|
|
185
|
-
classNames: "grid grid-cols-[var(--dx-rail-item)_1fr] gap-x-2"
|
|
186
|
-
}, /* @__PURE__ */ React.createElement(JsonHighlighter, {
|
|
187
|
-
data: toJsonData(run),
|
|
188
|
-
classNames: "col-start-2 [&_pre]:!text-xs [&_code]:!text-xs"
|
|
189
|
-
}))))))))));
|
|
190
|
-
};
|
|
191
|
-
var formatDuration = (ms) => {
|
|
192
|
-
if (ms < 1e3) {
|
|
193
|
-
return `${ms}ms`;
|
|
194
|
-
}
|
|
195
|
-
if (ms < 6e4) {
|
|
196
|
-
return `${(ms / 1e3).toFixed(1)}s`;
|
|
197
|
-
}
|
|
198
|
-
const totalSeconds = Math.round(ms / 1e3);
|
|
199
|
-
const mins = Math.floor(totalSeconds / 60);
|
|
200
|
-
const secs = totalSeconds % 60;
|
|
201
|
-
return `${mins}m ${secs}s`;
|
|
202
|
-
};
|
|
203
|
-
var formatTimestamp = (ts) => new Date(ts).toLocaleString(void 0, {
|
|
204
|
-
year: "numeric",
|
|
205
|
-
month: "2-digit",
|
|
206
|
-
day: "2-digit",
|
|
207
|
-
hour: "2-digit",
|
|
208
|
-
minute: "2-digit",
|
|
209
|
-
second: "2-digit",
|
|
210
|
-
hour12: false
|
|
211
|
-
});
|
|
212
|
-
var toJsonData = (run) => ({
|
|
213
|
-
pid: run.pid,
|
|
214
|
-
startedAt: new Date(run.startedAt).toISOString(),
|
|
215
|
-
duration: run.duration,
|
|
216
|
-
status: run.status,
|
|
217
|
-
...run.conversation && {
|
|
218
|
-
conversation: run.conversation.uri
|
|
219
|
-
},
|
|
220
|
-
events: run.events.map((evt) => ({
|
|
221
|
-
type: evt.type,
|
|
222
|
-
timestamp: new Date(evt.timestamp).toISOString(),
|
|
223
|
-
...evt.pid && {
|
|
224
|
-
pid: evt.pid
|
|
225
|
-
},
|
|
226
|
-
...evt.processName && {
|
|
227
|
-
processName: evt.processName
|
|
228
|
-
},
|
|
229
|
-
data: evt.data
|
|
230
|
-
}))
|
|
231
|
-
});
|
|
232
|
-
var getRunId = (run) => run.pid;
|
|
233
|
-
export {
|
|
234
|
-
RoutineTraceCompanion as default
|
|
235
|
-
};
|
|
236
|
-
//# sourceMappingURL=RoutineTraceCompanion-5U6R7LJE.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/containers/RoutineTraceCompanion/RoutineTraceCompanion.tsx", "../../../src/containers/RoutineTraceCompanion/useRoutineRuns.ts", "../../../src/containers/RoutineTraceCompanion/runs.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { Icon, Panel, ScrollArea, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { Accordion, Empty, Listbox } from '@dxos/react-ui-list';\nimport { JsonHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nimport { meta } from '#meta';\nimport { Routine } from '#types';\n\nimport { type RoutineRun, type RunStatus } from './runs';\nimport { useRoutineRuns } from './useRoutineRuns';\n\nconst STATUS_ICONS: Record<RunStatus, string> = {\n success: 'ph--check-circle--regular',\n failure: 'ph--x-circle--regular',\n pending: 'ph--clock--regular',\n};\n\nconst STATUS_CLASSES: Record<RunStatus, string> = {\n success: 'text-success-text',\n failure: 'text-error-text',\n pending: 'text-description',\n};\n\nexport type RoutineTraceCompanionProps = {\n role?: string;\n subject: Routine.Routine;\n};\n\n/** Companion panel showing the execution trace (runs) of a Routine. */\nexport const RoutineTraceCompanion = ({ role, subject }: RoutineTraceCompanionProps) => {\n const { t } = useTranslation(meta.profile.key);\n const db = Obj.getDatabase(subject);\n const runs = useRoutineRuns(db, subject);\n\n return (\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <Toolbar.Root />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <ScrollArea.Root orientation='vertical'>\n <ScrollArea.Viewport>\n {runs.length === 0 ? (\n <Empty label={t('history.empty.message')} />\n ) : (\n <Accordion.Root<RoutineRun> items={runs} getId={getRunId}>\n {({ items }) => (\n <div className='flex flex-col'>\n {items.map((run) => (\n <Accordion.Item key={run.pid} item={run} classNames='border-b border-subdued-separator'>\n <Accordion.ItemHeader hover>\n <Listbox.ItemContent\n icon={\n <Icon icon={STATUS_ICONS[run.status]} size={5} classNames={STATUS_CLASSES[run.status]} />\n }\n title={<span className='tabular-nums'>{formatTimestamp(run.startedAt)}</span>}\n description={`${t(`history.status.${run.status}.label`)} · ${formatDuration(run.duration)}`}\n />\n </Accordion.ItemHeader>\n {/* Match `ItemContent`'s rail/content grid so the JSON aligns under the title column. */}\n <Accordion.ItemBody classNames='grid grid-cols-[var(--dx-rail-item)_1fr] gap-x-2'>\n <JsonHighlighter\n data={toJsonData(run)}\n classNames='col-start-2 [&_pre]:!text-xs [&_code]:!text-xs'\n />\n </Accordion.ItemBody>\n </Accordion.Item>\n ))}\n </div>\n )}\n </Accordion.Root>\n )}\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n </Panel.Content>\n </Panel.Root>\n );\n};\n\nconst formatDuration = (ms: number): string => {\n if (ms < 1000) {\n return `${ms}ms`;\n }\n if (ms < 60_000) {\n return `${(ms / 1000).toFixed(1)}s`;\n }\n const totalSeconds = Math.round(ms / 1000);\n const mins = Math.floor(totalSeconds / 60);\n const secs = totalSeconds % 60;\n return `${mins}m ${secs}s`;\n};\n\nconst formatTimestamp = (ts: number): string =>\n new Date(ts).toLocaleString(undefined, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false,\n });\n\nconst toJsonData = (run: RoutineRun) => ({\n pid: run.pid,\n startedAt: new Date(run.startedAt).toISOString(),\n duration: run.duration,\n status: run.status,\n ...(run.conversation && { conversation: run.conversation.uri }),\n events: run.events.map((evt) => ({\n type: evt.type,\n timestamp: new Date(evt.timestamp).toISOString(),\n ...(evt.pid && { pid: evt.pid }),\n ...(evt.processName && { processName: evt.processName }),\n data: evt.data,\n })),\n});\n\nconst getRunId = (run: RoutineRun) => run.pid;\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { Trace } from '@dxos/compute';\nimport { type Database, Filter, Query } from '@dxos/echo';\nimport { FeedTraceSink } from '@dxos/functions-runtime';\nimport { EID } from '@dxos/keys';\nimport { useQuery } from '@dxos/react-client/echo';\n\nimport { type Routine } from '#types';\n\nimport { type RoutineRun, groupIntoRuns } from './runs';\n\n/**\n * Returns the execution runs for a routine.\n *\n * Reads from the per-space trace feed and filters to messages whose\n * `meta.trigger` ref matches one of the routine's triggers.\n */\nexport const useRoutineRuns = (db: Database.Database | undefined, routine: Routine.Routine): RoutineRun[] => {\n const [traceFeed] = useQuery(db, FeedTraceSink.query);\n\n const messages = useQuery(\n db,\n traceFeed ? Query.select(Filter.type(Trace.Message)).from(traceFeed) : Query.select(Filter.nothing()),\n );\n\n const triggerEntityIds = useMemo<ReadonlySet<string>>(() => {\n const ids = new Set<string>();\n for (const triggerRef of routine.triggers) {\n if (!triggerRef) {\n continue;\n }\n const uri = triggerRef.uri;\n if (!uri) {\n continue;\n }\n const eid = EID.getEntityId(EID.parse(uri));\n if (eid) {\n ids.add(eid);\n }\n }\n return ids;\n }, [routine.triggers.map((triggerRef) => triggerRef?.uri ?? '').join('|')]);\n\n return useMemo(() => groupIntoRuns(messages, triggerEntityIds), [messages, triggerEntityIds]);\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { Trace } from '@dxos/compute';\nimport { type Obj, type Ref } from '@dxos/echo';\nimport { EID } from '@dxos/keys';\n\nexport type RunStatus = 'success' | 'failure' | 'pending';\n\nexport type RunEvent = {\n type: string;\n timestamp: number;\n data: unknown;\n /** Process id that emitted this event; present when a run spawns child processes. */\n pid?: string;\n /** Human-readable process name, if provided by the runtime. */\n processName?: string;\n};\n\nexport type RoutineRun = {\n /** Root process id. */\n pid: string;\n startedAt: number;\n duration: number;\n status: RunStatus;\n /** All trace events for this run, sorted chronologically. */\n events: RunEvent[];\n /** Ref to the conversation (chat feed) created for this run, if any. */\n conversation?: Ref.Ref<Obj.Unknown>;\n};\n\n/**\n * Groups trace messages into per-run summaries.\n *\n * Only root processes (those whose `meta.parentPid` is absent) are considered\n * run entry points. Child processes contribute their events to the run duration\n * and outcome but do not create separate run entries.\n *\n * The triggerIds set identifies which messages belong to this routine.\n */\nexport const groupIntoRuns = (\n messages: readonly Trace.Message[],\n triggerEntityIds: ReadonlySet<string>,\n): RoutineRun[] => {\n // Filter to messages whose trigger ref matches one of the routine's triggers.\n const relevant = messages.filter((msg) => {\n if (!msg.meta.trigger) {\n return false;\n }\n const eid = EID.getEntityId(EID.parse(msg.meta.trigger.uri));\n return eid !== undefined && triggerEntityIds.has(eid);\n });\n\n if (relevant.length === 0) {\n return [];\n }\n\n // Collect all pids and their parent relationships.\n const pidToParent = new Map<string, string>();\n for (const msg of relevant) {\n if (msg.meta.pid) {\n if (msg.meta.parentPid) {\n pidToParent.set(msg.meta.pid, msg.meta.parentPid);\n }\n }\n }\n\n // Find the root pid for a given pid (walk up the parent chain).\n const getRootPid = (pid: string): string => {\n let current = pid;\n const visited = new Set<string>();\n while (!visited.has(current)) {\n visited.add(current);\n const parent = pidToParent.get(current);\n if (!parent) {\n return current;\n }\n current = parent;\n }\n // Cycle detected; return a stable fallback key.\n return current;\n };\n\n // Group messages by root pid.\n const byRoot = new Map<string, Trace.Message[]>();\n for (const msg of relevant) {\n if (!msg.meta.pid) {\n continue;\n }\n const rootPid = getRootPid(msg.meta.pid);\n const group = byRoot.get(rootPid) ?? [];\n group.push(msg);\n byRoot.set(rootPid, group);\n }\n\n const runs: RoutineRun[] = [];\n for (const [pid, msgs] of byRoot) {\n const allEvents = msgs.flatMap((msg) => msg.events.map((evt) => ({ ...evt, meta: msg.meta })));\n allEvents.sort((left, right) => left.timestamp - right.timestamp);\n\n const startedAt = allEvents[0]?.timestamp ?? 0;\n const lastTimestamp = allEvents.at(-1)?.timestamp ?? startedAt;\n const duration = lastTimestamp - startedAt;\n\n // Determine status from OperationEnd events — failure beats success.\n let status: RunStatus = 'pending';\n for (const evt of allEvents) {\n if (Trace.isOfType(Trace.OperationEnd, evt)) {\n if (evt.data.outcome === 'failure') {\n status = 'failure';\n break;\n }\n status = 'success';\n }\n }\n\n // Grab the conversation ref from any message in this run that has one.\n const conversation = msgs.find((msg) => msg.meta.conversation)?.meta.conversation;\n\n const events: RunEvent[] = allEvents.map((evt) => ({\n type: evt.type,\n timestamp: evt.timestamp,\n data: evt.data,\n ...(evt.meta.pid && { pid: evt.meta.pid }),\n ...(evt.meta.processName && { processName: evt.meta.processName }),\n }));\n\n runs.push({ pid, startedAt, duration, status, events, conversation });\n }\n\n // Newest first.\n runs.sort((left, right) => right.startedAt - left.startedAt);\n return runs;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "Obj", "Icon", "Panel", "ScrollArea", "Toolbar", "useTranslation", "Accordion", "Empty", "Listbox", "JsonHighlighter", "meta", "useMemo", "Trace", "Filter", "Query", "FeedTraceSink", "EID", "useQuery", "Trace", "EID", "groupIntoRuns", "messages", "triggerEntityIds", "relevant", "filter", "msg", "meta", "trigger", "eid", "getEntityId", "parse", "uri", "undefined", "has", "length", "pidToParent", "Map", "pid", "parentPid", "set", "getRootPid", "current", "visited", "Set", "add", "parent", "get", "byRoot", "rootPid", "group", "push", "runs", "msgs", "allEvents", "flatMap", "events", "map", "evt", "sort", "left", "right", "timestamp", "startedAt", "lastTimestamp", "at", "duration", "status", "isOfType", "OperationEnd", "data", "outcome", "conversation", "find", "type", "processName", "useRoutineRuns", "db", "routine", "traceFeed", "useQuery", "FeedTraceSink", "query", "messages", "Query", "select", "Filter", "type", "Trace", "Message", "from", "nothing", "triggerEntityIds", "useMemo", "ids", "Set", "triggerRef", "triggers", "uri", "eid", "EID", "getEntityId", "parse", "add", "map", "join", "groupIntoRuns", "STATUS_ICONS", "success", "failure", "pending", "STATUS_CLASSES", "RoutineTraceCompanion", "role", "subject", "t", "useTranslation", "meta", "profile", "key", "db", "Obj", "getDatabase", "runs", "useRoutineRuns", "Panel", "Root", "Toolbar", "asChild", "Content", "ScrollArea", "orientation", "Viewport", "length", "Empty", "label", "Accordion", "items", "getId", "getRunId", "div", "className", "map", "run", "Item", "pid", "item", "classNames", "ItemHeader", "hover", "Listbox", "ItemContent", "icon", "Icon", "status", "size", "title", "span", "formatTimestamp", "startedAt", "description", "formatDuration", "duration", "ItemBody", "JsonHighlighter", "data", "toJsonData", "ms", "toFixed", "totalSeconds", "Math", "round", "mins", "floor", "secs", "ts", "Date", "toLocaleString", "undefined", "year", "month", "day", "hour", "minute", "second", "hour12", "toISOString", "conversation", "uri", "events", "evt", "type", "timestamp", "processName"]
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
-
|
|
3
|
-
// src/containers/SkillArticle/SkillArticle.tsx
|
|
4
|
-
import React from "react";
|
|
5
|
-
import { Panel, Toolbar } from "@dxos/react-ui";
|
|
6
|
-
import { useAttention } from "@dxos/react-ui-attention";
|
|
7
|
-
import { TemplateEditor } from "#components";
|
|
8
|
-
var SkillArticle = ({ role, attendableId, subject }) => {
|
|
9
|
-
const { hasAttention } = useAttention(attendableId);
|
|
10
|
-
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
11
|
-
role,
|
|
12
|
-
classNames: "dx-document"
|
|
13
|
-
}, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
14
|
-
asChild: true
|
|
15
|
-
}, /* @__PURE__ */ React.createElement(Toolbar.Root, {
|
|
16
|
-
disabled: !hasAttention
|
|
17
|
-
})), /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
18
|
-
asChild: true
|
|
19
|
-
}, /* @__PURE__ */ React.createElement(TemplateEditor, {
|
|
20
|
-
id: subject.id,
|
|
21
|
-
source: subject.instructions.source
|
|
22
|
-
})));
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
SkillArticle as default
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=SkillArticle-WWDNKW2Z.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/containers/SkillArticle/SkillArticle.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Skill } from '@dxos/compute';\nimport { Panel, Toolbar } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TemplateEditor } from '#components';\n\nexport type SkillArticleProps = AppSurface.ObjectArticleProps<Skill.Skill>;\n\nexport const SkillArticle = ({ role, attendableId, subject }: SkillArticleProps) => {\n const { hasAttention } = useAttention(attendableId);\n\n return (\n <Panel.Root role={role} classNames='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TemplateEditor id={subject.id} source={subject.instructions.source} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
|
|
5
|
-
"mappings": ";;;AAIA,OAAOA,WAAW;AAIlB,SAASC,OAAOC,eAAe;AAC/B,SAASC,oBAAoB;AAE7B,SAASC,sBAAsB;AAIxB,IAAMC,eAAe,CAAC,EAAEC,MAAMC,cAAcC,QAAO,MAAqB;AAC7E,QAAM,EAAEC,aAAY,IAAKN,aAAaI,YAAAA;AAEtC,SACE,sBAAA,cAACN,MAAMS,MAAI;IAACJ;IAAYK,YAAW;KACjC,sBAAA,cAACV,MAAMC,SAAO;IAACU,SAAAA;KACb,sBAAA,cAACV,QAAQQ,MAAI;IAACG,UAAU,CAACJ;OAE3B,sBAAA,cAACR,MAAMa,SAAO;IAACF,SAAAA;KACb,sBAAA,cAACR,gBAAAA;IAAeW,IAAIP,QAAQO;IAAIC,QAAQR,QAAQS,aAAaD;;AAIrE;",
|
|
6
|
-
"names": ["React", "Panel", "Toolbar", "useAttention", "TemplateEditor", "SkillArticle", "role", "attendableId", "subject", "hasAttention", "Root", "classNames", "asChild", "disabled", "Content", "id", "source", "instructions"]
|
|
7
|
-
}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getRoutinesPath
|
|
3
|
-
} from "./chunk-WLNL77C7.mjs";
|
|
4
|
-
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
-
|
|
6
|
-
// src/capabilities/app-graph-builder.ts
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import { Capability } from "@dxos/app-framework";
|
|
9
|
-
import { AppCapabilities, AppNode, AppNodeMatcher, Paths, TypeSection } from "@dxos/app-toolkit";
|
|
10
|
-
import { Operation } from "@dxos/compute";
|
|
11
|
-
import { Type } from "@dxos/echo";
|
|
12
|
-
import { GraphBuilder, NodeMatcher } from "@dxos/plugin-graph";
|
|
13
|
-
import { SETTINGS_SECTION_TYPE, SpaceOperation } from "@dxos/plugin-space";
|
|
14
|
-
import { linkedSegment } from "@dxos/react-ui-attention";
|
|
15
|
-
import { Position } from "@dxos/util";
|
|
16
|
-
import { meta } from "#meta";
|
|
17
|
-
import { Routine } from "#types";
|
|
18
|
-
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
19
|
-
const extensions = yield* Effect.all([
|
|
20
|
-
TypeSection.createTypeSectionExtension(Routine.Routine, {
|
|
21
|
-
match: AppNodeMatcher.whenNavTreeGroup(Paths.GroupTypes.ai),
|
|
22
|
-
createObject: (space) => Operation.invoke(SpaceOperation.OpenCreateObject, {
|
|
23
|
-
target: space.db,
|
|
24
|
-
typename: Type.getTypename(Routine.Routine),
|
|
25
|
-
targetNodeId: getRoutinesPath(space.db.spaceId)
|
|
26
|
-
})
|
|
27
|
-
}),
|
|
28
|
-
GraphBuilder.createExtension({
|
|
29
|
-
id: "spaceSettingsAutomation",
|
|
30
|
-
match: NodeMatcher.whenNodeType(SETTINGS_SECTION_TYPE),
|
|
31
|
-
connector: () => {
|
|
32
|
-
return Effect.succeed([
|
|
33
|
-
AppNode.makeSettingsPanel({
|
|
34
|
-
id: "routines",
|
|
35
|
-
type: `${meta.profile.key}.space-settings-automation`,
|
|
36
|
-
label: [
|
|
37
|
-
"automation-panel.label",
|
|
38
|
-
{
|
|
39
|
-
ns: meta.profile.key
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
icon: "ph--lightning--regular",
|
|
43
|
-
iconHue: "emerald",
|
|
44
|
-
position: Position.last
|
|
45
|
-
})
|
|
46
|
-
]);
|
|
47
|
-
}
|
|
48
|
-
}),
|
|
49
|
-
GraphBuilder.createExtension({
|
|
50
|
-
id: "automationCompanion",
|
|
51
|
-
match: NodeMatcher.whenEchoObjectMatches,
|
|
52
|
-
connector: () => Effect.succeed([
|
|
53
|
-
AppNode.makeCompanion({
|
|
54
|
-
id: linkedSegment("automation"),
|
|
55
|
-
label: [
|
|
56
|
-
"automation-companion.label",
|
|
57
|
-
{
|
|
58
|
-
ns: meta.profile.key
|
|
59
|
-
}
|
|
60
|
-
],
|
|
61
|
-
icon: "ph--lightning--regular",
|
|
62
|
-
data: "automation",
|
|
63
|
-
position: Position.last
|
|
64
|
-
})
|
|
65
|
-
])
|
|
66
|
-
}),
|
|
67
|
-
GraphBuilder.createTypeExtension({
|
|
68
|
-
id: "routineRuns",
|
|
69
|
-
type: Routine.Routine,
|
|
70
|
-
connector: () => Effect.succeed([
|
|
71
|
-
AppNode.makeCompanion({
|
|
72
|
-
id: "runs",
|
|
73
|
-
label: [
|
|
74
|
-
"routine-runs.label",
|
|
75
|
-
{
|
|
76
|
-
ns: meta.profile.key
|
|
77
|
-
}
|
|
78
|
-
],
|
|
79
|
-
icon: "ph--clock-countdown--regular",
|
|
80
|
-
data: "runs"
|
|
81
|
-
})
|
|
82
|
-
])
|
|
83
|
-
})
|
|
84
|
-
]);
|
|
85
|
-
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
86
|
-
}));
|
|
87
|
-
export {
|
|
88
|
-
app_graph_builder_default as default
|
|
89
|
-
};
|
|
90
|
-
//# sourceMappingURL=app-graph-builder-FALWLZTI.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode, AppNodeMatcher, Paths, TypeSection } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Type } from '@dxos/echo';\nimport { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { SETTINGS_SECTION_TYPE, SpaceOperation } from '@dxos/plugin-space';\nimport { linkedSegment } from '@dxos/react-ui-attention';\nimport { Position } from '@dxos/util';\n\nimport { meta } from '#meta';\nimport { Routine } from '#types';\n\nimport { getRoutinesPath } from '../paths';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n TypeSection.createTypeSectionExtension(Routine.Routine, {\n match: AppNodeMatcher.whenNavTreeGroup(Paths.GroupTypes.ai),\n createObject: (space) =>\n Operation.invoke(SpaceOperation.OpenCreateObject, {\n target: space.db,\n typename: Type.getTypename(Routine.Routine),\n targetNodeId: getRoutinesPath(space.db.spaceId),\n }),\n }),\n GraphBuilder.createExtension({\n id: 'spaceSettingsAutomation',\n match: NodeMatcher.whenNodeType(SETTINGS_SECTION_TYPE),\n connector: () => {\n return Effect.succeed([\n AppNode.makeSettingsPanel({\n id: 'routines',\n type: `${meta.profile.key}.space-settings-automation`,\n label: ['automation-panel.label', { ns: meta.profile.key }],\n icon: 'ph--lightning--regular',\n iconHue: 'emerald',\n position: Position.last,\n }),\n ]);\n },\n }),\n GraphBuilder.createExtension({\n id: 'automationCompanion',\n match: NodeMatcher.whenEchoObjectMatches,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: linkedSegment('automation'),\n label: ['automation-companion.label', { ns: meta.profile.key }],\n icon: 'ph--lightning--regular',\n data: 'automation',\n position: Position.last,\n }),\n ]),\n }),\n GraphBuilder.createTypeExtension({\n id: 'routineRuns',\n type: Routine.Routine,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'runs',\n label: ['routine-runs.label', { ns: meta.profile.key }],\n icon: 'ph--clock-countdown--regular',\n data: 'runs',\n }),\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,SAASC,gBAAgBC,OAAOC,mBAAmB;AAC7E,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,cAAcC,mBAAmB;AAC1C,SAASC,uBAAuBC,sBAAsB;AACtD,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AAEzB,SAASC,YAAY;AACrB,SAASC,eAAe;AAIxB,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCC,YAAYC,2BAA2BC,QAAQA,SAAS;MACtDC,OAAOC,eAAeC,iBAAiBC,MAAMC,WAAWC,EAAE;MAC1DC,cAAc,CAACC,UACbC,UAAUC,OAAOC,eAAeC,kBAAkB;QAChDC,QAAQL,MAAMM;QACdC,UAAUC,KAAKC,YAAYjB,QAAQA,OAAO;QAC1CkB,cAAcC,gBAAgBX,MAAMM,GAAGM,OAAO;MAChD,CAAA;IACJ,CAAA;IACAC,aAAaC,gBAAgB;MAC3BC,IAAI;MACJtB,OAAOuB,YAAYC,aAAaC,qBAAAA;MAChCC,WAAW,MAAA;AACT,eAAcC,eAAQ;UACpBC,QAAQC,kBAAkB;YACxBP,IAAI;YACJQ,MAAM,GAAGC,KAAKC,QAAQC,GAAG;YACzBC,OAAO;cAAC;cAA0B;gBAAEC,IAAIJ,KAAKC,QAAQC;cAAI;;YACzDG,MAAM;YACNC,SAAS;YACTC,UAAUC,SAASC;UACrB,CAAA;SACD;MACH;IACF,CAAA;IACApB,aAAaC,gBAAgB;MAC3BC,IAAI;MACJtB,OAAOuB,YAAYkB;MACnBf,WAAW,MACFC,eAAQ;QACbC,QAAQc,cAAc;UACpBpB,IAAIqB,cAAc,YAAA;UAClBT,OAAO;YAAC;YAA8B;cAAEC,IAAIJ,KAAKC,QAAQC;YAAI;;UAC7DG,MAAM;UACNQ,MAAM;UACNN,UAAUC,SAASC;QACrB,CAAA;OACD;IACL,CAAA;IACApB,aAAayB,oBAAoB;MAC/BvB,IAAI;MACJQ,MAAM/B,QAAQA;MACd2B,WAAW,MACFC,eAAQ;QACbC,QAAQc,cAAc;UACpBpB,IAAI;UACJY,OAAO;YAAC;YAAsB;cAAEC,IAAIJ,KAAKC,QAAQC;YAAI;;UACrDG,MAAM;UACNQ,MAAM;QACR,CAAA;OACD;IACL,CAAA;GACD;AAED,SAAOpD,WAAWsD,YAAYC,gBAAgBC,iBAAiBrD,UAAAA;AACjE,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "AppCapabilities", "AppNode", "AppNodeMatcher", "Paths", "TypeSection", "Operation", "Type", "GraphBuilder", "NodeMatcher", "SETTINGS_SECTION_TYPE", "SpaceOperation", "linkedSegment", "Position", "meta", "Routine", "Capability", "makeModule", "fnUntraced", "extensions", "all", "TypeSection", "createTypeSectionExtension", "Routine", "match", "AppNodeMatcher", "whenNavTreeGroup", "Paths", "GroupTypes", "ai", "createObject", "space", "Operation", "invoke", "SpaceOperation", "OpenCreateObject", "target", "db", "typename", "Type", "getTypename", "targetNodeId", "getRoutinesPath", "spaceId", "GraphBuilder", "createExtension", "id", "NodeMatcher", "whenNodeType", "SETTINGS_SECTION_TYPE", "connector", "succeed", "AppNode", "makeSettingsPanel", "type", "meta", "profile", "key", "label", "ns", "icon", "iconHue", "position", "Position", "last", "whenEchoObjectMatches", "makeCompanion", "linkedSegment", "data", "createTypeExtension", "contributes", "AppCapabilities", "AppGraphBuilder"]
|
|
7
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
-
|
|
3
|
-
// src/capabilities/index.ts
|
|
4
|
-
import { Capability } from "@dxos/app-framework";
|
|
5
|
-
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-FALWLZTI.mjs"));
|
|
6
|
-
var NavigationResolver = Capability.lazy("NavigationResolver", () => import("../navigation-resolver-KQIWUH6F.mjs"));
|
|
7
|
-
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-V23KVDMJ.mjs"));
|
|
8
|
-
var LayerSpecs = Capability.lazy("LayerSpecs", () => import("../layer-specs-2TWJU5HI.mjs"));
|
|
9
|
-
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-QKLJSDCQ.mjs"));
|
|
10
|
-
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-GMO7I7YE.mjs"));
|
|
11
|
-
var RegistrySync = Capability.lazy("RegistrySync", () => import("../registry-sync-DYPOC7ZG.mjs"));
|
|
12
|
-
var Templates = Capability.lazy("Templates", () => import("../templates-IIUCEBAX.mjs"));
|
|
13
|
-
var TriggerRuntimeController = Capability.lazy("TriggerRuntimeController", () => import("../trigger-runtime-controller-WIDDFGQT.mjs"));
|
|
14
|
-
export {
|
|
15
|
-
AppGraphBuilder,
|
|
16
|
-
CreateObject,
|
|
17
|
-
LayerSpecs,
|
|
18
|
-
NavigationResolver,
|
|
19
|
-
OperationHandler,
|
|
20
|
-
ReactSurface,
|
|
21
|
-
RegistrySync,
|
|
22
|
-
Templates,
|
|
23
|
-
TriggerRuntimeController
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/capabilities/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const NavigationResolver = Capability.lazy('NavigationResolver', () => import('./navigation-resolver'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const LayerSpecs = Capability.lazy<void, Capability.Any[]>('LayerSpecs', () => import('./layer-specs'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const RegistrySync = Capability.lazy('RegistrySync', () => import('./registry-sync'));\nexport const Templates = Capability.lazy('Templates', () => import('./templates'));\nexport const TriggerRuntimeController = Capability.lazy(\n 'TriggerRuntimeController',\n () => import('./trigger-runtime-controller'),\n);\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,kBAAkB;AAGpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,qBAAqBH,WAAWE,KAAK,sBAAsB,MAAM,OAAO,qCAAA,CAAA;AAC9E,IAAME,eAAeJ,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMG,aAAaL,WAAWE,KAA6B,cAAc,MAAM,OAAO,6BAAA,CAAA;AACtF,IAAMI,mBAAmBN,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMK,eAAeP,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMM,eAAeR,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMO,YAAYT,WAAWE,KAAK,aAAa,MAAM,OAAO,2BAAA,CAAA;AAC5D,IAAMQ,2BAA2BV,WAAWE,KACjD,4BACA,MAAM,OAAO,4CAAA,CAAA;",
|
|
6
|
-
"names": ["Capability", "AppGraphBuilder", "lazy", "NavigationResolver", "CreateObject", "LayerSpecs", "OperationHandler", "ReactSurface", "RegistrySync", "Templates", "TriggerRuntimeController"]
|
|
7
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
-
|
|
3
|
-
// src/capabilities/node.ts
|
|
4
|
-
import { Capability } from "@dxos/app-framework";
|
|
5
|
-
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-FALWLZTI.mjs"));
|
|
6
|
-
var LayerSpecs = Capability.lazy("LayerSpecs", () => import("../layer-specs-2TWJU5HI.mjs"));
|
|
7
|
-
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-QKLJSDCQ.mjs"));
|
|
8
|
-
var RegistrySync = Capability.lazy("RegistrySync", () => import("../registry-sync-DYPOC7ZG.mjs"));
|
|
9
|
-
var Templates = Capability.lazy("Templates", () => import("../templates-IIUCEBAX.mjs"));
|
|
10
|
-
var TriggerRuntimeController = Capability.lazy("TriggerRuntimeController", () => import("../trigger-runtime-controller-WIDDFGQT.mjs"));
|
|
11
|
-
export {
|
|
12
|
-
AppGraphBuilder,
|
|
13
|
-
LayerSpecs,
|
|
14
|
-
OperationHandler,
|
|
15
|
-
RegistrySync,
|
|
16
|
-
Templates,
|
|
17
|
-
TriggerRuntimeController
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=node.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/capabilities/node.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const LayerSpecs = Capability.lazy<void, Capability.Any[]>('LayerSpecs', () => import('./layer-specs'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const RegistrySync = Capability.lazy('RegistrySync', () => import('./registry-sync'));\nexport const Templates = Capability.lazy('Templates', () => import('./templates'));\nexport const TriggerRuntimeController = Capability.lazy(\n 'TriggerRuntimeController',\n () => import('./trigger-runtime-controller'),\n);\n"],
|
|
5
|
-
"mappings": ";;;AAIA,SAASA,kBAAkB;AAGpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,aAAaH,WAAWE,KAA6B,cAAc,MAAM,OAAO,6BAAA,CAAA;AACtF,IAAME,mBAAmBJ,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMG,eAAeL,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMI,YAAYN,WAAWE,KAAK,aAAa,MAAM,OAAO,2BAAA,CAAA;AAC5D,IAAMK,2BAA2BP,WAAWE,KACjD,4BACA,MAAM,OAAO,4CAAA,CAAA;",
|
|
6
|
-
"names": ["Capability", "AppGraphBuilder", "lazy", "LayerSpecs", "OperationHandler", "RegistrySync", "Templates", "TriggerRuntimeController"]
|
|
7
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// src/util/run-instructions.ts
|
|
2
|
-
import { RunInstructions } from "@dxos/assistant-toolkit";
|
|
3
|
-
import { Ref } from "@dxos/echo";
|
|
4
|
-
var runInstructionsRef = () => Ref.fromURI(RunInstructions.meta.key);
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
runInstructionsRef
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=chunk-674LDIUJ.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/util/run-instructions.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { RunInstructions } from '@dxos/assistant-toolkit';\nimport { Ref } from '@dxos/echo';\n\n/** A ref to the shared RunInstructions operation in the registry (resolved via the registry, not the database). */\nexport const runInstructionsRef = () => Ref.fromURI(RunInstructions.meta.key);\n\n/** Whether a trigger's `function` ref targets the registry RunInstructions operation (i.e. an instructions action). */\nexport const isRunInstructions = (fn: unknown): boolean => Ref.isRef(fn) && fn.uri === RunInstructions.meta.key;\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,uBAAuB;AAChC,SAASC,WAAW;AAGb,IAAMC,qBAAqB,MAAMD,IAAIE,QAAQH,gBAAgBI,KAAKC,GAAG;",
|
|
6
|
-
"names": ["RunInstructions", "Ref", "runInstructionsRef", "fromURI", "meta", "key"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts", "../../../dx.config.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport config from '../dx.config';\n\nexport const meta = Plugin.getMetaFromConfig(config);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Config2 } from '@dxos/app-framework/config';\nimport { trim } from '@dxos/util';\n\nexport default Config2.make({\n plugin: {\n key: 'org.dxos.plugin.routine',\n name: 'Routine',\n author: 'DXOS',\n description: trim`\n Event-driven workflow automation engine for DXOS Composer.\n A Routine pairs a trigger (\"when\" — a timer schedule or an incoming feed) with an action\n (\"then\" — a persistent compute operation and instructions), enabling automated pipelines that\n react to changes in real time without manual intervention.\n\n Routines are configured in their own article and surfaced on a per-object \"Routines\" companion\n that lists the routines connected to each object. A per-space TriggerDispatcher manages\n execution: running locally in the browser when computeEnvironment is \"local\", or delegating to\n the DXOS edge for server-side reliability; the space settings page chooses the runtime location.\n\n Operation handlers and skills contributed by any plugin in the application are\n automatically merged and made available to every space's OperationRegistry, so new\n capabilities registered by other plugins become instantly invocable from routines.\n `,\n icon: { key: 'ph--atom--regular' },\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-routine',\n spec: 'PLUGIN.mdl',\n tags: ['system'],\n },\n});\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,cAAc;;;ACAvB,SAASC,eAAe;AACxB,SAASC,YAAY;AAErB,IAAA,oBAAeD,QAAQE,KAAK;EAC1BC,QAAQ;IACNC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,aAAaN;;;;;;;;;;;;;;;IAebO,MAAM;MAAEJ,KAAK;IAAoB;IACjCK,QAAQ;IACRC,MAAM;IACNC,MAAM;MAAC;;EACT;AACF,CAAA;;;ADxBO,IAAMC,OAAOC,OAAOC,kBAAkBC,iBAAAA;",
|
|
6
|
-
"names": ["Plugin", "Config2", "trim", "make", "plugin", "key", "name", "author", "description", "icon", "source", "spec", "tags", "meta", "Plugin", "getMetaFromConfig", "config"]
|
|
7
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// src/operations/index.ts
|
|
2
|
-
import { OperationHandlerSet } from "@dxos/compute";
|
|
3
|
-
var RoutineOperationHandlerSet = OperationHandlerSet.lazy(() => import("./create-trigger-from-template-U3KNS77V.mjs"), () => import("./create-routine-6QBY6TWF.mjs"), () => import("./run-routine-AEWO6SYD.mjs"));
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
RoutineOperationHandlerSet
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=chunk-P3TDQKOO.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/operations/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const RoutineOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./create-trigger-from-template'),\n () => import('./create-routine'),\n () => import('./run-routine'),\n);\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,6BAA6BD,oBAAoBE,KAC5D,MAAM,OAAO,6CAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,4BAAA,CAAA;",
|
|
6
|
-
"names": ["OperationHandlerSet", "RoutineOperationHandlerSet", "lazy"]
|
|
7
|
-
}
|