@no-mess/client 0.1.1 → 0.3.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 (65) hide show
  1. package/README.md +153 -4
  2. package/dist/client.d.ts +5 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +237 -41
  5. package/dist/client.js.map +1 -1
  6. package/dist/error-utils.d.ts +20 -0
  7. package/dist/error-utils.d.ts.map +1 -0
  8. package/dist/error-utils.js +67 -0
  9. package/dist/error-utils.js.map +1 -0
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +148 -22
  13. package/dist/index.js.map +1 -1
  14. package/dist/live-edit.d.ts.map +1 -1
  15. package/dist/live-edit.js +241 -102
  16. package/dist/live-edit.js.map +1 -1
  17. package/dist/logging.d.ts +6 -0
  18. package/dist/logging.d.ts.map +1 -0
  19. package/dist/logging.js +58 -0
  20. package/dist/logging.js.map +1 -0
  21. package/dist/react/index.d.ts +1 -1
  22. package/dist/react/index.d.ts.map +1 -1
  23. package/dist/react/index.js.map +1 -1
  24. package/dist/react/no-mess-preview.d.ts +2 -6
  25. package/dist/react/no-mess-preview.d.ts.map +1 -1
  26. package/dist/react/no-mess-preview.js.map +1 -1
  27. package/dist/react/use-no-mess-live-edit.d.ts.map +1 -1
  28. package/dist/react/use-no-mess-live-edit.js +32 -2
  29. package/dist/react/use-no-mess-live-edit.js.map +1 -1
  30. package/dist/react/use-no-mess-preview.d.ts.map +1 -1
  31. package/dist/react/use-no-mess-preview.js +29 -6
  32. package/dist/react/use-no-mess-preview.js.map +1 -1
  33. package/dist/schema/define-content-type.d.ts +13 -0
  34. package/dist/schema/define-content-type.d.ts.map +1 -0
  35. package/dist/schema/define-content-type.js +33 -0
  36. package/dist/schema/define-content-type.js.map +1 -0
  37. package/dist/schema/define-schema.d.ts +9 -0
  38. package/dist/schema/define-schema.d.ts.map +1 -0
  39. package/dist/schema/define-schema.js +9 -0
  40. package/dist/schema/define-schema.js.map +1 -0
  41. package/dist/schema/field-builders.d.ts +33 -0
  42. package/dist/schema/field-builders.d.ts.map +1 -0
  43. package/dist/schema/field-builders.js +25 -0
  44. package/dist/schema/field-builders.js.map +1 -0
  45. package/dist/schema/index.d.ts +12 -0
  46. package/dist/schema/index.d.ts.map +1 -0
  47. package/dist/schema/index.js +7 -0
  48. package/dist/schema/index.js.map +1 -0
  49. package/dist/schema/parse-schema.d.ts +23 -0
  50. package/dist/schema/parse-schema.d.ts.map +1 -0
  51. package/dist/schema/parse-schema.js +419 -0
  52. package/dist/schema/parse-schema.js.map +1 -0
  53. package/dist/schema/schema-types.d.ts +28 -0
  54. package/dist/schema/schema-types.d.ts.map +1 -0
  55. package/dist/schema/schema-types.js +17 -0
  56. package/dist/schema/schema-types.js.map +1 -0
  57. package/dist/schema/serialize-schema.d.ts +11 -0
  58. package/dist/schema/serialize-schema.d.ts.map +1 -0
  59. package/dist/schema/serialize-schema.js +85 -0
  60. package/dist/schema/serialize-schema.js.map +1 -0
  61. package/dist/types.d.ts +49 -2
  62. package/dist/types.d.ts.map +1 -1
  63. package/dist/types.js +22 -4
  64. package/dist/types.js.map +1 -1
  65. package/package.json +8 -3
package/dist/types.d.ts CHANGED
@@ -1,5 +1,31 @@
1
- export declare const DEFAULT_API_URL = "https://api.no-mess.xyz";
1
+ export declare const DEFAULT_API_URL = "https://api.nomess.xyz";
2
2
  export declare const DEFAULT_ADMIN_ORIGIN = "https://admin.no-mess.xyz";
3
+ export type NoMessErrorKind = "config" | "network" | "http" | "response" | "crypto" | "protocol" | "runtime";
4
+ export type NoMessErrorCode = "secret_key_in_browser" | "request_failed" | "http_error" | "invalid_success_response" | "invalid_error_response" | "crypto_unavailable" | "invalid_session_secret" | "preview_message_invalid" | "preview_exchange_failed" | "preview_postmessage_failed" | "live_edit_runtime_failed";
5
+ export type NoMessLogLevel = "debug" | "info" | "warn" | "error";
6
+ export interface NoMessLogEvent {
7
+ level: NoMessLogLevel;
8
+ code: NoMessErrorCode;
9
+ message: string;
10
+ scope: string;
11
+ operation?: string;
12
+ error?: NoMessError;
13
+ timestamp: string;
14
+ context: Record<string, unknown>;
15
+ }
16
+ export type NoMessLogger = (event: NoMessLogEvent) => void;
17
+ export interface NoMessErrorOptions {
18
+ kind?: NoMessErrorKind;
19
+ code?: NoMessErrorCode;
20
+ status?: number;
21
+ retryable?: boolean;
22
+ operation?: string;
23
+ method?: string;
24
+ url?: string;
25
+ requestId?: string;
26
+ details?: Record<string, unknown>;
27
+ cause?: unknown;
28
+ }
3
29
  export interface NoMessClientConfig {
4
30
  apiUrl?: string;
5
31
  /**
@@ -10,6 +36,7 @@ export interface NoMessClientConfig {
10
36
  * - **Publishable key**: Safe for client-side use. Read-only access to published content.
11
37
  */
12
38
  apiKey: string;
39
+ logger?: NoMessLogger;
13
40
  }
14
41
  /** Returns true if the key is a publishable key (nm_pub_ prefix). */
15
42
  export declare function isPublishableKey(key: string): boolean;
@@ -78,16 +105,21 @@ export interface PreviewHandlerConfig {
78
105
  adminOrigin: string;
79
106
  onEntry: (entry: NoMessEntry) => void;
80
107
  onError?: (error: Error) => void;
108
+ logger?: NoMessLogger;
81
109
  }
82
110
  export interface UseNoMessPreviewConfig {
83
111
  apiKey: string;
84
112
  apiUrl?: string;
85
113
  adminOrigin?: string;
114
+ logger?: NoMessLogger;
86
115
  }
116
+ export type UseNoMessPreviewStatus = "waiting-for-admin" | "exchanging-session" | "ready" | "error";
87
117
  export interface UseNoMessPreviewResult<T extends NoMessEntry = NoMessEntry> {
88
118
  entry: T | null;
89
119
  error: Error | null;
120
+ errorDetails: NoMessError | null;
90
121
  isLoading: boolean;
122
+ status: UseNoMessPreviewStatus;
91
123
  }
92
124
  export interface ContentTypeSchema {
93
125
  name: string;
@@ -148,19 +180,34 @@ export interface LiveEditConfig {
148
180
  onFieldClicked?: (fieldName: string) => void;
149
181
  onEnter?: () => void;
150
182
  onExit?: () => void;
183
+ onError?: (error: Error) => void;
184
+ logger?: NoMessLogger;
151
185
  }
152
186
  export interface LiveEditHandle {
153
187
  cleanup: () => void;
154
188
  }
155
189
  export interface UseNoMessLiveEditConfig {
156
190
  adminOrigin?: string;
191
+ logger?: NoMessLogger;
157
192
  }
158
193
  export interface UseNoMessLiveEditResult {
159
194
  isLiveEditActive: boolean;
160
195
  fieldOverrides: Record<string, unknown>;
196
+ error: Error | null;
197
+ errorDetails: NoMessError | null;
161
198
  }
162
199
  export declare class NoMessError extends Error {
163
- status: number;
200
+ readonly kind: NoMessErrorKind;
201
+ readonly code: NoMessErrorCode;
202
+ readonly status?: number;
203
+ readonly retryable: boolean;
204
+ readonly operation?: string;
205
+ readonly method?: string;
206
+ readonly url?: string;
207
+ readonly requestId?: string;
208
+ readonly details?: Record<string, unknown>;
209
+ readonly cause?: unknown;
164
210
  constructor(message: string, status: number);
211
+ constructor(message: string, options?: NoMessErrorOptions);
165
212
  }
166
213
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,4 +1,4 @@
1
- export const DEFAULT_API_URL = "https://api.no-mess.xyz";
1
+ export const DEFAULT_API_URL = "https://api.nomess.xyz";
2
2
  export const DEFAULT_ADMIN_ORIGIN = "https://admin.no-mess.xyz";
3
3
  /** Returns true if the key is a publishable key (nm_pub_ prefix). */
4
4
  export function isPublishableKey(key) {
@@ -9,10 +9,28 @@ export function isSecretKey(key) {
9
9
  return key.startsWith("nm_") && !key.startsWith("nm_pub_");
10
10
  }
11
11
  export class NoMessError extends Error {
12
- constructor(message, status) {
13
- super(message);
12
+ constructor(message, statusOrOptions) {
13
+ const options = typeof statusOrOptions === "number"
14
+ ? { status: statusOrOptions }
15
+ : (statusOrOptions ?? {});
16
+ const formattedMessage = typeof options.status === "number" &&
17
+ !message.endsWith(`(HTTP ${options.status})`)
18
+ ? `${message} (HTTP ${options.status})`
19
+ : message;
20
+ super(formattedMessage);
14
21
  this.name = "NoMessError";
15
- this.status = status;
22
+ this.kind = options.kind ?? "runtime";
23
+ this.code = options.code ?? "live_edit_runtime_failed";
24
+ this.status = options.status;
25
+ this.retryable =
26
+ options.retryable ?? (typeof options.status === "number" && options.status >= 500);
27
+ this.operation = options.operation;
28
+ this.method = options.method;
29
+ this.url = options.url;
30
+ this.requestId = options.requestId;
31
+ this.details = options.details;
32
+ this.cause = options.cause;
33
+ Object.setPrototypeOf(this, new.target.prototype);
16
34
  }
17
35
  }
18
36
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAC;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAchE,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC;AAuJD,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGpC,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAiEhE,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC7D,CAAC;AAsKD,MAAM,OAAO,WAAY,SAAQ,KAAK;IAcpC,YACE,OAAe,EACf,eAA6C;QAE7C,MAAM,OAAO,GACX,OAAO,eAAe,KAAK,QAAQ;YACjC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE;YAC7B,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAC9B,MAAM,gBAAgB,GACpB,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAClC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC;YAC3C,CAAC,CAAC,GAAG,OAAO,UAAU,OAAO,CAAC,MAAM,GAAG;YACvC,CAAC,CAAC,OAAO,CAAC;QAEd,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,0BAA0B,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS;YACZ,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACrF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@no-mess/client",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript SDK for the no-mess headless CMS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,6 +13,10 @@
13
13
  "./react": {
14
14
  "import": "./dist/react/index.js",
15
15
  "types": "./dist/react/index.d.ts"
16
+ },
17
+ "./schema": {
18
+ "import": "./dist/schema/index.js",
19
+ "types": "./dist/schema/index.d.ts"
16
20
  }
17
21
  },
18
22
  "files": [
@@ -32,12 +36,13 @@
32
36
  },
33
37
  "repository": {
34
38
  "type": "git",
35
- "url": "https://github.com/jjjjjjjjjjjjjjjjacob/no-mess.git",
39
+ "url": "git+https://github.com/jjjjjjjjjjjjjjjjacob/no-mess.git",
36
40
  "directory": "packages/no-mess-client"
37
41
  },
38
42
  "license": "MIT",
39
43
  "publishConfig": {
40
- "access": "public"
44
+ "access": "public",
45
+ "provenance": true
41
46
  },
42
47
  "devDependencies": {
43
48
  "@testing-library/react": "^16.0.0",