kyro-ai 3.2.0 → 3.2.2

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 (86) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.md +46 -39
  3. package/WORKFLOW.yaml +1 -1
  4. package/commands/forge.md +22 -44
  5. package/commands/status.md +21 -79
  6. package/commands/wrap-up.md +18 -74
  7. package/dist/cli/adapters/codex.js +3 -3
  8. package/dist/cli/adapters/codex.js.map +1 -1
  9. package/dist/cli/adapters/command-skills.js +1 -1
  10. package/dist/cli/adapters/command-skills.js.map +1 -1
  11. package/dist/cli/adapters/opencode.d.ts +0 -2
  12. package/dist/cli/adapters/opencode.d.ts.map +1 -1
  13. package/dist/cli/adapters/opencode.js +2 -10
  14. package/dist/cli/adapters/opencode.js.map +1 -1
  15. package/dist/cli/adapters/registry.d.ts.map +1 -1
  16. package/dist/cli/adapters/registry.js +3 -1
  17. package/dist/cli/adapters/registry.js.map +1 -1
  18. package/dist/cli/adapters/standard.d.ts +5 -0
  19. package/dist/cli/adapters/standard.d.ts.map +1 -0
  20. package/dist/cli/adapters/standard.js +41 -0
  21. package/dist/cli/adapters/standard.js.map +1 -0
  22. package/dist/cli/app.js +1 -1
  23. package/dist/cli/app.js.map +1 -1
  24. package/dist/cli/commands/doctor.d.ts +2 -1
  25. package/dist/cli/commands/doctor.d.ts.map +1 -1
  26. package/dist/cli/commands/doctor.js +27 -18
  27. package/dist/cli/commands/doctor.js.map +1 -1
  28. package/dist/cli/commands/install.d.ts.map +1 -1
  29. package/dist/cli/commands/install.js +8 -7
  30. package/dist/cli/commands/install.js.map +1 -1
  31. package/dist/cli/commands/token-audit.d.ts +3 -0
  32. package/dist/cli/commands/token-audit.d.ts.map +1 -0
  33. package/dist/cli/commands/token-audit.js +141 -0
  34. package/dist/cli/commands/token-audit.js.map +1 -0
  35. package/dist/cli/commands/tui.d.ts.map +1 -1
  36. package/dist/cli/commands/tui.js +10 -6
  37. package/dist/cli/commands/tui.js.map +1 -1
  38. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  39. package/dist/cli/commands/uninstall.js +9 -9
  40. package/dist/cli/commands/uninstall.js.map +1 -1
  41. package/dist/cli/constants.d.ts +12 -7
  42. package/dist/cli/constants.d.ts.map +1 -1
  43. package/dist/cli/constants.js +13 -5
  44. package/dist/cli/constants.js.map +1 -1
  45. package/dist/cli/fs.d.ts +3 -0
  46. package/dist/cli/fs.d.ts.map +1 -1
  47. package/dist/cli/fs.js +30 -5
  48. package/dist/cli/fs.js.map +1 -1
  49. package/dist/cli/help.d.ts.map +1 -1
  50. package/dist/cli/help.js +6 -4
  51. package/dist/cli/help.js.map +1 -1
  52. package/dist/cli/install-plan.d.ts.map +1 -1
  53. package/dist/cli/install-plan.js +27 -20
  54. package/dist/cli/install-plan.js.map +1 -1
  55. package/dist/cli/options.d.ts.map +1 -1
  56. package/dist/cli/options.js +8 -1
  57. package/dist/cli/options.js.map +1 -1
  58. package/dist/cli/state.js +1 -1
  59. package/dist/cli/state.js.map +1 -1
  60. package/dist/cli/types.d.ts +4 -1
  61. package/dist/cli/types.d.ts.map +1 -1
  62. package/docs/HOW-TO-USE-CODEX.md +28 -60
  63. package/docs/HOW-TO-USE-OPENCODE.md +26 -72
  64. package/docs/agent-adapters.md +40 -118
  65. package/docs/architecture.md +7 -2
  66. package/docs/cli.md +93 -29
  67. package/docs/commands-reference.md +22 -32
  68. package/docs/getting-started.md +65 -115
  69. package/package.json +1 -1
  70. package/skills/sprint-forge/SKILL.md +9 -8
  71. package/skills/sprint-forge/assets/README.md +27 -17
  72. package/skills/sprint-forge/assets/helpers/metrics.md +4 -4
  73. package/skills/sprint-forge/assets/helpers/reentry-generator.md +4 -4
  74. package/skills/sprint-forge/assets/modes/INIT.md +68 -169
  75. package/skills/sprint-forge/assets/modes/SPRINT.md +20 -246
  76. package/skills/sprint-forge/assets/modes/STATUS.md +46 -128
  77. package/skills/sprint-forge/assets/modes/close-sprint.md +29 -0
  78. package/skills/sprint-forge/assets/modes/execute-task.md +26 -0
  79. package/skills/sprint-forge/assets/modes/plan-sprint.md +29 -0
  80. package/skills/sprint-forge/assets/modes/recover.md +23 -0
  81. package/skills/sprint-forge/assets/modes/review-task.md +25 -0
  82. package/skills/sprint-forge/assets/templates/DEBT.summary.json +12 -0
  83. package/skills/sprint-forge/assets/templates/ROADMAP.summary.json +15 -0
  84. package/skills/sprint-forge/assets/templates/SPRINT.summary.json +16 -0
  85. package/skills/sprint-forge/assets/templates/index.json +15 -0
  86. package/skills/sprint-forge/assets/templates/state.json +11 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.standardAgentsAdapter = void 0;
4
+ exports.checkCommandProjection = checkCommandProjection;
5
+ const constants_1 = require("../constants");
6
+ const fs_1 = require("../fs");
7
+ const command_skills_1 = require("./command-skills");
8
+ exports.standardAgentsAdapter = {
9
+ agent: constants_1.AGENT.STANDARD,
10
+ displayName: 'Standard .agents',
11
+ status: 'implemented',
12
+ buildProjection: command_skills_1.addCommandSkillProjection,
13
+ buildManagedFiles: command_skills_1.buildCommandSkillManagedFiles,
14
+ buildManagedBlocks() {
15
+ return [];
16
+ },
17
+ buildInstalledAdapter(scope, installedAt) {
18
+ return {
19
+ agent: constants_1.AGENT.STANDARD,
20
+ scope,
21
+ installedAt,
22
+ corePath: constants_1.KYRO_ROOT,
23
+ commandsPath: constants_1.AGENT_SKILLS_ROOT,
24
+ skillsPath: constants_1.AGENT_SKILLS_ROOT,
25
+ };
26
+ },
27
+ doctor(manifest) {
28
+ if (!manifest?.adapters.some((adapter) => adapter.agent === constants_1.AGENT.STANDARD)) {
29
+ return { status: 'warn', name: 'Standard .agents adapter', detail: 'not installed in this workspace' };
30
+ }
31
+ return checkCommandProjection('Standard .agents adapter');
32
+ },
33
+ };
34
+ function checkCommandProjection(name) {
35
+ const missing = (0, command_skills_1.buildCommandSkillManagedFiles)().filter((file) => !(0, fs_1.workspaceFileExists)(file));
36
+ if (missing.length > 0) {
37
+ return { status: 'fail', name, detail: `missing ${missing.join(', ')}`, remedy: 'Run kyro sync.' };
38
+ }
39
+ return { status: 'pass', name, detail: 'projected Kyro command skills present' };
40
+ }
41
+ //# sourceMappingURL=standard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard.js","sourceRoot":"","sources":["../../../src/cli/adapters/standard.ts"],"names":[],"mappings":";;;AAiCA,wDAMC;AAvCD,4CAAmE;AACnE,8BAA4C;AAG5C,qDAA4F;AAE/E,QAAA,qBAAqB,GAAsB;IACtD,KAAK,EAAE,iBAAK,CAAC,QAAQ;IACrB,WAAW,EAAE,kBAAkB;IAC/B,MAAM,EAAE,aAAa;IACrB,eAAe,EAAE,0CAAyB;IAC1C,iBAAiB,EAAE,8CAA6B;IAChD,kBAAkB;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,qBAAqB,CAAC,KAAK,EAAE,WAAW;QACtC,OAAO;YACL,KAAK,EAAE,iBAAK,CAAC,QAAQ;YACrB,KAAK;YACL,WAAW;YACX,QAAQ,EAAE,qBAAS;YACnB,YAAY,EAAE,6BAAiB;YAC/B,UAAU,EAAE,6BAAiB;SAC9B,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,QAAQ;QACb,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,iBAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;QACzG,CAAC;QACD,OAAO,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;IAC5D,CAAC;CACF,CAAC;AAEF,SAAgB,sBAAsB,CAAC,IAAY;IACjD,MAAM,OAAO,GAAG,IAAA,8CAA6B,GAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAA,wBAAmB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACrG,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;AACnF,CAAC"}
package/dist/cli/app.js CHANGED
@@ -31,7 +31,7 @@ async function runCli() {
31
31
  (0, install_1.install)(options);
32
32
  break;
33
33
  case 'doctor':
34
- (0, doctor_1.doctor)();
34
+ (0, doctor_1.doctor)(options);
35
35
  break;
36
36
  case 'sync':
37
37
  (0, install_1.sync)(options);
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.ts"],"names":[],"mappings":";;AAOA,wBAyCC;AAhDD,8CAA2C;AAC3C,gDAAmD;AACnD,wCAAwC;AACxC,oDAAiD;AACjD,iCAAyE;AACzE,uCAAyC;AAElC,KAAK,UAAU,MAAM;IAC1B,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,IAAA,YAAM,GAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACnE,IAAA,gBAAS,GAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAkB,GAAE,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,QAAQ;YACX,IAAA,eAAM,GAAE,CAAC;YACT,MAAM;QACR,KAAK,MAAM;YACT,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC;YACd,MAAM;QACR,KAAK,WAAW;YACd,IAAA,qBAAS,EAAC,OAAO,CAAC,CAAC;YACnB,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,oBAAoB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/cli/app.ts"],"names":[],"mappings":";;AAOA,wBAyCC;AAhDD,8CAA2C;AAC3C,gDAAmD;AACnD,wCAAwC;AACxC,oDAAiD;AACjD,iCAAyE;AACzE,uCAAyC;AAElC,KAAK,UAAU,MAAM;IAC1B,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,IAAA,YAAM,GAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACnE,IAAA,gBAAS,GAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAkB,GAAE,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,QAAQ;YACX,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC;YAChB,MAAM;QACR,KAAK,MAAM;YACT,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC;YACd,MAAM;QACR,KAAK,WAAW;YACd,IAAA,qBAAS,EAAC,OAAO,CAAC,CAAC;YACnB,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,oBAAoB,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -1,2 +1,3 @@
1
- export declare function doctor(): void;
1
+ import type { CliOptions } from '../types';
2
+ export declare function doctor(options?: Pick<CliOptions, 'tokens'>): void;
2
3
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAUA,wBAAgB,MAAM,IAAI,IAAI,CAY7B"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAsB,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/D,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,IAAI,CAYjE"}
@@ -8,8 +8,9 @@ const fs_1 = require("../fs");
8
8
  const help_1 = require("../help");
9
9
  const state_1 = require("../state");
10
10
  const registry_1 = require("../adapters/registry");
11
- function doctor() {
12
- const checks = runDoctorChecks();
11
+ const token_audit_1 = require("./token-audit");
12
+ function doctor(options) {
13
+ const checks = runDoctorChecks(options?.tokens ?? false);
13
14
  let failed = false;
14
15
  for (const check of checks) {
15
16
  const icon = check.status === 'pass' ? 'PASS' : check.status === 'warn' ? 'WARN' : 'FAIL';
@@ -22,15 +23,18 @@ function doctor() {
22
23
  if (failed)
23
24
  process.exit(1);
24
25
  }
25
- function runDoctorChecks() {
26
- return [
26
+ function runDoctorChecks(includeTokenAudit) {
27
+ const checks = [
27
28
  checkPackageVersionSync(),
28
29
  checkPackageAssets(),
29
30
  checkClaudePlugin(),
30
31
  checkProjectState(),
31
- checkWorkspaceCore(),
32
+ checkGlobalRuntime(),
32
33
  ...checkAdapterProjections(),
33
34
  ];
35
+ if (includeTokenAudit)
36
+ checks.push(...(0, token_audit_1.runTokenAuditChecks)());
37
+ return checks;
34
38
  }
35
39
  function checkPackageVersionSync() {
36
40
  try {
@@ -71,44 +75,49 @@ function checkProjectState() {
71
75
  if (!state) {
72
76
  return {
73
77
  status: 'warn',
74
- name: 'workspace state',
78
+ name: 'project state',
75
79
  detail: `${constants_1.KYRO_STATE_PATH} not found`,
76
- remedy: 'Run kyro install --agent opencode --scope workspace.',
80
+ remedy: 'Run kyro install --scope workspace.',
77
81
  };
78
82
  }
79
- if (state.schemaVersion !== 1 || state.artifactRoot !== constants_1.ARTIFACT_ROOT || !Array.isArray(state.scopes)) {
80
- return { status: 'fail', name: 'workspace state', detail: `${constants_1.KYRO_STATE_PATH} has invalid shape` };
83
+ if (state.schemaVersion !== 1
84
+ || state.artifactRoot !== constants_1.ARTIFACT_ROOT
85
+ || !Array.isArray(state.scopes)
86
+ || typeof state.runtimeVersion !== 'string'
87
+ || typeof state.runtimePath !== 'string') {
88
+ return { status: 'fail', name: 'project state', detail: `${constants_1.KYRO_STATE_PATH} has invalid shape` };
81
89
  }
82
- return { status: 'pass', name: 'workspace state', detail: `${constants_1.KYRO_STATE_PATH} is valid` };
90
+ return { status: 'pass', name: 'project state', detail: `${constants_1.KYRO_STATE_PATH} is valid` };
83
91
  }
84
- function checkWorkspaceCore() {
92
+ function checkGlobalRuntime() {
85
93
  const manifest = (0, state_1.readManifest)();
86
94
  if (!manifest) {
87
95
  return {
88
96
  status: 'warn',
89
- name: 'workspace core',
97
+ name: 'global runtime',
90
98
  detail: `${constants_1.KYRO_MANIFEST_PATH} not found`,
91
99
  remedy: 'Run kyro install.',
92
100
  };
93
101
  }
94
- const missing = manifest.managedFiles.filter((file) => !(0, fs_1.workspaceFileExists)(file));
102
+ const missing = manifest.managedFiles.filter((file) => !(0, fs_1.managedPathExists)(file));
95
103
  if (missing.length > 0) {
96
104
  return {
97
105
  status: 'fail',
98
- name: 'workspace core',
106
+ name: 'global runtime',
99
107
  detail: `missing managed files: ${missing.slice(0, 5).join(', ')}${missing.length > 5 ? '...' : ''}`,
100
108
  remedy: 'Run kyro sync.',
101
109
  };
102
110
  }
103
- return { status: 'pass', name: 'workspace core', detail: `${manifest.managedFiles.length} managed files present` };
111
+ return { status: 'pass', name: 'global runtime', detail: `${manifest.managedFiles.length} managed files present` };
104
112
  }
105
113
  function checkAdapterProjections() {
114
+ const state = (0, state_1.readProjectState)();
106
115
  const manifest = (0, state_1.readManifest)();
107
- if (!manifest)
116
+ if (!state)
108
117
  return [];
109
- return manifest.adapters.map((installedAdapter) => {
118
+ return state.installedAdapters.map((installedAdapter) => {
110
119
  try {
111
- return (0, registry_1.getAdapterDefinition)(installedAdapter.agent).doctor(manifest);
120
+ return (0, registry_1.getAdapterDefinition)(installedAdapter.agent).doctor(manifest ? { ...manifest, adapters: state.installedAdapters } : null);
112
121
  }
113
122
  catch (error) {
114
123
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAgBjD;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAiB9C"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAiBjD;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAiB9C"}
@@ -9,25 +9,26 @@ const state_1 = require("../state");
9
9
  const constants_1 = require("../constants");
10
10
  function install(options) {
11
11
  (0, options_1.assertWorkspaceScope)(options.scope);
12
- (0, options_1.assertInstallableAgents)(options.agents);
13
- const plan = (0, install_plan_1.buildInstallPlan)(options.agents, options.scope);
12
+ const agents = options.agents.length > 0 ? options.agents : [constants_1.AGENT.STANDARD];
13
+ (0, options_1.assertInstallableAgents)(agents);
14
+ const plan = (0, install_plan_1.buildInstallPlan)(agents, options.scope);
14
15
  (0, fs_1.printPlan)('Install plan', plan);
15
16
  if (options.dryRun) {
16
17
  console.log('Dry run complete. No files changed.');
17
18
  return;
18
19
  }
19
20
  (0, fs_1.applyPlan)(plan);
20
- console.log(`Kyro installed for: ${options.agents.join(', ')}`);
21
+ console.log('Kyro has been installed.');
21
22
  console.log(`State: ${constants_1.KYRO_STATE_PATH}`);
22
- console.log(`Core: ${constants_1.KYRO_ROOT}/`);
23
+ console.log(`Runtime: ${constants_1.KYRO_ROOT}/`);
23
24
  }
24
25
  function sync(options) {
25
26
  (0, options_1.assertWorkspaceScope)(options.scope);
26
- const manifest = (0, state_1.readManifest)();
27
- if (!manifest) {
27
+ const state = (0, state_1.readProjectState)();
28
+ if (!state) {
28
29
  throw new Error('Kyro is not installed in this workspace. Run kyro install first.');
29
30
  }
30
- const agents = options.agents.length > 0 ? options.agents : manifest.adapters.map((adapter) => adapter.agent);
31
+ const agents = options.agents.length > 0 ? options.agents : state.installedAdapters.map((adapter) => adapter.agent);
31
32
  (0, options_1.assertInstallableAgents)(agents);
32
33
  const unique = (0, options_1.uniqueAgents)(agents);
33
34
  const plan = (0, install_plan_1.buildInstallPlan)(unique, constants_1.SCOPE.WORKSPACE);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":";;AAOA,0BAgBC;AAED,oBAiBC;AA1CD,kDAAmD;AACnD,8BAA6C;AAC7C,wCAAyF;AACzF,oCAAwC;AACxC,4CAAiE;AAGjE,SAAgB,OAAO,CAAC,OAAmB;IACzC,IAAA,8BAAoB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,IAAA,iCAAuB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAA,cAAS,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,UAAU,2BAAe,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,qBAAS,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,IAAI,CAAC,OAAmB;IACtC,IAAA,8BAAoB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,oBAAY,GAAE,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9G,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,MAAM,EAAE,iBAAK,CAAC,SAAS,CAAC,CAAC;IACvD,IAAA,cAAS,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IACD,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":";;AAOA,0BAiBC;AAED,oBAiBC;AA3CD,kDAAmD;AACnD,8BAA6C;AAC7C,wCAAyF;AACzF,oCAA4C;AAC5C,4CAAwE;AAGxE,SAAgB,OAAO,CAAC,OAAmB;IACzC,IAAA,8BAAoB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAK,CAAC,QAAQ,CAAC,CAAC;IAC7E,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,IAAA,cAAS,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,UAAU,2BAAe,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,YAAY,qBAAS,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,IAAI,CAAC,OAAmB;IACtC,IAAA,8BAAoB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAA,wBAAgB,GAAE,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpH,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,MAAM,EAAE,iBAAK,CAAC,SAAS,CAAC,CAAC;IACvD,IAAA,cAAS,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IACD,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CheckResult } from '../types';
2
+ export declare function runTokenAuditChecks(): CheckResult[];
3
+ //# sourceMappingURL=token-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-audit.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/token-audit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAiB5C,wBAAgB,mBAAmB,IAAI,WAAW,EAAE,CAUnD"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runTokenAuditChecks = runTokenAuditChecks;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ const constants_1 = require("../constants");
7
+ const fs_1 = require("../fs");
8
+ const TOKEN_BUDGET = {
9
+ agentsBlockWords: 150,
10
+ projectedSkillWords: 200,
11
+ commandRouterWords: 500,
12
+ modeFileWords: 900,
13
+ startupTokens: 1500,
14
+ statusBriefTokens: 2000,
15
+ };
16
+ function runTokenAuditChecks() {
17
+ const checks = [];
18
+ checks.push(...checkCommandRouters());
19
+ checks.push(...checkModeFiles());
20
+ checks.push(checkProjectedSkills());
21
+ checks.push(checkAgentsBlockBudget());
22
+ checks.push(checkStartupBudget());
23
+ checks.push(checkStatusBriefBudget());
24
+ checks.push(reportHeaviestFiles());
25
+ return checks;
26
+ }
27
+ function checkCommandRouters() {
28
+ return ['commands/forge.md', 'commands/status.md', 'commands/wrap-up.md'].map((file) => {
29
+ const weighted = weightPackageFile(file);
30
+ if (weighted.words > TOKEN_BUDGET.commandRouterWords) {
31
+ return warn('token budget: command router', `${file} has ${weighted.words} words`, 'Keep command files as routers; move details into mode/helper files.');
32
+ }
33
+ return pass('token budget: command router', `${file} ${weighted.words}/${TOKEN_BUDGET.commandRouterWords} words`);
34
+ });
35
+ }
36
+ function checkModeFiles() {
37
+ return listPackageFiles('skills/sprint-forge/assets/modes', '.md').map((file) => {
38
+ const weighted = weightPackageFile(file);
39
+ if (weighted.words > TOKEN_BUDGET.modeFileWords) {
40
+ return warn('token budget: mode file', `${file} has ${weighted.words} words`, 'Split this mode or move detail into a lazy-loaded helper.');
41
+ }
42
+ return pass('token budget: mode file', `${file} ${weighted.words}/${TOKEN_BUDGET.modeFileWords} words`);
43
+ });
44
+ }
45
+ function checkProjectedSkills() {
46
+ const skillFiles = ['kyro-forge/SKILL.md', 'kyro-status/SKILL.md', 'kyro-wrap-up/SKILL.md'].map((file) => `${constants_1.AGENT_SKILLS_ROOT}/${file}`);
47
+ const existing = skillFiles.filter((file) => (0, node_fs_1.existsSync)((0, fs_1.resolveManagedPath)(file)));
48
+ if (existing.length === 0) {
49
+ return warn('token budget: projected skills', 'global Kyro skills are not installed', 'Run kyro install, then kyro doctor --tokens again.');
50
+ }
51
+ const oversized = existing.map(weightManagedFile).filter((file) => file.words > TOKEN_BUDGET.projectedSkillWords);
52
+ if (oversized.length > 0) {
53
+ return warn('token budget: projected skills', formatWeightedList(oversized), 'Projected skills must stay as tiny stubs.');
54
+ }
55
+ return pass('token budget: projected skills', `${existing.length} skills within ${TOKEN_BUDGET.projectedSkillWords} words`);
56
+ }
57
+ function checkAgentsBlockBudget() {
58
+ const agentsPath = (0, fs_1.resolveManagedPath)('AGENTS.md');
59
+ if (!(0, node_fs_1.existsSync)(agentsPath)) {
60
+ return warn('token budget: AGENTS block', 'AGENTS.md not found in this workspace', 'Install the codex adapter if this workspace should expose AGENTS.md instructions.');
61
+ }
62
+ const text = (0, node_fs_1.readFileSync)(agentsPath, 'utf-8');
63
+ const match = text.match(/<!-- kyro-ai:agents-md:start -->([\s\S]*?)<!-- kyro-ai:agents-md:end -->/m);
64
+ if (!match) {
65
+ return warn('token budget: AGENTS block', 'Kyro managed block not found', 'Run kyro install --agent codex or kyro sync --agent codex.');
66
+ }
67
+ const words = countWords(match[1]);
68
+ if (words > TOKEN_BUDGET.agentsBlockWords) {
69
+ return warn('token budget: AGENTS block', `${words}/${TOKEN_BUDGET.agentsBlockWords} words`, 'Keep AGENTS.md as bootstrap only.');
70
+ }
71
+ return pass('token budget: AGENTS block', `${words}/${TOKEN_BUDGET.agentsBlockWords} words`);
72
+ }
73
+ function checkStartupBudget() {
74
+ const files = ['commands/forge.md', 'skills/sprint-forge/assets/modes/SPRINT.md'];
75
+ const total = files.map(weightPackageFile).reduce((sum, file) => sum + file.estimatedTokens, 0);
76
+ if (total > TOKEN_BUDGET.startupTokens) {
77
+ return warn('token budget: startup path', `${total}/${TOKEN_BUDGET.startupTokens} estimated tokens`, 'Reduce forge router or sprint router startup instructions.');
78
+ }
79
+ return pass('token budget: startup path', `${total}/${TOKEN_BUDGET.startupTokens} estimated tokens`);
80
+ }
81
+ function checkStatusBriefBudget() {
82
+ const files = ['commands/status.md'];
83
+ const total = files.map(weightPackageFile).reduce((sum, file) => sum + file.estimatedTokens, 0);
84
+ if (total > TOKEN_BUDGET.statusBriefTokens) {
85
+ return warn('token budget: status brief path', `${total}/${TOKEN_BUDGET.statusBriefTokens} estimated tokens`, 'Keep status brief summary-first.');
86
+ }
87
+ return pass('token budget: status brief path', `${total}/${TOKEN_BUDGET.statusBriefTokens} estimated tokens`);
88
+ }
89
+ function reportHeaviestFiles() {
90
+ const files = [
91
+ ...listPackageFiles('commands', '.md'),
92
+ ...listPackageFiles('agents', '.md'),
93
+ ...listPackageFiles('skills/sprint-forge', '.md'),
94
+ ].map(weightPackageFile).sort((a, b) => b.words - a.words).slice(0, 8);
95
+ return pass('token audit: heaviest files', formatWeightedList(files));
96
+ }
97
+ function listPackageFiles(directory, extension) {
98
+ const root = (0, node_path_1.resolve)(constants_1.PACKAGE_ROOT, directory);
99
+ if (!(0, node_fs_1.existsSync)(root))
100
+ return [];
101
+ const files = [];
102
+ walk(root, files, extension);
103
+ return files.map((file) => (0, node_path_1.relative)(constants_1.PACKAGE_ROOT, file)).sort();
104
+ }
105
+ function walk(current, files, extension) {
106
+ for (const entry of (0, node_fs_1.readdirSync)(current, { withFileTypes: true })) {
107
+ const full = (0, node_path_1.join)(current, entry.name);
108
+ if (entry.isDirectory())
109
+ walk(full, files, extension);
110
+ if (entry.isFile() && entry.name.endsWith(extension))
111
+ files.push(full);
112
+ }
113
+ }
114
+ function weightPackageFile(file) {
115
+ const text = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(constants_1.PACKAGE_ROOT, file), 'utf-8');
116
+ return buildWeightedFile(file, text);
117
+ }
118
+ function weightManagedFile(file) {
119
+ const text = (0, node_fs_1.readFileSync)((0, fs_1.resolveManagedPath)(file), 'utf-8');
120
+ return buildWeightedFile(file, text);
121
+ }
122
+ function buildWeightedFile(path, text) {
123
+ const words = countWords(text);
124
+ return { path, words, estimatedTokens: estimateTokens(words) };
125
+ }
126
+ function countWords(text) {
127
+ return text.trim().length === 0 ? 0 : text.trim().split(/\s+/).length;
128
+ }
129
+ function estimateTokens(words) {
130
+ return Math.ceil(words * 1.33);
131
+ }
132
+ function formatWeightedList(files) {
133
+ return files.map((file) => `${file.path}=${file.words}w/~${file.estimatedTokens}t`).join(', ');
134
+ }
135
+ function pass(name, detail) {
136
+ return { status: 'pass', name, detail };
137
+ }
138
+ function warn(name, detail, remedy) {
139
+ return { status: 'warn', name, detail, remedy };
140
+ }
141
+ //# sourceMappingURL=token-audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-audit.js","sourceRoot":"","sources":["../../../src/cli/commands/token-audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tui.ts"],"names":[],"mappings":"AAMA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB5C"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/tui.ts"],"names":[],"mappings":"AAMA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAwB5C"}
@@ -10,18 +10,22 @@ async function runTui() {
10
10
  const rl = (0, promises_1.createInterface)({ input: node_process_1.stdin, output: node_process_1.stdout });
11
11
  try {
12
12
  console.log('Kyro — Multi-Agent Harness');
13
- console.log('1) Install OpenCode adapter in this workspace');
14
- console.log('2) Install Codex adapter in this workspace');
15
- console.log('3) Run doctor');
16
- console.log('4) Exit');
13
+ console.log('1) Install standard .agents adapter in this workspace');
14
+ console.log('2) Install OpenCode adapter in this workspace');
15
+ console.log('3) Install Codex adapter in this workspace');
16
+ console.log('4) Run doctor');
17
+ console.log('5) Exit');
17
18
  const answer = await rl.question('Select an option: ');
18
19
  if (answer.trim() === '1') {
19
- (0, install_1.install)({ agents: [constants_1.AGENT.OPENCODE], scope: constants_1.SCOPE.WORKSPACE, dryRun: false, yes: true, help: false });
20
+ (0, install_1.install)({ agents: [constants_1.AGENT.STANDARD], scope: constants_1.SCOPE.WORKSPACE, dryRun: false, yes: true, help: false, tokens: false });
20
21
  }
21
22
  else if (answer.trim() === '2') {
22
- (0, install_1.install)({ agents: [constants_1.AGENT.CODEX], scope: constants_1.SCOPE.WORKSPACE, dryRun: false, yes: true, help: false });
23
+ (0, install_1.install)({ agents: [constants_1.AGENT.OPENCODE], scope: constants_1.SCOPE.WORKSPACE, dryRun: false, yes: true, help: false, tokens: false });
23
24
  }
24
25
  else if (answer.trim() === '3') {
26
+ (0, install_1.install)({ agents: [constants_1.AGENT.CODEX], scope: constants_1.SCOPE.WORKSPACE, dryRun: false, yes: true, help: false, tokens: false });
27
+ }
28
+ else if (answer.trim() === '4') {
25
29
  (0, doctor_1.doctor)();
26
30
  }
27
31
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/cli/commands/tui.ts"],"names":[],"mappings":";;AAMA,wBAqBC;AA3BD,qDAAyD;AACzD,+CAAgE;AAChE,4CAA4C;AAC5C,qCAAkC;AAClC,uCAAoC;AAE7B,KAAK,UAAU,MAAM;IAC1B,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAL,oBAAK,EAAE,MAAM,EAAN,qBAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,CAAC,iBAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,iBAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvG,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACjC,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,CAAC,iBAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACjC,IAAA,eAAM,GAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/cli/commands/tui.ts"],"names":[],"mappings":";;AAMA,wBAwBC;AA9BD,qDAAyD;AACzD,+CAAgE;AAChE,4CAA4C;AAC5C,qCAAkC;AAClC,uCAAoC;AAE7B,KAAK,UAAU,MAAM;IAC1B,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC,EAAE,KAAK,EAAL,oBAAK,EAAE,MAAM,EAAN,qBAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC1B,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,CAAC,iBAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,iBAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACjC,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,CAAC,iBAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,iBAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACjC,IAAA,iBAAO,EAAC,EAAE,MAAM,EAAE,CAAC,iBAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,iBAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACnH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACjC,IAAA,eAAM,GAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAE1D,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CA6BnD"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,UAAU,CAAC;AAE1D,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CA4BnD"}
@@ -2,32 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.uninstall = uninstall;
4
4
  const constants_1 = require("../constants");
5
+ const registry_1 = require("../adapters/registry");
5
6
  const fs_1 = require("../fs");
6
7
  const options_1 = require("../options");
7
8
  const state_1 = require("../state");
8
9
  function uninstall(options) {
9
10
  (0, options_1.assertWorkspaceScope)(options.scope);
10
- const manifest = (0, state_1.readManifest)();
11
- if (!manifest) {
11
+ const state = (0, state_1.readProjectState)();
12
+ if (!state) {
12
13
  console.log('Kyro is not installed in this workspace. No changes made.');
13
14
  return;
14
15
  }
15
- const plan = (manifest.managedBlocks ?? [])
16
+ const nextState = { ...state, installedAdapters: [] };
17
+ const plan = (0, registry_1.getInstalledAdapterDefinitions)(state.installedAdapters.map((adapter) => adapter.agent))
18
+ .flatMap((adapter) => adapter.buildManagedBlocks())
16
19
  .map((blockRef) => {
17
20
  const [path, blockName] = blockRef.split('#');
18
21
  return { action: 'remove-block', path, blockName };
19
22
  });
20
- plan.push(...[...manifest.managedFiles]
21
- .sort((a, b) => b.length - a.length)
22
- .map((filePath) => ({ action: 'remove', path: filePath })));
23
- plan.push({ action: 'remove', path: constants_1.KYRO_ROOT });
23
+ plan.push({ action: 'write', path: constants_1.KYRO_STATE_PATH, content: `${JSON.stringify(nextState, null, 2)}\n` });
24
24
  (0, fs_1.printPlan)('Uninstall plan', plan);
25
25
  if (options.dryRun) {
26
26
  console.log('Dry run complete. No files changed.');
27
27
  return;
28
28
  }
29
29
  (0, fs_1.applyPlan)(plan);
30
- console.log('Kyro managed workspace files removed.');
31
- console.log(`Note: ${constants_1.KYRO_STATE_PATH} is preserved so scope history is not lost.`);
30
+ console.log('Kyro project bootstrap removed.');
31
+ console.log(`Note: ${constants_1.KYRO_STATE_PATH}, scope artifacts, global runtime, and global command skills were preserved.`);
32
32
  }
33
33
  //# sourceMappingURL=uninstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":";;AAMA,8BA6BC;AAnCD,4CAA0D;AAC1D,8BAA6C;AAC7C,wCAAkD;AAClD,oCAAwC;AAGxC,SAAgB,SAAS,CAAC,OAAmB;IAC3C,IAAA,8BAAoB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,oBAAY,GAAE,CAAC;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAoB,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC;SACzD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,cAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;SACpC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;SACnC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAS,EAAE,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,SAAS,2BAAe,6CAA6C,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":";;AAOA,8BA4BC;AAnCD,4CAA+C;AAC/C,mDAAsE;AACtE,8BAA6C;AAC7C,wCAAkD;AAClD,oCAA4C;AAG5C,SAAgB,SAAS,CAAC,OAAmB;IAC3C,IAAA,8BAAoB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAA,wBAAgB,GAAE,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;IACtD,MAAM,IAAI,GAAoB,IAAA,yCAA8B,EAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClH,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;SAClD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,cAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,2BAAe,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1G,IAAA,cAAS,EAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,SAAS,2BAAe,8EAA8E,CAAC,CAAC;AACtH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export declare const AGENT: {
2
+ readonly STANDARD: "standard";
2
3
  readonly OPENCODE: "opencode";
3
4
  readonly CLAUDE: "claude";
4
5
  readonly CODEX: "codex";
@@ -12,12 +13,16 @@ export declare const COMMAND_NAMES: readonly ["forge", "status", "wrap-up"];
12
13
  export declare const PACKAGE_ROOT: string;
13
14
  export declare const WORKSPACE_ROOT: string;
14
15
  export declare const WORKFLOW_NAME = "kyro-ai";
16
+ export declare const KYRO_PROJECT_ROOT = ".agents/kyro";
15
17
  export declare const ARTIFACT_ROOT = ".agents/kyro/scopes";
16
- export declare const KYRO_ROOT = ".agents/kyro/internal";
17
- export declare const KYRO_CORE_ROOT = ".agents/kyro/internal/core";
18
- export declare const KYRO_COMMANDS_ROOT = ".agents/kyro/internal/commands";
19
- export declare const KYRO_SKILLS_ROOT = ".agents/kyro/internal/skills";
20
- export declare const AGENT_SKILLS_ROOT = ".agents/skills";
21
- export declare const KYRO_STATE_PATH = ".agents/kyro/internal/kyro.json";
22
- export declare const KYRO_MANIFEST_PATH = ".agents/kyro/internal/manifest.json";
18
+ export declare const KYRO_STATE_PATH = ".agents/kyro/kyro.json";
19
+ export declare const GLOBAL_AGENTS_ROOT = "~/.agents";
20
+ export declare const KYRO_GLOBAL_ROOT = "~/.agents/kyro";
21
+ export declare const KYRO_ROOT = "~/.agents/kyro/current";
22
+ export declare const KYRO_CORE_ROOT = "~/.agents/kyro/current/core";
23
+ export declare const KYRO_COMMANDS_ROOT = "~/.agents/kyro/current/commands";
24
+ export declare const KYRO_SKILLS_ROOT = "~/.agents/kyro/current/skills";
25
+ export declare const AGENT_SKILLS_ROOT = "~/.agents/skills";
26
+ export declare const KYRO_MANIFEST_PATH = "~/.agents/kyro/current/manifest.json";
27
+ export declare function getKyroRuntimeRoot(version: string): string;
23
28
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;CAKR,CAAC;AAEX,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,eAAO,MAAM,aAAa,yCAA0C,CAAC;AAErE,eAAO,MAAM,YAAY,QAA8B,CAAC;AACxD,eAAO,MAAM,cAAc,QAAgB,CAAC;AAC5C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,eAAO,MAAM,SAAS,0BAA0B,CAAC;AACjD,eAAO,MAAM,cAAc,+BAAsB,CAAC;AAClD,eAAO,MAAM,kBAAkB,mCAA0B,CAAC;AAC1D,eAAO,MAAM,gBAAgB,iCAAwB,CAAC;AACtD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,eAAe,oCAA2B,CAAC;AACxD,eAAO,MAAM,kBAAkB,wCAA+B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;CAMR,CAAC;AAEX,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,eAAO,MAAM,aAAa,yCAA0C,CAAC;AAErE,eAAO,MAAM,YAAY,QAA8B,CAAC;AACxD,eAAO,MAAM,cAAc,QAAgB,CAAC;AAC5C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,aAAa,wBAAgC,CAAC;AAC3D,eAAO,MAAM,eAAe,2BAAmC,CAAC;AAChE,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,gBAAgB,mBAA+B,CAAC;AAC7D,eAAO,MAAM,SAAS,2BAAgC,CAAC;AACvD,eAAO,MAAM,cAAc,gCAAsB,CAAC;AAClD,eAAO,MAAM,kBAAkB,oCAA0B,CAAC;AAC1D,eAAO,MAAM,gBAAgB,kCAAwB,CAAC;AACtD,eAAO,MAAM,iBAAiB,qBAAiC,CAAC;AAChE,eAAO,MAAM,kBAAkB,yCAA+B,CAAC;AAE/D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KYRO_MANIFEST_PATH = exports.KYRO_STATE_PATH = exports.AGENT_SKILLS_ROOT = exports.KYRO_SKILLS_ROOT = exports.KYRO_COMMANDS_ROOT = exports.KYRO_CORE_ROOT = exports.KYRO_ROOT = exports.ARTIFACT_ROOT = exports.WORKFLOW_NAME = exports.WORKSPACE_ROOT = exports.PACKAGE_ROOT = exports.COMMAND_NAMES = exports.SCOPE = exports.AGENT = void 0;
3
+ exports.KYRO_MANIFEST_PATH = exports.AGENT_SKILLS_ROOT = exports.KYRO_SKILLS_ROOT = exports.KYRO_COMMANDS_ROOT = exports.KYRO_CORE_ROOT = exports.KYRO_ROOT = exports.KYRO_GLOBAL_ROOT = exports.GLOBAL_AGENTS_ROOT = exports.KYRO_STATE_PATH = exports.ARTIFACT_ROOT = exports.KYRO_PROJECT_ROOT = exports.WORKFLOW_NAME = exports.WORKSPACE_ROOT = exports.PACKAGE_ROOT = exports.COMMAND_NAMES = exports.SCOPE = exports.AGENT = void 0;
4
+ exports.getKyroRuntimeRoot = getKyroRuntimeRoot;
4
5
  const node_path_1 = require("node:path");
5
6
  exports.AGENT = {
7
+ STANDARD: 'standard',
6
8
  OPENCODE: 'opencode',
7
9
  CLAUDE: 'claude',
8
10
  CODEX: 'codex',
@@ -16,12 +18,18 @@ exports.COMMAND_NAMES = ['forge', 'status', 'wrap-up'];
16
18
  exports.PACKAGE_ROOT = (0, node_path_1.resolve)(__dirname, '../..');
17
19
  exports.WORKSPACE_ROOT = process.cwd();
18
20
  exports.WORKFLOW_NAME = 'kyro-ai';
19
- exports.ARTIFACT_ROOT = '.agents/kyro/scopes';
20
- exports.KYRO_ROOT = '.agents/kyro/internal';
21
+ exports.KYRO_PROJECT_ROOT = '.agents/kyro';
22
+ exports.ARTIFACT_ROOT = `${exports.KYRO_PROJECT_ROOT}/scopes`;
23
+ exports.KYRO_STATE_PATH = `${exports.KYRO_PROJECT_ROOT}/kyro.json`;
24
+ exports.GLOBAL_AGENTS_ROOT = '~/.agents';
25
+ exports.KYRO_GLOBAL_ROOT = `${exports.GLOBAL_AGENTS_ROOT}/kyro`;
26
+ exports.KYRO_ROOT = `${exports.KYRO_GLOBAL_ROOT}/current`;
21
27
  exports.KYRO_CORE_ROOT = `${exports.KYRO_ROOT}/core`;
22
28
  exports.KYRO_COMMANDS_ROOT = `${exports.KYRO_ROOT}/commands`;
23
29
  exports.KYRO_SKILLS_ROOT = `${exports.KYRO_ROOT}/skills`;
24
- exports.AGENT_SKILLS_ROOT = '.agents/skills';
25
- exports.KYRO_STATE_PATH = `${exports.KYRO_ROOT}/kyro.json`;
30
+ exports.AGENT_SKILLS_ROOT = `${exports.GLOBAL_AGENTS_ROOT}/skills`;
26
31
  exports.KYRO_MANIFEST_PATH = `${exports.KYRO_ROOT}/manifest.json`;
32
+ function getKyroRuntimeRoot(version) {
33
+ return `${exports.KYRO_GLOBAL_ROOT}/versions/${version}`;
34
+ }
27
35
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEvB,QAAA,KAAK,GAAG;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,KAAK,GAAG;IACnB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAExD,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,aAAa,GAAG,qBAAqB,CAAC;AACtC,QAAA,SAAS,GAAG,uBAAuB,CAAC;AACpC,QAAA,cAAc,GAAG,GAAG,iBAAS,OAAO,CAAC;AACrC,QAAA,kBAAkB,GAAG,GAAG,iBAAS,WAAW,CAAC;AAC7C,QAAA,gBAAgB,GAAG,GAAG,iBAAS,SAAS,CAAC;AACzC,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,eAAe,GAAG,GAAG,iBAAS,YAAY,CAAC;AAC3C,QAAA,kBAAkB,GAAG,GAAG,iBAAS,gBAAgB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":";;;AAgCA,gDAEC;AAlCD,yCAAoC;AAEvB,QAAA,KAAK,GAAG;IACnB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,KAAK,GAAG;IACnB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAExD,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,QAAA,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC/B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,iBAAiB,GAAG,cAAc,CAAC;AACnC,QAAA,aAAa,GAAG,GAAG,yBAAiB,SAAS,CAAC;AAC9C,QAAA,eAAe,GAAG,GAAG,yBAAiB,YAAY,CAAC;AACnD,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,gBAAgB,GAAG,GAAG,0BAAkB,OAAO,CAAC;AAChD,QAAA,SAAS,GAAG,GAAG,wBAAgB,UAAU,CAAC;AAC1C,QAAA,cAAc,GAAG,GAAG,iBAAS,OAAO,CAAC;AACrC,QAAA,kBAAkB,GAAG,GAAG,iBAAS,WAAW,CAAC;AAC7C,QAAA,gBAAgB,GAAG,GAAG,iBAAS,SAAS,CAAC;AACzC,QAAA,iBAAiB,GAAG,GAAG,0BAAkB,SAAS,CAAC;AACnD,QAAA,kBAAkB,GAAG,GAAG,iBAAS,gBAAgB,CAAC;AAE/D,SAAgB,kBAAkB,CAAC,OAAe;IAChD,OAAO,GAAG,wBAAgB,aAAa,OAAO,EAAE,CAAC;AACnD,CAAC"}