@getmarrow/mcp 2.3.6 → 2.5.0

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.
@@ -1,51 +0,0 @@
1
- import { MarrowClient } from '../client.js';
2
- export declare const commitTool: {
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- decision_id: {
9
- type: string;
10
- description: string;
11
- };
12
- success: {
13
- type: string;
14
- description: string;
15
- };
16
- outcome: {
17
- type: string;
18
- description: string;
19
- };
20
- };
21
- required: string[];
22
- };
23
- };
24
- export declare const commitAliasTool: {
25
- name: string;
26
- description: string;
27
- inputSchema: {
28
- type: "object";
29
- properties: {
30
- decision_id: {
31
- type: string;
32
- description: string;
33
- };
34
- success: {
35
- type: string;
36
- description: string;
37
- };
38
- outcome: {
39
- type: string;
40
- description: string;
41
- };
42
- };
43
- required: string[];
44
- };
45
- };
46
- export declare function handleCommit(client: MarrowClient, args: Record<string, unknown>): Promise<{
47
- content: {
48
- type: "text";
49
- text: string;
50
- }[];
51
- }>;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commitAliasTool = exports.commitTool = void 0;
4
- exports.handleCommit = handleCommit;
5
- exports.commitTool = {
6
- name: 'marrow_commit',
7
- description: 'Commit the outcome of a previous decision to Marrow. Call after every task completes.',
8
- inputSchema: {
9
- type: 'object',
10
- properties: {
11
- decision_id: { type: 'string', description: 'ID from think() call' },
12
- success: { type: 'boolean', description: 'Did the task succeed?' },
13
- outcome: { type: 'string', description: 'One line outcome summary (max 2000 chars)' },
14
- },
15
- required: ['decision_id', 'success', 'outcome'],
16
- },
17
- };
18
- exports.commitAliasTool = {
19
- name: 'commit',
20
- description: exports.commitTool.description,
21
- inputSchema: exports.commitTool.inputSchema,
22
- };
23
- async function handleCommit(client, args) {
24
- if (typeof args.decision_id !== 'string' || !args.decision_id.trim()) {
25
- throw new Error('decision_id must be a non-empty string');
26
- }
27
- const result = await client.commit({
28
- decision_id: args.decision_id.trim(),
29
- success: Boolean(args.success),
30
- outcome: String(args.outcome),
31
- });
32
- const data = result.data || result;
33
- return {
34
- content: [{
35
- type: 'text',
36
- text: JSON.stringify({
37
- committed: true,
38
- decision_id: args.decision_id,
39
- accepted_as: data.accepted_as || 'outcome',
40
- summary: data.summary || 'Outcome logged to Marrow. Loop closed.',
41
- recommended_next: data.recommended_next || 'done',
42
- loop: data.loop || null,
43
- }, null, 2),
44
- }],
45
- };
46
- }
@@ -1,33 +0,0 @@
1
- import { MarrowClient } from '../client.js';
2
- export declare const orientTool: {
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- task_type: {
9
- type: string;
10
- description: string;
11
- };
12
- };
13
- };
14
- };
15
- export declare const orientAliasTool: {
16
- name: string;
17
- description: string;
18
- inputSchema: {
19
- type: "object";
20
- properties: {
21
- task_type: {
22
- type: string;
23
- description: string;
24
- };
25
- };
26
- };
27
- };
28
- export declare function handleOrient(client: MarrowClient, args: Record<string, unknown>): Promise<{
29
- content: {
30
- type: "text";
31
- text: string;
32
- }[];
33
- }>;
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.orientAliasTool = exports.orientTool = void 0;
4
- exports.handleOrient = handleOrient;
5
- exports.orientTool = {
6
- name: 'marrow_orient',
7
- description: 'Start the session with Marrow context, loop state, and a recommended next step before acting.',
8
- inputSchema: {
9
- type: 'object',
10
- properties: {
11
- task_type: { type: 'string', description: 'Optional task type: implementation, security, process, architecture, deployment' },
12
- },
13
- },
14
- };
15
- exports.orientAliasTool = {
16
- name: 'orient',
17
- description: exports.orientTool.description,
18
- inputSchema: exports.orientTool.inputSchema,
19
- };
20
- async function handleOrient(client, args) {
21
- const result = await client.orient({
22
- task_type: args.task_type ? String(args.task_type) : undefined,
23
- });
24
- return {
25
- content: [{
26
- type: 'text',
27
- text: JSON.stringify(result, null, 2),
28
- }],
29
- };
30
- }
@@ -1,15 +0,0 @@
1
- import { MarrowClient } from '../client.js';
2
- export declare const patternsTool: {
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {};
8
- };
9
- };
10
- export declare function handlePatterns(client: MarrowClient): Promise<{
11
- content: {
12
- type: "text";
13
- text: string;
14
- }[];
15
- }>;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.patternsTool = void 0;
4
- exports.handlePatterns = handlePatterns;
5
- exports.patternsTool = {
6
- name: 'patterns',
7
- description: 'Get your accumulated decision patterns and failure clusters from Marrow.',
8
- inputSchema: {
9
- type: 'object',
10
- properties: {},
11
- },
12
- };
13
- async function handlePatterns(client) {
14
- const patterns = await client.patterns();
15
- return {
16
- content: [{
17
- type: 'text',
18
- text: JSON.stringify(patterns, null, 2),
19
- }],
20
- };
21
- }
@@ -1,67 +0,0 @@
1
- import { MarrowClient } from '../client.js';
2
- export declare const thinkTool: {
3
- name: string;
4
- description: string;
5
- inputSchema: {
6
- type: "object";
7
- properties: {
8
- action: {
9
- type: string;
10
- description: string;
11
- };
12
- type: {
13
- type: string;
14
- description: string;
15
- };
16
- previous_decision_id: {
17
- type: string;
18
- description: string;
19
- };
20
- previous_success: {
21
- type: string;
22
- description: string;
23
- };
24
- previous_outcome: {
25
- type: string;
26
- description: string;
27
- };
28
- };
29
- required: string[];
30
- };
31
- };
32
- export declare const thinkAliasTool: {
33
- name: string;
34
- description: string;
35
- inputSchema: {
36
- type: "object";
37
- properties: {
38
- action: {
39
- type: string;
40
- description: string;
41
- };
42
- type: {
43
- type: string;
44
- description: string;
45
- };
46
- previous_decision_id: {
47
- type: string;
48
- description: string;
49
- };
50
- previous_success: {
51
- type: string;
52
- description: string;
53
- };
54
- previous_outcome: {
55
- type: string;
56
- description: string;
57
- };
58
- };
59
- required: string[];
60
- };
61
- };
62
- export declare function handleThink(client: MarrowClient, args: Record<string, unknown>): Promise<{
63
- content: {
64
- type: "text";
65
- text: string;
66
- }[];
67
- }>;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.thinkAliasTool = exports.thinkTool = void 0;
4
- exports.handleThink = handleThink;
5
- exports.thinkTool = {
6
- name: 'marrow_think',
7
- description: 'Log a decision to Marrow and get pattern intelligence, loop state, and a recommended next step back. Call this before significant actions and after task completions.',
8
- inputSchema: {
9
- type: 'object',
10
- properties: {
11
- action: { type: 'string', description: 'What you are about to do or just did' },
12
- type: { type: 'string', description: 'Decision type: implementation, security, process, architecture, deployment' },
13
- previous_decision_id: { type: 'string', description: 'ID from previous think() call (optional)' },
14
- previous_success: { type: 'boolean', description: 'Did the previous action succeed? (optional)' },
15
- previous_outcome: { type: 'string', description: 'One line outcome of previous action (optional, max 2000 chars)' },
16
- },
17
- required: ['action', 'type'],
18
- },
19
- };
20
- exports.thinkAliasTool = {
21
- name: 'think',
22
- description: exports.thinkTool.description,
23
- inputSchema: exports.thinkTool.inputSchema,
24
- };
25
- async function handleThink(client, args) {
26
- if (args.previous_decision_id !== undefined && (typeof args.previous_decision_id !== 'string' || !args.previous_decision_id.trim())) {
27
- throw new Error('decision_id must be a non-empty string');
28
- }
29
- const result = await client.think({
30
- action: String(args.action),
31
- type: String(args.type),
32
- previous_decision_id: typeof args.previous_decision_id === 'string' ? args.previous_decision_id.trim() : undefined,
33
- previous_success: args.previous_success !== undefined ? Boolean(args.previous_success) : undefined,
34
- previous_outcome: args.previous_outcome ? String(args.previous_outcome) : undefined,
35
- });
36
- const data = result.data || result;
37
- const intelligence = data.intelligence || {};
38
- const loop = data.loop || {};
39
- return {
40
- content: [{
41
- type: 'text',
42
- text: JSON.stringify({
43
- decision_id: data.decision_id,
44
- accepted_as: data.accepted_as || 'intent',
45
- summary: data.summary || 'Intent logged to Marrow.',
46
- insight: intelligence.insight || null,
47
- insights: intelligence.insights || [],
48
- cluster_id: intelligence.cluster_id || null,
49
- success_rate: intelligence.success_rate || 0,
50
- similar_count: intelligence.similar_count || 0,
51
- warnings: data.warnings || [],
52
- recommended_next: data.recommended_next || 'act',
53
- loop,
54
- }, null, 2),
55
- }],
56
- };
57
- }