owner-clone-ai-mcp 2.1.0 → 2.1.2
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/domains/projectOs.js +12 -4
- package/package.json +1 -1
package/domains/projectOs.js
CHANGED
|
@@ -68,11 +68,12 @@ kind: note=メモ / decision=決定 / result=経過・実行結果 / customer=
|
|
|
68
68
|
• add_task — { title }
|
|
69
69
|
• add_goal — { title, purpose, done_criteria }
|
|
70
70
|
• create_resource — { resource_type: agent_preset|chatbot|funnel|workflow, config: { name, description } }
|
|
71
|
+
• remove_goal — { goal_id }(承認つきゴール削除。子ゴールは部分木ごと消え、タスクは残って紐付けだけ外れる)
|
|
71
72
|
⚠️ 過去に却下された提案と同じ内容は再提案しないこと(却下理由は日誌にあります)。`,
|
|
72
73
|
annotations: { destructiveHint: false, idempotentHint: true },
|
|
73
74
|
inputSchema: { type: 'object', properties: {
|
|
74
75
|
project_id: { type: 'string', description: 'プロジェクト紐付きキーなら省略可' },
|
|
75
|
-
kind: { type: 'string', enum: ['add_task', 'add_goal', 'create_resource'] },
|
|
76
|
+
kind: { type: 'string', enum: ['add_task', 'add_goal', 'create_resource', 'remove_goal'] },
|
|
76
77
|
payload: { type: 'object' },
|
|
77
78
|
reason: { type: 'string', description: '承認する人が一目で判断できる理由' },
|
|
78
79
|
goal_id: { type: 'string' },
|
|
@@ -87,9 +88,14 @@ kind: note=メモ / decision=決定 / result=経過・実行結果 / customer=
|
|
|
87
88
|
},
|
|
88
89
|
{
|
|
89
90
|
name: 'approve_project_proposal',
|
|
90
|
-
description:
|
|
91
|
+
description: `提案を承認して実行します【書き込み権限付きキーが必要】。⚠️ ユーザーから明示的に「承認して」と言われたときだけ使ってください(自分の提案を自分で承認しない)。
|
|
92
|
+
goal_plan はユーザーが「◯◯は省いて承認」と言った場合、exclude_goal_titles / exclude_task_titles(タイトル完全一致)で部分承認できます。`,
|
|
91
93
|
annotations: { destructiveHint: false, idempotentHint: false },
|
|
92
|
-
inputSchema: { type: 'object', properties: {
|
|
94
|
+
inputSchema: { type: 'object', properties: {
|
|
95
|
+
proposal_id: { type: 'string' },
|
|
96
|
+
exclude_goal_titles: { type: 'array', items: { type: 'string' }, description: '除外するゴールのタイトル(部分木ごと・完全一致)' },
|
|
97
|
+
exclude_task_titles: { type: 'array', items: { type: 'string' }, description: '除外するタスクのタイトル(完全一致)' },
|
|
98
|
+
}, required: ['proposal_id'] },
|
|
93
99
|
},
|
|
94
100
|
{
|
|
95
101
|
name: 'reject_project_proposal',
|
|
@@ -120,6 +126,7 @@ role: reference(参照) / tool(道具) / output(成果物)`,
|
|
|
120
126
|
resource_type: { type: 'string' },
|
|
121
127
|
resource_id: { type: 'string' },
|
|
122
128
|
role: { type: 'string', enum: ['reference', 'tool', 'output'] },
|
|
129
|
+
res_category: { type: 'string', enum: ['persona', 'tone', 'offer', 'evidence', 'material', 'playbook', 'other'], description: '棚カテゴリ(部署の必須要件と突合される。ナレッジは自動推定されるため通常は省略可)' },
|
|
123
130
|
}, required: ['resource_type', 'resource_id'] },
|
|
124
131
|
},
|
|
125
132
|
{
|
|
@@ -232,7 +239,8 @@ const handlers = {
|
|
|
232
239
|
`- [${p.id}] ${p.status === 'pending' ? '⏸' : p.status} ${p.kind}: ${p.reason || ''}`).join('\n');
|
|
233
240
|
},
|
|
234
241
|
async approve_project_proposal(args) {
|
|
235
|
-
const d = await callApi(`/project-os/proposals/${args.proposal_id}/approve`, { method: 'POST'
|
|
242
|
+
const d = await callApi(`/project-os/proposals/${args.proposal_id}/approve`, { method: 'POST',
|
|
243
|
+
body: JSON.stringify({ exclude_goal_titles: args.exclude_goal_titles || [], exclude_task_titles: args.exclude_task_titles || [] }) });
|
|
236
244
|
return `✅ 実行しました(${d.executed})\n結果: ${JSON.stringify(d.result)}`;
|
|
237
245
|
},
|
|
238
246
|
async reject_project_proposal(args) {
|