@codexhost/cli-linux-arm64 0.9.1-test.2 → 0.9.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.
@@ -15051,6 +15051,8 @@ var pluginPresentationShape = {
15051
15051
  id: harnessPluginIdSchema,
15052
15052
  name: external_exports.string().trim().min(1).max(128),
15053
15053
  version: external_exports.string().min(1).max(128),
15054
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15055
+ launchCommand: external_exports.literal(true).optional(),
15054
15056
  links: external_exports.object({
15055
15057
  documentation: documentationUrlSchema.optional(),
15056
15058
  installation: documentationUrlSchema.optional()
@@ -15088,6 +15090,19 @@ var harnessPluginRouteSchema = external_exports.object({
15088
15090
  permissionModeId: harnessPermissionModeIdSchema.optional()
15089
15091
  }).strict();
15090
15092
 
15093
+ // ../../shared-contracts/dist/harness-launch-settings.js
15094
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15095
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15096
+ harnessId: harnessPluginIdSchema
15097
+ }).strict();
15098
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15099
+ path: harnessLaunchPathSchema.nullable()
15100
+ });
15101
+ var harnessLaunchSettingsSchema = external_exports.object({
15102
+ path: harnessLaunchPathSchema.nullable(),
15103
+ restartRequired: external_exports.boolean()
15104
+ }).strict();
15105
+
15091
15106
  // ../../shared-contracts/dist/codex-accounts.js
15092
15107
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15093
15108
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -15571,6 +15571,8 @@ var pluginPresentationShape = {
15571
15571
  id: harnessPluginIdSchema,
15572
15572
  name: external_exports.string().trim().min(1).max(128),
15573
15573
  version: external_exports.string().min(1).max(128),
15574
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15575
+ launchCommand: external_exports.literal(true).optional(),
15574
15576
  links: external_exports.object({
15575
15577
  documentation: documentationUrlSchema.optional(),
15576
15578
  installation: documentationUrlSchema.optional()
@@ -15608,6 +15610,19 @@ var harnessPluginRouteSchema = external_exports.object({
15608
15610
  permissionModeId: harnessPermissionModeIdSchema.optional()
15609
15611
  }).strict();
15610
15612
 
15613
+ // ../../shared-contracts/dist/harness-launch-settings.js
15614
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15615
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15616
+ harnessId: harnessPluginIdSchema
15617
+ }).strict();
15618
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15619
+ path: harnessLaunchPathSchema.nullable()
15620
+ });
15621
+ var harnessLaunchSettingsSchema = external_exports.object({
15622
+ path: harnessLaunchPathSchema.nullable(),
15623
+ restartRequired: external_exports.boolean()
15624
+ }).strict();
15625
+
15611
15626
  // ../../shared-contracts/dist/codex-accounts.js
15612
15627
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15613
15628
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -16584,7 +16599,7 @@ function withNodeRuntimeOnPath(environment, runtimeExecutable = process.execPath
16584
16599
  const directories = (environment[pathKey] ?? "").split(delimiter).filter(Boolean);
16585
16600
  const equal = platform === "win32" ? (value) => value.toLowerCase() : (value) => value;
16586
16601
  if (!directories.some((directory) => equal(directory) === equal(runtimeDirectory))) {
16587
- directories.unshift(runtimeDirectory);
16602
+ directories.push(runtimeDirectory);
16588
16603
  }
16589
16604
  return { ...environment, [pathKey]: directories.join(delimiter) };
16590
16605
  }
@@ -17209,7 +17224,8 @@ function ompRpcProcessCommand(options, dependencies = {}) {
17209
17224
  const permissionArguments = options.permissionMode ? ["--approval-mode", options.permissionMode] : [];
17210
17225
  const arguments_ = [
17211
17226
  "--mode",
17212
- "rpc",
17227
+ // OMP only creates ask and connects its tool UI in rpc-ui mode.
17228
+ "rpc-ui",
17213
17229
  ...permissionArguments,
17214
17230
  ...modelArguments,
17215
17231
  ...sessionArguments
@@ -17557,7 +17573,12 @@ var OmpRpcSession = class {
17557
17573
  if ("confirmed" in response && pending.request.method !== "confirm") {
17558
17574
  throw new Error("Omp RPC confirmation does not match the request");
17559
17575
  }
17560
- const frame = "cancelled" in response ? { type: "extension_ui_response", id: response.requestId, cancelled: true } : "confirmed" in response ? { type: "extension_ui_response", id: response.requestId, confirmed: response.confirmed } : { type: "extension_ui_response", id: response.requestId, value: response.value };
17576
+ const frame = "cancelled" in response ? {
17577
+ type: "extension_ui_response",
17578
+ id: response.requestId,
17579
+ cancelled: true,
17580
+ ...reason === "expired" ? { timedOut: true } : {}
17581
+ } : "confirmed" in response ? { type: "extension_ui_response", id: response.requestId, confirmed: response.confirmed } : { type: "extension_ui_response", id: response.requestId, value: response.value };
17561
17582
  if (!active.interactions.delete(response.requestId)) {
17562
17583
  throw new Error("Omp RPC interaction is not pending");
17563
17584
  }
@@ -17867,11 +17888,19 @@ var OmpRpcSession = class {
17867
17888
  if (!Array.isArray(value.options) || value.options.length === 0 || !value.options.every((option) => typeof option === "string" && option.length > 0)) {
17868
17889
  throw new OmpRpcFaultError("protocolError", "Omp RPC select request has invalid options");
17869
17890
  }
17891
+ let optionDetails;
17892
+ if (value.optionDetails !== void 0) {
17893
+ if (!Array.isArray(value.optionDetails) || value.optionDetails.length !== value.options.length || !value.optionDetails.every((detail) => typeof detail === "object" && detail !== null && !Array.isArray(detail) && (detail.description === void 0 || typeof detail.description === "string"))) {
17894
+ throw new OmpRpcFaultError("protocolError", "Omp RPC select option details are invalid");
17895
+ }
17896
+ optionDetails = value.optionDetails.map(({ description }) => description === void 0 ? {} : { description });
17897
+ }
17870
17898
  request = {
17871
17899
  requestId,
17872
17900
  method,
17873
17901
  title,
17874
17902
  options: [...value.options],
17903
+ ...optionDetails ? { optionDetails } : {},
17875
17904
  ...typeof timeoutMs === "number" ? { timeoutMs } : {}
17876
17905
  };
17877
17906
  } else if (method === "confirm") {
@@ -17966,8 +17995,13 @@ var OmpRpcSession = class {
17966
17995
  }
17967
17996
  #updateTool(active, value) {
17968
17997
  const callId = value.toolCallId;
17969
- const outputResult = jsonValueSchema.safeParse(value.partialResult);
17970
- if (typeof callId !== "string" || !active.tools.has(callId) || !outputResult.success) {
17998
+ if (typeof callId !== "string" || callId.length === 0) {
17999
+ throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool update");
18000
+ }
18001
+ if (!active.tools.has(callId))
18002
+ return;
18003
+ const outputResult = jsonValueSchema.safeParse(value.partialResult ?? null);
18004
+ if (!outputResult.success) {
17971
18005
  throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool update");
17972
18006
  }
17973
18007
  active.onEvent({ type: "tool.updated", callId, output: outputResult.data });
@@ -17975,9 +18009,14 @@ var OmpRpcSession = class {
17975
18009
  #completeTool(active, value) {
17976
18010
  const callId = value.toolCallId;
17977
18011
  const toolName = value.toolName;
18012
+ if (typeof callId !== "string" || callId.length === 0) {
18013
+ throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool end");
18014
+ }
18015
+ const expectedName = active.tools.get(callId);
18016
+ if (expectedName === void 0)
18017
+ return;
17978
18018
  const result = jsonValueSchema.safeParse(value.result);
17979
- const expectedName = typeof callId === "string" ? active.tools.get(callId) : void 0;
17980
- if (typeof callId !== "string" || typeof toolName !== "string" || expectedName !== toolName || value.isError !== void 0 && typeof value.isError !== "boolean" || !result.success) {
18019
+ if (typeof toolName !== "string" || expectedName !== toolName || value.isError !== void 0 && typeof value.isError !== "boolean" || !result.success) {
17981
18020
  throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool end");
17982
18021
  }
17983
18022
  active.tools.delete(callId);
@@ -19662,7 +19701,11 @@ var OmpHarnessSession = class {
19662
19701
  id: "answer",
19663
19702
  type: "choice",
19664
19703
  prompt: request.title,
19665
- options: request.options.map((option) => ({ value: option, label: option })),
19704
+ options: request.options.map((option, index) => ({
19705
+ value: option,
19706
+ label: option,
19707
+ ...request.optionDetails?.[index]?.description ? { description: request.optionDetails[index].description } : {}
19708
+ })),
19666
19709
  multiple: false,
19667
19710
  allowOther: false,
19668
19711
  optional: false
@@ -15052,6 +15052,8 @@ var pluginPresentationShape = {
15052
15052
  id: harnessPluginIdSchema,
15053
15053
  name: external_exports.string().trim().min(1).max(128),
15054
15054
  version: external_exports.string().min(1).max(128),
15055
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15056
+ launchCommand: external_exports.literal(true).optional(),
15055
15057
  links: external_exports.object({
15056
15058
  documentation: documentationUrlSchema.optional(),
15057
15059
  installation: documentationUrlSchema.optional()
@@ -15089,6 +15091,19 @@ var harnessPluginRouteSchema = external_exports.object({
15089
15091
  permissionModeId: harnessPermissionModeIdSchema.optional()
15090
15092
  }).strict();
15091
15093
 
15094
+ // ../../shared-contracts/dist/harness-launch-settings.js
15095
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15096
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15097
+ harnessId: harnessPluginIdSchema
15098
+ }).strict();
15099
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15100
+ path: harnessLaunchPathSchema.nullable()
15101
+ });
15102
+ var harnessLaunchSettingsSchema = external_exports.object({
15103
+ path: harnessLaunchPathSchema.nullable(),
15104
+ restartRequired: external_exports.boolean()
15105
+ }).strict();
15106
+
15092
15107
  // ../../shared-contracts/dist/codex-accounts.js
15093
15108
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15094
15109
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -15051,6 +15051,8 @@ var pluginPresentationShape = {
15051
15051
  id: harnessPluginIdSchema,
15052
15052
  name: external_exports.string().trim().min(1).max(128),
15053
15053
  version: external_exports.string().min(1).max(128),
15054
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15055
+ launchCommand: external_exports.literal(true).optional(),
15054
15056
  links: external_exports.object({
15055
15057
  documentation: documentationUrlSchema.optional(),
15056
15058
  installation: documentationUrlSchema.optional()
@@ -15088,6 +15090,19 @@ var harnessPluginRouteSchema = external_exports.object({
15088
15090
  permissionModeId: harnessPermissionModeIdSchema.optional()
15089
15091
  }).strict();
15090
15092
 
15093
+ // ../../shared-contracts/dist/harness-launch-settings.js
15094
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15095
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15096
+ harnessId: harnessPluginIdSchema
15097
+ }).strict();
15098
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15099
+ path: harnessLaunchPathSchema.nullable()
15100
+ });
15101
+ var harnessLaunchSettingsSchema = external_exports.object({
15102
+ path: harnessLaunchPathSchema.nullable(),
15103
+ restartRequired: external_exports.boolean()
15104
+ }).strict();
15105
+
15091
15106
  // ../../shared-contracts/dist/codex-accounts.js
15092
15107
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15093
15108
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -16952,7 +16967,7 @@ function withNodeRuntimeOnPath(environment, runtimeExecutable = process.execPath
16952
16967
  const directories = (environment[pathKey] ?? "").split(delimiter).filter(Boolean);
16953
16968
  const equal = platform === "win32" ? (value) => value.toLowerCase() : (value) => value;
16954
16969
  if (!directories.some((directory) => equal(directory) === equal(runtimeDirectory))) {
16955
- directories.unshift(runtimeDirectory);
16970
+ directories.push(runtimeDirectory);
16956
16971
  }
16957
16972
  return { ...environment, [pathKey]: directories.join(delimiter) };
16958
16973
  }
@@ -27636,6 +27636,8 @@ var pluginPresentationShape = {
27636
27636
  id: harnessPluginIdSchema,
27637
27637
  name: external_exports.string().trim().min(1).max(128),
27638
27638
  version: external_exports.string().min(1).max(128),
27639
+ /** The factory accepts a persisted local entrypoint through its construction context. */
27640
+ launchCommand: external_exports.literal(true).optional(),
27639
27641
  links: external_exports.object({
27640
27642
  documentation: documentationUrlSchema.optional(),
27641
27643
  installation: documentationUrlSchema.optional()
@@ -27673,6 +27675,19 @@ var harnessPluginRouteSchema = external_exports.object({
27673
27675
  permissionModeId: harnessPermissionModeIdSchema.optional()
27674
27676
  }).strict();
27675
27677
 
27678
+ // ../../shared-contracts/dist/harness-launch-settings.js
27679
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
27680
+ var harnessLaunchSettingsGetSchema = external_exports.object({
27681
+ harnessId: harnessPluginIdSchema
27682
+ }).strict();
27683
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
27684
+ path: harnessLaunchPathSchema.nullable()
27685
+ });
27686
+ var harnessLaunchSettingsSchema = external_exports.object({
27687
+ path: harnessLaunchPathSchema.nullable(),
27688
+ restartRequired: external_exports.boolean()
27689
+ }).strict();
27690
+
27676
27691
  // ../../shared-contracts/dist/codex-accounts.js
27677
27692
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
27678
27693
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -28223,10 +28238,6 @@ function discoverySpec(variant) {
28223
28238
  }
28224
28239
  var qoderDiscoverySpec = discoverySpec("global");
28225
28240
  var qoderCnDiscoverySpec = discoverySpec("cn");
28226
- var qoderFallbackSpec = {
28227
- ...qoderDiscoverySpec,
28228
- command: "qoder"
28229
- };
28230
28241
  function resolveQoderExecutable(input = {}, dependencies = {}) {
28231
28242
  const platform = input.platform ?? process.platform;
28232
28243
  const cn3 = input.variant === "cn";
@@ -28236,11 +28247,7 @@ function resolveQoderExecutable(input = {}, dependencies = {}) {
28236
28247
  environment: input.environment ?? process.env,
28237
28248
  ...input.homeDirectory ? { homeDirectory: input.homeDirectory } : {},
28238
28249
  platform
28239
- }, dependencies) ?? (input.command !== void 0 ? void 0 : resolveHarnessExecutable(cn3 ? { ...spec, command: "qodercn" } : qoderFallbackSpec, {
28240
- environment: input.environment ?? process.env,
28241
- ...input.homeDirectory ? { homeDirectory: input.homeDirectory } : {},
28242
- platform
28243
- }, dependencies));
28250
+ }, dependencies);
28244
28251
  if (!resolution)
28245
28252
  throw new QoderExecutableError("Qoder CLI is not installed");
28246
28253
  return targetPath(platform).isAbsolute(resolution.executable) ? resolution.executable : path2.resolve(resolution.executable);
@@ -27636,6 +27636,8 @@ var pluginPresentationShape = {
27636
27636
  id: harnessPluginIdSchema,
27637
27637
  name: external_exports.string().trim().min(1).max(128),
27638
27638
  version: external_exports.string().min(1).max(128),
27639
+ /** The factory accepts a persisted local entrypoint through its construction context. */
27640
+ launchCommand: external_exports.literal(true).optional(),
27639
27641
  links: external_exports.object({
27640
27642
  documentation: documentationUrlSchema.optional(),
27641
27643
  installation: documentationUrlSchema.optional()
@@ -27673,6 +27675,19 @@ var harnessPluginRouteSchema = external_exports.object({
27673
27675
  permissionModeId: harnessPermissionModeIdSchema.optional()
27674
27676
  }).strict();
27675
27677
 
27678
+ // ../../shared-contracts/dist/harness-launch-settings.js
27679
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
27680
+ var harnessLaunchSettingsGetSchema = external_exports.object({
27681
+ harnessId: harnessPluginIdSchema
27682
+ }).strict();
27683
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
27684
+ path: harnessLaunchPathSchema.nullable()
27685
+ });
27686
+ var harnessLaunchSettingsSchema = external_exports.object({
27687
+ path: harnessLaunchPathSchema.nullable(),
27688
+ restartRequired: external_exports.boolean()
27689
+ }).strict();
27690
+
27676
27691
  // ../../shared-contracts/dist/codex-accounts.js
27677
27692
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
27678
27693
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -28223,10 +28238,6 @@ function discoverySpec(variant) {
28223
28238
  }
28224
28239
  var qoderDiscoverySpec = discoverySpec("global");
28225
28240
  var qoderCnDiscoverySpec = discoverySpec("cn");
28226
- var qoderFallbackSpec = {
28227
- ...qoderDiscoverySpec,
28228
- command: "qoder"
28229
- };
28230
28241
  function resolveQoderExecutable(input = {}, dependencies = {}) {
28231
28242
  const platform = input.platform ?? process.platform;
28232
28243
  const cn3 = input.variant === "cn";
@@ -28236,11 +28247,7 @@ function resolveQoderExecutable(input = {}, dependencies = {}) {
28236
28247
  environment: input.environment ?? process.env,
28237
28248
  ...input.homeDirectory ? { homeDirectory: input.homeDirectory } : {},
28238
28249
  platform
28239
- }, dependencies) ?? (input.command !== void 0 ? void 0 : resolveHarnessExecutable(cn3 ? { ...spec, command: "qodercn" } : qoderFallbackSpec, {
28240
- environment: input.environment ?? process.env,
28241
- ...input.homeDirectory ? { homeDirectory: input.homeDirectory } : {},
28242
- platform
28243
- }, dependencies));
28250
+ }, dependencies);
28244
28251
  if (!resolution)
28245
28252
  throw new QoderExecutableError("Qoder CLI is not installed");
28246
28253
  return targetPath(platform).isAbsolute(resolution.executable) ? resolution.executable : path2.resolve(resolution.executable);
@@ -0,0 +1,29 @@
1
+ <svg width="130" height="130" viewBox="0 0 130 130" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_283_481)">
3
+ <rect width="130" height="130" rx="28.0526" fill="url(#paint0_linear_283_481)"/>
4
+ <g filter="url(#filter0_f_283_481)">
5
+ <circle cx="108.36" cy="141.759" r="41.8289" fill="#FFE355" fill-opacity="0.49" style="fill:#FFE355;fill:color(display-p3 1.0000 0.8891 0.3348);fill-opacity:0.49;"/>
6
+ </g>
7
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M99.4282 10.1638C100.703 9.02064 100.78 8.97669 101.714 8.92058C103.229 8.80992 104.616 9.53654 106.977 11.6861C112.493 16.6987 120.175 27.0043 124.95 35.8049L126.795 39.2201L129.401 40.5162C131.917 41.7875 136.044 44.394 137.767 45.7919C138.547 46.4365 138.657 46.4497 139.467 46.1344C143.125 44.7098 148.365 46.5984 152.987 51.0325C157.148 55.0201 161.133 61.833 162.659 67.5195C162.882 68.4346 163.178 70.4028 163.286 71.8681C163.634 77.013 161.984 81.1226 158.806 82.9826C158.158 83.3572 158.115 83.4591 158.133 85.0776C158.279 92.7829 156.202 100.474 152.03 107.974C147.32 116.396 138.933 125.107 127.583 133.315C121.488 137.751 107.067 146.153 100.547 149.102C84.9287 156.134 72.4081 158.831 61.5321 157.498C55.0448 156.712 47.7017 154.18 43.357 151.241C42.2133 150.45 42.0324 150.402 41.1585 150.652C36.5074 151.988 30.4158 149.242 25.241 143.498C23.177 141.202 19.8464 135.564 18.7664 132.547C16.2684 125.487 16.7648 119.115 20.0922 115.31C20.952 114.33 20.9796 114.289 20.7918 112.641C20.4817 109.943 20.3406 105.951 20.4823 103.375L20.5947 100.968L16.9813 94.5763C11.3858 84.6202 7.8314 76.2603 6.46025 69.8729C5.7364 66.3704 5.78144 64.8166 6.67051 63.6668C7.21161 62.9725 8.98625 62.2531 11.1257 61.858C16.5115 60.9125 28.2577 61.7685 41.3255 64.0757L42.6832 64.3101L45.6662 61.6722C50.6181 57.2859 53.9074 54.8262 59.9722 51.0446C66.2933 47.0897 73.4271 43.8362 81.4607 41.26L84.0384 40.4337L85.4554 36.7142C90.5286 23.3221 95.7238 13.4483 99.4282 10.1638ZM56.9346 78.7893C51.2012 82.0995 48.3345 83.7553 46.228 85.6101C37.6975 93.1218 34.5094 105.02 38.1411 115.791C39.038 118.45 40.6927 121.318 44.0029 127.051C47.3132 132.785 48.9688 135.651 50.8238 137.758C58.3355 146.288 70.2338 149.476 81.0044 145.845C83.664 144.948 86.5308 143.292 92.2642 139.982L125.248 120.939C130.981 117.629 133.848 115.974 135.955 114.119C144.485 106.607 147.673 94.7089 144.042 83.9384C143.145 81.2787 141.489 78.412 138.179 72.6785C134.869 66.9451 133.214 64.078 131.359 61.9714C123.847 53.4409 111.949 50.2528 101.178 53.8845C98.5186 54.7814 95.6515 56.4361 89.918 59.7463L56.9346 78.7893Z" fill="url(#paint1_linear_283_481)"/>
8
+ <rect x="60.1133" y="101.836" width="13.0294" height="27.061" rx="6.51468" transform="rotate(-30 60.1133 101.836)" fill="white" style="fill:white;fill-opacity:1;"/>
9
+ <rect x="95.2666" y="81.54" width="13.0294" height="27.061" rx="6.51468" transform="rotate(-30 95.2666 81.54)" fill="white" style="fill:white;fill-opacity:1;"/>
10
+ </g>
11
+ <defs>
12
+ <filter id="filter0_f_283_481" x="30.78" y="64.179" width="155.161" height="155.16" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
13
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
14
+ <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
15
+ <feGaussianBlur stdDeviation="17.8756" result="effect1_foregroundBlur_283_481"/>
16
+ </filter>
17
+ <linearGradient id="paint0_linear_283_481" x1="65" y1="0" x2="65" y2="130" gradientUnits="userSpaceOnUse">
18
+ <stop stop-color="#0EC8A9" style="stop-color:#0EC8A9;stop-color:color(display-p3 0.0565 0.7837 0.6625);stop-opacity:1;"/>
19
+ <stop offset="1" stop-color="#01C886" style="stop-color:#01C886;stop-color:color(display-p3 0.0021 0.7858 0.5246);stop-opacity:1;"/>
20
+ </linearGradient>
21
+ <linearGradient id="paint1_linear_283_481" x1="54.1591" y1="36.0036" x2="114.973" y2="141.337" gradientUnits="userSpaceOnUse">
22
+ <stop stop-color="white" stop-opacity="0.8" style="stop-color:white;stop-opacity:0.8;"/>
23
+ <stop offset="0.437689" stop-color="white" style="stop-color:white;stop-opacity:1;"/>
24
+ </linearGradient>
25
+ <clipPath id="clip0_283_481">
26
+ <rect width="130" height="130" rx="28.0526" fill="white" style="fill:white;fill-opacity:1;"/>
27
+ </clipPath>
28
+ </defs>
29
+ </svg>
@@ -0,0 +1,14 @@
1
+ {
2
+ "manifestVersion": 1,
3
+ "id": "workbuddy",
4
+ "name": "WorkBuddy",
5
+ "version": "0.0.0",
6
+ "launchCommand": true,
7
+ "links": {
8
+ "documentation": "https://www.workbuddy.ai/docs/zh/cli/acp",
9
+ "installation": "https://www.workbuddy.ai/docs/workbuddy/Quickstart"
10
+ },
11
+ "adapterApiVersion": 1,
12
+ "entry": "plugin.mjs",
13
+ "icon": "./assets/icon.svg"
14
+ }