@sentientui/mcp 0.18.2 → 0.18.3

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.
@@ -2115,18 +2115,23 @@ function registerCellTools(server, client) {
2115
2115
  personas: z15.array(personaOutput),
2116
2116
  cells: z15.array(cellOutput),
2117
2117
  autoFill: z15.boolean(),
2118
- personaSource: z15.string().describe("Active persona-set source: default | declared | discovered"),
2118
+ // Nullable: a project with no persona set at all reports null, not a
2119
+ // string. That is the NORMAL state since the default vocabulary was
2120
+ // emptied, so a non-nullable schema failed output validation on most
2121
+ // projects and the tool returned nothing but a zod error.
2122
+ personaSource: z15.string().nullable().describe('Active persona-set source: default | declared | discovered, or null when the project has no persona set (one "everyone" row)'),
2119
2123
  undecidedShare: z15.number()
2120
2124
  },
2121
2125
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
2122
2126
  },
2123
2127
  withApiErrorGuidance(async ({ projectId }) => {
2128
+ var _a;
2124
2129
  const id = encodeURIComponent(projectId);
2125
2130
  const data = await client.get(`/projects/${id}/cells`);
2126
2131
  const byCell = new Map(data.cells.map((c) => [`${c.slotId}::${c.persona}`, c]));
2127
2132
  const lines = [
2128
2133
  `Slots: ${data.slots.map((s) => `${untrusted(s.displayName)}${s.live === false ? " [draft]" : ""}`).join(", ") || "(none published)"}`,
2129
- `Auto-fill on first miss: ${data.autoFill ? "ON" : "off"} \xB7 persona source: ${data.personaSource}`
2134
+ `Auto-fill on first miss: ${data.autoFill ? "ON" : "off"} \xB7 persona source: ${(_a = data.personaSource) != null ? _a : 'none (one "everyone" row)'}`
2130
2135
  ];
2131
2136
  for (const p of data.personas) {
2132
2137
  const states = data.slots.map((s) => {
@@ -2241,7 +2246,7 @@ function registerCellTools(server, client) {
2241
2246
  }
2242
2247
 
2243
2248
  // src/server.ts
2244
- var PKG_VERSION = true ? "0.18.2" : "0.0.0-dev";
2249
+ var PKG_VERSION = true ? "0.18.3" : "0.0.0-dev";
2245
2250
  function createMcpServer(client) {
2246
2251
  const server = new McpServer(
2247
2252
  {
package/dist/index.cjs CHANGED
@@ -2121,18 +2121,23 @@ function registerCellTools(server, client) {
2121
2121
  personas: import_zod15.z.array(personaOutput),
2122
2122
  cells: import_zod15.z.array(cellOutput),
2123
2123
  autoFill: import_zod15.z.boolean(),
2124
- personaSource: import_zod15.z.string().describe("Active persona-set source: default | declared | discovered"),
2124
+ // Nullable: a project with no persona set at all reports null, not a
2125
+ // string. That is the NORMAL state since the default vocabulary was
2126
+ // emptied, so a non-nullable schema failed output validation on most
2127
+ // projects and the tool returned nothing but a zod error.
2128
+ personaSource: import_zod15.z.string().nullable().describe('Active persona-set source: default | declared | discovered, or null when the project has no persona set (one "everyone" row)'),
2125
2129
  undecidedShare: import_zod15.z.number()
2126
2130
  },
2127
2131
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
2128
2132
  },
2129
2133
  withApiErrorGuidance(async ({ projectId }) => {
2134
+ var _a2;
2130
2135
  const id = encodeURIComponent(projectId);
2131
2136
  const data = await client.get(`/projects/${id}/cells`);
2132
2137
  const byCell = new Map(data.cells.map((c) => [`${c.slotId}::${c.persona}`, c]));
2133
2138
  const lines = [
2134
2139
  `Slots: ${data.slots.map((s) => `${untrusted(s.displayName)}${s.live === false ? " [draft]" : ""}`).join(", ") || "(none published)"}`,
2135
- `Auto-fill on first miss: ${data.autoFill ? "ON" : "off"} \xB7 persona source: ${data.personaSource}`
2140
+ `Auto-fill on first miss: ${data.autoFill ? "ON" : "off"} \xB7 persona source: ${(_a2 = data.personaSource) != null ? _a2 : 'none (one "everyone" row)'}`
2136
2141
  ];
2137
2142
  for (const p of data.personas) {
2138
2143
  const states = data.slots.map((s) => {
@@ -2247,7 +2252,7 @@ function registerCellTools(server, client) {
2247
2252
  }
2248
2253
 
2249
2254
  // src/server.ts
2250
- var PKG_VERSION = true ? "0.18.2" : "0.0.0-dev";
2255
+ var PKG_VERSION = true ? "0.18.3" : "0.0.0-dev";
2251
2256
  function createMcpServer(client) {
2252
2257
  const server = new import_mcp.McpServer(
2253
2258
  {
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  ApiClient,
4
4
  createMcpServer
5
- } from "./chunk-5TEQLWMW.js";
5
+ } from "./chunk-FPHH4LA7.js";
6
6
 
7
7
  // src/index.ts
8
8
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
package/dist/lib.cjs CHANGED
@@ -2145,18 +2145,23 @@ function registerCellTools(server, client) {
2145
2145
  personas: import_zod15.z.array(personaOutput),
2146
2146
  cells: import_zod15.z.array(cellOutput),
2147
2147
  autoFill: import_zod15.z.boolean(),
2148
- personaSource: import_zod15.z.string().describe("Active persona-set source: default | declared | discovered"),
2148
+ // Nullable: a project with no persona set at all reports null, not a
2149
+ // string. That is the NORMAL state since the default vocabulary was
2150
+ // emptied, so a non-nullable schema failed output validation on most
2151
+ // projects and the tool returned nothing but a zod error.
2152
+ personaSource: import_zod15.z.string().nullable().describe('Active persona-set source: default | declared | discovered, or null when the project has no persona set (one "everyone" row)'),
2149
2153
  undecidedShare: import_zod15.z.number()
2150
2154
  },
2151
2155
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
2152
2156
  },
2153
2157
  withApiErrorGuidance(async ({ projectId }) => {
2158
+ var _a;
2154
2159
  const id = encodeURIComponent(projectId);
2155
2160
  const data = await client.get(`/projects/${id}/cells`);
2156
2161
  const byCell = new Map(data.cells.map((c) => [`${c.slotId}::${c.persona}`, c]));
2157
2162
  const lines = [
2158
2163
  `Slots: ${data.slots.map((s) => `${untrusted(s.displayName)}${s.live === false ? " [draft]" : ""}`).join(", ") || "(none published)"}`,
2159
- `Auto-fill on first miss: ${data.autoFill ? "ON" : "off"} \xB7 persona source: ${data.personaSource}`
2164
+ `Auto-fill on first miss: ${data.autoFill ? "ON" : "off"} \xB7 persona source: ${(_a = data.personaSource) != null ? _a : 'none (one "everyone" row)'}`
2160
2165
  ];
2161
2166
  for (const p of data.personas) {
2162
2167
  const states = data.slots.map((s) => {
@@ -2271,7 +2276,7 @@ function registerCellTools(server, client) {
2271
2276
  }
2272
2277
 
2273
2278
  // src/server.ts
2274
- var PKG_VERSION = true ? "0.18.2" : "0.0.0-dev";
2279
+ var PKG_VERSION = true ? "0.18.3" : "0.0.0-dev";
2275
2280
  function createMcpServer(client) {
2276
2281
  const server = new import_mcp.McpServer(
2277
2282
  {
package/dist/lib.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  ApiError,
5
5
  PUBLIC_UI_RESOURCE_URIS,
6
6
  createMcpServer
7
- } from "./chunk-5TEQLWMW.js";
7
+ } from "./chunk-FPHH4LA7.js";
8
8
  export {
9
9
  ApiClient,
10
10
  ApiError,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentientui/mcp",
3
- "version": "0.18.2",
3
+ "version": "0.18.3",
4
4
  "description": "MCP server for SentientUI — exposes project data and actions to AI agents",
5
5
  "license": "MIT",
6
6
  "homepage": "https://sentient-ui.com",