@brainmcp/brainmcp 0.1.15 → 0.1.16
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/README.md +1 -1
- package/dist/agent-config.js +5 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ No API keys or OAuth secrets are written to config files.
|
|
|
71
71
|
|
|
72
72
|
## Guidance included in the next release
|
|
73
73
|
|
|
74
|
-
Local source version `0.1.
|
|
74
|
+
Local source version `0.1.16` bundles guidance `2026.09.19`: clear knowledge classes,
|
|
75
75
|
proactive proposals during authorized work, explicit Rule/account-library write limits, and
|
|
76
76
|
customer-agent processing responsibility. It also retains sector discovery/filtering,
|
|
77
77
|
Neuron `brain_remember` / `brain_amend` selection, advanced `brain_change_propose` operations,
|
package/dist/agent-config.js
CHANGED
|
@@ -60,8 +60,9 @@ export const BRAIN_MCP_INITIAL_SCOPES = [
|
|
|
60
60
|
'workflows:read',
|
|
61
61
|
];
|
|
62
62
|
/** Bump when always-on guidance text changes in a way clients should refresh. */
|
|
63
|
-
export const GUIDANCE_VERSION = '2026.09.
|
|
63
|
+
export const GUIDANCE_VERSION = '2026.09.19';
|
|
64
64
|
export const BRAIN_HANDLE_CATALOG = [
|
|
65
|
+
{ idParameter: 'activityId', kind: 'activity', scope: 'workspace', template: 'brain://workspace/{workspaceId}/activity/{activityId}', resolver: 'the Activity historical-read resource (explicit graph:read and changes:read consent; follow continuation.resourceUri for complete evidence; the reference does not authorize a revert)' },
|
|
65
66
|
{ idParameter: 'nodeId', kind: 'node', scope: 'workspace', template: 'brain://workspace/{workspaceId}/ref/live/node/{nodeId}', resolver: 'brain_node_read or the live-node MCP resource' },
|
|
66
67
|
{ idParameter: 'commentId', kind: 'comment', scope: 'workspace', template: 'brain://workspace/{workspaceId}/comment/{commentId}', resolver: 'brain_comment_list(commentId) or the comment MCP resource' },
|
|
67
68
|
{ idParameter: 'ruleId', kind: 'rule', scope: 'workspace', template: 'brain://workspace/{workspaceId}/rule/{ruleId}', resolver: 'the workspace-rule MCP resource' },
|
|
@@ -124,7 +125,7 @@ export const BRAIN_REPORTING_GUIDE_MARKDOWN = [
|
|
|
124
125
|
'References: use `references` for cited nodes that should deep-link from the report without changing where the report is bound.',
|
|
125
126
|
].join('\n');
|
|
126
127
|
export const EMPTY_WORKSPACE_RESPONSE_REQUIREMENT = 'Empty-workspace response requirement: when brain_workspace_overview reports no applied Cores or Neurons, do not finish the response until you either bootstrap after explicit user authorization or explicitly tell the user the workspace is empty and offer to bootstrap it with comprehensive, durable project context. A status/overview request does not authorize graph writes. If the resolved policy is auto_apply, warn that an authorized bootstrap will become live immediately. Always report the proposal id/status, and never call the workspace populated until the proposal is applied.';
|
|
127
|
-
export const AUTHORIZED_BOOTSTRAP_DETAIL_REQUIREMENT = 'Authorized bootstrap detail requirement: study the repository comprehensively and maximize supported durable detail within one valid proposal and its operation limits. Model Cores as stable concepts. Parent a focused Neuron under exactly one Core when that broader concept genuinely owns it; allow a legitimate standalone Neuron to remain flat rather than inventing a misleading parent. Use standalone descriptions, detailed content with exact paths/commands/status/caveats/rationale, and useful described cross-Core links. Exclude secrets, personal data, raw transcripts, temporary output, speculation, and large file dumps.';
|
|
128
|
+
export const AUTHORIZED_BOOTSTRAP_DETAIL_REQUIREMENT = 'Authorized bootstrap detail requirement: study the repository comprehensively and maximize supported durable detail within one valid proposal and its operation limits. Model Cores as stable concepts. Parent a focused Neuron under exactly one Core when that broader concept genuinely owns it; allow a legitimate standalone Neuron to remain flat rather than inventing a misleading parent. Use standalone descriptions, detailed content with exact paths/commands/status/caveats/rationale, and useful described cross-Core links. Exclude secrets, personal data, raw transcripts, temporary output, speculation, and large file dumps. If the workspace description is missing and update_workspace_description is advertised, also submit a separate single-operation live proposal describing the workspace purpose and when to use it, using beforeJson.description from overview. Never mix workspace metadata and graph operations. Report both proposal IDs/statuses; an existing description should be preserved unless the user asks to change it.';
|
|
128
129
|
/** Canonical copy-paste prompt used after connection/overview to populate an empty workspace. */
|
|
129
130
|
export function buildBrainBootstrapPrompt(options = {}) {
|
|
130
131
|
const starterCores = options.starterCores ?? [];
|
|
@@ -155,7 +156,8 @@ ${coreLines}
|
|
|
155
156
|
4. Do not store secrets, credentials, personal data, raw transcripts, temporary logs/output, speculative claims, or large file dumps.
|
|
156
157
|
5. When nodes created in this proposal must reference each other, pre-assign UUID targetIds and reuse them in later operations.
|
|
157
158
|
6. Before submitting, check coverage across every major project area, verify that parent relationships reflect real conceptual ownership, and use the proposal budget efficiently. Prefer dense, focused durable knowledge over superficial node count; identify any material coverage gap that could not fit.
|
|
158
|
-
7.
|
|
159
|
+
7. If the workspace description is absent and update_workspace_description is advertised, submit a separate brain_change_propose with targetRef.type="live", targetType="workspace", targetId=workspaceId, beforeJson.description=null, and afterJson.description explaining the project purpose and when this workspace should be used (up to 1000 characters). This requires workspace:manage and changes:write and follows workspace/connection review policy. Do not mix it into the graph proposal. Preserve an existing description unless the user asks to change it.
|
|
160
|
+
8. Stop after these proposals. Report each proposal ID, returned status, affected scope, any remaining coverage gaps, and whether it was auto-applied or awaits Review. Do not claim the workspace is populated unless the proposal was applied.`;
|
|
159
161
|
}
|
|
160
162
|
export const BRAIN_BOOTSTRAP_PROMPT = buildBrainBootstrapPrompt();
|
|
161
163
|
export const MCP_OAUTH_CLIENT_IDS = {
|