@dxos/plugin-client 0.7.5-labs.ea4b4c2 → 0.7.5-labs.f400bbc

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 (98) hide show
  1. package/dist/lib/browser/{app-graph-builder-JRQVJHEH.mjs → app-graph-builder-ON64R7SO.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-GYCVFUTM.mjs → chunk-7DPLXOMO.mjs} +2 -2
  3. package/dist/lib/browser/chunk-7DPLXOMO.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-BFNE5KCF.mjs → chunk-EYBZZHSM.mjs} +2 -2
  5. package/dist/lib/browser/{chunk-MSK3TLIH.mjs → chunk-GHEQL2E6.mjs} +1 -2
  6. package/dist/lib/browser/{chunk-MSK3TLIH.mjs.map → chunk-GHEQL2E6.mjs.map} +3 -3
  7. package/dist/lib/browser/{client-BY3RGW3H.mjs → client-A7YSVURS.mjs} +2 -2
  8. package/dist/lib/browser/index.mjs +9 -9
  9. package/dist/lib/browser/index.mjs.map +2 -2
  10. package/dist/lib/browser/{intent-resolver-LWSDA6RM.mjs → intent-resolver-XZ2FBRQN.mjs} +13 -11
  11. package/dist/lib/browser/{intent-resolver-LWSDA6RM.mjs.map → intent-resolver-XZ2FBRQN.mjs.map} +3 -3
  12. package/dist/lib/browser/meta.json +1 -1
  13. package/dist/lib/browser/{react-context-PHX2CVI7.mjs → react-context-R3SG55F5.mjs} +2 -2
  14. package/dist/lib/browser/{react-surface-6BINNBEX.mjs → react-surface-XGOUHVIH.mjs} +3 -3
  15. package/dist/lib/browser/{schema-AL34NY2M.mjs → schema-J4MJIXRP.mjs} +3 -13
  16. package/dist/lib/browser/schema-J4MJIXRP.mjs.map +7 -0
  17. package/dist/lib/browser/types.mjs +1 -1
  18. package/dist/lib/node/{app-graph-builder-R6QR2VLZ.cjs → app-graph-builder-RW7ESEX3.cjs} +6 -6
  19. package/dist/lib/node/{chunk-3P5BBMXO.cjs → chunk-7LVBFGKQ.cjs} +13 -13
  20. package/dist/lib/node/{chunk-NZKGFE46.cjs → chunk-TREVKZCJ.cjs} +5 -5
  21. package/dist/lib/node/chunk-TREVKZCJ.cjs.map +7 -0
  22. package/dist/lib/node/{chunk-ZI7AV5RP.cjs → chunk-UHIGZJQL.cjs} +4 -5
  23. package/dist/lib/node/{chunk-ZI7AV5RP.cjs.map → chunk-UHIGZJQL.cjs.map} +3 -3
  24. package/dist/lib/node/{client-JCI7A3IV.cjs → client-2RQATBB6.cjs} +6 -6
  25. package/dist/lib/node/index.cjs +10 -10
  26. package/dist/lib/node/index.cjs.map +2 -2
  27. package/dist/lib/node/{intent-resolver-ODZVEAZ2.cjs → intent-resolver-MKNGTBJU.cjs} +34 -32
  28. package/dist/lib/node/{intent-resolver-ODZVEAZ2.cjs.map → intent-resolver-MKNGTBJU.cjs.map} +3 -3
  29. package/dist/lib/node/meta.json +1 -1
  30. package/dist/lib/node/{react-context-WMOFXPT4.cjs → react-context-TD6VGBVA.cjs} +6 -6
  31. package/dist/lib/node/{react-surface-KRKGFWS3.cjs → react-surface-IY7GXEGU.cjs} +21 -21
  32. package/dist/lib/node/{schema-HW4W3QYU.cjs → schema-JXJS75HQ.cjs} +8 -18
  33. package/dist/lib/node/schema-JXJS75HQ.cjs.map +7 -0
  34. package/dist/lib/node/types.cjs +2 -2
  35. package/dist/lib/node/types.cjs.map +1 -1
  36. package/dist/lib/node-esm/{app-graph-builder-WXXGCOJB.mjs → app-graph-builder-TDYRWNI7.mjs} +2 -2
  37. package/dist/lib/node-esm/{chunk-2FPF25KT.mjs → chunk-CRF22MJJ.mjs} +2 -2
  38. package/dist/lib/node-esm/{chunk-M2NR7HNG.mjs → chunk-QJMF2MWP.mjs} +2 -2
  39. package/dist/lib/node-esm/chunk-QJMF2MWP.mjs.map +7 -0
  40. package/dist/lib/node-esm/{chunk-B73LKPGU.mjs → chunk-T35SFKK3.mjs} +1 -2
  41. package/dist/lib/node-esm/{chunk-B73LKPGU.mjs.map → chunk-T35SFKK3.mjs.map} +3 -3
  42. package/dist/lib/node-esm/{client-XWK653HB.mjs → client-36DKBSB7.mjs} +2 -2
  43. package/dist/lib/node-esm/index.mjs +9 -9
  44. package/dist/lib/node-esm/index.mjs.map +2 -2
  45. package/dist/lib/node-esm/{intent-resolver-IHYGJREB.mjs → intent-resolver-M72XLGTY.mjs} +13 -11
  46. package/dist/lib/node-esm/{intent-resolver-IHYGJREB.mjs.map → intent-resolver-M72XLGTY.mjs.map} +3 -3
  47. package/dist/lib/node-esm/meta.json +1 -1
  48. package/dist/lib/node-esm/{react-context-EEGDXBWA.mjs → react-context-ZOGDOWJ2.mjs} +2 -2
  49. package/dist/lib/node-esm/{react-surface-OQFDVSAP.mjs → react-surface-F3PDFJMV.mjs} +3 -3
  50. package/dist/lib/node-esm/{schema-74LVJ3EU.mjs → schema-XM4HBLIX.mjs} +3 -13
  51. package/dist/lib/node-esm/schema-XM4HBLIX.mjs.map +7 -0
  52. package/dist/lib/node-esm/types.mjs +1 -1
  53. package/dist/types/src/capabilities/app-graph-builder.d.ts +110 -110
  54. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/capabilities.d.ts +0 -1
  56. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/index.d.ts +111 -111
  58. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/schema.d.ts.map +1 -1
  61. package/dist/types/src/components/IdentityDialog.d.ts +1 -2
  62. package/dist/types/src/components/IdentityDialog.d.ts.map +1 -1
  63. package/dist/types/src/components/JoinDialog.d.ts +1 -2
  64. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  65. package/dist/types/src/components/ManageCredentialsDialog.d.ts +1 -2
  66. package/dist/types/src/components/ManageCredentialsDialog.d.ts.map +1 -1
  67. package/dist/types/src/components/RecoveryCodeDialog.d.ts +1 -2
  68. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
  69. package/dist/types/src/components/RecoverySetupDialog.d.ts +1 -2
  70. package/dist/types/src/components/RecoverySetupDialog.d.ts.map +1 -1
  71. package/dist/types/src/types.d.ts +1 -1
  72. package/package.json +20 -19
  73. package/src/ClientPlugin.ts +2 -2
  74. package/src/capabilities/capabilities.ts +0 -2
  75. package/src/capabilities/intent-resolver.ts +9 -4
  76. package/src/capabilities/schema.ts +3 -13
  77. package/src/types.ts +1 -1
  78. package/dist/lib/browser/chunk-GYCVFUTM.mjs.map +0 -7
  79. package/dist/lib/browser/schema-AL34NY2M.mjs.map +0 -7
  80. package/dist/lib/node/chunk-NZKGFE46.cjs.map +0 -7
  81. package/dist/lib/node/schema-HW4W3QYU.cjs.map +0 -7
  82. package/dist/lib/node-esm/chunk-M2NR7HNG.mjs.map +0 -7
  83. package/dist/lib/node-esm/schema-74LVJ3EU.mjs.map +0 -7
  84. /package/dist/lib/browser/{app-graph-builder-JRQVJHEH.mjs.map → app-graph-builder-ON64R7SO.mjs.map} +0 -0
  85. /package/dist/lib/browser/{chunk-BFNE5KCF.mjs.map → chunk-EYBZZHSM.mjs.map} +0 -0
  86. /package/dist/lib/browser/{client-BY3RGW3H.mjs.map → client-A7YSVURS.mjs.map} +0 -0
  87. /package/dist/lib/browser/{react-context-PHX2CVI7.mjs.map → react-context-R3SG55F5.mjs.map} +0 -0
  88. /package/dist/lib/browser/{react-surface-6BINNBEX.mjs.map → react-surface-XGOUHVIH.mjs.map} +0 -0
  89. /package/dist/lib/node/{app-graph-builder-R6QR2VLZ.cjs.map → app-graph-builder-RW7ESEX3.cjs.map} +0 -0
  90. /package/dist/lib/node/{chunk-3P5BBMXO.cjs.map → chunk-7LVBFGKQ.cjs.map} +0 -0
  91. /package/dist/lib/node/{client-JCI7A3IV.cjs.map → client-2RQATBB6.cjs.map} +0 -0
  92. /package/dist/lib/node/{react-context-WMOFXPT4.cjs.map → react-context-TD6VGBVA.cjs.map} +0 -0
  93. /package/dist/lib/node/{react-surface-KRKGFWS3.cjs.map → react-surface-IY7GXEGU.cjs.map} +0 -0
  94. /package/dist/lib/node-esm/{app-graph-builder-WXXGCOJB.mjs.map → app-graph-builder-TDYRWNI7.mjs.map} +0 -0
  95. /package/dist/lib/node-esm/{chunk-2FPF25KT.mjs.map → chunk-CRF22MJJ.mjs.map} +0 -0
  96. /package/dist/lib/node-esm/{client-XWK653HB.mjs.map → client-36DKBSB7.mjs.map} +0 -0
  97. /package/dist/lib/node-esm/{react-context-EEGDXBWA.mjs.map → react-context-ZOGDOWJ2.mjs.map} +0 -0
  98. /package/dist/lib/node-esm/{react-surface-OQFDVSAP.mjs.map → react-surface-F3PDFJMV.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ClientPlugin.ts", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, defineModule, definePlugin, Events, oneOf } from '@dxos/app-framework';\n\nimport { Client, AppGraphBuilder, IntentResolver, ReactContext, ReactSurface, Schema } from './capabilities';\nimport { ClientEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { type ClientPluginOptions } from './types';\n\nexport const ClientPlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'deviceInvitationCode',\n onReset,\n ...options\n}: ClientPluginOptions) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/client`,\n activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),\n activatesAfter: [ClientEvents.ClientReady],\n activate: (context) => Client({ ...options, context }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupSurfaces,\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntents,\n activate: (context) => IntentResolver({ context, onReset }),\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n ]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(async () => import('./app-graph-builder'));\nexport const Client = lazy(async () => import('./client'));\nexport const IntentResolver = lazy(async () => import('./intent-resolver'));\nexport const ReactContext = lazy(async () => import('./react-context'));\nexport const ReactSurface = lazy(async () => import('./react-surface'));\nexport const Schema = lazy(async () => import('./schema'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CLIENT_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [CLIENT_PLUGIN]: {\n 'open shell label': 'Open HALO',\n 'manage credentials dialog title': 'Manage Account Recovery',\n 'recovery setup dialog title': 'Account Recovery',\n 'recovery setup dialog description':\n 'In order to recover your account you need to register a recovery credential. Passkeys are the recommended way to do this, they can be stored in your browser or in a password manager.',\n 'create passkey label': 'Create Passkey',\n 'create passkey description':\n 'A passkey is a secure and easy to use credential that can be used to recover your account.',\n 'create recovery code label': 'Create Recovery Code',\n 'create recovery code description': 'A recovery code is 12 word phrase representing a private key.',\n 'recovery code dialog title': 'Recovery Code',\n 'recovery code dialog description':\n 'This is your identity recovery code, store it in a safe place. You can use it to recover your identity if you ever lose access to your devices.',\n 'recovery code dialog warning 1': 'NOTE: This code will not be displayed again.',\n 'recovery code dialog warning 2':\n 'It is your private key for recovering DXOS data. Anyone with this key will be able to gain access to your account.',\n 'recovery code confirmation label': 'Please confirm you have saved the code.',\n 'continue label': 'Continue',\n },\n },\n },\n];\n"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, defineModule, definePlugin, Events, oneOf } from '@dxos/app-framework';\n\nimport { Client, AppGraphBuilder, IntentResolver, ReactContext, ReactSurface, Schema } from './capabilities';\nimport { ClientEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { type ClientPluginOptions } from './types';\n\nexport const ClientPlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'deviceInvitationCode',\n onReset,\n ...options\n}: ClientPluginOptions) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/client`,\n activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),\n activatesAfter: [ClientEvents.ClientReady],\n activate: (context) => Client({ ...options, context }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-context`,\n activatesOn: Events.Startup,\n activate: ReactContext,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, onReset }),\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n ]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(async () => import('./app-graph-builder'));\nexport const Client = lazy(async () => import('./client'));\nexport const IntentResolver = lazy(async () => import('./intent-resolver'));\nexport const ReactContext = lazy(async () => import('./react-context'));\nexport const ReactSurface = lazy(async () => import('./react-surface'));\nexport const Schema = lazy(async () => import('./schema'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CLIENT_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [CLIENT_PLUGIN]: {\n 'open shell label': 'Open HALO',\n 'manage credentials dialog title': 'Manage Account Recovery',\n 'recovery setup dialog title': 'Account Recovery',\n 'recovery setup dialog description':\n 'In order to recover your account you need to register a recovery credential. Passkeys are the recommended way to do this, they can be stored in your browser or in a password manager.',\n 'create passkey label': 'Create Passkey',\n 'create passkey description':\n 'A passkey is a secure and easy to use credential that can be used to recover your account.',\n 'create recovery code label': 'Create Recovery Code',\n 'create recovery code description': 'A recovery code is 12 word phrase representing a private key.',\n 'recovery code dialog title': 'Recovery Code',\n 'recovery code dialog description':\n 'This is your identity recovery code, store it in a safe place. You can use it to recover your identity if you ever lose access to your devices.',\n 'recovery code dialog warning 1': 'NOTE: This code will not be displayed again.',\n 'recovery code dialog warning 2':\n 'It is your private key for recovering DXOS data. Anyone with this key will be able to gain access to your account.',\n 'recovery code confirmation label': 'Please confirm you have saved the code.',\n 'continue label': 'Continue',\n },\n },\n },\n];\n"],
5
5
  "mappings": ";;;;;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,cAAcC,cAAcC,QAAQC,aAAa;;;ACArF,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,YAAY,OAAO,kCAAA,CAAA;AAChD,IAAMC,SAASD,KAAK,YAAY,OAAO,uBAAA,CAAA;AACvC,IAAME,iBAAiBF,KAAK,YAAY,OAAO,gCAAA,CAAA;AAC/C,IAAMG,eAAeH,KAAK,YAAY,OAAO,8BAAA,CAAA;AAC7C,IAAMI,eAAeJ,KAAK,YAAY,OAAO,8BAAA,CAAA;AAC7C,IAAMK,SAASL,KAAK,YAAY,OAAO,uBAAA,CAAA;;;ACL9C,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACM,aAAAA,GAAgB;QACf,oBAAoB;QACpB,mCAAmC;QACnC,+BAA+B;QAC/B,qCACE;QACF,wBAAwB;QACxB,8BACE;QACF,8BAA8B;QAC9B,oCAAoC;QACpC,8BAA8B;QAC9B,oCACE;QACF,kCAAkC;QAClC,kCACE;QACF,oCAAoC;QACpC,kBAAkB;MACpB;IACF;EACF;;;;AFlBK,IAAMC,eAAe,CAAC,EAC3BC,gBAAgBC,OAAOC,SAASC,QAChCC,kBAAkB,wBAClBC,SACA,GAAGC,QAAAA,MACiB;AACpB,QAAMC,sBAAsB,CAACC,mBAAAA;AAC3B,UAAMC,UAAU,IAAIC,IAAIV,aAAAA;AACxBS,YAAQE,aAAaC,IAAIR,iBAAiBI,cAAAA;AAC1C,WAAOC,QAAQI,SAAQ;EACzB;AAEA,SAAOC,aAAaC,MAAM;IACxBC,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaC,MAAMC,OAAOC,SAASD,OAAOE,aAAa;MACvDC,gBAAgB;QAACC,aAAaC;;MAC9BC,UAAU,CAACC,YAAYC,OAAO;QAAE,GAAGtB;QAASqB;MAAQ,CAAA;IACtD,CAAA;IACAX,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaM,aAAaC;MAC1BI,iBAAiB;QAACL,aAAaM;;MAC/BJ,UAAUK;IACZ,CAAA;IACAf,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaE,OAAOC;MACpBK,UAAUM;IACZ,CAAA;IACAhB,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaE,OAAOa;MACpBP,UAAU,MAAMQ,aAAa;QAAE3B;MAAoB,CAAA;IACrD,CAAA;IACAS,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaE,OAAOE;MACpBI,UAAUS;IACZ,CAAA;IACAnB,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaE,OAAOgB;MACpBV,UAAU,CAACC,YAAYU,eAAe;QAAEV;QAAStB;MAAQ,CAAA;IAC3D,CAAA;IACAW,aAAa;MACXC,IAAI,GAAGF,KAAKE,EAAE;MACdC,aAAaE,OAAOkB;MACpBZ,UAAU,MAAMa,YAAYC,aAAaC,cAAcC,oBAAAA;IACzD,CAAA;GACD;AACH;",
6
- "names": ["Capabilities", "contributes", "defineModule", "definePlugin", "Events", "oneOf", "lazy", "AppGraphBuilder", "lazy", "Client", "IntentResolver", "ReactContext", "ReactSurface", "Schema", "CLIENT_PLUGIN", "ClientPlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "onReset", "options", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "Startup", "SetupAppGraph", "activatesAfter", "ClientEvents", "ClientReady", "activate", "context", "Client", "activatesBefore", "SetupSchema", "Schema", "ReactContext", "SetupSurfaces", "ReactSurface", "AppGraphBuilder", "SetupIntents", "IntentResolver", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations"]
6
+ "names": ["Capabilities", "contributes", "defineModule", "definePlugin", "Events", "oneOf", "lazy", "AppGraphBuilder", "lazy", "Client", "IntentResolver", "ReactContext", "ReactSurface", "Schema", "CLIENT_PLUGIN", "ClientPlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "onReset", "options", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "Startup", "SetupAppGraph", "activatesAfter", "ClientEvents", "ClientReady", "activate", "context", "Client", "activatesBefore", "SetupSchema", "Schema", "ReactContext", "SetupReactSurface", "ReactSurface", "AppGraphBuilder", "SetupIntentResolver", "IntentResolver", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations"]
7
7
  }
@@ -6,13 +6,13 @@ import {
6
6
  IDENTITY_DIALOG,
7
7
  JOIN_DIALOG,
8
8
  RECOVER_CODE_DIALOG
9
- } from "./chunk-2FPF25KT.mjs";
9
+ } from "./chunk-CRF22MJJ.mjs";
10
10
  import {
11
11
  ClientAction
12
- } from "./chunk-M2NR7HNG.mjs";
12
+ } from "./chunk-QJMF2MWP.mjs";
13
13
  import {
14
14
  ClientCapabilities
15
- } from "./chunk-B73LKPGU.mjs";
15
+ } from "./chunk-T35SFKK3.mjs";
16
16
  import "./chunk-HO7WDE7C.mjs";
17
17
 
18
18
  // packages/plugins/plugin-client/src/capabilities/intent-resolver.ts
@@ -168,6 +168,7 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
168
168
  "'Identity not available'"
169
169
  ]
170
170
  });
171
+ const lookupKey = PublicKey.random();
171
172
  const credential = await navigator.credentials.create({
172
173
  publicKey: {
173
174
  challenge: new Uint8Array(),
@@ -176,7 +177,7 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
176
177
  name: appName
177
178
  },
178
179
  user: {
179
- id: new TextEncoder().encode(identity.did),
180
+ id: lookupKey.asUint8Array(),
180
181
  name: identity.did,
181
182
  displayName: identity.profile?.displayName ?? ""
182
183
  },
@@ -199,7 +200,7 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
199
200
  });
200
201
  invariant(credential, "Credential not available", {
201
202
  F: __dxlog_file,
202
- L: 161,
203
+ L: 162,
203
204
  S: void 0,
204
205
  A: [
205
206
  "credential",
@@ -210,7 +211,7 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
210
211
  const algorithm = credential.response.getPublicKeyAlgorithm() === -7 ? "ES256" : "ED25519";
211
212
  invariant(client.services.services.IdentityService, "IdentityService not available", {
212
213
  F: __dxlog_file,
213
- L: 166,
214
+ L: 167,
214
215
  S: void 0,
215
216
  A: [
216
217
  "client.services.services.IdentityService",
@@ -219,7 +220,8 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
219
220
  });
220
221
  await client.services.services.IdentityService.createRecoveryCredential({
221
222
  recoveryKey,
222
- algorithm
223
+ algorithm,
224
+ lookupKey
223
225
  });
224
226
  }
225
227
  }),
@@ -229,7 +231,7 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
229
231
  const client = context.requestCapability(ClientCapabilities.Client);
230
232
  invariant(client.services.services.IdentityService, "IdentityService not available", {
231
233
  F: __dxlog_file,
232
- L: 175,
234
+ L: 180,
233
235
  S: void 0,
234
236
  A: [
235
237
  "client.services.services.IdentityService",
@@ -244,10 +246,10 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
244
246
  userVerification: "required"
245
247
  }
246
248
  });
247
- const identityDid = new TextDecoder().decode(credential.response.userHandle);
249
+ const lookupKey = PublicKey.from(new Uint8Array(credential.response.userHandle));
248
250
  await client.services.services.IdentityService.recoverIdentity({
249
251
  external: {
250
- identityDid,
252
+ lookupKey,
251
253
  deviceKey,
252
254
  controlFeedKey,
253
255
  signature: Buffer.from(credential.response.signature),
@@ -261,4 +263,4 @@ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => co
261
263
  export {
262
264
  intent_resolver_default as default
263
265
  };
264
- //# sourceMappingURL=intent-resolver-IHYGJREB.mjs.map
266
+ //# sourceMappingURL=intent-resolver-M72XLGTY.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n createResolver,\n LayoutAction,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { PublicKey } from '@dxos/react-client';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { ClientCapabilities } from './capabilities';\nimport { IDENTITY_DIALOG, JOIN_DIALOG, RECOVER_CODE_DIALOG } from '../components';\nimport { ClientEvents } from '../events';\nimport { ClientAction, type ClientPluginOptions } from '../types';\n\ntype IntentResolverOptions = Pick<ClientPluginOptions, 'onReset'> & {\n context: PluginsContext;\n appName?: string;\n};\n\nexport default ({ context, appName = 'Composer', onReset }: IntentResolverOptions) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ClientAction.CreateIdentity,\n resolve: async () => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const client = context.requestCapability(ClientCapabilities.Client);\n const data = await client.halo.createIdentity();\n await manager.activate(ClientEvents.IdentityCreated);\n return { data, intents: [createIntent(ObservabilityAction.SendEvent, { name: 'identity.create' })] };\n },\n }),\n createResolver({\n intent: ClientAction.JoinIdentity,\n resolve: async (data) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: data.invitationCode,\n initialDisposition: 'accept-halo-invitation',\n },\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.ShareIdentity,\n resolve: async () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: IDENTITY_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n createIntent(ObservabilityAction.SendEvent, { name: 'identity.share' }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.RecoverIdentity,\n resolve: async () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialDisposition: 'recover-identity',\n } satisfies Partial<JoinPanelProps>,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.ResetStorage,\n resolve: async (data) => {\n await onReset?.({ target: data.target });\n },\n }),\n createResolver({\n intent: ClientAction.CreateAgent,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n invariant(client.services.services.EdgeAgentService, 'Missing EdgeAgentService');\n await client.services.services.EdgeAgentService.createAgent(null as any, { timeout: 10_000 });\n },\n }),\n createResolver({\n intent: ClientAction.CreateRecoveryCode,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n // TODO(wittjosiah): This needs a proper api.\n const { recoveryCode } = await client.services.services.IdentityService.createRecoveryCredential({});\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: RECOVER_CODE_DIALOG,\n options: {\n blockAlign: 'start',\n type: 'alert',\n props: { code: recoveryCode },\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.CreatePasskey,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const identity = client.halo.identity.get();\n invariant(identity, 'Identity not available');\n\n // TODO(wittjosiah): Consider factoring out passkey creation to the halo api.\n const credential = await navigator.credentials.create({\n publicKey: {\n challenge: new Uint8Array(),\n rp: { id: location.hostname, name: appName },\n user: {\n id: new TextEncoder().encode(identity.did),\n name: identity.did,\n displayName: identity.profile?.displayName ?? '',\n },\n pubKeyCredParams: [\n { type: 'public-key', alg: -8 }, // Ed25519 (not yet supported across all browsers)\n { type: 'public-key', alg: -7 }, // ES256\n ],\n // https://web.dev/articles/webauthn-discoverable-credentials#resident-key\n authenticatorSelection: {\n residentKey: 'required',\n requireResidentKey: true,\n },\n },\n });\n\n invariant(credential, 'Credential not available');\n const recoveryKey = PublicKey.from(new Uint8Array((credential as any).response.getPublicKey()));\n const algorithm = (credential as any).response.getPublicKeyAlgorithm() === -7 ? 'ES256' : 'ED25519';\n\n // TODO(wittjosiah): This needs a proper api.\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n await client.services.services.IdentityService.createRecoveryCredential({ recoveryKey, algorithm });\n },\n }),\n createResolver({\n intent: ClientAction.RedeemPasskey,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n // TODO(wittjosiah): This needs a proper api.\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n const { deviceKey, controlFeedKey, challenge } =\n await client.services.services.IdentityService.requestRecoveryChallenge();\n const credential = await navigator.credentials.get({\n publicKey: {\n challenge: Buffer.from(challenge, 'base64'),\n rpId: location.hostname,\n userVerification: 'required',\n },\n });\n const identityDid = new TextDecoder().decode((credential as any).response.userHandle);\n await client.services.services.IdentityService.recoverIdentity({\n external: {\n identityDid,\n deviceKey,\n controlFeedKey,\n signature: Buffer.from((credential as any).response.signature),\n clientDataJson: Buffer.from((credential as any).response.clientDataJSON),\n authenticatorData: Buffer.from((credential as any).response.authenticatorData),\n },\n });\n },\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["Capabilities", "contributes", "createIntent", "createResolver", "LayoutAction", "invariant", "ObservabilityAction", "PublicKey", "context", "appName", "onReset", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ClientAction", "CreateIdentity", "resolve", "manager", "requestCapability", "PluginManager", "client", "ClientCapabilities", "Client", "data", "halo", "createIdentity", "activate", "ClientEvents", "IdentityCreated", "intents", "createIntent", "ObservabilityAction", "SendEvent", "name", "JoinIdentity", "LayoutAction", "UpdateDialog", "part", "subject", "JOIN_DIALOG", "options", "blockAlign", "props", "initialInvitationCode", "invitationCode", "initialDisposition", "ShareIdentity", "IDENTITY_DIALOG", "RecoverIdentity", "ResetStorage", "target", "CreateAgent", "invariant", "services", "EdgeAgentService", "createAgent", "timeout", "CreateRecoveryCode", "IdentityService", "recoveryCode", "createRecoveryCredential", "RECOVER_CODE_DIALOG", "type", "code", "CreatePasskey", "identity", "get", "credential", "navigator", "credentials", "create", "publicKey", "challenge", "Uint8Array", "rp", "id", "location", "hostname", "user", "TextEncoder", "encode", "did", "displayName", "profile", "pubKeyCredParams", "alg", "authenticatorSelection", "residentKey", "requireResidentKey", "recoveryKey", "PublicKey", "from", "response", "getPublicKey", "algorithm", "getPublicKeyAlgorithm", "RedeemPasskey", "deviceKey", "controlFeedKey", "requestRecoveryChallenge", "Buffer", "rpId", "userVerification", "identityDid", "TextDecoder", "decode", "userHandle", "recoverIdentity", "external", "signature", "clientDataJson", "clientDataJSON", "authenticatorData"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n createResolver,\n LayoutAction,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { PublicKey } from '@dxos/react-client';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { ClientCapabilities } from './capabilities';\nimport { IDENTITY_DIALOG, JOIN_DIALOG, RECOVER_CODE_DIALOG } from '../components';\nimport { ClientEvents } from '../events';\nimport { ClientAction, type ClientPluginOptions } from '../types';\n\ntype IntentResolverOptions = Pick<ClientPluginOptions, 'onReset'> & {\n context: PluginsContext;\n appName?: string;\n};\n\nexport default ({ context, appName = 'Composer', onReset }: IntentResolverOptions) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ClientAction.CreateIdentity,\n resolve: async () => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const client = context.requestCapability(ClientCapabilities.Client);\n const data = await client.halo.createIdentity();\n await manager.activate(ClientEvents.IdentityCreated);\n return { data, intents: [createIntent(ObservabilityAction.SendEvent, { name: 'identity.create' })] };\n },\n }),\n createResolver({\n intent: ClientAction.JoinIdentity,\n resolve: async (data) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: data.invitationCode,\n initialDisposition: 'accept-halo-invitation',\n },\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.ShareIdentity,\n resolve: async () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: IDENTITY_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n createIntent(ObservabilityAction.SendEvent, { name: 'identity.share' }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.RecoverIdentity,\n resolve: async () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialDisposition: 'recover-identity',\n } satisfies Partial<JoinPanelProps>,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.ResetStorage,\n resolve: async (data) => {\n await onReset?.({ target: data.target });\n },\n }),\n createResolver({\n intent: ClientAction.CreateAgent,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n invariant(client.services.services.EdgeAgentService, 'Missing EdgeAgentService');\n await client.services.services.EdgeAgentService.createAgent(null as any, { timeout: 10_000 });\n },\n }),\n createResolver({\n intent: ClientAction.CreateRecoveryCode,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n // TODO(wittjosiah): This needs a proper api.\n const { recoveryCode } = await client.services.services.IdentityService.createRecoveryCredential({});\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: RECOVER_CODE_DIALOG,\n options: {\n blockAlign: 'start',\n type: 'alert',\n props: { code: recoveryCode },\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.CreatePasskey,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const identity = client.halo.identity.get();\n invariant(identity, 'Identity not available');\n\n // TODO(wittjosiah): Consider factoring out passkey creation to the halo api.\n const lookupKey = PublicKey.random();\n const credential = await navigator.credentials.create({\n publicKey: {\n challenge: new Uint8Array(),\n rp: { id: location.hostname, name: appName },\n user: {\n id: lookupKey.asUint8Array(),\n name: identity.did,\n displayName: identity.profile?.displayName ?? '',\n },\n pubKeyCredParams: [\n { type: 'public-key', alg: -8 }, // Ed25519 (not yet supported across all browsers)\n { type: 'public-key', alg: -7 }, // ES256\n ],\n // https://web.dev/articles/webauthn-discoverable-credentials#resident-key\n authenticatorSelection: {\n residentKey: 'required',\n requireResidentKey: true,\n },\n },\n });\n\n invariant(credential, 'Credential not available');\n const recoveryKey = PublicKey.from(new Uint8Array((credential as any).response.getPublicKey()));\n const algorithm = (credential as any).response.getPublicKeyAlgorithm() === -7 ? 'ES256' : 'ED25519';\n\n // TODO(wittjosiah): This needs a proper api.\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n await client.services.services.IdentityService.createRecoveryCredential({\n recoveryKey,\n algorithm,\n lookupKey,\n });\n },\n }),\n createResolver({\n intent: ClientAction.RedeemPasskey,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n // TODO(wittjosiah): This needs a proper api.\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n const { deviceKey, controlFeedKey, challenge } =\n await client.services.services.IdentityService.requestRecoveryChallenge();\n const credential = await navigator.credentials.get({\n publicKey: {\n challenge: Buffer.from(challenge, 'base64'),\n rpId: location.hostname,\n userVerification: 'required',\n },\n });\n const lookupKey = PublicKey.from(new Uint8Array((credential as any).response.userHandle));\n await client.services.services.IdentityService.recoverIdentity({\n external: {\n lookupKey,\n deviceKey,\n controlFeedKey,\n signature: Buffer.from((credential as any).response.signature),\n clientDataJson: Buffer.from((credential as any).response.clientDataJSON),\n authenticatorData: Buffer.from((credential as any).response.authenticatorData),\n },\n });\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "createResolver", "LayoutAction", "invariant", "ObservabilityAction", "PublicKey", "context", "appName", "onReset", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ClientAction", "CreateIdentity", "resolve", "manager", "requestCapability", "PluginManager", "client", "ClientCapabilities", "Client", "data", "halo", "createIdentity", "activate", "ClientEvents", "IdentityCreated", "intents", "createIntent", "ObservabilityAction", "SendEvent", "name", "JoinIdentity", "LayoutAction", "UpdateDialog", "part", "subject", "JOIN_DIALOG", "options", "blockAlign", "props", "initialInvitationCode", "invitationCode", "initialDisposition", "ShareIdentity", "IDENTITY_DIALOG", "RecoverIdentity", "ResetStorage", "target", "CreateAgent", "invariant", "services", "EdgeAgentService", "createAgent", "timeout", "CreateRecoveryCode", "IdentityService", "recoveryCode", "createRecoveryCredential", "RECOVER_CODE_DIALOG", "type", "code", "CreatePasskey", "identity", "get", "lookupKey", "PublicKey", "random", "credential", "navigator", "credentials", "create", "publicKey", "challenge", "Uint8Array", "rp", "id", "location", "hostname", "user", "asUint8Array", "did", "displayName", "profile", "pubKeyCredParams", "alg", "authenticatorSelection", "residentKey", "requireResidentKey", "recoveryKey", "from", "response", "getPublicKey", "algorithm", "getPublicKeyAlgorithm", "RedeemPasskey", "deviceKey", "controlFeedKey", "requestRecoveryChallenge", "Buffer", "rpId", "userVerification", "userHandle", "recoverIdentity", "external", "signature", "clientDataJson", "clientDataJSON", "authenticatorData"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":975,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2318,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":10103,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":5039,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2078,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4478,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx":{"bytes":8888,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytes":8421,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx","kind":"import-statement","original":"./ManageCredentialsDialog"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":6324,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":9086,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx":{"bytes":7223,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":858,"imports":[{"path":"packages/plugins/plugin-client/src/components/IdentityDialog.tsx","kind":"import-statement","original":"./IdentityDialog"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx","kind":"import-statement","original":"./RecoverySetupDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":28896,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2461,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":6816,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx","kind":"import-statement","original":"../components/ManageCredentialsDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytes":4656,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2186,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema.ts","kind":"dynamic-import","original":"./schema"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":4585,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":8527,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":944,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6982},"packages/plugins/plugin-client/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/app-graph-builder-WXXGCOJB.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/client-XWK653HB.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/intent-resolver-IHYGJREB.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/react-context-EEGDXBWA.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/react-surface-OQFDVSAP.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/schema-74LVJ3EU.mjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":1824},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":491},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":1468},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":4406},"packages/plugins/plugin-client/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"}],"exports":["ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":240},"packages/plugins/plugin-client/dist/lib/node-esm/app-graph-builder-WXXGCOJB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2383},"packages/plugins/plugin-client/dist/lib/node-esm/app-graph-builder-WXXGCOJB.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":1065}},"bytes":1448},"packages/plugins/plugin-client/dist/lib/node-esm/client-XWK653HB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2342},"packages/plugins/plugin-client/dist/lib/node-esm/client-XWK653HB.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":773}},"bytes":1159},"packages/plugins/plugin-client/dist/lib/node-esm/intent-resolver-IHYGJREB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12809},"packages/plugins/plugin-client/dist/lib/node-esm/intent-resolver-IHYGJREB.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-2FPF25KT.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":7499}},"bytes":8063},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":979},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":473}},"bytes":742},"packages/plugins/plugin-client/dist/lib/node-esm/react-context-EEGDXBWA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1226},"packages/plugins/plugin-client/dist/lib/node-esm/react-context-EEGDXBWA.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":830},"packages/plugins/plugin-client/dist/lib/node-esm/react-surface-OQFDVSAP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3396},"packages/plugins/plugin-client/dist/lib/node-esm/react-surface-OQFDVSAP.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-2FPF25KT.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1368}},"bytes":1944},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-2FPF25KT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20550},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-2FPF25KT.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["IDENTITY_DIALOG","IdentityDialog","JOIN_DIALOG","JoinDialog","MANAGE_CREDENTIALS_DIALOG","ManageCredentialsDialog","RECOVER_CODE_DIALOG","RECOVER_SETUP_DIALOG","RecoveryCodeDialog","RecoverySetupDialog"],"inputs":{"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx":{"bytesInOutput":2202},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytesInOutput":2086},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1587},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2781},"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx":{"bytesInOutput":1952},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":11440},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5251},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-M2NR7HNG.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":2315}},"bytes":2583},"packages/plugins/plugin-client/dist/lib/node-esm/schema-74LVJ3EU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2517},"packages/plugins/plugin-client/dist/lib/node-esm/schema-74LVJ3EU.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytesInOutput":982}},"bytes":1313},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1118},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-B73LKPGU.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":440}},"bytes":734},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":464},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":320}}}
1
+ {"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":975,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":1763,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":10155,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":5039,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2078,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4478,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx":{"bytes":8888,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytes":8421,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx","kind":"import-statement","original":"./ManageCredentialsDialog"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":6324,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":9086,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx":{"bytes":7223,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":858,"imports":[{"path":"packages/plugins/plugin-client/src/components/IdentityDialog.tsx","kind":"import-statement","original":"./IdentityDialog"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx","kind":"import-statement","original":"./RecoverySetupDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":29097,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2461,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":6816,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx","kind":"import-statement","original":"../components/ManageCredentialsDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytes":3522,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2186,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema.ts","kind":"dynamic-import","original":"./schema"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":4585,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":8570,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":944,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7004},"packages/plugins/plugin-client/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/app-graph-builder-TDYRWNI7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/client-36DKBSB7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/intent-resolver-M72XLGTY.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/react-context-ZOGDOWJ2.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/react-surface-F3PDFJMV.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/schema-XM4HBLIX.mjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":1835},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":491},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":1468},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":4417},"packages/plugins/plugin-client/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"}],"exports":["ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":240},"packages/plugins/plugin-client/dist/lib/node-esm/app-graph-builder-TDYRWNI7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2383},"packages/plugins/plugin-client/dist/lib/node-esm/app-graph-builder-TDYRWNI7.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":1065}},"bytes":1448},"packages/plugins/plugin-client/dist/lib/node-esm/client-36DKBSB7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2342},"packages/plugins/plugin-client/dist/lib/node-esm/client-36DKBSB7.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":773}},"bytes":1159},"packages/plugins/plugin-client/dist/lib/node-esm/intent-resolver-M72XLGTY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":12895},"packages/plugins/plugin-client/dist/lib/node-esm/intent-resolver-M72XLGTY.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-CRF22MJJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":7550}},"bytes":8114},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":979},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QR72BXJK.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":473}},"bytes":742},"packages/plugins/plugin-client/dist/lib/node-esm/react-context-ZOGDOWJ2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1226},"packages/plugins/plugin-client/dist/lib/node-esm/react-context-ZOGDOWJ2.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":830},"packages/plugins/plugin-client/dist/lib/node-esm/react-surface-F3PDFJMV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3396},"packages/plugins/plugin-client/dist/lib/node-esm/react-surface-F3PDFJMV.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-CRF22MJJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1368}},"bytes":1944},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-CRF22MJJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20550},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-CRF22MJJ.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["IDENTITY_DIALOG","IdentityDialog","JOIN_DIALOG","JoinDialog","MANAGE_CREDENTIALS_DIALOG","ManageCredentialsDialog","RECOVER_CODE_DIALOG","RECOVER_SETUP_DIALOG","RecoveryCodeDialog","RecoverySetupDialog"],"inputs":{"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx":{"bytesInOutput":2202},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytesInOutput":2086},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1587},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2781},"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx":{"bytesInOutput":1952},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":11440},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5280},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-QJMF2MWP.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":2327}},"bytes":2595},"packages/plugins/plugin-client/dist/lib/node-esm/schema-XM4HBLIX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1856},"packages/plugins/plugin-client/dist/lib/node-esm/schema-XM4HBLIX.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytesInOutput":594}},"bytes":925},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":866},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-T35SFKK3.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":340}},"bytes":634},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":464},"packages/plugins/plugin-client/dist/lib/node-esm/chunk-HO7WDE7C.mjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":320}}}
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ClientCapabilities
4
- } from "./chunk-B73LKPGU.mjs";
4
+ } from "./chunk-T35SFKK3.mjs";
5
5
  import {
6
6
  CLIENT_PLUGIN
7
7
  } from "./chunk-HO7WDE7C.mjs";
@@ -22,4 +22,4 @@ var react_context_default = () => contributes(Capabilities.ReactContext, {
22
22
  export {
23
23
  react_context_default as default
24
24
  };
25
- //# sourceMappingURL=react-context-EEGDXBWA.mjs.map
25
+ //# sourceMappingURL=react-context-ZOGDOWJ2.mjs.map
@@ -10,8 +10,8 @@ import {
10
10
  RECOVER_SETUP_DIALOG,
11
11
  RecoveryCodeDialog,
12
12
  RecoverySetupDialog
13
- } from "./chunk-2FPF25KT.mjs";
14
- import "./chunk-M2NR7HNG.mjs";
13
+ } from "./chunk-CRF22MJJ.mjs";
14
+ import "./chunk-QJMF2MWP.mjs";
15
15
  import "./chunk-HO7WDE7C.mjs";
16
16
 
17
17
  // packages/plugins/plugin-client/src/capabilities/react-surface.tsx
@@ -55,4 +55,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
55
55
  export {
56
56
  react_surface_default as default
57
57
  };
58
- //# sourceMappingURL=react-surface-OQFDVSAP.mjs.map
58
+ //# sourceMappingURL=react-surface-F3PDFJMV.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ClientCapabilities
4
- } from "./chunk-B73LKPGU.mjs";
4
+ } from "./chunk-T35SFKK3.mjs";
5
5
  import "./chunk-HO7WDE7C.mjs";
6
6
 
7
7
  // packages/plugins/plugin-client/src/capabilities/schema.ts
@@ -9,13 +9,6 @@ import { effect } from "@preact/signals-core";
9
9
  import { Capabilities, contributes } from "@dxos/app-framework";
10
10
  var schema_default = (context) => {
11
11
  const client = context.requestCapability(ClientCapabilities.Client);
12
- let previousSystem = [];
13
- const unsubscribeSystem = effect(() => {
14
- const systemSchemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.SystemSchema).flat()));
15
- const newSchemas = systemSchemas.filter((schema) => !previousSystem.includes(schema));
16
- previousSystem = systemSchemas;
17
- client.addTypes(newSchemas);
18
- });
19
12
  let previous = [];
20
13
  const unsubscribe = effect(() => {
21
14
  const schemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.Schema).flat()));
@@ -23,12 +16,9 @@ var schema_default = (context) => {
23
16
  previous = schemas;
24
17
  client.addTypes(newSchemas);
25
18
  });
26
- return contributes(Capabilities.Null, null, () => {
27
- unsubscribeSystem();
28
- unsubscribe();
29
- });
19
+ return contributes(Capabilities.Null, null, () => unsubscribe());
30
20
  };
31
21
  export {
32
22
  schema_default as default
33
23
  };
34
- //# sourceMappingURL=schema-74LVJ3EU.mjs.map
24
+ //# sourceMappingURL=schema-XM4HBLIX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { type TypedObject } from '@dxos/echo-schema';\n\nimport { ClientCapabilities } from './capabilities';\n\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // TODO(wittjosiah): Unregister schemas when they are disabled.\n let previous: TypedObject[] = [];\n const unsubscribe = effect(() => {\n const schemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.Schema).flat()));\n // TODO(wittjosiah): Filter out schemas which the client has already registered.\n const newSchemas = schemas.filter((schema) => !previous.includes(schema));\n previous = schemas;\n client.addTypes(newSchemas);\n });\n\n return contributes(Capabilities.Null, null, () => unsubscribe());\n};\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAcC,mBAAwC;AAK/D,IAAA,iBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAGlE,MAAIC,WAA0B,CAAA;AAC9B,QAAMC,cAAcC,OAAO,MAAA;AACzB,UAAMC,UAAUC,MAAMC,KAAK,IAAIC,IAAIX,QAAQY,oBAAoBT,mBAAmBU,MAAM,EAAEC,KAAI,CAAA,CAAA;AAE9F,UAAMC,aAAaP,QAAQQ,OAAO,CAACC,WAAW,CAACZ,SAASa,SAASD,MAAAA,CAAAA;AACjEZ,eAAWG;AACXP,WAAOkB,SAASJ,UAAAA;EAClB,CAAA;AAEA,SAAOK,YAAYC,aAAaC,MAAM,MAAM,MAAMhB,YAAAA,CAAAA;AACpD;",
6
+ "names": ["effect", "Capabilities", "contributes", "context", "client", "requestCapability", "ClientCapabilities", "Client", "previous", "unsubscribe", "effect", "schemas", "Array", "from", "Set", "requestCapabilities", "Schema", "flat", "newSchemas", "filter", "schema", "includes", "addTypes", "contributes", "Capabilities", "Null"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ClientAction
4
- } from "./chunk-M2NR7HNG.mjs";
4
+ } from "./chunk-QJMF2MWP.mjs";
5
5
  import "./chunk-HO7WDE7C.mjs";
6
6
  export {
7
7
  ClientAction