katanakit-js 5.0.0 → 5.1.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 (93) hide show
  1. package/README.md +35 -1
  2. package/dist/adapters/insforge/index.d.ts +3 -0
  3. package/dist/adapters/insforge/index.d.ts.map +1 -0
  4. package/dist/adapters/insforge/index.js +2 -0
  5. package/dist/adapters/insforge/index.js.map +1 -0
  6. package/dist/adapters/insforge/insforge.service.d.ts +116 -0
  7. package/dist/adapters/insforge/insforge.service.d.ts.map +1 -0
  8. package/dist/adapters/insforge/insforge.service.js +449 -0
  9. package/dist/adapters/insforge/insforge.service.js.map +1 -0
  10. package/dist/adapters/notion/notion.service.d.ts.map +1 -1
  11. package/dist/adapters/notion/notion.service.js +58 -19
  12. package/dist/adapters/notion/notion.service.js.map +1 -1
  13. package/dist/adapters/wordpress/wordpress.service.d.ts.map +1 -1
  14. package/dist/adapters/wordpress/wordpress.service.js +161 -44
  15. package/dist/adapters/wordpress/wordpress.service.js.map +1 -1
  16. package/dist/config/seo.service.d.ts.map +1 -1
  17. package/dist/config/seo.service.js +42 -4
  18. package/dist/config/seo.service.js.map +1 -1
  19. package/dist/core/index.d.ts +3 -0
  20. package/dist/core/index.d.ts.map +1 -1
  21. package/dist/core/index.js +3 -0
  22. package/dist/core/index.js.map +1 -1
  23. package/dist/core/services/media.service.d.ts +97 -0
  24. package/dist/core/services/media.service.d.ts.map +1 -0
  25. package/dist/core/services/media.service.js +239 -0
  26. package/dist/core/services/media.service.js.map +1 -0
  27. package/dist/core/services/validation.service.d.ts +22 -0
  28. package/dist/core/services/validation.service.d.ts.map +1 -0
  29. package/dist/core/services/validation.service.js +41 -0
  30. package/dist/core/services/validation.service.js.map +1 -0
  31. package/dist/core/services/youtube.service.d.ts +79 -0
  32. package/dist/core/services/youtube.service.d.ts.map +1 -0
  33. package/dist/core/services/youtube.service.js +388 -0
  34. package/dist/core/services/youtube.service.js.map +1 -0
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/dist/infrastructure/index.d.ts +1 -0
  40. package/dist/infrastructure/index.d.ts.map +1 -1
  41. package/dist/infrastructure/index.js +1 -0
  42. package/dist/infrastructure/index.js.map +1 -1
  43. package/dist/infrastructure/media/media.service.d.ts +15 -0
  44. package/dist/infrastructure/media/media.service.d.ts.map +1 -0
  45. package/dist/infrastructure/media/media.service.js +44 -0
  46. package/dist/infrastructure/media/media.service.js.map +1 -0
  47. package/dist/schemas/access.schema.d.ts +69 -0
  48. package/dist/schemas/access.schema.d.ts.map +1 -0
  49. package/dist/schemas/access.schema.js +36 -0
  50. package/dist/schemas/access.schema.js.map +1 -0
  51. package/dist/schemas/ai.schema.d.ts +53 -0
  52. package/dist/schemas/ai.schema.d.ts.map +1 -0
  53. package/dist/schemas/ai.schema.js +34 -0
  54. package/dist/schemas/ai.schema.js.map +1 -0
  55. package/dist/schemas/common.schema.d.ts +49 -0
  56. package/dist/schemas/common.schema.d.ts.map +1 -0
  57. package/dist/schemas/common.schema.js +23 -0
  58. package/dist/schemas/common.schema.js.map +1 -0
  59. package/dist/schemas/core.schema.d.ts +164 -0
  60. package/dist/schemas/core.schema.d.ts.map +1 -0
  61. package/dist/schemas/core.schema.js +109 -0
  62. package/dist/schemas/core.schema.js.map +1 -0
  63. package/dist/schemas/index.d.ts +11 -0
  64. package/dist/schemas/index.d.ts.map +1 -0
  65. package/dist/schemas/index.js +11 -0
  66. package/dist/schemas/index.js.map +1 -0
  67. package/dist/schemas/insforge.schema.d.ts +69 -0
  68. package/dist/schemas/insforge.schema.d.ts.map +1 -0
  69. package/dist/schemas/insforge.schema.js +82 -0
  70. package/dist/schemas/insforge.schema.js.map +1 -0
  71. package/dist/schemas/media.schema.d.ts +51 -0
  72. package/dist/schemas/media.schema.d.ts.map +1 -0
  73. package/dist/schemas/media.schema.js +50 -0
  74. package/dist/schemas/media.schema.js.map +1 -0
  75. package/dist/schemas/notion.schema.d.ts +1058 -0
  76. package/dist/schemas/notion.schema.d.ts.map +1 -0
  77. package/dist/schemas/notion.schema.js +248 -0
  78. package/dist/schemas/notion.schema.js.map +1 -0
  79. package/dist/schemas/rss.schema.d.ts +35 -0
  80. package/dist/schemas/rss.schema.d.ts.map +1 -0
  81. package/dist/schemas/rss.schema.js +44 -0
  82. package/dist/schemas/rss.schema.js.map +1 -0
  83. package/dist/schemas/wordpress.schema.d.ts +1304 -0
  84. package/dist/schemas/wordpress.schema.d.ts.map +1 -0
  85. package/dist/schemas/wordpress.schema.js +404 -0
  86. package/dist/schemas/wordpress.schema.js.map +1 -0
  87. package/dist/schemas/youtube.schema.d.ts +122 -0
  88. package/dist/schemas/youtube.schema.d.ts.map +1 -0
  89. package/dist/schemas/youtube.schema.js +113 -0
  90. package/dist/schemas/youtube.schema.js.map +1 -0
  91. package/dist/types/index.d.ts +150 -770
  92. package/dist/types/index.d.ts.map +1 -1
  93. package/package.json +23 -3
@@ -0,0 +1,69 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Config for the InsForge adapter. InsForge is the database fallback
4
+ * (primary data layer is Cloudflare); storage and edge functions
5
+ * are also available through the same client.
6
+ */
7
+ export declare const IfConfigSchema: z.ZodObject<{
8
+ baseUrl: z.ZodString;
9
+ anonKey: z.ZodOptional<z.ZodString>;
10
+ apiKey: z.ZodOptional<z.ZodString>;
11
+ accessToken: z.ZodOptional<z.ZodString>;
12
+ schema: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ /** Table name (bare; schema comes from config or query options). */
15
+ export declare const IfTableNameSchema: z.ZodString;
16
+ /** Bucket name. */
17
+ export declare const IfBucketSchema: z.ZodString;
18
+ /** Sort clause for table queries. */
19
+ export declare const IfOrderSchema: z.ZodObject<{
20
+ column: z.ZodString;
21
+ ascending: z.ZodOptional<z.ZodBoolean>;
22
+ }, z.core.$strip>;
23
+ /** Options for a table read. Filters map to equality clauses. */
24
+ export declare const IfTableQuerySchema: z.ZodObject<{
25
+ table: z.ZodString;
26
+ columns: z.ZodOptional<z.ZodString>;
27
+ filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
28
+ order: z.ZodOptional<z.ZodObject<{
29
+ column: z.ZodString;
30
+ ascending: z.ZodOptional<z.ZodBoolean>;
31
+ }, z.core.$strip>>;
32
+ limit: z.ZodOptional<z.ZodNumber>;
33
+ offset: z.ZodOptional<z.ZodNumber>;
34
+ schema: z.ZodOptional<z.ZodString>;
35
+ }, z.core.$strip>;
36
+ /** Rows for insert (one or many). */
37
+ export declare const IfInsertRowsSchema: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
38
+ /** Patch for update (must be paired with filters — mass updates are refused). */
39
+ export declare const IfUpdatePatchSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
40
+ /** Options for an update or delete. Filters are REQUIRED (no mass writes). */
41
+ export declare const IfWriteQuerySchema: z.ZodObject<{
42
+ table: z.ZodString;
43
+ filters: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
44
+ schema: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ /** Postgres function (RPC) call. */
47
+ export declare const IfRpcCallSchema: z.ZodObject<{
48
+ name: z.ZodString;
49
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
50
+ schema: z.ZodOptional<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ /** Bucket + object key reference for storage operations. */
53
+ export declare const IfStorageRefSchema: z.ZodObject<{
54
+ bucket: z.ZodString;
55
+ path: z.ZodString;
56
+ }, z.core.$strip>;
57
+ /** Options for listing bucket objects. */
58
+ export declare const IfListOptionsSchema: z.ZodObject<{
59
+ prefix: z.ZodOptional<z.ZodString>;
60
+ search: z.ZodOptional<z.ZodString>;
61
+ limit: z.ZodOptional<z.ZodNumber>;
62
+ offset: z.ZodOptional<z.ZodNumber>;
63
+ }, z.core.$strip>;
64
+ /** Edge function invocation. */
65
+ export declare const IfInvokeOptionsSchema: z.ZodObject<{
66
+ name: z.ZodString;
67
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
68
+ }, z.core.$strip>;
69
+ //# sourceMappingURL=insforge.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insforge.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/insforge.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;iBAWzB,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,aAAoB,CAAC;AAEnD,mBAAmB;AACnB,eAAO,MAAM,cAAc,aAAoB,CAAC;AAEhD,qCAAqC;AACrC,eAAO,MAAM,aAAa;;;iBAGxB,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAe7B,CAAC;AAEH,qCAAqC;AACrC,eAAO,MAAM,kBAAkB,oDAAoD,CAAC;AAEpF,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,wCAAoC,CAAC;AAErE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB;;;;iBAQ7B,CAAC;AAEH,oCAAoC;AACpC,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH,4DAA4D;AAC5D,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,gCAAgC;AAChC,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Config for the InsForge adapter. InsForge is the database fallback
4
+ * (primary data layer is Cloudflare); storage and edge functions
5
+ * are also available through the same client.
6
+ */
7
+ export const IfConfigSchema = z.object({
8
+ /** InsForge backend URL (e.g. `https://appKey.region.insforge.app`). */
9
+ baseUrl: z.string().min(1),
10
+ /** Public anon key (browser-safe client). */
11
+ anonKey: z.string().optional(),
12
+ /** Project-admin key — server-only, use `createAdminClient` under the hood. */
13
+ apiKey: z.string().optional(),
14
+ /** User JWT to run requests as that user (RLS applies). */
15
+ accessToken: z.string().optional(),
16
+ /** Default PostgREST schema (default: `public`). */
17
+ schema: z.string().optional(),
18
+ });
19
+ /** Table name (bare; schema comes from config or query options). */
20
+ export const IfTableNameSchema = z.string().min(1);
21
+ /** Bucket name. */
22
+ export const IfBucketSchema = z.string().min(1);
23
+ /** Sort clause for table queries. */
24
+ export const IfOrderSchema = z.object({
25
+ column: z.string().min(1),
26
+ ascending: z.boolean().optional(),
27
+ });
28
+ /** Options for a table read. Filters map to equality clauses. */
29
+ export const IfTableQuerySchema = z.object({
30
+ /** Table name (bare; schema comes from config or `schema`). */
31
+ table: z.string().min(1),
32
+ /** Columns selector (default: `*`). */
33
+ columns: z.string().optional(),
34
+ /** Equality filters (`column: value`). */
35
+ filters: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional(),
36
+ /** Sort clause. */
37
+ order: IfOrderSchema.optional(),
38
+ /** Max rows. */
39
+ limit: z.number().int().positive().optional(),
40
+ /** First row (zero-based). */
41
+ offset: z.number().int().nonnegative().optional(),
42
+ /** Override the PostgREST schema for this query. */
43
+ schema: z.string().optional(),
44
+ });
45
+ /** Rows for insert (one or many). */
46
+ export const IfInsertRowsSchema = z.array(z.record(z.string(), z.unknown())).min(1);
47
+ /** Patch for update (must be paired with filters — mass updates are refused). */
48
+ export const IfUpdatePatchSchema = z.record(z.string(), z.unknown());
49
+ /** Options for an update or delete. Filters are REQUIRED (no mass writes). */
50
+ export const IfWriteQuerySchema = z.object({
51
+ table: z.string().min(1),
52
+ filters: z
53
+ .record(z.string(), z.union([z.string(), z.number(), z.boolean()]))
54
+ .refine((filters) => Object.keys(filters).length > 0, {
55
+ message: "filters must not be empty (mass writes are refused)",
56
+ }),
57
+ schema: z.string().optional(),
58
+ });
59
+ /** Postgres function (RPC) call. */
60
+ export const IfRpcCallSchema = z.object({
61
+ name: z.string().min(1),
62
+ params: z.record(z.string(), z.unknown()).optional(),
63
+ schema: z.string().optional(),
64
+ });
65
+ /** Bucket + object key reference for storage operations. */
66
+ export const IfStorageRefSchema = z.object({
67
+ bucket: z.string().min(1),
68
+ path: z.string().min(1),
69
+ });
70
+ /** Options for listing bucket objects. */
71
+ export const IfListOptionsSchema = z.object({
72
+ prefix: z.string().optional(),
73
+ search: z.string().optional(),
74
+ limit: z.number().int().positive().max(1000).optional(),
75
+ offset: z.number().int().nonnegative().optional(),
76
+ });
77
+ /** Edge function invocation. */
78
+ export const IfInvokeOptionsSchema = z.object({
79
+ name: z.string().min(1),
80
+ body: z.record(z.string(), z.unknown()).optional(),
81
+ });
82
+ //# sourceMappingURL=insforge.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insforge.schema.js","sourceRoot":"","sources":["../../src/schemas/insforge.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,wEAAwE;IACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,6CAA6C;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,+EAA+E;IAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oDAAoD;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEnD,mBAAmB;AACnB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhD,qCAAqC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,+DAA+D;IAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,uCAAuC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxF,mBAAmB;IACnB,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE;IAC/B,gBAAgB;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,8BAA8B;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACjD,oDAAoD;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEpF,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAErE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC;SACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACrD,OAAO,EAAE,qDAAqD;KAC9D,CAAC;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,oCAAoC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvB,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,gCAAgC;AAChC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { z } from "zod";
2
+ /** Where a media source comes from. `file` = direct mp4/webm (native `<video>`). */
3
+ export declare const MediaProviderSchema: z.ZodEnum<{
4
+ unknown: "unknown";
5
+ file: "file";
6
+ youtube: "youtube";
7
+ vimeo: "vimeo";
8
+ }>;
9
+ /** Normalized media source: provider + stable id or direct src. */
10
+ export declare const MediaSourceSchema: z.ZodObject<{
11
+ provider: z.ZodEnum<{
12
+ unknown: "unknown";
13
+ file: "file";
14
+ youtube: "youtube";
15
+ vimeo: "vimeo";
16
+ }>;
17
+ id: z.ZodString;
18
+ raw: z.ZodString;
19
+ }, z.core.$strip>;
20
+ /** Options for the YouTube nocookie embed URL. */
21
+ export declare const YoutubeEmbedOptionsSchema: z.ZodObject<{
22
+ start: z.ZodOptional<z.ZodNumber>;
23
+ end: z.ZodOptional<z.ZodNumber>;
24
+ autoplay: z.ZodOptional<z.ZodBoolean>;
25
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
26
+ }, z.core.$strip>;
27
+ /** Thumbnail quality for `i.ytimg.com`. */
28
+ export declare const YoutubeThumbnailQualitySchema: z.ZodEnum<{
29
+ default: "default";
30
+ mqdefault: "mqdefault";
31
+ hqdefault: "hqdefault";
32
+ sddefault: "sddefault";
33
+ maxresdefault: "maxresdefault";
34
+ }>;
35
+ /** Input for `useBuildVideoEmbed` (core) — one `src`, unified output. */
36
+ export declare const SmartVideoOptionsSchema: z.ZodObject<{
37
+ src: z.ZodString;
38
+ title: z.ZodString;
39
+ caption: z.ZodOptional<z.ZodString>;
40
+ poster: z.ZodOptional<z.ZodString>;
41
+ className: z.ZodOptional<z.ZodString>;
42
+ aspect: z.ZodOptional<z.ZodString>;
43
+ facade: z.ZodOptional<z.ZodBoolean>;
44
+ youtube: z.ZodOptional<z.ZodObject<{
45
+ start: z.ZodOptional<z.ZodNumber>;
46
+ end: z.ZodOptional<z.ZodNumber>;
47
+ autoplay: z.ZodOptional<z.ZodBoolean>;
48
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
49
+ }, z.core.$strip>>;
50
+ }, z.core.$strip>;
51
+ //# sourceMappingURL=media.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/media.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,eAAO,MAAM,mBAAmB;;;;;EAAkD,CAAC;AAEnF,mEAAmE;AACnE,eAAO,MAAM,iBAAiB;;;;;;;;;iBAM5B,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,yBAAyB;;;;;iBASpC,CAAC;AAEH,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B;;;;;;EAMxC,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAiBlC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { z } from "zod";
2
+ /** Where a media source comes from. `file` = direct mp4/webm (native `<video>`). */
3
+ export const MediaProviderSchema = z.enum(["youtube", "vimeo", "file", "unknown"]);
4
+ /** Normalized media source: provider + stable id or direct src. */
5
+ export const MediaSourceSchema = z.object({
6
+ provider: MediaProviderSchema,
7
+ /** Video id for youtube/vimeo, full URL for `file`. */
8
+ id: z.string().min(1),
9
+ /** Original input (URL or bare id). */
10
+ raw: z.string(),
11
+ });
12
+ /** Options for the YouTube nocookie embed URL. */
13
+ export const YoutubeEmbedOptionsSchema = z.object({
14
+ /** Start time in seconds. */
15
+ start: z.number().nonnegative().optional(),
16
+ /** End time in seconds. */
17
+ end: z.number().nonnegative().optional(),
18
+ /** Autoplay on iframe creation (facade clicks pass `1`). */
19
+ autoplay: z.boolean().optional(),
20
+ /** Extra `playerVars` merged into the query string. */
21
+ params: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional(),
22
+ });
23
+ /** Thumbnail quality for `i.ytimg.com`. */
24
+ export const YoutubeThumbnailQualitySchema = z.enum([
25
+ "default",
26
+ "mqdefault",
27
+ "hqdefault",
28
+ "sddefault",
29
+ "maxresdefault",
30
+ ]);
31
+ /** Input for `useBuildVideoEmbed` (core) — one `src`, unified output. */
32
+ export const SmartVideoOptionsSchema = z.object({
33
+ /** YouTube URL/id, Vimeo URL/id, or direct `.mp4`/`.webm` URL. */
34
+ src: z.string().min(1),
35
+ /** Accessible title. Used as `<iframe title>` / `<video aria-label>`. */
36
+ title: z.string().min(1),
37
+ /** Optional `<figcaption>` text. */
38
+ caption: z.string().optional(),
39
+ /** Poster for native `<video>` or facade thumbnail override. */
40
+ poster: z.string().optional(),
41
+ /** Extra CSS class on the `<figure>` wrapper. */
42
+ className: z.string().optional(),
43
+ /** Aspect ratio box: `16/9` (default) or `4/3`, `1/1`, `9/16`. */
44
+ aspect: z.string().optional(),
45
+ /** Render the click-to-play facade for embeds (no heavy iframe on load). */
46
+ facade: z.boolean().optional(),
47
+ /** YouTube player options (only for `youtube` provider). */
48
+ youtube: YoutubeEmbedOptionsSchema.optional(),
49
+ });
50
+ //# sourceMappingURL=media.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.schema.js","sourceRoot":"","sources":["../../src/schemas/media.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnF,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,mBAAmB;IAC7B,uDAAuD;IACvD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,uCAAuC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC;AAEH,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,6BAA6B;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC1C,2BAA2B;IAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxC,4DAA4D;IAC5D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,uDAAuD;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvF,CAAC,CAAC;AAEH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,IAAI,CAAC;IACnD,SAAS;IACT,WAAW;IACX,WAAW;IACX,WAAW;IACX,eAAe;CACf,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,kEAAkE;IAClE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,oCAAoC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gEAAgE;IAChE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,iDAAiD;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,kEAAkE;IAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,4DAA4D;IAC5D,OAAO,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}