@dxos/plugin-chess 0.7.5-labs.c0e040f → 0.7.5-labs.d199c0f

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 (79) hide show
  1. package/dist/lib/browser/{ChessContainer-2MMUB5S7.mjs → ChessContainer-XERPODLK.mjs} +2 -2
  2. package/dist/lib/browser/{artifact-LGQPNR6M.mjs → artifact-definition-D2SD45UX.mjs} +34 -28
  3. package/dist/lib/browser/artifact-definition-D2SD45UX.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-GKM6RRDX.mjs → chunk-NNA3W3LX.mjs} +3 -3
  5. package/dist/lib/browser/chunk-R26FYVUS.mjs +8 -0
  6. package/dist/lib/browser/{chunk-RGPTBDH7.mjs → chunk-VRWXC5L2.mjs} +2 -1
  7. package/dist/lib/browser/{chunk-RGPTBDH7.mjs.map → chunk-VRWXC5L2.mjs.map} +2 -2
  8. package/dist/lib/browser/index.mjs +20 -18
  9. package/dist/lib/browser/index.mjs.map +3 -3
  10. package/dist/lib/browser/{intent-resolver-VPK5QRXH.mjs → intent-resolver-KBIH2KYC.mjs} +2 -2
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{react-surface-ZILDX6DE.mjs → react-surface-2PI2KNSU.mjs} +4 -4
  13. package/dist/lib/browser/types/index.mjs +1 -1
  14. package/dist/lib/node/{ChessContainer-CMYJDMSG.cjs → ChessContainer-LEPLNICP.cjs} +6 -6
  15. package/dist/lib/node/{artifact-IKDPRF5X.cjs → artifact-definition-YDPYM4NV.cjs} +41 -36
  16. package/dist/lib/node/artifact-definition-YDPYM4NV.cjs.map +7 -0
  17. package/dist/lib/node/{chunk-YTD6SK5V.cjs → chunk-CSRNUKOH.cjs} +5 -4
  18. package/dist/lib/node/{chunk-YTD6SK5V.cjs.map → chunk-CSRNUKOH.cjs.map} +2 -2
  19. package/dist/lib/node/{chunk-TEZPML34.cjs → chunk-ITDMCBQQ.cjs} +5 -5
  20. package/dist/lib/node/{chunk-3TTH3HKL.cjs → chunk-VXYRI6VA.cjs} +4 -4
  21. package/dist/lib/node/index.cjs +33 -31
  22. package/dist/lib/node/index.cjs.map +3 -3
  23. package/dist/lib/node/{intent-resolver-PUM2BVGU.cjs → intent-resolver-TZFKPQOV.cjs} +7 -7
  24. package/dist/lib/node/meta.json +1 -1
  25. package/dist/lib/node/{react-surface-KYLF2XNL.cjs → react-surface-OHQIPHSN.cjs} +12 -12
  26. package/dist/lib/node/types/index.cjs +5 -5
  27. package/dist/lib/node/types/index.cjs.map +1 -1
  28. package/dist/lib/node-esm/{ChessContainer-WV2CO5WO.mjs → ChessContainer-S76WNBWN.mjs} +2 -2
  29. package/dist/lib/node-esm/{artifact-3KNX2TLP.mjs → artifact-definition-LHQK5BBZ.mjs} +34 -28
  30. package/dist/lib/node-esm/artifact-definition-LHQK5BBZ.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-GJW6TXCL.mjs → chunk-6SEDGO5G.mjs} +2 -1
  32. package/dist/lib/node-esm/{chunk-GJW6TXCL.mjs.map → chunk-6SEDGO5G.mjs.map} +2 -2
  33. package/dist/lib/node-esm/{chunk-YXXJHXSV.mjs → chunk-B72CIN6T.mjs} +2 -2
  34. package/dist/lib/node-esm/{chunk-GQA2DRUZ.mjs → chunk-IP66EHSW.mjs} +3 -3
  35. package/dist/lib/node-esm/index.mjs +20 -18
  36. package/dist/lib/node-esm/index.mjs.map +3 -3
  37. package/dist/lib/node-esm/{intent-resolver-IR3YUZIG.mjs → intent-resolver-WBUS64KC.mjs} +2 -2
  38. package/dist/lib/node-esm/meta.json +1 -1
  39. package/dist/lib/node-esm/{react-surface-VI6Q4BJT.mjs → react-surface-XX4VFNRS.mjs} +4 -4
  40. package/dist/lib/node-esm/types/index.mjs +1 -1
  41. package/dist/types/src/ChessPlugin.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/{artifact.d.ts → artifact-definition.d.ts} +1 -1
  43. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/index.d.ts +1 -1
  45. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  46. package/dist/types/src/components/ChessComponent.d.ts +1 -2
  47. package/dist/types/src/components/ChessComponent.d.ts.map +1 -1
  48. package/dist/types/src/components/ChessContainer.d.ts +1 -2
  49. package/dist/types/src/components/ChessContainer.d.ts.map +1 -1
  50. package/dist/types/src/components/PlayerSelector.d.ts +1 -2
  51. package/dist/types/src/components/PlayerSelector.d.ts.map +1 -1
  52. package/dist/types/src/components/index.d.ts +1 -1
  53. package/dist/types/src/components/index.d.ts.map +1 -1
  54. package/dist/types/src/types/schema.d.ts +1 -1
  55. package/package.json +21 -20
  56. package/src/ChessPlugin.tsx +18 -10
  57. package/src/capabilities/{artifact.ts → artifact-definition.ts} +19 -13
  58. package/src/capabilities/index.ts +1 -1
  59. package/src/components/ChessComponent.tsx +1 -0
  60. package/dist/lib/browser/artifact-LGQPNR6M.mjs.map +0 -7
  61. package/dist/lib/browser/chunk-672NU6IC.mjs +0 -8
  62. package/dist/lib/node/artifact-IKDPRF5X.cjs.map +0 -7
  63. package/dist/lib/node-esm/artifact-3KNX2TLP.mjs.map +0 -7
  64. package/dist/types/src/capabilities/artifact.d.ts.map +0 -1
  65. /package/dist/lib/browser/{ChessContainer-2MMUB5S7.mjs.map → ChessContainer-XERPODLK.mjs.map} +0 -0
  66. /package/dist/lib/browser/{chunk-GKM6RRDX.mjs.map → chunk-NNA3W3LX.mjs.map} +0 -0
  67. /package/dist/lib/browser/{chunk-672NU6IC.mjs.map → chunk-R26FYVUS.mjs.map} +0 -0
  68. /package/dist/lib/browser/{intent-resolver-VPK5QRXH.mjs.map → intent-resolver-KBIH2KYC.mjs.map} +0 -0
  69. /package/dist/lib/browser/{react-surface-ZILDX6DE.mjs.map → react-surface-2PI2KNSU.mjs.map} +0 -0
  70. /package/dist/lib/node/{ChessContainer-CMYJDMSG.cjs.map → ChessContainer-LEPLNICP.cjs.map} +0 -0
  71. /package/dist/lib/node/{chunk-TEZPML34.cjs.map → chunk-ITDMCBQQ.cjs.map} +0 -0
  72. /package/dist/lib/node/{chunk-3TTH3HKL.cjs.map → chunk-VXYRI6VA.cjs.map} +0 -0
  73. /package/dist/lib/node/{intent-resolver-PUM2BVGU.cjs.map → intent-resolver-TZFKPQOV.cjs.map} +0 -0
  74. /package/dist/lib/node/{react-surface-KYLF2XNL.cjs.map → react-surface-OHQIPHSN.cjs.map} +0 -0
  75. /package/dist/lib/node-esm/{ChessContainer-WV2CO5WO.mjs.map → ChessContainer-S76WNBWN.mjs.map} +0 -0
  76. /package/dist/lib/node-esm/{chunk-YXXJHXSV.mjs.map → chunk-B72CIN6T.mjs.map} +0 -0
  77. /package/dist/lib/node-esm/{chunk-GQA2DRUZ.mjs.map → chunk-IP66EHSW.mjs.map} +0 -0
  78. /package/dist/lib/node-esm/{intent-resolver-IR3YUZIG.mjs.map → intent-resolver-WBUS64KC.mjs.map} +0 -0
  79. /package/dist/lib/node-esm/{react-surface-VI6Q4BJT.mjs.map → react-surface-XX4VFNRS.mjs.map} +0 -0
@@ -1,15 +1,15 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ChessContainer
4
- } from "./chunk-YXXJHXSV.mjs";
4
+ } from "./chunk-B72CIN6T.mjs";
5
5
  import {
6
6
  CHESS_PLUGIN,
7
7
  ChessType,
8
8
  isObject
9
- } from "./chunk-GQA2DRUZ.mjs";
9
+ } from "./chunk-IP66EHSW.mjs";
10
10
  import {
11
11
  ChessComponent
12
- } from "./chunk-GJW6TXCL.mjs";
12
+ } from "./chunk-6SEDGO5G.mjs";
13
13
 
14
14
  // packages/plugins/plugin-chess/src/capabilities/react-surface.tsx
15
15
  import React from "react";
@@ -40,4 +40,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
40
40
  export {
41
41
  react_surface_default as default
42
42
  };
43
- //# sourceMappingURL=react-surface-VI6Q4BJT.mjs.map
43
+ //# sourceMappingURL=react-surface-XX4VFNRS.mjs.map
@@ -4,7 +4,7 @@ import {
4
4
  ChessType,
5
5
  MoveSchema,
6
6
  isObject
7
- } from "../chunk-GQA2DRUZ.mjs";
7
+ } from "../chunk-IP66EHSW.mjs";
8
8
  export {
9
9
  ChessAction,
10
10
  ChessType,
@@ -1 +1 @@
1
- {"version":3,"file":"ChessPlugin.d.ts","sourceRoot":"","sources":["../../../src/ChessPlugin.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,4CAwCpB,CAAC"}
1
+ {"version":3,"file":"ChessPlugin.d.ts","sourceRoot":"","sources":["../../../src/ChessPlugin.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,4CA8CpB,CAAC"}
@@ -8,4 +8,4 @@ declare global {
8
8
  }
9
9
  declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition>;
10
10
  export default _default;
11
- //# sourceMappingURL=artifact.d.ts.map
11
+ //# sourceMappingURL=artifact-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAwFE"}
@@ -1,4 +1,4 @@
1
- export declare const Artifact: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("packages/experimental/artifact/dist/types/src").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const ArtifactDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
2
2
  export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
3
3
  export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,mNAAmC,CAAC;AACzD,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,oLAA8C,CAAC;AAC9E,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { type ChessType } from '../types';
3
2
  export declare const ChessComponent: ({ game }: {
4
3
  game: ChessType;
5
- }) => React.JSX.Element | null;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
6
5
  //# sourceMappingURL=ChessComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChessComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ChessComponent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAK/D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,cAAc,aAAc;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,6BAmC3D,CAAC"}
1
+ {"version":3,"file":"ChessComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/ChessComponent.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,cAAc,aAAc;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,mDAoC3D,CAAC"}
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import { type ChessType } from '../types';
3
2
  declare const ChessContainer: ({ game }: {
4
3
  game: ChessType;
5
4
  role?: string;
6
- }) => React.JSX.Element | null;
5
+ }) => import("react/jsx-runtime").JSX.Element | null;
7
6
  export default ChessContainer;
8
7
  //# sourceMappingURL=ChessContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChessContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/ChessContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,QAAA,MAAM,cAAc,aAAc;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,6BAmBnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ChessContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/ChessContainer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,QAAA,MAAM,cAAc,aAAc;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,mDAmBnE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,8 +1,7 @@
1
- import React from 'react';
2
1
  import { type Space } from '@dxos/react-client/echo';
3
2
  import { type ChessType } from '../types';
4
3
  export declare const PlayerSelector: ({ space, game }: {
5
4
  space: Space;
6
5
  game: ChessType;
7
- }) => React.JSX.Element;
6
+ }) => import("react/jsx-runtime").JSX.Element;
8
7
  //# sourceMappingURL=PlayerSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/PlayerSelector.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAc,KAAK,KAAK,EAAoB,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,cAAc,oBAAqB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,sBAuBhF,CAAC"}
1
+ {"version":3,"file":"PlayerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/PlayerSelector.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAc,KAAK,KAAK,EAAoB,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,cAAc,oBAAqB;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,4CAuBhF,CAAC"}
@@ -2,5 +2,5 @@ export * from './ChessComponent';
2
2
  export declare const ChessContainer: import("react").LazyExoticComponent<({ game }: {
3
3
  game: import("../types").ChessType;
4
4
  role?: string;
5
- }) => import("react").JSX.Element | null>;
5
+ }) => import("react/jsx-runtime").JSX.Element | null>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,cAAc,kBAAkB,CAAC;AAEjC,eAAO,MAAM,cAAc;;QAC2K,CAAC;yCADnI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,cAAc,kBAAkB,CAAC;AAEjC,eAAO,MAAM,cAAc;;QAC2K,CAAC;qDADnI,CAAC"}
@@ -8,7 +8,7 @@ export declare const MoveSchema: S.mutable<S.SchemaClass<{
8
8
  readonly target?: string | undefined;
9
9
  readonly piece?: string | undefined;
10
10
  }, never>>;
11
- declare const ChessType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("packages/core/echo/echo-schema/dist/types/src/object/common").TypedObjectFields<{
11
+ declare const ChessType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
12
12
  name: S.optional<typeof S.String>;
13
13
  playerWhite: typeof S.String;
14
14
  playerBlack: typeof S.String;
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@dxos/plugin-chess",
3
- "version": "0.7.5-labs.c0e040f",
3
+ "version": "0.7.5-labs.d199c0f",
4
4
  "description": "Chess for new plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
9
  "sideEffects": true,
10
+ "type": "module",
10
11
  "exports": {
11
12
  ".": {
12
13
  "types": "./dist/types/src/index.d.ts",
@@ -36,20 +37,20 @@
36
37
  "@preact/signals-core": "^1.6.0",
37
38
  "chess.js": "^1.0.0",
38
39
  "effect": "^3.12.3",
39
- "@dxos/app-framework": "0.7.5-labs.c0e040f",
40
- "@dxos/artifact": "0.7.5-labs.c0e040f",
41
- "@dxos/assistant": "0.7.5-labs.c0e040f",
42
- "@dxos/async": "0.7.5-labs.c0e040f",
43
- "@dxos/invariant": "0.7.5-labs.c0e040f",
44
- "@dxos/display-name": "0.7.5-labs.c0e040f",
45
- "@dxos/live-object": "0.7.5-labs.c0e040f",
46
- "@dxos/echo-schema": "0.7.5-labs.c0e040f",
47
- "@dxos/plugin-client": "0.7.5-labs.c0e040f",
48
- "@dxos/plugin-graph": "0.7.5-labs.c0e040f",
49
- "@dxos/plugin-space": "0.7.5-labs.c0e040f",
50
- "@dxos/react-client": "0.7.5-labs.c0e040f",
51
- "@dxos/react-ui-gameboard": "0.7.5-labs.c0e040f",
52
- "@dxos/react-ui-stack": "0.7.5-labs.c0e040f"
40
+ "@dxos/app-framework": "0.7.5-labs.d199c0f",
41
+ "@dxos/assistant": "0.7.5-labs.d199c0f",
42
+ "@dxos/artifact": "0.7.5-labs.d199c0f",
43
+ "@dxos/display-name": "0.7.5-labs.d199c0f",
44
+ "@dxos/async": "0.7.5-labs.d199c0f",
45
+ "@dxos/invariant": "0.7.5-labs.d199c0f",
46
+ "@dxos/live-object": "0.7.5-labs.d199c0f",
47
+ "@dxos/echo-schema": "0.7.5-labs.d199c0f",
48
+ "@dxos/plugin-client": "0.7.5-labs.d199c0f",
49
+ "@dxos/plugin-graph": "0.7.5-labs.d199c0f",
50
+ "@dxos/plugin-space": "0.7.5-labs.d199c0f",
51
+ "@dxos/react-ui-gameboard": "0.7.5-labs.d199c0f",
52
+ "@dxos/react-ui-stack": "0.7.5-labs.d199c0f",
53
+ "@dxos/react-client": "0.7.5-labs.d199c0f"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@phosphor-icons/react": "^2.1.5",
@@ -58,16 +59,16 @@
58
59
  "react": "~18.2.0",
59
60
  "react-dom": "~18.2.0",
60
61
  "vite": "5.4.7",
61
- "@dxos/react-ui": "0.7.5-labs.c0e040f",
62
- "@dxos/react-ui-theme": "0.7.5-labs.c0e040f",
63
- "@dxos/storybook-utils": "0.7.5-labs.c0e040f"
62
+ "@dxos/react-ui": "0.7.5-labs.d199c0f",
63
+ "@dxos/react-ui-theme": "0.7.5-labs.d199c0f",
64
+ "@dxos/storybook-utils": "0.7.5-labs.d199c0f"
64
65
  },
65
66
  "peerDependencies": {
66
67
  "@phosphor-icons/react": "^2.1.5",
67
68
  "react": "~18.2.0",
68
69
  "react-dom": "~18.2.0",
69
- "@dxos/react-ui-theme": "0.7.5-labs.c0e040f",
70
- "@dxos/react-ui": "0.7.5-labs.c0e040f"
70
+ "@dxos/react-ui": "0.7.5-labs.d199c0f",
71
+ "@dxos/react-ui-theme": "0.7.5-labs.d199c0f"
71
72
  },
72
73
  "publishConfig": {
73
74
  "access": "public"
@@ -3,9 +3,11 @@
3
3
  //
4
4
 
5
5
  import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';
6
- import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
6
+ import { ClientEvents } from '@dxos/plugin-client';
7
+ import { SpaceCapabilities } from '@dxos/plugin-space';
8
+ import { defineObjectForm } from '@dxos/plugin-space/types';
7
9
 
8
- import { Artifact, IntentResolver, ReactSurface } from './capabilities';
10
+ import { ArtifactDefinition, IntentResolver, ReactSurface } from './capabilities';
9
11
  import { CHESS_PLUGIN, meta } from './meta';
10
12
  import translations from './translations';
11
13
  import { ChessAction, ChessType } from './types';
@@ -24,30 +26,36 @@ export const ChessPlugin = () =>
24
26
  contributes(Capabilities.Metadata, {
25
27
  id: ChessType.typename,
26
28
  metadata: {
27
- createObject: (props: { name?: string }) => createIntent(ChessAction.Create, props),
28
29
  placeholder: ['game title placeholder', { ns: CHESS_PLUGIN }],
29
30
  icon: 'ph--shield-chevron--regular',
30
31
  },
31
32
  }),
32
33
  }),
33
34
  defineModule({
34
- id: `${meta.id}/module/schema`,
35
+ id: `${meta.id}/module/object-form`,
35
36
  activatesOn: ClientEvents.SetupSchema,
36
- activate: () => contributes(ClientCapabilities.Schema, [ChessType]),
37
+ activate: () =>
38
+ contributes(
39
+ SpaceCapabilities.ObjectForm,
40
+ defineObjectForm({
41
+ objectSchema: ChessType,
42
+ getIntent: () => createIntent(ChessAction.Create),
43
+ }),
44
+ ),
37
45
  }),
38
46
  defineModule({
39
47
  id: `${meta.id}/module/react-surface`,
40
- activatesOn: Events.SetupSurfaces,
48
+ activatesOn: Events.SetupReactSurface,
41
49
  activate: ReactSurface,
42
50
  }),
43
51
  defineModule({
44
52
  id: `${meta.id}/module/intent-resolver`,
45
- activatesOn: Events.SetupIntents,
53
+ activatesOn: Events.SetupIntentResolver,
46
54
  activate: IntentResolver,
47
55
  }),
48
56
  defineModule({
49
- id: `${meta.id}/module/artifact`,
50
- activatesOn: Events.Startup,
51
- activate: Artifact,
57
+ id: `${meta.id}/module/artifact-definition`,
58
+ activatesOn: Events.SetupArtifactDefinition,
59
+ activate: ArtifactDefinition,
52
60
  }),
53
61
  ]);
@@ -13,6 +13,7 @@ import { invariant } from '@dxos/invariant';
13
13
  import { SpaceAction } from '@dxos/plugin-space/types';
14
14
  import { Filter, type Space } from '@dxos/react-client/echo';
15
15
 
16
+ import { meta } from '../meta';
16
17
  import { ChessAction, ChessType } from '../types';
17
18
 
18
19
  // TODO(burdon): Factor out.
@@ -25,16 +26,18 @@ declare global {
25
26
 
26
27
  export default () => {
27
28
  const definition = defineArtifact({
28
- id: 'plugin-chess',
29
+ id: meta.id,
30
+ name: meta.name,
31
+ description: 'Provides a simple chess engine.',
29
32
  instructions: `
30
- Chess:
31
- - If the user's message relates to a chess game, you must return the chess game inside the artifact tag as a valid FEN string with no additional text.
32
- `,
33
+ - If the user's message relates to a chess game, you must return the chess game inside the artifact tag as a valid FEN string with no additional text.
34
+ `,
33
35
  schema: ChessType,
34
36
  tools: [
35
- defineTool({
36
- name: 'chess_new',
37
- description: 'Create a new chess game. Returns the artifact definition for the game',
37
+ defineTool(meta.id, {
38
+ name: 'create',
39
+ description: 'Create a new chess game. Returns the artifact definition for the game.',
40
+ caption: 'Creating chess game...',
38
41
  schema: S.Struct({
39
42
  fen: S.String.annotations({ description: 'The state of the chess game in the FEN format.' }),
40
43
  }),
@@ -53,9 +56,10 @@ export default () => {
53
56
  return ToolResult.Success(createArtifactElement(data.id));
54
57
  },
55
58
  }),
56
- defineTool({
57
- name: 'chess_query',
59
+ defineTool(meta.id, {
60
+ name: 'list',
58
61
  description: 'Query all active chess games.',
62
+ caption: 'Getting games...',
59
63
  schema: S.Struct({}),
60
64
  execute: async (_, { extensions }) => {
61
65
  invariant(extensions?.space, 'No space');
@@ -64,9 +68,10 @@ export default () => {
64
68
  return ToolResult.Success(games);
65
69
  },
66
70
  }),
67
- defineTool({
68
- name: 'chess_inspect',
71
+ defineTool(meta.id, {
72
+ name: 'inspect',
69
73
  description: 'Get the current state of the chess game.',
74
+ caption: 'Inspecting game...',
70
75
  schema: S.Struct({ id: ObjectId }),
71
76
  execute: async ({ id }, { extensions }) => {
72
77
  invariant(extensions?.space, 'No space');
@@ -76,9 +81,10 @@ export default () => {
76
81
  return ToolResult.Success(game.fen);
77
82
  },
78
83
  }),
79
- defineTool({
80
- name: 'chess_move',
84
+ defineTool(meta.id, {
85
+ name: 'move',
81
86
  description: 'Make a move in the chess game.',
87
+ caption: 'Making chess move...',
82
88
  schema: S.Struct({
83
89
  id: ObjectId,
84
90
  move: S.String.annotations({
@@ -4,6 +4,6 @@
4
4
 
5
5
  import { lazy } from '@dxos/app-framework';
6
6
 
7
- export const Artifact = lazy(() => import('./artifact'));
7
+ export const ArtifactDefinition = lazy(() => import('./artifact-definition'));
8
8
  export const IntentResolver = lazy(() => import('./intent-resolver'));
9
9
  export const ReactSurface = lazy(() => import('./react-surface'));
@@ -32,6 +32,7 @@ export const ChessComponent = ({ game }: { game: ChessType }) => {
32
32
  (move) => {
33
33
  if (model.makeMove(move)) {
34
34
  game.pgn = model.game.pgn();
35
+ game.fen = model.game.fen();
35
36
  return true;
36
37
  }
37
38
 
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/artifact.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess } from 'chess.js';\nimport { pipe } from 'effect';\n\nimport { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineArtifact, defineTool, ToolResult } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { isInstanceOf, ObjectId, S } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter, type Space } from '@dxos/react-client/echo';\n\nimport { ChessAction, ChessType } from '../types';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\nexport default () => {\n const definition = defineArtifact({\n id: 'plugin-chess',\n instructions: `\n Chess:\n - If the user's message relates to a chess game, you must return the chess game inside the artifact tag as a valid FEN string with no additional text.\n `,\n schema: ChessType,\n tools: [\n defineTool({\n name: 'chess_new',\n description: 'Create a new chess game. Returns the artifact definition for the game',\n schema: S.Struct({\n fen: S.String.annotations({ description: 'The state of the chess game in the FEN format.' }),\n }),\n execute: async ({ fen }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n invariant(extensions?.dispatch, 'No intent dispatcher');\n const intent = pipe(\n createIntent(ChessAction.Create, { fen }),\n chain(SpaceAction.AddObject, { target: extensions.space }),\n );\n const { data, error } = await extensions.dispatch(intent);\n if (!data || error) {\n return ToolResult.Error(error?.message ?? 'Failed to create chess game');\n }\n\n return ToolResult.Success(createArtifactElement(data.id));\n },\n }),\n defineTool({\n name: 'chess_query',\n description: 'Query all active chess games.',\n schema: S.Struct({}),\n execute: async (_, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n invariant(games.length > 0, 'No chess games found');\n return ToolResult.Success(games);\n },\n }),\n defineTool({\n name: 'chess_inspect',\n description: 'Get the current state of the chess game.',\n schema: S.Struct({ id: ObjectId }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n const game = games.find((game) => game.id === id);\n invariant(isInstanceOf(ChessType, game));\n return ToolResult.Success(game.fen);\n },\n }),\n defineTool({\n name: 'chess_move',\n description: 'Make a move in the chess game.',\n schema: S.Struct({\n id: ObjectId,\n move: S.String.annotations({\n description: 'The move to make in the chess game.',\n examples: ['e4', 'Bf3'],\n }),\n }),\n execute: async ({ id, move }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n const game = games.find((game) => game.id === id);\n invariant(isInstanceOf(ChessType, game));\n const board = new Chess(game.fen);\n try {\n board.move(move);\n } catch (error: any) {\n return ToolResult.Error(error.message);\n }\n game.pgn = board.pgn();\n game.fen = board.fen();\n return ToolResult.Success(game.fen);\n },\n }),\n ],\n });\n\n return contributes(Capabilities.ArtifactDefinition, definition);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Chess", "pipe", "Capabilities", "chain", "contributes", "createIntent", "defineArtifact", "defineTool", "ToolResult", "createArtifactElement", "isInstanceOf", "ObjectId", "S", "invariant", "SpaceAction", "Filter", "definition", "defineArtifact", "id", "instructions", "schema", "ChessType", "tools", "defineTool", "name", "description", "S", "Struct", "fen", "String", "annotations", "execute", "extensions", "invariant", "space", "dispatch", "intent", "pipe", "createIntent", "ChessAction", "Create", "chain", "SpaceAction", "AddObject", "target", "data", "error", "ToolResult", "Error", "message", "Success", "createArtifactElement", "_", "objects", "games", "db", "query", "Filter", "run", "length", "ObjectId", "game", "find", "isInstanceOf", "move", "examples", "board", "Chess", "pgn", "contributes", "Capabilities", "ArtifactDefinition"]
7
- }
@@ -1,8 +0,0 @@
1
- // packages/plugins/plugin-chess/src/components/index.ts
2
- import { lazy } from "react";
3
- var ChessContainer = lazy(() => import("./ChessContainer-2MMUB5S7.mjs"));
4
-
5
- export {
6
- ChessContainer
7
- };
8
- //# sourceMappingURL=chunk-672NU6IC.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/artifact.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess } from 'chess.js';\nimport { pipe } from 'effect';\n\nimport { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineArtifact, defineTool, ToolResult } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { isInstanceOf, ObjectId, S } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter, type Space } from '@dxos/react-client/echo';\n\nimport { ChessAction, ChessType } from '../types';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\nexport default () => {\n const definition = defineArtifact({\n id: 'plugin-chess',\n instructions: `\n Chess:\n - If the user's message relates to a chess game, you must return the chess game inside the artifact tag as a valid FEN string with no additional text.\n `,\n schema: ChessType,\n tools: [\n defineTool({\n name: 'chess_new',\n description: 'Create a new chess game. Returns the artifact definition for the game',\n schema: S.Struct({\n fen: S.String.annotations({ description: 'The state of the chess game in the FEN format.' }),\n }),\n execute: async ({ fen }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n invariant(extensions?.dispatch, 'No intent dispatcher');\n const intent = pipe(\n createIntent(ChessAction.Create, { fen }),\n chain(SpaceAction.AddObject, { target: extensions.space }),\n );\n const { data, error } = await extensions.dispatch(intent);\n if (!data || error) {\n return ToolResult.Error(error?.message ?? 'Failed to create chess game');\n }\n\n return ToolResult.Success(createArtifactElement(data.id));\n },\n }),\n defineTool({\n name: 'chess_query',\n description: 'Query all active chess games.',\n schema: S.Struct({}),\n execute: async (_, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n invariant(games.length > 0, 'No chess games found');\n return ToolResult.Success(games);\n },\n }),\n defineTool({\n name: 'chess_inspect',\n description: 'Get the current state of the chess game.',\n schema: S.Struct({ id: ObjectId }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n const game = games.find((game) => game.id === id);\n invariant(isInstanceOf(ChessType, game));\n return ToolResult.Success(game.fen);\n },\n }),\n defineTool({\n name: 'chess_move',\n description: 'Make a move in the chess game.',\n schema: S.Struct({\n id: ObjectId,\n move: S.String.annotations({\n description: 'The move to make in the chess game.',\n examples: ['e4', 'Bf3'],\n }),\n }),\n execute: async ({ id, move }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n const game = games.find((game) => game.id === id);\n invariant(isInstanceOf(ChessType, game));\n const board = new Chess(game.fen);\n try {\n board.move(move);\n } catch (error: any) {\n return ToolResult.Error(error.message);\n }\n game.pgn = board.pgn();\n game.fen = board.fen();\n return ToolResult.Success(game.fen);\n },\n }),\n ],\n });\n\n return contributes(Capabilities.ArtifactDefinition, definition);\n};\n"],
5
- "mappings": "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",
6
- "names": ["definition", "defineArtifact", "id", "instructions", "schema", "ChessType", "tools", "defineTool", "name", "description", "S", "Struct", "fen", "String", "annotations", "execute", "extensions", "invariant", "space", "dispatch", "intent", "pipe", "createIntent", "ChessAction", "Create", "chain", "SpaceAction", "AddObject", "target", "data", "error", "ToolResult", "Error", "message", "Success", "createArtifactElement", "_", "objects", "games", "db", "query", "Filter", "run", "length", "ObjectId", "game", "find", "isInstanceOf", "move", "examples", "board", "Chess", "pgn", "contributes", "Capabilities", "ArtifactDefinition"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/artifact.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess } from 'chess.js';\nimport { pipe } from 'effect';\n\nimport { Capabilities, chain, contributes, createIntent, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { defineArtifact, defineTool, ToolResult } from '@dxos/artifact';\nimport { createArtifactElement } from '@dxos/assistant';\nimport { isInstanceOf, ObjectId, S } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Filter, type Space } from '@dxos/react-client/echo';\n\nimport { ChessAction, ChessType } from '../types';\n\n// TODO(burdon): Factor out.\ndeclare global {\n interface ToolContextExtensions {\n space?: Space;\n dispatch?: PromiseIntentDispatcher;\n }\n}\n\nexport default () => {\n const definition = defineArtifact({\n id: 'plugin-chess',\n instructions: `\n Chess:\n - If the user's message relates to a chess game, you must return the chess game inside the artifact tag as a valid FEN string with no additional text.\n `,\n schema: ChessType,\n tools: [\n defineTool({\n name: 'chess_new',\n description: 'Create a new chess game. Returns the artifact definition for the game',\n schema: S.Struct({\n fen: S.String.annotations({ description: 'The state of the chess game in the FEN format.' }),\n }),\n execute: async ({ fen }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n invariant(extensions?.dispatch, 'No intent dispatcher');\n const intent = pipe(\n createIntent(ChessAction.Create, { fen }),\n chain(SpaceAction.AddObject, { target: extensions.space }),\n );\n const { data, error } = await extensions.dispatch(intent);\n if (!data || error) {\n return ToolResult.Error(error?.message ?? 'Failed to create chess game');\n }\n\n return ToolResult.Success(createArtifactElement(data.id));\n },\n }),\n defineTool({\n name: 'chess_query',\n description: 'Query all active chess games.',\n schema: S.Struct({}),\n execute: async (_, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n invariant(games.length > 0, 'No chess games found');\n return ToolResult.Success(games);\n },\n }),\n defineTool({\n name: 'chess_inspect',\n description: 'Get the current state of the chess game.',\n schema: S.Struct({ id: ObjectId }),\n execute: async ({ id }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n const game = games.find((game) => game.id === id);\n invariant(isInstanceOf(ChessType, game));\n return ToolResult.Success(game.fen);\n },\n }),\n defineTool({\n name: 'chess_move',\n description: 'Make a move in the chess game.',\n schema: S.Struct({\n id: ObjectId,\n move: S.String.annotations({\n description: 'The move to make in the chess game.',\n examples: ['e4', 'Bf3'],\n }),\n }),\n execute: async ({ id, move }, { extensions }) => {\n invariant(extensions?.space, 'No space');\n const { objects: games } = await extensions.space.db.query(Filter.schema(ChessType)).run();\n const game = games.find((game) => game.id === id);\n invariant(isInstanceOf(ChessType, game));\n const board = new Chess(game.fen);\n try {\n board.move(move);\n } catch (error: any) {\n return ToolResult.Error(error.message);\n }\n game.pgn = board.pgn();\n game.fen = board.fen();\n return ToolResult.Success(game.fen);\n },\n }),\n ],\n });\n\n return contributes(Capabilities.ArtifactDefinition, definition);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Chess", "pipe", "Capabilities", "chain", "contributes", "createIntent", "defineArtifact", "defineTool", "ToolResult", "createArtifactElement", "isInstanceOf", "ObjectId", "S", "invariant", "SpaceAction", "Filter", "definition", "defineArtifact", "id", "instructions", "schema", "ChessType", "tools", "defineTool", "name", "description", "S", "Struct", "fen", "String", "annotations", "execute", "extensions", "invariant", "space", "dispatch", "intent", "pipe", "createIntent", "ChessAction", "Create", "chain", "SpaceAction", "AddObject", "target", "data", "error", "ToolResult", "Error", "message", "Success", "createArtifactElement", "_", "objects", "games", "db", "query", "Filter", "run", "length", "ObjectId", "game", "find", "isInstanceOf", "move", "examples", "board", "Chess", "pgn", "contributes", "Capabilities", "ArtifactDefinition"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAK7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAmFE"}