@dxos/plugin-client 0.7.5-labs.e27f9b9 → 0.7.5-labs.f5080a1

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 (100) hide show
  1. package/dist/lib/browser/{app-graph-builder-6LOTDB4T.mjs → app-graph-builder-ZC2XASZM.mjs} +2 -2
  2. package/dist/lib/browser/chunk-BL7RMTCN.mjs +271 -0
  3. package/dist/lib/browser/chunk-BL7RMTCN.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-E3OUNOEL.mjs → chunk-S5RA7VCJ.mjs} +7 -1
  5. package/dist/lib/browser/{chunk-E3OUNOEL.mjs.map → chunk-S5RA7VCJ.mjs.map} +3 -3
  6. package/dist/lib/browser/{client-BEJK55IM.mjs → client-BY3RGW3H.mjs} +2 -7
  7. package/dist/lib/browser/client-BY3RGW3H.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +12 -5
  9. package/dist/lib/browser/index.mjs.map +2 -2
  10. package/dist/lib/browser/{intent-resolver-E6TL7E24.mjs → intent-resolver-JWBGBN5W.mjs} +76 -6
  11. package/dist/lib/browser/intent-resolver-JWBGBN5W.mjs.map +7 -0
  12. package/dist/lib/browser/meta.json +1 -1
  13. package/dist/lib/browser/{react-surface-K5NKVCIB.mjs → react-surface-BYR3FEBZ.mjs} +20 -4
  14. package/dist/lib/browser/react-surface-BYR3FEBZ.mjs.map +7 -0
  15. package/dist/lib/browser/types.mjs +1 -1
  16. package/dist/lib/node/{app-graph-builder-JCND3P6G.cjs → app-graph-builder-KJRHSGZI.cjs} +6 -6
  17. package/dist/lib/node/chunk-JXRPLNW4.cjs +299 -0
  18. package/dist/lib/node/chunk-JXRPLNW4.cjs.map +7 -0
  19. package/dist/lib/node/{chunk-NVYWMDF3.cjs → chunk-ZZQOY2DR.cjs} +10 -4
  20. package/dist/lib/node/{chunk-NVYWMDF3.cjs.map → chunk-ZZQOY2DR.cjs.map} +3 -3
  21. package/dist/lib/node/{client-AHIW24VM.cjs → client-JCI7A3IV.cjs} +5 -10
  22. package/dist/lib/node/client-JCI7A3IV.cjs.map +7 -0
  23. package/dist/lib/node/index.cjs +12 -5
  24. package/dist/lib/node/index.cjs.map +2 -2
  25. package/dist/lib/node/{intent-resolver-DUPICQ3F.cjs → intent-resolver-MXB5UAG2.cjs} +90 -20
  26. package/dist/lib/node/intent-resolver-MXB5UAG2.cjs.map +7 -0
  27. package/dist/lib/node/meta.json +1 -1
  28. package/dist/lib/node/{react-surface-YQ2PKXNV.cjs → react-surface-XRKRQ6SU.cjs} +27 -15
  29. package/dist/lib/node/react-surface-XRKRQ6SU.cjs.map +7 -0
  30. package/dist/lib/node/types.cjs +2 -2
  31. package/dist/lib/node/types.cjs.map +1 -1
  32. package/dist/lib/node-esm/{app-graph-builder-ZLGKFBLY.mjs → app-graph-builder-BUQOWBIC.mjs} +2 -2
  33. package/dist/lib/node-esm/chunk-3MN2GGX3.mjs +272 -0
  34. package/dist/lib/node-esm/chunk-3MN2GGX3.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-74T33KTB.mjs → chunk-HWAZ7QK3.mjs} +7 -1
  36. package/dist/lib/node-esm/{chunk-74T33KTB.mjs.map → chunk-HWAZ7QK3.mjs.map} +3 -3
  37. package/dist/lib/node-esm/{client-FY7IDNRL.mjs → client-XWK653HB.mjs} +2 -7
  38. package/dist/lib/node-esm/client-XWK653HB.mjs.map +7 -0
  39. package/dist/lib/node-esm/index.mjs +12 -5
  40. package/dist/lib/node-esm/index.mjs.map +2 -2
  41. package/dist/lib/node-esm/{intent-resolver-QUQH2LS2.mjs → intent-resolver-IVP2U2NS.mjs} +76 -6
  42. package/dist/lib/node-esm/intent-resolver-IVP2U2NS.mjs.map +7 -0
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/{react-surface-H34XQPWC.mjs → react-surface-JB3PGT5D.mjs} +20 -4
  45. package/dist/lib/node-esm/react-surface-JB3PGT5D.mjs.map +7 -0
  46. package/dist/lib/node-esm/types.mjs +1 -1
  47. package/dist/types/src/capabilities/client.d.ts.map +1 -1
  48. package/dist/types/src/capabilities/index.d.ts +1 -0
  49. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  50. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  51. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  53. package/dist/types/src/components/IdentityDialog.d.ts.map +1 -1
  54. package/dist/types/src/components/ManageCredentialsDialog.d.ts +4 -0
  55. package/dist/types/src/components/ManageCredentialsDialog.d.ts.map +1 -0
  56. package/dist/types/src/components/ManageCredentialsDialog.stories.d.ts +8 -0
  57. package/dist/types/src/components/ManageCredentialsDialog.stories.d.ts.map +1 -0
  58. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
  59. package/dist/types/src/components/RecoverySetupDialog.d.ts +4 -0
  60. package/dist/types/src/components/RecoverySetupDialog.d.ts.map +1 -0
  61. package/dist/types/src/components/RecoverySetupDialog.stories.d.ts +8 -0
  62. package/dist/types/src/components/RecoverySetupDialog.stories.d.ts.map +1 -0
  63. package/dist/types/src/components/index.d.ts +1 -0
  64. package/dist/types/src/components/index.d.ts.map +1 -1
  65. package/dist/types/src/translations.d.ts +7 -0
  66. package/dist/types/src/translations.d.ts.map +1 -1
  67. package/dist/types/src/types.d.ts +8 -0
  68. package/dist/types/src/types.d.ts.map +1 -1
  69. package/package.json +20 -16
  70. package/src/capabilities/client.ts +1 -3
  71. package/src/capabilities/intent-resolver.ts +41 -1
  72. package/src/capabilities/react-surface.tsx +15 -0
  73. package/src/components/IdentityDialog.tsx +12 -0
  74. package/src/components/ManageCredentialsDialog.stories.tsx +57 -0
  75. package/src/components/ManageCredentialsDialog.tsx +64 -0
  76. package/src/components/RecoveryCodeDialog.stories.tsx +4 -4
  77. package/src/components/RecoveryCodeDialog.tsx +2 -1
  78. package/src/components/RecoverySetupDialog.stories.tsx +77 -0
  79. package/src/components/RecoverySetupDialog.tsx +52 -0
  80. package/src/components/index.ts +1 -0
  81. package/src/translations.ts +10 -1
  82. package/src/types.ts +5 -0
  83. package/dist/lib/browser/chunk-PDSHZE3P.mjs +0 -162
  84. package/dist/lib/browser/chunk-PDSHZE3P.mjs.map +0 -7
  85. package/dist/lib/browser/client-BEJK55IM.mjs.map +0 -7
  86. package/dist/lib/browser/intent-resolver-E6TL7E24.mjs.map +0 -7
  87. package/dist/lib/browser/react-surface-K5NKVCIB.mjs.map +0 -7
  88. package/dist/lib/node/chunk-VUJ3ZPK3.cjs +0 -190
  89. package/dist/lib/node/chunk-VUJ3ZPK3.cjs.map +0 -7
  90. package/dist/lib/node/client-AHIW24VM.cjs.map +0 -7
  91. package/dist/lib/node/intent-resolver-DUPICQ3F.cjs.map +0 -7
  92. package/dist/lib/node/react-surface-YQ2PKXNV.cjs.map +0 -7
  93. package/dist/lib/node-esm/chunk-WS4CKCUR.mjs +0 -163
  94. package/dist/lib/node-esm/chunk-WS4CKCUR.mjs.map +0 -7
  95. package/dist/lib/node-esm/client-FY7IDNRL.mjs.map +0 -7
  96. package/dist/lib/node-esm/intent-resolver-QUQH2LS2.mjs.map +0 -7
  97. package/dist/lib/node-esm/react-surface-H34XQPWC.mjs.map +0 -7
  98. /package/dist/lib/browser/{app-graph-builder-6LOTDB4T.mjs.map → app-graph-builder-ZC2XASZM.mjs.map} +0 -0
  99. /package/dist/lib/node/{app-graph-builder-JCND3P6G.cjs.map → app-graph-builder-KJRHSGZI.cjs.map} +0 -0
  100. /package/dist/lib/node-esm/{app-graph-builder-ZLGKFBLY.mjs.map → app-graph-builder-BUQOWBIC.mjs.map} +0 -0
@@ -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 {\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 invariant(client.services.services.IdentityService, 'IdentityService not available');\n // TODO(wittjosiah): This needs a proper api.\n await client.services.services.IdentityService.createRecoveryCredential({ recoveryKey, algorithm });\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAIA,SACEA,cACAC,aACAC,cACAC,gBACAC,oBAEK;AACP,SAASC,iBAAiB;AAC1B,SAASC,2BAA2B;AACpC,SAASC,iBAAiB;;AAa1B,IAAA,0BAAe,CAAC,EAAEC,SAASC,UAAU,YAAYC,QAAO,MACtDC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,YAAA;AACP,YAAMC,UAAUX,QAAQY,kBAAkBR,aAAaS,aAAa;AACpE,YAAMC,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE,YAAMC,OAAO,MAAMH,OAAOI,KAAKC,eAAc;AAC7C,YAAMR,QAAQS,SAASC,aAAaC,eAAe;AACnD,aAAO;QAAEL;QAAMM,SAAS;UAACC,aAAaC,oBAAoBC,WAAW;YAAEC,MAAM;UAAkB,CAAA;;MAAI;IACrG;EACF,CAAA;EACArB,eAAe;IACbC,QAAQC,aAAaoB;IACrBlB,SAAS,OAAOO,SAAAA;AACd,aAAO;QACLM,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,YAAY;cACZC,OAAO;gBACLC,uBAAuBpB,KAAKqB;gBAC5BC,oBAAoB;cACtB;YACF;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACAjC,eAAe;IACbC,QAAQC,aAAagC;IACrB9B,SAAS,YAAA;AACP,aAAO;QACLa,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASS;YACTP,SAAS;cACPC,YAAY;YACd;UACF,CAAA;UACAX,aAAaC,oBAAoBC,WAAW;YAAEC,MAAM;UAAiB,CAAA;;MAEzE;IACF;EACF,CAAA;EACArB,eAAe;IACbC,QAAQC,aAAakC;IACrBhC,SAAS,YAAA;AACP,aAAO;QACLa,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,YAAY;cACZC,OAAO;gBACLG,oBAAoB;cACtB;YACF;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACAjC,eAAe;IACbC,QAAQC,aAAamC;IACrBjC,SAAS,OAAOO,SAAAA;AACd,YAAMf,UAAU;QAAE0C,QAAQ3B,KAAK2B;MAAO,CAAA;IACxC;EACF,CAAA;EACAtC,eAAe;IACbC,QAAQC,aAAaqC;IACrBnC,SAAS,YAAA;AACP,YAAMI,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE8B,gBAAUhC,OAAOiC,SAASA,SAASC,kBAAkB,4BAAA;;;;;;;;;AACrD,YAAMlC,OAAOiC,SAASA,SAASC,iBAAiBC,YAAY,MAAa;QAAEC,SAAS;MAAO,CAAA;IAC7F;EACF,CAAA;EACA5C,eAAe;IACbC,QAAQC,aAAa2C;IACrBzC,SAAS,YAAA;AACP,YAAMI,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE8B,gBAAUhC,OAAOiC,SAASA,SAASK,iBAAiB,iCAAA;;;;;;;;;AAEpD,YAAM,EAAEC,aAAY,IAAK,MAAMvC,OAAOiC,SAASA,SAASK,gBAAgBE,yBAAyB,CAAC,CAAA;AAClG,aAAO;QACL/B,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASuB;YACTrB,SAAS;cACPC,YAAY;cACZqB,MAAM;cACNpB,OAAO;gBAAEqB,MAAMJ;cAAa;YAC9B;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACA/C,eAAe;IACbC,QAAQC,aAAakD;IACrBhD,SAAS,YAAA;AACP,YAAMI,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE,YAAM2C,WAAW7C,OAAOI,KAAKyC,SAASC,IAAG;AACzCd,gBAAUa,UAAU,0BAAA;;;;;;;;;AAGpB,YAAME,aAAa,MAAMC,UAAUC,YAAYC,OAAO;QACpDC,WAAW;UACTC,WAAW,IAAIC,WAAAA;UACfC,IAAI;YAAEC,IAAIC,SAASC;YAAU5C,MAAM1B;UAAQ;UAC3CuE,MAAM;YACJH,IAAI,IAAII,YAAAA,EAAcC,OAAOf,SAASgB,GAAG;YACzChD,MAAMgC,SAASgB;YACfC,aAAajB,SAASkB,SAASD,eAAe;UAChD;UACAE,kBAAkB;YAChB;cAAEtB,MAAM;cAAcuB,KAAK;YAAG;YAC9B;cAAEvB,MAAM;cAAcuB,KAAK;YAAG;;;UAGhCC,wBAAwB;YACtBC,aAAa;YACbC,oBAAoB;UACtB;QACF;MACF,CAAA;AAEApC,gBAAUe,YAAY,4BAAA;;;;;;;;;AACtB,YAAMsB,cAAcC,UAAUC,KAAK,IAAIlB,WAAYN,WAAmByB,SAASC,aAAY,CAAA,CAAA;AAC3F,YAAMC,YAAa3B,WAAmByB,SAASG,sBAAqB,MAAO,KAAK,UAAU;AAE1F3C,gBAAUhC,OAAOiC,SAASA,SAASK,iBAAiB,iCAAA;;;;;;;;;AAEpD,YAAMtC,OAAOiC,SAASA,SAASK,gBAAgBE,yBAAyB;QAAE6B;QAAaK;MAAU,CAAA;IACnG;EACF,CAAA;CACD;",
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"]
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":8847,"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":5153,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","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/IdentityDialog.tsx":{"bytes":6950,"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/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":8973,"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/index.ts":{"bytes":739,"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"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":16239,"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":"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":4801,"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"}],"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":2699,"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6154},"packages/plugins/plugin-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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/browser/app-graph-builder-6LOTDB4T.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/client-BEJK55IM.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-E6TL7E24.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-surface-K5NKVCIB.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.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":758},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":3604},"packages/plugins/plugin-client/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"}],"exports":["ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":148},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2382},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1356},"packages/plugins/plugin-client/dist/lib/browser/client-BEJK55IM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2757},"packages/plugins/plugin-client/dist/lib/browser/client-BEJK55IM.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","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":944}},"bytes":1238},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-E6TL7E24.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7358},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-E6TL7E24.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-PDSHZE3P.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":4048}},"bytes":4520},"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":978},"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":650},"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":738},"packages/plugins/plugin-client/dist/lib/browser/react-surface-K5NKVCIB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2442},"packages/plugins/plugin-client/dist/lib/browser/react-surface-K5NKVCIB.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-PDSHZE3P.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":912}},"bytes":1293},"packages/plugins/plugin-client/dist/lib/browser/chunk-PDSHZE3P.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11610},"packages/plugins/plugin-client/dist/lib/browser/chunk-PDSHZE3P.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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},{"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}],"exports":["IDENTITY_DIALOG","IdentityDialog","JOIN_DIALOG","JoinDialog","RECOVER_CODE_DIALOG","RecoveryCodeDialog"],"inputs":{"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytesInOutput":1677},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1587},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2774},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":6523},"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4636},"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1957}},"bytes":2133},"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2516},"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1221},"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1117},"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":642},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":462},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
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":9477,"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":23933,"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/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6981},"packages/plugins/plugin-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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/browser/app-graph-builder-ZC2XASZM.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/client-BY3RGW3H.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-JWBGBN5W.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-surface-BYR3FEBZ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.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":4314},"packages/plugins/plugin-client/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"}],"exports":["ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":148},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-ZC2XASZM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2382},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-ZC2XASZM.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1356},"packages/plugins/plugin-client/dist/lib/browser/client-BY3RGW3H.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2341},"packages/plugins/plugin-client/dist/lib/browser/client-BY3RGW3H.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1067},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-JWBGBN5W.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10558},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-JWBGBN5W.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":6198}},"bytes":6670},"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":978},"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":650},"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":738},"packages/plugins/plugin-client/dist/lib/browser/react-surface-BYR3FEBZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3395},"packages/plugins/plugin-client/dist/lib/browser/react-surface-BYR3FEBZ.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1852},"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20549},"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":11348},"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4943},"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":2136}},"bytes":2312},"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2516},"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":1221},"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1117},"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.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":642},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":462},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
@@ -3,10 +3,14 @@ import {
3
3
  IdentityDialog,
4
4
  JOIN_DIALOG,
5
5
  JoinDialog,
6
+ MANAGE_CREDENTIALS_DIALOG,
7
+ ManageCredentialsDialog,
6
8
  RECOVER_CODE_DIALOG,
7
- RecoveryCodeDialog
8
- } from "./chunk-PDSHZE3P.mjs";
9
- import "./chunk-E3OUNOEL.mjs";
9
+ RECOVER_SETUP_DIALOG,
10
+ RecoveryCodeDialog,
11
+ RecoverySetupDialog
12
+ } from "./chunk-BL7RMTCN.mjs";
13
+ import "./chunk-S5RA7VCJ.mjs";
10
14
  import "./chunk-NHIL4T3L.mjs";
11
15
 
12
16
  // packages/plugins/plugin-client/src/capabilities/react-surface.tsx
@@ -33,9 +37,21 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
33
37
  role: "dialog",
34
38
  filter: (data) => data.component === RECOVER_CODE_DIALOG,
35
39
  component: ({ data }) => /* @__PURE__ */ React.createElement(RecoveryCodeDialog, data.props)
40
+ }),
41
+ createSurface({
42
+ id: RECOVER_SETUP_DIALOG,
43
+ role: "dialog",
44
+ filter: (data) => data.component === RECOVER_SETUP_DIALOG,
45
+ component: () => /* @__PURE__ */ React.createElement(RecoverySetupDialog, null)
46
+ }),
47
+ createSurface({
48
+ id: MANAGE_CREDENTIALS_DIALOG,
49
+ role: "dialog",
50
+ filter: (data) => data.component === MANAGE_CREDENTIALS_DIALOG,
51
+ component: () => /* @__PURE__ */ React.createElement(ManageCredentialsDialog, null)
36
52
  })
37
53
  ]);
38
54
  export {
39
55
  react_surface_default as default
40
56
  };
41
- //# sourceMappingURL=react-surface-K5NKVCIB.mjs.map
57
+ //# sourceMappingURL=react-surface-BYR3FEBZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createSurface, Capabilities, contributes } from '@dxos/app-framework';\nimport { type IdentityPanelProps, type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n IDENTITY_DIALOG,\n IdentityDialog,\n JOIN_DIALOG,\n JoinDialog,\n RECOVER_CODE_DIALOG,\n RECOVER_SETUP_DIALOG,\n RecoveryCodeDialog,\n RecoverySetupDialog,\n type RecoveryCodeDialogProps,\n} from '../components';\nimport { MANAGE_CREDENTIALS_DIALOG, ManageCredentialsDialog } from '../components/ManageCredentialsDialog';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: IDENTITY_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: IdentityPanelProps } => data.component === IDENTITY_DIALOG,\n component: ({ data }) => <IdentityDialog {...data.props} createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: RECOVER_CODE_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: RecoveryCodeDialogProps } => data.component === RECOVER_CODE_DIALOG,\n component: ({ data }) => <RecoveryCodeDialog {...data.props} />,\n }),\n createSurface({\n id: RECOVER_SETUP_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === RECOVER_SETUP_DIALOG,\n component: () => <RecoverySetupDialog />,\n }),\n createSurface({\n id: MANAGE_CREDENTIALS_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === MANAGE_CREDENTIALS_DIALOG,\n component: () => <ManageCredentialsDialog />,\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,eAAeC,cAAcC,mBAAmB;AAoBzD,IAAA,wBAAe,CAAC,EAAEC,oBAAmB,MACnCC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC;IACJC,MAAM;IACNC,QAAQ,CAACC,SAAgDA,KAAKC,cAAcJ;IAC5EI,WAAW,CAAC,EAAED,KAAI,MAAO,sBAAA,cAACE,gBAAAA;MAAgB,GAAGF,KAAKG;MAAOZ;;EAC3D,CAAA;EACAI,cAAc;IACZC,IAAIQ;IACJN,MAAM;IACNC,QAAQ,CAACC,SAA4CA,KAAKC,cAAcG;IACxEH,WAAW,CAAC,EAAED,KAAI,MAAO,sBAAA,cAACK,YAAeL,KAAKG,KAAK;EACrD,CAAA;EACAR,cAAc;IACZC,IAAIU;IACJR,MAAM;IACNC,QAAQ,CAACC,SAAqDA,KAAKC,cAAcK;IACjFL,WAAW,CAAC,EAAED,KAAI,MAAO,sBAAA,cAACO,oBAAuBP,KAAKG,KAAK;EAC7D,CAAA;EACAR,cAAc;IACZC,IAAIY;IACJV,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,cAAcO;IAClDP,WAAW,MAAM,sBAAA,cAACQ,qBAAAA,IAAAA;EACpB,CAAA;EACAd,cAAc;IACZC,IAAIc;IACJZ,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,cAAcS;IAClDT,WAAW,MAAM,sBAAA,cAACU,yBAAAA,IAAAA;EACpB,CAAA;CACD;",
6
+ "names": ["React", "createSurface", "Capabilities", "contributes", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "IDENTITY_DIALOG", "role", "filter", "data", "component", "IdentityDialog", "props", "JOIN_DIALOG", "JoinDialog", "RECOVER_CODE_DIALOG", "RecoveryCodeDialog", "RECOVER_SETUP_DIALOG", "RecoverySetupDialog", "MANAGE_CREDENTIALS_DIALOG", "ManageCredentialsDialog"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ClientAction
3
- } from "./chunk-E3OUNOEL.mjs";
3
+ } from "./chunk-S5RA7VCJ.mjs";
4
4
  import "./chunk-NHIL4T3L.mjs";
5
5
  export {
6
6
  ClientAction
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_JCND3P6G_exports = {};
20
- __export(app_graph_builder_JCND3P6G_exports, {
19
+ var app_graph_builder_KJRHSGZI_exports = {};
20
+ __export(app_graph_builder_KJRHSGZI_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_JCND3P6G_exports);
24
- var import_chunk_NVYWMDF3 = require("./chunk-NVYWMDF3.cjs");
23
+ module.exports = __toCommonJS(app_graph_builder_KJRHSGZI_exports);
24
+ var import_chunk_ZZQOY2DR = require("./chunk-ZZQOY2DR.cjs");
25
25
  var import_chunk_OIFPM5ZW = require("./chunk-OIFPM5ZW.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_app_framework2 = require("@dxos/app-framework");
@@ -34,7 +34,7 @@ var app_graph_builder_default = (context) => (0, import_app_framework2.contribut
34
34
  id: `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/open-shell`,
35
35
  data: async () => {
36
36
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework2.Capabilities.IntentDispatcher);
37
- await dispatch((0, import_app_framework.createIntent)(import_chunk_NVYWMDF3.ClientAction.ShareIdentity));
37
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ZZQOY2DR.ClientAction.ShareIdentity));
38
38
  },
39
39
  properties: {
40
40
  label: [
@@ -55,4 +55,4 @@ var app_graph_builder_default = (context) => (0, import_app_framework2.contribut
55
55
  }
56
56
  ]
57
57
  }));
58
- //# sourceMappingURL=app-graph-builder-JCND3P6G.cjs.map
58
+ //# sourceMappingURL=app-graph-builder-KJRHSGZI.cjs.map
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_JXRPLNW4_exports = {};
30
+ __export(chunk_JXRPLNW4_exports, {
31
+ IDENTITY_DIALOG: () => IDENTITY_DIALOG,
32
+ IdentityDialog: () => IdentityDialog,
33
+ JOIN_DIALOG: () => JOIN_DIALOG,
34
+ JoinDialog: () => JoinDialog,
35
+ MANAGE_CREDENTIALS_DIALOG: () => MANAGE_CREDENTIALS_DIALOG,
36
+ ManageCredentialsDialog: () => ManageCredentialsDialog,
37
+ RECOVER_CODE_DIALOG: () => RECOVER_CODE_DIALOG,
38
+ RECOVER_SETUP_DIALOG: () => RECOVER_SETUP_DIALOG,
39
+ RecoveryCodeDialog: () => RecoveryCodeDialog,
40
+ RecoverySetupDialog: () => RecoverySetupDialog
41
+ });
42
+ module.exports = __toCommonJS(chunk_JXRPLNW4_exports);
43
+ var import_chunk_ZZQOY2DR = require("./chunk-ZZQOY2DR.cjs");
44
+ var import_chunk_OIFPM5ZW = require("./chunk-OIFPM5ZW.cjs");
45
+ var import_react = require("@phosphor-icons/react");
46
+ var import_react2 = __toESM(require("react"));
47
+ var import_app_framework = require("@dxos/app-framework");
48
+ var import_halo = require("@dxos/react-client/halo");
49
+ var import_react_ui = require("@dxos/react-ui");
50
+ var import_react3 = require("@dxos/shell/react");
51
+ var import_react4 = __toESM(require("react"));
52
+ var import_app_framework2 = require("@dxos/app-framework");
53
+ var import_react_client = require("@dxos/react-client");
54
+ var import_react_ui2 = require("@dxos/react-ui");
55
+ var import_react5 = require("@dxos/shell/react");
56
+ var import_react6 = __toESM(require("react"));
57
+ var import_app_framework3 = require("@dxos/app-framework");
58
+ var import_types = require("@dxos/plugin-observability/types");
59
+ var import_react_ui3 = require("@dxos/react-ui");
60
+ var import_react7 = require("@dxos/shell/react");
61
+ var import_react8 = __toESM(require("react"));
62
+ var import_react_ui4 = require("@dxos/react-ui");
63
+ var import_react9 = require("@phosphor-icons/react");
64
+ var import_react10 = __toESM(require("react"));
65
+ var import_app_framework4 = require("@dxos/app-framework");
66
+ var import_react_ui5 = require("@dxos/react-ui");
67
+ var import_react11 = require("@dxos/shell/react");
68
+ var MANAGE_CREDENTIALS_DIALOG = `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/ManageCredentialsDialog`;
69
+ var ManageCredentialsDialog = () => {
70
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_OIFPM5ZW.CLIENT_PLUGIN);
71
+ const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
72
+ const credentials = (0, import_halo.useCredentials)();
73
+ const recoveryCredentials = credentials.filter((credential) => credential.subject.assertion["@type"] === "dxos.halo.credentials.IdentityRecovery");
74
+ const actions = (0, import_react2.useMemo)(() => ({
75
+ createPasskey: {
76
+ label: t("create passkey label"),
77
+ description: t("create passkey description"),
78
+ // TODO(wittjosiah): Ideally this would be a `user-key` icon.
79
+ icon: import_react.Key,
80
+ onClick: () => dispatch((0, import_app_framework.createIntent)(import_chunk_ZZQOY2DR.ClientAction.CreatePasskey))
81
+ },
82
+ createRecoveryCode: {
83
+ label: t("create recovery code label"),
84
+ description: t("create recovery code description"),
85
+ icon: import_react.Receipt,
86
+ onClick: () => dispatch((0, import_app_framework.createIntent)(import_chunk_ZZQOY2DR.ClientAction.CreateRecoveryCode))
87
+ }
88
+ }), [
89
+ t
90
+ ]);
91
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Dialog.Content, {
92
+ classNames: "bs-content min-bs-[15rem] max-bs-full md:max-is-[25rem] overflow-hidden"
93
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Dialog.Title, null, t("manage credentials dialog title")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.List, {
94
+ classNames: "py-4"
95
+ }, recoveryCredentials.map((credential) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui.ListItem.Root, {
96
+ key: credential.id?.toHex()
97
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.ListItem.Endcap, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Icon, {
98
+ icon: "ph--key--regular",
99
+ size: 5
100
+ })), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.ListItem.Heading, null, credential.issuanceDate.toLocaleString())))), /* @__PURE__ */ import_react2.default.createElement("div", {
101
+ className: "grow"
102
+ }), /* @__PURE__ */ import_react2.default.createElement(import_react3.BifurcatedAction, {
103
+ actions
104
+ }));
105
+ };
106
+ var IDENTITY_DIALOG = `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/IdentityDialog`;
107
+ var IdentityDialog = (props) => {
108
+ const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
109
+ const client = (0, import_react_client.useClient)();
110
+ const handleDone = (0, import_react4.useCallback)(() => dispatch((0, import_app_framework2.createIntent)(import_app_framework2.LayoutAction.UpdateDialog, {
111
+ part: "dialog",
112
+ options: {
113
+ state: false
114
+ }
115
+ })), [
116
+ dispatch
117
+ ]);
118
+ const handleResetStorage = (0, import_react4.useCallback)(async () => {
119
+ await client.reset();
120
+ await dispatch((0, import_app_framework2.createIntent)(import_chunk_ZZQOY2DR.ClientAction.ResetStorage));
121
+ }, [
122
+ dispatch
123
+ ]);
124
+ const handleRecover = (0, import_react4.useCallback)(async () => {
125
+ await client.reset();
126
+ await dispatch((0, import_app_framework2.createIntent)(import_chunk_ZZQOY2DR.ClientAction.ResetStorage, {
127
+ target: "recoverIdentity"
128
+ }));
129
+ }, [
130
+ dispatch
131
+ ]);
132
+ const handleJoinNewIdentity = (0, import_react4.useCallback)(async () => {
133
+ await client.reset();
134
+ await dispatch((0, import_app_framework2.createIntent)(import_chunk_ZZQOY2DR.ClientAction.ResetStorage, {
135
+ target: "deviceInvitation"
136
+ }));
137
+ }, [
138
+ dispatch
139
+ ]);
140
+ const handleManageCredentials = (0, import_react4.useCallback)(async () => {
141
+ await dispatch((0, import_app_framework2.createIntent)(import_app_framework2.LayoutAction.UpdateDialog, {
142
+ part: "dialog",
143
+ subject: MANAGE_CREDENTIALS_DIALOG,
144
+ options: {
145
+ state: true,
146
+ blockAlign: "start"
147
+ }
148
+ }));
149
+ }, [
150
+ dispatch
151
+ ]);
152
+ return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Dialog.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Clipboard.Provider, null, /* @__PURE__ */ import_react4.default.createElement(import_react5.IdentityPanel, {
153
+ ...props,
154
+ doneActionParent: /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Dialog.Close, {
155
+ asChild: true
156
+ }),
157
+ onDone: handleDone,
158
+ onResetStorage: handleResetStorage,
159
+ onRecover: handleRecover,
160
+ onJoinNewIdentity: handleJoinNewIdentity,
161
+ onManageCredentials: handleManageCredentials
162
+ })));
163
+ };
164
+ var JOIN_DIALOG = `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/JoinDialog`;
165
+ var JoinDialog = (props) => {
166
+ const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
167
+ const handleCancelResetStorage = (0, import_react6.useCallback)(() => dispatch((0, import_app_framework3.createIntent)(import_chunk_ZZQOY2DR.ClientAction.ShareIdentity)), [
168
+ dispatch
169
+ ]);
170
+ const handleDone = (0, import_react6.useCallback)(async (result) => {
171
+ if (result?.identityKey) {
172
+ await Promise.all([
173
+ dispatch((0, import_app_framework3.createIntent)(import_app_framework3.LayoutAction.UpdateDialog, {
174
+ part: "dialog",
175
+ options: {
176
+ state: false
177
+ }
178
+ })),
179
+ dispatch((0, import_app_framework3.createIntent)(import_types.ObservabilityAction.SendEvent, {
180
+ name: props.initialDisposition === "recover-identity" ? "identity.recover" : "identity.join"
181
+ }))
182
+ ]);
183
+ }
184
+ }, [
185
+ dispatch
186
+ ]);
187
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Dialog.Content, null, /* @__PURE__ */ import_react6.default.createElement(import_react7.JoinPanel, {
188
+ mode: "halo-only",
189
+ ...props,
190
+ exitActionParent: /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Dialog.Close, {
191
+ asChild: true
192
+ }),
193
+ doneActionParent: /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Dialog.Close, {
194
+ asChild: true
195
+ }),
196
+ onCancelResetStorage: handleCancelResetStorage,
197
+ onDone: handleDone
198
+ }));
199
+ };
200
+ var RECOVER_CODE_DIALOG = `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/RecoveryCodeDialog`;
201
+ var RecoveryCodeDialog = ({ code }) => {
202
+ const { t } = (0, import_react_ui4.useTranslation)(import_chunk_OIFPM5ZW.CLIENT_PLUGIN);
203
+ const [confirmation, setConfirmation] = (0, import_react8.useState)(false);
204
+ const handleConfirmation = (0, import_react8.useCallback)((checked) => setConfirmation(checked), []);
205
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.AlertDialog.Content, {
206
+ classNames: "bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
207
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.AlertDialog.Title, null, t("recovery code dialog title")), /* @__PURE__ */ import_react8.default.createElement("p", {
208
+ className: "py-4"
209
+ }, t("recovery code dialog description")), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Clipboard.Provider, null, /* @__PURE__ */ import_react8.default.createElement(Code, {
210
+ code
211
+ })), /* @__PURE__ */ import_react8.default.createElement("div", {
212
+ className: "flex flex-col py-4 gap-2"
213
+ }, /* @__PURE__ */ import_react8.default.createElement("p", null, t("recovery code dialog warning 1")), /* @__PURE__ */ import_react8.default.createElement("p", null, t("recovery code dialog warning 2"))), /* @__PURE__ */ import_react8.default.createElement("div", {
214
+ className: "flex items-center gap-2 pbe-4"
215
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Input.Root, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Input.Checkbox, {
216
+ "data-testid": "recoveryCode.confirm",
217
+ checked: confirmation,
218
+ onCheckedChange: handleConfirmation
219
+ }), /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Input.Label, null, t("recovery code confirmation label")))), /* @__PURE__ */ import_react8.default.createElement("div", {
220
+ className: "flex justify-end"
221
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.AlertDialog.Action, {
222
+ asChild: true
223
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Button, {
224
+ "data-testid": "recoveryCode.continue",
225
+ variant: "primary",
226
+ disabled: !confirmation
227
+ }, t("continue label")))));
228
+ };
229
+ var Code = ({ code }) => {
230
+ const words = code.split(" ");
231
+ return /* @__PURE__ */ import_react8.default.createElement("div", {
232
+ className: "relative p-2 border border-separator rounded group"
233
+ }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Clipboard.IconButton, {
234
+ value: code,
235
+ classNames: "absolute top-2 right-2 invisible group-hover:visible"
236
+ }), /* @__PURE__ */ import_react8.default.createElement("div", {
237
+ className: "grid grid-cols-4"
238
+ }, words.map((word, i) => /* @__PURE__ */ import_react8.default.createElement("div", {
239
+ key: i,
240
+ className: "flex items-center p-2 gap-2"
241
+ }, /* @__PURE__ */ import_react8.default.createElement("div", {
242
+ className: "w-4 text-xs text-center text-subdued"
243
+ }, i + 1), /* @__PURE__ */ import_react8.default.createElement("div", {
244
+ className: "text-sm"
245
+ }, word)))));
246
+ };
247
+ var RECOVER_SETUP_DIALOG = `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/RecoverySetupDialog`;
248
+ var RecoverySetupDialog = () => {
249
+ const { t } = (0, import_react_ui5.useTranslation)(import_chunk_OIFPM5ZW.CLIENT_PLUGIN);
250
+ const { dispatchPromise: dispatch } = (0, import_app_framework4.useIntentDispatcher)();
251
+ const actions = (0, import_react10.useMemo)(() => ({
252
+ createPasskey: {
253
+ label: t("create passkey label"),
254
+ description: t("create passkey description"),
255
+ // TODO(wittjosiah): Ideally this would be a `user-key` icon.
256
+ icon: import_react9.Key,
257
+ onClick: async () => {
258
+ await dispatch((0, import_app_framework4.createIntent)(import_chunk_ZZQOY2DR.ClientAction.CreatePasskey));
259
+ await dispatch((0, import_app_framework4.createIntent)(import_app_framework4.LayoutAction.UpdateDialog, {
260
+ part: "dialog",
261
+ options: {
262
+ state: false
263
+ }
264
+ }));
265
+ }
266
+ },
267
+ createRecoveryCode: {
268
+ label: t("create recovery code label"),
269
+ description: t("create recovery code description"),
270
+ icon: import_react9.Receipt,
271
+ onClick: () => dispatch((0, import_app_framework4.createIntent)(import_chunk_ZZQOY2DR.ClientAction.CreateRecoveryCode))
272
+ }
273
+ }), [
274
+ t
275
+ ]);
276
+ return /* @__PURE__ */ import_react10.default.createElement(import_react_ui5.AlertDialog.Content, {
277
+ classNames: "bs-content min-bs-[15rem] max-bs-full md:max-is-[25rem] overflow-hidden"
278
+ }, /* @__PURE__ */ import_react10.default.createElement(import_react_ui5.AlertDialog.Title, null, t("recovery setup dialog title")), /* @__PURE__ */ import_react10.default.createElement("p", {
279
+ className: "py-4"
280
+ }, t("recovery setup dialog description")), /* @__PURE__ */ import_react10.default.createElement("div", {
281
+ className: "grow"
282
+ }), /* @__PURE__ */ import_react10.default.createElement(import_react11.BifurcatedAction, {
283
+ actions
284
+ }));
285
+ };
286
+ // Annotate the CommonJS export names for ESM import in node:
287
+ 0 && (module.exports = {
288
+ IDENTITY_DIALOG,
289
+ IdentityDialog,
290
+ JOIN_DIALOG,
291
+ JoinDialog,
292
+ MANAGE_CREDENTIALS_DIALOG,
293
+ ManageCredentialsDialog,
294
+ RECOVER_CODE_DIALOG,
295
+ RECOVER_SETUP_DIALOG,
296
+ RecoveryCodeDialog,
297
+ RecoverySetupDialog
298
+ });
299
+ //# sourceMappingURL=chunk-JXRPLNW4.cjs.map