tycono 0.1.83 → 0.1.84-beta.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tycono",
3
- "version": "0.1.83",
3
+ "version": "0.1.84-beta.0",
4
4
  "description": "Build an AI company. Watch them work.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -118,6 +118,13 @@ export function createHttpServer(): http.Server {
118
118
  const url = req.url ?? '';
119
119
  const method = req.method ?? '';
120
120
 
121
+ // SSE multiplexed wave stream (GET /api/waves/:waveId/stream)
122
+ if (url.match(/^\/api\/waves\/[^/]+\/stream/) && method === 'GET') {
123
+ setExecCors(req, res);
124
+ handleExecRequest(req, res);
125
+ return;
126
+ }
127
+
121
128
  // SSE 엔드포인트: Express 우회하여 raw HTTP로 처리
122
129
  if ((url.startsWith('/api/exec/') || url.startsWith('/api/jobs') || url === '/api/waves/save' || url === '/api/setup/import-knowledge') && method === 'POST') {
123
130
  setExecCors(req, res);
@@ -63,6 +63,7 @@ export interface Preferences {
63
63
  removedFurniture?: string[]; // FurnitureDef.id list
64
64
  addedFurniture?: AddedFurniture[];
65
65
  officeExpansion?: OfficeExpansion;
66
+ purchasedItems?: string[]; // item IDs purchased with coins (hair, outfit, accessory)
66
67
  }
67
68
 
68
69
  const CONFIG_DIR = '.tycono';
@@ -93,6 +94,7 @@ export function readPreferences(companyRoot: string): Preferences {
93
94
  removedFurniture: (data.removedFurniture as string[]) ?? undefined,
94
95
  addedFurniture: (data.addedFurniture as AddedFurniture[]) ?? undefined,
95
96
  officeExpansion: (data.officeExpansion as OfficeExpansion) ?? undefined,
97
+ purchasedItems: (data.purchasedItems as string[]) ?? undefined,
96
98
  };
97
99
 
98
100
  // Auto-generate instanceId on first access
@@ -139,6 +141,9 @@ export function mergePreferences(companyRoot: string, partial: Partial<Preferenc
139
141
  officeExpansion: partial.officeExpansion !== undefined
140
142
  ? partial.officeExpansion
141
143
  : current.officeExpansion,
144
+ purchasedItems: partial.purchasedItems !== undefined
145
+ ? partial.purchasedItems
146
+ : current.purchasedItems,
142
147
  };
143
148
  writePreferences(companyRoot, merged);
144
149
  return merged;