@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(
|
|
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
|
|
1845
|
-
why: z4.string().max(
|
|
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. '
|
|
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. '
|
|
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(
|
|
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(
|
|
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 "
|
|
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. '
|
|
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
|
|
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. '
|
|
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-
|
|
14531
|
+
//# sourceMappingURL=chunk-MWNEBU4R.js.map
|