@centrali-io/centrali-mcp 6.10.1 → 6.11.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.
@@ -61,7 +61,7 @@ function registerComputeTools(server, sdk, centraliUrl, workspaceId) {
61
61
  };
62
62
  }
63
63
  }));
64
- (0, _register_js_1.registerTool)(server, "list_triggers", "List function triggers in the workspace. Triggers define how and when compute functions are executed (on-demand, event-driven, scheduled, http-trigger, endpoint).", {
64
+ (0, _register_js_1.registerTool)(server, "list_triggers", "List function triggers in the workspace. Triggers define how and when compute functions are executed (on-demand, event-driven, scheduled, http-trigger, endpoint). Secret-typed metadata fields (signingSecret, apiKey) are returned masked as '********'.", {
65
65
  executionType: zod_1.z
66
66
  .enum(["on-demand", "event-driven", "scheduled", "http-trigger", "endpoint"])
67
67
  .optional()
@@ -346,7 +346,7 @@ function registerComputeTools(server, sdk, centraliUrl, workspaceId) {
346
346
  }
347
347
  }));
348
348
  // ── Trigger CRUD tools ───────────────────────────────────────────
349
- (0, _register_js_1.registerTool)(server, "get_trigger", "Get a function trigger by ID. Returns full trigger details including execution type and metadata.", {
349
+ (0, _register_js_1.registerTool)(server, "get_trigger", "Get a function trigger by ID. Returns full trigger details including execution type and metadata. Secret-typed metadata fields (signingSecret, apiKey) are write-only and returned masked as '********' — they are never echoed in plaintext on reads. The real value is only shown once in the create_trigger response.", {
350
350
  triggerId: zod_1.z.string().describe("The trigger ID (UUID)"),
351
351
  }, (_a) => __awaiter(this, [_a], void 0, function* ({ triggerId }) {
352
352
  try {
@@ -417,7 +417,7 @@ function registerComputeTools(server, sdk, centraliUrl, workspaceId) {
417
417
  triggerMetadata: zod_1.z
418
418
  .record(zod_1.z.string(), zod_1.z.any())
419
419
  .optional()
420
- .describe("Updated type-specific configuration. To rotate an encrypted params value, send params: { KEY: { value: 'new-plaintext', encrypt: true } }. To preserve an existing encrypted value without rotating, echo back the stored shape: params: { KEY: { value: '********', encrypted: true, keyVersion: N } } (use get_trigger to read the current shape). Omit a key from params entirely to remove it."),
420
+ .describe("Updated type-specific configuration. NOTE: this REPLACES the whole triggerMetadata object, so include every field you want to keep. To rotate an encrypted params value, send params: { KEY: { value: 'new-plaintext', encrypt: true } }. To preserve an existing encrypted value without rotating, echo back the stored shape: params: { KEY: { value: '********', encrypted: true, keyVersion: N } } (use get_trigger to read the current shape). Omit a key from params entirely to remove it. Secret-typed fields signingSecret and apiKey are write-only and stored encrypted at rest: send a plaintext string to set/rotate; send the masked sentinel '********' (or omit the field) to preserve the current value untouched."),
421
421
  }, (_a) => __awaiter(this, [_a], void 0, function* ({ triggerId, name, description, enabled, triggerMetadata }) {
422
422
  try {
423
423
  const input = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@centrali-io/centrali-mcp",
3
- "version": "6.10.1",
3
+ "version": "6.11.0",
4
4
  "description": "Centrali MCP Server - AI assistant integration for Centrali workspaces",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
@@ -25,7 +25,7 @@
25
25
  "author": "Blueinit",
26
26
  "license": "ISC",
27
27
  "dependencies": {
28
- "@centrali-io/centrali-sdk": "^6.10.1",
28
+ "@centrali-io/centrali-sdk": "^6.11.0",
29
29
  "@modelcontextprotocol/sdk": "^1.28.0"
30
30
  },
31
31
  "devDependencies": {
@@ -53,7 +53,7 @@ export function registerComputeTools(server: McpServer, sdk: CentraliSDK, centra
53
53
 
54
54
  registerTool<any>(server,
55
55
  "list_triggers",
56
- "List function triggers in the workspace. Triggers define how and when compute functions are executed (on-demand, event-driven, scheduled, http-trigger, endpoint).",
56
+ "List function triggers in the workspace. Triggers define how and when compute functions are executed (on-demand, event-driven, scheduled, http-trigger, endpoint). Secret-typed metadata fields (signingSecret, apiKey) are returned masked as '********'.",
57
57
  {
58
58
  executionType: z
59
59
  .enum(["on-demand", "event-driven", "scheduled", "http-trigger", "endpoint"])
@@ -383,7 +383,7 @@ export function registerComputeTools(server: McpServer, sdk: CentraliSDK, centra
383
383
 
384
384
  registerTool<any>(server,
385
385
  "get_trigger",
386
- "Get a function trigger by ID. Returns full trigger details including execution type and metadata.",
386
+ "Get a function trigger by ID. Returns full trigger details including execution type and metadata. Secret-typed metadata fields (signingSecret, apiKey) are write-only and returned masked as '********' — they are never echoed in plaintext on reads. The real value is only shown once in the create_trigger response.",
387
387
  {
388
388
  triggerId: z.string().describe("The trigger ID (UUID)"),
389
389
  },
@@ -463,7 +463,7 @@ export function registerComputeTools(server: McpServer, sdk: CentraliSDK, centra
463
463
  triggerMetadata: z
464
464
  .record(z.string(), z.any())
465
465
  .optional()
466
- .describe("Updated type-specific configuration. To rotate an encrypted params value, send params: { KEY: { value: 'new-plaintext', encrypt: true } }. To preserve an existing encrypted value without rotating, echo back the stored shape: params: { KEY: { value: '********', encrypted: true, keyVersion: N } } (use get_trigger to read the current shape). Omit a key from params entirely to remove it."),
466
+ .describe("Updated type-specific configuration. NOTE: this REPLACES the whole triggerMetadata object, so include every field you want to keep. To rotate an encrypted params value, send params: { KEY: { value: 'new-plaintext', encrypt: true } }. To preserve an existing encrypted value without rotating, echo back the stored shape: params: { KEY: { value: '********', encrypted: true, keyVersion: N } } (use get_trigger to read the current shape). Omit a key from params entirely to remove it. Secret-typed fields signingSecret and apiKey are write-only and stored encrypted at rest: send a plaintext string to set/rotate; send the masked sentinel '********' (or omit the field) to preserve the current value untouched."),
467
467
  },
468
468
  async ({ triggerId, name, description, enabled, triggerMetadata }) => {
469
469
  try {