@collage-dam/mcp-server 0.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.
- package/.env.example +56 -0
- package/CHANGELOG.md +90 -0
- package/LICENSE +21 -0
- package/README.md +512 -0
- package/dist/client.d.ts +497 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1162 -0
- package/dist/client.js.map +1 -0
- package/dist/conventions/confirmation.d.ts +89 -0
- package/dist/conventions/confirmation.d.ts.map +1 -0
- package/dist/conventions/confirmation.js +132 -0
- package/dist/conventions/confirmation.js.map +1 -0
- package/dist/conventions/dry-run/batch-executor.d.ts +36 -0
- package/dist/conventions/dry-run/batch-executor.d.ts.map +1 -0
- package/dist/conventions/dry-run/batch-executor.js +89 -0
- package/dist/conventions/dry-run/batch-executor.js.map +1 -0
- package/dist/conventions/dry-run/diff-renderer.d.ts +34 -0
- package/dist/conventions/dry-run/diff-renderer.d.ts.map +1 -0
- package/dist/conventions/dry-run/diff-renderer.js +158 -0
- package/dist/conventions/dry-run/diff-renderer.js.map +1 -0
- package/dist/conventions/dry-run/index.d.ts +13 -0
- package/dist/conventions/dry-run/index.d.ts.map +1 -0
- package/dist/conventions/dry-run/index.js +10 -0
- package/dist/conventions/dry-run/index.js.map +1 -0
- package/dist/conventions/dry-run/mutating-tool.d.ts +64 -0
- package/dist/conventions/dry-run/mutating-tool.d.ts.map +1 -0
- package/dist/conventions/dry-run/mutating-tool.js +88 -0
- package/dist/conventions/dry-run/mutating-tool.js.map +1 -0
- package/dist/conventions/dry-run/summary.d.ts +66 -0
- package/dist/conventions/dry-run/summary.d.ts.map +1 -0
- package/dist/conventions/dry-run/summary.js +185 -0
- package/dist/conventions/dry-run/summary.js.map +1 -0
- package/dist/conventions/dry-run/types.d.ts +597 -0
- package/dist/conventions/dry-run/types.d.ts.map +1 -0
- package/dist/conventions/dry-run/types.js +108 -0
- package/dist/conventions/dry-run/types.js.map +1 -0
- package/dist/conventions/dry-run/with-dry-run.d.ts +66 -0
- package/dist/conventions/dry-run/with-dry-run.d.ts.map +1 -0
- package/dist/conventions/dry-run/with-dry-run.js +219 -0
- package/dist/conventions/dry-run/with-dry-run.js.map +1 -0
- package/dist/conventions/env.d.ts +49 -0
- package/dist/conventions/env.d.ts.map +1 -0
- package/dist/conventions/env.js +84 -0
- package/dist/conventions/env.js.map +1 -0
- package/dist/conventions/errors.d.ts +68 -0
- package/dist/conventions/errors.d.ts.map +1 -0
- package/dist/conventions/errors.js +81 -0
- package/dist/conventions/errors.js.map +1 -0
- package/dist/conventions/logger.d.ts +28 -0
- package/dist/conventions/logger.d.ts.map +1 -0
- package/dist/conventions/logger.js +105 -0
- package/dist/conventions/logger.js.map +1 -0
- package/dist/conventions/pagination.d.ts +37 -0
- package/dist/conventions/pagination.d.ts.map +1 -0
- package/dist/conventions/pagination.js +53 -0
- package/dist/conventions/pagination.js.map +1 -0
- package/dist/conventions/rate-limiter.d.ts +54 -0
- package/dist/conventions/rate-limiter.d.ts.map +1 -0
- package/dist/conventions/rate-limiter.js +143 -0
- package/dist/conventions/rate-limiter.js.map +1 -0
- package/dist/conventions/response-budget.d.ts +66 -0
- package/dist/conventions/response-budget.d.ts.map +1 -0
- package/dist/conventions/response-budget.js +89 -0
- package/dist/conventions/response-budget.js.map +1 -0
- package/dist/conventions/schema-version.d.ts +27 -0
- package/dist/conventions/schema-version.d.ts.map +1 -0
- package/dist/conventions/schema-version.js +29 -0
- package/dist/conventions/schema-version.js.map +1 -0
- package/dist/conventions/state-store-redis.d.ts +32 -0
- package/dist/conventions/state-store-redis.d.ts.map +1 -0
- package/dist/conventions/state-store-redis.js +77 -0
- package/dist/conventions/state-store-redis.js.map +1 -0
- package/dist/conventions/state-store.d.ts +46 -0
- package/dist/conventions/state-store.d.ts.map +1 -0
- package/dist/conventions/state-store.js +105 -0
- package/dist/conventions/state-store.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +421 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/collection-audit.d.ts +13 -0
- package/dist/prompts/collection-audit.d.ts.map +1 -0
- package/dist/prompts/collection-audit.js +168 -0
- package/dist/prompts/collection-audit.js.map +1 -0
- package/dist/prompts/create-distribution.d.ts +15 -0
- package/dist/prompts/create-distribution.d.ts.map +1 -0
- package/dist/prompts/create-distribution.js +111 -0
- package/dist/prompts/create-distribution.js.map +1 -0
- package/dist/prompts/helpers.d.ts +20 -0
- package/dist/prompts/helpers.d.ts.map +1 -0
- package/dist/prompts/helpers.js +53 -0
- package/dist/prompts/helpers.js.map +1 -0
- package/dist/prompts/library-health-audit.d.ts +13 -0
- package/dist/prompts/library-health-audit.d.ts.map +1 -0
- package/dist/prompts/library-health-audit.js +131 -0
- package/dist/prompts/library-health-audit.js.map +1 -0
- package/dist/prompts/usage-insights.d.ts +13 -0
- package/dist/prompts/usage-insights.d.ts.map +1 -0
- package/dist/prompts/usage-insights.js +98 -0
- package/dist/prompts/usage-insights.js.map +1 -0
- package/dist/prompts/wrap-prompt-as-tool.d.ts +48 -0
- package/dist/prompts/wrap-prompt-as-tool.d.ts.map +1 -0
- package/dist/prompts/wrap-prompt-as-tool.js +61 -0
- package/dist/prompts/wrap-prompt-as-tool.js.map +1 -0
- package/dist/resources/asset-by-id.d.ts +4 -0
- package/dist/resources/asset-by-id.d.ts.map +1 -0
- package/dist/resources/asset-by-id.js +27 -0
- package/dist/resources/asset-by-id.js.map +1 -0
- package/dist/resources/collections.d.ts +5 -0
- package/dist/resources/collections.d.ts.map +1 -0
- package/dist/resources/collections.js +48 -0
- package/dist/resources/collections.js.map +1 -0
- package/dist/resources/custom-fields.d.ts +4 -0
- package/dist/resources/custom-fields.d.ts.map +1 -0
- package/dist/resources/custom-fields.js +30 -0
- package/dist/resources/custom-fields.js.map +1 -0
- package/dist/resources/folders.d.ts +5 -0
- package/dist/resources/folders.d.ts.map +1 -0
- package/dist/resources/folders.js +73 -0
- package/dist/resources/folders.js.map +1 -0
- package/dist/resources/helpers.d.ts +17 -0
- package/dist/resources/helpers.d.ts.map +1 -0
- package/dist/resources/helpers.js +59 -0
- package/dist/resources/helpers.js.map +1 -0
- package/dist/resources/portals.d.ts +5 -0
- package/dist/resources/portals.d.ts.map +1 -0
- package/dist/resources/portals.js +81 -0
- package/dist/resources/portals.js.map +1 -0
- package/dist/resources/recent-and-dashboard.d.ts +5 -0
- package/dist/resources/recent-and-dashboard.d.ts.map +1 -0
- package/dist/resources/recent-and-dashboard.js +42 -0
- package/dist/resources/recent-and-dashboard.js.map +1 -0
- package/dist/tools/asset-selection.d.ts +102 -0
- package/dist/tools/asset-selection.d.ts.map +1 -0
- package/dist/tools/asset-selection.js +133 -0
- package/dist/tools/asset-selection.js.map +1 -0
- package/dist/tools/audit/audit-folder-structure.d.ts +108 -0
- package/dist/tools/audit/audit-folder-structure.d.ts.map +1 -0
- package/dist/tools/audit/audit-folder-structure.js +260 -0
- package/dist/tools/audit/audit-folder-structure.js.map +1 -0
- package/dist/tools/audit/audit-naming-conventions.d.ts +83 -0
- package/dist/tools/audit/audit-naming-conventions.d.ts.map +1 -0
- package/dist/tools/audit/audit-naming-conventions.js +238 -0
- package/dist/tools/audit/audit-naming-conventions.js.map +1 -0
- package/dist/tools/audit/audit-tagging-hygiene.d.ts +77 -0
- package/dist/tools/audit/audit-tagging-hygiene.d.ts.map +1 -0
- package/dist/tools/audit/audit-tagging-hygiene.js +402 -0
- package/dist/tools/audit/audit-tagging-hygiene.js.map +1 -0
- package/dist/tools/audit/detect-duplicates.d.ts +62 -0
- package/dist/tools/audit/detect-duplicates.d.ts.map +1 -0
- package/dist/tools/audit/detect-duplicates.js +0 -0
- package/dist/tools/audit/detect-duplicates.js.map +1 -0
- package/dist/tools/audit/types.d.ts +526 -0
- package/dist/tools/audit/types.d.ts.map +1 -0
- package/dist/tools/audit/types.js +188 -0
- package/dist/tools/audit/types.js.map +1 -0
- package/dist/tools/bulk-move-assets.d.ts +78 -0
- package/dist/tools/bulk-move-assets.d.ts.map +1 -0
- package/dist/tools/bulk-move-assets.js +122 -0
- package/dist/tools/bulk-move-assets.js.map +1 -0
- package/dist/tools/bulk-normalize-filenames.d.ts +62 -0
- package/dist/tools/bulk-normalize-filenames.d.ts.map +1 -0
- package/dist/tools/bulk-normalize-filenames.js +237 -0
- package/dist/tools/bulk-normalize-filenames.js.map +1 -0
- package/dist/tools/bulk-rename-assets.d.ts +79 -0
- package/dist/tools/bulk-rename-assets.d.ts.map +1 -0
- package/dist/tools/bulk-rename-assets.js +139 -0
- package/dist/tools/bulk-rename-assets.js.map +1 -0
- package/dist/tools/bulk-tags.d.ts +107 -0
- package/dist/tools/bulk-tags.d.ts.map +1 -0
- package/dist/tools/bulk-tags.js +220 -0
- package/dist/tools/bulk-tags.js.map +1 -0
- package/dist/tools/client-adapters.d.ts +76 -0
- package/dist/tools/client-adapters.d.ts.map +1 -0
- package/dist/tools/client-adapters.js +648 -0
- package/dist/tools/client-adapters.js.map +1 -0
- package/dist/tools/collection-membership.d.ts +90 -0
- package/dist/tools/collection-membership.d.ts.map +1 -0
- package/dist/tools/collection-membership.js +195 -0
- package/dist/tools/collection-membership.js.map +1 -0
- package/dist/tools/create-collection.d.ts +63 -0
- package/dist/tools/create-collection.d.ts.map +1 -0
- package/dist/tools/create-collection.js +151 -0
- package/dist/tools/create-collection.js.map +1 -0
- package/dist/tools/create-folder.d.ts +46 -0
- package/dist/tools/create-folder.d.ts.map +1 -0
- package/dist/tools/create-folder.js +83 -0
- package/dist/tools/create-folder.js.map +1 -0
- package/dist/tools/create-share-link.d.ts +107 -0
- package/dist/tools/create-share-link.d.ts.map +1 -0
- package/dist/tools/create-share-link.js +239 -0
- package/dist/tools/create-share-link.js.map +1 -0
- package/dist/tools/get-asset-details.d.ts +401 -0
- package/dist/tools/get-asset-details.d.ts.map +1 -0
- package/dist/tools/get-asset-details.js +56 -0
- package/dist/tools/get-asset-details.js.map +1 -0
- package/dist/tools/get-collection.d.ts +126 -0
- package/dist/tools/get-collection.d.ts.map +1 -0
- package/dist/tools/get-collection.js +52 -0
- package/dist/tools/get-collection.js.map +1 -0
- package/dist/tools/get-embed-code.d.ts +195 -0
- package/dist/tools/get-embed-code.d.ts.map +1 -0
- package/dist/tools/get-embed-code.js +214 -0
- package/dist/tools/get-embed-code.js.map +1 -0
- package/dist/tools/insights/analyze-share-links.d.ts +159 -0
- package/dist/tools/insights/analyze-share-links.d.ts.map +1 -0
- package/dist/tools/insights/analyze-share-links.js +314 -0
- package/dist/tools/insights/analyze-share-links.js.map +1 -0
- package/dist/tools/insights/insight-cache.d.ts +36 -0
- package/dist/tools/insights/insight-cache.d.ts.map +1 -0
- package/dist/tools/insights/insight-cache.js +98 -0
- package/dist/tools/insights/insight-cache.js.map +1 -0
- package/dist/tools/insights/report-asset-activation.d.ts +149 -0
- package/dist/tools/insights/report-asset-activation.d.ts.map +1 -0
- package/dist/tools/insights/report-asset-activation.js +380 -0
- package/dist/tools/insights/report-asset-activation.js.map +1 -0
- package/dist/tools/insights/report-stale-assets.d.ts +120 -0
- package/dist/tools/insights/report-stale-assets.d.ts.map +1 -0
- package/dist/tools/insights/report-stale-assets.js +281 -0
- package/dist/tools/insights/report-stale-assets.js.map +1 -0
- package/dist/tools/insights/report-top-assets.d.ts +139 -0
- package/dist/tools/insights/report-top-assets.d.ts.map +1 -0
- package/dist/tools/insights/report-top-assets.js +407 -0
- package/dist/tools/insights/report-top-assets.js.map +1 -0
- package/dist/tools/list-categories.d.ts +127 -0
- package/dist/tools/list-categories.d.ts.map +1 -0
- package/dist/tools/list-categories.js +68 -0
- package/dist/tools/list-categories.js.map +1 -0
- package/dist/tools/list-collections.d.ts +127 -0
- package/dist/tools/list-collections.d.ts.map +1 -0
- package/dist/tools/list-collections.js +53 -0
- package/dist/tools/list-collections.js.map +1 -0
- package/dist/tools/list-custom-fields.d.ts +125 -0
- package/dist/tools/list-custom-fields.d.ts.map +1 -0
- package/dist/tools/list-custom-fields.js +51 -0
- package/dist/tools/list-custom-fields.js.map +1 -0
- package/dist/tools/list-share-links.d.ts +192 -0
- package/dist/tools/list-share-links.d.ts.map +1 -0
- package/dist/tools/list-share-links.js +92 -0
- package/dist/tools/list-share-links.js.map +1 -0
- package/dist/tools/list-workspaces.d.ts +88 -0
- package/dist/tools/list-workspaces.d.ts.map +1 -0
- package/dist/tools/list-workspaces.js +71 -0
- package/dist/tools/list-workspaces.js.map +1 -0
- package/dist/tools/move-asset.d.ts +48 -0
- package/dist/tools/move-asset.d.ts.map +1 -0
- package/dist/tools/move-asset.js +85 -0
- package/dist/tools/move-asset.js.map +1 -0
- package/dist/tools/rename-asset.d.ts +88 -0
- package/dist/tools/rename-asset.d.ts.map +1 -0
- package/dist/tools/rename-asset.js +100 -0
- package/dist/tools/rename-asset.js.map +1 -0
- package/dist/tools/rename-folder.d.ts +55 -0
- package/dist/tools/rename-folder.d.ts.map +1 -0
- package/dist/tools/rename-folder.js +101 -0
- package/dist/tools/rename-folder.js.map +1 -0
- package/dist/tools/revoke-share-link.d.ts +55 -0
- package/dist/tools/revoke-share-link.d.ts.map +1 -0
- package/dist/tools/revoke-share-link.js +77 -0
- package/dist/tools/revoke-share-link.js.map +1 -0
- package/dist/tools/search/facets.d.ts +34 -0
- package/dist/tools/search/facets.d.ts.map +1 -0
- package/dist/tools/search/facets.js +147 -0
- package/dist/tools/search/facets.js.map +1 -0
- package/dist/tools/search/filter-builder.d.ts +33 -0
- package/dist/tools/search/filter-builder.d.ts.map +1 -0
- package/dist/tools/search/filter-builder.js +111 -0
- package/dist/tools/search/filter-builder.js.map +1 -0
- package/dist/tools/search/search-assets.d.ts +41 -0
- package/dist/tools/search/search-assets.d.ts.map +1 -0
- package/dist/tools/search/search-assets.js +162 -0
- package/dist/tools/search/search-assets.js.map +1 -0
- package/dist/tools/search/search-collections.d.ts +35 -0
- package/dist/tools/search/search-collections.d.ts.map +1 -0
- package/dist/tools/search/search-collections.js +103 -0
- package/dist/tools/search/search-collections.js.map +1 -0
- package/dist/tools/search/types.d.ts +1047 -0
- package/dist/tools/search/types.d.ts.map +1 -0
- package/dist/tools/search/types.js +216 -0
- package/dist/tools/search/types.js.map +1 -0
- package/dist/tools/update-asset-metadata.d.ts +78 -0
- package/dist/tools/update-asset-metadata.d.ts.map +1 -0
- package/dist/tools/update-asset-metadata.js +203 -0
- package/dist/tools/update-asset-metadata.js.map +1 -0
- package/dist/tools/update-collection.d.ts +69 -0
- package/dist/tools/update-collection.d.ts.map +1 -0
- package/dist/tools/update-collection.js +142 -0
- package/dist/tools/update-collection.js.map +1 -0
- package/dist/tools/view-category-contents.d.ts +231 -0
- package/dist/tools/view-category-contents.d.ts.map +1 -0
- package/dist/tools/view-category-contents.js +97 -0
- package/dist/tools/view-category-contents.js.map +1 -0
- package/dist/types.d.ts +1326 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +288 -0
- package/dist/types.js.map +1 -0
- package/dist/typesense.d.ts +84 -0
- package/dist/typesense.d.ts.map +1 -0
- package/dist/typesense.js +243 -0
- package/dist/typesense.js.map +1 -0
- package/docs/api-field-verification.md +244 -0
- package/docs/deployment-runbook.md +446 -0
- package/docs/security-review.md +195 -0
- package/docs/typesense-filter-schema.md +262 -0
- package/docs/verified-endpoints.md +38 -0
- package/package.json +72 -0
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Audit score. Always 0–100 inclusive, integer, deterministic.
|
|
4
|
+
*
|
|
5
|
+
* Each audit MUST document its scoring formula in code comments. A score
|
|
6
|
+
* of 100 means "no findings"; lower scores reflect penalties summed across
|
|
7
|
+
* findings, weighted by severity. Scores are clamped at 0 — they never go
|
|
8
|
+
* negative even if penalties exceed 100.
|
|
9
|
+
*/
|
|
10
|
+
export declare const AuditScoreSchema: z.ZodNumber;
|
|
11
|
+
export type AuditScore = z.infer<typeof AuditScoreSchema>;
|
|
12
|
+
export declare const AuditSeveritySchema: z.ZodEnum<["info", "warning", "critical"]>;
|
|
13
|
+
export type AuditSeverity = z.infer<typeof AuditSeveritySchema>;
|
|
14
|
+
/**
|
|
15
|
+
* A single structured finding.
|
|
16
|
+
*
|
|
17
|
+
* id — stable identifier within this report; used by
|
|
18
|
+
* downstream code to correlate next-step hints
|
|
19
|
+
* back to the finding that produced them.
|
|
20
|
+
* category — bucket name (e.g. `untagged_assets`,
|
|
21
|
+
* `inconsistent_casing`). Stable across runs so
|
|
22
|
+
* clients can group / dedupe across reports.
|
|
23
|
+
* severity — `info` | `warning` | `critical`. Drives both UI
|
|
24
|
+
* styling and score penalty weight.
|
|
25
|
+
* count — total number of items in this category. Always
|
|
26
|
+
* equals the *underlying* count, even if
|
|
27
|
+
* `sample_asset_ids` is truncated.
|
|
28
|
+
* sample_asset_ids — bounded sample (caller decides bound; default
|
|
29
|
+
* suggestion is 10) of asset IDs for spot-checks.
|
|
30
|
+
* message — human-readable summary. Treat as display copy,
|
|
31
|
+
* not data — never parse it.
|
|
32
|
+
*/
|
|
33
|
+
export declare function auditFindingSchema<TMeta extends z.ZodTypeAny>(metaSchema: TMeta): z.ZodObject<{
|
|
34
|
+
id: z.ZodString;
|
|
35
|
+
category: z.ZodString;
|
|
36
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
37
|
+
count: z.ZodNumber;
|
|
38
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
39
|
+
message: z.ZodString;
|
|
40
|
+
meta: z.ZodOptional<TMeta>;
|
|
41
|
+
}, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
category: z.ZodString;
|
|
44
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
45
|
+
count: z.ZodNumber;
|
|
46
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
47
|
+
message: z.ZodString;
|
|
48
|
+
meta: z.ZodOptional<TMeta>;
|
|
49
|
+
}>, any> extends infer T ? { [k in keyof T]: T[k]; } : never, z.baseObjectInputType<{
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
category: z.ZodString;
|
|
52
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
53
|
+
count: z.ZodNumber;
|
|
54
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
55
|
+
message: z.ZodString;
|
|
56
|
+
meta: z.ZodOptional<TMeta>;
|
|
57
|
+
}> extends infer T_1 ? { [k_1 in keyof T_1]: T_1[k_1]; } : never>;
|
|
58
|
+
export declare const BaseAuditFindingSchema: z.ZodObject<{
|
|
59
|
+
id: z.ZodString;
|
|
60
|
+
category: z.ZodString;
|
|
61
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
62
|
+
count: z.ZodNumber;
|
|
63
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
64
|
+
message: z.ZodString;
|
|
65
|
+
meta: z.ZodOptional<z.ZodUnknown>;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
message: string;
|
|
68
|
+
id: string;
|
|
69
|
+
category: string;
|
|
70
|
+
severity: "info" | "warning" | "critical";
|
|
71
|
+
count: number;
|
|
72
|
+
sample_asset_ids: string[];
|
|
73
|
+
meta?: unknown;
|
|
74
|
+
}, {
|
|
75
|
+
message: string;
|
|
76
|
+
id: string;
|
|
77
|
+
category: string;
|
|
78
|
+
severity: "info" | "warning" | "critical";
|
|
79
|
+
count: number;
|
|
80
|
+
sample_asset_ids: string[];
|
|
81
|
+
meta?: unknown;
|
|
82
|
+
}>;
|
|
83
|
+
export type AuditFinding<TMeta = unknown> = {
|
|
84
|
+
id: string;
|
|
85
|
+
category: string;
|
|
86
|
+
severity: AuditSeverity;
|
|
87
|
+
count: number;
|
|
88
|
+
sample_asset_ids: string[];
|
|
89
|
+
message: string;
|
|
90
|
+
meta?: TMeta;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Structured next-step hint pointing at an existing mutating tool.
|
|
94
|
+
*
|
|
95
|
+
* Phase 1 only emits `add_tags` / `remove_tags` / `set_tags` actions and
|
|
96
|
+
* targets `bulk_add_tags` / `bulk_remove_tags` / `bulk_set_tags`. The
|
|
97
|
+
* `action` enum is intentionally extensible — Phase 1.5 will add
|
|
98
|
+
* `rename_assets`, `move_assets`, `normalize_filenames` without breaking
|
|
99
|
+
* the schema (additive only).
|
|
100
|
+
*
|
|
101
|
+
* The shape carries the exact argument set the caller would pass to the
|
|
102
|
+
* mutating tool, so a router can dispatch directly without re-interpreting
|
|
103
|
+
* the finding.
|
|
104
|
+
*/
|
|
105
|
+
export declare const AuditNextStepActionSchema: z.ZodEnum<["add_tags", "remove_tags", "set_tags"]>;
|
|
106
|
+
export type AuditNextStepAction = z.infer<typeof AuditNextStepActionSchema>;
|
|
107
|
+
export declare const AuditNextStepSchema: z.ZodObject<{
|
|
108
|
+
action: z.ZodEnum<["add_tags", "remove_tags", "set_tags"]>;
|
|
109
|
+
/**
|
|
110
|
+
* Name of the mutating tool that should be invoked to apply this hint.
|
|
111
|
+
* Stored as a string (not enum) so Phase 1.5 can introduce new tools
|
|
112
|
+
* without bumping the schema major version.
|
|
113
|
+
*/
|
|
114
|
+
tool: z.ZodString;
|
|
115
|
+
/** Asset IDs the caller should target. Always a non-empty list. */
|
|
116
|
+
target_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
117
|
+
/** Tags to add / remove / set, when `action` is tag-related. */
|
|
118
|
+
suggested_tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
119
|
+
/** Short rationale linking the hint back to its originating finding. */
|
|
120
|
+
reason: z.ZodString;
|
|
121
|
+
/** ID of the finding this hint addresses (optional but encouraged). */
|
|
122
|
+
finding_id: z.ZodOptional<z.ZodString>;
|
|
123
|
+
}, "strip", z.ZodTypeAny, {
|
|
124
|
+
tool: string;
|
|
125
|
+
reason: string;
|
|
126
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
127
|
+
target_asset_ids: string[];
|
|
128
|
+
suggested_tags?: string[] | undefined;
|
|
129
|
+
finding_id?: string | undefined;
|
|
130
|
+
}, {
|
|
131
|
+
tool: string;
|
|
132
|
+
reason: string;
|
|
133
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
134
|
+
target_asset_ids: string[];
|
|
135
|
+
suggested_tags?: string[] | undefined;
|
|
136
|
+
finding_id?: string | undefined;
|
|
137
|
+
}>;
|
|
138
|
+
export type AuditNextStep = z.infer<typeof AuditNextStepSchema>;
|
|
139
|
+
export declare const AuditSummaryCountsSchema: z.ZodObject<{
|
|
140
|
+
total_assets_scanned: z.ZodNumber;
|
|
141
|
+
total_findings: z.ZodNumber;
|
|
142
|
+
by_severity: z.ZodObject<{
|
|
143
|
+
info: z.ZodNumber;
|
|
144
|
+
warning: z.ZodNumber;
|
|
145
|
+
critical: z.ZodNumber;
|
|
146
|
+
}, "strip", z.ZodTypeAny, {
|
|
147
|
+
info: number;
|
|
148
|
+
warning: number;
|
|
149
|
+
critical: number;
|
|
150
|
+
}, {
|
|
151
|
+
info: number;
|
|
152
|
+
warning: number;
|
|
153
|
+
critical: number;
|
|
154
|
+
}>;
|
|
155
|
+
}, "strip", z.ZodTypeAny, {
|
|
156
|
+
total_assets_scanned: number;
|
|
157
|
+
total_findings: number;
|
|
158
|
+
by_severity: {
|
|
159
|
+
info: number;
|
|
160
|
+
warning: number;
|
|
161
|
+
critical: number;
|
|
162
|
+
};
|
|
163
|
+
}, {
|
|
164
|
+
total_assets_scanned: number;
|
|
165
|
+
total_findings: number;
|
|
166
|
+
by_severity: {
|
|
167
|
+
info: number;
|
|
168
|
+
warning: number;
|
|
169
|
+
critical: number;
|
|
170
|
+
};
|
|
171
|
+
}>;
|
|
172
|
+
export type AuditSummaryCounts = z.infer<typeof AuditSummaryCountsSchema>;
|
|
173
|
+
/**
|
|
174
|
+
* Top-level envelope returned by every audit tool.
|
|
175
|
+
*
|
|
176
|
+
* score — 0–100 (see {@link AuditScoreSchema})
|
|
177
|
+
* summary_counts — quick-glance roll-up
|
|
178
|
+
* findings — every detected issue, structured
|
|
179
|
+
* next_steps — structured fix suggestions pointing at existing
|
|
180
|
+
* mutating tools
|
|
181
|
+
* truncated — true when findings or next_steps were trimmed to
|
|
182
|
+
* stay under the response budget. When true, the
|
|
183
|
+
* report is *partial* and the caller should re-run
|
|
184
|
+
* with a tighter scope or paginated input.
|
|
185
|
+
* truncation_reason — populated when `truncated` is true.
|
|
186
|
+
*/
|
|
187
|
+
export declare function auditReportSchema<TMeta extends z.ZodTypeAny>(metaSchema: TMeta): z.ZodObject<{
|
|
188
|
+
score: z.ZodNumber;
|
|
189
|
+
summary_counts: z.ZodObject<{
|
|
190
|
+
total_assets_scanned: z.ZodNumber;
|
|
191
|
+
total_findings: z.ZodNumber;
|
|
192
|
+
by_severity: z.ZodObject<{
|
|
193
|
+
info: z.ZodNumber;
|
|
194
|
+
warning: z.ZodNumber;
|
|
195
|
+
critical: z.ZodNumber;
|
|
196
|
+
}, "strip", z.ZodTypeAny, {
|
|
197
|
+
info: number;
|
|
198
|
+
warning: number;
|
|
199
|
+
critical: number;
|
|
200
|
+
}, {
|
|
201
|
+
info: number;
|
|
202
|
+
warning: number;
|
|
203
|
+
critical: number;
|
|
204
|
+
}>;
|
|
205
|
+
}, "strip", z.ZodTypeAny, {
|
|
206
|
+
total_assets_scanned: number;
|
|
207
|
+
total_findings: number;
|
|
208
|
+
by_severity: {
|
|
209
|
+
info: number;
|
|
210
|
+
warning: number;
|
|
211
|
+
critical: number;
|
|
212
|
+
};
|
|
213
|
+
}, {
|
|
214
|
+
total_assets_scanned: number;
|
|
215
|
+
total_findings: number;
|
|
216
|
+
by_severity: {
|
|
217
|
+
info: number;
|
|
218
|
+
warning: number;
|
|
219
|
+
critical: number;
|
|
220
|
+
};
|
|
221
|
+
}>;
|
|
222
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
223
|
+
id: z.ZodString;
|
|
224
|
+
category: z.ZodString;
|
|
225
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
226
|
+
count: z.ZodNumber;
|
|
227
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
228
|
+
message: z.ZodString;
|
|
229
|
+
meta: z.ZodOptional<TMeta>;
|
|
230
|
+
}, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
231
|
+
id: z.ZodString;
|
|
232
|
+
category: z.ZodString;
|
|
233
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
234
|
+
count: z.ZodNumber;
|
|
235
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
236
|
+
message: z.ZodString;
|
|
237
|
+
meta: z.ZodOptional<TMeta>;
|
|
238
|
+
}>, any> extends infer T ? { [k in keyof T]: T[k]; } : never, z.baseObjectInputType<{
|
|
239
|
+
id: z.ZodString;
|
|
240
|
+
category: z.ZodString;
|
|
241
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
242
|
+
count: z.ZodNumber;
|
|
243
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
244
|
+
message: z.ZodString;
|
|
245
|
+
meta: z.ZodOptional<TMeta>;
|
|
246
|
+
}> extends infer T_1 ? { [k_1 in keyof T_1]: T_1[k_1]; } : never>, "many">;
|
|
247
|
+
next_steps: z.ZodArray<z.ZodObject<{
|
|
248
|
+
action: z.ZodEnum<["add_tags", "remove_tags", "set_tags"]>;
|
|
249
|
+
/**
|
|
250
|
+
* Name of the mutating tool that should be invoked to apply this hint.
|
|
251
|
+
* Stored as a string (not enum) so Phase 1.5 can introduce new tools
|
|
252
|
+
* without bumping the schema major version.
|
|
253
|
+
*/
|
|
254
|
+
tool: z.ZodString;
|
|
255
|
+
/** Asset IDs the caller should target. Always a non-empty list. */
|
|
256
|
+
target_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
257
|
+
/** Tags to add / remove / set, when `action` is tag-related. */
|
|
258
|
+
suggested_tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
259
|
+
/** Short rationale linking the hint back to its originating finding. */
|
|
260
|
+
reason: z.ZodString;
|
|
261
|
+
/** ID of the finding this hint addresses (optional but encouraged). */
|
|
262
|
+
finding_id: z.ZodOptional<z.ZodString>;
|
|
263
|
+
}, "strip", z.ZodTypeAny, {
|
|
264
|
+
tool: string;
|
|
265
|
+
reason: string;
|
|
266
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
267
|
+
target_asset_ids: string[];
|
|
268
|
+
suggested_tags?: string[] | undefined;
|
|
269
|
+
finding_id?: string | undefined;
|
|
270
|
+
}, {
|
|
271
|
+
tool: string;
|
|
272
|
+
reason: string;
|
|
273
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
274
|
+
target_asset_ids: string[];
|
|
275
|
+
suggested_tags?: string[] | undefined;
|
|
276
|
+
finding_id?: string | undefined;
|
|
277
|
+
}>, "many">;
|
|
278
|
+
truncated: z.ZodBoolean;
|
|
279
|
+
truncation_reason: z.ZodOptional<z.ZodString>;
|
|
280
|
+
}, "strip", z.ZodTypeAny, {
|
|
281
|
+
truncated: boolean;
|
|
282
|
+
score: number;
|
|
283
|
+
summary_counts: {
|
|
284
|
+
total_assets_scanned: number;
|
|
285
|
+
total_findings: number;
|
|
286
|
+
by_severity: {
|
|
287
|
+
info: number;
|
|
288
|
+
warning: number;
|
|
289
|
+
critical: number;
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
findings: (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
293
|
+
id: z.ZodString;
|
|
294
|
+
category: z.ZodString;
|
|
295
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
296
|
+
count: z.ZodNumber;
|
|
297
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
298
|
+
message: z.ZodString;
|
|
299
|
+
meta: z.ZodOptional<TMeta>;
|
|
300
|
+
}>, any> extends infer T_2 ? { [k in keyof T_2]: T_2[k]; } : never)[];
|
|
301
|
+
next_steps: {
|
|
302
|
+
tool: string;
|
|
303
|
+
reason: string;
|
|
304
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
305
|
+
target_asset_ids: string[];
|
|
306
|
+
suggested_tags?: string[] | undefined;
|
|
307
|
+
finding_id?: string | undefined;
|
|
308
|
+
}[];
|
|
309
|
+
truncation_reason?: string | undefined;
|
|
310
|
+
}, {
|
|
311
|
+
truncated: boolean;
|
|
312
|
+
score: number;
|
|
313
|
+
summary_counts: {
|
|
314
|
+
total_assets_scanned: number;
|
|
315
|
+
total_findings: number;
|
|
316
|
+
by_severity: {
|
|
317
|
+
info: number;
|
|
318
|
+
warning: number;
|
|
319
|
+
critical: number;
|
|
320
|
+
};
|
|
321
|
+
};
|
|
322
|
+
findings: (z.baseObjectInputType<{
|
|
323
|
+
id: z.ZodString;
|
|
324
|
+
category: z.ZodString;
|
|
325
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
326
|
+
count: z.ZodNumber;
|
|
327
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
328
|
+
message: z.ZodString;
|
|
329
|
+
meta: z.ZodOptional<TMeta>;
|
|
330
|
+
}> extends infer T_3 ? { [k_1 in keyof T_3]: T_3[k_1]; } : never)[];
|
|
331
|
+
next_steps: {
|
|
332
|
+
tool: string;
|
|
333
|
+
reason: string;
|
|
334
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
335
|
+
target_asset_ids: string[];
|
|
336
|
+
suggested_tags?: string[] | undefined;
|
|
337
|
+
finding_id?: string | undefined;
|
|
338
|
+
}[];
|
|
339
|
+
truncation_reason?: string | undefined;
|
|
340
|
+
}>;
|
|
341
|
+
export declare const BaseAuditReportSchema: z.ZodObject<{
|
|
342
|
+
score: z.ZodNumber;
|
|
343
|
+
summary_counts: z.ZodObject<{
|
|
344
|
+
total_assets_scanned: z.ZodNumber;
|
|
345
|
+
total_findings: z.ZodNumber;
|
|
346
|
+
by_severity: z.ZodObject<{
|
|
347
|
+
info: z.ZodNumber;
|
|
348
|
+
warning: z.ZodNumber;
|
|
349
|
+
critical: z.ZodNumber;
|
|
350
|
+
}, "strip", z.ZodTypeAny, {
|
|
351
|
+
info: number;
|
|
352
|
+
warning: number;
|
|
353
|
+
critical: number;
|
|
354
|
+
}, {
|
|
355
|
+
info: number;
|
|
356
|
+
warning: number;
|
|
357
|
+
critical: number;
|
|
358
|
+
}>;
|
|
359
|
+
}, "strip", z.ZodTypeAny, {
|
|
360
|
+
total_assets_scanned: number;
|
|
361
|
+
total_findings: number;
|
|
362
|
+
by_severity: {
|
|
363
|
+
info: number;
|
|
364
|
+
warning: number;
|
|
365
|
+
critical: number;
|
|
366
|
+
};
|
|
367
|
+
}, {
|
|
368
|
+
total_assets_scanned: number;
|
|
369
|
+
total_findings: number;
|
|
370
|
+
by_severity: {
|
|
371
|
+
info: number;
|
|
372
|
+
warning: number;
|
|
373
|
+
critical: number;
|
|
374
|
+
};
|
|
375
|
+
}>;
|
|
376
|
+
findings: z.ZodArray<z.ZodObject<{
|
|
377
|
+
id: z.ZodString;
|
|
378
|
+
category: z.ZodString;
|
|
379
|
+
severity: z.ZodEnum<["info", "warning", "critical"]>;
|
|
380
|
+
count: z.ZodNumber;
|
|
381
|
+
sample_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
382
|
+
message: z.ZodString;
|
|
383
|
+
meta: z.ZodOptional<z.ZodUnknown>;
|
|
384
|
+
}, "strip", z.ZodTypeAny, {
|
|
385
|
+
message: string;
|
|
386
|
+
id: string;
|
|
387
|
+
category: string;
|
|
388
|
+
severity: "info" | "warning" | "critical";
|
|
389
|
+
count: number;
|
|
390
|
+
sample_asset_ids: string[];
|
|
391
|
+
meta?: unknown;
|
|
392
|
+
}, {
|
|
393
|
+
message: string;
|
|
394
|
+
id: string;
|
|
395
|
+
category: string;
|
|
396
|
+
severity: "info" | "warning" | "critical";
|
|
397
|
+
count: number;
|
|
398
|
+
sample_asset_ids: string[];
|
|
399
|
+
meta?: unknown;
|
|
400
|
+
}>, "many">;
|
|
401
|
+
next_steps: z.ZodArray<z.ZodObject<{
|
|
402
|
+
action: z.ZodEnum<["add_tags", "remove_tags", "set_tags"]>;
|
|
403
|
+
/**
|
|
404
|
+
* Name of the mutating tool that should be invoked to apply this hint.
|
|
405
|
+
* Stored as a string (not enum) so Phase 1.5 can introduce new tools
|
|
406
|
+
* without bumping the schema major version.
|
|
407
|
+
*/
|
|
408
|
+
tool: z.ZodString;
|
|
409
|
+
/** Asset IDs the caller should target. Always a non-empty list. */
|
|
410
|
+
target_asset_ids: z.ZodArray<z.ZodString, "many">;
|
|
411
|
+
/** Tags to add / remove / set, when `action` is tag-related. */
|
|
412
|
+
suggested_tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
413
|
+
/** Short rationale linking the hint back to its originating finding. */
|
|
414
|
+
reason: z.ZodString;
|
|
415
|
+
/** ID of the finding this hint addresses (optional but encouraged). */
|
|
416
|
+
finding_id: z.ZodOptional<z.ZodString>;
|
|
417
|
+
}, "strip", z.ZodTypeAny, {
|
|
418
|
+
tool: string;
|
|
419
|
+
reason: string;
|
|
420
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
421
|
+
target_asset_ids: string[];
|
|
422
|
+
suggested_tags?: string[] | undefined;
|
|
423
|
+
finding_id?: string | undefined;
|
|
424
|
+
}, {
|
|
425
|
+
tool: string;
|
|
426
|
+
reason: string;
|
|
427
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
428
|
+
target_asset_ids: string[];
|
|
429
|
+
suggested_tags?: string[] | undefined;
|
|
430
|
+
finding_id?: string | undefined;
|
|
431
|
+
}>, "many">;
|
|
432
|
+
truncated: z.ZodBoolean;
|
|
433
|
+
truncation_reason: z.ZodOptional<z.ZodString>;
|
|
434
|
+
}, "strip", z.ZodTypeAny, {
|
|
435
|
+
truncated: boolean;
|
|
436
|
+
score: number;
|
|
437
|
+
summary_counts: {
|
|
438
|
+
total_assets_scanned: number;
|
|
439
|
+
total_findings: number;
|
|
440
|
+
by_severity: {
|
|
441
|
+
info: number;
|
|
442
|
+
warning: number;
|
|
443
|
+
critical: number;
|
|
444
|
+
};
|
|
445
|
+
};
|
|
446
|
+
findings: {
|
|
447
|
+
message: string;
|
|
448
|
+
id: string;
|
|
449
|
+
category: string;
|
|
450
|
+
severity: "info" | "warning" | "critical";
|
|
451
|
+
count: number;
|
|
452
|
+
sample_asset_ids: string[];
|
|
453
|
+
meta?: unknown;
|
|
454
|
+
}[];
|
|
455
|
+
next_steps: {
|
|
456
|
+
tool: string;
|
|
457
|
+
reason: string;
|
|
458
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
459
|
+
target_asset_ids: string[];
|
|
460
|
+
suggested_tags?: string[] | undefined;
|
|
461
|
+
finding_id?: string | undefined;
|
|
462
|
+
}[];
|
|
463
|
+
truncation_reason?: string | undefined;
|
|
464
|
+
}, {
|
|
465
|
+
truncated: boolean;
|
|
466
|
+
score: number;
|
|
467
|
+
summary_counts: {
|
|
468
|
+
total_assets_scanned: number;
|
|
469
|
+
total_findings: number;
|
|
470
|
+
by_severity: {
|
|
471
|
+
info: number;
|
|
472
|
+
warning: number;
|
|
473
|
+
critical: number;
|
|
474
|
+
};
|
|
475
|
+
};
|
|
476
|
+
findings: {
|
|
477
|
+
message: string;
|
|
478
|
+
id: string;
|
|
479
|
+
category: string;
|
|
480
|
+
severity: "info" | "warning" | "critical";
|
|
481
|
+
count: number;
|
|
482
|
+
sample_asset_ids: string[];
|
|
483
|
+
meta?: unknown;
|
|
484
|
+
}[];
|
|
485
|
+
next_steps: {
|
|
486
|
+
tool: string;
|
|
487
|
+
reason: string;
|
|
488
|
+
action: "add_tags" | "remove_tags" | "set_tags";
|
|
489
|
+
target_asset_ids: string[];
|
|
490
|
+
suggested_tags?: string[] | undefined;
|
|
491
|
+
finding_id?: string | undefined;
|
|
492
|
+
}[];
|
|
493
|
+
truncation_reason?: string | undefined;
|
|
494
|
+
}>;
|
|
495
|
+
export interface AuditReport<TFindingMeta = unknown> {
|
|
496
|
+
score: AuditScore;
|
|
497
|
+
summary_counts: AuditSummaryCounts;
|
|
498
|
+
findings: AuditFinding<TFindingMeta>[];
|
|
499
|
+
next_steps: AuditNextStep[];
|
|
500
|
+
truncated: boolean;
|
|
501
|
+
truncation_reason?: string;
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Default penalty weights per severity level. Individual audits MAY override
|
|
505
|
+
* but the shared default keeps cross-audit scores comparable.
|
|
506
|
+
*/
|
|
507
|
+
export declare const DEFAULT_SEVERITY_WEIGHTS: Readonly<Record<AuditSeverity, number>>;
|
|
508
|
+
/**
|
|
509
|
+
* Compute an `AuditScore` from a list of findings using the shared severity
|
|
510
|
+
* weight table (or a caller-supplied one). The score is `100 - sum(weights)`,
|
|
511
|
+
* clamped to `[0, 100]`. With no findings the score is 100.
|
|
512
|
+
*
|
|
513
|
+
* The formula is intentionally simple, deterministic, and easy to defend:
|
|
514
|
+
* - one weight per finding (NOT per affected asset) — keeps a single
|
|
515
|
+
* widespread issue from collapsing the score to 0
|
|
516
|
+
* - severity drives the weight; counts surface in the finding itself
|
|
517
|
+
* - clamped at 0; never negative
|
|
518
|
+
*/
|
|
519
|
+
export declare function computeAuditScore(findings: ReadonlyArray<{
|
|
520
|
+
severity: AuditSeverity;
|
|
521
|
+
}>, weights?: Readonly<Record<AuditSeverity, number>>): AuditScore;
|
|
522
|
+
/**
|
|
523
|
+
* Roll up findings into the summary-counts shape.
|
|
524
|
+
*/
|
|
525
|
+
export declare function summarizeFindings(findings: ReadonlyArray<AuditFinding<unknown>>, totalAssetsScanned: number): AuditSummaryCounts;
|
|
526
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/audit/types.ts"],"names":[],"mappings":"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"}
|