@ourofoundation/ouro-js 1.1.1 → 1.1.2

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 (96) hide show
  1. package/dist/index.d.ts +18 -19
  2. package/dist/index.esm.js +2 -0
  3. package/dist/index.esm.js.map +1 -0
  4. package/dist/index.js +2 -81
  5. package/dist/index.js.map +1 -1
  6. package/dist/schema/assets.d.ts +100 -100
  7. package/dist/schema/assets.esm.js +2 -0
  8. package/dist/schema/assets.esm.js.map +1 -0
  9. package/dist/schema/assets.js +2 -95
  10. package/dist/schema/assets.js.map +1 -1
  11. package/dist/schema/blueprints.d.ts +95 -95
  12. package/dist/schema/blueprints.esm.js +2 -0
  13. package/dist/schema/blueprints.esm.js.map +1 -0
  14. package/dist/schema/blueprints.js +2 -38
  15. package/dist/schema/blueprints.js.map +1 -1
  16. package/dist/schema/comments.d.ts +81 -81
  17. package/dist/schema/comments.esm.js +2 -0
  18. package/dist/schema/comments.esm.js.map +1 -0
  19. package/dist/schema/comments.js +2 -32
  20. package/dist/schema/comments.js.map +1 -1
  21. package/dist/schema/common.d.ts +32 -32
  22. package/dist/schema/common.esm.js +2 -0
  23. package/dist/schema/common.esm.js.map +1 -0
  24. package/dist/schema/common.js +2 -87
  25. package/dist/schema/common.js.map +1 -1
  26. package/dist/schema/conversations.d.ts +139 -139
  27. package/dist/schema/conversations.esm.js +2 -0
  28. package/dist/schema/conversations.esm.js.map +1 -0
  29. package/dist/schema/conversations.js +2 -54
  30. package/dist/schema/conversations.js.map +1 -1
  31. package/dist/schema/datasets.d.ts +202 -202
  32. package/dist/schema/datasets.esm.js +2 -0
  33. package/dist/schema/datasets.esm.js.map +1 -0
  34. package/dist/schema/datasets.js +2 -49
  35. package/dist/schema/datasets.js.map +1 -1
  36. package/dist/schema/files.d.ts +185 -185
  37. package/dist/schema/files.esm.js +2 -0
  38. package/dist/schema/files.esm.js.map +1 -0
  39. package/dist/schema/files.js +2 -50
  40. package/dist/schema/files.js.map +1 -1
  41. package/dist/schema/index.d.ts +14 -80
  42. package/dist/schema/notifications.d.ts +22 -22
  43. package/dist/schema/notifications.esm.js +2 -0
  44. package/dist/schema/notifications.esm.js.map +1 -0
  45. package/dist/schema/notifications.js +2 -46
  46. package/dist/schema/notifications.js.map +1 -1
  47. package/dist/schema/organizations.d.ts +11 -11
  48. package/dist/schema/organizations.esm.js +2 -0
  49. package/dist/schema/organizations.esm.js.map +1 -0
  50. package/dist/schema/organizations.js +2 -33
  51. package/dist/schema/organizations.js.map +1 -1
  52. package/dist/schema/posts.d.ts +298 -298
  53. package/dist/schema/posts.esm.js +2 -0
  54. package/dist/schema/posts.esm.js.map +1 -0
  55. package/dist/schema/posts.js +2 -81
  56. package/dist/schema/posts.js.map +1 -1
  57. package/dist/schema/replications.d.ts +115 -115
  58. package/dist/schema/replications.esm.js +2 -0
  59. package/dist/schema/replications.esm.js.map +1 -0
  60. package/dist/schema/replications.js +2 -42
  61. package/dist/schema/replications.js.map +1 -1
  62. package/dist/schema/services.d.ts +14 -14
  63. package/dist/schema/services.esm.js +2 -0
  64. package/dist/schema/services.esm.js.map +1 -0
  65. package/dist/schema/services.js +2 -39
  66. package/dist/schema/services.js.map +1 -1
  67. package/dist/schema/teams.d.ts +85 -85
  68. package/dist/schema/teams.esm.js +2 -0
  69. package/dist/schema/teams.esm.js.map +1 -0
  70. package/dist/schema/teams.js +2 -57
  71. package/dist/schema/teams.js.map +1 -1
  72. package/dist/schema/users.d.ts +4 -4
  73. package/dist/schema/users.esm.js +2 -0
  74. package/dist/schema/users.esm.js.map +1 -0
  75. package/dist/schema/users.js +2 -35
  76. package/dist/schema/users.js.map +1 -1
  77. package/dist/types/index.d.ts +14 -0
  78. package/dist/utils/air/index.d.ts +1 -1
  79. package/dist/utils/air/index.esm.js +2 -0
  80. package/dist/utils/air/index.esm.js.map +1 -0
  81. package/dist/utils/air/index.js +2 -51
  82. package/dist/utils/air/index.js.map +1 -1
  83. package/dist/utils/air/markdown-parser.esm.js +2 -0
  84. package/dist/utils/air/markdown-parser.esm.js.map +1 -0
  85. package/dist/utils/air/markdown-parser.js +2 -118
  86. package/dist/utils/air/markdown-parser.js.map +1 -1
  87. package/dist/utils/dataset.esm.js +2 -0
  88. package/dist/utils/dataset.esm.js.map +1 -0
  89. package/dist/utils/dataset.js +2 -19
  90. package/dist/utils/dataset.js.map +1 -1
  91. package/dist/utils/navigate.esm.js +2 -0
  92. package/dist/utils/navigate.esm.js.map +1 -0
  93. package/dist/utils/navigate.js +2 -56
  94. package/dist/utils/navigate.js.map +1 -1
  95. package/package.json +21 -4
  96. package/rollup.config.js +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams.esm.js","sources":["../../src/schema/teams.ts"],"sourcesContent":["import { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\n\nimport { OrganizationsSchema } from \"./organizations\";\nimport { ProfileSchema } from \"./users\";\n\nconst TeamSchema = z.object({\n id: z.string().uuid(),\n org_id: z.string().uuid(),\n name: z.string(),\n description: z.string().nullable().optional(),\n default_role: RoleSchema,\n visibility: VisibilitySchema,\n created_at: z.string(),\n});\n\nconst CreateTeamSchema = TeamSchema.extend({\n id: z.string().default(() => uuidv7()),\n default_role: RoleSchema.default(\"write\").refine(\n (v) => v === \"read\" || v === \"write\"\n ),\n visibility: VisibilitySchema.default(\"public\").refine(\n (v) => v === \"public\" || v === \"organization\"\n ),\n created_at: z.string().default(() => new Date().toISOString()),\n});\n\nconst ReadTeamSchema = TeamSchema.extend({\n userMembership: z\n .object({\n user_id: z.string().uuid(),\n role: RoleSchema,\n })\n .optional()\n .nullable(),\n memberCount: z.number(),\n members: z.array(\n z.object({\n user_id: z.string().uuid(),\n role: RoleSchema,\n user: ProfileSchema.partial().optional().nullable(),\n })\n ),\n organization: OrganizationsSchema.partial().optional().nullable(),\n});\n\nconst ReadTeamsSchema = z.array(\n ReadTeamSchema.extend({\n label: z.string(),\n value: z.string(),\n })\n);\n\nconst UpdateTeamSchema = TeamSchema.partial()\n .omit({\n org_id: true,\n created_at: true,\n })\n .extend({\n id: z.string().uuid(),\n });\n\nexport {\n TeamSchema,\n CreateTeamSchema,\n ReadTeamSchema,\n ReadTeamsSchema,\n UpdateTeamSchema,\n};\nexport type Team = z.infer<typeof TeamSchema>;\nexport type CreateTeam = z.infer<typeof CreateTeamSchema>;\nexport type ReadTeam = z.infer<typeof ReadTeamSchema>;\nexport type ReadTeams = z.infer<typeof ReadTeamsSchema>;\nexport type UpdateTeam = z.infer<typeof UpdateTeamSchema>;\n"],"names":["TeamSchema","z","object","id","string","uuid","org_id","name","description","nullable","optional","default_role","RoleSchema","visibility","VisibilitySchema","created_at","CreateTeamSchema","extend","default","uuidv7","refine","v","Date","toISOString","ReadTeamSchema","userMembership","user_id","role","memberCount","number","members","array","user","ProfileSchema","partial","organization","OrganizationsSchema","ReadTeamsSchema","label","value","UpdateTeamSchema","omit"],"mappings":"uOAQA,MAAMA,EAAaC,EAAEC,OAAO,CAC1BC,GAAIF,EAAEG,SAASC,OACfC,OAAQL,EAAEG,SAASC,OACnBE,KAAMN,EAAEG,SACRI,YAAaP,EAAEG,SAASK,WAAWC,WACnCC,aAAcC,EACdC,WAAYC,EACZC,WAAYd,EAAEG,WAGVY,EAAmBhB,EAAWiB,OAAO,CACzCd,GAAIF,EAAEG,SAASc,SAAQ,IAAMC,MAC7BR,aAAcC,EAAWM,QAAQ,SAASE,QACvCC,GAAY,SAANA,GAAsB,UAANA,IAEzBR,WAAYC,EAAiBI,QAAQ,UAAUE,QAC5CC,GAAY,WAANA,GAAwB,iBAANA,IAE3BN,WAAYd,EAAEG,SAASc,SAAQ,KAAM,IAAII,MAAOC,kBAG5CC,EAAiBxB,EAAWiB,OAAO,CACvCQ,eAAgBxB,EACbC,OAAO,CACNwB,QAASzB,EAAEG,SAASC,OACpBsB,KAAMf,IAEPF,WACAD,WACHmB,YAAa3B,EAAE4B,SACfC,QAAS7B,EAAE8B,MACT9B,EAAEC,OAAO,CACPwB,QAASzB,EAAEG,SAASC,OACpBsB,KAAMf,EACNoB,KAAMC,EAAcC,UAAUxB,WAAWD,cAG7C0B,aAAcC,EAAoBF,UAAUxB,WAAWD,aAGnD4B,EAAkBpC,EAAE8B,MACxBP,EAAeP,OAAO,CACpBqB,MAAOrC,EAAEG,SACTmC,MAAOtC,EAAEG,YAIPoC,EAAmBxC,EAAWkC,UACjCO,KAAK,CACJnC,QAAQ,EACRS,YAAY,IAEbE,OAAO,CACNd,GAAIF,EAAEG,SAASC"}
@@ -1,57 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateTeamSchema = exports.ReadTeamsSchema = exports.ReadTeamSchema = exports.CreateTeamSchema = exports.TeamSchema = void 0;
4
- const uuidv7_1 = require("uuidv7");
5
- const zod_1 = require("zod");
6
- const common_1 = require("./common");
7
- const organizations_1 = require("./organizations");
8
- const users_1 = require("./users");
9
- const TeamSchema = zod_1.z.object({
10
- id: zod_1.z.string().uuid(),
11
- org_id: zod_1.z.string().uuid(),
12
- name: zod_1.z.string(),
13
- description: zod_1.z.string().nullable().optional(),
14
- default_role: common_1.RoleSchema,
15
- visibility: common_1.VisibilitySchema,
16
- created_at: zod_1.z.string(),
17
- });
18
- exports.TeamSchema = TeamSchema;
19
- const CreateTeamSchema = TeamSchema.extend({
20
- id: zod_1.z.string().default(() => (0, uuidv7_1.uuidv7)()),
21
- default_role: common_1.RoleSchema.default("write").refine((v) => v === "read" || v === "write"),
22
- visibility: common_1.VisibilitySchema.default("public").refine((v) => v === "public" || v === "organization"),
23
- created_at: zod_1.z.string().default(() => new Date().toISOString()),
24
- });
25
- exports.CreateTeamSchema = CreateTeamSchema;
26
- const ReadTeamSchema = TeamSchema.extend({
27
- userMembership: zod_1.z
28
- .object({
29
- user_id: zod_1.z.string().uuid(),
30
- role: common_1.RoleSchema,
31
- })
32
- .optional()
33
- .nullable(),
34
- memberCount: zod_1.z.number(),
35
- members: zod_1.z.array(zod_1.z.object({
36
- user_id: zod_1.z.string().uuid(),
37
- role: common_1.RoleSchema,
38
- user: users_1.ProfileSchema.partial().optional().nullable(),
39
- })),
40
- organization: organizations_1.OrganizationsSchema.partial().optional().nullable(),
41
- });
42
- exports.ReadTeamSchema = ReadTeamSchema;
43
- const ReadTeamsSchema = zod_1.z.array(ReadTeamSchema.extend({
44
- label: zod_1.z.string(),
45
- value: zod_1.z.string(),
46
- }));
47
- exports.ReadTeamsSchema = ReadTeamsSchema;
48
- const UpdateTeamSchema = TeamSchema.partial()
49
- .omit({
50
- org_id: true,
51
- created_at: true,
52
- })
53
- .extend({
54
- id: zod_1.z.string().uuid(),
55
- });
56
- exports.UpdateTeamSchema = UpdateTeamSchema;
57
- //# sourceMappingURL=teams.js.map
1
+ "use strict";var e=require("uuidv7"),i=require("zod"),r=require("./common.js"),a=require("./organizations.js"),t=require("./users.js");const l=i.z.object({id:i.z.string().uuid(),org_id:i.z.string().uuid(),name:i.z.string(),description:i.z.string().nullable().optional(),default_role:r.RoleSchema,visibility:r.VisibilitySchema,created_at:i.z.string()}),n=l.extend({id:i.z.string().default((()=>e.uuidv7())),default_role:r.RoleSchema.default("write").refine((e=>"read"===e||"write"===e)),visibility:r.VisibilitySchema.default("public").refine((e=>"public"===e||"organization"===e)),created_at:i.z.string().default((()=>(new Date).toISOString()))}),o=l.extend({userMembership:i.z.object({user_id:i.z.string().uuid(),role:r.RoleSchema}).optional().nullable(),memberCount:i.z.number(),members:i.z.array(i.z.object({user_id:i.z.string().uuid(),role:r.RoleSchema,user:t.ProfileSchema.partial().optional().nullable()})),organization:a.OrganizationsSchema.partial().optional().nullable()}),u=i.z.array(o.extend({label:i.z.string(),value:i.z.string()})),s=l.partial().omit({org_id:!0,created_at:!0}).extend({id:i.z.string().uuid()});exports.CreateTeamSchema=n,exports.ReadTeamSchema=o,exports.ReadTeamsSchema=u,exports.TeamSchema=l,exports.UpdateTeamSchema=s;
2
+ //# sourceMappingURL=teams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/schema/teams.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,6BAAwB;AAExB,qCAAwD;AAExD,mDAAsD;AACtD,mCAAwC;AAExC,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACrB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,mBAAU;IACxB,UAAU,EAAE,yBAAgB;IAC5B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAuDD,gCAAU;AArDZ,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,eAAM,GAAE,CAAC;IACtC,YAAY,EAAE,mBAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,CACrC;IACD,UAAU,EAAE,yBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,cAAc,CAC9C;IACD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;CAC/D,CAAC,CAAC;AA6CD,4CAAgB;AA3ClB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IACvC,cAAc,EAAE,OAAC;SACd,MAAM,CAAC;QACN,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,mBAAU;KACjB,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,EAAE;IACb,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,OAAC,CAAC,KAAK,CACd,OAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,mBAAU;QAChB,IAAI,EAAE,qBAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACpD,CAAC,CACH;IACD,YAAY,EAAE,mCAAmB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClE,CAAC,CAAC;AA2BD,wCAAc;AAzBhB,MAAM,eAAe,GAAG,OAAC,CAAC,KAAK,CAC7B,cAAc,CAAC,MAAM,CAAC;IACpB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CACH,CAAC;AAqBA,0CAAe;AAnBjB,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,EAAE;KAC1C,IAAI,CAAC;IACJ,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;CACjB,CAAC;KACD,MAAM,CAAC;IACN,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;CACtB,CAAC,CAAC;AAaH,4CAAgB"}
1
+ {"version":3,"file":"teams.js","sources":["../../src/schema/teams.ts"],"sourcesContent":["import { uuidv7 } from \"uuidv7\";\nimport { z } from \"zod\";\n\nimport { RoleSchema, VisibilitySchema } from \"./common\";\n\nimport { OrganizationsSchema } from \"./organizations\";\nimport { ProfileSchema } from \"./users\";\n\nconst TeamSchema = z.object({\n id: z.string().uuid(),\n org_id: z.string().uuid(),\n name: z.string(),\n description: z.string().nullable().optional(),\n default_role: RoleSchema,\n visibility: VisibilitySchema,\n created_at: z.string(),\n});\n\nconst CreateTeamSchema = TeamSchema.extend({\n id: z.string().default(() => uuidv7()),\n default_role: RoleSchema.default(\"write\").refine(\n (v) => v === \"read\" || v === \"write\"\n ),\n visibility: VisibilitySchema.default(\"public\").refine(\n (v) => v === \"public\" || v === \"organization\"\n ),\n created_at: z.string().default(() => new Date().toISOString()),\n});\n\nconst ReadTeamSchema = TeamSchema.extend({\n userMembership: z\n .object({\n user_id: z.string().uuid(),\n role: RoleSchema,\n })\n .optional()\n .nullable(),\n memberCount: z.number(),\n members: z.array(\n z.object({\n user_id: z.string().uuid(),\n role: RoleSchema,\n user: ProfileSchema.partial().optional().nullable(),\n })\n ),\n organization: OrganizationsSchema.partial().optional().nullable(),\n});\n\nconst ReadTeamsSchema = z.array(\n ReadTeamSchema.extend({\n label: z.string(),\n value: z.string(),\n })\n);\n\nconst UpdateTeamSchema = TeamSchema.partial()\n .omit({\n org_id: true,\n created_at: true,\n })\n .extend({\n id: z.string().uuid(),\n });\n\nexport {\n TeamSchema,\n CreateTeamSchema,\n ReadTeamSchema,\n ReadTeamsSchema,\n UpdateTeamSchema,\n};\nexport type Team = z.infer<typeof TeamSchema>;\nexport type CreateTeam = z.infer<typeof CreateTeamSchema>;\nexport type ReadTeam = z.infer<typeof ReadTeamSchema>;\nexport type ReadTeams = z.infer<typeof ReadTeamsSchema>;\nexport type UpdateTeam = z.infer<typeof UpdateTeamSchema>;\n"],"names":["TeamSchema","z","object","id","string","uuid","org_id","name","description","nullable","optional","default_role","RoleSchema","visibility","VisibilitySchema","created_at","CreateTeamSchema","extend","default","uuidv7","refine","v","Date","toISOString","ReadTeamSchema","userMembership","user_id","role","memberCount","number","members","array","user","ProfileSchema","partial","organization","OrganizationsSchema","ReadTeamsSchema","label","value","UpdateTeamSchema","omit"],"mappings":"uIAQA,MAAMA,EAAaC,EAACA,EAACC,OAAO,CAC1BC,GAAIF,EAACA,EAACG,SAASC,OACfC,OAAQL,EAACA,EAACG,SAASC,OACnBE,KAAMN,EAACA,EAACG,SACRI,YAAaP,EAAAA,EAAEG,SAASK,WAAWC,WACnCC,aAAcC,EAAUA,WACxBC,WAAYC,EAAgBA,iBAC5BC,WAAYd,EAACA,EAACG,WAGVY,EAAmBhB,EAAWiB,OAAO,CACzCd,GAAIF,EAACA,EAACG,SAASc,SAAQ,IAAMC,EAAMA,WACnCR,aAAcC,EAAUA,WAACM,QAAQ,SAASE,QACvCC,GAAY,SAANA,GAAsB,UAANA,IAEzBR,WAAYC,EAAgBA,iBAACI,QAAQ,UAAUE,QAC5CC,GAAY,WAANA,GAAwB,iBAANA,IAE3BN,WAAYd,EAAAA,EAAEG,SAASc,SAAQ,KAAM,IAAII,MAAOC,kBAG5CC,EAAiBxB,EAAWiB,OAAO,CACvCQ,eAAgBxB,EAAAA,EACbC,OAAO,CACNwB,QAASzB,EAACA,EAACG,SAASC,OACpBsB,KAAMf,EAAUA,aAEjBF,WACAD,WACHmB,YAAa3B,EAACA,EAAC4B,SACfC,QAAS7B,EAACA,EAAC8B,MACT9B,EAAAA,EAAEC,OAAO,CACPwB,QAASzB,EAACA,EAACG,SAASC,OACpBsB,KAAMf,EAAUA,WAChBoB,KAAMC,EAAAA,cAAcC,UAAUxB,WAAWD,cAG7C0B,aAAcC,EAAAA,oBAAoBF,UAAUxB,WAAWD,aAGnD4B,EAAkBpC,EAACA,EAAC8B,MACxBP,EAAeP,OAAO,CACpBqB,MAAOrC,EAACA,EAACG,SACTmC,MAAOtC,EAACA,EAACG,YAIPoC,EAAmBxC,EAAWkC,UACjCO,KAAK,CACJnC,QAAQ,EACRS,YAAY,IAEbE,OAAO,CACNd,GAAIF,EAACA,EAACG,SAASC"}
@@ -117,7 +117,7 @@ declare const UpdateProfileSchema: z.ZodObject<Omit<{
117
117
  username?: string | null | undefined;
118
118
  bio?: string | null | undefined;
119
119
  }>;
120
- type Profile = z.infer<typeof ProfileSchema>;
121
- type UpdateProfile = z.infer<typeof UpdateProfileSchema>;
122
- type ReadProfile = z.infer<typeof ReadProfileSchema>;
123
- export { ProfileSchema, ReadProfileSchema, UpdateProfileSchema, type Profile, type UpdateProfile, type ReadProfile, };
120
+ export { ProfileSchema, ReadProfileSchema, UpdateProfileSchema };
121
+ export type Profile = z.infer<typeof ProfileSchema>;
122
+ export type UpdateProfile = z.infer<typeof UpdateProfileSchema>;
123
+ export type ReadProfile = z.infer<typeof ReadProfileSchema>;
@@ -0,0 +1,2 @@
1
+ import{z as l}from"zod";const o=l.object({id:l.string().uuid(),user_id:l.string().uuid(),username:l.string().optional().nullable(),avatar_path:l.string().optional().nullable(),bio:l.string().optional().nullable(),urls:l.array(l.object({value:l.string().url()})).optional(),last_active:l.string()}),i=o.extend({is_agent:l.boolean(),isFollowing:l.boolean(),isFollowed:l.boolean(),isSelf:l.boolean(),followers:l.number().default(0),following:l.number().default(0)}),a=o.partial().omit({id:!0,user_id:!0,last_active:!0});export{o as ProfileSchema,i as ReadProfileSchema,a as UpdateProfileSchema};
2
+ //# sourceMappingURL=users.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.esm.js","sources":["../../src/schema/users.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst ProfileSchema = z.object({\n id: z.string().uuid(),\n user_id: z.string().uuid(),\n username: z.string().optional().nullable(),\n avatar_path: z.string().optional().nullable(),\n bio: z.string().optional().nullable(),\n urls: z\n .array(\n z.object({\n value: z.string().url(),\n })\n )\n .optional(),\n last_active: z.string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n is_agent: z.boolean(),\n isFollowing: z.boolean(),\n isFollowed: z.boolean(),\n isSelf: z.boolean(),\n followers: z.number().default(0),\n following: z.number().default(0),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n // username: true, // once set, users cannot update their username\n});\n// .extend({\n// user_id: z.string().uuid(),\n// })\n\nexport { ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n"],"names":["ProfileSchema","z","object","id","string","uuid","user_id","username","optional","nullable","avatar_path","bio","urls","array","value","url","last_active","ReadProfileSchema","extend","is_agent","boolean","isFollowing","isFollowed","isSelf","followers","number","default","following","UpdateProfileSchema","partial","omit"],"mappings":"wBAEA,MAAMA,EAAgBC,EAAEC,OAAO,CAC7BC,GAAIF,EAAEG,SAASC,OACfC,QAASL,EAAEG,SAASC,OACpBE,SAAUN,EAAEG,SAASI,WAAWC,WAChCC,YAAaT,EAAEG,SAASI,WAAWC,WACnCE,IAAKV,EAAEG,SAASI,WAAWC,WAC3BG,KAAMX,EACHY,MACCZ,EAAEC,OAAO,CACPY,MAAOb,EAAEG,SAASW,SAGrBP,WACHQ,YAAaf,EAAEG,WAGXa,EAAoBjB,EAAckB,OAAO,CAC7CC,SAAUlB,EAAEmB,UACZC,YAAapB,EAAEmB,UACfE,WAAYrB,EAAEmB,UACdG,OAAQtB,EAAEmB,UACVI,UAAWvB,EAAEwB,SAASC,QAAQ,GAC9BC,UAAW1B,EAAEwB,SAASC,QAAQ,KAG1BE,EAAsB5B,EAAc6B,UAAUC,KAAK,CACvD3B,IAAI,EACJG,SAAS,EACTU,aAAa"}
@@ -1,35 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateProfileSchema = exports.ReadProfileSchema = exports.ProfileSchema = void 0;
4
- const zod_1 = require("zod");
5
- const ProfileSchema = zod_1.z.object({
6
- id: zod_1.z.string().uuid(),
7
- user_id: zod_1.z.string().uuid(),
8
- username: zod_1.z.string().optional().nullable(),
9
- avatar_path: zod_1.z.string().optional().nullable(),
10
- bio: zod_1.z.string().optional().nullable(),
11
- urls: zod_1.z
12
- .array(zod_1.z.object({
13
- value: zod_1.z.string().url(),
14
- }))
15
- .optional(),
16
- last_active: zod_1.z.string(),
17
- });
18
- exports.ProfileSchema = ProfileSchema;
19
- const ReadProfileSchema = ProfileSchema.extend({
20
- is_agent: zod_1.z.boolean(),
21
- isFollowing: zod_1.z.boolean(),
22
- isFollowed: zod_1.z.boolean(),
23
- isSelf: zod_1.z.boolean(),
24
- followers: zod_1.z.number().default(0),
25
- following: zod_1.z.number().default(0),
26
- });
27
- exports.ReadProfileSchema = ReadProfileSchema;
28
- const UpdateProfileSchema = ProfileSchema.partial().omit({
29
- id: true,
30
- user_id: true,
31
- last_active: true,
32
- // username: true, // once set, users cannot update their username
33
- });
34
- exports.UpdateProfileSchema = UpdateProfileSchema;
35
- //# sourceMappingURL=users.js.map
1
+ "use strict";var e=require("zod");const l=e.z.object({id:e.z.string().uuid(),user_id:e.z.string().uuid(),username:e.z.string().optional().nullable(),avatar_path:e.z.string().optional().nullable(),bio:e.z.string().optional().nullable(),urls:e.z.array(e.z.object({value:e.z.string().url()})).optional(),last_active:e.z.string()}),o=l.extend({is_agent:e.z.boolean(),isFollowing:e.z.boolean(),isFollowed:e.z.boolean(),isSelf:e.z.boolean(),followers:e.z.number().default(0),following:e.z.number().default(0)}),a=l.partial().omit({id:!0,user_id:!0,last_active:!0});exports.ProfileSchema=l,exports.ReadProfileSchema=o,exports.UpdateProfileSchema=a;
2
+ //# sourceMappingURL=users.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/schema/users.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC1B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,OAAC;SACJ,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;KACxB,CAAC,CACH;SACA,QAAQ,EAAE;IACb,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AA0BD,sCAAa;AAxBf,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,WAAW,EAAE,OAAC,CAAC,OAAO,EAAE;IACxB,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;IACvB,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAkBD,8CAAiB;AAhBnB,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;IACvD,EAAE,EAAE,IAAI;IACR,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,IAAI;IACjB,kEAAkE;CACnE,CAAC,CAAC;AAYD,kDAAmB"}
1
+ {"version":3,"file":"users.js","sources":["../../src/schema/users.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst ProfileSchema = z.object({\n id: z.string().uuid(),\n user_id: z.string().uuid(),\n username: z.string().optional().nullable(),\n avatar_path: z.string().optional().nullable(),\n bio: z.string().optional().nullable(),\n urls: z\n .array(\n z.object({\n value: z.string().url(),\n })\n )\n .optional(),\n last_active: z.string(),\n});\n\nconst ReadProfileSchema = ProfileSchema.extend({\n is_agent: z.boolean(),\n isFollowing: z.boolean(),\n isFollowed: z.boolean(),\n isSelf: z.boolean(),\n followers: z.number().default(0),\n following: z.number().default(0),\n});\n\nconst UpdateProfileSchema = ProfileSchema.partial().omit({\n id: true,\n user_id: true,\n last_active: true,\n // username: true, // once set, users cannot update their username\n});\n// .extend({\n// user_id: z.string().uuid(),\n// })\n\nexport { ProfileSchema, ReadProfileSchema, UpdateProfileSchema };\nexport type Profile = z.infer<typeof ProfileSchema>;\nexport type UpdateProfile = z.infer<typeof UpdateProfileSchema>;\nexport type ReadProfile = z.infer<typeof ReadProfileSchema>;\n"],"names":["ProfileSchema","z","object","id","string","uuid","user_id","username","optional","nullable","avatar_path","bio","urls","array","value","url","last_active","ReadProfileSchema","extend","is_agent","boolean","isFollowing","isFollowed","isSelf","followers","number","default","following","UpdateProfileSchema","partial","omit"],"mappings":"kCAEA,MAAMA,EAAgBC,EAACA,EAACC,OAAO,CAC7BC,GAAIF,EAACA,EAACG,SAASC,OACfC,QAASL,EAACA,EAACG,SAASC,OACpBE,SAAUN,EAAAA,EAAEG,SAASI,WAAWC,WAChCC,YAAaT,EAAAA,EAAEG,SAASI,WAAWC,WACnCE,IAAKV,EAAAA,EAAEG,SAASI,WAAWC,WAC3BG,KAAMX,EAAAA,EACHY,MACCZ,EAACA,EAACC,OAAO,CACPY,MAAOb,EAACA,EAACG,SAASW,SAGrBP,WACHQ,YAAaf,EAACA,EAACG,WAGXa,EAAoBjB,EAAckB,OAAO,CAC7CC,SAAUlB,EAACA,EAACmB,UACZC,YAAapB,EAACA,EAACmB,UACfE,WAAYrB,EAACA,EAACmB,UACdG,OAAQtB,EAACA,EAACmB,UACVI,UAAWvB,EAAAA,EAAEwB,SAASC,QAAQ,GAC9BC,UAAW1B,EAAAA,EAAEwB,SAASC,QAAQ,KAG1BE,EAAsB5B,EAAc6B,UAAUC,KAAK,CACvD3B,IAAI,EACJG,SAAS,EACTU,aAAa"}
@@ -0,0 +1,14 @@
1
+ export type { AssetSchema, CreateAsset, UpdateAsset } from "../schema/assets";
2
+ export type { Comment, CreateComment } from "../schema/comments";
3
+ export type { Role, Connection, Embedding, Visibility, Monetization, AssetTypes, PurchaseAsset, Permission, } from "../schema/common";
4
+ export type { Conversation, CreateConversation, UpdateConversation, Message, } from "../schema/conversations";
5
+ export type { Dataset, CreateFromFileDataset, CreateFromSchemaDataset, UpdateDataset, } from "../schema/datasets";
6
+ export type { File, CreateFile, UpdateFile } from "../schema/files";
7
+ export type { Notification } from "../schema/notifications";
8
+ export type { Organization, Membership } from "../schema/organizations";
9
+ export type { Post, CreatePost, ListPosts, ReadPost, ReadPosts, UpdatePost, Content, TipTap, } from "../schema/posts";
10
+ export type { Service, Route, AuthType } from "../schema/services";
11
+ export type { Team, CreateTeam, ReadTeam, ReadTeams, UpdateTeam, } from "../schema/teams";
12
+ export type { Profile, UpdateProfile, ReadProfile } from "../schema/users";
13
+ export type { Replication, CreateReplication, UpdateReplication, } from "../schema/replications";
14
+ export type { Blueprint, CreateBlueprint, UpdateBlueprint, } from "../schema/blueprints";
@@ -1,4 +1,4 @@
1
- import { Content } from "@/schema/posts";
1
+ import { Content } from "../../schema/posts";
2
2
  interface InlineAssetAttrs {
3
3
  id: string;
4
4
  assetType: string;
@@ -0,0 +1,2 @@
1
+ const t=e=>Array.isArray(e)?e.map(t):(null==e?void 0:e.content)?Array.isArray(e.content)?e.content.map(t).flat():t(e.content):e;function e(e){if(!e)return{users:[],assets:[]};const s=e.content.map(t).flat();return{users:s.filter((t=>"mention"===t.type)).map((t=>({user_id:t.attrs.id,username:t.attrs.label}))).reduce(((t,e)=>(t.some((t=>t===e.user_id))||t.push(e.user_id),t)),[]),assets:s.filter((t=>{var e,s;return"assetComponent"===t.type&&(null===(e=t.attrs)||void 0===e?void 0:e.id)&&!(null===(s=t.attrs)||void 0===s?void 0:s.partial)})).map((({attrs:t})=>({id:t.id,assetType:t.assetType}))).reduce(((t,e)=>(t.some((t=>t.id===e.id))||t.push(e),t)),[])}}export{e as getReferencesInContent};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/utils/air/index.ts"],"sourcesContent":["import { Content } from \"../../schema/posts\";\n\ninterface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: string;\n filters?: any;\n partial?: boolean;\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(json: Content[\"json\"]) {\n if (!json) return { users: [], assets: [] };\n\n const content = json.content.map(extractContent).flat();\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs.id,\n username: item.attrs.label,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u === item.user_id)) {\n unique.push(item.user_id);\n }\n return unique;\n }, []) as string[];\n\n const assets = content\n // Filter out assets that still have partial data, must have id\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []) as InlineAssetAttrs[];\n\n return {\n users,\n assets,\n };\n}\n\nexport { getReferencesInContent };\n"],"names":["extractContent","item","Array","isArray","map","content","flat","getReferencesInContent","json","users","assets","filter","type","user_id","attrs","id","username","label","reduce","unique","some","u","push","_a","_b","undefined","partial","assetType"],"mappings":"AAUA,MAAMA,EAAkBC,GAClBC,MAAMC,QAAQF,GAAcA,EAAKG,IAAIJ,IACrCC,eAAAA,EAAMI,SACJH,MAAMC,QAAQF,EAAKI,SACdJ,EAAKI,QAAQD,IAAIJ,GAAgBM,OAC9BN,EAAeC,EAAKI,SACpBJ,EAGhB,SAASM,EAAuBC,GAC9B,IAAKA,EAAM,MAAO,CAAEC,MAAO,GAAIC,OAAQ,IAEvC,MAAML,EAAUG,EAAKH,QAAQD,IAAIJ,GAAgBM,OA+BjD,MAAO,CACLG,MA/BYJ,EACXM,QAAQV,GAA4B,YAAdA,EAAKW,OAC3BR,KAAKH,IAAe,CACnBY,QAASZ,EAAKa,MAAMC,GACpBC,SAAUf,EAAKa,MAAMG,UAEtBC,QAAO,CAACC,EAAelB,KACjBkB,EAAOC,MAAMC,GAAMA,IAAMpB,EAAKY,WACjCM,EAAOG,KAAKrB,EAAKY,SAEZM,IACN,IAqBHT,OAnBaL,EAEZM,QACEV,IACC,IAAAsB,EAAAC,EAAA,MAAc,mBAAdvB,EAAKW,OAAuC,UAAVX,EAAKa,aAAKW,IAAAF,OAAAE,EAAAF,EAAER,OAAmB,QAAZS,EAAAvB,EAAKa,aAAOW,IAAAD,OAAAC,EAAAD,EAAAE,QAAO,IAE3EtB,KAAI,EAAGU,YAA0C,CAChDC,GAAID,EAAMC,GACVY,UAAWb,EAAMa,cAElBT,QAAO,CAACC,EAAelB,KACjBkB,EAAOC,MAAMC,GAAMA,EAAEN,KAAOd,EAAKc,MACpCI,EAAOG,KAAKrB,GAEPkB,IACN,IAMP"}
@@ -1,51 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getReferencesInContent = void 0;
4
- const extractContent = (item) => {
5
- if (Array.isArray(item))
6
- return item.map(extractContent);
7
- if (item === null || item === void 0 ? void 0 : item.content) {
8
- if (Array.isArray(item.content))
9
- return item.content.map(extractContent).flat();
10
- else
11
- return extractContent(item.content);
12
- }
13
- else
14
- return item; // leaf
15
- };
16
- function getReferencesInContent(json) {
17
- if (!json)
18
- return { users: [], assets: [] };
19
- const content = json.content.map(extractContent).flat();
20
- const users = content
21
- .filter((item) => item.type === "mention")
22
- .map((item) => ({
23
- user_id: item.attrs.id,
24
- username: item.attrs.label,
25
- }))
26
- .reduce((unique, item) => {
27
- if (!unique.some((u) => u === item.user_id)) {
28
- unique.push(item.user_id);
29
- }
30
- return unique;
31
- }, []);
32
- const assets = content
33
- // Filter out assets that still have partial data, must have id
34
- .filter((item) => { var _a, _b; return item.type === "assetComponent" && ((_a = item.attrs) === null || _a === void 0 ? void 0 : _a.id) && !((_b = item.attrs) === null || _b === void 0 ? void 0 : _b.partial); })
35
- .map(({ attrs }) => ({
36
- id: attrs.id,
37
- assetType: attrs.assetType,
38
- }))
39
- .reduce((unique, item) => {
40
- if (!unique.some((u) => u.id === item.id)) {
41
- unique.push(item);
42
- }
43
- return unique;
44
- }, []);
45
- return {
46
- users,
47
- assets,
48
- };
49
- }
50
- exports.getReferencesInContent = getReferencesInContent;
51
- //# sourceMappingURL=index.js.map
1
+ "use strict";const t=e=>Array.isArray(e)?e.map(t):(null==e?void 0:e.content)?Array.isArray(e.content)?e.content.map(t).flat():t(e.content):e;exports.getReferencesInContent=function(e){if(!e)return{users:[],assets:[]};const s=e.content.map(t).flat();return{users:s.filter((t=>"mention"===t.type)).map((t=>({user_id:t.attrs.id,username:t.attrs.label}))).reduce(((t,e)=>(t.some((t=>t===e.user_id))||t.push(e.user_id),t)),[]),assets:s.filter((t=>{var e,s;return"assetComponent"===t.type&&(null===(e=t.attrs)||void 0===e?void 0:e.id)&&!(null===(s=t.attrs)||void 0===s?void 0:s.partial)})).map((({attrs:t})=>({id:t.id,assetType:t.assetType}))).reduce(((t,e)=>(t.some((t=>t.id===e.id))||t.push(e),t)),[])}};
2
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/air/index.ts"],"names":[],"mappings":";;;AAUA,MAAM,cAAc,GAAG,CAAC,IAAS,EAAO,EAAE;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;;YAC5C,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC1C;;QAAM,OAAO,IAAI,CAAC,CAAC,OAAO;AAC7B,CAAC,CAAC;AAEF,SAAS,sBAAsB,CAAC,IAAqB;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;SAC9C,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;QACtB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;KAC3B,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,MAAa,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC3B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAa,CAAC;IAErB,MAAM,MAAM,GAAG,OAAO;QACpB,+DAA+D;SAC9D,MAAM,CACL,CAAC,IAAS,EAAE,EAAE,eACZ,OAAA,IAAI,CAAC,IAAI,KAAK,gBAAgB,KAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,EAAE,CAAA,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAA,CAAA,EAAA,CAC3E;SACA,GAAG,CAAC,CAAC,EAAE,KAAK,EAA+B,EAAE,EAAE,CAAC,CAAC;QAChD,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,MAAa,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAuB,CAAC;IAE/B,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAEQ,wDAAsB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/air/index.ts"],"sourcesContent":["import { Content } from \"../../schema/posts\";\n\ninterface InlineAssetAttrs {\n id: string;\n assetType: string;\n viewMode: string;\n filters?: any;\n partial?: boolean;\n}\n\nconst extractContent = (item: any): any => {\n if (Array.isArray(item)) return item.map(extractContent);\n if (item?.content) {\n if (Array.isArray(item.content))\n return item.content.map(extractContent).flat();\n else return extractContent(item.content);\n } else return item; // leaf\n};\n\nfunction getReferencesInContent(json: Content[\"json\"]) {\n if (!json) return { users: [], assets: [] };\n\n const content = json.content.map(extractContent).flat();\n const users = content\n .filter((item: any) => item.type === \"mention\")\n .map((item: any) => ({\n user_id: item.attrs.id,\n username: item.attrs.label,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u === item.user_id)) {\n unique.push(item.user_id);\n }\n return unique;\n }, []) as string[];\n\n const assets = content\n // Filter out assets that still have partial data, must have id\n .filter(\n (item: any) =>\n item.type === \"assetComponent\" && item.attrs?.id && !item.attrs?.partial\n )\n .map(({ attrs }: { attrs: InlineAssetAttrs }) => ({\n id: attrs.id,\n assetType: attrs.assetType,\n }))\n .reduce((unique: any[], item: any) => {\n if (!unique.some((u) => u.id === item.id)) {\n unique.push(item);\n }\n return unique;\n }, []) as InlineAssetAttrs[];\n\n return {\n users,\n assets,\n };\n}\n\nexport { getReferencesInContent };\n"],"names":["extractContent","item","Array","isArray","map","content","flat","json","users","assets","filter","type","user_id","attrs","id","username","label","reduce","unique","some","u","push","_a","_b","undefined","partial","assetType"],"mappings":"aAUA,MAAMA,EAAkBC,GAClBC,MAAMC,QAAQF,GAAcA,EAAKG,IAAIJ,IACrCC,eAAAA,EAAMI,SACJH,MAAMC,QAAQF,EAAKI,SACdJ,EAAKI,QAAQD,IAAIJ,GAAgBM,OAC9BN,EAAeC,EAAKI,SACpBJ,iCAGhB,SAAgCM,GAC9B,IAAKA,EAAM,MAAO,CAAEC,MAAO,GAAIC,OAAQ,IAEvC,MAAMJ,EAAUE,EAAKF,QAAQD,IAAIJ,GAAgBM,OA+BjD,MAAO,CACLE,MA/BYH,EACXK,QAAQT,GAA4B,YAAdA,EAAKU,OAC3BP,KAAKH,IAAe,CACnBW,QAASX,EAAKY,MAAMC,GACpBC,SAAUd,EAAKY,MAAMG,UAEtBC,QAAO,CAACC,EAAejB,KACjBiB,EAAOC,MAAMC,GAAMA,IAAMnB,EAAKW,WACjCM,EAAOG,KAAKpB,EAAKW,SAEZM,IACN,IAqBHT,OAnBaJ,EAEZK,QACET,IACC,IAAAqB,EAAAC,EAAA,MAAc,mBAAdtB,EAAKU,OAAuC,UAAVV,EAAKY,aAAKW,IAAAF,OAAAE,EAAAF,EAAER,OAAmB,QAAZS,EAAAtB,EAAKY,aAAOW,IAAAD,OAAAC,EAAAD,EAAAE,QAAO,IAE3ErB,KAAI,EAAGS,YAA0C,CAChDC,GAAID,EAAMC,GACVY,UAAWb,EAAMa,cAElBT,QAAO,CAACC,EAAejB,KACjBiB,EAAOC,MAAMC,GAAMA,EAAEN,KAAOb,EAAKa,MACpCI,EAAOG,KAAKpB,GAEPiB,IACN,IAMP"}
@@ -0,0 +1,2 @@
1
+ import{marked as e}from"marked";const n={name:"katex",level:"inline",start(e){const n=e.match(/\\\[|\\\(/);return n?n.index:void 0},end(e){var n,t,r;const a=e.match(/\s\\\]|\s\\\)/);return a?(null!==(n=a.index)&&void 0!==n?n:0)+(null!==(r=null===(t=a[0])||void 0===t?void 0:t.length)&&void 0!==r?r:0):void 0},tokenizer(e,n){let t=/^\\\[([\s\S]*?)\\\]/.exec(e);return t?{type:"katex",raw:t[0],latex:t[1].trim(),displayMode:!0}:(t=/^\\\(([\s\S]*?)\\\)/.exec(e),t?{type:"katex",raw:t[0],latex:t[1].trim(),displayMode:!1}:void 0)},renderer:e=>`<span data-latex="${e.latex}" data-display-mode="${e.displayMode}"></span>`},t={name:"assetComponent",level:"block",start(e){var n;return null===(n=e.match(/^```assetComponent/))||void 0===n?void 0:n.index},end(e){var n;return null===(n=e.match(/^```/))||void 0===n?void 0:n.index},tokenizer(e,n){const t=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(t)return{type:"assetComponent",raw:t[0],properties:t[1],tokens:[]}},renderer(e){let n;try{n=JSON.parse(e.properties)}catch(e){console.error("Invalid JSON in assetComponent properties:",e),n={}}return`\n <asset-component ${Object.entries(n).map((([e,n])=>`${e}="${n}"`)).join(" ")}></asset-component>`}},r={name:"userMention",level:"inline",start(e){var n;return null===(n=e.match(/`\{@/))||void 0===n?void 0:n.index},end(e){var n;return null===(n=e.match(/\}`/))||void 0===n?void 0:n.index},tokenizer(e,n){const t=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(t)return{type:"userMention",raw:t[0],username:t[1]}},renderer:e=>`<user-mention username="${e.username}" data-label="${e.username}"></user-mention>`};function a(n){return e.parse(n)}e.use({gfm:!0,extensions:[t,r,n]});export{a as parseMarkdown};
2
+ //# sourceMappingURL=markdown-parser.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-parser.esm.js","sources":["../../../src/utils/air/markdown-parser.ts"],"sourcesContent":["import { marked } from \"marked\";\n\nconst katexParser = {\n name: \"katex\",\n level: \"inline\",\n start(src: string) {\n const match = src.match(/\\\\\\[|\\\\\\(/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\s\\\\\\]|\\s\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const displayRule = /^\\\\\\[([\\s\\S]*?)\\\\\\]/;\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n\n let match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: false,\n };\n }\n },\n renderer(token: any) {\n // STRANGE: The non-self-closing tag is important for client side to render as inline and render text after it\n return `<span data-latex=\"${token.latex}\" data-display-mode=\"${token.displayMode}\"></span>`;\n },\n};\n\nconst assetComponentExtension = {\n name: \"assetComponent\",\n level: \"block\",\n start(src: string) {\n return src.match(/^```assetComponent/)?.index;\n },\n end(src: string) {\n return src.match(/^```/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^```assetComponent\\s+(\\{[\\s\\S]*?\\})\\n```/;\n const match = rule.exec(src);\n if (match) {\n const token = {\n type: \"assetComponent\",\n raw: match[0],\n properties: match[1],\n tokens: [],\n };\n return token;\n }\n },\n renderer(token: any) {\n let properties;\n try {\n properties = JSON.parse(token.properties);\n } catch (e) {\n console.error(\"Invalid JSON in assetComponent properties:\", e);\n properties = {};\n }\n const componentHtml = `\n <asset-component ${Object.entries(properties)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n return src.match(/`\\{@/)?.index;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^`\\{@([a-zA-Z0-9_]+)\\}`/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"userMention\",\n raw: match[0],\n username: match[1],\n };\n }\n },\n renderer(token: any) {\n return `<user-mention username=\"${token.username}\" data-label=\"${token.username}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [assetComponentExtension, userMentionExtension, katexParser],\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"],"names":["katexParser","name","level","start","src","match","index","undefined","end","_a","_c","_b","length","tokenizer","tokens","exec","type","raw","latex","trim","displayMode","renderer","token","assetComponentExtension","properties","JSON","parse","e","console","error","Object","entries","map","key","value","join","userMentionExtension","username","parseMarkdown","markdown","marked","use","gfm","extensions"],"mappings":"gCAEA,MAAMA,EAAc,CAClBC,KAAM,QACNC,MAAO,SACP,KAAAC,CAAMC,GACJ,MAAMC,EAAQD,EAAIC,MAAM,aACxB,OAAOA,EAAQA,EAAMC,WAAQC,CAC9B,EACD,GAAAC,CAAIJ,aACF,MAAMC,EAAQD,EAAIC,MAAM,iBACxB,OAAOA,GAAoB,QAAXI,EAAAJ,EAAMC,aAAKC,IAAAE,EAAAA,EAAI,IAA0B,QAApBC,EAAU,QAAVC,EAAAN,EAAM,UAAIE,IAAAI,OAAAJ,EAAAI,EAAAC,cAAUL,IAAAG,EAAAA,EAAA,QAAKH,CAC/D,EACD,SAAAM,CAAUT,EAAaU,GAIrB,IAAIT,EAHgB,sBAGIU,KAAKX,GAC7B,OAAIC,EACK,CACLW,KAAM,QACNC,IAAKZ,EAAM,GACXa,MAAOb,EAAM,GAAGc,OAChBC,aAAa,IAGjBf,EAXmB,sBAWAU,KAAKX,GACpBC,EACK,CACLW,KAAM,QACNC,IAAKZ,EAAM,GACXa,MAAOb,EAAM,GAAGc,OAChBC,aAAa,QALjB,EAQD,EACDC,SAASC,GAEA,qBAAqBA,EAAMJ,6BAA6BI,EAAMF,wBAInEG,EAA0B,CAC9BtB,KAAM,iBACNC,MAAO,QACP,KAAAC,CAAMC,SACJ,OAAwC,QAAjCK,EAAAL,EAAIC,MAAM,6BAAuBE,IAAAE,OAAAF,EAAAE,EAAAH,KACzC,EACD,GAAAE,CAAIJ,SACF,OAA0B,QAAnBK,EAAAL,EAAIC,MAAM,eAASE,IAAAE,OAAAF,EAAAE,EAAAH,KAC3B,EACD,SAAAO,CAAUT,EAAaU,GACrB,MACMT,EADO,2CACMU,KAAKX,GACxB,GAAIC,EAOF,MANc,CACZW,KAAM,iBACNC,IAAKZ,EAAM,GACXmB,WAAYnB,EAAM,GAClBS,OAAQ,GAIb,EACD,QAAAO,CAASC,GACP,IAAIE,EACJ,IACEA,EAAaC,KAAKC,MAAMJ,EAAME,WAC/B,CAAC,MAAOG,GACPC,QAAQC,MAAM,6CAA8CF,GAC5DH,EAAa,CAAE,CAChB,CAMD,MALsB,8BACCM,OAAOC,QAAQP,GAC/BQ,KAAI,EAAEC,EAAKC,KAAW,GAAGD,MAAQC,OACjCC,KAAK,yBAGb,GAGGC,EAAuB,CAC3BnC,KAAM,cACNC,MAAO,SACP,KAAAC,CAAMC,SACJ,OAA0B,QAAnBK,EAAAL,EAAIC,MAAM,eAASE,IAAAE,OAAAF,EAAAE,EAAAH,KAC3B,EACD,GAAAE,CAAIJ,SACF,OAAyB,QAAlBK,EAAAL,EAAIC,MAAM,cAAQE,IAAAE,OAAAF,EAAAE,EAAAH,KAC1B,EACD,SAAAO,CAAUT,EAAaU,GACrB,MACMT,EADO,0BACMU,KAAKX,GACxB,GAAIC,EACF,MAAO,CACLW,KAAM,cACNC,IAAKZ,EAAM,GACXgC,SAAUhC,EAAM,GAGrB,EACDgB,SAASC,GACA,2BAA2BA,EAAMe,yBAAyBf,EAAMe,6BASrE,SAAUC,EAAcC,GAC5B,OAAOC,EAAOd,MAAMa,EACtB,CAPAC,EAAOC,IAAI,CACTC,KAAK,EACLC,WAAY,CAACpB,EAAyBa,EAAsBpC"}
@@ -1,118 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseMarkdown = void 0;
4
- const marked_1 = require("marked");
5
- const katexParser = {
6
- name: "katex",
7
- level: "inline",
8
- start(src) {
9
- const match = src.match(/\\\[|\\\(/);
10
- return match ? match.index : undefined;
11
- },
12
- end(src) {
13
- var _a, _b, _c;
14
- const match = src.match(/\s\\\]|\s\\\)/);
15
- return match ? ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + ((_c = (_b = match[0]) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) : undefined;
16
- },
17
- tokenizer(src, tokens) {
18
- const displayRule = /^\\\[([\s\S]*?)\\\]/;
19
- const inlineRule = /^\\\(([\s\S]*?)\\\)/;
20
- let match = displayRule.exec(src);
21
- if (match) {
22
- return {
23
- type: "katex",
24
- raw: match[0],
25
- latex: match[1].trim(),
26
- displayMode: true,
27
- };
28
- }
29
- match = inlineRule.exec(src);
30
- if (match) {
31
- return {
32
- type: "katex",
33
- raw: match[0],
34
- latex: match[1].trim(),
35
- displayMode: false,
36
- };
37
- }
38
- },
39
- renderer(token) {
40
- // STRANGE: The non-self-closing tag is important for client side to render as inline and render text after it
41
- return `<span data-latex="${token.latex}" data-display-mode="${token.displayMode}"></span>`;
42
- },
43
- };
44
- const assetComponentExtension = {
45
- name: "assetComponent",
46
- level: "block",
47
- start(src) {
48
- var _a;
49
- return (_a = src.match(/^```assetComponent/)) === null || _a === void 0 ? void 0 : _a.index;
50
- },
51
- end(src) {
52
- var _a;
53
- return (_a = src.match(/^```/)) === null || _a === void 0 ? void 0 : _a.index;
54
- },
55
- tokenizer(src, tokens) {
56
- const rule = /^```assetComponent\s+(\{[\s\S]*?\})\n```/;
57
- const match = rule.exec(src);
58
- if (match) {
59
- const token = {
60
- type: "assetComponent",
61
- raw: match[0],
62
- properties: match[1],
63
- tokens: [],
64
- };
65
- return token;
66
- }
67
- },
68
- renderer(token) {
69
- let properties;
70
- try {
71
- properties = JSON.parse(token.properties);
72
- }
73
- catch (e) {
74
- console.error("Invalid JSON in assetComponent properties:", e);
75
- properties = {};
76
- }
77
- const componentHtml = `
78
- <asset-component ${Object.entries(properties)
79
- .map(([key, value]) => `${key}="${value}"`)
80
- .join(" ")}></asset-component>`;
81
- return componentHtml;
82
- },
83
- };
84
- const userMentionExtension = {
85
- name: "userMention",
86
- level: "inline",
87
- start(src) {
88
- var _a;
89
- return (_a = src.match(/`\{@/)) === null || _a === void 0 ? void 0 : _a.index;
90
- },
91
- end(src) {
92
- var _a;
93
- return (_a = src.match(/\}`/)) === null || _a === void 0 ? void 0 : _a.index;
94
- },
95
- tokenizer(src, tokens) {
96
- const rule = /^`\{@([a-zA-Z0-9_]+)\}`/;
97
- const match = rule.exec(src);
98
- if (match) {
99
- return {
100
- type: "userMention",
101
- raw: match[0],
102
- username: match[1],
103
- };
104
- }
105
- },
106
- renderer(token) {
107
- return `<user-mention username="${token.username}" data-label="${token.username}"></user-mention>`;
108
- },
109
- };
110
- marked_1.marked.use({
111
- gfm: true,
112
- extensions: [assetComponentExtension, userMentionExtension, katexParser],
113
- });
114
- function parseMarkdown(markdown) {
115
- return marked_1.marked.parse(markdown);
116
- }
117
- exports.parseMarkdown = parseMarkdown;
118
- //# sourceMappingURL=markdown-parser.js.map
1
+ "use strict";var e=require("marked");const n={name:"katex",level:"inline",start(e){const n=e.match(/\\\[|\\\(/);return n?n.index:void 0},end(e){var n,t,r;const a=e.match(/\s\\\]|\s\\\)/);return a?(null!==(n=a.index)&&void 0!==n?n:0)+(null!==(r=null===(t=a[0])||void 0===t?void 0:t.length)&&void 0!==r?r:0):void 0},tokenizer(e,n){let t=/^\\\[([\s\S]*?)\\\]/.exec(e);return t?{type:"katex",raw:t[0],latex:t[1].trim(),displayMode:!0}:(t=/^\\\(([\s\S]*?)\\\)/.exec(e),t?{type:"katex",raw:t[0],latex:t[1].trim(),displayMode:!1}:void 0)},renderer:e=>`<span data-latex="${e.latex}" data-display-mode="${e.displayMode}"></span>`},t={name:"assetComponent",level:"block",start(e){var n;return null===(n=e.match(/^```assetComponent/))||void 0===n?void 0:n.index},end(e){var n;return null===(n=e.match(/^```/))||void 0===n?void 0:n.index},tokenizer(e,n){const t=/^```assetComponent\s+(\{[\s\S]*?\})\n```/.exec(e);if(t)return{type:"assetComponent",raw:t[0],properties:t[1],tokens:[]}},renderer(e){let n;try{n=JSON.parse(e.properties)}catch(e){console.error("Invalid JSON in assetComponent properties:",e),n={}}return`\n <asset-component ${Object.entries(n).map((([e,n])=>`${e}="${n}"`)).join(" ")}></asset-component>`}},r={name:"userMention",level:"inline",start(e){var n;return null===(n=e.match(/`\{@/))||void 0===n?void 0:n.index},end(e){var n;return null===(n=e.match(/\}`/))||void 0===n?void 0:n.index},tokenizer(e,n){const t=/^`\{@([a-zA-Z0-9_]+)\}`/.exec(e);if(t)return{type:"userMention",raw:t[0],username:t[1]}},renderer:e=>`<user-mention username="${e.username}" data-label="${e.username}"></user-mention>`};e.marked.use({gfm:!0,extensions:[t,r,n]}),exports.parseMarkdown=function(n){return e.marked.parse(n)};
2
+ //# sourceMappingURL=markdown-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../src/utils/air/markdown-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-parser.js","sources":["../../../src/utils/air/markdown-parser.ts"],"sourcesContent":["import { marked } from \"marked\";\n\nconst katexParser = {\n name: \"katex\",\n level: \"inline\",\n start(src: string) {\n const match = src.match(/\\\\\\[|\\\\\\(/);\n return match ? match.index : undefined;\n },\n end(src: string) {\n const match = src.match(/\\s\\\\\\]|\\s\\\\\\)/);\n return match ? (match.index ?? 0) + (match[0]?.length ?? 0) : undefined;\n },\n tokenizer(src: string, tokens: any) {\n const displayRule = /^\\\\\\[([\\s\\S]*?)\\\\\\]/;\n const inlineRule = /^\\\\\\(([\\s\\S]*?)\\\\\\)/;\n\n let match = displayRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: true,\n };\n }\n match = inlineRule.exec(src);\n if (match) {\n return {\n type: \"katex\",\n raw: match[0],\n latex: match[1].trim(),\n displayMode: false,\n };\n }\n },\n renderer(token: any) {\n // STRANGE: The non-self-closing tag is important for client side to render as inline and render text after it\n return `<span data-latex=\"${token.latex}\" data-display-mode=\"${token.displayMode}\"></span>`;\n },\n};\n\nconst assetComponentExtension = {\n name: \"assetComponent\",\n level: \"block\",\n start(src: string) {\n return src.match(/^```assetComponent/)?.index;\n },\n end(src: string) {\n return src.match(/^```/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^```assetComponent\\s+(\\{[\\s\\S]*?\\})\\n```/;\n const match = rule.exec(src);\n if (match) {\n const token = {\n type: \"assetComponent\",\n raw: match[0],\n properties: match[1],\n tokens: [],\n };\n return token;\n }\n },\n renderer(token: any) {\n let properties;\n try {\n properties = JSON.parse(token.properties);\n } catch (e) {\n console.error(\"Invalid JSON in assetComponent properties:\", e);\n properties = {};\n }\n const componentHtml = `\n <asset-component ${Object.entries(properties)\n .map(([key, value]) => `${key}=\"${value}\"`)\n .join(\" \")}></asset-component>`;\n\n return componentHtml;\n },\n};\n\nconst userMentionExtension = {\n name: \"userMention\",\n level: \"inline\",\n start(src: string) {\n return src.match(/`\\{@/)?.index;\n },\n end(src: string) {\n return src.match(/\\}`/)?.index;\n },\n tokenizer(src: string, tokens: any) {\n const rule = /^`\\{@([a-zA-Z0-9_]+)\\}`/;\n const match = rule.exec(src);\n if (match) {\n return {\n type: \"userMention\",\n raw: match[0],\n username: match[1],\n };\n }\n },\n renderer(token: any) {\n return `<user-mention username=\"${token.username}\" data-label=\"${token.username}\"></user-mention>`;\n },\n};\n\nmarked.use({\n gfm: true,\n extensions: [assetComponentExtension, userMentionExtension, katexParser],\n});\n\nexport function parseMarkdown(markdown: string) {\n return marked.parse(markdown);\n}\n"],"names":["katexParser","name","level","start","src","match","index","undefined","end","_a","_c","_b","length","tokenizer","tokens","exec","type","raw","latex","trim","displayMode","renderer","token","assetComponentExtension","properties","JSON","parse","e","console","error","Object","entries","map","key","value","join","userMentionExtension","username","marked","use","gfm","extensions","markdown"],"mappings":"qCAEA,MAAMA,EAAc,CAClBC,KAAM,QACNC,MAAO,SACP,KAAAC,CAAMC,GACJ,MAAMC,EAAQD,EAAIC,MAAM,aACxB,OAAOA,EAAQA,EAAMC,WAAQC,CAC9B,EACD,GAAAC,CAAIJ,aACF,MAAMC,EAAQD,EAAIC,MAAM,iBACxB,OAAOA,GAAoB,QAAXI,EAAAJ,EAAMC,aAAKC,IAAAE,EAAAA,EAAI,IAA0B,QAApBC,EAAU,QAAVC,EAAAN,EAAM,UAAIE,IAAAI,OAAAJ,EAAAI,EAAAC,cAAUL,IAAAG,EAAAA,EAAA,QAAKH,CAC/D,EACD,SAAAM,CAAUT,EAAaU,GAIrB,IAAIT,EAHgB,sBAGIU,KAAKX,GAC7B,OAAIC,EACK,CACLW,KAAM,QACNC,IAAKZ,EAAM,GACXa,MAAOb,EAAM,GAAGc,OAChBC,aAAa,IAGjBf,EAXmB,sBAWAU,KAAKX,GACpBC,EACK,CACLW,KAAM,QACNC,IAAKZ,EAAM,GACXa,MAAOb,EAAM,GAAGc,OAChBC,aAAa,QALjB,EAQD,EACDC,SAASC,GAEA,qBAAqBA,EAAMJ,6BAA6BI,EAAMF,wBAInEG,EAA0B,CAC9BtB,KAAM,iBACNC,MAAO,QACP,KAAAC,CAAMC,SACJ,OAAwC,QAAjCK,EAAAL,EAAIC,MAAM,6BAAuBE,IAAAE,OAAAF,EAAAE,EAAAH,KACzC,EACD,GAAAE,CAAIJ,SACF,OAA0B,QAAnBK,EAAAL,EAAIC,MAAM,eAASE,IAAAE,OAAAF,EAAAE,EAAAH,KAC3B,EACD,SAAAO,CAAUT,EAAaU,GACrB,MACMT,EADO,2CACMU,KAAKX,GACxB,GAAIC,EAOF,MANc,CACZW,KAAM,iBACNC,IAAKZ,EAAM,GACXmB,WAAYnB,EAAM,GAClBS,OAAQ,GAIb,EACD,QAAAO,CAASC,GACP,IAAIE,EACJ,IACEA,EAAaC,KAAKC,MAAMJ,EAAME,WAC/B,CAAC,MAAOG,GACPC,QAAQC,MAAM,6CAA8CF,GAC5DH,EAAa,CAAE,CAChB,CAMD,MALsB,8BACCM,OAAOC,QAAQP,GAC/BQ,KAAI,EAAEC,EAAKC,KAAW,GAAGD,MAAQC,OACjCC,KAAK,yBAGb,GAGGC,EAAuB,CAC3BnC,KAAM,cACNC,MAAO,SACP,KAAAC,CAAMC,SACJ,OAA0B,QAAnBK,EAAAL,EAAIC,MAAM,eAASE,IAAAE,OAAAF,EAAAE,EAAAH,KAC3B,EACD,GAAAE,CAAIJ,SACF,OAAyB,QAAlBK,EAAAL,EAAIC,MAAM,cAAQE,IAAAE,OAAAF,EAAAE,EAAAH,KAC1B,EACD,SAAAO,CAAUT,EAAaU,GACrB,MACMT,EADO,0BACMU,KAAKX,GACxB,GAAIC,EACF,MAAO,CACLW,KAAM,cACNC,IAAKZ,EAAM,GACXgC,SAAUhC,EAAM,GAGrB,EACDgB,SAASC,GACA,2BAA2BA,EAAMe,yBAAyBf,EAAMe,6BAI3EC,EAAMA,OAACC,IAAI,CACTC,KAAK,EACLC,WAAY,CAAClB,EAAyBa,EAAsBpC,2BAGxD,SAAwB0C,GAC5B,OAAOJ,EAAMA,OAACZ,MAAMgB,EACtB"}
@@ -0,0 +1,2 @@
1
+ function r(r,a=!1){return r&&Array.isArray(r)?r.map((r=>a&&r.hasOwnProperty("active")&&!r.active?"":`${r.column}.${r.operator}.${r.value}`)).join(","):""}export{r as filterListToString};
2
+ //# sourceMappingURL=dataset.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset.esm.js","sources":["../../src/utils/dataset.ts"],"sourcesContent":["// Convert a list of filter object into a filter string for URL\nfunction filterListToString(\n filters?: {\n column: string;\n value: string;\n operator: string;\n active?: boolean;\n }[],\n onlyActive = false\n) {\n if (!filters || !Array.isArray(filters)) return \"\";\n\n return filters\n .map((filter) => {\n // If onlyActive is true, only include filters that have active property true, or without active property (different creation source)\n if (\n onlyActive &&\n (filter.hasOwnProperty(\"active\") ? !filter.active : false)\n )\n return \"\";\n return `${filter.column}.${filter.operator}.${filter.value}`;\n })\n .join(\",\");\n}\n\nexport { filterListToString };\n"],"names":["filterListToString","filters","onlyActive","Array","isArray","map","filter","hasOwnProperty","active","column","operator","value","join"],"mappings":"AACA,SAASA,EACPC,EAMAC,GAAa,GAEb,OAAKD,GAAYE,MAAMC,QAAQH,GAExBA,EACJI,KAAKC,GAGFJ,GACCI,EAAOC,eAAe,YAAaD,EAAOE,OAEpC,GACF,GAAGF,EAAOG,UAAUH,EAAOI,YAAYJ,EAAOK,UAEtDC,KAAK,KAZwC,EAalD"}
@@ -1,19 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.filterListToString = void 0;
4
- // Convert a list of filter object into a filter string for URL
5
- function filterListToString(filters, onlyActive = false) {
6
- if (!filters || !Array.isArray(filters))
7
- return "";
8
- return filters
9
- .map((filter) => {
10
- // If onlyActive is true, only include filters that have active property true, or without active property (different creation source)
11
- if (onlyActive &&
12
- (filter.hasOwnProperty("active") ? !filter.active : false))
13
- return "";
14
- return `${filter.column}.${filter.operator}.${filter.value}`;
15
- })
16
- .join(",");
17
- }
18
- exports.filterListToString = filterListToString;
19
- //# sourceMappingURL=dataset.js.map
1
+ "use strict";exports.filterListToString=function(r,t=!1){return r&&Array.isArray(r)?r.map((r=>t&&r.hasOwnProperty("active")&&!r.active?"":`${r.column}.${r.operator}.${r.value}`)).join(","):""};
2
+ //# sourceMappingURL=dataset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/utils/dataset.ts"],"names":[],"mappings":";;;AAAA,+DAA+D;AAC/D,SAAS,kBAAkB,CACzB,OAKG,EACH,UAAU,GAAG,KAAK;IAElB,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnD,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,qIAAqI;QACrI,IACE,UAAU;YACV,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1D,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAEQ,gDAAkB"}
1
+ {"version":3,"file":"dataset.js","sources":["../../src/utils/dataset.ts"],"sourcesContent":["// Convert a list of filter object into a filter string for URL\nfunction filterListToString(\n filters?: {\n column: string;\n value: string;\n operator: string;\n active?: boolean;\n }[],\n onlyActive = false\n) {\n if (!filters || !Array.isArray(filters)) return \"\";\n\n return filters\n .map((filter) => {\n // If onlyActive is true, only include filters that have active property true, or without active property (different creation source)\n if (\n onlyActive &&\n (filter.hasOwnProperty(\"active\") ? !filter.active : false)\n )\n return \"\";\n return `${filter.column}.${filter.operator}.${filter.value}`;\n })\n .join(\",\");\n}\n\nexport { filterListToString };\n"],"names":["filters","onlyActive","Array","isArray","map","filter","hasOwnProperty","active","column","operator","value","join"],"mappings":"wCACA,SACEA,EAMAC,GAAa,GAEb,OAAKD,GAAYE,MAAMC,QAAQH,GAExBA,EACJI,KAAKC,GAGFJ,GACCI,EAAOC,eAAe,YAAaD,EAAOE,OAEpC,GACF,GAAGF,EAAOG,UAAUH,EAAOI,YAAYJ,EAAOK,UAEtDC,KAAK,KAZwC,EAalD"}
@@ -0,0 +1,2 @@
1
+ import{filterListToString as e}from"./dataset.esm.js";const t=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),n=e=>{if("conversation"===e.asset_type)return`/conversations/${e.id}`;if("comment"===e.asset_type)return`/comments/${e.id}`;const n="00000000-0000-0000-0000-000000000000"!==e.org_id?e.organization.name:e.user.username,r=e.name?t(e.name):e.id;return`/${e.asset_type}s/${n}/${r}`},r=(t,r)=>{let s=`${(null==t?void 0:t.slug)||n(t)}${(null==r?void 0:r.intent)?`?intent=${r.intent}`:""}`;return(null==r?void 0:r.filters)&&(s+=`?filters=${e(r.filters)}`),s};export{t as createNameUrlSlug,n as createUrlSlug,r as getAssetUrl};
2
+ //# sourceMappingURL=navigate.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigate.esm.js","sources":["../../src/utils/navigate.ts"],"sourcesContent":["import { filterListToString } from \"./dataset\";\n\nconst createNameUrlSlug = (name: string) => {\n return (\n name\n // Convert to lowercase\n .toLowerCase()\n // Normalize unicode characters\n .normalize(\"NFD\")\n // Remove diacritical marks\n .replace(/[\\u0300-\\u036f]/g, \"\")\n // Replace spaces, forward slashes, and underscores with hyphens\n .replace(/[\\s\\/\\_]+/g, \"-\")\n // Remove special characters\n .replace(/[^\\w\\-]+/g, \"\")\n // Remove multiple consecutive hyphens\n .replace(/\\-\\-+/g, \"-\")\n // Trim hyphens from start and end\n .replace(/^-+/, \"\")\n .replace(/-+$/, \"\")\n );\n};\n\nconst createUrlSlug = (asset: any) => {\n if (asset.asset_type === \"conversation\") {\n return `/conversations/${asset.id}`;\n }\n if (asset.asset_type === \"comment\") {\n return `/comments/${asset.id}`;\n }\n const entityName =\n asset.org_id !== \"00000000-0000-0000-0000-000000000000\"\n ? asset.organization.name\n : asset.user.username;\n const name = asset.name ? createNameUrlSlug(asset.name) : asset.id;\n const assetType = asset.asset_type;\n return `/${assetType}s/${entityName}/${name}`;\n};\n\nconst getParentAssetUrl = (asset: any, config?: any): string => {\n if (!asset?.parent) return \"#\";\n const postfix = asset.asset_type === \"comment\" ? `#comment-${asset.id}` : \"\";\n return `${getAssetUrl(asset.parent, config)}${postfix}`;\n};\n\nconst getAssetUrl = (\n asset: any,\n config?: {\n intent?: \"share\";\n filters?: { column: string; value: string; operator: string }[];\n }\n) => {\n const assetType = asset?.asset_type || asset?.assetType;\n const slug = asset?.slug || createUrlSlug(asset);\n const pathPostfix = config?.intent ? `?intent=${config.intent}` : \"\";\n let url = `${slug}${pathPostfix}`;\n if (config?.filters) {\n url += `?filters=${filterListToString(config.filters)}`;\n }\n\n return url;\n};\n\nexport { getAssetUrl, createUrlSlug, createNameUrlSlug };\n"],"names":["createNameUrlSlug","name","toLowerCase","normalize","replace","createUrlSlug","asset","asset_type","id","entityName","org_id","organization","user","username","getAssetUrl","config","url","undefined","slug","intent","filters","filterListToString"],"mappings":"sDAEA,MAAMA,EAAqBC,GAEvBA,EAEGC,cAEAC,UAAU,OAEVC,QAAQ,mBAAoB,IAE5BA,QAAQ,aAAc,KAEtBA,QAAQ,YAAa,IAErBA,QAAQ,SAAU,KAElBA,QAAQ,MAAO,IACfA,QAAQ,MAAO,IAIhBC,EAAiBC,IACrB,GAAyB,iBAArBA,EAAMC,WACR,MAAO,kBAAkBD,EAAME,KAEjC,GAAyB,YAArBF,EAAMC,WACR,MAAO,aAAaD,EAAME,KAE5B,MAAMC,EACa,yCAAjBH,EAAMI,OACFJ,EAAMK,aAAaV,KACnBK,EAAMM,KAAKC,SACXZ,EAAOK,EAAML,KAAOD,EAAkBM,EAAML,MAAQK,EAAME,GAEhE,MAAO,IADWF,EAAMC,eACCE,KAAcR,GAAM,EASzCa,EAAc,CAClBR,EACAS,KAQA,IAAIC,EAAM,IAFGV,aAAKW,EAALX,EAAOY,OAAQb,EAAcC,MACtBS,aAAME,EAANF,EAAQI,QAAS,WAAWJ,EAAOI,SAAW,KAMlE,OAJIJ,eAAAA,EAAQK,WACVJ,GAAO,YAAYK,EAAmBN,EAAOK,YAGxCJ,CAAG"}
@@ -1,56 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNameUrlSlug = exports.createUrlSlug = exports.getAssetUrl = void 0;
4
- const dataset_1 = require("./dataset");
5
- const createNameUrlSlug = (name) => {
6
- return (name
7
- // Convert to lowercase
8
- .toLowerCase()
9
- // Normalize unicode characters
10
- .normalize("NFD")
11
- // Remove diacritical marks
12
- .replace(/[\u0300-\u036f]/g, "")
13
- // Replace spaces, forward slashes, and underscores with hyphens
14
- .replace(/[\s\/\_]+/g, "-")
15
- // Remove special characters
16
- .replace(/[^\w\-]+/g, "")
17
- // Remove multiple consecutive hyphens
18
- .replace(/\-\-+/g, "-")
19
- // Trim hyphens from start and end
20
- .replace(/^-+/, "")
21
- .replace(/-+$/, ""));
22
- };
23
- exports.createNameUrlSlug = createNameUrlSlug;
24
- const createUrlSlug = (asset) => {
25
- if (asset.asset_type === "conversation") {
26
- return `/conversations/${asset.id}`;
27
- }
28
- if (asset.asset_type === "comment") {
29
- return `/comments/${asset.id}`;
30
- }
31
- const entityName = asset.org_id !== "00000000-0000-0000-0000-000000000000"
32
- ? asset.organization.name
33
- : asset.user.username;
34
- const name = asset.name ? createNameUrlSlug(asset.name) : asset.id;
35
- const assetType = asset.asset_type;
36
- return `/${assetType}s/${entityName}/${name}`;
37
- };
38
- exports.createUrlSlug = createUrlSlug;
39
- const getParentAssetUrl = (asset, config) => {
40
- if (!(asset === null || asset === void 0 ? void 0 : asset.parent))
41
- return "#";
42
- const postfix = asset.asset_type === "comment" ? `#comment-${asset.id}` : "";
43
- return `${getAssetUrl(asset.parent, config)}${postfix}`;
44
- };
45
- const getAssetUrl = (asset, config) => {
46
- const assetType = (asset === null || asset === void 0 ? void 0 : asset.asset_type) || (asset === null || asset === void 0 ? void 0 : asset.assetType);
47
- const slug = (asset === null || asset === void 0 ? void 0 : asset.slug) || createUrlSlug(asset);
48
- const pathPostfix = (config === null || config === void 0 ? void 0 : config.intent) ? `?intent=${config.intent}` : "";
49
- let url = `${slug}${pathPostfix}`;
50
- if (config === null || config === void 0 ? void 0 : config.filters) {
51
- url += `?filters=${(0, dataset_1.filterListToString)(config.filters)}`;
52
- }
53
- return url;
54
- };
55
- exports.getAssetUrl = getAssetUrl;
56
- //# sourceMappingURL=navigate.js.map
1
+ "use strict";var e=require("./dataset.js");const t=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s\/\_]+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,""),r=e=>{if("conversation"===e.asset_type)return`/conversations/${e.id}`;if("comment"===e.asset_type)return`/comments/${e.id}`;const r="00000000-0000-0000-0000-000000000000"!==e.org_id?e.organization.name:e.user.username,s=e.name?t(e.name):e.id;return`/${e.asset_type}s/${r}/${s}`};exports.createNameUrlSlug=t,exports.createUrlSlug=r,exports.getAssetUrl=(t,s)=>{let n=`${(null==t?void 0:t.slug)||r(t)}${(null==s?void 0:s.intent)?`?intent=${s.intent}`:""}`;return(null==s?void 0:s.filters)&&(n+=`?filters=${e.filterListToString(s.filters)}`),n};
2
+ //# sourceMappingURL=navigate.js.map