@liquidmetal-ai/drizzle 0.4.11 → 0.4.13

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 (37) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/appify/build.d.ts +8 -4
  3. package/dist/appify/build.d.ts.map +1 -1
  4. package/dist/appify/build.js +43 -17
  5. package/dist/appify/build.test.js +52 -14
  6. package/dist/appify/validate.d.ts.map +1 -1
  7. package/dist/appify/validate.js +1 -0
  8. package/dist/appify/validate.test.js +26 -0
  9. package/dist/liquidmetal/v1alpha1/bucket_api_pb.d.ts +206 -0
  10. package/dist/liquidmetal/v1alpha1/bucket_api_pb.d.ts.map +1 -0
  11. package/dist/liquidmetal/v1alpha1/bucket_api_pb.js +60 -0
  12. package/dist/liquidmetal/v1alpha1/catalog_pb.d.ts +193 -115
  13. package/dist/liquidmetal/v1alpha1/catalog_pb.d.ts.map +1 -1
  14. package/dist/liquidmetal/v1alpha1/catalog_pb.js +46 -22
  15. package/dist/liquidmetal/v1alpha1/rainbow_auth_pb.d.ts +46 -0
  16. package/dist/liquidmetal/v1alpha1/rainbow_auth_pb.d.ts.map +1 -1
  17. package/dist/liquidmetal/v1alpha1/rainbow_auth_pb.js +11 -1
  18. package/dist/liquidmetal/v1alpha1/search_agent_pb.d.ts +1 -1
  19. package/dist/liquidmetal/v1alpha1/search_agent_pb.js +1 -1
  20. package/dist/liquidmetal/v1alpha1/smartmemory_name_pb.d.ts +112 -0
  21. package/dist/liquidmetal/v1alpha1/smartmemory_name_pb.d.ts.map +1 -0
  22. package/dist/liquidmetal/v1alpha1/smartmemory_name_pb.js +23 -0
  23. package/package.json +3 -3
  24. package/src/appify/build.test.ts +60 -14
  25. package/src/appify/build.ts +48 -17
  26. package/src/appify/validate.test.ts +27 -0
  27. package/src/appify/validate.ts +1 -0
  28. package/src/liquidmetal/v1alpha1/bucket_api_pb.ts +249 -0
  29. package/src/liquidmetal/v1alpha1/catalog_pb.ts +226 -114
  30. package/src/liquidmetal/v1alpha1/rainbow_auth_pb.ts +53 -1
  31. package/src/liquidmetal/v1alpha1/search_agent_pb.ts +1 -1
  32. package/src/liquidmetal/v1alpha1/smartmemory_name_pb.ts +130 -0
  33. package/tsconfig.tsbuildinfo +1 -1
  34. package/dist/liquidmetal/v1alpha1/agent_memory_name_pb.d.ts +0 -115
  35. package/dist/liquidmetal/v1alpha1/agent_memory_name_pb.d.ts.map +0 -1
  36. package/dist/liquidmetal/v1alpha1/agent_memory_name_pb.js +0 -23
  37. package/src/liquidmetal/v1alpha1/agent_memory_name_pb.ts +0 -133
@@ -107,6 +107,27 @@ function buildName1(node: StanzaNode): [TokenString, ConfigError[]] {
107
107
  return [node.args[0], errors];
108
108
  }
109
109
 
110
+ // buildOptionalName is a helper function for parsing an optional name from a stanza
111
+ // node arguments. Returns undefined if no name is provided.
112
+ function buildOptionalName(node: StanzaNode): [TokenString | undefined, ConfigError[]] {
113
+ const errors: ConfigError[] = [];
114
+
115
+ if (node.args.length === 0) {
116
+ return [undefined, errors];
117
+ }
118
+
119
+ if (node.args.length > 1) {
120
+ errors.push({ message: 'unexpected additional args', ...node });
121
+ }
122
+
123
+ if (node.args[0]?.type !== 'string') {
124
+ errors.push({ message: 'expected string', ...node.args[0]! });
125
+ return [undefined, errors];
126
+ }
127
+
128
+ return [node.args[0], errors];
129
+ }
130
+
110
131
  // buildStanza is a helper to build different stanzas into a parent
111
132
  // object.
112
133
  function buildStanza<T>(
@@ -219,8 +240,8 @@ export function buildApplication(node: StanzaNode): [Application | undefined, Co
219
240
  case 'smartbucket':
220
241
  buildStanza(buildSmartBucket, child, app.smartBucket, errors);
221
242
  break;
222
- case 'agent_memory':
223
- buildStanza(buildAgentMemory, child, app.agentMemory, errors);
243
+ case 'smartmemory':
244
+ buildStanza(buildSmartMemory, child, app.smartMemory, errors);
224
245
  break;
225
246
  default:
226
247
  errors.push({ message: 'unexpected stanza', ...child });
@@ -476,11 +497,11 @@ function buildSmartBucket(stanza: StanzaNode): [SmartBucket, ConfigError[]] {
476
497
  return [smartBucket, errors];
477
498
  }
478
499
 
479
- function buildAgentMemory(stanza: StanzaNode): [AgentMemory, ConfigError[]] {
500
+ function buildSmartMemory(stanza: StanzaNode): [SmartMemory, ConfigError[]] {
480
501
  const errors: ConfigError[] = [];
481
502
  const [name, nameErrors] = buildName1(stanza);
482
503
  errors.push(...nameErrors);
483
- const agentMemory = new AgentMemory(name, stanza);
504
+ const smartMemory = new SmartMemory(name, stanza);
484
505
  for (const child of stanza.block?.children ?? []) {
485
506
  switch (child.type) {
486
507
  case 'comment':
@@ -490,7 +511,7 @@ function buildAgentMemory(stanza: StanzaNode): [AgentMemory, ConfigError[]] {
490
511
  errors.push({ message: `unexpected ${child.type}`, ...child });
491
512
  }
492
513
  }
493
- return [agentMemory, errors];
514
+ return [smartMemory, errors];
494
515
  }
495
516
 
496
517
  function buildObserver(stanza: StanzaNode): [Observer, ConfigError[]] {
@@ -547,6 +568,12 @@ function buildActor(stanza: StanzaNode): [Actor, ConfigError[]] {
547
568
  switch (child.type) {
548
569
  case 'stanza':
549
570
  switch (child.name) {
571
+ case 'route':
572
+ buildStanza(buildRoute, child, actor.routes, errors);
573
+ break;
574
+ case 'domain':
575
+ buildStanza(buildDomain, child, actor.domains, errors);
576
+ break;
550
577
  case 'binding':
551
578
  buildStanza(buildBinding, child, actor.bindings, errors);
552
579
  break;
@@ -686,10 +713,9 @@ function buildSource(stanza: StanzaNode): [Source, ConfigError[]] {
686
713
 
687
714
  function buildRoute(stanza: StanzaNode): [Route | undefined, ConfigError[]] {
688
715
  const errors: ConfigError[] = [];
689
- if (stanza.args.length > 0) {
690
- errors.push({ message: 'unexpected arguments/names', ...stanza });
691
- }
692
- const route = new Route(stanza);
716
+ const [name, nameErrors] = buildOptionalName(stanza);
717
+ errors.push(...nameErrors);
718
+ const route = new Route(stanza, name);
693
719
  for (const child of stanza.block?.children ?? []) {
694
720
  if (child.type === 'assignment') {
695
721
  switch (child.key.value) {
@@ -718,10 +744,9 @@ function buildRoute(stanza: StanzaNode): [Route | undefined, ConfigError[]] {
718
744
 
719
745
  function buildDomain(stanza: StanzaNode): [Domain, ConfigError[]] {
720
746
  const errors: ConfigError[] = [];
721
- if (stanza.args.length > 0) {
722
- errors.push({ message: 'unexpected arguments/names', ...stanza });
723
- }
724
- const domain = new Domain(stanza);
747
+ const [name, nameErrors] = buildOptionalName(stanza);
748
+ errors.push(...nameErrors);
749
+ const domain = new Domain(stanza, name);
725
750
  for (const child of stanza.block?.children ?? []) {
726
751
  if (child.type === 'assignment') {
727
752
  switch (child.key.value) {
@@ -798,7 +823,7 @@ export class Application {
798
823
  vectorIndex: VectorIndex[] = [];
799
824
  kvStore: KvStore[] = [];
800
825
  smartBucket: SmartBucket[] = [];
801
- agentMemory: AgentMemory[] = [];
826
+ smartMemory: SmartMemory[] = [];
802
827
  labels: Record<string, string> = {};
803
828
 
804
829
  constructor(name: TokenString, obj: ConfigObject) {
@@ -831,6 +856,8 @@ export class Service {
831
856
  export class Actor {
832
857
  obj: ConfigObject;
833
858
  name: TokenString;
859
+ routes: Route[] = [];
860
+ domains: Domain[] = [];
834
861
  bindings: Binding[] = [];
835
862
  env: Env[] = [];
836
863
  visibility?: TokenString;
@@ -901,23 +928,27 @@ export class Rule {
901
928
 
902
929
  export class Route {
903
930
  obj: ConfigObject;
931
+ name?: TokenString;
904
932
  zone?: TokenString;
905
933
  domain?: TokenString;
906
934
  cname?: TokenString;
907
935
  path?: TokenString;
908
936
 
909
- constructor(obj: ConfigObject) {
937
+ constructor(obj: ConfigObject, name?: TokenString) {
910
938
  this.obj = obj;
939
+ this.name = name;
911
940
  }
912
941
  }
913
942
 
914
943
  export class Domain {
915
944
  obj: ConfigObject;
945
+ name?: TokenString;
916
946
  cname?: TokenString;
917
947
  fqdn?: TokenString;
918
948
 
919
- constructor(obj: ConfigObject) {
949
+ constructor(obj: ConfigObject, name?: TokenString) {
920
950
  this.obj = obj;
951
+ this.name = name;
921
952
  }
922
953
  }
923
954
 
@@ -1013,7 +1044,7 @@ export class SmartBucket {
1013
1044
  }
1014
1045
  }
1015
1046
 
1016
- export class AgentMemory {
1047
+ export class SmartMemory {
1017
1048
  name: TokenString;
1018
1049
  obj: ConfigObject;
1019
1050
 
@@ -86,6 +86,33 @@ application "my-app" {
86
86
  ]);
87
87
  });
88
88
 
89
+ test('domainValidator works for actors', async () => {
90
+ const manifest = `
91
+ application "my-app" {
92
+ actor "my-actor" {
93
+ domain {
94
+ fqdn = "not-valid.com_foo"
95
+ }
96
+ }
97
+ }
98
+ `;
99
+ const tokenizer = new Tokenizer(manifest);
100
+ const parser = new Parser(tokenizer);
101
+ const parsedManifest = parser.parse();
102
+ const [builtApps] = buildManifest(parsedManifest);
103
+ const validateErrors = await validate(builtApps, VALIDATORS);
104
+ expect(validateErrors).toMatchObject([
105
+ {
106
+ message: 'domain "not-valid.com_foo" is an invalid domain name',
107
+ line: 4,
108
+ column: 5,
109
+ start: 49,
110
+ end: 96,
111
+ severity: 'error',
112
+ },
113
+ ]);
114
+ });
115
+
89
116
  test('domainValidator ensures domain.fqdn is valid but ignores variable interpolation', async () => {
90
117
  const manifest = `
91
118
  application "my-app" {
@@ -89,6 +89,7 @@ async function validateActors(app: Application, validator: Validator, errors: Va
89
89
  for (const actor of app.actor) {
90
90
  await validateHelper(validator.onActor, app, actor, errors);
91
91
  await validateBindings(app, actor, validator, errors);
92
+ await validateDomains(app, actor, validator, errors);
92
93
  await validateEnvs(app, actor, validator, errors);
93
94
  }
94
95
  }
@@ -0,0 +1,249 @@
1
+ // @generated by protoc-gen-es v2.2.5 with parameter "target=ts,import_extension=.js"
2
+ // @generated from file liquidmetal/v1alpha1/bucket_api.proto (package liquidmetal.v1alpha1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
6
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
7
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
8
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
9
+ import type { Message } from "@bufbuild/protobuf";
10
+
11
+ /**
12
+ * Describes the file liquidmetal/v1alpha1/bucket_api.proto.
13
+ */
14
+ export const file_liquidmetal_v1alpha1_bucket_api: GenFile = /*@__PURE__*/
15
+ fileDesc("CiVsaXF1aWRtZXRhbC92MWFscGhhMS9idWNrZXRfYXBpLnByb3RvEhRsaXF1aWRtZXRhbC52MWFscGhhMSK4AQoMUzNDcmVkZW50aWFsEhIKCmFjY2Vzc19rZXkYASABKAkSEgoKc2VjcmV0X2tleRgCIAEoCRIMCgRuYW1lGAMgASgJEi4KCmNyZWF0ZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCmV4cGlyZXNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQiGAoWTGlzdENyZWRlbnRpYWxzUmVxdWVzdCJSChdMaXN0Q3JlZGVudGlhbHNSZXNwb25zZRI3CgtjcmVkZW50aWFscxgBIAMoCzIiLmxpcXVpZG1ldGFsLnYxYWxwaGExLlMzQ3JlZGVudGlhbCJrChdDcmVhdGVDcmVkZW50aWFsUmVxdWVzdBIMCgRuYW1lGAEgASgJEjMKCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCDQoLX2V4cGlyZXNfYXQiUgoYQ3JlYXRlQ3JlZGVudGlhbFJlc3BvbnNlEjYKCmNyZWRlbnRpYWwYASABKAsyIi5saXF1aWRtZXRhbC52MWFscGhhMS5TM0NyZWRlbnRpYWwiKgoUR2V0Q3JlZGVudGlhbFJlcXVlc3QSEgoKYWNjZXNzX2tleRgBIAEoCSJPChVHZXRDcmVkZW50aWFsUmVzcG9uc2USNgoKY3JlZGVudGlhbBgBIAEoCzIiLmxpcXVpZG1ldGFsLnYxYWxwaGExLlMzQ3JlZGVudGlhbCItChdEZWxldGVDcmVkZW50aWFsUmVxdWVzdBISCgphY2Nlc3Nfa2V5GAEgASgJIisKGERlbGV0ZUNyZWRlbnRpYWxSZXNwb25zZRIPCgdkZWxldGVkGAEgASgIMtUDChNTM0NyZWRlbnRpYWxTZXJ2aWNlEm4KD0xpc3RDcmVkZW50aWFscxIsLmxpcXVpZG1ldGFsLnYxYWxwaGExLkxpc3RDcmVkZW50aWFsc1JlcXVlc3QaLS5saXF1aWRtZXRhbC52MWFscGhhMS5MaXN0Q3JlZGVudGlhbHNSZXNwb25zZRJxChBDcmVhdGVDcmVkZW50aWFsEi0ubGlxdWlkbWV0YWwudjFhbHBoYTEuQ3JlYXRlQ3JlZGVudGlhbFJlcXVlc3QaLi5saXF1aWRtZXRhbC52MWFscGhhMS5DcmVhdGVDcmVkZW50aWFsUmVzcG9uc2USaAoNR2V0Q3JlZGVudGlhbBIqLmxpcXVpZG1ldGFsLnYxYWxwaGExLkdldENyZWRlbnRpYWxSZXF1ZXN0GisubGlxdWlkbWV0YWwudjFhbHBoYTEuR2V0Q3JlZGVudGlhbFJlc3BvbnNlEnEKEERlbGV0ZUNyZWRlbnRpYWwSLS5saXF1aWRtZXRhbC52MWFscGhhMS5EZWxldGVDcmVkZW50aWFsUmVxdWVzdBouLmxpcXVpZG1ldGFsLnYxYWxwaGExLkRlbGV0ZUNyZWRlbnRpYWxSZXNwb25zZULpAQoYY29tLmxpcXVpZG1ldGFsLnYxYWxwaGExQg5CdWNrZXRBcGlQcm90b1ABWkxnaXRodWIuY29tL2xpcXVpZG1ldGFsLWFpL3Byb3RvZ2VuMi9saXF1aWRtZXRhbC92MWFscGhhMTtsaXF1aWRtZXRhbHYxYWxwaGExogIDTFhYqgIUTGlxdWlkbWV0YWwuVjFhbHBoYTHKAhRMaXF1aWRtZXRhbFxWMWFscGhhMeICIExpcXVpZG1ldGFsXFYxYWxwaGExXEdQQk1ldGFkYXRh6gIVTGlxdWlkbWV0YWw6OlYxYWxwaGExYgZwcm90bzM", [file_google_protobuf_timestamp]);
16
+
17
+ /**
18
+ * S3 credential record
19
+ *
20
+ * @generated from message liquidmetal.v1alpha1.S3Credential
21
+ */
22
+ export type S3Credential = Message<"liquidmetal.v1alpha1.S3Credential"> & {
23
+ /**
24
+ * @generated from field: string access_key = 1;
25
+ */
26
+ accessKey: string;
27
+
28
+ /**
29
+ * @generated from field: string secret_key = 2;
30
+ */
31
+ secretKey: string;
32
+
33
+ /**
34
+ * @generated from field: string name = 3;
35
+ */
36
+ name: string;
37
+
38
+ /**
39
+ * @generated from field: google.protobuf.Timestamp created_at = 4;
40
+ */
41
+ createdAt?: Timestamp;
42
+
43
+ /**
44
+ * @generated from field: optional google.protobuf.Timestamp expires_at = 5;
45
+ */
46
+ expiresAt?: Timestamp;
47
+ };
48
+
49
+ /**
50
+ * Describes the message liquidmetal.v1alpha1.S3Credential.
51
+ * Use `create(S3CredentialSchema)` to create a new message.
52
+ */
53
+ export const S3CredentialSchema: GenMessage<S3Credential> = /*@__PURE__*/
54
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 0);
55
+
56
+ /**
57
+ * List credentials request
58
+ *
59
+ * @generated from message liquidmetal.v1alpha1.ListCredentialsRequest
60
+ */
61
+ export type ListCredentialsRequest = Message<"liquidmetal.v1alpha1.ListCredentialsRequest"> & {
62
+ };
63
+
64
+ /**
65
+ * Describes the message liquidmetal.v1alpha1.ListCredentialsRequest.
66
+ * Use `create(ListCredentialsRequestSchema)` to create a new message.
67
+ */
68
+ export const ListCredentialsRequestSchema: GenMessage<ListCredentialsRequest> = /*@__PURE__*/
69
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 1);
70
+
71
+ /**
72
+ * List credentials response
73
+ *
74
+ * @generated from message liquidmetal.v1alpha1.ListCredentialsResponse
75
+ */
76
+ export type ListCredentialsResponse = Message<"liquidmetal.v1alpha1.ListCredentialsResponse"> & {
77
+ /**
78
+ * @generated from field: repeated liquidmetal.v1alpha1.S3Credential credentials = 1;
79
+ */
80
+ credentials: S3Credential[];
81
+ };
82
+
83
+ /**
84
+ * Describes the message liquidmetal.v1alpha1.ListCredentialsResponse.
85
+ * Use `create(ListCredentialsResponseSchema)` to create a new message.
86
+ */
87
+ export const ListCredentialsResponseSchema: GenMessage<ListCredentialsResponse> = /*@__PURE__*/
88
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 2);
89
+
90
+ /**
91
+ * Create credential request
92
+ *
93
+ * @generated from message liquidmetal.v1alpha1.CreateCredentialRequest
94
+ */
95
+ export type CreateCredentialRequest = Message<"liquidmetal.v1alpha1.CreateCredentialRequest"> & {
96
+ /**
97
+ * @generated from field: string name = 1;
98
+ */
99
+ name: string;
100
+
101
+ /**
102
+ * @generated from field: optional google.protobuf.Timestamp expires_at = 2;
103
+ */
104
+ expiresAt?: Timestamp;
105
+ };
106
+
107
+ /**
108
+ * Describes the message liquidmetal.v1alpha1.CreateCredentialRequest.
109
+ * Use `create(CreateCredentialRequestSchema)` to create a new message.
110
+ */
111
+ export const CreateCredentialRequestSchema: GenMessage<CreateCredentialRequest> = /*@__PURE__*/
112
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 3);
113
+
114
+ /**
115
+ * Create credential response
116
+ *
117
+ * @generated from message liquidmetal.v1alpha1.CreateCredentialResponse
118
+ */
119
+ export type CreateCredentialResponse = Message<"liquidmetal.v1alpha1.CreateCredentialResponse"> & {
120
+ /**
121
+ * @generated from field: liquidmetal.v1alpha1.S3Credential credential = 1;
122
+ */
123
+ credential?: S3Credential;
124
+ };
125
+
126
+ /**
127
+ * Describes the message liquidmetal.v1alpha1.CreateCredentialResponse.
128
+ * Use `create(CreateCredentialResponseSchema)` to create a new message.
129
+ */
130
+ export const CreateCredentialResponseSchema: GenMessage<CreateCredentialResponse> = /*@__PURE__*/
131
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 4);
132
+
133
+ /**
134
+ * Get credential request
135
+ *
136
+ * @generated from message liquidmetal.v1alpha1.GetCredentialRequest
137
+ */
138
+ export type GetCredentialRequest = Message<"liquidmetal.v1alpha1.GetCredentialRequest"> & {
139
+ /**
140
+ * @generated from field: string access_key = 1;
141
+ */
142
+ accessKey: string;
143
+ };
144
+
145
+ /**
146
+ * Describes the message liquidmetal.v1alpha1.GetCredentialRequest.
147
+ * Use `create(GetCredentialRequestSchema)` to create a new message.
148
+ */
149
+ export const GetCredentialRequestSchema: GenMessage<GetCredentialRequest> = /*@__PURE__*/
150
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 5);
151
+
152
+ /**
153
+ * Get credential response
154
+ *
155
+ * @generated from message liquidmetal.v1alpha1.GetCredentialResponse
156
+ */
157
+ export type GetCredentialResponse = Message<"liquidmetal.v1alpha1.GetCredentialResponse"> & {
158
+ /**
159
+ * @generated from field: liquidmetal.v1alpha1.S3Credential credential = 1;
160
+ */
161
+ credential?: S3Credential;
162
+ };
163
+
164
+ /**
165
+ * Describes the message liquidmetal.v1alpha1.GetCredentialResponse.
166
+ * Use `create(GetCredentialResponseSchema)` to create a new message.
167
+ */
168
+ export const GetCredentialResponseSchema: GenMessage<GetCredentialResponse> = /*@__PURE__*/
169
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 6);
170
+
171
+ /**
172
+ * Delete credential request
173
+ *
174
+ * @generated from message liquidmetal.v1alpha1.DeleteCredentialRequest
175
+ */
176
+ export type DeleteCredentialRequest = Message<"liquidmetal.v1alpha1.DeleteCredentialRequest"> & {
177
+ /**
178
+ * @generated from field: string access_key = 1;
179
+ */
180
+ accessKey: string;
181
+ };
182
+
183
+ /**
184
+ * Describes the message liquidmetal.v1alpha1.DeleteCredentialRequest.
185
+ * Use `create(DeleteCredentialRequestSchema)` to create a new message.
186
+ */
187
+ export const DeleteCredentialRequestSchema: GenMessage<DeleteCredentialRequest> = /*@__PURE__*/
188
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 7);
189
+
190
+ /**
191
+ * Delete credential response
192
+ *
193
+ * @generated from message liquidmetal.v1alpha1.DeleteCredentialResponse
194
+ */
195
+ export type DeleteCredentialResponse = Message<"liquidmetal.v1alpha1.DeleteCredentialResponse"> & {
196
+ /**
197
+ * @generated from field: bool deleted = 1;
198
+ */
199
+ deleted: boolean;
200
+ };
201
+
202
+ /**
203
+ * Describes the message liquidmetal.v1alpha1.DeleteCredentialResponse.
204
+ * Use `create(DeleteCredentialResponseSchema)` to create a new message.
205
+ */
206
+ export const DeleteCredentialResponseSchema: GenMessage<DeleteCredentialResponse> = /*@__PURE__*/
207
+ messageDesc(file_liquidmetal_v1alpha1_bucket_api, 8);
208
+
209
+ /**
210
+ * S3 credential management service
211
+ *
212
+ * @generated from service liquidmetal.v1alpha1.S3CredentialService
213
+ */
214
+ export const S3CredentialService: GenService<{
215
+ /**
216
+ * @generated from rpc liquidmetal.v1alpha1.S3CredentialService.ListCredentials
217
+ */
218
+ listCredentials: {
219
+ methodKind: "unary";
220
+ input: typeof ListCredentialsRequestSchema;
221
+ output: typeof ListCredentialsResponseSchema;
222
+ },
223
+ /**
224
+ * @generated from rpc liquidmetal.v1alpha1.S3CredentialService.CreateCredential
225
+ */
226
+ createCredential: {
227
+ methodKind: "unary";
228
+ input: typeof CreateCredentialRequestSchema;
229
+ output: typeof CreateCredentialResponseSchema;
230
+ },
231
+ /**
232
+ * @generated from rpc liquidmetal.v1alpha1.S3CredentialService.GetCredential
233
+ */
234
+ getCredential: {
235
+ methodKind: "unary";
236
+ input: typeof GetCredentialRequestSchema;
237
+ output: typeof GetCredentialResponseSchema;
238
+ },
239
+ /**
240
+ * @generated from rpc liquidmetal.v1alpha1.S3CredentialService.DeleteCredential
241
+ */
242
+ deleteCredential: {
243
+ methodKind: "unary";
244
+ input: typeof DeleteCredentialRequestSchema;
245
+ output: typeof DeleteCredentialResponseSchema;
246
+ },
247
+ }> = /*@__PURE__*/
248
+ serviceDesc(file_liquidmetal_v1alpha1_bucket_api, 0);
249
+