agents-inc 0.171.0 → 0.173.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 (93) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/{chunk-W4KAY26P.js → chunk-2RTBSLSR.js} +12 -3
  3. package/dist/{chunk-W4KAY26P.js.map → chunk-2RTBSLSR.js.map} +1 -1
  4. package/dist/{chunk-WM2N2D6Q.js → chunk-3N4FSTVX.js} +12 -6
  5. package/dist/{chunk-WM2N2D6Q.js.map → chunk-3N4FSTVX.js.map} +1 -1
  6. package/dist/{chunk-ZC6GC66J.js → chunk-3R3LHA4Q.js} +2 -2
  7. package/dist/{chunk-24OD7IP4.js → chunk-7OG635DK.js} +26 -4
  8. package/dist/chunk-7OG635DK.js.map +1 -0
  9. package/dist/{chunk-WDH6HHA3.js → chunk-A3ZAXL5T.js} +4 -5
  10. package/dist/{chunk-WDH6HHA3.js.map → chunk-A3ZAXL5T.js.map} +1 -1
  11. package/dist/{chunk-KMOCMVK5.js → chunk-AARQBW5L.js} +106 -60
  12. package/dist/chunk-AARQBW5L.js.map +1 -0
  13. package/dist/{chunk-WII6GOPM.js → chunk-BRZA7ZCX.js} +52 -31
  14. package/dist/chunk-BRZA7ZCX.js.map +1 -0
  15. package/dist/{chunk-AWWCRL5A.js → chunk-EHJIQDXR.js} +8 -6
  16. package/dist/{chunk-AWWCRL5A.js.map → chunk-EHJIQDXR.js.map} +1 -1
  17. package/dist/{chunk-RDXY4GRO.js → chunk-F437ICEG.js} +2 -2
  18. package/dist/chunk-G7NUK3BF.js +253 -0
  19. package/dist/chunk-G7NUK3BF.js.map +1 -0
  20. package/dist/{chunk-7IVLVEHX.js → chunk-ITQF35UQ.js} +3 -3
  21. package/dist/{chunk-QIR56IDM.js → chunk-LJQXQTFC.js} +29 -102
  22. package/dist/chunk-LJQXQTFC.js.map +1 -0
  23. package/dist/{chunk-A6OWEJGC.js → chunk-MHAQWMNJ.js} +35 -5
  24. package/dist/{chunk-A6OWEJGC.js.map → chunk-MHAQWMNJ.js.map} +1 -1
  25. package/dist/{chunk-YLUOGAW7.js → chunk-N33AKFLR.js} +2 -2
  26. package/dist/{chunk-TNFYBKVD.js → chunk-Q4UNHVPX.js} +25 -14
  27. package/dist/chunk-Q4UNHVPX.js.map +1 -0
  28. package/dist/chunk-Q6WRR4BN.js +195 -0
  29. package/dist/chunk-Q6WRR4BN.js.map +1 -0
  30. package/dist/{chunk-JGPE4RRE.js → chunk-SPQSNZMM.js} +2 -2
  31. package/dist/{chunk-EOKNEGRD.js → chunk-VR6QTK5Z.js} +8 -8
  32. package/dist/{chunk-S2SKVJT2.js → chunk-VSPC74SS.js} +48 -26
  33. package/dist/chunk-VSPC74SS.js.map +1 -0
  34. package/dist/{chunk-3YYHL76L.js → chunk-WVFBBZEP.js} +648 -394
  35. package/dist/chunk-WVFBBZEP.js.map +1 -0
  36. package/dist/commands/build/marketplace.js +16 -14
  37. package/dist/commands/build/marketplace.js.map +1 -1
  38. package/dist/commands/build/plugins.js +6 -6
  39. package/dist/commands/compile.js +12 -12
  40. package/dist/commands/doctor.js +87 -86
  41. package/dist/commands/doctor.js.map +1 -1
  42. package/dist/commands/edit.js +150 -152
  43. package/dist/commands/edit.js.map +1 -1
  44. package/dist/commands/eject.js +25 -30
  45. package/dist/commands/eject.js.map +1 -1
  46. package/dist/commands/init.js +19 -16
  47. package/dist/commands/list.js +14 -17
  48. package/dist/commands/list.js.map +1 -1
  49. package/dist/commands/new/marketplace.js +4 -4
  50. package/dist/commands/search.js +15 -13
  51. package/dist/commands/search.js.map +1 -1
  52. package/dist/commands/share.js +11 -11
  53. package/dist/commands/uninstall.js +145 -130
  54. package/dist/commands/uninstall.js.map +1 -1
  55. package/dist/commands/update.js +6 -6
  56. package/dist/components/common/scroll-affordance.js +2 -2
  57. package/dist/components/common/select-list.js +2 -2
  58. package/dist/components/common/skill-agent-summary.js +3 -4
  59. package/dist/components/common/summary-panel.js +11 -146
  60. package/dist/components/common/summary-panel.js.map +1 -1
  61. package/dist/hooks/init.js +39 -27
  62. package/dist/hooks/init.js.map +1 -1
  63. package/dist/load-agent-defs-E67DSYTN.js +14 -0
  64. package/dist/{recompile-project-agents-IQANWGOP.js → recompile-project-agents-6G6M2RS6.js} +8 -8
  65. package/dist/{source-loader-YGG7DY2W.js → source-loader-W7XCNKNA.js} +4 -4
  66. package/dist/src/agents/tester/web-tester/playbook.md +1 -1
  67. package/package.json +1 -1
  68. package/src/agents/tester/web-tester/playbook.md +1 -1
  69. package/dist/chunk-24OD7IP4.js.map +0 -1
  70. package/dist/chunk-3YYHL76L.js.map +0 -1
  71. package/dist/chunk-4RQKCV6I.js +0 -103
  72. package/dist/chunk-4RQKCV6I.js.map +0 -1
  73. package/dist/chunk-5FM77WKW.js +0 -69
  74. package/dist/chunk-5FM77WKW.js.map +0 -1
  75. package/dist/chunk-KMOCMVK5.js.map +0 -1
  76. package/dist/chunk-QIR56IDM.js.map +0 -1
  77. package/dist/chunk-R572RLTI.js +0 -108
  78. package/dist/chunk-R572RLTI.js.map +0 -1
  79. package/dist/chunk-S2SKVJT2.js.map +0 -1
  80. package/dist/chunk-TNFYBKVD.js.map +0 -1
  81. package/dist/chunk-WII6GOPM.js.map +0 -1
  82. package/dist/components/common/removal-plan-confirm.js +0 -10
  83. package/dist/load-agent-defs-UBWITIEI.js +0 -14
  84. package/dist/source-loader-YGG7DY2W.js.map +0 -1
  85. /package/dist/{chunk-ZC6GC66J.js.map → chunk-3R3LHA4Q.js.map} +0 -0
  86. /package/dist/{chunk-RDXY4GRO.js.map → chunk-F437ICEG.js.map} +0 -0
  87. /package/dist/{chunk-7IVLVEHX.js.map → chunk-ITQF35UQ.js.map} +0 -0
  88. /package/dist/{chunk-YLUOGAW7.js.map → chunk-N33AKFLR.js.map} +0 -0
  89. /package/dist/{chunk-JGPE4RRE.js.map → chunk-SPQSNZMM.js.map} +0 -0
  90. /package/dist/{chunk-EOKNEGRD.js.map → chunk-VR6QTK5Z.js.map} +0 -0
  91. /package/dist/{components/common/removal-plan-confirm.js.map → load-agent-defs-E67DSYTN.js.map} +0 -0
  92. /package/dist/{recompile-project-agents-IQANWGOP.js.map → recompile-project-agents-6G6M2RS6.js.map} +0 -0
  93. /package/dist/{load-agent-defs-UBWITIEI.js.map → source-loader-W7XCNKNA.js.map} +0 -0
@@ -10664,7 +10664,7 @@ var DISCOURAGED_PAIRS = Object.values(CATALOG.skillsById).flatMap(
10664
10664
 
10665
10665
  // ../matrix/src/seed.ts
10666
10666
  import { z as z3 } from "zod";
10667
- var SEED_VERSION = 6;
10667
+ var SEED_VERSION = 7;
10668
10668
  var seedModelSchema = z3.enum(["opus", "fable", "sonnet", "haiku"]);
10669
10669
  var seedEffortSchema = z3.enum([
10670
10670
  "low",
@@ -10692,6 +10692,8 @@ var seedAgentSchema = z3.object({
10692
10692
  });
10693
10693
  var MAX_EXTERNAL_SKILL_BYTES = 262144;
10694
10694
  var SKILL_MANIFEST = "SKILL.md";
10695
+ var PATH_SEPARATOR = /[/\\]/;
10696
+ var PARENT_DIRECTORY = "..";
10695
10697
  var treeBytes = (files) => {
10696
10698
  const encoder = new TextEncoder();
10697
10699
  return Object.values(files).reduce(
@@ -10699,10 +10701,19 @@ var treeBytes = (files) => {
10699
10701
  0
10700
10702
  );
10701
10703
  };
10704
+ var leavesItsDirectory = (key) => key.includes("\0") || key.split(PATH_SEPARATOR).includes(PARENT_DIRECTORY);
10702
10705
  var seedSkillTreeSchema = z3.record(z3.string().min(1), z3.string()).refine((files) => SKILL_MANIFEST in files, {
10703
10706
  message: `a skill directory must hold ${SKILL_MANIFEST}`
10704
10707
  }).refine((files) => treeBytes(files) <= MAX_EXTERNAL_SKILL_BYTES, {
10705
10708
  message: `a skill directory may not exceed ${String(MAX_EXTERNAL_SKILL_BYTES)} bytes`
10709
+ }).superRefine((files, ctx) => {
10710
+ for (const key of Object.keys(files).filter(leavesItsDirectory)) {
10711
+ ctx.addIssue({
10712
+ code: "custom",
10713
+ path: [key],
10714
+ message: "a skill directory's files must stay inside it, so no path may step through '..' or hold a null byte"
10715
+ });
10716
+ }
10706
10717
  });
10707
10718
  var seedExternalSkillSchema = z3.object({
10708
10719
  displayName: z3.string().min(1),
@@ -10724,6 +10735,8 @@ var seedPayloadSchema = z3.object({
10724
10735
  description: z3.string().exactOptional(),
10725
10736
  // As `--marketplace` takes it; absent is the public catalogue.
10726
10737
  marketplace: z3.string().exactOptional(),
10738
+ // Minted inside a project, whose run adds to the global install but changes nothing it holds.
10739
+ fromProject: z3.literal(true).exactOptional(),
10727
10740
  // Presence is selection.
10728
10741
  skills: z3.record(z3.string(), seedSkillSchema),
10729
10742
  // For ids no catalogue can resolve.
@@ -10741,7 +10754,6 @@ var isUnwritablePair = (agents, skillScope, agent) => {
10741
10754
  var unwritableSeedAssignments = (payload) => Object.entries(payload.skills).flatMap(
10742
10755
  ([skillId, skill]) => Object.keys(skill.assignments).filter((agent) => isUnwritablePair(payload.agents, skill.scope, agent)).map((agent) => ({ skillId, agent }))
10743
10756
  );
10744
- var PATH_SEPARATOR = /[/\\]/;
10745
10757
  var isControlCode = (code) => code <= 31 || code >= 127 && code <= 159;
10746
10758
  var holdsAControl = (id) => Array.from(id, (character) => character.charCodeAt(0)).some(isControlCode);
10747
10759
  var namesOneDirectory = (id) => id !== "" && id !== "." && id !== ".." && !PATH_SEPARATOR.test(id) && !holdsAControl(id);
@@ -10981,6 +10993,7 @@ function sourceDirName(provider) {
10981
10993
  }
10982
10994
 
10983
10995
  // src/cli/consts.ts
10996
+ import { isIPv4 } from "net";
10984
10997
  import os from "os";
10985
10998
  import path from "path";
10986
10999
  import { fileURLToPath } from "url";
@@ -11003,8 +11016,21 @@ function globalInstallRoot() {
11003
11016
  function cacheRoot() {
11004
11017
  return path.join(os.homedir(), ".cache", DEFAULT_PLUGIN_NAME);
11005
11018
  }
11019
+ var SEED_API_URL = process.env.AGENTS_INC_API_URL ?? "https://api.agentsinc.sh";
11006
11020
  var DEFAULT_EDITOR_URL = "https://agentsinc.sh/editor";
11007
- var EDITOR_URL = process.env.AGENTS_INC_EDITOR_URL ?? DEFAULT_EDITOR_URL;
11021
+ var LOCAL_EDITOR_URL = "http://localhost:5173/editor";
11022
+ var LOOPBACK_HOSTNAMES = ["localhost", "[::1]"];
11023
+ function isLoopbackIPv4(hostname) {
11024
+ return isIPv4(hostname) && hostname.startsWith("127.");
11025
+ }
11026
+ function runsOnThisMachine(address) {
11027
+ if (!URL.canParse(address)) return false;
11028
+ const { hostname } = new URL(address);
11029
+ return LOOPBACK_HOSTNAMES.includes(hostname) || isLoopbackIPv4(hostname);
11030
+ }
11031
+ var EDITOR_URL = runsOnThisMachine(SEED_API_URL) ? LOCAL_EDITOR_URL : DEFAULT_EDITOR_URL;
11032
+ var URL_SCHEME = /^https?:\/\//;
11033
+ var EDITOR_ADDRESS = EDITOR_URL.replace(URL_SCHEME, "");
11008
11034
  function editorConfigUrl(id) {
11009
11035
  return `${EDITOR_URL}/?fromId=${encodeURIComponent(id)}`;
11010
11036
  }
@@ -11047,7 +11073,9 @@ var UI_SYMBOLS = {
11047
11073
  CHECK: CHECK_GLYPH,
11048
11074
  CROSS: "\u2717",
11049
11075
  REMOVED: "-",
11050
- ADDED: "+"
11076
+ ADDED: "+",
11077
+ CHANGED: "~",
11078
+ OVERWRITTEN: "\u21BB"
11051
11079
  };
11052
11080
  var GITHUB_SOURCE = {
11053
11081
  HTTPS_PREFIX: "https://github.com/",
@@ -11170,7 +11198,9 @@ export {
11170
11198
  marketplaceManifestPath,
11171
11199
  globalInstallRoot,
11172
11200
  cacheRoot,
11201
+ SEED_API_URL,
11173
11202
  EDITOR_URL,
11203
+ EDITOR_ADDRESS,
11174
11204
  editorConfigUrl,
11175
11205
  SKILL_CATEGORIES_PATH,
11176
11206
  SKILL_RULES_PATH,
@@ -11199,4 +11229,4 @@ export {
11199
11229
  CLI_COLORS,
11200
11230
  ASCII_LOGO
11201
11231
  };
11202
- //# sourceMappingURL=chunk-A6OWEJGC.js.map
11232
+ //# sourceMappingURL=chunk-MHAQWMNJ.js.map