@gitpagedocs/tools 1.1.44

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 (55) hide show
  1. package/README.md +33 -0
  2. package/package.json +37 -0
  3. package/src/ai/bootstrap.ts +50 -0
  4. package/src/ai/catalog.ts +188 -0
  5. package/src/ai/factory.ts +14 -0
  6. package/src/ai/http/streaming.ts +60 -0
  7. package/src/ai/index.ts +27 -0
  8. package/src/ai/legacy-adapter.ts +33 -0
  9. package/src/ai/model-registry.ts +13 -0
  10. package/src/ai/providers/anthropic-provider.ts +83 -0
  11. package/src/ai/providers/cohere-provider.ts +66 -0
  12. package/src/ai/providers/gemini-provider.ts +84 -0
  13. package/src/ai/providers/ollama-provider.ts +69 -0
  14. package/src/ai/providers/openai-compatible-provider.ts +75 -0
  15. package/src/ai/providers/shared.ts +72 -0
  16. package/src/ai/registry.ts +29 -0
  17. package/src/cache/file-cache.ts +86 -0
  18. package/src/cache/index.ts +9 -0
  19. package/src/cache/memory-cache.ts +47 -0
  20. package/src/cache/web-storage-cache.ts +91 -0
  21. package/src/config/config-loader.ts +59 -0
  22. package/src/config/index.ts +1 -0
  23. package/src/constants/config.ts +8 -0
  24. package/src/constants/index.ts +1 -0
  25. package/src/crypto/index.ts +2 -0
  26. package/src/crypto/node-crypto-service.ts +87 -0
  27. package/src/crypto/web-crypto-service.ts +102 -0
  28. package/src/crypto/web.ts +2 -0
  29. package/src/documentation/doc-generator.ts +74 -0
  30. package/src/documentation/doc-updater.ts +47 -0
  31. package/src/documentation/index.ts +18 -0
  32. package/src/documentation/marker-patcher.ts +33 -0
  33. package/src/documentation/sections.ts +82 -0
  34. package/src/errors/app-error.ts +84 -0
  35. package/src/errors/index.ts +1 -0
  36. package/src/filesystem/file-service.ts +121 -0
  37. package/src/filesystem/index.ts +2 -0
  38. package/src/index.ts +24 -0
  39. package/src/logger/index.ts +2 -0
  40. package/src/logger/logger.ts +73 -0
  41. package/src/logger/redaction.ts +43 -0
  42. package/src/ports/ai.ts +109 -0
  43. package/src/ports/cache.ts +16 -0
  44. package/src/ports/config.ts +21 -0
  45. package/src/ports/crypto.ts +33 -0
  46. package/src/ports/index.ts +15 -0
  47. package/src/ports/logger.ts +23 -0
  48. package/src/ports/security.ts +42 -0
  49. package/src/security/credential-vault.ts +117 -0
  50. package/src/security/file-vault-storage.ts +25 -0
  51. package/src/security/index.ts +8 -0
  52. package/src/security/migrate-plaintext-key.ts +38 -0
  53. package/src/security/password-gate.ts +62 -0
  54. package/src/security/web-storage-vault-storage.ts +23 -0
  55. package/src/security/web.ts +9 -0
@@ -0,0 +1,23 @@
1
+ import type { VaultStorage } from "./credential-vault";
2
+ import type { WebStorageLike } from "../cache/web-storage-cache";
3
+
4
+ /** Browser vault storage backed by a single Web Storage entry. */
5
+ export class WebStorageVaultStorage implements VaultStorage {
6
+ constructor(
7
+ private readonly storage: WebStorageLike,
8
+ private readonly key = "gitpagedocs:vault",
9
+ ) {}
10
+
11
+ async load(): Promise<string | null> {
12
+ const raw = this.storage.getItem(this.key);
13
+ return raw && raw.trim() ? raw : null;
14
+ }
15
+
16
+ async save(serialized: string): Promise<void> {
17
+ this.storage.setItem(this.key, serialized);
18
+ }
19
+
20
+ async clear(): Promise<void> {
21
+ this.storage.removeItem(this.key);
22
+ }
23
+ }
@@ -0,0 +1,9 @@
1
+ // Browser-safe security entry: encrypted vault + web storage + migration.
2
+ // Excludes FileVaultStorage (node:fs).
3
+ export { EncryptedCredentialVault } from "./credential-vault";
4
+ export type { VaultStorage } from "./credential-vault";
5
+ export { SessionPasswordGate } from "./password-gate";
6
+ export type { PasswordPrompt, SessionPasswordGateOptions } from "./password-gate";
7
+ export { WebStorageVaultStorage } from "./web-storage-vault-storage";
8
+ export { migratePlaintextKey } from "./migrate-plaintext-key";
9
+ export type { PlaintextMigrationInput, PlaintextMigrationResult } from "./migrate-plaintext-key";