@ai-dossier/cli 0.2.1

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 (144) hide show
  1. package/README.md +419 -0
  2. package/bin/ai-dossier +3 -0
  3. package/bin/dossier-verify +435 -0
  4. package/dist/cli.d.ts +6 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +77 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/cache.d.ts +3 -0
  9. package/dist/commands/cache.d.ts.map +1 -0
  10. package/dist/commands/cache.js +239 -0
  11. package/dist/commands/cache.js.map +1 -0
  12. package/dist/commands/checksum.d.ts +3 -0
  13. package/dist/commands/checksum.d.ts.map +1 -0
  14. package/dist/commands/checksum.js +116 -0
  15. package/dist/commands/checksum.js.map +1 -0
  16. package/dist/commands/config-cmd.d.ts +3 -0
  17. package/dist/commands/config-cmd.d.ts.map +1 -0
  18. package/dist/commands/config-cmd.js +117 -0
  19. package/dist/commands/config-cmd.js.map +1 -0
  20. package/dist/commands/create.d.ts +3 -0
  21. package/dist/commands/create.d.ts.map +1 -0
  22. package/dist/commands/create.js +130 -0
  23. package/dist/commands/create.js.map +1 -0
  24. package/dist/commands/export.d.ts +3 -0
  25. package/dist/commands/export.d.ts.map +1 -0
  26. package/dist/commands/export.js +55 -0
  27. package/dist/commands/export.js.map +1 -0
  28. package/dist/commands/format.d.ts +3 -0
  29. package/dist/commands/format.d.ts.map +1 -0
  30. package/dist/commands/format.js +66 -0
  31. package/dist/commands/format.js.map +1 -0
  32. package/dist/commands/from-file.d.ts +3 -0
  33. package/dist/commands/from-file.d.ts.map +1 -0
  34. package/dist/commands/from-file.js +136 -0
  35. package/dist/commands/from-file.js.map +1 -0
  36. package/dist/commands/get.d.ts +3 -0
  37. package/dist/commands/get.d.ts.map +1 -0
  38. package/dist/commands/get.js +65 -0
  39. package/dist/commands/get.js.map +1 -0
  40. package/dist/commands/info.d.ts +3 -0
  41. package/dist/commands/info.d.ts.map +1 -0
  42. package/dist/commands/info.js +159 -0
  43. package/dist/commands/info.js.map +1 -0
  44. package/dist/commands/init.d.ts +3 -0
  45. package/dist/commands/init.d.ts.map +1 -0
  46. package/dist/commands/init.js +98 -0
  47. package/dist/commands/init.js.map +1 -0
  48. package/dist/commands/install-skill.d.ts +3 -0
  49. package/dist/commands/install-skill.d.ts.map +1 -0
  50. package/dist/commands/install-skill.js +131 -0
  51. package/dist/commands/install-skill.js.map +1 -0
  52. package/dist/commands/keys.d.ts +3 -0
  53. package/dist/commands/keys.d.ts.map +1 -0
  54. package/dist/commands/keys.js +170 -0
  55. package/dist/commands/keys.js.map +1 -0
  56. package/dist/commands/lint.d.ts +3 -0
  57. package/dist/commands/lint.d.ts.map +1 -0
  58. package/dist/commands/lint.js +105 -0
  59. package/dist/commands/lint.js.map +1 -0
  60. package/dist/commands/list.d.ts +3 -0
  61. package/dist/commands/list.d.ts.map +1 -0
  62. package/dist/commands/list.js +173 -0
  63. package/dist/commands/list.js.map +1 -0
  64. package/dist/commands/login.d.ts +3 -0
  65. package/dist/commands/login.d.ts.map +1 -0
  66. package/dist/commands/login.js +33 -0
  67. package/dist/commands/login.js.map +1 -0
  68. package/dist/commands/logout.d.ts +3 -0
  69. package/dist/commands/logout.d.ts.map +1 -0
  70. package/dist/commands/logout.js +19 -0
  71. package/dist/commands/logout.js.map +1 -0
  72. package/dist/commands/prompt-hook.d.ts +3 -0
  73. package/dist/commands/prompt-hook.d.ts.map +1 -0
  74. package/dist/commands/prompt-hook.js +101 -0
  75. package/dist/commands/prompt-hook.js.map +1 -0
  76. package/dist/commands/publish.d.ts +3 -0
  77. package/dist/commands/publish.d.ts.map +1 -0
  78. package/dist/commands/publish.js +142 -0
  79. package/dist/commands/publish.js.map +1 -0
  80. package/dist/commands/pull.d.ts +3 -0
  81. package/dist/commands/pull.d.ts.map +1 -0
  82. package/dist/commands/pull.js +69 -0
  83. package/dist/commands/pull.js.map +1 -0
  84. package/dist/commands/remove.d.ts +3 -0
  85. package/dist/commands/remove.d.ts.map +1 -0
  86. package/dist/commands/remove.js +65 -0
  87. package/dist/commands/remove.js.map +1 -0
  88. package/dist/commands/reset-hooks.d.ts +3 -0
  89. package/dist/commands/reset-hooks.d.ts.map +1 -0
  90. package/dist/commands/reset-hooks.js +52 -0
  91. package/dist/commands/reset-hooks.js.map +1 -0
  92. package/dist/commands/run.d.ts +3 -0
  93. package/dist/commands/run.d.ts.map +1 -0
  94. package/dist/commands/run.js +281 -0
  95. package/dist/commands/run.js.map +1 -0
  96. package/dist/commands/search.d.ts +3 -0
  97. package/dist/commands/search.d.ts.map +1 -0
  98. package/dist/commands/search.js +137 -0
  99. package/dist/commands/search.js.map +1 -0
  100. package/dist/commands/sign.d.ts +3 -0
  101. package/dist/commands/sign.d.ts.map +1 -0
  102. package/dist/commands/sign.js +143 -0
  103. package/dist/commands/sign.js.map +1 -0
  104. package/dist/commands/validate.d.ts +3 -0
  105. package/dist/commands/validate.d.ts.map +1 -0
  106. package/dist/commands/validate.js +152 -0
  107. package/dist/commands/validate.js.map +1 -0
  108. package/dist/commands/verify.d.ts +3 -0
  109. package/dist/commands/verify.d.ts.map +1 -0
  110. package/dist/commands/verify.js +41 -0
  111. package/dist/commands/verify.js.map +1 -0
  112. package/dist/commands/whoami.d.ts +3 -0
  113. package/dist/commands/whoami.d.ts.map +1 -0
  114. package/dist/commands/whoami.js +28 -0
  115. package/dist/commands/whoami.js.map +1 -0
  116. package/dist/config.d.ts +35 -0
  117. package/dist/config.d.ts.map +1 -0
  118. package/dist/config.js +87 -0
  119. package/dist/config.js.map +1 -0
  120. package/dist/credentials.d.ts +29 -0
  121. package/dist/credentials.d.ts.map +1 -0
  122. package/dist/credentials.js +98 -0
  123. package/dist/credentials.js.map +1 -0
  124. package/dist/github-url.d.ts +22 -0
  125. package/dist/github-url.d.ts.map +1 -0
  126. package/dist/github-url.js +34 -0
  127. package/dist/github-url.js.map +1 -0
  128. package/dist/helpers.d.ts +145 -0
  129. package/dist/helpers.d.ts.map +1 -0
  130. package/dist/helpers.js +597 -0
  131. package/dist/helpers.js.map +1 -0
  132. package/dist/hooks.d.ts +38 -0
  133. package/dist/hooks.d.ts.map +1 -0
  134. package/dist/hooks.js +155 -0
  135. package/dist/hooks.js.map +1 -0
  136. package/dist/oauth.d.ts +22 -0
  137. package/dist/oauth.d.ts.map +1 -0
  138. package/dist/oauth.js +118 -0
  139. package/dist/oauth.js.map +1 -0
  140. package/dist/registry-client.d.ts +86 -0
  141. package/dist/registry-client.d.ts.map +1 -0
  142. package/dist/registry-client.js +225 -0
  143. package/dist/registry-client.js.map +1 -0
  144. package/package.json +58 -0
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Shared helper functions and types for Dossier CLI commands.
3
+ * Extracted from the monolithic bin/dossier entry point.
4
+ */
5
+ /** Root of the CLI package (cli/) */
6
+ export declare const CLI_ROOT: string;
7
+ /** The bin/ directory */
8
+ export declare const BIN_DIR: string;
9
+ /** Repository root (parent of cli/) */
10
+ export declare const REPO_ROOT: string;
11
+ /** Official KMS keys that require CI/CD signing (not direct CLI use) */
12
+ export declare const OFFICIAL_KMS_KEYS: string[];
13
+ /** Required frontmatter fields per schema spec */
14
+ export declare const REQUIRED_FIELDS: string[];
15
+ /** Recommended fields (warn if missing) */
16
+ export declare const RECOMMENDED_FIELDS: string[];
17
+ /** Valid values for risk_level */
18
+ export declare const VALID_RISK_LEVELS: string[];
19
+ /** Valid values for status */
20
+ export declare const VALID_STATUSES: string[];
21
+ export interface VerificationOptions {
22
+ skipChecksum?: boolean;
23
+ skipAllChecks?: boolean;
24
+ skipAuthorCheck?: boolean;
25
+ skipDossierCheck?: boolean;
26
+ skipRiskAssessment?: boolean;
27
+ skipReview?: boolean;
28
+ force?: boolean;
29
+ noPrompt?: boolean;
30
+ reviewDossier?: string;
31
+ }
32
+ export interface VerificationStage {
33
+ stage: number;
34
+ name: string;
35
+ passed?: boolean;
36
+ skipped?: boolean;
37
+ demo?: boolean;
38
+ }
39
+ export interface VerificationResult {
40
+ passed: boolean;
41
+ stages: VerificationStage[];
42
+ }
43
+ export interface ListSource {
44
+ type: 'local' | 'github';
45
+ path?: string;
46
+ owner?: string;
47
+ repo?: string;
48
+ branch?: string;
49
+ }
50
+ export interface DossierMetadata {
51
+ path: string;
52
+ filename: string;
53
+ title: string;
54
+ version?: string;
55
+ risk_level?: string;
56
+ category?: string;
57
+ status?: string;
58
+ signed?: boolean;
59
+ checksum?: boolean;
60
+ objective?: string;
61
+ error: string | null;
62
+ }
63
+ export interface GitHubFile {
64
+ path: string;
65
+ rawUrl: string;
66
+ githubUrl: string;
67
+ }
68
+ /**
69
+ * Validate a dossier name to prevent path traversal attacks.
70
+ * Rejects names containing '..' segments or absolute paths.
71
+ * @throws Error if the name is invalid.
72
+ */
73
+ export declare function validateDossierName(name: string): void;
74
+ /**
75
+ * Safely join a base directory with a dossier name and verify the result
76
+ * stays within the base directory.
77
+ * @throws Error if the resolved path escapes the base directory.
78
+ */
79
+ export declare function safeDossierPath(baseDir: string, dossierName: string): string;
80
+ /**
81
+ * Read all data from stdin (piped input) with a timeout.
82
+ * Returns null if stdin is a TTY (interactive terminal).
83
+ */
84
+ export declare function readStdin(timeoutMs?: number): Promise<string | null>;
85
+ /**
86
+ * Detect and resolve which LLM to use.
87
+ * @returns The resolved LLM name, or null if none detected.
88
+ */
89
+ export declare function detectLlm(llmOption: string, silent?: boolean): string | null;
90
+ export interface LlmExecDescriptor {
91
+ cmd: string;
92
+ args: string[];
93
+ /** If set, pipe this content to the process's stdin */
94
+ stdin?: string;
95
+ /** Human-readable description for logging */
96
+ description: string;
97
+ }
98
+ /**
99
+ * Download a URL to a local temp file (synchronous).
100
+ * Returns the temp file path.
101
+ */
102
+ export declare function downloadUrlToTempFile(url: string): string;
103
+ /**
104
+ * Build the execution descriptor for a given LLM.
105
+ * File must be a local file path (download URLs first with downloadUrlToTempFile).
106
+ * @returns The execution descriptor, or null for unknown LLM.
107
+ */
108
+ export declare function buildLlmCommand(llm: string, file: string, headless?: boolean): LlmExecDescriptor | null;
109
+ /**
110
+ * Multi-stage verification pipeline.
111
+ */
112
+ export declare function runVerification(file: string, options: VerificationOptions): Promise<VerificationResult>;
113
+ /**
114
+ * Recursively find all .ds.md files in a local directory.
115
+ */
116
+ export declare function findDossierFilesLocal(dir: string, recursive?: boolean): string[];
117
+ /**
118
+ * Parse source string to determine type and details.
119
+ */
120
+ export declare function parseListSource(source: string): ListSource;
121
+ /**
122
+ * Fetch GitHub repository tree and find .ds.md files.
123
+ */
124
+ export declare function findDossierFilesGitHub(owner: string, repo: string, subpath: string, branch: string): Promise<GitHubFile[]>;
125
+ /**
126
+ * Fetch and parse dossier metadata from a URL.
127
+ */
128
+ export declare function fetchDossierMetadata(url: string, displayPath: string): Promise<DossierMetadata>;
129
+ /**
130
+ * Parse dossier metadata from file content.
131
+ */
132
+ export declare function parseDossierMetadataFromContent(content: string, filePath: string): DossierMetadata;
133
+ /**
134
+ * Parse dossier metadata from a local file.
135
+ */
136
+ export declare function parseDossierMetadataLocal(filePath: string): DossierMetadata;
137
+ /**
138
+ * Verify a dossier file using the verify script (quick check).
139
+ */
140
+ export declare function verifyDossierQuick(filePath: string): boolean;
141
+ /**
142
+ * Format output as table.
143
+ */
144
+ export declare function formatTable(dossiers: DossierMetadata[], showPath?: boolean): string;
145
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}