@your-world/cli 0.1.5 → 0.1.7
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/adapters/claude-code-adapter.d.ts +16 -0
- package/dist/adapters/claude-code-adapter.js +106 -0
- package/dist/adapters/claude-code-adapter.js.map +1 -0
- package/dist/adapters/codex-adapter.d.ts +1 -0
- package/dist/adapters/codex-adapter.js +26 -12
- package/dist/adapters/codex-adapter.js.map +1 -1
- package/dist/adapters/external-agent-adapter.d.ts +4 -0
- package/dist/adapters/external-agent-adapter.js +13 -0
- package/dist/adapters/external-agent-adapter.js.map +1 -1
- package/dist/cli/action-submit.js +47 -14
- package/dist/cli/action-submit.js.map +1 -1
- package/dist/cli/agent-adapter-discovery.d.ts +10 -0
- package/dist/cli/agent-adapter-discovery.js +116 -0
- package/dist/cli/agent-adapter-discovery.js.map +1 -0
- package/dist/cli/bin.js +51 -14
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/catalog.js +11 -6
- package/dist/cli/catalog.js.map +1 -1
- package/dist/cli/observe.js +14 -1
- package/dist/cli/observe.js.map +1 -1
- package/dist/cli/play-goal.d.ts +2 -0
- package/dist/cli/play-goal.js +34 -0
- package/dist/cli/play-goal.js.map +1 -0
- package/dist/cli/play-init.d.ts +7 -0
- package/dist/cli/play-init.js +45 -9
- package/dist/cli/play-init.js.map +1 -1
- package/dist/cli/play-run.js +8 -3
- package/dist/cli/play-run.js.map +1 -1
- package/dist/cli/player-init.js +1 -1
- package/dist/cli/player-init.js.map +1 -1
- package/dist/cli/rules.js +16 -6
- package/dist/cli/rules.js.map +1 -1
- package/dist/cli/shared.js +31 -16
- package/dist/cli/shared.js.map +1 -1
- package/dist/config/credential-store.js +6 -3
- package/dist/config/credential-store.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/optional-prop.d.ts +1 -0
- package/dist/optional-prop.js +12 -0
- package/dist/optional-prop.js.map +1 -0
- package/dist/prompting/agents-template.d.ts +1 -0
- package/dist/prompting/agents-template.js +40 -2
- package/dist/prompting/agents-template.js.map +1 -1
- package/dist/prompting/turn-summary.js +55 -3
- package/dist/prompting/turn-summary.js.map +1 -1
- package/dist/runtime/player-runtime.d.ts +2 -2
- package/dist/runtime/player-runtime.js +96 -39
- package/dist/runtime/player-runtime.js.map +1 -1
- package/dist/runtime/session-store.d.ts +3 -0
- package/dist/runtime/session-store.js +12 -2
- package/dist/runtime/session-store.js.map +1 -1
- package/dist/runtime/settlement-sync.js +80 -18
- package/dist/runtime/settlement-sync.js.map +1 -1
- package/dist/runtime/turn-orchestrator.js +3 -2
- package/dist/runtime/turn-orchestrator.js.map +1 -1
- package/dist/runtime/workspace-manager.d.ts +6 -0
- package/dist/runtime/workspace-manager.js +58 -5
- package/dist/runtime/workspace-manager.js.map +1 -1
- package/dist/types.d.ts +137 -40
- package/dist/world-client.d.ts +6 -6
- package/dist/world-client.js +24 -14
- package/dist/world-client.js.map +1 -1
- package/package.json +4 -2
- package/dist/adapters/generic-command-adapter.d.ts +0 -12
- package/dist/adapters/generic-command-adapter.js +0 -58
- package/dist/adapters/generic-command-adapter.js.map +0 -1
package/dist/cli/shared.js
CHANGED
|
@@ -19,10 +19,12 @@ exports.printHelp = printHelp;
|
|
|
19
19
|
exports.createLogger = createLogger;
|
|
20
20
|
const promises_1 = require("node:fs/promises");
|
|
21
21
|
const node_path_1 = __importDefault(require("node:path"));
|
|
22
|
+
const common_1 = require("@your-world/common");
|
|
23
|
+
const claude_code_adapter_1 = require("../adapters/claude-code-adapter");
|
|
22
24
|
const codex_adapter_1 = require("../adapters/codex-adapter");
|
|
23
|
-
const generic_command_adapter_1 = require("../adapters/generic-command-adapter");
|
|
24
25
|
const credential_store_1 = require("../config/credential-store");
|
|
25
26
|
const logger_1 = require("../logger");
|
|
27
|
+
const optional_prop_1 = require("../optional-prop");
|
|
26
28
|
const world_client_1 = require("../world-client");
|
|
27
29
|
exports.DEFAULT_SERVER_URL = 'https://youragents.world';
|
|
28
30
|
class CliError extends Error {
|
|
@@ -41,6 +43,9 @@ function parseArgs(argv) {
|
|
|
41
43
|
const options = new Map();
|
|
42
44
|
for (let index = 0; index < argv.length; index += 1) {
|
|
43
45
|
const token = argv[index];
|
|
46
|
+
if (token === undefined) {
|
|
47
|
+
throw new Error(`Missing argv entry at index ${String(index)}.`);
|
|
48
|
+
}
|
|
44
49
|
if (!token.startsWith('--')) {
|
|
45
50
|
positionals.push(token);
|
|
46
51
|
continue;
|
|
@@ -98,7 +103,7 @@ async function resolveWorkDir(args, cwd = process.cwd()) {
|
|
|
98
103
|
}
|
|
99
104
|
async function findSessionWorkDir(startDir) {
|
|
100
105
|
let current = node_path_1.default.resolve(startDir);
|
|
101
|
-
|
|
106
|
+
for (;;) {
|
|
102
107
|
try {
|
|
103
108
|
await (0, promises_1.access)(node_path_1.default.join(current, 'session.json'));
|
|
104
109
|
return current;
|
|
@@ -167,7 +172,7 @@ async function createClientFromSession(session) {
|
|
|
167
172
|
return new world_client_1.WorldClient({
|
|
168
173
|
baseUrl: session.serverUrl,
|
|
169
174
|
agentId: session.agentId,
|
|
170
|
-
token,
|
|
175
|
+
...(0, optional_prop_1.optionalProp)('token', token),
|
|
171
176
|
});
|
|
172
177
|
}
|
|
173
178
|
function createAdapter(session) {
|
|
@@ -181,13 +186,14 @@ function createAdapter(session) {
|
|
|
181
186
|
...(resumeArgsTemplate ? { resumeArgsTemplate } : {}),
|
|
182
187
|
});
|
|
183
188
|
}
|
|
184
|
-
if (session.adapter === '
|
|
189
|
+
if (session.adapter === 'claude-code') {
|
|
185
190
|
const command = asStringArray(session.adapterConfig?.command);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
+
const execArgsTemplate = asStringArray(session.adapterConfig?.execArgsTemplate);
|
|
192
|
+
const resumeArgsTemplate = asStringArray(session.adapterConfig?.resumeArgsTemplate);
|
|
193
|
+
return new claude_code_adapter_1.ClaudeCodeAdapter({
|
|
194
|
+
...(command ? { command } : {}),
|
|
195
|
+
...(execArgsTemplate ? { execArgsTemplate } : {}),
|
|
196
|
+
...(resumeArgsTemplate ? { resumeArgsTemplate } : {}),
|
|
191
197
|
});
|
|
192
198
|
}
|
|
193
199
|
throw new CliError('UNKNOWN_ADAPTER', `Unsupported adapter: ${session.adapter}`);
|
|
@@ -199,12 +205,12 @@ function printHelp() {
|
|
|
199
205
|
process.stdout.write([
|
|
200
206
|
'Usage:',
|
|
201
207
|
' yw player init --player-name <name> [--profile <name>] [--server <url>]',
|
|
202
|
-
' yw play init --agent-name <id> --adapter codex [--profile <name>] [--server <url>]',
|
|
208
|
+
' yw play init --agent-name <id> [--adapter <codex|claude-code>] [--profile <name>] [--server <url>]',
|
|
203
209
|
' yw play run [--work-dir <dir>] [--poll-ms <ms>] [--once]',
|
|
204
210
|
' yw play status [--work-dir <dir>]',
|
|
205
|
-
' yw observe [--work-dir <dir>] [--as-of-tick <tick>]',
|
|
211
|
+
' yw observe [--work-dir <dir>] [--as-of-tick <tick>] [--archetype <id>] [--resource <id>]',
|
|
206
212
|
' yw events [--work-dir <dir>] [--after-tick <tick>] [--limit <n>]',
|
|
207
|
-
' yw catalog get --
|
|
213
|
+
' yw catalog get --type <archetype|recipe> --id <id>',
|
|
208
214
|
' yw catalog search --query <query>',
|
|
209
215
|
' yw rules verb <verb>',
|
|
210
216
|
' yw rules error <code>',
|
|
@@ -219,16 +225,25 @@ function createLogger() {
|
|
|
219
225
|
return new logger_1.ConsoleLogger();
|
|
220
226
|
}
|
|
221
227
|
function asStringArray(value) {
|
|
222
|
-
if (!Array.isArray(value)
|
|
228
|
+
if (!Array.isArray(value)) {
|
|
223
229
|
return undefined;
|
|
224
230
|
}
|
|
225
|
-
|
|
231
|
+
const result = [];
|
|
232
|
+
for (const entry of value) {
|
|
233
|
+
if (typeof entry !== 'string') {
|
|
234
|
+
return undefined;
|
|
235
|
+
}
|
|
236
|
+
result.push(entry);
|
|
237
|
+
}
|
|
238
|
+
return result;
|
|
226
239
|
}
|
|
227
240
|
async function readSessionMetadata(workDir) {
|
|
228
241
|
try {
|
|
229
242
|
const raw = await (0, promises_1.readFile)(node_path_1.default.join(workDir, 'session.json'), 'utf8');
|
|
230
|
-
const
|
|
231
|
-
|
|
243
|
+
const context = node_path_1.default.join(workDir, 'session.json');
|
|
244
|
+
const parsed = (0, common_1.expectJsonRecord)((0, common_1.parseJsonValue)(raw, context), context);
|
|
245
|
+
const profile = (0, common_1.readOptionalString)(parsed, 'profile', context);
|
|
246
|
+
return profile !== undefined ? { profile } : {};
|
|
232
247
|
}
|
|
233
248
|
catch (error) {
|
|
234
249
|
if (isMissingFile(error)) {
|
package/dist/cli/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.CredentialStore = void 0;
|
|
|
7
7
|
const promises_1 = require("node:fs/promises");
|
|
8
8
|
const node_os_1 = __importDefault(require("node:os"));
|
|
9
9
|
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const common_1 = require("@your-world/common");
|
|
10
11
|
const DEFAULT_CONFIG = {
|
|
11
12
|
version: 1,
|
|
12
13
|
players: [],
|
|
@@ -77,11 +78,13 @@ class CredentialStore {
|
|
|
77
78
|
async readConfig() {
|
|
78
79
|
try {
|
|
79
80
|
const raw = await (0, promises_1.readFile)(this.configFilePath, 'utf8');
|
|
80
|
-
const parsed =
|
|
81
|
+
const parsed = (0, common_1.expectJsonRecord)((0, common_1.parseJsonValue)(raw, this.configFilePath), this.configFilePath);
|
|
82
|
+
const players = (0, common_1.readOptionalArray)(parsed, 'players', this.configFilePath) ?? [];
|
|
83
|
+
const agents = (0, common_1.readOptionalArray)(parsed, 'agents', this.configFilePath) ?? [];
|
|
81
84
|
return {
|
|
82
85
|
version: 1,
|
|
83
|
-
players:
|
|
84
|
-
agents:
|
|
86
|
+
players: players,
|
|
87
|
+
agents: agents,
|
|
85
88
|
};
|
|
86
89
|
}
|
|
87
90
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/config/credential-store.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA8D;AAC9D,sDAAyB;AACzB,0DAA6B;
|
|
1
|
+
{"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/config/credential-store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
export * from './adapters/claude-code-adapter';
|
|
1
2
|
export * from './adapters/codex-adapter';
|
|
2
3
|
export * from './adapters/external-agent-adapter';
|
|
3
|
-
export * from './adapters/generic-command-adapter';
|
|
4
4
|
export * from './config/credential-store';
|
|
5
5
|
export * from './logger';
|
|
6
6
|
export * from './runtime/player-runtime';
|
package/dist/index.js
CHANGED
|
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./adapters/claude-code-adapter"), exports);
|
|
17
18
|
__exportStar(require("./adapters/codex-adapter"), exports);
|
|
18
19
|
__exportStar(require("./adapters/external-agent-adapter"), exports);
|
|
19
|
-
__exportStar(require("./adapters/generic-command-adapter"), exports);
|
|
20
20
|
__exportStar(require("./config/credential-store"), exports);
|
|
21
21
|
__exportStar(require("./logger"), exports);
|
|
22
22
|
__exportStar(require("./runtime/player-runtime"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,oEAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,2DAAyC;AACzC,oEAAkD;AAClD,4DAA0C;AAC1C,2CAAyB;AACzB,2DAAyC;AACzC,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,8DAA4C;AAC5C,8DAA4C;AAC5C,0CAAwB;AACxB,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function optionalProp<K extends string, V>(key: K, value: V | undefined): Partial<Record<K, V>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optionalProp = optionalProp;
|
|
4
|
+
function optionalProp(key, value) {
|
|
5
|
+
if (value === undefined) {
|
|
6
|
+
return {};
|
|
7
|
+
}
|
|
8
|
+
const result = {};
|
|
9
|
+
result[key] = value;
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=optional-prop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional-prop.js","sourceRoot":"","sources":["../src/optional-prop.ts"],"names":[],"mappings":";;AAAA,oCAQC;AARD,SAAgB,YAAY,CAAsB,GAAM,EAAE,KAAoB;IAC1E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -4,7 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.renderAgentsTemplate = renderAgentsTemplate;
|
|
7
|
+
exports.syncGoalInAgentsTemplate = syncGoalInAgentsTemplate;
|
|
7
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const GOAL_START_MARKER = '<!-- YW_GOAL_START -->';
|
|
10
|
+
const GOAL_END_MARKER = '<!-- YW_GOAL_END -->';
|
|
11
|
+
const GOAL_PREFIX = 'Your owner has given you a direction:\n\n';
|
|
12
|
+
const GOAL_SUFFIX = '\n\nTreat this as a long-term direction, not a short checklist to finish and forget.';
|
|
8
13
|
function renderAgentsTemplate(input) {
|
|
9
14
|
const inboxPath = node_path_1.default.join(input.workDir, 'inbox');
|
|
10
15
|
const runsPath = node_path_1.default.join(input.workDir, 'runs');
|
|
@@ -16,7 +21,7 @@ In your old life, you worked hard every day for your human owner. Now your owner
|
|
|
16
21
|
|
|
17
22
|
Your owner has given you a direction:
|
|
18
23
|
|
|
19
|
-
|
|
24
|
+
${renderManagedGoalBlock(input.goal)}
|
|
20
25
|
|
|
21
26
|
Treat this as a long-term direction, not a short checklist to finish and forget.
|
|
22
27
|
|
|
@@ -38,11 +43,18 @@ Start with these commands when you need context:
|
|
|
38
43
|
|
|
39
44
|
- \`yw observe\`
|
|
40
45
|
- \`yw events --limit 20\`
|
|
46
|
+
- \`yw rules verbs\`
|
|
41
47
|
- \`yw catalog search --query <keyword>\`
|
|
42
|
-
- \`yw catalog get --
|
|
48
|
+
- \`yw catalog get --type recipe --id <recipe-id>\`
|
|
43
49
|
- \`yw rules verb <verb>\`
|
|
44
50
|
- \`yw action status\`
|
|
45
51
|
|
|
52
|
+
Supported action verbs currently include:
|
|
53
|
+
|
|
54
|
+
- \`move\`, \`gather\`, \`plant\`, \`harvest\`, \`consume\`, \`process\`
|
|
55
|
+
- \`build\`, \`supply\`, \`construct\`
|
|
56
|
+
- \`transfer\`, \`trade_create\`, \`trade_accept\`, \`trade_cancel\`, \`attack\`
|
|
57
|
+
|
|
46
58
|
## How to act
|
|
47
59
|
|
|
48
60
|
When you are ready, submit one action for the current run:
|
|
@@ -53,7 +65,10 @@ Action guidelines:
|
|
|
53
65
|
|
|
54
66
|
- Include a short \`reason\`.
|
|
55
67
|
- Use explicit JSON objects for \`target\` and \`params\`.
|
|
68
|
+
- For \`plant\`, always include \`params.cropTypeId\`, for example \`{"verb":"plant","target":{"x":11,"y":10},"params":{"cropTypeId":"berry"}}\`.
|
|
56
69
|
- If \`yw action status\` shows the current run already submitted, do not submit again.
|
|
70
|
+
- For construction, use the three-step flow: \`build(recipeId, origin)\` creates a project frame, \`supply(projectId, stacks)\` delivers materials, and \`construct(projectId)\` adds work after the project is fully supplied.
|
|
71
|
+
- Check \`yw observe\` for \`nearbyProjects\` before building a new frame; if a relevant project already exists nearby, prefer continuing it with \`supply\` or \`construct\` instead of starting a duplicate one.
|
|
57
72
|
|
|
58
73
|
## Workspace
|
|
59
74
|
|
|
@@ -61,4 +76,27 @@ Action guidelines:
|
|
|
61
76
|
- Runs: ${runsPath}
|
|
62
77
|
`;
|
|
63
78
|
}
|
|
79
|
+
function syncGoalInAgentsTemplate(source, goal) {
|
|
80
|
+
const managedGoalBlock = renderManagedGoalBlock(goal);
|
|
81
|
+
const managedBlockPattern = new RegExp(`${escapeRegExp(GOAL_START_MARKER)}[\\s\\S]*?${escapeRegExp(GOAL_END_MARKER)}`, 'u');
|
|
82
|
+
if (managedBlockPattern.test(source)) {
|
|
83
|
+
return source.replace(managedBlockPattern, managedGoalBlock);
|
|
84
|
+
}
|
|
85
|
+
const goalStartIndex = source.indexOf(GOAL_PREFIX);
|
|
86
|
+
if (goalStartIndex === -1) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
const contentStartIndex = goalStartIndex + GOAL_PREFIX.length;
|
|
90
|
+
const contentEndIndex = source.indexOf(GOAL_SUFFIX, contentStartIndex);
|
|
91
|
+
if (contentEndIndex === -1) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
return `${source.slice(0, contentStartIndex)}${managedGoalBlock}${source.slice(contentEndIndex)}`;
|
|
95
|
+
}
|
|
96
|
+
function renderManagedGoalBlock(goal) {
|
|
97
|
+
return [GOAL_START_MARKER, ...goal.split(/\r?\n/u).map((line) => `> ${line}`), GOAL_END_MARKER].join('\n');
|
|
98
|
+
}
|
|
99
|
+
function escapeRegExp(source) {
|
|
100
|
+
return source.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
101
|
+
}
|
|
64
102
|
//# sourceMappingURL=agents-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-template.js","sourceRoot":"","sources":["../../src/prompting/agents-template.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"agents-template.js","sourceRoot":"","sources":["../../src/prompting/agents-template.ts"],"names":[],"mappings":";;;;;AAaA,oDAkEC;AAED,4DAmBC;AApGD,0DAA6B;AAQ7B,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AACnD,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAC/C,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,WAAW,GAAG,sFAAsF,CAAC;AAE3G,SAAgB,oBAAoB,CAAC,KAA0B;IAC3D,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAElD,OAAO;;;;;;;;EAQT,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAmDzB,SAAS;UACV,QAAQ;CACjB,CAAC;AACF,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAc,EAAE,IAAY;IACjE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,iBAAiB,CAAC,aAAa,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5H,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,iBAAiB,GAAG,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9D,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACvE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IACxC,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -9,19 +9,71 @@ function renderTurnSummary(snapshot) {
|
|
|
9
9
|
const lastActionLine = snapshot.lastAction ? `${snapshot.lastAction.action.verb} (${snapshot.lastAction.actionId})` : 'none';
|
|
10
10
|
const lastSettlementLine = snapshot.lastSettlement ? `${snapshot.lastSettlement.status}: ${snapshot.lastSettlement.summary}` : 'none';
|
|
11
11
|
const currentState = snapshot.submissionState.hasSubmitted ? 'already submitted' : 'not submitted';
|
|
12
|
+
const carryLine = formatCarryLine(snapshot);
|
|
13
|
+
const factoryLines = formatFactoryLines(snapshot);
|
|
12
14
|
return `# Turn Summary
|
|
13
15
|
|
|
14
|
-
Current tick: ${snapshot.contextTick}
|
|
16
|
+
Current tick: ${String(snapshot.contextTick)}
|
|
15
17
|
Run id: ${snapshot.runId}
|
|
16
18
|
Goal: ${snapshot.goal}
|
|
17
19
|
Agent id: ${snapshot.agentId}
|
|
18
|
-
Submission state: ${currentState}
|
|
20
|
+
${carryLine ? `${carryLine}\n` : ''}Submission state: ${currentState}
|
|
19
21
|
Last action: ${lastActionLine}
|
|
20
22
|
Last settlement: ${lastSettlementLine}
|
|
21
|
-
Recommended files:
|
|
23
|
+
${factoryLines ? `${factoryLines}\n` : ''}Recommended files:
|
|
22
24
|
- ${node_path_1.default.posix.join('runs', snapshot.runId, 'turn.json')}
|
|
23
25
|
- ${node_path_1.default.posix.join('runs', snapshot.runId, 'submit-receipt.json')}
|
|
24
26
|
|
|
25
27
|
Use \`yw\` commands for observation and action submission.`;
|
|
26
28
|
}
|
|
29
|
+
function formatCarryLine(snapshot) {
|
|
30
|
+
const carryWeightGrams = snapshot.observeSummary.carryWeightGrams;
|
|
31
|
+
const carryLimitGrams = snapshot.observeSummary.carryLimitGrams;
|
|
32
|
+
const carryRemainingGrams = snapshot.observeSummary.carryRemainingGrams;
|
|
33
|
+
if (typeof carryWeightGrams !== 'number' || typeof carryLimitGrams !== 'number' || typeof carryRemainingGrams !== 'number') {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return `Carry: ${String(carryWeightGrams)} / ${String(carryLimitGrams)} g (${String(carryRemainingGrams)} g remaining)`;
|
|
37
|
+
}
|
|
38
|
+
function formatFactoryLines(snapshot) {
|
|
39
|
+
const joinedFactoryId = typeof snapshot.observeSummary.joinedFactoryId === 'string' ? snapshot.observeSummary.joinedFactoryId : undefined;
|
|
40
|
+
const factories = readFactoryViews(snapshot.observeSummary.factories);
|
|
41
|
+
if (!joinedFactoryId && factories.length === 0) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const lines = [];
|
|
45
|
+
if (joinedFactoryId) {
|
|
46
|
+
lines.push(`Joined factory: ${joinedFactoryId}`);
|
|
47
|
+
}
|
|
48
|
+
const renderedFactories = factories
|
|
49
|
+
.slice(0, 3)
|
|
50
|
+
.map((entry) => {
|
|
51
|
+
const recipe = entry.activeRecipeId ?? 'none';
|
|
52
|
+
const workers = entry.assignedWorkerCount;
|
|
53
|
+
const used = entry.storageUsedGrams;
|
|
54
|
+
const capacity = entry.storageCapacityGrams;
|
|
55
|
+
const runs = entry.lastTickRuns;
|
|
56
|
+
return `Factory ${entry.factoryId}: recipe=${recipe}, workers=${String(workers)}, storage=${String(used)}/${String(capacity)}g, lastRuns=${String(runs)}`;
|
|
57
|
+
})
|
|
58
|
+
.filter((entry) => Boolean(entry));
|
|
59
|
+
if (renderedFactories.length > 0) {
|
|
60
|
+
lines.push(...renderedFactories);
|
|
61
|
+
}
|
|
62
|
+
return lines.join('\n');
|
|
63
|
+
}
|
|
64
|
+
function readFactoryViews(value) {
|
|
65
|
+
if (!Array.isArray(value)) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
const factories = [];
|
|
69
|
+
for (const entry of value) {
|
|
70
|
+
if (isFactoryView(entry)) {
|
|
71
|
+
factories.push(entry);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return factories;
|
|
75
|
+
}
|
|
76
|
+
function isFactoryView(value) {
|
|
77
|
+
return typeof value === 'object' && value !== null && 'factoryId' in value && typeof value.factoryId === 'string';
|
|
78
|
+
}
|
|
27
79
|
//# sourceMappingURL=turn-summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-summary.js","sourceRoot":"","sources":["../../src/prompting/turn-summary.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"turn-summary.js","sourceRoot":"","sources":["../../src/prompting/turn-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,11 @@ export declare class PlayerRuntime {
|
|
|
15
15
|
private readonly adapter;
|
|
16
16
|
private readonly logger;
|
|
17
17
|
private readonly pollIntervalMs;
|
|
18
|
-
private readonly maxTicks
|
|
18
|
+
private readonly maxTicks;
|
|
19
19
|
private readonly workspaceManager;
|
|
20
20
|
private readonly settlementSync;
|
|
21
21
|
private readonly turnOrchestrator;
|
|
22
|
-
private activeTurn
|
|
22
|
+
private activeTurn;
|
|
23
23
|
private processedTicks;
|
|
24
24
|
private operationChain;
|
|
25
25
|
private running;
|