@hailer/mcp 0.1.6 → 0.1.9
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/.claude/agents/agent-dmitri-activity-crud.md +3 -1
- package/.claude/agents/agent-giuseppe-app-builder.md +11 -12
- package/.claude/agents/agent-kenji-data-reader.md +5 -3
- package/.claude/hooks/sync-marketplace-agents.cjs +117 -56
- package/.claude/skills/hailer-app-builder/SKILL.md +506 -0
- package/.claude/skills/publish-hailer-app/SKILL.md +169 -0
- package/.claude/skills/tool-parameter-usage/SKILL.md +112 -0
- package/CHANGELOG.md +20 -0
- package/CLAUDE.md +37 -16
- package/REFACTOR_STATUS.md +127 -0
- package/dist/cli.js +0 -0
- package/dist/client/agents/base.d.ts +202 -0
- package/dist/client/agents/base.js +737 -0
- package/dist/client/agents/definitions.d.ts +53 -0
- package/dist/client/agents/definitions.js +178 -0
- package/dist/client/agents/orchestrator.d.ts +119 -0
- package/dist/client/agents/orchestrator.js +760 -0
- package/dist/client/agents/specialist.d.ts +86 -0
- package/dist/client/agents/specialist.js +340 -0
- package/dist/client/bot-manager.d.ts +44 -0
- package/dist/client/bot-manager.js +173 -0
- package/dist/client/chat-agent-daemon.d.ts +464 -0
- package/dist/client/chat-agent-daemon.js +1774 -0
- package/dist/client/daemon-factory.d.ts +106 -0
- package/dist/client/daemon-factory.js +301 -0
- package/dist/client/factory.d.ts +107 -0
- package/dist/client/factory.js +304 -0
- package/dist/client/index.d.ts +17 -0
- package/dist/client/index.js +38 -0
- package/dist/client/multi-bot-manager.d.ts +18 -0
- package/dist/client/multi-bot-manager.js +88 -1
- package/dist/client/orchestrator-daemon.d.ts +87 -0
- package/dist/client/orchestrator-daemon.js +444 -0
- package/dist/client/services/agent-registry.d.ts +108 -0
- package/dist/client/services/agent-registry.js +630 -0
- package/dist/client/services/conversation-manager.d.ts +50 -0
- package/dist/client/services/conversation-manager.js +136 -0
- package/dist/client/services/mcp-client.d.ts +48 -0
- package/dist/client/services/mcp-client.js +105 -0
- package/dist/client/services/message-classifier.d.ts +37 -0
- package/dist/client/services/message-classifier.js +187 -0
- package/dist/client/services/message-formatter.d.ts +84 -0
- package/dist/client/services/message-formatter.js +353 -0
- package/dist/client/services/session-logger.d.ts +106 -0
- package/dist/client/services/session-logger.js +446 -0
- package/dist/client/services/tool-executor.d.ts +41 -0
- package/dist/client/services/tool-executor.js +169 -0
- package/dist/client/services/workspace-schema-cache.d.ts +149 -0
- package/dist/client/services/workspace-schema-cache.js +732 -0
- package/dist/client/specialist-daemon.d.ts +77 -0
- package/dist/client/specialist-daemon.js +197 -0
- package/dist/client/specialists.d.ts +53 -0
- package/dist/client/specialists.js +178 -0
- package/dist/client/tool-schema-loader.d.ts +4 -3
- package/dist/client/tool-schema-loader.js +54 -8
- package/dist/client/types.d.ts +283 -55
- package/dist/client/types.js +113 -2
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/core.d.ts +10 -2
- package/dist/core.js +43 -27
- package/dist/lib/logger.js +15 -3
- package/dist/mcp/UserContextCache.js +2 -2
- package/dist/mcp/hailer-clients.js +5 -5
- package/dist/mcp/signal-handler.js +27 -5
- package/dist/mcp/tools/activity.js +137 -65
- package/dist/mcp/tools/app-core.js +4 -140
- package/dist/mcp/tools/app-marketplace.js +15 -260
- package/dist/mcp/tools/app-member.js +2 -73
- package/dist/mcp/tools/app-scaffold.js +146 -87
- package/dist/mcp/tools/discussion.js +348 -73
- package/dist/mcp/tools/insight.js +74 -190
- package/dist/mcp/tools/workflow.js +20 -94
- package/dist/mcp/utils/hailer-api-client.d.ts +4 -2
- package/dist/mcp/utils/hailer-api-client.js +24 -10
- package/dist/mcp-server.d.ts +4 -0
- package/dist/mcp-server.js +24 -4
- package/dist/routes/agents.d.ts +44 -0
- package/dist/routes/agents.js +311 -0
- package/dist/services/agent-credential-store.d.ts +73 -0
- package/dist/services/agent-credential-store.js +212 -0
- package/lineup-manager/dist/assets/index-8ce6041d.css +1 -0
- package/lineup-manager/dist/assets/index-e168f265.js +600 -0
- package/lineup-manager/dist/index.html +15 -0
- package/lineup-manager/dist/manifest.json +17 -0
- package/lineup-manager/dist/vite.svg +1 -0
- package/package.json +1 -1
- package/dist/client/adaptive-documentation-bot.d.ts +0 -106
- package/dist/client/adaptive-documentation-bot.js +0 -464
- package/dist/client/adaptive-documentation-types.d.ts +0 -66
- package/dist/client/adaptive-documentation-types.js +0 -9
- package/dist/client/agent-activity-bot.d.ts +0 -51
- package/dist/client/agent-activity-bot.js +0 -166
- package/dist/client/agent-tracker.d.ts +0 -499
- package/dist/client/agent-tracker.js +0 -659
- package/dist/client/description-updater.d.ts +0 -56
- package/dist/client/description-updater.js +0 -259
- package/dist/client/log-parser.d.ts +0 -72
- package/dist/client/log-parser.js +0 -387
- package/dist/client/mcp-assistant.d.ts +0 -21
- package/dist/client/mcp-assistant.js +0 -58
- package/dist/client/mcp-client.d.ts +0 -50
- package/dist/client/mcp-client.js +0 -538
- package/dist/client/message-processor.d.ts +0 -35
- package/dist/client/message-processor.js +0 -357
- package/dist/client/providers/anthropic-provider.d.ts +0 -19
- package/dist/client/providers/anthropic-provider.js +0 -645
- package/dist/client/providers/assistant-provider.d.ts +0 -17
- package/dist/client/providers/assistant-provider.js +0 -51
- package/dist/client/providers/llm-provider.d.ts +0 -47
- package/dist/client/providers/llm-provider.js +0 -367
- package/dist/client/providers/openai-provider.d.ts +0 -23
- package/dist/client/providers/openai-provider.js +0 -630
- package/dist/client/simple-llm-caller.d.ts +0 -19
- package/dist/client/simple-llm-caller.js +0 -100
- package/dist/client/skill-generator.d.ts +0 -81
- package/dist/client/skill-generator.js +0 -386
- package/dist/client/test-adaptive-bot.d.ts +0 -9
- package/dist/client/test-adaptive-bot.js +0 -82
- package/dist/client/token-pricing.d.ts +0 -38
- package/dist/client/token-pricing.js +0 -127
- package/dist/client/token-tracker.d.ts +0 -232
- package/dist/client/token-tracker.js +0 -457
- package/dist/client/token-usage-bot.d.ts +0 -53
- package/dist/client/token-usage-bot.js +0 -153
- package/dist/client/tool-executor.d.ts +0 -69
- package/dist/client/tool-executor.js +0 -159
- package/dist/lib/materialize.d.ts +0 -3
- package/dist/lib/materialize.js +0 -101
- package/dist/lib/normalizedName.d.ts +0 -7
- package/dist/lib/normalizedName.js +0 -48
- package/dist/lib/terminal-prompt.d.ts +0 -9
- package/dist/lib/terminal-prompt.js +0 -108
- package/dist/mcp/tools/skill.d.ts +0 -10
- package/dist/mcp/tools/skill.js +0 -279
- package/dist/mcp/tools/workflow-template.d.ts +0 -19
- package/dist/mcp/tools/workflow-template.js +0 -822
|
@@ -13,31 +13,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.installMarketplaceAppTool = exports.publishAppTool = exports.getProductManifestTool = exports.getProductTool = exports.publishTemplateTool = exports.getTemplateTool = exports.installTemplateTool = exports.createTemplateTool = exports.listTemplatesTool = void 0;
|
|
14
14
|
const zod_1 = require("zod");
|
|
15
15
|
const tool_registry_1 = require("../tool-registry");
|
|
16
|
+
const UserContextCache_1 = require("../UserContextCache");
|
|
16
17
|
const logger_1 = require("../../lib/logger");
|
|
17
18
|
const tool_helpers_1 = require("../utils/tool-helpers");
|
|
18
19
|
const logger = (0, logger_1.createLogger)({ component: 'app-marketplace' });
|
|
19
|
-
const listTemplatesDescription =
|
|
20
|
-
|
|
21
|
-
**What it does**:
|
|
22
|
-
Lists all workflow templates available in the Hailer marketplace.
|
|
23
|
-
|
|
24
|
-
**Example**:
|
|
25
|
-
\`\`\`javascript
|
|
26
|
-
list_templates()
|
|
27
|
-
\`\`\`
|
|
28
|
-
|
|
29
|
-
**Shows**:
|
|
30
|
-
- Template name and description
|
|
31
|
-
- Template ID
|
|
32
|
-
- Creator info
|
|
33
|
-
- Installation status
|
|
34
|
-
|
|
35
|
-
**Use Cases**:
|
|
36
|
-
- Discover available templates
|
|
37
|
-
- Find template IDs for installation
|
|
38
|
-
- Browse marketplace offerings
|
|
39
|
-
|
|
40
|
-
**Note**: Products created with \`create_template\` are workspace-specific and won't appear here until published to the public marketplace.`;
|
|
20
|
+
const listTemplatesDescription = `List marketplace templates`;
|
|
41
21
|
exports.listTemplatesTool = {
|
|
42
22
|
name: 'list_templates',
|
|
43
23
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -143,31 +123,7 @@ exports.listTemplatesTool = {
|
|
|
143
123
|
// ============================================================================
|
|
144
124
|
// CREATE TEMPLATE TOOL (MARKETPLACE)
|
|
145
125
|
// ============================================================================
|
|
146
|
-
const createTemplateDescription =
|
|
147
|
-
|
|
148
|
-
**What it does**:
|
|
149
|
-
Creates a new workflow template in the Hailer marketplace.
|
|
150
|
-
|
|
151
|
-
**Example**:
|
|
152
|
-
\`\`\`javascript
|
|
153
|
-
create_template({
|
|
154
|
-
name: 'Project Management',
|
|
155
|
-
description: 'Template for managing projects',
|
|
156
|
-
workflowId: '<source-workflow-id>'
|
|
157
|
-
})
|
|
158
|
-
\`\`\`
|
|
159
|
-
|
|
160
|
-
**Parameters**:
|
|
161
|
-
- \`name\` (required) - Template name
|
|
162
|
-
- \`description\` (optional) - Template description
|
|
163
|
-
- \`workflowId\` (optional) - Source workflow to create template from
|
|
164
|
-
|
|
165
|
-
**Requirements**:
|
|
166
|
-
- User must be workspace administrator
|
|
167
|
-
|
|
168
|
-
**Tips**:
|
|
169
|
-
- Create template from existing workflow
|
|
170
|
-
- Use descriptive names for discoverability`;
|
|
126
|
+
const createTemplateDescription = `Create marketplace template`;
|
|
171
127
|
exports.createTemplateTool = {
|
|
172
128
|
name: 'create_template',
|
|
173
129
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -251,27 +207,7 @@ exports.createTemplateTool = {
|
|
|
251
207
|
// ============================================================================
|
|
252
208
|
// INSTALL TEMPLATE TOOL (MARKETPLACE)
|
|
253
209
|
// ============================================================================
|
|
254
|
-
const installTemplateDescription =
|
|
255
|
-
|
|
256
|
-
**What it does**:
|
|
257
|
-
Installs a template from the Hailer marketplace into your workspace.
|
|
258
|
-
|
|
259
|
-
**Example**:
|
|
260
|
-
\`\`\`javascript
|
|
261
|
-
install_template({
|
|
262
|
-
templateId: '<template-id>'
|
|
263
|
-
})
|
|
264
|
-
\`\`\`
|
|
265
|
-
|
|
266
|
-
**Parameters**:
|
|
267
|
-
- \`templateId\` (required) - Template/Product ID from marketplace
|
|
268
|
-
|
|
269
|
-
**Requirements**:
|
|
270
|
-
- User must be workspace administrator
|
|
271
|
-
|
|
272
|
-
**Tips**:
|
|
273
|
-
- Use \`list_templates\` to find template IDs
|
|
274
|
-
- Template creates new workflow(s) in workspace`;
|
|
210
|
+
const installTemplateDescription = `Install marketplace template to workspace`;
|
|
275
211
|
exports.installTemplateTool = {
|
|
276
212
|
name: 'install_template',
|
|
277
213
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -308,6 +244,11 @@ exports.installTemplateTool = {
|
|
|
308
244
|
logger.debug('Template installation response', {
|
|
309
245
|
result: JSON.stringify(result)
|
|
310
246
|
});
|
|
247
|
+
// Invalidate user context cache so subsequent list_workflows calls get fresh data
|
|
248
|
+
UserContextCache_1.UserContextCache.clearContext(context.apiKey);
|
|
249
|
+
logger.info('Cleared user context cache after template install', {
|
|
250
|
+
apiKey: context.apiKey.substring(0, 8) + '...'
|
|
251
|
+
});
|
|
311
252
|
const appId = result?.appId || result?._id;
|
|
312
253
|
let responseText = `✅ **Template Installed Successfully**\n\n`;
|
|
313
254
|
responseText += `**Template ID:** \`${args.templateId}\`\n`;
|
|
@@ -369,28 +310,7 @@ exports.installTemplateTool = {
|
|
|
369
310
|
// ============================================================================
|
|
370
311
|
// GET TEMPLATE TOOL (MARKETPLACE)
|
|
371
312
|
// ============================================================================
|
|
372
|
-
const getTemplateDescription =
|
|
373
|
-
|
|
374
|
-
**What it does**:
|
|
375
|
-
Retrieves detailed information about a specific marketplace template.
|
|
376
|
-
|
|
377
|
-
**Example**:
|
|
378
|
-
\`\`\`javascript
|
|
379
|
-
get_template({
|
|
380
|
-
templateId: '<template-id>'
|
|
381
|
-
})
|
|
382
|
-
\`\`\`
|
|
383
|
-
|
|
384
|
-
**Shows**:
|
|
385
|
-
- Template name and description
|
|
386
|
-
- Template version
|
|
387
|
-
- Included workflows
|
|
388
|
-
- Manifest information
|
|
389
|
-
|
|
390
|
-
**Use Cases**:
|
|
391
|
-
- Preview template before installing
|
|
392
|
-
- Check template version
|
|
393
|
-
- View template structure`;
|
|
313
|
+
const getTemplateDescription = `Get template details from marketplace`;
|
|
394
314
|
exports.getTemplateTool = {
|
|
395
315
|
name: 'get_template',
|
|
396
316
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -497,66 +417,7 @@ exports.getTemplateTool = {
|
|
|
497
417
|
// ============================================================================
|
|
498
418
|
// PUBLISH TEMPLATE TOOL (MARKETPLACE)
|
|
499
419
|
// ============================================================================
|
|
500
|
-
const publishTemplateDescription =
|
|
501
|
-
|
|
502
|
-
**What it does**:
|
|
503
|
-
Publishes the current workspace as a template to the Hailer marketplace, making it installable by other workspaces.
|
|
504
|
-
|
|
505
|
-
**Example - New Template**:
|
|
506
|
-
\`\`\`javascript
|
|
507
|
-
publish_template({
|
|
508
|
-
title: 'Football Manager',
|
|
509
|
-
description: 'Complete football club management workspace',
|
|
510
|
-
version: '1.0.0',
|
|
511
|
-
versionDescription: 'Initial release with Players, Matches, Training workflows',
|
|
512
|
-
publisher: 'Hailer Oy',
|
|
513
|
-
iconFileId: '692d3e66e98c7bab4af7f0a1'
|
|
514
|
-
})
|
|
515
|
-
\`\`\`
|
|
516
|
-
|
|
517
|
-
**Example - Update Existing Template**:
|
|
518
|
-
\`\`\`javascript
|
|
519
|
-
publish_template({
|
|
520
|
-
productId: '692d46bfca77093f10b0c09a', // Existing product ID
|
|
521
|
-
title: 'Football Manager',
|
|
522
|
-
description: 'Updated description',
|
|
523
|
-
version: '1.1.0',
|
|
524
|
-
versionDescription: 'Fixed icon and added new features',
|
|
525
|
-
publisher: 'Hailer Oy',
|
|
526
|
-
iconFileId: '692d47adf9383bd1a9e26d78'
|
|
527
|
-
})
|
|
528
|
-
\`\`\`
|
|
529
|
-
|
|
530
|
-
**Required Parameters** (gather ALL before calling):
|
|
531
|
-
- \`title\` - Template name (max 64 chars)
|
|
532
|
-
- \`description\` - Template description (max 4096 chars)
|
|
533
|
-
- \`version\` - Version string (e.g. "1.0.0")
|
|
534
|
-
- \`versionDescription\` - Release notes for this version
|
|
535
|
-
- \`publisher\` - Publishing company/person name
|
|
536
|
-
- \`iconFileId\` - Icon file ID (upload with \`upload_files\` first)
|
|
537
|
-
|
|
538
|
-
**Optional Parameters**:
|
|
539
|
-
- \`productId\` - Existing product ID to UPDATE (omit to create new)
|
|
540
|
-
- \`imageFileIds\` - Array of preview image file IDs
|
|
541
|
-
- \`externalUrl\` - External website URL
|
|
542
|
-
|
|
543
|
-
**IMPORTANT**: A PreToolUse hook will BLOCK this call if required fields are missing.
|
|
544
|
-
Gather ALL information from user BEFORE calling this tool.
|
|
545
|
-
|
|
546
|
-
**Workflow**:
|
|
547
|
-
1. Ask user for template details (name, description, version, etc.)
|
|
548
|
-
2. Ask user for icon (URL, path, or existing fileId)
|
|
549
|
-
3. Upload icon with \`upload_files\`
|
|
550
|
-
4. Call \`publish_template\` with ALL fields
|
|
551
|
-
5. To UPDATE: include \`productId\` from previous publish
|
|
552
|
-
|
|
553
|
-
**What Gets Published**:
|
|
554
|
-
- The ENTIRE current workspace is published as a template
|
|
555
|
-
- All workflows, fields, phases are included
|
|
556
|
-
|
|
557
|
-
**After Publishing**:
|
|
558
|
-
- Template appears in \`list_templates()\`
|
|
559
|
-
- Other workspaces can install with \`install_template()\``;
|
|
420
|
+
const publishTemplateDescription = `Publish workspace as marketplace template`;
|
|
560
421
|
exports.publishTemplateTool = {
|
|
561
422
|
name: 'publish_template',
|
|
562
423
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -742,19 +603,7 @@ exports.publishTemplateTool = {
|
|
|
742
603
|
// =============================================================================
|
|
743
604
|
// GET PRODUCT (v3) TOOL
|
|
744
605
|
// =============================================================================
|
|
745
|
-
const getProductDescription =
|
|
746
|
-
|
|
747
|
-
**What it does**:
|
|
748
|
-
Retrieves detailed information about a marketplace product using v3 API.
|
|
749
|
-
|
|
750
|
-
**Example**:
|
|
751
|
-
\`\`\`javascript
|
|
752
|
-
get_product({
|
|
753
|
-
productId: '692994df55996e1201963cd7'
|
|
754
|
-
})
|
|
755
|
-
\`\`\`
|
|
756
|
-
|
|
757
|
-
**Returns**: Product details including versions, workflows, and configuration`;
|
|
606
|
+
const getProductDescription = `Get product details from marketplace`;
|
|
758
607
|
exports.getProductTool = {
|
|
759
608
|
name: 'get_product',
|
|
760
609
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -815,19 +664,7 @@ exports.getProductTool = {
|
|
|
815
664
|
// =============================================================================
|
|
816
665
|
// GET PRODUCT MANIFEST (v3) TOOL
|
|
817
666
|
// =============================================================================
|
|
818
|
-
const getProductManifestDescription =
|
|
819
|
-
|
|
820
|
-
**What it does**:
|
|
821
|
-
Retrieves the manifest for a marketplace product, which may include version and workflow information.
|
|
822
|
-
|
|
823
|
-
**Example**:
|
|
824
|
-
\`\`\`javascript
|
|
825
|
-
get_product_manifest({
|
|
826
|
-
productId: '692994df55996e1201963cd7'
|
|
827
|
-
})
|
|
828
|
-
\`\`\`
|
|
829
|
-
|
|
830
|
-
**Returns**: Product manifest with version details`;
|
|
667
|
+
const getProductManifestDescription = `Get product manifest from marketplace`;
|
|
831
668
|
exports.getProductManifestTool = {
|
|
832
669
|
name: 'get_product_manifest',
|
|
833
670
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -882,68 +719,7 @@ exports.getProductManifestTool = {
|
|
|
882
719
|
// =============================================================================
|
|
883
720
|
// PUBLISH APP TO MARKETPLACE TOOL
|
|
884
721
|
// =============================================================================
|
|
885
|
-
const publishAppDescription =
|
|
886
|
-
|
|
887
|
-
**What it does**:
|
|
888
|
-
Publishes an existing app to the Hailer marketplace, making it installable by other workspaces.
|
|
889
|
-
|
|
890
|
-
**IMPORTANT**: This is different from \`publish_hailer_app\` which deploys code to Hailer hosting.
|
|
891
|
-
This tool creates a **marketplace listing** so other workspaces can discover and install your app.
|
|
892
|
-
|
|
893
|
-
**Example - New Marketplace Listing**:
|
|
894
|
-
\`\`\`javascript
|
|
895
|
-
publish_app({
|
|
896
|
-
appId: '692d3e66e98c7bab4af7f0a1',
|
|
897
|
-
versionId: '692d3e66e98c7bab4af7f0a3', // From publish_hailer_app response
|
|
898
|
-
title: 'Task Manager Pro',
|
|
899
|
-
description: 'Advanced task management with Kanban boards',
|
|
900
|
-
version: '1.0.0',
|
|
901
|
-
versionDescription: 'Initial release with drag-drop support',
|
|
902
|
-
publisher: 'Hailer Oy',
|
|
903
|
-
iconFileId: '692d3e66e98c7bab4af7f0a2'
|
|
904
|
-
})
|
|
905
|
-
\`\`\`
|
|
906
|
-
|
|
907
|
-
**Example - Update Existing Listing**:
|
|
908
|
-
\`\`\`javascript
|
|
909
|
-
publish_app({
|
|
910
|
-
appId: '692d3e66e98c7bab4af7f0a1',
|
|
911
|
-
versionId: '692d3e66e98c7bab4af7f0a3',
|
|
912
|
-
productId: '692d46bfca77093f10b0c09a', // Existing product ID
|
|
913
|
-
title: 'Task Manager Pro',
|
|
914
|
-
description: 'Updated description',
|
|
915
|
-
version: '1.1.0',
|
|
916
|
-
versionDescription: 'Added dark mode support',
|
|
917
|
-
publisher: 'Hailer Oy',
|
|
918
|
-
iconFileId: '692d47adf9383bd1a9e26d78'
|
|
919
|
-
})
|
|
920
|
-
\`\`\`
|
|
921
|
-
|
|
922
|
-
**Required Parameters** (gather ALL before calling):
|
|
923
|
-
- \`appId\` - App ID to publish (must be a published app, not dev)
|
|
924
|
-
- \`versionId\` - Version ID from \`publish_hailer_app\` response (the targetId for marketplace)
|
|
925
|
-
- \`title\` - Marketplace listing name (max 64 chars)
|
|
926
|
-
- \`description\` - Full description (max 4096 chars)
|
|
927
|
-
- \`version\` - Version string (e.g. "1.0.0")
|
|
928
|
-
- \`versionDescription\` - Release notes for this version
|
|
929
|
-
- \`publisher\` - Publishing company/person name
|
|
930
|
-
- \`iconFileId\` - Icon file ID (upload with \`upload_files\` first)
|
|
931
|
-
|
|
932
|
-
**Optional Parameters**:
|
|
933
|
-
- \`productId\` - Existing product ID to UPDATE (omit to create new)
|
|
934
|
-
- \`imageFileIds\` - Array of preview image file IDs
|
|
935
|
-
- \`externalUrl\` - External documentation URL
|
|
936
|
-
|
|
937
|
-
**Workflow**:
|
|
938
|
-
1. Create and publish app with \`publish_hailer_app\` (deploys code, returns versionId)
|
|
939
|
-
2. Upload icon with \`upload_files\`
|
|
940
|
-
3. Call \`publish_app\` with versionId to create marketplace listing
|
|
941
|
-
4. Other workspaces can install with \`install_marketplace_app\`
|
|
942
|
-
|
|
943
|
-
**After Publishing**:
|
|
944
|
-
- App appears in marketplace
|
|
945
|
-
- Share the product ID with other workspaces
|
|
946
|
-
- They install with \`install_marketplace_app({ productId: "..." })\``;
|
|
722
|
+
const publishAppDescription = `Publish app to Hailer marketplace`;
|
|
947
723
|
exports.publishAppTool = {
|
|
948
724
|
name: 'publish_app',
|
|
949
725
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -1153,28 +929,7 @@ exports.publishAppTool = {
|
|
|
1153
929
|
// =============================================================================
|
|
1154
930
|
// INSTALL MARKETPLACE APP TOOL
|
|
1155
931
|
// =============================================================================
|
|
1156
|
-
const installMarketplaceAppDescription =
|
|
1157
|
-
|
|
1158
|
-
**What it does**:
|
|
1159
|
-
Installs an app from the Hailer marketplace into your workspace.
|
|
1160
|
-
|
|
1161
|
-
**Example**:
|
|
1162
|
-
\`\`\`javascript
|
|
1163
|
-
install_marketplace_app({
|
|
1164
|
-
productId: '692d46bfca77093f10b0c09a'
|
|
1165
|
-
})
|
|
1166
|
-
\`\`\`
|
|
1167
|
-
|
|
1168
|
-
**Parameters**:
|
|
1169
|
-
- \`productId\` (required) - Marketplace product ID
|
|
1170
|
-
|
|
1171
|
-
**Requirements**:
|
|
1172
|
-
- User must be workspace administrator
|
|
1173
|
-
|
|
1174
|
-
**Tips**:
|
|
1175
|
-
- Get product ID from app publisher or marketplace
|
|
1176
|
-
- Use \`get_product\` to preview app details before installing
|
|
1177
|
-
- Installed app appears in workspace app list`;
|
|
932
|
+
const installMarketplaceAppDescription = `Install app from marketplace`;
|
|
1178
933
|
exports.installMarketplaceAppTool = {
|
|
1179
934
|
name: 'install_marketplace_app',
|
|
1180
935
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -13,48 +13,7 @@ const tool_registry_1 = require("../tool-registry");
|
|
|
13
13
|
const logger_1 = require("../../lib/logger");
|
|
14
14
|
const tool_helpers_1 = require("../utils/tool-helpers");
|
|
15
15
|
const logger = (0, logger_1.createLogger)({ component: 'app-member' });
|
|
16
|
-
const addAppMemberDescription =
|
|
17
|
-
|
|
18
|
-
**What it does**:
|
|
19
|
-
Grants permission for users, teams, or entire workspace to access an app.
|
|
20
|
-
|
|
21
|
-
**Member Formats**:
|
|
22
|
-
- \`network_<workspaceId>\` - Entire workspace
|
|
23
|
-
- \`team_<teamId>\` - Specific team
|
|
24
|
-
- \`user_<userId>\` - Individual user
|
|
25
|
-
- \`group_<groupId>\` - Custom group
|
|
26
|
-
|
|
27
|
-
**Example - Share with workspace**:
|
|
28
|
-
\`\`\`javascript
|
|
29
|
-
add_app_member({
|
|
30
|
-
appId: '<app-id>',
|
|
31
|
-
member: 'network_68446c045b30685f67c6fc8c'
|
|
32
|
-
})
|
|
33
|
-
\`\`\`
|
|
34
|
-
|
|
35
|
-
**Example - Share with team**:
|
|
36
|
-
\`\`\`javascript
|
|
37
|
-
add_app_member({
|
|
38
|
-
appId: '<app-id>',
|
|
39
|
-
member: 'team_<team-id>'
|
|
40
|
-
})
|
|
41
|
-
\`\`\`
|
|
42
|
-
|
|
43
|
-
**Example - Share with user**:
|
|
44
|
-
\`\`\`javascript
|
|
45
|
-
add_app_member({
|
|
46
|
-
appId: '<app-id>',
|
|
47
|
-
member: 'user_<user-id>'
|
|
48
|
-
})
|
|
49
|
-
\`\`\`
|
|
50
|
-
|
|
51
|
-
**Requirements**:
|
|
52
|
-
- User must be app creator or workspace admin
|
|
53
|
-
|
|
54
|
-
**Tips**:
|
|
55
|
-
- Default: Only creator and admins see app
|
|
56
|
-
- Use network_ to make app available to everyone
|
|
57
|
-
- Use team_ for team-specific apps`;
|
|
16
|
+
const addAppMemberDescription = `Share app with users/teams`;
|
|
58
17
|
exports.addAppMemberTool = {
|
|
59
18
|
name: 'add_app_member',
|
|
60
19
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|
|
@@ -146,37 +105,7 @@ exports.addAppMemberTool = {
|
|
|
146
105
|
// ============================================================================
|
|
147
106
|
// REMOVE APP MEMBER TOOL
|
|
148
107
|
// ============================================================================
|
|
149
|
-
const removeAppMemberDescription =
|
|
150
|
-
|
|
151
|
-
**What it does**:
|
|
152
|
-
Revokes permission for users, teams, or workspace to access an app.
|
|
153
|
-
|
|
154
|
-
**Example - Remove workspace access**:
|
|
155
|
-
\`\`\`javascript
|
|
156
|
-
remove_app_member({
|
|
157
|
-
appId: '<app-id>',
|
|
158
|
-
member: 'network_68446c045b30685f67c6fc8c'
|
|
159
|
-
})
|
|
160
|
-
\`\`\`
|
|
161
|
-
|
|
162
|
-
**Example - Remove team access**:
|
|
163
|
-
\`\`\`javascript
|
|
164
|
-
remove_app_member({
|
|
165
|
-
appId: '<app-id>',
|
|
166
|
-
member: 'team_<team-id>'
|
|
167
|
-
})
|
|
168
|
-
\`\`\`
|
|
169
|
-
|
|
170
|
-
**Requirements**:
|
|
171
|
-
- User must be app creator or workspace admin
|
|
172
|
-
|
|
173
|
-
**Notes**:
|
|
174
|
-
- Creator and admins always retain access
|
|
175
|
-
- Removing workspace revokes access from all members
|
|
176
|
-
|
|
177
|
-
**Tips**:
|
|
178
|
-
- Use \`list_apps\` to get app IDs
|
|
179
|
-
- Member format same as add_app_member`;
|
|
108
|
+
const removeAppMemberDescription = `Revoke app access from user/team`;
|
|
180
109
|
exports.removeAppMemberTool = {
|
|
181
110
|
name: 'remove_app_member',
|
|
182
111
|
group: tool_registry_1.ToolGroup.PLAYGROUND,
|