@rudderhq/shared 0.2.10-canary.9 → 0.2.10
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.
- package/dist/constants.d.ts +3 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/project-mentions.d.ts +19 -1
- package/dist/project-mentions.d.ts.map +1 -1
- package/dist/project-mentions.js +124 -3
- package/dist/project-mentions.js.map +1 -1
- package/dist/project-mentions.test.js +34 -3
- package/dist/project-mentions.test.js.map +1 -1
- package/dist/types/agent.d.ts +1 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/issue.d.ts +35 -0
- package/dist/types/issue.d.ts.map +1 -1
- package/dist/types/organization.d.ts +18 -0
- package/dist/types/organization.d.ts.map +1 -1
- package/dist/types/resource.d.ts +4 -1
- package/dist/types/resource.d.ts.map +1 -1
- package/dist/validators/automation.js +1 -1
- package/dist/validators/automation.test.js +2 -2
- package/dist/validators/automation.test.js.map +1 -1
- package/dist/validators/chat.js +1 -1
- package/dist/validators/chat.test.js +2 -2
- package/dist/validators/index.d.ts +3 -3
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +3 -3
- package/dist/validators/index.js.map +1 -1
- package/dist/validators/issue.d.ts +45 -0
- package/dist/validators/issue.d.ts.map +1 -1
- package/dist/validators/issue.js +16 -0
- package/dist/validators/issue.js.map +1 -1
- package/dist/validators/organization-portability.d.ts +16 -16
- package/dist/validators/organization-skill.d.ts +22 -22
- package/dist/validators/organization.d.ts +35 -0
- package/dist/validators/organization.d.ts.map +1 -1
- package/dist/validators/organization.js +13 -0
- package/dist/validators/organization.js.map +1 -1
- package/dist/validators/project.d.ts +58 -8
- package/dist/validators/project.d.ts.map +1 -1
- package/dist/validators/resource.d.ts +61 -3
- package/dist/validators/resource.d.ts.map +1 -1
- package/dist/validators/resource.js +46 -5
- package/dist/validators/resource.js.map +1 -1
- package/dist/validators/resource.test.d.ts +2 -0
- package/dist/validators/resource.test.d.ts.map +1 -0
- package/dist/validators/resource.test.js +79 -0
- package/dist/validators/resource.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/validators/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/validators/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,8BAA8B,6DAAsC,CAAC;AAClF,eAAO,MAAM,oCAAoC,oCAA6C,CAAC;AAC/F,eAAO,MAAM,mCAAmC,kFAA4C,CAAC;AAoD7F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACE,CAAC;AAEhD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOW,CAAC;AAEzD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;EAKtC,CAAC;AAEZ,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAEzG,eAAO,MAAM,qCAAqC;;;;;;;;;;;;EAIvC,CAAC;AAEZ,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIU,CAAC;AAEzD,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC"}
|
|
@@ -1,21 +1,62 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { ORGANIZATION_RESOURCE_KINDS, PROJECT_RESOURCE_ATTACHMENT_ROLES } from "../constants.js";
|
|
2
|
+
import { ORGANIZATION_RESOURCE_KINDS, ORGANIZATION_RESOURCE_SOURCE_TYPES, PROJECT_RESOURCE_ATTACHMENT_ROLES, } from "../constants.js";
|
|
3
3
|
export const organizationResourceKindSchema = z.enum(ORGANIZATION_RESOURCE_KINDS);
|
|
4
|
+
export const organizationResourceSourceTypeSchema = z.enum(ORGANIZATION_RESOURCE_SOURCE_TYPES);
|
|
4
5
|
export const projectResourceAttachmentRoleSchema = z.enum(PROJECT_RESOURCE_ATTACHMENT_ROLES);
|
|
5
|
-
|
|
6
|
+
const LIBRARY_PATH_SCHEME_RE = /^[a-z][a-z0-9+.-]*:/i;
|
|
7
|
+
function isValidLibraryProjectPath(locator, kind) {
|
|
8
|
+
const trimmed = locator.trim();
|
|
9
|
+
if (!trimmed)
|
|
10
|
+
return false;
|
|
11
|
+
if (LIBRARY_PATH_SCHEME_RE.test(trimmed))
|
|
12
|
+
return false;
|
|
13
|
+
if (trimmed.startsWith("/") || trimmed.startsWith("\\") || trimmed.startsWith("~"))
|
|
14
|
+
return false;
|
|
15
|
+
if (trimmed.includes("\\"))
|
|
16
|
+
return false;
|
|
17
|
+
const parts = trimmed.split("/");
|
|
18
|
+
if (!parts.every((part) => part.length > 0 && part !== "." && part !== ".."))
|
|
19
|
+
return false;
|
|
20
|
+
if (parts[0] !== "projects")
|
|
21
|
+
return false;
|
|
22
|
+
return kind === "directory" ? parts.length >= 2 : parts.length >= 3;
|
|
23
|
+
}
|
|
24
|
+
function validateLibraryResourceContract(value, ctx) {
|
|
25
|
+
if (value.sourceType !== "library")
|
|
26
|
+
return;
|
|
27
|
+
if (value.kind !== undefined && value.kind !== "file" && value.kind !== "directory") {
|
|
28
|
+
ctx.addIssue({
|
|
29
|
+
code: z.ZodIssueCode.custom,
|
|
30
|
+
message: "Library resources must be file or directory resources.",
|
|
31
|
+
path: ["kind"],
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (value.locator !== undefined && !isValidLibraryProjectPath(value.locator, value.kind)) {
|
|
35
|
+
ctx.addIssue({
|
|
36
|
+
code: z.ZodIssueCode.custom,
|
|
37
|
+
message: "Library resource locator must be a normalized project Library path.",
|
|
38
|
+
path: ["locator"],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const createOrganizationResourceBaseSchema = z.object({
|
|
6
43
|
name: z.string().min(1),
|
|
7
44
|
kind: organizationResourceKindSchema,
|
|
45
|
+
sourceType: organizationResourceSourceTypeSchema.optional().default("external"),
|
|
8
46
|
locator: z.string().min(1),
|
|
9
47
|
description: z.string().optional().nullable(),
|
|
10
48
|
metadata: z.record(z.unknown()).optional().nullable(),
|
|
11
49
|
});
|
|
50
|
+
export const createOrganizationResourceSchema = createOrganizationResourceBaseSchema
|
|
51
|
+
.superRefine(validateLibraryResourceContract);
|
|
12
52
|
export const updateOrganizationResourceSchema = z.object({
|
|
13
53
|
name: z.string().min(1).optional(),
|
|
14
54
|
kind: organizationResourceKindSchema.optional(),
|
|
55
|
+
sourceType: organizationResourceSourceTypeSchema.optional(),
|
|
15
56
|
locator: z.string().min(1).optional(),
|
|
16
57
|
description: z.string().optional().nullable(),
|
|
17
58
|
metadata: z.record(z.unknown()).optional().nullable(),
|
|
18
|
-
}).strict();
|
|
59
|
+
}).strict().superRefine(validateLibraryResourceContract);
|
|
19
60
|
export const projectResourceAttachmentInputSchema = z.object({
|
|
20
61
|
resourceId: z.string().uuid(),
|
|
21
62
|
role: projectResourceAttachmentRoleSchema.optional(),
|
|
@@ -27,9 +68,9 @@ export const updateProjectResourceAttachmentSchema = z.object({
|
|
|
27
68
|
note: z.string().optional().nullable(),
|
|
28
69
|
sortOrder: z.number().int().nonnegative().optional(),
|
|
29
70
|
}).strict();
|
|
30
|
-
export const createProjectInlineResourceSchema =
|
|
71
|
+
export const createProjectInlineResourceSchema = createOrganizationResourceBaseSchema.extend({
|
|
31
72
|
role: projectResourceAttachmentRoleSchema.optional(),
|
|
32
73
|
note: z.string().optional().nullable(),
|
|
33
74
|
sortOrder: z.number().int().nonnegative().optional(),
|
|
34
|
-
}).strict();
|
|
75
|
+
}).strict().superRefine(validateLibraryResourceContract);
|
|
35
76
|
//# sourceMappingURL=resource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/validators/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/validators/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.test.d.ts","sourceRoot":"","sources":["../../src/validators/resource.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { createOrganizationResourceSchema, updateOrganizationResourceSchema, } from "./resource.js";
|
|
3
|
+
describe("organization resource validators", () => {
|
|
4
|
+
it("accepts library resources with normalized relative locators", () => {
|
|
5
|
+
expect(createOrganizationResourceSchema.parse({
|
|
6
|
+
name: "Spec",
|
|
7
|
+
kind: "file",
|
|
8
|
+
sourceType: "library",
|
|
9
|
+
locator: "projects/product/spec.md",
|
|
10
|
+
})).toMatchObject({
|
|
11
|
+
sourceType: "library",
|
|
12
|
+
locator: "projects/product/spec.md",
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
it("accepts project Library root locators for directory resources", () => {
|
|
16
|
+
expect(createOrganizationResourceSchema.parse({
|
|
17
|
+
name: "Product folder",
|
|
18
|
+
kind: "directory",
|
|
19
|
+
sourceType: "library",
|
|
20
|
+
locator: "projects/product",
|
|
21
|
+
})).toMatchObject({
|
|
22
|
+
sourceType: "library",
|
|
23
|
+
locator: "projects/product",
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
it("rejects library resources that are not file or directory resources", () => {
|
|
27
|
+
expect(() => createOrganizationResourceSchema.parse({
|
|
28
|
+
name: "Website",
|
|
29
|
+
kind: "url",
|
|
30
|
+
sourceType: "library",
|
|
31
|
+
locator: "projects/product/spec.md",
|
|
32
|
+
})).toThrow(/file or directory/);
|
|
33
|
+
});
|
|
34
|
+
it.each([
|
|
35
|
+
"https://example.com/spec.md",
|
|
36
|
+
"/Users/acme/spec.md",
|
|
37
|
+
"../spec.md",
|
|
38
|
+
"docs/spec.md",
|
|
39
|
+
"projects/spec.md",
|
|
40
|
+
"docs/../spec.md",
|
|
41
|
+
"docs//spec.md",
|
|
42
|
+
"docs/./spec.md",
|
|
43
|
+
"docs\\spec.md",
|
|
44
|
+
"agents/builder--123/instructions/SOUL.md",
|
|
45
|
+
"artifacts/report.md",
|
|
46
|
+
"plans/project-plan.md",
|
|
47
|
+
"skills/writer/SKILL.md",
|
|
48
|
+
])("rejects unsafe library locator %s", (locator) => {
|
|
49
|
+
expect(() => createOrganizationResourceSchema.parse({
|
|
50
|
+
name: "Spec",
|
|
51
|
+
kind: "file",
|
|
52
|
+
sourceType: "library",
|
|
53
|
+
locator,
|
|
54
|
+
})).toThrow(/normalized project Library path/);
|
|
55
|
+
});
|
|
56
|
+
it("validates library update patches when the updated fields are present", () => {
|
|
57
|
+
expect(() => updateOrganizationResourceSchema.parse({
|
|
58
|
+
sourceType: "library",
|
|
59
|
+
kind: "file",
|
|
60
|
+
locator: "../outside.md",
|
|
61
|
+
})).toThrow(/normalized project Library path/);
|
|
62
|
+
});
|
|
63
|
+
it("requires update patches to include a project child path unless they declare a directory resource", () => {
|
|
64
|
+
expect(() => updateOrganizationResourceSchema.parse({
|
|
65
|
+
sourceType: "library",
|
|
66
|
+
locator: "projects/spec.md",
|
|
67
|
+
})).toThrow(/normalized project Library path/);
|
|
68
|
+
expect(updateOrganizationResourceSchema.parse({
|
|
69
|
+
sourceType: "library",
|
|
70
|
+
kind: "directory",
|
|
71
|
+
locator: "projects/product",
|
|
72
|
+
})).toMatchObject({
|
|
73
|
+
sourceType: "library",
|
|
74
|
+
kind: "directory",
|
|
75
|
+
locator: "projects/product",
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=resource.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.test.js","sourceRoot":"","sources":["../../src/validators/resource.test.ts"],"names":[],"mappings":"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"}
|