@dxos/plugin-chess 0.8.4-main.84f28bd → 0.8.4-main.a4bbb77

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 (160) hide show
  1. package/dist/lib/browser/ChessboardContainer-JOCAWL5W.mjs +97 -0
  2. package/dist/lib/browser/ChessboardContainer-JOCAWL5W.mjs.map +7 -0
  3. package/dist/lib/browser/blueprint-definition-LC4GNYMG.mjs +11 -0
  4. package/dist/lib/browser/blueprint-definition-LC4GNYMG.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-2EN3CBLB.mjs +8 -0
  6. package/dist/lib/browser/chunk-2EN3CBLB.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-3WEALY7P.mjs +84 -0
  8. package/dist/lib/browser/chunk-3WEALY7P.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-4ULSTPL6.mjs +166 -0
  10. package/dist/lib/browser/chunk-4ULSTPL6.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-NR4YFUK7.mjs +306 -0
  12. package/dist/lib/browser/chunk-NR4YFUK7.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-WSUUPPDK.mjs +26 -0
  14. package/dist/lib/browser/chunk-WSUUPPDK.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +55 -28
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/intent-resolver-PMP36Y5B.mjs +25 -0
  18. package/dist/lib/browser/intent-resolver-PMP36Y5B.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/react-surface-TSLFLTXN.mjs +38 -0
  21. package/dist/lib/browser/react-surface-TSLFLTXN.mjs.map +7 -0
  22. package/dist/lib/browser/types/index.mjs +6 -7
  23. package/dist/lib/node-esm/ChessboardContainer-XAVVBRFW.mjs +98 -0
  24. package/dist/lib/node-esm/ChessboardContainer-XAVVBRFW.mjs.map +7 -0
  25. package/dist/lib/node-esm/blueprint-definition-FBGRWYEW.mjs +12 -0
  26. package/dist/lib/node-esm/blueprint-definition-FBGRWYEW.mjs.map +7 -0
  27. package/dist/lib/node-esm/chunk-5C2OYL2B.mjs +27 -0
  28. package/dist/lib/node-esm/chunk-5C2OYL2B.mjs.map +7 -0
  29. package/dist/lib/node-esm/{chunk-TD2SWK2H.mjs → chunk-7PHZFXU5.mjs} +3 -3
  30. package/dist/lib/node-esm/chunk-7PHZFXU5.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-AR3TI5LX.mjs +167 -0
  32. package/dist/lib/node-esm/chunk-AR3TI5LX.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-LMXETYDF.mjs +85 -0
  34. package/dist/lib/node-esm/chunk-LMXETYDF.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-VVTQFCUK.mjs +307 -0
  36. package/dist/lib/node-esm/chunk-VVTQFCUK.mjs.map +7 -0
  37. package/dist/lib/node-esm/index.mjs +55 -28
  38. package/dist/lib/node-esm/index.mjs.map +3 -3
  39. package/dist/lib/node-esm/intent-resolver-5P7Y2ZKB.mjs +26 -0
  40. package/dist/lib/node-esm/intent-resolver-5P7Y2ZKB.mjs.map +7 -0
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/react-surface-AN4SMEDU.mjs +39 -0
  43. package/dist/lib/node-esm/react-surface-AN4SMEDU.mjs.map +7 -0
  44. package/dist/lib/node-esm/types/index.mjs +6 -7
  45. package/dist/types/src/ChessPlugin.d.ts +1 -1
  46. package/dist/types/src/ChessPlugin.d.ts.map +1 -1
  47. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
  48. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  49. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  50. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  51. package/dist/types/src/capabilities/index.d.ts +4 -3
  52. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  53. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  54. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  56. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  57. package/dist/types/src/components/Card.stories.d.ts +13 -0
  58. package/dist/types/src/components/Card.stories.d.ts.map +1 -0
  59. package/dist/types/src/components/Chessboard.d.ts +38 -0
  60. package/dist/types/src/components/Chessboard.d.ts.map +1 -0
  61. package/dist/types/src/components/Chessboard.stories.d.ts +41 -5
  62. package/dist/types/src/components/Chessboard.stories.d.ts.map +1 -1
  63. package/dist/types/src/components/ChessboardArticle.d.ts +7 -0
  64. package/dist/types/src/components/ChessboardArticle.d.ts.map +1 -0
  65. package/dist/types/src/components/ChessboardContainer.d.ts +9 -0
  66. package/dist/types/src/components/ChessboardContainer.d.ts.map +1 -0
  67. package/dist/types/src/components/Info.d.ts +21 -0
  68. package/dist/types/src/components/Info.d.ts.map +1 -0
  69. package/dist/types/src/components/index.d.ts +2 -5
  70. package/dist/types/src/components/index.d.ts.map +1 -1
  71. package/dist/types/src/functions/create.d.ts +14 -0
  72. package/dist/types/src/functions/create.d.ts.map +1 -0
  73. package/dist/types/src/functions/index.d.ts +4 -0
  74. package/dist/types/src/functions/index.d.ts.map +1 -0
  75. package/dist/types/src/functions/move.d.ts +8 -0
  76. package/dist/types/src/functions/move.d.ts.map +1 -0
  77. package/dist/types/src/functions/play.d.ts +9 -0
  78. package/dist/types/src/functions/play.d.ts.map +1 -0
  79. package/dist/types/src/index.d.ts +2 -0
  80. package/dist/types/src/index.d.ts.map +1 -1
  81. package/dist/types/src/meta.d.ts +0 -1
  82. package/dist/types/src/meta.d.ts.map +1 -1
  83. package/dist/types/src/translations.d.ts +12 -2
  84. package/dist/types/src/translations.d.ts.map +1 -1
  85. package/dist/types/src/types/Chess.d.ts +27 -0
  86. package/dist/types/src/types/Chess.d.ts.map +1 -0
  87. package/dist/types/src/types/ChessAction.d.ts +24 -0
  88. package/dist/types/src/types/ChessAction.d.ts.map +1 -0
  89. package/dist/types/src/types/index.d.ts +2 -2
  90. package/dist/types/src/types/index.d.ts.map +1 -1
  91. package/dist/types/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +45 -34
  93. package/src/ChessPlugin.tsx +48 -48
  94. package/src/capabilities/artifact-definition.ts +25 -21
  95. package/src/capabilities/blueprint-definition.ts +36 -0
  96. package/src/capabilities/index.ts +3 -1
  97. package/src/capabilities/intent-resolver.ts +3 -7
  98. package/src/capabilities/react-surface.tsx +6 -13
  99. package/src/components/Card.stories.tsx +66 -0
  100. package/src/components/Chessboard.stories.tsx +36 -26
  101. package/src/components/Chessboard.tsx +177 -0
  102. package/src/components/ChessboardArticle.tsx +69 -0
  103. package/src/components/ChessboardContainer.tsx +44 -0
  104. package/src/components/Info.tsx +236 -0
  105. package/src/components/index.ts +2 -2
  106. package/src/functions/create.ts +31 -0
  107. package/src/functions/index.ts +7 -0
  108. package/src/functions/move.ts +44 -0
  109. package/src/functions/play.ts +54 -0
  110. package/src/index.ts +2 -0
  111. package/src/meta.ts +5 -5
  112. package/src/translations.ts +12 -2
  113. package/src/types/Chess.ts +66 -0
  114. package/src/types/ChessAction.ts +19 -0
  115. package/src/types/index.ts +2 -2
  116. package/dist/lib/browser/ChessContainer-DL5J6VIK.mjs +0 -101
  117. package/dist/lib/browser/ChessContainer-DL5J6VIK.mjs.map +0 -7
  118. package/dist/lib/browser/artifact-definition-4AMZY5LQ.mjs +0 -182
  119. package/dist/lib/browser/artifact-definition-4AMZY5LQ.mjs.map +0 -7
  120. package/dist/lib/browser/chunk-2VF6U52K.mjs +0 -8
  121. package/dist/lib/browser/chunk-2VF6U52K.mjs.map +0 -7
  122. package/dist/lib/browser/chunk-A3WEUKPK.mjs +0 -61
  123. package/dist/lib/browser/chunk-A3WEUKPK.mjs.map +0 -7
  124. package/dist/lib/browser/chunk-AZSYKAFK.mjs +0 -61
  125. package/dist/lib/browser/chunk-AZSYKAFK.mjs.map +0 -7
  126. package/dist/lib/browser/intent-resolver-KQYYX44R.mjs +0 -28
  127. package/dist/lib/browser/intent-resolver-KQYYX44R.mjs.map +0 -7
  128. package/dist/lib/browser/react-surface-4TBVZUKU.mjs +0 -43
  129. package/dist/lib/browser/react-surface-4TBVZUKU.mjs.map +0 -7
  130. package/dist/lib/node-esm/ChessContainer-WVOL2KSE.mjs +0 -102
  131. package/dist/lib/node-esm/ChessContainer-WVOL2KSE.mjs.map +0 -7
  132. package/dist/lib/node-esm/artifact-definition-TT3747JB.mjs +0 -183
  133. package/dist/lib/node-esm/artifact-definition-TT3747JB.mjs.map +0 -7
  134. package/dist/lib/node-esm/chunk-2DRWEDVT.mjs +0 -63
  135. package/dist/lib/node-esm/chunk-2DRWEDVT.mjs.map +0 -7
  136. package/dist/lib/node-esm/chunk-IS3Y25PL.mjs +0 -63
  137. package/dist/lib/node-esm/chunk-IS3Y25PL.mjs.map +0 -7
  138. package/dist/lib/node-esm/chunk-TD2SWK2H.mjs.map +0 -7
  139. package/dist/lib/node-esm/intent-resolver-GXK2JROQ.mjs +0 -29
  140. package/dist/lib/node-esm/intent-resolver-GXK2JROQ.mjs.map +0 -7
  141. package/dist/lib/node-esm/react-surface-PAUEOIBL.mjs +0 -44
  142. package/dist/lib/node-esm/react-surface-PAUEOIBL.mjs.map +0 -7
  143. package/dist/types/src/components/ChessComponent.d.ts +0 -6
  144. package/dist/types/src/components/ChessComponent.d.ts.map +0 -1
  145. package/dist/types/src/components/ChessContainer.d.ts +0 -8
  146. package/dist/types/src/components/ChessContainer.d.ts.map +0 -1
  147. package/dist/types/src/components/ChessPanel.d.ts +0 -11
  148. package/dist/types/src/components/ChessPanel.d.ts.map +0 -1
  149. package/dist/types/src/components/PlayerSelector.d.ts +0 -8
  150. package/dist/types/src/components/PlayerSelector.d.ts.map +0 -1
  151. package/dist/types/src/types/schema.d.ts +0 -29
  152. package/dist/types/src/types/schema.d.ts.map +0 -1
  153. package/dist/types/src/types/types.d.ts +0 -32
  154. package/dist/types/src/types/types.d.ts.map +0 -1
  155. package/src/components/ChessComponent.tsx +0 -54
  156. package/src/components/ChessContainer.tsx +0 -35
  157. package/src/components/ChessPanel.tsx +0 -67
  158. package/src/components/PlayerSelector.tsx +0 -80
  159. package/src/types/schema.ts +0 -34
  160. package/src/types/types.ts +0 -20
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":2020,"imports":[],"format":"esm"},"src/types/schema.ts":{"bytes":3031,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/types/types.ts":{"bytes":2147,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":541,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/capabilities/artifact-definition.ts":{"bytes":19069,"imports":[{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":2679,"imports":[{"path":"chess.js","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/ChessComponent.tsx":{"bytes":5495,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-gameboard","kind":"import-statement","external":true}],"format":"esm"},"src/components/PlayerSelector.tsx":{"bytes":9071,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/ChessContainer.tsx":{"bytes":3418,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"src/components/ChessComponent.tsx","kind":"import-statement","original":"./ChessComponent"},{"path":"src/components/PlayerSelector.tsx","kind":"import-statement","original":"./PlayerSelector"}],"format":"esm"},"src/components/index.ts":{"bytes":859,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/ChessComponent.tsx","kind":"import-statement","original":"./ChessComponent"},{"path":"src/components/ChessContainer.tsx","kind":"dynamic-import","original":"./ChessContainer"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":4004,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1316,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":2148,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/ChessPlugin.tsx":{"bytes":7255,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":741,"imports":[{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/ChessPlugin.tsx","kind":"import-statement","original":"./ChessPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5102},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-2VF6U52K.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-A3WEUKPK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-AZSYKAFK.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/artifact-definition-4AMZY5LQ.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-KQYYX44R.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-4TBVZUKU.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["ArtifactDefinition","CHESS_PLUGIN","ChessComponent","ChessContainer","ChessPlugin","IntentResolver","ReactSurface","meta"],"entryPoint":"src/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":273},"src/index.ts":{"bytesInOutput":0},"src/ChessPlugin.tsx":{"bytesInOutput":1492},"src/translations.ts":{"bytesInOutput":388}},"bytes":2637},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-A3WEUKPK.mjs","kind":"import-statement"}],"exports":["ChessAction","ChessType","MoveSchema"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":170},"dist/lib/browser/artifact-definition-4AMZY5LQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8478},"dist/lib/browser/artifact-definition-4AMZY5LQ.mjs":{"imports":[{"path":"dist/lib/browser/chunk-A3WEUKPK.mjs","kind":"import-statement"},{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/ai","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/artifact-definition.ts","inputs":{"src/capabilities/artifact-definition.ts":{"bytesInOutput":5943}},"bytes":6173},"dist/lib/browser/intent-resolver-KQYYX44R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1374},"dist/lib/browser/intent-resolver-KQYYX44R.mjs":{"imports":[{"path":"dist/lib/browser/chunk-A3WEUKPK.mjs","kind":"import-statement"},{"path":"chess.js","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":503}},"bytes":713},"dist/lib/browser/ChessContainer-DL5J6VIK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6167},"dist/lib/browser/ChessContainer-DL5J6VIK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-AZSYKAFK.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/components/ChessContainer.tsx","inputs":{"src/components/ChessContainer.tsx":{"bytesInOutput":978},"src/components/PlayerSelector.tsx":{"bytesInOutput":2608}},"bytes":3858},"dist/lib/browser/react-surface-4TBVZUKU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1888},"dist/lib/browser/react-surface-4TBVZUKU.mjs":{"imports":[{"path":"dist/lib/browser/chunk-2VF6U52K.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-A3WEUKPK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-AZSYKAFK.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":875}},"bytes":1187},"dist/lib/browser/chunk-2VF6U52K.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":402},"dist/lib/browser/chunk-2VF6U52K.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/browser/ChessContainer-DL5J6VIK.mjs","kind":"dynamic-import"}],"exports":["ChessContainer"],"inputs":{"src/components/index.ts":{"bytesInOutput":104}},"bytes":205},"dist/lib/browser/chunk-A3WEUKPK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3482},"dist/lib/browser/chunk-A3WEUKPK.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true}],"exports":["CHESS_PLUGIN","ChessAction","ChessType","MoveSchema","meta"],"inputs":{"src/types/schema.ts":{"bytesInOutput":586},"src/types/index.ts":{"bytesInOutput":0},"src/types/types.ts":{"bytesInOutput":430},"src/meta.ts":{"bytesInOutput":513}},"bytes":1736},"dist/lib/browser/chunk-AZSYKAFK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2588},"dist/lib/browser/chunk-AZSYKAFK.mjs":{"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-gameboard","kind":"import-statement","external":true}],"exports":["ChessComponent"],"inputs":{"src/components/ChessComponent.tsx":{"bytesInOutput":1588}},"bytes":1699}}}
1
+ {"inputs":{"src/types/Chess.ts":{"bytes":5620,"imports":[{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/meta.ts":{"bytes":1691,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/ChessAction.ts":{"bytes":1848,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/Chess.ts","kind":"import-statement","original":"./Chess"}],"format":"esm"},"src/types/index.ts":{"bytes":682,"imports":[{"path":"src/types/Chess.ts","kind":"import-statement","original":"./Chess"},{"path":"src/types/ChessAction.ts","kind":"import-statement","original":"./ChessAction"}],"format":"esm"},"src/functions/create.ts":{"bytes":3177,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/functions/move.ts":{"bytes":5054,"imports":[{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/functions/play.ts":{"bytes":6741,"imports":[{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/functions/index.ts":{"bytes":860,"imports":[{"path":"src/functions/create.ts","kind":"import-statement","original":"./create"},{"path":"src/functions/move.ts","kind":"import-statement","original":"./move"},{"path":"src/functions/play.ts","kind":"import-statement","original":"./play"}],"format":"esm"},"src/capabilities/blueprint-definition.ts":{"bytes":3906,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/functions/index.ts","kind":"import-statement","original":"../functions"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":2113,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/Info.tsx":{"bytes":24809,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-gameboard","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/Chessboard.tsx":{"bytes":14217,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-ui-gameboard","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/components/Info.tsx","kind":"import-statement","original":"./Info"}],"format":"esm"},"src/components/ChessboardArticle.tsx":{"bytes":8322,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/components/Chessboard.tsx","kind":"import-statement","original":"./Chessboard"}],"format":"esm"},"src/components/ChessboardContainer.tsx":{"bytes":3725,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"src/components/Chessboard.tsx","kind":"import-statement","original":"./Chessboard"},{"path":"src/components/ChessboardArticle.tsx","kind":"import-statement","original":"./ChessboardArticle"}],"format":"esm"},"src/components/index.ts":{"bytes":877,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Chessboard.tsx","kind":"import-statement","original":"./Chessboard"},{"path":"src/components/ChessboardContainer.tsx","kind":"dynamic-import","original":"./ChessboardContainer"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3392,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1442,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/blueprint-definition.ts","kind":"import-statement","original":"./blueprint-definition"},{"path":"src/capabilities/blueprint-definition.ts","kind":"dynamic-import","original":"./blueprint-definition"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":3391,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/ChessPlugin.tsx":{"bytes":7439,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":911,"imports":[{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/functions/index.ts","kind":"import-statement","original":"./functions"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"src/ChessPlugin.tsx","kind":"import-statement","original":"./ChessPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5734},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-4ULSTPL6.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-2EN3CBLB.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-3WEALY7P.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-NR4YFUK7.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/blueprint-definition-LC4GNYMG.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-PMP36Y5B.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-TSLFLTXN.mjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true}],"exports":["BLUEPRINT_KEY","BlueprintDefinition","Chess","ChessAction","ChessPlugin","Chessboard","ChessboardContainer","ExtendedChessModel","IntentResolver","ReactSurface","create","meta","move","play"],"entryPoint":"src/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":275},"src/index.ts":{"bytesInOutput":0},"src/ChessPlugin.tsx":{"bytesInOutput":1566},"src/translations.ts":{"bytesInOutput":807}},"bytes":3461},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-3WEALY7P.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"}],"exports":["Chess","ChessAction"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":222},"dist/lib/browser/blueprint-definition-LC4GNYMG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/blueprint-definition-LC4GNYMG.mjs":{"imports":[{"path":"dist/lib/browser/chunk-4ULSTPL6.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-3WEALY7P.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"}],"exports":["BLUEPRINT_KEY","default"],"entryPoint":"src/capabilities/blueprint-definition.ts","inputs":{},"bytes":280},"dist/lib/browser/chunk-4ULSTPL6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9598},"dist/lib/browser/chunk-4ULSTPL6.mjs":{"imports":[{"path":"dist/lib/browser/chunk-3WEALY7P.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true},{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/functions","kind":"import-statement","external":true}],"exports":["BLUEPRINT_KEY","blueprint_definition_default","create_default","move_default","play_default"],"inputs":{"src/capabilities/blueprint-definition.ts":{"bytesInOutput":968},"src/functions/create.ts":{"bytesInOutput":703},"src/functions/index.ts":{"bytesInOutput":0},"src/functions/move.ts":{"bytesInOutput":1284},"src/functions/play.ts":{"bytesInOutput":1732}},"bytes":5068},"dist/lib/browser/intent-resolver-PMP36Y5B.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1073},"dist/lib/browser/intent-resolver-PMP36Y5B.mjs":{"imports":[{"path":"dist/lib/browser/chunk-3WEALY7P.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":380}},"bytes":633},"dist/lib/browser/ChessboardContainer-JOCAWL5W.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5952},"dist/lib/browser/ChessboardContainer-JOCAWL5W.mjs":{"imports":[{"path":"dist/lib/browser/chunk-NR4YFUK7.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["ChessboardContainer","default"],"entryPoint":"src/components/ChessboardContainer.tsx","inputs":{"src/components/ChessboardContainer.tsx":{"bytesInOutput":931},"src/components/ChessboardArticle.tsx":{"bytesInOutput":2158}},"bytes":3450},"dist/lib/browser/react-surface-TSLFLTXN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1589},"dist/lib/browser/react-surface-TSLFLTXN.mjs":{"imports":[{"path":"dist/lib/browser/chunk-2EN3CBLB.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-3WEALY7P.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-NR4YFUK7.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":718}},"bytes":1052},"dist/lib/browser/chunk-2EN3CBLB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":413},"dist/lib/browser/chunk-2EN3CBLB.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/browser/ChessboardContainer-JOCAWL5W.mjs","kind":"dynamic-import"}],"exports":["ChessboardContainer"],"inputs":{"src/components/index.ts":{"bytesInOutput":114}},"bytes":220},"dist/lib/browser/chunk-3WEALY7P.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3784},"dist/lib/browser/chunk-3WEALY7P.mjs":{"imports":[{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"},{"path":"chess.js","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true}],"exports":["ChessAction_exports","Chess_exports"],"inputs":{"src/types/Chess.ts":{"bytesInOutput":1484},"src/types/index.ts":{"bytesInOutput":0},"src/types/ChessAction.ts":{"bytesInOutput":387}},"bytes":2078},"dist/lib/browser/chunk-NR4YFUK7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":19947},"dist/lib/browser/chunk-NR4YFUK7.mjs":{"imports":[{"path":"dist/lib/browser/chunk-WSUUPPDK.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-ui-gameboard","kind":"import-statement","external":true},{"path":"@dxos/react-ui-sfx","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/display-name","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-gameboard","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["Chessboard","ExtendedChessModel"],"inputs":{"src/components/Chessboard.tsx":{"bytesInOutput":3610},"src/components/Info.tsx":{"bytesInOutput":6785}},"bytes":10630},"dist/lib/browser/chunk-WSUUPPDK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":821},"dist/lib/browser/chunk-WSUUPPDK.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["__export","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":377}},"bytes":636}}}
@@ -0,0 +1,38 @@
1
+ import {
2
+ ChessboardContainer
3
+ } from "./chunk-2EN3CBLB.mjs";
4
+ import {
5
+ Chess_exports
6
+ } from "./chunk-3WEALY7P.mjs";
7
+ import "./chunk-NR4YFUK7.mjs";
8
+ import {
9
+ meta
10
+ } from "./chunk-WSUUPPDK.mjs";
11
+
12
+ // src/capabilities/react-surface.tsx
13
+ import React from "react";
14
+ import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
15
+ import { Obj } from "@dxos/echo";
16
+ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
17
+ createSurface({
18
+ id: meta.id,
19
+ role: [
20
+ "article",
21
+ "section",
22
+ "card--intrinsic",
23
+ "card--extrinsic",
24
+ "card--popover",
25
+ "card--transclusion"
26
+ ],
27
+ // TODO(burdon): Could this be standardized so that we don't require a subject property.
28
+ filter: (data) => Obj.instanceOf(Chess_exports.Game, data.subject),
29
+ component: ({ data, role }) => /* @__PURE__ */ React.createElement(ChessboardContainer, {
30
+ game: data.subject,
31
+ role
32
+ })
33
+ })
34
+ ]));
35
+ export {
36
+ react_surface_default as default
37
+ };
38
+ //# sourceMappingURL=react-surface-TSLFLTXN.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 { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\n\nimport { ChessboardContainer } from '../components';\nimport { meta } from '../meta';\nimport { Chess } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: ['article', 'section', 'card--intrinsic', 'card--extrinsic', 'card--popover', 'card--transclusion'],\n // TODO(burdon): Could this be standardized so that we don't require a subject property.\n filter: (data): data is { subject: Chess.Game } => Obj.instanceOf(Chess.Game, data.subject),\n component: ({ data, role }) => <ChessboardContainer game={data.subject} role={role} />,\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AAMpB,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC,KAAKD;IACTE,MAAM;MAAC;MAAW;MAAW;MAAmB;MAAmB;MAAiB;;;IAEpFC,QAAQ,CAACC,SAA0CC,IAAIC,WAAWC,cAAMC,MAAMJ,KAAKK,OAAO;IAC1FC,WAAW,CAAC,EAAEN,MAAMF,KAAI,MAAO,sBAAA,cAACS,qBAAAA;MAAoBC,MAAMR,KAAKK;MAASP;;EAC1E,CAAA;CACD;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Chess", "Game", "subject", "component", "ChessboardContainer", "game"]
7
+ }
@@ -1,11 +1,10 @@
1
1
  import {
2
- ChessAction,
3
- ChessType,
4
- MoveSchema
5
- } from "../chunk-A3WEUKPK.mjs";
2
+ ChessAction_exports,
3
+ Chess_exports
4
+ } from "../chunk-3WEALY7P.mjs";
5
+ import "../chunk-WSUUPPDK.mjs";
6
6
  export {
7
- ChessAction,
8
- ChessType,
9
- MoveSchema
7
+ Chess_exports as Chess,
8
+ ChessAction_exports as ChessAction
10
9
  };
11
10
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,98 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ Chessboard
4
+ } from "./chunk-VVTQFCUK.mjs";
5
+ import {
6
+ meta
7
+ } from "./chunk-5C2OYL2B.mjs";
8
+
9
+ // src/components/ChessboardContainer.tsx
10
+ import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
11
+ import React2 from "react";
12
+ import { getSpace } from "@dxos/react-client/echo";
13
+
14
+ // src/components/ChessboardArticle.tsx
15
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
16
+ import React, { useCallback, useRef, useState } from "react";
17
+ import { IconButton, Toolbar, useTranslation } from "@dxos/react-ui";
18
+ import { StackItem } from "@dxos/react-ui-stack";
19
+ import { mx } from "@dxos/react-ui-theme";
20
+ var ChessboardArticle = ({ game, role }) => {
21
+ var _effect = _useSignals();
22
+ try {
23
+ const { t } = useTranslation(meta.id);
24
+ const [orientation, setOrientation] = useState("white");
25
+ const [open, setOpen] = useState(true);
26
+ const controller = useRef(null);
27
+ const handleSelect = useCallback((index) => {
28
+ controller.current?.setMoveNumber(index);
29
+ }, []);
30
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
31
+ toolbar: true,
32
+ classNames: "@container bs-full is-full overflow-hidden"
33
+ }, /* @__PURE__ */ React.createElement(Chessboard.Root, {
34
+ game,
35
+ ref: controller
36
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(IconButton, {
37
+ variant: "ghost",
38
+ icon: "ph--info--regular",
39
+ iconOnly: true,
40
+ label: t("toggle info button"),
41
+ size: 6,
42
+ classNames: mx("invisible", !open && "@3xl:visible"),
43
+ onClick: () => setOpen((open2) => !open2)
44
+ })), /* @__PURE__ */ React.createElement("div", {
45
+ className: mx("grid _grid-rows-[1fr_4rem] bs-full is-full gap-2", open && "@3xl:grid-cols-[1fr_320px]", role === "section" && "aspect-square", role === "section" && open && "@3xl:aspect-auto")
46
+ }, /* @__PURE__ */ React.createElement(Chessboard.Content, null, /* @__PURE__ */ React.createElement(Chessboard.Board, {
47
+ classNames: "m-4 rounded-sm overflow-hidden",
48
+ orientation
49
+ })), open && /* @__PURE__ */ React.createElement("div", {
50
+ className: "hidden @3xl:flex flex-col p-8 justify-center items-center overflow-hidden"
51
+ }, /* @__PURE__ */ React.createElement(Chessboard.Info, {
52
+ orientation,
53
+ min: 8,
54
+ max: 8,
55
+ onOrientationChange: setOrientation,
56
+ onClose: () => setOpen(false),
57
+ onSelect: handleSelect
58
+ })))));
59
+ } finally {
60
+ _effect.f();
61
+ }
62
+ };
63
+
64
+ // src/components/ChessboardContainer.tsx
65
+ var ChessboardContainer = ({ game, role }) => {
66
+ var _effect = _useSignals2();
67
+ try {
68
+ const space = getSpace(game);
69
+ if (!space) {
70
+ return null;
71
+ }
72
+ switch (role) {
73
+ case "card--popover":
74
+ case "card--intrinsic":
75
+ case "card--extrinsic": {
76
+ return /* @__PURE__ */ React2.createElement(Chessboard.Root, {
77
+ game
78
+ }, /* @__PURE__ */ React2.createElement(Chessboard.Content, {
79
+ role
80
+ }, /* @__PURE__ */ React2.createElement(Chessboard.Board, null)));
81
+ }
82
+ default: {
83
+ return /* @__PURE__ */ React2.createElement(ChessboardArticle, {
84
+ game,
85
+ role
86
+ });
87
+ }
88
+ }
89
+ } finally {
90
+ _effect.f();
91
+ }
92
+ };
93
+ var ChessboardContainer_default = ChessboardContainer;
94
+ export {
95
+ ChessboardContainer,
96
+ ChessboardContainer_default as default
97
+ };
98
+ //# sourceMappingURL=ChessboardContainer-XAVVBRFW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ChessboardContainer.tsx", "../../../src/components/ChessboardArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { type Chess } from '../types';\n\nimport { Chessboard } from './Chessboard';\nimport { ChessboardArticle } from './ChessboardArticle';\n\nexport type ChessboardContainerProps = {\n game: Chess.Game;\n role?: string;\n};\n\nexport const ChessboardContainer = ({ game, role }: ChessboardContainerProps) => {\n const space = getSpace(game);\n if (!space) {\n return null;\n }\n\n switch (role) {\n case 'card--popover':\n case 'card--intrinsic':\n case 'card--extrinsic': {\n return (\n <Chessboard.Root game={game}>\n <Chessboard.Content role={role}>\n <Chessboard.Board />\n </Chessboard.Content>\n </Chessboard.Root>\n );\n }\n\n default: {\n return <ChessboardArticle game={game} role={role} />;\n }\n }\n};\n\nexport default ChessboardContainer;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { IconButton, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { type Player } from '@dxos/react-ui-gameboard';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\nimport { type Chess } from '../types';\n\nimport { Chessboard, type ChessboardController, type ChessboardInfoProps } from './Chessboard';\n\nexport const ChessboardArticle = ({ game, role }: { game: Chess.Game; role?: string }) => {\n const { t } = useTranslation(meta.id);\n const [orientation, setOrientation] = useState<Player>('white');\n const [open, setOpen] = useState(true);\n const controller = useRef<ChessboardController>(null);\n\n // TODO(burdon): Keyboard handler.\n const handleSelect = useCallback<NonNullable<ChessboardInfoProps['onSelect']>>((index) => {\n controller.current?.setMoveNumber(index);\n }, []);\n\n return (\n <StackItem.Content toolbar classNames='@container bs-full is-full overflow-hidden'>\n <Chessboard.Root game={game} ref={controller}>\n <Toolbar.Root>\n <IconButton\n variant='ghost'\n icon='ph--info--regular'\n iconOnly\n label={t('toggle info button')}\n size={6}\n classNames={mx('invisible', !open && '@3xl:visible')}\n onClick={() => setOpen((open) => !open)}\n />\n </Toolbar.Root>\n <div\n className={mx(\n 'grid _grid-rows-[1fr_4rem] bs-full is-full gap-2',\n open && '@3xl:grid-cols-[1fr_320px]',\n role === 'section' && 'aspect-square',\n role === 'section' && open && '@3xl:aspect-auto',\n )}\n >\n <Chessboard.Content>\n <Chessboard.Board classNames='m-4 rounded-sm overflow-hidden' orientation={orientation} />\n </Chessboard.Content>\n {open && (\n <div className='hidden @3xl:flex flex-col p-8 justify-center items-center overflow-hidden'>\n <Chessboard.Info\n orientation={orientation}\n min={8}\n max={8}\n onOrientationChange={setOrientation}\n onClose={() => setOpen(false)}\n onSelect={handleSelect}\n />\n </div>\n )}\n </div>\n </Chessboard.Root>\n </StackItem.Content>\n );\n};\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,OAAOA,YAAW;AAElB,SAASC,gBAAgB;;;;ACFzB,OAAOC,SAASC,aAAaC,QAAQC,gBAAgB;AAErD,SAASC,YAAYC,SAASC,sBAAsB;AAEpD,SAASC,iBAAiB;AAC1B,SAASC,UAAU;AAOZ,IAAMC,oBAAoB,CAAC,EAAEC,MAAMC,KAAI,MAAuC;;;AACnF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,UAAM,CAACC,aAAaC,cAAAA,IAAkBC,SAAiB,OAAA;AACvD,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAS,IAAA;AACjC,UAAMG,aAAaC,OAA6B,IAAA;AAGhD,UAAMC,eAAeC,YAA0D,CAACC,UAAAA;AAC9EJ,iBAAWK,SAASC,cAAcF,KAAAA;IACpC,GAAG,CAAA,CAAE;AAEL,WACE,sBAAA,cAACG,UAAUC,SAAO;MAACC,SAAAA;MAAQC,YAAW;OACpC,sBAAA,cAACC,WAAWC,MAAI;MAACvB;MAAYwB,KAAKb;OAChC,sBAAA,cAACc,QAAQF,MAAI,MACX,sBAAA,cAACG,YAAAA;MACCC,SAAQ;MACRC,MAAK;MACLC,UAAAA;MACAC,OAAO5B,EAAE,oBAAA;MACT6B,MAAM;MACNV,YAAYW,GAAG,aAAa,CAACvB,QAAQ,cAAA;MACrCwB,SAAS,MAAMvB,QAAQ,CAACD,UAAS,CAACA,KAAAA;SAGtC,sBAAA,cAACyB,OAAAA;MACCC,WAAWH,GACT,oDACAvB,QAAQ,8BACRR,SAAS,aAAa,iBACtBA,SAAS,aAAaQ,QAAQ,kBAAA;OAGhC,sBAAA,cAACa,WAAWH,SAAO,MACjB,sBAAA,cAACG,WAAWc,OAAK;MAACf,YAAW;MAAiCf;SAE/DG,QACC,sBAAA,cAACyB,OAAAA;MAAIC,WAAU;OACb,sBAAA,cAACb,WAAWe,MAAI;MACd/B;MACAgC,KAAK;MACLC,KAAK;MACLC,qBAAqBjC;MACrBkC,SAAS,MAAM/B,QAAQ,KAAA;MACvBgC,UAAU7B;;;;;AAQ1B;;;ADlDO,IAAM8B,sBAAsB,CAAC,EAAEC,MAAMC,KAAI,MAA4B;;;AAC1E,UAAMC,QAAQC,SAASH,IAAAA;AACvB,QAAI,CAACE,OAAO;AACV,aAAO;IACT;AAEA,YAAQD,MAAAA;MACN,KAAK;MACL,KAAK;MACL,KAAK,mBAAmB;AACtB,eACE,gBAAAG,OAAA,cAACC,WAAWC,MAAI;UAACN;WACf,gBAAAI,OAAA,cAACC,WAAWE,SAAO;UAACN;WAClB,gBAAAG,OAAA,cAACC,WAAWG,OAAK,IAAA,CAAA,CAAA;MAIzB;MAEA,SAAS;AACP,eAAO,gBAAAJ,OAAA,cAACK,mBAAAA;UAAkBT;UAAYC;;MACxC;IACF;;;;AACF;AAEA,IAAA,8BAAeF;",
6
+ "names": ["React", "getSpace", "React", "useCallback", "useRef", "useState", "IconButton", "Toolbar", "useTranslation", "StackItem", "mx", "ChessboardArticle", "game", "role", "t", "useTranslation", "meta", "id", "orientation", "setOrientation", "useState", "open", "setOpen", "controller", "useRef", "handleSelect", "useCallback", "index", "current", "setMoveNumber", "StackItem", "Content", "toolbar", "classNames", "Chessboard", "Root", "ref", "Toolbar", "IconButton", "variant", "icon", "iconOnly", "label", "size", "mx", "onClick", "div", "className", "Board", "Info", "min", "max", "onOrientationChange", "onClose", "onSelect", "ChessboardContainer", "game", "role", "space", "getSpace", "React", "Chessboard", "Root", "Content", "Board", "ChessboardArticle"]
7
+ }
@@ -0,0 +1,12 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ BLUEPRINT_KEY,
4
+ blueprint_definition_default
5
+ } from "./chunk-AR3TI5LX.mjs";
6
+ import "./chunk-LMXETYDF.mjs";
7
+ import "./chunk-5C2OYL2B.mjs";
8
+ export {
9
+ BLUEPRINT_KEY,
10
+ blueprint_definition_default as default
11
+ };
12
+ //# sourceMappingURL=blueprint-definition-FBGRWYEW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ // src/meta.ts
9
+ import { trim } from "@dxos/util";
10
+ var meta = {
11
+ id: "dxos.org/plugin/chess",
12
+ name: "Chess",
13
+ description: trim`
14
+ Play chess with friends or practice with the AI.
15
+ `,
16
+ icon: "ph--shield-chevron--regular",
17
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-chess",
18
+ screenshots: [
19
+ "https://dxos.network/plugin-details-chess-dark.png"
20
+ ]
21
+ };
22
+
23
+ export {
24
+ __export,
25
+ meta
26
+ };
27
+ //# sourceMappingURL=chunk-5C2OYL2B.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/chess',\n name: 'Chess',\n description: trim`\n Play chess with friends or practice with the AI.\n `,\n icon: 'ph--shield-chevron--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-chess',\n screenshots: ['https://dxos.network/plugin-details-chess-dark.png'],\n};\n"],
5
+ "mappings": ";;;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;EAGbC,MAAM;EACNC,QAAQ;EACRC,aAAa;IAAC;;AAChB;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "source", "screenshots"]
7
+ }
@@ -2,9 +2,9 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
 
3
3
  // src/components/index.ts
4
4
  import { lazy } from "react";
5
- var ChessContainer = lazy(() => import("./ChessContainer-WVOL2KSE.mjs"));
5
+ var ChessboardContainer = lazy(() => import("./ChessboardContainer-XAVVBRFW.mjs"));
6
6
 
7
7
  export {
8
- ChessContainer
8
+ ChessboardContainer
9
9
  };
10
- //# sourceMappingURL=chunk-TD2SWK2H.mjs.map
10
+ //# sourceMappingURL=chunk-7PHZFXU5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './Chessboard';\n\nexport const ChessboardContainer = lazy(() => import('./ChessboardContainer'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,YAAY;AAId,IAAMC,sBAAsBC,KAAK,MAAM,OAAO,oCAAA,CAAA;",
6
+ "names": ["lazy", "ChessboardContainer", "lazy"]
7
+ }
@@ -0,0 +1,167 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ Chess_exports
4
+ } from "./chunk-LMXETYDF.mjs";
5
+
6
+ // src/capabilities/blueprint-definition.ts
7
+ import { Capabilities, contributes } from "@dxos/app-framework";
8
+ import { Blueprint, Template } from "@dxos/blueprints";
9
+ import { trim } from "@dxos/util";
10
+
11
+ // src/functions/create.ts
12
+ import { Effect, Schema } from "effect";
13
+ import { DatabaseService, defineFunction } from "@dxos/functions";
14
+ var create_default = defineFunction({
15
+ key: "dxos.org/function/chess/create",
16
+ name: "Create Chess",
17
+ description: "Creates a new chess game.",
18
+ inputSchema: Schema.Struct({
19
+ pgn: Schema.optional(Schema.String.annotations({
20
+ description: "Portable Game Notation."
21
+ })),
22
+ fen: Schema.optional(Schema.String.annotations({
23
+ description: "Forsyth-Edwards Notation."
24
+ }))
25
+ }),
26
+ outputSchema: Chess_exports.Game,
27
+ handler: Effect.fn(function* ({ data: { pgn, fen } }) {
28
+ return yield* DatabaseService.add(Chess_exports.makeGame({
29
+ pgn,
30
+ fen
31
+ }));
32
+ })
33
+ });
34
+
35
+ // src/functions/move.ts
36
+ import { Chess as ChessJS } from "chess.js";
37
+ import { Effect as Effect2, Schema as Schema2 } from "effect";
38
+ import { ArtifactId } from "@dxos/assistant";
39
+ import { DatabaseService as DatabaseService2, defineFunction as defineFunction2 } from "@dxos/functions";
40
+ var move_default = defineFunction2({
41
+ key: "dxos.org/function/chess/move",
42
+ name: "Move",
43
+ description: "Makes a move in the given chess game.",
44
+ inputSchema: Schema2.Struct({
45
+ id: ArtifactId.annotations({
46
+ description: "The ID of the chess object."
47
+ }),
48
+ move: Schema2.String.annotations({
49
+ description: "The move to make in the chess game.",
50
+ examples: [
51
+ "e4",
52
+ "Bf3"
53
+ ]
54
+ })
55
+ }),
56
+ outputSchema: Schema2.Struct({
57
+ pgn: Schema2.String.annotations({
58
+ description: "The PGN of the game after the move was played."
59
+ })
60
+ }),
61
+ handler: Effect2.fn(function* ({ data: { id, move } }) {
62
+ const object = yield* DatabaseService2.resolve(ArtifactId.toDXN(id), Chess_exports.Game);
63
+ const chess = new ChessJS();
64
+ if (object.pgn) {
65
+ chess.loadPgn(object.pgn);
66
+ } else if (object.fen) {
67
+ chess.load(object.fen);
68
+ }
69
+ chess.move(move, {
70
+ strict: false
71
+ });
72
+ object.pgn = chess.pgn();
73
+ return {
74
+ pgn: object.pgn
75
+ };
76
+ })
77
+ });
78
+
79
+ // src/functions/play.ts
80
+ import { Chess as ChessJS2 } from "chess.js";
81
+ import { Effect as Effect3, Schema as Schema3 } from "effect";
82
+ import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
83
+ import { DatabaseService as DatabaseService3, defineFunction as defineFunction3 } from "@dxos/functions";
84
+ var play_default = defineFunction3({
85
+ key: "dxos.org/function/chess/play",
86
+ name: "Play",
87
+ description: "Uses the chess engine to play the next move.",
88
+ inputSchema: Schema3.Struct({
89
+ id: ArtifactId2.annotations({
90
+ description: "The ID of the chess object."
91
+ }),
92
+ side: Schema3.optional(Schema3.Literal("white", "black", "any")).annotations({
93
+ description: "The side to play.",
94
+ defaultValue: "any"
95
+ })
96
+ }),
97
+ outputSchema: Schema3.Struct({
98
+ pgn: Schema3.String.annotations({
99
+ description: "The PGN of the game after the move was played."
100
+ }),
101
+ move: Schema3.optional(Schema3.String).annotations({
102
+ description: "The move that was played."
103
+ })
104
+ }),
105
+ handler: Effect3.fn(function* ({ data: { id, side = "any" } }) {
106
+ const object = yield* DatabaseService3.resolve(ArtifactId2.toDXN(id), Chess_exports.Game);
107
+ const chess = new ChessJS2();
108
+ if (object.pgn) {
109
+ chess.loadPgn(object.pgn);
110
+ } else if (object.fen) {
111
+ chess.load(object.fen);
112
+ }
113
+ if (!(side === "any" || chess.turn() === "w" && side === "white" || chess.turn() === "b" && side === "black")) {
114
+ return {
115
+ move: void 0,
116
+ pgn: object.pgn
117
+ };
118
+ }
119
+ const moves = chess.moves();
120
+ const move = moves[Math.floor(Math.random() * moves.length)];
121
+ chess.move(move, {
122
+ strict: false
123
+ });
124
+ object.pgn = chess.pgn();
125
+ return {
126
+ move,
127
+ pgn: object.pgn
128
+ };
129
+ })
130
+ });
131
+
132
+ // src/capabilities/blueprint-definition.ts
133
+ var BLUEPRINT_KEY = "dxos.org/blueprint/chess";
134
+ var functions = [
135
+ create_default,
136
+ move_default,
137
+ play_default
138
+ ];
139
+ var blueprint_definition_default = (() => {
140
+ return [
141
+ contributes(Capabilities.Functions, functions),
142
+ contributes(Capabilities.BlueprintDefinition, Blueprint.make({
143
+ key: BLUEPRINT_KEY,
144
+ name: "Chess",
145
+ tools: Blueprint.toolDefinitions({
146
+ functions
147
+ }),
148
+ instructions: Template.make({
149
+ source: trim`
150
+ You are an expert chess player.
151
+ To analyze a game you can access the "pgn" property by loading the context object that represents the current game.
152
+ You could suggest a good next move or offer to play a move.
153
+ Don't actually make a move unless you are asked to.
154
+ `
155
+ })
156
+ }))
157
+ ];
158
+ });
159
+
160
+ export {
161
+ create_default,
162
+ move_default,
163
+ play_default,
164
+ BLUEPRINT_KEY,
165
+ blueprint_definition_default
166
+ };
167
+ //# sourceMappingURL=chunk-AR3TI5LX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.ts", "../../../src/functions/create.ts", "../../../src/functions/move.ts", "../../../src/functions/play.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\nimport { create, move, play } from '../functions';\n\nexport const BLUEPRINT_KEY = 'dxos.org/blueprint/chess';\n\nconst functions: FunctionDefinition[] = [create, move, play];\n\nexport default () => {\n return [\n contributes(Capabilities.Functions, functions),\n contributes(\n Capabilities.BlueprintDefinition,\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Chess',\n tools: Blueprint.toolDefinitions({ functions }),\n instructions: Template.make({\n source: trim`\n You are an expert chess player.\n To analyze a game you can access the \"pgn\" property by loading the context object that represents the current game.\n You could suggest a good next move or offer to play a move.\n Don't actually make a move unless you are asked to.\n `,\n }),\n }),\n ),\n ];\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect, Schema } from 'effect';\n\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Chess } from '../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/chess/create',\n name: 'Create Chess',\n description: 'Creates a new chess game.',\n inputSchema: Schema.Struct({\n pgn: Schema.optional(\n Schema.String.annotations({\n description: 'Portable Game Notation.',\n }),\n ),\n fen: Schema.optional(\n Schema.String.annotations({\n description: 'Forsyth-Edwards Notation.',\n }),\n ),\n }),\n outputSchema: Chess.Game,\n handler: Effect.fn(function* ({ data: { pgn, fen } }) {\n return yield* DatabaseService.add(Chess.makeGame({ pgn, fen }));\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess as ChessJS } from 'chess.js';\nimport { Effect, Schema } from 'effect';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Chess } from '../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/chess/move',\n name: 'Move',\n description: 'Makes a move in the given chess game.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the chess object.',\n }),\n move: Schema.String.annotations({\n description: 'The move to make in the chess game.',\n examples: ['e4', 'Bf3'],\n }),\n }),\n outputSchema: Schema.Struct({\n pgn: Schema.String.annotations({\n description: 'The PGN of the game after the move was played.',\n }),\n }),\n handler: Effect.fn(function* ({ data: { id, move } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Chess.Game);\n const chess = new ChessJS();\n if (object.pgn) {\n chess.loadPgn(object.pgn);\n } else if (object.fen) {\n chess.load(object.fen);\n }\n\n chess.move(move, { strict: false });\n object.pgn = chess.pgn();\n return { pgn: object.pgn };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess as ChessJS } from 'chess.js';\nimport { Effect, Schema } from 'effect';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { DatabaseService, defineFunction } from '@dxos/functions';\n\nimport { Chess } from '../types';\n\nexport default defineFunction({\n key: 'dxos.org/function/chess/play',\n name: 'Play',\n description: 'Uses the chess engine to play the next move.',\n inputSchema: Schema.Struct({\n id: ArtifactId.annotations({\n description: 'The ID of the chess object.',\n }),\n side: Schema.optional(Schema.Literal('white', 'black', 'any')).annotations({\n description: 'The side to play.',\n defaultValue: 'any',\n }),\n }),\n outputSchema: Schema.Struct({\n pgn: Schema.String.annotations({\n description: 'The PGN of the game after the move was played.',\n }),\n move: Schema.optional(Schema.String).annotations({\n description: 'The move that was played.',\n }),\n }),\n handler: Effect.fn(function* ({ data: { id, side = 'any' } }) {\n const object = yield* DatabaseService.resolve(ArtifactId.toDXN(id), Chess.Game);\n const chess = new ChessJS();\n if (object.pgn) {\n chess.loadPgn(object.pgn);\n } else if (object.fen) {\n chess.load(object.fen);\n }\n\n if (!(side === 'any' || (chess.turn() === 'w' && side === 'white') || (chess.turn() === 'b' && side === 'black'))) {\n return { move: undefined, pgn: object.pgn! };\n }\n\n const moves = chess.moves();\n const move = moves[Math.floor(Math.random() * moves.length)];\n\n chess.move(move, { strict: false });\n object.pgn = chess.pgn();\n return { move, pgn: object.pgn };\n }),\n});\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,YAAY;;;ACHrB,SAASC,QAAQC,cAAc;AAE/B,SAASC,iBAAiBC,sBAAsB;AAIhD,IAAA,iBAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAaC,OAAOC,OAAO;IACzBC,KAAKF,OAAOG,SACVH,OAAOI,OAAOC,YAAY;MACxBP,aAAa;IACf,CAAA,CAAA;IAEFQ,KAAKN,OAAOG,SACVH,OAAOI,OAAOC,YAAY;MACxBP,aAAa;IACf,CAAA,CAAA;EAEJ,CAAA;EACAS,cAAcC,cAAMC;EACpBC,SAASC,OAAOC,GAAG,WAAW,EAAEC,MAAM,EAAEX,KAAKI,IAAG,EAAE,GAAE;AAClD,WAAO,OAAOQ,gBAAgBC,IAAIP,cAAMQ,SAAS;MAAEd;MAAKI;IAAI,CAAA,CAAA;EAC9D,CAAA;AACF,CAAA;;;AC1BA,SAASW,SAASC,eAAe;AACjC,SAASC,UAAAA,SAAQC,UAAAA,eAAc;AAE/B,SAASC,kBAAkB;AAC3B,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAIhD,IAAA,eAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAaC,QAAOC,OAAO;IACzBC,IAAIC,WAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;IACAO,MAAML,QAAOM,OAAOF,YAAY;MAC9BN,aAAa;MACbS,UAAU;QAAC;QAAM;;IACnB,CAAA;EACF,CAAA;EACAC,cAAcR,QAAOC,OAAO;IAC1BQ,KAAKT,QAAOM,OAAOF,YAAY;MAC7BN,aAAa;IACf,CAAA;EACF,CAAA;EACAY,SAASC,QAAOC,GAAG,WAAW,EAAEC,MAAM,EAAEX,IAAIG,KAAI,EAAE,GAAE;AAClD,UAAMS,SAAS,OAAOC,iBAAgBC,QAAQb,WAAWc,MAAMf,EAAAA,GAAKgB,cAAMC,IAAI;AAC9E,UAAMC,QAAQ,IAAIC,QAAAA;AAClB,QAAIP,OAAOL,KAAK;AACdW,YAAME,QAAQR,OAAOL,GAAG;IAC1B,WAAWK,OAAOS,KAAK;AACrBH,YAAMI,KAAKV,OAAOS,GAAG;IACvB;AAEAH,UAAMf,KAAKA,MAAM;MAAEoB,QAAQ;IAAM,CAAA;AACjCX,WAAOL,MAAMW,MAAMX,IAAG;AACtB,WAAO;MAAEA,KAAKK,OAAOL;IAAI;EAC3B,CAAA;AACF,CAAA;;;ACvCA,SAASiB,SAASC,gBAAe;AACjC,SAASC,UAAAA,SAAQC,UAAAA,eAAc;AAE/B,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mBAAAA,kBAAiBC,kBAAAA,uBAAsB;AAIhD,IAAA,eAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAaC,QAAOC,OAAO;IACzBC,IAAIC,YAAWC,YAAY;MACzBN,aAAa;IACf,CAAA;IACAO,MAAML,QAAOM,SAASN,QAAOO,QAAQ,SAAS,SAAS,KAAA,CAAA,EAAQH,YAAY;MACzEN,aAAa;MACbU,cAAc;IAChB,CAAA;EACF,CAAA;EACAC,cAAcT,QAAOC,OAAO;IAC1BS,KAAKV,QAAOW,OAAOP,YAAY;MAC7BN,aAAa;IACf,CAAA;IACAc,MAAMZ,QAAOM,SAASN,QAAOW,MAAM,EAAEP,YAAY;MAC/CN,aAAa;IACf,CAAA;EACF,CAAA;EACAe,SAASC,QAAOC,GAAG,WAAW,EAAEC,MAAM,EAAEd,IAAIG,OAAO,MAAK,EAAE,GAAE;AAC1D,UAAMY,SAAS,OAAOC,iBAAgBC,QAAQhB,YAAWiB,MAAMlB,EAAAA,GAAKmB,cAAMC,IAAI;AAC9E,UAAMC,QAAQ,IAAIC,SAAAA;AAClB,QAAIP,OAAOP,KAAK;AACda,YAAME,QAAQR,OAAOP,GAAG;IAC1B,WAAWO,OAAOS,KAAK;AACrBH,YAAMI,KAAKV,OAAOS,GAAG;IACvB;AAEA,QAAI,EAAErB,SAAS,SAAUkB,MAAMK,KAAI,MAAO,OAAOvB,SAAS,WAAakB,MAAMK,KAAI,MAAO,OAAOvB,SAAS,UAAW;AACjH,aAAO;QAAEO,MAAMiB;QAAWnB,KAAKO,OAAOP;MAAK;IAC7C;AAEA,UAAMoB,QAAQP,MAAMO,MAAK;AACzB,UAAMlB,OAAOkB,MAAMC,KAAKC,MAAMD,KAAKE,OAAM,IAAKH,MAAMI,MAAM,CAAA;AAE1DX,UAAMX,KAAKA,MAAM;MAAEuB,QAAQ;IAAM,CAAA;AACjClB,WAAOP,MAAMa,MAAMb,IAAG;AACtB,WAAO;MAAEE;MAAMF,KAAKO,OAAOP;IAAI;EACjC,CAAA;AACF,CAAA;;;AH1CO,IAAM0B,gBAAgB;AAE7B,IAAMC,YAAkC;EAACC;EAAQC;EAAMC;;AAEvD,IAAA,gCAAe,MAAA;AACb,SAAO;IACLC,YAAYC,aAAaC,WAAWN,SAAAA;IACpCI,YACEC,aAAaE,qBACbC,UAAUC,KAAK;MACbC,KAAKX;MACLY,MAAM;MACNC,OAAOJ,UAAUK,gBAAgB;QAAEb;MAAU,CAAA;MAC7Cc,cAAcC,SAASN,KAAK;QAC1BO,QAAQC;;;;;;MAMV,CAAA;IACF,CAAA,CAAA;;AAGN;",
6
+ "names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Effect", "Schema", "DatabaseService", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Schema", "Struct", "pgn", "optional", "String", "annotations", "fen", "outputSchema", "Chess", "Game", "handler", "Effect", "fn", "data", "DatabaseService", "add", "makeGame", "Chess", "ChessJS", "Effect", "Schema", "ArtifactId", "DatabaseService", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Schema", "Struct", "id", "ArtifactId", "annotations", "move", "String", "examples", "outputSchema", "pgn", "handler", "Effect", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Chess", "Game", "chess", "ChessJS", "loadPgn", "fen", "load", "strict", "Chess", "ChessJS", "Effect", "Schema", "ArtifactId", "DatabaseService", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Schema", "Struct", "id", "ArtifactId", "annotations", "side", "optional", "Literal", "defaultValue", "outputSchema", "pgn", "String", "move", "handler", "Effect", "fn", "data", "object", "DatabaseService", "resolve", "toDXN", "Chess", "Game", "chess", "ChessJS", "loadPgn", "fen", "load", "turn", "undefined", "moves", "Math", "floor", "random", "length", "strict", "BLUEPRINT_KEY", "functions", "create", "move", "play", "contributes", "Capabilities", "Functions", "BlueprintDefinition", "Blueprint", "make", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim"]
7
+ }