agents-inc 0.161.0 → 0.162.0

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 (129) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{chunk-ADDYIMWN.js → chunk-2IMHZEIK.js} +3 -3
  3. package/dist/{chunk-DHRW3MDM.js → chunk-33ZKIYJM.js} +3 -3
  4. package/dist/{chunk-DTCUZL7S.js → chunk-3JDVBHWO.js} +2 -2
  5. package/dist/{chunk-BLGETWYI.js → chunk-3QBOVV6A.js} +2 -2
  6. package/dist/{chunk-ODUACQLV.js → chunk-4KVJJJG2.js} +6 -6
  7. package/dist/{chunk-5MML3K36.js → chunk-4NAWM4OQ.js} +2 -2
  8. package/dist/{chunk-EY7Z34Y4.js → chunk-53XPSAJ4.js} +14 -14
  9. package/dist/chunk-53XPSAJ4.js.map +1 -0
  10. package/dist/{chunk-ZQZHDYHQ.js → chunk-57YWAMNT.js} +7 -7
  11. package/dist/{chunk-3M75HVIM.js → chunk-5J6DO4VW.js} +3 -3
  12. package/dist/{chunk-UMYEY6BA.js → chunk-77YZFVQD.js} +2 -2
  13. package/dist/{chunk-SX57ZIGM.js → chunk-AQSMNUKJ.js} +4 -4
  14. package/dist/{chunk-B7YTQVAF.js → chunk-BR3TNSO3.js} +4 -4
  15. package/dist/{chunk-MED6GNV3.js → chunk-C53RJ7AA.js} +9 -9
  16. package/dist/{chunk-EEFTUZHZ.js → chunk-EN5MEPAS.js} +5 -5
  17. package/dist/{chunk-B3YSTZZC.js → chunk-ES7WGE32.js} +3 -3
  18. package/dist/{chunk-BRHU6J3C.js → chunk-FL2CJ5T5.js} +3 -3
  19. package/dist/{chunk-3TM4FHTG.js → chunk-FXL63LDL.js} +2 -2
  20. package/dist/{chunk-5DWDT6GM.js → chunk-GFO55TMY.js} +10 -5
  21. package/dist/chunk-GFO55TMY.js.map +1 -0
  22. package/dist/{chunk-2MPXMJ2O.js → chunk-H2MDPOLG.js} +5 -5
  23. package/dist/{chunk-A2NA377T.js → chunk-HRVPZMKK.js} +6 -6
  24. package/dist/{chunk-6PVWDTEM.js → chunk-IMTWWA3N.js} +12 -12
  25. package/dist/{chunk-AMZO4YJK.js → chunk-IV42Z63R.js} +2 -2
  26. package/dist/{chunk-AMZO4YJK.js.map → chunk-IV42Z63R.js.map} +1 -1
  27. package/dist/{chunk-XA4SWA2Z.js → chunk-J2YG7P7L.js} +32 -6
  28. package/dist/{chunk-XA4SWA2Z.js.map → chunk-J2YG7P7L.js.map} +1 -1
  29. package/dist/{chunk-YOVUXONB.js → chunk-K26SBQLO.js} +4 -4
  30. package/dist/{chunk-EQSMVZGS.js → chunk-L65XGQKR.js} +8 -8
  31. package/dist/{chunk-264XDRU7.js → chunk-MI7LKLD7.js} +2 -2
  32. package/dist/{chunk-HB3YIAFD.js → chunk-MSUTHS2V.js} +2 -2
  33. package/dist/{chunk-W2RXRWDB.js → chunk-QM3ZNOWJ.js} +2 -2
  34. package/dist/{chunk-3H42U56X.js → chunk-RMMEYCEA.js} +2 -2
  35. package/dist/{chunk-LZPRLHUE.js → chunk-S6GX7IJ2.js} +6 -6
  36. package/dist/{chunk-T4RVCFWN.js → chunk-T2RPUNYP.js} +3 -3
  37. package/dist/{chunk-YSQ76LWG.js → chunk-UNASGGW2.js} +46 -27
  38. package/dist/chunk-UNASGGW2.js.map +1 -0
  39. package/dist/{chunk-WVCF7KFV.js → chunk-VEBEGZUV.js} +5 -5
  40. package/dist/{chunk-AO6DXJUK.js → chunk-VEONZFTL.js} +3 -3
  41. package/dist/{chunk-DGXW2ZFY.js → chunk-VFZF7LVY.js} +3 -3
  42. package/dist/{chunk-N6CILY5A.js → chunk-WIJM6BX6.js} +2 -2
  43. package/dist/{chunk-EERGAAGE.js → chunk-X6KXPRKI.js} +4 -4
  44. package/dist/{chunk-QKMT6OOP.js → chunk-XSM3IBMG.js} +2 -2
  45. package/dist/{chunk-F6LS2BQD.js → chunk-ZFPQM63K.js} +71 -9
  46. package/dist/{chunk-F6LS2BQD.js.map → chunk-ZFPQM63K.js.map} +1 -1
  47. package/dist/commands/build/marketplace.js +7 -7
  48. package/dist/commands/build/plugins.js +7 -7
  49. package/dist/commands/compile.js +10 -10
  50. package/dist/commands/doctor.js +10 -10
  51. package/dist/commands/edit.js +37 -37
  52. package/dist/commands/edit.js.map +1 -1
  53. package/dist/commands/eject.js +10 -10
  54. package/dist/commands/init.js +36 -36
  55. package/dist/commands/list.js +8 -8
  56. package/dist/commands/new/marketplace.js +7 -7
  57. package/dist/commands/search.js +15 -14
  58. package/dist/commands/search.js.map +1 -1
  59. package/dist/commands/share.js +22 -16
  60. package/dist/commands/share.js.map +1 -1
  61. package/dist/commands/uninstall.js +11 -11
  62. package/dist/commands/update.js +6 -6
  63. package/dist/components/common/removal-plan-confirm.js +2 -2
  64. package/dist/components/common/select-list.js +2 -2
  65. package/dist/components/wizard/category-grid.js +4 -4
  66. package/dist/components/wizard/checkbox-grid.js +4 -4
  67. package/dist/components/wizard/domain-selection.js +9 -9
  68. package/dist/components/wizard/run-wizard-session.js +26 -26
  69. package/dist/components/wizard/scroll-affordance.js +2 -2
  70. package/dist/components/wizard/skill-agent-summary.js +5 -5
  71. package/dist/components/wizard/source-grid.js +5 -5
  72. package/dist/components/wizard/stack-selection.js +7 -7
  73. package/dist/components/wizard/step-agents.js +8 -8
  74. package/dist/components/wizard/step-build.js +7 -7
  75. package/dist/components/wizard/step-confirm.js +9 -9
  76. package/dist/components/wizard/step-sources.js +8 -8
  77. package/dist/components/wizard/step-stack.js +8 -8
  78. package/dist/components/wizard/summary-panel.js +8 -8
  79. package/dist/components/wizard/toast.js +2 -2
  80. package/dist/components/wizard/wizard-layout.js +12 -12
  81. package/dist/components/wizard/wizard-tabs.js +2 -2
  82. package/dist/components/wizard/wizard.js +25 -25
  83. package/dist/hooks/init.js +36 -36
  84. package/dist/load-agent-defs-57YKPVQW.js +13 -0
  85. package/dist/recompile-project-agents-IQD3HRRS.js +17 -0
  86. package/dist/{source-loader-TSF5VS6V.js → source-loader-KAWB76OH.js} +4 -4
  87. package/dist/stores/wizard-store.js +4 -4
  88. package/package.json +2 -2
  89. package/dist/chunk-5DWDT6GM.js.map +0 -1
  90. package/dist/chunk-EY7Z34Y4.js.map +0 -1
  91. package/dist/chunk-YSQ76LWG.js.map +0 -1
  92. package/dist/load-agent-defs-LDSND43G.js +0 -13
  93. package/dist/recompile-project-agents-GQLODH24.js +0 -17
  94. /package/dist/{chunk-ADDYIMWN.js.map → chunk-2IMHZEIK.js.map} +0 -0
  95. /package/dist/{chunk-DHRW3MDM.js.map → chunk-33ZKIYJM.js.map} +0 -0
  96. /package/dist/{chunk-DTCUZL7S.js.map → chunk-3JDVBHWO.js.map} +0 -0
  97. /package/dist/{chunk-BLGETWYI.js.map → chunk-3QBOVV6A.js.map} +0 -0
  98. /package/dist/{chunk-ODUACQLV.js.map → chunk-4KVJJJG2.js.map} +0 -0
  99. /package/dist/{chunk-5MML3K36.js.map → chunk-4NAWM4OQ.js.map} +0 -0
  100. /package/dist/{chunk-ZQZHDYHQ.js.map → chunk-57YWAMNT.js.map} +0 -0
  101. /package/dist/{chunk-3M75HVIM.js.map → chunk-5J6DO4VW.js.map} +0 -0
  102. /package/dist/{chunk-UMYEY6BA.js.map → chunk-77YZFVQD.js.map} +0 -0
  103. /package/dist/{chunk-SX57ZIGM.js.map → chunk-AQSMNUKJ.js.map} +0 -0
  104. /package/dist/{chunk-B7YTQVAF.js.map → chunk-BR3TNSO3.js.map} +0 -0
  105. /package/dist/{chunk-MED6GNV3.js.map → chunk-C53RJ7AA.js.map} +0 -0
  106. /package/dist/{chunk-EEFTUZHZ.js.map → chunk-EN5MEPAS.js.map} +0 -0
  107. /package/dist/{chunk-B3YSTZZC.js.map → chunk-ES7WGE32.js.map} +0 -0
  108. /package/dist/{chunk-BRHU6J3C.js.map → chunk-FL2CJ5T5.js.map} +0 -0
  109. /package/dist/{chunk-3TM4FHTG.js.map → chunk-FXL63LDL.js.map} +0 -0
  110. /package/dist/{chunk-2MPXMJ2O.js.map → chunk-H2MDPOLG.js.map} +0 -0
  111. /package/dist/{chunk-A2NA377T.js.map → chunk-HRVPZMKK.js.map} +0 -0
  112. /package/dist/{chunk-6PVWDTEM.js.map → chunk-IMTWWA3N.js.map} +0 -0
  113. /package/dist/{chunk-YOVUXONB.js.map → chunk-K26SBQLO.js.map} +0 -0
  114. /package/dist/{chunk-EQSMVZGS.js.map → chunk-L65XGQKR.js.map} +0 -0
  115. /package/dist/{chunk-264XDRU7.js.map → chunk-MI7LKLD7.js.map} +0 -0
  116. /package/dist/{chunk-HB3YIAFD.js.map → chunk-MSUTHS2V.js.map} +0 -0
  117. /package/dist/{chunk-W2RXRWDB.js.map → chunk-QM3ZNOWJ.js.map} +0 -0
  118. /package/dist/{chunk-3H42U56X.js.map → chunk-RMMEYCEA.js.map} +0 -0
  119. /package/dist/{chunk-LZPRLHUE.js.map → chunk-S6GX7IJ2.js.map} +0 -0
  120. /package/dist/{chunk-T4RVCFWN.js.map → chunk-T2RPUNYP.js.map} +0 -0
  121. /package/dist/{chunk-WVCF7KFV.js.map → chunk-VEBEGZUV.js.map} +0 -0
  122. /package/dist/{chunk-AO6DXJUK.js.map → chunk-VEONZFTL.js.map} +0 -0
  123. /package/dist/{chunk-DGXW2ZFY.js.map → chunk-VFZF7LVY.js.map} +0 -0
  124. /package/dist/{chunk-N6CILY5A.js.map → chunk-WIJM6BX6.js.map} +0 -0
  125. /package/dist/{chunk-EERGAAGE.js.map → chunk-X6KXPRKI.js.map} +0 -0
  126. /package/dist/{chunk-QKMT6OOP.js.map → chunk-XSM3IBMG.js.map} +0 -0
  127. /package/dist/{load-agent-defs-LDSND43G.js.map → load-agent-defs-57YKPVQW.js.map} +0 -0
  128. /package/dist/{recompile-project-agents-GQLODH24.js.map → recompile-project-agents-IQD3HRRS.js.map} +0 -0
  129. /package/dist/{source-loader-TSF5VS6V.js.map → source-loader-KAWB76OH.js.map} +0 -0
@@ -10,7 +10,7 @@ import {
10
10
  typedFromEntries,
11
11
  typedKeys,
12
12
  typedValues
13
- } from "./chunk-BLGETWYI.js";
13
+ } from "./chunk-3QBOVV6A.js";
14
14
  import {
15
15
  AGENT_NAMES,
16
16
  AUTHOR_HANDLE_PATTERN,
@@ -80,7 +80,7 @@ import {
80
80
  seatedCatalog,
81
81
  seedAgentScope,
82
82
  validateSelection
83
- } from "./chunk-AMZO4YJK.js";
83
+ } from "./chunk-IV42Z63R.js";
84
84
  import {
85
85
  defaultCategories,
86
86
  defaultRules,
@@ -119,9 +119,31 @@ var LOCAL_DEFAULTS = {
119
119
  var SKILL_CONTENT_FILES = [STANDARD_FILES.SKILL_MD, STANDARD_FILES.REFERENCE_MD];
120
120
  var SKILL_CONTENT_DIRS = [STANDARD_DIRS.EXAMPLES, STANDARD_DIRS.SCRIPTS];
121
121
 
122
+ // src/cli/utils/string.ts
123
+ var OSC = /\u001B\][\s\S]*?(?:\u0007|\u001B\\|$)/;
124
+ var CSI = /\u001B\[[0-?]*[ -/]*[@-~]?/;
125
+ var OTHER_ESCAPE = /\u001B.?/;
126
+ var C1 = /[\u0080-\u009F]/;
127
+ var C0 = /[\u0000-\u0008\u000B-\u001F\u007F]/;
128
+ function anyOf(patterns) {
129
+ return new RegExp(patterns.map((pattern) => pattern.source).join("|"), "g");
130
+ }
131
+ var TERMINAL_CONTROLS = anyOf([OSC, CSI, OTHER_ESCAPE, C1, C0]);
132
+ function stripTerminalControls(text) {
133
+ return text.replace(TERMINAL_CONTROLS, "");
134
+ }
135
+ function truncateText(text, maxLength) {
136
+ const inert = stripTerminalControls(text);
137
+ if (inert.length <= maxLength) return inert;
138
+ return inert.slice(0, maxLength - 1) + "\u2026";
139
+ }
140
+ function toTitleCase(kebabCase) {
141
+ return kebabCase.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
142
+ }
143
+
122
144
  // src/cli/utils/errors.ts
123
145
  function getErrorMessage(error) {
124
- return error instanceof Error ? error.message : String(error);
146
+ return stripTerminalControls(error instanceof Error ? error.message : String(error));
125
147
  }
126
148
 
127
149
  // src/cli/utils/fs.ts
@@ -1245,11 +1267,11 @@ import { partition } from "remeda";
1245
1267
  // src/cli/lib/schema-validator.ts
1246
1268
  import "zod";
1247
1269
  function formatZodIssue(issue) {
1248
- const path25 = issue.path.join(".");
1270
+ const path25 = stripTerminalControls(issue.path.join("."));
1249
1271
  if (issue.code === "unrecognized_keys") {
1250
- return `Unrecognized key: "${issue.keys.join('", "')}"`;
1272
+ return `Unrecognized key: "${stripTerminalControls(issue.keys.join('", "'))}"`;
1251
1273
  }
1252
- return path25 ? `${path25}: ${issue.message}` : issue.message;
1274
+ return path25 ? `${path25}: ${stripTerminalControls(issue.message)}` : stripTerminalControls(issue.message);
1253
1275
  }
1254
1276
  function formatZodErrors(error) {
1255
1277
  return error.issues.map(formatZodIssue);
@@ -6076,17 +6098,6 @@ async function extractAllSkills(skillsDir) {
6076
6098
 
6077
6099
  // src/cli/lib/matrix/skill-resolution.ts
6078
6100
  import { unique as unique5, uniqueBy as uniqueBy3 } from "remeda";
6079
-
6080
- // src/cli/utils/string.ts
6081
- function truncateText(text, maxLength) {
6082
- if (text.length <= maxLength) return text;
6083
- return text.slice(0, maxLength - 1) + "\u2026";
6084
- }
6085
- function toTitleCase(kebabCase) {
6086
- return kebabCase.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
6087
- }
6088
-
6089
- // src/cli/lib/matrix/skill-resolution.ts
6090
6101
  var AUTO_SYNTH_ORDER = 999;
6091
6102
  function warnOnDomainDisagreement(skill, decidedBy) {
6092
6103
  if (skill.domain === decidedBy.domain) return;
@@ -6290,7 +6301,7 @@ function buildResolvedSkill(skill, _categories, relationships, slugMap) {
6290
6301
  // src/cli/lib/matrix/matrix-resolver.ts
6291
6302
  import { groupBy as groupBy4 } from "remeda";
6292
6303
  function getLabel(skill) {
6293
- return skill.displayName;
6304
+ return stripTerminalControls(skill.displayName);
6294
6305
  }
6295
6306
  function joinWithConjunction(items, conjunction) {
6296
6307
  if (items.length <= 1) return items[0] ?? "";
@@ -6310,7 +6321,11 @@ function toSelectionFacts(source) {
6310
6321
  conflictsWith: skill.conflictsWith.map((relation) => relation.skillId),
6311
6322
  discourages: skill.discourages.map((relation) => ({
6312
6323
  skillId: relation.skillId,
6313
- reason: relation.reason
6324
+ // The one author string that leaves this module without being re-rendered: the shared
6325
+ // semantics carry it through and `getCellState` hands the verdict back whole, so a
6326
+ // discouraged cell prints exactly what was put in here. Made inert on the way in, which
6327
+ // is the only point on that route this package owns.
6328
+ reason: stripTerminalControls(relation.reason)
6314
6329
  })),
6315
6330
  requires: skill.requires.map((requirement) => ({
6316
6331
  skillIds: requirement.skillIds,
@@ -6366,10 +6381,10 @@ function getUnmetRequiredBy(skillId, currentSelections) {
6366
6381
  if (!req.skillIds.includes(skillId)) continue;
6367
6382
  if (req.needsAny) {
6368
6383
  if (!req.skillIds.some((id) => selectedSet.has(id))) {
6369
- return selectedSkill.displayName;
6384
+ return getLabel(selectedSkill);
6370
6385
  }
6371
6386
  } else {
6372
- return selectedSkill.displayName;
6387
+ return getLabel(selectedSkill);
6373
6388
  }
6374
6389
  }
6375
6390
  }
@@ -6392,7 +6407,7 @@ function getUnmetRequirementsReason(skillId, currentSelections) {
6392
6407
  if (missing.length === 0) continue;
6393
6408
  const names = missing.map((id) => {
6394
6409
  const s = matrix.skills[id];
6395
- return s ? getLabel(s) : id;
6410
+ return s ? getLabel(s) : stripTerminalControls(id);
6396
6411
  });
6397
6412
  return withAuthorsReason(namesTheMissing(names, requirement.needsAny), requirement.reason);
6398
6413
  }
@@ -6422,7 +6437,10 @@ function validateConflicts(resolvedSelections) {
6422
6437
  if (conflict) {
6423
6438
  errors.push({
6424
6439
  type: "conflict",
6425
- message: `${getLabel(skillA)} conflicts with ${getLabel(getSkillById(skillBId))}: ${conflict.reason}`,
6440
+ // The author's own sentence, made inert but not shortened: this message is reported on
6441
+ // its own line rather than into a fixed-height cell, so it needs no budget the way
6442
+ // `withAuthorsReason` does — only the guarantee that a terminal will print it.
6443
+ message: `${getLabel(skillA)} conflicts with ${getLabel(getSkillById(skillBId))}: ${stripTerminalControls(conflict.reason)}`,
6426
6444
  skills: [skillA.id, skillBId]
6427
6445
  });
6428
6446
  }
@@ -6471,7 +6489,7 @@ function validateExclusivity(resolvedSelections) {
6471
6489
  if (category?.exclusive) {
6472
6490
  errors.push({
6473
6491
  type: "categoryExclusive",
6474
- message: `Category "${category.displayName}" only allows one selection, but multiple selected: ${skillIds.map((id) => getLabel(getSkillById(id))).join(", ")}`,
6492
+ message: `Category "${stripTerminalControls(category.displayName)}" only allows one selection, but multiple selected: ${skillIds.map((id) => getLabel(getSkillById(id))).join(", ")}`,
6475
6493
  skills: skillIds
6476
6494
  });
6477
6495
  }
@@ -8519,6 +8537,9 @@ function mergeLocalSkillsIntoMatrix(matrix2, localResult) {
8519
8537
  }
8520
8538
 
8521
8539
  export {
8540
+ stripTerminalControls,
8541
+ truncateText,
8542
+ toTitleCase,
8522
8543
  getErrorMessage,
8523
8544
  setVerbose,
8524
8545
  verbose,
@@ -8699,8 +8720,6 @@ export {
8699
8720
  unresolvedSkillRemovalReasons,
8700
8721
  deleteLocalSkill,
8701
8722
  migrateLocalSkillScope,
8702
- truncateText,
8703
- toTitleCase,
8704
8723
  claimSlug,
8705
8724
  getUnmetRequiredBy,
8706
8725
  getCellState,
@@ -8731,4 +8750,4 @@ export {
8731
8750
  detectMigrations,
8732
8751
  executeMigration
8733
8752
  };
8734
- //# sourceMappingURL=chunk-YSQ76LWG.js.map
8753
+ //# sourceMappingURL=chunk-UNASGGW2.js.map