@productbrain/mcp 0.0.1-beta.71 → 0.0.1-beta.72
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.
- package/dist/{chunk-TH5AUVVM.js → chunk-XLMQ7POI.js} +18 -42
- package/dist/chunk-XLMQ7POI.js.map +1 -0
- package/dist/{chunk-2GMFQHAF.js → chunk-ZPEIKRYG.js} +1214 -780
- package/dist/chunk-ZPEIKRYG.js.map +1 -0
- package/dist/http.js +2 -2
- package/dist/index.js +2 -2
- package/dist/{smart-capture-Q64ZXK65.js → smart-capture-QFYRKMBM.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-2GMFQHAF.js.map +0 -1
- package/dist/chunk-TH5AUVVM.js.map +0 -1
- /package/dist/{smart-capture-Q64ZXK65.js.map → smart-capture-QFYRKMBM.js.map} +0 -0
|
@@ -675,7 +675,6 @@ var CLASSIFIABLE_COLLECTIONS = [
|
|
|
675
675
|
"tensions",
|
|
676
676
|
"glossary",
|
|
677
677
|
"insights",
|
|
678
|
-
"bets",
|
|
679
678
|
"features",
|
|
680
679
|
"architecture",
|
|
681
680
|
"business-rules",
|
|
@@ -767,28 +766,6 @@ var COLLECTION_SIGNALS = {
|
|
|
767
766
|
"converge",
|
|
768
767
|
"tam"
|
|
769
768
|
],
|
|
770
|
-
bets: [
|
|
771
|
-
"appetite",
|
|
772
|
-
"rabbit hole",
|
|
773
|
-
"no-go",
|
|
774
|
-
"shape up",
|
|
775
|
-
"done when",
|
|
776
|
-
"shaping session",
|
|
777
|
-
"from static",
|
|
778
|
-
"from storage",
|
|
779
|
-
"from passive",
|
|
780
|
-
"the chain learns",
|
|
781
|
-
"stage-aware",
|
|
782
|
-
"commit friction",
|
|
783
|
-
"interactive knowledge",
|
|
784
|
-
"capture without",
|
|
785
|
-
"front door",
|
|
786
|
-
"response envelope",
|
|
787
|
-
"knowledge organisation",
|
|
788
|
-
"graveyard",
|
|
789
|
-
"remote mcp",
|
|
790
|
-
"coaching service"
|
|
791
|
-
],
|
|
792
769
|
features: [
|
|
793
770
|
"feature",
|
|
794
771
|
"capability",
|
|
@@ -1569,19 +1546,6 @@ var PROFILES = /* @__PURE__ */ new Map([
|
|
|
1569
1546
|
COMMON_CHECKS.diverseRelations
|
|
1570
1547
|
]
|
|
1571
1548
|
}],
|
|
1572
|
-
["bets", {
|
|
1573
|
-
// BET-chain-native-constellation, DEC-70 (structuredContent), STA-1 (constellation pattern)
|
|
1574
|
-
governedDraft: false,
|
|
1575
|
-
descriptionField: "problem",
|
|
1576
|
-
defaults: [],
|
|
1577
|
-
recommendedRelationTypes: ["part_of", "constrains", "informs", "depends_on", "related_to"],
|
|
1578
|
-
qualityChecks: [
|
|
1579
|
-
COMMON_CHECKS.clearName,
|
|
1580
|
-
COMMON_CHECKS.hasDescription,
|
|
1581
|
-
COMMON_CHECKS.hasRelations,
|
|
1582
|
-
COMMON_CHECKS.hasType
|
|
1583
|
-
]
|
|
1584
|
-
}],
|
|
1585
1549
|
["maps", {
|
|
1586
1550
|
governedDraft: false,
|
|
1587
1551
|
descriptionField: "description",
|
|
@@ -2210,7 +2174,7 @@ function registerSmartCaptureTools(server) {
|
|
|
2210
2174
|
"capture",
|
|
2211
2175
|
{
|
|
2212
2176
|
title: "Capture",
|
|
2213
|
-
description: "The single tool for creating knowledge entries. Creates an entry, auto-links related entries, and returns a quality scorecard \u2014 all in one call. Provide a name and description; `collection` is optional when `capture-without-thinking` is enabled.\n\nSupported collections with smart profiles: tensions, business-rules, glossary, decisions, features, audiences, strategy, standards, maps,
|
|
2177
|
+
description: "The single tool for creating knowledge entries. Creates an entry, auto-links related entries, and returns a quality scorecard \u2014 all in one call. Provide a name and description; `collection` is optional when `capture-without-thinking` is enabled.\n\nSupported collections with smart profiles: tensions, business-rules, glossary, decisions, features, audiences, strategy, standards, maps, chains, insights, assumptions, principles, tracking-events.\nAll other collections get an ENT-{random} ID and sensible defaults.\n\n**Explicit data:** When you know the schema, pass `data: { field: value }` to set fields directly. Top-level `name` and `description` always win for those fields. `data` wins over inference for all other fields.\n\n**Compound capture:** Pass `links` to create relations in the same call (skips auto-link discovery). In Open mode, entries commit by default when `autoCommit` is omitted. Pass `autoCommit: true` to promote the entry from draft to SSOT immediately after linking when you want to be explicit. Governed collections (glossary, business-rules, principles, standards, strategy, features, architecture) will warn but still commit \u2014 use only when you're certain.\n\nEntries are created as `draft` first, then may publish immediately depending on governance and `autoCommit`. Use `update-entry` for post-creation adjustments.",
|
|
2214
2178
|
inputSchema: captureSchema.shape,
|
|
2215
2179
|
annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false }
|
|
2216
2180
|
},
|
|
@@ -2234,7 +2198,7 @@ function registerSmartCaptureTools(server) {
|
|
|
2234
2198
|
if (resolution.earlyResult) {
|
|
2235
2199
|
return resolution.earlyResult;
|
|
2236
2200
|
}
|
|
2237
|
-
|
|
2201
|
+
let resolvedCollection = resolution.resolvedCollection;
|
|
2238
2202
|
const classifierMeta = resolution.classifierMeta;
|
|
2239
2203
|
if (!resolvedCollection) {
|
|
2240
2204
|
return buildCollectionRequiredResult();
|
|
@@ -2310,6 +2274,18 @@ Or use \`collections action=list\` to see available collections.`
|
|
|
2310
2274
|
}
|
|
2311
2275
|
}
|
|
2312
2276
|
data[profile.descriptionField || "description"] = description;
|
|
2277
|
+
if (isBetCapture) {
|
|
2278
|
+
data.chainTypeId = "bet";
|
|
2279
|
+
const betContentFields = ["problem", "appetite", "elements", "architecture", "rabbitHoles", "noGos", "done_when", "buildContract", "solution"];
|
|
2280
|
+
const betLinks = {};
|
|
2281
|
+
for (const field of betContentFields) {
|
|
2282
|
+
if (data[field] !== void 0) {
|
|
2283
|
+
betLinks[field] = data[field];
|
|
2284
|
+
delete data[field];
|
|
2285
|
+
}
|
|
2286
|
+
}
|
|
2287
|
+
data.links = betLinks;
|
|
2288
|
+
}
|
|
2313
2289
|
const status = "draft";
|
|
2314
2290
|
const agentId = getAgentSessionId();
|
|
2315
2291
|
let finalEntryId;
|
|
@@ -2543,7 +2519,7 @@ Use \`entries action=get\` to inspect the existing entry, or \`update-entry\` to
|
|
|
2543
2519
|
}
|
|
2544
2520
|
}
|
|
2545
2521
|
const appUrl = process.env.PRODUCTBRAIN_APP_URL ?? "https://productbrain.io";
|
|
2546
|
-
const studioUrl = resolvedCollection === "
|
|
2522
|
+
const studioUrl = resolvedCollection === "chains" ? `${appUrl.replace(/\/$/, "")}/w/${wsCtx.workspaceSlug}/studio/${internalId}` : void 0;
|
|
2547
2523
|
if (studioUrl) {
|
|
2548
2524
|
lines.push("");
|
|
2549
2525
|
lines.push(`**View in Studio:** ${studioUrl}`);
|
|
@@ -2598,12 +2574,12 @@ Use \`entries action=get\` to inspect the existing entry, or \`update-entry\` to
|
|
|
2598
2574
|
lines.push("");
|
|
2599
2575
|
lines.push(`_To improve: \`update-entry entryId="${finalEntryId}"\` to fill missing fields._`);
|
|
2600
2576
|
}
|
|
2601
|
-
const isBetOrGoal =
|
|
2577
|
+
const isBetOrGoal = isBetCapture || resolvedCK === "bet" || resolvedCK === "goal";
|
|
2602
2578
|
const hasStrategyLink = linksCreated.some((l) => l.targetCollection === "strategy");
|
|
2603
2579
|
if (isBetOrGoal && !hasStrategyLink) {
|
|
2604
2580
|
lines.push("");
|
|
2605
2581
|
lines.push(
|
|
2606
|
-
`**Strategy link:** This ${
|
|
2582
|
+
`**Strategy link:** This ${isBetCapture ? "bet" : "goal"} doesn't connect to any strategy entry. Consider linking before commit. Use \`graph action=suggest entryId="${finalEntryId}"\` to find strategy entries to connect to.`
|
|
2607
2583
|
);
|
|
2608
2584
|
await recordSessionActivity({ strategyLinkWarnedForEntryId: internalId });
|
|
2609
2585
|
}
|
|
@@ -3331,4 +3307,4 @@ export {
|
|
|
3331
3307
|
formatRubricCoaching,
|
|
3332
3308
|
formatRubricVerdictSection
|
|
3333
3309
|
};
|
|
3334
|
-
//# sourceMappingURL=chunk-
|
|
3310
|
+
//# sourceMappingURL=chunk-XLMQ7POI.js.map
|