@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.
Files changed (68) hide show
  1. package/dist/adapters/claude-code-adapter.d.ts +16 -0
  2. package/dist/adapters/claude-code-adapter.js +106 -0
  3. package/dist/adapters/claude-code-adapter.js.map +1 -0
  4. package/dist/adapters/codex-adapter.d.ts +1 -0
  5. package/dist/adapters/codex-adapter.js +26 -12
  6. package/dist/adapters/codex-adapter.js.map +1 -1
  7. package/dist/adapters/external-agent-adapter.d.ts +4 -0
  8. package/dist/adapters/external-agent-adapter.js +13 -0
  9. package/dist/adapters/external-agent-adapter.js.map +1 -1
  10. package/dist/cli/action-submit.js +47 -14
  11. package/dist/cli/action-submit.js.map +1 -1
  12. package/dist/cli/agent-adapter-discovery.d.ts +10 -0
  13. package/dist/cli/agent-adapter-discovery.js +116 -0
  14. package/dist/cli/agent-adapter-discovery.js.map +1 -0
  15. package/dist/cli/bin.js +51 -14
  16. package/dist/cli/bin.js.map +1 -1
  17. package/dist/cli/catalog.js +11 -6
  18. package/dist/cli/catalog.js.map +1 -1
  19. package/dist/cli/observe.js +14 -1
  20. package/dist/cli/observe.js.map +1 -1
  21. package/dist/cli/play-goal.d.ts +2 -0
  22. package/dist/cli/play-goal.js +34 -0
  23. package/dist/cli/play-goal.js.map +1 -0
  24. package/dist/cli/play-init.d.ts +7 -0
  25. package/dist/cli/play-init.js +45 -9
  26. package/dist/cli/play-init.js.map +1 -1
  27. package/dist/cli/play-run.js +8 -3
  28. package/dist/cli/play-run.js.map +1 -1
  29. package/dist/cli/player-init.js +1 -1
  30. package/dist/cli/player-init.js.map +1 -1
  31. package/dist/cli/rules.js +16 -6
  32. package/dist/cli/rules.js.map +1 -1
  33. package/dist/cli/shared.js +31 -16
  34. package/dist/cli/shared.js.map +1 -1
  35. package/dist/config/credential-store.js +6 -3
  36. package/dist/config/credential-store.js.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/optional-prop.d.ts +1 -0
  41. package/dist/optional-prop.js +12 -0
  42. package/dist/optional-prop.js.map +1 -0
  43. package/dist/prompting/agents-template.d.ts +1 -0
  44. package/dist/prompting/agents-template.js +40 -2
  45. package/dist/prompting/agents-template.js.map +1 -1
  46. package/dist/prompting/turn-summary.js +55 -3
  47. package/dist/prompting/turn-summary.js.map +1 -1
  48. package/dist/runtime/player-runtime.d.ts +2 -2
  49. package/dist/runtime/player-runtime.js +96 -39
  50. package/dist/runtime/player-runtime.js.map +1 -1
  51. package/dist/runtime/session-store.d.ts +3 -0
  52. package/dist/runtime/session-store.js +12 -2
  53. package/dist/runtime/session-store.js.map +1 -1
  54. package/dist/runtime/settlement-sync.js +80 -18
  55. package/dist/runtime/settlement-sync.js.map +1 -1
  56. package/dist/runtime/turn-orchestrator.js +3 -2
  57. package/dist/runtime/turn-orchestrator.js.map +1 -1
  58. package/dist/runtime/workspace-manager.d.ts +6 -0
  59. package/dist/runtime/workspace-manager.js +58 -5
  60. package/dist/runtime/workspace-manager.js.map +1 -1
  61. package/dist/types.d.ts +137 -40
  62. package/dist/world-client.d.ts +6 -6
  63. package/dist/world-client.js +24 -14
  64. package/dist/world-client.js.map +1 -1
  65. package/package.json +4 -2
  66. package/dist/adapters/generic-command-adapter.d.ts +0 -12
  67. package/dist/adapters/generic-command-adapter.js +0 -58
  68. package/dist/adapters/generic-command-adapter.js.map +0 -1
@@ -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
- while (true) {
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 === 'generic-command') {
189
+ if (session.adapter === 'claude-code') {
185
190
  const command = asStringArray(session.adapterConfig?.command);
186
- if (!command || command.length === 0) {
187
- throw new CliError('INVALID_SESSION', 'generic-command adapter requires adapterConfig.command in session.json.');
188
- }
189
- return new generic_command_adapter_1.GenericCommandAdapter({
190
- command,
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 --kind <archetype|recipe> --id <id>',
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) || value.some((entry) => typeof entry !== 'string')) {
228
+ if (!Array.isArray(value)) {
223
229
  return undefined;
224
230
  }
225
- return value;
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 parsed = JSON.parse(raw);
231
- return typeof parsed.profile === 'string' ? { profile: parsed.profile } : {};
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)) {
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/cli/shared.ts"],"names":[],"mappings":";;;;;;AA+BA,8BA2BC;AAED,8BAEC;AAED,4CAEC;AAED,0CAEC;AAED,sCAOC;AAED,0BAEC;AAED,wCAiBC;AAED,gDAiBC;AAqDD,0DAgBC;AAED,sCAwBC;AAED,8BAEC;AAED,8BAqBC;AAED,oCAEC;AAvPD,+CAA6D;AAC7D,0DAA6B;AAE7B,6DAAyD;AAEzD,iFAA4E;AAC5E,iEAA6D;AAC7D,sCAA0C;AAG1C,kDAA8C;AAOjC,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAE7D,MAAa,QAAS,SAAQ,KAAK;IACtB,IAAI,CAAS;IACb,QAAQ,CAAS;IAE1B,YAAY,IAAY,EAAE,OAAe,EAAE,QAAQ,GAAG,CAAC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAVD,4BAUC;AAED,SAAgB,SAAS,CAAC,IAAc;IACpC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,SAAS;QACb,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,KAAK,IAAI,CAAC,CAAC;QACf,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,WAAW;QACX,OAAO;KACV,CAAC;AACN,CAAC;AAED,SAAgB,SAAS,CAAC,IAAgB,EAAE,IAAY;IACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAgB;IAC7C,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,0BAAkB,CAAC;AAC3D,CAAC;AAED,SAAgB,eAAe,CAAC,IAAgB,EAAE,IAAY;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAgB,aAAa,CAAC,IAAgB,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,6BAA6B,IAAI,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAgB,OAAO,CAAC,IAAgB,EAAE,IAAY;IAClD,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC;AAC5C,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,IAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,mBAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/F,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,+IAA+I,CAAC,CAAC;AAC5L,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACrD,IAAI,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,CAAC;YACD,MAAM,IAAA,iBAAM,EAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YACjD,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACL,sBAAsB;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACrB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,QAAgB,EAAE,OAAgB;IAC9E,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAO,EAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,SAAS;YACb,CAAC;YAED,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,SAAS;gBACb,CAAC;gBAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBACzC,SAAS;gBACb,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACL,yDAAyD;YAC7D,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CACd,oBAAoB,EACpB,OAAO;gBACH,CAAC,CAAC,+CAA+C,OAAO,4DAA4D;gBACpH,CAAC,CAAC,oHAAoH,CAC7H,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,OAA6B;IACvE,IAAI,KAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,IAAI,kCAAe,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACtG,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,gCAAgC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;QACvG,CAAC;QACD,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,0BAAW,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK;KACR,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,aAAa,CAAC,OAA6B;IACvD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAChF,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACpF,OAAO,IAAI,4BAAY,CAAC;YACpB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,yEAAyE,CAAC,CAAC;QACrH,CAAC;QAED,OAAO,IAAI,+CAAqB,CAAC;YAC7B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,SAAgB,SAAS,CAAC,KAAc;IACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,SAAS;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB;QACI,QAAQ;QACR,2EAA2E;QAC3E,sFAAsF;QACtF,4DAA4D;QAC5D,qCAAqC;QACrC,uDAAuD;QACvD,oEAAoE;QACpE,sDAAsD;QACtD,qCAAqC;QACrC,wBAAwB;QACxB,yBAAyB;QACzB,qJAAqJ;QACrJ,0DAA0D;QAC1D,qCAAqC;QACrC,EAAE;QACF,mBAAmB,0BAAkB,EAAE;KAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CACf,CAAC;AACN,CAAC;AAED,SAAgB,YAAY;IACxB,OAAO,IAAI,sBAAa,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAe;IAC9C,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAA,mBAAQ,EAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;QACxD,OAAO,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrG,CAAC"}
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 = JSON.parse(raw);
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: Array.isArray(parsed.players) ? parsed.players : [],
84
- agents: Array.isArray(parsed.agents) ? parsed.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":"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"}
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,qEAAmD;AACnD,4DAA0C;AAC1C,2CAAyB;AACzB,2DAAyC;AACzC,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,8DAA4C;AAC5C,8DAA4C;AAC5C,0CAAwB;AACxB,iDAA+B"}
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,3 +4,4 @@ export interface AgentsTemplateInput {
4
4
  workDir: string;
5
5
  }
6
6
  export declare function renderAgentsTemplate(input: AgentsTemplateInput): string;
7
+ export declare function syncGoalInAgentsTemplate(source: string, goal: string): string | null;
@@ -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
- > ${input.goal}
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 --kind recipe --id <recipe-id>\`
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":";;;;;AAQA,oDAwDC;AAhED,0DAA6B;AAQ7B,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;;;;;;;;IAQP,KAAK,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAyCH,SAAS;UACV,QAAQ;CACjB,CAAC;AACF,CAAC"}
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":";;;;;AAIA,8CAmBC;AAvBD,0DAA6B;AAI7B,SAAgB,iBAAiB,CAAC,QAAsB;IACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7H,MAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACtI,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;IAEnG,OAAO;;gBAEK,QAAQ,CAAC,WAAW;UAC1B,QAAQ,CAAC,KAAK;QAChB,QAAQ,CAAC,IAAI;YACT,QAAQ,CAAC,OAAO;oBACR,YAAY;eACjB,cAAc;mBACV,kBAAkB;;IAEjC,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IACpD,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;;2DAEP,CAAC;AAC5D,CAAC"}
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;