crewly 1.6.0 → 1.6.1

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.
Files changed (98) hide show
  1. package/config/roles/orchestrator/fragments/role-boundary.md +4 -1
  2. package/config/roles/orchestrator/prompt.md +37 -0
  3. package/config/roles/orchestrator/soul.md +47 -10
  4. package/config/skills/_common/lib.sh +28 -0
  5. package/config/skills/agent/core/cancel-followup/execute.sh +0 -19
  6. package/config/skills/agent/core/list-my-followups/execute.sh +0 -19
  7. package/config/skills/agent/core/schedule-followup/execute.sh +0 -19
  8. package/config/skills/agent/core/watch-for-event/execute.sh +0 -19
  9. package/config/skills/orchestrator/credential-manager/execute.test.sh +88 -0
  10. package/dist/backend/backend/src/config/oauth.config.d.ts +33 -0
  11. package/dist/backend/backend/src/config/oauth.config.d.ts.map +1 -0
  12. package/dist/backend/backend/src/config/oauth.config.js +45 -0
  13. package/dist/backend/backend/src/config/oauth.config.js.map +1 -0
  14. package/dist/backend/backend/src/controllers/credentials/credentials.controller.d.ts +0 -26
  15. package/dist/backend/backend/src/controllers/credentials/credentials.controller.d.ts.map +1 -1
  16. package/dist/backend/backend/src/controllers/credentials/credentials.controller.js +47 -184
  17. package/dist/backend/backend/src/controllers/credentials/credentials.controller.js.map +1 -1
  18. package/dist/backend/backend/src/controllers/credentials/credentials.routes.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/credentials/credentials.routes.js +2 -1
  20. package/dist/backend/backend/src/controllers/credentials/credentials.routes.js.map +1 -1
  21. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts +40 -0
  22. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.d.ts.map +1 -0
  23. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js +162 -0
  24. package/dist/backend/backend/src/controllers/credentials/google-oauth.controller.js.map +1 -0
  25. package/dist/backend/backend/src/controllers/skill/skill.controller.d.ts.map +1 -1
  26. package/dist/backend/backend/src/controllers/skill/skill.controller.js +1 -0
  27. package/dist/backend/backend/src/controllers/skill/skill.controller.js.map +1 -1
  28. package/dist/backend/backend/src/index.d.ts.map +1 -1
  29. package/dist/backend/backend/src/index.js +23 -4
  30. package/dist/backend/backend/src/index.js.map +1 -1
  31. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  32. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  33. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  34. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +4 -1
  36. package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -1
  37. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +17 -0
  39. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  40. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts +4 -16
  41. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +7 -28
  43. package/dist/backend/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
  44. package/dist/backend/backend/src/services/mcp-server.d.ts +46 -2
  45. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/mcp-server.js +216 -211
  47. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  48. package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts +254 -0
  49. package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts.map +1 -0
  50. package/dist/backend/backend/src/services/mcp-tool-definitions.js +285 -0
  51. package/dist/backend/backend/src/services/mcp-tool-definitions.js.map +1 -0
  52. package/dist/backend/backend/src/services/project/task.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/project/task.service.js +5 -0
  54. package/dist/backend/backend/src/services/project/task.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts +41 -0
  56. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  57. package/dist/backend/backend/src/services/skill/skill-executor.service.js +136 -7
  58. package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
  59. package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
  60. package/dist/backend/backend/src/services/skill/skill.service.js +1 -0
  61. package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
  62. package/dist/backend/backend/src/types/skill.types.d.ts +9 -0
  63. package/dist/backend/backend/src/types/skill.types.d.ts.map +1 -1
  64. package/dist/backend/backend/src/types/skill.types.js.map +1 -1
  65. package/dist/backend/backend/src/utils/google-userinfo.utils.d.ts +41 -0
  66. package/dist/backend/backend/src/utils/google-userinfo.utils.d.ts.map +1 -0
  67. package/dist/backend/backend/src/utils/google-userinfo.utils.js +44 -0
  68. package/dist/backend/backend/src/utils/google-userinfo.utils.js.map +1 -0
  69. package/dist/cli/backend/src/config/oauth.config.d.ts +33 -0
  70. package/dist/cli/backend/src/config/oauth.config.d.ts.map +1 -0
  71. package/dist/cli/backend/src/config/oauth.config.js +45 -0
  72. package/dist/cli/backend/src/config/oauth.config.js.map +1 -0
  73. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts +4 -16
  74. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.d.ts.map +1 -1
  75. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js +7 -28
  76. package/dist/cli/backend/src/services/credential/helpers/gemini-cli-workspace.helper.js.map +1 -1
  77. package/dist/cli/backend/src/services/mcp-server.d.ts +46 -2
  78. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
  79. package/dist/cli/backend/src/services/mcp-server.js +216 -211
  80. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  81. package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts +254 -0
  82. package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts.map +1 -0
  83. package/dist/cli/backend/src/services/mcp-tool-definitions.js +285 -0
  84. package/dist/cli/backend/src/services/mcp-tool-definitions.js.map +1 -0
  85. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts +18 -0
  86. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  87. package/dist/cli/backend/src/services/skill/skill-executor.service.js +7 -9
  88. package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -1
  89. package/dist/cli/backend/src/types/skill.types.d.ts +9 -0
  90. package/dist/cli/backend/src/types/skill.types.d.ts.map +1 -1
  91. package/dist/cli/backend/src/types/skill.types.js.map +1 -1
  92. package/dist/cli/backend/src/utils/google-userinfo.utils.d.ts +41 -0
  93. package/dist/cli/backend/src/utils/google-userinfo.utils.d.ts.map +1 -0
  94. package/dist/cli/backend/src/utils/google-userinfo.utils.js +44 -0
  95. package/dist/cli/backend/src/utils/google-userinfo.utils.js.map +1 -0
  96. package/frontend/dist/assets/{index-9e6d97d1.js → index-70356616.js} +202 -202
  97. package/frontend/dist/index.html +1 -1
  98. package/package.json +1 -1
@@ -0,0 +1,254 @@
1
+ /**
2
+ * MCP Tool Definitions
3
+ *
4
+ * JSON Schema definitions for every tool exposed by the Crewly MCP server.
5
+ * Extracted from `mcp-server.ts` so that the server module can stay focused
6
+ * on routing + lifecycle, while tool contracts live on their own.
7
+ *
8
+ * Each entry describes the tool's public shape: `name`, `description`, and
9
+ * `inputSchema`. The server advertises these verbatim in response to the
10
+ * MCP `tools/list` request and uses the `name` to dispatch `tools/call`.
11
+ *
12
+ * @module services/mcp-tool-definitions
13
+ */
14
+ /**
15
+ * MCP tool definitions for Crewly capabilities.
16
+ * Each tool has a name, description, and JSON Schema for its input.
17
+ */
18
+ export declare const TOOL_DEFINITIONS: readonly [{
19
+ readonly name: "crewly_get_teams";
20
+ readonly description: string;
21
+ readonly inputSchema: {
22
+ readonly type: "object";
23
+ readonly properties: {
24
+ readonly teamId: {
25
+ readonly type: "string";
26
+ readonly description: "Optional: filter to a specific team by ID";
27
+ };
28
+ };
29
+ };
30
+ }, {
31
+ readonly name: "crewly_create_team";
32
+ readonly description: string;
33
+ readonly inputSchema: {
34
+ readonly type: "object";
35
+ readonly properties: {
36
+ readonly name: {
37
+ readonly type: "string";
38
+ readonly description: "Team name (e.g. \"Backend Squad\")";
39
+ };
40
+ readonly description: {
41
+ readonly type: "string";
42
+ readonly description: "Optional team description";
43
+ };
44
+ readonly members: {
45
+ readonly type: "array";
46
+ readonly description: "Array of team members to create";
47
+ readonly items: {
48
+ readonly type: "object";
49
+ readonly properties: {
50
+ readonly name: {
51
+ readonly type: "string";
52
+ readonly description: "Member name";
53
+ };
54
+ readonly role: {
55
+ readonly type: "string";
56
+ readonly description: "Member role (developer, qa, product-manager, designer, etc.)";
57
+ };
58
+ readonly runtimeType: {
59
+ readonly type: "string";
60
+ readonly enum: readonly ["claude-code", "gemini-cli", "codex-cli", "crewly-agent"];
61
+ readonly description: "AI runtime to use (default: claude-code)";
62
+ };
63
+ };
64
+ readonly required: readonly ["name", "role"];
65
+ };
66
+ };
67
+ };
68
+ readonly required: readonly ["name", "members"];
69
+ };
70
+ }, {
71
+ readonly name: "crewly_assign_task";
72
+ readonly description: string;
73
+ readonly inputSchema: {
74
+ readonly type: "object";
75
+ readonly properties: {
76
+ readonly teamId: {
77
+ readonly type: "string";
78
+ readonly description: "ID of the team the agent belongs to";
79
+ };
80
+ readonly memberId: {
81
+ readonly type: "string";
82
+ readonly description: "ID of the member to assign the task to";
83
+ };
84
+ readonly task: {
85
+ readonly type: "string";
86
+ readonly description: "Task description/instructions for the agent";
87
+ };
88
+ };
89
+ readonly required: readonly ["teamId", "memberId", "task"];
90
+ };
91
+ }, {
92
+ readonly name: "crewly_get_status";
93
+ readonly description: string;
94
+ readonly inputSchema: {
95
+ readonly type: "object";
96
+ readonly properties: {
97
+ readonly teamId: {
98
+ readonly type: "string";
99
+ readonly description: "Optional: filter to a specific team";
100
+ };
101
+ readonly memberId: {
102
+ readonly type: "string";
103
+ readonly description: "Optional: filter to a specific member within a team";
104
+ };
105
+ };
106
+ };
107
+ }, {
108
+ readonly name: "crewly_recall_memory";
109
+ readonly description: string;
110
+ readonly inputSchema: {
111
+ readonly type: "object";
112
+ readonly properties: {
113
+ readonly query: {
114
+ readonly type: "string";
115
+ readonly description: "Search query for the memory/knowledge system";
116
+ };
117
+ readonly agentId: {
118
+ readonly type: "string";
119
+ readonly description: "Optional: agent ID to scope the recall";
120
+ };
121
+ readonly projectPath: {
122
+ readonly type: "string";
123
+ readonly description: "Optional: project path to scope the recall";
124
+ };
125
+ readonly scope: {
126
+ readonly type: "string";
127
+ readonly enum: readonly ["agent", "project", "both"];
128
+ readonly description: "Memory scope to search (default: both)";
129
+ };
130
+ };
131
+ readonly required: readonly ["query"];
132
+ };
133
+ }, {
134
+ readonly name: "crewly_send_message";
135
+ readonly description: string;
136
+ readonly inputSchema: {
137
+ readonly type: "object";
138
+ readonly properties: {
139
+ readonly message: {
140
+ readonly type: "string";
141
+ readonly description: "Message content to send";
142
+ };
143
+ readonly conversationId: {
144
+ readonly type: "string";
145
+ readonly description: "Optional: conversation ID for threading (auto-generated if omitted)";
146
+ };
147
+ };
148
+ readonly required: readonly ["message"];
149
+ };
150
+ }, {
151
+ readonly name: "crewly_credential_list";
152
+ readonly description: string;
153
+ readonly inputSchema: {
154
+ readonly type: "object";
155
+ readonly properties: {
156
+ readonly type: {
157
+ readonly type: "string";
158
+ readonly enum: readonly ["api-key", "google-oauth"];
159
+ readonly description: "Optional: filter by credential type";
160
+ };
161
+ readonly provider: {
162
+ readonly type: "string";
163
+ readonly description: "Optional: filter by provider (e.g., \"google\", \"gemini\")";
164
+ };
165
+ };
166
+ };
167
+ }, {
168
+ readonly name: "crewly_credential_add_api_key";
169
+ readonly description: string;
170
+ readonly inputSchema: {
171
+ readonly type: "object";
172
+ readonly properties: {
173
+ readonly name: {
174
+ readonly type: "string";
175
+ readonly description: "User-facing name for this credential (e.g., \"gemini-main\")";
176
+ };
177
+ readonly provider: {
178
+ readonly type: "string";
179
+ readonly description: "Provider identifier (e.g., \"gemini\", \"openai\", \"anthropic\")";
180
+ };
181
+ readonly value: {
182
+ readonly type: "string";
183
+ readonly description: "The raw API key value";
184
+ };
185
+ };
186
+ readonly required: readonly ["name", "provider", "value"];
187
+ };
188
+ }, {
189
+ readonly name: "crewly_credential_oauth_import_gemini_cli";
190
+ readonly description: string;
191
+ readonly inputSchema: {
192
+ readonly type: "object";
193
+ readonly properties: {
194
+ readonly name: {
195
+ readonly type: "string";
196
+ readonly description: "Name for this credential (typically the account email or a nickname like \"info-steam-fun\")";
197
+ };
198
+ };
199
+ readonly required: readonly ["name"];
200
+ };
201
+ }, {
202
+ readonly name: "crewly_credential_clear_gemini_cli_file";
203
+ readonly description: string;
204
+ readonly inputSchema: {
205
+ readonly type: "object";
206
+ readonly properties: {};
207
+ };
208
+ }, {
209
+ readonly name: "crewly_credential_delete";
210
+ readonly description: string;
211
+ readonly inputSchema: {
212
+ readonly type: "object";
213
+ readonly properties: {
214
+ readonly id: {
215
+ readonly type: "string";
216
+ readonly description: "Credential UUID (e.g., \"cred-abc123\")";
217
+ };
218
+ };
219
+ readonly required: readonly ["id"];
220
+ };
221
+ }, {
222
+ readonly name: "crewly_execute_skill";
223
+ readonly description: string;
224
+ readonly inputSchema: {
225
+ readonly type: "object";
226
+ readonly properties: {
227
+ readonly skillId: {
228
+ readonly type: "string";
229
+ readonly description: "Skill identifier (e.g., \"skill-gmail-reader\")";
230
+ };
231
+ readonly credentialBindings: {
232
+ readonly type: "object";
233
+ readonly description: "Map of skill slot name → credential UUID. Overrides any default bound to the skill.";
234
+ readonly additionalProperties: {
235
+ readonly type: "string";
236
+ };
237
+ };
238
+ readonly userInput: {
239
+ readonly type: "string";
240
+ readonly description: "User-provided input for the skill (optional)";
241
+ };
242
+ readonly agentId: {
243
+ readonly type: "string";
244
+ readonly description: "Agent ID for context (default: \"mcp-agent\")";
245
+ };
246
+ readonly roleId: {
247
+ readonly type: "string";
248
+ readonly description: "Role ID for context (default: \"default\")";
249
+ };
250
+ };
251
+ readonly required: readonly ["skillId"];
252
+ };
253
+ }];
254
+ //# sourceMappingURL=mcp-tool-definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool-definitions.d.ts","sourceRoot":"","sources":["../../../../../backend/src/services/mcp-tool-definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwRnB,CAAC"}
@@ -0,0 +1,285 @@
1
+ /**
2
+ * MCP Tool Definitions
3
+ *
4
+ * JSON Schema definitions for every tool exposed by the Crewly MCP server.
5
+ * Extracted from `mcp-server.ts` so that the server module can stay focused
6
+ * on routing + lifecycle, while tool contracts live on their own.
7
+ *
8
+ * Each entry describes the tool's public shape: `name`, `description`, and
9
+ * `inputSchema`. The server advertises these verbatim in response to the
10
+ * MCP `tools/list` request and uses the `name` to dispatch `tools/call`.
11
+ *
12
+ * @module services/mcp-tool-definitions
13
+ */
14
+ /**
15
+ * MCP tool definitions for Crewly capabilities.
16
+ * Each tool has a name, description, and JSON Schema for its input.
17
+ */
18
+ export const TOOL_DEFINITIONS = [
19
+ {
20
+ name: 'crewly_get_teams',
21
+ description: 'List all Crewly teams and their members with current status. ' +
22
+ 'Returns team names, member roles, agent status, and working status.',
23
+ inputSchema: {
24
+ type: 'object',
25
+ properties: {
26
+ teamId: {
27
+ type: 'string',
28
+ description: 'Optional: filter to a specific team by ID',
29
+ },
30
+ },
31
+ },
32
+ },
33
+ {
34
+ name: 'crewly_create_team',
35
+ description: 'Create a new Crewly team with the specified members. ' +
36
+ 'Each member needs a name, role, and runtime type.',
37
+ inputSchema: {
38
+ type: 'object',
39
+ properties: {
40
+ name: {
41
+ type: 'string',
42
+ description: 'Team name (e.g. "Backend Squad")',
43
+ },
44
+ description: {
45
+ type: 'string',
46
+ description: 'Optional team description',
47
+ },
48
+ members: {
49
+ type: 'array',
50
+ description: 'Array of team members to create',
51
+ items: {
52
+ type: 'object',
53
+ properties: {
54
+ name: { type: 'string', description: 'Member name' },
55
+ role: {
56
+ type: 'string',
57
+ description: 'Member role (developer, qa, product-manager, designer, etc.)',
58
+ },
59
+ runtimeType: {
60
+ type: 'string',
61
+ enum: ['claude-code', 'gemini-cli', 'codex-cli', 'crewly-agent'],
62
+ description: 'AI runtime to use (default: claude-code)',
63
+ },
64
+ },
65
+ required: ['name', 'role'],
66
+ },
67
+ },
68
+ },
69
+ required: ['name', 'members'],
70
+ },
71
+ },
72
+ {
73
+ name: 'crewly_assign_task',
74
+ description: 'Assign a task to a specific agent by sending it a message via the ' +
75
+ 'message queue. The agent will receive the task content as input.',
76
+ inputSchema: {
77
+ type: 'object',
78
+ properties: {
79
+ teamId: {
80
+ type: 'string',
81
+ description: 'ID of the team the agent belongs to',
82
+ },
83
+ memberId: {
84
+ type: 'string',
85
+ description: 'ID of the member to assign the task to',
86
+ },
87
+ task: {
88
+ type: 'string',
89
+ description: 'Task description/instructions for the agent',
90
+ },
91
+ },
92
+ required: ['teamId', 'memberId', 'task'],
93
+ },
94
+ },
95
+ {
96
+ name: 'crewly_get_status',
97
+ description: 'Get the current status of a specific team or agent. Returns agent ' +
98
+ 'status (active/inactive), working status (idle/in_progress), and ' +
99
+ 'runtime type.',
100
+ inputSchema: {
101
+ type: 'object',
102
+ properties: {
103
+ teamId: {
104
+ type: 'string',
105
+ description: 'Optional: filter to a specific team',
106
+ },
107
+ memberId: {
108
+ type: 'string',
109
+ description: 'Optional: filter to a specific member within a team',
110
+ },
111
+ },
112
+ },
113
+ },
114
+ {
115
+ name: 'crewly_recall_memory',
116
+ description: 'Search team memory and knowledge base for relevant information. ' +
117
+ 'Uses keyword and semantic matching to find stored learnings, ' +
118
+ 'patterns, decisions, and documents.',
119
+ inputSchema: {
120
+ type: 'object',
121
+ properties: {
122
+ query: {
123
+ type: 'string',
124
+ description: 'Search query for the memory/knowledge system',
125
+ },
126
+ agentId: {
127
+ type: 'string',
128
+ description: 'Optional: agent ID to scope the recall',
129
+ },
130
+ projectPath: {
131
+ type: 'string',
132
+ description: 'Optional: project path to scope the recall',
133
+ },
134
+ scope: {
135
+ type: 'string',
136
+ enum: ['agent', 'project', 'both'],
137
+ description: 'Memory scope to search (default: both)',
138
+ },
139
+ },
140
+ required: ['query'],
141
+ },
142
+ },
143
+ {
144
+ name: 'crewly_send_message',
145
+ description: 'Send a message to the orchestrator via the message queue. ' +
146
+ 'The message will be queued and processed by the orchestrator.',
147
+ inputSchema: {
148
+ type: 'object',
149
+ properties: {
150
+ message: {
151
+ type: 'string',
152
+ description: 'Message content to send',
153
+ },
154
+ conversationId: {
155
+ type: 'string',
156
+ description: 'Optional: conversation ID for threading (auto-generated if omitted)',
157
+ },
158
+ },
159
+ required: ['message'],
160
+ },
161
+ },
162
+ // -------------------- Credential management --------------------
163
+ {
164
+ name: 'crewly_credential_list',
165
+ description: 'List stored credentials (OAuth accounts and API keys). Returns metadata only — actual ' +
166
+ 'token / key values are NEVER included. Use this to discover which credentials are ' +
167
+ 'available before binding one to a skill execution.',
168
+ inputSchema: {
169
+ type: 'object',
170
+ properties: {
171
+ type: {
172
+ type: 'string',
173
+ enum: ['api-key', 'google-oauth'],
174
+ description: 'Optional: filter by credential type',
175
+ },
176
+ provider: {
177
+ type: 'string',
178
+ description: 'Optional: filter by provider (e.g., "google", "gemini")',
179
+ },
180
+ },
181
+ },
182
+ },
183
+ {
184
+ name: 'crewly_credential_add_api_key',
185
+ description: 'Add an API key credential to the workspace credential store. Used for services like Gemini ' +
186
+ 'API, OpenAI API, etc. that authenticate with a static key. The key is encrypted at rest.',
187
+ inputSchema: {
188
+ type: 'object',
189
+ properties: {
190
+ name: {
191
+ type: 'string',
192
+ description: 'User-facing name for this credential (e.g., "gemini-main")',
193
+ },
194
+ provider: {
195
+ type: 'string',
196
+ description: 'Provider identifier (e.g., "gemini", "openai", "anthropic")',
197
+ },
198
+ value: {
199
+ type: 'string',
200
+ description: 'The raw API key value',
201
+ },
202
+ },
203
+ required: ['name', 'provider', 'value'],
204
+ },
205
+ },
206
+ {
207
+ name: 'crewly_credential_oauth_import_gemini_cli',
208
+ description: 'Import a Google OAuth credential from the user\'s currently-active Gemini CLI Workspace ' +
209
+ 'extension login. Call this AFTER the user has signed in via ' +
210
+ '`GEMINI_CLI_WORKSPACE_FORCE_FILE_STORAGE=true gemini` and completed the browser auth. ' +
211
+ 'Crewly reads the extension\'s token file and saves an encrypted copy. The extension\'s ' +
212
+ 'cached file remains so you can verify — call crewly_credential_clear_gemini_cli_file ' +
213
+ 'afterwards if you want to prepare for another account.',
214
+ inputSchema: {
215
+ type: 'object',
216
+ properties: {
217
+ name: {
218
+ type: 'string',
219
+ description: 'Name for this credential (typically the account email or a nickname like "info-steam-fun")',
220
+ },
221
+ },
222
+ required: ['name'],
223
+ },
224
+ },
225
+ {
226
+ name: 'crewly_credential_clear_gemini_cli_file',
227
+ description: 'Delete the Gemini CLI Workspace extension\'s cached token file. Call after a successful ' +
228
+ 'import when preparing to add a different Google account — the extension uses a single-slot ' +
229
+ 'cache, so clearing forces the next extension run to re-authenticate.',
230
+ inputSchema: {
231
+ type: 'object',
232
+ properties: {},
233
+ },
234
+ },
235
+ {
236
+ name: 'crewly_credential_delete',
237
+ description: 'Permanently delete a credential from the store (removes registry entry and encrypted ' +
238
+ 'file). Skills bound to this credential will fail until another credential is provided.',
239
+ inputSchema: {
240
+ type: 'object',
241
+ properties: {
242
+ id: {
243
+ type: 'string',
244
+ description: 'Credential UUID (e.g., "cred-abc123")',
245
+ },
246
+ },
247
+ required: ['id'],
248
+ },
249
+ },
250
+ {
251
+ name: 'crewly_execute_skill',
252
+ description: 'Execute a skill and return its output. Pass `credentialBindings` (map of slot name → ' +
253
+ 'credential UUID) to tell the skill which credential to use for each of its declared slots. ' +
254
+ 'Use crewly_credential_list first to find eligible credential IDs. Output is redacted of ' +
255
+ 'any injected secret values.',
256
+ inputSchema: {
257
+ type: 'object',
258
+ properties: {
259
+ skillId: {
260
+ type: 'string',
261
+ description: 'Skill identifier (e.g., "skill-gmail-reader")',
262
+ },
263
+ credentialBindings: {
264
+ type: 'object',
265
+ description: 'Map of skill slot name → credential UUID. Overrides any default bound to the skill.',
266
+ additionalProperties: { type: 'string' },
267
+ },
268
+ userInput: {
269
+ type: 'string',
270
+ description: 'User-provided input for the skill (optional)',
271
+ },
272
+ agentId: {
273
+ type: 'string',
274
+ description: 'Agent ID for context (default: "mcp-agent")',
275
+ },
276
+ roleId: {
277
+ type: 'string',
278
+ description: 'Role ID for context (default: "default")',
279
+ },
280
+ },
281
+ required: ['skillId'],
282
+ },
283
+ },
284
+ ];
285
+ //# sourceMappingURL=mcp-tool-definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool-definitions.js","sourceRoot":"","sources":["../../../../../backend/src/services/mcp-tool-definitions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project/task.service.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,+DAAgE,CAAC;AAC3F,MAAM,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe,gDAAiD,CAAC;AAC9E,MAAM,MAAM,YAAY,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAK1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAExE;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,CAAC,EAAE,MAAM;IAMhC,OAAO,CAAC,oBAAoB;IA+F5B;;;;;;;;OAQG;YACW,YAAY;IA6CpB,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IA4E9B,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBrC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKjD,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAIhE"}
1
+ {"version":3,"file":"task.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project/task.service.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,+DAAgE,CAAC;AAC3F,MAAM,MAAM,UAAU,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe,gDAAiD,CAAC;AAC9E,MAAM,MAAM,YAAY,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAK1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAExE;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,CAAC,EAAE,MAAM;IAMhC,OAAO,CAAC,oBAAoB;IA+F5B;;;;;;;;OAQG;YACW,YAAY;IAiDpB,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IA4E9B,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBrC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKjD,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAIhE"}
@@ -111,6 +111,11 @@ export class TaskService {
111
111
  fs.readFile(filePath, 'utf-8'),
112
112
  fs.stat(filePath),
113
113
  ]);
114
+ // Defensive: bail on anything that isn't a regular file (symlinks
115
+ // to directories, FIFOs, etc.). Reader loops upstream assume `.md`
116
+ // names map to files — this guard keeps that assumption honest.
117
+ if (!stats.isFile())
118
+ return null;
114
119
  const parsed = this.parseMarkdownContent(content);
115
120
  const fileBase = path.basename(filePath, '.md');
116
121
  const resolvedStatus = statusOverride
@@ -1 +1 @@
1
- {"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project/task.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project/task.service.ts"],"names":[],"mappings":"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"}