@dxos/plugin-attention 0.8.4-main.f9ba587 → 0.8.4-main.fd6878d
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/chunk-DF2PBRKK.mjs +12 -0
- package/dist/lib/browser/chunk-DF2PBRKK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-O6FNOKYX.mjs → chunk-LRNGQJHD.mjs} +4 -9
- package/dist/lib/browser/chunk-LRNGQJHD.mjs.map +7 -0
- package/dist/lib/browser/chunk-WOQAO42V.mjs +25 -0
- package/dist/lib/browser/chunk-WOQAO42V.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +13 -5
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-E7G6R755.mjs +51 -0
- package/dist/lib/browser/intent-resolver-E7G6R755.mjs.map +7 -0
- package/dist/lib/browser/{keyboard-IYF35Z4E.mjs → keyboard-JTQ2RGL7.mjs} +3 -2
- package/dist/lib/{node-esm/keyboard-GSUNGWNE.mjs.map → browser/keyboard-JTQ2RGL7.mjs.map} +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-context-JVGQB2CO.mjs → react-context-IUBFXFFZ.mjs} +5 -3
- package/dist/lib/browser/react-context-IUBFXFFZ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +8 -0
- package/dist/lib/browser/types/index.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SVV7GQYN.mjs → chunk-K3STXVKU.mjs} +4 -10
- package/dist/lib/node-esm/chunk-K3STXVKU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MS46IMND.mjs +26 -0
- package/dist/lib/node-esm/chunk-MS46IMND.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YUJM7ABN.mjs +14 -0
- package/dist/lib/node-esm/chunk-YUJM7ABN.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +13 -5
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-ELLJ67CV.mjs +52 -0
- package/dist/lib/node-esm/intent-resolver-ELLJ67CV.mjs.map +7 -0
- package/dist/lib/node-esm/{keyboard-GSUNGWNE.mjs → keyboard-S7SW6XBY.mjs} +3 -2
- package/dist/lib/{browser/keyboard-IYF35Z4E.mjs.map → node-esm/keyboard-S7SW6XBY.mjs.map} +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-context-SVXVOSRH.mjs → react-context-2RSEVMNC.mjs} +5 -3
- package/dist/lib/node-esm/react-context-2RSEVMNC.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +9 -0
- package/dist/lib/node-esm/types/index.mjs.map +7 -0
- package/dist/types/src/AttentionPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/keyboard.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +32 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -9
- package/src/AttentionPlugin.ts +7 -2
- package/src/capabilities/capabilities.ts +1 -1
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +43 -0
- package/src/capabilities/keyboard.ts +1 -1
- package/src/capabilities/react-context.tsx +2 -1
- package/src/types/index.ts +5 -0
- package/src/types/types.ts +21 -0
- package/dist/lib/browser/chunk-O6FNOKYX.mjs.map +0 -7
- package/dist/lib/browser/react-context-JVGQB2CO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SVV7GQYN.mjs.map +0 -7
- package/dist/lib/node-esm/react-context-SVXVOSRH.mjs.map +0 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-attention",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.fd6878d",
|
|
4
4
|
"description": "Plugin for attention",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -10,14 +10,25 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
+
"source": "./src/index.ts",
|
|
13
14
|
"types": "./dist/types/src/index.d.ts",
|
|
14
15
|
"browser": "./dist/lib/browser/index.mjs",
|
|
15
16
|
"node": "./dist/lib/node-esm/index.mjs"
|
|
17
|
+
},
|
|
18
|
+
"./types": {
|
|
19
|
+
"source": "./src/types/index.ts",
|
|
20
|
+
"types": "./dist/types/src/types/index.d.ts",
|
|
21
|
+
"browser": "./dist/lib/browser/types/index.mjs",
|
|
22
|
+
"node": "./dist/lib/node-esm/types/index.mjs"
|
|
16
23
|
}
|
|
17
24
|
},
|
|
18
25
|
"types": "dist/types/src/index.d.ts",
|
|
19
26
|
"typesVersions": {
|
|
20
|
-
"*": {
|
|
27
|
+
"*": {
|
|
28
|
+
"types": [
|
|
29
|
+
"dist/types/src/types/index.d.ts"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
21
32
|
},
|
|
22
33
|
"files": [
|
|
23
34
|
"dist",
|
|
@@ -26,13 +37,13 @@
|
|
|
26
37
|
"dependencies": {
|
|
27
38
|
"@preact-signals/safe-react": "^0.9.0",
|
|
28
39
|
"@preact/signals-core": "^1.9.0",
|
|
29
|
-
"effect": "3.
|
|
30
|
-
"@dxos/app-framework": "0.8.4-main.
|
|
31
|
-
"@dxos/echo
|
|
32
|
-
"@dxos/echo": "0.8.4-main.
|
|
33
|
-
"@dxos/echo-signals": "0.8.4-main.
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/
|
|
40
|
+
"effect": "3.17.7",
|
|
41
|
+
"@dxos/app-framework": "0.8.4-main.fd6878d",
|
|
42
|
+
"@dxos/echo": "0.8.4-main.fd6878d",
|
|
43
|
+
"@dxos/echo-schema": "0.8.4-main.fd6878d",
|
|
44
|
+
"@dxos/echo-signals": "0.8.4-main.fd6878d",
|
|
45
|
+
"@dxos/react-ui-attention": "0.8.4-main.fd6878d",
|
|
46
|
+
"@dxos/keyboard": "0.8.4-main.fd6878d"
|
|
36
47
|
},
|
|
37
48
|
"devDependencies": {
|
|
38
49
|
"@types/react": "~18.2.0",
|
package/src/AttentionPlugin.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Events, allOf, contributes, defineModule, definePlugin } from '@dxos/app-framework';
|
|
6
6
|
import { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';
|
|
7
7
|
|
|
8
|
-
import { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';
|
|
8
|
+
import { AttentionCapabilities, IntentResolver, Keyboard, ReactContext } from './capabilities';
|
|
9
9
|
import { AttentionEvents } from './events';
|
|
10
10
|
import { meta } from './meta';
|
|
11
11
|
|
|
@@ -35,6 +35,11 @@ export const AttentionPlugin = () =>
|
|
|
35
35
|
activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),
|
|
36
36
|
activate: Keyboard,
|
|
37
37
|
}),
|
|
38
|
+
defineModule({
|
|
39
|
+
id: `${meta.id}/module/intent-resolver`,
|
|
40
|
+
activatesOn: Events.SetupIntentResolver,
|
|
41
|
+
activate: IntentResolver,
|
|
42
|
+
}),
|
|
38
43
|
]);
|
|
39
44
|
|
|
40
45
|
const setupDevtools = (attention: AttentionManager) => {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { defineCapability } from '@dxos/app-framework';
|
|
6
|
-
import { type
|
|
6
|
+
import { type AttentionManager, type SelectionManager } from '@dxos/react-ui-attention';
|
|
7
7
|
|
|
8
8
|
import { ATTENTION_PLUGIN } from '../meta';
|
|
9
9
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Match } from 'effect';
|
|
6
|
+
|
|
7
|
+
import { Capabilities, type PluginContext, contributes, createResolver } from '@dxos/app-framework';
|
|
8
|
+
import { type Selection } from '@dxos/react-ui-attention';
|
|
9
|
+
|
|
10
|
+
import { AttentionAction } from '../types';
|
|
11
|
+
|
|
12
|
+
import { AttentionCapabilities } from './capabilities';
|
|
13
|
+
|
|
14
|
+
export default (context: PluginContext) =>
|
|
15
|
+
contributes(Capabilities.IntentResolver, [
|
|
16
|
+
createResolver({
|
|
17
|
+
intent: AttentionAction.Select,
|
|
18
|
+
resolve: (data) => {
|
|
19
|
+
const selection = context.getCapability(AttentionCapabilities.Selection);
|
|
20
|
+
Match.type<Selection>().pipe(
|
|
21
|
+
Match.when({ mode: 'single', id: undefined }, () => {
|
|
22
|
+
selection.clearSelection(data.contextId);
|
|
23
|
+
}),
|
|
24
|
+
Match.when({ mode: 'single' }, (s) => {
|
|
25
|
+
selection.updateSingle(data.contextId, s.id!);
|
|
26
|
+
}),
|
|
27
|
+
Match.when({ mode: 'multi' }, (s) => {
|
|
28
|
+
selection.updateMulti(data.contextId, s.ids);
|
|
29
|
+
}),
|
|
30
|
+
Match.when({ mode: 'range', from: undefined, to: undefined }, () => {
|
|
31
|
+
selection.clearSelection(data.contextId);
|
|
32
|
+
}),
|
|
33
|
+
Match.when({ mode: 'range' }, (s) => {
|
|
34
|
+
selection.updateRange(data.contextId, s.from!, s.to!);
|
|
35
|
+
}),
|
|
36
|
+
Match.when({ mode: 'multi-range' }, (s) => {
|
|
37
|
+
selection.updateMultiRange(data.contextId, s.ranges);
|
|
38
|
+
}),
|
|
39
|
+
Match.exhaustive,
|
|
40
|
+
)(data.selection);
|
|
41
|
+
},
|
|
42
|
+
}),
|
|
43
|
+
]);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { effect } from '@preact/signals-core';
|
|
6
6
|
import { Option } from 'effect';
|
|
7
7
|
|
|
8
|
-
import { Capabilities as AppCapabilities,
|
|
8
|
+
import { Capabilities as AppCapabilities, type PluginContext, contributes } from '@dxos/app-framework';
|
|
9
9
|
import { Keyboard } from '@dxos/keyboard';
|
|
10
10
|
|
|
11
11
|
import { AttentionCapabilities } from './capabilities';
|
|
@@ -7,9 +7,10 @@ import React, { type PropsWithChildren } from 'react';
|
|
|
7
7
|
import { Capabilities, contributes, useCapability } from '@dxos/app-framework';
|
|
8
8
|
import { RootAttentionProvider, SelectionProvider } from '@dxos/react-ui-attention';
|
|
9
9
|
|
|
10
|
-
import { AttentionCapabilities } from './capabilities';
|
|
11
10
|
import { ATTENTION_PLUGIN } from '../meta';
|
|
12
11
|
|
|
12
|
+
import { AttentionCapabilities } from './capabilities';
|
|
13
|
+
|
|
13
14
|
export default () =>
|
|
14
15
|
contributes(Capabilities.ReactContext, {
|
|
15
16
|
id: ATTENTION_PLUGIN,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Schema } from 'effect';
|
|
6
|
+
|
|
7
|
+
import { SelectionSchema } from '@dxos/react-ui-attention';
|
|
8
|
+
|
|
9
|
+
import { ATTENTION_PLUGIN } from '../meta';
|
|
10
|
+
|
|
11
|
+
export namespace AttentionAction {
|
|
12
|
+
const ATTENTION_ACTION = `${ATTENTION_PLUGIN}/action`;
|
|
13
|
+
|
|
14
|
+
export class Select extends Schema.TaggedClass<Select>()(`${ATTENTION_ACTION}/select`, {
|
|
15
|
+
input: Schema.Struct({
|
|
16
|
+
contextId: Schema.String,
|
|
17
|
+
selection: SelectionSchema,
|
|
18
|
+
}),
|
|
19
|
+
output: Schema.Void,
|
|
20
|
+
}) {}
|
|
21
|
+
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts", "../../../src/capabilities/capabilities.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const ATTENTION_PLUGIN = 'dxos.org/plugin/attention';\n\nexport const meta: PluginMeta = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';\n\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport namespace AttentionCapabilities {\n export const Attention = defineCapability<AttentionManager>(`${ATTENTION_PLUGIN}/capability/attention`);\n export const Selection = defineCapability<SelectionManager>(`${ATTENTION_PLUGIN}/capability/selection`);\n}\n"],
|
|
5
|
-
"mappings": ";AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;AACR;;;ACPA,SAASC,wBAAwB;UAKhBC,wBAAAA;yBACFC,YAAYC,iBAAmC,GAAGC,gBAAAA,uBAAuC;yBACzFC,YAAYF,iBAAmC,GAAGC,gBAAAA,uBAAuC;AACxG,GAHiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["ATTENTION_PLUGIN", "meta", "id", "name", "defineCapability", "AttentionCapabilities", "Attention", "defineCapability", "ATTENTION_PLUGIN", "Selection"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-context.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren } from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider, SelectionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\n const selection = useCapability(AttentionCapabilities.Selection);\n\n return (\n <RootAttentionProvider\n attention={attention}\n onChange={(nextAttended) => {\n // TODO(Zan): Workout why this was in deck plugin. It didn't seem to work?\n // if (layout.values.scrollIntoView && nextAttended.has(layout.values.scrollIntoView)) {\n // layout.values.scrollIntoView = undefined;\n // }\n }}\n >\n <SelectionProvider selection={selection}>{props.children}</SelectionProvider>\n </RootAttentionProvider>\n );\n },\n });\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,uBAAuBC,yBAAyB;AAKzD,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,YAAYC,cAAcC,sBAAsBC,SAAS;AAC/D,UAAMC,YAAYH,cAAcC,sBAAsBG,SAAS;AAE/D,WACE,sBAAA,cAACC,uBAAAA;MACCN;MACAO,UAAU,CAACC,iBAAAA;MAKX;OAEA,sBAAA,cAACC,mBAAAA;MAAkBL;OAAuBL,MAAMW,QAAQ,CAAA;EAG9D;AACF,CAAA;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "useCapability", "RootAttentionProvider", "SelectionProvider", "contributes", "Capabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "selection", "Selection", "RootAttentionProvider", "onChange", "nextAttended", "SelectionProvider", "children"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts", "../../../src/capabilities/capabilities.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const ATTENTION_PLUGIN = 'dxos.org/plugin/attention';\n\nexport const meta: PluginMeta = {\n id: ATTENTION_PLUGIN,\n name: 'Attention',\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type SelectionManager, type AttentionManager } from '@dxos/react-ui-attention';\n\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport namespace AttentionCapabilities {\n export const Attention = defineCapability<AttentionManager>(`${ATTENTION_PLUGIN}/capability/attention`);\n export const Selection = defineCapability<SelectionManager>(`${ATTENTION_PLUGIN}/capability/selection`);\n}\n"],
|
|
5
|
-
"mappings": ";;;AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;AACR;;;ACPA,SAASC,wBAAwB;UAKhBC,wBAAAA;yBACFC,YAAYC,iBAAmC,GAAGC,gBAAAA,uBAAuC;yBACzFC,YAAYF,iBAAmC,GAAGC,gBAAAA,uBAAuC;AACxG,GAHiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["ATTENTION_PLUGIN", "meta", "id", "name", "defineCapability", "AttentionCapabilities", "Attention", "defineCapability", "ATTENTION_PLUGIN", "Selection"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/react-context.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren } from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\nimport { RootAttentionProvider, SelectionProvider } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities } from './capabilities';\nimport { ATTENTION_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactContext, {\n id: ATTENTION_PLUGIN,\n context: (props: PropsWithChildren) => {\n const attention = useCapability(AttentionCapabilities.Attention);\n const selection = useCapability(AttentionCapabilities.Selection);\n\n return (\n <RootAttentionProvider\n attention={attention}\n onChange={(nextAttended) => {\n // TODO(Zan): Workout why this was in deck plugin. It didn't seem to work?\n // if (layout.values.scrollIntoView && nextAttended.has(layout.values.scrollIntoView)) {\n // layout.values.scrollIntoView = undefined;\n // }\n }}\n >\n <SelectionProvider selection={selection}>{props.children}</SelectionProvider>\n </RootAttentionProvider>\n );\n },\n });\n"],
|
|
5
|
-
"mappings": ";;;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,uBAAuBC,yBAAyB;AAKzD,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,YAAYC,cAAcC,sBAAsBC,SAAS;AAC/D,UAAMC,YAAYH,cAAcC,sBAAsBG,SAAS;AAE/D,WACE,sBAAA,cAACC,uBAAAA;MACCN;MACAO,UAAU,CAACC,iBAAAA;MAKX;OAEA,sBAAA,cAACC,mBAAAA;MAAkBL;OAAuBL,MAAMW,QAAQ,CAAA;EAG9D;AACF,CAAA;",
|
|
6
|
-
"names": ["React", "Capabilities", "contributes", "useCapability", "RootAttentionProvider", "SelectionProvider", "contributes", "Capabilities", "ReactContext", "id", "ATTENTION_PLUGIN", "context", "props", "attention", "useCapability", "AttentionCapabilities", "Attention", "selection", "Selection", "RootAttentionProvider", "onChange", "nextAttended", "SelectionProvider", "children"]
|
|
7
|
-
}
|