@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
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TurnOrchestrator = void 0;
4
+ const optional_prop_1 = require("../optional-prop");
4
5
  class TurnOrchestrator {
5
6
  store;
6
7
  client;
@@ -25,14 +26,14 @@ class TurnOrchestrator {
25
26
  goal: session.goal,
26
27
  agentId: session.agentId,
27
28
  serverUrl: session.serverUrl,
28
- tickIntervalMs: session.tickPollIntervalMs,
29
+ ...(0, optional_prop_1.optionalProp)('tickIntervalMs', session.tickPollIntervalMs),
29
30
  observeSummary: sanitizeObserveSummary(tickInbox.observe),
30
31
  recentEvents: sanitizeRecentEvents(tickInbox.events),
31
32
  lastAction,
32
33
  lastSettlement,
33
34
  submissionState: {
34
35
  hasSubmitted: session.runState === 'submitted',
35
- activeRunId: session.activeRunId,
36
+ ...(0, optional_prop_1.optionalProp)('activeRunId', session.activeRunId),
36
37
  runState: session.runState,
37
38
  },
38
39
  latestObservedTickAtStart: session.latestObservedTick,
@@ -1 +1 @@
1
- {"version":3,"file":"turn-orchestrator.js","sourceRoot":"","sources":["../../src/runtime/turn-orchestrator.ts"],"names":[],"mappings":";;;AAIA,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,KAAmB,EACnB,MAAuB;QADvB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7H,OAAO;YACH,IAAI;YACJ,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA6B,EAAE,KAAa,EAAE,SAA0B;QAC5F,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEvH,OAAO;YACH,KAAK;YACL,WAAW,EAAE,SAAS,CAAC,IAAI;YAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,cAAc,EAAE,OAAO,CAAC,kBAAkB;YAC1C,cAAc,EAAE,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC;YACzD,YAAY,EAAE,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC;YACpD,UAAU;YACV,cAAc;YACd,eAAe,EAAE;gBACb,YAAY,EAAE,OAAO,CAAC,QAAQ,KAAK,WAAW;gBAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC7B;YACD,yBAAyB,EAAE,OAAO,CAAC,kBAAkB;SACxD,CAAC;IACN,CAAC;CACJ;AAvCD,4CAuCC;AAED,SAAS,sBAAsB,CAAC,OAAmC;IAC/D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE7D,OAAO;QACH,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsE;IAC/F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAiC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACtI,CAAC"}
1
+ {"version":3,"file":"turn-orchestrator.js","sourceRoot":"","sources":["../../src/runtime/turn-orchestrator.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAKhD,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,KAAmB,EACnB,MAAuB;QADvB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAiB;IACzC,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,IAAY;QAC3B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE7H,OAAO;YACH,IAAI;YACJ,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAA6B,EAAE,KAAa,EAAE,SAA0B;QAC5F,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEvH,OAAO;YACH,KAAK;YACL,WAAW,EAAE,SAAS,CAAC,IAAI;YAC3B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,IAAA,4BAAY,EAAC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC;YAC7D,cAAc,EAAE,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC;YACzD,YAAY,EAAE,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC;YACpD,UAAU;YACV,cAAc;YACd,eAAe,EAAE;gBACb,YAAY,EAAE,OAAO,CAAC,QAAQ,KAAK,WAAW;gBAC9C,GAAG,IAAA,4BAAY,EAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC;gBACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC7B;YACD,yBAAyB,EAAE,OAAO,CAAC,kBAAkB;SACxD,CAAC;IACN,CAAC;CACJ;AAvCD,4CAuCC;AAED,SAAS,sBAAsB,CAAC,OAAmC;IAC/D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE7D,OAAO;QACH,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnF,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsE;IAC/F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAiC;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACtI,CAAC"}
@@ -6,4 +6,10 @@ export declare class WorkspaceManager {
6
6
  ensureWorkspace(session: PlayerRuntimeSession): Promise<void>;
7
7
  writeInbox(record: TickInboxRecord): Promise<void>;
8
8
  writeTurn(runId: string, snapshot: TurnSnapshot): Promise<void>;
9
+ syncGoal(session: PlayerRuntimeSession): Promise<{
10
+ agentsUpdated: boolean;
11
+ activeRunUpdated: boolean;
12
+ }>;
13
+ private syncAgentsGoal;
14
+ private syncActiveRunGoal;
9
15
  }
@@ -11,11 +11,16 @@ class WorkspaceManager {
11
11
  }
12
12
  async ensureWorkspace(session) {
13
13
  await this.store.ensureWorkspace();
14
- await (0, promises_1.writeFile)(this.store.paths.agents, (0, agents_template_1.renderAgentsTemplate)({
15
- profile: session.profile,
16
- goal: session.goal,
17
- workDir: session.workDir,
18
- }), 'utf8');
14
+ const instructionFilePath = this.store.instructionFilePath(session.adapter);
15
+ if (!(await fileExists(instructionFilePath))) {
16
+ await (0, promises_1.writeFile)(instructionFilePath, (0, agents_template_1.renderAgentsTemplate)({
17
+ profile: session.profile,
18
+ goal: session.goal,
19
+ workDir: session.workDir,
20
+ }), 'utf8');
21
+ return;
22
+ }
23
+ await this.syncGoal(session);
19
24
  }
20
25
  async writeInbox(record) {
21
26
  await this.store.writeInboxTick(record);
@@ -23,6 +28,54 @@ class WorkspaceManager {
23
28
  async writeTurn(runId, snapshot) {
24
29
  await this.store.writeTurnSnapshot(runId, snapshot, (0, turn_summary_1.renderTurnSummary)(snapshot));
25
30
  }
31
+ async syncGoal(session) {
32
+ await this.store.ensureWorkspace();
33
+ const agentsUpdated = await this.syncAgentsGoal(session);
34
+ const activeRunUpdated = session.activeRunId ? await this.syncActiveRunGoal(session.activeRunId, session.goal) : false;
35
+ return {
36
+ agentsUpdated,
37
+ activeRunUpdated,
38
+ };
39
+ }
40
+ async syncAgentsGoal(session) {
41
+ const instructionFilePath = this.store.instructionFilePath(session.adapter);
42
+ if (!(await fileExists(instructionFilePath))) {
43
+ await (0, promises_1.writeFile)(instructionFilePath, (0, agents_template_1.renderAgentsTemplate)({
44
+ profile: session.profile,
45
+ goal: session.goal,
46
+ workDir: session.workDir,
47
+ }), 'utf8');
48
+ return true;
49
+ }
50
+ const existing = await (0, promises_1.readFile)(instructionFilePath, 'utf8');
51
+ const next = (0, agents_template_1.syncGoalInAgentsTemplate)(existing, session.goal);
52
+ if (next === null || next === existing) {
53
+ return false;
54
+ }
55
+ await (0, promises_1.writeFile)(instructionFilePath, next, 'utf8');
56
+ return true;
57
+ }
58
+ async syncActiveRunGoal(runId, goal) {
59
+ const snapshot = await this.store.readTurnSnapshot(runId);
60
+ if (!snapshot || snapshot.goal === goal) {
61
+ return false;
62
+ }
63
+ const nextSnapshot = {
64
+ ...snapshot,
65
+ goal,
66
+ };
67
+ await this.store.writeTurnSnapshot(runId, nextSnapshot, (0, turn_summary_1.renderTurnSummary)(nextSnapshot));
68
+ return true;
69
+ }
26
70
  }
27
71
  exports.WorkspaceManager = WorkspaceManager;
72
+ async function fileExists(filePath) {
73
+ try {
74
+ await (0, promises_1.access)(filePath);
75
+ return true;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
28
81
  //# sourceMappingURL=workspace-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/runtime/workspace-manager.ts"],"names":[],"mappings":";;;AAAA,+CAA6C;AAE7C,kEAAoE;AACpE,4DAA8D;AAI9D,MAAa,gBAAgB;IACI;IAA7B,YAA6B,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IAAG,CAAC;IAEpD,KAAK,CAAC,eAAe,CAAC,OAA6B;QAC/C,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACnC,MAAM,IAAA,oBAAS,EACX,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EACvB,IAAA,sCAAoB,EAAC;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC,EACF,MAAM,CACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAuB;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,QAAsB;QACjD,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAA,gCAAiB,EAAC,QAAQ,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ;AAvBD,4CAuBC"}
1
+ {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/runtime/workspace-manager.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,14 +1,5 @@
1
- export interface Action {
2
- actionId?: string;
3
- verb: string;
4
- target?: string | number | Record<string, unknown>;
5
- params?: Record<string, unknown>;
6
- reason?: string;
7
- }
8
- export interface ActRequest extends Action {
9
- basedOnTick?: number;
10
- intendedStartTick?: number;
11
- }
1
+ import type { Action, ActRequest, ActResponse, WorldEvent } from '@your-world/common';
2
+ export type { Action, ActRequest, ActResponse, WorldEvent } from '@your-world/common';
12
3
  export interface InventoryItem {
13
4
  itemId: string;
14
5
  amount: number;
@@ -33,14 +24,82 @@ export interface NearbyResource {
33
24
  }
34
25
  export interface NearbyStructure {
35
26
  structureId: string;
36
- type?: string;
27
+ structureTypeId?: string;
28
+ origin?: {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ footprint?: {
33
+ width: number;
34
+ height: number;
35
+ };
37
36
  position?: {
38
37
  x: number;
39
38
  y: number;
40
39
  };
41
40
  hp?: number;
42
- passable?: boolean;
43
- gateOpen?: boolean;
41
+ state?: {
42
+ kind: 'static';
43
+ } | {
44
+ kind: 'gate';
45
+ open: boolean;
46
+ };
47
+ sourceBuildRecipeId?: string;
48
+ builderAgentId?: string;
49
+ ownerRef?: {
50
+ kind: 'agent';
51
+ agentId: string;
52
+ } | {
53
+ kind: 'organization';
54
+ organizationId: string;
55
+ };
56
+ withdrawLevel?: 'owner' | 'organization' | 'public';
57
+ canWithdraw?: boolean;
58
+ distance?: number;
59
+ }
60
+ export interface FactoryView {
61
+ factoryId: string;
62
+ ownerRef?: {
63
+ kind: 'agent';
64
+ agentId: string;
65
+ } | {
66
+ kind: 'organization';
67
+ organizationId: string;
68
+ };
69
+ structureTypeId?: string;
70
+ activeRecipeId?: string;
71
+ activeContractDefinitionIds?: string[];
72
+ minWorkersToRun?: number;
73
+ maxWorkers?: number;
74
+ assignedWorkerCount?: number;
75
+ maxRunsPerTick?: number;
76
+ storageCapacityGrams?: number;
77
+ storageUsedGrams?: number;
78
+ inventorySummary?: InventoryItem[];
79
+ availableRecipeIds?: string[];
80
+ lastTickRuns?: number;
81
+ canConfigure?: boolean;
82
+ joinedByViewer?: boolean;
83
+ }
84
+ export interface NearbyProject {
85
+ projectId: string;
86
+ recipeId?: string;
87
+ targetStructureTypeId?: string;
88
+ builderAgentId?: string;
89
+ origin?: {
90
+ x: number;
91
+ y: number;
92
+ };
93
+ footprint?: {
94
+ width: number;
95
+ height: number;
96
+ };
97
+ stage?: 'frame' | 'supplied';
98
+ deliveredInputs?: InventoryItem[];
99
+ requiredInputs?: InventoryItem[];
100
+ currentWork?: number;
101
+ requiredWork?: number;
102
+ reservedUntilTick?: number;
44
103
  distance?: number;
45
104
  }
46
105
  export interface NearbyAgent {
@@ -63,7 +122,7 @@ export interface VisibleTrade {
63
122
  tradeId: string;
64
123
  creatorAgentId: string;
65
124
  toAgentId?: string;
66
- status?: 'open' | 'accepted' | 'cancelled' | string;
125
+ status?: string;
67
126
  createdAtTick?: number;
68
127
  expiresAtTick?: number;
69
128
  ticksUntilExpire?: number;
@@ -73,8 +132,57 @@ export interface VisibleTrade {
73
132
  canCancel?: boolean;
74
133
  acceptRequirementsMet?: boolean;
75
134
  }
135
+ export interface ObserveTargetingQuery {
136
+ archetype?: string;
137
+ resource?: string;
138
+ }
139
+ export interface ObserveResourceHint {
140
+ resourceId: string;
141
+ resourceTypeId?: string;
142
+ nodeArchetypeId?: string;
143
+ itemId?: string;
144
+ position?: {
145
+ x: number;
146
+ y: number;
147
+ };
148
+ amount?: number;
149
+ distance?: number;
150
+ }
151
+ export type ObserveArchetypeHint = {
152
+ kind: 'structure';
153
+ archetypeId: string;
154
+ structureId: string;
155
+ structureTypeId?: string;
156
+ origin?: {
157
+ x: number;
158
+ y: number;
159
+ };
160
+ footprint?: {
161
+ width: number;
162
+ height: number;
163
+ };
164
+ position?: {
165
+ x: number;
166
+ y: number;
167
+ };
168
+ distance?: number;
169
+ } | {
170
+ kind: 'resource';
171
+ archetypeId: string;
172
+ resourceId: string;
173
+ resourceTypeId?: string;
174
+ nodeArchetypeId?: string;
175
+ itemId?: string;
176
+ position?: {
177
+ x: number;
178
+ y: number;
179
+ };
180
+ amount?: number;
181
+ distance?: number;
182
+ };
76
183
  export interface ObserveResponse {
77
184
  tick: number;
185
+ agentId?: string;
78
186
  map?: {
79
187
  width: number;
80
188
  height: number;
@@ -86,6 +194,10 @@ export interface ObserveResponse {
86
194
  hunger?: number;
87
195
  stamina?: number;
88
196
  inventory?: InventoryItem[];
197
+ carryWeightGrams?: number;
198
+ carryLimitGrams?: number;
199
+ carryRemainingGrams?: number;
200
+ joinedFactoryId?: string;
89
201
  talents?: Record<string, {
90
202
  baseLevel: number;
91
203
  level: number;
@@ -94,7 +206,9 @@ export interface ObserveResponse {
94
206
  }>;
95
207
  nearbyResources?: NearbyResource[];
96
208
  nearbyStructures?: NearbyStructure[];
209
+ nearbyProjects?: NearbyProject[];
97
210
  nearbyAgents?: NearbyAgent[];
211
+ factories?: FactoryView[];
98
212
  visibleTrades?: VisibleTrade[];
99
213
  adjacentTiles?: Array<{
100
214
  x: number;
@@ -102,9 +216,9 @@ export interface ObserveResponse {
102
216
  withinMap: boolean;
103
217
  terrain?: string;
104
218
  occupiedBy?: {
105
- kind: 'resource' | 'structure' | 'agent';
219
+ kind: 'resource' | 'crop' | 'structure' | 'project' | 'agent';
106
220
  id: string;
107
- type?: string;
221
+ typeId?: string;
108
222
  };
109
223
  canMove: boolean;
110
224
  canBuild: boolean;
@@ -113,6 +227,8 @@ export interface ObserveResponse {
113
227
  x: number;
114
228
  y: number;
115
229
  }>;
230
+ resourceHints?: ObserveResourceHint[];
231
+ archetypeHints?: ObserveArchetypeHint[];
116
232
  [key: string]: unknown;
117
233
  }
118
234
  export interface TickSignal {
@@ -152,25 +268,6 @@ export interface PlayerAgentCreateResponse {
152
268
  agentId: string;
153
269
  agentToken: string;
154
270
  }
155
- export interface ActResponse {
156
- accepted?: boolean;
157
- reason?: string;
158
- startTick?: number;
159
- duplicate?: boolean;
160
- currentTick?: number;
161
- basedOnTick?: number;
162
- intendedStartTick?: number;
163
- lateSubmission?: boolean;
164
- [key: string]: unknown;
165
- }
166
- export interface WorldEvent {
167
- eventId: string;
168
- tick: number;
169
- type: string;
170
- actorId?: string;
171
- actionId?: string;
172
- data: Record<string, unknown>;
173
- }
174
271
  export interface EventQueryResult {
175
272
  events: WorldEvent[];
176
273
  nextCursor: number;
@@ -246,11 +343,11 @@ export interface TickContext {
246
343
  readonly tools: AgentTools;
247
344
  observe(): Promise<ObserveResponse>;
248
345
  remember(key: string, value: unknown): void;
249
- recall<T = unknown>(key: string): T | undefined;
346
+ recall(key: string): unknown;
250
347
  hasCommitted(): boolean;
251
348
  commit(action: Action): Promise<void>;
252
349
  }
253
- export type Policy = (context: TickContext) => Promise<Action | null | void> | Action | null | void;
350
+ export type Policy = (context: TickContext) => Promise<Action | null | undefined> | Action | null | undefined;
254
351
  export interface TickRunnerOptions {
255
352
  client: WorldClientLike;
256
353
  policy: Policy;
@@ -259,11 +356,11 @@ export interface TickRunnerOptions {
259
356
  pollIntervalMs?: number;
260
357
  }
261
358
  export interface WorldClientLike {
262
- readonly agentId?: string;
359
+ readonly agentId: string | undefined;
263
360
  playerInit(input: PlayerInitRequest): Promise<PlayerInitResponse>;
264
361
  createPlayerAgent(playerCredential: string, input: PlayerAgentCreateRequest): Promise<PlayerAgentCreateResponse>;
265
362
  join(input?: JoinRequest): Promise<JoinResponse>;
266
- observe(asOfTick?: number): Promise<ObserveResponse>;
363
+ observe(asOfTick?: number, targeting?: ObserveTargetingQuery): Promise<ObserveResponse>;
267
364
  act(action: ActRequest): Promise<ActResponse>;
268
365
  getTickInfo(): Promise<TickInfoResponse>;
269
366
  getCatalog(params: ToolQuery, options?: ConditionalRequestOptions): Promise<ToolReadResponse<unknown>>;
@@ -1,22 +1,22 @@
1
- import { ActRequest, ActResponse, ConditionalRequestOptions, EventQueryResult, JoinRequest, JoinResponse, ObserveResponse, PlayerAgentCreateRequest, PlayerAgentCreateResponse, PlayerInitRequest, PlayerInitResponse, TickInfoResponse, TickSignal, ToolQuery, ToolReadResponse, WorldClientOptions } from './types';
1
+ import { ActRequest, ActResponse, ConditionalRequestOptions, EventQueryResult, JoinRequest, JoinResponse, ObserveResponse, ObserveTargetingQuery, PlayerAgentCreateRequest, PlayerAgentCreateResponse, PlayerInitRequest, PlayerInitResponse, TickInfoResponse, TickSignal, ToolQuery, ToolReadResponse, WorldClientOptions } from './types';
2
2
  export declare class WorldClientError extends Error {
3
3
  readonly status: number;
4
- readonly code?: string;
5
- readonly details?: unknown;
4
+ readonly code: string | undefined;
5
+ readonly details: unknown;
6
6
  constructor(message: string, status: number, code?: string, details?: unknown);
7
7
  }
8
8
  export declare class WorldClient {
9
9
  private readonly baseUrl;
10
- private readonly token?;
10
+ private readonly token;
11
11
  private readonly fetchImpl;
12
12
  private readonly routes;
13
- private _agentId?;
13
+ private _agentId;
14
14
  constructor(options: WorldClientOptions);
15
15
  get agentId(): string | undefined;
16
16
  playerInit(input: PlayerInitRequest): Promise<PlayerInitResponse>;
17
17
  createPlayerAgent(playerCredential: string, input: PlayerAgentCreateRequest): Promise<PlayerAgentCreateResponse>;
18
18
  join(input?: JoinRequest): Promise<JoinResponse>;
19
- observe(asOfTick?: number): Promise<ObserveResponse>;
19
+ observe(asOfTick?: number, targeting?: ObserveTargetingQuery): Promise<ObserveResponse>;
20
20
  act(action: ActRequest): Promise<ActResponse>;
21
21
  getTickInfo(): Promise<TickInfoResponse>;
22
22
  getCatalog(params: ToolQuery, options?: ConditionalRequestOptions): Promise<ToolReadResponse<unknown>>;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorldClient = exports.WorldClientError = void 0;
4
+ const common_1 = require("@your-world/common");
5
+ const optional_prop_1 = require("./optional-prop");
4
6
  const DEFAULT_ROUTES = {
5
7
  playerInit: '/player/init',
6
8
  playerAgents: '/player/agents',
@@ -55,16 +57,21 @@ class WorldClient {
55
57
  }
56
58
  async join(input = {}) {
57
59
  const payload = {
58
- ...input,
59
- agentId: input.agentId ?? this._agentId,
60
+ ...(() => {
61
+ const { agentId: _agentId, ...rest } = input;
62
+ return rest;
63
+ })(),
64
+ ...(0, optional_prop_1.optionalProp)('agentId', input.agentId ?? this._agentId),
60
65
  };
61
66
  const response = await this.request('POST', this.routes.join, payload);
62
67
  this._agentId = response.agentId;
63
68
  return response;
64
69
  }
65
- observe(asOfTick) {
70
+ observe(asOfTick, targeting = {}) {
66
71
  return this.request('GET', this.routes.observe, undefined, {
67
- asOfTick,
72
+ ...(0, optional_prop_1.optionalProp)('asOfTick', asOfTick),
73
+ ...(0, optional_prop_1.optionalProp)('archetype', targeting.archetype),
74
+ ...(0, optional_prop_1.optionalProp)('resource', targeting.resource),
68
75
  });
69
76
  }
70
77
  act(action) {
@@ -91,7 +98,7 @@ class WorldClient {
91
98
  });
92
99
  }
93
100
  async waitForNextTick(afterTick, pollIntervalMs = 1000, signal) {
94
- while (true) {
101
+ for (;;) {
95
102
  if (signal?.aborted) {
96
103
  throw new Error('Aborted while waiting for next tick.');
97
104
  }
@@ -115,10 +122,13 @@ class WorldClient {
115
122
  }
116
123
  async request(method, path, body, query, headers) {
117
124
  const response = await this.requestRaw(method, path, body, {
118
- query,
119
- headers,
125
+ ...(0, optional_prop_1.optionalProp)('query', query),
126
+ ...(0, optional_prop_1.optionalProp)('headers', headers),
120
127
  });
121
- return (response.payload ?? {});
128
+ if (response.payload === undefined) {
129
+ throw new WorldClientError(`Request succeeded without a JSON response body: ${path}`, response.status, 'EMPTY_RESPONSE');
130
+ }
131
+ return response.payload;
122
132
  }
123
133
  async conditionalRead(path, params, options) {
124
134
  const query = { ...params };
@@ -136,9 +146,9 @@ class WorldClient {
136
146
  });
137
147
  return {
138
148
  status: response.status,
139
- etag: response.headers.get('etag') ?? undefined,
140
- version: response.headers.get('x-version') ?? undefined,
141
- body: response.payload,
149
+ ...(0, optional_prop_1.optionalProp)('etag', response.headers.get('etag') ?? undefined),
150
+ ...(0, optional_prop_1.optionalProp)('version', response.headers.get('x-version') ?? undefined),
151
+ ...(0, optional_prop_1.optionalProp)('body', response.payload),
142
152
  };
143
153
  }
144
154
  async requestRaw(method, path, body, options = {}) {
@@ -158,14 +168,14 @@ class WorldClient {
158
168
  const response = await this.fetchImpl(url, {
159
169
  method,
160
170
  headers,
161
- body: body === undefined ? undefined : JSON.stringify(body),
171
+ ...(body === undefined ? {} : { body: JSON.stringify(body) }),
162
172
  });
163
173
  const text = await response.text();
164
174
  const payload = text.length > 0 ? safeParseJson(text) : undefined;
165
175
  const allowedStatus = options.allowStatuses?.includes(response.status) ?? false;
166
176
  if (!response.ok && !allowedStatus) {
167
177
  const errorPayload = isRecord(payload) ? payload : {};
168
- const message = (typeof errorPayload.message === 'string' && errorPayload.message) || `Request failed: ${response.status}`;
178
+ const message = (typeof errorPayload.message === 'string' && errorPayload.message) || `Request failed: ${String(response.status)}`;
169
179
  throw new WorldClientError(message, response.status, typeof errorPayload.code === 'string' ? errorPayload.code : undefined, errorPayload.details);
170
180
  }
171
181
  return {
@@ -194,7 +204,7 @@ function stripTrailingSlash(input) {
194
204
  }
195
205
  function safeParseJson(raw) {
196
206
  try {
197
- return JSON.parse(raw);
207
+ return (0, common_1.parseJsonValue)(raw, 'HTTP response body');
198
208
  }
199
209
  catch {
200
210
  return raw;
@@ -1 +1 @@
1
- {"version":3,"file":"world-client.js","sourceRoot":"","sources":["../src/world-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world-client.js","sourceRoot":"","sources":["../src/world-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@your-world/cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "YourWorld command line interface.",
5
5
  "license": "MIT",
6
6
  "author": "Your World",
@@ -34,11 +34,13 @@
34
34
  "node": ">=20"
35
35
  },
36
36
  "dependencies": {
37
+ "@your-world/common": "0.1.0",
37
38
  "commander": "^14.0.1"
38
39
  },
39
40
  "scripts": {
40
- "build": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\" && tsc -p tsconfig.json",
41
+ "build": "node -e \"const fs = require('node:fs'); if (fs.existsSync('dist')) { fs.rmSync('dist', { recursive: true }); }\" && tsc -p tsconfig.build.json",
41
42
  "lint": "eslint src",
43
+ "typecheck": "tsc -p tsconfig.json",
42
44
  "prepack": "npm run build",
43
45
  "test": "node --import tsx --test src/**/*.test.ts",
44
46
  "yw": "tsx src/cli/bin.ts"
@@ -1,12 +0,0 @@
1
- import { ExternalAgentAdapter, PreparedSession, PrepareSessionInput, RunningTurn, RunTurnInput } from './external-agent-adapter';
2
- export interface GenericCommandAdapterOptions {
3
- name?: string;
4
- command: string[];
5
- }
6
- export declare class GenericCommandAdapter implements ExternalAgentAdapter {
7
- readonly name: string;
8
- private readonly command;
9
- constructor(options: GenericCommandAdapterOptions);
10
- prepareSession(_input: PrepareSessionInput): Promise<PreparedSession>;
11
- runTurn(input: RunTurnInput): Promise<RunningTurn>;
12
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GenericCommandAdapter = void 0;
4
- const node_child_process_1 = require("node:child_process");
5
- class GenericCommandAdapter {
6
- name;
7
- command;
8
- constructor(options) {
9
- if (options.command.length === 0) {
10
- throw new Error('GenericCommandAdapter requires a command.');
11
- }
12
- this.name = options.name ?? 'generic-command';
13
- this.command = [...options.command];
14
- }
15
- async prepareSession(_input) {
16
- return {};
17
- }
18
- async runTurn(input) {
19
- const command = this.command.map((part) => substitute(part, input));
20
- const child = (0, node_child_process_1.spawn)(command[0], command.slice(1), {
21
- cwd: input.workDir,
22
- env: {
23
- ...process.env,
24
- YW_RUN_ID: input.runId,
25
- YW_WORK_DIR: input.workDir,
26
- YW_PROMPT_FILE: input.promptFilePath,
27
- YW_SESSION_FILE: `${input.workDir}/session.json`,
28
- YW_RUNTIME_LOG_SUBMISSIONS: '1',
29
- },
30
- stdio: ['ignore', 'pipe', 'pipe'],
31
- });
32
- child.stdout.on('data', (chunk) => {
33
- void input.onOutput?.(String(chunk));
34
- });
35
- child.stderr.on('data', (chunk) => {
36
- void input.onOutput?.(String(chunk));
37
- });
38
- return {
39
- completion: new Promise((resolve, reject) => {
40
- child.once('error', reject);
41
- child.once('exit', (exitCode, signal) => {
42
- resolve({
43
- exitCode,
44
- signal,
45
- });
46
- });
47
- }),
48
- cancel: async () => {
49
- child.kill('SIGTERM');
50
- },
51
- };
52
- }
53
- }
54
- exports.GenericCommandAdapter = GenericCommandAdapter;
55
- function substitute(template, input) {
56
- return template.replaceAll('{workDir}', input.workDir).replaceAll('{runId}', input.runId).replaceAll('{runDir}', input.runDir).replaceAll('{promptFile}', input.promptFilePath);
57
- }
58
- //# sourceMappingURL=generic-command-adapter.js.map