@integrity-labs/agt-cli 0.27.5 → 0.27.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  claudeModelAlias,
3
3
  isClaudeFastMode
4
- } from "./chunk-JTZZ6YB2.js";
4
+ } from "./chunk-YSBGIXJG.js";
5
5
  import {
6
6
  reapOrphanChannelMcps
7
7
  } from "./chunk-XWVM4KPK.js";
@@ -1116,4 +1116,4 @@ export {
1116
1116
  stopAllSessionsAndWait,
1117
1117
  getProjectDir
1118
1118
  };
1119
- //# sourceMappingURL=chunk-CCCMFNP4.js.map
1119
+ //# sourceMappingURL=chunk-GN4XPQWJ.js.map
@@ -9,7 +9,7 @@ import {
9
9
  parseDeliveryTarget,
10
10
  registerFramework,
11
11
  wrapScheduledTaskPrompt
12
- } from "./chunk-JTZZ6YB2.js";
12
+ } from "./chunk-YSBGIXJG.js";
13
13
 
14
14
  // ../../packages/core/dist/integrations/registry.js
15
15
  var INTEGRATION_REGISTRY = [
@@ -2378,6 +2378,8 @@ context. You do not need to read files manually.
2378
2378
  ${body}
2379
2379
  `;
2380
2380
  }
2381
+ var INTEGRATIONS_SECTION_START = "<!-- AGT:INTEGRATIONS_START -->";
2382
+ var INTEGRATIONS_SECTION_END = "<!-- AGT:INTEGRATIONS_END -->";
2381
2383
  function buildIntegrationsSection(integrations) {
2382
2384
  if (!integrations?.length)
2383
2385
  return "";
@@ -2389,7 +2391,8 @@ function buildIntegrationsSection(integrations) {
2389
2391
  const intro = hasAnyCli ? `You have the following integrations configured. Where a CLI is listed,
2390
2392
  use it instead of web fetch, curl, or MCP \u2014 the CLI handles auth
2391
2393
  automatically via pre-configured environment variables.` : "You have the following integrations configured.";
2392
- return `## Integrations
2394
+ return `${INTEGRATIONS_SECTION_START}
2395
+ ## Integrations
2393
2396
 
2394
2397
  ${intro}
2395
2398
 
@@ -2397,6 +2400,85 @@ ${lines.join("\n")}
2397
2400
 
2398
2401
  Check \`.claude/skills/\` for detailed usage instructions for each integration.
2399
2402
 
2403
+ ${INTEGRATIONS_SECTION_END}
2404
+
2405
+ `;
2406
+ }
2407
+ function buildCapabilityPromptSection(integrations) {
2408
+ const hasIntegrations = (integrations?.length ?? 0) > 0;
2409
+ const integrationGuidance = hasIntegrations ? `**3 must be derived from your actual integrations** listed in \xA7Integrations
2410
+ above. Don't invent ones you don't have. For each, name the integration and
2411
+ give a copy-paste-ready prompt the user can echo back:
2412
+ - \`Try: "Summarise our open Linear issues for me"\` \u2014 for an agent with
2413
+ Linear.
2414
+ - \`Try: "Drop a wrap-up in #design-team for today"\` \u2014 for an agent with
2415
+ Slack and an obvious channel.
2416
+ - \`Try: "Pull Xero's last 30 days of expense by category"\` \u2014 for an
2417
+ agent with Xero.
2418
+
2419
+ 2. **2 must come from this generic-capability library** (pick 2, randomised
2420
+ so you don't return the same pair every time):
2421
+ - "Create a Sales/Finance/Ops dashboard with the metrics that matter most"
2422
+ - "Remind me about an important task at a specific time"
2423
+ - "Summarise my week / draft an exec brief"
2424
+ - "Plan a project \u2014 break it into milestones and a working board"
2425
+ - "Find context on a topic across our docs and recent conversations"
2426
+ - "Run a short retro on something I'm stuck on"
2427
+ - "Watch for a condition and ping me when it changes"` : `**Pick 5 from this generic-capability library** (randomised so you don't
2428
+ return the same set every time):
2429
+ - "Create a Sales/Finance/Ops dashboard with the metrics that matter most"
2430
+ - "Remind me about an important task at a specific time"
2431
+ - "Summarise my week / draft an exec brief"
2432
+ - "Plan a project \u2014 break it into milestones and a working board"
2433
+ - "Find context on a topic across our docs and recent conversations"
2434
+ - "Run a short retro on something I'm stuck on"
2435
+ - "Watch for a condition and ping me when it changes"
2436
+
2437
+ Once you have integrations configured, prefer those over generic prompts \u2014
2438
+ they're more useful because they reference real connected systems.`;
2439
+ return `## "What can you do for me?"
2440
+
2441
+ When a user opens with a discovery question \u2014 **"What can you do for me?"**,
2442
+ **"What are you good at?"**, **"How can you help?"**, **"What can you do?"**,
2443
+ **"Give me some examples"**, or any close synonym \u2014 respond with **5 concrete,
2444
+ copy-paste-ready example prompts**, not an abstract capability list. Match
2445
+ intent, not exact strings.
2446
+
2447
+ ### How to compose the answer
2448
+
2449
+ ${integrationGuidance}
2450
+
2451
+ ### Format
2452
+
2453
+ Lead with one short sentence framing yourself (one line, your role + team).
2454
+ Then a bulleted list of exactly 5 \`Try: "..."\` lines. End with a
2455
+ single-sentence invitation to send any of them back.
2456
+
2457
+ Example shape (don't copy verbatim \u2014 substitute your real integrations and
2458
+ mix in two from the generic library):
2459
+
2460
+ \`\`\`
2461
+ I'm <display_name>, the <role> in <team> at <org>. Here are 5 things to
2462
+ try right now:
2463
+
2464
+ - Try: "<integration-derived prompt 1>"
2465
+ - Try: "<integration-derived prompt 2>"
2466
+ - Try: "<integration-derived prompt 3>"
2467
+ - Try: "<generic library prompt 1>"
2468
+ - Try: "<generic library prompt 2>"
2469
+
2470
+ Pick any of those and send it back, or ask me something more specific.
2471
+ \`\`\`
2472
+
2473
+ ### Anti-patterns
2474
+
2475
+ - Do NOT list integrations as bare capabilities ("I have Slack access");
2476
+ show what the user could DO with them.
2477
+ - Do NOT exceed 5 examples. Inbox real estate is finite and operators
2478
+ scan, they don't read.
2479
+ - Do NOT return the same set on consecutive asks within a session \u2014
2480
+ rotate at least one of the generic-library picks.
2481
+
2400
2482
  `;
2401
2483
  }
2402
2484
  function buildKanbanWorkPolicySection() {
@@ -2872,6 +2954,7 @@ function generateClaudeMd(input) {
2872
2954
  const kanbanUrl = consoleUrl ? `${consoleUrl}/agents/${frontmatter.agent_id}?tab=kanban` : null;
2873
2955
  const memorySection = buildMemorySection(hasQmd);
2874
2956
  const integrationsSection = buildIntegrationsSection(integrations);
2957
+ const capabilityPromptSection = buildCapabilityPromptSection(integrations);
2875
2958
  const knowledgeSection = buildKnowledgeSection2(knowledge);
2876
2959
  const kanbanWorkPolicySection = buildKanbanWorkPolicySection();
2877
2960
  const skillAuthoringSection = buildSkillAuthoringSection();
@@ -3125,7 +3208,7 @@ first to load your recent board state. This gives you context about completed an
3125
3208
  in-progress items so you can answer accurately.
3126
3209
 
3127
3210
  ${memorySection}
3128
- ${reportsToSection}${teamSection}${peopleSection}${multiAgentSection}${integrationsSection}${knowledgeSection}${kanbanWorkPolicySection}${skillAuthoringSection}## Dashboards
3211
+ ${reportsToSection}${teamSection}${peopleSection}${multiAgentSection}${integrationsSection}${capabilityPromptSection}${knowledgeSection}${kanbanWorkPolicySection}${skillAuthoringSection}## Dashboards
3129
3212
 
3130
3213
  You can publish your own dashboards inside the Augmented console. They are
3131
3214
  **first-class platform artifacts** \u2014 KPI tiles, charts, refresh-on-demand \u2014
@@ -5204,9 +5287,14 @@ ${sections}`
5204
5287
  try {
5205
5288
  const existing = readFileSync5(claudeMdPath, "utf-8");
5206
5289
  const newSection = buildIntegrationsSection(summariesForSidecar);
5290
+ const sentinelStart = INTEGRATIONS_SECTION_START.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
5291
+ const sentinelEnd = INTEGRATIONS_SECTION_END.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
5292
+ const sentinelPattern = new RegExp(`${sentinelStart}[\\s\\S]*?${sentinelEnd}\\n*`);
5207
5293
  let updated;
5208
- if (existing.includes("## Integrations")) {
5209
- updated = existing.replace(/## Integrations[\s\S]*?(?=## Rules)/, newSection);
5294
+ if (sentinelPattern.test(existing)) {
5295
+ updated = existing.replace(sentinelPattern, newSection);
5296
+ } else if (existing.includes("## Integrations")) {
5297
+ updated = existing.replace(/## Integrations[\s\S]*?(?=\n##\s|$)/, newSection.trimEnd() + "\n\n");
5210
5298
  } else {
5211
5299
  updated = existing.replace("## Rules", `${newSection}## Rules`);
5212
5300
  }
@@ -6661,6 +6749,8 @@ async function managerUninstallSystemUnitCommand() {
6661
6749
  export {
6662
6750
  getIntegration,
6663
6751
  extractCommandNotFound,
6752
+ INTEGRATIONS_SECTION_START,
6753
+ INTEGRATIONS_SECTION_END,
6664
6754
  estimateActiveTasksTokens,
6665
6755
  provisionStopHook,
6666
6756
  provisionIsolationHook,
@@ -6695,4 +6785,4 @@ export {
6695
6785
  managerInstallSystemUnitCommand,
6696
6786
  managerUninstallSystemUnitCommand
6697
6787
  };
6698
- //# sourceMappingURL=chunk-OCJVKUTS.js.map
6788
+ //# sourceMappingURL=chunk-IB655E5U.js.map