@bradygaster/squad-sdk 0.7.0 → 0.8.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 (306) hide show
  1. package/README.md +296 -296
  2. package/dist/adapter/client.d.ts +225 -0
  3. package/dist/adapter/client.d.ts.map +1 -0
  4. package/dist/adapter/client.js +397 -0
  5. package/dist/adapter/client.js.map +1 -0
  6. package/dist/adapter/errors.d.ts +260 -0
  7. package/dist/adapter/errors.d.ts.map +1 -0
  8. package/dist/adapter/errors.js +362 -0
  9. package/dist/adapter/errors.js.map +1 -0
  10. package/dist/adapter/types.d.ts +779 -0
  11. package/dist/adapter/types.d.ts.map +1 -0
  12. package/dist/adapter/types.js +11 -0
  13. package/dist/adapter/types.js.map +1 -0
  14. package/dist/agents/charter-compiler.d.ts +102 -0
  15. package/dist/agents/charter-compiler.d.ts.map +1 -0
  16. package/dist/agents/charter-compiler.js +157 -0
  17. package/dist/agents/charter-compiler.js.map +1 -0
  18. package/dist/agents/history-shadow.d.ts +80 -0
  19. package/dist/agents/history-shadow.d.ts.map +1 -0
  20. package/dist/agents/history-shadow.js +239 -0
  21. package/dist/agents/history-shadow.js.map +1 -0
  22. package/dist/agents/index.d.ts +68 -0
  23. package/dist/agents/index.d.ts.map +1 -0
  24. package/dist/agents/index.js +74 -0
  25. package/dist/agents/index.js.map +1 -0
  26. package/dist/agents/lifecycle.d.ts +138 -0
  27. package/dist/agents/lifecycle.d.ts.map +1 -0
  28. package/dist/agents/lifecycle.js +258 -0
  29. package/dist/agents/lifecycle.js.map +1 -0
  30. package/dist/agents/model-selector.d.ts +80 -0
  31. package/dist/agents/model-selector.d.ts.map +1 -0
  32. package/dist/agents/model-selector.js +198 -0
  33. package/dist/agents/model-selector.js.map +1 -0
  34. package/dist/agents/onboarding.d.ts +65 -0
  35. package/dist/agents/onboarding.d.ts.map +1 -0
  36. package/dist/agents/onboarding.js +373 -0
  37. package/dist/agents/onboarding.js.map +1 -0
  38. package/dist/build/bundle.d.ts +32 -0
  39. package/dist/build/bundle.d.ts.map +1 -0
  40. package/dist/build/bundle.js +97 -0
  41. package/dist/build/bundle.js.map +1 -0
  42. package/dist/build/ci-pipeline.d.ts +51 -0
  43. package/dist/build/ci-pipeline.d.ts.map +1 -0
  44. package/dist/build/ci-pipeline.js +180 -0
  45. package/dist/build/ci-pipeline.js.map +1 -0
  46. package/dist/build/github-dist.d.ts +37 -0
  47. package/dist/build/github-dist.d.ts.map +1 -0
  48. package/dist/build/github-dist.js +117 -0
  49. package/dist/build/github-dist.js.map +1 -0
  50. package/dist/build/index.d.ts +11 -0
  51. package/dist/build/index.d.ts.map +1 -0
  52. package/dist/build/index.js +11 -0
  53. package/dist/build/index.js.map +1 -0
  54. package/dist/build/install-migration.d.ts +28 -0
  55. package/dist/build/install-migration.d.ts.map +1 -0
  56. package/dist/build/install-migration.js +103 -0
  57. package/dist/build/install-migration.js.map +1 -0
  58. package/dist/build/npm-package.d.ts +54 -0
  59. package/dist/build/npm-package.d.ts.map +1 -0
  60. package/dist/build/npm-package.js +128 -0
  61. package/dist/build/npm-package.js.map +1 -0
  62. package/dist/build/release.d.ts +108 -0
  63. package/dist/build/release.d.ts.map +1 -0
  64. package/dist/build/release.js +295 -0
  65. package/dist/build/release.js.map +1 -0
  66. package/dist/build/versioning.d.ts +38 -0
  67. package/dist/build/versioning.d.ts.map +1 -0
  68. package/dist/build/versioning.js +113 -0
  69. package/dist/build/versioning.js.map +1 -0
  70. package/dist/casting/casting-engine.d.ts +60 -0
  71. package/dist/casting/casting-engine.d.ts.map +1 -0
  72. package/dist/casting/casting-engine.js +223 -0
  73. package/dist/casting/casting-engine.js.map +1 -0
  74. package/dist/casting/casting-history.d.ts +54 -0
  75. package/dist/casting/casting-history.d.ts.map +1 -0
  76. package/dist/casting/casting-history.js +63 -0
  77. package/dist/casting/casting-history.js.map +1 -0
  78. package/dist/casting/index.d.ts +46 -0
  79. package/dist/casting/index.d.ts.map +1 -0
  80. package/dist/casting/index.js +37 -0
  81. package/dist/casting/index.js.map +1 -0
  82. package/dist/client/event-bus.d.ts +29 -0
  83. package/dist/client/event-bus.d.ts.map +1 -0
  84. package/dist/client/event-bus.js +53 -0
  85. package/dist/client/event-bus.js.map +1 -0
  86. package/dist/client/index.d.ts +100 -0
  87. package/dist/client/index.d.ts.map +1 -0
  88. package/dist/client/index.js +170 -0
  89. package/dist/client/index.js.map +1 -0
  90. package/dist/client/session-pool.d.ts +66 -0
  91. package/dist/client/session-pool.d.ts.map +1 -0
  92. package/dist/client/session-pool.js +145 -0
  93. package/dist/client/session-pool.js.map +1 -0
  94. package/dist/config/agent-doc.d.ts +43 -0
  95. package/dist/config/agent-doc.d.ts.map +1 -0
  96. package/dist/config/agent-doc.js +158 -0
  97. package/dist/config/agent-doc.js.map +1 -0
  98. package/dist/config/agent-source.d.ts +95 -0
  99. package/dist/config/agent-source.d.ts.map +1 -0
  100. package/dist/config/agent-source.js +274 -0
  101. package/dist/config/agent-source.js.map +1 -0
  102. package/dist/config/doc-sync.d.ts +66 -0
  103. package/dist/config/doc-sync.d.ts.map +1 -0
  104. package/dist/config/doc-sync.js +270 -0
  105. package/dist/config/doc-sync.js.map +1 -0
  106. package/dist/config/feature-audit.d.ts +49 -0
  107. package/dist/config/feature-audit.d.ts.map +1 -0
  108. package/dist/config/feature-audit.js +148 -0
  109. package/dist/config/feature-audit.js.map +1 -0
  110. package/dist/config/index.d.ts +15 -0
  111. package/dist/config/index.d.ts.map +1 -0
  112. package/dist/config/index.js +15 -0
  113. package/dist/config/index.js.map +1 -0
  114. package/dist/config/init.d.ts +61 -0
  115. package/dist/config/init.d.ts.map +1 -0
  116. package/dist/config/init.js +369 -0
  117. package/dist/config/init.js.map +1 -0
  118. package/dist/config/legacy-fallback.d.ts +83 -0
  119. package/dist/config/legacy-fallback.d.ts.map +1 -0
  120. package/dist/config/legacy-fallback.js +212 -0
  121. package/dist/config/legacy-fallback.js.map +1 -0
  122. package/dist/config/markdown-migration.d.ts +157 -0
  123. package/dist/config/markdown-migration.d.ts.map +1 -0
  124. package/dist/config/markdown-migration.js +434 -0
  125. package/dist/config/markdown-migration.js.map +1 -0
  126. package/dist/config/migration.d.ts +123 -0
  127. package/dist/config/migration.d.ts.map +1 -0
  128. package/dist/config/migration.js +273 -0
  129. package/dist/config/migration.js.map +1 -0
  130. package/dist/config/migrations/index.d.ts +36 -0
  131. package/dist/config/migrations/index.d.ts.map +1 -0
  132. package/dist/config/migrations/index.js +216 -0
  133. package/dist/config/migrations/index.js.map +1 -0
  134. package/dist/config/models.d.ts +134 -0
  135. package/dist/config/models.d.ts.map +1 -0
  136. package/dist/config/models.js +354 -0
  137. package/dist/config/models.js.map +1 -0
  138. package/dist/config/routing.d.ts +118 -0
  139. package/dist/config/routing.d.ts.map +1 -0
  140. package/dist/config/routing.js +247 -0
  141. package/dist/config/routing.js.map +1 -0
  142. package/dist/config/schema.d.ts +72 -0
  143. package/dist/config/schema.d.ts.map +1 -0
  144. package/dist/config/schema.js +63 -0
  145. package/dist/config/schema.js.map +1 -0
  146. package/dist/coordinator/coordinator.d.ts +82 -0
  147. package/dist/coordinator/coordinator.d.ts.map +1 -0
  148. package/dist/coordinator/coordinator.js +174 -0
  149. package/dist/coordinator/coordinator.js.map +1 -0
  150. package/dist/coordinator/direct-response.d.ts +83 -0
  151. package/dist/coordinator/direct-response.d.ts.map +1 -0
  152. package/dist/coordinator/direct-response.js +187 -0
  153. package/dist/coordinator/direct-response.js.map +1 -0
  154. package/dist/coordinator/fan-out.d.ts +83 -0
  155. package/dist/coordinator/fan-out.d.ts.map +1 -0
  156. package/dist/coordinator/fan-out.js +161 -0
  157. package/dist/coordinator/fan-out.js.map +1 -0
  158. package/dist/coordinator/index.d.ts +47 -0
  159. package/dist/coordinator/index.d.ts.map +1 -0
  160. package/dist/coordinator/index.js +54 -0
  161. package/dist/coordinator/index.js.map +1 -0
  162. package/dist/coordinator/response-tiers.d.ts +49 -0
  163. package/dist/coordinator/response-tiers.d.ts.map +1 -0
  164. package/dist/coordinator/response-tiers.js +149 -0
  165. package/dist/coordinator/response-tiers.js.map +1 -0
  166. package/dist/hooks/index.d.ts +103 -0
  167. package/dist/hooks/index.d.ts.map +1 -0
  168. package/dist/hooks/index.js +279 -0
  169. package/dist/hooks/index.js.map +1 -0
  170. package/dist/index.d.ts +24 -1
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +23 -3
  173. package/dist/index.js.map +1 -1
  174. package/dist/marketplace/backend.d.ts +35 -0
  175. package/dist/marketplace/backend.d.ts.map +1 -0
  176. package/dist/marketplace/backend.js +99 -0
  177. package/dist/marketplace/backend.js.map +1 -0
  178. package/dist/marketplace/browser.d.ts +33 -0
  179. package/dist/marketplace/browser.d.ts.map +1 -0
  180. package/dist/marketplace/browser.js +97 -0
  181. package/dist/marketplace/browser.js.map +1 -0
  182. package/dist/marketplace/extension-adapter.d.ts +51 -0
  183. package/dist/marketplace/extension-adapter.d.ts.map +1 -0
  184. package/dist/marketplace/extension-adapter.js +81 -0
  185. package/dist/marketplace/extension-adapter.js.map +1 -0
  186. package/dist/marketplace/index.d.ts +51 -0
  187. package/dist/marketplace/index.d.ts.map +1 -0
  188. package/dist/marketplace/index.js +108 -0
  189. package/dist/marketplace/index.js.map +1 -0
  190. package/dist/marketplace/packaging.d.ts +25 -0
  191. package/dist/marketplace/packaging.d.ts.map +1 -0
  192. package/dist/marketplace/packaging.js +117 -0
  193. package/dist/marketplace/packaging.js.map +1 -0
  194. package/dist/marketplace/schema.d.ts +50 -0
  195. package/dist/marketplace/schema.d.ts.map +1 -0
  196. package/dist/marketplace/schema.js +120 -0
  197. package/dist/marketplace/schema.js.map +1 -0
  198. package/dist/marketplace/security.d.ts +26 -0
  199. package/dist/marketplace/security.d.ts.map +1 -0
  200. package/dist/marketplace/security.js +199 -0
  201. package/dist/marketplace/security.js.map +1 -0
  202. package/dist/parsers.d.ts +15 -0
  203. package/dist/parsers.d.ts.map +1 -0
  204. package/dist/parsers.js +15 -0
  205. package/dist/parsers.js.map +1 -0
  206. package/dist/ralph/index.d.ts +56 -0
  207. package/dist/ralph/index.d.ts.map +1 -0
  208. package/dist/ralph/index.js +61 -0
  209. package/dist/ralph/index.js.map +1 -0
  210. package/dist/resolution.d.ts +47 -0
  211. package/dist/resolution.d.ts.map +1 -0
  212. package/dist/resolution.js +106 -0
  213. package/dist/resolution.js.map +1 -0
  214. package/dist/runtime/benchmarks.d.ts +121 -0
  215. package/dist/runtime/benchmarks.d.ts.map +1 -0
  216. package/dist/runtime/benchmarks.js +251 -0
  217. package/dist/runtime/benchmarks.js.map +1 -0
  218. package/dist/runtime/config.d.ts +313 -0
  219. package/dist/runtime/config.d.ts.map +1 -0
  220. package/dist/runtime/config.js +466 -0
  221. package/dist/runtime/config.js.map +1 -0
  222. package/dist/runtime/cost-tracker.d.ts +73 -0
  223. package/dist/runtime/cost-tracker.d.ts.map +1 -0
  224. package/dist/runtime/cost-tracker.js +157 -0
  225. package/dist/runtime/cost-tracker.js.map +1 -0
  226. package/dist/runtime/event-bus.d.ts +190 -0
  227. package/dist/runtime/event-bus.d.ts.map +1 -0
  228. package/dist/runtime/event-bus.js +218 -0
  229. package/dist/runtime/event-bus.js.map +1 -0
  230. package/dist/runtime/health.d.ts +66 -0
  231. package/dist/runtime/health.d.ts.map +1 -0
  232. package/dist/runtime/health.js +111 -0
  233. package/dist/runtime/health.js.map +1 -0
  234. package/dist/runtime/i18n.d.ts +54 -0
  235. package/dist/runtime/i18n.d.ts.map +1 -0
  236. package/dist/runtime/i18n.js +126 -0
  237. package/dist/runtime/i18n.js.map +1 -0
  238. package/dist/runtime/offline.d.ts +64 -0
  239. package/dist/runtime/offline.d.ts.map +1 -0
  240. package/dist/runtime/offline.js +108 -0
  241. package/dist/runtime/offline.js.map +1 -0
  242. package/dist/runtime/streaming.d.ts +97 -0
  243. package/dist/runtime/streaming.d.ts.map +1 -0
  244. package/dist/runtime/streaming.js +156 -0
  245. package/dist/runtime/streaming.js.map +1 -0
  246. package/dist/runtime/telemetry.d.ts +82 -0
  247. package/dist/runtime/telemetry.d.ts.map +1 -0
  248. package/dist/runtime/telemetry.js +120 -0
  249. package/dist/runtime/telemetry.js.map +1 -0
  250. package/dist/sharing/agent-repo.d.ts +33 -0
  251. package/dist/sharing/agent-repo.d.ts.map +1 -0
  252. package/dist/sharing/agent-repo.js +79 -0
  253. package/dist/sharing/agent-repo.js.map +1 -0
  254. package/dist/sharing/cache.d.ts +36 -0
  255. package/dist/sharing/cache.d.ts.map +1 -0
  256. package/dist/sharing/cache.js +85 -0
  257. package/dist/sharing/cache.js.map +1 -0
  258. package/dist/sharing/conflicts.d.ts +32 -0
  259. package/dist/sharing/conflicts.d.ts.map +1 -0
  260. package/dist/sharing/conflicts.js +121 -0
  261. package/dist/sharing/conflicts.js.map +1 -0
  262. package/dist/sharing/export.d.ts +50 -0
  263. package/dist/sharing/export.d.ts.map +1 -0
  264. package/dist/sharing/export.js +156 -0
  265. package/dist/sharing/export.js.map +1 -0
  266. package/dist/sharing/history-split.d.ts +34 -0
  267. package/dist/sharing/history-split.d.ts.map +1 -0
  268. package/dist/sharing/history-split.js +101 -0
  269. package/dist/sharing/history-split.js.map +1 -0
  270. package/dist/sharing/import.d.ts +37 -0
  271. package/dist/sharing/import.d.ts.map +1 -0
  272. package/dist/sharing/import.js +138 -0
  273. package/dist/sharing/import.js.map +1 -0
  274. package/dist/sharing/index.d.ts +11 -0
  275. package/dist/sharing/index.d.ts.map +1 -0
  276. package/dist/sharing/index.js +11 -0
  277. package/dist/sharing/index.js.map +1 -0
  278. package/dist/sharing/versioning.d.ts +32 -0
  279. package/dist/sharing/versioning.d.ts.map +1 -0
  280. package/dist/sharing/versioning.js +64 -0
  281. package/dist/sharing/versioning.js.map +1 -0
  282. package/dist/skills/index.d.ts +49 -0
  283. package/dist/skills/index.d.ts.map +1 -0
  284. package/dist/skills/index.js +85 -0
  285. package/dist/skills/index.js.map +1 -0
  286. package/dist/skills/skill-loader.d.ts +56 -0
  287. package/dist/skills/skill-loader.d.ts.map +1 -0
  288. package/dist/skills/skill-loader.js +106 -0
  289. package/dist/skills/skill-loader.js.map +1 -0
  290. package/dist/skills/skill-source.d.ts +63 -0
  291. package/dist/skills/skill-source.d.ts.map +1 -0
  292. package/dist/skills/skill-source.js +199 -0
  293. package/dist/skills/skill-source.js.map +1 -0
  294. package/dist/tools/index.d.ts +87 -0
  295. package/dist/tools/index.d.ts.map +1 -0
  296. package/dist/tools/index.js +419 -0
  297. package/dist/tools/index.js.map +1 -0
  298. package/dist/types.d.ts +43 -0
  299. package/dist/types.d.ts.map +1 -0
  300. package/dist/types.js +8 -0
  301. package/dist/types.js.map +1 -0
  302. package/dist/utils/normalize-eol.d.ts +6 -0
  303. package/dist/utils/normalize-eol.d.ts.map +1 -0
  304. package/dist/utils/normalize-eol.js +8 -0
  305. package/dist/utils/normalize-eol.js.map +1 -0
  306. package/package.json +115 -63
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapter/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Squad SDK Adapter Types
3
+ *
4
+ * This module provides Squad-stable interfaces that decouple Squad from
5
+ * direct dependencies on @github/copilot-sdk types. All Squad code should
6
+ * import types from this adapter layer, never directly from the Copilot SDK.
7
+ *
8
+ * @module adapter/types
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapter/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Charter Compilation (M1-8 + M2-9)
3
+ *
4
+ * Transforms agent charter.md files into typed SDK CustomAgentConfig.
5
+ * Parses charter sections and builds the complete agent prompt with team context.
6
+ * Supports config-driven overrides that merge with charter content.
7
+ */
8
+ import { SquadCustomAgentConfig } from '../adapter/types.js';
9
+ /**
10
+ * Options for compiling a charter.
11
+ */
12
+ export interface CharterCompileOptions {
13
+ /** Agent name (e.g., 'verbal', 'fenster') */
14
+ agentName: string;
15
+ /** Full path to the agent's charter.md file */
16
+ charterPath: string;
17
+ /** Raw charter markdown content (if already loaded) */
18
+ charterContent?: string;
19
+ /** Content of team.md (team roster) */
20
+ teamContext?: string;
21
+ /** Routing rules content */
22
+ routingRules?: string;
23
+ /** Relevant decision records */
24
+ decisions?: string;
25
+ /** Config-driven overrides (config wins on conflict) */
26
+ configOverrides?: CharterConfigOverrides;
27
+ }
28
+ /**
29
+ * Config-driven overrides that merge with charter content.
30
+ * Values from config take precedence over charter-parsed values.
31
+ */
32
+ export interface CharterConfigOverrides {
33
+ /** Override display name */
34
+ displayName?: string;
35
+ /** Override role */
36
+ role?: string;
37
+ /** Override or set model */
38
+ model?: string;
39
+ /** Override or set tools list */
40
+ tools?: string[];
41
+ /** Override or set status */
42
+ status?: 'active' | 'inactive' | 'retired';
43
+ /** Extra prompt content appended to charter */
44
+ extraPrompt?: string;
45
+ }
46
+ /**
47
+ * Parsed charter structure.
48
+ */
49
+ export interface ParsedCharter {
50
+ /** Identity section: name, role, expertise, style */
51
+ identity: {
52
+ name?: string;
53
+ role?: string;
54
+ expertise?: string[];
55
+ style?: string;
56
+ };
57
+ /** What I Own section content */
58
+ ownership?: string;
59
+ /** Boundaries section content */
60
+ boundaries?: string;
61
+ /** Model preference from ## Model section */
62
+ modelPreference?: string;
63
+ /** Collaboration section content */
64
+ collaboration?: string;
65
+ /** Full charter content */
66
+ fullContent: string;
67
+ }
68
+ /**
69
+ * Extended result from charter compilation, includes metadata beyond CustomAgentConfig.
70
+ */
71
+ export interface CompiledCharter extends SquadCustomAgentConfig {
72
+ /** Resolved model (from config override or charter preference) */
73
+ resolvedModel?: string;
74
+ /** Resolved tools list (from config override or charter) */
75
+ resolvedTools?: string[];
76
+ /** Parsed charter data */
77
+ parsed: ParsedCharter;
78
+ }
79
+ /**
80
+ * Compile a charter.md file into a CustomAgentConfig.
81
+ *
82
+ * @param options - Charter compilation options
83
+ * @returns Squad CustomAgentConfig ready for SDK registration
84
+ * @throws {ConfigurationError} If charter is missing or malformed
85
+ */
86
+ export declare function compileCharter(options: CharterCompileOptions): SquadCustomAgentConfig;
87
+ /**
88
+ * Compile a charter with full metadata including resolved model/tools.
89
+ *
90
+ * @param options - Charter compilation options
91
+ * @returns CompiledCharter with full metadata
92
+ * @throws {ConfigurationError} If charter is missing or malformed
93
+ */
94
+ export declare function compileCharterFull(options: CharterCompileOptions): CompiledCharter;
95
+ /**
96
+ * Parse charter markdown content into structured sections.
97
+ *
98
+ * @param content - Raw charter.md content
99
+ * @returns Parsed charter structure
100
+ */
101
+ export declare function parseCharterMarkdown(content: string): ParsedCharter;
102
+ //# sourceMappingURL=charter-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charter-compiler.d.ts","sourceRoot":"","sources":["../../src/agents/charter-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAI7D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0BAA0B;IAC1B,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,sBAAsB,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,eAAe,CAyElF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAgEnE"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Charter Compilation (M1-8 + M2-9)
3
+ *
4
+ * Transforms agent charter.md files into typed SDK CustomAgentConfig.
5
+ * Parses charter sections and builds the complete agent prompt with team context.
6
+ * Supports config-driven overrides that merge with charter content.
7
+ */
8
+ import { ConfigurationError } from '../adapter/errors.js';
9
+ import { normalizeEol } from '../utils/normalize-eol.js';
10
+ /**
11
+ * Compile a charter.md file into a CustomAgentConfig.
12
+ *
13
+ * @param options - Charter compilation options
14
+ * @returns Squad CustomAgentConfig ready for SDK registration
15
+ * @throws {ConfigurationError} If charter is missing or malformed
16
+ */
17
+ export function compileCharter(options) {
18
+ return compileCharterFull(options);
19
+ }
20
+ /**
21
+ * Compile a charter with full metadata including resolved model/tools.
22
+ *
23
+ * @param options - Charter compilation options
24
+ * @returns CompiledCharter with full metadata
25
+ * @throws {ConfigurationError} If charter is missing or malformed
26
+ */
27
+ export function compileCharterFull(options) {
28
+ const { agentName, charterPath, charterContent, teamContext, routingRules, decisions, configOverrides } = options;
29
+ try {
30
+ const parsed = parseCharterMarkdown(charterContent ?? '');
31
+ // Build the complete prompt by composing sections
32
+ const promptParts = [];
33
+ // Add charter content
34
+ promptParts.push(parsed.fullContent || `# ${agentName} Charter\n\nAgent charter content.`);
35
+ // Add team context if available
36
+ if (teamContext) {
37
+ promptParts.push('\n\n## Team Context\n\n' + teamContext);
38
+ }
39
+ // Add routing rules if available
40
+ if (routingRules) {
41
+ promptParts.push('\n\n## Routing Rules\n\n' + routingRules);
42
+ }
43
+ // Add relevant decisions if available
44
+ if (decisions) {
45
+ promptParts.push('\n\n## Relevant Decisions\n\n' + decisions);
46
+ }
47
+ // Append extra prompt from config overrides
48
+ if (configOverrides?.extraPrompt) {
49
+ promptParts.push('\n\n' + configOverrides.extraPrompt);
50
+ }
51
+ const prompt = promptParts.join('');
52
+ // Config overrides win over charter-parsed values
53
+ const role = configOverrides?.role || parsed.identity.role;
54
+ const displayName = configOverrides?.displayName
55
+ || (role ? `${capitalize(agentName)} — ${role}` : capitalize(agentName));
56
+ const description = parsed.identity.expertise?.length
57
+ ? `Expertise: ${parsed.identity.expertise.join(', ')}`
58
+ : `${role || 'Agent'}`;
59
+ // Resolve model: config override > charter preference
60
+ const resolvedModel = configOverrides?.model || parsed.modelPreference;
61
+ // Resolve tools: config override > charter-extracted tools
62
+ const resolvedTools = configOverrides?.tools;
63
+ return {
64
+ name: agentName,
65
+ displayName,
66
+ description,
67
+ prompt,
68
+ infer: true,
69
+ tools: resolvedTools ?? null,
70
+ resolvedModel,
71
+ resolvedTools,
72
+ parsed,
73
+ };
74
+ }
75
+ catch (error) {
76
+ if (error instanceof ConfigurationError)
77
+ throw error;
78
+ throw new ConfigurationError(`Failed to compile charter for agent '${agentName}' at ${charterPath}: ${error instanceof Error ? error.message : String(error)}`, {
79
+ agentName,
80
+ operation: 'compileCharter',
81
+ timestamp: new Date(),
82
+ metadata: { charterPath },
83
+ }, error instanceof Error ? error : undefined);
84
+ }
85
+ }
86
+ /**
87
+ * Parse charter markdown content into structured sections.
88
+ *
89
+ * @param content - Raw charter.md content
90
+ * @returns Parsed charter structure
91
+ */
92
+ export function parseCharterMarkdown(content) {
93
+ content = normalizeEol(content);
94
+ const result = {
95
+ identity: {},
96
+ fullContent: content,
97
+ };
98
+ if (!content || content.trim().length === 0) {
99
+ return result;
100
+ }
101
+ // Extract ## Identity section
102
+ const identityMatch = content.match(/##\s+Identity\s*\n([\s\S]*?)(?=\n##|\n---|$)/i);
103
+ if (identityMatch) {
104
+ const identityContent = identityMatch[1];
105
+ // Parse identity fields
106
+ const nameMatch = identityContent.match(/\*\*Name:\*\*\s*(.+)/i);
107
+ if (nameMatch)
108
+ result.identity.name = nameMatch[1].trim();
109
+ const roleMatch = identityContent.match(/\*\*Role:\*\*\s*(.+)/i);
110
+ if (roleMatch)
111
+ result.identity.role = roleMatch[1].trim();
112
+ const expertiseMatch = identityContent.match(/\*\*Expertise:\*\*\s*(.+)/i);
113
+ if (expertiseMatch) {
114
+ result.identity.expertise = expertiseMatch[1]
115
+ .split(',')
116
+ .map(e => e.trim())
117
+ .filter(e => e.length > 0);
118
+ }
119
+ const styleMatch = identityContent.match(/\*\*Style:\*\*\s*(.+)/i);
120
+ if (styleMatch)
121
+ result.identity.style = styleMatch[1].trim();
122
+ }
123
+ // Extract ## What I Own section
124
+ const ownershipMatch = content.match(/##\s+What I Own\s*\n([\s\S]*?)(?=\n##|\n---|$)/i);
125
+ if (ownershipMatch) {
126
+ result.ownership = ownershipMatch[1].trim();
127
+ }
128
+ // Extract ## Boundaries section
129
+ const boundariesMatch = content.match(/##\s+Boundaries\s*\n([\s\S]*?)(?=\n##|\n---|$)/i);
130
+ if (boundariesMatch) {
131
+ result.boundaries = boundariesMatch[1].trim();
132
+ }
133
+ // Extract ## Model section
134
+ const modelMatch = content.match(/##\s+Model\s*\n([\s\S]*?)(?=\n##|\n---|$)/i);
135
+ if (modelMatch) {
136
+ const modelContent = modelMatch[1];
137
+ const preferredMatch = modelContent.match(/\*\*Preferred:\*\*\s*(.+)/i);
138
+ if (preferredMatch) {
139
+ result.modelPreference = preferredMatch[1].trim();
140
+ }
141
+ }
142
+ // Extract ## Collaboration section
143
+ const collaborationMatch = content.match(/##\s+Collaboration\s*\n([\s\S]*?)(?=\n##|\n---|$)/i);
144
+ if (collaborationMatch) {
145
+ result.collaboration = collaborationMatch[1].trim();
146
+ }
147
+ return result;
148
+ }
149
+ /**
150
+ * Capitalize first letter of a string.
151
+ */
152
+ function capitalize(str) {
153
+ if (!str)
154
+ return str;
155
+ return str.charAt(0).toUpperCase() + str.slice(1);
156
+ }
157
+ //# sourceMappingURL=charter-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charter-compiler.js","sourceRoot":"","sources":["../../src/agents/charter-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Session History Shadows (M1-11)
3
+ *
4
+ * When importing/spawning remote agents, creates local history shadows that
5
+ * capture project-specific learnings separate from the portable agent definition.
6
+ *
7
+ * Shadows live at: .squad/agents/{name}/history.md
8
+ */
9
+ /**
10
+ * Standard history sections that agents maintain.
11
+ */
12
+ export type HistorySection = 'Context' | 'Learnings' | 'Decisions' | 'Patterns' | 'Issues' | 'References';
13
+ /**
14
+ * Parsed history content by section.
15
+ */
16
+ export interface ParsedHistory {
17
+ /** Context section: project-specific background */
18
+ context?: string;
19
+ /** Learnings section: what the agent has learned */
20
+ learnings?: string;
21
+ /** Decisions section: key decisions made */
22
+ decisions?: string;
23
+ /** Patterns section: recurring patterns observed */
24
+ patterns?: string;
25
+ /** Issues section: problems encountered */
26
+ issues?: string;
27
+ /** References section: important files/links */
28
+ references?: string;
29
+ /** Full raw content */
30
+ fullContent: string;
31
+ }
32
+ /**
33
+ * Create a history shadow for an agent.
34
+ *
35
+ * Initializes the shadow file at `.squad/agents/{name}/history.md` with
36
+ * project-specific context. This is separate from the agent's portable
37
+ * charter and captures session-specific learnings.
38
+ *
39
+ * @param teamRoot - Path to team root directory
40
+ * @param agentName - Name of the agent
41
+ * @param initialContext - Initial context to seed the history
42
+ * @returns Path to created history shadow
43
+ */
44
+ export declare function createHistoryShadow(teamRoot: string, agentName: string, initialContext?: string): Promise<string>;
45
+ /**
46
+ * Append content to a specific section of an agent's history shadow.
47
+ *
48
+ * If the section doesn't exist, it will be created.
49
+ * Content is appended with a timestamp.
50
+ *
51
+ * @param teamRoot - Path to team root directory
52
+ * @param agentName - Name of the agent
53
+ * @param section - Section to append to
54
+ * @param content - Content to append
55
+ */
56
+ export declare function appendToHistory(teamRoot: string, agentName: string, section: HistorySection, content: string): Promise<void>;
57
+ /**
58
+ * Read and parse an agent's history shadow.
59
+ *
60
+ * @param teamRoot - Path to team root directory
61
+ * @param agentName - Name of the agent
62
+ * @returns Parsed history with sections
63
+ */
64
+ export declare function readHistory(teamRoot: string, agentName: string): Promise<ParsedHistory>;
65
+ /**
66
+ * Check if a history shadow exists for an agent.
67
+ *
68
+ * @param teamRoot - Path to team root directory
69
+ * @param agentName - Name of the agent
70
+ * @returns True if shadow exists
71
+ */
72
+ export declare function shadowExists(teamRoot: string, agentName: string): Promise<boolean>;
73
+ /**
74
+ * Delete a history shadow for an agent.
75
+ *
76
+ * @param teamRoot - Path to team root directory
77
+ * @param agentName - Name of the agent
78
+ */
79
+ export declare function deleteHistoryShadow(teamRoot: string, agentName: string): Promise<void>;
80
+ //# sourceMappingURL=history-shadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-shadow.d.ts","sourceRoot":"","sources":["../../src/agents/history-shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,GACV,QAAQ,GACR,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,CAmDxB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Session History Shadows (M1-11)
3
+ *
4
+ * When importing/spawning remote agents, creates local history shadows that
5
+ * capture project-specific learnings separate from the portable agent definition.
6
+ *
7
+ * Shadows live at: .squad/agents/{name}/history.md
8
+ */
9
+ import * as fs from 'fs/promises';
10
+ import * as path from 'path';
11
+ import { ConfigurationError } from '../adapter/errors.js';
12
+ /**
13
+ * Create a history shadow for an agent.
14
+ *
15
+ * Initializes the shadow file at `.squad/agents/{name}/history.md` with
16
+ * project-specific context. This is separate from the agent's portable
17
+ * charter and captures session-specific learnings.
18
+ *
19
+ * @param teamRoot - Path to team root directory
20
+ * @param agentName - Name of the agent
21
+ * @param initialContext - Initial context to seed the history
22
+ * @returns Path to created history shadow
23
+ */
24
+ export async function createHistoryShadow(teamRoot, agentName, initialContext) {
25
+ try {
26
+ const shadowDir = path.join(teamRoot, '.squad', 'agents', agentName);
27
+ const shadowPath = path.join(shadowDir, 'history.md');
28
+ // Ensure directory exists
29
+ await fs.mkdir(shadowDir, { recursive: true });
30
+ // Check if shadow already exists
31
+ try {
32
+ await fs.access(shadowPath);
33
+ // Shadow exists, return path without overwriting
34
+ return shadowPath;
35
+ }
36
+ catch {
37
+ // Shadow doesn't exist, create it
38
+ }
39
+ // Create initial shadow content
40
+ const timestamp = new Date().toISOString();
41
+ const initialContent = `# ${capitalize(agentName)} — Session History
42
+
43
+ > **Shadow History**: Project-specific learnings for ${agentName} in this repository.
44
+ > This file is separate from the agent's portable charter and captures session context.
45
+
46
+ **Created:** ${timestamp}
47
+
48
+ ## Context
49
+
50
+ ${initialContext || 'No initial context provided.'}
51
+
52
+ ## Learnings
53
+
54
+ <!-- Add project-specific learnings here -->
55
+
56
+ ## Decisions
57
+
58
+ <!-- Record key decisions made by this agent -->
59
+
60
+ ## Patterns
61
+
62
+ <!-- Note recurring patterns observed -->
63
+
64
+ ## Issues
65
+
66
+ <!-- Track problems encountered and resolutions -->
67
+
68
+ ## References
69
+
70
+ <!-- Important files, documentation, or external resources -->
71
+ `;
72
+ await fs.writeFile(shadowPath, initialContent, 'utf-8');
73
+ return shadowPath;
74
+ }
75
+ catch (error) {
76
+ throw new ConfigurationError(`Failed to create history shadow for agent '${agentName}': ${error instanceof Error ? error.message : String(error)}`, {
77
+ agentName,
78
+ operation: 'createHistoryShadow',
79
+ timestamp: new Date(),
80
+ metadata: { teamRoot },
81
+ }, error instanceof Error ? error : undefined);
82
+ }
83
+ }
84
+ /**
85
+ * Append content to a specific section of an agent's history shadow.
86
+ *
87
+ * If the section doesn't exist, it will be created.
88
+ * Content is appended with a timestamp.
89
+ *
90
+ * @param teamRoot - Path to team root directory
91
+ * @param agentName - Name of the agent
92
+ * @param section - Section to append to
93
+ * @param content - Content to append
94
+ */
95
+ export async function appendToHistory(teamRoot, agentName, section, content) {
96
+ try {
97
+ const shadowPath = path.join(teamRoot, '.squad', 'agents', agentName, 'history.md');
98
+ // Read existing history
99
+ let historyContent;
100
+ try {
101
+ historyContent = await fs.readFile(shadowPath, 'utf-8');
102
+ }
103
+ catch (error) {
104
+ throw new ConfigurationError(`History shadow not found for agent '${agentName}'. Create it first with createHistoryShadow().`, {
105
+ agentName,
106
+ operation: 'appendToHistory',
107
+ timestamp: new Date(),
108
+ metadata: { shadowPath },
109
+ }, error instanceof Error ? error : undefined);
110
+ }
111
+ // Find section or create it
112
+ const sectionHeader = `## ${section}`;
113
+ const sectionRegex = new RegExp(`^${sectionHeader}\\s*$([\\s\\S]*?)(?=^##\\s|\\Z)`, 'm');
114
+ const match = historyContent.match(sectionRegex);
115
+ const timestamp = new Date().toISOString().split('T')[0]; // YYYY-MM-DD
116
+ const entry = `\n### ${timestamp}\n\n${content}\n`;
117
+ let updatedContent;
118
+ if (match) {
119
+ // Section exists, append to it
120
+ const fullMatch = match[0];
121
+ const sectionContent = match[1];
122
+ const updatedSection = `${sectionHeader}\n${sectionContent.trimEnd()}${entry}`;
123
+ updatedContent = historyContent.replace(fullMatch, updatedSection);
124
+ }
125
+ else {
126
+ // Section doesn't exist, create it at the end
127
+ updatedContent = historyContent.trimEnd() + `\n\n${sectionHeader}${entry}`;
128
+ }
129
+ await fs.writeFile(shadowPath, updatedContent, 'utf-8');
130
+ }
131
+ catch (error) {
132
+ if (error instanceof ConfigurationError) {
133
+ throw error;
134
+ }
135
+ throw new ConfigurationError(`Failed to append to history for agent '${agentName}': ${error instanceof Error ? error.message : String(error)}`, {
136
+ agentName,
137
+ operation: 'appendToHistory',
138
+ timestamp: new Date(),
139
+ metadata: { section, teamRoot },
140
+ }, error instanceof Error ? error : undefined);
141
+ }
142
+ }
143
+ /**
144
+ * Read and parse an agent's history shadow.
145
+ *
146
+ * @param teamRoot - Path to team root directory
147
+ * @param agentName - Name of the agent
148
+ * @returns Parsed history with sections
149
+ */
150
+ export async function readHistory(teamRoot, agentName) {
151
+ try {
152
+ const shadowPath = path.join(teamRoot, '.squad', 'agents', agentName, 'history.md');
153
+ let historyContent;
154
+ try {
155
+ historyContent = await fs.readFile(shadowPath, 'utf-8');
156
+ }
157
+ catch (error) {
158
+ // Shadow doesn't exist yet, return empty
159
+ return {
160
+ fullContent: '',
161
+ };
162
+ }
163
+ const parsed = {
164
+ fullContent: historyContent,
165
+ };
166
+ // Extract sections
167
+ const sections = {
168
+ 'Context': 'context',
169
+ 'Learnings': 'learnings',
170
+ 'Decisions': 'decisions',
171
+ 'Patterns': 'patterns',
172
+ 'Issues': 'issues',
173
+ 'References': 'references',
174
+ };
175
+ for (const [sectionName, key] of Object.entries(sections)) {
176
+ const sectionRegex = new RegExp(`^##\\s+${sectionName}\\s*$([\\s\\S]*?)(?=^##\\s|\\Z)`, 'm');
177
+ const match = historyContent.match(sectionRegex);
178
+ if (match) {
179
+ parsed[key] = match[1].trim();
180
+ }
181
+ }
182
+ return parsed;
183
+ }
184
+ catch (error) {
185
+ throw new ConfigurationError(`Failed to read history for agent '${agentName}': ${error instanceof Error ? error.message : String(error)}`, {
186
+ agentName,
187
+ operation: 'readHistory',
188
+ timestamp: new Date(),
189
+ metadata: { teamRoot },
190
+ }, error instanceof Error ? error : undefined);
191
+ }
192
+ }
193
+ /**
194
+ * Check if a history shadow exists for an agent.
195
+ *
196
+ * @param teamRoot - Path to team root directory
197
+ * @param agentName - Name of the agent
198
+ * @returns True if shadow exists
199
+ */
200
+ export async function shadowExists(teamRoot, agentName) {
201
+ try {
202
+ const shadowPath = path.join(teamRoot, '.squad', 'agents', agentName, 'history.md');
203
+ await fs.access(shadowPath);
204
+ return true;
205
+ }
206
+ catch {
207
+ return false;
208
+ }
209
+ }
210
+ /**
211
+ * Delete a history shadow for an agent.
212
+ *
213
+ * @param teamRoot - Path to team root directory
214
+ * @param agentName - Name of the agent
215
+ */
216
+ export async function deleteHistoryShadow(teamRoot, agentName) {
217
+ try {
218
+ const shadowPath = path.join(teamRoot, '.squad', 'agents', agentName, 'history.md');
219
+ await fs.unlink(shadowPath);
220
+ }
221
+ catch (error) {
222
+ throw new ConfigurationError(`Failed to delete history shadow for agent '${agentName}': ${error instanceof Error ? error.message : String(error)}`, {
223
+ agentName,
224
+ operation: 'deleteHistoryShadow',
225
+ timestamp: new Date(),
226
+ metadata: { teamRoot },
227
+ }, error instanceof Error ? error : undefined);
228
+ }
229
+ }
230
+ /**
231
+ * Capitalize first letter of a string.
232
+ * @private
233
+ */
234
+ function capitalize(str) {
235
+ if (!str)
236
+ return str;
237
+ return str.charAt(0).toUpperCase() + str.slice(1);
238
+ }
239
+ //# sourceMappingURL=history-shadow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-shadow.js","sourceRoot":"","sources":["../../src/agents/history-shadow.ts"],"names":[],"mappings":"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"}