@productbrain/mcp 0.0.1-beta.8543 → 0.0.1-beta.8555

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.
@@ -1441,6 +1441,9 @@ var captureSinglePreviewOutputSchema = z3.object({
1441
1441
  // src/lib/readinessNotices.ts
1442
1442
  var READINESS_PROVISIONAL_LINE = "Readiness is provisional: its sample omitted accepted entries. Counts are lower bounds, apparent gaps may already be covered.";
1443
1443
 
1444
+ // src/lib/bodyCap.ts
1445
+ var ENTRY_BODY_MAX_CHARS = 15e4;
1446
+
1444
1447
  // src/tools/smart-capture.ts
1445
1448
  var GENERIC_PROFILE = {
1446
1449
  governedDraft: false,
@@ -1837,12 +1840,12 @@ var captureCompoundSchema = z4.object({
1837
1840
  action: z4.enum(CAPTURE_ACTIONS).optional().default("capture").describe("Create a single knowledge entry."),
1838
1841
  collection: z4.string().max(200).optional().describe("Collection slug, e.g. 'tensions', 'business-rules', 'glossary', 'decisions'. Optional \u2014 classifier auto-routes when omitted."),
1839
1842
  name: z4.string().max(500).optional().describe("Display name \u2014 required."),
1840
- description: z4.string().max(2e4).optional().describe("Full context \u2014 required."),
1843
+ description: z4.string().max(ENTRY_BODY_MAX_CHARS).optional().describe("Full context \u2014 required."),
1841
1844
  context: z4.string().max(5e3).optional().describe("Optional additional context."),
1842
1845
  entryId: entryIdSchema,
1843
1846
  canonicalKey: z4.string().max(200).optional().describe("Semantic type (e.g. 'decision', 'tension', 'vision'). Auto-assigned from collection if omitted."),
1844
- data: z4.record(z4.unknown()).optional().describe("Explicit field values. Merged with inferred values; user-provided wins."),
1845
- why: z4.string().max(2e4).optional().describe("Why this entry exists."),
1847
+ data: z4.record(z4.unknown()).optional().describe("Explicit field values; user-provided wins over inferred."),
1848
+ why: z4.string().max(ENTRY_BODY_MAX_CHARS).optional().describe("Why this entry exists."),
1846
1849
  links: z4.array(z4.object({
1847
1850
  to: z4.string().max(200).describe("Target entry ID (e.g. '<PREFIX>-<n>')"),
1848
1851
  type: z4.string().max(200).describe("Relation type (e.g. 'governs', 'related_to', 'informs')")
@@ -2850,7 +2853,7 @@ function pushAppliedFieldsLines(responseLines, fieldsProvided, appliedFields, re
2850
2853
  // src/tools/knowledge/getHistory.ts
2851
2854
  import { z as z5 } from "zod/v3";
2852
2855
  var getHistorySchema = z5.object({
2853
- entryId: z5.string().describe("Entry ID, e.g. 'T-SUPPLIER', '<PREFIX>-<n>'")
2856
+ entryId: z5.string().describe("Entry ID, e.g. '<PREFIX>-<n>'")
2854
2857
  });
2855
2858
  async function handleGetHistory({ entryId }) {
2856
2859
  const history = await kernelQuery("chain.listEntryHistory", { entryId });
@@ -2881,7 +2884,7 @@ ${formatted}` }],
2881
2884
 
2882
2885
  // src/tools/knowledge.ts
2883
2886
  var updateEntrySchema = z6.object({
2884
- entryId: z6.string().describe("Entry ID to update, e.g. 'T-SUPPLIER', '<PREFIX>-<n>'"),
2887
+ entryId: z6.string().describe("Entry ID to update, e.g. '<PREFIX>-<n>'"),
2885
2888
  name: z6.string().optional().describe("New display name"),
2886
2889
  // Chain-ID-leak guard (check:chain-id-leaks): the retired legacy-shim ticket number stays in
2887
2890
  // the code comment above, never in this user-visible describe() string. T8 (TASK-393, WP-779): narrowed to generated ENTRY_STATUS_WRITE_WORDS.
@@ -9914,7 +9917,7 @@ var workflowsSchema = z20.object({
9914
9917
  isFinal: z20.boolean().optional().describe("If true, finalize an existing durable workflow run from its terminal round and create the summary chain entry."),
9915
9918
  restart: z20.boolean().optional().describe("If true, start a new durable run from the workflow's first round in the current session."),
9916
9919
  summaryName: z20.string().max(500).optional().describe("Optional name for final chain entry. If omitted, the workflow summary template is used."),
9917
- summaryDescription: z20.string().max(2e4).optional().describe("Optional override for the final chain entry description. Defaults to the final round output text."),
9920
+ summaryDescription: z20.string().max(ENTRY_BODY_MAX_CHARS).optional().describe("Optional override for the final chain entry description. Defaults to the final round output text."),
9918
9921
  summaryEntryId: z20.string().max(200).optional().describe("Link an existing entry as the run's summary instead of creating one. Used by facilitated workflows (e.g. shape) where the primary record is created by the specialized tool."),
9919
9922
  // WP-513: team+role to create the finalize summary AS OWNER of (rung 2 only).
9920
9923
  ownerTeamEntryId: z20.string().max(200).optional().describe("For 'checkpoint' (isFinal): owning team (rung-2)."),
@@ -9935,7 +9938,7 @@ var workflowsCheckpointVariant = z20.object({
9935
9938
  isFinal: z20.boolean().optional(),
9936
9939
  restart: z20.boolean().optional(),
9937
9940
  summaryName: z20.string().max(500).optional(),
9938
- summaryDescription: z20.string().max(2e4).optional(),
9941
+ summaryDescription: z20.string().max(ENTRY_BODY_MAX_CHARS).optional(),
9939
9942
  summaryEntryId: z20.string().max(200).optional(),
9940
9943
  runId: z20.string().max(200).optional(),
9941
9944
  ownerTeamEntryId: z20.string().max(200).optional(),
@@ -14304,7 +14307,7 @@ ${glossaryContext}
14304
14307
 
14305
14308
  For each name:
14306
14309
  1. Does it match a canonical term? If so, which one?
14307
- 2. Is there terminology drift? (e.g. using "vendor" instead of "supplier", "compliance" instead of "conformance")
14310
+ 2. Is there terminology drift? (e.g. using "customer" instead of "member", "owner" instead of "admin")
14308
14311
  3. Suggest the canonical alternative if drift is detected.
14309
14312
  4. Flag any names that don't have a corresponding glossary term (might need one).
14310
14313
 
@@ -14324,20 +14327,20 @@ function registerPrompts(server) {
14324
14327
  server.prompt(
14325
14328
  "name-check",
14326
14329
  "Check variable names, field names, or API names against the glossary for terminology alignment. Flags drift from canonical terms.",
14327
- { names: z33.string().describe("Comma-separated list of names to check (e.g. 'vendor_id, compliance_level, formulator_type')") },
14330
+ { names: z33.string().describe("Comma-separated list of names to check (e.g. 'user_id, workspace_id, entry_status')") },
14328
14331
  async ({ names }) => buildNameCheckPrompt(names)
14329
14332
  );
14330
14333
  server.prompt(
14331
14334
  "draft-decision-record",
14332
14335
  "Draft a structured decision record from a description of what was decided. Includes context from recent decisions and relevant rules.",
14333
- { context: z33.string().describe("Description of the decision (e.g. 'We decided to use MRSL v3.1 as the conformance baseline because...')") },
14336
+ { context: z33.string().describe("Description of the decision (e.g. 'We decided to keep one body field per entry because...')") },
14334
14337
  async ({ context }) => buildDraftDecisionRecordPrompt(context)
14335
14338
  );
14336
14339
  server.prompt(
14337
14340
  "draft-rule-from-context",
14338
14341
  "Draft a new business rule from an observation or discovery made while coding. Fetches existing rules for the domain to ensure consistency.",
14339
14342
  {
14340
- observation: z33.string().describe("What you observed or discovered (e.g. 'Suppliers can have multiple org types in Gateway')"),
14343
+ observation: z33.string().describe("What you observed or discovered (e.g. 'A workspace can have more than one owner role')"),
14341
14344
  domain: z33.string().describe("Which domain this rule belongs to (e.g. 'Governance & Decision-Making')")
14342
14345
  },
14343
14346
  async ({ observation, domain }) => buildDraftRuleFromContextPrompt(observation, domain)
@@ -14525,4 +14528,4 @@ export {
14525
14528
  createProductBrainServer,
14526
14529
  initFeatureFlags
14527
14530
  };
14528
- //# sourceMappingURL=chunk-NKK5TZHB.js.map
14531
+ //# sourceMappingURL=chunk-MWNEBU4R.js.map