@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.
- package/dist/lib/browser/{ChessContainer-2MMUB5S7.mjs → ChessContainer-XERPODLK.mjs} +2 -2
- package/dist/lib/browser/{artifact-LGQPNR6M.mjs → artifact-definition-D2SD45UX.mjs} +34 -28
- package/dist/lib/browser/artifact-definition-D2SD45UX.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GKM6RRDX.mjs → chunk-NNA3W3LX.mjs} +3 -3
- package/dist/lib/browser/chunk-R26FYVUS.mjs +8 -0
- package/dist/lib/browser/{chunk-RGPTBDH7.mjs → chunk-VRWXC5L2.mjs} +2 -1
- package/dist/lib/browser/{chunk-RGPTBDH7.mjs.map → chunk-VRWXC5L2.mjs.map} +2 -2
- package/dist/lib/browser/index.mjs +20 -18
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-VPK5QRXH.mjs → intent-resolver-KBIH2KYC.mjs} +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-ZILDX6DE.mjs → react-surface-2PI2KNSU.mjs} +4 -4
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{ChessContainer-CMYJDMSG.cjs → ChessContainer-LEPLNICP.cjs} +6 -6
- package/dist/lib/node/{artifact-IKDPRF5X.cjs → artifact-definition-YDPYM4NV.cjs} +41 -36
- package/dist/lib/node/artifact-definition-YDPYM4NV.cjs.map +7 -0
- package/dist/lib/node/{chunk-YTD6SK5V.cjs → chunk-CSRNUKOH.cjs} +5 -4
- package/dist/lib/node/{chunk-YTD6SK5V.cjs.map → chunk-CSRNUKOH.cjs.map} +2 -2
- package/dist/lib/node/{chunk-TEZPML34.cjs → chunk-ITDMCBQQ.cjs} +5 -5
- package/dist/lib/node/{chunk-3TTH3HKL.cjs → chunk-VXYRI6VA.cjs} +4 -4
- package/dist/lib/node/index.cjs +33 -31
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-PUM2BVGU.cjs → intent-resolver-TZFKPQOV.cjs} +7 -7
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-KYLF2XNL.cjs → react-surface-OHQIPHSN.cjs} +12 -12
- package/dist/lib/node/types/index.cjs +5 -5
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{ChessContainer-WV2CO5WO.mjs → ChessContainer-S76WNBWN.mjs} +2 -2
- package/dist/lib/node-esm/{artifact-3KNX2TLP.mjs → artifact-definition-LHQK5BBZ.mjs} +34 -28
- package/dist/lib/node-esm/artifact-definition-LHQK5BBZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GJW6TXCL.mjs → chunk-6SEDGO5G.mjs} +2 -1
- package/dist/lib/node-esm/{chunk-GJW6TXCL.mjs.map → chunk-6SEDGO5G.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-YXXJHXSV.mjs → chunk-B72CIN6T.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-GQA2DRUZ.mjs → chunk-IP66EHSW.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +20 -18
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-IR3YUZIG.mjs → intent-resolver-WBUS64KC.mjs} +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-VI6Q4BJT.mjs → react-surface-XX4VFNRS.mjs} +4 -4
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/ChessPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/{artifact.d.ts → artifact-definition.d.ts} +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/components/ChessComponent.d.ts +1 -2
- package/dist/types/src/components/ChessComponent.d.ts.map +1 -1
- package/dist/types/src/components/ChessContainer.d.ts +1 -2
- package/dist/types/src/components/ChessContainer.d.ts.map +1 -1
- package/dist/types/src/components/PlayerSelector.d.ts +1 -2
- package/dist/types/src/components/PlayerSelector.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +1 -1
- package/package.json +21 -20
- package/src/ChessPlugin.tsx +18 -10
- package/src/capabilities/{artifact.ts → artifact-definition.ts} +19 -13
- package/src/capabilities/index.ts +1 -1
- package/src/components/ChessComponent.tsx +1 -0
- package/dist/lib/browser/artifact-LGQPNR6M.mjs.map +0 -7
- package/dist/lib/browser/chunk-672NU6IC.mjs +0 -8
- package/dist/lib/node/artifact-IKDPRF5X.cjs.map +0 -7
- package/dist/lib/node-esm/artifact-3KNX2TLP.mjs.map +0 -7
- package/dist/types/src/capabilities/artifact.d.ts.map +0 -1
- /package/dist/lib/browser/{ChessContainer-2MMUB5S7.mjs.map → ChessContainer-XERPODLK.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-GKM6RRDX.mjs.map → chunk-NNA3W3LX.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-672NU6IC.mjs.map → chunk-R26FYVUS.mjs.map} +0 -0
- /package/dist/lib/browser/{intent-resolver-VPK5QRXH.mjs.map → intent-resolver-KBIH2KYC.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-ZILDX6DE.mjs.map → react-surface-2PI2KNSU.mjs.map} +0 -0
- /package/dist/lib/node/{ChessContainer-CMYJDMSG.cjs.map → ChessContainer-LEPLNICP.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-TEZPML34.cjs.map → chunk-ITDMCBQQ.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-3TTH3HKL.cjs.map → chunk-VXYRI6VA.cjs.map} +0 -0
- /package/dist/lib/node/{intent-resolver-PUM2BVGU.cjs.map → intent-resolver-TZFKPQOV.cjs.map} +0 -0
- /package/dist/lib/node/{react-surface-KYLF2XNL.cjs.map → react-surface-OHQIPHSN.cjs.map} +0 -0
- /package/dist/lib/node-esm/{ChessContainer-WV2CO5WO.mjs.map → ChessContainer-S76WNBWN.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-YXXJHXSV.mjs.map → chunk-B72CIN6T.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-GQA2DRUZ.mjs.map → chunk-IP66EHSW.mjs.map} +0 -0
- /package/dist/lib/node-esm/{intent-resolver-IR3YUZIG.mjs.map → intent-resolver-WBUS64KC.mjs.map} +0 -0
- /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-
|
|
4
|
+
} from "./chunk-B72CIN6T.mjs";
|
|
5
5
|
import {
|
|
6
6
|
CHESS_PLUGIN,
|
|
7
7
|
ChessType,
|
|
8
8
|
isObject
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IP66EHSW.mjs";
|
|
10
10
|
import {
|
|
11
11
|
ChessComponent
|
|
12
|
-
} from "./chunk-
|
|
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-
|
|
43
|
+
//# sourceMappingURL=react-surface-XX4VFNRS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChessPlugin.d.ts","sourceRoot":"","sources":["../../../src/ChessPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChessPlugin.d.ts","sourceRoot":"","sources":["../../../src/ChessPlugin.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,WAAW,4CA8CpB,CAAC"}
|
|
@@ -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
|
|
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,
|
|
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
|
-
}) =>
|
|
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":"
|
|
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
|
-
}) =>
|
|
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":"
|
|
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
|
-
}) =>
|
|
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":"
|
|
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;
|
|
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("
|
|
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.
|
|
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.
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/live-object": "0.7.5-labs.
|
|
46
|
-
"@dxos/echo-schema": "0.7.5-labs.
|
|
47
|
-
"@dxos/plugin-client": "0.7.5-labs.
|
|
48
|
-
"@dxos/plugin-graph": "0.7.5-labs.
|
|
49
|
-
"@dxos/plugin-space": "0.7.5-labs.
|
|
50
|
-
"@dxos/react-
|
|
51
|
-
"@dxos/react-ui-
|
|
52
|
-
"@dxos/react-
|
|
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.
|
|
62
|
-
"@dxos/react-ui-theme": "0.7.5-labs.
|
|
63
|
-
"@dxos/storybook-utils": "0.7.5-labs.
|
|
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
|
|
70
|
-
"@dxos/react-ui": "0.7.5-labs.
|
|
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"
|
package/src/ChessPlugin.tsx
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';
|
|
6
|
-
import {
|
|
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 {
|
|
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/
|
|
35
|
+
id: `${meta.id}/module/object-form`,
|
|
35
36
|
activatesOn: ClientEvents.SetupSchema,
|
|
36
|
-
activate: () =>
|
|
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.
|
|
48
|
+
activatesOn: Events.SetupReactSurface,
|
|
41
49
|
activate: ReactSurface,
|
|
42
50
|
}),
|
|
43
51
|
defineModule({
|
|
44
52
|
id: `${meta.id}/module/intent-resolver`,
|
|
45
|
-
activatesOn: Events.
|
|
53
|
+
activatesOn: Events.SetupIntentResolver,
|
|
46
54
|
activate: IntentResolver,
|
|
47
55
|
}),
|
|
48
56
|
defineModule({
|
|
49
|
-
id: `${meta.id}/module/artifact`,
|
|
50
|
-
activatesOn: Events.
|
|
51
|
-
activate:
|
|
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:
|
|
29
|
+
id: meta.id,
|
|
30
|
+
name: meta.name,
|
|
31
|
+
description: 'Provides a simple chess engine.',
|
|
29
32
|
instructions: `
|
|
30
|
-
|
|
31
|
-
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
|
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'));
|
|
@@ -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,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"}
|
/package/dist/lib/browser/{ChessContainer-2MMUB5S7.mjs.map → ChessContainer-XERPODLK.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/lib/browser/{intent-resolver-VPK5QRXH.mjs.map → intent-resolver-KBIH2KYC.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/lib/node/{intent-resolver-PUM2BVGU.cjs.map → intent-resolver-TZFKPQOV.cjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/lib/node-esm/{ChessContainer-WV2CO5WO.mjs.map → ChessContainer-S76WNBWN.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/lib/node-esm/{intent-resolver-IR3YUZIG.mjs.map → intent-resolver-WBUS64KC.mjs.map}
RENAMED
|
File without changes
|
/package/dist/lib/node-esm/{react-surface-VI6Q4BJT.mjs.map → react-surface-XX4VFNRS.mjs.map}
RENAMED
|
File without changes
|