craftar 0.8.4 → 0.8.5

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.
package/README.md CHANGED
@@ -187,7 +187,7 @@ Sections layer the same way, weakest → strongest: the body's default → the p
187
187
  **claude-code** — emits `.claude/rules|agents|commands|skills|scripts|hooks` and `.mcp.json` verbatim from the Forge (frontmatter kept byte-for-byte). Each MCP server is written exactly as the Forge holds it, undeclared keys included, in its own key order. Existing files keep their line endings and BOM; new files are LF without a BOM. Steering is Kiro-only (its `targets` default to `[kiro]`); one aimed at `claude-code` explicitly (`targets: "*"` or a list naming it) is skipped with a warning.
188
188
 
189
189
  **kiro** — reproduces, then extends, the hand-written `sync-steering.ps1` script it replaces:
190
- steering = `inclusion` frontmatter + `GENERATED` banner + rule body, with `.claude/rules/` rewritten to `.kiro/steering/`, UTF-8 without BOM, CRLF. On top of what the script did, it also generates `.kiro/agents/*.json` (tools mapped to Kiro names, `resources` bound to the agent's stack rule + `repo-discovery`, or `**/*.md` for generic agents), `.kiro/steering/commands/*.md`, `.kiro/skills/*/SKILL.md` and `.kiro/settings/mcp.json`. `.kiro/settings/mcp.json` receives each MCP server exactly as the Forge holds it, in its own key order — including keys Kiro may not use (`type` always went through). The banner text is a parameter (`kiro.banner`) so existing workspaces can adopt without a rewrite. Scripts and hooks have no Kiro equivalent: they are skipped with a warning.
190
+ steering = `inclusion` frontmatter + `GENERATED` banner + rule body, with `.claude/rules/` rewritten to `.kiro/steering/` — except a reference to a rule kiro does not write, which follows that rule: kept as `.claude/rules/<x>.md` when `claude-code` writes it, `AGENTS.md (rule: <x>)` when only `AGENTS.md` holds it, otherwise `<x> (rule not in this workspace)` with a warning; an unknown name is still rewritten and is reported. Files are UTF-8 without BOM, CRLF. The same applies to agent prompts and descriptions, command bodies and descriptions, and skill text files; a `steering` ingredient is emitted as written. On top of what the script did, it also generates `.kiro/agents/*.json` (tools mapped to Kiro names, `resources` bound to the agent's stack rule + `repo-discovery`, or `**/*.md` for generic agents), `.kiro/steering/commands/*.md`, `.kiro/skills/*/SKILL.md` and `.kiro/settings/mcp.json`. `.kiro/settings/mcp.json` receives each MCP server exactly as the Forge holds it, in its own key order — including keys Kiro may not use (`type` always went through). The banner text is a parameter (`kiro.banner`) so existing workspaces can adopt without a rewrite. Scripts and hooks have no Kiro equivalent: they are skipped with a warning.
191
191
 
192
192
  **agents-md** — one `AGENTS.md` with the always-on rules concatenated and the scoped rules after them — each listed at the file a target of the workspace writes for it (`.claude/rules/<name>.md` when `claude-code` writes it, else `.kiro/steering/<name>.md` when `kiro` does), or, when no target writes it, embedded in full under a `> Scoped rule — <scope>` line, for tools that read the open standard (Codex, Cursor, Warp, Copilot, Kimi…). A `.claude/rules/<x>.md` reference inside a body follows the rule it names: it is kept when `claude-code` writes that rule, becomes `.kiro/steering/<x>.md` when only `kiro` writes that file (from the rule or from a `steering` ingredient of that name), becomes `AGENTS.md (rule: <x>)` when the rule's text is in this file, and otherwise becomes `<x> (rule not in this workspace)` with a warning (an unknown name is left as written when `claude-code` is a target); without `claude-code`, the warning also names references to other `.claude/` files, which are left as written. Every other ingredient type aimed at `agents-md` — including through the default `targets: "*"` — has no `AGENTS.md` equivalent: it is skipped with a warning — one line per type, naming every skipped ingredient. The file keeps the line endings and BOM of the one it replaces; a new one is LF without a BOM.
193
193
 
@@ -241,6 +241,16 @@ Next: `craftar init` from a profile; profile-driven integrations (PM tool → MC
241
241
 
242
242
  ## Upgrading
243
243
 
244
+ ### to 0.8.5
245
+
246
+ - **The kiro target stops turning a reference to a rule it does not write into a `.kiro/steering/` path that does not exist.** Only files under `.kiro/` change; no other generated file and no lock field.
247
+ - **No byte change:** a workspace in which every rule a kiro text cites is one kiro writes, and whose hand-written commands cite no `.claude/rules/` path in their `description`. Every workspace `craftar import` produced is in this case. A cited unknown name now adds a warning.
248
+ - **A cited rule kiro does not write:** the reference goes back to `.claude/rules/<x>.md` when `claude-code` writes the rule, becomes `AGENTS.md (rule: <x>)` when only `AGENTS.md` holds it, or else `<x> (rule not in this workspace)`.
249
+ - **A command written by hand in the Forge (no raw frontmatter):** its `description` is now resolved like its body, and that includes the directory rewrite.
250
+ - **At most one `kiro:` warning about rule references per plan.** It names every reference reworded to "rule not in this workspace", and every unknown name, which is still rewritten to `.kiro/steering/`. It never changes an exit code.
251
+ - An affected workspace shows those `.kiro/` files as `update`, and `craftar sync --check` exits 1 until it syncs.
252
+ - An agent's `resources` do not change.
253
+
244
254
  ### to 0.8.4
245
255
 
246
256
  - **A `.claude/rules/<x>.md` reference inside a rule body that goes into `AGENTS.md` is resolved by the rule it names.** Only `AGENTS.md` changes; no other generated file and no lock field.
@@ -249,7 +259,7 @@ Next: `craftar init` from a profile; profile-driven integrations (PM tool → MC
249
259
  - **With `claude-code`:** only a reference to a rule `claude-code` does not write, or to a `steering` ingredient `kiro` writes, moves. An unknown name is left as written.
250
260
  - **At most one warning per `AGENTS.md`** names every reference turned into `<x> (rule not in this workspace)` (a reference made to point at `.kiro/steering/` or into `AGENTS.md` is not reported). Without `claude-code`, it also names references to other `.claude/` files (agents, commands, skills, scripts, hooks), which are left as written. It repeats on every run until the body, the cited rule's `targets` or the workspace's targets change, and it never changes an exit code.
251
261
  - An affected workspace shows `AGENTS.md` as `update`, and `craftar sync --check` exits 1 until it syncs.
252
- - The kiro emitter still rewrites every `.claude/rules/` to `.kiro/steering/`; a later release (0.8.5) addresses it.
262
+ - The kiro emitter still rewrites every `.claude/rules/` to `.kiro/steering/`; 0.8.5 addresses it in part — see *to 0.8.5*.
253
263
 
254
264
  ### to 0.8.3
255
265
 
package/dist/cli.js CHANGED
@@ -18,7 +18,7 @@ import { HUNK_CLASSES, UnifyPlanSchema } from "./schema/index.js";
18
18
  process.stdout.on("error", (e) => { if (e.code === "EPIPE")
19
19
  process.exit(0); });
20
20
  const program = new Command();
21
- program.name("craftar").description("Craft, sync and convert AI-coding workspace harnesses.").version("0.8.4");
21
+ program.name("craftar").description("Craft, sync and convert AI-coding workspace harnesses.").version("0.8.5");
22
22
  /* ---------------------------------------------------------------- import */
23
23
  program
24
24
  .command("import")
@@ -1,14 +1,16 @@
1
1
  import { toCrlf } from "../core/text.js";
2
2
  import { serializeFrontmatter } from "../core/frontmatter.js";
3
3
  import { listFiles } from "../core/forge.js";
4
- import { appliesTo, mcpServers, outName, ruleFile, RULE_NAME_CHARS } from "./shared.js";
4
+ import { appliesTo, buildRuleLookup, mcpServers, outName, resolveRuleRefs, ruleFile, RULE_NAME_CHARS, UNKNOWN_NAME_KIND } from "./shared.js";
5
5
  /** Files kiro copies as text, through `ctx.text` (substituted); anything else is copied as raw bytes. */
6
6
  export const KIRO_TEXT_EXT = /\.(md|txt|json|ya?ml)$/i;
7
7
  /**
8
8
  * Kiro target. Reproduces, then extends, the behaviour of the hand-written
9
9
  * `.claude/scripts/sync-steering.ps1` this target was extracted from:
10
10
  * - steering = frontmatter(inclusion) + GENERATED banner + rule body
11
- * - `.claude/rules/` references are rewritten to `.kiro/steering/`
11
+ * - `.claude/rules/` references are resolved: kiro-written rules → `.kiro/steering/`,
12
+ * claude-code-written rules → unchanged, agents-md-only rules → `AGENTS.md`,
13
+ * dead rules → `<x> (rule not in this workspace)`, unknown → `.kiro/steering/` with a warning (spec 17)
12
14
  * - UTF-8 without BOM, CRLF (the exact shape Kiro already consumes)
13
15
  * and additionally generates what the script never did: agents JSON, commands and skills.
14
16
  */
@@ -20,13 +22,22 @@ export const kiro = {
20
22
  const banner = String(ctx.resolution.params["kiro.banner"] ?? "<!-- GENERATED from {{source}} by craftar -- do not edit. -->");
21
23
  const ruleNames = new Set(ctx.resolution.ingredients.filter((i) => i.meta.type === "rule").map((i) => outName(i.meta)));
22
24
  const scopedRules = ctx.resolution.ingredients.filter((i) => i.meta.type === "rule" && i.meta.inclusion === "fileMatch").map((i) => outName(i.meta));
25
+ const targets = ctx.resolution.targets;
26
+ const lookup = buildRuleLookup(ctx.resolution.ingredients);
27
+ // Collect reports for the warning (spec 17 §4.5)
28
+ const reports = [];
29
+ const resolve = (text, citing) => {
30
+ const { text: resolved, report } = resolveRuleRefs(text, citing, lookup, targets, "kiro");
31
+ reports.push(report);
32
+ return resolved;
33
+ };
23
34
  for (const ing of ctx.resolution.ingredients) {
24
35
  if (!appliesTo(ing.meta.targets, t))
25
36
  continue;
26
37
  const m = ing.meta;
27
38
  switch (m.type) {
28
39
  case "rule": {
29
- const body = rewrite(await ctx.text(ing, m.file));
40
+ const body = resolve(await ctx.text(ing, m.file), ing.ref);
30
41
  const fm = m.inclusion === "fileMatch"
31
42
  ? `---\ninclusion: fileMatch\nfileMatchPattern: ${JSON.stringify(Array.isArray(m.fileMatchPattern) ? m.fileMatchPattern.join(",") : m.fileMatchPattern ?? "**")}\n---\n\n`
32
43
  : `---\ninclusion: ${m.inclusion}\n---\n\n`;
@@ -35,32 +46,42 @@ export const kiro = {
35
46
  break;
36
47
  }
37
48
  case "steering":
49
+ // Steering bodies are emitted as written (spec 17 §2)
38
50
  out.push(crlf(`.kiro/steering/${outName(m)}.md`, await ctx.text(ing, m.file), ing.ref));
39
51
  break;
40
52
  case "agent": {
41
- const body = rewrite(await ctx.text(ing, m.file));
42
- const description = rewrite(m.description ?? "");
53
+ // Resolve description first, then body (spec 17 §4.5 order: description before prompt)
54
+ const description = resolve(m.description ?? "", ing.ref);
55
+ // Read the body once and derive both versions from it
56
+ const rawBody = await ctx.text(ing, m.file);
57
+ const body = resolve(rawBody, ing.ref);
43
58
  const tools = mapTools(m.tools, ctx);
44
- const resources = m.resources ?? agentResources(outName(m), description + "\n" + body, ruleNames, scopedRules);
59
+ // agentResources reads the blanket-rewritten text, not the resolved text (spec 17 §4.6)
60
+ const resources = m.resources ?? agentResources(outName(m), rewrite(m.description ?? "") + "\n" + rewrite(rawBody), ruleNames, scopedRules);
45
61
  const json = JSON.stringify({ name: outName(m), description, prompt: body.replace(/^\n+/, "").replace(/\n+$/, ""), tools, allowedTools: tools, resources }, null, 2) + "\n";
46
62
  out.push(crlf(`.kiro/agents/${outName(m)}.json`, json, ing.ref));
47
63
  break;
48
64
  }
49
65
  case "command": {
50
- const body = rewrite(await ctx.text(ing, m.file));
51
- const doc = serializeFrontmatter({ description: m.description, "argument-hint": m.argumentHint, "allowed-tools": m.allowedTools }, body, { raw: m.frontmatterRaw ? rewrite(m.frontmatterRaw) : null });
66
+ // Resolve description and raw frontmatter first, then body (spec 17 §4.5 order: frontmatter before body)
67
+ // When frontmatterRaw is set, the description field is unused (serializeFrontmatter ignores it),
68
+ // so we skip resolving it to avoid spurious reports.
69
+ const resolvedDescription = !m.frontmatterRaw && m.description !== undefined ? resolve(m.description, ing.ref) : undefined;
70
+ const resolvedFm = m.frontmatterRaw ? resolve(m.frontmatterRaw, ing.ref) : null;
71
+ const body = resolve(await ctx.text(ing, m.file), ing.ref);
72
+ const doc = serializeFrontmatter({ description: resolvedDescription, "argument-hint": m.argumentHint, "allowed-tools": m.allowedTools }, body, { raw: resolvedFm });
52
73
  out.push(crlf(`.kiro/steering/commands/${outName(m)}.md`, `---\ninclusion: manual\n---\n\n` + doc, ing.ref));
53
74
  break;
54
75
  }
55
76
  case "skill": {
56
77
  if (m.layout === "file") {
57
- out.push(crlf(`.kiro/skills/${outName(m)}/SKILL.md`, rewrite(await ctx.text(ing, "SKILL.md")), ing.ref));
78
+ out.push(crlf(`.kiro/skills/${outName(m)}/SKILL.md`, resolve(await ctx.text(ing, "SKILL.md"), ing.ref), ing.ref));
58
79
  }
59
80
  else {
60
81
  for (const f of await listFiles(ing.dir)) {
61
82
  if (f === "ingredient.yaml")
62
83
  continue;
63
- out.push(await copy(ctx, ing, f, `.kiro/skills/${outName(m)}/${f}`));
84
+ out.push(await copy(ctx, ing, f, `.kiro/skills/${outName(m)}/${f}`, resolve));
64
85
  }
65
86
  }
66
87
  break;
@@ -74,6 +95,8 @@ export const kiro = {
74
95
  break;
75
96
  }
76
97
  }
98
+ // Emit one warning for all dead and unknown references (spec 17 §4.5)
99
+ emitKiroWarning(ctx, reports);
77
100
  const servers = mcpServers(ctx, t, ".kiro/settings/mcp.json");
78
101
  if (Object.keys(servers).length) {
79
102
  out.push(crlf(".kiro/settings/mcp.json", JSON.stringify({ mcpServers: servers }, null, 2) + "\n", "mcp/*"));
@@ -81,15 +104,59 @@ export const kiro = {
81
104
  return out;
82
105
  },
83
106
  };
107
+ /** Emit the kiro warning for dead and unknown references (spec 17 §4.5). */
108
+ function emitKiroWarning(ctx, reports) {
109
+ // Collect entries: D (has kind with "reaches no target") and unknown (empty kind)
110
+ const dead = [];
111
+ const unknown = [];
112
+ const seenDead = new Set();
113
+ const seenUnknown = new Set();
114
+ for (const report of reports) {
115
+ for (const e of report.reworded) {
116
+ const key = `${e.ref}|${e.citing}`;
117
+ if (e.kind !== UNKNOWN_NAME_KIND) {
118
+ // D: has a kind string (e.g. "rule/x reaches no target here")
119
+ if (!seenDead.has(key)) {
120
+ seenDead.add(key);
121
+ dead.push(e);
122
+ }
123
+ }
124
+ else {
125
+ // unknown: empty kind string (UNKNOWN_NAME_KIND)
126
+ if (!seenUnknown.has(key)) {
127
+ seenUnknown.add(key);
128
+ unknown.push({ ref: e.ref, citing: e.citing });
129
+ }
130
+ }
131
+ }
132
+ }
133
+ if (dead.length === 0 && unknown.length === 0)
134
+ return;
135
+ const parts = [];
136
+ if (dead.length > 0) {
137
+ const entries = dead.map((e) => `${e.ref} (in ${e.citing}; ${e.kind})`).join(", ");
138
+ parts.push(`${dead.length} reference(s) to rule files this workspace does not have — reworded: ${entries}`);
139
+ }
140
+ if (unknown.length > 0) {
141
+ const entries = unknown.map((e) => `${e.ref} (in ${e.citing})`).join(", ");
142
+ if (dead.length > 0) {
143
+ parts.push(`${unknown.length} reference(s) to names that are no rule or steering here — rewritten to .kiro/steering/ as before: ${entries}`);
144
+ }
145
+ else {
146
+ parts.push(`${unknown.length} reference(s) to names that are no rule or steering of this workspace — rewritten to .kiro/steering/ as before: ${entries}`);
147
+ }
148
+ }
149
+ ctx.warn(`kiro: ${parts.join("; ")}`);
150
+ }
84
151
  export function rewrite(text) {
85
152
  return text.replace(/\.claude\/rules\//g, ".kiro/steering/");
86
153
  }
87
154
  function crlf(path, text, ingredient) {
88
155
  return { path, content: Buffer.from(toCrlf(text), "utf8"), target: "kiro", ingredient };
89
156
  }
90
- async function copy(ctx, ing, file, relPath) {
157
+ async function copy(ctx, ing, file, relPath, resolve) {
91
158
  if (KIRO_TEXT_EXT.test(file))
92
- return crlf(relPath, rewrite(await ctx.text(ing, file)), ing.ref);
159
+ return crlf(relPath, resolve(await ctx.text(ing, file), ing.ref), ing.ref);
93
160
  return { path: relPath, content: await ctx.bytes(ing, file), target: "kiro", ingredient: ing.ref };
94
161
  }
95
162
  const TOOL_MAP = {
@@ -1 +1 @@
1
- {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/emitters/kiro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIxF,yGAAyG;AACzG,MAAM,CAAC,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,MAAM,EAAE,MAAM;IACd,KAAK,CAAC,IAAI,CAAC,GAAG;QACZ,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,+DAA+D,CAAC,CAAC;QAC/H,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxH,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAErJ,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAAE,SAAS;YAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;YACnB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClD,MAAM,EAAE,GACN,CAAC,CAAC,SAAS,KAAK,WAAW;wBACzB,CAAC,CAAC,gDAAgD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW;wBAC1K,CAAC,CAAC,mBAAmB,CAAC,CAAC,SAAS,WAAW,CAAC;oBAChD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;oBACrF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC/D,MAAM;gBACR,CAAC;gBACD,KAAK,UAAU;oBACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxF,MAAM;gBACR,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;oBAC/G,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC5K,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjE,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClD,MAAM,GAAG,GAAG,oBAAoB,CAC9B,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC,YAAY,EAAE,EAChG,IAAI,EACJ,EAAE,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAC7D,CAAC;oBACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,iCAAiC,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7G,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3G,CAAC;yBAAM,CAAC;wBACN,KAAK,MAAM,CAAC,IAAI,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzC,IAAI,CAAC,KAAK,iBAAiB;gCAAE,SAAS;4BACtC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,gBAAgB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,KAAK;oBACR,sDAAsD;oBACtD,MAAM;gBACR,KAAK,QAAQ,CAAC;gBACd,KAAK,MAAM;oBACT,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,mCAAmC,CAAC,CAAC;oBACxE,MAAM;YACV,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,IAAY,EAAE,UAAkB;IAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1F,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,GAAgB,EAAE,GAAuB,EAAE,IAAY,EAAE,OAAe;IAC1F,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAChG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AACrG,CAAC;AAED,MAAM,QAAQ,GAAkC;IAC9C,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAe,EAAE,GAAgB;IACjD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5D,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,EAAE,mCAAmC,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,IAAY,EAAE,KAAkB,EAAE,MAAgB;IAClG,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAkB;IAC9D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,6CAA6C,eAAe,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QACvH,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/emitters/kiro.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export function ruleWriter(targets, ruleTargets) {
15
15
  return "kiro";
16
16
  return null;
17
17
  }
18
+ /** The kind string for an unknown name (no rule or steering with that name). */
19
+ export const UNKNOWN_NAME_KIND = "";
18
20
  /** Build the lookup maps for rule reference resolution, once per AGENTS.md. */
19
21
  export function buildRuleLookup(ingredients) {
20
22
  const rulesByName = new Map();
@@ -29,19 +31,39 @@ export function buildRuleLookup(ingredients) {
29
31
  return { rulesByName, steeringsByName };
30
32
  }
31
33
  /**
32
- * Resolve `.claude/rules/<x>.md` references in a body emitted into AGENTS.md (spec 15 §4.1–§4.3).
34
+ * Resolve `.claude/rules/<x>.md` references in a body (spec 15 §4.1–§4.3, spec 17 §4.2–§4.3).
35
+ * Mode "agents-md" (default) is for AGENTS.md; mode "kiro" is for kiro files.
33
36
  * Returns the transformed text and a report of what was reworded or found dead.
34
37
  */
35
- export function resolveRuleRefs(body, citing, lookup, targets) {
38
+ export function resolveRuleRefs(body, citing, lookup, targets, mode = "agents-md") {
36
39
  const report = { reworded: [], others: [] };
37
40
  const hasCc = targets.includes("claude-code");
38
41
  const hasKiro = targets.includes("kiro");
42
+ const hasMd = targets.includes("agents-md");
39
43
  const { rulesByName, steeringsByName } = lookup;
40
- // Determine rule state: A, B, C, D, or unknown (spec 15 §4.2)
41
44
  const ruleState = (name) => {
42
45
  const rule = rulesByName.get(name);
46
+ if (mode === "kiro") {
47
+ // K1: kiro writes it — a rule or steering that admits kiro (spec 17 §4.2)
48
+ if (rule && hasKiro && appliesTo(rule.meta.targets, "kiro"))
49
+ return "K1";
50
+ const steering = steeringsByName.get(name);
51
+ if (steering && hasKiro && appliesTo(steering.meta.targets, "kiro"))
52
+ return "K1";
53
+ // K2: a rule and claude-code writes it
54
+ if (rule && hasCc && appliesTo(rule.meta.targets, "claude-code"))
55
+ return "K2";
56
+ // K3: a rule aimed at agents-md, and agents-md is a workspace target
57
+ if (rule && hasMd && appliesTo(rule.meta.targets, "agents-md"))
58
+ return "K3";
59
+ // D: any other rule
60
+ if (rule)
61
+ return "D";
62
+ // unknown: anything else
63
+ return "unknown";
64
+ }
65
+ // agents-md mode (spec 15 §4.2)
43
66
  if (rule) {
44
- // A or B (rule): use ruleWriter to decide
45
67
  const writer = ruleWriter(targets, rule.meta.targets);
46
68
  if (writer === "claude-code")
47
69
  return "A";
@@ -52,15 +74,11 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
52
74
  const steering = steeringsByName.get(name);
53
75
  if (steering && hasKiro && appliesTo(steering.meta.targets, "kiro"))
54
76
  return "B";
55
- // C or D only when a rule exists
56
77
  if (rule) {
57
- // C: rule aimed at agents-md (text is in AGENTS.md)
58
78
  if (appliesTo(rule.meta.targets, "agents-md"))
59
79
  return "C";
60
- // D: rule exists but not written by any target here
61
80
  return "D";
62
81
  }
63
- // No rule with this name
64
82
  return "unknown";
65
83
  };
66
84
  // Right boundary: not followed by letter, digit, `_`, `-`, or `.` followed by one of those (spec 15 §4.1)
@@ -75,6 +93,8 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
75
93
  return false;
76
94
  return true;
77
95
  };
96
+ // Blanket rewrite for kiro mode: .claude/rules/ → .kiro/steering/
97
+ const kiroRewrite = (s) => s.replace(/\.claude\/rules\//g, ".kiro/steering/");
78
98
  const matches = [];
79
99
  // Link pattern: [text](.claude/rules/<name>.md) or [text](.claude/rules/<name>.md#frag)
80
100
  const linkPattern = new RegExp(`\\[([^\\]]+)\\]\\(\\.claude\\/rules\\/([${RULE_NAME_CHARS}]+)\\.md(#[^)]*)?\\)`, "g");
@@ -86,25 +106,58 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
86
106
  const rule = rulesByName.get(name);
87
107
  let replacement;
88
108
  let reworded;
89
- switch (state) {
90
- case "A":
91
- continue; // unchanged, skip
92
- case "B":
93
- replacement = `[${text}](${ruleFile("kiro", { name })}${frag ?? ""})`;
94
- break;
95
- case "C":
96
- replacement = `[${text}](AGENTS.md)`; // fragment dropped
97
- break;
98
- case "D":
99
- reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
100
- replacement = `${text} (${name}, rule not in this workspace)`;
101
- break;
102
- case "unknown":
103
- if (hasCc)
109
+ if (mode === "kiro") {
110
+ // Kiro mode (spec 17 §4.3)
111
+ switch (state) {
112
+ case "K1":
113
+ // Fragment gets the blanket rewrite too (spec 17 §4.3)
114
+ replacement = `[${kiroRewrite(text)}](${ruleFile("kiro", { name })}${kiroRewrite(frag ?? "")})`;
115
+ break;
116
+ case "K2":
117
+ // unchanged — exempt from directory rewrite; keep original text exactly
118
+ replacement = match;
119
+ break;
120
+ case "K3":
121
+ replacement = `[${kiroRewrite(text)}](AGENTS.md)`; // fragment dropped
122
+ break;
123
+ case "D":
124
+ reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
125
+ replacement = `${kiroRewrite(text)} (${name}, rule not in this workspace)`;
126
+ break;
127
+ case "unknown":
128
+ // Unknown name gets blanket rewrite and is reported (no kind string)
129
+ // Fragment gets the blanket rewrite too (spec 17 §4.3)
130
+ reworded = { ref: `.claude/rules/${name}.md`, kind: UNKNOWN_NAME_KIND };
131
+ replacement = `[${kiroRewrite(text)}](${ruleFile("kiro", { name })}${kiroRewrite(frag ?? "")})`;
132
+ break;
133
+ default:
134
+ continue;
135
+ }
136
+ }
137
+ else {
138
+ // agents-md mode (spec 15 §4.3)
139
+ switch (state) {
140
+ case "A":
141
+ continue;
142
+ case "B":
143
+ replacement = `[${text}](${ruleFile("kiro", { name })}${frag ?? ""})`;
144
+ break;
145
+ case "C":
146
+ replacement = `[${text}](AGENTS.md)`;
147
+ break;
148
+ case "D":
149
+ reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
150
+ replacement = `${text} (${name}, rule not in this workspace)`;
151
+ break;
152
+ case "unknown":
153
+ if (hasCc)
154
+ continue;
155
+ reworded = { ref: `.claude/rules/${name}.md`, kind: "no such rule" };
156
+ replacement = `${text} (${name}, rule not in this workspace)`;
157
+ break;
158
+ default:
104
159
  continue;
105
- reworded = { ref: `.claude/rules/${name}.md`, kind: "no such rule" };
106
- replacement = `${text} (${name}, rule not in this workspace)`;
107
- break;
160
+ }
108
161
  }
109
162
  matches.push({ offset, length: match.length, replacement, reworded });
110
163
  }
@@ -126,29 +179,60 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
126
179
  const rule = rulesByName.get(name);
127
180
  let replacement;
128
181
  let reworded;
129
- switch (state) {
130
- case "A":
131
- continue; // unchanged, skip
132
- case "B":
133
- replacement = ruleFile("kiro", { name });
134
- break;
135
- case "C":
136
- replacement = `AGENTS.md (rule: ${name})`;
137
- break;
138
- case "D":
139
- reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
140
- replacement = `${name} (rule not in this workspace)`;
141
- break;
142
- case "unknown":
143
- if (hasCc)
182
+ if (mode === "kiro") {
183
+ // Kiro mode (spec 17 §4.3)
184
+ switch (state) {
185
+ case "K1":
186
+ replacement = ruleFile("kiro", { name });
187
+ break;
188
+ case "K2":
189
+ // unchanged — exempt from directory rewrite; keep original text exactly
190
+ replacement = token;
191
+ break;
192
+ case "K3":
193
+ replacement = `AGENTS.md (rule: ${name})`;
194
+ break;
195
+ case "D":
196
+ reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
197
+ replacement = `${name} (rule not in this workspace)`;
198
+ break;
199
+ case "unknown":
200
+ // Unknown name gets blanket rewrite and is reported (no kind string)
201
+ reworded = { ref: `.claude/rules/${name}.md`, kind: UNKNOWN_NAME_KIND };
202
+ replacement = ruleFile("kiro", { name });
203
+ break;
204
+ default:
144
205
  continue;
145
- reworded = { ref: `.claude/rules/${name}.md`, kind: "no such rule" };
146
- replacement = `${name} (rule not in this workspace)`;
147
- break;
206
+ }
207
+ }
208
+ else {
209
+ // agents-md mode (spec 15 §4.3)
210
+ switch (state) {
211
+ case "A":
212
+ continue;
213
+ case "B":
214
+ replacement = ruleFile("kiro", { name });
215
+ break;
216
+ case "C":
217
+ replacement = `AGENTS.md (rule: ${name})`;
218
+ break;
219
+ case "D":
220
+ reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
221
+ replacement = `${name} (rule not in this workspace)`;
222
+ break;
223
+ case "unknown":
224
+ if (hasCc)
225
+ continue;
226
+ reworded = { ref: `.claude/rules/${name}.md`, kind: "no such rule" };
227
+ replacement = `${name} (rule not in this workspace)`;
228
+ break;
229
+ default:
230
+ continue;
231
+ }
148
232
  }
149
233
  matches.push({ offset, length: token.length, replacement, reworded });
150
234
  }
151
- // Sort by offset for correct warning order, then apply replacements in reverse order
235
+ // Sort by offset for correct warning order
152
236
  matches.sort((a, b) => a.offset - b.offset);
153
237
  // Collect reworded entries with their original offsets for sorting (spec 15 §4.5)
154
238
  const rewordedWithOffset = [];
@@ -157,12 +241,17 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
157
241
  rewordedWithOffset.push({ offset: m.offset, ref: m.reworded.ref, citing, kind: m.reworded.kind });
158
242
  }
159
243
  }
160
- // Apply replacements from end to start so earlier offsets remain valid
161
- let result = body;
162
- for (let i = matches.length - 1; i >= 0; i--) {
163
- const m = matches[i];
164
- result = result.slice(0, m.offset) + m.replacement + result.slice(m.offset + m.length);
244
+ // Build the result segment by segment: gaps get the blanket rewrite in kiro mode
245
+ let result = "";
246
+ let lastEnd = 0;
247
+ for (const m of matches) {
248
+ const gap = body.slice(lastEnd, m.offset);
249
+ result += mode === "kiro" ? kiroRewrite(gap) : gap;
250
+ result += m.replacement;
251
+ lastEnd = m.offset + m.length;
165
252
  }
253
+ const tail = body.slice(lastEnd);
254
+ result += mode === "kiro" ? kiroRewrite(tail) : tail;
166
255
  // Sort by offset and deduplicate by (ref, citing), keeping first occurrence (spec 15 §4.5)
167
256
  rewordedWithOffset.sort((a, b) => a.offset - b.offset);
168
257
  const seen = new Set();
@@ -173,8 +262,8 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
173
262
  report.reworded.push({ ref: e.ref, citing: e.citing, kind: e.kind });
174
263
  }
175
264
  }
176
- // Collect other .claude/ paths (agents, commands, skills, scripts, hooks) only when no claude-code (spec 15 §4.5)
177
- if (!hasCc) {
265
+ // Collect other .claude/ paths only in agents-md mode (spec 15 §4.5) — not in kiro mode (spec 17 §2)
266
+ if (mode === "agents-md" && !hasCc) {
178
267
  const otherDirs = ["agents", "commands", "skills", "scripts", "hooks"];
179
268
  // The path class adds `/` for subdirectories; in `[.../-]` the `/` goes before `-` to avoid a range error.
180
269
  const otherPattern = new RegExp(`(^|[^/${RULE_NAME_CHARS}])\\.claude\\/(${otherDirs.join("|")})\\/([A-Za-z0-9._/-]+)`, "g");
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/emitters/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/emitters/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAY,MAAM,iBAAiB,CAAC;AAIvE,MAAM,UAAU,SAAS,CAAC,OAAuB,EAAE,MAAc;IAC/D,OAAO,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B,EAAE,WAA2B;IAChF,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IACnG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9E,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAQpC,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,WAAiC;IAC/D,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACpD,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAAE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,MAAc,EACd,MAAkB,EAClB,OAA0B,EAC1B,OAA6B,WAAW;IAExC,MAAM,MAAM,GAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAMhD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAS,EAAE;QACxC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,0EAA0E;YAC1E,IAAI,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,QAAQ,IAAI,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACjF,uCAAuC;YACvC,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9E,qEAAqE;YACrE,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5E,oBAAoB;YACpB,IAAI,IAAI;gBAAE,OAAO,GAAG,CAAC;YACrB,yBAAyB;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,gCAAgC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,aAAa;gBAAE,OAAO,GAAG,CAAC;YACzC,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,GAAG,CAAC;QACpC,CAAC;QACD,0FAA0F;QAC1F,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC;QAChF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;gBAAE,OAAO,GAAG,CAAC;YAC1D,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,0GAA0G;IAC1G,oGAAoG;IACpG,MAAM,aAAa,GAAG,CAAC,KAAa,EAAW,EAAE;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,kEAAkE;IAClE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IAW9F,MAAM,OAAO,GAAY,EAAE,CAAC;IAE5B,wFAAwF;IACxF,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,2CAA2C,eAAe,sBAAsB,EAChF,GAAG,CACJ,CAAC;IACF,IAAI,SAAS,CAAC;IACd,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,SAA2E,CAAC;QAC9G,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;QAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,WAAmB,CAAC;QACxB,IAAI,QAAmD,CAAC;QAExD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,2BAA2B;YAC3B,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,IAAI;oBACP,uDAAuD;oBACvD,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC;oBAChG,MAAM;gBACR,KAAK,IAAI;oBACP,wEAAwE;oBACxE,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,KAAK,IAAI;oBACP,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,mBAAmB;oBACtE,MAAM;gBACR,KAAK,GAAG;oBACN,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,GAAG,IAAK,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBAC5F,WAAW,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,+BAA+B,CAAC;oBAC3E,MAAM;gBACR,KAAK,SAAS;oBACZ,qEAAqE;oBACrE,uDAAuD;oBACvD,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;oBACxE,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC;oBAChG,MAAM;gBACR;oBACE,SAAS;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,GAAG;oBACN,SAAS;gBACX,KAAK,GAAG;oBACN,WAAW,GAAG,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,GAAG,CAAC;oBACtE,MAAM;gBACR,KAAK,GAAG;oBACN,WAAW,GAAG,IAAI,IAAI,cAAc,CAAC;oBACrC,MAAM;gBACR,KAAK,GAAG;oBACN,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,GAAG,IAAK,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBAC5F,WAAW,GAAG,GAAG,IAAI,KAAK,IAAI,+BAA+B,CAAC;oBAC9D,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,KAAK;wBAAE,SAAS;oBACpB,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;oBACrE,WAAW,GAAG,GAAG,IAAI,KAAK,IAAI,+BAA+B,CAAC;oBAC9D,MAAM;gBACR;oBACE,SAAS;YACb,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,4EAA4E;IAC5E,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,SAAS,eAAe,4BAA4B,eAAe,WAAW,EAC9E,GAAG,CACJ,CAAC;IACF,IAAI,UAAU,CAAC;IACf,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAgE,CAAC;QACtG,8FAA8F;QAC9F,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAChD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,oFAAoF;QACpF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS;QACtF,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,WAAmB,CAAC;QACxB,IAAI,QAAmD,CAAC;QAExD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,2BAA2B;YAC3B,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,IAAI;oBACP,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,IAAI;oBACP,wEAAwE;oBACxE,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM;gBACR,KAAK,IAAI;oBACP,WAAW,GAAG,oBAAoB,IAAI,GAAG,CAAC;oBAC1C,MAAM;gBACR,KAAK,GAAG;oBACN,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,GAAG,IAAK,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBAC5F,WAAW,GAAG,GAAG,IAAI,+BAA+B,CAAC;oBACrD,MAAM;gBACR,KAAK,SAAS;oBACZ,qEAAqE;oBACrE,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;oBACxE,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,MAAM;gBACR;oBACE,SAAS;YACb,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,GAAG;oBACN,SAAS;gBACX,KAAK,GAAG;oBACN,WAAW,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,MAAM;gBACR,KAAK,GAAG;oBACN,WAAW,GAAG,oBAAoB,IAAI,GAAG,CAAC;oBAC1C,MAAM;gBACR,KAAK,GAAG;oBACN,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,GAAG,IAAK,CAAC,GAAG,yBAAyB,EAAE,CAAC;oBAC5F,WAAW,GAAG,GAAG,IAAI,+BAA+B,CAAC;oBACrD,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,KAAK;wBAAE,SAAS;oBACpB,QAAQ,GAAG,EAAE,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;oBACrE,WAAW,GAAG,GAAG,IAAI,+BAA+B,CAAC;oBACrD,MAAM;gBACR;oBACE,SAAS;YACb,CAAC;QACH,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,2CAA2C;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAE5C,kFAAkF;IAClF,MAAM,kBAAkB,GAAyE,EAAE,CAAC;IACpG,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACf,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnD,MAAM,IAAI,CAAC,CAAC,WAAW,CAAC;QACxB,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAErD,2FAA2F;IAC3F,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvE,2GAA2G;QAC3G,MAAM,YAAY,GAAG,IAAI,MAAM,CAC7B,SAAS,eAAe,kBAAkB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EACrF,GAAG,CACJ,CAAC;QACF,IAAI,UAAU,CAAC;QACf,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,2EAA2E;YAC3E,IAAI,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,QAAQ,GAAG,WAAW,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACpD,gCAAgC;YAChC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;gBAC3E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEjD,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAgB,EAAE,OAAe,EAAE,IAAY,EAAE,MAA6B,EAAE,UAAkB;IAC/H,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,GAAG,GAAQ,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,OAAO,CAAC,CAAgC;IACtD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC;AAED,0GAA0G;AAC1G,MAAM,UAAU,QAAQ,CAAC,MAA8B,EAAE,CAAgC;IACvF,OAAO,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACzG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB,EAAE,MAAc,EAAE,IAAY;IACvE,8FAA8F;IAC9F,MAAM,OAAO,GAA4B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,gGAAgG;IAChG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;YAAE,SAAS;QAC9E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,2CAA2C,GAAG,UAAU,IAAI,KAAK,IAAI,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;QAChI,6FAA6F;QAC7F,6FAA6F;QAC7F,6FAA6F;QAC7F,gDAAgD;QAChD,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "craftar",
3
- "version": "0.8.4",
3
+ "version": "0.8.5",
4
4
  "description": "Craft, sync and convert AI-coding workspace harnesses across clients and tools.",
5
5
  "license": "MIT",
6
6
  "type": "module",