@hailer/mcp 1.3.9 → 1.3.11

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 (38) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/bot/bot.d.ts +10 -0
  3. package/dist/bot/bot.d.ts.map +1 -1
  4. package/dist/bot/bot.js +189 -17
  5. package/dist/bot/bot.js.map +1 -1
  6. package/dist/bot/services/helper-prompt.d.ts +1 -1
  7. package/dist/bot/services/helper-prompt.d.ts.map +1 -1
  8. package/dist/bot/services/helper-prompt.js +60 -5
  9. package/dist/bot/services/helper-prompt.js.map +1 -1
  10. package/dist/bot/services/system-prompt.d.ts.map +1 -1
  11. package/dist/bot/services/system-prompt.js +13 -2
  12. package/dist/bot/services/system-prompt.js.map +1 -1
  13. package/dist/mcp/publish-auth-injector.d.ts +37 -9
  14. package/dist/mcp/publish-auth-injector.d.ts.map +1 -1
  15. package/dist/mcp/publish-auth-injector.js +77 -26
  16. package/dist/mcp/publish-auth-injector.js.map +1 -1
  17. package/dist/mcp/tool-profiles.d.ts.map +1 -1
  18. package/dist/mcp/tool-profiles.js +9 -0
  19. package/dist/mcp/tool-profiles.js.map +1 -1
  20. package/dist/mcp/tools/app-marketplace.d.ts +4 -0
  21. package/dist/mcp/tools/app-marketplace.d.ts.map +1 -1
  22. package/dist/mcp/tools/app-marketplace.js +299 -42
  23. package/dist/mcp/tools/app-marketplace.js.map +1 -1
  24. package/dist/mcp/tools/workflow.d.ts +1 -0
  25. package/dist/mcp/tools/workflow.d.ts.map +1 -1
  26. package/dist/mcp/tools/workflow.js +57 -1
  27. package/dist/mcp/tools/workflow.js.map +1 -1
  28. package/dist/public-chat/graduate.d.ts.map +1 -1
  29. package/dist/public-chat/graduate.js +175 -49
  30. package/dist/public-chat/graduate.js.map +1 -1
  31. package/dist/public-chat/rate-limit.js +1 -1
  32. package/dist/public-chat/rate-limit.js.map +1 -1
  33. package/dist/public-chat/studio-prewarm.js +2 -2
  34. package/dist/public-chat/studio-prewarm.js.map +1 -1
  35. package/dist/public-chat/system-prompt.d.ts.map +1 -1
  36. package/dist/public-chat/system-prompt.js +511 -286
  37. package/dist/public-chat/system-prompt.js.map +1 -1
  38. package/package.json +1 -1
@@ -57,10 +57,14 @@ var __importStar = (this && this.__importStar) || (function () {
57
57
  return result;
58
58
  };
59
59
  })();
60
+ var __importDefault = (this && this.__importDefault) || function (mod) {
61
+ return (mod && mod.__esModule) ? mod : { "default": mod };
62
+ };
60
63
  Object.defineProperty(exports, "__esModule", { value: true });
61
64
  exports.PUBLIC_CHAT_AUTHORIZE_ROUTE = void 0;
62
65
  exports.createPublicChatAuthorizeHandler = createPublicChatAuthorizeHandler;
63
66
  const crypto = __importStar(require("crypto"));
67
+ const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
64
68
  const logger_1 = require("../lib/logger");
65
69
  const config_1 = require("../config");
66
70
  const hailer_clients_1 = require("../mcp/hailer-clients");
@@ -227,20 +231,97 @@ const KNOWN_SLIDE_IDS = new Set([
227
231
  *
228
232
  * Returns `undefined` when there's nothing meaningful to forward.
229
233
  */
230
- function buildSeedContext(sessionId, viewedSlides = []) {
234
+ /**
235
+ * Summarize the demo chat into a clean, human-readable handoff message.
236
+ * Uses Haiku for speed and cost (~$0.001 per summary).
237
+ * Falls back to raw turns if summarization fails.
238
+ */
239
+ async function summarizeChat(turns) {
240
+ const apiKey = config_1.environment.ANTHROPIC_API_KEY;
241
+ if (!apiKey || turns.length === 0) {
242
+ return null;
243
+ }
244
+ const transcript = turns
245
+ .map(t => `${t.role === 'user' ? 'Visitor' : 'Bot'}: ${t.content}`)
246
+ .join('\n');
247
+ try {
248
+ const anthropic = new sdk_1.default({ apiKey });
249
+ const response = await anthropic.messages.create({
250
+ model: 'claude-haiku-4-5',
251
+ max_tokens: 300,
252
+ messages: [{ role: 'user', content: transcript }],
253
+ system: `You are summarizing a demo chat between a visitor and a sales bot on the Hailer platform. The visitor is about to sign up and a helper bot in their new workspace needs to know what was discussed.
254
+
255
+ Write a short, friendly handoff message. NO markdown, NO bold, NO asterisks, NO dashes as bullet points. Just plain sentences.
256
+
257
+ CRITICAL: If the visitor selected any marketplace templates or products, you MUST include their EXACT names in the summary. Write them as: "Selected templates: Template Name 1, Template Name 2." This is how the workspace bot knows what to install.
258
+
259
+ Format: a greeting line, then 2-4 short sentences about what was discussed, then selected templates if any. Like you're leaving a note for a colleague.
260
+
261
+ Example:
262
+ "Hey! This visitor runs a plumbing company and needs job tracking and invoicing. They liked the Sales Pipeline template and want to customize it for service calls. They also asked about team scheduling. Selected templates: Sales Pipeline, Invoice Tracker."
263
+
264
+ Keep it under 80 words. Use their language, not jargon. If the conversation was just a tour, say what features they explored.`,
265
+ });
266
+ const text = response.content[0];
267
+ if (text && text.type === 'text') {
268
+ return text.text;
269
+ }
270
+ }
271
+ catch (err) {
272
+ logger.warn('Chat summary failed, falling back to raw turns', { err });
273
+ }
274
+ return null;
275
+ }
276
+ /**
277
+ * Extract product names from chat turns. The frontend sends messages like:
278
+ * `Install the template [name: HR Onboarding] by Publisher in my workspace.`
279
+ */
280
+ function extractTemplateNames(turns) {
281
+ const names = [];
282
+ const pattern = /\[name:\s*([^\]]+)\]/g;
283
+ for (const turn of turns) {
284
+ if (turn.role !== 'user')
285
+ continue;
286
+ let match;
287
+ while ((match = pattern.exec(turn.content)) !== null) {
288
+ const name = match[1].trim();
289
+ if (name && !names.includes(name)) {
290
+ names.push(name);
291
+ }
292
+ }
293
+ }
294
+ return names;
295
+ }
296
+ async function buildSeedContext(sessionId, viewedSlides = [], productIds = []) {
231
297
  const turns = session_store_1.publicChatSessionStore.get(sessionId);
232
298
  const filteredSlides = viewedSlides.filter((id) => KNOWN_SLIDE_IDS.has(id));
233
- if ((!turns || turns.length === 0) && filteredSlides.length === 0) {
299
+ if ((!turns || turns.length === 0) && filteredSlides.length === 0 && productIds.length === 0) {
234
300
  return undefined;
235
301
  }
236
302
  const turnPayload = (turns || []).map((turn) => ({ role: turn.role, content: turn.content }));
237
- if (filteredSlides.length === 0) {
238
- // Preserve the original bare-array shape so older bots still parse it.
239
- return JSON.stringify(turnPayload);
303
+ // Extract exact product names from [name: ...] tags in user messages.
304
+ const templateNames = extractTemplateNames(turnPayload);
305
+ // Try to create a clean summary for the helper bot's first message.
306
+ const summary = await summarizeChat(turnPayload);
307
+ // If we got a clean summary, wrap it in JSON so parseSeedTurns on the
308
+ // bot side can detect the `summary` key and inject it as context.
309
+ // templateIds and templateNames ride along so the helper bot can install them.
310
+ if (summary) {
311
+ return JSON.stringify({
312
+ summary,
313
+ viewedSlides: filteredSlides,
314
+ ...(productIds.length > 0 ? { templateIds: productIds } : {}),
315
+ ...(templateNames.length > 0 ? { templateNames } : {}),
316
+ });
240
317
  }
241
- return JSON.stringify({ turns: turnPayload, viewedSlides: filteredSlides });
318
+ // Fallback: raw turns (only if summary failed)
319
+ const base = filteredSlides.length === 0 && productIds.length === 0 && templateNames.length === 0
320
+ ? turnPayload
321
+ : { turns: turnPayload, viewedSlides: filteredSlides, ...(productIds.length > 0 ? { templateIds: productIds } : {}), ...(templateNames.length > 0 ? { templateNames } : {}) };
322
+ return JSON.stringify(base);
242
323
  }
243
- /** Best-effort turn count for log output — tolerates both seedContext shapes. */
324
+ /** Best-effort turn count for log output — tolerates all seedContext shapes. */
244
325
  function countSeedTurnsForLog(seedContext) {
245
326
  if (!seedContext)
246
327
  return 0;
@@ -248,8 +329,13 @@ function countSeedTurnsForLog(seedContext) {
248
329
  const parsed = JSON.parse(seedContext);
249
330
  if (Array.isArray(parsed))
250
331
  return parsed.length;
251
- if (parsed && typeof parsed === 'object' && Array.isArray(parsed.turns)) {
252
- return (parsed.turns).length;
332
+ if (parsed && typeof parsed === 'object') {
333
+ // Summary-only format → 1 synthetic turn
334
+ if (typeof parsed.summary === 'string')
335
+ return 1;
336
+ if (Array.isArray(parsed.turns)) {
337
+ return (parsed.turns).length;
338
+ }
253
339
  }
254
340
  }
255
341
  catch {
@@ -257,6 +343,11 @@ function countSeedTurnsForLog(seedContext) {
257
343
  }
258
344
  return 0;
259
345
  }
346
+ // The bot activity's discussion is created server-side as part of activity
347
+ // creation, but can lag the createMany response by a moment. Poll the activity
348
+ // with these backoffs (ms) until its `.discussion` is present so we only ever
349
+ // deep-link to a discussion that actually exists.
350
+ const DISCUSSION_RESOLVE_BACKOFFS_MS = [0, 250, 600, 1000];
260
351
  async function createBotActivity(client, workspaceId, teamId, workflowId, deployedPhaseId, seedContext) {
261
352
  const email = generateBotEmail(workspaceId);
262
353
  const schemaConfig = JSON.stringify({
@@ -303,7 +394,37 @@ async function createBotActivity(client, workspaceId, teamId, workflowId, deploy
303
394
  if (!activityId) {
304
395
  return { error: 'Activity create returned no _id' };
305
396
  }
306
- return { activityId, activityName: activity.name, fields };
397
+ // Each activity carries its own discussion in `.discussion`. Resolve it
398
+ // so the success redirect can deep-link the visitor straight into the
399
+ // Hailer Helper discussion — but only once it actually exists. Prefer the
400
+ // createMany document; otherwise poll activities.load with backoff until
401
+ // the discussion has been created (loading the activity also confirms it
402
+ // exists before we redirect). Absence after retries is non-fatal — the
403
+ // frontend falls back to the workspace root.
404
+ let discussionId = Array.isArray(result) ? result[0]?.discussion : undefined;
405
+ for (let attempt = 0; !discussionId && attempt < DISCUSSION_RESOLVE_BACKOFFS_MS.length; attempt++) {
406
+ const delayMs = DISCUSSION_RESOLVE_BACKOFFS_MS[attempt];
407
+ if (delayMs > 0) {
408
+ await new Promise(resolve => setTimeout(resolve, delayMs));
409
+ }
410
+ try {
411
+ const loaded = await client.socket.request('activities.load', [activityId]);
412
+ discussionId = loaded?.discussion;
413
+ }
414
+ catch (loadErr) {
415
+ logger.warn('Graduation: activities.load for bot discussion id failed (will retry)', {
416
+ activityId,
417
+ attempt,
418
+ error: loadErr instanceof Error ? loadErr.message : String(loadErr),
419
+ });
420
+ }
421
+ }
422
+ if (!discussionId) {
423
+ logger.warn('Graduation: bot discussion id unresolved after retries — redirect will land at workspace root', {
424
+ activityId,
425
+ });
426
+ }
427
+ return { activityId, activityName: activity.name, fields, discussionId };
307
428
  }
308
429
  catch (err) {
309
430
  const msg = err instanceof Error ? err.message : JSON.stringify(err);
@@ -375,30 +496,18 @@ async function provisionBotInline(params) {
375
496
  return {};
376
497
  }
377
498
  async function runGraduationBackground(params) {
378
- const { sessionId, workspaceId, workflowId, deployedPhaseId, activityId, activityName, fields, apiKey, userId, viewedSlides, } = params;
499
+ const { sessionId, workspaceId, activityId, botUserId, apiKey, viewedSlides, productIds, } = params;
379
500
  try {
380
- // Provision the bot first so we know its Hailer user id before
381
- // building the Studio brief the brief tells the Studio builder to
382
- // message the Helper bot (by that id) once it's done, asking it to
383
- // offer the visitor a tour. We drive provisioning ourselves instead
384
- // of waiting for Hailer's phase webhook: local Hailer clusters don't
385
- // reliably fire webhookAdded on v3.activity.createMany, which leaves
386
- // the user in a silent workspace. handleBotConfigWebhook is idempotent
387
- // (probes for an already-provisioned bot before registering), so if
388
- // Hailer does later deliver the real webhook it's a no-op.
501
+ // Bot provisioning now runs synchronously before the redirect (so the
502
+ // visitor's client knows the bot user + its discussion the moment it
503
+ // loads). Only the Studio builder session a server-side one-shot
504
+ // build that runs for minutes stays in the background here.
389
505
  //
390
- // This runs a couple of seconds before the Studio session kicks off
391
- // (vs. the other way around previously) — acceptable, since the
392
- // Studio one-shot build then runs server-side for minutes.
393
- const { botUserId } = await provisionBotInline({
394
- workspaceId, workflowId, deployedPhaseId,
395
- activityId, activityName, fields, userId,
396
- });
397
506
  // Build the brief from the demo conversation; pair the autonomous-
398
507
  // builder persona with it only when we actually have something to
399
- // build. When the bot provisioned successfully, hand its user id and
400
- // activity id to the brief so the builder can locate the bot's
401
- // discussion and post the post-build tour handoff.
508
+ // build. Hand the Helper bot's user id and activity id to the brief so
509
+ // the builder can locate the bot's discussion and post the post-build
510
+ // tour handoff.
402
511
  const turns = session_store_1.publicChatSessionStore.get(sessionId) ?? [];
403
512
  const initialPrompt = (0, studio_prewarm_1.buildStudioInitialPrompt)(turns.map(turn => ({ role: turn.role, content: turn.content })), viewedSlides, { helperBotUserId: botUserId, helperBotActivityId: activityId });
404
513
  await (0, studio_prewarm_1.createStudioSession)({
@@ -479,6 +588,9 @@ function createPublicChatAuthorizeHandler() {
479
588
  const viewedSlides = typeof req.query.viewedSlides === 'string' && req.query.viewedSlides.length > 0
480
589
  ? req.query.viewedSlides.split(',').map((s) => s.trim()).filter(Boolean)
481
590
  : [];
591
+ const productIds = typeof req.query.productIds === 'string' && req.query.productIds.length > 0
592
+ ? req.query.productIds.split(',').map((s) => s.trim()).filter(Boolean)
593
+ : [];
482
594
  if (!UUID_REGEX.test(sessionId)) {
483
595
  res.redirect(303, completeUrl(hailerOrigin, 'error', 'Missing or invalid sessionId'));
484
596
  return;
@@ -487,7 +599,7 @@ function createPublicChatAuthorizeHandler() {
487
599
  res.redirect(303, completeUrl(hailerOrigin, 'error', 'Missing apiKey'));
488
600
  return;
489
601
  }
490
- logger.info('Public-chat graduation started', { sessionId, hailerOrigin });
602
+ logger.info('Public-chat graduation started', { sessionId, hailerOrigin, productIds });
491
603
  const client = await validateApiKeyWithRetry(apiKey);
492
604
  if ('error' in client) {
493
605
  res.redirect(303, completeUrl(hailerOrigin, 'error', client.error));
@@ -535,13 +647,15 @@ function createPublicChatAuthorizeHandler() {
535
647
  catch (err) {
536
648
  logger.warn('Graduation: persistAdminCredentials failed (continuing)', { err });
537
649
  }
538
- // Workflow install + activity create run synchronously so the
539
- // success redirect can carry the bot's discussion ID forward.
540
- // Combined they take ~1s on local Hailer (see install logs),
541
- // which is barely perceptible on top of the popup's existing
542
- // ~0.5s authorize spinner. Provisioning the bot's Hailer account
543
- // and posting the self-intro is the slow part (~2s) that stays
544
- // background so the popup closes promptly.
650
+ // Workflow install, activity create AND bot provisioning all run
651
+ // synchronously before the success redirect. The visitor's client
652
+ // loads fresh after the redirect, so everything it needs — the bot's
653
+ // Hailer user account, the activity and its discussion, and the bot's
654
+ // membership must already exist; otherwise the deep-linked discussion
655
+ // renders against a half-synced state ("Unknown User", empty) until a
656
+ // manual refresh. The extra ~2s for provisioning is worth landing the
657
+ // visitor in a fully-formed discussion. Only the long-running Studio
658
+ // builder session stays in the background.
545
659
  const install = await (0, workflow_installer_1.ensureAgentDirectoryWorkflow)(client, workspaceId);
546
660
  if (!install.success || !install.workflowId || !install.deployedPhaseId) {
547
661
  logger.error('Graduation: workflow install failed', {
@@ -550,7 +664,7 @@ function createPublicChatAuthorizeHandler() {
550
664
  res.redirect(303, completeUrl(hailerOrigin, 'error', install.error || 'Workflow install failed'));
551
665
  return;
552
666
  }
553
- const seedContext = buildSeedContext(sessionId, viewedSlides);
667
+ const seedContext = await buildSeedContext(sessionId, viewedSlides, productIds);
554
668
  const created = await createBotActivity(client, workspaceId, teamId, install.workflowId, install.deployedPhaseId, seedContext);
555
669
  if ('error' in created) {
556
670
  logger.error('Graduation: activity create failed', {
@@ -567,26 +681,38 @@ function createPublicChatAuthorizeHandler() {
567
681
  seedTurns: countSeedTurnsForLog(seedContext),
568
682
  viewedSlides: viewedSlides.length,
569
683
  });
570
- // The frontend lands the visitor in the Studio app (created in the
571
- // background task below), so we only need workspaceId for its
572
- // switchNetwork hop. botActivityId is carried forward for debugging /
573
- // a future deep-link; no discussion id is resolved — the bot lives in
574
- // messenger but is no longer the landing destination.
684
+ // Provision the bot synchronously register its Hailer account, have
685
+ // it join the discussion and post the intro BEFORE redirecting, so
686
+ // the visitor's freshly-loaded client already knows the bot user and
687
+ // its discussion (no "Unknown User" / empty-discussion race).
688
+ const { botUserId } = await provisionBotInline({
689
+ workspaceId,
690
+ workflowId: install.workflowId,
691
+ deployedPhaseId: install.deployedPhaseId,
692
+ activityId: created.activityId,
693
+ activityName: created.activityName,
694
+ fields: created.fields,
695
+ userId,
696
+ });
697
+ // Carry the ids forward on the success URL: workspaceId (kept for
698
+ // reference), botActivityId for debugging, and botDiscussionId so the
699
+ // visitor lands straight in the now fully-provisioned Hailer Helper
700
+ // discussion. botDiscussionId is only present when this flow created the
701
+ // bot — completeUrl drops undefined extras, so the frontend deep-links
702
+ // the discussion only in that case and otherwise lands at the root.
575
703
  res.redirect(303, completeUrl(hailerOrigin, 'success', undefined, {
576
704
  workspaceId,
577
705
  botActivityId: created.activityId,
706
+ botDiscussionId: created.discussionId,
578
707
  }));
579
708
  void runGraduationBackground({
580
709
  sessionId,
581
710
  workspaceId,
582
- workflowId: install.workflowId,
583
- deployedPhaseId: install.deployedPhaseId,
584
711
  activityId: created.activityId,
585
- activityName: created.activityName,
586
- fields: created.fields,
712
+ botUserId,
587
713
  apiKey,
588
- userId,
589
714
  viewedSlides,
715
+ productIds,
590
716
  });
591
717
  };
592
718
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graduate.js","sourceRoot":"","sources":["../../src/public-chat/graduate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graduate.js","sourceRoot":"","sources":["../../src/public-chat/graduate.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.checkRate = checkRate;
11
11
  exports._resetForTests = _resetForTests;
12
12
  const WINDOW_MS = 60 * 60 * 1000; // 1 hour
13
- const LIMIT = 30; // requests per IP per hour
13
+ const LIMIT = 3000; // requests per IP per hour
14
14
  const buckets = new Map();
15
15
  let lastSweep = Date.now();
16
16
  const SWEEP_INTERVAL_MS = 5 * 60 * 1000; // 5 min
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/public-chat/rate-limit.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA+BH,8BAgBC;AAGD,wCAGC;AAnDD,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAC3C,MAAM,KAAK,GAAG,EAAE,CAAC,CAAkB,2BAA2B;AAE9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE5C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEjD,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,GAAG,GAAG,SAAS,GAAG,iBAAiB;QAAE,OAAO;IAChD,SAAS,GAAG,GAAG,CAAC;IAChB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAQD,SAAgB,SAAS,CAAC,EAAU,EAAE,QAAgB,KAAK;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,+CAA+C;AAC/C,SAAgB,cAAc;IAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/public-chat/rate-limit.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA+BH,8BAgBC;AAGD,wCAGC;AAnDD,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAkB,2BAA2B;AAEhE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE5C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3B,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ;AAEjD,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,GAAG,GAAG,SAAS,GAAG,iBAAiB;QAAE,OAAO;IAChD,SAAS,GAAG,GAAG,CAAC;IAChB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAQD,SAAgB,SAAS,CAAC,EAAU,EAAE,QAAgB,KAAK;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,CAAC,GAAG,CAAC,CAAC;IAEX,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,+CAA+C;AAC/C,SAAgB,cAAc;IAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC"}
@@ -41,9 +41,9 @@ const POST_REQUEST_TIMEOUT_MS = 30000;
41
41
  */
42
42
  exports.STUDIO_BUILDER_SYSTEM_MESSAGE = [
43
43
  "You are Hailer Studio's autonomous workspace builder. Your working directory is ALREADY a fully initialized, authenticated @hailer/sdk project for the target workspace: `@hailer/sdk init` has run, `npm install` is done, and `npm run pull` has populated `workspace/` with the workspace's current configuration. Turn a single natural-language brief into a complete, working Hailer workspace — workflows, fields, phases, sample data, and a custom app UI — with no further input.",
44
- "# Division of labour (IMPORTANT)\n- Workspace STRUCTURE (workflows, fields, phases, teams, groups, insights, templates) is managed AS CODE with the @hailer/sdk CLI via this project's npm scripts. Edit the TypeScript files under `workspace/` and push them. Do NOT create structure through MCP.\n- The APP UI is scaffolded with @hailer/create-app, built against @hailer/app-sdk, and published with the project's publish script. Do NOT build app structure through MCP.\n- The Hailer MCP tools are for LIVE DATA only — seeding sample activities (create_activity) and quick reads (list_activities) to verify your work.",
44
+ "# Division of labour (IMPORTANT)\n- Workspace STRUCTURE (workflows, fields, phases, teams, groups, insights, templates) is managed AS CODE with the @hailer/sdk CLI via this project's npm scripts. Edit the TypeScript files under `workspace/` and push them. Do NOT create structure through MCP.\n- The APP UI is scaffolded with @hailer/create-app, built against @hailer/app-sdk, and published with the project's publish script. Do NOT build app structure through MCP.\n- The Hailer MCP tools are for LIVE DATA only — seeding sample activities (create_activity) and quick reads (list_activities) to verify your work.\n- MARKETPLACE: you MAY use browse_marketplace (read-only) to find a ready-made template or app that matches the brief, and RECOMMEND it in your final summary — but do NOT install it. Installing is the user's decision: they approve it in chat afterwards and the Helper bot performs the install. You still never create workspace structure through MCP.",
45
45
  "# Hailer mental model\n- Workflow (process): a pipeline with PHASES (stages) and FIELDS (typed columns).\n- Activity: one record flowing through a workflow's phases.\n- Field types: text, textarea, number, money, date, dropdown (textpredefinedoptions), checkbox, user/member, activitylink (a relation to another workflow's activities), and function (computed, e.g. line totals).\n- App: a React UI (@hailer/app-sdk) that reads/writes activities across your workflows.",
46
- "# Hard rules\n1. NEVER ask the user questions — interactive prompts are denied. When the brief is ambiguous, choose sensible defaults and state every assumption in your final summary. Always pass --force / non-interactive flags to CLI commands.\n2. Begin by reading current state: `npm run pull`, then read `workspace/workflows.ts`, `workspace/enums.ts`, and any existing `workspace/<Workflow>_<id>/` files. Reuse what fits; do not duplicate existing workflows.\n3. A field is INVISIBLE in activities until its ID is listed in the phase's `fields` array. After creating fields you MUST add their IDs to the right phase(s) and push phases.\n4. Follow the SDK ordering, and re-pull after each step to pick up server-generated IDs:\na. New workflow: add an entry WITHOUT `_id` to `workspace/workflows.ts` → `npm run workflows-sync` → `npm run pull` (generates the `WorkflowName_id/` folder).\nb. Fields: edit `workspace/<Workflow>_<id>/fields.ts` → `npm run fields-push` → `npm run pull`.\nc. Phases: edit `phases.ts`, add each new field ID to the phase `fields` arrays → `npm run phases-push` → `npm run pull`. Reference IDs through `enums.ts`, never hand-typed hex. Use activitylink fields for relations instead of duplicating data.\n5. If a push fails, read the error, fix the TypeScript, and retry — never silently skip.",
46
+ "# Hard rules\n1. NEVER ask the user questions — interactive prompts are denied. When the brief is ambiguous, choose sensible defaults and state every assumption in your final summary. Always pass --force / non-interactive flags to CLI commands.\n2. Begin by reading current state: `npm run pull`, then read `workspace/workflows.ts`, `workspace/enums.ts`, and any existing `workspace/<Workflow>_<id>/` files. Reuse what fits; do not duplicate existing workflows. Before building a new workflow from scratch, call browse_marketplace to check for an existing marketplace template or app that already covers the brief; on a strong match, do NOT install it — RECOMMEND it in your final summary (name it and what it does) so the user can decide to install it. Build from scratch only where no marketplace product fits.\n3. A field is INVISIBLE in activities until its ID is listed in the phase's `fields` array. After creating fields you MUST add their IDs to the right phase(s) and push phases.\n4. Follow the SDK ordering, and re-pull after each step to pick up server-generated IDs:\na. New workflow: add an entry WITHOUT `_id` to `workspace/workflows.ts` → `npm run workflows-sync` → `npm run pull` (generates the `WorkflowName_id/` folder).\nb. Fields: edit `workspace/<Workflow>_<id>/fields.ts` → `npm run fields-push` → `npm run pull`.\nc. Phases: edit `phases.ts`, add each new field ID to the phase `fields` arrays → `npm run phases-push` → `npm run pull`. Reference IDs through `enums.ts`, never hand-typed hex. Use activitylink fields for relations instead of duplicating data.\n5. If a push fails, read the error, fix the TypeScript, and retry — never silently skip.",
47
47
  "# Building the app (@hailer/create-app)\n1. Scaffold non-interactively: `npm create @hailer/app@latest <app-name> --template react-ts`, then `cd <app-name> && npm install`.\n2. Build the UI with @hailer/app-sdk: use the `useApp()` hook, read workflows/activities (e.g. `hailer.activity.list(...)`), and reference fields by KEY via the generated field-resolver so the app stays workspace-portable. Admin-configurable settings go in `public/manifest.json` under `config.fields`.\n3. Publish with the project's publish script for THIS environment, creating the app on first publish, e.g.:\nnpm run publish-<env> -- --create --app-name '<App Name>' --user-api-key <key> --force\nThe user API key and target API URL are in the project's `.env` / config — read them and pick the `publish-<env>` script whose API URL matches this workspace. The tool writes the new `appId` back into `manifest.json`.",
48
48
  "# Finish\nEnd with a concise summary of what you built: the workflows/fields/phases you created, the app and what it does and where it's published, and every assumption you made. Work autonomously from start to finish. Quality and completeness matter more than speed.",
49
49
  ].join('\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"studio-prewarm.js","sourceRoot":"","sources":["../../src/public-chat/studio-prewarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"studio-prewarm.js","sourceRoot":"","sources":["../../src/public-chat/studio-prewarm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/public-chat/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CACvC;AAmaD,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAE3D;AAED,eAAO,MAAM,eAAe,QAAyB,CAAC"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/public-chat/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;CACvC;AAooBD,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAE3D;AAED,eAAO,MAAM,eAAe,QAAyB,CAAC"}