@hasna/instructions 0.6.1 → 0.7.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.
Files changed (80) hide show
  1. package/README.md +123 -6
  2. package/dist/chunks/{apply-ynfn1av7.js → apply-7svah2qm.js} +5 -3
  3. package/dist/chunks/{apply-sfzja1f3.js → apply-jp13sa1e.js} +6 -3
  4. package/dist/chunks/database-wstmr56z.js +23 -0
  5. package/dist/chunks/{index-85n5wnd8.js → index-1cnyjnd7.js} +5 -7
  6. package/dist/chunks/{index-pkscjnj5.js → index-3djthcm6.js} +0 -1
  7. package/dist/chunks/{index-v7dkb384.js → index-4pfq42t5.js} +129 -77
  8. package/dist/chunks/index-5d7zdftc.js +186 -0
  9. package/dist/chunks/{index-1hpwskwd.js → index-7m4j8a33.js} +205 -329
  10. package/dist/chunks/index-8rb7ng2y.js +148 -0
  11. package/dist/chunks/index-arrrx0ed.js +344 -0
  12. package/dist/chunks/{index-9p9gn7gh.js → index-bzyxvwcd.js} +5 -7
  13. package/dist/chunks/index-fpeyzn3n.js +186 -0
  14. package/dist/chunks/{index-axhwg61p.js → index-fwbs6tma.js} +15 -4
  15. package/dist/chunks/index-n3fjspr0.js +119 -0
  16. package/dist/chunks/{index-e9epbsvs.js → index-z3ma4aqk.js} +15 -4
  17. package/dist/chunks/legacy-store-migration-z2m5yzyk.js +322 -0
  18. package/dist/chunks/{local-a9nen65z.js → local-5wvv5xv3.js} +2 -2
  19. package/dist/chunks/{local-0d8qrc92.js → local-zxa5dpf4.js} +13 -188
  20. package/dist/chunks/s3-backup-n2z4fwyh.js +240 -0
  21. package/dist/chunks/s3-config-hhght91k.js +14 -0
  22. package/dist/chunks/s3-object-store-90tgbh6k.js +14 -0
  23. package/dist/chunks/{sync-m46fc257.js → sync-2075deve.js} +5 -4
  24. package/dist/chunks/{sync-vy1yjvs6.js → sync-r8t7zsp3.js} +4 -4
  25. package/dist/chunks/{template-02wjvv05.js → template-fsfxpe4p.js} +1 -1
  26. package/dist/chunks/{template-ke972qqe.js → template-wgnzdn7h.js} +1 -1
  27. package/dist/cli/index.js +1011 -247
  28. package/dist/data/config-store.d.ts +1 -0
  29. package/dist/data/config-store.d.ts.map +1 -1
  30. package/dist/index.js +840 -215
  31. package/dist/lib/apply.d.ts +7 -0
  32. package/dist/lib/apply.d.ts.map +1 -1
  33. package/dist/lib/compact-output.d.ts +1 -0
  34. package/dist/lib/compact-output.d.ts.map +1 -1
  35. package/dist/lib/export.d.ts +22 -3
  36. package/dist/lib/export.d.ts.map +1 -1
  37. package/dist/lib/import.d.ts +18 -0
  38. package/dist/lib/import.d.ts.map +1 -1
  39. package/dist/lib/legacy-store-migration.d.ts +39 -0
  40. package/dist/lib/legacy-store-migration.d.ts.map +1 -0
  41. package/dist/lib/managed-skill-runtimes.d.ts +1 -0
  42. package/dist/lib/managed-skill-runtimes.d.ts.map +1 -1
  43. package/dist/lib/sync-dir.d.ts.map +1 -1
  44. package/dist/mcp/index.js +31 -20
  45. package/dist/sdk/index.d.ts +2 -0
  46. package/dist/sdk/index.d.ts.map +1 -1
  47. package/dist/sdk/index.js +205 -10
  48. package/dist/sdk/resolve.d.ts +1 -1
  49. package/dist/sdk/resolve.d.ts.map +1 -1
  50. package/dist/sdk/v1-client.d.ts +57 -0
  51. package/dist/sdk/v1-client.d.ts.map +1 -0
  52. package/dist/sdk/v1.generated.d.ts +212 -21
  53. package/dist/sdk/v1.generated.d.ts.map +1 -1
  54. package/dist/server/cloud.d.ts.map +1 -1
  55. package/dist/server/index.d.ts +13 -5
  56. package/dist/server/index.d.ts.map +1 -1
  57. package/dist/server/index.js +1180 -432
  58. package/dist/server/openapi.d.ts +1264 -92
  59. package/dist/server/openapi.d.ts.map +1 -1
  60. package/dist/server/v1.d.ts +25 -1
  61. package/dist/server/v1.d.ts.map +1 -1
  62. package/dist/storage/cloud-store.d.ts +57 -1
  63. package/dist/storage/cloud-store.d.ts.map +1 -1
  64. package/dist/storage/index.d.ts +7 -0
  65. package/dist/storage/index.d.ts.map +1 -0
  66. package/dist/storage/index.js +725 -0
  67. package/dist/storage/s3-backup.d.ts +76 -0
  68. package/dist/storage/s3-backup.d.ts.map +1 -0
  69. package/dist/storage/s3-config.d.ts +46 -0
  70. package/dist/storage/s3-config.d.ts.map +1 -0
  71. package/dist/storage/s3-object-store.d.ts +70 -0
  72. package/dist/storage/s3-object-store.d.ts.map +1 -0
  73. package/dist/types/index.d.ts +65 -3
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/hasna.contract.json +110 -0
  76. package/migrations/0001_instructions.sql +63 -0
  77. package/migrations/0002_api_keys.sql +20 -0
  78. package/migrations/0003_idempotency_receipts.sql +24 -0
  79. package/package.json +22 -11
  80. package/assets/skills/inbox/SKILL.md +0 -86
@@ -0,0 +1,76 @@
1
+ import { type InstructionsObjectStore } from "./s3-object-store.js";
2
+ export declare const INSTRUCTIONS_BACKUP_MANIFEST_SCHEMA: "hasna.instructions.backup-object/v1";
3
+ export interface InstructionsBackupManifest {
4
+ schema: typeof INSTRUCTIONS_BACKUP_MANIFEST_SCHEMA;
5
+ app: "instructions";
6
+ backupId: string;
7
+ payloadKey: string;
8
+ manifestKey: string;
9
+ sha256: string;
10
+ sizeBytes: number;
11
+ contentType: string;
12
+ createdAt: string;
13
+ }
14
+ export interface InstructionsBackupKeys {
15
+ rootKey: string;
16
+ payloadKey: string;
17
+ manifestKey: string;
18
+ }
19
+ export interface InstructionsBackupPushInput {
20
+ store: InstructionsObjectStore;
21
+ prefix: string;
22
+ backupId: string;
23
+ bytes: Uint8Array;
24
+ contentType?: string;
25
+ createdAt?: Date;
26
+ }
27
+ export interface InstructionsBackupPushPlan extends InstructionsBackupKeys {
28
+ operation: "push";
29
+ dryRun: true;
30
+ noNetwork: true;
31
+ backupId: string;
32
+ sha256: string;
33
+ sizeBytes: number;
34
+ contentType: string;
35
+ }
36
+ export interface InstructionsBackupObjectVersions {
37
+ payloadVersionId: string;
38
+ manifestVersionId: string;
39
+ }
40
+ export interface InstructionsBackupPushResult {
41
+ status: "created" | "existing";
42
+ manifest: InstructionsBackupManifest;
43
+ versions?: InstructionsBackupObjectVersions;
44
+ }
45
+ export interface InstructionsBackupReadInput {
46
+ store: InstructionsObjectStore;
47
+ prefix: string;
48
+ backupId: string;
49
+ /** Exact immutable payload version authority. Must be paired with manifestVersionId. */
50
+ payloadVersionId?: string;
51
+ /** Exact immutable manifest version authority. Must be paired with payloadVersionId. */
52
+ manifestVersionId?: string;
53
+ }
54
+ export interface InstructionsBackupPullResult {
55
+ manifest: InstructionsBackupManifest;
56
+ bytes: Uint8Array;
57
+ versionPinned: boolean;
58
+ versions?: InstructionsBackupObjectVersions;
59
+ }
60
+ export interface InstructionsBackupVerification {
61
+ ok: true;
62
+ backupId: string;
63
+ payloadKey: string;
64
+ manifestKey: string;
65
+ sha256: string;
66
+ sizeBytes: number;
67
+ versionPinned: boolean;
68
+ versions?: InstructionsBackupObjectVersions;
69
+ }
70
+ export declare function buildInstructionsBackupKeys(prefix: string, backupId: string): InstructionsBackupKeys;
71
+ /** Pure planning: intentionally does not inspect or call the supplied store. */
72
+ export declare function planInstructionsBackupPush(input: InstructionsBackupPushInput): Promise<InstructionsBackupPushPlan>;
73
+ export declare function pushInstructionsBackup(input: InstructionsBackupPushInput): Promise<InstructionsBackupPushResult>;
74
+ export declare function pullInstructionsBackup(input: InstructionsBackupReadInput): Promise<InstructionsBackupPullResult>;
75
+ export declare function verifyInstructionsBackup(input: InstructionsBackupReadInput): Promise<InstructionsBackupVerification>;
76
+ //# sourceMappingURL=s3-backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-backup.d.ts","sourceRoot":"","sources":["../../src/storage/s3-backup.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,mCAAmC,EAAG,qCAA8C,CAAC;AAElG,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,mCAAmC,CAAC;IACnD,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,uBAAuB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gCAAgC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,QAAQ,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,gCAAgC,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,uBAAuB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,0BAA0B,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,gCAAgC,CAAC;CAC7C;AAED,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,gCAAgC,CAAC;CAC7C;AAOD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAYpG;AAED,gFAAgF;AAChF,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAYrC;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAyDvC;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAmCvC;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,8BAA8B,CAAC,CAYzC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Optional S3 configuration for Instructions backups and immutable objects.
3
+ *
4
+ * This configuration never selects a database or client transport. SQLite and
5
+ * PostgreSQL remain the only record authorities; a bucket merely enables an
6
+ * adjunct backup/object plane for explicit callers.
7
+ */
8
+ export type InstructionsS3Env = Record<string, string | undefined>;
9
+ export interface InstructionsS3Credentials {
10
+ accessKeyId: string;
11
+ secretAccessKey: string;
12
+ sessionToken?: string;
13
+ }
14
+ export interface InstructionsS3Config {
15
+ provider: "s3";
16
+ bucket: string;
17
+ prefix: string;
18
+ region: string;
19
+ endpoint?: string;
20
+ forcePathStyle: boolean;
21
+ credentials?: InstructionsS3Credentials;
22
+ }
23
+ export declare const INSTRUCTIONS_S3_ENV: {
24
+ readonly bucket: "HASNA_INSTRUCTIONS_S3_BUCKET";
25
+ readonly prefix: "HASNA_INSTRUCTIONS_S3_PREFIX";
26
+ readonly region: "HASNA_INSTRUCTIONS_AWS_REGION";
27
+ readonly endpoint: "HASNA_INSTRUCTIONS_S3_ENDPOINT";
28
+ readonly forcePathStyle: "HASNA_INSTRUCTIONS_S3_FORCE_PATH_STYLE";
29
+ readonly accessKeyId: "HASNA_INSTRUCTIONS_S3_ACCESS_KEY_ID";
30
+ readonly secretAccessKey: "HASNA_INSTRUCTIONS_S3_SECRET_ACCESS_KEY";
31
+ readonly sessionToken: "HASNA_INSTRUCTIONS_S3_SESSION_TOKEN";
32
+ };
33
+ export declare const INSTRUCTIONS_S3_ALIAS_ENV: {
34
+ readonly bucket: "INSTRUCTIONS_S3_BUCKET";
35
+ readonly prefix: "INSTRUCTIONS_S3_PREFIX";
36
+ readonly region: "INSTRUCTIONS_AWS_REGION";
37
+ readonly endpoint: "INSTRUCTIONS_S3_ENDPOINT";
38
+ readonly forcePathStyle: "INSTRUCTIONS_S3_FORCE_PATH_STYLE";
39
+ readonly accessKeyId: "INSTRUCTIONS_S3_ACCESS_KEY_ID";
40
+ readonly secretAccessKey: "INSTRUCTIONS_S3_SECRET_ACCESS_KEY";
41
+ readonly sessionToken: "INSTRUCTIONS_S3_SESSION_TOKEN";
42
+ };
43
+ export declare function loadInstructionsS3Config(env?: InstructionsS3Env): InstructionsS3Config | undefined;
44
+ /** Normalize a bucket-relative prefix while rejecting traversal and ambiguity. */
45
+ export declare function normalizeInstructionsS3Prefix(value: string): string;
46
+ //# sourceMappingURL=s3-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-config.d.ts","sourceRoot":"","sources":["../../src/storage/s3-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEnE,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;CAS5B,CAAC;AAMX,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,iBAA+B,GACnC,oBAAoB,GAAG,SAAS,CAiDlC;AAED,kFAAkF;AAClF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBnE"}
@@ -0,0 +1,70 @@
1
+ import type { InstructionsS3Config } from "./s3-config.js";
2
+ export interface InstructionsObjectMetadata {
3
+ size: number;
4
+ etag?: string;
5
+ contentType?: string;
6
+ lastModified?: Date;
7
+ versionId?: string;
8
+ }
9
+ export interface InstructionsObjectReadOptions {
10
+ /** Read exactly this immutable S3 object version instead of the current key. */
11
+ versionId?: string;
12
+ }
13
+ export interface InstructionsObjectCreateResult {
14
+ status: "created" | "existing";
15
+ /** Present when S3 returned the immutable version created by this request. */
16
+ versionId?: string;
17
+ }
18
+ /** Backup-only object plane: conditional creation plus read-only access. */
19
+ export interface InstructionsObjectStore {
20
+ /** Atomically create only when the key is absent; never replace an existing object. */
21
+ putIfAbsent?(key: string, bytes: Uint8Array, options: {
22
+ contentType: string;
23
+ }): Promise<InstructionsObjectCreateResult>;
24
+ get(key: string, options?: InstructionsObjectReadOptions): Promise<Uint8Array | undefined>;
25
+ head(key: string, options?: InstructionsObjectReadOptions): Promise<InstructionsObjectMetadata | undefined>;
26
+ }
27
+ export interface InstructionsAtomicObjectStore extends InstructionsObjectStore {
28
+ putIfAbsent(key: string, bytes: Uint8Array, options: {
29
+ contentType: string;
30
+ }): Promise<InstructionsObjectCreateResult>;
31
+ }
32
+ export interface InstructionsNativeS3File {
33
+ exists(): Promise<boolean>;
34
+ bytes(): Promise<Uint8Array>;
35
+ stat(): Promise<{
36
+ size: number;
37
+ etag: string;
38
+ type: string;
39
+ lastModified: Date;
40
+ }>;
41
+ }
42
+ export interface InstructionsNativeS3Client {
43
+ presign(key: string, options: {
44
+ method: "PUT";
45
+ expiresIn: number;
46
+ }): string;
47
+ file(key: string): InstructionsNativeS3File;
48
+ }
49
+ export type InstructionsNativeS3ClientFactory = (options: ConstructorParameters<typeof Bun.S3Client>[0]) => InstructionsNativeS3Client;
50
+ export type InstructionsS3Fetch = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
51
+ /** Backward-compatible name for the injectable S3 HTTP transport. */
52
+ export type InstructionsConditionalCreateFetch = InstructionsS3Fetch;
53
+ export interface InstructionsS3OperationDeadlines {
54
+ existsDeadlineMs?: number;
55
+ bytesDeadlineMs?: number;
56
+ statDeadlineMs?: number;
57
+ versionedReadDeadlineMs?: number;
58
+ conditionalCreateAttemptDeadlineMs?: number;
59
+ existenceReconciliationDeadlineMs?: number;
60
+ }
61
+ /** Validate a complete bucket-relative object key at every adapter boundary. */
62
+ export declare function assertSafeInstructionsObjectKey(key: string): void;
63
+ export declare function assertSafeInstructionsObjectVersionId(versionId: string): void;
64
+ /** Bun-native S3 adapter; public operations are immutable-create and read-only. */
65
+ export declare function createInstructionsS3ObjectStore(config: InstructionsS3Config, createClient?: InstructionsNativeS3ClientFactory, requestFetch?: InstructionsS3Fetch, deadlines?: InstructionsS3OperationDeadlines): InstructionsAtomicObjectStore;
66
+ /** In-memory object store for tests and non-network planning fixtures. */
67
+ export declare function memoryInstructionsObjectStore(): InstructionsAtomicObjectStore & {
68
+ keys(): string[];
69
+ };
70
+ //# sourceMappingURL=s3-object-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-object-store.d.ts","sourceRoot":"","sources":["../../src/storage/s3-object-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAA6B,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;IAC/B,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4EAA4E;AAC5E,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,WAAW,CAAC,CACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,6BAA6B,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC3F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,6BAA6B,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC7G;AAED,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC5E,WAAW,CACT,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,8BAA8B,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,IAAI,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAC5E,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAC;CAC7C;AAED,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,qBAAqB,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KACnD,0BAA0B,CAAC;AAEhC,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,qEAAqE;AACrE,MAAM,MAAM,kCAAkC,GAAG,mBAAmB,CAAC;AAcrE,MAAM,WAAW,gCAAgC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,iCAAiC,CAAC,EAAE,MAAM,CAAC;CAC5C;AAgCD,gFAAgF;AAChF,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBjE;AAED,wBAAgB,qCAAqC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED,mFAAmF;AACnF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,oBAAoB,EAC5B,YAAY,GAAE,iCAA0E,EACxF,YAAY,GAAE,mBAA2B,EACzC,SAAS,GAAE,gCAAqC,GAC/C,6BAA6B,CAyI/B;AA2JD,0EAA0E;AAC1E,wBAAgB,6BAA6B,IAAI,6BAA6B,GAAG;IAAE,IAAI,IAAI,MAAM,EAAE,CAAA;CAAE,CAyCpG"}
@@ -73,7 +73,7 @@ export interface UpdateConfigInput {
73
73
  outputs?: ConfigOutput[];
74
74
  format?: ConfigFormat;
75
75
  content?: string;
76
- description?: string;
76
+ description?: string | null;
77
77
  tags?: string[];
78
78
  is_template?: boolean;
79
79
  synced_at?: string | null;
@@ -127,7 +127,7 @@ export interface CreateProfileInput {
127
127
  }
128
128
  export interface UpdateProfileInput {
129
129
  name?: string;
130
- description?: string;
130
+ description?: string | null;
131
131
  selectors?: ProfileSelector;
132
132
  variables?: ProfileVariables;
133
133
  }
@@ -288,11 +288,73 @@ export interface SyncResult {
288
288
  unchanged: number;
289
289
  skipped: string[];
290
290
  }
291
- export interface ExportManifest {
291
+ export interface ExportManifestV1 {
292
292
  version: string;
293
293
  exported_at: string;
294
294
  configs: Array<Omit<Config, "content">>;
295
295
  }
296
+ export declare const INSTRUCTIONS_DOMAIN_ARCHIVE_SCHEMA: "hasna.instructions.domain-archive/v2";
297
+ export interface InstructionsDomainArchiveCounts {
298
+ configs: number;
299
+ config_snapshots: number;
300
+ profiles: number;
301
+ profile_config_bindings: number;
302
+ profile_asset_bindings: number;
303
+ machines: number;
304
+ }
305
+ export interface InstructionsDomainArchiveHashes {
306
+ configs: string;
307
+ config_snapshots: string;
308
+ profiles: string;
309
+ profile_config_bindings: string;
310
+ profile_asset_bindings: string;
311
+ machines: string;
312
+ }
313
+ export interface InstructionsDomainArchiveIntegrity {
314
+ algorithm: "sha256";
315
+ canonicalization: "hasna.instructions.logical-json/v1" | "hasna.instructions.restorable-logical-json/v1";
316
+ counts: InstructionsDomainArchiveCounts;
317
+ hashes: InstructionsDomainArchiveHashes;
318
+ domain_sha256: string;
319
+ }
320
+ export interface InstructionsDomainArchiveExclusion {
321
+ entity: "api_keys" | "idempotency_receipts" | "feedback";
322
+ classification: "security_state" | "transport_state" | "out_of_domain";
323
+ reason: string;
324
+ }
325
+ export interface InstructionsDomainArchiveManifestV2 {
326
+ schema: typeof INSTRUCTIONS_DOMAIN_ARCHIVE_SCHEMA;
327
+ version: "2.0.0";
328
+ exported_at: string;
329
+ payload: {
330
+ path: "domain.json";
331
+ sha256: string;
332
+ size_bytes: number;
333
+ };
334
+ integrity: InstructionsDomainArchiveIntegrity;
335
+ exclusions: InstructionsDomainArchiveExclusion[];
336
+ }
337
+ export interface ArchivedConfigSnapshot extends Omit<ConfigSnapshot, "config_id"> {
338
+ config_slug: string;
339
+ }
340
+ export interface ArchivedProfileConfigBinding extends Omit<ProfileConfigBinding, "profile_id" | "config_id"> {
341
+ profile_slug: string;
342
+ config_slug: string;
343
+ }
344
+ export interface ArchivedProfileAssetBinding extends Omit<ProfileAssetBinding, "profile_id" | "source_config_id"> {
345
+ profile_slug: string;
346
+ source_config_slug: string;
347
+ }
348
+ export interface InstructionsDomainArchiveV2 {
349
+ schema: typeof INSTRUCTIONS_DOMAIN_ARCHIVE_SCHEMA;
350
+ configs: Config[];
351
+ config_snapshots: ArchivedConfigSnapshot[];
352
+ profiles: Profile[];
353
+ profile_config_bindings: ArchivedProfileConfigBinding[];
354
+ profile_asset_bindings: ArchivedProfileAssetBinding[];
355
+ machines: Machine[];
356
+ }
357
+ export type ExportManifest = ExportManifestV1 | InstructionsDomainArchiveManifestV2;
296
358
  export declare class ConfigNotFoundError extends Error {
297
359
  constructor(id: string);
298
360
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ {
2
+ "schema": "hasna.service_contract.v1",
3
+ "name": "instructions",
4
+ "class": "service",
5
+ "contractVersion": "v1",
6
+ "kitVersion": "1.0.2",
7
+ "description": "AI coding agent instruction & configuration manager (formerly @hasna/configs). CLI + MCP + HTTP API (instructions-serve) + generated SDK at the ./sdk export. The CLI, the MCP server and the SDK are hosted-by-default clients of the /v1 API: each call resolves its API key and authority through the one @hasna/contracts client chain (HASNA_INSTRUCTIONS_API_KEY / HASNA_INSTRUCTIONS_API_URL, the macOS Keychain item hasna.credentials.instructions.api-key, ~/.hasna/instructions/config/credentials, default https://api.hasna.com/instructions) and fails closed with no credential; the on-box sqlite store is opened only by the explicit opt-in HASNA_INSTRUCTIONS_LOCAL=1. The hosted /v1 server requires postgresql through HASNA_INSTRUCTIONS_DATABASE_URL and reports unconfigured/503 without it; it never exposes the local SQLite file. The serve process reads/writes the shared Postgres directly with API-key auth via @hasna/contracts. The MCP server keeps the legacy name 'configs' aliased for the existing fleet. Optional native S3 support stores immutable, digest-verified export backups as an adjunct plane and never selects a database or client transport.",
8
+ "bins": [
9
+ "instructions",
10
+ "instructions-mcp",
11
+ "instructions-serve",
12
+ "configs",
13
+ "configs-mcp"
14
+ ],
15
+ "hosting": [
16
+ "user-hosted",
17
+ "hasna-saas"
18
+ ],
19
+ "serviceSurfaces": [
20
+ {
21
+ "name": "http-api",
22
+ "kind": "api",
23
+ "status": "supported",
24
+ "bin": "instructions-serve",
25
+ "authMode": "api-key",
26
+ "health": {
27
+ "method": "GET",
28
+ "path": "/health",
29
+ "public": true
30
+ },
31
+ "readiness": {
32
+ "method": "GET",
33
+ "path": "/ready",
34
+ "public": true
35
+ },
36
+ "version": {
37
+ "method": "GET",
38
+ "path": "/version",
39
+ "public": true
40
+ },
41
+ "apiBasePath": "/v1",
42
+ "openApiPath": "/openapi.json"
43
+ },
44
+ {
45
+ "name": "typescript-sdk",
46
+ "kind": "sdk",
47
+ "status": "supported",
48
+ "authMode": "api-key",
49
+ "exportSubpath": "./sdk",
50
+ "generatedFrom": "/openapi.json"
51
+ },
52
+ {
53
+ "name": "cli",
54
+ "kind": "cli",
55
+ "status": "supported",
56
+ "bin": "instructions",
57
+ "authMode": "api-key"
58
+ },
59
+ {
60
+ "name": "mcp",
61
+ "kind": "mcp",
62
+ "status": "supported",
63
+ "mcpBin": "instructions-mcp",
64
+ "authMode": "api-key"
65
+ }
66
+ ],
67
+ "storage": {
68
+ "backend": "sqlite",
69
+ "engines": [
70
+ "sqlite",
71
+ "postgresql"
72
+ ],
73
+ "envPrefix": "HASNA_INSTRUCTIONS_",
74
+ "aliasEnvPrefix": "INSTRUCTIONS_",
75
+ "sqlitePath": "~/.hasna/instructions/instructions.db",
76
+ "pgTestGate": {
77
+ "envVar": "HASNA_INSTRUCTIONS_TEST_DATABASE_URL",
78
+ "command": "bun run test:postgres"
79
+ }
80
+ },
81
+ "metadata": {
82
+ "service": {
83
+ "port": 8080,
84
+ "healthPath": "/health",
85
+ "readyPath": "/ready",
86
+ "versionPath": "/version",
87
+ "openapiPath": "/openapi.json",
88
+ "apiVersion": "v1",
89
+ "auth": "api-key"
90
+ },
91
+ "client": {
92
+ "apiUrlEnv": "HASNA_INSTRUCTIONS_API_URL",
93
+ "apiKeyEnv": "HASNA_INSTRUCTIONS_API_KEY"
94
+ },
95
+ "mcp": {
96
+ "name": "configs",
97
+ "note": "MCP server identity intentionally kept as 'configs' so the 17-machine fleet MCP config keeps working; fleet rename is a separate controlled step."
98
+ },
99
+ "release": {
100
+ "artifactScan": {
101
+ "script": "scan:artifact"
102
+ }
103
+ }
104
+ },
105
+ "serving": {
106
+ "routeSlug": "instructions",
107
+ "access": "api-key",
108
+ "targetClientBase": "https://api.hasna.com/instructions"
109
+ }
110
+ }
@@ -0,0 +1,63 @@
1
+ -- instructions cloud (A1 pure-remote) domain schema.
2
+ -- Idempotent; NEVER drops or rewrites existing tables. The serve process and the
3
+ -- migration runner apply the equivalent statements via src/storage/schema.ts.
4
+
5
+ CREATE TABLE IF NOT EXISTS configs (
6
+ id TEXT PRIMARY KEY,
7
+ name TEXT NOT NULL,
8
+ slug TEXT NOT NULL UNIQUE,
9
+ kind TEXT NOT NULL DEFAULT 'file',
10
+ category TEXT NOT NULL,
11
+ agent TEXT NOT NULL DEFAULT 'global',
12
+ target_path TEXT,
13
+ outputs JSONB NOT NULL DEFAULT '[]'::jsonb,
14
+ format TEXT NOT NULL DEFAULT 'text',
15
+ content TEXT NOT NULL DEFAULT '',
16
+ description TEXT,
17
+ tags JSONB NOT NULL DEFAULT '[]'::jsonb,
18
+ is_template BOOLEAN NOT NULL DEFAULT false,
19
+ version INTEGER NOT NULL DEFAULT 1,
20
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
21
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
22
+ synced_at TIMESTAMPTZ
23
+ );
24
+ CREATE INDEX IF NOT EXISTS configs_category_idx ON configs (category);
25
+ CREATE INDEX IF NOT EXISTS configs_agent_idx ON configs (agent);
26
+
27
+ CREATE TABLE IF NOT EXISTS config_snapshots (
28
+ id TEXT PRIMARY KEY,
29
+ config_id TEXT NOT NULL REFERENCES configs(id) ON DELETE CASCADE,
30
+ content TEXT NOT NULL,
31
+ version INTEGER NOT NULL,
32
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now()
33
+ );
34
+ CREATE INDEX IF NOT EXISTS config_snapshots_config_idx ON config_snapshots (config_id);
35
+
36
+ CREATE TABLE IF NOT EXISTS profiles (
37
+ id TEXT PRIMARY KEY,
38
+ name TEXT NOT NULL,
39
+ slug TEXT NOT NULL UNIQUE,
40
+ description TEXT,
41
+ selectors JSONB NOT NULL DEFAULT '{}'::jsonb,
42
+ variables JSONB NOT NULL DEFAULT '{}'::jsonb,
43
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
44
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
45
+ );
46
+
47
+ CREATE TABLE IF NOT EXISTS profile_configs (
48
+ profile_id TEXT NOT NULL REFERENCES profiles(id) ON DELETE CASCADE,
49
+ config_id TEXT NOT NULL REFERENCES configs(id) ON DELETE CASCADE,
50
+ sort_order INTEGER NOT NULL DEFAULT 0,
51
+ binding JSONB NOT NULL DEFAULT '{"schema":"hasna.instructions.profile-config-binding/v1","activation":{"mode":"always"},"required":true,"fallback":"fail"}'::jsonb,
52
+ PRIMARY KEY (profile_id, config_id)
53
+ );
54
+ ALTER TABLE profile_configs ADD COLUMN IF NOT EXISTS binding JSONB NOT NULL DEFAULT '{"schema":"hasna.instructions.profile-config-binding/v1","activation":{"mode":"always"},"required":true,"fallback":"fail"}'::jsonb;
55
+
56
+ CREATE TABLE IF NOT EXISTS machines (
57
+ id TEXT PRIMARY KEY,
58
+ hostname TEXT NOT NULL UNIQUE,
59
+ os TEXT,
60
+ arch TEXT,
61
+ last_applied_at TIMESTAMPTZ,
62
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now()
63
+ );
@@ -0,0 +1,20 @@
1
+ -- Contracts API-key store (idempotent)
2
+ -- hasna_auth_0001_api_keys
3
+ CREATE TABLE IF NOT EXISTS api_keys (
4
+ kid TEXT PRIMARY KEY,
5
+ app TEXT NOT NULL,
6
+ agent TEXT,
7
+ scopes JSONB NOT NULL,
8
+ token_hash TEXT NOT NULL UNIQUE,
9
+ issued_at TIMESTAMPTZ NOT NULL,
10
+ expires_at TIMESTAMPTZ,
11
+ revoked_at TIMESTAMPTZ,
12
+ revoked_reason TEXT,
13
+ last_used_at TIMESTAMPTZ,
14
+ created_by TEXT,
15
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now()
16
+ )
17
+
18
+ -- hasna_auth_0002_api_keys_indexes
19
+ CREATE INDEX IF NOT EXISTS api_keys_app_idx ON api_keys (app);
20
+ CREATE INDEX IF NOT EXISTS api_keys_token_hash_idx ON api_keys (token_hash);
@@ -0,0 +1,24 @@
1
+ -- Durable request idempotency for retryable Instructions mutations.
2
+ -- The receipt row and domain write commit in the same PostgreSQL transaction.
3
+ CREATE TABLE IF NOT EXISTS instruction_idempotency_receipts (
4
+ principal TEXT NOT NULL,
5
+ operation TEXT NOT NULL,
6
+ idempotency_key TEXT NOT NULL,
7
+ request_sha256 TEXT NOT NULL,
8
+ response_status INTEGER,
9
+ response_body JSONB,
10
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
11
+ completed_at TIMESTAMPTZ,
12
+ PRIMARY KEY (principal, operation, idempotency_key),
13
+ CHECK (length(principal) BETWEEN 1 AND 512),
14
+ CHECK (length(operation) BETWEEN 1 AND 255),
15
+ CHECK (length(idempotency_key) BETWEEN 1 AND 255),
16
+ CHECK (length(request_sha256) = 64),
17
+ CHECK (
18
+ (response_status IS NULL AND response_body IS NULL AND completed_at IS NULL)
19
+ OR
20
+ (response_status BETWEEN 200 AND 599 AND response_body IS NOT NULL AND completed_at IS NOT NULL)
21
+ )
22
+ );
23
+ CREATE INDEX IF NOT EXISTS instruction_idempotency_receipts_created_at_idx
24
+ ON instruction_idempotency_receipts (created_at);