@skeletiq/mcp 0.5.0 → 0.6.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.
Files changed (2) hide show
  1. package/dist/index.js +15 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { serveStdio } from "@modelcontextprotocol/server/stdio";
5
5
 
6
6
  // src/config.ts
7
7
  var SERVER_NAME = "skeletiq";
8
- var SERVER_VERSION = "0.5.0";
8
+ var SERVER_VERSION = "0.6.0";
9
9
  var AGENT_SCHEMA_VERSION = 2;
10
10
  function schemaNote(serverVersion) {
11
11
  if (serverVersion === void 0 || serverVersion <= AGENT_SCHEMA_VERSION) return null;
@@ -307,7 +307,13 @@ var ComponentSchema = z.looseObject({
307
307
  /** Ids of the platform obligations this part meets. */
308
308
  satisfies: z.array(z.string()).nullish(),
309
309
  /** Cross-cutting settings realized on the component (encryption, backup, rate limit, …). */
310
- policies: z.record(z.string(), z.unknown()).nullish()
310
+ policies: z.record(z.string(), z.unknown()).nullish(),
311
+ /**
312
+ * `existing` (the user already runs it) | `retiring` (this design replaces it). Absent means
313
+ * `new`: the API never sends `new`, and no design stored before the field existed carries it.
314
+ * Left as a string: a value this package has not seen is still shown.
315
+ */
316
+ lifecycle: z.string().nullish()
311
317
  });
312
318
  var ConnectionSchema = z.looseObject({
313
319
  id: z.string().nullable().optional(),
@@ -335,6 +341,7 @@ var GroundedDecisionSchema = z.looseObject({
335
341
  source_ids: z.array(z.string()).nullable().optional(),
336
342
  requirement_ids: z.array(z.string()).nullable().optional(),
337
343
  assumption: z.boolean().optional(),
344
+ answered: z.boolean().optional(),
338
345
  confidence: z.string().optional()
339
346
  });
340
347
  var ArchitectureJsonSchema = z.looseObject({
@@ -392,6 +399,9 @@ var RequirementLedgerRowSchema = z.looseObject({
392
399
  cited_by_components: z.array(z.string()).nullable().optional(),
393
400
  /** Indices into `architecture_json.grounded_decisions`, the raw array — blanks are not compacted. */
394
401
  cited_by_decisions: z.array(z.number()).nullable().optional(),
402
+ /** Ids of requirements merged into this one as near-duplicates. A component's `requirement_ids`
403
+ * may still name one of them, and it means this row. Absent from older APIs. */
404
+ aliases: z.array(z.string()).nullable().optional(),
395
405
  /** `stated` in the person's own words, `proposed` by the analysis, or `accepted` — a proposal a
396
406
  * person confirmed. Absent from older APIs. Left as a string: a value this package has not seen
397
407
  * must not stop the whole design from parsing. */
@@ -2698,7 +2708,9 @@ function requirementLine(row) {
2698
2708
  const by = (row.checked_by ?? "").trim();
2699
2709
  const because = reason ? ` \u2014 ${reason}${by ? ` (checked by ${by})` : ""}` : by ? ` \u2014 checked by ${by}` : "";
2700
2710
  const proposed = row.origin === "proposed" ? "[proposed] " : "";
2701
- return `- ${row.id}${label} ${proposed}${text || "(no text recorded for this requirement)"}${because}`;
2711
+ const aliases = (row.aliases ?? []).map((alias) => alias.replace(/\s+/g, " ").trim()).filter(Boolean);
2712
+ const also = aliases.length > 0 ? ` (also ${aliases.join(", ")})` : "";
2713
+ return `- ${row.id}${also}${label} ${proposed}${text || "(no text recorded for this requirement)"}${because}`;
2702
2714
  }
2703
2715
  function settledAnswer(gap) {
2704
2716
  const note = (gap.note ?? "").trim();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skeletiq/mcp",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Design in SkeletIQ, build with your coding agent. MCP server for the SkeletIQ architecture platform.",
5
5
  "license": "MIT",
6
6
  "author": "Sabhahith Works Private Limited",