replicas-engine 0.1.598 → 0.1.600

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/src/index.js CHANGED
@@ -1535,79 +1535,12 @@ var GITLAB_ABILITY = {
1535
1535
  referenceFile: { name: "GITLAB.md", content: REFERENCE4 }
1536
1536
  };
1537
1537
 
1538
- // ../shared/src/default-skills/replicas-agent/abilities/google.ts
1539
- var SECTION5 = `### Google Workspace and Search Console
1540
- Create and edit Docs, Sheets, and Forms, manage Replicas-created Drive files, and read Search Console through the workspace-scoped TypeScript SDK.
1541
-
1542
- **Reference:** \`references/GOOGLE.md\`
1543
-
1544
- Use this when:
1545
- - You need to create or edit a Google Doc, Sheet, or Form
1546
- - You need to manage a file Replicas created
1547
- - You need Google Search Console data`;
1548
- var REFERENCE5 = `# Google Workspace and Search Console
1549
-
1550
- Use \`@replicas/sdk\`; the workspace never receives Google OAuth credentials. Personal credentials are preferred for the workspace owner, then Replicas falls back to the organization connection.
1551
-
1552
- \`\`\`ts
1553
- import { replicas } from '@replicas/sdk';
1554
-
1555
- const { native } = await replicas.integrations.list();
1556
- if (!native.google) throw new Error('Connect Google in Replicas integrations first.');
1557
- \`\`\`
1558
-
1559
- Google Drive uses \`drive.file\`: Replicas can access only files it created, not pre-existing files in the account.
1560
-
1561
- ## Docs
1562
-
1563
- \`\`\`ts
1564
- const doc = await replicas.google.request<{ documentId: string }>('docs', {
1565
- method: 'POST',
1566
- body: { title: 'Meeting notes' },
1567
- });
1568
- await replicas.google.request(\`docs/\${doc.documentId}/batchUpdate\`, {
1569
- method: 'POST',
1570
- body: { requests: [{ insertText: { location: { index: 1 }, text: 'Hello\\n' } }] },
1571
- });
1572
- \`\`\`
1573
-
1574
- ## Sheets
1575
-
1576
- \`\`\`ts
1577
- const sheet = await replicas.google.request<{ spreadsheetId: string }>('sheets', {
1578
- method: 'POST',
1579
- body: { title: 'Q2 metrics' },
1580
- });
1581
- await replicas.google.request(
1582
- \`sheets/\${sheet.spreadsheetId}/values/\${encodeURIComponent('Sheet1!A1:B2')}?valueInputOption=USER_ENTERED\`,
1583
- { method: 'PUT', body: { values: [['Name', 'Revenue'], ['Q1', 100]] } },
1584
- );
1585
- \`\`\`
1586
-
1587
- ## Forms, Drive, and Search Console
1588
-
1589
- The same method maps directly to the guarded \`/v1/gdrive/*\` routes:
1590
-
1591
- - \`forms\`, \`forms/:id\`, \`forms/:id/batchUpdate\`, \`forms/:id/responses\`
1592
- - \`files\`, \`files/:id\`, \`files/:id/permissions\`
1593
- - \`search-console/sites\`, \`search-console/search-analytics/query\`, \`search-console/sitemaps\`, \`search-console/url-inspection\`
1594
-
1595
- Batch independent reads with \`Promise.all\`; use each API's batch-update endpoint for dependent writes.
1596
- `;
1597
- var GOOGLE_ABILITY = {
1598
- label: "Google Workspace",
1599
- description: "Use Docs, Sheets, Forms, Drive, and Search Console through @replicas/sdk.",
1600
- bullet: "- Interacting with Google Workspace or Search Console",
1601
- section: SECTION5,
1602
- referenceFile: { name: "GOOGLE.md", content: REFERENCE5 }
1603
- };
1604
-
1605
1538
  // ../shared/src/default-skills/replicas-agent/abilities/learnings.ts
1606
- var SECTION6 = `### Learnings
1539
+ var SECTION5 = `### Learnings
1607
1540
  Propose additions, updates, or deletions to curated organization knowledge.
1608
1541
 
1609
1542
  **Reference:** \`references/LEARNINGS.md\``;
1610
- var REFERENCE6 = `# Learnings
1543
+ var REFERENCE5 = `# Learnings
1611
1544
 
1612
1545
  Learnings are curated, human-approved knowledge entries your organization maintains: conventions, gotchas, environment facts, and process rules.
1613
1546
 
@@ -1625,12 +1558,12 @@ var LEARNINGS_ABILITY = {
1625
1558
  label: "Learnings",
1626
1559
  description: "Propose changes to curated org knowledge for human review.",
1627
1560
  bullet: "- Proposing changes to organization Learnings (curated, human-approved knowledge)",
1628
- section: SECTION6,
1629
- referenceFile: { name: "LEARNINGS.md", content: REFERENCE6 }
1561
+ section: SECTION5,
1562
+ referenceFile: { name: "LEARNINGS.md", content: REFERENCE5 }
1630
1563
  };
1631
1564
 
1632
1565
  // ../shared/src/default-skills/replicas-agent/abilities/linear.ts
1633
- var SECTION7 = `### Linear
1566
+ var SECTION6 = `### Linear
1634
1567
  Fetch issues, update state, add comments, and search through the workspace-scoped TypeScript SDK.
1635
1568
 
1636
1569
  **Reference:** \`references/LINEAR.md\`
@@ -1639,7 +1572,7 @@ Use this when:
1639
1572
  - You encounter a Linear issue link and need to understand the task
1640
1573
  - You need to update an issue's state or add a comment
1641
1574
  - You need to search Linear issues`;
1642
- var REFERENCE7 = `# Linear Integration
1575
+ var REFERENCE6 = `# Linear Integration
1643
1576
 
1644
1577
  Use \`@replicas/sdk\`; never request or handle a Linear OAuth token. Replicas refreshes the organization credential behind the gateway.
1645
1578
 
@@ -1689,12 +1622,12 @@ var LINEAR_ABILITY = {
1689
1622
  label: "Linear",
1690
1623
  description: "Fetch issues, comment, and update state through @replicas/sdk.",
1691
1624
  bullet: "- Interacting with Linear (fetching issues, updating state, commenting, etc.)",
1692
- section: SECTION7,
1693
- referenceFile: { name: "LINEAR.md", content: REFERENCE7 }
1625
+ section: SECTION6,
1626
+ referenceFile: { name: "LINEAR.md", content: REFERENCE6 }
1694
1627
  };
1695
1628
 
1696
1629
  // ../shared/src/default-skills/replicas-agent/abilities/media.ts
1697
- var SECTION8 = `### Media
1630
+ var SECTION7 = `### Media
1698
1631
  Share screenshots, screen recordings, generated diagrams, audio clips, and self-contained HTML pages through Replicas and external messages.
1699
1632
 
1700
1633
  **Reference:** \`references/MEDIA.md\`
@@ -1704,7 +1637,7 @@ Use this when:
1704
1637
  - You produce a self-contained HTML report that should be linked from a pull request
1705
1638
  - You record video output (browser automation, screen capture) \u2014 including the recommended aspect ratio and FPS
1706
1639
  - You need to embed media in a Slack/Linear/GitHub message AND keep a referenceable copy in the Replicas dashboard`;
1707
- var REFERENCE8 = `# Media (Screenshots, Recordings, Audio, HTML)
1640
+ var REFERENCE7 = `# Media (Screenshots, Recordings, Audio, HTML)
1708
1641
 
1709
1642
  This guide covers how to share screenshots, screen recordings, generated diagrams, audio clips, and self-contained HTML pages through Replicas and external surfaces (Slack, Linear, GitHub).
1710
1643
 
@@ -2010,12 +1943,12 @@ var MEDIA_ABILITY = {
2010
1943
  label: "Media",
2011
1944
  description: "Share screenshots, recordings, generated images, audio clips, and HTML pages.",
2012
1945
  bullet: "- Producing or showing the user any media \u2014 screenshots, screen recordings, generated images or diagrams, audio clips, or HTML recap pages \u2014 including in your Replicas chat reply, PR descriptions/comments, and other external platforms",
2013
- section: SECTION8,
2014
- referenceFile: { name: "MEDIA.md", content: REFERENCE8 }
1946
+ section: SECTION7,
1947
+ referenceFile: { name: "MEDIA.md", content: REFERENCE7 }
2015
1948
  };
2016
1949
 
2017
1950
  // ../shared/src/default-skills/replicas-agent/abilities/previews.ts
2018
- var SECTION9 = `### Previews
1951
+ var SECTION8 = `### Previews
2019
1952
  Expose locally running services (web apps, APIs, databases) as public preview URLs so humans can interact with them directly.
2020
1953
 
2021
1954
  **Reference:** \`references/PREVIEWS.md\`
@@ -2024,7 +1957,7 @@ Use this when:
2024
1957
  - You need to start a service that a human should view or interact with
2025
1958
  - The task involves UI work that benefits from human review
2026
1959
  - You are verifying frontend/backend integrations visually`;
2027
- var REFERENCE9 = `# Preview URLs
1960
+ var REFERENCE8 = `# Preview URLs
2028
1961
 
2029
1962
  When you run services on ports \u2014 such as a web app, API server, or database \u2014 humans may want to interact with them directly. You can expose your locally running services as public preview URLs.
2030
1963
 
@@ -2100,12 +2033,12 @@ var PREVIEWS_ABILITY = {
2100
2033
  label: "Previews",
2101
2034
  description: "Expose locally running services on public preview URLs for humans.",
2102
2035
  bullet: "- Creating preview URLs for locally running services",
2103
- section: SECTION9,
2104
- referenceFile: { name: "PREVIEWS.md", content: REFERENCE9 }
2036
+ section: SECTION8,
2037
+ referenceFile: { name: "PREVIEWS.md", content: REFERENCE8 }
2105
2038
  };
2106
2039
 
2107
2040
  // ../shared/src/default-skills/replicas-agent/abilities/plugins.ts
2108
- var SECTION10 = `### Plugins
2041
+ var SECTION9 = `### Plugins
2109
2042
  Discover and execute installed marketplace tools through the workspace-scoped TypeScript SDK.
2110
2043
 
2111
2044
  **Reference:** \`references/PLUGINS.md\`
@@ -2115,7 +2048,7 @@ Use this when:
2115
2048
  - The user asks for Google Ads, Docs, Drive, Search Console, or Sheets data
2116
2049
  - The user asks for ClickHouse analytics or PostHog product data
2117
2050
  - The user asks for Stripe customers, payments, invoices, subscriptions, or balances`;
2118
- var REFERENCE10 = `# Plugins
2051
+ var REFERENCE9 = `# Plugins
2119
2052
 
2120
2053
  Plugins are TypeScript libraries, not MCP servers. Import \`@replicas/sdk\`; Replicas authenticates the workspace and selects only the owner\u2019s personal connection or the organization fallback. Composio credentials, sessions, and project keys are never exposed.
2121
2054
 
@@ -2172,12 +2105,12 @@ var PLUGINS_ABILITY = {
2172
2105
  label: "Plugins",
2173
2106
  description: "Use installed marketplace tools through @replicas/sdk.",
2174
2107
  bullet: "- Interacting with installed marketplace plugins through TypeScript",
2175
- section: SECTION10,
2176
- referenceFile: { name: "PLUGINS.md", content: REFERENCE10 }
2108
+ section: SECTION9,
2109
+ referenceFile: { name: "PLUGINS.md", content: REFERENCE9 }
2177
2110
  };
2178
2111
 
2179
2112
  // ../shared/src/default-skills/replicas-agent/abilities/replicas.ts
2180
- var SECTION11 = `### Replicas (in-workspace CLI)
2113
+ var SECTION10 = `### Replicas (in-workspace CLI)
2181
2114
  Take action *with* Replicas itself \u2014 manage automations, environments (variables, files), repos, and \`replicas.json\` config \u2014 using the pre-installed, pre-authenticated \`replicas\` CLI.
2182
2115
 
2183
2116
  **Reference:** \`references/REPLICAS.md\`
@@ -2188,7 +2121,7 @@ Use this when:
2188
2121
  - The user asks "what envs / repos / automations do I have?"
2189
2122
  - The user asks you to scaffold a \`replicas.json\` / \`replicas.yaml\` in a repo
2190
2123
  - You need to run a long-lived service (dev server, daemon) \u2014 always use \`replicas service start\` so it survives workspace sleep/wake`;
2191
- var REFERENCE11 = `# Replicas (in-workspace CLI)
2124
+ var REFERENCE10 = `# Replicas (in-workspace CLI)
2192
2125
 
2193
2126
  This guide covers how to take action *with* Replicas itself from inside a Replicas workspace \u2014 managing automations, environments (and their variables/files), repos, previews, and the user's \`replicas.json\` config \u2014 using the pre-installed \`replicas\` CLI.
2194
2127
 
@@ -2415,13 +2348,13 @@ var REPLICAS_ABILITY = {
2415
2348
  description: "Teach the agent about Replicas itself \u2014 automations, environments, the in-workspace CLI.",
2416
2349
  // No bullet — help_instructions covers the `replicas` CLI surface in detail.
2417
2350
  bullet: "",
2418
- section: SECTION11,
2419
- referenceFile: { name: "REPLICAS.md", content: REFERENCE11 },
2351
+ section: SECTION10,
2352
+ referenceFile: { name: "REPLICAS.md", content: REFERENCE10 },
2420
2353
  locked: true
2421
2354
  };
2422
2355
 
2423
2356
  // ../shared/src/default-skills/replicas-agent/abilities/sentry.ts
2424
- var SECTION12 = `### Sentry
2357
+ var SECTION11 = `### Sentry
2425
2358
  Read issues and project data through the workspace-scoped TypeScript SDK.
2426
2359
 
2427
2360
  **Reference:** \`references/SENTRY.md\`
@@ -2429,7 +2362,7 @@ Read issues and project data through the workspace-scoped TypeScript SDK.
2429
2362
  Use this when:
2430
2363
  - You need to inspect Sentry projects or issues
2431
2364
  - A user asks for error-monitoring context outside a webhook-triggered task`;
2432
- var REFERENCE12 = `# Sentry Integration
2365
+ var REFERENCE11 = `# Sentry Integration
2433
2366
 
2434
2367
  Use \`@replicas/sdk\`; never request or read a Sentry token. Sentry access is organization-scoped and read-only.
2435
2368
 
@@ -2448,12 +2381,12 @@ var SENTRY_ABILITY = {
2448
2381
  label: "Sentry",
2449
2382
  description: "Read Sentry projects and issues through @replicas/sdk.",
2450
2383
  bullet: "- Interacting with Sentry (reading projects, issues, and error context)",
2451
- section: SECTION12,
2452
- referenceFile: { name: "SENTRY.md", content: REFERENCE12 }
2384
+ section: SECTION11,
2385
+ referenceFile: { name: "SENTRY.md", content: REFERENCE11 }
2453
2386
  };
2454
2387
 
2455
2388
  // ../shared/src/default-skills/replicas-agent/abilities/slack.ts
2456
- var SECTION13 = `### Slack
2389
+ var SECTION12 = `### Slack
2457
2390
  Send messages, read threads, search conversations, and upload files through the workspace-scoped TypeScript SDK.
2458
2391
 
2459
2392
  **Reference:** \`references/SLACK.md\`
@@ -2462,7 +2395,7 @@ Use this when:
2462
2395
  - You need to send a message to a Slack channel or thread
2463
2396
  - You need to read or search Slack conversations
2464
2397
  - You encounter a Slack message link and need its full thread`;
2465
- var REFERENCE13 = `# Slack Integration
2398
+ var REFERENCE12 = `# Slack Integration
2466
2399
 
2467
2400
  Use \`@replicas/sdk\`; never read or send a Slack token directly. The SDK calls Replicas, which selects only this workspace's organization connection.
2468
2401
 
@@ -2514,8 +2447,8 @@ var SLACK_ABILITY = {
2514
2447
  label: "Slack",
2515
2448
  description: "Send messages, read threads, and search through @replicas/sdk.",
2516
2449
  bullet: "- Interacting with Slack (sending messages, reading threads, etc.)",
2517
- section: SECTION13,
2518
- referenceFile: { name: "SLACK.md", content: REFERENCE13 }
2450
+ section: SECTION12,
2451
+ referenceFile: { name: "SLACK.md", content: REFERENCE12 }
2519
2452
  };
2520
2453
 
2521
2454
  // ../shared/src/default-skills/replicas-agent/registry.ts
@@ -2525,7 +2458,6 @@ var REPLICAS_AGENT_ABILITY_REGISTRY = {
2525
2458
  docker: DOCKER_ABILITY,
2526
2459
  github: GITHUB_ABILITY,
2527
2460
  gitlab: GITLAB_ABILITY,
2528
- google: GOOGLE_ABILITY,
2529
2461
  learnings: LEARNINGS_ABILITY,
2530
2462
  linear: LINEAR_ABILITY,
2531
2463
  media: MEDIA_ABILITY,
@@ -7010,7 +6942,6 @@ function createDefaultDetails() {
7010
6942
  slackAccessConfigured: false,
7011
6943
  githubAccessConfigured: false,
7012
6944
  gitlabAccessConfigured: false,
7013
- googleAccessConfigured: false,
7014
6945
  claudeAuthMethod: "none",
7015
6946
  codexAuthMethod: "none",
7016
6947
  cursorAuthMethod: "none",
@@ -7026,6 +6957,7 @@ async function readDetails() {
7026
6957
  }
7027
6958
  const raw = await readFile4(DETAILS_FILE, "utf-8");
7028
6959
  const parsed = JSON.parse(raw);
6960
+ delete parsed.googleAccessConfigured;
7029
6961
  return { ...createDefaultDetails(), ...parsed };
7030
6962
  } catch {
7031
6963
  return createDefaultDetails();
@@ -10737,7 +10669,7 @@ var DEFAULT_CODEX_ARGS = ["app-server", "--listen", "stdio://"];
10737
10669
  var MIN_CODEX_CLI_VERSION = "0.144.6";
10738
10670
  var CODEX_UPGRADE_TIMEOUT_MS = 12e4;
10739
10671
  var codexCliVersionEnsured = null;
10740
- var ENGINE_PACKAGE_VERSION = "0.1.598";
10672
+ var ENGINE_PACKAGE_VERSION = "0.1.600";
10741
10673
  var INITIALIZE_METHOD = "initialize";
10742
10674
  var INITIALIZED_NOTIFICATION = "initialized";
10743
10675
  var ACCOUNT_LOGIN_START_METHOD = "account/login/start";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-engine",
3
- "version": "0.1.598",
3
+ "version": "0.1.600",
4
4
  "description": "Lightweight API server for Replicas workspaces",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -79,16 +79,6 @@ const slack = {
79
79
  }),
80
80
  };
81
81
 
82
- const google = {
83
- request(path, options = {}) {
84
- const normalized = path.startsWith('/v1/gdrive/')
85
- ? path
86
- : `/v1/gdrive/${path.replace(/^\/+/, '')}`;
87
- if (!normalized.startsWith('/v1/gdrive/')) throw new Error('Google paths must use the Replicas Google gateway');
88
- return request(normalized, options);
89
- },
90
- };
91
-
92
82
  const github = {
93
83
  request: (path, options = {}) =>
94
84
  request('/v1/engine/github/api', {
@@ -114,5 +104,5 @@ const sentry = {
114
104
  request: (path) => request('/v1/engine/sentry/api', { method: 'POST', body: { path } }),
115
105
  };
116
106
 
117
- export const replicas = { integrations, plugins, linear, slack, google, github, gitlab, sentry };
107
+ export const replicas = { integrations, plugins, linear, slack, github, gitlab, sentry };
118
108
  export default replicas;
@@ -4,7 +4,6 @@ export interface NativeIntegrationStatus {
4
4
  gitlab: boolean;
5
5
  linear: boolean;
6
6
  slack: boolean;
7
- google: boolean;
8
7
  }
9
8
  export interface WorkspaceNativeIntegrationStatus extends NativeIntegrationStatus {
10
9
  sentry: boolean;
@@ -4,78 +4,91 @@ export declare const PLUGIN_CATALOG: readonly [{
4
4
  readonly id: "attio";
5
5
  readonly toolkit: "attio";
6
6
  readonly authType: "oauth";
7
+ readonly category: "business";
7
8
  readonly name: "Attio";
8
9
  readonly description: "Search CRM records, people, companies, lists, and notes.";
9
10
  }, {
10
11
  readonly id: "clickhouse";
11
12
  readonly toolkit: "clickhouse";
12
13
  readonly authType: "basic";
14
+ readonly category: "data";
13
15
  readonly name: "ClickHouse";
14
16
  readonly description: "Inspect databases, tables, schemas, and query results.";
15
17
  }, {
16
18
  readonly id: "cloudflare";
17
19
  readonly toolkit: "cloudflare_api_key";
18
20
  readonly authType: "api_key";
21
+ readonly category: "data";
19
22
  readonly name: "Cloudflare";
20
23
  readonly description: "Inspect zones, DNS records, analytics, and security settings.";
21
24
  }, {
22
25
  readonly id: "googleads";
23
26
  readonly toolkit: "googleads";
24
27
  readonly authType: "oauth";
28
+ readonly category: "data";
25
29
  readonly name: "Google Ads";
26
30
  readonly description: "Inspect campaigns, customers, accounts, and reporting data.";
27
31
  }, {
28
32
  readonly id: "googledocs";
29
33
  readonly toolkit: "googledocs";
30
34
  readonly authType: "oauth";
35
+ readonly category: "productivity";
31
36
  readonly name: "Google Docs";
32
37
  readonly description: "Read documents, structure, comments, and exported content.";
33
38
  }, {
34
39
  readonly id: "googledrive";
35
40
  readonly toolkit: "googledrive";
36
41
  readonly authType: "oauth";
42
+ readonly category: "productivity";
37
43
  readonly name: "Google Drive";
38
44
  readonly description: "Search files, folders, metadata, permissions, and shared drives.";
39
45
  }, {
40
46
  readonly id: "googlesearch";
41
47
  readonly toolkit: "google_search_console";
42
48
  readonly authType: "oauth";
49
+ readonly category: "data";
43
50
  readonly name: "Google Search";
44
51
  readonly description: "Inspect Search Console performance, indexing, sites, and sitemaps.";
45
52
  }, {
46
53
  readonly id: "googlesheets";
47
54
  readonly toolkit: "googlesheets";
48
55
  readonly authType: "oauth";
56
+ readonly category: "productivity";
49
57
  readonly name: "Google Sheets";
50
58
  readonly description: "Read spreadsheets, worksheets, ranges, tables, and charts.";
51
59
  }, {
52
60
  readonly id: "linkedin";
53
61
  readonly toolkit: "linkedin";
54
62
  readonly authType: "oauth";
63
+ readonly category: "business";
55
64
  readonly name: "LinkedIn";
56
65
  readonly description: "Inspect profiles, organizations, posts, and professional activity.";
57
66
  }, {
58
67
  readonly id: "posthog";
59
68
  readonly toolkit: "posthog";
60
69
  readonly authType: "api_key";
70
+ readonly category: "data";
61
71
  readonly name: "PostHog";
62
72
  readonly description: "Inspect projects, events, insights, dashboards, flags, and recordings.";
63
73
  }, {
64
74
  readonly id: "stripe";
65
75
  readonly toolkit: "stripe";
66
76
  readonly authType: "oauth";
77
+ readonly category: "business";
67
78
  readonly name: "Stripe";
68
79
  readonly description: "Inspect customers, payments, invoices, subscriptions, and balances.";
69
80
  }];
70
81
  export type PluginId = (typeof PLUGIN_CATALOG)[number]['id'];
71
82
  export type PluginScope = 'organization' | 'personal';
72
83
  export type PluginAuthType = (typeof PLUGIN_CATALOG)[number]['authType'];
84
+ export type PluginCategory = (typeof PLUGIN_CATALOG)[number]['category'];
73
85
  export declare const PLUGIN_CONNECTION_STATUSES: readonly ["initiated", "active", "expired", "failed"];
74
86
  export type PluginConnectionStatus = (typeof PLUGIN_CONNECTION_STATUSES)[number];
75
87
  export interface PluginCatalogItem {
76
88
  id: PluginId;
77
89
  toolkit: string;
78
90
  authType: PluginAuthType;
91
+ category: PluginCategory;
79
92
  name: string;
80
93
  description: string;
81
94
  }
@@ -37,13 +37,6 @@ export interface ReplicasSdk {
37
37
  };
38
38
  }>;
39
39
  };
40
- google: {
41
- request<T = unknown>(path: string, options?: {
42
- method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
43
- body?: unknown;
44
- headers?: HeadersInit;
45
- }): Promise<T>;
46
- };
47
40
  github: {
48
41
  request<T = unknown>(path: string, options?: ProviderRequestOptions): Promise<T>;
49
42
  };