@venizia/ignis-docs 0.0.8-2 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/{wiki → content}/best-practices/error-handling.md +19 -4
  2. package/{wiki → content}/guides/get-started/5-minute-quickstart.md +4 -4
  3. package/{wiki → content}/references/base/middlewares.md +36 -27
  4. package/dist/mcp-server/common/paths.d.ts.map +1 -1
  5. package/dist/mcp-server/common/paths.js +2 -2
  6. package/dist/mcp-server/common/paths.js.map +1 -1
  7. package/package.json +5 -5
  8. /package/{wiki → content}/best-practices/api-usage-examples.md +0 -0
  9. /package/{wiki → content}/best-practices/architectural-patterns.md +0 -0
  10. /package/{wiki → content}/best-practices/architecture-decisions.md +0 -0
  11. /package/{wiki → content}/best-practices/code-style-standards/advanced-patterns.md +0 -0
  12. /package/{wiki → content}/best-practices/code-style-standards/constants-configuration.md +0 -0
  13. /package/{wiki → content}/best-practices/code-style-standards/control-flow.md +0 -0
  14. /package/{wiki → content}/best-practices/code-style-standards/documentation.md +0 -0
  15. /package/{wiki → content}/best-practices/code-style-standards/function-patterns.md +0 -0
  16. /package/{wiki → content}/best-practices/code-style-standards/index.md +0 -0
  17. /package/{wiki → content}/best-practices/code-style-standards/naming-conventions.md +0 -0
  18. /package/{wiki → content}/best-practices/code-style-standards/route-definitions.md +0 -0
  19. /package/{wiki → content}/best-practices/code-style-standards/tooling.md +0 -0
  20. /package/{wiki → content}/best-practices/code-style-standards/type-safety.md +0 -0
  21. /package/{wiki → content}/best-practices/common-pitfalls.md +0 -0
  22. /package/{wiki → content}/best-practices/contribution-workflow.md +0 -0
  23. /package/{wiki → content}/best-practices/data-modeling.md +0 -0
  24. /package/{wiki → content}/best-practices/deployment-strategies.md +0 -0
  25. /package/{wiki → content}/best-practices/index.md +0 -0
  26. /package/{wiki → content}/best-practices/performance-optimization.md +0 -0
  27. /package/{wiki → content}/best-practices/security-guidelines.md +0 -0
  28. /package/{wiki → content}/best-practices/testing-strategies.md +0 -0
  29. /package/{wiki → content}/best-practices/troubleshooting-tips.md +0 -0
  30. /package/{wiki → content}/extensions/components/authentication/api.md +0 -0
  31. /package/{wiki → content}/extensions/components/authentication/errors.md +0 -0
  32. /package/{wiki → content}/extensions/components/authentication/index.md +0 -0
  33. /package/{wiki → content}/extensions/components/authentication/usage.md +0 -0
  34. /package/{wiki → content}/extensions/components/authorization/api.md +0 -0
  35. /package/{wiki → content}/extensions/components/authorization/errors.md +0 -0
  36. /package/{wiki → content}/extensions/components/authorization/index.md +0 -0
  37. /package/{wiki → content}/extensions/components/authorization/usage.md +0 -0
  38. /package/{wiki → content}/extensions/components/health-check.md +0 -0
  39. /package/{wiki → content}/extensions/components/index.md +0 -0
  40. /package/{wiki → content}/extensions/components/mail/api.md +0 -0
  41. /package/{wiki → content}/extensions/components/mail/errors.md +0 -0
  42. /package/{wiki → content}/extensions/components/mail/index.md +0 -0
  43. /package/{wiki → content}/extensions/components/mail/usage.md +0 -0
  44. /package/{wiki → content}/extensions/components/request-tracker.md +0 -0
  45. /package/{wiki → content}/extensions/components/socket-io/api.md +0 -0
  46. /package/{wiki → content}/extensions/components/socket-io/errors.md +0 -0
  47. /package/{wiki → content}/extensions/components/socket-io/index.md +0 -0
  48. /package/{wiki → content}/extensions/components/socket-io/usage.md +0 -0
  49. /package/{wiki → content}/extensions/components/static-asset/api.md +0 -0
  50. /package/{wiki → content}/extensions/components/static-asset/errors.md +0 -0
  51. /package/{wiki → content}/extensions/components/static-asset/index.md +0 -0
  52. /package/{wiki → content}/extensions/components/static-asset/usage.md +0 -0
  53. /package/{wiki → content}/extensions/components/swagger.md +0 -0
  54. /package/{wiki → content}/extensions/components/template/api-page.md +0 -0
  55. /package/{wiki → content}/extensions/components/template/errors-page.md +0 -0
  56. /package/{wiki → content}/extensions/components/template/index.md +0 -0
  57. /package/{wiki → content}/extensions/components/template/setup-page.md +0 -0
  58. /package/{wiki → content}/extensions/components/template/single-page.md +0 -0
  59. /package/{wiki → content}/extensions/components/template/usage-page.md +0 -0
  60. /package/{wiki → content}/extensions/components/websocket/api.md +0 -0
  61. /package/{wiki → content}/extensions/components/websocket/errors.md +0 -0
  62. /package/{wiki → content}/extensions/components/websocket/index.md +0 -0
  63. /package/{wiki → content}/extensions/components/websocket/usage.md +0 -0
  64. /package/{wiki → content}/extensions/helpers/cron/index.md +0 -0
  65. /package/{wiki → content}/extensions/helpers/crypto/index.md +0 -0
  66. /package/{wiki → content}/extensions/helpers/env/index.md +0 -0
  67. /package/{wiki → content}/extensions/helpers/error/index.md +0 -0
  68. /package/{wiki → content}/extensions/helpers/index.md +0 -0
  69. /package/{wiki → content}/extensions/helpers/inversion/index.md +0 -0
  70. /package/{wiki → content}/extensions/helpers/kafka/admin.md +0 -0
  71. /package/{wiki → content}/extensions/helpers/kafka/consumer.md +0 -0
  72. /package/{wiki → content}/extensions/helpers/kafka/examples.md +0 -0
  73. /package/{wiki → content}/extensions/helpers/kafka/index.md +0 -0
  74. /package/{wiki → content}/extensions/helpers/kafka/producer.md +0 -0
  75. /package/{wiki → content}/extensions/helpers/kafka/schema-registry.md +0 -0
  76. /package/{wiki → content}/extensions/helpers/logger/index.md +0 -0
  77. /package/{wiki → content}/extensions/helpers/network/api.md +0 -0
  78. /package/{wiki → content}/extensions/helpers/network/index.md +0 -0
  79. /package/{wiki → content}/extensions/helpers/queue/index.md +0 -0
  80. /package/{wiki → content}/extensions/helpers/redis/index.md +0 -0
  81. /package/{wiki → content}/extensions/helpers/socket-io/api.md +0 -0
  82. /package/{wiki → content}/extensions/helpers/socket-io/index.md +0 -0
  83. /package/{wiki → content}/extensions/helpers/storage/api.md +0 -0
  84. /package/{wiki → content}/extensions/helpers/storage/index.md +0 -0
  85. /package/{wiki → content}/extensions/helpers/template/index.md +0 -0
  86. /package/{wiki → content}/extensions/helpers/template/single-page.md +0 -0
  87. /package/{wiki → content}/extensions/helpers/testing/index.md +0 -0
  88. /package/{wiki → content}/extensions/helpers/types/index.md +0 -0
  89. /package/{wiki → content}/extensions/helpers/uid/index.md +0 -0
  90. /package/{wiki → content}/extensions/helpers/websocket/api.md +0 -0
  91. /package/{wiki → content}/extensions/helpers/websocket/index.md +0 -0
  92. /package/{wiki → content}/extensions/helpers/worker-thread/index.md +0 -0
  93. /package/{wiki → content}/extensions/index.md +0 -0
  94. /package/{wiki → content}/extensions/src-details/mcp-server.md +0 -0
  95. /package/{wiki → content}/guides/core-concepts/application/bootstrapping.md +0 -0
  96. /package/{wiki → content}/guides/core-concepts/application/index.md +0 -0
  97. /package/{wiki → content}/guides/core-concepts/components-guide.md +0 -0
  98. /package/{wiki → content}/guides/core-concepts/components.md +0 -0
  99. /package/{wiki → content}/guides/core-concepts/dependency-injection.md +0 -0
  100. /package/{wiki → content}/guides/core-concepts/grpc-controllers.md +0 -0
  101. /package/{wiki → content}/guides/core-concepts/persistent/datasources.md +0 -0
  102. /package/{wiki → content}/guides/core-concepts/persistent/index.md +0 -0
  103. /package/{wiki → content}/guides/core-concepts/persistent/models.md +0 -0
  104. /package/{wiki → content}/guides/core-concepts/persistent/repositories.md +0 -0
  105. /package/{wiki → content}/guides/core-concepts/persistent/transactions.md +0 -0
  106. /package/{wiki → content}/guides/core-concepts/rest-controllers.md +0 -0
  107. /package/{wiki → content}/guides/core-concepts/services.md +0 -0
  108. /package/{wiki → content}/guides/get-started/philosophy.md +0 -0
  109. /package/{wiki → content}/guides/get-started/setup.md +0 -0
  110. /package/{wiki → content}/guides/index.md +0 -0
  111. /package/{wiki → content}/guides/migrations/scoped-rbac-migration.md +0 -0
  112. /package/{wiki → content}/guides/reference/glossary.md +0 -0
  113. /package/{wiki → content}/guides/reference/mcp-docs-server.md +0 -0
  114. /package/{wiki → content}/guides/tutorials/building-a-crud-api.md +0 -0
  115. /package/{wiki → content}/guides/tutorials/complete-installation.md +0 -0
  116. /package/{wiki → content}/guides/tutorials/ecommerce-api.md +0 -0
  117. /package/{wiki → content}/guides/tutorials/realtime-chat.md +0 -0
  118. /package/{wiki → content}/guides/tutorials/testing.md +0 -0
  119. /package/{wiki → content}/index.md +0 -0
  120. /package/{wiki → content}/public/logo.svg +0 -0
  121. /package/{wiki → content}/references/base/application.md +0 -0
  122. /package/{wiki → content}/references/base/bootstrapping.md +0 -0
  123. /package/{wiki → content}/references/base/components.md +0 -0
  124. /package/{wiki → content}/references/base/controllers.md +0 -0
  125. /package/{wiki → content}/references/base/datasources.md +0 -0
  126. /package/{wiki → content}/references/base/dependency-injection.md +0 -0
  127. /package/{wiki → content}/references/base/filter-system/application-usage.md +0 -0
  128. /package/{wiki → content}/references/base/filter-system/array-operators.md +0 -0
  129. /package/{wiki → content}/references/base/filter-system/comparison-operators.md +0 -0
  130. /package/{wiki → content}/references/base/filter-system/default-filter.md +0 -0
  131. /package/{wiki → content}/references/base/filter-system/fields-order-pagination.md +0 -0
  132. /package/{wiki → content}/references/base/filter-system/index.md +0 -0
  133. /package/{wiki → content}/references/base/filter-system/json-filtering.md +0 -0
  134. /package/{wiki → content}/references/base/filter-system/list-operators.md +0 -0
  135. /package/{wiki → content}/references/base/filter-system/logical-operators.md +0 -0
  136. /package/{wiki → content}/references/base/filter-system/null-operators.md +0 -0
  137. /package/{wiki → content}/references/base/filter-system/pattern-matching.md +0 -0
  138. /package/{wiki → content}/references/base/filter-system/quick-reference.md +0 -0
  139. /package/{wiki → content}/references/base/filter-system/range-operators.md +0 -0
  140. /package/{wiki → content}/references/base/filter-system/tips.md +0 -0
  141. /package/{wiki → content}/references/base/filter-system/use-cases.md +0 -0
  142. /package/{wiki → content}/references/base/grpc-controllers.md +0 -0
  143. /package/{wiki → content}/references/base/index.md +0 -0
  144. /package/{wiki → content}/references/base/middleware.md +0 -0
  145. /package/{wiki → content}/references/base/models.md +0 -0
  146. /package/{wiki → content}/references/base/providers.md +0 -0
  147. /package/{wiki → content}/references/base/repositories/advanced.md +0 -0
  148. /package/{wiki → content}/references/base/repositories/index.md +0 -0
  149. /package/{wiki → content}/references/base/repositories/mixins.md +0 -0
  150. /package/{wiki → content}/references/base/repositories/relations.md +0 -0
  151. /package/{wiki → content}/references/base/repositories/soft-deletable.md +0 -0
  152. /package/{wiki → content}/references/base/services.md +0 -0
  153. /package/{wiki → content}/references/configuration/environment-variables.md +0 -0
  154. /package/{wiki → content}/references/configuration/index.md +0 -0
  155. /package/{wiki → content}/references/index.md +0 -0
  156. /package/{wiki → content}/references/quick-reference.md +0 -0
  157. /package/{wiki → content}/references/utilities/crypto.md +0 -0
  158. /package/{wiki → content}/references/utilities/date.md +0 -0
  159. /package/{wiki → content}/references/utilities/index.md +0 -0
  160. /package/{wiki → content}/references/utilities/jsx.md +0 -0
  161. /package/{wiki → content}/references/utilities/module.md +0 -0
  162. /package/{wiki → content}/references/utilities/parse.md +0 -0
  163. /package/{wiki → content}/references/utilities/performance.md +0 -0
  164. /package/{wiki → content}/references/utilities/promise.md +0 -0
  165. /package/{wiki → content}/references/utilities/request.md +0 -0
  166. /package/{wiki → content}/references/utilities/schema.md +0 -0
  167. /package/{wiki → content}/references/utilities/statuses.md +0 -0
@@ -60,7 +60,7 @@ Use the correct status code for each error type:
60
60
  | 503 | `RS_5.ServiceUnavailable` | Service temporarily down |
61
61
 
62
62
  :::tip Automatic Database Error Handling
63
- Database constraint violations (unique, foreign key, not null, check) are automatically converted to HTTP 400 by the global error middleware. You don't need to catch these errors manually.
63
+ Database errors in SQLSTATE class `22` (data exception) and `23` (integrity constraint unique, foreign key, not null, check, exclusion) are automatically converted to HTTP 400 by the global error middleware. You don't need to catch these manually. Other classes (e.g. syntax / undefined column) stay 500, and production responses are sanitized — see [Repository Layer Errors](#repository-layer-errors).
64
64
  :::
65
65
 
66
66
  ## 3. Error Handling Patterns
@@ -148,7 +148,9 @@ export class UserController extends BaseRestController {
148
148
 
149
149
  ### Repository Layer Errors
150
150
 
151
- Database constraint violations (unique, foreign key, not null, check) are **automatically handled** by the global error middleware. They return HTTP 400 with a human-readable message:
151
+ Database errors in SQLSTATE class `22` (data exception) and `23` (integrity constraint unique, foreign key, not null, check, exclusion) are **automatically handled** by the global error middleware and return HTTP 400. Codes outside those classes (e.g. class `42` undefined column — an application/SQL bug) correctly stay 500.
152
+
153
+ **Non-production** returns the full driver context for debugging:
152
154
 
153
155
  ```json
154
156
  {
@@ -158,6 +160,14 @@ Database constraint violations (unique, foreign key, not null, check) are **auto
158
160
  }
159
161
  ```
160
162
 
163
+ :::warning Production sanitizes database internals
164
+ In production the message is the **base message only** — `Detail:` (which echoes row values like emails), `Table:`, and `Constraint:` are stripped, and `details.stack`/`details.cause` are omitted. Unexpected (non-client) database errors and connection failures return a generic `"Internal Server Error"`, so SQL, schema names, and connection host/port never leak. Use `requestId` + server logs to diagnose.
165
+
166
+ ```json
167
+ { "message": "Unique constraint violation", "statusCode": 400, "requestId": "abc123" }
168
+ ```
169
+ :::
170
+
161
171
  You don't need to wrap repository calls in try-catch for constraint errors. If you need custom error messages, you can still handle them explicitly:
162
172
 
163
173
  ```typescript
@@ -240,7 +250,9 @@ All errors should follow a consistent format:
240
250
  interface ErrorResponse {
241
251
  statusCode: number;
242
252
  message: string;
253
+ messageCode?: string; // stable, localizable code (validation: from params.code or the raw Zod code)
243
254
  requestId: string;
255
+ extra?: Record<string, unknown>; // structured context attached via getError(...)
244
256
  details?: {
245
257
  cause?: Array<{
246
258
  path: string;
@@ -271,16 +283,19 @@ interface ErrorResponse {
271
283
  }
272
284
 
273
285
  // 422 Validation Error
286
+ // `message`/`messageCode` come from the first failing issue — its `params.code` if the schema set
287
+ // one, otherwise the raw Zod code (e.g. `invalid_type`, `too_small`). The full list stays in `details.cause`.
274
288
  {
275
289
  "statusCode": 422,
276
- "message": "Validation failed",
290
+ "message": "Invalid email format",
291
+ "messageCode": "user.email.invalid",
277
292
  "requestId": "abc123",
278
293
  "details": {
279
294
  "cause": [
280
295
  {
281
296
  "path": "email",
282
297
  "message": "Invalid email format",
283
- "code": "invalid_string"
298
+ "code": "custom"
284
299
  }
285
300
  ]
286
301
  }
@@ -177,18 +177,18 @@ Update `package.json` to add build scripts:
177
177
  "server:prod": "NODE_ENV=production bun run dist/index.js"
178
178
  },
179
179
  "dependencies": {
180
- "hono": "^4.12.1",
180
+ "hono": "^4.12.25",
181
181
  "@hono/zod-openapi": "latest",
182
182
  "@scalar/hono-api-reference": "latest",
183
183
  "@venizia/ignis": "latest",
184
184
  "@venizia/ignis-helpers": "latest"
185
185
  },
186
186
  "devDependencies": {
187
- "typescript": "^5.5.3",
187
+ "typescript": "^6.0.3",
188
188
  "@types/bun": "latest",
189
189
  "@venizia/dev-configs": "latest",
190
- "eslint": "^9.36.0",
191
- "prettier": "^3.6.2",
190
+ "eslint": "^10.5.0",
191
+ "prettier": "^3.8.4",
192
192
  "tsc-alias": "^1.8.10"
193
193
  }
194
194
  }
@@ -43,14 +43,14 @@ IGNIS provides a collection of built-in middlewares for common application needs
43
43
 
44
44
  The error handler middleware catches all unhandled errors in your application and formats them into consistent JSON responses.
45
45
 
46
- **File:** `packages/core/src/base/middlewares/app-error.middleware.ts`
46
+ **File:** `packages/core/src/base/middlewares/app-error/app-error.middleware.ts`
47
47
 
48
48
  #### Features
49
49
 
50
50
  - **Automatic Error Formatting**: Converts all errors to structured JSON responses
51
- - **ZodError Support**: Special handling for Zod validation errors with detailed field-level messages
52
- - **Database Error Handling**: Automatically returns 400 for database constraint violations (unique, foreign key, not null, etc.)
53
- - **Environment-Aware**: Hides stack traces and error causes in production
51
+ - **ZodError Support**: Validation errors surface a schema-driven `messageCode` and `message` (from `params.code`, else the raw Zod code), with the full per-field list under `details.cause`
52
+ - **Database Error Handling**: Returns 400 for SQLSTATE class `22` (data exception) and `23` (integrity) errors, with a fallback message; other classes (e.g. `42` programming errors) stay 500
53
+ - **Production-Safe**: Hides stack traces, error causes, DB driver internals (`detail`/`table`/`constraint`), and raw system messages in production
54
54
  - **Request Tracking**: Includes `requestId` for debugging and tracing
55
55
  - **Status Code Detection**: Automatically extracts `statusCode` from errors
56
56
 
@@ -87,9 +87,13 @@ app.onError(appErrorHandler({
87
87
  ```
88
88
 
89
89
  **Validation Error (ZodError):**
90
+
91
+ Top-level `message`/`messageCode` come from the first failing issue — its `params.code` if the schema set one (see below), otherwise its raw Zod code. The full per-field list stays under `details.cause`. If `error.rootKey` is configured, the whole body is wrapped under that key.
92
+
90
93
  ```json
91
94
  {
92
- "message": "ValidationError",
95
+ "message": "Invalid email address",
96
+ "messageCode": "invalid_type",
93
97
  "statusCode": 422,
94
98
  "requestId": "abc123",
95
99
  "details": {
@@ -100,45 +104,50 @@ app.onError(appErrorHandler({
100
104
  {
101
105
  "path": "email",
102
106
  "message": "Invalid email address",
103
- "code": "invalid_string",
104
- "expected": "string",
105
- "received": "undefined"
107
+ "code": "invalid_type",
108
+ "expected": "string"
106
109
  }
107
110
  ]
108
111
  }
109
112
  }
110
113
  ```
111
114
 
115
+ To emit a stable, domain-specific `messageCode`, attach `params.code` to a custom check:
116
+
117
+ ```typescript
118
+ z.string().refine(isEmail, { message: 'Invalid email address', params: { code: 'user.email.invalid' } });
119
+ // → "messageCode": "user.email.invalid"
120
+ ```
121
+
112
122
  **Database Constraint Error:**
113
123
 
114
- Database constraint violations (unique, foreign key, not null, check) are automatically detected and returned as 400 Bad Request with a human-readable message:
124
+ Database errors in SQLSTATE class `22` (data exception) and `23` (integrity constraint) are detected by **class** and returned as 400 Bad Request. A known code uses its specific message; any other in-class code uses `DATABASE_CLIENT_ERROR_FALLBACK_MESSAGE` (`"Invalid database request"`).
115
125
 
116
126
  ```json
127
+ // non-production — full driver context for debugging
117
128
  {
118
129
  "message": "Unique constraint violation\nDetail: Key (email)=(test@example.com) already exists.\nTable: User\nConstraint: UQ_User_email",
119
130
  "statusCode": 400,
120
131
  "requestId": "abc123",
121
- "details": {
122
- "url": "http://localhost:3000/api/users",
123
- "path": "/api/users",
124
- "stack": "...", // development only
125
- "cause": { ... } // development only
126
- }
132
+ "details": { "url": "...", "path": "/api/users", "stack": "...", "cause": { } }
127
133
  }
128
134
  ```
129
135
 
130
- **Supported PostgreSQL Error Codes:**
131
-
132
- | Code | Error Type |
133
- |------|------------|
134
- | 23505 | Unique constraint violation |
135
- | 23503 | Foreign key constraint violation |
136
- | 23502 | Not null constraint violation |
137
- | 23514 | Check constraint violation |
138
- | 23P01 | Exclusion constraint violation |
139
- | 22P02 | Invalid text representation |
140
- | 22003 | Numeric value out of range |
141
- | 22001 | String data too long |
136
+ :::warning Production sanitizes database internals
137
+ In **production** the message is the base message only — `Detail:`/`Table:`/`Constraint:` are stripped (they echo row values and schema names), and `details.stack`/`details.cause` are omitted. Codes outside class 22/23 (e.g. `42703` undefined column) and connection failures return a generic `"Internal Server Error"`, so SQL, schema names, and connection host/port never leak.
138
+ :::
139
+
140
+ **Database client error classes** — codes in SQLSTATE class `22` (data exception), `23` (integrity constraint), and `44` (WITH CHECK OPTION) map to HTTP 400. Common codes get a specific message; any other in-class code uses the fallback (`"Invalid database request"`).
141
+
142
+ | Class | Codes with a specific message |
143
+ |-------|-------------------------------|
144
+ | `23` Integrity | `23505` unique · `23503` foreign key · `23502` not null · `23514` check · `23P01` exclusion · `23000` integrity · `23001` restrict |
145
+ | `22` Data exception | `22001` string too long · `22003` numeric range · `22004` null not allowed · `22007` datetime format · `22008` datetime overflow · `22009` tz displacement · `22011` substring · `22012` division by zero · `22023` invalid parameter · `22025` invalid escape · `22026` length mismatch · `22030` duplicate JSON key · `22032` invalid JSON · `22P01` floating-point · `22P02` invalid text · `22P03` invalid binary · `22P05` untranslatable char |
146
+ | `44` View check | `44000` WITH CHECK OPTION violation |
147
+
148
+ :::tip Transient conflicts return 409, not 400/500
149
+ Class `40` (`40001` serialization failure, `40P01` deadlock) is **transient/retryable** and returns **409 Conflict** with `messageCode: "database.conflict"` and a safe "please retry" message — the client can safely retry the same request. Programming/infra classes (`42` syntax, `53` resources, `0A`, `25`, `28`) remain 500.
150
+ :::
142
151
 
143
152
  #### API Reference
144
153
 
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../mcp-server/common/paths.ts"],"names":[],"mappings":"AAOA,qBAAa,KAAK;IAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAgC;IAEpD,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAkC;IACxD,MAAM,CAAC,QAAQ,CAAC,WAAW,SAAyC;IACpE,MAAM,CAAC,QAAQ,CAAC,aAAa,SAA2C;IACxE,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA0C;IAExE,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsC;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAsC;IAC1D,MAAM,CAAC,QAAQ,CAAC,SAAS,SAA2C;IAEpE,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsC;IAChE,MAAM,CAAC,QAAQ,CAAC,UAAU,SAA4C;IACtE,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAyC;IAChE,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA6C;CAC5E"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../mcp-server/common/paths.ts"],"names":[],"mappings":"AAOA,qBAAa,KAAK;IAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAmC;IAEvD,MAAM,CAAC,QAAQ,CAAC,MAAM,SAAkC;IACxD,MAAM,CAAC,QAAQ,CAAC,WAAW,SAAyC;IACpE,MAAM,CAAC,QAAQ,CAAC,aAAa,SAA2C;IACxE,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA0C;IAExE,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsC;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAsC;IAC1D,MAAM,CAAC,QAAQ,CAAC,SAAS,SAA2C;IAEpE,MAAM,CAAC,QAAQ,CAAC,UAAU,SAAsC;IAChE,MAAM,CAAC,QAAQ,CAAC,UAAU,SAA4C;IACtE,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAyC;IAChE,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA6C;CAC5E"}
@@ -7,10 +7,10 @@ exports.Paths = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const MCP_ROOT = __dirname;
9
9
  // When compiled, __dirname is mcp-server/dist/common
10
- // Go up 3 levels to reach package root: common -> dist -> mcp-server -> docs
10
+ // Go up 3 levels to reach package root: common -> dist -> mcp-server -> wiki (package root)
11
11
  const DOCS_ROOT = node_path_1.default.resolve(MCP_ROOT, '..', '..', '..');
12
12
  class Paths {
13
- static { this.WIKI = node_path_1.default.join(DOCS_ROOT, 'wiki'); }
13
+ static { this.WIKI = node_path_1.default.join(DOCS_ROOT, 'content'); }
14
14
  static { this.GUIDES = node_path_1.default.join(this.WIKI, 'guides'); }
15
15
  static { this.GET_STARTED = node_path_1.default.join(this.GUIDES, 'get-started'); }
16
16
  static { this.CORE_CONCEPTS = node_path_1.default.join(this.GUIDES, 'core-concepts'); }
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../mcp-server/common/paths.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,qDAAqD;AACrD,6EAA6E;AAC7E,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3D,MAAa,KAAK;aACA,SAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;aAEpC,WAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACxC,gBAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;aACpD,kBAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aACxD,mBAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;aAExD,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAChD,SAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC1C,cAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;aAEpD,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAChD,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;aACtD,YAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAChD,mBAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;;AAf7E,sBAgBC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../mcp-server/common/paths.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,qDAAqD;AACrD,4FAA4F;AAC5F,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3D,MAAa,KAAK;aACA,SAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;aAEvC,WAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aACxC,gBAAW,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;aACpD,kBAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;aACxD,mBAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;aAExD,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAChD,SAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC1C,cAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;aAEpD,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;aAChD,eAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;aACtD,YAAO,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAChD,mBAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;;AAf7E,sBAgBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis-docs",
3
- "version": "0.0.8-2",
3
+ "version": "0.0.8",
4
4
  "description": "Interactive documentation site and MCP (Model Context Protocol) server for the Ignis Framework. Includes a VitePress-powered documentation site with guides, API references, and best practices. Ships an MCP server (CLI: ignis-docs-mcp) with 11 tools for AI assistants to search docs, browse source code, verify dependencies, and access real-time framework knowledge. Built with Mastra MCP SDK and Fuse.js fuzzy search.",
5
5
  "keywords": [
6
6
  "ai",
@@ -47,7 +47,7 @@
47
47
  "repository": {
48
48
  "type": "git",
49
49
  "url": "git+https://github.com/VENIZIA-AI/ignis.git",
50
- "directory": "packages/docs"
50
+ "directory": "docs/wiki"
51
51
  },
52
52
  "bugs": {
53
53
  "url": "https://github.com/VENIZIA-AI/ignis/issues"
@@ -88,8 +88,8 @@
88
88
  "README.md",
89
89
  "LICENSE.md",
90
90
  "dist/mcp-server",
91
- "wiki",
92
- "!wiki/changelogs",
91
+ "content",
92
+ "!content/changelogs",
93
93
  "!**/*.tsbuildinfo"
94
94
  ],
95
95
  "publishConfig": {
@@ -129,7 +129,7 @@
129
129
  "devDependencies": {
130
130
  "@braintree/sanitize-url": "^7.1.2",
131
131
  "@types/bun": "^1.3.14",
132
- "@venizia/dev-configs": "^0.0.7-2",
132
+ "@venizia/dev-configs": "^0.0.7",
133
133
  "eslint": "^10.4.0",
134
134
  "prettier": "^3.8.3",
135
135
  "tsc-alias": "^1.8.17",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes