hoi4-agent-tools 0.0.0-bootstrap.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/LICENSE +201 -0
- package/README.md +140 -2
- package/SECURITY.md +17 -0
- package/dist/bin/http.d.ts +3 -0
- package/dist/bin/http.d.ts.map +1 -0
- package/dist/bin/http.js +27 -0
- package/dist/bin/http.js.map +1 -0
- package/dist/bin/setup.d.ts +3 -0
- package/dist/bin/setup.d.ts.map +1 -0
- package/dist/bin/setup.js +188 -0
- package/dist/bin/setup.js.map +1 -0
- package/dist/bin/stdio.d.ts +3 -0
- package/dist/bin/stdio.d.ts.map +1 -0
- package/dist/bin/stdio.js +36 -0
- package/dist/bin/stdio.js.map +1 -0
- package/dist/hoi4_agent_tools/core/artifacts.d.ts +117 -0
- package/dist/hoi4_agent_tools/core/artifacts.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/artifacts.js +1047 -0
- package/dist/hoi4_agent_tools/core/artifacts.js.map +1 -0
- package/dist/hoi4_agent_tools/core/canonical.d.ts +13 -0
- package/dist/hoi4_agent_tools/core/canonical.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/canonical.js +41 -0
- package/dist/hoi4_agent_tools/core/canonical.js.map +1 -0
- package/dist/hoi4_agent_tools/core/configuration.d.ts +137 -0
- package/dist/hoi4_agent_tools/core/configuration.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/configuration.js +383 -0
- package/dist/hoi4_agent_tools/core/configuration.js.map +1 -0
- package/dist/hoi4_agent_tools/core/diagnostic-collector.d.ts +18 -0
- package/dist/hoi4_agent_tools/core/diagnostic-collector.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/diagnostic-collector.js +45 -0
- package/dist/hoi4_agent_tools/core/diagnostic-collector.js.map +1 -0
- package/dist/hoi4_agent_tools/core/diagnostics.d.ts +26 -0
- package/dist/hoi4_agent_tools/core/diagnostics.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/diagnostics.js +25 -0
- package/dist/hoi4_agent_tools/core/diagnostics.js.map +1 -0
- package/dist/hoi4_agent_tools/core/diff.d.ts +22 -0
- package/dist/hoi4_agent_tools/core/diff.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/diff.js +93 -0
- package/dist/hoi4_agent_tools/core/diff.js.map +1 -0
- package/dist/hoi4_agent_tools/core/engine.d.ts +56 -0
- package/dist/hoi4_agent_tools/core/engine.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/engine.js +319 -0
- package/dist/hoi4_agent_tools/core/engine.js.map +1 -0
- package/dist/hoi4_agent_tools/core/image-diff.d.ts +14 -0
- package/dist/hoi4_agent_tools/core/image-diff.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/image-diff.js +121 -0
- package/dist/hoi4_agent_tools/core/image-diff.js.map +1 -0
- package/dist/hoi4_agent_tools/core/index.d.ts +64 -0
- package/dist/hoi4_agent_tools/core/index.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/index.js +963 -0
- package/dist/hoi4_agent_tools/core/index.js.map +1 -0
- package/dist/hoi4_agent_tools/core/index.public.d.ts +16 -0
- package/dist/hoi4_agent_tools/core/index.public.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/index.public.js +16 -0
- package/dist/hoi4_agent_tools/core/index.public.js.map +1 -0
- package/dist/hoi4_agent_tools/core/render-budget.d.ts +51 -0
- package/dist/hoi4_agent_tools/core/render-budget.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/render-budget.js +109 -0
- package/dist/hoi4_agent_tools/core/render-budget.js.map +1 -0
- package/dist/hoi4_agent_tools/core/result.d.ts +45 -0
- package/dist/hoi4_agent_tools/core/result.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/result.js +26 -0
- package/dist/hoi4_agent_tools/core/result.js.map +1 -0
- package/dist/hoi4_agent_tools/core/scanner.d.ts +28 -0
- package/dist/hoi4_agent_tools/core/scanner.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/scanner.js +136 -0
- package/dist/hoi4_agent_tools/core/scanner.js.map +1 -0
- package/dist/hoi4_agent_tools/core/server-state.d.ts +31 -0
- package/dist/hoi4_agent_tools/core/server-state.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/server-state.js +413 -0
- package/dist/hoi4_agent_tools/core/server-state.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/encoding.d.ts +10 -0
- package/dist/hoi4_agent_tools/core/source/encoding.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/encoding.js +54 -0
- package/dist/hoi4_agent_tools/core/source/encoding.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/index.d.ts +7 -0
- package/dist/hoi4_agent_tools/core/source/index.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/index.js +7 -0
- package/dist/hoi4_agent_tools/core/source/index.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/lexer.d.ts +30 -0
- package/dist/hoi4_agent_tools/core/source/lexer.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/lexer.js +266 -0
- package/dist/hoi4_agent_tools/core/source/lexer.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/limits.d.ts +21 -0
- package/dist/hoi4_agent_tools/core/source/limits.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/limits.js +49 -0
- package/dist/hoi4_agent_tools/core/source/limits.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/localisation.d.ts +20 -0
- package/dist/hoi4_agent_tools/core/source/localisation.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/localisation.js +163 -0
- package/dist/hoi4_agent_tools/core/source/localisation.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/parser.d.ts +44 -0
- package/dist/hoi4_agent_tools/core/source/parser.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/parser.js +334 -0
- package/dist/hoi4_agent_tools/core/source/parser.js.map +1 -0
- package/dist/hoi4_agent_tools/core/source/rewrite.d.ts +10 -0
- package/dist/hoi4_agent_tools/core/source/rewrite.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/source/rewrite.js +28 -0
- package/dist/hoi4_agent_tools/core/source/rewrite.js.map +1 -0
- package/dist/hoi4_agent_tools/core/svg-text.d.ts +34 -0
- package/dist/hoi4_agent_tools/core/svg-text.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/svg-text.js +127 -0
- package/dist/hoi4_agent_tools/core/svg-text.js.map +1 -0
- package/dist/hoi4_agent_tools/core/transaction-limits.d.ts +9 -0
- package/dist/hoi4_agent_tools/core/transaction-limits.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/transaction-limits.js +9 -0
- package/dist/hoi4_agent_tools/core/transaction-limits.js.map +1 -0
- package/dist/hoi4_agent_tools/core/transactions.d.ts +162 -0
- package/dist/hoi4_agent_tools/core/transactions.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/transactions.js +1181 -0
- package/dist/hoi4_agent_tools/core/transactions.js.map +1 -0
- package/dist/hoi4_agent_tools/core/workspace.d.ts +68 -0
- package/dist/hoi4_agent_tools/core/workspace.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/core/workspace.js +794 -0
- package/dist/hoi4_agent_tools/core/workspace.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/compiler.d.ts +9 -0
- package/dist/hoi4_agent_tools/focus/compiler.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/compiler.js +273 -0
- package/dist/hoi4_agent_tools/focus/compiler.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/continuous-render.d.ts +32 -0
- package/dist/hoi4_agent_tools/focus/continuous-render.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/continuous-render.js +179 -0
- package/dist/hoi4_agent_tools/focus/continuous-render.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/drift.d.ts +22 -0
- package/dist/hoi4_agent_tools/focus/drift.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/drift.js +124 -0
- package/dist/hoi4_agent_tools/focus/drift.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/geometry.d.ts +17 -0
- package/dist/hoi4_agent_tools/focus/geometry.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/geometry.js +35 -0
- package/dist/hoi4_agent_tools/focus/geometry.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/importer.d.ts +9 -0
- package/dist/hoi4_agent_tools/focus/importer.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/importer.js +732 -0
- package/dist/hoi4_agent_tools/focus/importer.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/index.d.ts +14 -0
- package/dist/hoi4_agent_tools/focus/index.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/index.js +14 -0
- package/dist/hoi4_agent_tools/focus/index.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/layout.d.ts +5 -0
- package/dist/hoi4_agent_tools/focus/layout.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/layout.js +653 -0
- package/dist/hoi4_agent_tools/focus/layout.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/limits.d.ts +9 -0
- package/dist/hoi4_agent_tools/focus/limits.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/limits.js +9 -0
- package/dist/hoi4_agent_tools/focus/limits.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/lint.d.ts +14 -0
- package/dist/hoi4_agent_tools/focus/lint.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/lint.js +839 -0
- package/dist/hoi4_agent_tools/focus/lint.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/model.d.ts +303 -0
- package/dist/hoi4_agent_tools/focus/model.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/model.js +20 -0
- package/dist/hoi4_agent_tools/focus/model.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/native-effects.d.ts +9 -0
- package/dist/hoi4_agent_tools/focus/native-effects.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/native-effects.js +563 -0
- package/dist/hoi4_agent_tools/focus/native-effects.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/planning.d.ts +15 -0
- package/dist/hoi4_agent_tools/focus/planning.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/planning.js +241 -0
- package/dist/hoi4_agent_tools/focus/planning.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/presentation.d.ts +24 -0
- package/dist/hoi4_agent_tools/focus/presentation.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/presentation.js +204 -0
- package/dist/hoi4_agent_tools/focus/presentation.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/render.d.ts +35 -0
- package/dist/hoi4_agent_tools/focus/render.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/render.js +491 -0
- package/dist/hoi4_agent_tools/focus/render.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/service.d.ts +82 -0
- package/dist/hoi4_agent_tools/focus/service.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/service.js +492 -0
- package/dist/hoi4_agent_tools/focus/service.js.map +1 -0
- package/dist/hoi4_agent_tools/focus/source-update.d.ts +6 -0
- package/dist/hoi4_agent_tools/focus/source-update.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/focus/source-update.js +328 -0
- package/dist/hoi4_agent_tools/focus/source-update.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/animation-manifest.d.ts +37 -0
- package/dist/hoi4_agent_tools/gui/animation-manifest.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/animation-manifest.js +66 -0
- package/dist/hoi4_agent_tools/gui/animation-manifest.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/assets.d.ts +71 -0
- package/dist/hoi4_agent_tools/gui/assets.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/assets.js +629 -0
- package/dist/hoi4_agent_tools/gui/assets.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/dds.d.ts +17 -0
- package/dist/hoi4_agent_tools/gui/dds.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/dds.js +245 -0
- package/dist/hoi4_agent_tools/gui/dds.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/helpers.d.ts +101 -0
- package/dist/hoi4_agent_tools/gui/helpers.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/helpers.js +1072 -0
- package/dist/hoi4_agent_tools/gui/helpers.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/index.d.ts +15 -0
- package/dist/hoi4_agent_tools/gui/index.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/index.js +15 -0
- package/dist/hoi4_agent_tools/gui/index.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/layout.d.ts +6 -0
- package/dist/hoi4_agent_tools/gui/layout.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/layout.js +753 -0
- package/dist/hoi4_agent_tools/gui/layout.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/limits.d.ts +25 -0
- package/dist/hoi4_agent_tools/gui/limits.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/limits.js +27 -0
- package/dist/hoi4_agent_tools/gui/limits.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/renderer.d.ts +18 -0
- package/dist/hoi4_agent_tools/gui/renderer.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/renderer.js +388 -0
- package/dist/hoi4_agent_tools/gui/renderer.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/scenario.d.ts +66 -0
- package/dist/hoi4_agent_tools/gui/scenario.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/scenario.js +191 -0
- package/dist/hoi4_agent_tools/gui/scenario.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/source-graph.d.ts +7 -0
- package/dist/hoi4_agent_tools/gui/source-graph.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/source-graph.js +1074 -0
- package/dist/hoi4_agent_tools/gui/source-graph.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/source-patch.d.ts +13 -0
- package/dist/hoi4_agent_tools/gui/source-patch.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/source-patch.js +90 -0
- package/dist/hoi4_agent_tools/gui/source-patch.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/studio.d.ts +86 -0
- package/dist/hoi4_agent_tools/gui/studio.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/studio.js +830 -0
- package/dist/hoi4_agent_tools/gui/studio.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/tga.d.ts +16 -0
- package/dist/hoi4_agent_tools/gui/tga.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/tga.js +157 -0
- package/dist/hoi4_agent_tools/gui/tga.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/types.d.ts +322 -0
- package/dist/hoi4_agent_tools/gui/types.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/types.js +19 -0
- package/dist/hoi4_agent_tools/gui/types.js.map +1 -0
- package/dist/hoi4_agent_tools/gui/validators.d.ts +8 -0
- package/dist/hoi4_agent_tools/gui/validators.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/gui/validators.js +951 -0
- package/dist/hoi4_agent_tools/gui/validators.js.map +1 -0
- package/dist/hoi4_agent_tools/map/bmp.d.ts +62 -0
- package/dist/hoi4_agent_tools/map/bmp.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/bmp.js +363 -0
- package/dist/hoi4_agent_tools/map/bmp.js.map +1 -0
- package/dist/hoi4_agent_tools/map/diagnostic-limit.d.ts +5 -0
- package/dist/hoi4_agent_tools/map/diagnostic-limit.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/diagnostic-limit.js +21 -0
- package/dist/hoi4_agent_tools/map/diagnostic-limit.js.map +1 -0
- package/dist/hoi4_agent_tools/map/index.d.ts +8 -0
- package/dist/hoi4_agent_tools/map/index.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/index.js +8 -0
- package/dist/hoi4_agent_tools/map/index.js.map +1 -0
- package/dist/hoi4_agent_tools/map/limits.d.ts +13 -0
- package/dist/hoi4_agent_tools/map/limits.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/limits.js +13 -0
- package/dist/hoi4_agent_tools/map/limits.js.map +1 -0
- package/dist/hoi4_agent_tools/map/model.d.ts +269 -0
- package/dist/hoi4_agent_tools/map/model.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/model.js +1114 -0
- package/dist/hoi4_agent_tools/map/model.js.map +1 -0
- package/dist/hoi4_agent_tools/map/operations.d.ts +401 -0
- package/dist/hoi4_agent_tools/map/operations.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/operations.js +2717 -0
- package/dist/hoi4_agent_tools/map/operations.js.map +1 -0
- package/dist/hoi4_agent_tools/map/render.d.ts +90 -0
- package/dist/hoi4_agent_tools/map/render.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/render.js +759 -0
- package/dist/hoi4_agent_tools/map/render.js.map +1 -0
- package/dist/hoi4_agent_tools/map/service.d.ts +81 -0
- package/dist/hoi4_agent_tools/map/service.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/service.js +695 -0
- package/dist/hoi4_agent_tools/map/service.js.map +1 -0
- package/dist/hoi4_agent_tools/map/validation.d.ts +23 -0
- package/dist/hoi4_agent_tools/map/validation.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/map/validation.js +1177 -0
- package/dist/hoi4_agent_tools/map/validation.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/prompts/register.d.ts +3 -0
- package/dist/hoi4_agent_tools/mcp/prompts/register.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/prompts/register.js +50 -0
- package/dist/hoi4_agent_tools/mcp/prompts/register.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/registry/metadata.d.ts +9 -0
- package/dist/hoi4_agent_tools/mcp/registry/metadata.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/registry/metadata.js +10 -0
- package/dist/hoi4_agent_tools/mcp/registry/metadata.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/resources/register.d.ts +5 -0
- package/dist/hoi4_agent_tools/mcp/resources/register.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/resources/register.js +278 -0
- package/dist/hoi4_agent_tools/mcp/resources/register.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/security/auth.d.ts +24 -0
- package/dist/hoi4_agent_tools/mcp/security/auth.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/security/auth.js +234 -0
- package/dist/hoi4_agent_tools/mcp/security/auth.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/base-tools.d.ts +35 -0
- package/dist/hoi4_agent_tools/mcp/server/base-tools.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/base-tools.js +835 -0
- package/dist/hoi4_agent_tools/mcp/server/base-tools.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/create.d.ts +5 -0
- package/dist/hoi4_agent_tools/mcp/server/create.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/create.js +26 -0
- package/dist/hoi4_agent_tools/mcp/server/create.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/output-schemas.d.ts +133 -0
- package/dist/hoi4_agent_tools/mcp/server/output-schemas.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/output-schemas.js +127 -0
- package/dist/hoi4_agent_tools/mcp/server/output-schemas.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/progress.d.ts +8 -0
- package/dist/hoi4_agent_tools/mcp/server/progress.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/progress.js +21 -0
- package/dist/hoi4_agent_tools/mcp/server/progress.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/result.d.ts +232 -0
- package/dist/hoi4_agent_tools/mcp/server/result.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/server/result.js +353 -0
- package/dist/hoi4_agent_tools/mcp/server/result.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/tools/focus.d.ts +5 -0
- package/dist/hoi4_agent_tools/mcp/tools/focus.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/tools/focus.js +1059 -0
- package/dist/hoi4_agent_tools/mcp/tools/focus.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/tools/gui.d.ts +111 -0
- package/dist/hoi4_agent_tools/mcp/tools/gui.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/tools/gui.js +598 -0
- package/dist/hoi4_agent_tools/mcp/tools/gui.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/tools/map.d.ts +5 -0
- package/dist/hoi4_agent_tools/mcp/tools/map.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/tools/map.js +685 -0
- package/dist/hoi4_agent_tools/mcp/tools/map.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/bounded-stdio.d.ts +58 -0
- package/dist/hoi4_agent_tools/mcp/transports/bounded-stdio.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/bounded-stdio.js +181 -0
- package/dist/hoi4_agent_tools/mcp/transports/bounded-stdio.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/event-store.d.ts +26 -0
- package/dist/hoi4_agent_tools/mcp/transports/event-store.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/event-store.js +86 -0
- package/dist/hoi4_agent_tools/mcp/transports/event-store.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/http.d.ts +28 -0
- package/dist/hoi4_agent_tools/mcp/transports/http.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/http.js +744 -0
- package/dist/hoi4_agent_tools/mcp/transports/http.js.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/protocol-gate.d.ts +15 -0
- package/dist/hoi4_agent_tools/mcp/transports/protocol-gate.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/mcp/transports/protocol-gate.js +51 -0
- package/dist/hoi4_agent_tools/mcp/transports/protocol-gate.js.map +1 -0
- package/dist/hoi4_agent_tools/runtime.d.ts +4 -0
- package/dist/hoi4_agent_tools/runtime.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/runtime.js +27 -0
- package/dist/hoi4_agent_tools/runtime.js.map +1 -0
- package/dist/hoi4_agent_tools/schemas/common.d.ts +74 -0
- package/dist/hoi4_agent_tools/schemas/common.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/schemas/common.js +51 -0
- package/dist/hoi4_agent_tools/schemas/common.js.map +1 -0
- package/dist/hoi4_agent_tools/schemas/focus.d.ts +784 -0
- package/dist/hoi4_agent_tools/schemas/focus.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/schemas/focus.js +330 -0
- package/dist/hoi4_agent_tools/schemas/focus.js.map +1 -0
- package/dist/hoi4_agent_tools/schemas/index.d.ts +5 -0
- package/dist/hoi4_agent_tools/schemas/index.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/schemas/index.js +5 -0
- package/dist/hoi4_agent_tools/schemas/index.js.map +1 -0
- package/dist/hoi4_agent_tools/schemas/map.d.ts +654 -0
- package/dist/hoi4_agent_tools/schemas/map.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/schemas/map.js +570 -0
- package/dist/hoi4_agent_tools/schemas/map.js.map +1 -0
- package/dist/hoi4_agent_tools/schemas/transaction.d.ts +259 -0
- package/dist/hoi4_agent_tools/schemas/transaction.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/schemas/transaction.js +104 -0
- package/dist/hoi4_agent_tools/schemas/transaction.js.map +1 -0
- package/dist/hoi4_agent_tools/version.d.ts +6 -0
- package/dist/hoi4_agent_tools/version.d.ts.map +1 -0
- package/dist/hoi4_agent_tools/version.js +7 -0
- package/dist/hoi4_agent_tools/version.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/docs/README.md +22 -0
- package/docs/adr/0001-runtime-and-language.md +16 -0
- package/docs/adr/0002-lossless-source-model.md +18 -0
- package/docs/adr/0003-image-and-font-codecs.md +18 -0
- package/docs/adr/0004-focus-layout.md +16 -0
- package/docs/adr/0005-offline-rendering.md +18 -0
- package/docs/adr/0006-mcp-sdk-and-protocol.md +16 -0
- package/docs/adr/0007-storage-and-transactions.md +24 -0
- package/docs/adr/0008-test-strategy.md +18 -0
- package/docs/adr/0009-packaging-and-registry.md +16 -0
- package/docs/adr/0010-unsupported-and-refusal-policy.md +18 -0
- package/docs/adr/0011-http-security.md +16 -0
- package/docs/adr/README.md +13 -0
- package/docs/architecture.md +60 -0
- package/docs/artifacts.md +133 -0
- package/docs/compatibility.md +33 -0
- package/docs/completion-report.md +69 -0
- package/docs/configuration.md +285 -0
- package/docs/focus-workflow.md +68 -0
- package/docs/gui-workflow.md +121 -0
- package/docs/limitations.md +30 -0
- package/docs/map-workflow.md +89 -0
- package/docs/performance.md +117 -0
- package/docs/release.md +200 -0
- package/docs/research/mcp-2026-07-10.md +46 -0
- package/docs/research/source-ledger.md +68 -0
- package/docs/security.md +139 -0
- package/docs/self-hosting.md +168 -0
- package/docs/testing.md +43 -0
- package/docs/third-party-notices.md +11 -0
- package/docs/transactions.md +162 -0
- package/docs/troubleshooting.md +46 -0
- package/package.json +98 -5
- package/schemas/configuration.schema.json +794 -0
- package/schemas/continuous-focus-palette.schema.json +325 -0
- package/schemas/focus-plan.schema.json +902 -0
- package/schemas/focus-planning-sidecar.schema.json +364 -0
- package/schemas/gui-animation-source.schema.json +176 -0
- package/schemas/gui-helper.schema.json +301 -0
- package/schemas/gui-scenario.schema.json +298 -0
- package/schemas/map-operation.schema.json +2284 -0
- package/schemas/operation-result.schema.json +344 -0
- package/schemas/transaction-manifest.schema.json +685 -0
- package/server.json +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './artifacts.js';
|
|
2
|
+
export * from './canonical.js';
|
|
3
|
+
export * from './configuration.js';
|
|
4
|
+
export * from './diagnostics.js';
|
|
5
|
+
export * from './diagnostic-collector.js';
|
|
6
|
+
export * from './diff.js';
|
|
7
|
+
export * from './engine.js';
|
|
8
|
+
export * from './index.js';
|
|
9
|
+
export * from './image-diff.js';
|
|
10
|
+
export * from './result.js';
|
|
11
|
+
export * from './render-budget.js';
|
|
12
|
+
export * from './scanner.js';
|
|
13
|
+
export * from './source/index.js';
|
|
14
|
+
export * from './transactions.js';
|
|
15
|
+
export * from './workspace.js';
|
|
16
|
+
//# sourceMappingURL=index.public.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.public.d.ts","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/index.public.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './artifacts.js';
|
|
2
|
+
export * from './canonical.js';
|
|
3
|
+
export * from './configuration.js';
|
|
4
|
+
export * from './diagnostics.js';
|
|
5
|
+
export * from './diagnostic-collector.js';
|
|
6
|
+
export * from './diff.js';
|
|
7
|
+
export * from './engine.js';
|
|
8
|
+
export * from './index.js';
|
|
9
|
+
export * from './image-diff.js';
|
|
10
|
+
export * from './result.js';
|
|
11
|
+
export * from './render-budget.js';
|
|
12
|
+
export * from './scanner.js';
|
|
13
|
+
export * from './source/index.js';
|
|
14
|
+
export * from './transactions.js';
|
|
15
|
+
export * from './workspace.js';
|
|
16
|
+
//# sourceMappingURL=index.public.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.public.js","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/index.public.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed process-safety ceilings for decoded rasters and offline render artifacts.
|
|
3
|
+
*
|
|
4
|
+
* The per-artifact ceiling permits the vanilla 5632x2048 map at scale 2 and the
|
|
5
|
+
* committed 255-focus benchmark. Aggregate reservations account for every
|
|
6
|
+
* variant in one service request and cap their combined RGBA-equivalent area.
|
|
7
|
+
*/
|
|
8
|
+
export declare const RENDER_MAX_DIMENSION = 16384;
|
|
9
|
+
export declare const RENDER_MAX_PIXELS = 50331648;
|
|
10
|
+
export declare const RENDER_MAX_DECODED_PIXELS = 16777216;
|
|
11
|
+
export declare const RENDER_MAX_ENCODED_IMAGE_BYTES = 33554432;
|
|
12
|
+
export declare const RENDER_MAX_AGGREGATE_PIXELS = 67108864;
|
|
13
|
+
export declare const RENDER_MAX_DISTINCT_RASTER_OPERATIONS = 512;
|
|
14
|
+
export interface RenderDimensions {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
pixels: number;
|
|
18
|
+
}
|
|
19
|
+
export interface RenderBudgetViolation {
|
|
20
|
+
code: 'RENDER_DIMENSIONS_BLOCKED' | 'RENDER_PIXELS_BLOCKED';
|
|
21
|
+
message: string;
|
|
22
|
+
details: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface RenderDimensionLimits {
|
|
25
|
+
/** Callers may impose a stricter domain ceiling, but cannot raise the hard ceiling. */
|
|
26
|
+
maximumDimension?: number;
|
|
27
|
+
/** Callers may impose a stricter domain ceiling, but cannot raise the hard ceiling. */
|
|
28
|
+
maximumPixels?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RenderBudgetOptions {
|
|
31
|
+
/** Tests and narrow callers may lower, but never raise, the process hard ceiling. */
|
|
32
|
+
maximumDistinctRasterOperations?: number;
|
|
33
|
+
}
|
|
34
|
+
/** Return a deterministic violation without allocating or throwing. */
|
|
35
|
+
export declare function renderDimensionViolation(width: number, height: number, label?: string, limits?: RenderDimensionLimits): RenderBudgetViolation | undefined;
|
|
36
|
+
/** Validate dimensions before any Sharp, Buffer, or typed-array pixel allocation. */
|
|
37
|
+
export declare function assertRenderDimensions(width: number, height: number, label?: string, limits?: RenderDimensionLimits): RenderDimensions;
|
|
38
|
+
/**
|
|
39
|
+
* Accumulates RGBA-equivalent pixel planes for one logical service request.
|
|
40
|
+
* Callers share an instance across variants, comparisons, and gallery canvases.
|
|
41
|
+
*/
|
|
42
|
+
export declare class RenderBudget {
|
|
43
|
+
#private;
|
|
44
|
+
constructor(options?: RenderBudgetOptions);
|
|
45
|
+
get reservedPixels(): number;
|
|
46
|
+
get distinctRasterOperations(): number;
|
|
47
|
+
/** Admit one distinct decoder/rasterizer payload before invoking native image code. */
|
|
48
|
+
reserveRasterOperation(key: string, label?: string): void;
|
|
49
|
+
reserve(width: number, height: number, label?: string, limits?: RenderDimensionLimits): RenderDimensions;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=render-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-budget.d.ts","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/render-budget.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAa,CAAC;AAE5C,eAAO,MAAM,yBAAyB,WAAa,CAAC;AACpD,eAAO,MAAM,8BAA8B,WAAa,CAAC;AAEzD,eAAO,MAAM,2BAA2B,WAAa,CAAC;AAEtD,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,2BAA2B,GAAG,uBAAuB,CAAC;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,uEAAuE;AACvE,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,SAAoB,EACzB,MAAM,GAAE,qBAA0B,GACjC,qBAAqB,GAAG,SAAS,CAiCnC;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,SAAoB,EACzB,MAAM,GAAE,qBAA0B,GACjC,gBAAgB,CAMlB;AAED;;;GAGG;AACH,qBAAa,YAAY;;gBAKJ,OAAO,GAAE,mBAAwB;IAUpD,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,wBAAwB,IAAI,MAAM,CAE5C;IAED,uFAAuF;IAChF,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAqB,GAAG,IAAI;IAgBrE,OAAO,CACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,SAAoB,EACzB,MAAM,GAAE,qBAA0B,GACjC,gBAAgB;CAsBpB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { ServiceError } from './result.js';
|
|
2
|
+
/**
|
|
3
|
+
* Fixed process-safety ceilings for decoded rasters and offline render artifacts.
|
|
4
|
+
*
|
|
5
|
+
* The per-artifact ceiling permits the vanilla 5632x2048 map at scale 2 and the
|
|
6
|
+
* committed 255-focus benchmark. Aggregate reservations account for every
|
|
7
|
+
* variant in one service request and cap their combined RGBA-equivalent area.
|
|
8
|
+
*/
|
|
9
|
+
export const RENDER_MAX_DIMENSION = 16_384;
|
|
10
|
+
// 48 Mi pixels preserves the committed 13,152x3,600 focus benchmark.
|
|
11
|
+
export const RENDER_MAX_PIXELS = 50_331_648;
|
|
12
|
+
// Decoded source textures use a lower ceiling; vanilla's largest audited GUI asset is 4096x4000.
|
|
13
|
+
export const RENDER_MAX_DECODED_PIXELS = 16_777_216;
|
|
14
|
+
export const RENDER_MAX_ENCODED_IMAGE_BYTES = 33_554_432;
|
|
15
|
+
// 64 Mi pixels preserves one vanilla scale-1 before/proposed/diff map request.
|
|
16
|
+
export const RENDER_MAX_AGGREGATE_PIXELS = 67_108_864;
|
|
17
|
+
// A selected scene may reuse assets freely, but cannot trigger graph-scale decoder work.
|
|
18
|
+
export const RENDER_MAX_DISTINCT_RASTER_OPERATIONS = 512;
|
|
19
|
+
/** Return a deterministic violation without allocating or throwing. */
|
|
20
|
+
export function renderDimensionViolation(width, height, label = 'render artifact', limits = {}) {
|
|
21
|
+
const maximumDimension = Math.min(RENDER_MAX_DIMENSION, limits.maximumDimension ?? RENDER_MAX_DIMENSION);
|
|
22
|
+
const maximumPixels = Math.min(RENDER_MAX_PIXELS, limits.maximumPixels ?? RENDER_MAX_PIXELS);
|
|
23
|
+
if (!Number.isSafeInteger(width) || !Number.isSafeInteger(height) || width <= 0 || height <= 0) {
|
|
24
|
+
return {
|
|
25
|
+
code: 'RENDER_DIMENSIONS_BLOCKED',
|
|
26
|
+
message: `${label} dimensions must be positive safe integers`,
|
|
27
|
+
details: { label, width, height, maximumDimension },
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (width > maximumDimension || height > maximumDimension) {
|
|
31
|
+
return {
|
|
32
|
+
code: 'RENDER_DIMENSIONS_BLOCKED',
|
|
33
|
+
message: `${label} dimensions ${width}x${height} exceed the fixed dimension ceiling`,
|
|
34
|
+
details: { label, width, height, maximumDimension },
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (!Number.isSafeInteger(maximumPixels) ||
|
|
38
|
+
maximumPixels <= 0 ||
|
|
39
|
+
height > Math.floor(maximumPixels / width)) {
|
|
40
|
+
const pixels = width * height;
|
|
41
|
+
return {
|
|
42
|
+
code: 'RENDER_PIXELS_BLOCKED',
|
|
43
|
+
message: `${label} area ${width}x${height} exceeds the fixed per-artifact pixel ceiling`,
|
|
44
|
+
details: { label, width, height, pixels, maximumPixels },
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
/** Validate dimensions before any Sharp, Buffer, or typed-array pixel allocation. */
|
|
50
|
+
export function assertRenderDimensions(width, height, label = 'render artifact', limits = {}) {
|
|
51
|
+
const violation = renderDimensionViolation(width, height, label, limits);
|
|
52
|
+
if (violation !== undefined) {
|
|
53
|
+
throw new ServiceError(violation.code, violation.message, violation.details);
|
|
54
|
+
}
|
|
55
|
+
return { width, height, pixels: width * height };
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Accumulates RGBA-equivalent pixel planes for one logical service request.
|
|
59
|
+
* Callers share an instance across variants, comparisons, and gallery canvases.
|
|
60
|
+
*/
|
|
61
|
+
export class RenderBudget {
|
|
62
|
+
#reservedPixels = 0;
|
|
63
|
+
#rasterOperations = new Set();
|
|
64
|
+
#maximumDistinctRasterOperations;
|
|
65
|
+
constructor(options = {}) {
|
|
66
|
+
const requested = options.maximumDistinctRasterOperations;
|
|
67
|
+
this.#maximumDistinctRasterOperations = Math.min(RENDER_MAX_DISTINCT_RASTER_OPERATIONS, requested === undefined || !Number.isSafeInteger(requested) || requested < 0
|
|
68
|
+
? RENDER_MAX_DISTINCT_RASTER_OPERATIONS
|
|
69
|
+
: requested);
|
|
70
|
+
}
|
|
71
|
+
get reservedPixels() {
|
|
72
|
+
return this.#reservedPixels;
|
|
73
|
+
}
|
|
74
|
+
get distinctRasterOperations() {
|
|
75
|
+
return this.#rasterOperations.size;
|
|
76
|
+
}
|
|
77
|
+
/** Admit one distinct decoder/rasterizer payload before invoking native image code. */
|
|
78
|
+
reserveRasterOperation(key, label = 'raster operation') {
|
|
79
|
+
if (this.#rasterOperations.has(key))
|
|
80
|
+
return;
|
|
81
|
+
if (this.#rasterOperations.size >= this.#maximumDistinctRasterOperations) {
|
|
82
|
+
throw new ServiceError('RENDER_RASTER_OPERATION_BUDGET_BLOCKED', `${label} exceeds the fixed distinct raster-operation ceiling for one request`, {
|
|
83
|
+
label,
|
|
84
|
+
operations: this.#rasterOperations.size + 1,
|
|
85
|
+
maximumDistinctRasterOperations: this.#maximumDistinctRasterOperations,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
this.#rasterOperations.add(key);
|
|
89
|
+
}
|
|
90
|
+
reserve(width, height, label = 'render artifact', limits = {}) {
|
|
91
|
+
const dimensions = assertRenderDimensions(width, height, label, limits);
|
|
92
|
+
if (dimensions.pixels > RENDER_MAX_AGGREGATE_PIXELS - this.#reservedPixels) {
|
|
93
|
+
const next = this.#reservedPixels + dimensions.pixels;
|
|
94
|
+
throw new ServiceError('RENDER_AGGREGATE_BLOCKED', `${label} exceeds the fixed aggregate render budget for one request`, {
|
|
95
|
+
label,
|
|
96
|
+
width,
|
|
97
|
+
height,
|
|
98
|
+
pixels: dimensions.pixels,
|
|
99
|
+
reservedPixels: this.#reservedPixels,
|
|
100
|
+
requestedPixels: next,
|
|
101
|
+
maximumAggregatePixels: RENDER_MAX_AGGREGATE_PIXELS,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
const next = this.#reservedPixels + dimensions.pixels;
|
|
105
|
+
this.#reservedPixels = next;
|
|
106
|
+
return dimensions;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=render-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-budget.js","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/render-budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Diagnostic } from './diagnostics.js';
|
|
2
|
+
export type ServiceStatus = 'ok' | 'blocked' | 'error';
|
|
3
|
+
export interface ArtifactLink {
|
|
4
|
+
uri: string;
|
|
5
|
+
name: string;
|
|
6
|
+
mimeType: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
sha256?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ValidationSummary {
|
|
12
|
+
passed: boolean;
|
|
13
|
+
checks: Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
passed: boolean;
|
|
16
|
+
message: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export interface ServiceResult<T = Record<string, never>> {
|
|
20
|
+
status: ServiceStatus;
|
|
21
|
+
code: string;
|
|
22
|
+
workspaceId: string;
|
|
23
|
+
filesScanned: string[];
|
|
24
|
+
proposedFiles: string[];
|
|
25
|
+
changedFiles: string[];
|
|
26
|
+
diagnostics: Diagnostic[];
|
|
27
|
+
transactionId?: string;
|
|
28
|
+
planHash?: string;
|
|
29
|
+
artifacts: ArtifactLink[];
|
|
30
|
+
validation: ValidationSummary;
|
|
31
|
+
blockers: Array<{
|
|
32
|
+
code: string;
|
|
33
|
+
message: string;
|
|
34
|
+
details?: Record<string, unknown>;
|
|
35
|
+
}>;
|
|
36
|
+
rollbackStatus?: 'not-required' | 'available' | 'applied' | 'failed';
|
|
37
|
+
data: T;
|
|
38
|
+
}
|
|
39
|
+
export declare function emptyServiceResult<T>(workspaceId: string, data: T): ServiceResult<T>;
|
|
40
|
+
export declare class ServiceError extends Error {
|
|
41
|
+
readonly code: string;
|
|
42
|
+
readonly details: Record<string, unknown>;
|
|
43
|
+
constructor(code: string, message: string, details?: Record<string, unknown>);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACtD,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACtF,cAAc,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrE,IAAI,EAAE,CAAC,CAAC;CACT;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAcpF;AAED,qBAAa,YAAa,SAAQ,KAAK;aAEnB,IAAI,EAAE,MAAM;aAEZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFhC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAKxD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function emptyServiceResult(workspaceId, data) {
|
|
2
|
+
return {
|
|
3
|
+
status: 'ok',
|
|
4
|
+
code: 'OK',
|
|
5
|
+
workspaceId,
|
|
6
|
+
filesScanned: [],
|
|
7
|
+
proposedFiles: [],
|
|
8
|
+
changedFiles: [],
|
|
9
|
+
diagnostics: [],
|
|
10
|
+
artifacts: [],
|
|
11
|
+
validation: { passed: true, checks: [] },
|
|
12
|
+
blockers: [],
|
|
13
|
+
data,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export class ServiceError extends Error {
|
|
17
|
+
code;
|
|
18
|
+
details;
|
|
19
|
+
constructor(code, message, details = {}) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.code = code;
|
|
22
|
+
this.details = details;
|
|
23
|
+
this.name = 'ServiceError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/result.ts"],"names":[],"mappings":"AAuCA,MAAM,UAAU,kBAAkB,CAAI,WAAmB,EAAE,IAAO;IAChE,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;QACV,WAAW;QACX,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,QAAQ,EAAE,EAAE;QACZ,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IAEnB;IAEA;IAHlB,YACkB,IAAY,EAC5B,OAAe,EACC,UAAmC,EAAE;QAErD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAA8B;QAGrD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ResolvedWorkspace, RootKind } from './workspace.js';
|
|
2
|
+
export interface ScannedFile {
|
|
3
|
+
absolutePath: string;
|
|
4
|
+
displayPath: string;
|
|
5
|
+
relativePath: string;
|
|
6
|
+
rootKind: RootKind;
|
|
7
|
+
loadOrder: number;
|
|
8
|
+
size: number;
|
|
9
|
+
modifiedMs: number;
|
|
10
|
+
sha256: string;
|
|
11
|
+
bytes: Buffer;
|
|
12
|
+
shadowedBy?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ScanOptions {
|
|
15
|
+
patterns: string[];
|
|
16
|
+
ignore?: string[];
|
|
17
|
+
maxFiles?: number;
|
|
18
|
+
maxBytes?: number;
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
}
|
|
21
|
+
export declare class WorkspaceScanner {
|
|
22
|
+
private readonly serverMaxFiles;
|
|
23
|
+
private readonly serverMaxBytes;
|
|
24
|
+
private readonly serverMaxFileBytes;
|
|
25
|
+
constructor(serverMaxFiles?: number, serverMaxBytes?: number, serverMaxFileBytes?: number);
|
|
26
|
+
scan(workspace: ResolvedWorkspace, options: ScanOptions): Promise<ScannedFile[]>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/scanner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAgCD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,cAAc,SAAS,EACvB,cAAc,SAAc,EAC5B,kBAAkB,SAAa;IAG5C,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAiGvF"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { open } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import fg from 'fast-glob';
|
|
4
|
+
import { compareCodeUnits, sha256Bytes } from './canonical.js';
|
|
5
|
+
import { ServiceError } from './result.js';
|
|
6
|
+
function normalizeRelative(value) {
|
|
7
|
+
return value.replaceAll('\\', '/').replace(/^\.\//u, '');
|
|
8
|
+
}
|
|
9
|
+
function rootLabel(root) {
|
|
10
|
+
return root.kind === 'dependency' ? `dependency-${root.loadOrder}` : root.kind;
|
|
11
|
+
}
|
|
12
|
+
function hiddenByReplacePath(workspace, root, relativePath) {
|
|
13
|
+
if (root.kind === 'mod' || root.kind === 'artifact' || root.kind === 'cache') {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const candidate = normalizeRelative(relativePath);
|
|
17
|
+
return workspace.roots
|
|
18
|
+
.filter((owner) => (owner.kind === 'mod' || owner.kind === 'dependency') && owner.loadOrder > root.loadOrder)
|
|
19
|
+
.some((owner) => owner.replacePaths.some((replacePath) => {
|
|
20
|
+
const normalized = normalizeRelative(replacePath).replace(/\/$/u, '');
|
|
21
|
+
return candidate === normalized || candidate.startsWith(`${normalized}/`);
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
export class WorkspaceScanner {
|
|
25
|
+
serverMaxFiles;
|
|
26
|
+
serverMaxBytes;
|
|
27
|
+
serverMaxFileBytes;
|
|
28
|
+
constructor(serverMaxFiles = 20_000, serverMaxBytes = 134_217_728, serverMaxFileBytes = 67_108_864) {
|
|
29
|
+
this.serverMaxFiles = serverMaxFiles;
|
|
30
|
+
this.serverMaxBytes = serverMaxBytes;
|
|
31
|
+
this.serverMaxFileBytes = serverMaxFileBytes;
|
|
32
|
+
}
|
|
33
|
+
async scan(workspace, options) {
|
|
34
|
+
options.signal?.throwIfAborted();
|
|
35
|
+
const maxFiles = options.maxFiles ?? this.serverMaxFiles;
|
|
36
|
+
const maxBytes = options.maxBytes ?? this.serverMaxBytes;
|
|
37
|
+
if (!Number.isSafeInteger(maxFiles) ||
|
|
38
|
+
maxFiles < 1 ||
|
|
39
|
+
maxFiles > this.serverMaxFiles ||
|
|
40
|
+
!Number.isSafeInteger(maxBytes) ||
|
|
41
|
+
maxBytes < 1 ||
|
|
42
|
+
maxBytes > this.serverMaxBytes) {
|
|
43
|
+
throw new ServiceError('SCAN_LIMIT_EXCEEDS_POLICY', 'Requested scan limits exceed the configured server ceiling');
|
|
44
|
+
}
|
|
45
|
+
const roots = workspace.roots
|
|
46
|
+
.filter((root) => root.kind === 'game' ||
|
|
47
|
+
root.kind === 'dependency' ||
|
|
48
|
+
root.kind === 'mod' ||
|
|
49
|
+
root.kind === 'fixture')
|
|
50
|
+
.sort((a, b) => a.loadOrder - b.loadOrder || compareCodeUnits(a.path, b.path));
|
|
51
|
+
const result = [];
|
|
52
|
+
let totalBytes = 0;
|
|
53
|
+
let enumeratedFiles = 0;
|
|
54
|
+
for (const root of roots) {
|
|
55
|
+
options.signal?.throwIfAborted();
|
|
56
|
+
const matches = fg.stream(options.patterns, {
|
|
57
|
+
cwd: root.path,
|
|
58
|
+
onlyFiles: true,
|
|
59
|
+
unique: true,
|
|
60
|
+
dot: false,
|
|
61
|
+
followSymbolicLinks: false,
|
|
62
|
+
ignore: options.ignore ?? ['**/.hoi4-agent/**'],
|
|
63
|
+
});
|
|
64
|
+
for await (const match of matches) {
|
|
65
|
+
options.signal?.throwIfAborted();
|
|
66
|
+
enumeratedFiles += 1;
|
|
67
|
+
if (enumeratedFiles > maxFiles) {
|
|
68
|
+
throw new ServiceError('SCAN_FILE_LIMIT', 'Scan exceeds the configured file limit');
|
|
69
|
+
}
|
|
70
|
+
const relativePath = normalizeRelative(String(match));
|
|
71
|
+
if (hiddenByReplacePath(workspace, root, relativePath))
|
|
72
|
+
continue;
|
|
73
|
+
const absolutePath = path.join(root.path, relativePath);
|
|
74
|
+
const handle = await open(absolutePath, 'r');
|
|
75
|
+
try {
|
|
76
|
+
const metadata = await handle.stat();
|
|
77
|
+
if (!metadata.isFile())
|
|
78
|
+
continue;
|
|
79
|
+
const remaining = maxBytes - totalBytes;
|
|
80
|
+
if (metadata.size > remaining || metadata.size > this.serverMaxFileBytes) {
|
|
81
|
+
throw new ServiceError('SCAN_BYTE_LIMIT', 'Scan exceeds the configured byte limit');
|
|
82
|
+
}
|
|
83
|
+
const bytes = await readBoundedFile(handle, Math.min(remaining, this.serverMaxFileBytes), options.signal);
|
|
84
|
+
totalBytes += bytes.length;
|
|
85
|
+
result.push({
|
|
86
|
+
absolutePath,
|
|
87
|
+
displayPath: `${rootLabel(root)}:${relativePath}`,
|
|
88
|
+
relativePath,
|
|
89
|
+
rootKind: root.kind,
|
|
90
|
+
loadOrder: root.loadOrder,
|
|
91
|
+
size: bytes.length,
|
|
92
|
+
modifiedMs: metadata.mtimeMs,
|
|
93
|
+
sha256: sha256Bytes(bytes),
|
|
94
|
+
bytes,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
await handle.close();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
result.sort((left, right) => left.loadOrder - right.loadOrder || compareCodeUnits(left.relativePath, right.relativePath));
|
|
103
|
+
const groups = new Map();
|
|
104
|
+
for (const file of result) {
|
|
105
|
+
const group = groups.get(file.relativePath.toLowerCase()) ?? [];
|
|
106
|
+
group.push(file);
|
|
107
|
+
groups.set(file.relativePath.toLowerCase(), group);
|
|
108
|
+
}
|
|
109
|
+
for (const group of groups.values()) {
|
|
110
|
+
group.sort((a, b) => b.loadOrder - a.loadOrder || compareCodeUnits(a.displayPath, b.displayPath));
|
|
111
|
+
const active = group[0];
|
|
112
|
+
for (const shadowed of group.slice(1))
|
|
113
|
+
shadowed.shadowedBy = active.displayPath;
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async function readBoundedFile(handle, remainingBytes, signal) {
|
|
119
|
+
const chunks = [];
|
|
120
|
+
let total = 0;
|
|
121
|
+
for (;;) {
|
|
122
|
+
signal?.throwIfAborted();
|
|
123
|
+
const allowance = remainingBytes - total;
|
|
124
|
+
const chunk = Buffer.allocUnsafe(Math.min(65_536, Math.max(1, allowance + 1)));
|
|
125
|
+
const { bytesRead } = await handle.read(chunk, 0, chunk.length, null);
|
|
126
|
+
if (bytesRead === 0)
|
|
127
|
+
break;
|
|
128
|
+
total += bytesRead;
|
|
129
|
+
if (total > remainingBytes) {
|
|
130
|
+
throw new ServiceError('SCAN_BYTE_LIMIT', 'Scan exceeds the configured byte limit');
|
|
131
|
+
}
|
|
132
|
+
chunks.push(chunk.subarray(0, bytesRead));
|
|
133
|
+
}
|
|
134
|
+
return Buffer.concat(chunks, total);
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
interface JournalHeadInput {
|
|
2
|
+
workspaceIdentity: string;
|
|
3
|
+
transactionId: string;
|
|
4
|
+
revision: number;
|
|
5
|
+
authenticationTag: string;
|
|
6
|
+
manifestHash: string;
|
|
7
|
+
}
|
|
8
|
+
/** Operator-owned state and authentication material outside every workspace/capability root. */
|
|
9
|
+
export declare class ServerState {
|
|
10
|
+
readonly root: string;
|
|
11
|
+
private readonly journalKey;
|
|
12
|
+
private constructor();
|
|
13
|
+
static create(requestedRoot: string): Promise<ServerState>;
|
|
14
|
+
authenticateJournal(payload: unknown): string;
|
|
15
|
+
verifyJournal(payload: unknown, authenticationTag: string): boolean;
|
|
16
|
+
recordInitialJournalHead(input: JournalHeadInput): Promise<void>;
|
|
17
|
+
recordJournalSuccessor(input: JournalHeadInput): Promise<void>;
|
|
18
|
+
verifyJournalHead(input: JournalHeadInput, signal?: AbortSignal): Promise<void>;
|
|
19
|
+
verifyOrReconcileJournalHead(input: JournalHeadInput, signal?: AbortSignal): Promise<void>;
|
|
20
|
+
removeJournalHead(workspaceIdentity: string, transactionId: string): Promise<void>;
|
|
21
|
+
listJournalHeadTransactionIds(workspaceIdentity: string, signal?: AbortSignal): Promise<string[]>;
|
|
22
|
+
private createJournalHead;
|
|
23
|
+
private assertHeadInput;
|
|
24
|
+
private headMatches;
|
|
25
|
+
private removeOlderHeads;
|
|
26
|
+
private journalHeadDirectory;
|
|
27
|
+
private latestJournalHead;
|
|
28
|
+
private readJournalHead;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=server-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-state.d.ts","sourceRoot":"","sources":["../../../src/hoi4_agent_tools/core/server-state.ts"],"names":[],"mappings":"AA4CA,UAAU,gBAAgB;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAqFD,gGAAgG;AAChG,qBAAa,WAAW;aAEJ,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAF7B,OAAO;WAKM,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqEhE,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAI7C,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO;IAO7D,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9D,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/E,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC1F,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF,6BAA6B,CACjC,iBAAiB,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YAmCN,iBAAiB;IAwC/B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,WAAW;YAQL,gBAAgB;IAI9B,OAAO,CAAC,oBAAoB;YAed,iBAAiB;YA8CjB,eAAe;CAgD9B"}
|