@dxos/plugin-thread 0.8.4-main.406dc2a → 0.8.4-main.548089c
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/ChannelContainer-56QROCE4.mjs +16 -0
- package/dist/lib/browser/ChatContainer-7F5Y6GXJ.mjs +15 -0
- package/dist/lib/browser/{app-graph-builder-ODKIAXR7.mjs → app-graph-builder-USFBLGFG.mjs} +19 -20
- package/dist/lib/browser/app-graph-builder-USFBLGFG.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-6BKYTMJS.mjs +104 -0
- package/dist/lib/browser/blueprint-definition-6BKYTMJS.mjs.map +7 -0
- package/dist/lib/browser/{call-manager-BCKLI4QD.mjs → call-manager-MAXQLMMS.mjs} +5 -5
- package/dist/lib/browser/{chunk-CMCVHULC.mjs → chunk-44S2SB4N.mjs} +34 -31
- package/dist/lib/browser/chunk-44S2SB4N.mjs.map +7 -0
- package/dist/lib/browser/{chunk-L326LSNS.mjs → chunk-BBTXGRIR.mjs} +2 -2
- package/dist/lib/browser/{chunk-L326LSNS.mjs.map → chunk-BBTXGRIR.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-B7YQ7QR2.mjs → chunk-FR6MEAZI.mjs} +17 -16
- package/dist/lib/browser/chunk-FR6MEAZI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XYUJXHYV.mjs → chunk-ISCHODBV.mjs} +1 -1
- package/dist/lib/browser/{chunk-XYUJXHYV.mjs.map → chunk-ISCHODBV.mjs.map} +2 -2
- package/dist/lib/browser/chunk-K2DUJRFJ.mjs +27 -0
- package/dist/lib/browser/chunk-K2DUJRFJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-HDEQRBOC.mjs → chunk-KOBXMDCI.mjs} +68 -67
- package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +7 -0
- package/dist/lib/browser/chunk-NMJEVD36.mjs +168 -0
- package/dist/lib/browser/chunk-NMJEVD36.mjs.map +7 -0
- package/dist/lib/browser/chunk-NSREO7OX.mjs +23 -0
- package/dist/lib/browser/chunk-NSREO7OX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZCEU5K23.mjs → chunk-ZCW3NSDZ.mjs} +139 -236
- package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VJMKS4CZ.mjs → chunk-ZO5ZGDN5.mjs} +45 -47
- package/dist/lib/browser/chunk-ZO5ZGDN5.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +37 -36
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-VOQD3TQ2.mjs → intent-resolver-BOUT4WGY.mjs} +25 -91
- package/dist/lib/browser/intent-resolver-BOUT4WGY.mjs.map +7 -0
- package/dist/lib/browser/{markdown-R6MGRIA6.mjs → markdown-74EUSQGV.mjs} +22 -20
- package/dist/lib/browser/markdown-74EUSQGV.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-UMSBTN6H.mjs → react-root-2VRIT2HF.mjs} +10 -10
- package/dist/lib/browser/{react-surface-SXMQEWKE.mjs → react-surface-UOECBYHE.mjs} +17 -16
- package/dist/lib/browser/react-surface-UOECBYHE.mjs.map +7 -0
- package/dist/lib/browser/{settings-TCNF54PN.mjs → settings-LGQUZITB.mjs} +3 -3
- package/dist/lib/browser/{state-ZQ4IPOJT.mjs → state-36REWXO5.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +7 -9
- package/dist/lib/node-esm/ChannelContainer-4SV22AKC.mjs +17 -0
- package/dist/lib/node-esm/{ChatContainer-SH6LTFQL.mjs → ChatContainer-C526R4DI.mjs} +5 -5
- package/dist/lib/node-esm/{app-graph-builder-DMPT3MY6.mjs → app-graph-builder-DWYGNENL.mjs} +19 -20
- package/dist/lib/node-esm/app-graph-builder-DWYGNENL.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-6LEAWSC7.mjs +105 -0
- package/dist/lib/node-esm/blueprint-definition-6LEAWSC7.mjs.map +7 -0
- package/dist/lib/node-esm/{call-manager-Q7RY2YP4.mjs → call-manager-LC4OS2KD.mjs} +5 -5
- package/dist/lib/node-esm/{chunk-TIPIOH2J.mjs → chunk-7KZWZS2U.mjs} +139 -236
- package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NHSIAEDW.mjs → chunk-KE6SKBPO.mjs} +45 -47
- package/dist/lib/node-esm/chunk-KE6SKBPO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2KZ4ODHU.mjs → chunk-NEGIPZTJ.mjs} +34 -31
- package/dist/lib/node-esm/chunk-NEGIPZTJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2MMJF7DW.mjs → chunk-PZH2EDU5.mjs} +68 -67
- package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-TJKM5JZT.mjs +169 -0
- package/dist/lib/node-esm/chunk-TJKM5JZT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BTGKI5IK.mjs → chunk-TWKGDFCS.mjs} +17 -16
- package/dist/lib/node-esm/chunk-TWKGDFCS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs → chunk-VBI32FGI.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-2V3WSLUZ.mjs.map → chunk-VBI32FGI.mjs.map} +2 -2
- package/dist/lib/node-esm/chunk-VM6WD3YY.mjs +25 -0
- package/dist/lib/node-esm/chunk-VM6WD3YY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XI45H4IV.mjs +28 -0
- package/dist/lib/node-esm/chunk-XI45H4IV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LCHTNRK7.mjs → chunk-ZQAGII7M.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-LCHTNRK7.mjs.map → chunk-ZQAGII7M.mjs.map} +1 -1
- package/dist/lib/node-esm/index.mjs +37 -36
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-AKVH66PH.mjs → intent-resolver-45PLIFCJ.mjs} +25 -91
- package/dist/lib/node-esm/intent-resolver-45PLIFCJ.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-MYGTDXT6.mjs → markdown-566XXB55.mjs} +22 -20
- package/dist/lib/node-esm/markdown-566XXB55.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-W6AVTL5M.mjs → react-root-JAE2VI2D.mjs} +10 -10
- package/dist/lib/node-esm/{react-surface-NLSZJGMO.mjs → react-surface-BYKXK5YA.mjs} +17 -16
- package/dist/lib/node-esm/react-surface-BYKXK5YA.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-ZQHGVFBY.mjs → settings-WKLJSP6R.mjs} +3 -3
- package/dist/lib/node-esm/{state-FSLLJ5TZ.mjs → state-X3W67GTL.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +7 -9
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +2 -2
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.d.ts +2 -2
- package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +71 -5
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts +71 -4
- package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +6 -5
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentsContainer.d.ts +2 -2
- package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts +8 -8
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts +2 -2
- package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
- package/dist/types/src/components/ThreadComplementary.d.ts.map +1 -1
- 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/components/testing.d.ts +3 -3
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/functions/create-proposals.d.ts +6 -0
- package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +2 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/hooks/analytics.d.ts +2 -2
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -2
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +71 -5
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Channel.d.ts +16 -0
- package/dist/types/src/types/Channel.d.ts.map +1 -0
- package/dist/types/src/types/{schema.d.ts → Thread.d.ts} +13 -25
- package/dist/types/src/types/Thread.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +22 -110
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +50 -46
- package/src/ThreadPlugin.tsx +26 -18
- package/src/calls/media-manager.ts +9 -6
- package/src/calls/util/stub-media-streams.ts +2 -2
- package/src/capabilities/app-graph-builder.ts +27 -17
- package/src/capabilities/blueprint-definition.ts +38 -0
- package/src/capabilities/capabilities.ts +2 -2
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +17 -54
- package/src/capabilities/markdown.ts +5 -3
- package/src/capabilities/react-surface.tsx +8 -7
- package/src/components/Call/Call.tsx +1 -1
- package/src/components/Call/Toolbar.tsx +5 -5
- package/src/components/CallDebugPanel.tsx +2 -2
- package/src/components/CallSidebar.tsx +1 -1
- package/src/components/ChannelContainer.stories.tsx +6 -6
- package/src/components/ChannelContainer.tsx +18 -14
- package/src/components/Chat.stories.tsx +7 -13
- package/src/components/ChatContainer.tsx +30 -21
- package/src/components/Comments.stories.tsx +6 -6
- package/src/components/CommentsContainer.tsx +6 -7
- package/src/components/CommentsThreadContainer.tsx +32 -27
- package/src/components/Lobby/Lobby.tsx +1 -1
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/MessageContainer.tsx +6 -6
- package/src/components/Participant/Participant.tsx +1 -1
- package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +2 -2
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +1 -1
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +4 -4
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -2
- package/src/components/ThreadComplementary.tsx +38 -31
- package/src/components/testing.ts +8 -8
- package/src/extensions/threads.ts +25 -16
- package/src/functions/create-proposals.ts +58 -0
- package/src/functions/index.ts +5 -0
- package/src/hooks/analytics.ts +4 -7
- package/src/hooks/index.ts +3 -2
- package/src/meta.ts +6 -1
- package/src/testing/stories.ts +2 -5
- package/src/translations.ts +3 -2
- package/src/types/Channel.ts +27 -0
- package/src/types/Thread.ts +26 -0
- package/src/types/index.ts +2 -1
- package/src/types/types.ts +17 -25
- package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +0 -16
- package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +0 -15
- package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +0 -7
- package/dist/lib/browser/chunk-2MUYQOQE.mjs +0 -23
- package/dist/lib/browser/chunk-2MUYQOQE.mjs.map +0 -7
- package/dist/lib/browser/chunk-B7YQ7QR2.mjs.map +0 -7
- package/dist/lib/browser/chunk-CMCVHULC.mjs.map +0 -7
- package/dist/lib/browser/chunk-HDEQRBOC.mjs.map +0 -7
- package/dist/lib/browser/chunk-T4KJ5JR4.mjs +0 -15
- package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +0 -7
- package/dist/lib/browser/chunk-VJMKS4CZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-VTYX3SIM.mjs +0 -147
- package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZCEU5K23.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +0 -7
- package/dist/lib/browser/markdown-R6MGRIA6.mjs.map +0 -7
- package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +0 -7
- package/dist/lib/browser/toolkit-JF4B4QIO.mjs +0 -84
- package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +0 -17
- package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2MMJF7DW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BAMZXJS4.mjs +0 -148
- package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BTGKI5IK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +0 -25
- package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NHSIAEDW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OBVAURUU.mjs +0 -17
- package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TIPIOH2J.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-MYGTDXT6.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-DHPKJITO.mjs +0 -85
- package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +0 -7
- package/dist/types/src/capabilities/toolkit.d.ts +0 -6
- package/dist/types/src/capabilities/toolkit.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/toolkit.ts +0 -82
- package/src/types/schema.ts +0 -33
- /package/dist/lib/browser/{ChannelContainer-BGDGZHV4.mjs.map → ChannelContainer-56QROCE4.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-75KJZ4XR.mjs.map → ChatContainer-7F5Y6GXJ.mjs.map} +0 -0
- /package/dist/lib/browser/{call-manager-BCKLI4QD.mjs.map → call-manager-MAXQLMMS.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-UMSBTN6H.mjs.map → react-root-2VRIT2HF.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-TCNF54PN.mjs.map → settings-LGQUZITB.mjs.map} +0 -0
- /package/dist/lib/browser/{state-ZQ4IPOJT.mjs.map → state-36REWXO5.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChannelContainer-OXC6BTU7.mjs.map → ChannelContainer-4SV22AKC.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-SH6LTFQL.mjs.map → ChatContainer-C526R4DI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{call-manager-Q7RY2YP4.mjs.map → call-manager-LC4OS2KD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-W6AVTL5M.mjs.map → react-root-JAE2VI2D.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-ZQHGVFBY.mjs.map → settings-WKLJSP6R.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-FSLLJ5TZ.mjs.map → state-X3W67GTL.mjs.map} +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { lazy } from "@dxos/app-framework";
|
|
5
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-DWYGNENL.mjs"));
|
|
6
|
+
var BlueprintDefinition = lazy(() => import("./blueprint-definition-6LEAWSC7.mjs"));
|
|
7
|
+
var CallManager = lazy(() => import("./call-manager-LC4OS2KD.mjs"));
|
|
8
|
+
var IntentResolver = lazy(() => import("./intent-resolver-45PLIFCJ.mjs"));
|
|
9
|
+
var Markdown = lazy(() => import("./markdown-566XXB55.mjs"));
|
|
10
|
+
var ReactRoot = lazy(() => import("./react-root-JAE2VI2D.mjs"));
|
|
11
|
+
var ReactSurface = lazy(() => import("./react-surface-BYKXK5YA.mjs"));
|
|
12
|
+
var ThreadSettings = lazy(() => import("./settings-WKLJSP6R.mjs"));
|
|
13
|
+
var ThreadState = lazy(() => import("./state-X3W67GTL.mjs"));
|
|
14
|
+
|
|
15
|
+
export {
|
|
16
|
+
AppGraphBuilder,
|
|
17
|
+
BlueprintDefinition,
|
|
18
|
+
CallManager,
|
|
19
|
+
IntentResolver,
|
|
20
|
+
Markdown,
|
|
21
|
+
ReactRoot,
|
|
22
|
+
ReactSurface,
|
|
23
|
+
ThreadState
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=chunk-VM6WD3YY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const CallManager = lazy(() => import('./call-manager'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const Markdown = lazy(() => import('./markdown'));\nexport const ReactRoot = lazy(() => import('./react-root'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ThreadSettings = lazy(() => import('./settings'));\nexport const ThreadState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,sBAAsBD,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC9C,IAAME,cAAcF,KAAK,MAAM,OAAO,6BAAA,CAAA;AACtC,IAAMG,iBAAiBH,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMI,WAAWJ,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMK,YAAYL,KAAK,MAAM,OAAO,2BAAA,CAAA;AACpC,IAAMM,eAAeN,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMO,iBAAiBP,KAAK,MAAM,OAAO,yBAAA,CAAA;AACzC,IAAMQ,cAAcR,KAAK,MAAM,OAAO,sBAAA,CAAA;",
|
|
6
|
+
"names": ["lazy", "AppGraphBuilder", "lazy", "BlueprintDefinition", "CallManager", "IntentResolver", "Markdown", "ReactRoot", "ReactSurface", "ThreadSettings", "ThreadState"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
// src/meta.ts
|
|
9
|
+
import { trim } from "@dxos/util";
|
|
10
|
+
var meta = {
|
|
11
|
+
id: "dxos.org/plugin/thread",
|
|
12
|
+
name: "Chat",
|
|
13
|
+
description: trim`
|
|
14
|
+
Multi-modal communication platform supporting text chat, voice, and video conferencing.
|
|
15
|
+
Create threaded conversations and add contextual comments directly on any workspace object.
|
|
16
|
+
`,
|
|
17
|
+
icon: "ph--video-conference--regular",
|
|
18
|
+
iconHue: "rose",
|
|
19
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread"
|
|
20
|
+
};
|
|
21
|
+
var THREAD_ITEM = `${meta.id}/item`;
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
__export,
|
|
25
|
+
meta,
|
|
26
|
+
THREAD_ITEM
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=chunk-XI45H4IV.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\n// TODO(wittjosiah): Needs screenshots.\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/thread',\n name: 'Chat',\n description: trim`\n Multi-modal communication platform supporting text chat, voice, and video conferencing.\n Create threaded conversations and add contextual comments directly on any workspace object.\n `,\n icon: 'ph--video-conference--regular',\n iconHue: 'rose',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread',\n};\n\nexport const THREAD_ITEM = `${meta.id}/item`;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAKA,SAASA,YAAY;AAGd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;AACV;AAEO,IAAMC,cAAc,GAAGR,KAAKC,EAAE;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "THREAD_ITEM"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
meta
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XI45H4IV.mjs";
|
|
5
5
|
|
|
6
6
|
// src/capabilities/capabilities.ts
|
|
7
7
|
import { defineCapability } from "@dxos/app-framework";
|
|
@@ -16,4 +16,4 @@ var ThreadCapabilities;
|
|
|
16
16
|
export {
|
|
17
17
|
ThreadCapabilities
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
19
|
+
//# sourceMappingURL=chunk-ZQAGII7M.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { type CallManager, type CallState, type MediaState } from '../calls';\nimport { meta } from '../meta';\nimport { type
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { type CallManager, type CallState, type MediaState } from '../calls';\nimport { meta } from '../meta';\nimport { type Channel, type ThreadState, type ViewState } from '../types';\n\nexport namespace ThreadCapabilities {\n export const CallManager = defineCapability<CallManager>(`${meta.id}/capability/call-manager`);\n\n // TODO(burdon): Better way to define specific extensions for meeting companions.\n // TODO(burdon): This brings in deps from ../calls; how should we manage/minimize explicit type exposure to other plugins?\n // TODO(wittjosiah): These callbacks could be intents once we support broadcast.\n export type CallProperties = {\n onJoin: (state: { channel?: Channel.Channel; roomId?: string }) => Promise<void>;\n onLeave: (roomId?: string) => Promise<void>;\n onCallStateUpdated: (callState: CallState) => Promise<void>;\n onMediaStateUpdated: ([mediaState, isSpeaking]: [MediaState, boolean]) => Promise<void>;\n };\n export const CallExtension = defineCapability<CallProperties>(`${meta.id}/capability/call-extension`);\n\n type GetViewState = (subjectId: string) => ViewState;\n export const State = defineCapability<{ state: DeepReadonly<ThreadState>; getViewState: GetViewState }>(\n `${meta.id}/capability/state`,\n );\n export const MutableState = defineCapability<{ state: ThreadState; getViewState: GetViewState }>(\n `${meta.id}/capability/state`,\n );\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;AAIA,SAASA,wBAAwB;UAOhBC,qBAAAA;sBACFC,cAAcC,iBAA8B,GAAGC,KAAKC,EAAE,0BAA0B;sBAWhFC,gBAAgBH,iBAAiC,GAAGC,KAAKC,EAAE,4BAA4B;sBAGvFE,QAAQJ,iBACnB,GAAGC,KAAKC,EAAE,mBAAmB;sBAElBG,eAAeL,iBAC1B,GAAGC,KAAKC,EAAE,mBAAmB;AAEjC,GArBiBJ,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
|
|
6
6
|
"names": ["defineCapability", "ThreadCapabilities", "CallManager", "defineCapability", "meta", "id", "CallExtension", "State", "MutableState"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
AppGraphBuilder,
|
|
4
|
+
BlueprintDefinition,
|
|
5
|
+
CallManager as CallManager2,
|
|
6
|
+
IntentResolver,
|
|
7
|
+
Markdown,
|
|
8
|
+
ReactRoot,
|
|
9
|
+
ReactSurface,
|
|
10
|
+
ThreadState
|
|
11
|
+
} from "./chunk-VM6WD3YY.mjs";
|
|
2
12
|
import {
|
|
3
13
|
CALLS_URL,
|
|
4
14
|
CallManager,
|
|
@@ -12,25 +22,15 @@ import {
|
|
|
12
22
|
getScreenshare,
|
|
13
23
|
getUserMediaTrack,
|
|
14
24
|
monitorAudioLevel
|
|
15
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-7KZWZS2U.mjs";
|
|
16
26
|
import {
|
|
17
|
-
|
|
27
|
+
Channel_exports,
|
|
18
28
|
ThreadAction,
|
|
19
|
-
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import {
|
|
22
|
-
AppGraphBuilder,
|
|
23
|
-
CallManager as CallManager2,
|
|
24
|
-
IntentResolver,
|
|
25
|
-
Markdown,
|
|
26
|
-
ReactRoot,
|
|
27
|
-
ReactSurface,
|
|
28
|
-
ThreadState,
|
|
29
|
-
Toolkit
|
|
30
|
-
} from "./chunk-GZ4WL2IS.mjs";
|
|
29
|
+
Thread_exports
|
|
30
|
+
} from "./chunk-TJKM5JZT.mjs";
|
|
31
31
|
import {
|
|
32
32
|
ThreadCapabilities
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-ZQAGII7M.mjs";
|
|
34
34
|
import {
|
|
35
35
|
useBlackCanvasStreamTrack,
|
|
36
36
|
useDebugMode,
|
|
@@ -38,31 +38,32 @@ import {
|
|
|
38
38
|
useOnEditAnalytics,
|
|
39
39
|
useStatus,
|
|
40
40
|
useVideoStreamTrack
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-PZH2EDU5.mjs";
|
|
42
42
|
import {
|
|
43
43
|
createBlackCanvasStreamTrack,
|
|
44
44
|
createInaudibleAudioStreamTrack
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-VBI32FGI.mjs";
|
|
46
46
|
import {
|
|
47
47
|
THREAD_ITEM,
|
|
48
48
|
meta
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-XI45H4IV.mjs";
|
|
50
50
|
|
|
51
51
|
// src/ThreadPlugin.tsx
|
|
52
52
|
import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
|
|
53
|
-
import { Ref } from "@dxos/echo";
|
|
53
|
+
import { Ref, Type as Type2 } from "@dxos/echo";
|
|
54
54
|
import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
|
|
55
55
|
import { MarkdownEvents } from "@dxos/plugin-markdown";
|
|
56
56
|
import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
|
|
57
57
|
import { defineObjectForm } from "@dxos/plugin-space/types";
|
|
58
58
|
import { translations as threadTranslations } from "@dxos/react-ui-thread";
|
|
59
|
-
import { AnchoredTo,
|
|
59
|
+
import { AnchoredTo, Message } from "@dxos/types";
|
|
60
60
|
|
|
61
61
|
// src/translations.ts
|
|
62
|
+
import { Type } from "@dxos/echo";
|
|
62
63
|
var translations = [
|
|
63
64
|
{
|
|
64
65
|
"en-US": {
|
|
65
|
-
[
|
|
66
|
+
[Type.getTypename(Channel_exports.Channel)]: {
|
|
66
67
|
"typename label": "Channel",
|
|
67
68
|
"typename label_zero": "Channels",
|
|
68
69
|
"typename label_one": "Channel",
|
|
@@ -173,23 +174,24 @@ var ThreadPlugin = definePlugin(meta, () => [
|
|
|
173
174
|
activatesOn: Events.SetupMetadata,
|
|
174
175
|
activate: () => [
|
|
175
176
|
contributes(Capabilities.Metadata, {
|
|
176
|
-
id:
|
|
177
|
+
id: Type2.getTypename(Channel_exports.Channel),
|
|
177
178
|
metadata: {
|
|
178
|
-
icon: "ph--hash--regular"
|
|
179
|
+
icon: "ph--hash--regular",
|
|
180
|
+
iconHue: "rose"
|
|
179
181
|
}
|
|
180
182
|
}),
|
|
181
183
|
contributes(Capabilities.Metadata, {
|
|
182
|
-
id:
|
|
184
|
+
id: Type2.getTypename(Thread_exports.Thread),
|
|
183
185
|
metadata: {
|
|
184
186
|
// TODO(wittjosiah): Move out of metadata.
|
|
185
187
|
loadReferences: async (thread) => await Ref.Array.loadAll(thread.messages ?? [])
|
|
186
188
|
}
|
|
187
189
|
}),
|
|
188
190
|
contributes(Capabilities.Metadata, {
|
|
189
|
-
id:
|
|
191
|
+
id: Message.Message.typename,
|
|
190
192
|
metadata: {
|
|
191
193
|
// TODO(wittjosiah): Move out of metadata.
|
|
192
|
-
loadReferences: (
|
|
194
|
+
loadReferences: () => []
|
|
193
195
|
}
|
|
194
196
|
}),
|
|
195
197
|
contributes(Capabilities.Metadata, {
|
|
@@ -220,7 +222,7 @@ var ThreadPlugin = definePlugin(meta, () => [
|
|
|
220
222
|
id: `${meta.id}/module/object-form`,
|
|
221
223
|
activatesOn: ClientEvents.SetupSchema,
|
|
222
224
|
activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
|
|
223
|
-
objectSchema:
|
|
225
|
+
objectSchema: Channel_exports.Channel,
|
|
224
226
|
getIntent: (_, options) => createIntent(ThreadAction.CreateChannel, {
|
|
225
227
|
spaceId: options.space.id
|
|
226
228
|
})
|
|
@@ -230,17 +232,17 @@ var ThreadPlugin = definePlugin(meta, () => [
|
|
|
230
232
|
id: `${meta.id}/module/schema`,
|
|
231
233
|
activatesOn: ClientEvents.SetupSchema,
|
|
232
234
|
activate: () => contributes(ClientCapabilities.Schema, [
|
|
233
|
-
AnchoredTo,
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
AnchoredTo.AnchoredTo,
|
|
236
|
+
Thread_exports.Thread,
|
|
237
|
+
Message.Message,
|
|
238
|
+
Message.MessageV1
|
|
237
239
|
])
|
|
238
240
|
}),
|
|
239
241
|
defineModule({
|
|
240
242
|
id: `${meta.id}/module/migration`,
|
|
241
243
|
activatesOn: ClientEvents.SetupMigration,
|
|
242
244
|
activate: () => contributes(ClientCapabilities.Migration, [
|
|
243
|
-
|
|
245
|
+
Message.MessageV1ToV2
|
|
244
246
|
])
|
|
245
247
|
}),
|
|
246
248
|
defineModule({
|
|
@@ -277,10 +279,9 @@ var ThreadPlugin = definePlugin(meta, () => [
|
|
|
277
279
|
activate: AppGraphBuilder
|
|
278
280
|
}),
|
|
279
281
|
defineModule({
|
|
280
|
-
id: `${meta.id}/module/
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
activate: Toolkit
|
|
282
|
+
id: `${meta.id}/module/blueprint`,
|
|
283
|
+
activatesOn: Events.SetupArtifactDefinition,
|
|
284
|
+
activate: BlueprintDefinition
|
|
284
285
|
})
|
|
285
286
|
]);
|
|
286
287
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/ThreadPlugin.tsx", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { AnchoredTo,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,cAAcC,oBAAoB;AAC5F,SAASC,
|
|
6
|
-
"names": ["Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "translations", "threadTranslations", "AnchoredTo", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Ref, Type } from '@dxos/echo';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { SpaceCapabilities, SpaceEvents } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { translations as threadTranslations } from '@dxos/react-ui-thread';\nimport { AnchoredTo, Message } from '@dxos/types';\n\nimport {\n AppGraphBuilder,\n BlueprintDefinition,\n CallManager,\n IntentResolver,\n Markdown,\n ReactRoot,\n ReactSurface,\n ThreadState,\n} from './capabilities';\nimport { THREAD_ITEM, meta } from './meta';\nimport { translations } from './translations';\nimport { Channel, Thread, ThreadAction } from './types';\n\n// TODO(Zan): Every instance of `cursor` should be replaced with `anchor`.\n// NOTE(burdon): Review/discuss CursorConverter semantics.\n\n// TODO(wittjosiah): Rename to ChatPlugin.\n// TODO(wittjosiah): Enabling comments should likely be factored out of this plugin but depend on it's capabilities.\nexport const ThreadPlugin = definePlugin(meta, () => [\n defineModule({\n id: `${meta.id}/module/call-manager`,\n activatesOn: ClientEvents.ClientReady,\n activate: CallManager,\n }),\n // TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.\n // defineModule({\n // id: `${meta.id}/module/settings`,\n // activatesOn: Events.SetupSettings,\n // activate: ThreadSettings,\n // }),\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: Events.SetupSettings,\n activate: ThreadState,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...threadTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () => [\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Channel.Channel),\n metadata: {\n icon: 'ph--hash--regular',\n iconHue: 'rose',\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Type.getTypename(Thread.Thread),\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (thread: Thread.Thread) => await Ref.Array.loadAll(thread.messages ?? []),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: Message.Message.typename,\n metadata: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: () => [], // loadObjectReferences(message, (message) => [...message.parts, message.context]),\n },\n }),\n contributes(Capabilities.Metadata, {\n id: THREAD_ITEM,\n metadata: {\n parse: (item: Thread.Thread, type: string) => {\n switch (type) {\n case 'node':\n return { id: item.id, label: item.name, data: item };\n case 'object':\n return item;\n case 'view-object':\n return { id: `${item.id}-view`, object: item };\n }\n },\n },\n }),\n ],\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Channel.Channel,\n getIntent: (_, options) =>\n createIntent(ThreadAction.CreateChannel, {\n spaceId: options.space.id,\n }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(ClientCapabilities.Schema, [\n AnchoredTo.AnchoredTo,\n Thread.Thread,\n Message.Message,\n Message.MessageV1,\n ]),\n }),\n defineModule({\n id: `${meta.id}/module/migration`,\n activatesOn: ClientEvents.SetupMigration,\n activate: () => contributes(ClientCapabilities.Migration, [Message.MessageV1ToV2]),\n }),\n defineModule({\n id: `${meta.id}/module/on-space-created`,\n activatesOn: SpaceEvents.SpaceCreated,\n activate: () =>\n contributes(SpaceCapabilities.onCreateSpace, ({ space, rootCollection }) =>\n createIntent(ThreadAction.onCreateSpace, { space, rootCollection }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/markdown`,\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: Markdown,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\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/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Channel } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Channel.Channel)]: {\n 'typename label': 'Channel',\n 'typename label_zero': 'Channels',\n 'typename label_one': 'Channel',\n 'typename label_other': 'Channels',\n 'object name placeholder': 'New channel',\n 'rename object label': 'Rename channel',\n 'delete object label': 'Delete channel',\n },\n [meta.id]: {\n 'plugin name': 'Chat',\n 'channel title label': 'Title',\n 'message placeholder': 'Reply…',\n 'activity message': 'Processing…',\n 'anonymous label': 'Anonymous',\n 'delete message block label': 'Delete message block',\n 'detached thread label': 'Referenced content was removed',\n 'delete thread label': 'Delete thread',\n 'resolve thread label': 'Resolve thread',\n 'thread deleted label': 'Thread deleted',\n 'message deleted label': 'Message deleted',\n 'comments heading': 'Comments',\n 'chat heading': 'Chat',\n 'draft button': 'DRAFT',\n 'no comments title': 'Comments',\n 'no comments message':\n 'Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.',\n 'toggle show resolved': 'Show resolved',\n 'unnamed object threads label': 'Threads',\n 'mark as resolved label': 'Mark as resolved',\n 'mark as unresolved label': 'Mark as unresolved',\n 'save message label': 'Save',\n 'edit message label': 'Edit',\n 'delete message label': 'Delete message',\n 'accept proposal label': 'Accept proposal',\n 'open comments panel label': 'Show Comments',\n 'comments label': 'Comments',\n 'show all label': 'All comments',\n 'show unresolved label': 'Unresolved comments',\n\n 'channel companion label': 'Channel',\n 'call panel label': 'Active Call',\n\n 'display name label': 'Display name',\n 'display name description': 'Set your display name before joining a meeting.',\n 'display name input placeholder': 'Enter your name',\n 'set display name label': 'Continue',\n\n 'call tab label': 'Call',\n 'meeting status title': 'Meeting',\n 'share meeting link label': 'Share meeting',\n 'show webrtc stats title': 'WebRTC Stats',\n 'show calls history title': 'Service History',\n\n 'meeting summary label': 'Summary',\n 'summarize label': 'Summarize',\n 'summarizing label': 'Creating summary...',\n 'create summary message': 'A summary doesn’t exist for this meeting yet. Create one now?',\n\n 'join call': 'Join',\n 'leave call': 'Leave',\n\n 'lobby participants_zero': 'No participants',\n 'lobby participants_one': '1 participant',\n 'lobby participants_other': '{{count}} participants',\n\n 'icon pin': 'Pin video',\n 'icon unpin': 'Unpin video',\n 'icon wave': 'Waving',\n 'icon muted': 'Muted',\n 'icon speaking': 'Speaking',\n\n 'mic on': 'Unmute',\n 'mic off': 'Mute',\n 'camera on': 'Turn camera on',\n 'camera off': 'Turn camera off',\n 'camera off label': 'Camera off',\n\n 'raise hand': 'Raise hand',\n 'lower hand': 'Lower hand',\n 'screenshare on': 'Share screen',\n 'screenshare off': 'Stop streaming',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "Type", "ClientCapabilities", "ClientEvents", "MarkdownEvents", "SpaceCapabilities", "SpaceEvents", "defineObjectForm", "translations", "threadTranslations", "AnchoredTo", "Message", "Type", "translations", "Type", "getTypename", "Channel", "meta", "id", "ThreadPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "ClientEvents", "ClientReady", "activate", "CallManager", "Events", "SetupSettings", "ThreadState", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "threadTranslations", "SetupMetadata", "Metadata", "Type", "getTypename", "Channel", "metadata", "icon", "iconHue", "Thread", "loadReferences", "thread", "Ref", "Array", "loadAll", "messages", "Message", "typename", "THREAD_ITEM", "parse", "item", "type", "label", "name", "data", "object", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "_", "options", "createIntent", "ThreadAction", "CreateChannel", "spaceId", "space", "ClientCapabilities", "Schema", "AnchoredTo", "MessageV1", "SetupMigration", "Migration", "MessageV1ToV2", "SpaceEvents", "SpaceCreated", "onCreateSpace", "rootCollection", "MarkdownEvents", "SetupExtensions", "Markdown", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder", "SetupArtifactDefinition", "BlueprintDefinition"]
|
|
7
7
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
Channel_exports,
|
|
4
4
|
ThreadAction,
|
|
5
|
-
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
Thread_exports
|
|
6
|
+
} from "./chunk-TJKM5JZT.mjs";
|
|
7
7
|
import {
|
|
8
8
|
ThreadCapabilities
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZQAGII7M.mjs";
|
|
10
10
|
import {
|
|
11
11
|
meta
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XI45H4IV.mjs";
|
|
13
13
|
|
|
14
14
|
// src/capabilities/intent-resolver.ts
|
|
15
15
|
import * as Effect from "effect/Effect";
|
|
@@ -20,8 +20,8 @@ import { invariant } from "@dxos/invariant";
|
|
|
20
20
|
import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
|
|
21
21
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
22
22
|
import { CollectionAction, SpaceAction } from "@dxos/plugin-space/types";
|
|
23
|
-
import { Ref,
|
|
24
|
-
import { AnchoredTo,
|
|
23
|
+
import { Ref, getSpace } from "@dxos/react-client/echo";
|
|
24
|
+
import { AnchoredTo, Message } from "@dxos/types";
|
|
25
25
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/capabilities/intent-resolver.ts";
|
|
26
26
|
var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
|
|
27
27
|
createResolver({
|
|
@@ -29,7 +29,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
29
29
|
resolve: ({ space, rootCollection }) => Effect.gen(function* () {
|
|
30
30
|
const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
31
31
|
const { object: collection } = yield* dispatch(createIntent(CollectionAction.CreateQueryCollection, {
|
|
32
|
-
typename: Type.getTypename(
|
|
32
|
+
typename: Type.getTypename(Channel_exports.Channel)
|
|
33
33
|
}));
|
|
34
34
|
rootCollection.objects.push(Ref.make(collection));
|
|
35
35
|
const { object: channel } = yield* dispatch(createIntent(ThreadAction.CreateChannel, {
|
|
@@ -43,13 +43,8 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
43
43
|
intent: ThreadAction.CreateChannel,
|
|
44
44
|
resolve: ({ name }) => ({
|
|
45
45
|
data: {
|
|
46
|
-
object:
|
|
47
|
-
name
|
|
48
|
-
defaultThread: Ref.make(Obj.make(ThreadType, {
|
|
49
|
-
messages: [],
|
|
50
|
-
status: "active"
|
|
51
|
-
})),
|
|
52
|
-
threads: []
|
|
46
|
+
object: Channel_exports.make({
|
|
47
|
+
name
|
|
53
48
|
})
|
|
54
49
|
}
|
|
55
50
|
})
|
|
@@ -57,8 +52,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
57
52
|
createResolver({
|
|
58
53
|
intent: ThreadAction.CreateChannelThread,
|
|
59
54
|
resolve: ({ channel }) => {
|
|
60
|
-
const thread =
|
|
61
|
-
messages: [],
|
|
55
|
+
const thread = Thread_exports.make({
|
|
62
56
|
status: "active"
|
|
63
57
|
});
|
|
64
58
|
channel.threads.push(Ref.make(thread));
|
|
@@ -76,7 +70,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
76
70
|
const space = getSpace(subject);
|
|
77
71
|
invariant(space, "Space not found", {
|
|
78
72
|
F: __dxlog_file,
|
|
79
|
-
L:
|
|
73
|
+
L: 65,
|
|
80
74
|
S: void 0,
|
|
81
75
|
A: [
|
|
82
76
|
"space",
|
|
@@ -84,13 +78,11 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
84
78
|
]
|
|
85
79
|
});
|
|
86
80
|
const { state } = context.getCapability(ThreadCapabilities.MutableState);
|
|
87
|
-
const subjectId =
|
|
88
|
-
const thread =
|
|
89
|
-
name
|
|
90
|
-
messages: [],
|
|
91
|
-
status: "staged"
|
|
81
|
+
const subjectId = Obj.getDXN(subject).toString();
|
|
82
|
+
const thread = Thread_exports.make({
|
|
83
|
+
name
|
|
92
84
|
});
|
|
93
|
-
const anchor = Relation.make(AnchoredTo, {
|
|
85
|
+
const anchor = Relation.make(AnchoredTo.AnchoredTo, {
|
|
94
86
|
[Relation.Source]: thread,
|
|
95
87
|
[Relation.Target]: subject,
|
|
96
88
|
anchor: _anchor
|
|
@@ -106,65 +98,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
106
98
|
return {
|
|
107
99
|
intents: [
|
|
108
100
|
createIntent(ThreadAction.Select, {
|
|
109
|
-
current:
|
|
110
|
-
}),
|
|
111
|
-
createIntent(DeckAction.ChangeCompanion, {
|
|
112
|
-
primary: subjectId,
|
|
113
|
-
companion: `${subjectId}${ATTENDABLE_PATH_SEPARATOR}comments`
|
|
114
|
-
})
|
|
115
|
-
]
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
}),
|
|
119
|
-
createResolver({
|
|
120
|
-
intent: ThreadAction.AddProposal,
|
|
121
|
-
resolve: ({ text, anchor, sender, subject }) => {
|
|
122
|
-
const space = getSpace(subject);
|
|
123
|
-
invariant(space, "Space not found", {
|
|
124
|
-
F: __dxlog_file,
|
|
125
|
-
L: 102,
|
|
126
|
-
S: void 0,
|
|
127
|
-
A: [
|
|
128
|
-
"space",
|
|
129
|
-
"'Space not found'"
|
|
130
|
-
]
|
|
131
|
-
});
|
|
132
|
-
const subjectId = fullyQualifiedId(subject);
|
|
133
|
-
const proposal = Obj.make(DataType.Message, {
|
|
134
|
-
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
135
|
-
sender,
|
|
136
|
-
blocks: [
|
|
137
|
-
{
|
|
138
|
-
_tag: "proposal",
|
|
139
|
-
text
|
|
140
|
-
}
|
|
141
|
-
]
|
|
142
|
-
});
|
|
143
|
-
const thread = Obj.make(ThreadType, {
|
|
144
|
-
name: "Proposal",
|
|
145
|
-
messages: [
|
|
146
|
-
Ref.make(proposal)
|
|
147
|
-
],
|
|
148
|
-
status: "active"
|
|
149
|
-
});
|
|
150
|
-
return {
|
|
151
|
-
intents: [
|
|
152
|
-
createIntent(SpaceAction.AddObject, {
|
|
153
|
-
object: thread,
|
|
154
|
-
target: space,
|
|
155
|
-
hidden: true
|
|
156
|
-
}),
|
|
157
|
-
createIntent(SpaceAction.AddRelation, {
|
|
158
|
-
space,
|
|
159
|
-
schema: AnchoredTo,
|
|
160
|
-
source: thread,
|
|
161
|
-
target: subject,
|
|
162
|
-
fields: {
|
|
163
|
-
anchor
|
|
164
|
-
}
|
|
165
|
-
}),
|
|
166
|
-
createIntent(ThreadAction.Select, {
|
|
167
|
-
current: fullyQualifiedId(thread)
|
|
101
|
+
current: Obj.getDXN(thread).toString()
|
|
168
102
|
}),
|
|
169
103
|
createIntent(DeckAction.ChangeCompanion, {
|
|
170
104
|
primary: subjectId,
|
|
@@ -192,7 +126,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
192
126
|
const space = getSpace(thread);
|
|
193
127
|
invariant(space, "Space not found", {
|
|
194
128
|
F: __dxlog_file,
|
|
195
|
-
L:
|
|
129
|
+
L: 111,
|
|
196
130
|
S: void 0,
|
|
197
131
|
A: [
|
|
198
132
|
"space",
|
|
@@ -218,7 +152,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
218
152
|
resolve: async ({ subject, anchor, thread: _thread }, undo) => {
|
|
219
153
|
const thread = _thread ?? Relation.getSource(anchor);
|
|
220
154
|
const { state } = context.getCapability(ThreadCapabilities.MutableState);
|
|
221
|
-
const subjectId =
|
|
155
|
+
const subjectId = Obj.getDXN(subject).toString();
|
|
222
156
|
const draft = state.drafts[subjectId];
|
|
223
157
|
if (draft) {
|
|
224
158
|
const index = draft.findIndex((a) => a.id === anchor.id);
|
|
@@ -281,18 +215,18 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
281
215
|
resolve: ({ anchor, subject, sender, text }) => {
|
|
282
216
|
const thread = Relation.getSource(anchor);
|
|
283
217
|
const { state } = context.getCapability(ThreadCapabilities.MutableState);
|
|
284
|
-
const subjectId =
|
|
218
|
+
const subjectId = Obj.getDXN(subject).toString();
|
|
285
219
|
const space = getSpace(subject);
|
|
286
220
|
invariant(space, "Space not found", {
|
|
287
221
|
F: __dxlog_file,
|
|
288
|
-
L:
|
|
222
|
+
L: 196,
|
|
289
223
|
S: void 0,
|
|
290
224
|
A: [
|
|
291
225
|
"space",
|
|
292
226
|
"'Space not found'"
|
|
293
227
|
]
|
|
294
228
|
});
|
|
295
|
-
const message = Obj.make(
|
|
229
|
+
const message = Obj.make(Message.Message, {
|
|
296
230
|
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
297
231
|
sender,
|
|
298
232
|
blocks: [
|
|
@@ -315,7 +249,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
315
249
|
}));
|
|
316
250
|
intents.push(createIntent(SpaceAction.AddRelation, {
|
|
317
251
|
space,
|
|
318
|
-
schema: AnchoredTo,
|
|
252
|
+
schema: AnchoredTo.AnchoredTo,
|
|
319
253
|
source: thread,
|
|
320
254
|
target: subject,
|
|
321
255
|
fields: {
|
|
@@ -352,7 +286,7 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
352
286
|
const space = getSpace(subject);
|
|
353
287
|
invariant(space, "Space not found", {
|
|
354
288
|
F: __dxlog_file,
|
|
355
|
-
L:
|
|
289
|
+
L: 256,
|
|
356
290
|
S: void 0,
|
|
357
291
|
A: [
|
|
358
292
|
"space",
|
|
@@ -425,4 +359,4 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
|
|
|
425
359
|
export {
|
|
426
360
|
intent_resolver_default as default
|
|
427
361
|
};
|
|
428
|
-
//# sourceMappingURL=intent-resolver-
|
|
362
|
+
//# sourceMappingURL=intent-resolver-45PLIFCJ.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 * as Effect from 'effect/Effect';\n\nimport { Capabilities, type PluginContext, contributes, createIntent, createResolver } from '@dxos/app-framework';\nimport { sleep } from '@dxos/async';\nimport { Obj, Relation, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { CollectionAction, SpaceAction } from '@dxos/plugin-space/types';\nimport { Ref, getSpace } from '@dxos/react-client/echo';\nimport { AnchoredTo, Message } from '@dxos/types';\n\nimport { meta } from '../meta';\nimport { Channel, Thread, ThreadAction } from '../types';\n\nimport { ThreadCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ThreadAction.onCreateSpace,\n resolve: ({ space, rootCollection }) =>\n Effect.gen(function* () {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { object: collection } = yield* dispatch(\n createIntent(CollectionAction.CreateQueryCollection, { typename: Type.getTypename(Channel.Channel) }),\n );\n rootCollection.objects.push(Ref.make(collection));\n\n const { object: channel } = yield* dispatch(\n createIntent(ThreadAction.CreateChannel, { name: 'General', spaceId: space.id }),\n );\n space.db.add(channel);\n }),\n }),\n createResolver({\n intent: ThreadAction.CreateChannel,\n resolve: ({ name }) => ({\n data: {\n object: Channel.make({ name }),\n },\n }),\n }),\n createResolver({\n intent: ThreadAction.CreateChannelThread,\n resolve: ({ channel }) => {\n const thread = Thread.make({ status: 'active' });\n channel.threads.push(Ref.make(thread));\n return {\n data: {\n object: thread,\n },\n };\n },\n }),\n // TODO(wittjosiah): Break this up into more composable pieces.\n createResolver({\n intent: ThreadAction.Create,\n resolve: ({ name, anchor: _anchor, subject }) => {\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = Obj.getDXN(subject).toString();\n const thread = Thread.make({ name });\n const anchor = Relation.make(AnchoredTo.AnchoredTo, {\n [Relation.Source]: thread,\n [Relation.Target]: subject,\n anchor: _anchor,\n });\n\n const draft = state.drafts[subjectId];\n if (draft) {\n draft.push(anchor);\n } else {\n state.drafts[subjectId] = [anchor];\n }\n\n return {\n intents: [\n createIntent(ThreadAction.Select, { current: Obj.getDXN(thread).toString() }),\n createIntent(DeckAction.ChangeCompanion, {\n primary: subjectId,\n companion: `${subjectId}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.Select,\n resolve: ({ current }) => {\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n state.current = current;\n },\n }),\n createResolver({\n intent: ThreadAction.ToggleResolved,\n resolve: ({ thread }) => {\n if (thread.status === 'active' || thread.status === undefined) {\n thread.status = 'resolved';\n } else if (thread.status === 'resolved') {\n thread.status = 'active';\n }\n\n const space = getSpace(thread);\n invariant(space, 'Space not found');\n const spaceId = space.id;\n\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.toggle-resolved',\n properties: {\n spaceId,\n threadId: thread.id,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ThreadAction.Delete,\n resolve: async ({ subject, anchor, thread: _thread }, undo) => {\n const thread = _thread ?? (Relation.getSource(anchor) as Thread.Thread);\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = Obj.getDXN(subject).toString();\n const draft = state.drafts[subjectId];\n if (draft) {\n // Check if we're deleting a draft; if so, remo ve it.\n const index = draft.findIndex((a) => a.id === anchor.id);\n if (index !== -1) {\n draft.splice(index, 1);\n return;\n }\n }\n\n const space = getSpace(anchor);\n if (!space) {\n return;\n }\n\n if (!undo) {\n // TODO(wittjosiah): Without sleep, rendering crashes at `Relation.setSource(anchor)`.\n space.db.remove(anchor);\n await sleep(100);\n space.db.remove(thread);\n\n return {\n undoable: {\n message: ['thread deleted label', { ns: meta.id }],\n data: { thread, anchor },\n },\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n ],\n };\n } else {\n // TODO(wittjosiah): Without sleep, rendering crashes at `Relation.setSource(anchor)`.\n space.db.add(thread);\n await sleep(100);\n space.db.add(anchor);\n\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.undo-delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n ],\n };\n }\n },\n }),\n createResolver({\n intent: ThreadAction.AddMessage,\n resolve: ({ anchor, subject, sender, text }) => {\n const thread = Relation.getSource(anchor) as Thread.Thread;\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n const subjectId = Obj.getDXN(subject).toString();\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n const message = Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender,\n blocks: [{ _tag: 'text', text }],\n // TODO(wittjosiah): Context based on attention.\n // context: context ? Ref.make(context) : undefined,\n });\n thread.messages.push(Ref.make(message));\n\n const intents = [];\n const draft = state.drafts[subjectId]?.find((a) => a.id === anchor.id);\n if (draft) {\n // Move draft to document.\n thread.status = 'active';\n // TODO(wittjosiah): This causes the thread to flash as it transitions from draft to db.\n state.drafts[subjectId] = state.drafts[subjectId]?.filter((a) => a.id !== anchor.id);\n intents.push(createIntent(SpaceAction.AddObject, { object: thread, target: space, hidden: true }));\n intents.push(\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: AnchoredTo.AnchoredTo,\n source: thread,\n target: subject,\n fields: { anchor: draft.anchor },\n }),\n );\n intents.push(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.create',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n },\n }),\n );\n }\n\n intents.push(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.add',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n threadLength: thread.messages.length,\n messageId: message.id,\n messageLength: text.length,\n },\n }),\n );\n\n return { intents };\n },\n }),\n createResolver({\n intent: ThreadAction.DeleteMessage,\n resolve: ({ subject, anchor, messageId, message, messageIndex }, undo) => {\n const thread = Relation.getSource(anchor) as Thread.Thread;\n const space = getSpace(subject);\n invariant(space, 'Space not found');\n\n if (!undo) {\n const messageIndex = thread.messages.findIndex(Ref.hasObjectId(messageId));\n const message = thread.messages[messageIndex]?.target;\n if (!message) {\n return;\n }\n\n if (messageIndex === 0 && thread.messages.length === 1) {\n // If the message is the only message in the thread, delete the thread.\n return {\n intents: [createIntent(ThreadAction.Delete, { subject, anchor })],\n };\n } else {\n thread.messages.splice(messageIndex, 1);\n }\n\n return {\n undoable: {\n message: ['message deleted label', { ns: meta.id }],\n data: { message, messageIndex },\n },\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n messageId: message.id,\n },\n }),\n ],\n };\n } else {\n if (messageIndex === undefined || !message) {\n return;\n }\n\n thread.messages.splice(messageIndex, 0, Ref.make(message));\n return {\n intents: [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'threads.message.undo-delete',\n properties: {\n spaceId: space.id,\n threadId: thread.id,\n messageId: message.id,\n },\n }),\n ],\n };\n }\n },\n }),\n ]);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAkCC,aAAaC,cAAcC,sBAAsB;AAC5F,SAASC,aAAa;AACtB,SAASC,KAAKC,UAAUC,YAAY;AACpC,SAASC,iBAAiB;AAC1B,SAASC,2BAA2BC,kBAAkB;AACtD,SAASC,2BAA2B;AACpC,SAASC,kBAAkBC,mBAAmB;AAC9C,SAASC,KAAKC,gBAAgB;AAC9B,SAASC,YAAYC,eAAe;;AAOpC,IAAA,2BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,CAAC,EAAEC,OAAOC,eAAc,MACxBC,WAAI,aAAA;AACT,YAAM,EAAEC,SAAQ,IAAKZ,QAAQa,cAAcX,aAAaY,gBAAgB;AACxE,YAAM,EAAEC,QAAQC,WAAU,IAAK,OAAOJ,SACpCK,aAAaC,iBAAiBC,uBAAuB;QAAEC,UAAUC,KAAKC,YAAYC,gBAAQA,OAAO;MAAE,CAAA,CAAA;AAErGb,qBAAec,QAAQC,KAAKC,IAAIC,KAAKX,UAAAA,CAAAA;AAErC,YAAM,EAAED,QAAQa,QAAO,IAAK,OAAOhB,SACjCK,aAAaX,aAAauB,eAAe;QAAEC,MAAM;QAAWC,SAAStB,MAAMuB;MAAG,CAAA,CAAA;AAEhFvB,YAAMwB,GAAGC,IAAIN,OAAAA;IACf,CAAA;EACJ,CAAA;EACAxB,eAAe;IACbC,QAAQC,aAAauB;IACrBrB,SAAS,CAAC,EAAEsB,KAAI,OAAQ;MACtBK,MAAM;QACJpB,QAAQQ,gBAAQI,KAAK;UAAEG;QAAK,CAAA;MAC9B;IACF;EACF,CAAA;EACA1B,eAAe;IACbC,QAAQC,aAAa8B;IACrB5B,SAAS,CAAC,EAAEoB,QAAO,MAAE;AACnB,YAAMS,SAASC,eAAOX,KAAK;QAAEY,QAAQ;MAAS,CAAA;AAC9CX,cAAQY,QAAQf,KAAKC,IAAIC,KAAKU,MAAAA,CAAAA;AAC9B,aAAO;QACLF,MAAM;UACJpB,QAAQsB;QACV;MACF;IACF;EACF,CAAA;;EAEAjC,eAAe;IACbC,QAAQC,aAAamC;IACrBjC,SAAS,CAAC,EAAEsB,MAAMY,QAAQC,SAASC,QAAO,MAAE;AAC1C,YAAMnC,QAAQoC,SAASD,OAAAA;AACvBE,gBAAUrC,OAAO,mBAAA;;;;;;;;;AAEjB,YAAM,EAAEsC,MAAK,IAAK/C,QAAQa,cAAcmC,mBAAmBC,YAAY;AACvE,YAAMC,YAAYC,IAAIC,OAAOR,OAAAA,EAASS,SAAQ;AAC9C,YAAMhB,SAASC,eAAOX,KAAK;QAAEG;MAAK,CAAA;AAClC,YAAMY,SAASY,SAAS3B,KAAK4B,WAAWA,YAAY;QAClD,CAACD,SAASE,MAAM,GAAGnB;QACnB,CAACiB,SAASG,MAAM,GAAGb;QACnBF,QAAQC;MACV,CAAA;AAEA,YAAMe,QAAQX,MAAMY,OAAOT,SAAAA;AAC3B,UAAIQ,OAAO;AACTA,cAAMjC,KAAKiB,MAAAA;MACb,OAAO;AACLK,cAAMY,OAAOT,SAAAA,IAAa;UAACR;;MAC7B;AAEA,aAAO;QACLkB,SAAS;UACP3C,aAAaX,aAAauD,QAAQ;YAAEC,SAASX,IAAIC,OAAOf,MAAAA,EAAQgB,SAAQ;UAAG,CAAA;UAC3EpC,aAAa8C,WAAWC,iBAAiB;YACvCC,SAASf;YACTgB,WAAW,GAAGhB,SAAAA,GAAYiB,yBAAAA;UAC5B,CAAA;;MAEJ;IACF;EACF,CAAA;EACA/D,eAAe;IACbC,QAAQC,aAAauD;IACrBrD,SAAS,CAAC,EAAEsD,QAAO,MAAE;AACnB,YAAM,EAAEf,MAAK,IAAK/C,QAAQa,cAAcmC,mBAAmBC,YAAY;AACvEF,YAAMe,UAAUA;IAClB;EACF,CAAA;EACA1D,eAAe;IACbC,QAAQC,aAAa8D;IACrB5D,SAAS,CAAC,EAAE6B,OAAM,MAAE;AAClB,UAAIA,OAAOE,WAAW,YAAYF,OAAOE,WAAW8B,QAAW;AAC7DhC,eAAOE,SAAS;MAClB,WAAWF,OAAOE,WAAW,YAAY;AACvCF,eAAOE,SAAS;MAClB;AAEA,YAAM9B,QAAQoC,SAASR,MAAAA;AACvBS,gBAAUrC,OAAO,mBAAA;;;;;;;;;AACjB,YAAMsB,UAAUtB,MAAMuB;AAEtB,aAAO;QACL4B,SAAS;UACP3C,aAAaqD,oBAAoBC,WAAW;YAC1CzC,MAAM;YACN0C,YAAY;cACVzC;cACA0C,UAAUpC,OAAOL;YACnB;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACA5B,eAAe;IACbC,QAAQC,aAAaoE;IACrBlE,SAAS,OAAO,EAAEoC,SAASF,QAAQL,QAAQsC,QAAO,GAAIC,SAAAA;AACpD,YAAMvC,SAASsC,WAAYrB,SAASuB,UAAUnC,MAAAA;AAC9C,YAAM,EAAEK,MAAK,IAAK/C,QAAQa,cAAcmC,mBAAmBC,YAAY;AACvE,YAAMC,YAAYC,IAAIC,OAAOR,OAAAA,EAASS,SAAQ;AAC9C,YAAMK,QAAQX,MAAMY,OAAOT,SAAAA;AAC3B,UAAIQ,OAAO;AAET,cAAMoB,QAAQpB,MAAMqB,UAAU,CAACC,MAAMA,EAAEhD,OAAOU,OAAOV,EAAE;AACvD,YAAI8C,UAAU,IAAI;AAChBpB,gBAAMuB,OAAOH,OAAO,CAAA;AACpB;QACF;MACF;AAEA,YAAMrE,QAAQoC,SAASH,MAAAA;AACvB,UAAI,CAACjC,OAAO;AACV;MACF;AAEA,UAAI,CAACmE,MAAM;AAETnE,cAAMwB,GAAGiD,OAAOxC,MAAAA;AAChB,cAAMyC,MAAM,GAAA;AACZ1E,cAAMwB,GAAGiD,OAAO7C,MAAAA;AAEhB,eAAO;UACL+C,UAAU;YACRC,SAAS;cAAC;cAAwB;gBAAEC,IAAIC,KAAKvD;cAAG;;YAChDG,MAAM;cAAEE;cAAQK;YAAO;UACzB;UACAkB,SAAS;YACP3C,aAAaqD,oBAAoBC,WAAW;cAC1CzC,MAAM;cACN0C,YAAY;gBACVzC,SAAStB,MAAMuB;gBACfyC,UAAUpC,OAAOL;cACnB;YACF,CAAA;;QAEJ;MACF,OAAO;AAELvB,cAAMwB,GAAGC,IAAIG,MAAAA;AACb,cAAM8C,MAAM,GAAA;AACZ1E,cAAMwB,GAAGC,IAAIQ,MAAAA;AAEb,eAAO;UACLkB,SAAS;YACP3C,aAAaqD,oBAAoBC,WAAW;cAC1CzC,MAAM;cACN0C,YAAY;gBACVzC,SAAStB,MAAMuB;gBACfyC,UAAUpC,OAAOL;cACnB;YACF,CAAA;;QAEJ;MACF;IACF;EACF,CAAA;EACA5B,eAAe;IACbC,QAAQC,aAAakF;IACrBhF,SAAS,CAAC,EAAEkC,QAAQE,SAAS6C,QAAQC,KAAI,MAAE;AACzC,YAAMrD,SAASiB,SAASuB,UAAUnC,MAAAA;AAClC,YAAM,EAAEK,MAAK,IAAK/C,QAAQa,cAAcmC,mBAAmBC,YAAY;AACvE,YAAMC,YAAYC,IAAIC,OAAOR,OAAAA,EAASS,SAAQ;AAC9C,YAAM5C,QAAQoC,SAASD,OAAAA;AACvBE,gBAAUrC,OAAO,mBAAA;;;;;;;;;AAEjB,YAAM4E,UAAUlC,IAAIxB,KAAKgE,QAAQA,SAAS;QACxCC,UAAS,oBAAIC,KAAAA,GAAOC,YAAW;QAC/BL;QACAM,QAAQ;UAAC;YAAEC,MAAM;YAAQN;UAAK;;MAGhC,CAAA;AACArD,aAAO4D,SAASxE,KAAKC,IAAIC,KAAK0D,OAAAA,CAAAA;AAE9B,YAAMzB,UAAU,CAAA;AAChB,YAAMF,QAAQX,MAAMY,OAAOT,SAAAA,GAAYgD,KAAK,CAAClB,MAAMA,EAAEhD,OAAOU,OAAOV,EAAE;AACrE,UAAI0B,OAAO;AAETrB,eAAOE,SAAS;AAEhBQ,cAAMY,OAAOT,SAAAA,IAAaH,MAAMY,OAAOT,SAAAA,GAAYiD,OAAO,CAACnB,MAAMA,EAAEhD,OAAOU,OAAOV,EAAE;AACnF4B,gBAAQnC,KAAKR,aAAamF,YAAYC,WAAW;UAAEtF,QAAQsB;UAAQiE,QAAQ7F;UAAO8F,QAAQ;QAAK,CAAA,CAAA;AAC/F3C,gBAAQnC,KACNR,aAAamF,YAAYI,aAAa;UACpC/F;UACAgG,QAAQlD,WAAWA;UACnBmD,QAAQrE;UACRiE,QAAQ1D;UACR+D,QAAQ;YAAEjE,QAAQgB,MAAMhB;UAAO;QACjC,CAAA,CAAA;AAEFkB,gBAAQnC,KACNR,aAAaqD,oBAAoBC,WAAW;UAC1CzC,MAAM;UACN0C,YAAY;YACVzC,SAAStB,MAAMuB;YACfyC,UAAUpC,OAAOL;UACnB;QACF,CAAA,CAAA;MAEJ;AAEA4B,cAAQnC,KACNR,aAAaqD,oBAAoBC,WAAW;QAC1CzC,MAAM;QACN0C,YAAY;UACVzC,SAAStB,MAAMuB;UACfyC,UAAUpC,OAAOL;UACjB4E,cAAcvE,OAAO4D,SAASY;UAC9BC,WAAWzB,QAAQrD;UACnB+E,eAAerB,KAAKmB;QACtB;MACF,CAAA,CAAA;AAGF,aAAO;QAAEjD;MAAQ;IACnB;EACF,CAAA;EACAxD,eAAe;IACbC,QAAQC,aAAa0G;IACrBxG,SAAS,CAAC,EAAEoC,SAASF,QAAQoE,WAAWzB,SAAS4B,aAAY,GAAIrC,SAAAA;AAC/D,YAAMvC,SAASiB,SAASuB,UAAUnC,MAAAA;AAClC,YAAMjC,QAAQoC,SAASD,OAAAA;AACvBE,gBAAUrC,OAAO,mBAAA;;;;;;;;;AAEjB,UAAI,CAACmE,MAAM;AACT,cAAMqC,gBAAe5E,OAAO4D,SAASlB,UAAUrD,IAAIwF,YAAYJ,SAAAA,CAAAA;AAC/D,cAAMzB,WAAUhD,OAAO4D,SAASgB,aAAAA,GAAeX;AAC/C,YAAI,CAACjB,UAAS;AACZ;QACF;AAEA,YAAI4B,kBAAiB,KAAK5E,OAAO4D,SAASY,WAAW,GAAG;AAEtD,iBAAO;YACLjD,SAAS;cAAC3C,aAAaX,aAAaoE,QAAQ;gBAAE9B;gBAASF;cAAO,CAAA;;UAChE;QACF,OAAO;AACLL,iBAAO4D,SAAShB,OAAOgC,eAAc,CAAA;QACvC;AAEA,eAAO;UACL7B,UAAU;YACRC,SAAS;cAAC;cAAyB;gBAAEC,IAAIC,KAAKvD;cAAG;;YACjDG,MAAM;cAAEkD,SAAAA;cAAS4B,cAAAA;YAAa;UAChC;UACArD,SAAS;YACP3C,aAAaqD,oBAAoBC,WAAW;cAC1CzC,MAAM;cACN0C,YAAY;gBACVzC,SAAStB,MAAMuB;gBACfyC,UAAUpC,OAAOL;gBACjB8E,WAAWzB,SAAQrD;cACrB;YACF,CAAA;;QAEJ;MACF,OAAO;AACL,YAAIiF,iBAAiB5C,UAAa,CAACgB,SAAS;AAC1C;QACF;AAEAhD,eAAO4D,SAAShB,OAAOgC,cAAc,GAAGvF,IAAIC,KAAK0D,OAAAA,CAAAA;AACjD,eAAO;UACLzB,SAAS;YACP3C,aAAaqD,oBAAoBC,WAAW;cAC1CzC,MAAM;cACN0C,YAAY;gBACVzC,SAAStB,MAAMuB;gBACfyC,UAAUpC,OAAOL;gBACjB8E,WAAWzB,QAAQrD;cACrB;YACF,CAAA;;QAEJ;MACF;IACF;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "contributes", "createIntent", "createResolver", "sleep", "Obj", "Relation", "Type", "invariant", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "ObservabilityAction", "CollectionAction", "SpaceAction", "Ref", "getSpace", "AnchoredTo", "Message", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ThreadAction", "onCreateSpace", "resolve", "space", "rootCollection", "gen", "dispatch", "getCapability", "IntentDispatcher", "object", "collection", "createIntent", "CollectionAction", "CreateQueryCollection", "typename", "Type", "getTypename", "Channel", "objects", "push", "Ref", "make", "channel", "CreateChannel", "name", "spaceId", "id", "db", "add", "data", "CreateChannelThread", "thread", "Thread", "status", "threads", "Create", "anchor", "_anchor", "subject", "getSpace", "invariant", "state", "ThreadCapabilities", "MutableState", "subjectId", "Obj", "getDXN", "toString", "Relation", "AnchoredTo", "Source", "Target", "draft", "drafts", "intents", "Select", "current", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "ToggleResolved", "undefined", "ObservabilityAction", "SendEvent", "properties", "threadId", "Delete", "_thread", "undo", "getSource", "index", "findIndex", "a", "splice", "remove", "sleep", "undoable", "message", "ns", "meta", "AddMessage", "sender", "text", "Message", "created", "Date", "toISOString", "blocks", "_tag", "messages", "find", "filter", "SpaceAction", "AddObject", "target", "hidden", "AddRelation", "schema", "source", "fields", "threadLength", "length", "messageId", "messageLength", "DeleteMessage", "messageIndex", "hasObjectId"]
|
|
7
|
+
}
|