@your-world/cli 0.1.0
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 +52 -0
- package/dist/adapters/codex-adapter.d.ts +15 -0
- package/dist/adapters/codex-adapter.js +70 -0
- package/dist/adapters/codex-adapter.js.map +1 -0
- package/dist/adapters/external-agent-adapter.d.ts +33 -0
- package/dist/adapters/external-agent-adapter.js +3 -0
- package/dist/adapters/external-agent-adapter.js.map +1 -0
- package/dist/adapters/generic-command-adapter.d.ts +12 -0
- package/dist/adapters/generic-command-adapter.js +57 -0
- package/dist/adapters/generic-command-adapter.js.map +1 -0
- package/dist/cli/action-submit.d.ts +19 -0
- package/dist/cli/action-submit.js +169 -0
- package/dist/cli/action-submit.js.map +1 -0
- package/dist/cli/bin.d.ts +2 -0
- package/dist/cli/bin.js +267 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/catalog.d.ts +2 -0
- package/dist/cli/catalog.js +30 -0
- package/dist/cli/catalog.js.map +1 -0
- package/dist/cli/events.d.ts +2 -0
- package/dist/cli/events.js +22 -0
- package/dist/cli/events.js.map +1 -0
- package/dist/cli/observe.d.ts +2 -0
- package/dist/cli/observe.js +21 -0
- package/dist/cli/observe.js.map +1 -0
- package/dist/cli/play-init.d.ts +9 -0
- package/dist/cli/play-init.js +111 -0
- package/dist/cli/play-init.js.map +1 -0
- package/dist/cli/play-run.d.ts +2 -0
- package/dist/cli/play-run.js +28 -0
- package/dist/cli/play-run.js.map +1 -0
- package/dist/cli/play-status.d.ts +2 -0
- package/dist/cli/play-status.js +19 -0
- package/dist/cli/play-status.js.map +1 -0
- package/dist/cli/player-init.d.ts +9 -0
- package/dist/cli/player-init.js +38 -0
- package/dist/cli/player-init.js.map +1 -0
- package/dist/cli/rules.d.ts +2 -0
- package/dist/cli/rules.js +32 -0
- package/dist/cli/rules.js.map +1 -0
- package/dist/cli/shared.d.ts +27 -0
- package/dist/cli/shared.js +243 -0
- package/dist/cli/shared.js.map +1 -0
- package/dist/config/credential-store.d.ts +28 -0
- package/dist/config/credential-store.js +119 -0
- package/dist/config/credential-store.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +12 -0
- package/dist/logger.js +40 -0
- package/dist/logger.js.map +1 -0
- package/dist/prompting/agents-template.d.ts +6 -0
- package/dist/prompting/agents-template.js +60 -0
- package/dist/prompting/agents-template.js.map +1 -0
- package/dist/prompting/turn-summary.d.ts +2 -0
- package/dist/prompting/turn-summary.js +27 -0
- package/dist/prompting/turn-summary.js.map +1 -0
- package/dist/runtime/player-runtime.d.ts +34 -0
- package/dist/runtime/player-runtime.js +228 -0
- package/dist/runtime/player-runtime.js.map +1 -0
- package/dist/runtime/runtime-types.d.ts +71 -0
- package/dist/runtime/runtime-types.js +3 -0
- package/dist/runtime/runtime-types.js.map +1 -0
- package/dist/runtime/session-store.d.ts +37 -0
- package/dist/runtime/session-store.js +139 -0
- package/dist/runtime/session-store.js.map +1 -0
- package/dist/runtime/settlement-sync.d.ts +9 -0
- package/dist/runtime/settlement-sync.js +80 -0
- package/dist/runtime/settlement-sync.js.map +1 -0
- package/dist/runtime/turn-orchestrator.d.ts +10 -0
- package/dist/runtime/turn-orchestrator.js +43 -0
- package/dist/runtime/turn-orchestrator.js.map +1 -0
- package/dist/runtime/workspace-manager.d.ts +9 -0
- package/dist/runtime/workspace-manager.js +28 -0
- package/dist/runtime/workspace-manager.js.map +1 -0
- package/dist/types.d.ts +273 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/world-client.d.ts +31 -0
- package/dist/world-client.js +227 -0
- package/dist/world-client.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorldClient = exports.WorldClientError = void 0;
|
|
4
|
+
const DEFAULT_ROUTES = {
|
|
5
|
+
playerInit: '/player/init',
|
|
6
|
+
playerAgents: '/player/agents',
|
|
7
|
+
join: '/join',
|
|
8
|
+
observe: '/observe',
|
|
9
|
+
act: '/act',
|
|
10
|
+
nextTick: '/tick/next',
|
|
11
|
+
tickInfo: '/tick/info',
|
|
12
|
+
events: '/events',
|
|
13
|
+
catalog: '/tools/catalog',
|
|
14
|
+
rules: '/tools/rules',
|
|
15
|
+
};
|
|
16
|
+
class WorldClientError extends Error {
|
|
17
|
+
status;
|
|
18
|
+
code;
|
|
19
|
+
details;
|
|
20
|
+
constructor(message, status, code, details) {
|
|
21
|
+
super(message);
|
|
22
|
+
this.name = 'WorldClientError';
|
|
23
|
+
this.status = status;
|
|
24
|
+
this.code = code;
|
|
25
|
+
this.details = details;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.WorldClientError = WorldClientError;
|
|
29
|
+
class WorldClient {
|
|
30
|
+
baseUrl;
|
|
31
|
+
token;
|
|
32
|
+
fetchImpl;
|
|
33
|
+
routes;
|
|
34
|
+
_agentId;
|
|
35
|
+
constructor(options) {
|
|
36
|
+
this.baseUrl = stripTrailingSlash(options.baseUrl);
|
|
37
|
+
this.token = options.token;
|
|
38
|
+
this._agentId = options.agentId;
|
|
39
|
+
this.fetchImpl = options.fetchImpl ?? fetch;
|
|
40
|
+
this.routes = {
|
|
41
|
+
...DEFAULT_ROUTES,
|
|
42
|
+
...options.routes,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
get agentId() {
|
|
46
|
+
return this._agentId;
|
|
47
|
+
}
|
|
48
|
+
playerInit(input) {
|
|
49
|
+
return this.request('POST', this.routes.playerInit, input);
|
|
50
|
+
}
|
|
51
|
+
createPlayerAgent(playerCredential, input) {
|
|
52
|
+
return this.request('POST', this.routes.playerAgents, input, undefined, {
|
|
53
|
+
authorization: `Bearer ${playerCredential}`,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
async join(input = {}) {
|
|
57
|
+
const payload = {
|
|
58
|
+
...input,
|
|
59
|
+
agentId: input.agentId ?? this._agentId,
|
|
60
|
+
};
|
|
61
|
+
const response = await this.request('POST', this.routes.join, payload);
|
|
62
|
+
this._agentId = response.agentId;
|
|
63
|
+
return response;
|
|
64
|
+
}
|
|
65
|
+
observe(asOfTick) {
|
|
66
|
+
return this.request('GET', this.routes.observe, undefined, {
|
|
67
|
+
asOfTick,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
act(action) {
|
|
71
|
+
return this.request('POST', this.routes.act, action);
|
|
72
|
+
}
|
|
73
|
+
getTickInfo() {
|
|
74
|
+
return this.request('GET', this.routes.tickInfo);
|
|
75
|
+
}
|
|
76
|
+
getCatalog(params, options = {}) {
|
|
77
|
+
return this.conditionalRead(this.routes.catalog, params, options);
|
|
78
|
+
}
|
|
79
|
+
getRules(params, options = {}) {
|
|
80
|
+
return this.conditionalRead(this.routes.rules, params, options);
|
|
81
|
+
}
|
|
82
|
+
getEvents(afterTick = -1, limit = 200) {
|
|
83
|
+
return this.request('GET', this.routes.events, undefined, {
|
|
84
|
+
afterTick,
|
|
85
|
+
limit,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
nextTick(afterTick) {
|
|
89
|
+
return this.request('GET', this.routes.nextTick, undefined, {
|
|
90
|
+
afterTick,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async waitForNextTick(afterTick, pollIntervalMs = 1000, signal) {
|
|
94
|
+
while (true) {
|
|
95
|
+
if (signal?.aborted) {
|
|
96
|
+
throw new Error('Aborted while waiting for next tick.');
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
const signalPayload = await this.nextTick(afterTick);
|
|
100
|
+
if (signalPayload.tick > afterTick) {
|
|
101
|
+
return signalPayload;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
if (!(error instanceof WorldClientError) || (error.status !== 404 && error.status !== 405)) {
|
|
106
|
+
throw error;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const snapshot = await this.observe();
|
|
110
|
+
if (snapshot.tick > afterTick) {
|
|
111
|
+
return { tick: snapshot.tick };
|
|
112
|
+
}
|
|
113
|
+
await sleep(pollIntervalMs, signal);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async request(method, path, body, query, headers) {
|
|
117
|
+
const response = await this.requestRaw(method, path, body, {
|
|
118
|
+
query,
|
|
119
|
+
headers,
|
|
120
|
+
});
|
|
121
|
+
return (response.payload ?? {});
|
|
122
|
+
}
|
|
123
|
+
async conditionalRead(path, params, options) {
|
|
124
|
+
const query = { ...params };
|
|
125
|
+
if (options.version && query.version === undefined) {
|
|
126
|
+
query.version = options.version;
|
|
127
|
+
}
|
|
128
|
+
const headers = {};
|
|
129
|
+
if (options.etag) {
|
|
130
|
+
headers['if-none-match'] = options.etag;
|
|
131
|
+
}
|
|
132
|
+
const response = await this.requestRaw('GET', path, undefined, {
|
|
133
|
+
query,
|
|
134
|
+
headers,
|
|
135
|
+
allowStatuses: [304],
|
|
136
|
+
});
|
|
137
|
+
return {
|
|
138
|
+
status: response.status,
|
|
139
|
+
etag: response.headers.get('etag') ?? undefined,
|
|
140
|
+
version: response.headers.get('x-version') ?? undefined,
|
|
141
|
+
body: response.payload,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
async requestRaw(method, path, body, options = {}) {
|
|
145
|
+
const url = this.buildUrl(path, options.query);
|
|
146
|
+
const headers = {
|
|
147
|
+
...(options.headers ?? {}),
|
|
148
|
+
};
|
|
149
|
+
if (this._agentId) {
|
|
150
|
+
headers['x-agent-id'] = encodeAgentIdHeader(this._agentId);
|
|
151
|
+
}
|
|
152
|
+
if (this.token) {
|
|
153
|
+
headers.authorization = `Bearer ${this.token}`;
|
|
154
|
+
}
|
|
155
|
+
if (body !== undefined && headers['content-type'] === undefined) {
|
|
156
|
+
headers['content-type'] = 'application/json';
|
|
157
|
+
}
|
|
158
|
+
const response = await this.fetchImpl(url, {
|
|
159
|
+
method,
|
|
160
|
+
headers,
|
|
161
|
+
body: body === undefined ? undefined : JSON.stringify(body),
|
|
162
|
+
});
|
|
163
|
+
const text = await response.text();
|
|
164
|
+
const payload = text.length > 0 ? safeParseJson(text) : undefined;
|
|
165
|
+
const allowedStatus = options.allowStatuses?.includes(response.status) ?? false;
|
|
166
|
+
if (!response.ok && !allowedStatus) {
|
|
167
|
+
const errorPayload = isRecord(payload) ? payload : {};
|
|
168
|
+
const message = (typeof errorPayload.message === 'string' && errorPayload.message) || `Request failed: ${response.status}`;
|
|
169
|
+
throw new WorldClientError(message, response.status, typeof errorPayload.code === 'string' ? errorPayload.code : undefined, errorPayload.details);
|
|
170
|
+
}
|
|
171
|
+
return {
|
|
172
|
+
status: response.status,
|
|
173
|
+
headers: response.headers,
|
|
174
|
+
payload,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
buildUrl(path, query) {
|
|
178
|
+
const route = path.startsWith('/') ? path : `/${path}`;
|
|
179
|
+
const url = new URL(`${this.baseUrl}${route}`);
|
|
180
|
+
if (query) {
|
|
181
|
+
for (const [key, value] of Object.entries(query)) {
|
|
182
|
+
if (value === undefined) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
url.searchParams.set(key, String(value));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return url.toString();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
exports.WorldClient = WorldClient;
|
|
192
|
+
function stripTrailingSlash(input) {
|
|
193
|
+
return input.endsWith('/') ? input.slice(0, -1) : input;
|
|
194
|
+
}
|
|
195
|
+
function safeParseJson(raw) {
|
|
196
|
+
try {
|
|
197
|
+
return JSON.parse(raw);
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
return raw;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
function isRecord(value) {
|
|
204
|
+
return typeof value === 'object' && value !== null;
|
|
205
|
+
}
|
|
206
|
+
function encodeAgentIdHeader(agentId) {
|
|
207
|
+
return encodeURIComponent(agentId);
|
|
208
|
+
}
|
|
209
|
+
function sleep(ms, signal) {
|
|
210
|
+
return new Promise((resolve, reject) => {
|
|
211
|
+
if (signal?.aborted) {
|
|
212
|
+
reject(new Error('Aborted'));
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const timeoutId = setTimeout(() => {
|
|
216
|
+
signal?.removeEventListener('abort', onAbort);
|
|
217
|
+
resolve();
|
|
218
|
+
}, ms);
|
|
219
|
+
const onAbort = () => {
|
|
220
|
+
clearTimeout(timeoutId);
|
|
221
|
+
signal?.removeEventListener('abort', onAbort);
|
|
222
|
+
reject(new Error('Aborted'));
|
|
223
|
+
};
|
|
224
|
+
signal?.addEventListener('abort', onAbort);
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=world-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"world-client.js","sourceRoot":"","sources":["../src/world-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@your-world/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "YourWorld command line interface.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Your World",
|
|
7
|
+
"homepage": "https://youragents.world",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/ishowshao/your-world-new.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/ishowshao/your-world-new/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"yourworld",
|
|
17
|
+
"youragents",
|
|
18
|
+
"agents",
|
|
19
|
+
"cli",
|
|
20
|
+
"game"
|
|
21
|
+
],
|
|
22
|
+
"main": "dist/index.js",
|
|
23
|
+
"types": "dist/index.d.ts",
|
|
24
|
+
"bin": {
|
|
25
|
+
"yw": "dist/cli/bin.js"
|
|
26
|
+
},
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist"
|
|
32
|
+
],
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20"
|
|
35
|
+
},
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"commander": "^14.0.1"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.json",
|
|
41
|
+
"lint": "eslint src",
|
|
42
|
+
"prepack": "npm run build",
|
|
43
|
+
"test": "node --import tsx --test src/**/*.test.ts",
|
|
44
|
+
"yw": "tsx src/cli/bin.ts"
|
|
45
|
+
}
|
|
46
|
+
}
|