@hasna/instructions 0.6.1 → 0.7.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 (85) hide show
  1. package/README.md +141 -10
  2. package/dist/chunks/{apply-ynfn1av7.js → apply-c3sd4agz.js} +5 -3
  3. package/dist/chunks/{apply-sfzja1f3.js → apply-pnn7a3y7.js} +6 -3
  4. package/dist/chunks/database-wstmr56z.js +23 -0
  5. package/dist/chunks/{index-pkscjnj5.js → index-3djthcm6.js} +0 -1
  6. package/dist/chunks/index-5d7zdftc.js +186 -0
  7. package/dist/chunks/{index-1hpwskwd.js → index-6jncnnw7.js} +318 -329
  8. package/dist/chunks/index-8rb7ng2y.js +148 -0
  9. package/dist/chunks/{index-v7dkb384.js → index-aj66f6xr.js} +243 -100
  10. package/dist/chunks/index-fpeyzn3n.js +186 -0
  11. package/dist/chunks/{index-9p9gn7gh.js → index-jg8ptcwh.js} +5 -7
  12. package/dist/chunks/index-mvckkf15.js +363 -0
  13. package/dist/chunks/index-n3fjspr0.js +119 -0
  14. package/dist/chunks/{index-85n5wnd8.js → index-pdpg8a44.js} +5 -7
  15. package/dist/chunks/{index-e9epbsvs.js → index-r7nfef2g.js} +15 -4
  16. package/dist/chunks/{index-axhwg61p.js → index-ypcef3a2.js} +15 -4
  17. package/dist/chunks/legacy-store-migration-z2m5yzyk.js +322 -0
  18. package/dist/chunks/{local-a9nen65z.js → local-0a9gja58.js} +142 -2
  19. package/dist/chunks/{local-0d8qrc92.js → local-969ye538.js} +153 -188
  20. package/dist/chunks/s3-backup-hxe3zpfz.js +240 -0
  21. package/dist/chunks/s3-config-hhght91k.js +14 -0
  22. package/dist/chunks/s3-object-store-n0s82swt.js +14 -0
  23. package/dist/chunks/{sync-vy1yjvs6.js → sync-q5hvwq6e.js} +4 -4
  24. package/dist/chunks/{sync-m46fc257.js → sync-xtkbm5br.js} +5 -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 +1236 -256
  28. package/dist/data/config-store.d.ts +10 -1
  29. package/dist/data/config-store.d.ts.map +1 -1
  30. package/dist/db/configs.d.ts +4 -1
  31. package/dist/db/configs.d.ts.map +1 -1
  32. package/dist/db/local.d.ts +1 -1
  33. package/dist/db/local.d.ts.map +1 -1
  34. package/dist/index.js +1086 -215
  35. package/dist/lib/apply.d.ts +7 -0
  36. package/dist/lib/apply.d.ts.map +1 -1
  37. package/dist/lib/compact-output.d.ts +3 -18
  38. package/dist/lib/compact-output.d.ts.map +1 -1
  39. package/dist/lib/export.d.ts +22 -3
  40. package/dist/lib/export.d.ts.map +1 -1
  41. package/dist/lib/import.d.ts +18 -0
  42. package/dist/lib/import.d.ts.map +1 -1
  43. package/dist/lib/legacy-store-migration.d.ts +39 -0
  44. package/dist/lib/legacy-store-migration.d.ts.map +1 -0
  45. package/dist/lib/managed-skill-runtimes.d.ts +1 -0
  46. package/dist/lib/managed-skill-runtimes.d.ts.map +1 -1
  47. package/dist/lib/sync-dir.d.ts.map +1 -1
  48. package/dist/mcp/index.js +41 -30
  49. package/dist/mcp/server.d.ts.map +1 -1
  50. package/dist/sdk/index.d.ts +2 -0
  51. package/dist/sdk/index.d.ts.map +1 -1
  52. package/dist/sdk/index.js +229 -10
  53. package/dist/sdk/resolve.d.ts +1 -1
  54. package/dist/sdk/resolve.d.ts.map +1 -1
  55. package/dist/sdk/v1-client.d.ts +58 -0
  56. package/dist/sdk/v1-client.d.ts.map +1 -0
  57. package/dist/sdk/v1.generated.d.ts +242 -21
  58. package/dist/sdk/v1.generated.d.ts.map +1 -1
  59. package/dist/server/cloud.d.ts.map +1 -1
  60. package/dist/server/index.d.ts +13 -5
  61. package/dist/server/index.d.ts.map +1 -1
  62. package/dist/server/index.js +1261 -427
  63. package/dist/server/openapi.d.ts +1379 -93
  64. package/dist/server/openapi.d.ts.map +1 -1
  65. package/dist/server/v1.d.ts +25 -1
  66. package/dist/server/v1.d.ts.map +1 -1
  67. package/dist/storage/cloud-store.d.ts +45 -2
  68. package/dist/storage/cloud-store.d.ts.map +1 -1
  69. package/dist/storage/index.d.ts +7 -0
  70. package/dist/storage/index.d.ts.map +1 -0
  71. package/dist/storage/index.js +744 -0
  72. package/dist/storage/s3-backup.d.ts +76 -0
  73. package/dist/storage/s3-backup.d.ts.map +1 -0
  74. package/dist/storage/s3-config.d.ts +46 -0
  75. package/dist/storage/s3-config.d.ts.map +1 -0
  76. package/dist/storage/s3-object-store.d.ts +70 -0
  77. package/dist/storage/s3-object-store.d.ts.map +1 -0
  78. package/dist/types/index.d.ts +98 -3
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/hasna.contract.json +110 -0
  81. package/migrations/0001_instructions.sql +63 -0
  82. package/migrations/0002_api_keys.sql +20 -0
  83. package/migrations/0003_idempotency_receipts.sql +24 -0
  84. package/package.json +24 -13
  85. package/assets/skills/inbox/SKILL.md +0 -86
@@ -82,6 +82,104 @@ export declare function buildV1OpenApiDocument(version?: string): {
82
82
  };
83
83
  };
84
84
  };
85
+ ConfigSummary: {
86
+ readonly type: "object";
87
+ readonly additionalProperties: false;
88
+ readonly required: readonly ["id", "name", "slug", "kind", "category", "agent", "target_path", "format", "output_count", "description", "tags", "is_template", "version", "updated_at"];
89
+ readonly properties: {
90
+ readonly id: {
91
+ readonly type: "string";
92
+ };
93
+ readonly name: {
94
+ readonly type: "string";
95
+ };
96
+ readonly slug: {
97
+ readonly type: "string";
98
+ };
99
+ readonly kind: {
100
+ readonly type: "string";
101
+ };
102
+ readonly category: {
103
+ readonly type: "string";
104
+ };
105
+ readonly agent: {
106
+ readonly type: "string";
107
+ };
108
+ readonly target_path: {
109
+ readonly type: "string";
110
+ readonly nullable: true;
111
+ };
112
+ readonly format: {
113
+ readonly type: "string";
114
+ };
115
+ readonly output_count: {
116
+ readonly type: "number";
117
+ };
118
+ readonly description: {
119
+ readonly type: "string";
120
+ readonly nullable: true;
121
+ };
122
+ readonly tags: {
123
+ readonly type: "array";
124
+ readonly items: {
125
+ readonly type: "string";
126
+ };
127
+ };
128
+ readonly is_template: {
129
+ readonly type: "boolean";
130
+ };
131
+ readonly version: {
132
+ readonly type: "number";
133
+ };
134
+ readonly updated_at: {
135
+ readonly type: "string";
136
+ };
137
+ };
138
+ };
139
+ ConfigIdentity: {
140
+ readonly type: "object";
141
+ readonly additionalProperties: false;
142
+ readonly required: readonly ["id", "name", "slug", "kind", "category", "agent", "format", "is_template", "version", "created_at", "updated_at", "synced_at"];
143
+ readonly properties: {
144
+ readonly id: {
145
+ readonly type: "string";
146
+ };
147
+ readonly name: {
148
+ readonly type: "string";
149
+ };
150
+ readonly slug: {
151
+ readonly type: "string";
152
+ };
153
+ readonly kind: {
154
+ readonly type: "string";
155
+ };
156
+ readonly category: {
157
+ readonly type: "string";
158
+ };
159
+ readonly agent: {
160
+ readonly type: "string";
161
+ };
162
+ readonly format: {
163
+ readonly type: "string";
164
+ };
165
+ readonly is_template: {
166
+ readonly type: "boolean";
167
+ };
168
+ readonly version: {
169
+ readonly type: "number";
170
+ };
171
+ readonly created_at: {
172
+ readonly type: "string";
173
+ };
174
+ readonly updated_at: {
175
+ readonly type: "string";
176
+ };
177
+ readonly synced_at: {
178
+ readonly type: "string";
179
+ readonly nullable: true;
180
+ };
181
+ };
182
+ };
85
183
  Profile: {
86
184
  readonly type: "object";
87
185
  readonly properties: {
@@ -112,6 +210,75 @@ export declare function buildV1OpenApiDocument(version?: string): {
112
210
  };
113
211
  };
114
212
  };
213
+ ProfileIdentity: {
214
+ readonly type: "object";
215
+ readonly required: readonly ["id", "name", "slug", "created_at", "updated_at"];
216
+ readonly properties: {
217
+ readonly id: {
218
+ readonly type: "string";
219
+ };
220
+ readonly name: {
221
+ readonly type: "string";
222
+ };
223
+ readonly slug: {
224
+ readonly type: "string";
225
+ };
226
+ readonly created_at: {
227
+ readonly type: "string";
228
+ };
229
+ readonly updated_at: {
230
+ readonly type: "string";
231
+ };
232
+ };
233
+ };
234
+ Machine: {
235
+ readonly type: "object";
236
+ readonly required: readonly ["id", "hostname", "os", "arch", "last_applied_at", "created_at"];
237
+ readonly properties: {
238
+ readonly id: {
239
+ readonly type: "string";
240
+ };
241
+ readonly hostname: {
242
+ readonly type: "string";
243
+ };
244
+ readonly os: {
245
+ readonly type: "string";
246
+ readonly nullable: true;
247
+ };
248
+ readonly arch: {
249
+ readonly type: "string";
250
+ readonly nullable: true;
251
+ };
252
+ readonly last_applied_at: {
253
+ readonly type: "string";
254
+ readonly nullable: true;
255
+ };
256
+ readonly created_at: {
257
+ readonly type: "string";
258
+ };
259
+ };
260
+ };
261
+ ConfigSnapshot: {
262
+ readonly type: "object";
263
+ readonly required: readonly ["id", "config_id", "content", "version", "created_at"];
264
+ readonly properties: {
265
+ readonly id: {
266
+ readonly type: "string";
267
+ };
268
+ readonly config_id: {
269
+ readonly type: "string";
270
+ };
271
+ readonly content: {
272
+ readonly type: "string";
273
+ };
274
+ readonly version: {
275
+ readonly type: "number";
276
+ };
277
+ readonly created_at: {
278
+ readonly type: "string";
279
+ };
280
+ };
281
+ };
115
282
  CreateConfigInput: {
116
283
  type: string;
117
284
  required: string[];
@@ -157,17 +324,34 @@ export declare function buildV1OpenApiDocument(version?: string): {
157
324
  name: {
158
325
  type: string;
159
326
  };
327
+ kind: {
328
+ type: string;
329
+ };
160
330
  category: {
161
331
  type: string;
162
332
  };
163
333
  agent: {
164
334
  type: string;
165
335
  };
336
+ target_path: {
337
+ type: string;
338
+ nullable: boolean;
339
+ };
340
+ outputs: {
341
+ type: string;
342
+ items: {
343
+ type: string;
344
+ };
345
+ };
346
+ format: {
347
+ type: string;
348
+ };
166
349
  content: {
167
350
  type: string;
168
351
  };
169
352
  description: {
170
353
  type: string;
354
+ nullable: boolean;
171
355
  };
172
356
  tags: {
173
357
  type: string;
@@ -178,6 +362,10 @@ export declare function buildV1OpenApiDocument(version?: string): {
178
362
  is_template: {
179
363
  type: string;
180
364
  };
365
+ synced_at: {
366
+ type: string;
367
+ nullable: boolean;
368
+ };
181
369
  };
182
370
  };
183
371
  CreateProfileInput: {
@@ -198,6 +386,61 @@ export declare function buildV1OpenApiDocument(version?: string): {
198
386
  };
199
387
  };
200
388
  };
389
+ UpdateProfileInput: {
390
+ type: string;
391
+ properties: {
392
+ name: {
393
+ type: string;
394
+ };
395
+ description: {
396
+ type: string;
397
+ nullable: boolean;
398
+ };
399
+ selectors: {
400
+ type: string;
401
+ };
402
+ variables: {
403
+ type: string;
404
+ };
405
+ };
406
+ };
407
+ PruneSnapshotsInput: {
408
+ type: string;
409
+ properties: {
410
+ keep: {
411
+ type: string;
412
+ minimum: number;
413
+ default: number;
414
+ };
415
+ };
416
+ };
417
+ MachineAppliedInput: {
418
+ type: string;
419
+ required: string[];
420
+ properties: {
421
+ hostname: {
422
+ type: string;
423
+ };
424
+ };
425
+ };
426
+ FeedbackInput: {
427
+ type: string;
428
+ required: string[];
429
+ properties: {
430
+ message: {
431
+ type: string;
432
+ };
433
+ email: {
434
+ type: string;
435
+ };
436
+ category: {
437
+ type: string;
438
+ };
439
+ version: {
440
+ type: string;
441
+ };
442
+ };
443
+ };
201
444
  AddProfileConfigInput: {
202
445
  type: string;
203
446
  required: string[];
@@ -498,12 +741,21 @@ export declare function buildV1OpenApiDocument(version?: string): {
498
741
  type: string;
499
742
  required: string[];
500
743
  properties: {
744
+ configs: {
745
+ type: string;
746
+ items: {
747
+ $ref: string;
748
+ };
749
+ };
501
750
  items: {
502
751
  type: string;
503
752
  items: {
504
753
  $ref: string;
505
754
  };
506
755
  };
756
+ count: {
757
+ type: string;
758
+ };
507
759
  total: {
508
760
  type: string;
509
761
  };
@@ -532,44 +784,373 @@ export declare function buildV1OpenApiDocument(version?: string): {
532
784
  };
533
785
  };
534
786
  };
535
- ProfileShowResponse: {
787
+ BoundedConfigSummaryPage: {
536
788
  type: string;
537
789
  required: string[];
538
790
  properties: {
539
- profile: {
540
- $ref: string;
541
- };
542
791
  configs: {
543
- $ref: string;
792
+ type: string;
793
+ items: {
794
+ $ref: string;
795
+ };
544
796
  };
545
- };
546
- };
547
- ProfileResolutionRead: {
548
- type: string;
549
- required: string[];
550
- properties: {
551
- profile: {
552
- oneOf: ({
797
+ items: {
798
+ type: string;
799
+ items: {
553
800
  $ref: string;
554
- type?: undefined;
555
- } | {
556
- type: string;
557
- $ref?: undefined;
558
- })[];
801
+ };
559
802
  };
560
- scanned: {
803
+ count: {
561
804
  type: string;
562
- nullable: boolean;
563
805
  };
564
806
  total: {
565
807
  type: string;
566
- nullable: boolean;
567
808
  };
568
- batch_limit: {
809
+ limit: {
569
810
  type: string;
570
- nullable: boolean;
571
811
  };
572
- source_bounded: {
812
+ cursor: {
813
+ type: string;
814
+ };
815
+ next_cursor: {
816
+ type: string;
817
+ nullable: boolean;
818
+ };
819
+ has_more: {
820
+ type: string;
821
+ };
822
+ complete: {
823
+ type: string;
824
+ };
825
+ truncated: {
826
+ type: string;
827
+ const: boolean;
828
+ };
829
+ source_bounded: {
830
+ type: string;
831
+ };
832
+ };
833
+ };
834
+ BoundedConfigIdentityPage: {
835
+ type: string;
836
+ required: string[];
837
+ properties: {
838
+ configs: {
839
+ type: string;
840
+ items: {
841
+ $ref: string;
842
+ };
843
+ };
844
+ items: {
845
+ type: string;
846
+ items: {
847
+ $ref: string;
848
+ };
849
+ };
850
+ count: {
851
+ type: string;
852
+ };
853
+ total: {
854
+ type: string;
855
+ };
856
+ limit: {
857
+ type: string;
858
+ };
859
+ cursor: {
860
+ type: string;
861
+ };
862
+ next_cursor: {
863
+ type: string;
864
+ nullable: boolean;
865
+ };
866
+ has_more: {
867
+ type: string;
868
+ };
869
+ complete: {
870
+ type: string;
871
+ };
872
+ truncated: {
873
+ type: string;
874
+ const: boolean;
875
+ };
876
+ source_bounded: {
877
+ type: string;
878
+ };
879
+ };
880
+ };
881
+ BoundedProfileIdentityPage: {
882
+ type: string;
883
+ required: string[];
884
+ properties: {
885
+ profiles: {
886
+ type: string;
887
+ items: {
888
+ $ref: string;
889
+ };
890
+ };
891
+ items: {
892
+ type: string;
893
+ items: {
894
+ $ref: string;
895
+ };
896
+ };
897
+ count: {
898
+ type: string;
899
+ };
900
+ total: {
901
+ type: string;
902
+ };
903
+ limit: {
904
+ type: string;
905
+ };
906
+ cursor: {
907
+ type: string;
908
+ };
909
+ next_cursor: {
910
+ type: string;
911
+ nullable: boolean;
912
+ };
913
+ has_more: {
914
+ type: string;
915
+ };
916
+ complete: {
917
+ type: string;
918
+ };
919
+ truncated: {
920
+ type: string;
921
+ const: boolean;
922
+ };
923
+ source_bounded: {
924
+ type: string;
925
+ };
926
+ };
927
+ };
928
+ BoundedSnapshotPage: {
929
+ type: string;
930
+ required: string[];
931
+ properties: {
932
+ snapshots: {
933
+ type: string;
934
+ items: {
935
+ $ref: string;
936
+ };
937
+ };
938
+ items: {
939
+ type: string;
940
+ items: {
941
+ $ref: string;
942
+ };
943
+ };
944
+ count: {
945
+ type: string;
946
+ };
947
+ total: {
948
+ type: string;
949
+ };
950
+ limit: {
951
+ type: string;
952
+ };
953
+ cursor: {
954
+ type: string;
955
+ };
956
+ next_cursor: {
957
+ type: string;
958
+ nullable: boolean;
959
+ };
960
+ has_more: {
961
+ type: string;
962
+ };
963
+ complete: {
964
+ type: string;
965
+ };
966
+ truncated: {
967
+ type: string;
968
+ const: boolean;
969
+ };
970
+ source_bounded: {
971
+ type: string;
972
+ };
973
+ };
974
+ };
975
+ BoundedMachinePage: {
976
+ type: string;
977
+ required: string[];
978
+ properties: {
979
+ machines: {
980
+ type: string;
981
+ items: {
982
+ $ref: string;
983
+ };
984
+ };
985
+ items: {
986
+ type: string;
987
+ items: {
988
+ $ref: string;
989
+ };
990
+ };
991
+ count: {
992
+ type: string;
993
+ };
994
+ total: {
995
+ type: string;
996
+ };
997
+ limit: {
998
+ type: string;
999
+ };
1000
+ cursor: {
1001
+ type: string;
1002
+ };
1003
+ next_cursor: {
1004
+ type: string;
1005
+ nullable: boolean;
1006
+ };
1007
+ has_more: {
1008
+ type: string;
1009
+ };
1010
+ complete: {
1011
+ type: string;
1012
+ };
1013
+ truncated: {
1014
+ type: string;
1015
+ const: boolean;
1016
+ };
1017
+ source_bounded: {
1018
+ type: string;
1019
+ };
1020
+ };
1021
+ };
1022
+ BoundedProfileConfigBindingPage: {
1023
+ type: string;
1024
+ required: string[];
1025
+ properties: {
1026
+ bindings: {
1027
+ type: string;
1028
+ items: {
1029
+ $ref: string;
1030
+ };
1031
+ };
1032
+ items: {
1033
+ type: string;
1034
+ items: {
1035
+ $ref: string;
1036
+ };
1037
+ };
1038
+ count: {
1039
+ type: string;
1040
+ };
1041
+ total: {
1042
+ type: string;
1043
+ };
1044
+ limit: {
1045
+ type: string;
1046
+ };
1047
+ cursor: {
1048
+ type: string;
1049
+ };
1050
+ next_cursor: {
1051
+ type: string;
1052
+ nullable: boolean;
1053
+ };
1054
+ has_more: {
1055
+ type: string;
1056
+ };
1057
+ complete: {
1058
+ type: string;
1059
+ };
1060
+ truncated: {
1061
+ type: string;
1062
+ const: boolean;
1063
+ };
1064
+ source_bounded: {
1065
+ type: string;
1066
+ };
1067
+ };
1068
+ };
1069
+ BoundedProfileAssetBindingPage: {
1070
+ type: string;
1071
+ required: string[];
1072
+ properties: {
1073
+ assets: {
1074
+ type: string;
1075
+ items: {
1076
+ $ref: string;
1077
+ };
1078
+ };
1079
+ items: {
1080
+ type: string;
1081
+ items: {
1082
+ $ref: string;
1083
+ };
1084
+ };
1085
+ count: {
1086
+ type: string;
1087
+ };
1088
+ total: {
1089
+ type: string;
1090
+ };
1091
+ limit: {
1092
+ type: string;
1093
+ };
1094
+ cursor: {
1095
+ type: string;
1096
+ };
1097
+ next_cursor: {
1098
+ type: string;
1099
+ nullable: boolean;
1100
+ };
1101
+ has_more: {
1102
+ type: string;
1103
+ };
1104
+ complete: {
1105
+ type: string;
1106
+ };
1107
+ truncated: {
1108
+ type: string;
1109
+ const: boolean;
1110
+ };
1111
+ source_bounded: {
1112
+ type: string;
1113
+ };
1114
+ };
1115
+ };
1116
+ ProfileShowResponse: {
1117
+ type: string;
1118
+ required: string[];
1119
+ properties: {
1120
+ profile: {
1121
+ $ref: string;
1122
+ };
1123
+ configs: {
1124
+ $ref: string;
1125
+ };
1126
+ };
1127
+ };
1128
+ ProfileResolutionRead: {
1129
+ type: string;
1130
+ required: string[];
1131
+ properties: {
1132
+ profile: {
1133
+ oneOf: ({
1134
+ $ref: string;
1135
+ type?: undefined;
1136
+ } | {
1137
+ type: string;
1138
+ $ref?: undefined;
1139
+ })[];
1140
+ };
1141
+ scanned: {
1142
+ type: string;
1143
+ nullable: boolean;
1144
+ };
1145
+ total: {
1146
+ type: string;
1147
+ nullable: boolean;
1148
+ };
1149
+ batch_limit: {
1150
+ type: string;
1151
+ nullable: boolean;
1152
+ };
1153
+ source_bounded: {
573
1154
  type: string;
574
1155
  };
575
1156
  complete: {
@@ -592,30 +1173,65 @@ export declare function buildV1OpenApiDocument(version?: string): {
592
1173
  get: {
593
1174
  operationId: string;
594
1175
  summary: string;
595
- parameters: {
1176
+ parameters: ({
1177
+ readonly name: "limit";
1178
+ readonly in: "query";
1179
+ readonly schema: {
1180
+ readonly type: "integer";
1181
+ readonly minimum: 1;
1182
+ readonly maximum: 100;
1183
+ };
1184
+ } | {
1185
+ readonly name: "cursor";
1186
+ readonly in: "query";
1187
+ readonly schema: {
1188
+ readonly type: "integer";
1189
+ readonly minimum: 0;
1190
+ readonly maximum: 100000;
1191
+ };
1192
+ } | {
1193
+ readonly name: "view";
1194
+ readonly in: "query";
1195
+ readonly description: "Use summary for a content-free list projection, or identity for the smallest metadata-only projection.";
1196
+ readonly schema: {
1197
+ readonly type: "string";
1198
+ readonly enum: readonly ["summary", "identity"];
1199
+ };
1200
+ } | {
1201
+ name: string;
1202
+ in: string;
1203
+ schema: {
1204
+ type: string;
1205
+ maxLength?: undefined;
1206
+ items?: undefined;
1207
+ };
1208
+ } | {
596
1209
  name: string;
597
1210
  in: string;
598
1211
  schema: {
599
1212
  type: string;
1213
+ maxLength: number;
1214
+ items?: undefined;
1215
+ };
1216
+ } | {
1217
+ name: string;
1218
+ in: string;
1219
+ schema: {
1220
+ type: string;
1221
+ items: {
1222
+ type: string;
1223
+ };
1224
+ maxLength?: undefined;
600
1225
  };
601
- }[];
1226
+ })[];
602
1227
  responses: {
603
1228
  "200": {
604
1229
  content: {
605
1230
  "application/json": {
606
1231
  schema: {
607
- type: string;
608
- properties: {
609
- configs: {
610
- type: string;
611
- items: {
612
- $ref: string;
613
- };
614
- };
615
- count: {
616
- type: string;
617
- };
618
- };
1232
+ anyOf: {
1233
+ $ref: string;
1234
+ }[];
619
1235
  };
620
1236
  };
621
1237
  };
@@ -625,6 +1241,18 @@ export declare function buildV1OpenApiDocument(version?: string): {
625
1241
  post: {
626
1242
  operationId: string;
627
1243
  summary: string;
1244
+ parameters: {
1245
+ readonly name: "Idempotency-Key";
1246
+ readonly in: "header";
1247
+ readonly required: false;
1248
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
1249
+ readonly schema: {
1250
+ readonly type: "string";
1251
+ readonly minLength: 1;
1252
+ readonly maxLength: 255;
1253
+ readonly pattern: "^[!-~]+$";
1254
+ };
1255
+ }[];
628
1256
  requestBody: {
629
1257
  required: boolean;
630
1258
  content: {
@@ -650,6 +1278,26 @@ export declare function buildV1OpenApiDocument(version?: string): {
650
1278
  };
651
1279
  };
652
1280
  };
1281
+ "409": {
1282
+ readonly description: "The Idempotency-Key was already used for a different request body.";
1283
+ readonly content: {
1284
+ readonly "application/json": {
1285
+ readonly schema: {
1286
+ readonly type: "object";
1287
+ readonly required: readonly ["error", "code"];
1288
+ readonly properties: {
1289
+ readonly error: {
1290
+ readonly type: "string";
1291
+ };
1292
+ readonly code: {
1293
+ readonly type: "string";
1294
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
1295
+ };
1296
+ };
1297
+ };
1298
+ };
1299
+ };
1300
+ };
653
1301
  };
654
1302
  };
655
1303
  };
@@ -720,6 +1368,44 @@ export declare function buildV1OpenApiDocument(version?: string): {
720
1368
  };
721
1369
  };
722
1370
  };
1371
+ put: {
1372
+ operationId: string;
1373
+ summary: string;
1374
+ parameters: {
1375
+ name: string;
1376
+ in: string;
1377
+ required: boolean;
1378
+ schema: {
1379
+ type: string;
1380
+ };
1381
+ }[];
1382
+ requestBody: {
1383
+ required: boolean;
1384
+ content: {
1385
+ "application/json": {
1386
+ schema: {
1387
+ $ref: string;
1388
+ };
1389
+ };
1390
+ };
1391
+ };
1392
+ responses: {
1393
+ "200": {
1394
+ content: {
1395
+ "application/json": {
1396
+ schema: {
1397
+ type: string;
1398
+ properties: {
1399
+ config: {
1400
+ $ref: string;
1401
+ };
1402
+ };
1403
+ };
1404
+ };
1405
+ };
1406
+ };
1407
+ };
1408
+ };
723
1409
  delete: {
724
1410
  operationId: string;
725
1411
  summary: string;
@@ -756,29 +1442,111 @@ export declare function buildV1OpenApiDocument(version?: string): {
756
1442
  get: {
757
1443
  operationId: string;
758
1444
  summary: string;
759
- parameters: {
1445
+ parameters: ({
1446
+ readonly name: "limit";
1447
+ readonly in: "query";
1448
+ readonly schema: {
1449
+ readonly type: "integer";
1450
+ readonly minimum: 1;
1451
+ readonly maximum: 100;
1452
+ };
1453
+ } | {
1454
+ readonly name: "cursor";
1455
+ readonly in: "query";
1456
+ readonly schema: {
1457
+ readonly type: "integer";
1458
+ readonly minimum: 0;
1459
+ readonly maximum: 100000;
1460
+ };
1461
+ } | {
760
1462
  name: string;
761
1463
  in: string;
762
1464
  required: boolean;
763
1465
  schema: {
764
1466
  type: string;
765
1467
  };
766
- }[];
1468
+ })[];
767
1469
  responses: {
768
1470
  "200": {
1471
+ content: {
1472
+ "application/json": {
1473
+ schema: {
1474
+ $ref: string;
1475
+ };
1476
+ };
1477
+ };
1478
+ };
1479
+ };
1480
+ };
1481
+ post: {
1482
+ operationId: string;
1483
+ summary: string;
1484
+ parameters: ({
1485
+ readonly name: "Idempotency-Key";
1486
+ readonly in: "header";
1487
+ readonly required: false;
1488
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
1489
+ readonly schema: {
1490
+ readonly type: "string";
1491
+ readonly minLength: 1;
1492
+ readonly maxLength: 255;
1493
+ readonly pattern: "^[!-~]+$";
1494
+ };
1495
+ } | {
1496
+ name: string;
1497
+ in: string;
1498
+ required: boolean;
1499
+ schema: {
1500
+ type: string;
1501
+ };
1502
+ })[];
1503
+ requestBody: {
1504
+ required: boolean;
1505
+ content: {
1506
+ "application/json": {
1507
+ schema: {
1508
+ type: string;
1509
+ properties: {
1510
+ content: {
1511
+ type: string;
1512
+ };
1513
+ version: {
1514
+ type: string;
1515
+ };
1516
+ };
1517
+ };
1518
+ };
1519
+ };
1520
+ };
1521
+ responses: {
1522
+ "201": {
769
1523
  content: {
770
1524
  "application/json": {
771
1525
  schema: {
772
1526
  type: string;
773
1527
  properties: {
774
- snapshots: {
775
- type: string;
776
- items: {
777
- type: string;
778
- };
1528
+ snapshot: {
1529
+ $ref: string;
779
1530
  };
780
- count: {
781
- type: string;
1531
+ };
1532
+ };
1533
+ };
1534
+ };
1535
+ };
1536
+ "409": {
1537
+ readonly description: "The Idempotency-Key was already used for a different request body.";
1538
+ readonly content: {
1539
+ readonly "application/json": {
1540
+ readonly schema: {
1541
+ readonly type: "object";
1542
+ readonly required: readonly ["error", "code"];
1543
+ readonly properties: {
1544
+ readonly error: {
1545
+ readonly type: "string";
1546
+ };
1547
+ readonly code: {
1548
+ readonly type: "string";
1549
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
782
1550
  };
783
1551
  };
784
1552
  };
@@ -787,6 +1555,8 @@ export declare function buildV1OpenApiDocument(version?: string): {
787
1555
  };
788
1556
  };
789
1557
  };
1558
+ };
1559
+ "/v1/configs/{id}/snapshots/prune": {
790
1560
  post: {
791
1561
  operationId: string;
792
1562
  summary: string;
@@ -798,14 +1568,25 @@ export declare function buildV1OpenApiDocument(version?: string): {
798
1568
  type: string;
799
1569
  };
800
1570
  }[];
1571
+ requestBody: {
1572
+ required: boolean;
1573
+ content: {
1574
+ "application/json": {
1575
+ schema: {
1576
+ $ref: string;
1577
+ };
1578
+ };
1579
+ };
1580
+ };
801
1581
  responses: {
802
- "201": {
1582
+ "200": {
803
1583
  content: {
804
1584
  "application/json": {
805
1585
  schema: {
806
1586
  type: string;
1587
+ required: string[];
807
1588
  properties: {
808
- snapshot: {
1589
+ pruned: {
809
1590
  type: string;
810
1591
  };
811
1592
  };
@@ -816,25 +1597,63 @@ export declare function buildV1OpenApiDocument(version?: string): {
816
1597
  };
817
1598
  };
818
1599
  };
819
- "/v1/profiles": {
1600
+ "/v1/configs/{id}/snapshots/{version}": {
820
1601
  get: {
821
1602
  operationId: string;
822
1603
  summary: string;
823
- parameters: ({
1604
+ parameters: {
824
1605
  name: string;
825
1606
  in: string;
1607
+ required: boolean;
826
1608
  schema: {
827
1609
  type: string;
828
- minimum: number;
829
- maximum: number;
1610
+ };
1611
+ }[];
1612
+ responses: {
1613
+ "200": {
1614
+ content: {
1615
+ "application/json": {
1616
+ schema: {
1617
+ type: string;
1618
+ properties: {
1619
+ snapshot: {
1620
+ $ref: string;
1621
+ };
1622
+ };
1623
+ };
1624
+ };
1625
+ };
1626
+ };
1627
+ };
1628
+ };
1629
+ };
1630
+ "/v1/profiles": {
1631
+ get: {
1632
+ operationId: string;
1633
+ summary: string;
1634
+ parameters: ({
1635
+ readonly name: "limit";
1636
+ readonly in: "query";
1637
+ readonly schema: {
1638
+ readonly type: "integer";
1639
+ readonly minimum: 1;
1640
+ readonly maximum: 100;
830
1641
  };
831
1642
  } | {
832
- name: string;
833
- in: string;
834
- schema: {
835
- type: string;
836
- minimum: number;
837
- maximum?: undefined;
1643
+ readonly name: "cursor";
1644
+ readonly in: "query";
1645
+ readonly schema: {
1646
+ readonly type: "integer";
1647
+ readonly minimum: 0;
1648
+ readonly maximum: 100000;
1649
+ };
1650
+ } | {
1651
+ readonly name: "view";
1652
+ readonly in: "query";
1653
+ readonly description: "Use identity for a metadata-only projection that omits instruction content, paths, outputs, and private profile fields.";
1654
+ readonly schema: {
1655
+ readonly type: "string";
1656
+ readonly enum: readonly ["identity"];
838
1657
  };
839
1658
  })[];
840
1659
  responses: {
@@ -842,7 +1661,9 @@ export declare function buildV1OpenApiDocument(version?: string): {
842
1661
  content: {
843
1662
  "application/json": {
844
1663
  schema: {
845
- $ref: string;
1664
+ oneOf: {
1665
+ $ref: string;
1666
+ }[];
846
1667
  };
847
1668
  };
848
1669
  };
@@ -852,6 +1673,18 @@ export declare function buildV1OpenApiDocument(version?: string): {
852
1673
  post: {
853
1674
  operationId: string;
854
1675
  summary: string;
1676
+ parameters: {
1677
+ readonly name: "Idempotency-Key";
1678
+ readonly in: "header";
1679
+ readonly required: false;
1680
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
1681
+ readonly schema: {
1682
+ readonly type: "string";
1683
+ readonly minLength: 1;
1684
+ readonly maxLength: 255;
1685
+ readonly pattern: "^[!-~]+$";
1686
+ };
1687
+ }[];
855
1688
  requestBody: {
856
1689
  required: boolean;
857
1690
  content: {
@@ -877,6 +1710,26 @@ export declare function buildV1OpenApiDocument(version?: string): {
877
1710
  };
878
1711
  };
879
1712
  };
1713
+ "409": {
1714
+ readonly description: "The Idempotency-Key was already used for a different request body.";
1715
+ readonly content: {
1716
+ readonly "application/json": {
1717
+ readonly schema: {
1718
+ readonly type: "object";
1719
+ readonly required: readonly ["error", "code"];
1720
+ readonly properties: {
1721
+ readonly error: {
1722
+ readonly type: "string";
1723
+ };
1724
+ readonly code: {
1725
+ readonly type: "string";
1726
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
1727
+ };
1728
+ };
1729
+ };
1730
+ };
1731
+ };
1732
+ };
880
1733
  };
881
1734
  };
882
1735
  };
@@ -944,14 +1797,91 @@ export declare function buildV1OpenApiDocument(version?: string): {
944
1797
  minimum: number;
945
1798
  maximum?: undefined;
946
1799
  };
947
- required?: undefined;
948
- })[];
1800
+ required?: undefined;
1801
+ })[];
1802
+ responses: {
1803
+ "200": {
1804
+ content: {
1805
+ "application/json": {
1806
+ schema: {
1807
+ $ref: string;
1808
+ };
1809
+ };
1810
+ };
1811
+ };
1812
+ };
1813
+ };
1814
+ patch: {
1815
+ operationId: string;
1816
+ summary: string;
1817
+ parameters: {
1818
+ name: string;
1819
+ in: string;
1820
+ required: boolean;
1821
+ schema: {
1822
+ type: string;
1823
+ };
1824
+ }[];
1825
+ requestBody: {
1826
+ required: boolean;
1827
+ content: {
1828
+ "application/json": {
1829
+ schema: {
1830
+ $ref: string;
1831
+ };
1832
+ };
1833
+ };
1834
+ };
1835
+ responses: {
1836
+ "200": {
1837
+ content: {
1838
+ "application/json": {
1839
+ schema: {
1840
+ type: string;
1841
+ properties: {
1842
+ profile: {
1843
+ $ref: string;
1844
+ };
1845
+ };
1846
+ };
1847
+ };
1848
+ };
1849
+ };
1850
+ };
1851
+ };
1852
+ put: {
1853
+ operationId: string;
1854
+ summary: string;
1855
+ description: string;
1856
+ parameters: {
1857
+ name: string;
1858
+ in: string;
1859
+ required: boolean;
1860
+ schema: {
1861
+ type: string;
1862
+ };
1863
+ }[];
1864
+ requestBody: {
1865
+ required: boolean;
1866
+ content: {
1867
+ "application/json": {
1868
+ schema: {
1869
+ $ref: string;
1870
+ };
1871
+ };
1872
+ };
1873
+ };
949
1874
  responses: {
950
1875
  "200": {
951
1876
  content: {
952
1877
  "application/json": {
953
1878
  schema: {
954
- $ref: string;
1879
+ type: string;
1880
+ properties: {
1881
+ profile: {
1882
+ $ref: string;
1883
+ };
1884
+ };
955
1885
  };
956
1886
  };
957
1887
  };
@@ -998,14 +1928,25 @@ export declare function buildV1OpenApiDocument(version?: string): {
998
1928
  security: {
999
1929
  apiKey: never[];
1000
1930
  }[];
1001
- parameters: {
1931
+ parameters: ({
1932
+ readonly name: "Idempotency-Key";
1933
+ readonly in: "header";
1934
+ readonly required: false;
1935
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
1936
+ readonly schema: {
1937
+ readonly type: "string";
1938
+ readonly minLength: 1;
1939
+ readonly maxLength: 255;
1940
+ readonly pattern: "^[!-~]+$";
1941
+ };
1942
+ } | {
1002
1943
  name: string;
1003
1944
  in: string;
1004
1945
  required: boolean;
1005
1946
  schema: {
1006
1947
  type: string;
1007
1948
  };
1008
- }[];
1949
+ })[];
1009
1950
  requestBody: {
1010
1951
  required: boolean;
1011
1952
  content: {
@@ -1026,6 +1967,26 @@ export declare function buildV1OpenApiDocument(version?: string): {
1026
1967
  };
1027
1968
  };
1028
1969
  };
1970
+ "409": {
1971
+ readonly description: "The Idempotency-Key was already used for a different request body.";
1972
+ readonly content: {
1973
+ readonly "application/json": {
1974
+ readonly schema: {
1975
+ readonly type: "object";
1976
+ readonly required: readonly ["error", "code"];
1977
+ readonly properties: {
1978
+ readonly error: {
1979
+ readonly type: "string";
1980
+ };
1981
+ readonly code: {
1982
+ readonly type: "string";
1983
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
1984
+ };
1985
+ };
1986
+ };
1987
+ };
1988
+ };
1989
+ };
1029
1990
  };
1030
1991
  };
1031
1992
  };
@@ -1036,14 +1997,25 @@ export declare function buildV1OpenApiDocument(version?: string): {
1036
1997
  security: {
1037
1998
  apiKey: never[];
1038
1999
  }[];
1039
- parameters: {
2000
+ parameters: ({
2001
+ readonly name: "Idempotency-Key";
2002
+ readonly in: "header";
2003
+ readonly required: false;
2004
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
2005
+ readonly schema: {
2006
+ readonly type: "string";
2007
+ readonly minLength: 1;
2008
+ readonly maxLength: 255;
2009
+ readonly pattern: "^[!-~]+$";
2010
+ };
2011
+ } | {
1040
2012
  name: string;
1041
2013
  in: string;
1042
2014
  required: boolean;
1043
2015
  schema: {
1044
2016
  type: string;
1045
2017
  };
1046
- }[];
2018
+ })[];
1047
2019
  requestBody: {
1048
2020
  required: boolean;
1049
2021
  content: {
@@ -1075,6 +2047,26 @@ export declare function buildV1OpenApiDocument(version?: string): {
1075
2047
  };
1076
2048
  };
1077
2049
  };
2050
+ "409": {
2051
+ readonly description: "The Idempotency-Key was already used for a different request body.";
2052
+ readonly content: {
2053
+ readonly "application/json": {
2054
+ readonly schema: {
2055
+ readonly type: "object";
2056
+ readonly required: readonly ["error", "code"];
2057
+ readonly properties: {
2058
+ readonly error: {
2059
+ readonly type: "string";
2060
+ };
2061
+ readonly code: {
2062
+ readonly type: "string";
2063
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
2064
+ };
2065
+ };
2066
+ };
2067
+ };
2068
+ };
2069
+ };
1078
2070
  };
1079
2071
  };
1080
2072
  delete: {
@@ -1109,28 +2101,36 @@ export declare function buildV1OpenApiDocument(version?: string): {
1109
2101
  get: {
1110
2102
  operationId: string;
1111
2103
  summary: string;
1112
- parameters: {
2104
+ parameters: ({
2105
+ readonly name: "limit";
2106
+ readonly in: "query";
2107
+ readonly schema: {
2108
+ readonly type: "integer";
2109
+ readonly minimum: 1;
2110
+ readonly maximum: 100;
2111
+ };
2112
+ } | {
2113
+ readonly name: "cursor";
2114
+ readonly in: "query";
2115
+ readonly schema: {
2116
+ readonly type: "integer";
2117
+ readonly minimum: 0;
2118
+ readonly maximum: 100000;
2119
+ };
2120
+ } | {
1113
2121
  name: string;
1114
2122
  in: string;
1115
2123
  required: boolean;
1116
2124
  schema: {
1117
2125
  type: string;
1118
2126
  };
1119
- }[];
2127
+ })[];
1120
2128
  responses: {
1121
2129
  "200": {
1122
2130
  content: {
1123
2131
  "application/json": {
1124
2132
  schema: {
1125
- type: string;
1126
- properties: {
1127
- bindings: {
1128
- type: string;
1129
- items: {
1130
- $ref: string;
1131
- };
1132
- };
1133
- };
2133
+ $ref: string;
1134
2134
  };
1135
2135
  };
1136
2136
  };
@@ -1142,28 +2142,36 @@ export declare function buildV1OpenApiDocument(version?: string): {
1142
2142
  get: {
1143
2143
  operationId: string;
1144
2144
  summary: string;
1145
- parameters: {
2145
+ parameters: ({
2146
+ readonly name: "limit";
2147
+ readonly in: "query";
2148
+ readonly schema: {
2149
+ readonly type: "integer";
2150
+ readonly minimum: 1;
2151
+ readonly maximum: 100;
2152
+ };
2153
+ } | {
2154
+ readonly name: "cursor";
2155
+ readonly in: "query";
2156
+ readonly schema: {
2157
+ readonly type: "integer";
2158
+ readonly minimum: 0;
2159
+ readonly maximum: 100000;
2160
+ };
2161
+ } | {
1146
2162
  name: string;
1147
2163
  in: string;
1148
2164
  required: boolean;
1149
2165
  schema: {
1150
2166
  type: string;
1151
2167
  };
1152
- }[];
2168
+ })[];
1153
2169
  responses: {
1154
2170
  "200": {
1155
2171
  content: {
1156
2172
  "application/json": {
1157
2173
  schema: {
1158
- type: string;
1159
- properties: {
1160
- assets: {
1161
- type: string;
1162
- items: {
1163
- $ref: string;
1164
- };
1165
- };
1166
- };
2174
+ $ref: string;
1167
2175
  };
1168
2176
  };
1169
2177
  };
@@ -1176,14 +2184,25 @@ export declare function buildV1OpenApiDocument(version?: string): {
1176
2184
  security: {
1177
2185
  apiKey: never[];
1178
2186
  }[];
1179
- parameters: {
2187
+ parameters: ({
2188
+ readonly name: "Idempotency-Key";
2189
+ readonly in: "header";
2190
+ readonly required: false;
2191
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
2192
+ readonly schema: {
2193
+ readonly type: "string";
2194
+ readonly minLength: 1;
2195
+ readonly maxLength: 255;
2196
+ readonly pattern: "^[!-~]+$";
2197
+ };
2198
+ } | {
1180
2199
  name: string;
1181
2200
  in: string;
1182
2201
  required: boolean;
1183
2202
  schema: {
1184
2203
  type: string;
1185
2204
  };
1186
- }[];
2205
+ })[];
1187
2206
  requestBody: {
1188
2207
  required: boolean;
1189
2208
  content: {
@@ -1209,6 +2228,26 @@ export declare function buildV1OpenApiDocument(version?: string): {
1209
2228
  };
1210
2229
  };
1211
2230
  };
2231
+ "409": {
2232
+ readonly description: "The Idempotency-Key was already used for a different request body.";
2233
+ readonly content: {
2234
+ readonly "application/json": {
2235
+ readonly schema: {
2236
+ readonly type: "object";
2237
+ readonly required: readonly ["error", "code"];
2238
+ readonly properties: {
2239
+ readonly error: {
2240
+ readonly type: "string";
2241
+ };
2242
+ readonly code: {
2243
+ readonly type: "string";
2244
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
2245
+ };
2246
+ };
2247
+ };
2248
+ };
2249
+ };
2250
+ };
1212
2251
  };
1213
2252
  };
1214
2253
  };
@@ -1219,14 +2258,25 @@ export declare function buildV1OpenApiDocument(version?: string): {
1219
2258
  security: {
1220
2259
  apiKey: never[];
1221
2260
  }[];
1222
- parameters: {
2261
+ parameters: ({
2262
+ readonly name: "Idempotency-Key";
2263
+ readonly in: "header";
2264
+ readonly required: false;
2265
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
2266
+ readonly schema: {
2267
+ readonly type: "string";
2268
+ readonly minLength: 1;
2269
+ readonly maxLength: 255;
2270
+ readonly pattern: "^[!-~]+$";
2271
+ };
2272
+ } | {
1223
2273
  name: string;
1224
2274
  in: string;
1225
2275
  required: boolean;
1226
2276
  schema: {
1227
2277
  type: string;
1228
2278
  };
1229
- }[];
2279
+ })[];
1230
2280
  requestBody: {
1231
2281
  required: boolean;
1232
2282
  content: {
@@ -1258,6 +2308,26 @@ export declare function buildV1OpenApiDocument(version?: string): {
1258
2308
  };
1259
2309
  };
1260
2310
  };
2311
+ "409": {
2312
+ readonly description: "The Idempotency-Key was already used for a different request body.";
2313
+ readonly content: {
2314
+ readonly "application/json": {
2315
+ readonly schema: {
2316
+ readonly type: "object";
2317
+ readonly required: readonly ["error", "code"];
2318
+ readonly properties: {
2319
+ readonly error: {
2320
+ readonly type: "string";
2321
+ };
2322
+ readonly code: {
2323
+ readonly type: "string";
2324
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
2325
+ };
2326
+ };
2327
+ };
2328
+ };
2329
+ };
2330
+ };
1261
2331
  };
1262
2332
  };
1263
2333
  delete: {
@@ -1293,6 +2363,222 @@ export declare function buildV1OpenApiDocument(version?: string): {
1293
2363
  };
1294
2364
  };
1295
2365
  };
2366
+ "/v1/snapshots/{id}": {
2367
+ get: {
2368
+ operationId: string;
2369
+ summary: string;
2370
+ parameters: {
2371
+ name: string;
2372
+ in: string;
2373
+ required: boolean;
2374
+ schema: {
2375
+ type: string;
2376
+ };
2377
+ }[];
2378
+ responses: {
2379
+ "200": {
2380
+ content: {
2381
+ "application/json": {
2382
+ schema: {
2383
+ type: string;
2384
+ properties: {
2385
+ snapshot: {
2386
+ $ref: string;
2387
+ };
2388
+ };
2389
+ };
2390
+ };
2391
+ };
2392
+ };
2393
+ };
2394
+ };
2395
+ };
2396
+ "/v1/machines/applied": {
2397
+ post: {
2398
+ operationId: string;
2399
+ summary: string;
2400
+ requestBody: {
2401
+ required: boolean;
2402
+ content: {
2403
+ "application/json": {
2404
+ schema: {
2405
+ $ref: string;
2406
+ };
2407
+ };
2408
+ };
2409
+ };
2410
+ responses: {
2411
+ "200": {
2412
+ content: {
2413
+ "application/json": {
2414
+ schema: {
2415
+ type: string;
2416
+ required: string[];
2417
+ properties: {
2418
+ updated: {
2419
+ type: string;
2420
+ const: boolean;
2421
+ };
2422
+ };
2423
+ };
2424
+ };
2425
+ };
2426
+ };
2427
+ };
2428
+ };
2429
+ };
2430
+ "/v1/machines": {
2431
+ get: {
2432
+ operationId: string;
2433
+ summary: string;
2434
+ parameters: ({
2435
+ readonly name: "limit";
2436
+ readonly in: "query";
2437
+ readonly schema: {
2438
+ readonly type: "integer";
2439
+ readonly minimum: 1;
2440
+ readonly maximum: 100;
2441
+ };
2442
+ } | {
2443
+ readonly name: "cursor";
2444
+ readonly in: "query";
2445
+ readonly schema: {
2446
+ readonly type: "integer";
2447
+ readonly minimum: 0;
2448
+ readonly maximum: 100000;
2449
+ };
2450
+ } | {
2451
+ readonly name: "view";
2452
+ readonly in: "query";
2453
+ readonly description: "Use identity for a metadata-only projection that omits instruction content, paths, outputs, and private profile fields.";
2454
+ readonly schema: {
2455
+ readonly type: "string";
2456
+ readonly enum: readonly ["identity"];
2457
+ };
2458
+ })[];
2459
+ responses: {
2460
+ "200": {
2461
+ content: {
2462
+ "application/json": {
2463
+ schema: {
2464
+ $ref: string;
2465
+ };
2466
+ };
2467
+ };
2468
+ };
2469
+ };
2470
+ };
2471
+ post: {
2472
+ operationId: string;
2473
+ summary: string;
2474
+ parameters: {
2475
+ readonly name: "Idempotency-Key";
2476
+ readonly in: "header";
2477
+ readonly required: false;
2478
+ readonly description: "Optional visible-ASCII request key (1-255 characters). Replays the first committed response for the same authenticated principal, operation, and canonical JSON body; reuse with a different body returns 409.";
2479
+ readonly schema: {
2480
+ readonly type: "string";
2481
+ readonly minLength: 1;
2482
+ readonly maxLength: 255;
2483
+ readonly pattern: "^[!-~]+$";
2484
+ };
2485
+ }[];
2486
+ requestBody: {
2487
+ required: boolean;
2488
+ content: {
2489
+ "application/json": {
2490
+ schema: {
2491
+ type: string;
2492
+ required: string[];
2493
+ properties: {
2494
+ hostname: {
2495
+ type: string;
2496
+ };
2497
+ os: {
2498
+ type: string;
2499
+ nullable: boolean;
2500
+ };
2501
+ arch: {
2502
+ type: string;
2503
+ nullable: boolean;
2504
+ };
2505
+ };
2506
+ };
2507
+ };
2508
+ };
2509
+ };
2510
+ responses: {
2511
+ "201": {
2512
+ content: {
2513
+ "application/json": {
2514
+ schema: {
2515
+ type: string;
2516
+ properties: {
2517
+ machine: {
2518
+ $ref: string;
2519
+ };
2520
+ };
2521
+ };
2522
+ };
2523
+ };
2524
+ };
2525
+ "409": {
2526
+ readonly description: "The Idempotency-Key was already used for a different request body.";
2527
+ readonly content: {
2528
+ readonly "application/json": {
2529
+ readonly schema: {
2530
+ readonly type: "object";
2531
+ readonly required: readonly ["error", "code"];
2532
+ readonly properties: {
2533
+ readonly error: {
2534
+ readonly type: "string";
2535
+ };
2536
+ readonly code: {
2537
+ readonly type: "string";
2538
+ readonly const: "IDEMPOTENCY_KEY_REUSED";
2539
+ };
2540
+ };
2541
+ };
2542
+ };
2543
+ };
2544
+ };
2545
+ };
2546
+ };
2547
+ };
2548
+ "/v1/feedback": {
2549
+ post: {
2550
+ operationId: string;
2551
+ summary: string;
2552
+ requestBody: {
2553
+ required: boolean;
2554
+ content: {
2555
+ "application/json": {
2556
+ schema: {
2557
+ $ref: string;
2558
+ };
2559
+ };
2560
+ };
2561
+ };
2562
+ responses: {
2563
+ "201": {
2564
+ content: {
2565
+ "application/json": {
2566
+ schema: {
2567
+ type: string;
2568
+ required: string[];
2569
+ properties: {
2570
+ ok: {
2571
+ type: string;
2572
+ const: boolean;
2573
+ };
2574
+ };
2575
+ };
2576
+ };
2577
+ };
2578
+ };
2579
+ };
2580
+ };
2581
+ };
1296
2582
  "/v1/stats": {
1297
2583
  get: {
1298
2584
  operationId: string;