@fulmenhq/tsfulmen 0.1.13 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +73 -512
  2. package/README.md +111 -28
  3. package/config/crucible-ts/agentic/roles/README.md +76 -0
  4. package/config/crucible-ts/agentic/roles/cicd.yaml +82 -0
  5. package/config/crucible-ts/agentic/roles/dataeng.yaml +104 -0
  6. package/config/crucible-ts/agentic/roles/devlead.yaml +84 -0
  7. package/config/crucible-ts/agentic/roles/devrev.yaml +105 -0
  8. package/config/crucible-ts/agentic/roles/entarch.yaml +101 -0
  9. package/config/crucible-ts/agentic/roles/infoarch.yaml +95 -0
  10. package/config/crucible-ts/agentic/roles/prodmktg.yaml +92 -0
  11. package/config/crucible-ts/agentic/roles/qa.yaml +148 -0
  12. package/config/crucible-ts/agentic/roles/secrev.yaml +101 -0
  13. package/config/crucible-ts/agentic/roles/uxdev.yaml +168 -0
  14. package/config/crucible-ts/branding/ecosystem.yaml +26 -0
  15. package/config/crucible-ts/library/foundry/exit-codes.snapshot.json +26 -0
  16. package/config/crucible-ts/library/foundry/exit-codes.yaml +28 -3
  17. package/config/crucible-ts/library/foundry/patterns.yaml +2 -2
  18. package/config/crucible-ts/library/foundry/signal-resolution-fixtures.yaml +207 -0
  19. package/config/crucible-ts/library/foundry/signals.yaml +21 -0
  20. package/config/crucible-ts/library/foundry/simplified-modes.snapshot.json +9 -1
  21. package/config/crucible-ts/library/{foundry/similarity-fixtures.yaml → similarity/fixtures.yaml} +1 -1
  22. package/config/crucible-ts/library/v1.0.0/module-manifest.yaml +1 -2
  23. package/config/crucible-ts/taxonomy/fixture-catalog.yaml +145 -0
  24. package/config/crucible-ts/taxonomy/languages.yaml +2 -2
  25. package/config/crucible-ts/taxonomy/library/foundry-catalogs/v1.1.0/catalogs.yaml +77 -0
  26. package/config/crucible-ts/taxonomy/library/platform-modules/v1.1.0/modules.yaml +722 -0
  27. package/config/crucible-ts/taxonomy/metrics.yaml +1 -1
  28. package/config/crucible-ts/taxonomy/repository-categories.yaml +134 -1
  29. package/dist/appidentity/index.d.ts +117 -35
  30. package/dist/appidentity/index.js +752 -592
  31. package/dist/appidentity/index.js.map +1 -1
  32. package/dist/config/index.js +118 -6
  33. package/dist/config/index.js.map +1 -1
  34. package/dist/crucible/index.js +118 -6
  35. package/dist/crucible/index.js.map +1 -1
  36. package/dist/errors/index.js +118 -6
  37. package/dist/errors/index.js.map +1 -1
  38. package/dist/foundry/index.d.ts +13 -676
  39. package/dist/foundry/index.js +118 -6
  40. package/dist/foundry/index.js.map +1 -1
  41. package/dist/foundry/similarity/index.d.ts +2 -2
  42. package/dist/fulhash/index.d.ts +64 -12
  43. package/dist/fulhash/index.js +292 -53
  44. package/dist/fulhash/index.js.map +1 -1
  45. package/dist/index.d.ts +2 -2
  46. package/dist/index.js +753 -593
  47. package/dist/index.js.map +1 -1
  48. package/dist/{manager-D27vrdaS.d.ts → manager-CH3fX7zO.d.ts} +1 -1
  49. package/dist/pathfinder/index.js +368 -59
  50. package/dist/pathfinder/index.js.map +1 -1
  51. package/dist/reports/license-inventory.csv +302 -0
  52. package/dist/schema/index.js +118 -6
  53. package/dist/schema/index.js.map +1 -1
  54. package/dist/signals/index.d.ts +675 -0
  55. package/dist/signals/index.js +5790 -0
  56. package/dist/signals/index.js.map +1 -0
  57. package/dist/similarity/index.d.ts +2 -0
  58. package/dist/similarity/index.js +136 -0
  59. package/dist/similarity/index.js.map +1 -0
  60. package/dist/{suggest-Cv7SVQRu.d.ts → suggest-D8LbwtPV.d.ts} +1 -1
  61. package/dist/telemetry/http/index.js +704 -591
  62. package/dist/telemetry/http/index.js.map +1 -1
  63. package/dist/telemetry/index.js +118 -6
  64. package/dist/telemetry/index.js.map +1 -1
  65. package/dist/telemetry/prometheus/index.d.ts +1 -1
  66. package/dist/telemetry/prometheus/index.js +175 -11
  67. package/dist/telemetry/prometheus/index.js.map +1 -1
  68. package/package.json +15 -6
  69. package/schemas/crucible-ts/assessment/v1.0.0/severity-definitions.schema.json +1 -1
  70. package/schemas/crucible-ts/config/fulmen-ecosystem/v1.0.0/fulmen-config-paths.schema.json +1 -1
  71. package/schemas/crucible-ts/config/repository/app-identity/v1.0.0/app-identity.schema.json +3 -3
  72. package/schemas/crucible-ts/config/repository/v1.0.0/lifecycle-phase.json +1 -1
  73. package/schemas/crucible-ts/config/repository-category/codex/v1.0.0/codex-config.schema.json +1 -1
  74. package/schemas/crucible-ts/config/standards/v1.0.0/adr-adoption-status.json +1 -1
  75. package/schemas/crucible-ts/config/standards/v1.0.0/adr-frontmatter.schema.json +3 -3
  76. package/schemas/crucible-ts/config/standards/v1.0.0/adr-lifecycle-status.json +1 -1
  77. package/schemas/crucible-ts/config/sync-keys.schema.yaml +14 -0
  78. package/schemas/crucible-ts/content/ssot-provenance/v1.0.0/ssot-provenance.schema.json +1 -1
  79. package/schemas/crucible-ts/design/README.md +159 -0
  80. package/schemas/crucible-ts/design/core/v1.0.0/component-states.schema.json +204 -0
  81. package/schemas/crucible-ts/design/core/v1.0.0/semantic-colors.schema.json +179 -0
  82. package/schemas/crucible-ts/design/core/v1.0.0/spacing-scale.schema.json +165 -0
  83. package/schemas/crucible-ts/design/core/v1.0.0/typography-roles.schema.json +195 -0
  84. package/schemas/crucible-ts/design/tui/v1.0.0/color-palette.schema.json +303 -0
  85. package/schemas/crucible-ts/design/tui/v1.0.0/component.schema.json +374 -0
  86. package/schemas/crucible-ts/design/tui/v1.0.0/layout.schema.json +272 -0
  87. package/schemas/crucible-ts/design/tui/v1.0.0/theme.schema.json +205 -0
  88. package/schemas/crucible-ts/design/tui/v1.0.0/typography.schema.json +316 -0
  89. package/schemas/crucible-ts/devsecops/lorage-central/activity/v1.0.0/activity.schema.json +1 -1
  90. package/schemas/crucible-ts/devsecops/lorage-central/credentials/v1.0.0/credentials.schema.json +1 -1
  91. package/schemas/crucible-ts/devsecops/lorage-central/policy/v1.0.0/policy.schema.json +1 -1
  92. package/schemas/crucible-ts/devsecops/lorage-central/recipe/v1.0.0/recipe.schema.json +1 -1
  93. package/schemas/crucible-ts/devsecops/lorage-central/runbooks/v1.0.0/runbook.schema.json +1 -1
  94. package/schemas/crucible-ts/devsecops/lorage-central/tenant/v1.0.0/tenant.schema.json +1 -1
  95. package/schemas/crucible-ts/devsecops/secrets/v1.0.0/secrets.schema.json +1 -1
  96. package/schemas/crucible-ts/error-handling/v1.0.0/error-response.schema.json +1 -1
  97. package/schemas/crucible-ts/library/foundry/v1.0.0/country-codes.schema.json +1 -1
  98. package/schemas/crucible-ts/library/foundry/v1.0.0/exit-codes.schema.json +1 -1
  99. package/schemas/crucible-ts/library/foundry/v1.0.0/http-status-groups.schema.json +1 -1
  100. package/schemas/crucible-ts/library/foundry/v1.0.0/mime-types.schema.json +1 -1
  101. package/schemas/crucible-ts/library/foundry/v1.0.0/patterns.schema.json +1 -1
  102. package/schemas/crucible-ts/library/foundry/v1.0.0/signal-resolution-fixtures.schema.json +140 -0
  103. package/schemas/crucible-ts/library/foundry/v1.0.0/signals.schema.json +6 -1
  104. package/schemas/crucible-ts/library/fulencode/v1.0.0/fulencode-config.schema.json +1 -1
  105. package/schemas/crucible-ts/library/fulhash/v1.0.0/checksum-string.schema.json +2 -2
  106. package/schemas/crucible-ts/library/fulhash/v1.0.0/digest.schema.json +61 -1
  107. package/schemas/crucible-ts/library/fulhash/v1.0.0/fixtures.schema.json +1 -1
  108. package/schemas/crucible-ts/library/fulpack/v1.0.0/archive-entry.schema.json +1 -1
  109. package/schemas/crucible-ts/library/fulpack/v1.0.0/archive-info.schema.json +1 -1
  110. package/schemas/crucible-ts/library/fulpack/v1.0.0/archive-manifest.schema.json +2 -2
  111. package/schemas/crucible-ts/library/fulpack/v1.0.0/create-options.schema.json +1 -1
  112. package/schemas/crucible-ts/library/fulpack/v1.0.0/extract-options.schema.json +1 -1
  113. package/schemas/crucible-ts/library/fulpack/v1.0.0/extract-result.schema.json +1 -1
  114. package/schemas/crucible-ts/library/fulpack/v1.0.0/scan-options.schema.json +1 -1
  115. package/schemas/crucible-ts/library/fulpack/v1.0.0/validation-result.schema.json +1 -1
  116. package/schemas/crucible-ts/library/module-manifest/v1.0.0/module-manifest.schema.json +1 -1
  117. package/schemas/crucible-ts/library/{foundry → similarity}/v1.0.0/similarity.schema.json +2 -2
  118. package/schemas/crucible-ts/library/{foundry → similarity}/v2.0.0/similarity.schema.json +2 -2
  119. package/schemas/crucible-ts/observability/metrics/v1.0.0/metrics-event.schema.json +1 -1
  120. package/schemas/crucible-ts/pathfinder/v1.0.0/find-query.schema.json +1 -1
  121. package/schemas/crucible-ts/pathfinder/v1.0.0/finder-config.schema.json +1 -1
  122. package/schemas/crucible-ts/pathfinder/v1.0.0/path-result.schema.json +1 -1
  123. package/schemas/crucible-ts/protocol/http/v1.0.0/error-response.schema.json +1 -1
  124. package/schemas/crucible-ts/protocol/http/v1.0.0/health-response.schema.json +1 -1
  125. package/schemas/crucible-ts/protocol/http/v1.0.0/success-response.schema.json +1 -1
  126. package/schemas/crucible-ts/protocol/http/v1.0.0/version-response.schema.json +1 -1
  127. package/schemas/crucible-ts/server/management/v1.0.0/server-management.schema.json +1 -1
  128. package/schemas/crucible-ts/standards/publishing/v1.0.0/spec-catalog.schema.json +134 -0
  129. package/schemas/crucible-ts/taxonomy/devsecops/auth-methods/v1.0.0/auth-methods-key.schema.json +1 -1
  130. package/schemas/crucible-ts/taxonomy/devsecops/auth-methods/v1.0.0/auth-methods-metadata.schema.json +1 -1
  131. package/schemas/crucible-ts/taxonomy/devsecops/geo/v1.0.0/geo-key.schema.json +1 -1
  132. package/schemas/crucible-ts/taxonomy/devsecops/geo/v1.0.0/geo-metadata.schema.json +1 -1
  133. package/schemas/crucible-ts/taxonomy/devsecops/infra-phases/v1.0.0/infra-phases-key.schema.json +1 -1
  134. package/schemas/crucible-ts/taxonomy/devsecops/infra-phases/v1.0.0/infra-phases-metadata.schema.json +1 -1
  135. package/schemas/crucible-ts/taxonomy/devsecops/infra-providers/v1.0.0/infra-providers-key.schema.json +1 -1
  136. package/schemas/crucible-ts/taxonomy/devsecops/infra-providers/v1.0.0/infra-providers-metadata.schema.json +1 -1
  137. package/schemas/crucible-ts/taxonomy/devsecops/modules/v1.0.0/devsecops-module-entry.schema.json +1 -1
  138. package/schemas/crucible-ts/taxonomy/fixture/v1.0.0/fixture-catalog.schema.json +166 -0
  139. package/schemas/crucible-ts/taxonomy/language/v1.0.0/language-key.schema.json +1 -1
  140. package/schemas/crucible-ts/taxonomy/language/v1.0.0/language-metadata.schema.json +1 -1
  141. package/schemas/crucible-ts/taxonomy/library/foundry-catalogs/v1.1.0/catalog-entry.schema.json +98 -0
  142. package/schemas/crucible-ts/taxonomy/library/fulencode/detection-confidence/v1.0.0/levels.schema.json +1 -1
  143. package/schemas/crucible-ts/taxonomy/library/fulencode/encoding-families/v1.0.0/families.schema.json +1 -1
  144. package/schemas/crucible-ts/taxonomy/library/fulencode/normalization-profiles/v1.0.0/profiles.schema.json +1 -1
  145. package/schemas/crucible-ts/taxonomy/library/fulhash/algorithms/v1.0.0/algorithms.yaml +16 -0
  146. package/schemas/crucible-ts/taxonomy/library/modules/v1.0.0/module-entry.schema.json +1 -1
  147. package/schemas/crucible-ts/taxonomy/library/modules/v1.1.0/module-entry.schema.json +436 -0
  148. package/schemas/crucible-ts/taxonomy/repository-category/v1.0.0/category-key.schema.json +16 -8
  149. package/schemas/crucible-ts/taxonomy/repository-category/v1.0.0/category-metadata.schema.json +1 -1
  150. package/schemas/crucible-ts/upstream/3leaps/PROVENANCE.md +43 -0
  151. package/schemas/crucible-ts/upstream/3leaps/agentic/v0/role-prompt.schema.json +183 -0
  152. package/schemas/crucible-ts/upstream/3leaps/ailink/v0/prompt.schema.json +204 -0
  153. package/schemas/crucible-ts/upstream/3leaps/ailink/v0/search-response.schema.json +152 -0
  154. package/schemas/crucible-ts/upstream/README.md +50 -0
  155. package/schemas/crucible-ts/web/branding/v1.0.0/site-branding.schema.json +1 -1
  156. package/schemas/crucible-ts/web/styling/v1.0.0/site-styling.schema.json +1 -1
  157. package/schemas/crucible-ts/config/goneat/README.md +0 -60
  158. package/schemas/crucible-ts/config/goneat/v1.0.0/dates.yaml +0 -234
  159. package/schemas/crucible-ts/config/goneat/v1.0.0/goneat-config.yaml +0 -344
  160. package/schemas/crucible-ts/config/goneat/v1.0.0/lifecycle-phase.json +0 -20
  161. package/schemas/crucible-ts/config/goneat/v1.0.0/release-phase.json +0 -17
  162. package/schemas/crucible-ts/config/goneat/v1.0.0/security-policy.yaml +0 -178
  163. package/schemas/crucible-ts/config/goneat/v1.0.0/version-policy.schema.yaml +0 -205
  164. package/schemas/crucible-ts/tooling/goneat-tools/v1.0.0/README.md +0 -177
  165. package/schemas/crucible-ts/tooling/goneat-tools/v1.0.0/goneat-tools-config.schema.yaml +0 -146
@@ -0,0 +1,302 @@
1
+ "module name","license","repository"
2
+ "@3leaps/string-metrics-wasm@0.3.8","MIT","https://github.com/3leaps/string-metrics-wasm"
3
+ "@babel/helper-string-parser@7.27.1","MIT","https://github.com/babel/babel"
4
+ "@babel/helper-validator-identifier@7.28.5","MIT","https://github.com/babel/babel"
5
+ "@babel/parser@7.28.5","MIT","https://github.com/babel/babel"
6
+ "@babel/types@7.28.5","MIT","https://github.com/babel/babel"
7
+ "@bcoe/v8-coverage@1.0.2","MIT","https://github.com/bcoe/v8-coverage"
8
+ "@biomejs/biome@2.2.5","MIT OR Apache-2.0","https://github.com/biomejs/biome"
9
+ "@biomejs/cli-darwin-arm64@2.2.5","MIT OR Apache-2.0","https://github.com/biomejs/biome"
10
+ "@esbuild/darwin-arm64@0.21.5","MIT","https://github.com/evanw/esbuild"
11
+ "@esbuild/darwin-arm64@0.25.10","MIT","https://github.com/evanw/esbuild"
12
+ "@fastify/ajv-compiler@4.0.5","MIT","https://github.com/fastify/ajv-compiler"
13
+ "@fastify/error@4.2.0","MIT","https://github.com/fastify/fastify-error"
14
+ "@fastify/fast-json-stringify-compiler@5.0.3","MIT","https://github.com/fastify/fast-json-stringify-compiler"
15
+ "@fastify/forwarded@3.0.1","MIT","https://github.com/fastify/forwarded"
16
+ "@fastify/merge-json-schemas@0.2.1","MIT","https://github.com/fastify/merge-json-schemas"
17
+ "@fastify/proxy-addr@5.1.0","MIT","https://github.com/fastify/proxy-addr"
18
+ "@fulmenhq/tsfulmen@0.2.0","MIT","https://github.com/fulmenhq/tsfulmen"
19
+ "@isaacs/cliui@8.0.2","ISC","https://github.com/yargs/cliui"
20
+ "@jridgewell/gen-mapping@0.3.13","MIT","https://github.com/jridgewell/sourcemaps"
21
+ "@jridgewell/resolve-uri@3.1.2","MIT","https://github.com/jridgewell/resolve-uri"
22
+ "@jridgewell/sourcemap-codec@1.5.5","MIT","https://github.com/jridgewell/sourcemaps"
23
+ "@jridgewell/trace-mapping@0.3.31","MIT","https://github.com/jridgewell/sourcemaps"
24
+ "@nodelib/fs.scandir@2.1.5","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.scandir"
25
+ "@nodelib/fs.stat@2.0.5","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.stat"
26
+ "@nodelib/fs.walk@1.2.8","MIT","https://github.com/nodelib/nodelib/tree/master/packages/fs/fs.walk"
27
+ "@opentelemetry/api@1.9.0","Apache-2.0","https://github.com/open-telemetry/opentelemetry-js"
28
+ "@pinojs/redact@0.4.0","MIT","https://github.com/pinojs/redact"
29
+ "@pkgjs/parseargs@0.11.0","MIT","https://github.com/pkgjs/parseargs"
30
+ "@polka/url@1.0.0-next.29","MIT","https://github.com/lukeed/polka"
31
+ "@rollup/rollup-darwin-arm64@4.52.4","MIT","https://github.com/rollup/rollup"
32
+ "@types/archiver@6.0.4","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
33
+ "@types/body-parser@1.19.6","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
34
+ "@types/bun@1.2.23","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
35
+ "@types/connect@3.4.38","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
36
+ "@types/estree@1.0.8","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
37
+ "@types/express-serve-static-core@5.1.0","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
38
+ "@types/express@5.0.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
39
+ "@types/http-errors@2.0.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
40
+ "@types/mime@1.3.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
41
+ "@types/node@22.18.8","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
42
+ "@types/picomatch@4.0.2","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
43
+ "@types/qs@6.14.0","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
44
+ "@types/range-parser@1.2.7","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
45
+ "@types/react@19.2.2","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
46
+ "@types/readdir-glob@1.1.5","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
47
+ "@types/send@0.17.6","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
48
+ "@types/send@1.2.1","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
49
+ "@types/serve-static@1.15.10","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
50
+ "@types/unzipper@0.10.11","MIT","https://github.com/DefinitelyTyped/DefinitelyTyped"
51
+ "@vitest/coverage-v8@4.0.7","MIT","https://github.com/vitest-dev/vitest"
52
+ "@vitest/expect@2.1.9","MIT","https://github.com/vitest-dev/vitest"
53
+ "@vitest/mocker@2.1.9","MIT","https://github.com/vitest-dev/vitest"
54
+ "@vitest/pretty-format@2.1.9","MIT","https://github.com/vitest-dev/vitest"
55
+ "@vitest/pretty-format@4.0.7","MIT","https://github.com/vitest-dev/vitest"
56
+ "@vitest/runner@2.1.9","MIT","https://github.com/vitest-dev/vitest"
57
+ "@vitest/snapshot@2.1.9","MIT","https://github.com/vitest-dev/vitest"
58
+ "@vitest/spy@2.1.9","MIT","https://github.com/vitest-dev/vitest"
59
+ "@vitest/ui@2.1.9","MIT","https://github.com/vitest-dev/vitest"
60
+ "@vitest/utils@2.1.9","MIT","https://github.com/vitest-dev/vitest"
61
+ "@vitest/utils@4.0.7","MIT","https://github.com/vitest-dev/vitest"
62
+ "abort-controller@3.0.0","MIT","https://github.com/mysticatea/abort-controller"
63
+ "abstract-logging@2.0.1","MIT","https://github.com/jsumners/abstract-logging"
64
+ "acorn@8.15.0","MIT","https://github.com/acornjs/acorn"
65
+ "ajv-formats@3.0.1","MIT","https://github.com/ajv-validator/ajv-formats"
66
+ "ajv@8.17.1","MIT","https://github.com/ajv-validator/ajv"
67
+ "ansi-regex@5.0.1","MIT","https://github.com/chalk/ansi-regex"
68
+ "ansi-regex@6.2.2","MIT","https://github.com/chalk/ansi-regex"
69
+ "ansi-styles@4.3.0","MIT","https://github.com/chalk/ansi-styles"
70
+ "ansi-styles@6.2.3","MIT","https://github.com/chalk/ansi-styles"
71
+ "any-promise@1.3.0","MIT","https://github.com/kevinbeaty/any-promise"
72
+ "archiver-utils@5.0.2","MIT","https://github.com/archiverjs/archiver-utils"
73
+ "archiver@7.0.1","MIT","https://github.com/archiverjs/node-archiver"
74
+ "assertion-error@2.0.1","MIT","https://github.com/chaijs/assertion-error"
75
+ "ast-v8-to-istanbul@0.3.8","MIT","https://github.com/AriPerkkio/ast-v8-to-istanbul"
76
+ "async@3.2.6","MIT","https://github.com/caolan/async"
77
+ "atomic-sleep@1.0.0","MIT","https://github.com/davidmarkclements/atomic-sleep"
78
+ "avvio@9.1.0","MIT","https://github.com/fastify/avvio"
79
+ "b4a@1.7.3","Apache-2.0","https://github.com/holepunchto/b4a"
80
+ "balanced-match@1.0.2","MIT","https://github.com/juliangruber/balanced-match"
81
+ "bare-events@2.8.2","Apache-2.0","https://github.com/holepunchto/bare-events"
82
+ "base64-js@1.5.1","MIT","https://github.com/beatgammit/base64-js"
83
+ "bindings@1.5.0","MIT","https://github.com/TooTallNate/node-bindings"
84
+ "bintrees@1.0.2","MIT","https://github.com/vadimg/js_bintrees"
85
+ "bluebird@3.7.2","MIT","https://github.com/petkaantonov/bluebird"
86
+ "brace-expansion@2.0.2","MIT","https://github.com/juliangruber/brace-expansion"
87
+ "braces@3.0.3","MIT","https://github.com/micromatch/braces"
88
+ "buffer-crc32@1.0.0","MIT","https://github.com/brianloveswords/buffer-crc32"
89
+ "buffer@6.0.3","MIT","https://github.com/feross/buffer"
90
+ "bun-types@1.2.23","MIT","https://github.com/oven-sh/bun"
91
+ "bundle-require@5.1.0","MIT",""
92
+ "cac@6.7.14","MIT","https://github.com/egoist/cac"
93
+ "chai@5.3.3","MIT","https://github.com/chaijs/chai"
94
+ "check-error@2.1.1","MIT","https://github.com/chaijs/check-error"
95
+ "chokidar@4.0.3","MIT","https://github.com/paulmillr/chokidar"
96
+ "color-convert@2.0.1","MIT","https://github.com/Qix-/color-convert"
97
+ "color-name@1.1.4","MIT","https://github.com/colorjs/color-name"
98
+ "commander@14.0.1","MIT","https://github.com/tj/commander.js"
99
+ "commander@4.1.1","MIT","https://github.com/tj/commander.js"
100
+ "compress-commons@6.0.2","MIT","https://github.com/archiverjs/node-compress-commons"
101
+ "confbox@0.1.8","MIT","https://github.com/unjs/confbox"
102
+ "consola@3.4.2","MIT","https://github.com/unjs/consola"
103
+ "cookie@1.0.2","MIT","https://github.com/jshttp/cookie"
104
+ "core-util-is@1.0.3","MIT","https://github.com/isaacs/core-util-is"
105
+ "crc-32@1.2.2","Apache-2.0","https://github.com/SheetJS/js-crc32"
106
+ "crc32-stream@6.0.0","MIT","https://github.com/archiverjs/node-crc32-stream"
107
+ "cross-spawn@7.0.6","MIT","https://github.com/moxystudio/node-cross-spawn"
108
+ "csstype@3.1.3","MIT","https://github.com/frenic/csstype"
109
+ "debug@4.4.3","MIT","https://github.com/debug-js/debug"
110
+ "deep-eql@5.0.2","MIT","https://github.com/chaijs/deep-eql"
111
+ "dequal@2.0.3","MIT","https://github.com/lukeed/dequal"
112
+ "duplexer2@0.1.4","BSD-3-Clause","https://github.com/deoxxa/duplexer2"
113
+ "eastasianwidth@0.2.0","MIT","https://github.com/komagata/eastasianwidth"
114
+ "emoji-regex@8.0.0","MIT","https://github.com/mathiasbynens/emoji-regex"
115
+ "emoji-regex@9.2.2","MIT","https://github.com/mathiasbynens/emoji-regex"
116
+ "es-module-lexer@1.7.0","MIT","https://github.com/guybedford/es-module-lexer"
117
+ "esbuild@0.21.5","MIT","https://github.com/evanw/esbuild"
118
+ "esbuild@0.25.10","MIT","https://github.com/evanw/esbuild"
119
+ "estree-walker@3.0.3","MIT","https://github.com/Rich-Harris/estree-walker"
120
+ "event-target-shim@5.0.1","MIT","https://github.com/mysticatea/event-target-shim"
121
+ "events-universal@1.0.1","Apache-2.0","https://github.com/holepunchto/events-universal"
122
+ "events@3.3.0","MIT","https://github.com/Gozala/events"
123
+ "expect-type@1.2.2","Apache-2.0","https://github.com/mmkal/expect-type"
124
+ "fast-decode-uri-component@1.0.1","MIT","https://github.com/delvedor/fast-decode-uri-component"
125
+ "fast-deep-equal@3.1.3","MIT","https://github.com/epoberezkin/fast-deep-equal"
126
+ "fast-fifo@1.3.2","MIT","https://github.com/mafintosh/fast-fifo"
127
+ "fast-glob@3.3.3","MIT","https://github.com/mrmlnc/fast-glob"
128
+ "fast-json-stringify@6.1.1","MIT","https://github.com/fastify/fast-json-stringify"
129
+ "fast-querystring@1.1.2","MIT","https://github.com/anonrig/fast-querystring"
130
+ "fast-uri@3.1.0","BSD-3-Clause","https://github.com/fastify/fast-uri"
131
+ "fastify@5.6.2","MIT","https://github.com/fastify/fastify"
132
+ "fastq@1.19.1","ISC","https://github.com/mcollina/fastq"
133
+ "fdir@6.5.0","MIT","https://github.com/thecodrr/fdir"
134
+ "fflate@0.8.2","MIT","https://github.com/101arrowz/fflate"
135
+ "file-uri-to-path@1.0.0","MIT","https://github.com/TooTallNate/file-uri-to-path"
136
+ "fill-range@7.1.1","MIT","https://github.com/jonschlinkert/fill-range"
137
+ "find-my-way@9.3.0","MIT","https://github.com/delvedor/find-my-way"
138
+ "fix-dts-default-cjs-exports@1.0.1","MIT","https://github.com/userquin/fix-dts-default-cjs-exports"
139
+ "flatted@3.3.3","ISC","https://github.com/WebReflection/flatted"
140
+ "foreground-child@3.3.1","ISC","https://github.com/tapjs/foreground-child"
141
+ "fs-extra@11.3.2","MIT","https://github.com/jprichardson/node-fs-extra"
142
+ "fsevents@2.3.3","MIT","https://github.com/fsevents/fsevents"
143
+ "get-tsconfig@4.11.0","MIT","https://github.com/privatenumber/get-tsconfig"
144
+ "glob-parent@5.1.2","ISC","https://github.com/gulpjs/glob-parent"
145
+ "glob@10.4.5","ISC","https://github.com/isaacs/node-glob"
146
+ "graceful-fs@4.2.11","ISC","https://github.com/isaacs/node-graceful-fs"
147
+ "has-flag@4.0.0","MIT","https://github.com/sindresorhus/has-flag"
148
+ "hash-wasm@4.12.0","MIT","https://github.com/Daninet/hash-wasm"
149
+ "html-escaper@2.0.2","MIT","https://github.com/WebReflection/html-escaper"
150
+ "ieee754@1.2.1","BSD-3-Clause","https://github.com/feross/ieee754"
151
+ "inherits@2.0.4","ISC","https://github.com/isaacs/inherits"
152
+ "ipaddr.js@2.2.0","MIT","https://github.com/whitequark/ipaddr.js"
153
+ "is-extglob@2.1.1","MIT","https://github.com/jonschlinkert/is-extglob"
154
+ "is-fullwidth-code-point@3.0.0","MIT","https://github.com/sindresorhus/is-fullwidth-code-point"
155
+ "is-glob@4.0.3","MIT","https://github.com/micromatch/is-glob"
156
+ "is-number@7.0.0","MIT","https://github.com/jonschlinkert/is-number"
157
+ "is-stream@2.0.1","MIT","https://github.com/sindresorhus/is-stream"
158
+ "isarray@1.0.0","MIT","https://github.com/juliangruber/isarray"
159
+ "isexe@2.0.0","ISC","https://github.com/isaacs/isexe"
160
+ "istanbul-lib-coverage@3.2.2","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs"
161
+ "istanbul-lib-report@3.0.1","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs"
162
+ "istanbul-lib-source-maps@5.0.6","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs"
163
+ "istanbul-reports@3.2.0","BSD-3-Clause","https://github.com/istanbuljs/istanbuljs"
164
+ "jackspeak@3.4.3","BlueOak-1.0.0","https://github.com/isaacs/jackspeak"
165
+ "joycon@3.1.1","MIT","https://github.com/egoist/joycon"
166
+ "js-tokens@9.0.1","MIT","https://github.com/lydell/js-tokens"
167
+ "json-schema-ref-resolver@3.0.0","MIT","https://github.com/fastify/json-schema-ref-resolver"
168
+ "json-schema-traverse@1.0.0","MIT","https://github.com/epoberezkin/json-schema-traverse"
169
+ "jsonfile@6.2.0","MIT","https://github.com/jprichardson/node-jsonfile"
170
+ "lazystream@1.0.1","MIT","https://github.com/jpommerening/node-lazystream"
171
+ "light-my-request@6.6.0","BSD-3-Clause","https://github.com/fastify/light-my-request"
172
+ "lilconfig@3.1.3","MIT","https://github.com/antonk52/lilconfig"
173
+ "lines-and-columns@1.2.4","MIT","https://github.com/eventualbuddha/lines-and-columns"
174
+ "load-tsconfig@0.2.5","MIT",""
175
+ "lodash.sortby@4.7.0","MIT","https://github.com/lodash/lodash"
176
+ "lodash@4.17.21","MIT","https://github.com/lodash/lodash"
177
+ "loupe@3.2.1","MIT","https://github.com/chaijs/loupe"
178
+ "lru-cache@10.4.3","ISC","https://github.com/isaacs/node-lru-cache"
179
+ "magic-string@0.30.19","MIT","https://github.com/rich-harris/magic-string"
180
+ "magicast@0.3.5","MIT","https://github.com/unjs/magicast"
181
+ "make-dir@4.0.0","MIT","https://github.com/sindresorhus/make-dir"
182
+ "merge2@1.4.1","MIT","https://github.com/teambition/merge2"
183
+ "micromatch@4.0.8","MIT","https://github.com/micromatch/micromatch"
184
+ "minimatch@5.1.6","ISC","https://github.com/isaacs/minimatch"
185
+ "minimatch@9.0.5","ISC","https://github.com/isaacs/minimatch"
186
+ "minipass@7.1.2","ISC","https://github.com/isaacs/minipass"
187
+ "mlly@1.8.0","MIT","https://github.com/unjs/mlly"
188
+ "mrmime@2.0.1","MIT","https://github.com/lukeed/mrmime"
189
+ "ms@2.1.3","MIT","https://github.com/vercel/ms"
190
+ "mz@2.7.0","MIT","https://github.com/normalize/mz"
191
+ "nanoid@3.3.11","MIT","https://github.com/ai/nanoid"
192
+ "node-addon-api@1.7.2","MIT","https://github.com/nodejs/node-addon-api"
193
+ "node-int64@0.4.0","MIT","https://github.com/broofa/node-int64"
194
+ "normalize-path@3.0.0","MIT","https://github.com/jonschlinkert/normalize-path"
195
+ "object-assign@4.1.1","MIT","https://github.com/sindresorhus/object-assign"
196
+ "on-exit-leak-free@2.1.2","MIT","https://github.com/mcollina/on-exit-or-gc"
197
+ "package-json-from-dist@1.0.1","BlueOak-1.0.0","https://github.com/isaacs/package-json-from-dist"
198
+ "path-key@3.1.1","MIT","https://github.com/sindresorhus/path-key"
199
+ "path-scurry@1.11.1","BlueOak-1.0.0","https://github.com/isaacs/path-scurry"
200
+ "pathe@1.1.2","MIT","https://github.com/unjs/pathe"
201
+ "pathe@2.0.3","MIT","https://github.com/unjs/pathe"
202
+ "pathval@2.0.1","MIT","https://github.com/chaijs/pathval"
203
+ "picocolors@1.1.1","ISC","https://github.com/alexeyraspopov/picocolors"
204
+ "picomatch@2.3.1","MIT","https://github.com/micromatch/picomatch"
205
+ "picomatch@4.0.3","MIT","https://github.com/micromatch/picomatch"
206
+ "pino-abstract-transport@2.0.0","MIT","https://github.com/pinojs/pino-abstract-transport"
207
+ "pino-std-serializers@7.0.0","MIT","https://github.com/pinojs/pino-std-serializers"
208
+ "pino@10.1.0","MIT","https://github.com/pinojs/pino"
209
+ "pino@9.13.1","MIT","https://github.com/pinojs/pino"
210
+ "pirates@4.0.7","MIT","https://github.com/danez/pirates"
211
+ "pkg-types@1.3.1","MIT","https://github.com/unjs/pkg-types"
212
+ "postcss-load-config@6.0.1","MIT","https://github.com/postcss/postcss-load-config"
213
+ "postcss@8.5.6","MIT","https://github.com/postcss/postcss"
214
+ "prettier@3.6.2","MIT","https://github.com/prettier/prettier"
215
+ "process-nextick-args@2.0.1","MIT","https://github.com/calvinmetcalf/process-nextick-args"
216
+ "process-warning@4.0.1","MIT","https://github.com/fastify/process-warning"
217
+ "process-warning@5.0.0","MIT","https://github.com/fastify/process-warning"
218
+ "process@0.11.10","MIT","https://github.com/shtylman/node-process"
219
+ "prom-client@15.1.3","Apache-2.0","https://github.com/siimon/prom-client"
220
+ "punycode@2.3.1","MIT","https://github.com/mathiasbynens/punycode.js"
221
+ "queue-microtask@1.2.3","MIT","https://github.com/feross/queue-microtask"
222
+ "quick-format-unescaped@4.0.4","MIT","https://github.com/davidmarkclements/quick-format"
223
+ "readable-stream@2.3.8","MIT","https://github.com/nodejs/readable-stream"
224
+ "readable-stream@4.7.0","MIT","https://github.com/nodejs/readable-stream"
225
+ "readdir-glob@1.1.3","Apache-2.0","https://github.com/Yqnn/node-readdir-glob"
226
+ "readdirp@4.1.2","MIT","https://github.com/paulmillr/readdirp"
227
+ "real-require@0.2.0","MIT","https://github.com/pinojs/real-require"
228
+ "require-from-string@2.0.2","MIT","https://github.com/floatdrop/require-from-string"
229
+ "resolve-from@5.0.0","MIT","https://github.com/sindresorhus/resolve-from"
230
+ "resolve-pkg-maps@1.0.0","MIT","https://github.com/privatenumber/resolve-pkg-maps"
231
+ "ret@0.5.0","MIT","https://github.com/fent/ret.js"
232
+ "reusify@1.1.0","MIT","https://github.com/mcollina/reusify"
233
+ "rfdc@1.4.1","MIT","https://github.com/davidmarkclements/rfdc"
234
+ "rollup@4.52.4","MIT","https://github.com/rollup/rollup"
235
+ "run-parallel@1.2.0","MIT","https://github.com/feross/run-parallel"
236
+ "safe-buffer@5.1.2","MIT","https://github.com/feross/safe-buffer"
237
+ "safe-buffer@5.2.1","MIT","https://github.com/feross/safe-buffer"
238
+ "safe-regex2@5.0.0","MIT","https://github.com/fastify/safe-regex2"
239
+ "safe-stable-stringify@2.5.0","MIT","https://github.com/BridgeAR/safe-stable-stringify"
240
+ "secure-json-parse@4.1.0","BSD-3-Clause","https://github.com/fastify/secure-json-parse"
241
+ "semver@7.7.3","ISC","https://github.com/npm/node-semver"
242
+ "set-cookie-parser@2.7.2","MIT","https://github.com/nfriedly/set-cookie-parser"
243
+ "shebang-command@2.0.0","MIT","https://github.com/kevva/shebang-command"
244
+ "shebang-regex@3.0.0","MIT","https://github.com/sindresorhus/shebang-regex"
245
+ "siginfo@2.0.0","ISC","https://github.com/emilbayes/siginfo"
246
+ "signal-exit@4.1.0","ISC","https://github.com/tapjs/signal-exit"
247
+ "sirv@3.0.2","MIT","https://github.com/lukeed/sirv"
248
+ "slow-redact@0.3.1","MIT","https://github.com/pinojs/slow-redact"
249
+ "sonic-boom@4.2.0","MIT","https://github.com/pinojs/sonic-boom"
250
+ "source-map-js@1.2.1","BSD-3-Clause","https://github.com/7rulnik/source-map-js"
251
+ "source-map@0.8.0-beta.0","BSD-3-Clause","https://github.com/mozilla/source-map"
252
+ "split2@4.2.0","ISC","https://github.com/mcollina/split2"
253
+ "sse4_crc32@6.0.1","MIT","https://github.com/anandsuresh/sse4_crc32"
254
+ "stackback@0.0.2","MIT","https://github.com/shtylman/node-stackback"
255
+ "std-env@3.9.0","MIT","https://github.com/unjs/std-env"
256
+ "streamx@2.23.0","MIT","https://github.com/mafintosh/streamx"
257
+ "string-width@4.2.3","MIT","https://github.com/sindresorhus/string-width"
258
+ "string-width@5.1.2","MIT","https://github.com/sindresorhus/string-width"
259
+ "string_decoder@1.1.1","MIT","https://github.com/nodejs/string_decoder"
260
+ "string_decoder@1.3.0","MIT","https://github.com/nodejs/string_decoder"
261
+ "strip-ansi@6.0.1","MIT","https://github.com/chalk/strip-ansi"
262
+ "strip-ansi@7.1.2","MIT","https://github.com/chalk/strip-ansi"
263
+ "sucrase@3.35.0","MIT","https://github.com/alangpierce/sucrase"
264
+ "supports-color@7.2.0","MIT","https://github.com/chalk/supports-color"
265
+ "tar-stream@3.1.7","MIT","https://github.com/mafintosh/tar-stream"
266
+ "tdigest@0.1.2","MIT","https://github.com/welch/tdigest"
267
+ "text-decoder@1.2.3","Apache-2.0","https://github.com/holepunchto/text-decoder"
268
+ "thenify-all@1.6.0","MIT","https://github.com/thenables/thenify-all"
269
+ "thenify@3.3.1","MIT","https://github.com/thenables/thenify"
270
+ "thread-stream@3.1.0","MIT","https://github.com/mcollina/thread-stream"
271
+ "tinybench@2.9.0","MIT","https://github.com/tinylibs/tinybench"
272
+ "tinyexec@0.3.2","MIT","https://github.com/tinylibs/tinyexec"
273
+ "tinyglobby@0.2.15","MIT","https://github.com/SuperchupuDev/tinyglobby"
274
+ "tinypool@1.1.1","MIT","https://github.com/tinylibs/tinypool"
275
+ "tinyrainbow@1.2.0","MIT","https://github.com/tinylibs/tinyrainbow"
276
+ "tinyrainbow@3.0.3","MIT","https://github.com/tinylibs/tinyrainbow"
277
+ "tinyspy@3.0.2","MIT","https://github.com/tinylibs/tinyspy"
278
+ "to-regex-range@5.0.1","MIT","https://github.com/micromatch/to-regex-range"
279
+ "toad-cache@3.7.0","MIT","https://github.com/kibertoad/toad-cache"
280
+ "totalist@3.0.1","MIT","https://github.com/lukeed/totalist"
281
+ "tr46@1.0.1","MIT","https://github.com/Sebmaster/tr46.js"
282
+ "tree-kill@1.2.2","MIT","https://github.com/pkrumins/node-tree-kill"
283
+ "ts-interface-checker@0.1.13","Apache-2.0","https://github.com/gristlabs/ts-interface-checker"
284
+ "tsup@8.5.0","MIT","https://github.com/egoist/tsup"
285
+ "tsx@4.20.6","MIT","https://github.com/privatenumber/tsx"
286
+ "typescript@5.9.3","Apache-2.0","https://github.com/microsoft/TypeScript"
287
+ "ufo@1.6.1","MIT","https://github.com/unjs/ufo"
288
+ "undici-types@6.21.0","MIT","https://github.com/nodejs/undici"
289
+ "universalify@2.0.1","MIT","https://github.com/RyanZim/universalify"
290
+ "unzipper@0.12.3","MIT","https://github.com/ZJONSSON/node-unzipper"
291
+ "util-deprecate@1.0.2","MIT","https://github.com/TooTallNate/util-deprecate"
292
+ "vite-node@2.1.9","MIT","https://github.com/vitest-dev/vitest"
293
+ "vite@5.4.20","MIT","https://github.com/vitejs/vite"
294
+ "vitest@2.1.9","MIT","https://github.com/vitest-dev/vitest"
295
+ "webidl-conversions@4.0.2","BSD-2-Clause","https://github.com/jsdom/webidl-conversions"
296
+ "whatwg-url@7.1.0","MIT","https://github.com/jsdom/whatwg-url"
297
+ "which@2.0.2","ISC","https://github.com/isaacs/node-which"
298
+ "why-is-node-running@2.3.0","MIT","https://github.com/mafintosh/why-is-node-running"
299
+ "wrap-ansi@7.0.0","MIT","https://github.com/chalk/wrap-ansi"
300
+ "wrap-ansi@8.1.0","MIT","https://github.com/chalk/wrap-ansi"
301
+ "yaml@2.8.1","ISC","https://github.com/eemeli/yaml"
302
+ "zip-stream@6.0.1","MIT","https://github.com/archiverjs/node-zip-stream"
@@ -1557,7 +1557,10 @@ async function loadReferencedSchema(uri) {
1557
1557
  const repoRoot = join(__dirname4, "..", "..");
1558
1558
  let resolvedPath;
1559
1559
  if (uri.startsWith("https://schemas.fulmenhq.dev/")) {
1560
- const relativePath = uri.replace("https://schemas.fulmenhq.dev/", "");
1560
+ let relativePath = uri.replace("https://schemas.fulmenhq.dev/", "");
1561
+ if (relativePath.startsWith("crucible/")) {
1562
+ relativePath = relativePath.slice("crucible/".length);
1563
+ }
1561
1564
  if (relativePath.startsWith("config/taxonomy/")) {
1562
1565
  resolvedPath = join(
1563
1566
  repoRoot,
@@ -1774,7 +1777,9 @@ async function compileSchemaById(schemaId, registryOptions) {
1774
1777
  const aliases = [];
1775
1778
  const normalizedRelativePath = metadata.relativePath.replace(/\\/g, "/");
1776
1779
  if (normalizedRelativePath) {
1777
- aliases.push(new URL(normalizedRelativePath, "https://schemas.fulmenhq.dev/").toString());
1780
+ aliases.push(
1781
+ new URL(`crucible/${normalizedRelativePath}`, "https://schemas.fulmenhq.dev/").toString()
1782
+ );
1778
1783
  }
1779
1784
  return compileSchema(content, { aliases });
1780
1785
  } catch (error) {
@@ -2292,6 +2297,12 @@ var init_exitCodes = __esm({
2292
2297
  EXIT_TEST_USAGE_ERROR: 94,
2293
2298
  EXIT_TEST_NO_TESTS_COLLECTED: 95,
2294
2299
  EXIT_COVERAGE_THRESHOLD_NOT_MET: 96,
2300
+ // Shell & Process Control (124-127)
2301
+ // Exit codes from shell conventions and process control utilities (timeout, exec)
2302
+ EXIT_TIMEOUT: 124,
2303
+ EXIT_TIMEOUT_INTERNAL: 125,
2304
+ EXIT_CANNOT_EXECUTE: 126,
2305
+ EXIT_NOT_FOUND: 127,
2295
2306
  // Signal-Induced Exits (128-165)
2296
2307
  // Process terminated by Unix signals (128+N pattern per POSIX). Signal codes follow Linux numbering; macOS/FreeBSD differ for SIGUSR1/SIGUSR2. For full signal semantics, see config/library/foundry/signals.yaml. For signal handling patterns, see docs/standards/library/modules/signal-handling.md.
2297
2308
  EXIT_SIGNAL_HUP: 129,
@@ -2629,6 +2640,36 @@ var init_exitCodes = __esm({
2629
2640
  context: "Code coverage validation, quality gate failure",
2630
2641
  category: "testing"
2631
2642
  },
2643
+ 124: {
2644
+ code: 124,
2645
+ name: "EXIT_TIMEOUT",
2646
+ description: "Command timed out before completion",
2647
+ context: "GNU timeout or similar utility terminated command after deadline",
2648
+ category: "shell"
2649
+ },
2650
+ 125: {
2651
+ code: 125,
2652
+ name: "EXIT_TIMEOUT_INTERNAL",
2653
+ description: "Timeout utility itself failed",
2654
+ context: "Error in timeout tool before or during command execution (not command failure)",
2655
+ category: "shell"
2656
+ },
2657
+ 126: {
2658
+ code: 126,
2659
+ name: "EXIT_CANNOT_EXECUTE",
2660
+ description: "Command found but could not be executed",
2661
+ context: "Permission denied, not executable, exec format error",
2662
+ category: "shell",
2663
+ bsdEquivalent: "EX_NOPERM (partial)"
2664
+ },
2665
+ 127: {
2666
+ code: 127,
2667
+ name: "EXIT_NOT_FOUND",
2668
+ description: "Command not found",
2669
+ context: "Executable not found in PATH or specified path does not exist",
2670
+ category: "shell",
2671
+ bsdEquivalent: "EX_UNAVAILABLE (partial)"
2672
+ },
2632
2673
  129: {
2633
2674
  code: 129,
2634
2675
  name: "EXIT_SIGNAL_HUP",
@@ -5275,6 +5316,45 @@ ${cause.message}`;
5275
5316
  ${cause.message}`;
5276
5317
  return new _AppIdentityError(message, path, cause);
5277
5318
  }
5319
+ /**
5320
+ * Create error for embedded identity already registered
5321
+ *
5322
+ * Uses first-wins semantics - once registered, cannot be replaced
5323
+ */
5324
+ static alreadyRegistered() {
5325
+ const message = "Embedded identity already registered. Registration uses first-wins semantics and cannot be replaced.";
5326
+ return new _AppIdentityError(message);
5327
+ }
5328
+ /**
5329
+ * Create error for embedded identity YAML parsing failure
5330
+ */
5331
+ static embeddedParseFailed(cause) {
5332
+ const message = `Failed to parse embedded identity YAML: ${cause.message}`;
5333
+ return new _AppIdentityError(message, void 0, cause);
5334
+ }
5335
+ /**
5336
+ * Create error for embedded identity schema validation failure
5337
+ */
5338
+ static embeddedValidationFailed(diagnostics) {
5339
+ const errorCount = diagnostics.filter((d) => d.severity === "ERROR").length;
5340
+ const warningCount = diagnostics.filter((d) => d.severity === "WARN").length;
5341
+ let message = "Invalid embedded identity\n";
5342
+ message += `Validation errors: ${errorCount} error(s), ${warningCount} warning(s)
5343
+ `;
5344
+ const displayDiagnostics = diagnostics.slice(0, 3);
5345
+ for (const diag of displayDiagnostics) {
5346
+ message += ` - ${diag.message}`;
5347
+ if (diag.pointer) {
5348
+ message += ` at ${diag.pointer}`;
5349
+ }
5350
+ message += "\n";
5351
+ }
5352
+ if (diagnostics.length > 3) {
5353
+ message += ` ... and ${diagnostics.length - 3} more
5354
+ `;
5355
+ }
5356
+ return new _AppIdentityError(message);
5357
+ }
5278
5358
  };
5279
5359
  }
5280
5360
  });
@@ -5332,6 +5412,18 @@ var init_discovery = __esm({
5332
5412
  init_errors5();
5333
5413
  }
5334
5414
  });
5415
+ function getEmbeddedIdentity() {
5416
+ return embeddedIdentity;
5417
+ }
5418
+ var embeddedIdentity;
5419
+ var init_embedded = __esm({
5420
+ "src/appidentity/embedded.ts"() {
5421
+ init_schema();
5422
+ init_constants();
5423
+ init_errors5();
5424
+ embeddedIdentity = null;
5425
+ }
5426
+ });
5335
5427
 
5336
5428
  // src/appidentity/loader.ts
5337
5429
  var loader_exports = {};
@@ -5360,11 +5452,30 @@ async function loadIdentity(options) {
5360
5452
  return cached;
5361
5453
  }
5362
5454
  }
5363
- const discovery = await discoverIdentityPath({
5364
- path: options?.path,
5365
- startDir: options?.startDir
5366
- });
5455
+ let discovery;
5456
+ try {
5457
+ discovery = await discoverIdentityPath({
5458
+ path: options?.path,
5459
+ startDir: options?.startDir
5460
+ });
5461
+ } catch (error) {
5462
+ const hasExplicitPath = Boolean(options?.path);
5463
+ const hasEnvOverride = Boolean(process.env[APP_IDENTITY_ENV_VAR]);
5464
+ if (!hasExplicitPath && !hasEnvOverride && error instanceof AppIdentityError) {
5465
+ const embedded = getEmbeddedIdentity();
5466
+ if (embedded) {
5467
+ setCachedIdentity(embedded);
5468
+ return embedded;
5469
+ }
5470
+ }
5471
+ throw error;
5472
+ }
5367
5473
  if (!discovery) {
5474
+ const embedded = getEmbeddedIdentity();
5475
+ if (embedded) {
5476
+ setCachedIdentity(embedded);
5477
+ return embedded;
5478
+ }
5368
5479
  throw AppIdentityError.notFound([]);
5369
5480
  }
5370
5481
  let content;
@@ -5401,6 +5512,7 @@ var init_loader2 = __esm({
5401
5512
  init_cache();
5402
5513
  init_constants();
5403
5514
  init_discovery();
5515
+ init_embedded();
5404
5516
  init_errors5();
5405
5517
  }
5406
5518
  });