@ai-dossier/core 1.0.1 → 1.0.3

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 (52) hide show
  1. package/README.md +232 -0
  2. package/dist/formatter/formatter.d.ts.map +1 -1
  3. package/dist/formatter/formatter.js +2 -0
  4. package/dist/formatter/formatter.js.map +1 -1
  5. package/dist/index.d.ts +5 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +17 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/linter/rules/external-references-declared.d.ts +3 -0
  10. package/dist/linter/rules/external-references-declared.d.ts.map +1 -0
  11. package/dist/linter/rules/external-references-declared.js +48 -0
  12. package/dist/linter/rules/external-references-declared.js.map +1 -0
  13. package/dist/linter/rules/index.d.ts +2 -1
  14. package/dist/linter/rules/index.d.ts.map +1 -1
  15. package/dist/linter/rules/index.js +4 -1
  16. package/dist/linter/rules/index.js.map +1 -1
  17. package/dist/linter/rules/risk-level-consistency.d.ts.map +1 -1
  18. package/dist/linter/rules/risk-level-consistency.js +12 -2
  19. package/dist/linter/rules/risk-level-consistency.js.map +1 -1
  20. package/dist/linter/rules/tools-check-command.d.ts.map +1 -1
  21. package/dist/linter/rules/tools-check-command.js.map +1 -1
  22. package/dist/parser.d.ts +20 -4
  23. package/dist/parser.d.ts.map +1 -1
  24. package/dist/parser.js +64 -32
  25. package/dist/parser.js.map +1 -1
  26. package/dist/risk-assessment.d.ts +29 -0
  27. package/dist/risk-assessment.d.ts.map +1 -0
  28. package/dist/risk-assessment.js +83 -0
  29. package/dist/risk-assessment.js.map +1 -0
  30. package/dist/schema/dossier-schema.json +47 -0
  31. package/dist/signature.d.ts +4 -4
  32. package/dist/signature.d.ts.map +1 -1
  33. package/dist/signature.js +9 -8
  34. package/dist/signature.js.map +1 -1
  35. package/dist/signers/ed25519.d.ts +2 -2
  36. package/dist/signers/ed25519.d.ts.map +1 -1
  37. package/dist/signers/ed25519.js +4 -3
  38. package/dist/signers/ed25519.js.map +1 -1
  39. package/dist/signers/index.d.ts +9 -2
  40. package/dist/signers/index.d.ts.map +1 -1
  41. package/dist/signers/index.js.map +1 -1
  42. package/dist/signers/kms.d.ts +2 -2
  43. package/dist/signers/kms.d.ts.map +1 -1
  44. package/dist/signers/kms.js +4 -4
  45. package/dist/signers/kms.js.map +1 -1
  46. package/dist/types.d.ts +44 -15
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/utils/url-scanner.d.ts +8 -0
  49. package/dist/utils/url-scanner.d.ts.map +1 -0
  50. package/dist/utils/url-scanner.js +73 -0
  51. package/dist/utils/url-scanner.js.map +1 -0
  52. package/package.json +9 -4
package/dist/types.d.ts CHANGED
@@ -1,30 +1,59 @@
1
1
  /**
2
2
  * TypeScript type definitions for Dossier format
3
3
  */
4
+ export type DossierStatus = 'Draft' | 'Stable' | 'Deprecated' | 'Experimental';
5
+ export type ContentScope = 'self-contained' | 'references-external';
6
+ export type ExternalReferenceType = 'download' | 'api' | 'documentation' | 'script' | 'config' | 'image' | 'dossier' | 'other';
7
+ export type ExternalTrustLevel = 'trusted' | 'user-verified' | 'unknown';
8
+ export interface ExternalReference {
9
+ url: string;
10
+ description: string;
11
+ type: ExternalReferenceType;
12
+ trust_level: ExternalTrustLevel;
13
+ required: boolean;
14
+ }
15
+ export interface ToolRequired {
16
+ name: string;
17
+ version?: string;
18
+ check_command?: string;
19
+ install_url?: string;
20
+ }
21
+ export interface DossierAuthor {
22
+ name?: string;
23
+ email?: string;
24
+ url?: string;
25
+ }
4
26
  export interface DossierFrontmatter {
5
- version: string;
6
- protocol_version: string;
7
- created: string;
8
- updated: string;
27
+ dossier_schema_version?: string;
28
+ name?: string;
9
29
  title: string;
10
- objective: string;
11
- status: 'draft' | 'stable' | 'deprecated';
12
- risk_level: 'low' | 'medium' | 'high' | 'critical';
13
- risk_factors: string[];
14
- destructive_operations: string[];
15
- requires_approval: boolean;
30
+ version: string;
31
+ protocol_version?: string;
32
+ created?: string;
33
+ updated?: string;
34
+ last_updated?: string;
35
+ objective?: string;
36
+ status?: DossierStatus;
37
+ risk_level?: 'low' | 'medium' | 'high' | 'critical';
38
+ risk_factors?: string[];
39
+ destructive_operations?: string[];
40
+ content_scope?: ContentScope;
41
+ external_references?: ExternalReference[];
42
+ tools_required?: ToolRequired[];
43
+ authors?: DossierAuthor[];
44
+ requires_approval?: boolean;
16
45
  checksum?: {
17
46
  algorithm: string;
18
47
  hash: string;
19
- calculated_at: string;
48
+ calculated_at?: string;
20
49
  };
21
50
  signature?: {
22
51
  algorithm: string;
23
52
  signature: string;
24
- public_key: string;
25
- key_id: string;
26
- signed_by: string;
27
- signed_at: string;
53
+ public_key?: string;
54
+ key_id?: string;
55
+ signed_by?: string;
56
+ signed_at?: string;
28
57
  };
29
58
  [key: string]: unknown;
30
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC1C,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACnD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,kBAAkB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,GAAG,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAC9D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,eAAe,CAAC;IAC3B,YAAY,EAAE,kBAAkB,CAAC;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DossierFrontmatter, ExternalReference } from '../types';
2
+ export declare function isPlaceholderUrl(url: string): boolean;
3
+ export declare function scanBodyForUrls(body: string): string[];
4
+ export declare function collectDeclaredUrls(frontmatter: DossierFrontmatter): string[];
5
+ export declare function isUrlCoveredByDeclared(url: string, declaredUrls: string[]): boolean;
6
+ export declare function findUndeclaredUrls(bodyUrls: string[], declaredUrls: string[]): string[];
7
+ export declare function findStaleReferences(externalRefs: ExternalReference[], bodyUrls: string[]): ExternalReference[];
8
+ //# sourceMappingURL=url-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-scanner.d.ts","sourceRoot":"","sources":["../../src/utils/url-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAsBtE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKtD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAkC7E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAEnF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEvF;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,iBAAiB,EAAE,EACjC,QAAQ,EAAE,MAAM,EAAE,GACjB,iBAAiB,EAAE,CAIrB"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPlaceholderUrl = isPlaceholderUrl;
4
+ exports.scanBodyForUrls = scanBodyForUrls;
5
+ exports.collectDeclaredUrls = collectDeclaredUrls;
6
+ exports.isUrlCoveredByDeclared = isUrlCoveredByDeclared;
7
+ exports.findUndeclaredUrls = findUndeclaredUrls;
8
+ exports.findStaleReferences = findStaleReferences;
9
+ // Matches http/https URLs, stopping at whitespace and common delimiters
10
+ // that typically surround URLs in markdown/text (quotes, angle brackets,
11
+ // parentheses, commas, semicolons, backticks).
12
+ const URL_REGEX = /https?:\/\/[^\s"'<>\])|,;`]+/g;
13
+ // Strip trailing periods and closing parens that are often part of
14
+ // surrounding prose rather than the URL itself (e.g. "see https://x.com).")
15
+ const TRAILING_PUNCTUATION = /[.)]+$/;
16
+ const PLACEHOLDER_PATTERNS = [
17
+ /^https?:\/\/example\.(com|org|net)/,
18
+ /^https?:\/\/localhost/,
19
+ /^https?:\/\/127\.0\.0\.\d/,
20
+ /^https?:\/\/\[::1\]/,
21
+ /^https?:\/\/0\.0\.0\.0/,
22
+ /<[^>]+>/,
23
+ /\$\{[^}]+\}/,
24
+ /\{\{[^}]+\}\}/,
25
+ ];
26
+ function isPlaceholderUrl(url) {
27
+ return PLACEHOLDER_PATTERNS.some((pattern) => pattern.test(url));
28
+ }
29
+ function scanBodyForUrls(body) {
30
+ const matches = body.match(URL_REGEX) || [];
31
+ const cleaned = matches.map((url) => url.replace(TRAILING_PUNCTUATION, ''));
32
+ const unique = [...new Set(cleaned)];
33
+ return unique.filter((url) => !isPlaceholderUrl(url));
34
+ }
35
+ function collectDeclaredUrls(frontmatter) {
36
+ const urls = [];
37
+ if (frontmatter.external_references) {
38
+ for (const ref of frontmatter.external_references) {
39
+ urls.push(ref.url);
40
+ }
41
+ }
42
+ if (frontmatter.tools_required) {
43
+ for (const tool of frontmatter.tools_required) {
44
+ if (tool.install_url) {
45
+ urls.push(tool.install_url);
46
+ }
47
+ }
48
+ }
49
+ if (typeof frontmatter.homepage === 'string') {
50
+ urls.push(frontmatter.homepage);
51
+ }
52
+ if (typeof frontmatter.repository === 'string') {
53
+ urls.push(frontmatter.repository);
54
+ }
55
+ if (frontmatter.authors) {
56
+ for (const author of frontmatter.authors) {
57
+ if (author.url) {
58
+ urls.push(author.url);
59
+ }
60
+ }
61
+ }
62
+ return urls;
63
+ }
64
+ function isUrlCoveredByDeclared(url, declaredUrls) {
65
+ return declaredUrls.some((declared) => url === declared || url.startsWith(declared));
66
+ }
67
+ function findUndeclaredUrls(bodyUrls, declaredUrls) {
68
+ return bodyUrls.filter((url) => !isUrlCoveredByDeclared(url, declaredUrls));
69
+ }
70
+ function findStaleReferences(externalRefs, bodyUrls) {
71
+ return externalRefs.filter((ref) => !bodyUrls.some((bodyUrl) => bodyUrl === ref.url || bodyUrl.startsWith(ref.url)));
72
+ }
73
+ //# sourceMappingURL=url-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-scanner.js","sourceRoot":"","sources":["../../src/utils/url-scanner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@ai-dossier/core",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Core verification and parsing logic for dossier automation standard",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
- "dist/"
8
+ "dist/",
9
+ "README.md"
9
10
  ],
10
11
  "scripts": {
11
12
  "build": "tsc",
@@ -24,7 +25,7 @@
24
25
  "security"
25
26
  ],
26
27
  "author": "Yuval Dimnik <yuval.dimnik@gmail.com>",
27
- "license": "MIT",
28
+ "license": "AGPL-3.0-only",
28
29
  "repository": {
29
30
  "type": "git",
30
31
  "url": "https://github.com/imboard-ai/ai-dossier.git",
@@ -34,13 +35,17 @@
34
35
  "bugs": {
35
36
  "url": "https://github.com/imboard-ai/ai-dossier/issues"
36
37
  },
38
+ "engines": {
39
+ "node": ">=18.0.0"
40
+ },
37
41
  "publishConfig": {
38
42
  "access": "public",
39
43
  "registry": "https://registry.npmjs.org"
40
44
  },
41
45
  "dependencies": {
42
46
  "@aws-sdk/client-kms": "^3.927.0",
43
- "ajv": "^8.18.0"
47
+ "ajv": "^8.18.0",
48
+ "gray-matter": "^4.0.3"
44
49
  },
45
50
  "devDependencies": {
46
51
  "@types/node": "^24.10.0",