@dxos/plugin-template 0.8.3-main.672df60 → 0.8.3-staging.0fa589b

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.
@@ -1,7 +1,8 @@
1
1
  // packages/plugins/plugin-template/src/types.ts
2
2
  import { Schema } from "effect";
3
+ import { Obj } from "@dxos/echo";
3
4
  import { TypedObject } from "@dxos/echo-schema";
4
- import { isEchoObject, ReactiveObjectSchema } from "@dxos/react-client/echo";
5
+ import { ReactiveObjectSchema } from "@dxos/react-client/echo";
5
6
 
6
7
  // packages/plugins/plugin-template/src/meta.ts
7
8
  var TEMPLATE_PLUGIN = "dxos.org/plugin/template";
@@ -27,7 +28,7 @@ var meta = {
27
28
  TemplateAction2.Create = Create;
28
29
  })(TemplateAction || (TemplateAction = {}));
29
30
  var isObject = (object) => {
30
- return isEchoObject(object) && object.type === "template";
31
+ return Obj.isObject(object) && object.type === "template";
31
32
  };
32
33
  var TemplateType = class extends TypedObject({
33
34
  typename: "dxos.org/type/Template",
@@ -45,4 +46,4 @@ export {
45
46
  TemplateType,
46
47
  TemplateAction
47
48
  };
48
- //# sourceMappingURL=chunk-3HYGWWDQ.mjs.map
49
+ //# sourceMappingURL=chunk-GMDXCSM2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Obj } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { ReactiveObjectSchema } from '@dxos/react-client/echo';\n\nimport { TEMPLATE_PLUGIN } from './meta';\n\nexport namespace TemplateAction {\n const TEMPLATE_ACTION = `${TEMPLATE_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TEMPLATE_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ReactiveObjectSchema,\n }),\n }) {}\n}\n\nexport const isObject = (object: unknown): object is Obj.Any => {\n // TODO(dmaretskyi): Can this be Obj.instanceOf(TemplateType)?\n return Obj.isObject(object) && (object as any).type === 'template';\n};\n\nexport class TemplateType extends TypedObject({\n typename: 'dxos.org/type/Template',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const TEMPLATE_PLUGIN = 'dxos.org/plugin/template';\n\nexport const meta: PluginMeta = {\n id: TEMPLATE_PLUGIN,\n name: 'Template',\n icon: 'ph--asterisk--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template',\n};\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;AAEvB,SAASC,WAAW;AACpB,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B;;;ACF9B,IAAMC,kBAAkB;AAExB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,MAAM;EACNC,QAAQ;AACV;;;UDDiBC,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,eAAAA;EAEpB,MAAMC,eAAeC,OAAOC,YAAW,EAAW,GAAGJ,eAAAA,WAA0B;IACpFK,OAAOF,OAAOG,OAAO;MACnBC,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;IACrC,CAAA;IACAC,QAAQP,OAAOG,OAAO;MACpBK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSV,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;AAaV,IAAMc,WAAW,CAACF,WAAAA;AAEvB,SAAOG,IAAID,SAASF,MAAAA,KAAYA,OAAeI,SAAS;AAC1D;AAEO,IAAMC,eAAN,cAA2BC,YAAY;EAC5CC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDZ,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;AACrC,CAAA,EAAA;AAAI;;",
6
+ "names": ["Schema", "Obj", "TypedObject", "ReactiveObjectSchema", "TEMPLATE_PLUGIN", "meta", "id", "name", "icon", "source", "TemplateAction", "TEMPLATE_ACTION", "TEMPLATE_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "ReactiveObjectSchema", "isObject", "Obj", "type", "TemplateType", "TypedObject", "typename", "version"]
7
+ }
@@ -3,7 +3,7 @@ import {
3
3
  TemplateAction,
4
4
  TemplateType,
5
5
  meta
6
- } from "./chunk-3HYGWWDQ.mjs";
6
+ } from "./chunk-GMDXCSM2.mjs";
7
7
 
8
8
  // packages/plugins/plugin-template/src/TemplatePlugin.tsx
9
9
  import { createIntent, Capabilities, contributes, Events, defineModule, definePlugin } from "@dxos/app-framework";
@@ -13,20 +13,23 @@ import { defineObjectForm } from "@dxos/plugin-space/types";
13
13
 
14
14
  // packages/plugins/plugin-template/src/capabilities/index.ts
15
15
  import { lazy } from "@dxos/app-framework";
16
- var IntentResolver = lazy(() => import("./intent-resolver-LEEW7WF5.mjs"));
17
- var ReactSurface = lazy(() => import("./react-surface-QKHEP25U.mjs"));
16
+ var IntentResolver = lazy(() => import("./intent-resolver-THP6KTJU.mjs"));
17
+ var ReactSurface = lazy(() => import("./react-surface-RRVJU3OV.mjs"));
18
18
 
19
19
  // packages/plugins/plugin-template/src/translations.ts
20
+ import { Type } from "@dxos/echo";
20
21
  var translations_default = [
21
22
  {
22
23
  "en-US": {
23
- [TemplateType.typename]: {
24
+ [Type.getTypename(TemplateType)]: {
24
25
  "typename label": "Template",
26
+ "typename label_zero": "Templates",
27
+ "typename label_one": "Template",
28
+ "typename label_other": "Templates",
25
29
  "object name placeholder": "New template"
26
30
  },
27
31
  [TEMPLATE_PLUGIN]: {
28
- "plugin name": "Template",
29
- "delete object label": "Delete"
32
+ "plugin name": "Template"
30
33
  }
31
34
  }
32
35
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/TemplatePlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, Capabilities, contributes, Events, defineModule, definePlugin } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { ReactSurface, IntentResolver } from './capabilities';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { TemplateAction, TemplateType } from './types';\n\nexport const TemplatePlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: TemplateType.typename,\n metadata: {\n icon: 'ph--asterisk--regular',\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: TemplateType,\n getIntent: () => createIntent(TemplateAction.Create),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [TemplateType]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { TEMPLATE_PLUGIN } from './meta';\nimport { TemplateType } from './types';\n\nexport default [\n {\n 'en-US': {\n [TemplateType.typename]: {\n 'typename label': 'Template',\n 'object name placeholder': 'New template',\n },\n [TEMPLATE_PLUGIN]: {\n 'plugin name': 'Template',\n 'delete object label': 'Delete', // TODO(burdon): Standard for actions menu.\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,cAAcC,aAAaC,QAAQC,cAAcC,oBAAoB;AAC5F,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,yBAAyB;AAClC,SAASC,wBAAwB;;;ACHjC,SAASC,YAAY;AAEd,IAAMC,iBAAiBC,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACA9C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACE,aAAaC,QAAQ,GAAG;QACvB,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,GAAkB;QACjB,eAAe;QACf,uBAAuB;MACzB;IACF;EACF;;;;AFLK,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAU,MACRC,YAAYC,aAAaI,UAAU;MACjCV,IAAIW,aAAaC;MACjBC,UAAU;QACRC,MAAM;MACR;IACF,CAAA;EACJ,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAac,aAAaC;IAC1BZ,UAAU,MACRC,YACEY,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcT;MACdU,WAAW,MAAMC,aAAaC,eAAeC,MAAM;IACrD,CAAA,CAAA;EAEN,CAAA;EACAzB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAac,aAAaC;IAC1BZ,UAAU,MAAMC,YAAYoB,mBAAmBC,QAAQ;MAACf;KAAa;EACvE,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOyB;IACpBvB,UAAUwB;EACZ,CAAA;EACA7B,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO2B;IACpBzB,UAAU0B;EACZ,CAAA;CACD;",
6
- "names": ["createIntent", "Capabilities", "contributes", "Events", "defineModule", "definePlugin", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "lazy", "IntentResolver", "lazy", "ReactSurface", "TemplateType", "typename", "TEMPLATE_PLUGIN", "TemplatePlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "TemplateType", "typename", "metadata", "icon", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "createIntent", "TemplateAction", "Create", "ClientCapabilities", "Schema", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, Capabilities, contributes, Events, defineModule, definePlugin } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { ReactSurface, IntentResolver } from './capabilities';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { TemplateAction, TemplateType } from './types';\n\nexport const TemplatePlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: TemplateType.typename,\n metadata: {\n icon: 'ph--asterisk--regular',\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: TemplateType,\n getIntent: () => createIntent(TemplateAction.Create),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [TemplateType]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\n\nimport { TEMPLATE_PLUGIN } from './meta';\nimport { TemplateType } from './types';\n\nexport default [\n {\n 'en-US': {\n [Type.getTypename(TemplateType)]: {\n 'typename label': 'Template',\n 'typename label_zero': 'Templates',\n 'typename label_one': 'Template',\n 'typename label_other': 'Templates',\n 'object name placeholder': 'New template',\n },\n [TEMPLATE_PLUGIN]: {\n 'plugin name': 'Template',\n },\n },\n },\n];\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,cAAcC,aAAaC,QAAQC,cAAcC,oBAAoB;AAC5F,SAASC,oBAAoBC,oBAAoB;AACjD,SAASC,yBAAyB;AAClC,SAASC,wBAAwB;;;ACHjC,SAASC,YAAY;AAEd,IAAMC,iBAAiBC,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,YAAY;AAKrB,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,YAAAA,CAAAA,GAAgB;QAChC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;MAC7B;MACA,CAACC,eAAAA,GAAkB;QACjB,eAAe;MACjB;IACF;EACF;;;;AFTK,IAAMC,iBAAiB,MAC5BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAU,MACRC,YAAYC,aAAaI,UAAU;MACjCV,IAAIW,aAAaC;MACjBC,UAAU;QACRC,MAAM;MACR;IACF,CAAA;EACJ,CAAA;EACAf,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAac,aAAaC;IAC1BZ,UAAU,MACRC,YACEY,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcT;MACdU,WAAW,MAAMC,aAAaC,eAAeC,MAAM;IACrD,CAAA,CAAA;EAEN,CAAA;EACAzB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAac,aAAaC;IAC1BZ,UAAU,MAAMC,YAAYoB,mBAAmBC,QAAQ;MAACf;KAAa;EACvE,CAAA;EACAZ,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOyB;IACpBvB,UAAUwB;EACZ,CAAA;EACA7B,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO2B;IACpBzB,UAAU0B;EACZ,CAAA;CACD;",
6
+ "names": ["createIntent", "Capabilities", "contributes", "Events", "defineModule", "definePlugin", "ClientCapabilities", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "lazy", "IntentResolver", "lazy", "ReactSurface", "Type", "Type", "getTypename", "TemplateType", "TEMPLATE_PLUGIN", "TemplatePlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "TemplateType", "typename", "metadata", "icon", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "createIntent", "TemplateAction", "Create", "ClientCapabilities", "Schema", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver"]
7
7
  }
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  TemplateAction,
3
3
  TemplateType
4
- } from "./chunk-3HYGWWDQ.mjs";
4
+ } from "./chunk-GMDXCSM2.mjs";
5
5
 
6
6
  // packages/plugins/plugin-template/src/capabilities/intent-resolver.ts
7
7
  import { contributes, Capabilities, createResolver } from "@dxos/app-framework";
8
- import { live } from "@dxos/react-client/echo";
8
+ import { Obj } from "@dxos/echo";
9
9
  var intent_resolver_default = () => contributes(Capabilities.IntentResolver, createResolver({
10
10
  intent: TemplateAction.Create,
11
11
  resolve: ({ name }) => ({
12
12
  data: {
13
- object: live(TemplateType, {
13
+ object: Obj.make(TemplateType, {
14
14
  name
15
15
  })
16
16
  }
@@ -19,4 +19,4 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, cre
19
19
  export {
20
20
  intent_resolver_default as default
21
21
  };
22
- //# sourceMappingURL=intent-resolver-LEEW7WF5.mjs.map
22
+ //# sourceMappingURL=intent-resolver-THP6KTJU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, createResolver } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\n\nimport { TemplateAction, TemplateType } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: TemplateAction.Create,\n resolve: ({ name }) => ({\n data: { object: Obj.make(TemplateType, { name }) },\n }),\n }),\n );\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,aAAaC,cAAcC,sBAAsB;AAC1D,SAASC,WAAW;AAIpB,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,eAAeC;EACvBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;IACtBC,MAAM;MAAEC,QAAQC,IAAIC,KAAKC,cAAc;QAAEL;MAAK,CAAA;IAAG;EACnD;AACF,CAAA,CAAA;",
6
+ "names": ["contributes", "Capabilities", "createResolver", "Obj", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TemplateAction", "Create", "resolve", "name", "data", "object", "Obj", "make", "TemplateType"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-template/src/meta.ts":{"bytes":1283,"imports":[],"format":"esm"},"packages/plugins/plugin-template/src/types.ts":{"bytes":3984,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts":{"bytes":2138,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-template/src/components/TemplateContainer.tsx":{"bytes":2046,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-template/src/components/index.ts":{"bytes":508,"imports":[{"path":"packages/plugins/plugin-template/src/components/TemplateContainer.tsx","kind":"import-statement","original":"./TemplateContainer"}],"format":"esm"},"packages/plugins/plugin-template/src/capabilities/react-surface.tsx":{"bytes":2635,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-template/src/capabilities/index.ts":{"bytes":1051,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-template/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-template/src/translations.ts":{"bytes":1774,"imports":[{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-template/src/TemplatePlugin.tsx":{"bytes":7433,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-template/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-template/src/index.ts":{"bytes":570,"imports":[{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-template/src/TemplatePlugin.tsx","kind":"import-statement","original":"./TemplatePlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-template/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4858},"packages/plugins/plugin-template/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-3HYGWWDQ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/dist/lib/browser/intent-resolver-LEEW7WF5.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-template/dist/lib/browser/react-surface-QKHEP25U.mjs","kind":"dynamic-import"}],"exports":["TEMPLATE_PLUGIN","TemplatePlugin","meta"],"entryPoint":"packages/plugins/plugin-template/src/index.ts","inputs":{"packages/plugins/plugin-template/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-template/src/TemplatePlugin.tsx":{"bytesInOutput":1561},"packages/plugins/plugin-template/src/capabilities/index.ts":{"bytesInOutput":190},"packages/plugins/plugin-template/src/translations.ts":{"bytesInOutput":301}},"bytes":2483},"packages/plugins/plugin-template/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-template/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-3HYGWWDQ.mjs","kind":"import-statement"}],"exports":["TemplateAction","TemplateType","isObject"],"entryPoint":"packages/plugins/plugin-template/src/types.ts","inputs":{},"bytes":177},"packages/plugins/plugin-template/dist/lib/browser/intent-resolver-LEEW7WF5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1069},"packages/plugins/plugin-template/dist/lib/browser/intent-resolver-LEEW7WF5.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-3HYGWWDQ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts":{"bytesInOutput":369}},"bytes":618},"packages/plugins/plugin-template/dist/lib/browser/react-surface-QKHEP25U.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2262},"packages/plugins/plugin-template/dist/lib/browser/react-surface-QKHEP25U.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-3HYGWWDQ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-template/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-template/src/capabilities/react-surface.tsx":{"bytesInOutput":419},"packages/plugins/plugin-template/src/components/TemplateContainer.tsx":{"bytesInOutput":572},"packages/plugins/plugin-template/src/components/index.ts":{"bytesInOutput":0}},"bytes":1378},"packages/plugins/plugin-template/dist/lib/browser/chunk-3HYGWWDQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2605},"packages/plugins/plugin-template/dist/lib/browser/chunk-3HYGWWDQ.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["TEMPLATE_PLUGIN","TemplateAction","TemplateType","isObject","meta"],"inputs":{"packages/plugins/plugin-template/src/types.ts":{"bytesInOutput":827},"packages/plugins/plugin-template/src/meta.ts":{"bytesInOutput":226}},"bytes":1330}}}
1
+ {"inputs":{"packages/plugins/plugin-template/src/meta.ts":{"bytes":1283,"imports":[],"format":"esm"},"packages/plugins/plugin-template/src/types.ts":{"bytes":3854,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts":{"bytes":2136,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-template/src/components/TemplateContainer.tsx":{"bytes":2058,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-template/src/components/index.ts":{"bytes":508,"imports":[{"path":"packages/plugins/plugin-template/src/components/TemplateContainer.tsx","kind":"import-statement","original":"./TemplateContainer"}],"format":"esm"},"packages/plugins/plugin-template/src/capabilities/react-surface.tsx":{"bytes":2591,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-template/src/capabilities/index.ts":{"bytes":1051,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-template/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-template/src/translations.ts":{"bytes":2148,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-template/src/TemplatePlugin.tsx":{"bytes":7433,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-template/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-template/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-template/src/index.ts":{"bytes":570,"imports":[{"path":"packages/plugins/plugin-template/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-template/src/TemplatePlugin.tsx","kind":"import-statement","original":"./TemplatePlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-template/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5030},"packages/plugins/plugin-template/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-GMDXCSM2.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-template/dist/lib/browser/intent-resolver-THP6KTJU.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-template/dist/lib/browser/react-surface-RRVJU3OV.mjs","kind":"dynamic-import"},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["TEMPLATE_PLUGIN","TemplatePlugin","meta"],"entryPoint":"packages/plugins/plugin-template/src/index.ts","inputs":{"packages/plugins/plugin-template/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-template/src/TemplatePlugin.tsx":{"bytesInOutput":1561},"packages/plugins/plugin-template/src/capabilities/index.ts":{"bytesInOutput":190},"packages/plugins/plugin-template/src/translations.ts":{"bytesInOutput":435}},"bytes":2617},"packages/plugins/plugin-template/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-template/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-GMDXCSM2.mjs","kind":"import-statement"}],"exports":["TemplateAction","TemplateType","isObject"],"entryPoint":"packages/plugins/plugin-template/src/types.ts","inputs":{},"bytes":177},"packages/plugins/plugin-template/dist/lib/browser/intent-resolver-THP6KTJU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1071},"packages/plugins/plugin-template/dist/lib/browser/intent-resolver-THP6KTJU.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-GMDXCSM2.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-template/src/capabilities/intent-resolver.ts":{"bytesInOutput":359}},"bytes":608},"packages/plugins/plugin-template/dist/lib/browser/react-surface-RRVJU3OV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2236},"packages/plugins/plugin-template/dist/lib/browser/react-surface-RRVJU3OV.mjs":{"imports":[{"path":"packages/plugins/plugin-template/dist/lib/browser/chunk-GMDXCSM2.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-template/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-template/src/capabilities/react-surface.tsx":{"bytesInOutput":419},"packages/plugins/plugin-template/src/components/TemplateContainer.tsx":{"bytesInOutput":572},"packages/plugins/plugin-template/src/components/index.ts":{"bytesInOutput":0}},"bytes":1378},"packages/plugins/plugin-template/dist/lib/browser/chunk-GMDXCSM2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2537},"packages/plugins/plugin-template/dist/lib/browser/chunk-GMDXCSM2.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["TEMPLATE_PLUGIN","TemplateAction","TemplateType","isObject","meta"],"inputs":{"packages/plugins/plugin-template/src/types.ts":{"bytesInOutput":847},"packages/plugins/plugin-template/src/meta.ts":{"bytesInOutput":226}},"bytes":1350}}}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TEMPLATE_PLUGIN,
3
3
  isObject
4
- } from "./chunk-3HYGWWDQ.mjs";
4
+ } from "./chunk-GMDXCSM2.mjs";
5
5
 
6
6
  // packages/plugins/plugin-template/src/capabilities/react-surface.tsx
7
7
  import React2 from "react";
@@ -36,4 +36,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, createS
36
36
  export {
37
37
  react_surface_default as default
38
38
  };
39
- //# sourceMappingURL=react-surface-QKHEP25U.mjs.map
39
+ //# sourceMappingURL=react-surface-RRVJU3OV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/TemplateContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\n\nimport { TemplateContainer } from '../components';\nimport { TEMPLATE_PLUGIN } from '../meta';\nimport { isObject } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.ReactSurface,\n createSurface({\n id: TEMPLATE_PLUGIN,\n role: 'article',\n filter: (data): data is { subject: Obj.Any } => isObject(data.subject),\n component: ({ data, role }) => <TemplateContainer role={role} object={data.subject} />,\n }),\n );\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Obj } from '@dxos/echo';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nexport const TemplateContainer = ({ object }: { object: Obj.Any; role: string }) => {\n return (\n <StackItem.Content>\n <pre className='m-4 p-2 ring'>\n <span>{fullyQualifiedId(object)}</span>\n </pre>\n </StackItem.Content>\n );\n};\n"],
5
+ "mappings": ";;;;;;AAIA,OAAOA,YAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;;;;ACFzD,OAAOC,WAAW;AAGlB,SAASC,wBAAwB;AACjC,SAASC,iBAAiB;AAEnB,IAAMC,oBAAoB,CAAC,EAAEC,OAAM,MAAqC;;;AAC7E,WACE,sBAAA,cAACC,UAAUC,SAAO,MAChB,sBAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACC,QAAAA,MAAMC,iBAAiBN,MAAAA,CAAAA,CAAAA,CAAAA;;;;AAIhC;;;ADLA,IAAA,wBAAe,MACbO,YACEC,aAAaC,cACbC,cAAc;EACZC,IAAIC;EACJC,MAAM;EACNC,QAAQ,CAACC,SAAuCC,SAASD,KAAKE,OAAO;EACrEC,WAAW,CAAC,EAAEH,MAAMF,KAAI,MAAO,gBAAAM,OAAA,cAACC,mBAAAA;IAAkBP;IAAYQ,QAAQN,KAAKE;;AAC7E,CAAA,CAAA;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "React", "fullyQualifiedId", "StackItem", "TemplateContainer", "object", "StackItem", "Content", "pre", "className", "span", "fullyQualifiedId", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "TEMPLATE_PLUGIN", "role", "filter", "data", "isObject", "subject", "component", "React", "TemplateContainer", "object"]
7
+ }
@@ -2,7 +2,7 @@ import {
2
2
  TemplateAction,
3
3
  TemplateType,
4
4
  isObject
5
- } from "./chunk-3HYGWWDQ.mjs";
5
+ } from "./chunk-GMDXCSM2.mjs";
6
6
  export {
7
7
  TemplateAction,
8
8
  TemplateType,
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type AnyLiveObject } from '@dxos/react-client/echo';
2
+ import { type Obj } from '@dxos/echo';
3
3
  export declare const TemplateContainer: ({ object }: {
4
- object: AnyLiveObject<any>;
4
+ object: Obj.Any;
5
5
  role: string;
6
6
  }) => React.JSX.Element;
7
7
  //# sourceMappingURL=TemplateContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/TemplateContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,yBAAyB,CAAC;AAG/E,eAAO,MAAM,iBAAiB,GAAI,YAAY;IAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAQzF,CAAC"}
1
+ {"version":3,"file":"TemplateContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/TemplateContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAItC,eAAO,MAAM,iBAAiB,GAAI,YAAY;IAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAQ9E,CAAC"}
@@ -1,13 +1,22 @@
1
- import { TemplateType } from './types';
2
1
  declare const _default: {
3
2
  'en-US': {
4
- [TemplateType.typename]: {
3
+ [x: string]: {
5
4
  'typename label': string;
5
+ 'typename label_zero': string;
6
+ 'typename label_one': string;
7
+ 'typename label_other': string;
6
8
  'object name placeholder': string;
9
+ 'plugin name'?: undefined;
10
+ } | {
11
+ 'plugin name': string;
12
+ 'typename label'?: undefined;
13
+ 'typename label_zero'?: undefined;
14
+ 'typename label_one'?: undefined;
15
+ 'typename label_other'?: undefined;
16
+ 'object name placeholder'?: undefined;
7
17
  };
8
18
  "dxos.org/plugin/template": {
9
19
  'plugin name': string;
10
- 'delete object label': string;
11
20
  };
12
21
  };
13
22
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;;;QAKjC,CAAC,YAAY,CAAC,QAAQ,CAAC;;;UAGtB;;;;;;;AANP,wBAaE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AASA,wBAeE"}
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'effect';
2
- import { type AnyLiveObject } from '@dxos/react-client/echo';
2
+ import { Obj } from '@dxos/echo';
3
3
  export declare namespace TemplateAction {
4
4
  const Create_base: Schema.TaggedClass<Create, "dxos.org/plugin/template/action/create", {
5
5
  readonly _tag: Schema.tag<"dxos.org/plugin/template/action/create">;
@@ -15,7 +15,7 @@ export declare namespace TemplateAction {
15
15
  }
16
16
  export {};
17
17
  }
18
- export declare const isObject: (object: unknown) => object is AnyLiveObject<any>;
18
+ export declare const isObject: (object: unknown) => object is Obj.Any;
19
19
  declare const TemplateType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
20
20
  name: Schema.optional<typeof Schema.String>;
21
21
  }, import("@dxos/echo-schema").TypedObjectOptions>, Schema.Struct.Encoded<{
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIjG,yBAAiB,cAAc,CAAC;;;;;;;;;;;IAG9B,MAAM,OAAO,MAAO,SAAQ,WAO1B;KAAG;;CACN;AAID,eAAO,MAAM,QAAQ,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,aAAa,CAAC,GAAG,CAErE,CAAC;;;;;;AAEF,qBAAa,YAAa,SAAQ,iBAEhC;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAMjC,yBAAiB,cAAc,CAAC;;;;;;;;;;;IAG9B,MAAM,OAAO,MAAO,SAAQ,WAO1B;KAAG;;CACN;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,GAAG,CAAC,GAGxD,CAAC;;;;;;AAEF,qBAAa,YAAa,SAAQ,iBAKhC;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-template",
3
- "version": "0.8.3-main.672df60",
3
+ "version": "0.8.3-staging.0fa589b",
4
4
  "description": "Template for new plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -34,15 +34,15 @@
34
34
  "@preact-signals/safe-react": "^0.9.0",
35
35
  "@preact/signals-core": "^1.9.0",
36
36
  "effect": "3.14.21",
37
- "@dxos/app-framework": "0.8.3-main.672df60",
38
- "@dxos/async": "0.8.3-main.672df60",
39
- "@dxos/echo": "0.8.3-main.672df60",
40
- "@dxos/echo-schema": "0.8.3-main.672df60",
41
- "@dxos/plugin-client": "0.8.3-main.672df60",
42
- "@dxos/plugin-graph": "0.8.3-main.672df60",
43
- "@dxos/plugin-space": "0.8.3-main.672df60",
44
- "@dxos/react-client": "0.8.3-main.672df60",
45
- "@dxos/react-ui-stack": "0.8.3-main.672df60"
37
+ "@dxos/app-framework": "0.8.3-staging.0fa589b",
38
+ "@dxos/async": "0.8.3-staging.0fa589b",
39
+ "@dxos/echo-schema": "0.8.3-staging.0fa589b",
40
+ "@dxos/plugin-graph": "0.8.3-staging.0fa589b",
41
+ "@dxos/echo": "0.8.3-staging.0fa589b",
42
+ "@dxos/plugin-space": "0.8.3-staging.0fa589b",
43
+ "@dxos/react-client": "0.8.3-staging.0fa589b",
44
+ "@dxos/plugin-client": "0.8.3-staging.0fa589b",
45
+ "@dxos/react-ui-stack": "0.8.3-staging.0fa589b"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@phosphor-icons/react": "^2.1.5",
@@ -51,17 +51,17 @@
51
51
  "react": "~18.2.0",
52
52
  "react-dom": "~18.2.0",
53
53
  "vite": "5.4.7",
54
- "@dxos/react-ui-theme": "0.8.3-main.672df60",
55
- "@dxos/react-ui": "0.8.3-main.672df60",
56
- "@dxos/storybook-utils": "0.8.3-main.672df60"
54
+ "@dxos/react-ui": "0.8.3-staging.0fa589b",
55
+ "@dxos/react-ui-theme": "0.8.3-staging.0fa589b",
56
+ "@dxos/storybook-utils": "0.8.3-staging.0fa589b"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@phosphor-icons/react": "^2.1.5",
60
60
  "effect": "^3.13.3",
61
61
  "react": "~18.2.0",
62
62
  "react-dom": "~18.2.0",
63
- "@dxos/react-ui-theme": "0.8.3-main.672df60",
64
- "@dxos/react-ui": "0.8.3-main.672df60"
63
+ "@dxos/react-ui": "0.8.3-staging.0fa589b",
64
+ "@dxos/react-ui-theme": "0.8.3-staging.0fa589b"
65
65
  },
66
66
  "publishConfig": {
67
67
  "access": "public"
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { contributes, Capabilities, createResolver } from '@dxos/app-framework';
6
- import { live } from '@dxos/react-client/echo';
6
+ import { Obj } from '@dxos/echo';
7
7
 
8
8
  import { TemplateAction, TemplateType } from '../types';
9
9
 
@@ -13,7 +13,7 @@ export default () =>
13
13
  createResolver({
14
14
  intent: TemplateAction.Create,
15
15
  resolve: ({ name }) => ({
16
- data: { object: live(TemplateType, { name }) },
16
+ data: { object: Obj.make(TemplateType, { name }) },
17
17
  }),
18
18
  }),
19
19
  );
@@ -5,7 +5,7 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
8
- import { type AnyLiveObject } from '@dxos/react-client/echo';
8
+ import { type Obj } from '@dxos/echo';
9
9
 
10
10
  import { TemplateContainer } from '../components';
11
11
  import { TEMPLATE_PLUGIN } from '../meta';
@@ -17,7 +17,7 @@ export default () =>
17
17
  createSurface({
18
18
  id: TEMPLATE_PLUGIN,
19
19
  role: 'article',
20
- filter: (data): data is { subject: AnyLiveObject<any> } => isObject(data.subject),
20
+ filter: (data): data is { subject: Obj.Any } => isObject(data.subject),
21
21
  component: ({ data, role }) => <TemplateContainer role={role} object={data.subject} />,
22
22
  }),
23
23
  );
@@ -4,10 +4,11 @@
4
4
 
5
5
  import React from 'react';
6
6
 
7
- import { type AnyLiveObject, fullyQualifiedId } from '@dxos/react-client/echo';
7
+ import { type Obj } from '@dxos/echo';
8
+ import { fullyQualifiedId } from '@dxos/react-client/echo';
8
9
  import { StackItem } from '@dxos/react-ui-stack';
9
10
 
10
- export const TemplateContainer = ({ object }: { object: AnyLiveObject<any>; role: string }) => {
11
+ export const TemplateContainer = ({ object }: { object: Obj.Any; role: string }) => {
11
12
  return (
12
13
  <StackItem.Content>
13
14
  <pre className='m-4 p-2 ring'>
@@ -2,19 +2,23 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
+ import { Type } from '@dxos/echo';
6
+
5
7
  import { TEMPLATE_PLUGIN } from './meta';
6
8
  import { TemplateType } from './types';
7
9
 
8
10
  export default [
9
11
  {
10
12
  'en-US': {
11
- [TemplateType.typename]: {
13
+ [Type.getTypename(TemplateType)]: {
12
14
  'typename label': 'Template',
15
+ 'typename label_zero': 'Templates',
16
+ 'typename label_one': 'Template',
17
+ 'typename label_other': 'Templates',
13
18
  'object name placeholder': 'New template',
14
19
  },
15
20
  [TEMPLATE_PLUGIN]: {
16
21
  'plugin name': 'Template',
17
- 'delete object label': 'Delete', // TODO(burdon): Standard for actions menu.
18
22
  },
19
23
  },
20
24
  },
package/src/types.ts CHANGED
@@ -4,8 +4,9 @@
4
4
 
5
5
  import { Schema } from 'effect';
6
6
 
7
+ import { Obj } from '@dxos/echo';
7
8
  import { TypedObject } from '@dxos/echo-schema';
8
- import { isEchoObject, ReactiveObjectSchema, type AnyLiveObject } from '@dxos/react-client/echo';
9
+ import { ReactiveObjectSchema } from '@dxos/react-client/echo';
9
10
 
10
11
  import { TEMPLATE_PLUGIN } from './meta';
11
12
 
@@ -22,12 +23,14 @@ export namespace TemplateAction {
22
23
  }) {}
23
24
  }
24
25
 
25
- // TODO(burdon): Warning: Encountered two children with the same key, `dxos.org/plugin/template`.
26
- // TODO(burdon): Better way to detect?
27
- export const isObject = (object: unknown): object is AnyLiveObject<any> => {
28
- return isEchoObject(object) && object.type === 'template';
26
+ export const isObject = (object: unknown): object is Obj.Any => {
27
+ // TODO(dmaretskyi): Can this be Obj.instanceOf(TemplateType)?
28
+ return Obj.isObject(object) && (object as any).type === 'template';
29
29
  };
30
30
 
31
- export class TemplateType extends TypedObject({ typename: 'dxos.org/type/Template', version: '0.1.0' })({
31
+ export class TemplateType extends TypedObject({
32
+ typename: 'dxos.org/type/Template',
33
+ version: '0.1.0',
34
+ })({
32
35
  name: Schema.optional(Schema.String),
33
36
  }) {}
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types.ts", "../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { TypedObject } from '@dxos/echo-schema';\nimport { isEchoObject, ReactiveObjectSchema, type AnyLiveObject } from '@dxos/react-client/echo';\n\nimport { TEMPLATE_PLUGIN } from './meta';\n\nexport namespace TemplateAction {\n const TEMPLATE_ACTION = `${TEMPLATE_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${TEMPLATE_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: ReactiveObjectSchema,\n }),\n }) {}\n}\n\n// TODO(burdon): Warning: Encountered two children with the same key, `dxos.org/plugin/template`.\n// TODO(burdon): Better way to detect?\nexport const isObject = (object: unknown): object is AnyLiveObject<any> => {\n return isEchoObject(object) && object.type === 'template';\n};\n\nexport class TemplateType extends TypedObject({ typename: 'dxos.org/type/Template', version: '0.1.0' })({\n name: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const TEMPLATE_PLUGIN = 'dxos.org/plugin/template';\n\nexport const meta: PluginMeta = {\n id: TEMPLATE_PLUGIN,\n name: 'Template',\n icon: 'ph--asterisk--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-template',\n};\n"],
5
- "mappings": ";AAIA,SAASA,cAAc;AAEvB,SAASC,mBAAmB;AAC5B,SAASC,cAAcC,4BAAgD;;;ACDhE,IAAMC,kBAAkB;AAExB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,MAAM;EACNC,QAAQ;AACV;;;UDFiBC,iBAAAA;AACf,QAAMC,kBAAkB,GAAGC,eAAAA;EAEpB,MAAMC,eAAeC,OAAOC,YAAW,EAAW,GAAGJ,eAAAA,WAA0B;IACpFK,OAAOF,OAAOG,OAAO;MACnBC,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;IACrC,CAAA;IACAC,QAAQP,OAAOG,OAAO;MACpBK,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;kBAPSV,SAAAA;AAQf,GAXiBH,mBAAAA,iBAAAA,CAAAA,EAAAA;AAeV,IAAMc,WAAW,CAACF,WAAAA;AACvB,SAAOG,aAAaH,MAAAA,KAAWA,OAAOI,SAAS;AACjD;AAEO,IAAMC,eAAN,cAA2BC,YAAY;EAAEC,UAAU;EAA0BC,SAAS;AAAQ,CAAA,EAAG;EACtGZ,MAAMJ,OAAOK,SAASL,OAAOM,MAAM;AACrC,CAAA,EAAA;AAAI;;",
6
- "names": ["Schema", "TypedObject", "isEchoObject", "ReactiveObjectSchema", "TEMPLATE_PLUGIN", "meta", "id", "name", "icon", "source", "TemplateAction", "TEMPLATE_ACTION", "TEMPLATE_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "ReactiveObjectSchema", "isObject", "isEchoObject", "type", "TemplateType", "TypedObject", "typename", "version"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, createResolver } from '@dxos/app-framework';\nimport { live } from '@dxos/react-client/echo';\n\nimport { TemplateAction, TemplateType } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: TemplateAction.Create,\n resolve: ({ name }) => ({\n data: { object: live(TemplateType, { name }) },\n }),\n }),\n );\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,aAAaC,cAAcC,sBAAsB;AAC1D,SAASC,YAAY;AAIrB,IAAA,0BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,eAAeC;EACvBC,SAAS,CAAC,EAAEC,KAAI,OAAQ;IACtBC,MAAM;MAAEC,QAAQC,KAAKC,cAAc;QAAEJ;MAAK,CAAA;IAAG;EAC/C;AACF,CAAA,CAAA;",
6
- "names": ["contributes", "Capabilities", "createResolver", "live", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "TemplateAction", "Create", "resolve", "name", "data", "object", "live", "TemplateType"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/TemplateContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { type AnyLiveObject } from '@dxos/react-client/echo';\n\nimport { TemplateContainer } from '../components';\nimport { TEMPLATE_PLUGIN } from '../meta';\nimport { isObject } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.ReactSurface,\n createSurface({\n id: TEMPLATE_PLUGIN,\n role: 'article',\n filter: (data): data is { subject: AnyLiveObject<any> } => isObject(data.subject),\n component: ({ data, role }) => <TemplateContainer role={role} object={data.subject} />,\n }),\n );\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AnyLiveObject, fullyQualifiedId } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nexport const TemplateContainer = ({ object }: { object: AnyLiveObject<any>; role: string }) => {\n return (\n <StackItem.Content>\n <pre className='m-4 p-2 ring'>\n <span>{fullyQualifiedId(object)}</span>\n </pre>\n </StackItem.Content>\n );\n};\n"],
5
- "mappings": ";;;;;;AAIA,OAAOA,YAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;;;;ACFzD,OAAOC,WAAW;AAElB,SAA6BC,wBAAwB;AACrD,SAASC,iBAAiB;AAEnB,IAAMC,oBAAoB,CAAC,EAAEC,OAAM,MAAgD;;;AACxF,WACE,sBAAA,cAACC,UAAUC,SAAO,MAChB,sBAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACC,QAAAA,MAAMC,iBAAiBN,MAAAA,CAAAA,CAAAA,CAAAA;;;;AAIhC;;;ADJA,IAAA,wBAAe,MACbO,YACEC,aAAaC,cACbC,cAAc;EACZC,IAAIC;EACJC,MAAM;EACNC,QAAQ,CAACC,SAAkDC,SAASD,KAAKE,OAAO;EAChFC,WAAW,CAAC,EAAEH,MAAMF,KAAI,MAAO,gBAAAM,OAAA,cAACC,mBAAAA;IAAkBP;IAAYQ,QAAQN,KAAKE;;AAC7E,CAAA,CAAA;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "React", "fullyQualifiedId", "StackItem", "TemplateContainer", "object", "StackItem", "Content", "pre", "className", "span", "fullyQualifiedId", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "TEMPLATE_PLUGIN", "role", "filter", "data", "isObject", "subject", "component", "React", "TemplateContainer", "object"]
7
- }