heyio 4.1.4 → 4.2.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.
@@ -80,7 +80,7 @@ var init_constants = __esm({
80
80
  "packages/shared/dist/constants.js"() {
81
81
  "use strict";
82
82
  APP_NAME = "io";
83
- APP_VERSION = "4.1.4";
83
+ APP_VERSION = "4.2.0";
84
84
  API_PORT = 7777;
85
85
  API_HOST = "0.0.0.0";
86
86
  DEFAULT_MODEL = "gpt-4o";
@@ -2300,6 +2300,35 @@ async function getMembers(squadId, db) {
2300
2300
  });
2301
2301
  return result.rows.map((row) => mapMember(row));
2302
2302
  }
2303
+ async function getMember(memberId, db) {
2304
+ const database = db ?? await getDatabase();
2305
+ const result = await database.execute({
2306
+ sql: "SELECT * FROM squad_members WHERE id = ? LIMIT 1",
2307
+ args: [memberId]
2308
+ });
2309
+ const row = result.rows[0];
2310
+ return row ? mapMember(row) : null;
2311
+ }
2312
+ async function updateMember(memberId, data, db) {
2313
+ const database = db ?? await getDatabase();
2314
+ const sets = [];
2315
+ const args = [];
2316
+ if (data.systemPrompt !== void 0) {
2317
+ sets.push("system_prompt = ?");
2318
+ args.push(data.systemPrompt);
2319
+ }
2320
+ if (data.model !== void 0) {
2321
+ sets.push("model = ?");
2322
+ args.push(data.model || null);
2323
+ }
2324
+ if (sets.length === 0) return getMember(memberId, database);
2325
+ args.push(memberId);
2326
+ await database.execute({
2327
+ sql: `UPDATE squad_members SET ${sets.join(", ")} WHERE id = ?`,
2328
+ args
2329
+ });
2330
+ return getMember(memberId, database);
2331
+ }
2303
2332
  async function getSquadRow(id, db) {
2304
2333
  const result = await db.execute({
2305
2334
  sql: "SELECT * FROM squads WHERE id = ? LIMIT 1",
@@ -52832,6 +52861,26 @@ var init_squads2 = __esm({
52832
52861
  });
52833
52862
  }
52834
52863
  });
52864
+ router7.put("/api/squads/:id/members/:memberId", async (req, res) => {
52865
+ try {
52866
+ const member = await getMember(req.params.memberId);
52867
+ if (!member) {
52868
+ res.status(404).json({ error: "Member not found" });
52869
+ return;
52870
+ }
52871
+ const { systemPrompt, model } = req.body;
52872
+ const updated = await updateMember(member.id, {
52873
+ systemPrompt,
52874
+ model: model === "" ? null : model
52875
+ });
52876
+ res.status(200).json(updated);
52877
+ } catch (error51) {
52878
+ res.status(500).json({
52879
+ error: "Failed to update member",
52880
+ details: error51 instanceof Error ? error51.message : "Unknown error"
52881
+ });
52882
+ }
52883
+ });
52835
52884
  router7.post("/api/squads/:id/objectives", async (req, res) => {
52836
52885
  try {
52837
52886
  const squad = await resolveSquad(req.params.id);
@@ -79,7 +79,7 @@ var init_constants = __esm({
79
79
  "packages/shared/dist/constants.js"() {
80
80
  "use strict";
81
81
  APP_NAME = "io";
82
- APP_VERSION = "4.1.4";
82
+ APP_VERSION = "4.2.0";
83
83
  API_PORT = 7777;
84
84
  API_HOST = "0.0.0.0";
85
85
  DEFAULT_MODEL = "gpt-4o";
@@ -77430,6 +77430,35 @@ async function getMembers(squadId, db) {
77430
77430
  });
77431
77431
  return result.rows.map((row) => mapMember(row));
77432
77432
  }
77433
+ async function getMember(memberId, db) {
77434
+ const database = db ?? await getDatabase();
77435
+ const result = await database.execute({
77436
+ sql: "SELECT * FROM squad_members WHERE id = ? LIMIT 1",
77437
+ args: [memberId]
77438
+ });
77439
+ const row = result.rows[0];
77440
+ return row ? mapMember(row) : null;
77441
+ }
77442
+ async function updateMember(memberId, data, db) {
77443
+ const database = db ?? await getDatabase();
77444
+ const sets = [];
77445
+ const args = [];
77446
+ if (data.systemPrompt !== void 0) {
77447
+ sets.push("system_prompt = ?");
77448
+ args.push(data.systemPrompt);
77449
+ }
77450
+ if (data.model !== void 0) {
77451
+ sets.push("model = ?");
77452
+ args.push(data.model || null);
77453
+ }
77454
+ if (sets.length === 0) return getMember(memberId, database);
77455
+ args.push(memberId);
77456
+ await database.execute({
77457
+ sql: `UPDATE squad_members SET ${sets.join(", ")} WHERE id = ?`,
77458
+ args
77459
+ });
77460
+ return getMember(memberId, database);
77461
+ }
77433
77462
  async function getSquadRow(id, db) {
77434
77463
  const result = await db.execute({
77435
77464
  sql: "SELECT * FROM squads WHERE id = ? LIMIT 1",
@@ -79703,6 +79732,26 @@ router7.get("/api/squads/:id/members", async (req, res) => {
79703
79732
  });
79704
79733
  }
79705
79734
  });
79735
+ router7.put("/api/squads/:id/members/:memberId", async (req, res) => {
79736
+ try {
79737
+ const member = await getMember(req.params.memberId);
79738
+ if (!member) {
79739
+ res.status(404).json({ error: "Member not found" });
79740
+ return;
79741
+ }
79742
+ const { systemPrompt, model } = req.body;
79743
+ const updated = await updateMember(member.id, {
79744
+ systemPrompt,
79745
+ model: model === "" ? null : model
79746
+ });
79747
+ res.status(200).json(updated);
79748
+ } catch (error51) {
79749
+ res.status(500).json({
79750
+ error: "Failed to update member",
79751
+ details: error51 instanceof Error ? error51.message : "Unknown error"
79752
+ });
79753
+ }
79754
+ });
79706
79755
  router7.post("/api/squads/:id/objectives", async (req, res) => {
79707
79756
  try {
79708
79757
  const squad = await resolveSquad(req.params.id);