@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.
@@ -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, bets, 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.",
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
- const resolvedCollection = resolution.resolvedCollection;
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 === "bets" ? `${appUrl.replace(/\/$/, "")}/w/${wsCtx.workspaceSlug}/studio/${internalId}` : void 0;
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 = resolvedCollection === "bets" || resolvedCK === "bet" || resolvedCK === "goal";
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 ${resolvedCollection === "bets" ? "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.`
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-TH5AUVVM.js.map
3310
+ //# sourceMappingURL=chunk-XLMQ7POI.js.map