@cursor/july 0.1.42 → 0.1.43

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 (189) hide show
  1. package/AGENTS.md +1 -0
  2. package/dist/bin/agent-serve.js +3 -1
  3. package/dist/channels/github/api.d.ts +5 -0
  4. package/dist/channels/github/api.d.ts.map +1 -1
  5. package/dist/channels/github/api.js +18 -0
  6. package/dist/channels/github/defaults.d.ts +4 -5
  7. package/dist/channels/github/defaults.d.ts.map +1 -1
  8. package/dist/channels/github/defaults.js +27 -1
  9. package/dist/channels/github/github-channel.d.ts.map +1 -1
  10. package/dist/channels/github/github-channel.js +28 -5
  11. package/dist/channels/github/index.d.ts +1 -0
  12. package/dist/channels/github/index.d.ts.map +1 -1
  13. package/dist/channels/github/index.js +1 -0
  14. package/dist/channels/github/progress.d.ts +54 -0
  15. package/dist/channels/github/progress.d.ts.map +1 -0
  16. package/dist/channels/github/progress.js +168 -0
  17. package/dist/channels/github/state.d.ts +2 -0
  18. package/dist/channels/github/state.d.ts.map +1 -1
  19. package/dist/channels/github/state.js +1 -1
  20. package/dist/channels/github/types.d.ts +8 -4
  21. package/dist/channels/github/types.d.ts.map +1 -1
  22. package/dist/channels/slack/slack-channel.d.ts +4 -0
  23. package/dist/channels/slack/slack-channel.d.ts.map +1 -1
  24. package/dist/channels/slack/slack-channel.js +4 -0
  25. package/dist/docs/404.html +2 -2
  26. package/dist/docs/ab.html +4 -4
  27. package/dist/docs/assets/{app.C4-Gwi7g.js → app.DsTLo2j1.js} +1 -1
  28. package/dist/docs/assets/chunks/@localSearchIndexroot.BZx4pmZL.js +1 -0
  29. package/dist/docs/assets/chunks/{VPLocalSearchBox.DDoLm843.js → VPLocalSearchBox.DoVfutcV.js} +1 -1
  30. package/dist/docs/assets/chunks/{theme.SbjGIiM0.js → theme.DtuVtKkc.js} +2 -2
  31. package/dist/docs/assets/{deployment.md.BHVjVqRa.js → deployment.md.Cdp4rTE4.js} +1 -1
  32. package/dist/docs/assets/{guides_github.md.R2QlpR75.js → guides_github.md.DSg0j9qj.js} +29 -3
  33. package/dist/docs/assets/{guides_github.md.R2QlpR75.lean.js → guides_github.md.DSg0j9qj.lean.js} +1 -1
  34. package/dist/docs/assets/guides_opentelemetry.md.DmyUwC5R.js +20 -0
  35. package/dist/docs/assets/guides_opentelemetry.md.DmyUwC5R.lean.js +1 -0
  36. package/dist/docs/assets/{index.md.BKpbkCa6.js → index.md.CMc5FP7E.js} +2 -1
  37. package/dist/docs/assets/{reference_channels.md.BIabFUAI.js → reference_channels.md.MN8iDy8V.js} +1 -1
  38. package/dist/docs/assets/{reference_hooks.md.B40QAG6m.js → reference_hooks.md.4cbRRIIu.js} +2 -2
  39. package/dist/docs/assets/{reference_hooks.md.B40QAG6m.lean.js → reference_hooks.md.4cbRRIIu.lean.js} +1 -1
  40. package/dist/docs/assets/{reference_project-layout.md._XdeMahr.js → reference_project-layout.md.D3MdHM2z.js} +2 -1
  41. package/dist/docs/assets/templates_triage.md.CConZt1z.js +11 -0
  42. package/dist/docs/assets/templates_triage.md.CConZt1z.lean.js +1 -0
  43. package/dist/docs/building-with-agents.html +5 -5
  44. package/dist/docs/concepts.html +5 -5
  45. package/dist/docs/deployment.html +6 -6
  46. package/dist/docs/evals.html +4 -4
  47. package/dist/docs/example-agents/approval-buddy.html +4 -4
  48. package/dist/docs/example-agents/benny.html +4 -4
  49. package/dist/docs/example-agents/bugbot.html +4 -4
  50. package/dist/docs/example-agents/codebase-wiki.html +4 -4
  51. package/dist/docs/example-agents/codeowners-review.html +4 -4
  52. package/dist/docs/example-agents/concierge.html +4 -4
  53. package/dist/docs/example-agents/fsd.html +4 -4
  54. package/dist/docs/example-agents/index.html +5 -5
  55. package/dist/docs/example-agents/knowledge-base.html +4 -4
  56. package/dist/docs/example-agents/oncall.html +4 -4
  57. package/dist/docs/example-agents/security-reviewer.html +4 -4
  58. package/dist/docs/example-agents/slack-agent.html +4 -4
  59. package/dist/docs/example-agents/weather-agent.html +4 -4
  60. package/dist/docs/guides/agent-to-agent.html +4 -4
  61. package/dist/docs/guides/cloud-runtime.html +5 -5
  62. package/dist/docs/guides/github.html +33 -7
  63. package/dist/docs/guides/human-in-the-loop.html +4 -4
  64. package/dist/docs/guides/mcp-oauth.html +4 -4
  65. package/dist/docs/guides/opentelemetry.html +44 -0
  66. package/dist/docs/guides/slack.html +4 -4
  67. package/dist/docs/guides/webhooks.html +4 -4
  68. package/dist/docs/hashmap.json +1 -1
  69. package/dist/docs/hillclimbing.html +4 -4
  70. package/dist/docs/index.html +7 -6
  71. package/dist/docs/quickstart.html +4 -4
  72. package/dist/docs/reference/agent-config.html +4 -4
  73. package/dist/docs/reference/artifacts.html +4 -4
  74. package/dist/docs/reference/channels.html +6 -6
  75. package/dist/docs/reference/cli.html +4 -4
  76. package/dist/docs/reference/connections.html +4 -4
  77. package/dist/docs/reference/hooks.html +6 -6
  78. package/dist/docs/reference/http-api.html +4 -4
  79. package/dist/docs/reference/instructions.html +4 -4
  80. package/dist/docs/reference/playground.html +4 -4
  81. package/dist/docs/reference/project-layout.html +7 -6
  82. package/dist/docs/reference/prompt.html +4 -4
  83. package/dist/docs/reference/schedules.html +4 -4
  84. package/dist/docs/reference/sessions.html +4 -4
  85. package/dist/docs/reference/skills.html +4 -4
  86. package/dist/docs/reference/subagents.html +4 -4
  87. package/dist/docs/reference/tools.html +4 -4
  88. package/dist/docs/scaffolding-agents.html +4 -4
  89. package/dist/docs/storage.html +4 -4
  90. package/dist/docs/templates/triage.html +35 -0
  91. package/dist/docs/troubleshooting.html +4 -4
  92. package/dist/index.d.ts +2 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +1 -0
  95. package/dist/internal/cli-ax.d.ts +1 -0
  96. package/dist/internal/cli-ax.d.ts.map +1 -1
  97. package/dist/internal/cli-ax.js +18 -3
  98. package/dist/internal/discovery.d.ts.map +1 -1
  99. package/dist/internal/discovery.js +36 -4
  100. package/dist/internal/distribution.d.ts.map +1 -1
  101. package/dist/internal/distribution.js +1 -0
  102. package/dist/internal/init-project.d.ts +24 -0
  103. package/dist/internal/init-project.d.ts.map +1 -1
  104. package/dist/internal/init-project.js +126 -7
  105. package/dist/internal/otel/attrs.d.ts +7 -0
  106. package/dist/internal/otel/attrs.d.ts.map +1 -0
  107. package/dist/internal/otel/attrs.js +13 -0
  108. package/dist/internal/otel/collector.d.ts +16 -0
  109. package/dist/internal/otel/collector.d.ts.map +1 -0
  110. package/dist/internal/otel/collector.js +564 -0
  111. package/dist/internal/otel/config.d.ts +42 -0
  112. package/dist/internal/otel/config.d.ts.map +1 -0
  113. package/dist/internal/otel/config.js +236 -0
  114. package/dist/internal/otel/http.d.ts +11 -0
  115. package/dist/internal/otel/http.d.ts.map +1 -0
  116. package/dist/internal/otel/http.js +97 -0
  117. package/dist/internal/otel/runtime.d.ts +21 -0
  118. package/dist/internal/otel/runtime.d.ts.map +1 -0
  119. package/dist/internal/otel/runtime.js +188 -0
  120. package/dist/internal/server.d.ts.map +1 -1
  121. package/dist/internal/server.js +25 -1
  122. package/dist/internal/session-engine.d.ts +10 -1
  123. package/dist/internal/session-engine.d.ts.map +1 -1
  124. package/dist/internal/session-engine.js +35 -2
  125. package/dist/memory.d.ts +4 -0
  126. package/dist/memory.d.ts.map +1 -1
  127. package/dist/memory.js +4 -0
  128. package/dist/otel.d.ts +88 -0
  129. package/dist/otel.d.ts.map +1 -0
  130. package/dist/otel.js +64 -0
  131. package/dist/playground/assets/{index-B3HBneZZ.js → index-D-DIYQzw.js} +31 -31
  132. package/dist/playground/assets/index-DQTH622f.css +1 -0
  133. package/dist/playground/index.html +2 -2
  134. package/dist/types.d.ts +22 -1
  135. package/dist/types.d.ts.map +1 -1
  136. package/docs/README.md +3 -0
  137. package/docs/deployment.md +2 -1
  138. package/docs/guides/github.md +79 -6
  139. package/docs/guides/opentelemetry.md +184 -0
  140. package/docs/reference/channels.md +3 -1
  141. package/docs/reference/hooks.md +21 -4
  142. package/docs/reference/project-layout.md +2 -0
  143. package/docs/templates/triage.md +147 -0
  144. package/package.json +23 -1
  145. package/skills/create-agent/SKILL.md +2 -2
  146. package/skills/framework-map/SKILL.md +2 -0
  147. package/skills/otel/SKILL.md +80 -0
  148. package/src/bin/agent-serve.ts +3 -1
  149. package/src/channels/github/api.ts +22 -0
  150. package/src/channels/github/defaults.ts +27 -6
  151. package/src/channels/github/github-channel.ts +27 -1
  152. package/src/channels/github/index.ts +1 -0
  153. package/src/channels/github/progress.ts +243 -0
  154. package/src/channels/github/state.ts +3 -0
  155. package/src/channels/github/types.ts +8 -4
  156. package/src/channels/slack/slack-channel.ts +4 -0
  157. package/src/index.ts +6 -0
  158. package/src/internal/cli-ax.ts +19 -1
  159. package/src/internal/discovery.ts +59 -4
  160. package/src/internal/distribution.ts +1 -0
  161. package/src/internal/init-project.ts +150 -7
  162. package/src/internal/otel/attrs.ts +18 -0
  163. package/src/internal/otel/collector.ts +796 -0
  164. package/src/internal/otel/config.ts +307 -0
  165. package/src/internal/otel/http.ts +126 -0
  166. package/src/internal/otel/runtime.ts +271 -0
  167. package/src/internal/server.ts +38 -1
  168. package/src/internal/session-engine.ts +51 -0
  169. package/src/memory.ts +4 -0
  170. package/src/otel.ts +155 -0
  171. package/src/types.ts +20 -1
  172. package/templates/triage/README.md +48 -0
  173. package/templates/triage/agent/agent.ts +14 -0
  174. package/templates/triage/agent/channels/intake.ts +20 -0
  175. package/templates/triage/agent/channels/slack.ts +3 -0
  176. package/templates/triage/agent/hooks/memory.ts +3 -0
  177. package/templates/triage/agent/instructions.md +27 -0
  178. package/templates/triage/agent/skills/triage-rubric.md +43 -0
  179. package/templates/triage/agent/tools/record_triage.ts +23 -0
  180. package/templates/triage/evals/evals.config.ts +5 -0
  181. package/templates/triage/evals/triage.eval.ts +43 -0
  182. package/templates/triage/package.json +18 -0
  183. package/templates/triage/tsconfig.json +12 -0
  184. package/dist/docs/assets/chunks/@localSearchIndexroot.BlU3A8EB.js +0 -1
  185. package/dist/playground/assets/index-Bqk9nplh.css +0 -1
  186. /package/dist/docs/assets/{deployment.md.BHVjVqRa.lean.js → deployment.md.Cdp4rTE4.lean.js} +0 -0
  187. /package/dist/docs/assets/{index.md.BKpbkCa6.lean.js → index.md.CMc5FP7E.lean.js} +0 -0
  188. /package/dist/docs/assets/{reference_channels.md.BIabFUAI.lean.js → reference_channels.md.MN8iDy8V.lean.js} +0 -0
  189. /package/dist/docs/assets/{reference_project-layout.md._XdeMahr.lean.js → reference_project-layout.md.D3MdHM2z.lean.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"init-project.d.ts","sourceRoot":"","sources":["../../src/internal/init-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-project.d.ts","sourceRoot":"","sources":["../../src/internal/init-project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAa7C;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAuBhE;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,eAAe,CAoCjB;AA2BD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAkL5B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAWD,MAAM,WAAW,kCAAkC;IACjD;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,yDAAyD;IACzD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;KAC3B,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,iCAAiC,CAAC,CAW5C;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;KAC3B,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,gEAAgE;IAChE,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,MAAM,KACZ,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAgChC;AAwHD,MAAM,WAAW,0BAA0B;IACzC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAAG,0BAA0B,GACzD,oBAAoB,CAAC;AAMvB;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,MAAM,CAkBR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAgBzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAErE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAQpB;AA8BD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,MAAM,EAAE,CAEX;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAwBrC"}
@@ -11,11 +11,91 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  });
12
12
  };
13
13
  import { spawn } from "node:child_process";
14
- import { existsSync } from "node:fs";
15
- import { mkdir, writeFile } from "node:fs/promises";
14
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
15
+ import { mkdir, readdir, readFile, writeFile } from "node:fs/promises";
16
16
  import { basename, dirname, join, relative, resolve } from "node:path";
17
- import { CLI_COMMAND_NAME, PACKAGE_NAME, packageVersion, } from "./distribution.js";
17
+ import { CLI_COMMAND_NAME, PACKAGE_NAME, packageRootDir, packageVersion, } from "./distribution.js";
18
18
  import { makePalette, stdoutPalette, } from "./terminal-style.js";
19
+ export function availableTemplates() {
20
+ const templatesDir = join(packageRootDir(), "templates");
21
+ try {
22
+ return readdirSync(templatesDir, { withFileTypes: true })
23
+ .filter((entry) => entry.isDirectory())
24
+ .map((entry) => entry.name)
25
+ .sort();
26
+ }
27
+ catch (error) {
28
+ if (hasErrorCode(error, "ENOENT")) {
29
+ return [];
30
+ }
31
+ throw error;
32
+ }
33
+ }
34
+ export function resolveTemplate(name) {
35
+ if (!/^[a-z][a-z0-9-]*$/.test(name)) {
36
+ return {
37
+ ok: false,
38
+ message: "template name must match /^[a-z][a-z0-9-]*$/",
39
+ };
40
+ }
41
+ const available = availableTemplates();
42
+ if (!available.includes(name)) {
43
+ const detail = available.length === 0
44
+ ? "no templates ship with this build"
45
+ : `available: ${available.join(", ")}`;
46
+ return {
47
+ ok: false,
48
+ message: `unknown template "${name}" (${detail})`,
49
+ };
50
+ }
51
+ return {
52
+ ok: true,
53
+ name,
54
+ dir: join(packageRootDir(), "templates", name),
55
+ };
56
+ }
57
+ /**
58
+ * Re-init must keep the mode the project was scaffolded with: template
59
+ * scaffolds stamp `cursorAgentTemplate` into package.json, and a mismatch
60
+ * here would silently mix default-scaffold files into a template project
61
+ * (or the reverse).
62
+ */
63
+ export function checkInitTarget(rootDir, template) {
64
+ const pkgPath = join(rootDir, "package.json");
65
+ if (!existsSync(pkgPath)) {
66
+ return { ok: true };
67
+ }
68
+ let marker;
69
+ try {
70
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
71
+ marker =
72
+ typeof pkg.cursorAgentTemplate === "string"
73
+ ? pkg.cursorAgentTemplate
74
+ : undefined;
75
+ }
76
+ catch (_a) {
77
+ marker = undefined;
78
+ }
79
+ if (marker === template) {
80
+ return { ok: true };
81
+ }
82
+ if (template === undefined) {
83
+ return {
84
+ ok: false,
85
+ message: `${rootDir} was scaffolded from the "${marker}" template; re-run with --template ${marker}`,
86
+ };
87
+ }
88
+ if (marker === undefined) {
89
+ return {
90
+ ok: false,
91
+ message: `${rootDir} already has a package.json without template provenance; re-run init without --template, or scaffold into a fresh directory`,
92
+ };
93
+ }
94
+ return {
95
+ ok: false,
96
+ message: `${rootDir} was scaffolded from the "${marker}" template, not "${template}"`,
97
+ };
98
+ }
19
99
  const DEFAULT_MODEL = {
20
100
  id: "grok-4.5",
21
101
  params: [
@@ -43,10 +123,9 @@ export function initProject(options) {
43
123
  return __awaiter(this, void 0, void 0, function* () {
44
124
  var _a, _b;
45
125
  const rootDir = resolve(options.dir);
46
- const name = (_a = options.name) !== null && _a !== void 0 ? _a : basename(rootDir);
126
+ const projectName = basename(rootDir);
127
+ const name = (_a = options.name) !== null && _a !== void 0 ? _a : projectName;
47
128
  const model = formatModelLiteral((_b = options.model) !== null && _b !== void 0 ? _b : DEFAULT_MODEL);
48
- const agentDir = join(rootDir, "agent");
49
- yield mkdir(agentDir, { recursive: true });
50
129
  const files = [];
51
130
  const write = (rel, contents) => __awaiter(this, void 0, void 0, function* () {
52
131
  const abs = join(rootDir, rel);
@@ -64,6 +143,42 @@ export function initProject(options) {
64
143
  throw error;
65
144
  }
66
145
  });
146
+ if (options.templateDir !== undefined) {
147
+ const templateDir = options.templateDir;
148
+ const entries = yield readdir(templateDir, {
149
+ recursive: true,
150
+ withFileTypes: true,
151
+ });
152
+ const relativePaths = entries
153
+ .filter((entry) => entry.isFile())
154
+ .map((entry) => relative(templateDir, join(entry.parentPath, entry.name)))
155
+ .sort();
156
+ for (const rel of relativePaths) {
157
+ const source = join(templateDir, rel);
158
+ if (rel === "package.json") {
159
+ const packageJson = JSON.parse(yield readFile(source, "utf8"));
160
+ packageJson.name = projectName;
161
+ packageJson.dependencies[PACKAGE_NAME] = `^${packageVersion()}`;
162
+ packageJson.cursorAgentTemplate = basename(templateDir);
163
+ yield write(rel, `${JSON.stringify(packageJson, null, 2)}\n`);
164
+ }
165
+ else {
166
+ yield write(rel, yield readFile(source));
167
+ }
168
+ }
169
+ return {
170
+ rootDir,
171
+ files,
172
+ created: files
173
+ .filter((entry) => entry.action === "create")
174
+ .map((entry) => entry.path),
175
+ skipped: files
176
+ .filter((entry) => entry.action === "exist")
177
+ .map((entry) => entry.path),
178
+ };
179
+ }
180
+ const agentDir = join(rootDir, "agent");
181
+ yield mkdir(agentDir, { recursive: true });
67
182
  yield write("package.json", `${JSON.stringify({
68
183
  name,
69
184
  private: true,
@@ -154,10 +269,13 @@ export default memoryHook();
154
269
  });
155
270
  }
156
271
  export function isEexist(error) {
272
+ return hasErrorCode(error, "EEXIST");
273
+ }
274
+ function hasErrorCode(error, code) {
157
275
  return (error !== null &&
158
276
  typeof error === "object" &&
159
277
  "code" in error &&
160
- error.code === "EEXIST");
278
+ error.code === code);
161
279
  }
162
280
  /**
163
281
  * Install the scaffold's npm dependencies so `dev` / `run` can resolve
@@ -433,6 +551,7 @@ export function printInitGuide() {
433
551
 
434
552
  Scaffold a project, then open the playground:
435
553
  npx ${PACKAGE_NAME} init ./my-agent # installs deps + puts agent-sdk on PATH
554
+ npx ${PACKAGE_NAME} init ./my-triage --template triage # start from a template (agent-sdk templates: triage)
436
555
  cd ./my-agent && ${CLI_COMMAND_NAME} dev
437
556
 
438
557
  Recommended loop once the project exists (from the project directory):
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Build OTel attribute maps without conditional spreads. `undefined` values
3
+ * are dropped (the OTel API rejects them).
4
+ */
5
+ export type AttrValue = string | number | boolean;
6
+ export declare function attrs(input: Record<string, AttrValue | undefined>): Record<string, AttrValue>;
7
+ //# sourceMappingURL=attrs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attrs.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/attrs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,GAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAQ3B"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Build OTel attribute maps without conditional spreads. `undefined` values
3
+ * are dropped (the OTel API rejects them).
4
+ */
5
+ export function attrs(input) {
6
+ const out = {};
7
+ for (const [key, value] of Object.entries(input)) {
8
+ if (value !== undefined) {
9
+ out[key] = value;
10
+ }
11
+ }
12
+ return out;
13
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Maps the durable session event stream onto OTel traces / metrics / logs.
3
+ *
4
+ * Attribute names reuse Cursor enterprise wire keys where they overlap
5
+ * (`cursor.conversation.id`, `cursor.token.*`, `cursor.tool.*`,
6
+ * `cursor.cost.usage`, `cursor.model.name`) so Agent SDK traces join org
7
+ * metrics/logs in the same collector. Agent-SDK-only fields use `agent_sdk.*`.
8
+ */
9
+ import type { SessionEvent, SessionInfo } from "../../types.js";
10
+ import type { OtelRuntime } from "./runtime.js";
11
+ export interface OtelCollector {
12
+ onEvent(event: SessionEvent, session: SessionInfo): void;
13
+ close(): void;
14
+ }
15
+ export declare function createOtelCollector(runtime: OtelRuntime, agentName: string, log: (line: string) => void): OtelCollector;
16
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/internal/otel/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,IAAI,CAAC;CACf;AAgBD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC1B,aAAa,CAorBf"}