@dxos/plugin-chess 0.8.3 → 0.8.4-main.1da679c
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/ChessboardContainer-LIZDOGHI.mjs +97 -0
- package/dist/lib/browser/ChessboardContainer-LIZDOGHI.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-I6UFJHT6.mjs +11 -0
- package/dist/lib/browser/blueprint-definition-I6UFJHT6.mjs.map +7 -0
- package/dist/lib/browser/chunk-EKNL3H3U.mjs +306 -0
- package/dist/lib/browser/chunk-EKNL3H3U.mjs.map +7 -0
- package/dist/lib/browser/chunk-KD4I5VTZ.mjs +8 -0
- package/dist/lib/browser/chunk-KD4I5VTZ.mjs.map +7 -0
- package/dist/lib/browser/chunk-M2MBU2O6.mjs +163 -0
- package/dist/lib/browser/chunk-M2MBU2O6.mjs.map +7 -0
- package/dist/lib/browser/chunk-PE3IWOFR.mjs +28 -0
- package/dist/lib/browser/chunk-PE3IWOFR.mjs.map +7 -0
- package/dist/lib/browser/chunk-T275KG4U.mjs +84 -0
- package/dist/lib/browser/chunk-T275KG4U.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +61 -33
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-RV2DQSJP.mjs +25 -0
- package/dist/lib/browser/intent-resolver-RV2DQSJP.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-I6CZUR5C.mjs +38 -0
- package/dist/lib/browser/react-surface-I6CZUR5C.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -9
- package/dist/lib/node-esm/ChessboardContainer-XWVQ5K7N.mjs +98 -0
- package/dist/lib/node-esm/ChessboardContainer-XWVQ5K7N.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-F7WQTNQ7.mjs +12 -0
- package/dist/lib/node-esm/blueprint-definition-F7WQTNQ7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5DYLCQBR.mjs +85 -0
- package/dist/lib/node-esm/chunk-5DYLCQBR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6OWCPDUA.mjs +29 -0
- package/dist/lib/node-esm/chunk-6OWCPDUA.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EGBWRJWH.mjs +307 -0
- package/dist/lib/node-esm/chunk-EGBWRJWH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Q5LJYIMO.mjs +10 -0
- package/dist/lib/node-esm/chunk-Q5LJYIMO.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-TUWE7Y5Z.mjs +164 -0
- package/dist/lib/node-esm/chunk-TUWE7Y5Z.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +61 -33
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-TJF7I4UB.mjs +26 -0
- package/dist/lib/node-esm/intent-resolver-TJF7I4UB.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-SBM22GEU.mjs +39 -0
- package/dist/lib/node-esm/react-surface-SBM22GEU.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -9
- package/dist/types/src/ChessPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +4 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/Card.stories.d.ts +14 -0
- package/dist/types/src/components/Card.stories.d.ts.map +1 -0
- package/dist/types/src/components/Chessboard.d.ts +38 -0
- package/dist/types/src/components/Chessboard.d.ts.map +1 -0
- package/dist/types/src/components/Chessboard.stories.d.ts +40 -4
- package/dist/types/src/components/Chessboard.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChessboardArticle.d.ts +7 -0
- package/dist/types/src/components/ChessboardArticle.d.ts.map +1 -0
- package/dist/types/src/components/ChessboardContainer.d.ts +9 -0
- package/dist/types/src/components/ChessboardContainer.d.ts.map +1 -0
- package/dist/types/src/components/Info.d.ts +21 -0
- package/dist/types/src/components/Info.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +2 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/functions/create.d.ts +14 -0
- package/dist/types/src/functions/create.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +4 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/functions/move.d.ts +8 -0
- package/dist/types/src/functions/move.d.ts.map +1 -0
- package/dist/types/src/functions/play.d.ts +9 -0
- package/dist/types/src/functions/play.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +24 -23
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Chess.d.ts +27 -0
- package/dist/types/src/types/Chess.d.ts.map +1 -0
- package/dist/types/src/types/ChessAction.d.ts +24 -0
- package/dist/types/src/types/ChessAction.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +38 -27
- package/src/ChessPlugin.tsx +9 -8
- package/src/capabilities/artifact-definition.ts +25 -21
- package/src/capabilities/blueprint-definition.ts +36 -0
- package/src/capabilities/index.ts +3 -1
- package/src/capabilities/intent-resolver.ts +3 -7
- package/src/capabilities/react-surface.tsx +8 -14
- package/src/components/Card.stories.tsx +68 -0
- package/src/components/Chessboard.stories.tsx +35 -24
- package/src/components/Chessboard.tsx +177 -0
- package/src/components/ChessboardArticle.tsx +69 -0
- package/src/components/ChessboardContainer.tsx +44 -0
- package/src/components/Info.tsx +236 -0
- package/src/components/index.ts +2 -2
- package/src/functions/create.ts +30 -0
- package/src/functions/index.ts +7 -0
- package/src/functions/move.ts +43 -0
- package/src/functions/play.ts +53 -0
- package/src/index.ts +2 -0
- package/src/meta.ts +4 -2
- package/src/translations.ts +17 -7
- package/src/types/Chess.ts +66 -0
- package/src/types/ChessAction.ts +19 -0
- package/src/types/index.ts +2 -2
- package/dist/lib/browser/ChessContainer-S72CLKGK.mjs +0 -101
- package/dist/lib/browser/ChessContainer-S72CLKGK.mjs.map +0 -7
- package/dist/lib/browser/artifact-definition-NLIDMZ42.mjs +0 -182
- package/dist/lib/browser/artifact-definition-NLIDMZ42.mjs.map +0 -7
- package/dist/lib/browser/chunk-5QBQW62M.mjs +0 -8
- package/dist/lib/browser/chunk-5QBQW62M.mjs.map +0 -7
- package/dist/lib/browser/chunk-6XPI4FTK.mjs +0 -61
- package/dist/lib/browser/chunk-6XPI4FTK.mjs.map +0 -7
- package/dist/lib/browser/chunk-KA3H3Z76.mjs +0 -65
- package/dist/lib/browser/chunk-KA3H3Z76.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-65W3KVTW.mjs +0 -28
- package/dist/lib/browser/intent-resolver-65W3KVTW.mjs.map +0 -7
- package/dist/lib/browser/react-surface-GYE5E74A.mjs +0 -42
- package/dist/lib/browser/react-surface-GYE5E74A.mjs.map +0 -7
- package/dist/lib/node/ChessContainer-EQUVXDJC.cjs +0 -123
- package/dist/lib/node/ChessContainer-EQUVXDJC.cjs.map +0 -7
- package/dist/lib/node/artifact-definition-VHJ54X2P.cjs +0 -196
- package/dist/lib/node/artifact-definition-VHJ54X2P.cjs.map +0 -7
- package/dist/lib/node/chunk-OTMP6HPY.cjs +0 -93
- package/dist/lib/node/chunk-OTMP6HPY.cjs.map +0 -7
- package/dist/lib/node/chunk-R6JAL3RE.cjs +0 -40
- package/dist/lib/node/chunk-R6JAL3RE.cjs.map +0 -7
- package/dist/lib/node/chunk-THN2FKB3.cjs +0 -86
- package/dist/lib/node/chunk-THN2FKB3.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -121
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-BQGAQM27.cjs +0 -43
- package/dist/lib/node/intent-resolver-BQGAQM27.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-surface-TZDWBTEY.cjs +0 -62
- package/dist/lib/node/react-surface-TZDWBTEY.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -35
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/ChessContainer-KSLGJHPW.mjs +0 -102
- package/dist/lib/node-esm/ChessContainer-KSLGJHPW.mjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-CZGGG56Q.mjs +0 -183
- package/dist/lib/node-esm/artifact-definition-CZGGG56Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4V3WNUDH.mjs +0 -67
- package/dist/lib/node-esm/chunk-4V3WNUDH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KHMDMPR2.mjs +0 -10
- package/dist/lib/node-esm/chunk-KHMDMPR2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MVMMCPHE.mjs +0 -63
- package/dist/lib/node-esm/chunk-MVMMCPHE.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-6TYVNVEU.mjs +0 -29
- package/dist/lib/node-esm/intent-resolver-6TYVNVEU.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-LRFYFOFF.mjs +0 -43
- package/dist/lib/node-esm/react-surface-LRFYFOFF.mjs.map +0 -7
- package/dist/types/src/components/ChessComponent.d.ts +0 -6
- package/dist/types/src/components/ChessComponent.d.ts.map +0 -1
- package/dist/types/src/components/ChessContainer.d.ts +0 -8
- package/dist/types/src/components/ChessContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChessPanel.d.ts +0 -11
- package/dist/types/src/components/ChessPanel.d.ts.map +0 -1
- package/dist/types/src/components/PlayerSelector.d.ts +0 -8
- package/dist/types/src/components/PlayerSelector.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -29
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/dist/types/src/types/types.d.ts +0 -40
- package/dist/types/src/types/types.d.ts.map +0 -1
- package/src/components/ChessComponent.tsx +0 -54
- package/src/components/ChessContainer.tsx +0 -35
- package/src/components/ChessPanel.tsx +0 -67
- package/src/components/PlayerSelector.tsx +0 -80
- package/src/types/schema.ts +0 -34
- package/src/types/types.ts +0 -26
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Chess_exports
|
|
3
|
+
} from "./chunk-T275KG4U.mjs";
|
|
4
|
+
|
|
5
|
+
// src/capabilities/blueprint-definition.ts
|
|
6
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
7
|
+
import { Blueprint, Template } from "@dxos/blueprints";
|
|
8
|
+
import { trim } from "@dxos/util";
|
|
9
|
+
|
|
10
|
+
// src/functions/create.ts
|
|
11
|
+
import { Effect, Schema } from "effect";
|
|
12
|
+
import { DatabaseService, defineFunction } from "@dxos/functions";
|
|
13
|
+
var create_default = defineFunction({
|
|
14
|
+
name: "dxos.org/function/chess/create",
|
|
15
|
+
description: "Creates a new chess game.",
|
|
16
|
+
inputSchema: Schema.Struct({
|
|
17
|
+
pgn: Schema.optional(Schema.String.annotations({
|
|
18
|
+
description: "Portable Game Notation."
|
|
19
|
+
})),
|
|
20
|
+
fen: Schema.optional(Schema.String.annotations({
|
|
21
|
+
description: "Forsyth-Edwards Notation."
|
|
22
|
+
}))
|
|
23
|
+
}),
|
|
24
|
+
outputSchema: Chess_exports.Game,
|
|
25
|
+
handler: Effect.fn(function* ({ data: { pgn, fen } }) {
|
|
26
|
+
return yield* DatabaseService.add(Chess_exports.makeGame({
|
|
27
|
+
pgn,
|
|
28
|
+
fen
|
|
29
|
+
}));
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
// src/functions/move.ts
|
|
34
|
+
import { Chess as ChessJS } from "chess.js";
|
|
35
|
+
import { Effect as Effect2, Schema as Schema2 } from "effect";
|
|
36
|
+
import { ArtifactId } from "@dxos/assistant";
|
|
37
|
+
import { DatabaseService as DatabaseService2, defineFunction as defineFunction2 } from "@dxos/functions";
|
|
38
|
+
var move_default = defineFunction2({
|
|
39
|
+
name: "dxos.org/function/chess/move",
|
|
40
|
+
description: "Makes a move in the given chess game.",
|
|
41
|
+
inputSchema: Schema2.Struct({
|
|
42
|
+
id: ArtifactId.annotations({
|
|
43
|
+
description: "The ID of the chess object."
|
|
44
|
+
}),
|
|
45
|
+
move: Schema2.String.annotations({
|
|
46
|
+
description: "The move to make in the chess game.",
|
|
47
|
+
examples: [
|
|
48
|
+
"e4",
|
|
49
|
+
"Bf3"
|
|
50
|
+
]
|
|
51
|
+
})
|
|
52
|
+
}),
|
|
53
|
+
outputSchema: Schema2.Struct({
|
|
54
|
+
pgn: Schema2.String.annotations({
|
|
55
|
+
description: "The PGN of the game after the move was played."
|
|
56
|
+
})
|
|
57
|
+
}),
|
|
58
|
+
handler: Effect2.fn(function* ({ data: { id, move } }) {
|
|
59
|
+
const object = yield* DatabaseService2.resolve(ArtifactId.toDXN(id), Chess_exports.Game);
|
|
60
|
+
const chess = new ChessJS();
|
|
61
|
+
if (object.pgn) {
|
|
62
|
+
chess.loadPgn(object.pgn);
|
|
63
|
+
} else if (object.fen) {
|
|
64
|
+
chess.load(object.fen);
|
|
65
|
+
}
|
|
66
|
+
chess.move(move, {
|
|
67
|
+
strict: false
|
|
68
|
+
});
|
|
69
|
+
object.pgn = chess.pgn();
|
|
70
|
+
return {
|
|
71
|
+
pgn: object.pgn
|
|
72
|
+
};
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// src/functions/play.ts
|
|
77
|
+
import { Chess as ChessJS2 } from "chess.js";
|
|
78
|
+
import { Effect as Effect3, Schema as Schema3 } from "effect";
|
|
79
|
+
import { ArtifactId as ArtifactId2 } from "@dxos/assistant";
|
|
80
|
+
import { DatabaseService as DatabaseService3, defineFunction as defineFunction3 } from "@dxos/functions";
|
|
81
|
+
var play_default = defineFunction3({
|
|
82
|
+
name: "dxos.org/function/chess/play",
|
|
83
|
+
description: "Uses the chess engine to play the next move.",
|
|
84
|
+
inputSchema: Schema3.Struct({
|
|
85
|
+
id: ArtifactId2.annotations({
|
|
86
|
+
description: "The ID of the chess object."
|
|
87
|
+
}),
|
|
88
|
+
side: Schema3.optional(Schema3.Literal("white", "black", "any")).annotations({
|
|
89
|
+
description: "The side to play.",
|
|
90
|
+
defaultValue: "any"
|
|
91
|
+
})
|
|
92
|
+
}),
|
|
93
|
+
outputSchema: Schema3.Struct({
|
|
94
|
+
pgn: Schema3.String.annotations({
|
|
95
|
+
description: "The PGN of the game after the move was played."
|
|
96
|
+
}),
|
|
97
|
+
move: Schema3.optional(Schema3.String).annotations({
|
|
98
|
+
description: "The move that was played."
|
|
99
|
+
})
|
|
100
|
+
}),
|
|
101
|
+
handler: Effect3.fn(function* ({ data: { id, side = "any" } }) {
|
|
102
|
+
const object = yield* DatabaseService3.resolve(ArtifactId2.toDXN(id), Chess_exports.Game);
|
|
103
|
+
const chess = new ChessJS2();
|
|
104
|
+
if (object.pgn) {
|
|
105
|
+
chess.loadPgn(object.pgn);
|
|
106
|
+
} else if (object.fen) {
|
|
107
|
+
chess.load(object.fen);
|
|
108
|
+
}
|
|
109
|
+
if (!(side === "any" || chess.turn() === "w" && side === "white" || chess.turn() === "b" && side === "black")) {
|
|
110
|
+
return {
|
|
111
|
+
move: void 0,
|
|
112
|
+
pgn: object.pgn
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
const moves = chess.moves();
|
|
116
|
+
const move = moves[Math.floor(Math.random() * moves.length)];
|
|
117
|
+
chess.move(move, {
|
|
118
|
+
strict: false
|
|
119
|
+
});
|
|
120
|
+
object.pgn = chess.pgn();
|
|
121
|
+
return {
|
|
122
|
+
move,
|
|
123
|
+
pgn: object.pgn
|
|
124
|
+
};
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
// src/capabilities/blueprint-definition.ts
|
|
129
|
+
var BLUEPRINT_KEY = "dxos.org/blueprint/chess";
|
|
130
|
+
var functions = [
|
|
131
|
+
create_default,
|
|
132
|
+
move_default,
|
|
133
|
+
play_default
|
|
134
|
+
];
|
|
135
|
+
var blueprint_definition_default = (() => {
|
|
136
|
+
return [
|
|
137
|
+
contributes(Capabilities.Functions, functions),
|
|
138
|
+
contributes(Capabilities.BlueprintDefinition, Blueprint.make({
|
|
139
|
+
key: BLUEPRINT_KEY,
|
|
140
|
+
name: "Chess",
|
|
141
|
+
tools: Blueprint.toolDefinitions({
|
|
142
|
+
functions
|
|
143
|
+
}),
|
|
144
|
+
instructions: Template.make({
|
|
145
|
+
source: trim`
|
|
146
|
+
You are an expert chess player.
|
|
147
|
+
To analyze a game you can access the "pgn" property by loading the context object that represents the current game.
|
|
148
|
+
You could suggest a good next move or offer to play a move.
|
|
149
|
+
Don't actually make a move unless you are asked to.
|
|
150
|
+
`
|
|
151
|
+
})
|
|
152
|
+
}))
|
|
153
|
+
];
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
export {
|
|
157
|
+
create_default,
|
|
158
|
+
move_default,
|
|
159
|
+
play_default,
|
|
160
|
+
BLUEPRINT_KEY,
|
|
161
|
+
blueprint_definition_default
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=chunk-M2MBU2O6.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 name: 'dxos.org/function/chess/create',\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 name: 'dxos.org/function/chess/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 name: 'dxos.org/function/chess/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": "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",
|
|
6
|
+
"names": ["Capabilities", "contributes", "Blueprint", "Template", "trim", "Effect", "Schema", "DatabaseService", "defineFunction", "defineFunction", "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", "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", "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
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __export = (target, all) => {
|
|
3
|
+
for (var name in all)
|
|
4
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
// src/meta.ts
|
|
8
|
+
import { trim } from "@dxos/util";
|
|
9
|
+
var CHESS_PLUGIN = "dxos.org/plugin/chess";
|
|
10
|
+
var meta = {
|
|
11
|
+
id: CHESS_PLUGIN,
|
|
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
|
+
CHESS_PLUGIN,
|
|
26
|
+
meta
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=chunk-PE3IWOFR.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 CHESS_PLUGIN = 'dxos.org/plugin/chess';\n\nexport const meta: PluginMeta = {\n id: CHESS_PLUGIN,\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,eAAe;AAErB,IAAMC,OAAmB;EAC9BC,IAAIF;EACJG,MAAM;EACNC,aAAaC;;;EAGbC,MAAM;EACNC,QAAQ;EACRC,aAAa;IAAC;;AAChB;",
|
|
6
|
+
"names": ["trim", "CHESS_PLUGIN", "meta", "id", "name", "description", "trim", "icon", "source", "screenshots"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export,
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-PE3IWOFR.mjs";
|
|
5
|
+
|
|
6
|
+
// src/types/Chess.ts
|
|
7
|
+
var Chess_exports = {};
|
|
8
|
+
__export(Chess_exports, {
|
|
9
|
+
Game: () => Game,
|
|
10
|
+
makeGame: () => makeGame
|
|
11
|
+
});
|
|
12
|
+
import { Chess as ChessJS } from "chess.js";
|
|
13
|
+
import { Schema } from "effect";
|
|
14
|
+
import { Obj, Type } from "@dxos/echo";
|
|
15
|
+
import { LabelAnnotation } from "@dxos/echo-schema";
|
|
16
|
+
import { log } from "@dxos/log";
|
|
17
|
+
import { ItemAnnotation } from "@dxos/schema";
|
|
18
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-chess/src/types/Chess.ts";
|
|
19
|
+
var Game = Schema.Struct({
|
|
20
|
+
name: Schema.optional(Schema.String),
|
|
21
|
+
players: Schema.optional(Schema.Struct({
|
|
22
|
+
white: Schema.optional(Schema.String.annotations({
|
|
23
|
+
description: "DID of white player"
|
|
24
|
+
})),
|
|
25
|
+
black: Schema.optional(Schema.String.annotations({
|
|
26
|
+
description: "DID of black player"
|
|
27
|
+
}))
|
|
28
|
+
}).pipe(Schema.mutable)),
|
|
29
|
+
pgn: Schema.optional(Schema.String.annotations({
|
|
30
|
+
description: "Portable Game Notation."
|
|
31
|
+
})),
|
|
32
|
+
fen: Schema.optional(Schema.String.annotations({
|
|
33
|
+
description: "Forsyth-Edwards Notation."
|
|
34
|
+
}))
|
|
35
|
+
}).pipe(Type.Obj({
|
|
36
|
+
typename: "dxos.org/type/Chess",
|
|
37
|
+
version: "0.2.0"
|
|
38
|
+
}), LabelAnnotation.set([
|
|
39
|
+
"name"
|
|
40
|
+
]), ItemAnnotation.set(true));
|
|
41
|
+
var makeGame = ({ name, pgn, fen } = {}) => {
|
|
42
|
+
const chess = new ChessJS();
|
|
43
|
+
if (pgn) {
|
|
44
|
+
try {
|
|
45
|
+
chess.loadPgn(pgn);
|
|
46
|
+
} catch {
|
|
47
|
+
log.warn(pgn, void 0, {
|
|
48
|
+
F: __dxlog_file,
|
|
49
|
+
L: 56,
|
|
50
|
+
S: void 0,
|
|
51
|
+
C: (f, a) => f(...a)
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return Obj.make(Game, {
|
|
56
|
+
name,
|
|
57
|
+
players: {},
|
|
58
|
+
pgn,
|
|
59
|
+
fen
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// src/types/ChessAction.ts
|
|
64
|
+
var ChessAction_exports = {};
|
|
65
|
+
__export(ChessAction_exports, {
|
|
66
|
+
Create: () => Create
|
|
67
|
+
});
|
|
68
|
+
import { Schema as Schema2 } from "effect";
|
|
69
|
+
var Create = class extends Schema2.TaggedClass()(`${meta.id}/action/create`, {
|
|
70
|
+
input: Schema2.Struct({
|
|
71
|
+
name: Schema2.optional(Schema2.String),
|
|
72
|
+
pgn: Schema2.optional(Schema2.String)
|
|
73
|
+
}),
|
|
74
|
+
output: Schema2.Struct({
|
|
75
|
+
object: Game
|
|
76
|
+
})
|
|
77
|
+
}) {
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export {
|
|
81
|
+
Chess_exports,
|
|
82
|
+
ChessAction_exports
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=chunk-T275KG4U.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Chess.ts", "../../../src/types/ChessAction.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Chess as ChessJS } from 'chess.js';\nimport { Schema } from 'effect';\n\nimport { Obj, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo-schema';\nimport { log } from '@dxos/log';\nimport { ItemAnnotation } from '@dxos/schema';\n\nexport const Game = Schema.Struct({\n name: Schema.optional(Schema.String),\n players: Schema.optional(\n Schema.Struct({\n white: Schema.optional(\n Schema.String.annotations({\n description: 'DID of white player',\n }),\n ),\n black: Schema.optional(\n Schema.String.annotations({\n description: 'DID of black player',\n }),\n ),\n }).pipe(Schema.mutable),\n ),\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}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Chess',\n version: '0.2.0',\n }),\n LabelAnnotation.set(['name']),\n ItemAnnotation.set(true),\n);\n\nexport interface Game extends Schema.Schema.Type<typeof Game> {}\n\nexport const makeGame = ({ name, pgn, fen }: { name?: string; pgn?: string; fen?: string } = {}) => {\n const chess = new ChessJS();\n if (pgn) {\n try {\n chess.loadPgn(pgn);\n } catch {\n log.warn(pgn);\n }\n }\n\n return Obj.make(Game, {\n name,\n players: {},\n pgn,\n fen,\n });\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { meta } from '../meta';\n\nimport { Game } from './Chess';\n\nexport class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n pgn: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Game,\n }),\n}) {}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;AAIA,SAASA,SAASC,eAAe;AACjC,SAASC,cAAc;AAEvB,SAASC,KAAKC,YAAY;AAC1B,SAASC,uBAAuB;AAChC,SAASC,WAAW;AACpB,SAASC,sBAAsB;;AAExB,IAAMC,OAAON,OAAOO,OAAO;EAChCC,MAAMR,OAAOS,SAAST,OAAOU,MAAM;EACnCC,SAASX,OAAOS,SACdT,OAAOO,OAAO;IACZK,OAAOZ,OAAOS,SACZT,OAAOU,OAAOG,YAAY;MACxBC,aAAa;IACf,CAAA,CAAA;IAEFC,OAAOf,OAAOS,SACZT,OAAOU,OAAOG,YAAY;MACxBC,aAAa;IACf,CAAA,CAAA;EAEJ,CAAA,EAAGE,KAAKhB,OAAOiB,OAAO,CAAA;EAExBC,KAAKlB,OAAOS,SACVT,OAAOU,OAAOG,YAAY;IACxBC,aAAa;EACf,CAAA,CAAA;EAEFK,KAAKnB,OAAOS,SACVT,OAAOU,OAAOG,YAAY;IACxBC,aAAa;EACf,CAAA,CAAA;AAEJ,CAAA,EAAGE,KACDd,KAAKD,IAAI;EACPmB,UAAU;EACVC,SAAS;AACX,CAAA,GACAlB,gBAAgBmB,IAAI;EAAC;CAAO,GAC5BjB,eAAeiB,IAAI,IAAA,CAAA;AAKd,IAAMC,WAAW,CAAC,EAAEf,MAAMU,KAAKC,IAAG,IAAoD,CAAC,MAAC;AAC7F,QAAMK,QAAQ,IAAIzB,QAAAA;AAClB,MAAImB,KAAK;AACP,QAAI;AACFM,YAAMC,QAAQP,GAAAA;IAChB,QAAQ;AACNd,UAAIsB,KAAKR,KAAAA,QAAAA;;;;;;IACX;EACF;AAEA,SAAOjB,IAAI0B,KAAKrB,MAAM;IACpBE;IACAG,SAAS,CAAC;IACVO;IACAC;EACF,CAAA;AACF;;;ACjEA;;;;AAIA,SAASS,UAAAA,eAAc;AAMhB,IAAMC,SAAN,cAAqBC,QAAOC,YAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;EACnFC,OAAOJ,QAAOK,OAAO;IACnBC,MAAMN,QAAOO,SAASP,QAAOQ,MAAM;IACnCC,KAAKT,QAAOO,SAASP,QAAOQ,MAAM;EACpC,CAAA;EACAE,QAAQV,QAAOK,OAAO;IACpBM,QAAQC;EACV,CAAA;AACF,CAAA,EAAA;AAAI;",
|
|
6
|
+
"names": ["Chess", "ChessJS", "Schema", "Obj", "Type", "LabelAnnotation", "log", "ItemAnnotation", "Game", "Struct", "name", "optional", "String", "players", "white", "annotations", "description", "black", "pipe", "mutable", "pgn", "fen", "typename", "version", "set", "makeGame", "chess", "loadPgn", "warn", "make", "Schema", "Create", "Schema", "TaggedClass", "meta", "id", "input", "Struct", "name", "optional", "String", "pgn", "output", "object", "Game"]
|
|
7
|
+
}
|
|
@@ -1,62 +1,83 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
BLUEPRINT_KEY,
|
|
3
|
+
create_default,
|
|
4
|
+
move_default,
|
|
5
|
+
play_default
|
|
6
|
+
} from "./chunk-M2MBU2O6.mjs";
|
|
7
|
+
import {
|
|
8
|
+
ChessboardContainer
|
|
9
|
+
} from "./chunk-KD4I5VTZ.mjs";
|
|
10
|
+
import {
|
|
11
|
+
ChessAction_exports,
|
|
12
|
+
Chess_exports
|
|
13
|
+
} from "./chunk-T275KG4U.mjs";
|
|
14
|
+
import {
|
|
15
|
+
Chessboard,
|
|
16
|
+
ExtendedChessModel
|
|
17
|
+
} from "./chunk-EKNL3H3U.mjs";
|
|
4
18
|
import {
|
|
5
19
|
CHESS_PLUGIN,
|
|
6
|
-
ChessAction,
|
|
7
|
-
ChessType,
|
|
8
20
|
meta
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
ChessComponent
|
|
12
|
-
} from "./chunk-6XPI4FTK.mjs";
|
|
21
|
+
} from "./chunk-PE3IWOFR.mjs";
|
|
13
22
|
|
|
14
|
-
//
|
|
23
|
+
// src/capabilities/index.ts
|
|
15
24
|
import { lazy } from "@dxos/app-framework";
|
|
16
|
-
var
|
|
17
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
18
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
25
|
+
var BlueprintDefinition = lazy(() => import("./blueprint-definition-I6UFJHT6.mjs"));
|
|
26
|
+
var IntentResolver = lazy(() => import("./intent-resolver-RV2DQSJP.mjs"));
|
|
27
|
+
var ReactSurface = lazy(() => import("./react-surface-I6CZUR5C.mjs"));
|
|
19
28
|
|
|
20
|
-
//
|
|
21
|
-
import { Capabilities, contributes, createIntent, defineModule, definePlugin
|
|
29
|
+
// src/ChessPlugin.tsx
|
|
30
|
+
import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
|
|
22
31
|
import { ClientEvents } from "@dxos/plugin-client";
|
|
23
32
|
import { SpaceCapabilities } from "@dxos/plugin-space";
|
|
24
33
|
import { defineObjectForm } from "@dxos/plugin-space/types";
|
|
25
34
|
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
var translations_default = [
|
|
35
|
+
// src/translations.ts
|
|
36
|
+
var translations = [
|
|
29
37
|
{
|
|
30
38
|
"en-US": {
|
|
31
|
-
[
|
|
39
|
+
[Chess_exports.Game.typename]: {
|
|
32
40
|
"typename label": "Game",
|
|
33
41
|
"typename label_zero": "Games",
|
|
34
42
|
"typename label_one": "Game",
|
|
35
43
|
"typename label_other": "Games",
|
|
36
|
-
"object name placeholder": "New game"
|
|
44
|
+
"object name placeholder": "New game",
|
|
45
|
+
"rename object label": "Rename game",
|
|
46
|
+
"delete object label": "Delete game",
|
|
47
|
+
"toggle info button": "Toggle info",
|
|
48
|
+
"close info button": "Close info",
|
|
49
|
+
"flip board button": "Flip board",
|
|
50
|
+
"select player button": "Select player"
|
|
37
51
|
},
|
|
38
|
-
[
|
|
52
|
+
[meta.id]: {
|
|
39
53
|
"plugin name": "Chess",
|
|
40
|
-
"delete game label": "Delete"
|
|
54
|
+
"delete game label": "Delete",
|
|
55
|
+
"game.checkmate": "Checkmate",
|
|
56
|
+
"game.stalemate": "Stalemate",
|
|
57
|
+
"game.draw": "Draw",
|
|
58
|
+
"game.check": "Check"
|
|
41
59
|
}
|
|
42
60
|
}
|
|
43
61
|
}
|
|
44
62
|
];
|
|
45
63
|
|
|
46
|
-
//
|
|
64
|
+
// src/ChessPlugin.tsx
|
|
47
65
|
var ChessPlugin = () => definePlugin(meta, [
|
|
48
66
|
defineModule({
|
|
49
67
|
id: `${meta.id}/module/translations`,
|
|
50
68
|
activatesOn: Events.SetupTranslations,
|
|
51
|
-
activate: () => contributes(Capabilities.Translations,
|
|
69
|
+
activate: () => contributes(Capabilities.Translations, translations)
|
|
52
70
|
}),
|
|
53
71
|
defineModule({
|
|
54
72
|
id: `${meta.id}/module/metadata`,
|
|
55
73
|
activatesOn: Events.SetupMetadata,
|
|
56
74
|
activate: () => contributes(Capabilities.Metadata, {
|
|
57
|
-
id:
|
|
75
|
+
id: Chess_exports.Game.typename,
|
|
58
76
|
metadata: {
|
|
59
|
-
icon: "ph--shield-chevron--regular"
|
|
77
|
+
icon: "ph--shield-chevron--regular",
|
|
78
|
+
blueprints: [
|
|
79
|
+
BLUEPRINT_KEY
|
|
80
|
+
]
|
|
60
81
|
}
|
|
61
82
|
})
|
|
62
83
|
}),
|
|
@@ -64,8 +85,8 @@ var ChessPlugin = () => definePlugin(meta, [
|
|
|
64
85
|
id: `${meta.id}/module/object-form`,
|
|
65
86
|
activatesOn: ClientEvents.SetupSchema,
|
|
66
87
|
activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
|
|
67
|
-
objectSchema:
|
|
68
|
-
getIntent: () => createIntent(
|
|
88
|
+
objectSchema: Chess_exports.Game,
|
|
89
|
+
getIntent: () => createIntent(ChessAction_exports.Create)
|
|
69
90
|
}))
|
|
70
91
|
}),
|
|
71
92
|
defineModule({
|
|
@@ -79,19 +100,26 @@ var ChessPlugin = () => definePlugin(meta, [
|
|
|
79
100
|
activate: IntentResolver
|
|
80
101
|
}),
|
|
81
102
|
defineModule({
|
|
82
|
-
id: `${meta.id}/module/
|
|
103
|
+
id: `${meta.id}/module/blueprint`,
|
|
83
104
|
activatesOn: Events.SetupArtifactDefinition,
|
|
84
|
-
activate:
|
|
105
|
+
activate: BlueprintDefinition
|
|
85
106
|
})
|
|
86
107
|
]);
|
|
87
108
|
export {
|
|
88
|
-
|
|
109
|
+
BLUEPRINT_KEY,
|
|
110
|
+
BlueprintDefinition,
|
|
89
111
|
CHESS_PLUGIN,
|
|
90
|
-
|
|
91
|
-
|
|
112
|
+
Chess_exports as Chess,
|
|
113
|
+
ChessAction_exports as ChessAction,
|
|
92
114
|
ChessPlugin,
|
|
115
|
+
Chessboard,
|
|
116
|
+
ChessboardContainer,
|
|
117
|
+
ExtendedChessModel,
|
|
93
118
|
IntentResolver,
|
|
94
119
|
ReactSurface,
|
|
95
|
-
|
|
120
|
+
create_default as create,
|
|
121
|
+
meta,
|
|
122
|
+
move_default as move,
|
|
123
|
+
play_default as play
|
|
96
124
|
};
|
|
97
125
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/index.ts", "../../../src/ChessPlugin.tsx", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["lazy", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const BlueprintDefinition = lazy(() => import('./blueprint-definition'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n\nexport * from './blueprint-definition';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { BLUEPRINT_KEY, BlueprintDefinition, IntentResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { Chess, ChessAction } from './types';\n\nexport const ChessPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: Chess.Game.typename,\n metadata: {\n icon: 'ph--shield-chevron--regular',\n blueprints: [BLUEPRINT_KEY],\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: Chess.Game,\n getIntent: () => createIntent(ChessAction.Create),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Chess } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Chess.Game.typename]: {\n 'typename label': 'Game',\n 'typename label_zero': 'Games',\n 'typename label_one': 'Game',\n 'typename label_other': 'Games',\n 'object name placeholder': 'New game',\n 'rename object label': 'Rename game',\n 'delete object label': 'Delete game',\n 'toggle info button': 'Toggle info',\n 'close info button': 'Close info',\n 'flip board button': 'Flip board',\n 'select player button': 'Select player',\n },\n [meta.id]: {\n 'plugin name': 'Chess',\n 'delete game label': 'Delete',\n 'game.checkmate': 'Checkmate',\n 'game.stalemate': 'Stalemate',\n 'game.draw': 'Draw',\n 'game.check': 'Check',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,YAAY;AAEd,IAAMC,sBAAsBC,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC9C,IAAMC,iBAAiBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACJ9C,SAASG,cAAcC,QAAQC,aAAaC,cAAcC,cAAcC,oBAAoB;AAC5F,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,wBAAwB;;;ACE1B,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,cAAMC,KAAKC,QAAQ,GAAG;QACrB,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;QACvB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,qBAAqB;QACrB,kBAAkB;QAClB,kBAAkB;QAClB,aAAa;QACb,cAAc;MAChB;IACF;EACF;;;;ADpBK,IAAMC,cAAc,MACzBC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAU,MACRC,YAAYC,aAAaI,UAAU;MACjCV,IAAIW,cAAMC,KAAKC;MACfC,UAAU;QACRC,MAAM;QACNC,YAAY;UAACC;;MACf;IACF,CAAA;EACJ,CAAA;EACAlB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaiB,aAAaC;IAC1Bf,UAAU,MACRC,YACEe,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcZ,cAAMC;MACpBY,WAAW,MAAMC,aAAaC,oBAAYC,MAAM;IAClD,CAAA,CAAA;EAEN,CAAA;EACA5B,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO0B;IACpBxB,UAAUyB;EACZ,CAAA;EACA9B,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO4B;IACpB1B,UAAU2B;EACZ,CAAA;EACAhC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO8B;IACpB5B,UAAU6B;EACZ,CAAA;CACD;",
|
|
6
|
+
"names": ["lazy", "BlueprintDefinition", "lazy", "IntentResolver", "ReactSurface", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "translations", "Chess", "Game", "typename", "meta", "id", "ChessPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "Chess", "Game", "typename", "metadata", "icon", "blueprints", "BLUEPRINT_KEY", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "getIntent", "createIntent", "ChessAction", "Create", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupArtifactDefinition", "BlueprintDefinition"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChessAction_exports,
|
|
3
|
+
Chess_exports
|
|
4
|
+
} from "./chunk-T275KG4U.mjs";
|
|
5
|
+
import "./chunk-PE3IWOFR.mjs";
|
|
6
|
+
|
|
7
|
+
// src/capabilities/intent-resolver.ts
|
|
8
|
+
import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
|
|
9
|
+
var intent_resolver_default = (() => contributes(Capabilities.IntentResolver, createResolver({
|
|
10
|
+
intent: ChessAction_exports.Create,
|
|
11
|
+
resolve: ({ name, pgn }) => {
|
|
12
|
+
return {
|
|
13
|
+
data: {
|
|
14
|
+
object: Chess_exports.makeGame({
|
|
15
|
+
name,
|
|
16
|
+
pgn
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
})));
|
|
22
|
+
export {
|
|
23
|
+
intent_resolver_default as default
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=intent-resolver-RV2DQSJP.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/intent-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createResolver } from '@dxos/app-framework';\n\nimport { Chess, ChessAction } from '../types';\n\nexport default () =>\n contributes(\n Capabilities.IntentResolver,\n createResolver({\n intent: ChessAction.Create,\n resolve: ({ name, pgn }) => {\n return {\n data: {\n object: Chess.makeGame({ name, pgn }),\n },\n };\n },\n }),\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,SAASA,cAAcC,aAAaC,sBAAsB;AAI1D,IAAA,2BAAe,MACbC,YACEC,aAAaC,gBACbC,eAAe;EACbC,QAAQC,oBAAYC;EACpBC,SAAS,CAAC,EAAEC,MAAMC,IAAG,MAAE;AACrB,WAAO;MACLC,MAAM;QACJC,QAAQC,cAAMC,SAAS;UAAEL;UAAMC;QAAI,CAAA;MACrC;IACF;EACF;AACF,CAAA,CAAA;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createResolver", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ChessAction", "Create", "resolve", "name", "pgn", "data", "object", "Chess", "makeGame"]
|
|
7
|
+
}
|