@dxos/plugin-attention 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934

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.
Files changed (95) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/AttentionPlugin.mjs +9 -0
  4. package/dist/lib/neutral/capabilities/index.mjs +11 -0
  5. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  6. package/dist/lib/{browser/index.mjs → neutral/chunk-DPUSNLAH.mjs} +4 -15
  7. package/dist/lib/neutral/chunk-DPUSNLAH.mjs.map +7 -0
  8. package/dist/lib/{browser/chunk-BDLH2DQU.mjs → neutral/chunk-DTGSOFCE.mjs} +1 -1
  9. package/dist/lib/{browser/chunk-BDLH2DQU.mjs.map → neutral/chunk-DTGSOFCE.mjs.map} +2 -2
  10. package/dist/lib/neutral/chunk-PT4QDAR2.mjs +18 -0
  11. package/dist/lib/neutral/chunk-PT4QDAR2.mjs.map +7 -0
  12. package/dist/lib/neutral/chunk-QSTYRKHK.mjs +8 -0
  13. package/dist/lib/neutral/chunk-QSTYRKHK.mjs.map +7 -0
  14. package/dist/lib/neutral/index.mjs +15 -0
  15. package/dist/lib/neutral/keyboard-6CPNUR24.mjs +19 -0
  16. package/dist/lib/neutral/keyboard-6CPNUR24.mjs.map +7 -0
  17. package/dist/lib/neutral/meta.json +1 -0
  18. package/dist/lib/neutral/meta.mjs +7 -0
  19. package/dist/lib/neutral/operation-handler-O5PDEBTC.mjs +11 -0
  20. package/dist/lib/neutral/operation-handler-O5PDEBTC.mjs.map +7 -0
  21. package/dist/lib/neutral/operations/index.mjs +7 -0
  22. package/dist/lib/neutral/plugin.mjs +15 -0
  23. package/dist/lib/neutral/plugin.mjs.map +7 -0
  24. package/dist/lib/neutral/react-context-W7BGQDHK.mjs +26 -0
  25. package/dist/lib/neutral/react-context-W7BGQDHK.mjs.map +7 -0
  26. package/dist/lib/{browser/select-HQCLOXD6.mjs → neutral/select-CI2OLVWT.mjs} +6 -9
  27. package/dist/lib/neutral/select-CI2OLVWT.mjs.map +7 -0
  28. package/dist/lib/neutral/testing.mjs +7 -0
  29. package/dist/lib/neutral/testing.mjs.map +7 -0
  30. package/dist/lib/{browser → neutral}/types/index.mjs +1 -2
  31. package/dist/lib/neutral/types/index.mjs.map +7 -0
  32. package/dist/types/src/AttentionPlugin.d.ts +1 -0
  33. package/dist/types/src/AttentionPlugin.d.ts.map +1 -1
  34. package/dist/types/src/AttentionPlugin.test.d.ts +2 -0
  35. package/dist/types/src/AttentionPlugin.test.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/index.d.ts +1 -1
  37. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/keyboard.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  40. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  41. package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
  42. package/dist/types/src/index.d.ts +2 -2
  43. package/dist/types/src/index.d.ts.map +1 -1
  44. package/dist/types/src/meta.d.ts.map +1 -1
  45. package/dist/types/src/operations/index.d.ts +1 -2
  46. package/dist/types/src/operations/index.d.ts.map +1 -1
  47. package/dist/types/src/operations/select.d.ts +3 -3
  48. package/dist/types/src/operations/select.d.ts.map +1 -1
  49. package/dist/types/src/plugin.d.ts +4 -0
  50. package/dist/types/src/plugin.d.ts.map +1 -0
  51. package/dist/types/src/testing.d.ts +2 -0
  52. package/dist/types/src/testing.d.ts.map +1 -0
  53. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  54. package/dist/types/src/types/events.d.ts.map +1 -1
  55. package/dist/types/src/types/types.d.ts.map +1 -1
  56. package/dist/types/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +44 -39
  58. package/src/AttentionPlugin.test.ts +32 -0
  59. package/src/AttentionPlugin.ts +3 -1
  60. package/src/capabilities/index.ts +1 -1
  61. package/src/capabilities/operation-handler.ts +1 -1
  62. package/src/index.ts +2 -2
  63. package/src/meta.ts +1 -0
  64. package/src/operations/index.ts +1 -3
  65. package/src/operations/select.ts +4 -4
  66. package/src/plugin.ts +11 -0
  67. package/src/testing.ts +7 -0
  68. package/dist/lib/browser/chunk-55HTXC2G.mjs +0 -39
  69. package/dist/lib/browser/chunk-55HTXC2G.mjs.map +0 -7
  70. package/dist/lib/browser/chunk-J5LGTIGS.mjs +0 -10
  71. package/dist/lib/browser/index.mjs.map +0 -7
  72. package/dist/lib/browser/meta.json +0 -1
  73. package/dist/lib/browser/operations/index.mjs +0 -13
  74. package/dist/lib/browser/operations/index.mjs.map +0 -7
  75. package/dist/lib/browser/select-HQCLOXD6.mjs.map +0 -7
  76. package/dist/lib/node-esm/chunk-GWUE2YCZ.mjs +0 -43
  77. package/dist/lib/node-esm/chunk-GWUE2YCZ.mjs.map +0 -7
  78. package/dist/lib/node-esm/chunk-HQWPPQXC.mjs +0 -40
  79. package/dist/lib/node-esm/chunk-HQWPPQXC.mjs.map +0 -7
  80. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  81. package/dist/lib/node-esm/index.mjs +0 -72
  82. package/dist/lib/node-esm/index.mjs.map +0 -7
  83. package/dist/lib/node-esm/meta.json +0 -1
  84. package/dist/lib/node-esm/operations/index.mjs +0 -14
  85. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  86. package/dist/lib/node-esm/select-GLRAU6S2.mjs +0 -50
  87. package/dist/lib/node-esm/select-GLRAU6S2.mjs.map +0 -7
  88. package/dist/lib/node-esm/types/index.mjs +0 -13
  89. package/dist/types/src/operations/definitions.d.ts +0 -23
  90. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  91. package/src/operations/definitions.ts +0 -25
  92. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/AttentionPlugin.mjs.map} +0 -0
  93. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  94. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
  95. /package/dist/lib/{node-esm/types → neutral/operations}/index.mjs.map +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-attention",
3
- "version": "0.8.4-main.74a063c4e0",
3
+ "version": "0.8.4-main.765dc60934",
4
4
  "description": "Plugin for attention",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -8,61 +8,69 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/dxos/dxos"
10
10
  },
11
- "license": "MIT",
11
+ "license": "FSL-1.1-Apache-2.0",
12
12
  "author": "DXOS.org",
13
13
  "sideEffects": true,
14
14
  "type": "module",
15
15
  "imports": {
16
- "#capabilities": "./src/capabilities/index.ts",
17
- "#meta": "./src/meta.ts",
18
- "#operations": "./src/operations/index.ts",
19
- "#types": "./src/types/index.ts"
20
- },
21
- "exports": {
22
- ".": {
23
- "source": "./src/index.ts",
24
- "types": "./dist/types/src/index.d.ts",
25
- "browser": "./dist/lib/browser/index.mjs",
26
- "node": "./dist/lib/node-esm/index.mjs"
16
+ "#capabilities": {
17
+ "source": "./src/capabilities/index.ts",
18
+ "types": "./dist/types/src/capabilities/index.d.ts",
19
+ "default": "./dist/lib/neutral/capabilities/index.mjs"
20
+ },
21
+ "#meta": {
22
+ "source": "./src/meta.ts",
23
+ "types": "./dist/types/src/meta.d.ts",
24
+ "default": "./dist/lib/neutral/meta.mjs"
27
25
  },
28
- "./operations": {
26
+ "#operations": {
29
27
  "source": "./src/operations/index.ts",
30
28
  "types": "./dist/types/src/operations/index.d.ts",
31
- "browser": "./dist/lib/browser/operations/index.mjs",
32
- "node": "./dist/lib/node-esm/operations/index.mjs"
29
+ "default": "./dist/lib/neutral/operations/index.mjs"
33
30
  },
34
- "./types": {
31
+ "#plugin": {
32
+ "source": "./src/AttentionPlugin.ts",
33
+ "types": "./dist/types/src/AttentionPlugin.d.ts",
34
+ "default": "./dist/lib/neutral/AttentionPlugin.mjs"
35
+ },
36
+ "#types": {
35
37
  "source": "./src/types/index.ts",
36
38
  "types": "./dist/types/src/types/index.d.ts",
37
- "browser": "./dist/lib/browser/types/index.mjs",
38
- "node": "./dist/lib/node-esm/types/index.mjs"
39
+ "default": "./dist/lib/neutral/types/index.mjs"
39
40
  }
40
41
  },
41
- "types": "dist/types/src/index.d.ts",
42
- "typesVersions": {
43
- "*": {
44
- "types": [
45
- "dist/types/src/types/index.d.ts"
46
- ],
47
- "operations": [
48
- "dist/types/src/operations/index.d.ts"
49
- ]
42
+ "exports": {
43
+ ".": {
44
+ "source": "./src/index.ts",
45
+ "types": "./dist/types/src/index.d.ts",
46
+ "default": "./dist/lib/neutral/index.mjs"
47
+ },
48
+ "./plugin": {
49
+ "source": "./src/plugin.ts",
50
+ "types": "./dist/types/src/plugin.d.ts",
51
+ "default": "./dist/lib/neutral/plugin.mjs"
52
+ },
53
+ "./testing": {
54
+ "source": "./src/testing.ts",
55
+ "types": "./dist/types/src/testing.d.ts",
56
+ "default": "./dist/lib/neutral/testing.mjs"
50
57
  }
51
58
  },
59
+ "types": "dist/types/src/index.d.ts",
52
60
  "files": [
53
61
  "dist",
54
62
  "src"
55
63
  ],
56
64
  "dependencies": {
57
65
  "effect": "3.20.0",
58
- "@dxos/app-framework": "0.8.4-main.74a063c4e0",
59
- "@dxos/app-toolkit": "0.8.4-main.74a063c4e0",
60
- "@dxos/keyboard": "0.8.4-main.74a063c4e0",
61
- "@dxos/echo": "0.8.4-main.74a063c4e0",
62
- "@dxos/plugin-graph": "0.8.4-main.74a063c4e0",
63
- "@dxos/react-ui-attention": "0.8.4-main.74a063c4e0",
64
- "@dxos/operation": "0.8.4-main.74a063c4e0",
65
- "@dxos/util": "0.8.4-main.74a063c4e0"
66
+ "@dxos/app-toolkit": "0.8.4-main.765dc60934",
67
+ "@dxos/compute": "0.8.4-main.765dc60934",
68
+ "@dxos/app-framework": "0.8.4-main.765dc60934",
69
+ "@dxos/echo": "0.8.4-main.765dc60934",
70
+ "@dxos/keyboard": "0.8.4-main.765dc60934",
71
+ "@dxos/plugin-graph": "0.8.4-main.765dc60934",
72
+ "@dxos/react-ui-attention": "0.8.4-main.765dc60934",
73
+ "@dxos/util": "0.8.4-main.765dc60934"
66
74
  },
67
75
  "devDependencies": {
68
76
  "@types/react": "~19.2.7",
@@ -73,8 +81,5 @@
73
81
  "effect": "3.20.0",
74
82
  "react": "~19.2.3",
75
83
  "react-dom": "~19.2.3"
76
- },
77
- "publishConfig": {
78
- "access": "public"
79
84
  }
80
85
  }
@@ -0,0 +1,32 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, test } from 'vitest';
6
+
7
+ import { ActivationEvents, OperationPlugin, RuntimePlugin } from '@dxos/app-framework';
8
+ import { createTestApp } from '@dxos/app-framework/testing';
9
+ import { GraphPlugin } from '@dxos/plugin-graph/plugin';
10
+
11
+ import { AttentionPlugin } from '#plugin';
12
+
13
+ import { meta } from './meta';
14
+
15
+ const moduleId = (name: string) => `${meta.id}.module.${name}`;
16
+
17
+ describe('AttentionPlugin', () => {
18
+ test('modules activate on the expected events', async ({ expect }) => {
19
+ await using harness = await createTestApp({
20
+ plugins: [GraphPlugin(), OperationPlugin(), RuntimePlugin(), AttentionPlugin()],
21
+ });
22
+
23
+ // Modules expected to be active after a normal startup.
24
+ expect(harness.manager.getActive()).toEqual(
25
+ expect.arrayContaining([moduleId('attention'), moduleId('ReactContext'), moduleId('Keyboard')]),
26
+ );
27
+
28
+ // OperationHandler fires lazily when an operation is invoked.
29
+ await harness.fire(ActivationEvents.SetupOperationHandler);
30
+ expect(harness.manager.getActive()).toContain(moduleId('OperationHandler'));
31
+ });
32
+ });
@@ -18,7 +18,7 @@ export const AttentionPlugin = Plugin.define(meta).pipe(
18
18
  Plugin.addModule({
19
19
  id: 'attention',
20
20
  activatesOn: ActivationEvents.Startup,
21
- activatesAfter: [AttentionEvents.AttentionReady],
21
+ firesAfterActivation: [AttentionEvents.AttentionReady],
22
22
  activate: () =>
23
23
  Effect.gen(function* () {
24
24
  const registry = yield* Capability.get(Capabilities.AtomRegistry);
@@ -62,3 +62,5 @@ const setupDevtools = (attention: AttentionManager) => {
62
62
  },
63
63
  };
64
64
  };
65
+
66
+ export default AttentionPlugin;
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  export const Keyboard = Capability.lazy('Keyboard', () => import('./keyboard'));
9
9
  export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
@@ -5,7 +5,7 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
- import type { OperationHandlerSet } from '@dxos/operation';
8
+ import type { OperationHandlerSet } from '@dxos/compute';
9
9
 
10
10
  import { AttentionOperationHandlerSet } from '#operations';
11
11
 
package/src/index.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export { AttentionPlugin } from './AttentionPlugin';
6
- export { meta } from './meta';
5
+ export * from './meta';
6
+ export * from './types';
package/src/meta.ts CHANGED
@@ -12,4 +12,5 @@ export const meta: Plugin.Meta = {
12
12
  Track and manage focused attention on objects across your workspace.
13
13
  Highlight items requiring action and coordinate team focus on priority work.
14
14
  `,
15
+ tags: ['system'],
15
16
  };
@@ -2,8 +2,6 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { OperationHandlerSet } from '@dxos/operation';
6
-
7
- export * as AttentionOperation from './definitions';
5
+ import { OperationHandlerSet } from '@dxos/compute';
8
6
 
9
7
  export const AttentionOperationHandlerSet = OperationHandlerSet.lazy(() => import('./select'));
@@ -6,16 +6,16 @@ import * as Effect from 'effect/Effect';
6
6
  import * as Match from 'effect/Match';
7
7
 
8
8
  import { Capability } from '@dxos/app-framework';
9
- import { Operation } from '@dxos/operation';
9
+ import { LayoutOperation } from '@dxos/app-toolkit';
10
+ import { Operation } from '@dxos/compute';
10
11
 
11
12
  import { AttentionCapabilities } from '../types';
12
- import { Select } from './definitions';
13
13
 
14
- const handler: Operation.WithHandler<typeof Select> = Select.pipe(
14
+ const handler: Operation.WithHandler<typeof LayoutOperation.Select> = LayoutOperation.Select.pipe(
15
15
  Operation.withHandler(
16
16
  Effect.fnUntraced(function* (input) {
17
17
  const selection = yield* Capability.get(AttentionCapabilities.Selection);
18
- Match.value(input.selection).pipe(
18
+ Match.value(input.subject).pipe(
19
19
  Match.when({ mode: 'single', id: undefined }, () => {
20
20
  selection.clearSelection(input.contextId);
21
21
  }),
package/src/plugin.ts ADDED
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+
7
+ import { meta } from './meta';
8
+
9
+ export const AttentionPlugin = Plugin.lazy(meta, () => import('#plugin'));
10
+
11
+ export { AttentionOperationHandlerSet } from './operations';
package/src/testing.ts ADDED
@@ -0,0 +1,7 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // Eager re-export of `AttentionPlugin`. See `@dxos/plugin-testing/src/core.ts`
6
+ // for the rationale.
7
+ export * from './AttentionPlugin';
@@ -1,39 +0,0 @@
1
- import {
2
- __export
3
- } from "./chunk-J5LGTIGS.mjs";
4
-
5
- // src/operations/definitions.ts
6
- var definitions_exports = {};
7
- __export(definitions_exports, {
8
- Select: () => Select
9
- });
10
- import * as Schema from "effect/Schema";
11
- import { Capability } from "@dxos/app-framework";
12
- import { Operation } from "@dxos/operation";
13
- import { SelectionSchema } from "@dxos/react-ui-attention";
14
- import { meta } from "#meta";
15
- var Select = Operation.make({
16
- meta: {
17
- key: `${meta.id}.operation.select`,
18
- name: "Select",
19
- description: "Select items in an attention context."
20
- },
21
- services: [
22
- Capability.Service
23
- ],
24
- input: Schema.Struct({
25
- contextId: Schema.String.annotations({
26
- description: "The id of the attention context."
27
- }),
28
- selection: SelectionSchema.annotations({
29
- description: "The selection to apply."
30
- })
31
- }),
32
- output: Schema.Void
33
- });
34
-
35
- export {
36
- Select,
37
- definitions_exports
38
- };
39
- //# sourceMappingURL=chunk-55HTXC2G.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\nimport { SelectionSchema } from '@dxos/react-ui-attention';\n\nimport { meta } from '#meta';\n\nexport const Select = Operation.make({\n meta: {\n key: `${meta.id}.operation.select`,\n name: 'Select',\n description: 'Select items in an attention context.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n contextId: Schema.String.annotations({ description: 'The id of the attention context.' }),\n selection: SelectionSchema.annotations({ description: 'The selection to apply.' }),\n }),\n output: Schema.Void,\n});\n"],
5
- "mappings": ";;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,uBAAuB;AAEhC,SAASC,YAAY;AAEd,IAAMC,SAASC,UAAUC,KAAK;EACnCC,MAAM;IACJC,KAAK,GAAGD,KAAKE,EAAE;IACfC,MAAM;IACNC,aAAa;EACf;EACAC,UAAU;IAACC,WAAWC;;EACtBC,OAAcC,cAAO;IACnBC,WAAkBC,cAAOC,YAAY;MAAER,aAAa;IAAmC,CAAA;IACvFS,WAAWC,gBAAgBF,YAAY;MAAER,aAAa;IAA0B,CAAA;EAClF,CAAA;EACAW,QAAeC;AACjB,CAAA;",
6
- "names": ["Schema", "Capability", "Operation", "SelectionSchema", "meta", "Select", "Operation", "make", "meta", "key", "id", "name", "description", "services", "Capability", "Service", "input", "Struct", "contextId", "String", "annotations", "selection", "SelectionSchema", "output", "Void"]
7
- }
@@ -1,10 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
- export {
8
- __export
9
- };
10
- //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/AttentionPlugin.ts", "../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { ActivationEvent, ActivationEvents, Capabilities, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { Keyboard, OperationHandler, ReactContext } from '#capabilities';\nimport { meta } from '#meta';\nimport { AttentionEvents } from '#types';\nimport { AttentionCapabilities } from '#types';\n\nexport const AttentionPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n Plugin.addModule({\n id: 'attention',\n activatesOn: ActivationEvents.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () =>\n Effect.gen(function* () {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const attention = new AttentionManager(registry);\n const selection = new SelectionManager(registry);\n setupDevtools(attention);\n return [\n Capability.contributes(AttentionCapabilities.Attention, attention),\n Capability.contributes(AttentionCapabilities.Selection, selection),\n ];\n }),\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.Startup,\n activate: ReactContext,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(AppActivationEvents.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n Plugin.make,\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.getCurrent();\n },\n get currentSpace() {\n for (const id of attention.getCurrent()) {\n const segments = id.split('/');\n if (segments.length > 1 && segments[1].length === 33) {\n return segments[1];\n }\n }\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.attention',\n name: 'Attention',\n description: trim`\n Track and manage focused attention on objects across your workspace.\n Highlight items requiring action and coordinate team focus on priority work.\n `,\n};\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiBC,kBAAkBC,cAAcC,YAAYC,cAAc;AACpF,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,kBAAkBC,wBAAwB;AAEnD,SAASC,UAAUC,kBAAkBC,oBAAoB;AACzD,SAASC,YAAY;AACrB,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AAE/B,IAAMC,kBAAkBC,OAAOC,OAAOC,IAAAA,EAAMC,KACjDC,UAAUC,0BAA0B;EAAEC,UAAUC;AAAiB,CAAA,GACjEP,OAAOQ,UAAU;EACfC,IAAI;EACJC,aAAaC,iBAAiBC;EAC9BC,gBAAgB;IAACC,gBAAgBC;;EACjCT,UAAU,MACDU,WAAI,aAAA;AACT,UAAMC,WAAW,OAAOC,WAAWC,IAAIC,aAAaC,YAAY;AAChE,UAAMC,YAAY,IAAIC,iBAAiBN,QAAAA;AACvC,UAAMO,YAAY,IAAIC,iBAAiBR,QAAAA;AACvCS,kBAAcJ,SAAAA;AACd,WAAO;MACLJ,WAAWS,YAAYC,sBAAsBC,WAAWP,SAAAA;MACxDJ,WAAWS,YAAYC,sBAAsBE,WAAWN,SAAAA;;EAE5D,CAAA;AACJ,CAAA,GACAxB,OAAOQ,UAAU;EACfE,aAAaC,iBAAiBC;EAC9BN,UAAUyB;AACZ,CAAA,GACA/B,OAAOQ,UAAU;EACfE,aAAasB,gBAAgBC,MAAMC,oBAAoBC,eAAerB,gBAAgBC,cAAc;EACpGT,UAAU8B;AACZ,CAAA,GACApC,OAAOqC,IAAI;AAGb,IAAMX,gBAAgB,CAACJ,cAAAA;AACpBgB,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASjB,YAAY;IACvC,IAAIkB,UAAU;AACZ,aAAOlB;IACT;IACA,IAAImB,WAAW;AACb,aAAOnB,UAAUoB,WAAU;IAC7B;IACA,IAAIC,eAAe;AACjB,iBAAWlC,MAAMa,UAAUoB,WAAU,GAAI;AACvC,cAAME,WAAWnC,GAAGoC,MAAM,GAAA;AAC1B,YAAID,SAASE,SAAS,KAAKF,SAAS,CAAA,EAAGE,WAAW,IAAI;AACpD,iBAAOF,SAAS,CAAA;QAClB;MACF;IACF;EACF;AACF;;;AC1DA,SAASG,YAAY;AAEd,IAAMC,QAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;AAIf;",
6
- "names": ["Effect", "ActivationEvent", "ActivationEvents", "Capabilities", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "AttentionManager", "SelectionManager", "Keyboard", "OperationHandler", "ReactContext", "meta", "AttentionEvents", "AttentionCapabilities", "AttentionPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addOperationHandlerModule", "activate", "OperationHandler", "addModule", "id", "activatesOn", "ActivationEvents", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "gen", "registry", "Capability", "get", "Capabilities", "AtomRegistry", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "ActivationEvent", "allOf", "AppActivationEvents", "AppGraphReady", "Keyboard", "make", "globalThis", "composer", "manager", "attended", "getCurrent", "currentSpace", "segments", "split", "length", "trim", "meta", "id", "name", "description", "trim"]
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"src/AttentionPlugin.ts":{"bytes":7954,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/meta.ts":{"bytes":1376,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":680,"imports":[{"path":"src/AttentionPlugin.ts","kind":"import-statement","original":"./AttentionPlugin"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/types/capabilities.ts":{"bytes":1725,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/events.ts":{"bytes":1255,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/types.ts":{"bytes":2225,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":645,"imports":[{"path":"src/types/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/types/events.ts","kind":"import-statement","original":"./events"},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/operations/definitions.ts":{"bytes":2989,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"},"src/operations/select.ts":{"bytes":5357,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/operations/index.ts":{"bytes":1149,"imports":[{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"src/operations/definitions.ts","kind":"import-statement","original":"./definitions"},{"path":"src/operations/select.ts","kind":"dynamic-import","original":"./select"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4934},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["AttentionPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/AttentionPlugin.ts":{"bytesInOutput":1886},"src/index.ts":{"bytesInOutput":0},"src/meta.ts":{"bytesInOutput":287}},"bytes":2329},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-BDLH2DQU.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["AttentionAction","AttentionCapabilities","AttentionEvents"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":244},"dist/lib/browser/operations/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":543},"dist/lib/browser/operations/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-55HTXC2G.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"dist/lib/browser/select-HQCLOXD6.mjs","kind":"dynamic-import"}],"exports":["AttentionOperation","AttentionOperationHandlerSet"],"entryPoint":"src/operations/index.ts","inputs":{"src/operations/index.ts":{"bytesInOutput":156}},"bytes":402},"dist/lib/browser/select-HQCLOXD6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2837},"dist/lib/browser/select-HQCLOXD6.mjs":{"imports":[{"path":"dist/lib/browser/chunk-BDLH2DQU.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-55HTXC2G.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/operations/select.ts","inputs":{"src/operations/select.ts":{"bytesInOutput":1103}},"bytes":1361},"dist/lib/browser/chunk-BDLH2DQU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2470},"dist/lib/browser/chunk-BDLH2DQU.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["AttentionAction","AttentionCapabilities","AttentionEvents"],"inputs":{"src/types/capabilities.ts":{"bytesInOutput":380},"src/types/index.ts":{"bytesInOutput":0},"src/types/events.ts":{"bytesInOutput":287},"src/types/types.ts":{"bytesInOutput":534}},"bytes":1396},"dist/lib/browser/chunk-55HTXC2G.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1520},"dist/lib/browser/chunk-55HTXC2G.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/operation","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true}],"exports":["Select","definitions_exports"],"inputs":{"src/operations/definitions.ts":{"bytesInOutput":778}},"bytes":952},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -1,13 +0,0 @@
1
- import {
2
- definitions_exports
3
- } from "../chunk-55HTXC2G.mjs";
4
- import "../chunk-J5LGTIGS.mjs";
5
-
6
- // src/operations/index.ts
7
- import { OperationHandlerSet } from "@dxos/operation";
8
- var AttentionOperationHandlerSet = OperationHandlerSet.lazy(() => import("../select-HQCLOXD6.mjs"));
9
- export {
10
- definitions_exports as AttentionOperation,
11
- AttentionOperationHandlerSet
12
- };
13
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/operations/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/operation';\n\nexport * as AttentionOperation from './definitions';\n\nexport const AttentionOperationHandlerSet = OperationHandlerSet.lazy(() => import('./select'));\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,2BAA2B;AAI7B,IAAMC,+BAA+BC,oBAAoBC,KAAK,MAAM,OAAO,wBAAA,CAAA;",
6
- "names": ["OperationHandlerSet", "AttentionOperationHandlerSet", "OperationHandlerSet", "lazy"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/select.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Match from 'effect/Match';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\n\nimport { AttentionCapabilities } from '../types';\nimport { Select } from './definitions';\n\nconst handler: Operation.WithHandler<typeof Select> = Select.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* (input) {\n const selection = yield* Capability.get(AttentionCapabilities.Selection);\n Match.value(input.selection).pipe(\n Match.when({ mode: 'single', id: undefined }, () => {\n selection.clearSelection(input.contextId);\n }),\n Match.when({ mode: 'single' }, (s) => {\n selection.updateSingle(input.contextId, s.id!);\n }),\n Match.when({ mode: 'multi' }, (s) => {\n selection.updateMulti(input.contextId, s.ids);\n }),\n Match.when({ mode: 'range', from: undefined, to: undefined }, () => {\n selection.clearSelection(input.contextId);\n }),\n Match.when({ mode: 'range' }, (s) => {\n selection.updateRange(input.contextId, s.from!, s.to!);\n }),\n Match.when({ mode: 'multi-range' }, (s) => {\n selection.updateMultiRange(input.contextId, s.ranges);\n }),\n Match.exhaustive,\n );\n }),\n ),\n);\n\nexport default handler;\n"],
5
- "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAK1B,IAAMC,UAAgDC,OAAOC,KAC3DC,UAAUC,YACDC,kBAAW,WAAWC,OAAK;AAChC,QAAMC,YAAY,OAAOC,WAAWC,IAAIC,sBAAsBC,SAAS;AACvEC,EAAMC,YAAMP,MAAMC,SAAS,EAAEL,KACrBY,WAAK;IAAEC,MAAM;IAAUC,IAAIC;EAAU,GAAG,MAAA;AAC5CV,cAAUW,eAAeZ,MAAMa,SAAS;EAC1C,CAAA,GACML,WAAK;IAAEC,MAAM;EAAS,GAAG,CAACK,MAAAA;AAC9Bb,cAAUc,aAAaf,MAAMa,WAAWC,EAAEJ,EAAE;EAC9C,CAAA,GACMF,WAAK;IAAEC,MAAM;EAAQ,GAAG,CAACK,MAAAA;AAC7Bb,cAAUe,YAAYhB,MAAMa,WAAWC,EAAEG,GAAG;EAC9C,CAAA,GACMT,WAAK;IAAEC,MAAM;IAASS,MAAMP;IAAWQ,IAAIR;EAAU,GAAG,MAAA;AAC5DV,cAAUW,eAAeZ,MAAMa,SAAS;EAC1C,CAAA,GACML,WAAK;IAAEC,MAAM;EAAQ,GAAG,CAACK,MAAAA;AAC7Bb,cAAUmB,YAAYpB,MAAMa,WAAWC,EAAEI,MAAOJ,EAAEK,EAAE;EACtD,CAAA,GACMX,WAAK;IAAEC,MAAM;EAAc,GAAG,CAACK,MAAAA;AACnCb,cAAUoB,iBAAiBrB,MAAMa,WAAWC,EAAEQ,MAAM;EACtD,CAAA,GACMC,gBAAU;AAEpB,CAAA,CAAA,CAAA;AAIJ,IAAA,iBAAe7B;",
6
- "names": ["Effect", "Match", "Capability", "Operation", "handler", "Select", "pipe", "Operation", "withHandler", "fnUntraced", "input", "selection", "Capability", "get", "AttentionCapabilities", "Selection", "Match", "value", "when", "mode", "id", "undefined", "clearSelection", "contextId", "s", "updateSingle", "updateMulti", "ids", "from", "to", "updateRange", "updateMultiRange", "ranges", "exhaustive"]
7
- }
@@ -1,43 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/types/capabilities.ts
4
- import { Capability } from "@dxos/app-framework";
5
- import { meta } from "#meta";
6
- (function(AttentionCapabilities2) {
7
- AttentionCapabilities2.Attention = Capability.make(`${meta.id}.capability.attention`);
8
- AttentionCapabilities2.Selection = Capability.make(`${meta.id}.capability.selection`);
9
- })(AttentionCapabilities || (AttentionCapabilities = {}));
10
- var AttentionCapabilities;
11
-
12
- // src/types/events.ts
13
- import { ActivationEvent } from "@dxos/app-framework";
14
- import { meta as meta2 } from "#meta";
15
- (function(AttentionEvents2) {
16
- AttentionEvents2.AttentionReady = ActivationEvent.make(`${meta2.id}.event.attention-ready`);
17
- })(AttentionEvents || (AttentionEvents = {}));
18
- var AttentionEvents;
19
-
20
- // src/types/types.ts
21
- import * as Schema from "effect/Schema";
22
- import { SelectionSchema } from "@dxos/react-ui-attention";
23
- import { meta as meta3 } from "#meta";
24
- (function(AttentionAction2) {
25
- const ATTENTION_ACTION = `${meta3.id}.action`;
26
- class Select extends Schema.TaggedClass()(`${ATTENTION_ACTION}.select`, {
27
- input: Schema.Struct({
28
- contextId: Schema.String,
29
- selection: SelectionSchema
30
- }),
31
- output: Schema.Void
32
- }) {
33
- }
34
- AttentionAction2.Select = Select;
35
- })(AttentionAction || (AttentionAction = {}));
36
- var AttentionAction;
37
-
38
- export {
39
- AttentionCapabilities,
40
- AttentionEvents,
41
- AttentionAction
42
- };
43
- //# sourceMappingURL=chunk-GWUE2YCZ.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/capabilities.ts", "../../../src/types/events.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport { type AttentionManager, type SelectionManager } from '@dxos/react-ui-attention';\n\nimport { meta } from '#meta';\n\nexport namespace AttentionCapabilities {\n export const Attention = Capability.make<AttentionManager>(`${meta.id}.capability.attention`);\n export const Selection = Capability.make<SelectionManager>(`${meta.id}.capability.selection`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent } from '@dxos/app-framework';\n\nimport { meta } from '#meta';\n\nexport namespace AttentionEvents {\n export const AttentionReady = ActivationEvent.make(`${meta.id}.event.attention-ready`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { SelectionSchema } from '@dxos/react-ui-attention';\n\nimport { meta } from '#meta';\n\nexport namespace AttentionAction {\n const ATTENTION_ACTION = `${meta.id}.action`;\n\n export class Select extends Schema.TaggedClass<Select>()(`${ATTENTION_ACTION}.select`, {\n input: Schema.Struct({\n contextId: Schema.String,\n selection: SelectionSchema,\n }),\n output: Schema.Void,\n }) {}\n}\n"],
5
- "mappings": ";;;AAIA,SAASA,kBAAkB;AAG3B,SAASC,YAAY;UAEJC,wBAAAA;yBACFC,YAAYC,WAAWC,KAAuB,GAAGC,KAAKC,EAAE,uBAAuB;yBAC/EC,YAAYJ,WAAWC,KAAuB,GAAGC,KAAKC,EAAE,uBAAuB;AAC9F,GAHiBL,0BAAAA,wBAAAA,CAAAA,EAAAA;;;;ACLjB,SAASO,uBAAuB;AAEhC,SAASC,QAAAA,aAAY;UAEJC,kBAAAA;mBACFC,iBAAiBC,gBAAgBC,KAAK,GAAGC,MAAKC,EAAE,wBAAwB;AACvF,GAFiBL,oBAAAA,kBAAAA,CAAAA,EAAAA;;;;ACJjB,YAAYM,YAAY;AAExB,SAASC,uBAAuB;AAEhC,SAASC,QAAAA,aAAY;UAEJC,kBAAAA;AACf,QAAMC,mBAAmB,GAAGC,MAAKC,EAAE;EAE5B,MAAMC,eAAsBC,mBAAW,EAAW,GAAGJ,gBAAAA,WAA2B;IACrFK,OAAcC,cAAO;MACnBC,WAAkBC;MAClBC,WAAWC;IACb,CAAA;IACAC,QAAeC;EACjB,CAAA,EAAA;EAAI;mBANST,SAAAA;AAOf,GAViBJ,oBAAAA,kBAAAA,CAAAA,EAAAA;;",
6
- "names": ["Capability", "meta", "AttentionCapabilities", "Attention", "Capability", "make", "meta", "id", "Selection", "ActivationEvent", "meta", "AttentionEvents", "AttentionReady", "ActivationEvent", "make", "meta", "id", "Schema", "SelectionSchema", "meta", "AttentionAction", "ATTENTION_ACTION", "meta", "id", "Select", "TaggedClass", "input", "Struct", "contextId", "String", "selection", "SelectionSchema", "output", "Void"]
7
- }
@@ -1,40 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- __export
4
- } from "./chunk-HSLMI22Q.mjs";
5
-
6
- // src/operations/definitions.ts
7
- var definitions_exports = {};
8
- __export(definitions_exports, {
9
- Select: () => Select
10
- });
11
- import * as Schema from "effect/Schema";
12
- import { Capability } from "@dxos/app-framework";
13
- import { Operation } from "@dxos/operation";
14
- import { SelectionSchema } from "@dxos/react-ui-attention";
15
- import { meta } from "#meta";
16
- var Select = Operation.make({
17
- meta: {
18
- key: `${meta.id}.operation.select`,
19
- name: "Select",
20
- description: "Select items in an attention context."
21
- },
22
- services: [
23
- Capability.Service
24
- ],
25
- input: Schema.Struct({
26
- contextId: Schema.String.annotations({
27
- description: "The id of the attention context."
28
- }),
29
- selection: SelectionSchema.annotations({
30
- description: "The selection to apply."
31
- })
32
- }),
33
- output: Schema.Void
34
- });
35
-
36
- export {
37
- Select,
38
- definitions_exports
39
- };
40
- //# sourceMappingURL=chunk-HQWPPQXC.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/operations/definitions.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\nimport { SelectionSchema } from '@dxos/react-ui-attention';\n\nimport { meta } from '#meta';\n\nexport const Select = Operation.make({\n meta: {\n key: `${meta.id}.operation.select`,\n name: 'Select',\n description: 'Select items in an attention context.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n contextId: Schema.String.annotations({ description: 'The id of the attention context.' }),\n selection: SelectionSchema.annotations({ description: 'The selection to apply.' }),\n }),\n output: Schema.Void,\n});\n"],
5
- "mappings": ";;;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,uBAAuB;AAEhC,SAASC,YAAY;AAEd,IAAMC,SAASC,UAAUC,KAAK;EACnCC,MAAM;IACJC,KAAK,GAAGD,KAAKE,EAAE;IACfC,MAAM;IACNC,aAAa;EACf;EACAC,UAAU;IAACC,WAAWC;;EACtBC,OAAcC,cAAO;IACnBC,WAAkBC,cAAOC,YAAY;MAAER,aAAa;IAAmC,CAAA;IACvFS,WAAWC,gBAAgBF,YAAY;MAAER,aAAa;IAA0B,CAAA;EAClF,CAAA;EACAW,QAAeC;AACjB,CAAA;",
6
- "names": ["Schema", "Capability", "Operation", "SelectionSchema", "meta", "Select", "Operation", "make", "meta", "key", "id", "name", "description", "services", "Capability", "Service", "input", "Struct", "contextId", "String", "annotations", "selection", "SelectionSchema", "output", "Void"]
7
- }
@@ -1,11 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- var __defProp = Object.defineProperty;
3
- var __export = (target, all) => {
4
- for (var name in all)
5
- __defProp(target, name, { get: all[name], enumerable: true });
6
- };
7
-
8
- export {
9
- __export
10
- };
11
- //# sourceMappingURL=chunk-HSLMI22Q.mjs.map
@@ -1,72 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import "./chunk-HSLMI22Q.mjs";
3
-
4
- // src/AttentionPlugin.ts
5
- import * as Effect from "effect/Effect";
6
- import { ActivationEvent, ActivationEvents, Capabilities, Capability, Plugin } from "@dxos/app-framework";
7
- import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
8
- import { AttentionManager, SelectionManager } from "@dxos/react-ui-attention";
9
- import { Keyboard, OperationHandler, ReactContext } from "#capabilities";
10
- import { meta } from "#meta";
11
- import { AttentionEvents } from "#types";
12
- import { AttentionCapabilities } from "#types";
13
- var AttentionPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
14
- activate: OperationHandler
15
- }), Plugin.addModule({
16
- id: "attention",
17
- activatesOn: ActivationEvents.Startup,
18
- activatesAfter: [
19
- AttentionEvents.AttentionReady
20
- ],
21
- activate: () => Effect.gen(function* () {
22
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
23
- const attention = new AttentionManager(registry);
24
- const selection = new SelectionManager(registry);
25
- setupDevtools(attention);
26
- return [
27
- Capability.contributes(AttentionCapabilities.Attention, attention),
28
- Capability.contributes(AttentionCapabilities.Selection, selection)
29
- ];
30
- })
31
- }), Plugin.addModule({
32
- activatesOn: ActivationEvents.Startup,
33
- activate: ReactContext
34
- }), Plugin.addModule({
35
- activatesOn: ActivationEvent.allOf(AppActivationEvents.AppGraphReady, AttentionEvents.AttentionReady),
36
- activate: Keyboard
37
- }), Plugin.make);
38
- var setupDevtools = (attention) => {
39
- globalThis.composer ??= {};
40
- globalThis.composer.attention = {
41
- get manager() {
42
- return attention;
43
- },
44
- get attended() {
45
- return attention.getCurrent();
46
- },
47
- get currentSpace() {
48
- for (const id of attention.getCurrent()) {
49
- const segments = id.split("/");
50
- if (segments.length > 1 && segments[1].length === 33) {
51
- return segments[1];
52
- }
53
- }
54
- }
55
- };
56
- };
57
-
58
- // src/meta.ts
59
- import { trim } from "@dxos/util";
60
- var meta2 = {
61
- id: "org.dxos.plugin.attention",
62
- name: "Attention",
63
- description: trim`
64
- Track and manage focused attention on objects across your workspace.
65
- Highlight items requiring action and coordinate team focus on priority work.
66
- `
67
- };
68
- export {
69
- AttentionPlugin,
70
- meta2 as meta
71
- };
72
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/AttentionPlugin.ts", "../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { ActivationEvent, ActivationEvents, Capabilities, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { AttentionManager, SelectionManager } from '@dxos/react-ui-attention';\n\nimport { Keyboard, OperationHandler, ReactContext } from '#capabilities';\nimport { meta } from '#meta';\nimport { AttentionEvents } from '#types';\nimport { AttentionCapabilities } from '#types';\n\nexport const AttentionPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n Plugin.addModule({\n id: 'attention',\n activatesOn: ActivationEvents.Startup,\n activatesAfter: [AttentionEvents.AttentionReady],\n activate: () =>\n Effect.gen(function* () {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const attention = new AttentionManager(registry);\n const selection = new SelectionManager(registry);\n setupDevtools(attention);\n return [\n Capability.contributes(AttentionCapabilities.Attention, attention),\n Capability.contributes(AttentionCapabilities.Selection, selection),\n ];\n }),\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.Startup,\n activate: ReactContext,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(AppActivationEvents.AppGraphReady, AttentionEvents.AttentionReady),\n activate: Keyboard,\n }),\n Plugin.make,\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.getCurrent();\n },\n get currentSpace() {\n for (const id of attention.getCurrent()) {\n const segments = id.split('/');\n if (segments.length > 1 && segments[1].length === 33) {\n return segments[1];\n }\n }\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.attention',\n name: 'Attention',\n description: trim`\n Track and manage focused attention on objects across your workspace.\n Highlight items requiring action and coordinate team focus on priority work.\n `,\n};\n"],
5
- "mappings": ";;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiBC,kBAAkBC,cAAcC,YAAYC,cAAc;AACpF,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,kBAAkBC,wBAAwB;AAEnD,SAASC,UAAUC,kBAAkBC,oBAAoB;AACzD,SAASC,YAAY;AACrB,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AAE/B,IAAMC,kBAAkBC,OAAOC,OAAOC,IAAAA,EAAMC,KACjDC,UAAUC,0BAA0B;EAAEC,UAAUC;AAAiB,CAAA,GACjEP,OAAOQ,UAAU;EACfC,IAAI;EACJC,aAAaC,iBAAiBC;EAC9BC,gBAAgB;IAACC,gBAAgBC;;EACjCT,UAAU,MACDU,WAAI,aAAA;AACT,UAAMC,WAAW,OAAOC,WAAWC,IAAIC,aAAaC,YAAY;AAChE,UAAMC,YAAY,IAAIC,iBAAiBN,QAAAA;AACvC,UAAMO,YAAY,IAAIC,iBAAiBR,QAAAA;AACvCS,kBAAcJ,SAAAA;AACd,WAAO;MACLJ,WAAWS,YAAYC,sBAAsBC,WAAWP,SAAAA;MACxDJ,WAAWS,YAAYC,sBAAsBE,WAAWN,SAAAA;;EAE5D,CAAA;AACJ,CAAA,GACAxB,OAAOQ,UAAU;EACfE,aAAaC,iBAAiBC;EAC9BN,UAAUyB;AACZ,CAAA,GACA/B,OAAOQ,UAAU;EACfE,aAAasB,gBAAgBC,MAAMC,oBAAoBC,eAAerB,gBAAgBC,cAAc;EACpGT,UAAU8B;AACZ,CAAA,GACApC,OAAOqC,IAAI;AAGb,IAAMX,gBAAgB,CAACJ,cAAAA;AACpBgB,aAAmBC,aAAa,CAAC;AAEjCD,aAAmBC,SAASjB,YAAY;IACvC,IAAIkB,UAAU;AACZ,aAAOlB;IACT;IACA,IAAImB,WAAW;AACb,aAAOnB,UAAUoB,WAAU;IAC7B;IACA,IAAIC,eAAe;AACjB,iBAAWlC,MAAMa,UAAUoB,WAAU,GAAI;AACvC,cAAME,WAAWnC,GAAGoC,MAAM,GAAA;AAC1B,YAAID,SAASE,SAAS,KAAKF,SAAS,CAAA,EAAGE,WAAW,IAAI;AACpD,iBAAOF,SAAS,CAAA;QAClB;MACF;IACF;EACF;AACF;;;AC1DA,SAASG,YAAY;AAEd,IAAMC,QAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;AAIf;",
6
- "names": ["Effect", "ActivationEvent", "ActivationEvents", "Capabilities", "Capability", "Plugin", "AppActivationEvents", "AppPlugin", "AttentionManager", "SelectionManager", "Keyboard", "OperationHandler", "ReactContext", "meta", "AttentionEvents", "AttentionCapabilities", "AttentionPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addOperationHandlerModule", "activate", "OperationHandler", "addModule", "id", "activatesOn", "ActivationEvents", "Startup", "activatesAfter", "AttentionEvents", "AttentionReady", "gen", "registry", "Capability", "get", "Capabilities", "AtomRegistry", "attention", "AttentionManager", "selection", "SelectionManager", "setupDevtools", "contributes", "AttentionCapabilities", "Attention", "Selection", "ReactContext", "ActivationEvent", "allOf", "AppActivationEvents", "AppGraphReady", "Keyboard", "make", "globalThis", "composer", "manager", "attended", "getCurrent", "currentSpace", "segments", "split", "length", "trim", "meta", "id", "name", "description", "trim"]
7
- }