@crowdedkingdoms/crowdy-dsh 0.4.14 → 0.5.1-dev.1
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/README.md +61 -10
- package/dist/dsh-web/BUILD.json +5 -5
- package/dist/dsh-web/preview/vfs-image.tar.gz +0 -0
- package/lib/bridge/client-service.js +33 -0
- package/lib/bridge/client-service.js.map +1 -0
- package/lib/bridge/client.js +20 -1
- package/lib/bridge/client.js.map +1 -1
- package/lib/bridge/index.js +33 -24
- package/lib/bridge/index.js.map +1 -1
- package/lib/bridge/protocol.js +30 -1
- package/lib/bridge/protocol.js.map +1 -1
- package/lib/crowdy/config.js +6 -0
- package/lib/crowdy/config.js.map +1 -1
- package/lib/crowdy/playbook.js +24 -0
- package/lib/crowdy/playbook.js.map +1 -0
- package/lib/crowdy/repo-paths.js +27 -0
- package/lib/crowdy/repo-paths.js.map +1 -0
- package/lib/crowdy/token.js +16 -0
- package/lib/crowdy/token.js.map +1 -0
- package/lib/fs/crowdy-file-system.js +4 -10
- package/lib/fs/crowdy-file-system.js.map +1 -1
- package/lib/fs/entry.js +22 -0
- package/lib/fs/entry.js.map +1 -0
- package/lib/fs/game-file-system.js +532 -0
- package/lib/fs/game-file-system.js.map +1 -0
- package/lib/fs/studio-fs.js +14 -0
- package/lib/fs/studio-fs.js.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/search/search-tools.js +4 -5
- package/lib/search/search-tools.js.map +1 -1
- package/lib/skills/playbook.js +80 -0
- package/lib/skills/playbook.js.map +1 -0
- package/lib/tools/game.js +155 -0
- package/lib/tools/game.js.map +1 -0
- package/lib/tools/index.js +21 -12
- package/lib/tools/index.js.map +1 -1
- package/lib/types/bridge/client-service.d.ts +32 -0
- package/lib/types/bridge/client-service.d.ts.map +1 -0
- package/lib/types/bridge/client.d.ts +6 -0
- package/lib/types/bridge/client.d.ts.map +1 -1
- package/lib/types/bridge/index.d.ts +9 -13
- package/lib/types/bridge/index.d.ts.map +1 -1
- package/lib/types/bridge/protocol.d.ts +189 -2
- package/lib/types/bridge/protocol.d.ts.map +1 -1
- package/lib/types/crowdy/config.d.ts +7 -0
- package/lib/types/crowdy/config.d.ts.map +1 -1
- package/lib/types/crowdy/playbook.d.ts +13 -0
- package/lib/types/crowdy/playbook.d.ts.map +1 -0
- package/lib/types/crowdy/repo-paths.d.ts +15 -0
- package/lib/types/crowdy/repo-paths.d.ts.map +1 -0
- package/lib/types/crowdy/repo-paths.test.d.ts.map +1 -0
- package/lib/types/crowdy/token.d.ts +10 -0
- package/lib/types/crowdy/token.d.ts.map +1 -0
- package/lib/types/crowdy/token.test.d.ts.map +1 -0
- package/lib/types/fs/crowdy-file-system.d.ts +7 -2
- package/lib/types/fs/crowdy-file-system.d.ts.map +1 -1
- package/lib/types/fs/entry.d.ts +21 -0
- package/lib/types/fs/entry.d.ts.map +1 -0
- package/lib/types/fs/game-file-system.d.ts +107 -0
- package/lib/types/fs/game-file-system.d.ts.map +1 -0
- package/lib/types/fs/game-file-system.test.d.ts.map +1 -0
- package/lib/types/fs/studio-fs.d.ts +42 -0
- package/lib/types/fs/studio-fs.d.ts.map +1 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/search/search-tools.d.ts.map +1 -1
- package/lib/types/skills/playbook.d.ts +25 -0
- package/lib/types/skills/playbook.d.ts.map +1 -0
- package/lib/types/skills/playbook.test.d.ts.map +1 -0
- package/lib/types/tools/game.d.ts +25 -0
- package/lib/types/tools/game.d.ts.map +1 -0
- package/lib/types/tools/game.test.d.ts.map +1 -0
- package/lib/types/tools/index.d.ts +5 -0
- package/lib/types/tools/index.d.ts.map +1 -1
- package/lib/vendor/crowdyjs-sdk.js +50 -10
- package/lib/vendor/crowdyjs-sdk.version.json +1 -1
- package/package.json +25 -9
- package/presets/crowdy/agent.cordis.yml +1 -0
- package/presets/crowdy-game/agent.cordis.yml +143 -0
- package/presets/crowdy-game/preset.yml +3 -0
- package/profile/crowdy-node.patch.yml +3 -0
- package/profile/crowdy-web.patch.yml +10 -3
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filesystem plugin: mounts the backend this boot's editor needs, so exactly
|
|
3
|
+
* one `ctx.fs` exists. `studioMode: 'game'` in `crowdy.json` mounts the bound
|
|
4
|
+
* game repository's draft (the page owns it); anything else mounts the mod
|
|
5
|
+
* crates of the open Crowdy Studio project.
|
|
6
|
+
*
|
|
7
|
+
* @module @crowdedkingdoms/crowdy-dsh/fs
|
|
8
|
+
*/
|
|
9
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
10
|
+
import CrowdyFileSystem, { type Config as ModConfig } from './crowdy-file-system.js';
|
|
11
|
+
import GameFileSystem, { type Config as GameConfig } from './game-file-system.js';
|
|
12
|
+
export declare const name = "crowdy-fs";
|
|
13
|
+
export type Config = ModConfig & GameConfig;
|
|
14
|
+
export declare function apply(ctx: Context, config?: Config): Promise<void>;
|
|
15
|
+
export { CrowdyFileSystem, GameFileSystem };
|
|
16
|
+
declare const _default: {
|
|
17
|
+
name: string;
|
|
18
|
+
apply: typeof apply;
|
|
19
|
+
};
|
|
20
|
+
export default _default;
|
|
21
|
+
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/fs/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,gBAAgB,EAAE,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,cAAc,EAAE,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEjF,eAAO,MAAM,IAAI,cAAc,CAAA;AAE/B,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;AAE3C,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5E;AAED,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAA;;;;;AAC3C,wBAA8B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Game filesystem backend: the page's draft of the bound game repository.
|
|
3
|
+
*
|
|
4
|
+
* The page owns the draft (CrowdyJS `DraftStore`). This backend keeps a
|
|
5
|
+
* snapshot of it, path -> git blob id, from `draft.tree`, and follows every
|
|
6
|
+
* change through `page.draftChanged`; file text is fetched with `draft.read`
|
|
7
|
+
* in batches and cached by blob id, which never changes meaning. Versions are
|
|
8
|
+
* those blob ids, so listing, stat and read always agree. Writes carry the
|
|
9
|
+
* harness's own guarded-write intent to the page (`createIfAbsent` /
|
|
10
|
+
* `ifHash`), so an edit made on the page since the model read a file is a
|
|
11
|
+
* stale write here, never a silent overwrite. Nothing here commits: a write
|
|
12
|
+
* changes the draft, and `commit_game_files` asks the player.
|
|
13
|
+
*/
|
|
14
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
15
|
+
import z from '@deepseek-ai/schemastery';
|
|
16
|
+
import { FileSystem, FsVersion } from '@deepseek-ai/dsh-fs';
|
|
17
|
+
import type { FsDirEntry, FsEditOutcome, FsEditRequest, FsInfo, FsPathInfo, FsTarget, FsWriteIntent, FsWriteOutcome } from '@deepseek-ai/dsh-fs';
|
|
18
|
+
import { type DraftChangedPayload } from '../bridge/protocol.js';
|
|
19
|
+
import { type CrowdyBootConfig } from '../crowdy/config.js';
|
|
20
|
+
import { ScratchStore } from './scratch-store.js';
|
|
21
|
+
import type { StudioFileSystem } from './studio-fs.js';
|
|
22
|
+
export interface Config {
|
|
23
|
+
root?: string;
|
|
24
|
+
/** How long the first read waits for the page to say hello. */
|
|
25
|
+
pageWaitMs?: number;
|
|
26
|
+
}
|
|
27
|
+
export declare class GameFileSystem extends FileSystem implements StudioFileSystem {
|
|
28
|
+
static inject: string[];
|
|
29
|
+
static Config: z<Config>;
|
|
30
|
+
readonly studioMode: "game";
|
|
31
|
+
boot: CrowdyBootConfig;
|
|
32
|
+
readonly scratch: ScratchStore;
|
|
33
|
+
private readonly root;
|
|
34
|
+
private readonly pageWaitMs;
|
|
35
|
+
private readonly client;
|
|
36
|
+
private entries;
|
|
37
|
+
private deleted;
|
|
38
|
+
private baseCommitSha;
|
|
39
|
+
private revision;
|
|
40
|
+
private loaded;
|
|
41
|
+
/** Blob id -> text. */
|
|
42
|
+
private readonly text;
|
|
43
|
+
private readonly warnings;
|
|
44
|
+
private readonly warningListeners;
|
|
45
|
+
constructor(ctx: Context, config?: Config);
|
|
46
|
+
get mountRoot(): string;
|
|
47
|
+
get storeReason(): string | undefined;
|
|
48
|
+
setProject(projectId: string): void;
|
|
49
|
+
/** The game backend holds no token; the bridge publishes it for the model route. */
|
|
50
|
+
setToken(_token: string | undefined): void;
|
|
51
|
+
invalidate(): void;
|
|
52
|
+
applyDraftChange(change: DraftChangedPayload): void;
|
|
53
|
+
onChange(_listener: (change: {
|
|
54
|
+
target: 'SERVER' | 'CLIENT';
|
|
55
|
+
path: string;
|
|
56
|
+
}) => void): () => void;
|
|
57
|
+
onWarning(listener: (message: string) => void): () => void;
|
|
58
|
+
drainWarnings(): string[];
|
|
59
|
+
searchSnapshot(): Promise<{
|
|
60
|
+
root: string;
|
|
61
|
+
files: Array<{
|
|
62
|
+
virtualPath: string;
|
|
63
|
+
content: string;
|
|
64
|
+
}>;
|
|
65
|
+
}>;
|
|
66
|
+
resolve(path: string, opts?: {
|
|
67
|
+
cwd?: string;
|
|
68
|
+
signal?: AbortSignal;
|
|
69
|
+
}): Promise<FsTarget>;
|
|
70
|
+
processPath(target: FsTarget): string;
|
|
71
|
+
fileUrl(target: FsTarget): string;
|
|
72
|
+
contains(parent: FsTarget, child: FsTarget): boolean;
|
|
73
|
+
stat(target: FsTarget, signal?: AbortSignal): Promise<FsInfo | undefined>;
|
|
74
|
+
lstat(path: string, opts?: {
|
|
75
|
+
cwd?: string;
|
|
76
|
+
}, signal?: AbortSignal): Promise<FsPathInfo | undefined>;
|
|
77
|
+
readText(target: FsTarget, signal?: AbortSignal): Promise<string>;
|
|
78
|
+
streamText(target: FsTarget, signal?: AbortSignal): Promise<AsyncIterable<string>>;
|
|
79
|
+
readBytes(target: FsTarget, signal: AbortSignal | undefined, maxBytes: number): Promise<Uint8Array>;
|
|
80
|
+
readByteRange(target: FsTarget, range: {
|
|
81
|
+
offset: number;
|
|
82
|
+
length: number;
|
|
83
|
+
}, signal?: AbortSignal): Promise<Uint8Array>;
|
|
84
|
+
listDir(target: FsTarget, signal?: AbortSignal): Promise<FsDirEntry[]>;
|
|
85
|
+
writeText(target: FsTarget, content: string, expected?: FsWriteIntent, signal?: AbortSignal): Promise<FsWriteOutcome>;
|
|
86
|
+
editText(target: FsTarget, edit: FsEditRequest, expected?: {
|
|
87
|
+
version: FsVersion;
|
|
88
|
+
}, signal?: AbortSignal): Promise<FsEditOutcome>;
|
|
89
|
+
private ensureLoaded;
|
|
90
|
+
private loadTree;
|
|
91
|
+
private readRepoText;
|
|
92
|
+
/** Text of `paths` from the cache by blob id, fetching the rest in batches. */
|
|
93
|
+
private readMany;
|
|
94
|
+
private bytesOf;
|
|
95
|
+
/** undefined: not a scratch path; null: a scratch path with no file. */
|
|
96
|
+
private scratchFile;
|
|
97
|
+
private requireWritable;
|
|
98
|
+
private asFsError;
|
|
99
|
+
private relativeOrNull;
|
|
100
|
+
private relative;
|
|
101
|
+
private absolute;
|
|
102
|
+
private baseFor;
|
|
103
|
+
private warn;
|
|
104
|
+
private assertLive;
|
|
105
|
+
}
|
|
106
|
+
export default GameFileSystem;
|
|
107
|
+
//# sourceMappingURL=game-file-system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-file-system.d.ts","sourceRoot":"","sources":["../../../src/fs/game-file-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-file-system.test.d.ts","sourceRoot":"","sources":["../../../src/fs/game-file-system.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the bridge, the search tools and the Studio tools need from whichever
|
|
3
|
+
* filesystem backend this boot mounted: the mod crates
|
|
4
|
+
* (`CrowdyFileSystem`) or the game draft (`GameFileSystem`).
|
|
5
|
+
*/
|
|
6
|
+
import type { CrowdyBootConfig } from '../crowdy/config.js';
|
|
7
|
+
import type { DraftChangedPayload } from '../bridge/protocol.js';
|
|
8
|
+
import type { ScratchStore } from './scratch-store.js';
|
|
9
|
+
export interface StudioFileSystem {
|
|
10
|
+
/** Which editor this backend serves. */
|
|
11
|
+
readonly studioMode: 'mod' | 'game';
|
|
12
|
+
readonly boot: CrowdyBootConfig;
|
|
13
|
+
readonly scratch: ScratchStore;
|
|
14
|
+
/** Virtual root the project or repository is mounted at. */
|
|
15
|
+
readonly mountRoot: string;
|
|
16
|
+
/** Where files come from, for the page's status line; undefined until known. */
|
|
17
|
+
readonly storeReason: string | undefined;
|
|
18
|
+
/** The page switched projects. */
|
|
19
|
+
setProject(projectId: string): void;
|
|
20
|
+
/** The page handed over (or refreshed) the app token. */
|
|
21
|
+
setToken(token: string | undefined): void;
|
|
22
|
+
/** Cached content may be behind the page; reload on next use. */
|
|
23
|
+
invalidate(): void;
|
|
24
|
+
/** Game editor: the page's draft changed. The mod backend ignores it. */
|
|
25
|
+
applyDraftChange(change: DraftChangedPayload): void;
|
|
26
|
+
onChange(listener: (change: {
|
|
27
|
+
target: 'SERVER' | 'CLIENT';
|
|
28
|
+
path: string;
|
|
29
|
+
}) => void): () => void;
|
|
30
|
+
onWarning(listener: (message: string) => void): () => void;
|
|
31
|
+
drainWarnings(): string[];
|
|
32
|
+
/** Every text file the in-memory glob/grep may search. */
|
|
33
|
+
searchSnapshot(): Promise<{
|
|
34
|
+
root: string;
|
|
35
|
+
files: Array<{
|
|
36
|
+
virtualPath: string;
|
|
37
|
+
content: string;
|
|
38
|
+
}>;
|
|
39
|
+
}>;
|
|
40
|
+
}
|
|
41
|
+
export declare function isStudioFileSystem(value: unknown): value is StudioFileSystem;
|
|
42
|
+
//# sourceMappingURL=studio-fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-fs.d.ts","sourceRoot":"","sources":["../../../src/fs/studio-fs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,MAAM,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,kCAAkC;IAClC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC,iEAAiE;IACjE,UAAU,IAAI,IAAI,CAAA;IAClB,yEAAyE;IACzE,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;IACnD,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC/F,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC1D,aAAa,IAAI,MAAM,EAAE,CAAA;IACzB,0DAA0D;IAC1D,cAAc,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAA;CACpG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAS5E"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export { CrowdyFileSystem, default, versionOf } from './fs/crowdy-file-system.js';
|
|
10
10
|
export type { Config } from './fs/crowdy-file-system.js';
|
|
11
|
+
export { GameFileSystem } from './fs/game-file-system.js';
|
|
12
|
+
export { isStudioFileSystem } from './fs/studio-fs.js';
|
|
13
|
+
export type { StudioFileSystem } from './fs/studio-fs.js';
|
|
11
14
|
export { ScratchStore } from './fs/scratch-store.js';
|
|
12
15
|
export { CrowdyApiError, CrowdyStudioClient } from './crowdy/client.js';
|
|
13
16
|
export type { CrowdyFileDelete, CrowdyFileUpsert, CrowdyProject, CrowdyProjectFile, CrowdyProjectGitHub, CrowdyProjectSource, CrowdyTarget, } from './crowdy/client.js';
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACjF,YAAY,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC9F,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACrH,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACjF,YAAY,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvE,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC9F,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACrH,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE9E,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-tools.d.ts","sourceRoot":"","sources":["../../../src/search/search-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAaxC,MAAM,WAAW,MAAM;IACrB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,qDAAqD;AACrD,eAAO,MAAM,IAAI,0BAA0B,CAAA;AAE3C,yDAAyD;AACzD,eAAO,MAAM,MAAM,UAAkC,CAAA;AAErD,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAIH,CAAA;AAE1B,yEAAyE;AACzE,MAAM,WAAW,UAAU;IACzB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CASxF;AAkBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAWV;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOlE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,YAAY,EAAE,MAAM,GACnB,SAAS,EAAE,CAkCb;AAOD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAYvE;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAU1F;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOrF;
|
|
1
|
+
{"version":3,"file":"search-tools.d.ts","sourceRoot":"","sources":["../../../src/search/search-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAaxC,MAAM,WAAW,MAAM;IACrB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,qDAAqD;AACrD,eAAO,MAAM,IAAI,0BAA0B,CAAA;AAE3C,yDAAyD;AACzD,eAAO,MAAM,MAAM,UAAkC,CAAA;AAErD,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAIH,CAAA;AAE1B,yEAAyE;AACzE,MAAM,WAAW,UAAU;IACzB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CASxF;AAkBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAWV;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOlE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,YAAY,EAAE,MAAM,GACnB,SAAS,EAAE,CAkCb;AAOD,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAYvE;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAU1F;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAOrF;AAmED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8KvE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The game's skills, as an upstream skill provider registered by the
|
|
3
|
+
* `crowdy-game` preset. The page lists them from the game's playbook
|
|
4
|
+
* (`studio.listSkills` reads `<playbookBase>skills/index.json`) and serves
|
|
5
|
+
* each body as a playbook page (`studio.readPlaybook`), so the harness names
|
|
6
|
+
* no game and fetches nothing itself: a game that ships no playbook simply
|
|
7
|
+
* has no skills here.
|
|
8
|
+
*
|
|
9
|
+
* @module @crowdedkingdoms/crowdy-dsh/playbook-skills
|
|
10
|
+
*/
|
|
11
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
12
|
+
import type { SkillProvider } from '@deepseek-ai/dsh-skill';
|
|
13
|
+
import type { CrowdyBridge } from '../bridge/index.js';
|
|
14
|
+
export declare const name = "crowdy-playbook-skills";
|
|
15
|
+
export declare const inject: string[];
|
|
16
|
+
/** The provider; exported for tests. */
|
|
17
|
+
export declare function playbookSkillProvider(bridge: Pick<CrowdyBridge, 'client'>): SkillProvider;
|
|
18
|
+
export declare function apply(ctx: Context): void;
|
|
19
|
+
declare const _default: {
|
|
20
|
+
name: string;
|
|
21
|
+
inject: string[];
|
|
22
|
+
apply: typeof apply;
|
|
23
|
+
};
|
|
24
|
+
export default _default;
|
|
25
|
+
//# sourceMappingURL=playbook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook.d.ts","sourceRoot":"","sources":["../../../src/skills/playbook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAuD,aAAa,EAA4B,MAAM,wBAAwB,CAAA;AAE1I,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAItD,eAAO,MAAM,IAAI,2BAA2B,CAAA;AAC5C,eAAO,MAAM,MAAM,UAA6B,CAAA;AAMhD,wCAAwC;AACxC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,aAAa,CAqDzF;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAExC;;;;;;AAED,wBAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playbook.test.d.ts","sourceRoot":"","sources":["../../../src/skills/playbook.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Game editor tools, registered by the `crowdy-game` preset. File edits go
|
|
3
|
+
* through the game filesystem into the page's draft; these tools publish the
|
|
4
|
+
* draft, ask whether the world took it, and read the game's playbook.
|
|
5
|
+
*
|
|
6
|
+
* @module @crowdedkingdoms/crowdy-dsh/game-tools
|
|
7
|
+
*/
|
|
8
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
9
|
+
import z from '@deepseek-ai/schemastery';
|
|
10
|
+
export interface Config {
|
|
11
|
+
/** Deadline for a commit, the player's confirmation included, in milliseconds. */
|
|
12
|
+
commitTimeoutMs?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const name = "crowdy-game-tools";
|
|
15
|
+
export declare const inject: string[];
|
|
16
|
+
export declare const Config: z<Config>;
|
|
17
|
+
export declare function apply(ctx: Context, config?: Config): Promise<void>;
|
|
18
|
+
declare const _default: {
|
|
19
|
+
name: string;
|
|
20
|
+
inject: string[];
|
|
21
|
+
Config: z<Config>;
|
|
22
|
+
apply: typeof apply;
|
|
23
|
+
};
|
|
24
|
+
export default _default;
|
|
25
|
+
//# sourceMappingURL=game.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/tools/game.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAYxC,MAAM,WAAW,MAAM;IACrB,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,IAAI,sBAAsB,CAAA;AACvC,eAAO,MAAM,MAAM,UAA4B,CAAA;AAE/C,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAEH,CAAA;AA4B1B,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+H5E;;;;;;;AAED,wBAA8C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game.test.d.ts","sourceRoot":"","sources":["../../../src/tools/game.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -18,6 +18,11 @@ export interface Config {
|
|
|
18
18
|
screenshotTimeoutMs?: number;
|
|
19
19
|
/** Take a screenshot automatically after a draft test that started the client target. */
|
|
20
20
|
autoScreenshot?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Register only these tools. The game editor's preset reuses the page tools
|
|
23
|
+
* (screenshot, game_observe, client_logs) without the mod build tools.
|
|
24
|
+
*/
|
|
25
|
+
only?: string[];
|
|
21
26
|
}
|
|
22
27
|
/** Cordis plugin name used by loader diagnostics. */
|
|
23
28
|
export declare const name = "crowdy-tools";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAaxC,MAAM,WAAW,MAAM;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAaxC,MAAM,WAAW,MAAM;IACrB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kDAAkD;IAClD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,qDAAqD;AACrD,eAAO,MAAM,IAAI,iBAAiB,CAAA;AAElC,eAAO,MAAM,MAAM,UAAkC,CAAA;AAErD,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAKH,CAAA;AAoD1B,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+Y5E"}
|
|
@@ -5214,6 +5214,11 @@ var CrowdyStudioGitHubBindInitial;
|
|
|
5214
5214
|
CrowdyStudioGitHubBindInitial2["PushProject"] = "PUSH_PROJECT";
|
|
5215
5215
|
CrowdyStudioGitHubBindInitial2["TakeRepository"] = "TAKE_REPOSITORY";
|
|
5216
5216
|
})(CrowdyStudioGitHubBindInitial || (CrowdyStudioGitHubBindInitial = {}));
|
|
5217
|
+
var CrowdyStudioGitHubLayoutKind;
|
|
5218
|
+
(function(CrowdyStudioGitHubLayoutKind2) {
|
|
5219
|
+
CrowdyStudioGitHubLayoutKind2["ConstructGame"] = "CONSTRUCT_GAME";
|
|
5220
|
+
CrowdyStudioGitHubLayoutKind2["StudioCrates"] = "STUDIO_CRATES";
|
|
5221
|
+
})(CrowdyStudioGitHubLayoutKind || (CrowdyStudioGitHubLayoutKind = {}));
|
|
5217
5222
|
var CrowdyStudioImportSource;
|
|
5218
5223
|
(function(CrowdyStudioImportSource2) {
|
|
5219
5224
|
CrowdyStudioImportSource2["Common"] = "COMMON";
|
|
@@ -5495,7 +5500,7 @@ var ExecConnectDocument = { "kind": "Document", "definitions": [{ "kind": "Opera
|
|
|
5495
5500
|
var ExecDeployDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "ExecDeploy" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "ExecDeployInput" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execDeploy" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "input" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "input" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "version" } }] } }] } }] };
|
|
5496
5501
|
var ExecConnectAsDeveloperDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "ExecConnectAsDeveloper" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "nodeType" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "key" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execConnectAsDeveloper" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "nodeType" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "nodeType" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "key" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "key" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "gatewayUrl" } }, { "kind": "Field", "name": { "kind": "Name", "value": "token" } }, { "kind": "Field", "name": { "kind": "Name", "value": "host" } }, { "kind": "Field", "name": { "kind": "Name", "value": "expiresAt" } }] } }] } }] };
|
|
5497
5502
|
var ExecLogsDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "ExecLogs" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "nodeType" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "key" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "maxLevel" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "Int" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "before" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "limit" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "Int" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "flow" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execLogs" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "nodeType" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "nodeType" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "key" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "key" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "maxLevel" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "maxLevel" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "before" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "before" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "limit" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "limit" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "flow" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "flow" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "nodeType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "key" } }, { "kind": "Field", "name": { "kind": "Name", "value": "level" } }, { "kind": "Field", "name": { "kind": "Name", "value": "host" } }, { "kind": "Field", "name": { "kind": "Name", "value": "at" } }, { "kind": "Field", "name": { "kind": "Name", "value": "text" } }, { "kind": "Field", "name": { "kind": "Name", "value": "flow" } }] } }] } }] };
|
|
5498
|
-
var ExecInstancesDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "ExecInstances" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execInstances" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "instanceId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "nodeType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "key" } }, { "kind": "Field", "name": { "kind": "Name", "value": "kind" } }, { "kind": "Field", "name": { "kind": "Name", "value": "phase" } }, { "kind": "Field", "name": { "kind": "Name", "value": "host" } }, { "kind": "Field", "name": { "kind": "Name", "value": "epoch" } }, { "kind": "Field", "name": { "kind": "Name", "value": "sinceMs" } }, { "kind": "Field", "name": { "kind": "Name", "value": "heldBack" } }] } }] } }] };
|
|
5503
|
+
var ExecInstancesDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "ExecInstances" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execInstances" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "instanceId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "nodeType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "key" } }, { "kind": "Field", "name": { "kind": "Name", "value": "kind" } }, { "kind": "Field", "name": { "kind": "Name", "value": "phase" } }, { "kind": "Field", "name": { "kind": "Name", "value": "host" } }, { "kind": "Field", "name": { "kind": "Name", "value": "epoch" } }, { "kind": "Field", "name": { "kind": "Name", "value": "sinceMs" } }, { "kind": "Field", "name": { "kind": "Name", "value": "heldBack" } }, { "kind": "Field", "name": { "kind": "Name", "value": "orphaned" } }] } }] } }] };
|
|
5499
5504
|
var ExecVersionsDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "ExecVersions" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execVersions" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "version" } }, { "kind": "Field", "name": { "kind": "Name", "value": "createdBy" } }, { "kind": "Field", "name": { "kind": "Name", "value": "createdAt" } }, { "kind": "Field", "name": { "kind": "Name", "value": "types" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "manifestJson" } }] } }] } }] };
|
|
5500
5505
|
var ExecEndpointStatsDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "ExecEndpointStats" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "nodeType" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "String" } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "sinceMinutes" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "Int" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execEndpointStats" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "nodeType" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "nodeType" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "sinceMinutes" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "sinceMinutes" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "nodeType" } }, { "kind": "Field", "name": { "kind": "Name", "value": "method" } }, { "kind": "Field", "name": { "kind": "Name", "value": "calls" } }, { "kind": "Field", "name": { "kind": "Name", "value": "appErrors" } }, { "kind": "Field", "name": { "kind": "Name", "value": "busy" } }, { "kind": "Field", "name": { "kind": "Name", "value": "denied" } }, { "kind": "Field", "name": { "kind": "Name", "value": "deadlineExceeded" } }, { "kind": "Field", "name": { "kind": "Name", "value": "otherErrors" } }, { "kind": "Field", "name": { "kind": "Name", "value": "timedCalls" } }, { "kind": "Field", "name": { "kind": "Name", "value": "latencyMsAvg" } }, { "kind": "Field", "name": { "kind": "Name", "value": "latencyMsMax" } }, { "kind": "Field", "name": { "kind": "Name", "value": "firstMinute" } }, { "kind": "Field", "name": { "kind": "Name", "value": "lastMinute" } }] } }] } }] };
|
|
5501
5506
|
var ExecAppStatusDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "ExecAppStatus" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "BigInt" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "execAppStatus" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "appId" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "appId" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "FragmentSpread", "name": { "kind": "Name", "value": "ExecAppStatusFields" } }] } }] } }, { "kind": "FragmentDefinition", "name": { "kind": "Name", "value": "ExecAppStatusFields" }, "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ExecAppStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "activeVersion" } }, { "kind": "Field", "name": { "kind": "Name", "value": "disabled" } }, { "kind": "Field", "name": { "kind": "Name", "value": "disabledTypes" } }, { "kind": "Field", "name": { "kind": "Name", "value": "budgetPaused" } }, { "kind": "Field", "name": { "kind": "Name", "value": "budgetPauseReason" } }, { "kind": "Field", "name": { "kind": "Name", "value": "maxInstances" } }, { "kind": "Field", "name": { "kind": "Name", "value": "maxReservedMb" } }, { "kind": "Field", "name": { "kind": "Name", "value": "instanceLimit" } }, { "kind": "Field", "name": { "kind": "Name", "value": "instances" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reservedMb" } }] } }] };
|
|
@@ -10055,8 +10060,10 @@ var ExecAPI = class {
|
|
|
10055
10060
|
return strip(data.execAppStatus);
|
|
10056
10061
|
}
|
|
10057
10062
|
/**
|
|
10058
|
-
* Makes an earlier version active again, a rollback
|
|
10059
|
-
* next start
|
|
10063
|
+
* Makes an earlier version active again, a rollback. As after a deploy, instances of the
|
|
10064
|
+
* types it keeps pick it up when they next start, and those of a type it lacks are
|
|
10065
|
+
* persisted and stopped at once; a type it lacks leaves the switched-off list. Requires
|
|
10066
|
+
* `manage_compute`.
|
|
10060
10067
|
*/
|
|
10061
10068
|
async activateVersion(appId, version) {
|
|
10062
10069
|
const data = await this.graphql.request(ExecActivateVersionDocument, { appId, version });
|
|
@@ -10064,8 +10071,9 @@ var ExecAPI = class {
|
|
|
10064
10071
|
}
|
|
10065
10072
|
/**
|
|
10066
10073
|
* The kill switch, for the whole app or one node type. Off: nothing of it is placed,
|
|
10067
|
-
* what runs is persisted and stopped, and calls are refused with `Denied`.
|
|
10068
|
-
*
|
|
10074
|
+
* what runs is persisted and stopped, and calls are refused with `Denied`. A type's switch
|
|
10075
|
+
* lasts while the active version deploys the type: a deploy or a rollback that drops the
|
|
10076
|
+
* type drops its switch. Requires `manage_compute`.
|
|
10069
10077
|
*/
|
|
10070
10078
|
async setEnabled(appId, enabled, nodeType) {
|
|
10071
10079
|
const data = await this.graphql.request(ExecSetEnabledDocument, { appId, enabled, nodeType });
|
|
@@ -10074,8 +10082,9 @@ var ExecAPI = class {
|
|
|
10074
10082
|
/**
|
|
10075
10083
|
* Moves one node type's running instances to the app's active version: each is
|
|
10076
10084
|
* persisted and stopped, and starts again on the active version at its next
|
|
10077
|
-
* call. A deploy changes what NEW instances run
|
|
10078
|
-
*
|
|
10085
|
+
* call. A deploy changes what NEW instances run, and stops those of a type it drops
|
|
10086
|
+
* itself; this moves the running ones of a type it keeps without switching the type
|
|
10087
|
+
* off. Requires `manage_compute`.
|
|
10079
10088
|
*
|
|
10080
10089
|
* @returns The node type and how many instances were stopped.
|
|
10081
10090
|
*/
|
|
@@ -10427,8 +10436,10 @@ var ExecAPI = class {
|
|
|
10427
10436
|
/**
|
|
10428
10437
|
* Deploys a new version of the app's nodes and makes it active: the manifest, and
|
|
10429
10438
|
* each distinct module once. A type gives its module as `wasm`, or names a `crate` of
|
|
10430
|
-
* `buildId`, whose modules the platform already holds. Running instances
|
|
10431
|
-
* when they next start
|
|
10439
|
+
* `buildId`, whose modules the platform already holds. Running instances of the types
|
|
10440
|
+
* it keeps pick it up when they next start; those of a type it drops are persisted and
|
|
10441
|
+
* stopped at once, and the type leaves the switched-off list. Requires the org
|
|
10442
|
+
* `manage_compute` permission.
|
|
10432
10443
|
*/
|
|
10433
10444
|
async deploy(options) {
|
|
10434
10445
|
const types = {};
|
|
@@ -18103,7 +18114,17 @@ var REFRESH = `
|
|
|
18103
18114
|
`;
|
|
18104
18115
|
var LAYOUT = `
|
|
18105
18116
|
query CrowdyStudioGitHubLayout($input: CrowdyStudioGitHubAtCommitInput!) {
|
|
18106
|
-
crowdyStudioGitHubLayout(input: $input) { commitSha server client assets fromFile }
|
|
18117
|
+
crowdyStudioGitHubLayout(input: $input) { commitSha server client assets fromFile kind }
|
|
18118
|
+
}
|
|
18119
|
+
`;
|
|
18120
|
+
var FILES = `
|
|
18121
|
+
query CrowdyStudioGitHubFiles($input: CrowdyStudioGitHubFilesInput!) {
|
|
18122
|
+
crowdyStudioGitHubFiles(input: $input) { commitSha missing files { path sha size binary content } }
|
|
18123
|
+
}
|
|
18124
|
+
`;
|
|
18125
|
+
var COMMIT_FILES = `
|
|
18126
|
+
mutation CrowdyStudioGitHubCommitFiles($input: CrowdyStudioGitHubCommitFilesInput!) {
|
|
18127
|
+
crowdyStudioGitHubCommitFiles(input: $input) { commitSha parentSha written deleted }
|
|
18107
18128
|
}
|
|
18108
18129
|
`;
|
|
18109
18130
|
var TREE = `
|
|
@@ -18193,6 +18214,25 @@ var CrowdyStudioGitHubTransport = class {
|
|
|
18193
18214
|
});
|
|
18194
18215
|
return data.crowdyStudioGitHubPutFile;
|
|
18195
18216
|
}
|
|
18217
|
+
/**
|
|
18218
|
+
* Up to 100 files at one commit (default: the mirror commit) for one
|
|
18219
|
+
* operation against the per-user GitHub budget. Paths that are not files
|
|
18220
|
+
* there come back in `missing`; binary or oversize blobs with `content: null`.
|
|
18221
|
+
*/
|
|
18222
|
+
async getFiles(input) {
|
|
18223
|
+
const data = await this.graphql.query(FILES, { input });
|
|
18224
|
+
return data.crowdyStudioGitHubFiles;
|
|
18225
|
+
}
|
|
18226
|
+
/**
|
|
18227
|
+
* Up to 100 writes and deletions as ONE commit on top of `expectedCommitSha`
|
|
18228
|
+
* (the project's `github.sha`). A moved project or branch is refused with
|
|
18229
|
+
* GITHUB_STALE_SHA and nothing is written; the returned `commitSha` is the new
|
|
18230
|
+
* `github.sha`.
|
|
18231
|
+
*/
|
|
18232
|
+
async commitFiles(input) {
|
|
18233
|
+
const data = await this.graphql.query(COMMIT_FILES, { input });
|
|
18234
|
+
return data.crowdyStudioGitHubCommitFiles;
|
|
18235
|
+
}
|
|
18196
18236
|
/** Delete one file from the bound branch under the same guards as {@link putFile}. */
|
|
18197
18237
|
async deleteFile(input) {
|
|
18198
18238
|
const data = await this.graphql.query(DELETE_FILE, { input });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crowdedkingdoms/crowdy-dsh",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1-dev.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -22,8 +22,12 @@
|
|
|
22
22
|
"default": "./lib/index.js"
|
|
23
23
|
},
|
|
24
24
|
"./fs": {
|
|
25
|
-
"types": "./lib/types/fs/
|
|
26
|
-
"default": "./lib/fs/
|
|
25
|
+
"types": "./lib/types/fs/entry.d.ts",
|
|
26
|
+
"default": "./lib/fs/entry.js"
|
|
27
|
+
},
|
|
28
|
+
"./bridge-client": {
|
|
29
|
+
"types": "./lib/types/bridge/client-service.d.ts",
|
|
30
|
+
"default": "./lib/bridge/client-service.js"
|
|
27
31
|
},
|
|
28
32
|
"./search": {
|
|
29
33
|
"types": "./lib/types/search/search-tools.d.ts",
|
|
@@ -37,6 +41,14 @@
|
|
|
37
41
|
"types": "./lib/types/tools/index.d.ts",
|
|
38
42
|
"default": "./lib/tools/index.js"
|
|
39
43
|
},
|
|
44
|
+
"./game-tools": {
|
|
45
|
+
"types": "./lib/types/tools/game.d.ts",
|
|
46
|
+
"default": "./lib/tools/game.js"
|
|
47
|
+
},
|
|
48
|
+
"./playbook-skills": {
|
|
49
|
+
"types": "./lib/types/skills/playbook.d.ts",
|
|
50
|
+
"default": "./lib/skills/playbook.js"
|
|
51
|
+
},
|
|
40
52
|
"./attachments": {
|
|
41
53
|
"types": "./lib/types/attachments/crowdy-attachment-store.d.ts",
|
|
42
54
|
"default": "./lib/attachments/crowdy-attachment-store.js"
|
|
@@ -66,7 +78,8 @@
|
|
|
66
78
|
"@deepseek-ai/dsh-llm": "*",
|
|
67
79
|
"@deepseek-ai/dsh-tools": "*",
|
|
68
80
|
"@deepseek-ai/dsh-user-approval": "*",
|
|
69
|
-
"@deepseek-ai/schemastery": "*"
|
|
81
|
+
"@deepseek-ai/schemastery": "*",
|
|
82
|
+
"@deepseek-ai/dsh-skill": "*"
|
|
70
83
|
},
|
|
71
84
|
"peerDependenciesMeta": {
|
|
72
85
|
"@deepseek-ai/cordis": {
|
|
@@ -89,16 +102,19 @@
|
|
|
89
102
|
},
|
|
90
103
|
"@deepseek-ai/schemastery": {
|
|
91
104
|
"optional": true
|
|
105
|
+
},
|
|
106
|
+
"@deepseek-ai/dsh-skill": {
|
|
107
|
+
"optional": true
|
|
92
108
|
}
|
|
93
109
|
},
|
|
94
110
|
"crowdyDsh": {
|
|
95
111
|
"build": {
|
|
96
112
|
"package": "@crowdedkingdoms/crowdy-dsh",
|
|
97
|
-
"version": "0.
|
|
98
|
-
"builtAt": "2026-10-
|
|
113
|
+
"version": "0.5.1",
|
|
114
|
+
"builtAt": "2026-10-30T01:05:53.106Z",
|
|
99
115
|
"source": {
|
|
100
116
|
"repository": "CrowdedKingdoms/crowdy-dsh",
|
|
101
|
-
"commit": "
|
|
117
|
+
"commit": "49abf09223d4718ced71f85e22ff2d9cccd13a5c",
|
|
102
118
|
"dirty": false
|
|
103
119
|
},
|
|
104
120
|
"upstream": {
|
|
@@ -109,7 +125,7 @@
|
|
|
109
125
|
},
|
|
110
126
|
"crowdyjs": {
|
|
111
127
|
"name": "@crowdedkingdoms/crowdyjs",
|
|
112
|
-
"version": "18.
|
|
128
|
+
"version": "18.23.1-dev.1",
|
|
113
129
|
"source": "node_modules"
|
|
114
130
|
},
|
|
115
131
|
"files": {
|
|
@@ -206,7 +222,7 @@
|
|
|
206
222
|
"manifest.webmanifest": "sha256:9b54d57eea00f2fdd1affe6e7999a4209a515755f12ac1a3299da2d55e178d4c",
|
|
207
223
|
"preview/bootstrap-CYECZNXt.js": "sha256:9f303a0485c0badfdd19fad0c357ef050c5b9a343744ab5bf0c70015e7d95092",
|
|
208
224
|
"preview/crowdy-boot-Cklh1qNl.js": "sha256:b21e8eb126e1cd8a52159d2d577e610df6c8af36a436f9ed5028cfabd11a85ff",
|
|
209
|
-
"preview/vfs-image.tar.gz": "sha256:
|
|
225
|
+
"preview/vfs-image.tar.gz": "sha256:1f7ea58f56f33bbb97db31be2fd556851f6948ace2e6320d49cca076d1d15f37",
|
|
210
226
|
"preview/worker-C8-_ANaz.js": "sha256:81099e5732dfe0c32bacd5897316b7956c5a0a22da01b4a0c6e21d0a3b9d9aa1"
|
|
211
227
|
}
|
|
212
228
|
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
# deliberately NOT through `ctx.fs`. The Crowdy
|
|
14
14
|
# search plugin registers the same names in memory.
|
|
15
15
|
# tool-jobs, skill-* — background jobs and skill discovery walk local roots.
|
|
16
|
+
# The game editor's preset (`crowdy-game`) has skills.
|
|
16
17
|
# tool-web — the platform's model endpoint forbids provider web
|
|
17
18
|
# plugins; the harness gets no browser either.
|
|
18
19
|
# delegation — subagents are a later cut (each one costs the
|