@dxos/plugin-attention 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446

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.
@@ -13,7 +13,7 @@ import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
13
13
 
14
14
  // packages/plugins/plugin-attention/src/capabilities/index.ts
15
15
  import { lazy } from "@dxos/app-framework";
16
- var Keyboard = lazy(() => import("./keyboard-KJJH3JVC.mjs"));
16
+ var Keyboard = lazy(() => import("./keyboard-DPVVM7BE.mjs"));
17
17
  var ReactContext = lazy(() => import("./react-context-7CSC5VJJ.mjs"));
18
18
 
19
19
  // packages/plugins/plugin-attention/src/events.ts
@@ -55,9 +55,6 @@ var AttentionPlugin = () => definePlugin(meta, [
55
55
  var setupDevtools = (attention) => {
56
56
  globalThis.composer ??= {};
57
57
  globalThis.composer.attention = {
58
- get manager() {
59
- return attention;
60
- },
61
58
  get attended() {
62
59
  return attention.current;
63
60
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts", "../../../src/AttentionPlugin.ts", "../../../src/capabilities/index.ts", "../../../src/events.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get manager() {\n return attention;\n },\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
5
- "mappings": ";;;;;;;AAIA,cAAc;;;ACAd,SAASA,cAAcC,cAAcC,QAAQC,aAAaC,aAAa;AACvE,SAASC,kBAAkBC,wBAAwB;;;ACDnD,SAASC,YAAY;AAEd,IAAMC,WAAWC,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,mBAAmB;;UAIXC,kBAAAA;mBACFC,iBAAiBC,YAAY,GAAGC,gBAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;;;AFGV,IAAMI,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,gBAAgB;MAACC,gBAAgBC;;IACjCC,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,iBAAAA;AACtB,YAAMC,YAAY,IAAIC,iBAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;QACLK,YAAYC,sBAAsBC,WAAWP,SAAAA;QAC7CK,YAAYC,sBAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUU;EACZ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,MAAMhB,OAAOiB,eAAed,gBAAgBC,cAAc;IACvEC,UAAUa;EACZ,CAAA;CACD;AAEH,IAAMR,gBAAgB,CAACJ,cAAAA;AACpBa,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASd,YAAY;IACvC,IAAIe,UAAU;AACZ,aAAOf;IACT;IACA,IAAIgB,WAAW;AACb,aAAOhB,UAAUiB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAW1B,MAAMQ,UAAUiB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY5B,GAAG6B,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
- "names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "SelectionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "manager", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
5
+ "mappings": ";;;;;;;AAIA,cAAc;;;ACAd,SAASA,cAAcC,cAAcC,QAAQC,aAAaC,aAAa;AACvE,SAASC,kBAAkBC,wBAAwB;;;ACDnD,SAASC,YAAY;AAEd,IAAMC,WAAWC,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,mBAAmB;;UAIXC,kBAAAA;mBACFC,iBAAiBC,YAAY,GAAGC,gBAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;;;AFGV,IAAMI,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,gBAAgB;MAACC,gBAAgBC;;IACjCC,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,iBAAAA;AACtB,YAAMC,YAAY,IAAIC,iBAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;QACLK,YAAYC,sBAAsBC,WAAWP,SAAAA;QAC7CK,YAAYC,sBAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUU;EACZ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,MAAMhB,OAAOiB,eAAed,gBAAgBC,cAAc;IACvEC,UAAUa;EACZ,CAAA;CACD;AAEH,IAAMR,gBAAgB,CAACJ,cAAAA;AACpBa,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASd,YAAY;IACvC,IAAIe,WAAW;AACb,aAAOf,UAAUgB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWzB,MAAMQ,UAAUgB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY3B,GAAG4B,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
+ "names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "SelectionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
7
7
  }
@@ -4,17 +4,16 @@ import {
4
4
 
5
5
  // packages/plugins/plugin-attention/src/capabilities/keyboard.ts
6
6
  import { effect } from "@preact/signals-core";
7
- import { Option } from "effect";
8
7
  import { Capabilities as AppCapabilities, contributes } from "@dxos/app-framework";
9
8
  import { Keyboard } from "@dxos/keyboard";
10
9
  var keyboard_default = (context) => {
11
- const { graph } = context.getCapability(AppCapabilities.AppGraph);
12
- const attention = context.getCapability(AttentionCapabilities.Attention);
10
+ const { graph } = context.requestCapability(AppCapabilities.AppGraph);
11
+ const attention = context.requestCapability(AttentionCapabilities.Attention);
13
12
  const unsubscribe = effect(() => {
14
13
  const id = Array.from(attention.current)[0];
15
14
  const path = id && graph.getPath({
16
15
  target: id
17
- }).pipe(Option.getOrNull);
16
+ });
18
17
  if (path) {
19
18
  Keyboard.singleton.setCurrentContext(path.join("/"));
20
19
  }
@@ -24,4 +23,4 @@ var keyboard_default = (context) => {
24
23
  export {
25
24
  keyboard_default as default
26
25
  };
27
- //# sourceMappingURL=keyboard-KJJH3JVC.mjs.map
26
+ //# sourceMappingURL=keyboard-DPVVM7BE.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/keyboard.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginsContext) => {\n const { graph } = context.requestCapability(AppCapabilities.AppGraph);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id });\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,gBAAgBC,iBAAiBC,mBAAwC;AAClF,SAASC,gBAAgB;AAIzB,IAAA,mBAAe,CAACC,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,kBAAkBC,gBAAgBC,QAAQ;AACpE,QAAMC,YAAYL,QAAQE,kBAAkBI,sBAAsBC,SAAS;AAE3E,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA;AAC9C,QAAII,MAAM;AACRG,eAASC,UAAUC,kBAAkBL,KAAKM,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,SAAOC,YAAYlB,gBAAgBmB,MAAM,MAAM,MAAMd,YAAAA,CAAAA;AACvD;",
6
+ "names": ["effect", "Capabilities", "AppCapabilities", "contributes", "Keyboard", "context", "graph", "requestCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":998,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3592,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6892,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4622},"packages/plugins/plugin-attention/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/dist/lib/browser/keyboard-KJJH3JVC.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/browser/react-context-7CSC5VJJ.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1435},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2415},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-KJJH3JVC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1909},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-KJJH3JVC.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":725}},"bytes":945},"packages/plugins/plugin-attention/dist/lib/browser/react-context-7CSC5VJJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"packages/plugins/plugin-attention/dist/lib/browser/react-context-7CSC5VJJ.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":957},"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1279},"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":717}}}
1
+ {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":998,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6694,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4523},"packages/plugins/plugin-attention/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/dist/lib/browser/keyboard-DPVVM7BE.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/browser/react-context-7CSC5VJJ.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1384},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2364},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-DPVVM7BE.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1788},"packages/plugins/plugin-attention/dist/lib/browser/keyboard-DPVVM7BE.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":897},"packages/plugins/plugin-attention/dist/lib/browser/react-context-7CSC5VJJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"packages/plugins/plugin-attention/dist/lib/browser/react-context-7CSC5VJJ.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":957},"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1279},"packages/plugins/plugin-attention/dist/lib/browser/chunk-O6R4L45T.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":717}}}
@@ -42,7 +42,7 @@ var import_app_framework = require("@dxos/app-framework");
42
42
  var import_react_ui_attention = require("@dxos/react-ui-attention");
43
43
  var import_app_framework2 = require("@dxos/app-framework");
44
44
  var import_app_framework3 = require("@dxos/app-framework");
45
- var Keyboard = (0, import_app_framework2.lazy)(() => import("./keyboard-DZPPBEDL.cjs"));
45
+ var Keyboard = (0, import_app_framework2.lazy)(() => import("./keyboard-GV34V67E.cjs"));
46
46
  var ReactContext = (0, import_app_framework2.lazy)(() => import("./react-context-ORZPV7VF.cjs"));
47
47
  var AttentionEvents;
48
48
  (function(AttentionEvents2) {
@@ -79,9 +79,6 @@ var AttentionPlugin = () => (0, import_app_framework.definePlugin)(import_chunk_
79
79
  var setupDevtools = (attention) => {
80
80
  globalThis.composer ??= {};
81
81
  globalThis.composer.attention = {
82
- get manager() {
83
- return attention;
84
- },
85
82
  get attended() {
86
83
  return attention.current;
87
84
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts", "../../../src/AttentionPlugin.ts", "../../../src/capabilities/index.ts", "../../../src/events.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get manager() {\n return attention;\n },\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAc;ACAd,2BAAuE;AACvE,gCAAmD;ACDnD,IAAAA,wBAAqB;ACArB,IAAAA,wBAA4B;ADErB,IAAMC,eAAWC,4BAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,mBAAeD,4BAAK,MAAM,OAAO,8BAAA,CAAA;;UCC7BE,kBAAAA;mBACFC,qBAAiBC,mCAAY,GAAGC,sCAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AFGV,IAAMI,kBAAkB,UAC7BC,mCAAaC,4BAAM;MACjBC,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBC,gBAAgB;MAACZ,gBAAgBC;;IACjCY,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,2CAAAA;AACtB,YAAMC,YAAY,IAAIC,2CAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;YACLK,kCAAYC,4CAAsBC,WAAWP,SAAAA;YAC7CK,kCAAYC,4CAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;MACAT,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBE,UAAUd;EACZ,CAAA;MACAQ,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,iBAAac,4BAAMb,4BAAOc,eAAexB,gBAAgBC,cAAc;IACvEY,UAAUhB;EACZ,CAAA;CACD;AAEH,IAAMqB,gBAAgB,CAACJ,cAAAA;AACpBW,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASZ,YAAY;IACvC,IAAIa,UAAU;AACZ,aAAOb;IACT;IACA,IAAIc,WAAW;AACb,aAAOd,UAAUe;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWtB,MAAMM,UAAUe,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAYxB,GAAGyB,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
- "names": ["import_app_framework", "Keyboard", "lazy", "ReactContext", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "allOf", "AppGraphReady", "globalThis", "composer", "manager", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAc;ACAd,2BAAuE;AACvE,gCAAmD;ACDnD,IAAAA,wBAAqB;ACArB,IAAAA,wBAA4B;ADErB,IAAMC,eAAWC,4BAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,mBAAeD,4BAAK,MAAM,OAAO,8BAAA,CAAA;;UCC7BE,kBAAAA;mBACFC,qBAAiBC,mCAAY,GAAGC,sCAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;AFGV,IAAMI,kBAAkB,UAC7BC,mCAAaC,4BAAM;MACjBC,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBC,gBAAgB;MAACZ,gBAAgBC;;IACjCY,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,2CAAAA;AACtB,YAAMC,YAAY,IAAIC,2CAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;YACLK,kCAAYC,4CAAsBC,WAAWP,SAAAA;YAC7CK,kCAAYC,4CAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;MACAT,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,aAAaC,4BAAOC;IACpBE,UAAUd;EACZ,CAAA;MACAQ,mCAAa;IACXC,IAAI,GAAGF,2BAAKE,EAAE;IACdC,iBAAac,4BAAMb,4BAAOc,eAAexB,gBAAgBC,cAAc;IACvEY,UAAUhB;EACZ,CAAA;CACD;AAEH,IAAMqB,gBAAgB,CAACJ,cAAAA;AACpBW,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASZ,YAAY;IACvC,IAAIa,WAAW;AACb,aAAOb,UAAUc;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWrB,MAAMM,UAAUc,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAYvB,GAAGwB,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
+ "names": ["import_app_framework", "Keyboard", "lazy", "ReactContext", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "allOf", "AppGraphReady", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
7
7
  }
@@ -16,28 +16,27 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var keyboard_DZPPBEDL_exports = {};
20
- __export(keyboard_DZPPBEDL_exports, {
19
+ var keyboard_GV34V67E_exports = {};
20
+ __export(keyboard_GV34V67E_exports, {
21
21
  default: () => keyboard_default
22
22
  });
23
- module.exports = __toCommonJS(keyboard_DZPPBEDL_exports);
23
+ module.exports = __toCommonJS(keyboard_GV34V67E_exports);
24
24
  var import_chunk_AWJB3GDK = require("./chunk-AWJB3GDK.cjs");
25
25
  var import_signals_core = require("@preact/signals-core");
26
- var import_effect = require("effect");
27
26
  var import_app_framework = require("@dxos/app-framework");
28
27
  var import_keyboard = require("@dxos/keyboard");
29
28
  var keyboard_default = (context) => {
30
- const { graph } = context.getCapability(import_app_framework.Capabilities.AppGraph);
31
- const attention = context.getCapability(import_chunk_AWJB3GDK.AttentionCapabilities.Attention);
29
+ const { graph } = context.requestCapability(import_app_framework.Capabilities.AppGraph);
30
+ const attention = context.requestCapability(import_chunk_AWJB3GDK.AttentionCapabilities.Attention);
32
31
  const unsubscribe = (0, import_signals_core.effect)(() => {
33
32
  const id = Array.from(attention.current)[0];
34
33
  const path = id && graph.getPath({
35
34
  target: id
36
- }).pipe(import_effect.Option.getOrNull);
35
+ });
37
36
  if (path) {
38
37
  import_keyboard.Keyboard.singleton.setCurrentContext(path.join("/"));
39
38
  }
40
39
  });
41
40
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null, () => unsubscribe());
42
41
  };
43
- //# sourceMappingURL=keyboard-DZPPBEDL.cjs.map
42
+ //# sourceMappingURL=keyboard-GV34V67E.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/keyboard.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginsContext) => {\n const { graph } = context.requestCapability(AppCapabilities.AppGraph);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id });\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,0BAAuB;AAEvB,2BAAkF;AAClF,sBAAyB;AAIzB,IAAA,mBAAe,CAACA,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,kBAAkBC,qBAAAA,aAAgBC,QAAQ;AACpE,QAAMC,YAAYL,QAAQE,kBAAkBI,4CAAsBC,SAAS;AAE3E,QAAMC,kBAAcC,4BAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA;AAC9C,QAAII,MAAM;AACRG,+BAASC,UAAUC,kBAAkBL,KAAKM,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,aAAOC,kCAAYlB,qBAAAA,aAAgBmB,MAAM,MAAM,MAAMd,YAAAA,CAAAA;AACvD;",
6
+ "names": ["context", "graph", "requestCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":998,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3592,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6892,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4622},"packages/plugins/plugin-attention/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/dist/lib/node/keyboard-DZPPBEDL.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node/react-context-ORZPV7VF.cjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1435},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2415},"packages/plugins/plugin-attention/dist/lib/node/keyboard-DZPPBEDL.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1909},"packages/plugins/plugin-attention/dist/lib/node/keyboard-DZPPBEDL.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":725}},"bytes":945},"packages/plugins/plugin-attention/dist/lib/node/react-context-ORZPV7VF.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"packages/plugins/plugin-attention/dist/lib/node/react-context-ORZPV7VF.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":957},"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1279},"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":717}}}
1
+ {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":998,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6694,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4523},"packages/plugins/plugin-attention/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/dist/lib/node/keyboard-GV34V67E.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node/react-context-ORZPV7VF.cjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1384},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2364},"packages/plugins/plugin-attention/dist/lib/node/keyboard-GV34V67E.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1788},"packages/plugins/plugin-attention/dist/lib/node/keyboard-GV34V67E.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":897},"packages/plugins/plugin-attention/dist/lib/node/react-context-ORZPV7VF.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2098},"packages/plugins/plugin-attention/dist/lib/node/react-context-ORZPV7VF.cjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":957},"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1279},"packages/plugins/plugin-attention/dist/lib/node/chunk-AWJB3GDK.cjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":717}}}
@@ -14,7 +14,7 @@ import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
14
14
 
15
15
  // packages/plugins/plugin-attention/src/capabilities/index.ts
16
16
  import { lazy } from "@dxos/app-framework";
17
- var Keyboard = lazy(() => import("./keyboard-2DDF3W26.mjs"));
17
+ var Keyboard = lazy(() => import("./keyboard-PD77F6NJ.mjs"));
18
18
  var ReactContext = lazy(() => import("./react-context-GF3OZ7VY.mjs"));
19
19
 
20
20
  // packages/plugins/plugin-attention/src/events.ts
@@ -56,9 +56,6 @@ var AttentionPlugin = () => definePlugin(meta, [
56
56
  var setupDevtools = (attention) => {
57
57
  globalThis.composer ??= {};
58
58
  globalThis.composer.attention = {
59
- get manager() {
60
- return attention;
61
- },
62
59
  get attended() {
63
60
  return attention.current;
64
61
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts", "../../../src/AttentionPlugin.ts", "../../../src/capabilities/index.ts", "../../../src/events.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get manager() {\n return attention;\n },\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
5
- "mappings": ";;;;;;;;AAIA,cAAc;;;ACAd,SAASA,cAAcC,cAAcC,QAAQC,aAAaC,aAAa;AACvE,SAASC,kBAAkBC,wBAAwB;;;ACDnD,SAASC,YAAY;AAEd,IAAMC,WAAWC,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,mBAAmB;;UAIXC,kBAAAA;mBACFC,iBAAiBC,YAAY,GAAGC,gBAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;;;AFGV,IAAMI,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,gBAAgB;MAACC,gBAAgBC;;IACjCC,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,iBAAAA;AACtB,YAAMC,YAAY,IAAIC,iBAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;QACLK,YAAYC,sBAAsBC,WAAWP,SAAAA;QAC7CK,YAAYC,sBAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUU;EACZ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,MAAMhB,OAAOiB,eAAed,gBAAgBC,cAAc;IACvEC,UAAUa;EACZ,CAAA;CACD;AAEH,IAAMR,gBAAgB,CAACJ,cAAAA;AACpBa,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASd,YAAY;IACvC,IAAIe,UAAU;AACZ,aAAOf;IACT;IACA,IAAIgB,WAAW;AACb,aAAOhB,UAAUiB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAW1B,MAAMQ,UAAUiB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY5B,GAAG6B,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
- "names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "SelectionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "manager", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@dxos/react-ui-attention';\n\nexport * from './AttentionPlugin';\nexport { AttentionCapabilities } from './capabilities';\nexport * from './events';\nexport * from './meta';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineModule, definePlugin, Events, contributes, allOf } from '@dxos/app-framework';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { AttentionCapabilities, Keyboard, ReactContext } from './capabilities';\nimport { AttentionEvents } from './events';\nimport { meta } from './meta';\n\nexport const AttentionPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/attention`,\n activatesOn: Events.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () => {\n const attention = new AttentionManager();\n const selection = new SelectionManager();\n setupDevtools(attention);\n return [\n contributes(AttentionCapabilities.Attention, attention),\n contributes(AttentionCapabilities.Selection, selection),\n ];\n },\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/keyboard`,\n activatesOn: allOf(Events.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n ]);\n\nconst setupDevtools = (attention: AttentionManager) => {\n (globalThis as any).composer ??= {};\n\n (globalThis as any).composer.attention = {\n get attended() {\n return attention.current;\n },\n get currentSpace() {\n for (const id of attention.current) {\n const [spaceId, objectId] = id.split(':');\n if (spaceId && objectId && spaceId.length === 33) {\n return spaceId;\n }\n }\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const Keyboard = lazy(() => import('./keyboard'));\nexport const ReactContext = lazy(() => import('./react-context'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { ATTENTION_PLUGIN } from './meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = defineEvent(`${ATTENTION_PLUGIN}/event/attention-ready`);\n}\n"],
5
+ "mappings": ";;;;;;;;AAIA,cAAc;;;ACAd,SAASA,cAAcC,cAAcC,QAAQC,aAAaC,aAAa;AACvE,SAASC,kBAAkBC,wBAAwB;;;ACDnD,SAASC,YAAY;AAEd,IAAMC,WAAWC,KAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,mBAAmB;;UAIXC,kBAAAA;mBACFC,iBAAiBC,YAAY,GAAGC,gBAAAA,wBAAwC;AACvF,GAFiBH,oBAAAA,kBAAAA,CAAAA,EAAAA;;;AFGV,IAAMI,kBAAkB,MAC7BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,gBAAgB;MAACC,gBAAgBC;;IACjCC,UAAU,MAAA;AACR,YAAMC,YAAY,IAAIC,iBAAAA;AACtB,YAAMC,YAAY,IAAIC,iBAAAA;AACtBC,oBAAcJ,SAAAA;AACd,aAAO;QACLK,YAAYC,sBAAsBC,WAAWP,SAAAA;QAC7CK,YAAYC,sBAAsBE,WAAWN,SAAAA;;IAEjD;EACF,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBI,UAAUU;EACZ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,MAAMhB,OAAOiB,eAAed,gBAAgBC,cAAc;IACvEC,UAAUa;EACZ,CAAA;CACD;AAEH,IAAMR,gBAAgB,CAACJ,cAAAA;AACpBa,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASd,YAAY;IACvC,IAAIe,WAAW;AACb,aAAOf,UAAUgB;IACnB;IACA,IAAIC,eAAe;AACjB,iBAAWzB,MAAMQ,UAAUgB,SAAS;AAClC,cAAM,CAACE,SAASC,QAAAA,IAAY3B,GAAG4B,MAAM,GAAA;AACrC,YAAIF,WAAWC,YAAYD,QAAQG,WAAW,IAAI;AAChD,iBAAOH;QACT;MACF;IACF;EACF;AACF;",
6
+ "names": ["defineModule", "definePlugin", "Events", "contributes", "allOf", "AttentionManager", "SelectionManager", "lazy", "Keyboard", "lazy", "ReactContext", "defineEvent", "AttentionEvents", "AttentionReady", "defineEvent", "ATTENTION_PLUGIN", "AttentionPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "activate", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "allOf", "AppGraphReady", "Keyboard", "globalThis", "composer", "attended", "current", "currentSpace", "spaceId", "objectId", "split", "length"]
7
7
  }
@@ -5,17 +5,16 @@ import {
5
5
 
6
6
  // packages/plugins/plugin-attention/src/capabilities/keyboard.ts
7
7
  import { effect } from "@preact/signals-core";
8
- import { Option } from "effect";
9
8
  import { Capabilities as AppCapabilities, contributes } from "@dxos/app-framework";
10
9
  import { Keyboard } from "@dxos/keyboard";
11
10
  var keyboard_default = (context) => {
12
- const { graph } = context.getCapability(AppCapabilities.AppGraph);
13
- const attention = context.getCapability(AttentionCapabilities.Attention);
11
+ const { graph } = context.requestCapability(AppCapabilities.AppGraph);
12
+ const attention = context.requestCapability(AttentionCapabilities.Attention);
14
13
  const unsubscribe = effect(() => {
15
14
  const id = Array.from(attention.current)[0];
16
15
  const path = id && graph.getPath({
17
16
  target: id
18
- }).pipe(Option.getOrNull);
17
+ });
19
18
  if (path) {
20
19
  Keyboard.singleton.setCurrentContext(path.join("/"));
21
20
  }
@@ -25,4 +24,4 @@ var keyboard_default = (context) => {
25
24
  export {
26
25
  keyboard_default as default
27
26
  };
28
- //# sourceMappingURL=keyboard-2DDF3W26.mjs.map
27
+ //# sourceMappingURL=keyboard-PD77F6NJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/keyboard.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginsContext) => {\n const { graph } = context.requestCapability(AppCapabilities.AppGraph);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id });\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,gBAAgBC,iBAAiBC,mBAAwC;AAClF,SAASC,gBAAgB;AAIzB,IAAA,mBAAe,CAACC,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,kBAAkBC,gBAAgBC,QAAQ;AACpE,QAAMC,YAAYL,QAAQE,kBAAkBI,sBAAsBC,SAAS;AAE3E,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA;AAC9C,QAAII,MAAM;AACRG,eAASC,UAAUC,kBAAkBL,KAAKM,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,SAAOC,YAAYlB,gBAAgBmB,MAAM,MAAM,MAAMd,YAAAA,CAAAA;AACvD;",
6
+ "names": ["effect", "Capabilities", "AppCapabilities", "contributes", "Keyboard", "context", "graph", "requestCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":998,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3592,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6892,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4623},"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-2DDF3W26.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-GF3OZ7VY.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1435},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2507},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-2DDF3W26.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1910},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-2DDF3W26.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":725}},"bytes":1037},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-GF3OZ7VY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2099},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-GF3OZ7VY.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":1049},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1281},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":810}}}
1
+ {"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytes":998,"imports":[],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytes":1857,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytes":3380,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytes":4255,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytes":1147,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","kind":"dynamic-import","original":"./keyboard"},{"path":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"}],"format":"esm"},"packages/plugins/plugin-attention/src/events.ts":{"bytes":1295,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytes":6694,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-attention/src/index.ts":{"bytes":1020,"imports":[{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"packages/plugins/plugin-attention/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-attention/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-attention/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4524},"packages/plugins/plugin-attention/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs","kind":"import-statement"},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-PD77F6NJ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-GF3OZ7VY.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","AttentionEvents","AttentionPlugin","meta"],"entryPoint":"packages/plugins/plugin-attention/src/index.ts","inputs":{"packages/plugins/plugin-attention/src/index.ts":{"bytesInOutput":42},"packages/plugins/plugin-attention/src/AttentionPlugin.ts":{"bytesInOutput":1384},"packages/plugins/plugin-attention/src/capabilities/index.ts":{"bytesInOutput":177},"packages/plugins/plugin-attention/src/events.ts":{"bytesInOutput":243}},"bytes":2456},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-PD77F6NJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1789},"packages/plugins/plugin-attention/dist/lib/node-esm/keyboard-PD77F6NJ.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keyboard","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/keyboard.ts","inputs":{"packages/plugins/plugin-attention/src/capabilities/keyboard.ts":{"bytesInOutput":677}},"bytes":989},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-GF3OZ7VY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2099},"packages/plugins/plugin-attention/dist/lib/node-esm/react-context-GF3OZ7VY.mjs":{"imports":[{"path":"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-attention/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-attention/src/capabilities/react-context.tsx":{"bytesInOutput":701}},"bytes":1049},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1281},"packages/plugins/plugin-attention/dist/lib/node-esm/chunk-4ZVB5TSA.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ATTENTION_PLUGIN","AttentionCapabilities","meta"],"inputs":{"packages/plugins/plugin-attention/src/meta.ts":{"bytesInOutput":112},"packages/plugins/plugin-attention/src/capabilities/capabilities.ts":{"bytesInOutput":376}},"bytes":810}}}
@@ -1,4 +1,4 @@
1
- export declare const Keyboard: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<null> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const Keyboard: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<null> | import("@dxos/app-framework").AnyCapability[]>>;
2
2
  export declare const ReactContext: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
3
3
  id: string;
4
4
  dependsOn?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,6LAAmC,CAAC;AACzD,eAAO,MAAM,YAAY;;;;qDAAwC,CAAC;AAElE,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,8LAAmC,CAAC;AACzD,eAAO,MAAM,YAAY;;;;qDAAwC,CAAC;AAElE,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type PluginContext } from '@dxos/app-framework';
2
- declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<null>;
1
+ import { type PluginsContext } from '@dxos/app-framework';
2
+ declare const _default: (context: PluginsContext) => import("@dxos/app-framework").Capability<null>;
3
3
  export default _default;
4
4
  //# sourceMappingURL=keyboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/keyboard.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgD,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBAKvF,SAAS,aAAa;AAAtC,wBAaE"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/keyboard.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgD,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;kCAK/E,cAAc;AAAvC,wBAaE"}
@@ -1 +1 @@
1
- {"version":"5.8.3"}
1
+ {"version":"5.7.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-attention",
3
- "version": "0.8.2-main.fbd8ed0",
3
+ "version": "0.8.2-staging.7ac8446",
4
4
  "description": "Plugin for attention",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -25,13 +25,11 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "@preact/signals-core": "^1.6.0",
28
- "effect": "3.14.21",
29
- "@dxos/app-framework": "0.8.2-main.fbd8ed0",
30
- "@dxos/echo-schema": "0.8.2-main.fbd8ed0",
31
- "@dxos/echo": "0.8.2-main.fbd8ed0",
32
- "@dxos/echo-signals": "0.8.2-main.fbd8ed0",
33
- "@dxos/keyboard": "0.8.2-main.fbd8ed0",
34
- "@dxos/react-ui-attention": "0.8.2-main.fbd8ed0"
28
+ "@dxos/app-framework": "0.8.2-staging.7ac8446",
29
+ "@dxos/echo-schema": "0.8.2-staging.7ac8446",
30
+ "@dxos/keyboard": "0.8.2-staging.7ac8446",
31
+ "@dxos/echo-signals": "0.8.2-staging.7ac8446",
32
+ "@dxos/react-ui-attention": "0.8.2-staging.7ac8446"
35
33
  },
36
34
  "devDependencies": {
37
35
  "@types/react": "~18.2.0",
@@ -39,7 +37,6 @@
39
37
  "react-dom": "~18.2.0"
40
38
  },
41
39
  "peerDependencies": {
42
- "effect": "^3.13.3",
43
40
  "react": "~18.2.0",
44
41
  "react-dom": "~18.2.0"
45
42
  },
@@ -41,9 +41,6 @@ const setupDevtools = (attention: AttentionManager) => {
41
41
  (globalThis as any).composer ??= {};
42
42
 
43
43
  (globalThis as any).composer.attention = {
44
- get manager() {
45
- return attention;
46
- },
47
44
  get attended() {
48
45
  return attention.current;
49
46
  },
@@ -3,20 +3,19 @@
3
3
  //
4
4
 
5
5
  import { effect } from '@preact/signals-core';
6
- import { Option } from 'effect';
7
6
 
8
- import { Capabilities as AppCapabilities, contributes, type PluginContext } from '@dxos/app-framework';
7
+ import { Capabilities as AppCapabilities, contributes, type PluginsContext } from '@dxos/app-framework';
9
8
  import { Keyboard } from '@dxos/keyboard';
10
9
 
11
10
  import { AttentionCapabilities } from './capabilities';
12
11
 
13
- export default (context: PluginContext) => {
14
- const { graph } = context.getCapability(AppCapabilities.AppGraph);
15
- const attention = context.getCapability(AttentionCapabilities.Attention);
12
+ export default (context: PluginsContext) => {
13
+ const { graph } = context.requestCapability(AppCapabilities.AppGraph);
14
+ const attention = context.requestCapability(AttentionCapabilities.Attention);
16
15
 
17
16
  const unsubscribe = effect(() => {
18
17
  const id = Array.from(attention.current)[0];
19
- const path = id && graph.getPath({ target: id }).pipe(Option.getOrNull);
18
+ const path = id && graph.getPath({ target: id });
20
19
  if (path) {
21
20
  Keyboard.singleton.setCurrentContext(path.join('/'));
22
21
  }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/keyboard.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { Option } from 'effect';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const { graph } = context.getCapability(AppCapabilities.AppGraph);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id }).pipe(Option.getOrNull);\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
5
- "mappings": ";;;;;AAIA,SAASA,cAAc;AACvB,SAASC,cAAc;AAEvB,SAASC,gBAAgBC,iBAAiBC,mBAAuC;AACjF,SAASC,gBAAgB;AAIzB,IAAA,mBAAe,CAACC,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,cAAcC,gBAAgBC,QAAQ;AAChE,QAAMC,YAAYL,QAAQE,cAAcI,sBAAsBC,SAAS;AAEvE,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA,EAAGO,KAAKC,OAAOC,SAAS;AACtE,QAAIL,MAAM;AACRM,eAASC,UAAUC,kBAAkBR,KAAKS,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,SAAOC,YAAYrB,gBAAgBsB,MAAM,MAAM,MAAMjB,YAAAA,CAAAA;AACvD;",
6
- "names": ["effect", "Option", "Capabilities", "AppCapabilities", "contributes", "Keyboard", "context", "graph", "getCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "pipe", "Option", "getOrNull", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/keyboard.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { Option } from 'effect';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const { graph } = context.getCapability(AppCapabilities.AppGraph);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id }).pipe(Option.getOrNull);\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,0BAAuB;AACvB,oBAAuB;AAEvB,2BAAiF;AACjF,sBAAyB;AAIzB,IAAA,mBAAe,CAACA,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,cAAcC,qBAAAA,aAAgBC,QAAQ;AAChE,QAAMC,YAAYL,QAAQE,cAAcI,4CAAsBC,SAAS;AAEvE,QAAMC,kBAAcC,4BAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA,EAAGO,KAAKC,qBAAOC,SAAS;AACtE,QAAIL,MAAM;AACRM,+BAASC,UAAUC,kBAAkBR,KAAKS,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,aAAOC,kCAAYrB,qBAAAA,aAAgBsB,MAAM,MAAM,MAAMjB,YAAAA,CAAAA;AACvD;",
6
- "names": ["context", "graph", "getCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "pipe", "Option", "getOrNull", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/keyboard.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport { Option } from 'effect';\n\nimport { Capabilities as AppCapabilities, contributes, type PluginContext } from '@dxos/app-framework';\nimport { Keyboard } from '@dxos/keyboard';\n\nimport { AttentionCapabilities } from './capabilities';\n\nexport default (context: PluginContext) => {\n const { graph } = context.getCapability(AppCapabilities.AppGraph);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n\n const unsubscribe = effect(() => {\n const id = Array.from(attention.current)[0];\n const path = id && graph.getPath({ target: id }).pipe(Option.getOrNull);\n if (path) {\n Keyboard.singleton.setCurrentContext(path.join('/'));\n }\n });\n\n return contributes(AppCapabilities.Null, null, () => unsubscribe());\n};\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,cAAc;AACvB,SAASC,cAAc;AAEvB,SAASC,gBAAgBC,iBAAiBC,mBAAuC;AACjF,SAASC,gBAAgB;AAIzB,IAAA,mBAAe,CAACC,YAAAA;AACd,QAAM,EAAEC,MAAK,IAAKD,QAAQE,cAAcC,gBAAgBC,QAAQ;AAChE,QAAMC,YAAYL,QAAQE,cAAcI,sBAAsBC,SAAS;AAEvE,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,KAAKC,MAAMC,KAAKP,UAAUQ,OAAO,EAAE,CAAA;AACzC,UAAMC,OAAOJ,MAAMT,MAAMc,QAAQ;MAAEC,QAAQN;IAAG,CAAA,EAAGO,KAAKC,OAAOC,SAAS;AACtE,QAAIL,MAAM;AACRM,eAASC,UAAUC,kBAAkBR,KAAKS,KAAK,GAAA,CAAA;IACjD;EACF,CAAA;AAEA,SAAOC,YAAYrB,gBAAgBsB,MAAM,MAAM,MAAMjB,YAAAA,CAAAA;AACvD;",
6
- "names": ["effect", "Option", "Capabilities", "AppCapabilities", "contributes", "Keyboard", "context", "graph", "getCapability", "AppCapabilities", "AppGraph", "attention", "AttentionCapabilities", "Attention", "unsubscribe", "effect", "id", "Array", "from", "current", "path", "getPath", "target", "pipe", "Option", "getOrNull", "Keyboard", "singleton", "setCurrentContext", "join", "contributes", "Null"]
7
- }