systa-mcp 1.1.0 → 1.1.1

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 (3) hide show
  1. package/SKILL.md +1 -1
  2. package/package.json +1 -1
  3. package/server.js +14 -2
package/SKILL.md CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: 1.1.0
2
+ version: 1.1.1
3
3
  name: systa
4
4
  description: |
5
5
  Drive SysTa (Talep Takip Sistemi / SysTa) — a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "systa-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "MCP stdio server for SysTa (Talep Takip Sistemi) — lets AI agents (Claude, Codex) use the SysTa REST API via a scoped API key. Zero npm dependencies (native Node).",
5
5
  "type": "commonjs",
6
6
  "main": "server.js",
package/server.js CHANGED
@@ -358,6 +358,10 @@ const shapeCompact = (caps) => ({
358
358
  ...(caps.user ? { user: caps.user } : {}),
359
359
  scopes: caps.scopes,
360
360
  isSuperAdmin: caps.isSuperAdmin,
361
+ // Efor birim politikasi (MCP AIX v3 F1 H1): kanonik depolama GUN, vendor
362
+ // display unit + hoursPerDay ile saat<->gun cevrimi. Kor AI 'N saat' istegi
363
+ // aldiginda buradaki hoursPerDay'e boler, sonra estimatedEffort'a YAZAR.
364
+ ...(caps.effortPolicy ? { effortPolicy: caps.effortPolicy } : {}),
361
365
  // Kavramsal oryantasyon (ai_orientation_catalog) — kod-kor ajan icin SysTa'yi
362
366
  // anlama katmani: platform ozeti + TR glossary + modul aciklamalari.
363
367
  ...(caps.overview ? { overview: caps.overview } : {}),
@@ -392,6 +396,8 @@ const shapeSummary = (caps) => ({
392
396
  ...(caps.user ? { user: caps.user } : {}),
393
397
  scopes: caps.scopes,
394
398
  isSuperAdmin: caps.isSuperAdmin,
399
+ // Efor birim politikasi (MCP AIX v3 F1 H1) — bkz. shapeCompact yorumu.
400
+ ...(caps.effortPolicy ? { effortPolicy: caps.effortPolicy } : {}),
395
401
  ...(caps.overview ? { overview: caps.overview } : {}),
396
402
  ...(caps.glossary ? { glossary: caps.glossary } : {}),
397
403
  moduleCount: caps.moduleCount,
@@ -2005,10 +2011,16 @@ const TOOLS = [
2005
2011
  if (args.companyId != null) {
2006
2012
  body.companyId = args.companyId;
2007
2013
  }
2014
+ // Backend planModeBoardSchema alan adi 'name' (boardName DEĞİL); passthrough
2015
+ // olsa da service layer INSERT'te board.name kullanir -> boardName yollamak
2016
+ // NOT NULL constraint violation'a düşüyordu (F7 kor Haiku S-D2 basarisizligi).
2017
+ // Kullanicidan boards[] gelirse 'boardName' -> 'name' normalize et.
2018
+ const normalizeBoard = (b) =>
2019
+ b && typeof b === 'object' ? { ...b, name: b.name || b.boardName || 'Görev Tahtası' } : b;
2008
2020
  body.boards =
2009
2021
  Array.isArray(args.boards) && args.boards.length > 0
2010
- ? args.boards
2011
- : [{ boardName: 'Görev Tahtası', displayOrder: 1 }];
2022
+ ? args.boards.map(normalizeBoard)
2023
+ : [{ name: 'Görev Tahtası' }];
2012
2024
  return systaFetch('POST', '/plan/modes', { body });
2013
2025
  },
2014
2026
  },