@liquidmetal-ai/raindrop 0.2.4 → 0.2.6

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 (78) hide show
  1. package/README.md +39 -39
  2. package/dist/base-command.d.ts +8 -0
  3. package/dist/base-command.d.ts.map +1 -1
  4. package/dist/base-command.js +35 -1
  5. package/dist/codegen.js +2 -2
  6. package/dist/codegen.test.js +1 -1
  7. package/dist/commands/build/branch.d.ts +5 -2
  8. package/dist/commands/build/branch.d.ts.map +1 -1
  9. package/dist/commands/build/branch.js +1 -17
  10. package/dist/commands/build/checkout.d.ts +4 -1
  11. package/dist/commands/build/checkout.d.ts.map +1 -1
  12. package/dist/commands/build/checkout.js +1 -17
  13. package/dist/commands/build/delete.d.ts +4 -1
  14. package/dist/commands/build/delete.d.ts.map +1 -1
  15. package/dist/commands/build/delete.js +1 -17
  16. package/dist/commands/build/deploy.d.ts +6 -3
  17. package/dist/commands/build/deploy.d.ts.map +1 -1
  18. package/dist/commands/build/deploy.js +1 -17
  19. package/dist/commands/build/env/get.d.ts +5 -2
  20. package/dist/commands/build/env/get.d.ts.map +1 -1
  21. package/dist/commands/build/env/get.js +1 -17
  22. package/dist/commands/build/env/set.d.ts +4 -1
  23. package/dist/commands/build/env/set.d.ts.map +1 -1
  24. package/dist/commands/build/env/set.js +1 -17
  25. package/dist/commands/build/find.d.ts +4 -1
  26. package/dist/commands/build/find.d.ts.map +1 -1
  27. package/dist/commands/build/find.js +2 -25
  28. package/dist/commands/build/list.d.ts +4 -0
  29. package/dist/commands/build/list.d.ts.map +1 -1
  30. package/dist/commands/build/list.js +10 -18
  31. package/dist/commands/build/sandbox.d.ts +5 -2
  32. package/dist/commands/build/sandbox.d.ts.map +1 -1
  33. package/dist/commands/build/sandbox.js +1 -14
  34. package/dist/commands/build/start.d.ts +4 -1
  35. package/dist/commands/build/start.d.ts.map +1 -1
  36. package/dist/commands/build/start.js +1 -17
  37. package/dist/commands/build/status.d.ts +7 -2
  38. package/dist/commands/build/status.d.ts.map +1 -1
  39. package/dist/commands/build/status.js +64 -30
  40. package/dist/commands/build/stop.d.ts +4 -1
  41. package/dist/commands/build/stop.d.ts.map +1 -1
  42. package/dist/commands/build/stop.js +2 -18
  43. package/dist/commands/build/unsandbox.d.ts +5 -2
  44. package/dist/commands/build/unsandbox.d.ts.map +1 -1
  45. package/dist/commands/build/unsandbox.js +2 -15
  46. package/dist/commands/build/upload.d.ts +4 -1
  47. package/dist/commands/build/upload.d.ts.map +1 -1
  48. package/dist/commands/build/upload.js +1 -17
  49. package/dist/commands/object/delete.d.ts +4 -0
  50. package/dist/commands/object/delete.d.ts.map +1 -1
  51. package/dist/commands/object/delete.js +1 -10
  52. package/dist/commands/object/get.d.ts +4 -0
  53. package/dist/commands/object/get.d.ts.map +1 -1
  54. package/dist/commands/object/get.js +1 -10
  55. package/dist/commands/object/list.d.ts +4 -0
  56. package/dist/commands/object/list.d.ts.map +1 -1
  57. package/dist/commands/object/list.js +2 -11
  58. package/dist/commands/object/put.d.ts +4 -0
  59. package/dist/commands/object/put.d.ts.map +1 -1
  60. package/dist/commands/object/put.js +1 -10
  61. package/dist/commands/query/chunk-search.d.ts +4 -0
  62. package/dist/commands/query/chunk-search.d.ts.map +1 -1
  63. package/dist/commands/query/chunk-search.js +1 -10
  64. package/dist/commands/query/register-retriever.d.ts +7 -2
  65. package/dist/commands/query/register-retriever.d.ts.map +1 -1
  66. package/dist/commands/query/register-retriever.js +6 -10
  67. package/dist/commands/query/search.d.ts +4 -0
  68. package/dist/commands/query/search.d.ts.map +1 -1
  69. package/dist/commands/query/search.js +1 -10
  70. package/dist/index.d.ts +12 -32
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +23 -40
  73. package/oclif.manifest.json +3411 -1129
  74. package/package.json +3 -1
  75. package/templates/handlers/{r2-event-notification → bucket-event-notification}/index.ts.hbs +5 -1
  76. package/templates/handlers/queue-consumer/index.ts.hbs +1 -1
  77. package/templates/init/package.json.hbs +1 -1
  78. /package/templates/handlers/{r2-event-notification → bucket-event-notification}/index.test.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { Args, Flags } from '@oclif/core';
1
+ import { Args } from '@oclif/core';
2
2
  import { BaseCommand } from '../../base-command.js';
3
3
  export default class RegisterRetriever extends BaseCommand {
4
4
  static args = {
@@ -10,11 +10,11 @@ export default class RegisterRetriever extends BaseCommand {
10
10
  description: 'URL endpoint for the retriever',
11
11
  required: true,
12
12
  }),
13
- delete_url: Args.string({
13
+ deleteUrl: Args.string({
14
14
  description: 'Delete endpoint for the retriever',
15
15
  required: true,
16
16
  }),
17
- bucket_name: Args.string({
17
+ bucketName: Args.string({
18
18
  description: 'Name of the bucket',
19
19
  required: true,
20
20
  }),
@@ -26,11 +26,7 @@ Register a new retriever tool.
26
26
  `,
27
27
  ];
28
28
  static flags = {
29
- raindropCatalogService: Flags.string({
30
- env: 'RAINDROP_CATALOG_SERVICE',
31
- description: 'URL of the catalog service',
32
- hidden: true,
33
- }),
29
+ ...BaseCommand.HIDDEN_FLAGS,
34
30
  };
35
31
  async run() {
36
32
  const { args } = await this.parse(RegisterRetriever);
@@ -39,8 +35,8 @@ Register a new retriever tool.
39
35
  const response = await searchAgentService.registerRetrieverTool({
40
36
  bucket: args.bucket,
41
37
  url: args.url,
42
- deleteUrl: args.delete_url,
43
- bucketName: args.bucket_name,
38
+ deleteUrl: args.deleteUrl,
39
+ bucketName: args.bucketName,
44
40
  });
45
41
  if (response?.message) {
46
42
  this.log(response.message);
@@ -11,8 +11,12 @@ export default class AgentSearch extends BaseCommand<typeof AgentSearch> {
11
11
  output: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
12
  impersonate: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  manifest: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ config: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
15
  rainbowAuthService: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
16
  raindropCatalogService: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ rainbowAuthToken: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ rainbowOrganizationId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ rainbowUserId: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
20
  };
17
21
  run(): Promise<void>;
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/query/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW,CAAC,OAAO,WAAW,CAAC;IACtE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAsE;IAExF,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;MAuCV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuE3B"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/query/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW,CAAC,OAAO,WAAW,CAAC;IACtE,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,WAAW,SAAsE;IAExF,MAAM,CAAC,QAAQ,WAOb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;MA8BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuE3B"}
@@ -18,6 +18,7 @@ Get page 2 of previous search results.
18
18
  `,
19
19
  ];
20
20
  static flags = {
21
+ ...BaseCommand.HIDDEN_FLAGS,
21
22
  requestId: Flags.string({
22
23
  description: 'request ID for pagination',
23
24
  required: false,
@@ -46,16 +47,6 @@ Get page 2 of previous search results.
46
47
  default: 'raindrop.manifest',
47
48
  hidden: true,
48
49
  }),
49
- rainbowAuthService: Flags.string({
50
- default: 'https://liquidmetal.run/api/connect',
51
- hidden: true,
52
- env: 'LIQUIDMETAL_RAINBOW_AUTH_SERVICE',
53
- }),
54
- raindropCatalogService: Flags.string({
55
- env: 'RAINDROP_CATALOG_SERVICE',
56
- description: 'URL of the catalog service',
57
- hidden: true,
58
- }),
59
50
  };
60
51
  async run() {
61
52
  const { args, flags } = await this.parse(AgentSearch);
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ServiceType } from '@bufbuild/protobuf';
1
2
  import { Interceptor, PromiseClient } from '@connectrpc/connect';
2
3
  import { Application } from '@liquidmetal-ai/drizzle/appify/build';
3
4
  import { CatalogService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/catalog_connect';
@@ -21,44 +22,23 @@ export declare function createAuthenticateInterceptor(configDir: string, rainbow
21
22
  export declare function readState(configDir: string): Promise<RaindropState>;
22
23
  export declare function replaceState(configDir: string, state: RaindropState): Promise<void>;
23
24
  export declare function ensureDirectory(dir: string): Promise<void>;
24
- export declare function catalogService({ rainbowAuth, configDir, identity, overrideAuthToken, }: {
25
- rainbowAuth: PromiseClient<typeof RainbowAuthService>;
26
- configDir: string;
27
- identity: ServiceIdentity;
28
- overrideAuthToken?: string;
29
- }): Promise<{
30
- client: PromiseClient<typeof CatalogService>;
31
- userId: string;
32
- organizationId: string;
33
- }>;
34
- export declare function searchAgentService({ rainbowAuth, configDir, identity, }: {
35
- rainbowAuth: PromiseClient<typeof RainbowAuthService>;
36
- configDir: string;
37
- identity: ServiceIdentity;
38
- }): Promise<{
39
- client: PromiseClient<typeof SearchAgentService>;
40
- userId: string;
41
- organizationId: string;
42
- }>;
43
25
  export declare function rainbowAuthService(baseUrl: string): Promise<{
44
26
  client: PromiseClient<typeof RainbowAuthService>;
45
27
  }>;
46
- export declare function rainbowPublicService({ baseUrl, configDir, rainbowAuth, }: {
47
- baseUrl: string;
48
- configDir: string;
49
- rainbowAuth: PromiseClient<typeof RainbowAuthService>;
50
- }): Promise<{
51
- client: PromiseClient<typeof RainbowPublicService>;
52
- organizationId: string;
53
- userId: string;
54
- }>;
55
- export declare function objectService({ rainbowAuth, configDir, identity, }: {
28
+ export declare function catalogService(opts: ServiceClientOptions): Promise<ServiceClient<typeof CatalogService>>;
29
+ export declare function searchAgentService(opts: ServiceClientOptions): Promise<ServiceClient<typeof SearchAgentService>>;
30
+ export declare function rainbowPublicService(opts: ServiceClientOptions): Promise<ServiceClient<typeof RainbowPublicService>>;
31
+ export declare function objectService(opts: ServiceClientOptions): Promise<ServiceClient<typeof ObjectService>>;
32
+ export type ServiceClientOptions = {
56
33
  rainbowAuth: PromiseClient<typeof RainbowAuthService>;
57
34
  configDir: string;
58
35
  identity: ServiceIdentity;
59
- }): Promise<{
60
- client: PromiseClient<typeof ObjectService>;
36
+ overrideAuthToken?: string;
37
+ };
38
+ export type ServiceClient<T extends ServiceType> = {
39
+ client: PromiseClient<T>;
61
40
  userId: string;
62
41
  organizationId: string;
63
- }>;
42
+ };
43
+ export declare function serviceClient<T extends ServiceType>(service: T, { rainbowAuth, configDir, identity, overrideAuthToken }: ServiceClientOptions): Promise<ServiceClient<T>>;
64
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ import { RaindropState } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/rain
8
8
  import { ObjectService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/resource_interface_connect';
9
9
  import { SearchAgentService } from '@liquidmetal-ai/drizzle/liquidmetal/v1alpha1/search_agent_connect';
10
10
  import { Mutex } from 'async-mutex';
11
+ import { subSeconds, isAfter } from 'date-fns';
11
12
  import * as fs from 'node:fs/promises';
12
13
  import * as path from 'node:path';
13
14
  export { run } from '@oclif/core';
@@ -40,8 +41,14 @@ async function bearerTokenAndRefresh(configDir, rainbowAuth) {
40
41
  if (!token.accessTokenExpiresAt) {
41
42
  throw new Error('accessTokenExpiresAt at not set');
42
43
  }
43
- const expiresAtBuffered = new Date(token.accessTokenExpiresAt.toDate().getTime() - 1000);
44
- if (expiresAtBuffered.getTime() < Date.now()) {
44
+ // Add 60 second buffer before expiration to ensure smooth token refresh
45
+ const EXPIRATION_BUFFER_SECONDS = 60; // 1 minute
46
+ const expirationDate = token.accessTokenExpiresAt.toDate();
47
+ const earlierExpirationDate = subSeconds(expirationDate, EXPIRATION_BUFFER_SECONDS);
48
+ const now = new Date();
49
+ // expired is true if the current time is after the earlier expiration date
50
+ const expired = isAfter(now, earlierExpirationDate);
51
+ if (expired) {
45
52
  const next = await rainbowAuth.refreshAccessToken({
46
53
  ...token,
47
54
  });
@@ -120,30 +127,6 @@ export async function ensureDirectory(dir) {
120
127
  }
121
128
  }
122
129
  }
123
- export async function catalogService({ rainbowAuth, configDir, identity, overrideAuthToken, }) {
124
- const { baseUrl, organizationId, userId } = identity;
125
- const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth, overrideAuthToken);
126
- return {
127
- client: createPromiseClient(CatalogService, createConnectTransport({
128
- baseUrl,
129
- interceptors: [authenticate],
130
- })),
131
- userId,
132
- organizationId,
133
- };
134
- }
135
- export async function searchAgentService({ rainbowAuth, configDir, identity, }) {
136
- const { baseUrl, organizationId, userId } = identity;
137
- const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth);
138
- return {
139
- client: createPromiseClient(SearchAgentService, createConnectTransport({
140
- baseUrl,
141
- interceptors: [authenticate],
142
- })),
143
- userId,
144
- organizationId,
145
- };
146
- }
147
130
  export async function rainbowAuthService(baseUrl) {
148
131
  return {
149
132
  client: createPromiseClient(RainbowAuthService, createConnectTransport({
@@ -151,23 +134,23 @@ export async function rainbowAuthService(baseUrl) {
151
134
  })),
152
135
  };
153
136
  }
154
- export async function rainbowPublicService({ baseUrl, configDir, rainbowAuth, }) {
155
- const { organizationId, userId } = await selectedOrganization(configDir);
156
- const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth);
157
- return {
158
- client: createPromiseClient(RainbowPublicService, createConnectTransport({
159
- baseUrl,
160
- interceptors: [authenticate],
161
- })),
162
- organizationId,
163
- userId,
164
- };
137
+ export async function catalogService(opts) {
138
+ return serviceClient(CatalogService, opts);
139
+ }
140
+ export async function searchAgentService(opts) {
141
+ return serviceClient(SearchAgentService, opts);
165
142
  }
166
- export async function objectService({ rainbowAuth, configDir, identity, }) {
143
+ export async function rainbowPublicService(opts) {
144
+ return serviceClient(RainbowPublicService, opts);
145
+ }
146
+ export async function objectService(opts) {
147
+ return serviceClient(ObjectService, opts);
148
+ }
149
+ export async function serviceClient(service, { rainbowAuth, configDir, identity, overrideAuthToken }) {
167
150
  const { baseUrl, organizationId, userId } = identity;
168
- const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth);
151
+ const { authenticate } = createAuthenticateInterceptor(configDir, rainbowAuth, overrideAuthToken);
169
152
  return {
170
- client: createPromiseClient(ObjectService, createConnectTransport({
153
+ client: createPromiseClient(service, createConnectTransport({
171
154
  baseUrl,
172
155
  interceptors: [authenticate],
173
156
  })),