@jstn-sdk/rcs 0.1.6 → 0.1.8

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 (241) hide show
  1. package/README.md +64 -1
  2. package/dist/agents/definitions.d.ts +6 -0
  3. package/dist/agents/definitions.d.ts.map +1 -1
  4. package/dist/agents/definitions.js +14 -0
  5. package/dist/agents/definitions.js.map +1 -1
  6. package/dist/config/generator.d.ts.map +1 -1
  7. package/dist/config/generator.js +6 -2
  8. package/dist/config/generator.js.map +1 -1
  9. package/dist/config/models.d.ts +37 -0
  10. package/dist/config/models.d.ts.map +1 -1
  11. package/dist/config/models.js +121 -3
  12. package/dist/config/models.js.map +1 -1
  13. package/dist/config/roblox-reference-mcp.d.ts +16 -0
  14. package/dist/config/roblox-reference-mcp.d.ts.map +1 -0
  15. package/dist/config/roblox-reference-mcp.js +37 -0
  16. package/dist/config/roblox-reference-mcp.js.map +1 -0
  17. package/dist/index.d.ts +3 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/platform-targets/reader.d.ts +3 -0
  22. package/dist/platform-targets/reader.d.ts.map +1 -0
  23. package/dist/platform-targets/reader.js +31 -0
  24. package/dist/platform-targets/reader.js.map +1 -0
  25. package/dist/platform-targets/schema.d.ts +22 -0
  26. package/dist/platform-targets/schema.d.ts.map +1 -0
  27. package/dist/platform-targets/schema.js +88 -0
  28. package/dist/platform-targets/schema.js.map +1 -0
  29. package/dist/scripts/publish-github-package.d.ts +3 -0
  30. package/dist/scripts/publish-github-package.d.ts.map +1 -0
  31. package/dist/scripts/publish-github-package.js +74 -0
  32. package/dist/scripts/publish-github-package.js.map +1 -0
  33. package/dist/scripts/surface-taxonomy.d.ts.map +1 -1
  34. package/dist/scripts/surface-taxonomy.js +0 -5
  35. package/dist/scripts/surface-taxonomy.js.map +1 -1
  36. package/docs/agents.html +1 -0
  37. package/docs/index.html +13 -1
  38. package/docs/plugin-bundle-ssot.md +2 -0
  39. package/docs/readme/README.de.md +46 -19
  40. package/docs/readme/README.el.md +47 -20
  41. package/docs/readme/README.es.md +47 -20
  42. package/docs/readme/README.fr.md +47 -20
  43. package/docs/readme/README.it.md +46 -19
  44. package/docs/readme/README.ja.md +47 -20
  45. package/docs/readme/README.ko.md +47 -20
  46. package/docs/readme/README.md +2 -1
  47. package/docs/readme/README.pl.md +47 -20
  48. package/docs/readme/README.pt.md +47 -20
  49. package/docs/readme/README.ru.md +47 -20
  50. package/docs/readme/README.tr.md +47 -20
  51. package/docs/readme/README.uk.md +47 -20
  52. package/docs/readme/README.vi.md +47 -20
  53. package/docs/readme/README.zh-TW.md +47 -20
  54. package/docs/readme/README.zh.md +47 -20
  55. package/docs/reference/agentic-platform-compatibility.md +147 -0
  56. package/docs/reference/canonical-vocabulary.md +0 -1
  57. package/docs/reference/llm-provider-abstraction.md +88 -0
  58. package/docs/reference/multi-agent-compatibility-architecture.md +120 -0
  59. package/docs/reference/rcs-config-schema-routing.md +3 -0
  60. package/docs/reference/roblox-mcp-reference-layer.md +75 -0
  61. package/docs/reference/roblox-pre-action-protocol.md +15 -3
  62. package/docs/reference/semantic-design-system.md +0 -7
  63. package/docs/reference/surface-map.md +0 -9
  64. package/docs/release-notes-v0.1.7.md +20 -0
  65. package/docs/release-notes-v0.1.8.md +24 -0
  66. package/docs/wiki/Contributing.md +45 -0
  67. package/docs/wiki/Good-First-Issues.md +44 -0
  68. package/docs/wiki/Home.md +35 -0
  69. package/docs/wiki/Release-Playbook.md +57 -0
  70. package/docs/wiki/Roadmap.md +90 -0
  71. package/package.json +1 -1
  72. package/plugins/roblox-ai-os-creator-skills/.codex-plugin/plugin.json +1 -1
  73. package/plugins/roblox-ai-os-creator-skills/docs/reference/roblox-pre-action-protocol.md +15 -3
  74. package/plugins/roblox-ai-os-creator-skills/skills/ai-slop-cleaner/SKILL.md +0 -3
  75. package/plugins/roblox-ai-os-creator-skills/skills/analyze/SKILL.md +6 -9
  76. package/plugins/roblox-ai-os-creator-skills/skills/ask-claude/SKILL.md +0 -3
  77. package/plugins/roblox-ai-os-creator-skills/skills/ask-gemini/SKILL.md +0 -3
  78. package/plugins/roblox-ai-os-creator-skills/skills/autoforge/SKILL.md +0 -3
  79. package/plugins/roblox-ai-os-creator-skills/skills/autopilot/SKILL.md +0 -3
  80. package/plugins/roblox-ai-os-creator-skills/skills/autoresearch/SKILL.md +0 -3
  81. package/plugins/roblox-ai-os-creator-skills/skills/blueprint/SKILL.md +0 -3
  82. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-loop/SKILL.md +0 -3
  83. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-psych/SKILL.md +0 -3
  84. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-retention/SKILL.md +0 -3
  85. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-social/SKILL.md +0 -3
  86. package/plugins/roblox-ai-os-creator-skills/skills/brief/SKILL.md +0 -3
  87. package/plugins/roblox-ai-os-creator-skills/skills/brief-audience/SKILL.md +0 -3
  88. package/plugins/roblox-ai-os-creator-skills/skills/brief-motivation/SKILL.md +0 -3
  89. package/plugins/roblox-ai-os-creator-skills/skills/cancel/SKILL.md +0 -3
  90. package/plugins/roblox-ai-os-creator-skills/skills/code-review/SKILL.md +6 -9
  91. package/plugins/roblox-ai-os-creator-skills/skills/configure-notifications/SKILL.md +0 -3
  92. package/plugins/roblox-ai-os-creator-skills/skills/crew/SKILL.md +0 -3
  93. package/plugins/roblox-ai-os-creator-skills/skills/deep-interview/SKILL.md +0 -3
  94. package/plugins/roblox-ai-os-creator-skills/skills/doctor/SKILL.md +0 -3
  95. package/plugins/roblox-ai-os-creator-skills/skills/forge/SKILL.md +0 -3
  96. package/plugins/roblox-ai-os-creator-skills/skills/forge-community/SKILL.md +0 -3
  97. package/plugins/roblox-ai-os-creator-skills/skills/forge-daily-loop/SKILL.md +0 -3
  98. package/plugins/roblox-ai-os-creator-skills/skills/forge-event-loop/SKILL.md +0 -3
  99. package/plugins/roblox-ai-os-creator-skills/skills/forge-fomo/SKILL.md +0 -3
  100. package/plugins/roblox-ai-os-creator-skills/skills/forge-mastery/SKILL.md +0 -3
  101. package/plugins/roblox-ai-os-creator-skills/skills/forge-progression/SKILL.md +0 -3
  102. package/plugins/roblox-ai-os-creator-skills/skills/forge-reward-loop/SKILL.md +0 -3
  103. package/plugins/roblox-ai-os-creator-skills/skills/forge-status/SKILL.md +0 -3
  104. package/plugins/roblox-ai-os-creator-skills/skills/help/SKILL.md +0 -3
  105. package/plugins/roblox-ai-os-creator-skills/skills/hud/SKILL.md +0 -3
  106. package/plugins/roblox-ai-os-creator-skills/skills/note/SKILL.md +0 -3
  107. package/plugins/roblox-ai-os-creator-skills/skills/pipeline/SKILL.md +0 -3
  108. package/plugins/roblox-ai-os-creator-skills/skills/plan/SKILL.md +0 -3
  109. package/plugins/roblox-ai-os-creator-skills/skills/rcs-setup/SKILL.md +0 -3
  110. package/plugins/roblox-ai-os-creator-skills/skills/security-review/SKILL.md +0 -3
  111. package/plugins/roblox-ai-os-creator-skills/skills/skill/SKILL.md +38 -40
  112. package/plugins/roblox-ai-os-creator-skills/skills/team/SKILL.md +0 -3
  113. package/plugins/roblox-ai-os-creator-skills/skills/trace/SKILL.md +0 -3
  114. package/plugins/roblox-ai-os-creator-skills/skills/ultraqa/SKILL.md +7 -10
  115. package/plugins/roblox-ai-os-creator-skills/skills/ultrawork/SKILL.md +0 -3
  116. package/plugins/roblox-ai-os-creator-skills/skills/visual-forge/SKILL.md +1 -4
  117. package/plugins/roblox-ai-os-creator-skills/skills/visual-verdict/SKILL.md +0 -3
  118. package/plugins/roblox-ai-os-creator-skills/skills/wiki/SKILL.md +0 -3
  119. package/plugins/roblox-ai-os-creator-skills/skills/worker/SKILL.md +1 -4
  120. package/prompts/analyst.md +3 -6
  121. package/prompts/architect.md +2 -4
  122. package/prompts/build-fixer.md +5 -5
  123. package/prompts/code-reviewer.md +3 -4
  124. package/prompts/critic.md +0 -3
  125. package/prompts/debugger.md +4 -6
  126. package/prompts/dependency-expert.md +1 -3
  127. package/prompts/designer.md +2 -5
  128. package/prompts/executor.md +2 -4
  129. package/prompts/explore-harness.md +0 -3
  130. package/prompts/explore.md +1 -4
  131. package/prompts/git-master.md +0 -3
  132. package/prompts/planner.md +2 -4
  133. package/prompts/researcher.md +2 -5
  134. package/prompts/security-reviewer.md +2 -4
  135. package/prompts/sisyphus-lite.md +0 -3
  136. package/prompts/team-executor.md +1 -3
  137. package/prompts/test-engineer.md +6 -8
  138. package/prompts/verifier.md +1 -3
  139. package/prompts/vision.md +1 -3
  140. package/prompts/writer.md +3 -5
  141. package/skills/ai-slop-cleaner/SKILL.md +0 -3
  142. package/skills/analyze/SKILL.md +6 -9
  143. package/skills/ask-claude/SKILL.md +0 -3
  144. package/skills/ask-gemini/SKILL.md +0 -3
  145. package/skills/autoforge/SKILL.md +0 -3
  146. package/skills/autopilot/SKILL.md +0 -3
  147. package/skills/autoresearch/SKILL.md +0 -3
  148. package/skills/blueprint/SKILL.md +0 -3
  149. package/skills/blueprint-loop/SKILL.md +0 -3
  150. package/skills/blueprint-psych/SKILL.md +0 -3
  151. package/skills/blueprint-retention/SKILL.md +0 -3
  152. package/skills/blueprint-social/SKILL.md +0 -3
  153. package/skills/brief/SKILL.md +0 -3
  154. package/skills/brief-audience/SKILL.md +0 -3
  155. package/skills/brief-motivation/SKILL.md +0 -3
  156. package/skills/build-fix/SKILL.md +2 -4
  157. package/skills/cancel/SKILL.md +0 -3
  158. package/skills/code-review/SKILL.md +6 -9
  159. package/skills/configure-notifications/SKILL.md +0 -3
  160. package/skills/crew/SKILL.md +0 -3
  161. package/skills/deep-interview/SKILL.md +0 -3
  162. package/skills/deepsearch/SKILL.md +0 -3
  163. package/skills/doctor/SKILL.md +0 -3
  164. package/skills/ecomode/SKILL.md +0 -3
  165. package/skills/forge/SKILL.md +0 -3
  166. package/skills/forge-community/SKILL.md +0 -3
  167. package/skills/forge-daily-loop/SKILL.md +0 -3
  168. package/skills/forge-event-loop/SKILL.md +0 -3
  169. package/skills/forge-fomo/SKILL.md +0 -3
  170. package/skills/forge-init/SKILL.md +0 -3
  171. package/skills/forge-mastery/SKILL.md +0 -3
  172. package/skills/forge-progression/SKILL.md +0 -3
  173. package/skills/forge-reward-loop/SKILL.md +0 -3
  174. package/skills/forge-status/SKILL.md +0 -3
  175. package/skills/git-master/SKILL.md +0 -3
  176. package/skills/help/SKILL.md +0 -3
  177. package/skills/hud/SKILL.md +0 -3
  178. package/skills/note/SKILL.md +0 -3
  179. package/skills/pipeline/SKILL.md +0 -3
  180. package/skills/plan/SKILL.md +0 -3
  181. package/skills/rcs-setup/SKILL.md +0 -3
  182. package/skills/review/SKILL.md +0 -3
  183. package/skills/security-review/SKILL.md +0 -3
  184. package/skills/skill/SKILL.md +38 -40
  185. package/skills/swarm/SKILL.md +1 -4
  186. package/skills/tdd/SKILL.md +0 -3
  187. package/skills/team/SKILL.md +0 -3
  188. package/skills/trace/SKILL.md +0 -3
  189. package/skills/ultraqa/SKILL.md +7 -10
  190. package/skills/ultrawork/SKILL.md +0 -3
  191. package/skills/visual-forge/SKILL.md +1 -4
  192. package/skills/visual-verdict/SKILL.md +0 -3
  193. package/skills/web-clone/SKILL.md +0 -3
  194. package/skills/wiki/SKILL.md +0 -3
  195. package/skills/worker/SKILL.md +1 -4
  196. package/src/scripts/publish-github-package.ts +94 -0
  197. package/src/scripts/surface-taxonomy.ts +0 -5
  198. package/templates/roblox/llm-provider-routing.json +42 -0
  199. package/templates/roblox/reference-sources.md +33 -0
  200. package/docs/archive/README.md +0 -15
  201. package/docs/archive/migration-mainline-post-v0.4.4.md +0 -90
  202. package/docs/archive/prompt-migration-changelog.md +0 -141
  203. package/docs/archive/qa-plan-0.4.2.md +0 -85
  204. package/docs/archive/qa-report-0.4.2.md +0 -55
  205. package/docs/archive/release-body-0.9.0.md +0 -86
  206. package/docs/archive/release-body-0.9.1.md +0 -41
  207. package/docs/benchmarks/tetris-benchmark-comparison-20260306.png +0 -0
  208. package/docs/issues/team-forge-followup-team.md +0 -38
  209. package/docs/qa/ci-speedups-after-prompt-worker-fix.md +0 -91
  210. package/docs/qa/deep-interview-phase-1-validation.md +0 -117
  211. package/docs/qa/explore-sparkshell-heavy-manual-stress.md +0 -244
  212. package/docs/qa/recent-bug-regression-hardening-2026-04-11.md +0 -24
  213. package/docs/qa/release-no-publish-0.15.0.md +0 -33
  214. package/docs/qa/release-readiness-0.11.13.md +0 -39
  215. package/docs/qa/release-readiness-0.12.0.md +0 -80
  216. package/docs/qa/release-readiness-0.12.1.md +0 -33
  217. package/docs/qa/release-readiness-0.12.2.md +0 -33
  218. package/docs/qa/release-readiness-0.12.3.md +0 -30
  219. package/docs/qa/release-readiness-0.12.5.md +0 -69
  220. package/docs/qa/release-readiness-0.12.6.md +0 -59
  221. package/docs/qa/release-readiness-0.13.0.md +0 -64
  222. package/docs/qa/release-readiness-0.13.1.md +0 -39
  223. package/docs/qa/release-readiness-0.14.0.md +0 -55
  224. package/docs/qa/release-readiness-0.14.1.md +0 -44
  225. package/docs/qa/release-readiness-0.14.2.md +0 -65
  226. package/docs/qa/release-readiness-0.14.3.md +0 -42
  227. package/docs/qa/release-readiness-0.14.4.md +0 -40
  228. package/docs/qa/release-readiness-0.15.0.md +0 -65
  229. package/docs/qa/release-readiness-0.15.1.md +0 -44
  230. package/docs/qa/release-readiness-0.8.1.md +0 -37
  231. package/docs/qa/release-readiness-0.8.2.md +0 -39
  232. package/docs/qa/release-readiness-0.8.3.md +0 -43
  233. package/docs/qa/release-readiness-0.8.4.md +0 -39
  234. package/docs/qa/release-readiness-0.9.0.md +0 -78
  235. package/docs/qa/release-readiness-0.9.1.md +0 -43
  236. package/docs/qa/release-readiness-follow-up.md +0 -26
  237. package/docs/qa/remaining-suite-drift-2026-03-19.md +0 -105
  238. package/docs/qa/research-specialist-eval-surface-2026-04-18.md +0 -42
  239. package/docs/qa/runtime-team-seam-audit-2026-04-01.md +0 -128
  240. package/docs/reports/macos-m1-high-cpu-usage-2026-04-16.md +0 -78
  241. package/docs/reports/open-prs-dev-readiness-2026-04-09.md +0 -45
@@ -27,6 +27,9 @@ export const RCS_DEFAULT_STANDARD_MODEL_ENV = 'RCS_DEFAULT_STANDARD_MODEL';
27
27
  export const RCS_DEFAULT_SPARK_MODEL_ENV = 'RCS_DEFAULT_SPARK_MODEL';
28
28
  export const RCS_SPARK_MODEL_ENV = 'RCS_SPARK_MODEL';
29
29
  export const RCS_TEAM_CHILD_MODEL_ENV = 'RCS_TEAM_CHILD_MODEL';
30
+ export const RCS_DEFAULT_PROVIDER_ENV = 'RCS_DEFAULT_PROVIDER';
31
+ export const RCS_PROVIDER_FAILOVER_ENV = 'RCS_PROVIDER_FAILOVER';
32
+ export const RCS_PROVIDER_HOT_SWAP_ENV = 'RCS_PROVIDER_HOT_SWAP';
30
33
  function readRcsConfigFile(codexHomeOverride) {
31
34
  const configPath = join(codexHomeOverride || codexHome(), '.rcs-config.json');
32
35
  if (!existsSync(configPath))
@@ -66,6 +69,28 @@ function readModelsBlock(codexHomeOverride) {
66
69
  }
67
70
  return null;
68
71
  }
72
+ function readProvidersBlock(codexHomeOverride) {
73
+ const config = readRcsConfigFile(codexHomeOverride);
74
+ if (!config)
75
+ return null;
76
+ if (config.providers &&
77
+ typeof config.providers === 'object' &&
78
+ !Array.isArray(config.providers)) {
79
+ return config.providers;
80
+ }
81
+ return null;
82
+ }
83
+ function readRoutingBlock(codexHomeOverride) {
84
+ const config = readRcsConfigFile(codexHomeOverride);
85
+ if (!config)
86
+ return null;
87
+ if (config.routing &&
88
+ typeof config.routing === 'object' &&
89
+ !Array.isArray(config.routing)) {
90
+ return config.routing;
91
+ }
92
+ return null;
93
+ }
69
94
  export const DEFAULT_FRONTIER_MODEL = 'gpt-5.5';
70
95
  export const DEFAULT_STANDARD_MODEL = 'gpt-5.4-mini';
71
96
  export const DEFAULT_SPARK_MODEL = 'gpt-5.3-codex-spark';
@@ -83,6 +108,13 @@ function readConfigEnvValue(key, codexHomeOverride) {
83
108
  }
84
109
  return normalizeConfiguredValue(config.env[key]);
85
110
  }
111
+ function normalizeStringArray(value) {
112
+ if (!Array.isArray(value))
113
+ return [];
114
+ return value
115
+ .map((entry) => normalizeConfiguredValue(entry))
116
+ .filter((entry) => Boolean(entry));
117
+ }
86
118
  function readTeamLowComplexityOverride(codexHomeOverride) {
87
119
  const models = readModelsBlock(codexHomeOverride);
88
120
  if (!models)
@@ -107,13 +139,77 @@ export function readConfiguredEnvOverrides(codexHomeOverride) {
107
139
  }
108
140
  return resolved;
109
141
  }
142
+ export function readProviderProfiles(codexHomeOverride) {
143
+ const providers = readProvidersBlock(codexHomeOverride);
144
+ if (!providers)
145
+ return {};
146
+ const normalized = {};
147
+ for (const [name, profile] of Object.entries(providers)) {
148
+ const normalizedName = normalizeConfiguredValue(name);
149
+ if (!normalizedName || !profile || typeof profile !== 'object' || Array.isArray(profile)) {
150
+ continue;
151
+ }
152
+ normalized[normalizedName] = {
153
+ ...(normalizeConfiguredValue(profile.base_url)
154
+ ? { base_url: normalizeConfiguredValue(profile.base_url) }
155
+ : {}),
156
+ ...(normalizeConfiguredValue(profile.api_format)
157
+ ? { api_format: normalizeConfiguredValue(profile.api_format) }
158
+ : {}),
159
+ ...(normalizeConfiguredValue(profile.env_key)
160
+ ? { env_key: normalizeConfiguredValue(profile.env_key) }
161
+ : {}),
162
+ ...(normalizeConfiguredValue(profile.label)
163
+ ? { label: normalizeConfiguredValue(profile.label) }
164
+ : {}),
165
+ ...(normalizeStringArray(profile.capabilities).length > 0
166
+ ? { capabilities: normalizeStringArray(profile.capabilities) }
167
+ : {}),
168
+ };
169
+ }
170
+ return normalized;
171
+ }
172
+ export function getConfiguredDefaultProvider(env = process.env, codexHomeOverride) {
173
+ return normalizeConfiguredValue(env[RCS_DEFAULT_PROVIDER_ENV])
174
+ ?? normalizeConfiguredValue(readRoutingBlock(codexHomeOverride)?.default_provider)
175
+ ?? getCodexConfigRootModelProvider(codexHomeOverride);
176
+ }
177
+ export function getProviderForMode(mode, env = process.env, codexHomeOverride) {
178
+ const routing = readRoutingBlock(codexHomeOverride);
179
+ const modeProvider = normalizeConfiguredValue(routing?.mode_providers?.[mode]);
180
+ if (modeProvider)
181
+ return modeProvider;
182
+ return getConfiguredDefaultProvider(env, codexHomeOverride);
183
+ }
184
+ export function getFallbackProvidersForMode(mode, codexHomeOverride) {
185
+ const routing = readRoutingBlock(codexHomeOverride);
186
+ const modeFallbacks = normalizeStringArray(routing?.mode_fallback_providers?.[mode]);
187
+ if (modeFallbacks.length > 0)
188
+ return modeFallbacks;
189
+ return normalizeStringArray(routing?.fallback_providers);
190
+ }
191
+ export function readProviderRoutingFlags(env = process.env, codexHomeOverride) {
192
+ const routing = readRoutingBlock(codexHomeOverride);
193
+ const hotSwapEnabled = normalizeConfiguredValue(env[RCS_PROVIDER_HOT_SWAP_ENV]) === '1'
194
+ || routing?.hot_swap === true;
195
+ const failoverEnabled = normalizeConfiguredValue(env[RCS_PROVIDER_FAILOVER_ENV]) === '1'
196
+ || routing?.failover === true;
197
+ return { hotSwapEnabled, failoverEnabled };
198
+ }
110
199
  export function readActiveProviderEnvOverrides(env = process.env, codexHomeOverride, activeProviderOverride) {
200
+ const activeProvider = normalizeConfiguredValue(activeProviderOverride)
201
+ ?? getConfiguredDefaultProvider(env, codexHomeOverride);
202
+ if (!activeProvider)
203
+ return {};
204
+ const rcsProviderProfile = readProviderProfiles(codexHomeOverride)[activeProvider];
205
+ const rcsEnvKey = normalizeConfiguredValue(rcsProviderProfile?.env_key);
206
+ if (rcsEnvKey) {
207
+ const envValue = normalizeConfiguredValue(env[rcsEnvKey]);
208
+ return envValue ? { [rcsEnvKey]: envValue } : {};
209
+ }
111
210
  const config = readCodexConfigFile(codexHomeOverride);
112
211
  if (!config)
113
212
  return {};
114
- const activeProvider = normalizeConfiguredValue(activeProviderOverride) ?? normalizeConfiguredValue(config.model_provider);
115
- if (!activeProvider)
116
- return {};
117
213
  const providers = config.model_providers;
118
214
  if (!providers || typeof providers !== 'object' || Array.isArray(providers)) {
119
215
  return {};
@@ -128,6 +224,28 @@ export function readActiveProviderEnvOverrides(env = process.env, codexHomeOverr
128
224
  const envValue = normalizeConfiguredValue(env[envKey]);
129
225
  return envValue ? { [envKey]: envValue } : {};
130
226
  }
227
+ export function readActiveProviderConnection(env = process.env, mode, codexHomeOverride, activeProviderOverride) {
228
+ const provider = normalizeConfiguredValue(activeProviderOverride)
229
+ ?? (mode ? getProviderForMode(mode, env, codexHomeOverride) : getConfiguredDefaultProvider(env, codexHomeOverride))
230
+ ?? null;
231
+ const profile = provider ? readProviderProfiles(codexHomeOverride)[provider] : undefined;
232
+ const fallbackProviders = mode
233
+ ? getFallbackProvidersForMode(mode, codexHomeOverride)
234
+ : normalizeStringArray(readRoutingBlock(codexHomeOverride)?.fallback_providers);
235
+ const { hotSwapEnabled, failoverEnabled } = readProviderRoutingFlags(env, codexHomeOverride);
236
+ const envKey = normalizeConfiguredValue(profile?.env_key) ?? null;
237
+ const envValuePresent = envKey ? normalizeConfiguredValue(env[envKey]) !== undefined : false;
238
+ return {
239
+ provider,
240
+ baseUrl: normalizeConfiguredValue(profile?.base_url) ?? null,
241
+ apiFormat: normalizeConfiguredValue(profile?.api_format) ?? null,
242
+ envKey,
243
+ envValuePresent,
244
+ fallbackProviders,
245
+ hotSwapEnabled,
246
+ failoverEnabled,
247
+ };
248
+ }
131
249
  export function getEnvConfiguredMainDefaultModel(env = process.env, codexHomeOverride) {
132
250
  return normalizeConfiguredValue(env[RCS_DEFAULT_FRONTIER_MODEL_ENV])
133
251
  ?? readConfigEnvValue(RCS_DEFAULT_FRONTIER_MODEL_ENV, codexHomeOverride);
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/config/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface RobloxReferenceMcpSpec {
2
+ name: string;
3
+ title: string;
4
+ url: string;
5
+ startupTimeoutSec: number;
6
+ }
7
+ export declare const ROBLOX_REFERENCE_MCP_SPECS: readonly RobloxReferenceMcpSpec[];
8
+ export declare function getRobloxReferenceMcpServers(): Array<{
9
+ name: string;
10
+ title: string;
11
+ command: string;
12
+ args: string[];
13
+ enabled: boolean;
14
+ startupTimeoutSec: number;
15
+ }>;
16
+ //# sourceMappingURL=roblox-reference-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roblox-reference-mcp.d.ts","sourceRoot":"","sources":["../../src/config/roblox-reference-mcp.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,0BAA0B,EAAE,SAAS,sBAAsB,EAyB9D,CAAC;AAEX,wBAAgB,4BAA4B,IAAI,KAAK,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC,CASD"}
@@ -0,0 +1,37 @@
1
+ export const ROBLOX_REFERENCE_MCP_SPECS = [
2
+ {
3
+ name: "creator_docs",
4
+ title: "# Roblox Creator Docs MCP (official platform truth)",
5
+ url: "https://gitmcp.io/Roblox/creator-docs",
6
+ startupTimeoutSec: 15,
7
+ },
8
+ {
9
+ name: "roblox_skills",
10
+ title: "# Roblox Skills MCP (high-signal implementation guidance)",
11
+ url: "https://gitmcp.io/sentinelcore/roblox-skills",
12
+ startupTimeoutSec: 15,
13
+ },
14
+ {
15
+ name: "devprod_docs",
16
+ title: "# Devprod MCP (developer product tooling reference)",
17
+ url: "https://gitmcp.io/Corecii/Devprod",
18
+ startupTimeoutSec: 15,
19
+ },
20
+ {
21
+ name: "roblox_scripts_corpus",
22
+ title: "# Roblox Scripts MCP (raw script corpus, non-canonical)",
23
+ url: "https://gitmcp.io/retpirato/Roblox-Scripts",
24
+ startupTimeoutSec: 15,
25
+ },
26
+ ];
27
+ export function getRobloxReferenceMcpServers() {
28
+ return ROBLOX_REFERENCE_MCP_SPECS.map((spec) => ({
29
+ name: spec.name,
30
+ title: spec.title,
31
+ command: "npx",
32
+ args: ["mcp-remote", spec.url],
33
+ enabled: true,
34
+ startupTimeoutSec: spec.startupTimeoutSec,
35
+ }));
36
+ }
37
+ //# sourceMappingURL=roblox-reference-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roblox-reference-mcp.js","sourceRoot":"","sources":["../../src/config/roblox-reference-mcp.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,0BAA0B,GAAsC;IAC3E;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,qDAAqD;QAC5D,GAAG,EAAE,uCAAuC;QAC5C,iBAAiB,EAAE,EAAE;KACtB;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,2DAA2D;QAClE,GAAG,EAAE,8CAA8C;QACnD,iBAAiB,EAAE,EAAE;KACtB;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,qDAAqD;QAC5D,GAAG,EAAE,mCAAmC;QACxC,iBAAiB,EAAE,EAAE;KACtB;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,yDAAyD;QAChE,GAAG,EAAE,4CAA4C;QACjD,iBAAiB,EAAE,EAAE;KACtB;CACO,CAAC;AAEX,MAAM,UAAU,4BAA4B;IAQ1C,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC;QAC9B,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC,CAAC;AACN,CAAC"}
package/dist/index.d.ts CHANGED
@@ -13,7 +13,9 @@ export { setup } from './cli/setup.js';
13
13
  export { doctor } from './cli/doctor.js';
14
14
  export { version } from './cli/version.js';
15
15
  export { mergeConfig } from './config/generator.js';
16
- export { AGENT_DEFINITIONS, type AgentDefinition } from './agents/definitions.js';
16
+ export { AGENT_DEFINITIONS, getAgent, getAgentsByCategory, getAgentsByPosture, getAgentsByRoutingRole, getAgentNames, listAgents, type AgentDefinition, } from './agents/definitions.js';
17
17
  export { generateAgentToml, installNativeAgentConfigs } from './agents/native-config.js';
18
+ export { readPlatformTargetManifest } from './platform-targets/reader.js';
19
+ export type { PlatformTargetEntry, PlatformTargetId, PlatformTargetLane, PlatformTargetManifest, PlatformTargetStatus, RuntimeOwnership, } from './platform-targets/schema.js';
18
20
  export { hudCommand } from './hud/index.js';
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -13,7 +13,8 @@ export { setup } from './cli/setup.js';
13
13
  export { doctor } from './cli/doctor.js';
14
14
  export { version } from './cli/version.js';
15
15
  export { mergeConfig } from './config/generator.js';
16
- export { AGENT_DEFINITIONS } from './agents/definitions.js';
16
+ export { AGENT_DEFINITIONS, getAgent, getAgentsByCategory, getAgentsByPosture, getAgentsByRoutingRole, getAgentNames, listAgents, } from './agents/definitions.js';
17
17
  export { generateAgentToml, installNativeAgentConfigs } from './agents/native-config.js';
18
+ export { readPlatformTargetManifest } from './platform-targets/reader.js';
18
19
  export { hudCommand } from './hud/index.js';
19
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAwB,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,UAAU,GAEX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAS1E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type PlatformTargetManifest } from './schema.js';
2
+ export declare function readPlatformTargetManifest(packageRoot?: string): PlatformTargetManifest;
3
+ //# sourceMappingURL=reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/platform-targets/reader.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,aAAa,CAAC;AAkBrB,wBAAgB,0BAA0B,CACxC,WAAW,GAAE,MAAyB,GACrC,sBAAsB,CAUxB"}
@@ -0,0 +1,31 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { getPackageRoot } from '../utils/package.js';
4
+ import { validatePlatformTargetManifest, } from './schema.js';
5
+ const MANIFEST_CANDIDATE_PATHS = [
6
+ ['src', 'platform-targets', 'manifest.json'],
7
+ ['dist', 'platform-targets', 'manifest.json'],
8
+ ];
9
+ let cachedManifest = null;
10
+ let cachedPath = null;
11
+ function resolveManifestPath(packageRoot) {
12
+ for (const segments of MANIFEST_CANDIDATE_PATHS) {
13
+ const fullPath = join(packageRoot, ...segments);
14
+ if (existsSync(fullPath))
15
+ return fullPath;
16
+ }
17
+ return null;
18
+ }
19
+ export function readPlatformTargetManifest(packageRoot = getPackageRoot()) {
20
+ const path = resolveManifestPath(packageRoot);
21
+ if (!path)
22
+ throw new Error('platform_target_manifest_missing');
23
+ if (cachedManifest && cachedPath === path)
24
+ return cachedManifest;
25
+ const raw = JSON.parse(readFileSync(path, 'utf8'));
26
+ const manifest = validatePlatformTargetManifest(raw);
27
+ cachedManifest = manifest;
28
+ cachedPath = path;
29
+ return manifest;
30
+ }
31
+ //# sourceMappingURL=reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/platform-targets/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,8BAA8B,GAC/B,MAAM,aAAa,CAAC;AAErB,MAAM,wBAAwB,GAAG;IAC/B,CAAC,KAAK,EAAE,kBAAkB,EAAE,eAAe,CAAC;IAC5C,CAAC,MAAM,EAAE,kBAAkB,EAAE,eAAe,CAAC;CACrC,CAAC;AAEX,IAAI,cAAc,GAAkC,IAAI,CAAC;AACzD,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,KAAK,MAAM,QAAQ,IAAI,wBAAwB,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,cAAsB,cAAc,EAAE;IAEtC,MAAM,IAAI,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/D,IAAI,cAAc,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC;IAEjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;IAC9D,MAAM,QAAQ,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACrD,cAAc,GAAG,QAAQ,CAAC;IAC1B,UAAU,GAAG,IAAI,CAAC;IAClB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type PlatformTargetId = 'codex-native' | 'codex-plugin' | 'claude-like' | 'marketplace-bundle' | 'adapter-openclaw' | 'adapter-hermes';
2
+ export type PlatformTargetLane = 'delivery' | 'adapter';
3
+ export type PlatformTargetStatus = 'active' | 'planned';
4
+ export type RuntimeOwnership = 'setup-owned' | 'plugin-scoped' | 'adapter-owned' | 'platform-owned';
5
+ export interface PlatformTargetEntry {
6
+ id: PlatformTargetId;
7
+ displayName: string;
8
+ lane: PlatformTargetLane;
9
+ status: PlatformTargetStatus;
10
+ runtimeOwnership: RuntimeOwnership;
11
+ purpose: string;
12
+ canonicalSources: string[];
13
+ deliveryArtifacts: string[];
14
+ notes: string[];
15
+ }
16
+ export interface PlatformTargetManifest {
17
+ schemaVersion: number;
18
+ manifestVersion: string;
19
+ targets: PlatformTargetEntry[];
20
+ }
21
+ export declare function validatePlatformTargetManifest(input: unknown): PlatformTargetManifest;
22
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/platform-targets/schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,cAAc,GACd,aAAa,GACb,oBAAoB,GACpB,kBAAkB,GAClB,gBAAgB,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,eAAe,GACf,eAAe,GACf,gBAAgB,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,gBAAgB,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAmCD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CA0DrF"}
@@ -0,0 +1,88 @@
1
+ const TARGET_IDS = new Set([
2
+ 'codex-native',
3
+ 'codex-plugin',
4
+ 'claude-like',
5
+ 'marketplace-bundle',
6
+ 'adapter-openclaw',
7
+ 'adapter-hermes',
8
+ ]);
9
+ const LANES = new Set(['delivery', 'adapter']);
10
+ const STATUSES = new Set(['active', 'planned']);
11
+ const OWNERSHIPS = new Set([
12
+ 'setup-owned',
13
+ 'plugin-scoped',
14
+ 'adapter-owned',
15
+ 'platform-owned',
16
+ ]);
17
+ function isObject(value) {
18
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
19
+ }
20
+ function assertNonEmptyString(value, field) {
21
+ if (typeof value !== 'string' || value.trim() === '') {
22
+ throw new Error(`platform_target_manifest_invalid:${field}`);
23
+ }
24
+ }
25
+ function assertStringArray(value, field) {
26
+ if (!Array.isArray(value) || value.some((item) => typeof item !== 'string' || item.trim() === '')) {
27
+ throw new Error(`platform_target_manifest_invalid:${field}`);
28
+ }
29
+ }
30
+ export function validatePlatformTargetManifest(input) {
31
+ if (!isObject(input))
32
+ throw new Error('platform_target_manifest_invalid:root');
33
+ if (typeof input.schemaVersion !== 'number' || !Number.isInteger(input.schemaVersion)) {
34
+ throw new Error('platform_target_manifest_invalid:schemaVersion');
35
+ }
36
+ assertNonEmptyString(input.manifestVersion, 'manifestVersion');
37
+ if (!Array.isArray(input.targets))
38
+ throw new Error('platform_target_manifest_invalid:targets');
39
+ const seen = new Set();
40
+ const targets = input.targets.map((entry, index) => {
41
+ if (!isObject(entry))
42
+ throw new Error(`platform_target_manifest_invalid:targets[${index}]`);
43
+ assertNonEmptyString(entry.id, `targets[${index}].id`);
44
+ assertNonEmptyString(entry.displayName, `targets[${index}].displayName`);
45
+ assertNonEmptyString(entry.lane, `targets[${index}].lane`);
46
+ assertNonEmptyString(entry.status, `targets[${index}].status`);
47
+ assertNonEmptyString(entry.runtimeOwnership, `targets[${index}].runtimeOwnership`);
48
+ assertNonEmptyString(entry.purpose, `targets[${index}].purpose`);
49
+ assertStringArray(entry.canonicalSources, `targets[${index}].canonicalSources`);
50
+ assertStringArray(entry.deliveryArtifacts, `targets[${index}].deliveryArtifacts`);
51
+ assertStringArray(entry.notes, `targets[${index}].notes`);
52
+ const id = entry.id.trim();
53
+ if (!TARGET_IDS.has(id))
54
+ throw new Error(`platform_target_manifest_invalid:targets[${index}].id`);
55
+ if (seen.has(id))
56
+ throw new Error(`platform_target_manifest_invalid:duplicate_target:${id}`);
57
+ seen.add(id);
58
+ if (!LANES.has(entry.lane)) {
59
+ throw new Error(`platform_target_manifest_invalid:targets[${index}].lane`);
60
+ }
61
+ if (!STATUSES.has(entry.status)) {
62
+ throw new Error(`platform_target_manifest_invalid:targets[${index}].status`);
63
+ }
64
+ if (!OWNERSHIPS.has(entry.runtimeOwnership)) {
65
+ throw new Error(`platform_target_manifest_invalid:targets[${index}].runtimeOwnership`);
66
+ }
67
+ return {
68
+ id,
69
+ displayName: entry.displayName.trim(),
70
+ lane: entry.lane,
71
+ status: entry.status,
72
+ runtimeOwnership: entry.runtimeOwnership,
73
+ purpose: entry.purpose.trim(),
74
+ canonicalSources: entry.canonicalSources.map((item) => item.trim()),
75
+ deliveryArtifacts: entry.deliveryArtifacts.map((item) => item.trim()),
76
+ notes: entry.notes.map((item) => item.trim()),
77
+ };
78
+ });
79
+ if (targets.length !== TARGET_IDS.size) {
80
+ throw new Error('platform_target_manifest_invalid:missing_targets');
81
+ }
82
+ return {
83
+ schemaVersion: input.schemaVersion,
84
+ manifestVersion: input.manifestVersion.trim(),
85
+ targets,
86
+ };
87
+ }
88
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/platform-targets/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=publish-github-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-github-package.d.ts","sourceRoot":"","sources":["../../src/scripts/publish-github-package.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync, writeFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { spawnSync } from 'node:child_process';
5
+ function normalizeScopeOwner(owner) {
6
+ return owner.trim().toLowerCase();
7
+ }
8
+ function resolveRepositoryUrl(pkg) {
9
+ if (typeof pkg.repository === 'string')
10
+ return pkg.repository;
11
+ if (pkg.repository && typeof pkg.repository === 'object' && typeof pkg.repository.url === 'string') {
12
+ return pkg.repository.url;
13
+ }
14
+ throw new Error('github_packages_publish_requires_repository_url');
15
+ }
16
+ function resolveGitHubOwner(pkg) {
17
+ const repositoryUrl = resolveRepositoryUrl(pkg);
18
+ const match = repositoryUrl.match(/github\.com[:/](.+?)\/(.+?)(?:\.git)?$/i);
19
+ if (!match?.[1]) {
20
+ throw new Error(`unable_to_resolve_github_owner_from_repository:${repositoryUrl}`);
21
+ }
22
+ return normalizeScopeOwner(match[1]);
23
+ }
24
+ function resolvePackageBaseName(pkg) {
25
+ const name = (pkg.name ?? '').trim();
26
+ if (!name)
27
+ throw new Error('github_packages_publish_requires_package_name');
28
+ const last = name.split('/').at(-1);
29
+ if (!last)
30
+ throw new Error('github_packages_publish_requires_package_name');
31
+ return last;
32
+ }
33
+ function buildGitHubPackagesName(pkg) {
34
+ return `@${resolveGitHubOwner(pkg)}/${resolvePackageBaseName(pkg)}`;
35
+ }
36
+ function main() {
37
+ const root = process.cwd();
38
+ const dryRun = process.argv.includes('--dry-run');
39
+ const packagePath = join(root, 'package.json');
40
+ const lockPath = join(root, 'package-lock.json');
41
+ const originalPackage = readFileSync(packagePath, 'utf8');
42
+ const originalLock = readFileSync(lockPath, 'utf8');
43
+ const pkg = JSON.parse(originalPackage);
44
+ const lock = JSON.parse(originalLock);
45
+ const githubPackageName = buildGitHubPackagesName(pkg);
46
+ pkg.name = githubPackageName;
47
+ pkg.publishConfig = {
48
+ ...(pkg.publishConfig ?? {}),
49
+ registry: 'https://npm.pkg.github.com',
50
+ };
51
+ lock.name = githubPackageName;
52
+ if (lock.packages?.['']) {
53
+ lock.packages[''].name = githubPackageName;
54
+ }
55
+ writeFileSync(packagePath, `${JSON.stringify(pkg, null, 2)}\n`);
56
+ writeFileSync(lockPath, `${JSON.stringify(lock, null, 2)}\n`);
57
+ try {
58
+ const args = ['publish', ...(dryRun ? ['--dry-run'] : [])];
59
+ const result = spawnSync('npm', args, {
60
+ cwd: root,
61
+ stdio: 'inherit',
62
+ env: process.env,
63
+ });
64
+ if (result.error)
65
+ throw result.error;
66
+ process.exit(result.status ?? 1);
67
+ }
68
+ finally {
69
+ writeFileSync(packagePath, originalPackage);
70
+ writeFileSync(lockPath, originalLock);
71
+ }
72
+ }
73
+ main();
74
+ //# sourceMappingURL=publish-github-package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-github-package.js","sourceRoot":"","sources":["../../src/scripts/publish-github-package.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"surface-taxonomy.d.ts","sourceRoot":"","sources":["../../src/scripts/surface-taxonomy.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,eAAe,8DAA+D,CAAC;AAC5F,eAAO,MAAM,eAAe,0DAA2D,CAAC;AACxF,eAAO,MAAM,iBAAiB,yDAA0D,CAAC;AACzF,eAAO,MAAM,cAAc,oDAAqD,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAkFD,wBAAgB,sBAAsB,CAAC,IAAI,SAAgB,GAAG,qBAAqB,EAAE,CAuBpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAsDlF;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,SAAgB,GAAG,MAAM,EAAE,CAsB7G;AAoBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CA+ChF"}
1
+ {"version":3,"file":"surface-taxonomy.d.ts","sourceRoot":"","sources":["../../src/scripts/surface-taxonomy.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,eAAe,8DAA+D,CAAC;AAC5F,eAAO,MAAM,eAAe,0DAA2D,CAAC;AACxF,eAAO,MAAM,iBAAiB,yDAA0D,CAAC;AACzF,eAAO,MAAM,cAAc,oDAAqD,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAkFD,wBAAgB,sBAAsB,CAAC,IAAI,SAAgB,GAAG,qBAAqB,EAAE,CAuBpF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAsDlF;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,SAAgB,GAAG,MAAM,EAAE,CAsB7G;AAoBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CA0ChF"}
@@ -221,14 +221,9 @@ export function buildSurfaceMapMarkdown(records) {
221
221
  '',
222
222
  ...renderTable(internal),
223
223
  '',
224
- '## Historical Surfaces',
225
- '',
226
- ...renderTable(historical),
227
- '',
228
224
  '## Additional Repo Lanes',
229
225
  '',
230
226
  '- `AGENTS.md` and `templates/AGENTS.md` remain the orchestration brain and guidance authority.',
231
- '- `docs/archive/` is the historical lane; archive content may describe removed surfaces but must not act as active onboarding.',
232
227
  '- `src/catalog/manifest.json`, `templates/catalog-manifest.json`, and `src/catalog/generated/public-catalog.json` are the catalog source/generated contract lane.',
233
228
  '- `dist/` is generated runtime output and should reflect the taxonomy, not redefine it.',
234
229
  '',