@vicinae/api 0.16.1 → 0.16.2

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.
package/dist/api/bus.d.ts CHANGED
@@ -38,6 +38,7 @@ type EndpointMapping = {
38
38
  "app.list": "app.list";
39
39
  "app.open": "app.open";
40
40
  "app.getDefault": "app.getDefault";
41
+ "app.runInTerminal": "app.runInTerminal";
41
42
  "ui.render": "ui.render";
42
43
  "ui.showToast": "ui.showToast";
43
44
  "ui.hideToast": "ui.hideToast";
@@ -53,6 +54,7 @@ type EndpointMapping = {
53
54
  "wm.getActiveWindow": "wm.getActiveWindow";
54
55
  "wm.getActiveWorkspace": "wm.getActiveWorkspace";
55
56
  "wm.getWindows": "wm.getWindows";
57
+ "wm.getScreens": "wm.getScreens";
56
58
  "wm.getWorkspaces": "wm.getWorkspaces";
57
59
  "wm.setWindowBounds": "wm.setWindowBounds";
58
60
  "fileSearch.search": "fileSearch.search";
@@ -64,6 +66,9 @@ type EndpointMapping = {
64
66
  "storage.clear": "storage.clear";
65
67
  "storage.list": "storage.list";
66
68
  "oauth.authorize": "oauth.authorize";
69
+ "oauth.getTokens": "oauth.getTokens";
70
+ "oauth.setTokens": "oauth.setTokens";
71
+ "oauth.removeTokens": "oauth.removeTokens";
67
72
  "clipboard.copy": "clipboard.copy";
68
73
  "clipboard.paste": "clipboard.paste";
69
74
  "clipboard.readContent": "clipboard.readContent";
package/dist/api/cache.js CHANGED
@@ -77,19 +77,20 @@ class Cache {
77
77
  throw new Error(`A single cache entry cannot be bigger than the total capacity of the cache. The data for key ${key} is ${data.length} bytes long while the capacity is set to ${this.capacity}. You should either reduce the amount of data stored or increase the cache's capacity.`);
78
78
  }
79
79
  const info = this.index.keys[key];
80
- let newTotalSize = this.index.size + data.length - (info?.size ?? 0);
80
+ const newTotalSize = this.index.size + data.length - (info?.size ?? 0);
81
81
  if (newTotalSize > this.capacity) {
82
82
  this.popLRU();
83
- return this.set(key, data); // FIXME: get rid of recursion
83
+ this.set(key, data); // FIXME: get rid of recursion
84
+ return;
84
85
  }
85
86
  this.index.size = newTotalSize;
86
87
  this.index.keys[key] = { size: data.length };
87
88
  this.updateLRU(key);
89
+ this.writeKeyData(key, data);
90
+ this.syncIndex();
88
91
  for (const sub of this.subscribers) {
89
92
  sub(key, data);
90
93
  }
91
- this.writeKeyData(key, data);
92
- this.syncIndex();
93
94
  };
94
95
  /**
95
96
  * Removes the data for the given key.
@@ -1,4 +1,5 @@
1
1
  import React, { ReactNode } from "react";
2
+ import type { PathLike } from "node:fs";
2
3
  import { Clipboard } from "../clipboard";
3
4
  import { ImageLike } from "../image";
4
5
  import { Keyboard } from "../keyboard";
@@ -40,6 +41,13 @@ export type ActionPasteProps = BaseActionProps & {
40
41
  export type ActionOpenInBrowserProps = BaseActionProps & {
41
42
  url: string;
42
43
  };
44
+ export type ActionShowInFinderProps = {
45
+ path: PathLike;
46
+ icon?: ImageLike;
47
+ onShow?: (path: PathLike) => void;
48
+ shortcut?: Keyboard.Shortcut;
49
+ title?: string;
50
+ };
43
51
  export type ActionSubmitFormProps = Omit<BaseActionProps, "title"> & {
44
52
  onSubmit: (input: Form.Values) => boolean | void | Promise<boolean | void>;
45
53
  title?: string;
@@ -61,6 +69,7 @@ export declare const Action: React.FC<ActionProps> & {
61
69
  Paste: React.FC<ActionPasteProps>;
62
70
  SubmitForm: React.FC<ActionSubmitFormProps>;
63
71
  OpenInBrowser: React.FC<ActionOpenInBrowserProps>;
72
+ ShowInFinder: React.FC<ActionShowInFinderProps>;
64
73
  CreateQuicklink: React.FC<ActionCreateQuicklinkProps>;
65
74
  Style: {
66
75
  Regular: "regular";
@@ -34,6 +34,11 @@ const OpenInBrowser = ({ url, ...props }) => {
34
34
  (0, utils_1.open)(url);
35
35
  } }));
36
36
  };
37
+ const ShowInFinder = ({ path, title = "Show in Finder", ...props }) => {
38
+ return ((0, jsx_runtime_1.jsx)(ActionRoot, { ...props, title: title, onAction: () => {
39
+ (0, utils_1.showInFileBrowser)(path);
40
+ } }));
41
+ };
37
42
  const Push = ({ target, ...props }) => {
38
43
  const { push } = (0, index_1.useNavigation)();
39
44
  return ((0, jsx_runtime_1.jsx)(ActionRoot, { ...props, onAction: () => {
@@ -73,6 +78,7 @@ exports.Action = Object.assign(ActionRoot, {
73
78
  Paste,
74
79
  SubmitForm,
75
80
  OpenInBrowser,
81
+ ShowInFinder,
76
82
  CreateQuicklink,
77
83
  Style: {
78
84
  Regular: "regular",
@@ -57,7 +57,14 @@ interface TextFieldProps extends FormItemProps<string>, WithFormRef<Form.TextFie
57
57
  }
58
58
  interface PasswordFieldProps extends FormItemProps<string>, WithFormRef<Form.PasswordField> {
59
59
  }
60
+ export declare enum DatePickerType {
61
+ DateTime = "dateTime",
62
+ Date = "date"
63
+ }
60
64
  interface DatePickerProps extends FormItemProps<Date | null>, WithFormRef<Form.DatePicker> {
65
+ min?: Date;
66
+ max?: Date;
67
+ type?: DatePickerType;
61
68
  }
62
69
  interface CheckboxProps extends FormItemProps<boolean>, WithFormRef<Form.Checkbox> {
63
70
  label?: string;
@@ -77,6 +84,10 @@ interface TagPickerProps extends FormItemProps<string[]>, WithFormRef<Form.TagPi
77
84
  interface TextAreaProps extends FormItemProps<string>, WithFormRef<Form.TextArea> {
78
85
  }
79
86
  interface FilePickerProps extends FormItemProps<string[]>, WithFormRef<Form.FilePicker> {
87
+ allowMultipleSelection?: boolean;
88
+ canChooseDirectories?: boolean;
89
+ canChooseFiles?: boolean;
90
+ showHiddenFiles?: boolean;
80
91
  }
81
92
  type DescriptionProps = {
82
93
  text: string;
@@ -85,7 +96,10 @@ type DescriptionProps = {
85
96
  export declare const Form: import("react").FC<FormProps> & {
86
97
  TextField: import("react").FC<TextFieldProps>;
87
98
  PasswordField: import("react").FC<PasswordFieldProps>;
88
- DatePicker: import("react").FC<DatePickerProps>;
99
+ DatePicker: import("react").FC<DatePickerProps> & {
100
+ Type: typeof DatePickerType;
101
+ isFullDay: (value: Date | null | undefined) => boolean;
102
+ };
89
103
  Checkbox: import("react").FC<CheckboxProps>;
90
104
  TextArea: import("react").FC<TextAreaProps>;
91
105
  Dropdown: import("react").FC<DropdownProps> & {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Form = void 0;
3
+ exports.Form = exports.DatePickerType = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const use_imperative_form_handle_1 = require("../hooks/use-imperative-form-handle");
6
6
  const dropdown_1 = require("./dropdown");
@@ -36,10 +36,32 @@ const PasswordField = ({ ref, ...props }) => {
36
36
  (0, use_imperative_form_handle_1.useImperativeFormHandle)(ref);
37
37
  return (0, jsx_runtime_1.jsx)("password-field", { ...props });
38
38
  };
39
- const DatePicker = ({ ref, ...props }) => {
39
+ var DatePickerType;
40
+ (function (DatePickerType) {
41
+ DatePickerType["DateTime"] = "dateTime";
42
+ DatePickerType["Date"] = "date";
43
+ })(DatePickerType || (exports.DatePickerType = DatePickerType = {}));
44
+ const DatePickerRoot = ({ ref, onChange, ...props }) => {
40
45
  (0, use_imperative_form_handle_1.useImperativeFormHandle)(ref);
41
- return (0, jsx_runtime_1.jsx)("date-picker-field", { ...props });
46
+ const _onChange = onChange
47
+ ? (newValue) => {
48
+ const dateObj = newValue ? new Date(newValue) : null;
49
+ onChange(dateObj);
50
+ }
51
+ : undefined;
52
+ return ((0, jsx_runtime_1.jsx)("date-picker-field", { ...wrapFormItemProps(props), onChange: _onChange }));
42
53
  };
54
+ const DatePicker = Object.assign(DatePickerRoot, {
55
+ Type: DatePickerType,
56
+ isFullDay: (value) => {
57
+ if (!value)
58
+ return false;
59
+ return (value.getHours() === 0 &&
60
+ value.getMinutes() === 0 &&
61
+ value.getSeconds() === 0 &&
62
+ value.getMilliseconds() === 0);
63
+ },
64
+ });
43
65
  const Checkbox = ({ ref, ...props }) => {
44
66
  (0, use_imperative_form_handle_1.useImperativeFormHandle)(ref);
45
67
  return (0, jsx_runtime_1.jsx)("checkbox-field", { ...wrapFormItemProps(props) });
@@ -9,7 +9,7 @@ const react_1 = require("react");
9
9
  const navigation_context_1 = __importDefault(require("./navigation-context"));
10
10
  const bus_1 = require("../bus");
11
11
  const View = ({ children }) => {
12
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
12
+ return (0, jsx_runtime_1.jsx)("view", { children: children });
13
13
  };
14
14
  const NavigationProvider = ({ root }) => {
15
15
  const [navStack, setNavStack] = (0, react_1.useState)([root]);
@@ -24,9 +24,6 @@ const NavigationProvider = ({ root }) => {
24
24
  setNavStack((cur) => [...cur, node]);
25
25
  });
26
26
  };
27
- (0, react_1.useEffect)(() => {
28
- //console.log('changed nav stack size', navStack.length);
29
- }, [navStack]);
30
27
  (0, react_1.useEffect)(() => {
31
28
  const listener = bus_1.bus.subscribe("pop-view", () => {
32
29
  setNavStack((cur) => cur.slice(0, -1));
@@ -51,6 +51,10 @@ export interface Environment {
51
51
  * The version of the main Raycast app
52
52
  */
53
53
  raycastVersion: string;
54
+ /**
55
+ * The name of the extension owner (if any) or author, as specified in package.json
56
+ */
57
+ ownerOrAuthorName: string;
54
58
  /**
55
59
  * The name of the extension, as specified in package.json
56
60
  */
@@ -295,25 +295,20 @@ export declare class PKCEClient {
295
295
  getTokens(): Promise<OAuth.TokenSet | undefined>;
296
296
  /**
297
297
  * Removes the stored {@link OAuth.TokenSet} for the client.
298
- *
299
- * @remarks Raycast automatically shows a logout preference that removes the token set.
300
- * Use this method only if you need to provide an additional logout option in your extension or you want to remove the token set because of a migration.
301
- *
302
298
  */
303
299
  removeTokens(): Promise<void>;
304
300
  }
305
- declare class TokenSet {
301
+ export type TokenSet = {
306
302
  accessToken: string;
307
303
  refreshToken?: string;
308
304
  idToken?: string;
309
305
  expiresIn?: number;
310
306
  scope?: string;
311
307
  updatedAt: Date;
312
- isExpired(): boolean;
313
- }
308
+ isExpired: () => boolean;
309
+ };
314
310
  export declare const OAuth: {
315
311
  PKCEClient: typeof PKCEClient;
316
312
  RedirectMethod: typeof OauthRedirectMethod;
317
- TokenSet: typeof TokenSet;
318
313
  };
319
314
  export {};
package/dist/api/oauth.js CHANGED
@@ -76,11 +76,15 @@ class PKCEClient {
76
76
  * @returns A promise for an {@link OAuth.AuthorizationRequest} that you can use as input for {@link OAuth.PKCEClient.authorize}.
77
77
  */
78
78
  async authorizationRequest(options) {
79
- const codeVerifier = (0, node_crypto_1.randomBytes)(128).toString("hex");
79
+ const codeVerifier = (0, node_crypto_1.randomBytes)(32).toString("base64url");
80
80
  const codeChallenge = (0, node_crypto_1.createHash)("sha256")
81
81
  .update(codeVerifier)
82
82
  .digest("base64url");
83
- const state = (0, node_crypto_1.randomBytes)(32).toString("hex");
83
+ const state = Buffer.from(JSON.stringify({
84
+ flavor: "release",
85
+ id: (0, node_crypto_1.randomUUID)(),
86
+ providerName: this.providerName,
87
+ })).toString("base64url");
84
88
  const redirectURI = this.getRedirectURI();
85
89
  return {
86
90
  state,
@@ -130,7 +134,27 @@ class PKCEClient {
130
134
  *
131
135
  * @returns A promise that resolves when the token set has been stored.
132
136
  */
133
- async setTokens(options) { }
137
+ async setTokens(options) {
138
+ const isTokenResponse = (options) => {
139
+ return Object.hasOwn(options, "access_token");
140
+ };
141
+ if (isTokenResponse(options)) {
142
+ await bus_1.bus.turboRequest("oauth.setTokens", {
143
+ accessToken: options.access_token,
144
+ refreshToken: options.refresh_token,
145
+ idToken: options.id_token,
146
+ scope: options.scope,
147
+ expiresIn: options.expires_in,
148
+ providerId: this.providerId,
149
+ });
150
+ }
151
+ else {
152
+ await bus_1.bus.turboRequest("oauth.setTokens", {
153
+ ...options,
154
+ providerId: this.providerId,
155
+ });
156
+ }
157
+ }
134
158
  /**
135
159
  * Retrieves the stored {@link OAuth.TokenSet} for the client.
136
160
  * You can use this to initially check whether the authorization flow should be initiated or
@@ -139,31 +163,37 @@ class PKCEClient {
139
163
  * @returns A promise that resolves when the token set has been retrieved.
140
164
  */
141
165
  async getTokens() {
142
- return undefined;
166
+ const res = await bus_1.bus.turboRequest("oauth.getTokens", {
167
+ providerId: this.providerId,
168
+ });
169
+ const set = res.unwrap().tokenSet;
170
+ if (!set)
171
+ return undefined;
172
+ const tokenSet = {
173
+ accessToken: set.accessToken,
174
+ refreshToken: set.refreshToken,
175
+ scope: set.scope,
176
+ idToken: set.idToken,
177
+ updatedAt: new Date(set.updatedAt * 1000),
178
+ expiresIn: set.expiresIn,
179
+ isExpired: () => {
180
+ return !!(tokenSet.expiresIn &&
181
+ tokenSet.updatedAt.getTime() + tokenSet.expiresIn * 1000 < Date.now());
182
+ },
183
+ };
184
+ return tokenSet;
143
185
  }
144
186
  /**
145
187
  * Removes the stored {@link OAuth.TokenSet} for the client.
146
- *
147
- * @remarks Raycast automatically shows a logout preference that removes the token set.
148
- * Use this method only if you need to provide an additional logout option in your extension or you want to remove the token set because of a migration.
149
- *
150
188
  */
151
- async removeTokens() { }
152
- }
153
- exports.PKCEClient = PKCEClient;
154
- class TokenSet {
155
- accessToken = "";
156
- refreshToken;
157
- idToken;
158
- expiresIn;
159
- scope;
160
- updatedAt = new Date();
161
- isExpired() {
162
- return true;
189
+ async removeTokens() {
190
+ await bus_1.bus.turboRequest("oauth.removeTokens", {
191
+ providerId: this.providerId,
192
+ });
163
193
  }
164
194
  }
195
+ exports.PKCEClient = PKCEClient;
165
196
  exports.OAuth = {
166
197
  PKCEClient,
167
198
  RedirectMethod: OauthRedirectMethod,
168
- TokenSet,
169
199
  };
@@ -5,6 +5,13 @@ export interface OpenApplicationRequest {
5
5
  target: string;
6
6
  appId?: string | undefined;
7
7
  }
8
+ export interface RunInTerminalRequest {
9
+ cmdline: string[];
10
+ appId?: string | undefined;
11
+ workingDirectory?: string | undefined;
12
+ title?: string | undefined;
13
+ hold: boolean;
14
+ }
8
15
  export interface ListApplicationRequest {
9
16
  target?: string | undefined;
10
17
  }
@@ -21,11 +28,13 @@ export interface Request {
21
28
  list?: ListApplicationRequest | undefined;
22
29
  open?: OpenApplicationRequest | undefined;
23
30
  getDefault?: GetDefaultApplicationRequest | undefined;
31
+ runInTerminal?: RunInTerminalRequest | undefined;
24
32
  }
25
33
  export interface Response {
26
34
  list?: ListApplicationResponse | undefined;
27
35
  open?: AckResponse | undefined;
28
36
  getDefault?: GetDefaultApplicationResponse | undefined;
37
+ runInTerminal?: AckResponse | undefined;
29
38
  }
30
39
  export interface Application {
31
40
  id: string;
@@ -34,6 +43,7 @@ export interface Application {
34
43
  path: string;
35
44
  }
36
45
  export declare const OpenApplicationRequest: MessageFns<OpenApplicationRequest>;
46
+ export declare const RunInTerminalRequest: MessageFns<RunInTerminalRequest>;
37
47
  export declare const ListApplicationRequest: MessageFns<ListApplicationRequest>;
38
48
  export declare const ListApplicationResponse: MessageFns<ListApplicationResponse>;
39
49
  export declare const GetDefaultApplicationRequest: MessageFns<GetDefaultApplicationRequest>;
@@ -5,7 +5,7 @@
5
5
  // protoc v6.32.1
6
6
  // source: application.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.Application = exports.Response = exports.Request = exports.GetDefaultApplicationResponse = exports.GetDefaultApplicationRequest = exports.ListApplicationResponse = exports.ListApplicationRequest = exports.OpenApplicationRequest = exports.protobufPackage = void 0;
8
+ exports.Application = exports.Response = exports.Request = exports.GetDefaultApplicationResponse = exports.GetDefaultApplicationRequest = exports.ListApplicationResponse = exports.ListApplicationRequest = exports.RunInTerminalRequest = exports.OpenApplicationRequest = exports.protobufPackage = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
11
  const common_1 = require("./common");
@@ -78,6 +78,119 @@ exports.OpenApplicationRequest = {
78
78
  return message;
79
79
  },
80
80
  };
81
+ function createBaseRunInTerminalRequest() {
82
+ return { cmdline: [], appId: undefined, workingDirectory: undefined, title: undefined, hold: false };
83
+ }
84
+ exports.RunInTerminalRequest = {
85
+ encode(message, writer = new wire_1.BinaryWriter()) {
86
+ for (const v of message.cmdline) {
87
+ writer.uint32(10).string(v);
88
+ }
89
+ if (message.appId !== undefined) {
90
+ writer.uint32(18).string(message.appId);
91
+ }
92
+ if (message.workingDirectory !== undefined) {
93
+ writer.uint32(26).string(message.workingDirectory);
94
+ }
95
+ if (message.title !== undefined) {
96
+ writer.uint32(34).string(message.title);
97
+ }
98
+ if (message.hold !== false) {
99
+ writer.uint32(40).bool(message.hold);
100
+ }
101
+ return writer;
102
+ },
103
+ decode(input, length) {
104
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
105
+ const end = length === undefined ? reader.len : reader.pos + length;
106
+ const message = createBaseRunInTerminalRequest();
107
+ while (reader.pos < end) {
108
+ const tag = reader.uint32();
109
+ switch (tag >>> 3) {
110
+ case 1: {
111
+ if (tag !== 10) {
112
+ break;
113
+ }
114
+ message.cmdline.push(reader.string());
115
+ continue;
116
+ }
117
+ case 2: {
118
+ if (tag !== 18) {
119
+ break;
120
+ }
121
+ message.appId = reader.string();
122
+ continue;
123
+ }
124
+ case 3: {
125
+ if (tag !== 26) {
126
+ break;
127
+ }
128
+ message.workingDirectory = reader.string();
129
+ continue;
130
+ }
131
+ case 4: {
132
+ if (tag !== 34) {
133
+ break;
134
+ }
135
+ message.title = reader.string();
136
+ continue;
137
+ }
138
+ case 5: {
139
+ if (tag !== 40) {
140
+ break;
141
+ }
142
+ message.hold = reader.bool();
143
+ continue;
144
+ }
145
+ }
146
+ if ((tag & 7) === 4 || tag === 0) {
147
+ break;
148
+ }
149
+ reader.skip(tag & 7);
150
+ }
151
+ return message;
152
+ },
153
+ fromJSON(object) {
154
+ return {
155
+ cmdline: globalThis.Array.isArray(object?.cmdline) ? object.cmdline.map((e) => globalThis.String(e)) : [],
156
+ appId: isSet(object.appId) ? globalThis.String(object.appId) : undefined,
157
+ workingDirectory: isSet(object.workingDirectory) ? globalThis.String(object.workingDirectory) : undefined,
158
+ title: isSet(object.title) ? globalThis.String(object.title) : undefined,
159
+ hold: isSet(object.hold) ? globalThis.Boolean(object.hold) : false,
160
+ };
161
+ },
162
+ toJSON(message) {
163
+ const obj = {};
164
+ if (message.cmdline?.length) {
165
+ obj.cmdline = message.cmdline;
166
+ }
167
+ if (message.appId !== undefined) {
168
+ obj.appId = message.appId;
169
+ }
170
+ if (message.workingDirectory !== undefined) {
171
+ obj.workingDirectory = message.workingDirectory;
172
+ }
173
+ if (message.title !== undefined) {
174
+ obj.title = message.title;
175
+ }
176
+ if (message.hold !== false) {
177
+ obj.hold = message.hold;
178
+ }
179
+ return obj;
180
+ },
181
+ create(base) {
182
+ return exports.RunInTerminalRequest.fromPartial(base ?? {});
183
+ },
184
+ fromPartial(object) {
185
+ const message = createBaseRunInTerminalRequest();
186
+ message.cmdline = object.cmdline?.map((e) => e) || [];
187
+ message.appId = object.appId ?? undefined;
188
+ message.workingDirectory = object.workingDirectory ?? undefined;
189
+ message.title = object.title ?? undefined;
190
+ message.hold = object.hold ?? false;
191
+ return message;
192
+ },
193
+ };
81
194
  function createBaseListApplicationRequest() {
82
195
  return { target: undefined };
83
196
  }
@@ -283,7 +396,7 @@ exports.GetDefaultApplicationResponse = {
283
396
  },
284
397
  };
285
398
  function createBaseRequest() {
286
- return { list: undefined, open: undefined, getDefault: undefined };
399
+ return { list: undefined, open: undefined, getDefault: undefined, runInTerminal: undefined };
287
400
  }
288
401
  exports.Request = {
289
402
  encode(message, writer = new wire_1.BinaryWriter()) {
@@ -296,6 +409,9 @@ exports.Request = {
296
409
  if (message.getDefault !== undefined) {
297
410
  exports.GetDefaultApplicationRequest.encode(message.getDefault, writer.uint32(26).fork()).join();
298
411
  }
412
+ if (message.runInTerminal !== undefined) {
413
+ exports.RunInTerminalRequest.encode(message.runInTerminal, writer.uint32(34).fork()).join();
414
+ }
299
415
  return writer;
300
416
  },
301
417
  decode(input, length) {
@@ -326,6 +442,13 @@ exports.Request = {
326
442
  message.getDefault = exports.GetDefaultApplicationRequest.decode(reader, reader.uint32());
327
443
  continue;
328
444
  }
445
+ case 4: {
446
+ if (tag !== 34) {
447
+ break;
448
+ }
449
+ message.runInTerminal = exports.RunInTerminalRequest.decode(reader, reader.uint32());
450
+ continue;
451
+ }
329
452
  }
330
453
  if ((tag & 7) === 4 || tag === 0) {
331
454
  break;
@@ -339,6 +462,7 @@ exports.Request = {
339
462
  list: isSet(object.list) ? exports.ListApplicationRequest.fromJSON(object.list) : undefined,
340
463
  open: isSet(object.open) ? exports.OpenApplicationRequest.fromJSON(object.open) : undefined,
341
464
  getDefault: isSet(object.getDefault) ? exports.GetDefaultApplicationRequest.fromJSON(object.getDefault) : undefined,
465
+ runInTerminal: isSet(object.runInTerminal) ? exports.RunInTerminalRequest.fromJSON(object.runInTerminal) : undefined,
342
466
  };
343
467
  },
344
468
  toJSON(message) {
@@ -352,6 +476,9 @@ exports.Request = {
352
476
  if (message.getDefault !== undefined) {
353
477
  obj.getDefault = exports.GetDefaultApplicationRequest.toJSON(message.getDefault);
354
478
  }
479
+ if (message.runInTerminal !== undefined) {
480
+ obj.runInTerminal = exports.RunInTerminalRequest.toJSON(message.runInTerminal);
481
+ }
355
482
  return obj;
356
483
  },
357
484
  create(base) {
@@ -368,11 +495,14 @@ exports.Request = {
368
495
  message.getDefault = (object.getDefault !== undefined && object.getDefault !== null)
369
496
  ? exports.GetDefaultApplicationRequest.fromPartial(object.getDefault)
370
497
  : undefined;
498
+ message.runInTerminal = (object.runInTerminal !== undefined && object.runInTerminal !== null)
499
+ ? exports.RunInTerminalRequest.fromPartial(object.runInTerminal)
500
+ : undefined;
371
501
  return message;
372
502
  },
373
503
  };
374
504
  function createBaseResponse() {
375
- return { list: undefined, open: undefined, getDefault: undefined };
505
+ return { list: undefined, open: undefined, getDefault: undefined, runInTerminal: undefined };
376
506
  }
377
507
  exports.Response = {
378
508
  encode(message, writer = new wire_1.BinaryWriter()) {
@@ -385,6 +515,9 @@ exports.Response = {
385
515
  if (message.getDefault !== undefined) {
386
516
  exports.GetDefaultApplicationResponse.encode(message.getDefault, writer.uint32(26).fork()).join();
387
517
  }
518
+ if (message.runInTerminal !== undefined) {
519
+ common_1.AckResponse.encode(message.runInTerminal, writer.uint32(34).fork()).join();
520
+ }
388
521
  return writer;
389
522
  },
390
523
  decode(input, length) {
@@ -415,6 +548,13 @@ exports.Response = {
415
548
  message.getDefault = exports.GetDefaultApplicationResponse.decode(reader, reader.uint32());
416
549
  continue;
417
550
  }
551
+ case 4: {
552
+ if (tag !== 34) {
553
+ break;
554
+ }
555
+ message.runInTerminal = common_1.AckResponse.decode(reader, reader.uint32());
556
+ continue;
557
+ }
418
558
  }
419
559
  if ((tag & 7) === 4 || tag === 0) {
420
560
  break;
@@ -428,6 +568,7 @@ exports.Response = {
428
568
  list: isSet(object.list) ? exports.ListApplicationResponse.fromJSON(object.list) : undefined,
429
569
  open: isSet(object.open) ? common_1.AckResponse.fromJSON(object.open) : undefined,
430
570
  getDefault: isSet(object.getDefault) ? exports.GetDefaultApplicationResponse.fromJSON(object.getDefault) : undefined,
571
+ runInTerminal: isSet(object.runInTerminal) ? common_1.AckResponse.fromJSON(object.runInTerminal) : undefined,
431
572
  };
432
573
  },
433
574
  toJSON(message) {
@@ -441,6 +582,9 @@ exports.Response = {
441
582
  if (message.getDefault !== undefined) {
442
583
  obj.getDefault = exports.GetDefaultApplicationResponse.toJSON(message.getDefault);
443
584
  }
585
+ if (message.runInTerminal !== undefined) {
586
+ obj.runInTerminal = common_1.AckResponse.toJSON(message.runInTerminal);
587
+ }
444
588
  return obj;
445
589
  },
446
590
  create(base) {
@@ -457,6 +601,9 @@ exports.Response = {
457
601
  message.getDefault = (object.getDefault !== undefined && object.getDefault !== null)
458
602
  ? exports.GetDefaultApplicationResponse.fromPartial(object.getDefault)
459
603
  : undefined;
604
+ message.runInTerminal = (object.runInTerminal !== undefined && object.runInTerminal !== null)
605
+ ? common_1.AckResponse.fromPartial(object.runInTerminal)
606
+ : undefined;
460
607
  return message;
461
608
  },
462
609
  };
@@ -41,6 +41,8 @@ export interface ManagerLoadCommand {
41
41
  isRaycast: boolean;
42
42
  commandName: string;
43
43
  extensionId: string;
44
+ extensionName: string;
45
+ ownerOrAuthorName: string;
44
46
  }
45
47
  export interface ManagerLoadCommand_PreferenceValuesEntry {
46
48
  key: string;