@trikhub/server 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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +219 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +126 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/config.d.ts +14 -0
  9. package/dist/config.d.ts.map +1 -0
  10. package/dist/config.js +15 -0
  11. package/dist/config.js.map +1 -0
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +69 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/routes/content.d.ts +4 -0
  17. package/dist/routes/content.d.ts.map +1 -0
  18. package/dist/routes/content.js +67 -0
  19. package/dist/routes/content.js.map +1 -0
  20. package/dist/routes/execute.d.ts +4 -0
  21. package/dist/routes/execute.d.ts.map +1 -0
  22. package/dist/routes/execute.js +81 -0
  23. package/dist/routes/execute.js.map +1 -0
  24. package/dist/routes/health.d.ts +4 -0
  25. package/dist/routes/health.d.ts.map +1 -0
  26. package/dist/routes/health.js +42 -0
  27. package/dist/routes/health.js.map +1 -0
  28. package/dist/routes/tools.d.ts +4 -0
  29. package/dist/routes/tools.d.ts.map +1 -0
  30. package/dist/routes/tools.js +43 -0
  31. package/dist/routes/tools.js.map +1 -0
  32. package/dist/routes/triks.d.ts +4 -0
  33. package/dist/routes/triks.d.ts.map +1 -0
  34. package/dist/routes/triks.js +208 -0
  35. package/dist/routes/triks.js.map +1 -0
  36. package/dist/server.d.ts +5 -0
  37. package/dist/server.d.ts.map +1 -0
  38. package/dist/server.js +92 -0
  39. package/dist/server.js.map +1 -0
  40. package/dist/services/skill-loader.d.ts +33 -0
  41. package/dist/services/skill-loader.d.ts.map +1 -0
  42. package/dist/services/skill-loader.js +130 -0
  43. package/dist/services/skill-loader.js.map +1 -0
  44. package/dist/services/skill-validator.d.ts +12 -0
  45. package/dist/services/skill-validator.d.ts.map +1 -0
  46. package/dist/services/skill-validator.js +17 -0
  47. package/dist/services/skill-validator.js.map +1 -0
  48. package/package.json +66 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Muffles
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,219 @@
1
+ # @trikhub/server
2
+
3
+ HTTP server for TrikHub - remote gateway for AI agents.
4
+
5
+ ## Installation
6
+
7
+ ### Global CLI
8
+
9
+ ```bash
10
+ npm install -g @trikhub/server
11
+ trik-server
12
+ ```
13
+
14
+ ### As a dependency
15
+
16
+ ```bash
17
+ npm install @trikhub/server
18
+ ```
19
+
20
+ ### Docker
21
+
22
+ ```bash
23
+ # Pull and run
24
+ docker run -p 3000:3000 -v trik-data:/data trikhub/server
25
+
26
+ # Or use docker-compose
27
+ docker-compose up
28
+ ```
29
+
30
+ ## Quick Start
31
+
32
+ 1. Run the server:
33
+
34
+ ```bash
35
+ trik-server
36
+ ```
37
+
38
+ 1. Install a trik via API:
39
+
40
+ ```bash
41
+ curl -X POST http://localhost:3000/api/v1/triks/install \
42
+ -H "Content-Type: application/json" \
43
+ -d '{"package": "@molefas/article-search"}'
44
+ ```
45
+
46
+ 1. Access the API:
47
+ - Health: http://localhost:3000/api/v1/health
48
+ - API Docs: http://localhost:3000/docs
49
+ - Tools: http://localhost:3000/api/v1/tools
50
+
51
+ ## Configuration
52
+
53
+ All configuration is done via environment variables:
54
+
55
+ | Variable | Default | Description |
56
+ |----------|---------|-------------|
57
+ | `PORT` | `3000` | Server port |
58
+ | `HOST` | `0.0.0.0` | Server host |
59
+ | `SKILLS_DIR` | `./skills` | Directory containing local skills |
60
+ | `CONFIG_PATH` | - | Path to `.trikhub/config.json` for npm-installed skills |
61
+ | `AUTH_TOKEN` | - | Bearer token for authentication (optional) |
62
+ | `LOG_LEVEL` | `info` | Log level: `debug`, `info`, `warn`, `error` |
63
+ | `LINT_ON_LOAD` | `true` | Validate skills before loading |
64
+ | `LINT_WARNINGS_AS_ERRORS` | `false` | Treat lint warnings as errors |
65
+ | `ALLOWED_SKILLS` | - | Comma-separated allowlist of skill IDs |
66
+
67
+ ## API Endpoints
68
+
69
+ ### Core Endpoints
70
+
71
+ | Endpoint | Method | Description |
72
+ |----------|--------|-------------|
73
+ | `/api/v1/health` | GET | Health check |
74
+ | `/api/v1/tools` | GET | List available tools |
75
+ | `/api/v1/execute` | POST | Execute a skill action |
76
+ | `/api/v1/content/:ref` | GET | Retrieve passthrough content |
77
+ | `/docs` | GET | Swagger UI documentation |
78
+
79
+ ### Trik Management Endpoints
80
+
81
+ | Endpoint | Method | Description |
82
+ |----------|--------|-------------|
83
+ | `/api/v1/triks` | GET | List installed triks |
84
+ | `/api/v1/triks/install` | POST | Install a trik package |
85
+ | `/api/v1/triks/:name` | DELETE | Uninstall a trik |
86
+ | `/api/v1/triks/reload` | POST | Hot-reload all skills |
87
+
88
+ ### Execute a Skill
89
+
90
+ ```bash
91
+ curl -X POST http://localhost:3000/api/v1/execute \
92
+ -H "Content-Type: application/json" \
93
+ -d '{"tool": "my-skill:action", "input": {"param": "value"}}'
94
+ ```
95
+
96
+ ### Install a Trik
97
+
98
+ ```bash
99
+ curl -X POST http://localhost:3000/api/v1/triks/install \
100
+ -H "Content-Type: application/json" \
101
+ -d '{"package": "@molefas/article-search"}'
102
+ ```
103
+
104
+ ### List Installed Triks
105
+
106
+ ```bash
107
+ curl http://localhost:3000/api/v1/triks
108
+ ```
109
+
110
+ ## Docker Usage
111
+
112
+ The Docker image includes the `trik` CLI for runtime package management.
113
+
114
+ ### Basic Usage
115
+
116
+ ```bash
117
+ docker run -p 3000:3000 -v trik-data:/data trikhub/server
118
+ ```
119
+
120
+ ### With Local Skills (Read-Only)
121
+
122
+ ```bash
123
+ docker run -p 3000:3000 \
124
+ -v ./skills:/data/skills:ro \
125
+ trikhub/server
126
+ ```
127
+
128
+ ### With Authentication
129
+
130
+ ```bash
131
+ docker run -p 3000:3000 \
132
+ -v trik-data:/data \
133
+ -e AUTH_TOKEN=your-secret-token \
134
+ trikhub/server
135
+ ```
136
+
137
+ ### Runtime Trik Installation
138
+
139
+ Install triks at runtime via CLI:
140
+
141
+ ```bash
142
+ docker exec trik-server trik install @molefas/article-search
143
+ ```
144
+
145
+ Or via API:
146
+
147
+ ```bash
148
+ curl -X POST http://localhost:3000/api/v1/triks/install \
149
+ -H "Content-Type: application/json" \
150
+ -d '{"package": "@molefas/article-search"}'
151
+ ```
152
+
153
+ ### Using docker-compose
154
+
155
+ ```yaml
156
+ services:
157
+ trik-server:
158
+ image: trikhub/server
159
+ ports:
160
+ - "3000:3000"
161
+ volumes:
162
+ - trik-data:/data
163
+ environment:
164
+ - LOG_LEVEL=info
165
+
166
+ volumes:
167
+ trik-data:
168
+ ```
169
+
170
+ ### Building from Source
171
+
172
+ ```bash
173
+ # From monorepo root
174
+ docker build -f packages/trik-server/Dockerfile -t trikhub/server .
175
+ ```
176
+
177
+ ## Skill Loading
178
+
179
+ The server loads skills from two sources:
180
+
181
+ ### 1. Local Directory (`SKILLS_DIR`)
182
+
183
+ Skills are directories containing a `manifest.json` and implementation:
184
+
185
+ ```
186
+ skills/
187
+ ├── my-skill/
188
+ │ ├── manifest.json
189
+ │ └── graph.js
190
+ └── @scope/another-skill/
191
+ ├── manifest.json
192
+ └── graph.js
193
+ ```
194
+
195
+ ### 2. npm Packages (`CONFIG_PATH`)
196
+
197
+ Skills installed via `trik install` or the API are tracked in a config file:
198
+
199
+ ```json
200
+ {
201
+ "triks": ["@molefas/article-search", "my-other-skill"]
202
+ }
203
+ ```
204
+
205
+ Set `CONFIG_PATH` to enable npm-based skill loading:
206
+
207
+ ```bash
208
+ CONFIG_PATH=./.trikhub/config.json trik-server
209
+ ```
210
+
211
+ ## See Also
212
+
213
+ - [@trikhub/manifest](../trik-manifest) - Manifest schema documentation
214
+ - [@trikhub/gateway](../trik-gateway) - Core gateway library
215
+ - [@trikhub/cli](../trik-cli) - CLI for installing triks
216
+
217
+ ## License
218
+
219
+ MIT
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/config.ts","../../trik-manifest/dist/types.d.ts","../../../node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/types/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/errors.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/types/json-schema.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/types/jtd-schema.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/types/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.d.ts","../../trik-manifest/dist/validator.d.ts","../../trik-manifest/dist/index.d.ts","../../trik-gateway/dist/session-storage.d.ts","../../trik-gateway/dist/gateway.d.ts","../../trik-gateway/dist/index.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/typescript.d.ts","../../trik-linter/dist/rules.d.ts","../../trik-linter/dist/linter.d.ts","../../trik-linter/dist/index.d.ts","../src/services/skill-validator.ts","../src/services/skill-loader.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/error.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/type.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/values.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/jtd/index.d.ts","../../../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/jtd.d.ts","../../../node_modules/.pnpm/@fastify+ajv-compiler@4.0.5/node_modules/@fastify/ajv-compiler/types/index.d.ts","../../../node_modules/.pnpm/@fastify+error@4.2.0/node_modules/@fastify/error/types/index.d.ts","../../../node_modules/.pnpm/fast-json-stringify@6.2.0/node_modules/fast-json-stringify/types/index.d.ts","../../../node_modules/.pnpm/@fastify+fast-json-stringify-compiler@5.0.3/node_modules/@fastify/fast-json-stringify-compiler/types/index.d.ts","../../../node_modules/.pnpm/find-my-way@9.4.0/node_modules/find-my-way/index.d.ts","../../../node_modules/.pnpm/light-my-request@6.6.0/node_modules/light-my-request/types/index.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/utils.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/schema.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/type-provider.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/reply.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.8/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pino-std-serializers@7.1.0/node_modules/pino-std-serializers/index.d.ts","../../../node_modules/.pnpm/sonic-boom@4.2.0/node_modules/sonic-boom/types/index.d.ts","../../../node_modules/.pnpm/thread-stream@4.0.0/node_modules/thread-stream/index.d.ts","../../../node_modules/.pnpm/pino@10.3.0/node_modules/pino/pino.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/logger.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/plugin.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/register.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/instance.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/hooks.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/route.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/context.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/request.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/content-type-parser.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/errors.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/types/server-factory.d.ts","../../../node_modules/.pnpm/fastify@5.7.4/node_modules/fastify/fastify.d.ts","../../../node_modules/.pnpm/openapi-types@12.1.3/node_modules/openapi-types/dist/index.d.ts","../../../node_modules/.pnpm/@fastify+swagger@9.6.1/node_modules/@fastify/swagger/index.d.ts","../../../node_modules/.pnpm/@fastify+swagger-ui@5.2.5/node_modules/@fastify/swagger-ui/types/index.d.ts","../src/routes/health.ts","../src/routes/tools.ts","../src/routes/execute.ts","../src/routes/content.ts","../src/routes/triks.ts","../src/server.ts","../src/cli.ts","../src/index.ts"],"fileIdsList":[[100,104,124,140,188,205,206],[140,188,205,206],[127,140,188,205,206],[140,188,205,206,254,255,256],[140,188,205,206,254,255,256,257],[140,185,186,188,205,206],[140,187,188,205,206],[188,205,206],[140,188,193,205,206,223],[140,188,189,194,199,205,206,208,220,231],[140,188,189,190,199,205,206,208],[135,136,137,140,188,205,206],[140,188,191,205,206,232],[140,188,192,193,200,205,206,209],[140,188,193,205,206,220,228],[140,188,194,196,199,205,206,208],[140,187,188,195,205,206],[140,188,196,197,205,206],[140,188,198,199,205,206],[140,187,188,199,205,206],[140,188,199,200,201,205,206,220,231],[140,188,199,200,201,205,206,215,220,223],[140,181,188,196,199,202,205,206,208,220,231],[140,188,199,200,202,203,205,206,208,220,228,231],[140,188,202,204,205,206,220,228,231],[138,139,140,141,142,143,144,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237],[140,188,199,205,206],[140,188,205,206,207,231],[140,188,196,199,205,206,208,220],[140,188,205,206,209],[140,188,205,206,210],[140,187,188,205,206,211],[140,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237],[140,188,205,206,213],[140,188,205,206,214],[140,188,199,205,206,215,216],[140,188,205,206,215,217,232,234],[140,188,200,205,206],[140,188,199,205,206,220,221,223],[140,188,205,206,222,223],[140,188,205,206,220,221],[140,188,205,206,223],[140,188,205,206,224],[140,185,188,205,206,220,225],[140,188,199,205,206,226,227],[140,188,205,206,226,227],[140,188,193,205,206,208,220,228],[140,188,205,206,229],[140,188,205,206,208,230],[140,188,202,205,206,214,231],[140,188,193,205,206,232],[140,188,205,206,220,233],[140,188,205,206,207,234],[140,188,205,206,235],[140,181,188,205,206],[140,181,188,199,201,205,206,211,220,223,231,233,234,236],[140,188,205,206,220,237],[63,64,68,95,96,98,99,100,102,103,140,188,205,206],[61,62,140,188,205,206],[61,140,188,205,206],[63,103,140,188,205,206],[63,64,100,101,103,140,188,205,206],[103,140,188,205,206],[60,103,104,140,188,205,206],[63,64,102,103,140,188,205,206],[63,64,66,67,102,103,140,188,205,206],[63,64,65,102,103,140,188,205,206],[63,64,68,95,96,97,98,99,102,103,140,188,205,206],[63,68,97,98,99,100,102,103,123,140,188,205,206],[60,63,64,68,100,102,140,188,205,206],[68,103,140,188,205,206],[70,71,72,73,74,75,76,77,78,79,103,140,188,205,206],[93,103,140,188,205,206],[69,80,88,89,90,91,92,94,140,188,205,206],[93,103,116,140,188,205,206],[103,116,140,188,205,206],[103,117,118,119,120,121,122,140,188,205,206],[68,103,116,140,188,205,206],[73,103,140,188,205,206],[81,82,83,84,85,86,87,103,140,188,205,206],[104,140,188,205,206],[125,126,128,129,130,131,132,133,134,140,188,202,203,204,205,206,208,243,244,245,246,247,248,249,250,251,252,253],[131,132,133,140,188,205,206,248,250],[131,140,188,205,206,248],[126,140,188,205,206],[126,131,132,133,134,140,188,205,206,220,243,244,245,246,248,250],[126,129,130,131,132,133,134,140,188,202,205,206,208,243,245,247,248,250,251,254],[126,131,132,133,134,140,188,205,206,242,246,248,250],[131,133,140,188,205,206,243,246],[131,140,188,205,206,243,244,246,254],[131,132,133,140,188,205,206,243,246,248,250],[125,131,132,133,140,188,205,206,243,246,248,249],[126,129,131,132,133,134,140,188,205,206,243,246,247,249,250],[125,128,140,188,205,206,254],[131,140,188,202,203,204,205,206],[131,132,140,188,205,206,248],[140,188,202,203,204,205,206],[140,188,202,203,205,206],[140,188,202,205,206,220],[140,188,202,205,206,238],[140,188,199,205,206,236,239,240,241],[140,188,199,205,206,238],[140,188,199,205,206,236],[140,153,157,188,205,206,231],[140,153,188,205,206,220,231],[140,148,188,205,206],[140,150,153,188,205,206,228,231],[140,188,205,206,208,228],[140,188,205,206,238],[140,148,188,205,206,238],[140,150,153,188,205,206,208,231],[140,145,146,149,152,188,199,205,206,220,231],[140,153,160,188,205,206],[140,145,151,188,205,206],[140,153,174,175,188,205,206],[140,149,153,188,205,206,223,231,238],[140,174,188,205,206,238],[140,147,148,188,205,206,238],[140,153,188,205,206],[140,147,148,149,150,151,152,153,154,155,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,188,205,206],[140,153,168,188,205,206],[140,153,160,161,188,205,206],[140,151,153,161,162,188,205,206],[140,152,188,205,206],[140,145,148,153,188,205,206],[140,153,157,161,162,188,205,206],[140,157,188,205,206],[140,151,153,156,188,205,206,231],[140,145,150,153,160,188,205,206],[140,188,205,206,220],[140,148,153,174,188,205,206,236,238],[106,107,140,188,205,206],[106,107,108,140,188,205,206],[106,140,188,205,206],[111,112,140,188,205,206],[111,140,188,205,206],[106,110,140,188,205,206],[59,105,140,188,205,206],[59,104,140,188,205,206],[58,115,140,188,205,206,207,254,263],[58,115,140,188,205,206,254,263],[109,140,188,205,206,254],[109,140,188,205,206,207,254],[109,140,188,189,201,205,206,232,254],[58,109,140,188,205,206,207,254,256,257,258,259,260,261,262],[109,114,140,188,201,205,206,210],[113,140,188,205,206]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"26bc982baeca30b7b3807e41659c845a53baf946896f05cbe0217ad7a7affaea","signature":"a71199271ba87329be5af4659fcacd4f20228e72a534b305002f175f2a1563a9","impliedFormat":99},{"version":"91d4ba305cc1a68193a57fac9c3b33cc84c782f549742c12339c2884b91cf290","impliedFormat":99},{"version":"84bcc7c6b06f4d643a55dc63b56be0c81d990f8d549b66ea615c553268774dc3","impliedFormat":1},{"version":"2d225e7bda2871c066a7079c88174340950fb604f624f2586d3ea27bb9e5f4ff","impliedFormat":1},{"version":"6a785f84e63234035e511817dd48ada756d984dd8f9344e56eb8b2bdcd8fd001","impliedFormat":1},{"version":"c1422d016f7df2ccd3594c06f2923199acd09898f2c42f50ea8159f1f856f618","impliedFormat":1},{"version":"2973b1b7857ca144251375b97f98474e9847a890331e27132d5a8b3aea9350a8","impliedFormat":1},{"version":"0eb6152d37c84d6119295493dfcc20c331c6fda1304a513d159cdaa599dcb78b","impliedFormat":1},{"version":"237df26f8c326ca00cd9d2deb40214a079749062156386b6d75bdcecc6988a6b","impliedFormat":1},{"version":"cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","impliedFormat":1},{"version":"58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e","impliedFormat":1},{"version":"7557d4d7f19f94341f4413575a3453ba7f6039c9591015bcf4282a8e75414043","impliedFormat":1},{"version":"a3b2cc16f3ce2d882eca44e1066f57a24751545f2a5e4a153d4de31b4cac9bb5","impliedFormat":1},{"version":"ac2b3b377d3068bfb6e1cb8889c99098f2c875955e2325315991882a74d92cc8","impliedFormat":1},{"version":"8deb39d89095469957f73bd194d11f01d9894b8c1f1e27fbf3f6e8122576b336","impliedFormat":1},{"version":"a38a9c41f433b608a0d37e645a31eecf7233ef3d3fffeb626988d3219f80e32f","impliedFormat":1},{"version":"8e1428dcba6a984489863935049893631170a37f9584c0479f06e1a5b1f04332","impliedFormat":1},{"version":"1fce9ecb87a2d3898941c60df617e52e50fb0c03c9b7b2ba8381972448327285","impliedFormat":1},{"version":"5ef0597b8238443908b2c4bf69149ed3894ac0ddd0515ac583d38c7595b151f1","impliedFormat":1},{"version":"ac52b775a80badff5f4ac329c5725a26bd5aaadd57afa7ad9e98b4844767312a","impliedFormat":1},{"version":"6ae5b4a63010c82bf2522b4ecfc29ffe6a8b0c5eea6b2b35120077e9ac54d7a1","impliedFormat":1},{"version":"dd7109c49f416f218915921d44f0f28975df78e04e437c62e1e1eb3be5e18a35","impliedFormat":1},{"version":"eee181112e420b345fc78422a6cc32385ede3d27e2eaf8b8c4ad8b2c29e3e52e","impliedFormat":1},{"version":"25fbe57c8ee3079e2201fe580578fab4f3a78881c98865b7c96233af00bf9624","impliedFormat":1},{"version":"62cc8477858487b4c4de7d7ae5e745a8ce0015c1592f398b63ee05d6e64ca295","impliedFormat":1},{"version":"cc2a9ec3cb10e4c0b8738b02c31798fad312d21ef20b6a2f5be1d077e9f5409d","impliedFormat":1},{"version":"4b4fadcda7d34034737598c07e2dca5d7e1e633cb3ba8dd4d2e6a7782b30b296","impliedFormat":1},{"version":"360fdc8829a51c5428636f1f83e7db36fef6c5a15ed4411b582d00a1c2bd6e97","impliedFormat":1},{"version":"1cf0d15e6ab1ecabbf329b906ae8543e6b8955133b7f6655f04d433e3a0597ab","impliedFormat":1},{"version":"7c9f98fe812643141502b30fb2b5ec56d16aaf94f98580276ae37b7924dd44a4","impliedFormat":1},{"version":"b3547893f24f59d0a644c52f55901b15a3fa1a115bc5ea9a582911469b9348b7","impliedFormat":1},{"version":"596e5b88b6ca8399076afcc22af6e6e0c4700c7cd1f420a78d637c3fb44a885e","impliedFormat":1},{"version":"adddf736e08132c7059ee572b128fdacb1c2650ace80d0f582e93d097ed4fbaf","impliedFormat":1},{"version":"d4cad9dc13e9c5348637170ddd5d95f7ed5fdfc856ddca40234fa55518bc99a6","impliedFormat":1},{"version":"d70675ba7ba7d02e52b7070a369957a70827e4b2bca2c1680c38a832e87b61fd","impliedFormat":1},{"version":"3be71f4ce8988a01e2f5368bdd58e1d60236baf511e4510ee9291c7b3729a27e","impliedFormat":1},{"version":"423d2ccc38e369a7527988d682fafc40267bcd6688a7473e59c5eea20a29b64f","impliedFormat":1},{"version":"2f9fde0868ed030277c678b435f63fcf03d27c04301299580a4017963cc04ce6","impliedFormat":1},{"version":"feeb73d48cc41c6dd23d17473521b0af877751504c30c18dc84267c8eeea429a","impliedFormat":1},{"version":"25f1159094dc0bf3a71313a74e0885426af21c5d6564a254004f2cadf9c5b052","impliedFormat":1},{"version":"cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","impliedFormat":1},{"version":"3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a","impliedFormat":1},{"version":"b83139ae818dd20f365118f9999335ca4cd84ae518348619adc5728e7e0372d5","impliedFormat":1},{"version":"e0205f04611bea8b5b82168065b8ef1476a8e96236201494eb8c785331c43118","impliedFormat":1},{"version":"62d26d8ba4fa15ab425c1b57a050ed76c5b0ecbffaa53f182110aa3a02405a07","impliedFormat":1},{"version":"9941cbf7ca695e95d588f5f1692ab040b078d44a95d231fa9a8f828186b7b77d","impliedFormat":1},{"version":"41b8775befd7ded7245a627e9f4de6110236688ce4c124d2d40c37bc1a3bfe05","impliedFormat":1},{"version":"408a72be148729e5690af977817a095af09eab821d9423b561fac145b85707a9","impliedFormat":99},{"version":"8ac0134147f7a6b65ebae762fa06a3497005bffb468fd98eb3465f7e838186e1","impliedFormat":99},{"version":"ca5017dced5a8d2c07904e7be62e965ac2772352618ce4f02a4f1668c4701209","impliedFormat":99},{"version":"a7f2467223167d0adf49bf454a46a55ce78ef0a68be1d4d276653a834335c409","impliedFormat":99},{"version":"ad83731b560355cbd249c7c037365eb92a8c5445509a5051ce9714610b2be1f7","impliedFormat":99},{"version":"e134052a6b1ded61693b4037f615dc72f14e2881e79c1ddbff6c514c8a516b05","impliedFormat":1},{"version":"ea2d09408ae3c6bb79e8018b6112f8bc7e9477cac048743ee53744ad5ca98a4d","impliedFormat":99},{"version":"6c6b9f0e88a89c577099d266bcc57b1cb7431eeaec32f4eac69422587e4b1c20","impliedFormat":99},{"version":"35d59d61c33e5685100eca2264e3084183b1efef3c12faef5484dc86cd640019","impliedFormat":99},{"version":"46ae7c67495d03c28eaa7ad36b43cc363564e27e0cdc9b4018c477eff9527362","signature":"f2b0ab49fe3861b68cbbb3e7dd281230363db4acf60f569cb7b615a1ba8c3ad8","impliedFormat":99},{"version":"689d64974e9f0d4dbad116f16080be02adf0559d09f4431f9265bc890af43342","signature":"1c28aea57737f0efa00716fded170e3904eb1afb02f345f119fe0d5bade539cf","impliedFormat":99},{"version":"a6613ee552418429af38391e37389036654a882c342a1b81f2711e8ddac597f2","impliedFormat":1},{"version":"da47cb979ae4a849f9b983f43ef34365b7050c4f5ae2ebf818195858774e1d67","impliedFormat":1},{"version":"ac3bcb82d7280fc313a967f311764258d18caf33db6d2b1a0243cde607ff01a0","impliedFormat":1},{"version":"c9b5632d6665177030428d02603aeac3e920d31ec83ac500b55d44c7da74bd84","impliedFormat":1},{"version":"46456824df16d60f243a7e386562b27bac838aaba66050b9bc0f31e1ab34c1f2","impliedFormat":1},{"version":"b91034069e217212d8dda6c92669ee9f180b4c36273b5244c3be2c657f9286c7","impliedFormat":1},{"version":"0697277dd829ac2610d68fe1b457c9e758105bb52d40e149d9c15e5e2fe6dca4","impliedFormat":1},{"version":"b0d06dbb409369169143ede5df1fb58b2fca8d44588e199bd624b6f6d966bf08","impliedFormat":1},{"version":"88dfdb2a44912a28aea3ebb657dc7fcec6ba59f7233005e3405824995b713dac","impliedFormat":1},{"version":"f38a45cbc0356dfb6455211e75ecd0f8aeaedbacd4cb8d6646c818d36a46d195","impliedFormat":1},{"version":"cc2d5d5687bdf9d7c49b6946b8769ac7abcbdcd1701d9bb9ca70a8bc1b003e8b","impliedFormat":1},{"version":"6f1fabd39b8c9a66a3232030a4b28ed4fb4f857dcffef0add3220dab4bbba77a","impliedFormat":1},{"version":"9c0623d67471ddc5b9d82b4e06252c746d54f7ae8ccff8701cd51c249f7e7694","impliedFormat":1},{"version":"71b12e1550980f780af85ebf350c9cd449e9789bc38b34e3ef63397e27745bd0","impliedFormat":1},{"version":"f69b484edf398d636992757d587e7e38ea91844a66dbca9d682c9cf7858b77cf","impliedFormat":1},{"version":"37d852b3e6b30b974178674dbf2a7974a1ea4bbdbec26d0bdb8f34632cab94a2","impliedFormat":1},{"version":"c3ccf44723b474b5d7a87c53eed9711e81422f0e29b3e8f8f8d42775fa802243","impliedFormat":1},{"version":"faeaf9586ba4505448bd0fdb332509a7e3ecca5d8ae10208950a5d03e8b4ea28","impliedFormat":1},{"version":"c3a0295707fde0cb51ca784ecb799aa95ca71c40337b5ee4a81a8f7134dd7e92","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2bc7425ef40526650d6db7e072c1ff4a51101c3ac2cc4b666623b19496a6e27","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"0dba70b3fb0dcd713fda33c2df64fa6751fff6460e536971cee917260fb17882","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"4fe80f12b1d5189384a219095c2eabadbb389c2d3703aae7c5376dbaa56061df","impliedFormat":1},{"version":"9eb1d2dceae65d1c82fc6be7e9b6b19cf3ca93c364678611107362b6ad4d2d41","impliedFormat":1},{"version":"e34aecf8d244b86b519e778b9a85e05f877119f4e920c635f8ee024bb4c354c8","impliedFormat":1},{"version":"e40f9840e4686053a5d42b39fddfd6774172a3d12fa61c1edb8c35b452a5e74a","impliedFormat":1},{"version":"0c27f4ad317e7af86961e2eb09fb5e97de1b85d58f2958e81ef16baf920b9a60","impliedFormat":1},{"version":"479a021fec9328c8ab37f9372dcdc1022d79aeedde6febf03942b4456d1591c9","impliedFormat":1},{"version":"68d25a0614893e256a9e6fe18e2b125dbdad694381b57e63320de6a7518e47fc","impliedFormat":1},{"version":"49b89a0b4b3b3e18cbf726a9c608d622b4f6d49304076fc01c10f93833c70f09","impliedFormat":1},{"version":"4f62dc739ef3b99a93779255f85e51f02ce411d63cf294ee654258ff8c1978e4","impliedFormat":1},{"version":"af7cfe3f859bd980d09f008b41bff896fcfb77473f53a162438fae49c6a3baa6","impliedFormat":1},{"version":"64102e00cb41de7f423608037d17dff83954904383e5c45f1054c2246cf5e184","impliedFormat":1},{"version":"0721d2a27bcb10c815a0df1ab95a54e3a765ffe4b8d0794a47ee85d0e4dd9f29","impliedFormat":1},{"version":"05e29a500e59cc5697947ee0fa9390e88ff008ec76be1f859152bda8ec01f13d","impliedFormat":1},{"version":"625c8806866d06fd0b2d335d356b7f9566dcec39b75642ad34c6ead83cc96d37","impliedFormat":1},{"version":"44b227ad122395768f07a8f1b84041b096220335b34ff7af3b8caa61731b294d","impliedFormat":1},{"version":"01352346792bfdada4746d7e0187df0db156d5502bb0b69c6670322e47529147","impliedFormat":1},{"version":"2df62cd6db7d86f765cfc05606bbd27b38ed7bae502b5c4d927996bcf3638d64","impliedFormat":1},{"version":"a66071f82c67ba2f4da760b3bc1bb0c66053ae7eaafb8f1e1fb9524d8c08b9e0","impliedFormat":1},{"version":"fcb441a70b0f252685d49415002fe9a174e9d0682e610bfb79ac2baea2c436d8","impliedFormat":1},{"version":"09ad96e2f0db29da56fd1a08ea85bbb9b7a2adb919f7c2f1760a188f22d7bbc2","signature":"ec57c52c41d82db12176759a0e0e55bb3685ba77578108eea61fc3569452ab36","impliedFormat":99},{"version":"668e4d7a35cd4287e40a0dcb1691737c181a76e28b01298b4926cb0cabdd2980","signature":"20d79245950cdf1327a9b4f31cf3d395e8439f1a04f957963787380513bbe02d","impliedFormat":99},{"version":"0a15a4f5966eb29534f1e0b8aeac4d8d6f5b2cb2ae7ccc50d5c67765fcfaf390","signature":"f717b29ffd23251bd6b46133628ffe5ab6899d1bb3bf7244ceb461876368f7b5","impliedFormat":99},{"version":"81ea147b766f7e8c42ecee5380d5200b85244ab594cb48a09b9fa389283c337e","signature":"d56b78d86b33f11af0b0961b11ef14c6b1e1b98c8b1e8de1f68722f7b17a8294","impliedFormat":99},{"version":"064459407cb364a241f64fe27830ece771b56fa0a21f2bec5ba5ccc2d64013a1","signature":"cd52da2589d72707b63921bb7adeb8f0aa1d13eba4ee10943fb571658ec64b29","impliedFormat":99},{"version":"1aa659a93e40e173b4f2c0cb03fcaf329586b5d5f5f1653492bab10f98756ab6","signature":"a424d80ea14fd1ea87ad1d3a739fb33da1a9af0636c30a28066f860a9006837f","impliedFormat":99},{"version":"c9f7337c8035806b3ebc602f6d735b6796742a21d3c8d832d00a0b5c335b90b1","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"05757bcd0687c48e885bea964442725dc990e5c683de89cb81670c5f27963597","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99}],"root":[58,114,115,[258,265]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[125,1],[126,2],[128,3],[257,4],[256,5],[185,6],[186,6],[187,7],[140,8],[188,9],[189,10],[190,11],[135,2],[138,12],[136,2],[137,2],[191,13],[192,14],[193,15],[194,16],[195,17],[196,18],[197,18],[198,19],[199,20],[200,21],[201,22],[141,2],[139,2],[202,23],[203,24],[204,25],[238,26],[205,27],[206,2],[207,28],[208,29],[209,30],[210,31],[211,32],[212,33],[213,34],[214,35],[215,36],[216,36],[217,37],[218,2],[219,38],[220,39],[222,40],[221,41],[223,42],[224,43],[225,44],[226,45],[227,46],[228,47],[229,48],[230,49],[231,50],[232,51],[233,52],[234,53],[235,54],[142,2],[143,2],[144,2],[182,55],[183,2],[184,2],[236,56],[237,57],[104,58],[61,2],[63,59],[62,60],[67,61],[102,62],[99,63],[101,64],[64,63],[65,65],[69,65],[68,66],[66,67],[100,68],[124,69],[98,63],[103,70],[96,2],[97,2],[70,71],[75,63],[77,63],[72,63],[73,71],[79,63],[80,72],[71,63],[76,63],[78,63],[74,63],[94,73],[93,63],[95,74],[89,63],[121,75],[119,76],[118,63],[116,61],[123,77],[120,78],[117,76],[122,76],[91,63],[90,63],[86,63],[92,79],[87,63],[88,80],[81,63],[82,63],[83,63],[84,63],[85,63],[127,81],[60,2],[254,82],[251,83],[249,84],[252,85],[247,86],[246,87],[243,88],[244,89],[245,90],[134,91],[250,92],[248,93],[132,94],[253,95],[133,96],[131,97],[129,98],[130,99],[255,2],[239,100],[242,101],[240,102],[241,103],[56,2],[57,2],[11,2],[10,2],[2,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[3,2],[20,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[55,2],[54,2],[1,2],[110,2],[160,104],[170,105],[159,104],[180,106],[151,107],[150,108],[179,109],[173,110],[178,111],[153,112],[167,113],[152,114],[176,115],[148,116],[147,109],[177,117],[149,118],[154,119],[155,2],[158,119],[145,2],[181,120],[171,121],[162,122],[163,123],[165,124],[161,125],[164,126],[174,109],[156,127],[157,128],[166,129],[146,130],[169,121],[168,119],[172,2],[175,131],[108,132],[109,133],[107,134],[113,135],[112,136],[111,137],[106,138],[59,2],[105,139],[264,140],[58,2],[265,141],[261,142],[260,142],[258,143],[259,142],[262,144],[263,145],[115,146],[114,147]],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
3
+ import { loadConfig } from './config.js';
4
+ import { SkillLoader } from './services/skill-loader.js';
5
+ import { createServer } from './server.js';
6
+ const require = createRequire(import.meta.url);
7
+ const pkg = require('../package.json');
8
+ function printHelp() {
9
+ console.log(`
10
+ trik-server v${pkg.version} - HTTP server for TrikHub skill execution
11
+
12
+ Usage: trik-server [options]
13
+
14
+ Options:
15
+ --help, -h Show this help message
16
+ --version, -v Show version number
17
+
18
+ Environment Variables:
19
+ PORT Server port (default: 3000)
20
+ HOST Server host (default: 0.0.0.0)
21
+ SKILLS_DIR Directory containing skills (default: ./skills)
22
+ CONFIG_PATH Path to .trikhub/config.json for npm-based skills
23
+ AUTH_TOKEN Bearer token for authentication (optional)
24
+ LOG_LEVEL Log level: debug, info, warn, error (default: info)
25
+ LINT_ON_LOAD Lint skills before loading: true/false (default: true)
26
+ LINT_WARNINGS_AS_ERRORS Treat lint warnings as errors (default: false)
27
+ ALLOWED_SKILLS Comma-separated list of allowed skill IDs (optional)
28
+
29
+ Examples:
30
+ # Start with default settings
31
+ trik-server
32
+
33
+ # Start with custom port and skills directory
34
+ PORT=8080 SKILLS_DIR=/path/to/skills trik-server
35
+
36
+ # Start with authentication
37
+ AUTH_TOKEN=my-secret-token trik-server
38
+
39
+ API Endpoints:
40
+ GET /api/v1/health Health check
41
+ GET /api/v1/tools List available tools
42
+ POST /api/v1/execute Execute a skill action
43
+ GET /api/v1/content/:ref Retrieve passthrough content
44
+ GET /docs Swagger UI documentation
45
+ `);
46
+ }
47
+ function printVersion() {
48
+ console.log(`trik-server v${pkg.version}`);
49
+ }
50
+ let server = null;
51
+ let isShuttingDown = false;
52
+ async function shutdown(signal) {
53
+ if (isShuttingDown)
54
+ return;
55
+ isShuttingDown = true;
56
+ if (server) {
57
+ server.log.info({ signal }, 'Received shutdown signal, closing server...');
58
+ try {
59
+ await server.close();
60
+ server.log.info('Server closed gracefully');
61
+ }
62
+ catch (err) {
63
+ server.log.error({ err }, 'Error during shutdown');
64
+ process.exit(1);
65
+ }
66
+ }
67
+ process.exit(0);
68
+ }
69
+ async function main() {
70
+ const args = process.argv.slice(2);
71
+ if (args.includes('--help') || args.includes('-h')) {
72
+ printHelp();
73
+ process.exit(0);
74
+ }
75
+ if (args.includes('--version') || args.includes('-v')) {
76
+ printVersion();
77
+ process.exit(0);
78
+ }
79
+ const config = loadConfig();
80
+ // Initialize skill loader
81
+ const skillLoader = new SkillLoader({
82
+ skillsDirectory: config.skillsDirectory,
83
+ configPath: config.configPath,
84
+ lintBeforeLoad: config.lintOnLoad,
85
+ lintWarningsAsErrors: config.lintWarningsAsErrors,
86
+ allowedSkills: config.allowedSkills,
87
+ });
88
+ // Create server first so we can use its logger
89
+ const gateway = skillLoader.getGateway();
90
+ server = await createServer(config, gateway);
91
+ const log = server.log;
92
+ log.info({
93
+ skillsDirectory: config.skillsDirectory,
94
+ configPath: config.configPath || '(none)',
95
+ lintOnLoad: config.lintOnLoad,
96
+ auth: config.authToken ? 'enabled' : 'disabled',
97
+ }, 'Starting trik-server');
98
+ // Load skills at startup
99
+ log.info('Discovering skills...');
100
+ const loadResult = await skillLoader.discoverAndLoad();
101
+ log.info({ loaded: loadResult.loaded, failed: loadResult.failed }, 'Skills discovery complete');
102
+ for (const skill of loadResult.skills) {
103
+ if (skill.status === 'loaded') {
104
+ log.info({ skillId: skill.skillId }, 'Skill loaded');
105
+ }
106
+ else {
107
+ log.warn({ skillId: skill.skillId, path: skill.path, error: skill.error }, 'Skill failed to load');
108
+ }
109
+ }
110
+ // Register shutdown handlers
111
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
112
+ process.on('SIGINT', () => shutdown('SIGINT'));
113
+ // Start listening
114
+ await server.listen({ port: config.port, host: config.host });
115
+ log.info({ url: `http://${config.host}:${config.port}` }, 'Server listening');
116
+ }
117
+ main().catch((err) => {
118
+ if (server) {
119
+ server.log.fatal({ err }, 'Fatal error');
120
+ }
121
+ else {
122
+ console.error('[trik-server] Fatal error:', err);
123
+ }
124
+ process.exit(1);
125
+ });
126
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;eACC,GAAG,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCzB,CAAC,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,MAAM,GAA2B,IAAI,CAAC;AAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,KAAK,UAAU,QAAQ,CAAC,MAAc;IACpC,IAAI,cAAc;QAAE,OAAO;IAC3B,cAAc,GAAG,IAAI,CAAC;IAEtB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,6CAA6C,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,cAAc,EAAE,MAAM,CAAC,UAAU;QACjC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;IACzC,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IAEvB,GAAG,CAAC,IAAI,CACN;QACE,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,QAAQ;QACzC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;KAChD,EACD,sBAAsB,CACvB,CAAC;IAEF,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,eAAe,EAAE,CAAC;IAEvD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;IAChG,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/C,kBAAkB;IAClB,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAChF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface ServerConfig {
2
+ port: number;
3
+ host: string;
4
+ skillsDirectory: string;
5
+ /** Path to .trikhub/config.json for loading npm-installed skills */
6
+ configPath?: string;
7
+ allowedSkills?: string[];
8
+ lintOnLoad: boolean;
9
+ lintWarningsAsErrors: boolean;
10
+ authToken?: string;
11
+ logLevel: 'debug' | 'info' | 'warn' | 'error';
12
+ }
13
+ export declare function loadConfig(): ServerConfig;
14
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAgB,UAAU,IAAI,YAAY,CAczC"}
package/dist/config.js ADDED
@@ -0,0 +1,15 @@
1
+ export function loadConfig() {
2
+ const allowedSkillsEnv = process.env.ALLOWED_SKILLS;
3
+ return {
4
+ port: parseInt(process.env.PORT || '3000', 10),
5
+ host: process.env.HOST || '0.0.0.0',
6
+ skillsDirectory: process.env.SKILLS_DIR || './skills',
7
+ configPath: process.env.CONFIG_PATH,
8
+ allowedSkills: allowedSkillsEnv ? allowedSkillsEnv.split(',').map((s) => s.trim()) : undefined,
9
+ lintOnLoad: process.env.LINT_ON_LOAD !== 'false',
10
+ lintWarningsAsErrors: process.env.LINT_WARNINGS_AS_ERRORS === 'true',
11
+ authToken: process.env.AUTH_TOKEN,
12
+ logLevel: process.env.LOG_LEVEL || 'info',
13
+ };
14
+ }
15
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,UAAU;IACxB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC;QAC9C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS;QACnC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,UAAU;QACrD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;QACnC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9F,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,OAAO;QAChD,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM;QACpE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QACjC,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,SAAsC,IAAI,MAAM;KACxE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}