mirror of
https://github.com/eliasstepanik/core.git
synced 2026-01-11 09:38:27 +00:00
Feat: add slack integration
This commit is contained in:
parent
a66a472112
commit
3f0a4b38ec
@ -1,4 +1,4 @@
|
||||
VERSION=0.1.10
|
||||
VERSION=0.1.11
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,21 +1,38 @@
|
||||
import { createActionApiRoute } from "~/services/routeBuilders/apiBuilder.server";
|
||||
import { callbackHandler } from "~/services/oauth/oauth.server";
|
||||
import type { CallbackParams } from "~/services/oauth/oauth-utils.server";
|
||||
import { type LoaderFunctionArgs } from "@remix-run/node";
|
||||
|
||||
// This route handles the OAuth callback, similar to the NestJS controller
|
||||
const { loader } = createActionApiRoute(
|
||||
{
|
||||
allowJWT: false,
|
||||
corsStrategy: "all",
|
||||
},
|
||||
async ({ request }) => {
|
||||
export async function loader({ request }: LoaderFunctionArgs) {
|
||||
// Handle CORS preflight
|
||||
if (request.method.toUpperCase() === "OPTIONS") {
|
||||
return new Response(null, {
|
||||
status: 200,
|
||||
headers: {
|
||||
"Access-Control-Allow-Origin": "*",
|
||||
"Access-Control-Allow-Methods": "GET, OPTIONS",
|
||||
"Access-Control-Allow-Headers": "Content-Type",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// Only allow GET requests
|
||||
if (request.method.toUpperCase() !== "GET") {
|
||||
return new Response("Method Not Allowed", {
|
||||
status: 405,
|
||||
headers: { Allow: "GET" }
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
const url = new URL(request.url);
|
||||
const params: CallbackParams = {};
|
||||
for (const [key, value] of url.searchParams.entries()) {
|
||||
params[key] = value;
|
||||
}
|
||||
return await callbackHandler(params);
|
||||
},
|
||||
);
|
||||
|
||||
export { loader };
|
||||
} catch (error) {
|
||||
console.error("OAuth callback error:", error);
|
||||
return new Response("Internal Server Error", { status: 500 });
|
||||
}
|
||||
}
|
||||
@ -271,10 +271,33 @@ export const fetchAndSaveStdioIntegrations = async () => {
|
||||
continue;
|
||||
}
|
||||
|
||||
const content = await response.text();
|
||||
// Check if the response is binary (executable) or text
|
||||
const contentType = response.headers.get("content-type");
|
||||
const isBinary =
|
||||
contentType &&
|
||||
(contentType.includes("application/octet-stream") ||
|
||||
contentType.includes("application/executable") ||
|
||||
contentType.includes("application/x-executable") ||
|
||||
contentType.includes("binary") ||
|
||||
!contentType.includes("text/"));
|
||||
|
||||
let content: string | Buffer;
|
||||
|
||||
if (isBinary) {
|
||||
// Handle binary files
|
||||
const arrayBuffer = await response.arrayBuffer();
|
||||
content = Buffer.from(arrayBuffer);
|
||||
} else {
|
||||
// Handle text files
|
||||
content = await response.text();
|
||||
}
|
||||
|
||||
// Save the content to the target file
|
||||
fs.writeFileSync(targetFile, content);
|
||||
if (typeof content === "string") {
|
||||
fs.writeFileSync(targetFile, content);
|
||||
} else {
|
||||
fs.writeFileSync(targetFile, content);
|
||||
}
|
||||
|
||||
// Make the file executable if it's a script
|
||||
if (process.platform !== "win32") {
|
||||
|
||||
@ -19,8 +19,21 @@ export const createIntegrationAccount = async ({
|
||||
config?: Record<string, any>;
|
||||
settings?: Record<string, any>;
|
||||
}) => {
|
||||
return prisma.integrationAccount.create({
|
||||
data: {
|
||||
return prisma.integrationAccount.upsert({
|
||||
where: {
|
||||
accountId_integrationDefinitionId_workspaceId: {
|
||||
accountId,
|
||||
integrationDefinitionId,
|
||||
workspaceId,
|
||||
},
|
||||
},
|
||||
update: {
|
||||
integrationConfiguration: config || {},
|
||||
settings: settings || {},
|
||||
isActive: true,
|
||||
deleted: null,
|
||||
},
|
||||
create: {
|
||||
accountId,
|
||||
integrationDefinitionId,
|
||||
integratedById: userId,
|
||||
|
||||
@ -43,7 +43,7 @@ services:
|
||||
|
||||
postgres:
|
||||
container_name: core-postgres
|
||||
image: postgres:15
|
||||
image: redplanethq/postgres:0.1.0
|
||||
environment:
|
||||
- POSTGRES_USER=${POSTGRES_USER}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
# Automation Workflow Use Cases
|
||||
|
||||
## Persona-Based Automation Workflows
|
||||
|
||||
This document outlines high-impact automation workflows for different personas using our supported integrations: Slack, Github, Google Drive, Linear, Calendar, Claude Code, and Gmail.
|
||||
|
||||
| Rule Name | Description | Persona | Integrations | Importance |
|
||||
|-----------|-------------|---------|-------------|------------|
|
||||
| **Code Review Prioritizer** | Automatically prioritize and assign code reviews based on PR size, dependencies, and team availability | Developer | Github, Slack, Calendar | 9.7 |
|
||||
| **PR to Deployment Tracker** | Track PRs from submission to deployment, notifying stakeholders at each stage with estimated completion times | Developer | Github, Slack, Linear | 9.5 |
|
||||
| **Standup Automator** | Collect daily updates from commit messages and Linear tasks, post summaries to team Slack channel before standups | Developer | Github, Linear, Slack | 9.3 |
|
||||
| **Technical Debt Tracker** | Auto-identify technical debt from code comments and Linear tickets, creating weekly summaries with prioritization suggestions | Developer | Github, Linear, Slack | 9.2 |
|
||||
| **Code Documentation Generator** | Use Claude Code to auto-generate documentation from code changes, adding to Google Drive knowledge base | Developer | Github, Claude Code, Google Drive | 9.1 |
|
||||
| **Sprint Planning Assistant** | Collect Linear backlog items, analyze GitHub PRs, and create pre-populated sprint planning documents | Product Manager | Linear, Github, Google Drive | 9.8 |
|
||||
| **Feature Impact Dashboard** | Track feature usage metrics from analytics, connect to Linear tickets, and generate impact reports | Product Manager | Linear, Gmail, Google Drive | 9.6 |
|
||||
| **Customer Feedback Connector** | Route customer feedback from Gmail to appropriate Linear tickets and notify product team in Slack | Product Manager | Gmail, Linear, Slack | 9.5 |
|
||||
| **Release Notes Automator** | Generate release notes from Linear tickets and GitHub PRs, distribute via Slack and email | Product Manager | Linear, Github, Slack, Gmail | 9.4 |
|
||||
| **Meeting Effectiveness Tracker** | Monitor calendar events, auto-document action items in Linear, and track follow-through | Product Manager | Calendar, Linear, Slack | 9.2 |
|
||||
| **Investor Update Compiler** | Aggregate key metrics from various sources into monthly investor update templates | Founder | Google Drive, Linear, Gmail | 9.9 |
|
||||
| **Competitive Intelligence Monitor** | Monitor competitor activities from various sources, creating summaries with Claude Code | Founder | Gmail, Claude Code, Google Drive | 9.7 |
|
||||
| **Strategic Alignment Tracker** | Connect company OKRs to actual work items in Linear, creating executive dashboards | Founder | Linear, Google Drive, Slack | 9.6 |
|
||||
| **Board Meeting Automator** | Collect data for board meetings, pre-populate slides, and send reminders with preparation materials | Founder | Calendar, Google Drive, Gmail | 9.5 |
|
||||
| **Team Pulse Monitor** | Analyze communication patterns and work distribution to identify burnout risks | Founder | Slack, Github, Linear | 9.3 |
|
||||
| **Deal Stage Progression** | Move deals through pipeline stages based on email interactions and scheduled meetings | Sales | Gmail, Calendar, Slack | 9.8 |
|
||||
| **Proposal Generator** | Auto-generate customized proposals using templates and client-specific data | Sales | Google Drive, Gmail, Claude Code | 9.7 |
|
||||
| **Meeting Follow-up Orchestrator** | Schedule and personalize follow-ups based on meeting notes and conversation topics | Sales | Calendar, Gmail, Slack | 9.6 |
|
||||
| **Competitive Deal Intelligence** | Alert sales team when competitors are mentioned in prospect communications | Sales | Gmail, Slack, Claude Code | 9.4 |
|
||||
| **Customer Success Handoff** | Automate post-sale transition with documentation, training materials, and onboarding schedules | Sales | Gmail, Google Drive, Calendar | 9.3 |
|
||||
@ -1,207 +0,0 @@
|
||||
# OAuth Integration Webhook Implementation
|
||||
|
||||
This document describes the implementation of webhook notifications for OAuth applications when users connect new integrations, following the existing trigger-based architecture.
|
||||
|
||||
## Architecture
|
||||
|
||||
The implementation follows the established pattern used in the Echo system:
|
||||
|
||||
- **Integration Creation**: Happens in `integration-run` trigger
|
||||
- **Webhook Delivery**: Uses dedicated trigger task for asynchronous processing
|
||||
- **Error Handling**: Non-blocking - webhook failures don't affect integration creation
|
||||
|
||||
## Implementation Components
|
||||
|
||||
### 1. OAuth Integration Webhook Delivery Task
|
||||
|
||||
**File**: `apps/webapp/app/trigger/webhooks/oauth-integration-webhook-delivery.ts`
|
||||
|
||||
This is a dedicated trigger task that handles webhook delivery to OAuth applications:
|
||||
|
||||
```typescript
|
||||
export const oauthIntegrationWebhookTask = task({
|
||||
id: "oauth-integration-webhook-delivery",
|
||||
queue: oauthIntegrationWebhookQueue,
|
||||
run: async (payload: OAuthIntegrationWebhookPayload) => {
|
||||
// Implementation
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
**Key Features**:
|
||||
|
||||
- Finds OAuth clients with `integration` scope for the user
|
||||
- Sends webhook notifications with integration details
|
||||
- Includes HMAC signature verification
|
||||
- Provides detailed delivery status tracking
|
||||
- Non-blocking error handling
|
||||
|
||||
### 2. Integration into Integration-Run Trigger
|
||||
|
||||
**File**: `apps/webapp/app/trigger/integrations/integration-run.ts`
|
||||
|
||||
Modified the `handleAccountMessage` function to trigger webhook notifications:
|
||||
|
||||
```typescript
|
||||
async function handleAccountMessage(...) {
|
||||
// Create integration account
|
||||
const integrationAccount = await createIntegrationAccount({...});
|
||||
|
||||
// Trigger OAuth integration webhook notifications
|
||||
try {
|
||||
await triggerOAuthIntegrationWebhook(integrationAccount.id, userId);
|
||||
} catch (error) {
|
||||
// Log error but don't fail integration creation
|
||||
}
|
||||
|
||||
return integrationAccount;
|
||||
}
|
||||
```
|
||||
|
||||
**Integration Points**:
|
||||
|
||||
- Triggered after successful integration account creation
|
||||
- Works for all integration types (OAuth, API key, MCP)
|
||||
- Maintains existing integration creation flow
|
||||
|
||||
## Webhook Flow
|
||||
|
||||
### 1. Integration Connection
|
||||
|
||||
When a user connects a new integration:
|
||||
|
||||
1. Integration runs through `IntegrationEventType.SETUP`
|
||||
2. CLI returns "account" message
|
||||
3. `handleAccountMessage` creates integration account
|
||||
4. `triggerOAuthIntegrationWebhook` is called
|
||||
5. Webhook delivery task is queued
|
||||
|
||||
### 2. Webhook Delivery
|
||||
|
||||
The webhook delivery task:
|
||||
|
||||
1. Queries OAuth clients with:
|
||||
- `integration` scope in `allowedScopes`
|
||||
- Active `OAuthIntegrationGrant` for the user
|
||||
- Configured `webhookUrl`
|
||||
2. Sends HTTP POST to each webhook URL
|
||||
3. Logs delivery results
|
||||
|
||||
### 3. Webhook Payload
|
||||
|
||||
```json
|
||||
{
|
||||
"event": "integration.connected",
|
||||
"user_id": "user_uuid",
|
||||
"integration": {
|
||||
"id": "integration_account_uuid",
|
||||
"provider": "linear",
|
||||
"account_id": "external_account_id",
|
||||
"mcp_endpoint": "mcp://core.ai/linear/external_account_id",
|
||||
"name": "Linear",
|
||||
"icon": "https://example.com/linear-icon.png"
|
||||
},
|
||||
"timestamp": "2024-01-15T10:30:00.000Z"
|
||||
}
|
||||
```
|
||||
|
||||
## Security Features
|
||||
|
||||
### HMAC Signature
|
||||
|
||||
If OAuth client has `webhookSecret` configured:
|
||||
|
||||
```typescript
|
||||
const signature = crypto
|
||||
.createHmac("sha256", client.webhookSecret)
|
||||
.update(payloadString)
|
||||
.digest("hex");
|
||||
headers["X-Webhook-Secret"] = signature;
|
||||
```
|
||||
|
||||
### Headers
|
||||
|
||||
- `Content-Type: application/json`
|
||||
- `User-Agent: Echo-OAuth-Webhooks/1.0`
|
||||
- `X-Webhook-Delivery: ${deliveryId}`
|
||||
- `X-Webhook-Event: integration.connected`
|
||||
- `X-Webhook-Secret: ${signature}` (if secret configured)
|
||||
|
||||
## Error Handling
|
||||
|
||||
### Non-Blocking Design
|
||||
|
||||
- Webhook delivery failures do NOT affect integration creation
|
||||
- Errors are logged but don't throw exceptions
|
||||
- Integration process continues normally
|
||||
|
||||
### Retry Strategy
|
||||
|
||||
Currently, the system uses Trigger.dev's built-in retry mechanism:
|
||||
|
||||
- Failed webhook deliveries will be retried automatically
|
||||
- Exponential backoff for temporary failures
|
||||
- Dead letter queue for permanent failures
|
||||
|
||||
### Logging
|
||||
|
||||
Comprehensive logging includes:
|
||||
|
||||
- Integration account details
|
||||
- OAuth client information
|
||||
- HTTP response status and body
|
||||
- Error messages and stack traces
|
||||
- Delivery success/failure counts
|
||||
|
||||
## Database Requirements
|
||||
|
||||
The implementation requires these existing database relationships:
|
||||
|
||||
### OAuthClient
|
||||
|
||||
- `webhookUrl`: Target URL for notifications
|
||||
- `webhookSecret`: Optional HMAC secret
|
||||
- `allowedScopes`: Must include "integration"
|
||||
|
||||
### OAuthIntegrationGrant
|
||||
|
||||
- Links OAuth clients to users
|
||||
- `isActive`: Must be true for notifications
|
||||
- `userId`: Target user for the integration
|
||||
|
||||
### IntegrationAccount
|
||||
|
||||
- Created during integration setup
|
||||
- Includes `integrationDefinition` relationship
|
||||
- Contains provider-specific configuration
|
||||
|
||||
## Testing
|
||||
|
||||
To test the webhook delivery:
|
||||
|
||||
1. **Create OAuth Client** with integration scope:
|
||||
|
||||
```sql
|
||||
UPDATE "OAuthClient"
|
||||
SET "allowedScopes" = 'profile,email,openid,integration',
|
||||
"webhookUrl" = 'https://your-webhook-endpoint.com/webhooks'
|
||||
WHERE "clientId" = 'your-client-id';
|
||||
```
|
||||
|
||||
2. **Grant Integration Access** through OAuth flow with `integration` scope
|
||||
|
||||
3. **Connect Integration** (Linear, Slack, etc.) - webhooks will be triggered automatically
|
||||
|
||||
4. **Monitor Logs** for delivery status and any errors
|
||||
|
||||
## Advantages of This Approach
|
||||
|
||||
1. **Follows Existing Patterns**: Uses the same trigger-based architecture as other webhook systems
|
||||
2. **Scalable**: Leverages Trigger.dev's queue system for handling high volumes
|
||||
3. **Reliable**: Built-in retry and error handling
|
||||
4. **Non-Blocking**: Integration creation is never blocked by webhook issues
|
||||
5. **Comprehensive**: Works with all integration types and OAuth flows
|
||||
6. **Secure**: Includes HMAC signature verification and proper headers
|
||||
7. **Observable**: Detailed logging for monitoring and debugging
|
||||
|
||||
This implementation ensures that OAuth applications are immediately notified when users connect new integrations, while maintaining the reliability and scalability of the existing system architecture.
|
||||
@ -1,159 +0,0 @@
|
||||
# Webhook Delivery Architecture
|
||||
|
||||
This document describes the refactored webhook delivery system that eliminates code duplication by using common utilities.
|
||||
|
||||
## Architecture Overview
|
||||
|
||||
The webhook delivery system now follows a clean separation of concerns:
|
||||
|
||||
1. **Common Utilities** (`webhook-delivery-utils.ts`) - Shared HTTP delivery logic
|
||||
2. **Activity Webhooks** (`webhook-delivery.ts`) - Workspace-based activity notifications
|
||||
3. **OAuth Integration Webhooks** (`oauth-integration-webhook-delivery.ts`) - OAuth app integration notifications
|
||||
|
||||
## Common Utilities (`webhook-delivery-utils.ts`)
|
||||
|
||||
### Core Function: `deliverWebhook()`
|
||||
|
||||
Handles the common HTTP delivery logic for both webhook types:
|
||||
|
||||
```typescript
|
||||
export async function deliverWebhook(params: WebhookDeliveryParams): Promise<{
|
||||
success: boolean;
|
||||
deliveryResults: DeliveryResult[];
|
||||
summary: { total: number; successful: number; failed: number };
|
||||
}>;
|
||||
```
|
||||
|
||||
**Features:**
|
||||
|
||||
- Generic payload support (works with any webhook structure)
|
||||
- Configurable User-Agent strings
|
||||
- HMAC signature verification with different header formats
|
||||
- 30-second timeout
|
||||
- Comprehensive error handling and logging
|
||||
- Detailed delivery results
|
||||
|
||||
### Helper Function: `prepareWebhookTargets()`
|
||||
|
||||
Converts simple webhook configurations to the standardized target format:
|
||||
|
||||
```typescript
|
||||
export function prepareWebhookTargets(
|
||||
webhooks: Array<{ url: string; secret?: string | null }>
|
||||
): WebhookTarget[];
|
||||
```
|
||||
|
||||
## Activity Webhooks (`webhook-delivery.ts`)
|
||||
|
||||
**Purpose:** Send notifications to workspace webhook configurations when activities are created.
|
||||
|
||||
**Payload Structure:**
|
||||
|
||||
```json
|
||||
{
|
||||
"event": "activity.created",
|
||||
"timestamp": "2024-01-15T10:30:00.000Z",
|
||||
"data": {
|
||||
"id": "activity_id",
|
||||
"text": "Activity content",
|
||||
"sourceURL": "https://source.url",
|
||||
"integrationAccount": { ... },
|
||||
"workspace": { ... }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Key Features:**
|
||||
|
||||
- Uses `X-Hub-Signature-256` header for HMAC verification
|
||||
- Logs delivery results to `WebhookDeliveryLog` table
|
||||
- Targets all active workspace webhook configurations
|
||||
|
||||
## OAuth Integration Webhooks (`oauth-integration-webhook-delivery.ts`)
|
||||
|
||||
**Purpose:** Notify OAuth applications when users connect new integrations.
|
||||
|
||||
**Payload Structure:**
|
||||
|
||||
```json
|
||||
{
|
||||
"event": "integration.connected",
|
||||
"user_id": "user_uuid",
|
||||
"integration": {
|
||||
"id": "integration_account_id",
|
||||
"provider": "linear",
|
||||
"account_id": "external_account_id",
|
||||
"mcp_endpoint": "mcp://core.ai/linear/external_account_id",
|
||||
"name": "Linear",
|
||||
"icon": "https://example.com/icon.png"
|
||||
},
|
||||
"timestamp": "2024-01-15T10:30:00.000Z"
|
||||
}
|
||||
```
|
||||
|
||||
**Key Features:**
|
||||
|
||||
- Uses `X-Webhook-Secret` header for HMAC verification
|
||||
- Custom User-Agent: `Echo-OAuth-Webhooks/1.0`
|
||||
- Targets OAuth clients with `integration` scope and webhook URLs
|
||||
|
||||
## Shared Features
|
||||
|
||||
Both webhook types benefit from the common utilities:
|
||||
|
||||
### Security
|
||||
|
||||
- HMAC-SHA256 signature verification
|
||||
- Configurable secrets per webhook target
|
||||
- Proper HTTP headers for identification
|
||||
|
||||
### Reliability
|
||||
|
||||
- 30-second request timeout
|
||||
- Comprehensive error handling
|
||||
- Non-blocking webhook failures
|
||||
|
||||
### Observability
|
||||
|
||||
- Detailed logging at each step
|
||||
- Delivery success/failure tracking
|
||||
- Response status and body capture (limited)
|
||||
|
||||
### Performance
|
||||
|
||||
- Parallel webhook delivery
|
||||
- Efficient target preparation
|
||||
- Minimal memory footprint
|
||||
|
||||
## Integration Points
|
||||
|
||||
### Activity Webhooks
|
||||
|
||||
- Triggered from: `apps/webapp/app/routes/api.v1.activity.tsx`
|
||||
- Function: `triggerWebhookDelivery(activityId, workspaceId)`
|
||||
|
||||
### OAuth Integration Webhooks
|
||||
|
||||
- Triggered from: `apps/webapp/app/trigger/integrations/integration-run.ts`
|
||||
- Function: `triggerOAuthIntegrationWebhook(integrationAccountId, userId)`
|
||||
|
||||
## Benefits of This Architecture
|
||||
|
||||
1. **Code Reuse**: Common HTTP delivery logic eliminates duplication
|
||||
2. **Maintainability**: Single place to update delivery logic
|
||||
3. **Consistency**: Same headers, timeouts, and error handling across webhook types
|
||||
4. **Flexibility**: Easy to add new webhook types by reusing common utilities
|
||||
5. **Testing**: Easier to test common logic independently
|
||||
6. **Security**: Consistent HMAC implementation across all webhook types
|
||||
|
||||
## Adding New Webhook Types
|
||||
|
||||
To add a new webhook type:
|
||||
|
||||
1. Create a new trigger task file (e.g., `new-webhook-delivery.ts`)
|
||||
2. Define your payload structure
|
||||
3. Use `deliverWebhook()` with your payload and targets
|
||||
4. Add your event type to `WebhookEventType` in utils
|
||||
5. Update HMAC header logic in `deliverWebhook()` if needed
|
||||
|
||||
This architecture provides a solid foundation for webhook delivery that can easily scale to support additional webhook types while maintaining code quality and consistency.
|
||||
@ -58,6 +58,6 @@
|
||||
"commander": "^12.0.0",
|
||||
"openai": "^4.0.0",
|
||||
"react-query": "^3.39.3",
|
||||
"@redplanethq/sdk": "0.1.0"
|
||||
"@redplanethq/sdk": "0.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
466
integrations/slack/pnpm-lock.yaml
generated
466
integrations/slack/pnpm-lock.yaml
generated
@ -9,8 +9,8 @@ importers:
|
||||
.:
|
||||
dependencies:
|
||||
'@redplanethq/sdk':
|
||||
specifier: 0.1.0
|
||||
version: 0.1.0
|
||||
specifier: 0.1.1
|
||||
version: 0.1.1
|
||||
axios:
|
||||
specifier: ^1.7.9
|
||||
version: 1.9.0
|
||||
@ -33,18 +33,6 @@ importers:
|
||||
'@babel/preset-typescript':
|
||||
specifier: ^7.26.0
|
||||
version: 7.27.1(@babel/core@7.27.1)
|
||||
'@rollup/plugin-commonjs':
|
||||
specifier: ^28.0.1
|
||||
version: 28.0.3(rollup@4.40.2)
|
||||
'@rollup/plugin-json':
|
||||
specifier: ^6.1.0
|
||||
version: 6.1.0(rollup@4.40.2)
|
||||
'@rollup/plugin-node-resolve':
|
||||
specifier: ^15.3.0
|
||||
version: 15.3.1(rollup@4.40.2)
|
||||
'@rollup/plugin-replace':
|
||||
specifier: ^5.0.7
|
||||
version: 5.0.7(rollup@4.40.2)
|
||||
'@types/node':
|
||||
specifier: ^18.0.20
|
||||
version: 18.19.100
|
||||
@ -56,19 +44,19 @@ importers:
|
||||
version: 10.1.3(eslint@9.26.0)
|
||||
eslint-import-resolver-alias:
|
||||
specifier: ^1.1.2
|
||||
version: 1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0))
|
||||
version: 1.1.2(eslint-plugin-import@2.31.0(eslint@9.26.0))
|
||||
eslint-plugin-import:
|
||||
specifier: ^2.31.0
|
||||
version: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)
|
||||
version: 2.31.0(eslint@9.26.0)
|
||||
eslint-plugin-jest:
|
||||
specifier: ^27.9.0
|
||||
version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5)
|
||||
version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5)
|
||||
eslint-plugin-prettier:
|
||||
specifier: ^5.2.1
|
||||
version: 5.4.0(eslint-config-prettier@10.1.3(eslint@9.26.0))(eslint@9.26.0)(prettier@3.5.3)
|
||||
eslint-plugin-unused-imports:
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)
|
||||
version: 2.0.0(@typescript-eslint/eslint-plugin@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)
|
||||
ncc:
|
||||
specifier: 0.3.6
|
||||
version: 0.3.6
|
||||
@ -78,18 +66,6 @@ importers:
|
||||
rimraf:
|
||||
specifier: ^3.0.2
|
||||
version: 3.0.2
|
||||
rollup:
|
||||
specifier: ^4.28.1
|
||||
version: 4.40.2
|
||||
rollup-plugin-node-polyfills:
|
||||
specifier: ^0.2.1
|
||||
version: 0.2.1
|
||||
rollup-plugin-terser:
|
||||
specifier: ^7.0.2
|
||||
version: 7.0.2(rollup@4.40.2)
|
||||
rollup-plugin-typescript2:
|
||||
specifier: ^0.34.1
|
||||
version: 0.34.1(rollup@4.40.2)(typescript@4.9.5)
|
||||
tslib:
|
||||
specifier: ^2.8.1
|
||||
version: 2.8.1
|
||||
@ -459,9 +435,6 @@ packages:
|
||||
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
'@jridgewell/source-map@0.3.6':
|
||||
resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
|
||||
|
||||
'@jridgewell/sourcemap-codec@1.5.0':
|
||||
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
|
||||
|
||||
@ -492,59 +465,10 @@ packages:
|
||||
resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==}
|
||||
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
|
||||
|
||||
'@redplanethq/sdk@0.1.0':
|
||||
resolution: {integrity: sha512-RmPfT9XESjTSMLlAMkolZEF28PvGo5hlwrG75JQy1tAZkvaTHzC7A2mEAMbsBvOMrJuUztL3NtCmVF//C/C/+A==}
|
||||
'@redplanethq/sdk@0.1.1':
|
||||
resolution: {integrity: sha512-tfR1c9p7vNeCL5jsF9QlEZcRFLsihaHe/ZQWVKZYXzAZ6GugoIFBaayGfVvjNjyEnN3nlrl3usKBX+hhaKzg0g==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
|
||||
'@rollup/plugin-commonjs@28.0.3':
|
||||
resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==}
|
||||
engines: {node: '>=16.0.0 || 14 >= 14.17'}
|
||||
peerDependencies:
|
||||
rollup: ^2.68.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/plugin-json@6.1.0':
|
||||
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/plugin-node-resolve@15.3.1':
|
||||
resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^2.78.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/plugin-replace@5.0.7':
|
||||
resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/pluginutils@4.2.1':
|
||||
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
|
||||
engines: {node: '>= 8.0.0'}
|
||||
|
||||
'@rollup/pluginutils@5.1.4':
|
||||
resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.40.2':
|
||||
resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==}
|
||||
cpu: [arm]
|
||||
@ -663,9 +587,6 @@ packages:
|
||||
'@types/node@18.19.100':
|
||||
resolution: {integrity: sha512-ojmMP8SZBKprc3qGrGk8Ujpo80AXkrP7G2tOT4VWr5jlr5DHjsJF+emXJz+Wm0glmy4Js62oKMdZZ6B9Y+tEcA==}
|
||||
|
||||
'@types/resolve@1.20.2':
|
||||
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
|
||||
|
||||
'@types/semver@7.7.0':
|
||||
resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==}
|
||||
|
||||
@ -680,16 +601,6 @@ packages:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/parser@5.62.0':
|
||||
resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/scope-manager@5.62.0':
|
||||
resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@ -845,9 +756,6 @@ packages:
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
|
||||
buffer-from@1.1.2:
|
||||
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
|
||||
|
||||
bundle-require@5.1.0:
|
||||
resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
@ -912,16 +820,10 @@ packages:
|
||||
resolution: {integrity: sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==}
|
||||
engines: {node: '>=20'}
|
||||
|
||||
commander@2.20.3:
|
||||
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
|
||||
|
||||
commander@4.1.1:
|
||||
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
commondir@1.0.1:
|
||||
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
|
||||
|
||||
concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
@ -991,10 +893,6 @@ packages:
|
||||
deep-is@0.1.4:
|
||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||
|
||||
deepmerge@4.3.1:
|
||||
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
define-data-property@1.1.4:
|
||||
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -1222,12 +1120,6 @@ packages:
|
||||
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
|
||||
engines: {node: '>=4.0'}
|
||||
|
||||
estree-walker@0.6.1:
|
||||
resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
|
||||
|
||||
estree-walker@2.0.2:
|
||||
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
|
||||
|
||||
esutils@2.0.3:
|
||||
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -1297,14 +1189,6 @@ packages:
|
||||
resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
find-cache-dir@3.3.2:
|
||||
resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
find-up@4.1.0:
|
||||
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
find-up@5.0.0:
|
||||
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
||||
engines: {node: '>=10'}
|
||||
@ -1352,10 +1236,6 @@ packages:
|
||||
resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
fs-extra@10.1.0:
|
||||
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
|
||||
@ -1426,9 +1306,6 @@ packages:
|
||||
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
graceful-fs@4.2.11:
|
||||
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
||||
|
||||
graphemer@1.4.0:
|
||||
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
||||
|
||||
@ -1553,9 +1430,6 @@ packages:
|
||||
resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
is-module@1.0.0:
|
||||
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
|
||||
|
||||
is-number-object@1.1.1:
|
||||
resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -1567,9 +1441,6 @@ packages:
|
||||
is-promise@4.0.0:
|
||||
resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
|
||||
|
||||
is-reference@1.2.1:
|
||||
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
|
||||
|
||||
is-regex@1.2.1:
|
||||
resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -1615,10 +1486,6 @@ packages:
|
||||
jackspeak@3.4.3:
|
||||
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
|
||||
|
||||
jest-worker@26.6.2:
|
||||
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
|
||||
engines: {node: '>= 10.13.0'}
|
||||
|
||||
joycon@3.1.1:
|
||||
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
|
||||
engines: {node: '>=10'}
|
||||
@ -1656,9 +1523,6 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
hasBin: true
|
||||
|
||||
jsonfile@6.1.0:
|
||||
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
|
||||
|
||||
keyv@4.5.4:
|
||||
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
|
||||
|
||||
@ -1677,10 +1541,6 @@ packages:
|
||||
resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
|
||||
locate-path@5.0.0:
|
||||
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
locate-path@6.0.0:
|
||||
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||
engines: {node: '>=10'}
|
||||
@ -1701,16 +1561,6 @@ packages:
|
||||
lru-cache@5.1.1:
|
||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
|
||||
|
||||
magic-string@0.25.9:
|
||||
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
||||
|
||||
magic-string@0.30.17:
|
||||
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
|
||||
|
||||
make-dir@3.1.0:
|
||||
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
match-sorter@6.3.4:
|
||||
resolution: {integrity: sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==}
|
||||
|
||||
@ -1726,9 +1576,6 @@ packages:
|
||||
resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
merge-stream@2.0.0:
|
||||
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
||||
|
||||
merge2@1.4.1:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
@ -1876,26 +1723,14 @@ packages:
|
||||
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
p-limit@2.3.0:
|
||||
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
p-limit@3.1.0:
|
||||
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
p-locate@4.1.0:
|
||||
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
p-locate@5.0.0:
|
||||
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
p-try@2.2.0:
|
||||
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
package-json-from-dist@1.0.1:
|
||||
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
|
||||
|
||||
@ -1953,10 +1788,6 @@ packages:
|
||||
resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==}
|
||||
engines: {node: '>=16.20.0'}
|
||||
|
||||
pkg-dir@4.2.0:
|
||||
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
possible-typed-array-names@1.1.0:
|
||||
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@ -2014,9 +1845,6 @@ packages:
|
||||
queue-microtask@1.2.3:
|
||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||
|
||||
randombytes@2.1.0:
|
||||
resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
|
||||
|
||||
range-parser@1.2.1:
|
||||
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
@ -2088,28 +1916,6 @@ packages:
|
||||
deprecated: Rimraf versions prior to v4 are no longer supported
|
||||
hasBin: true
|
||||
|
||||
rollup-plugin-inject@3.0.2:
|
||||
resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
|
||||
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
|
||||
|
||||
rollup-plugin-node-polyfills@0.2.1:
|
||||
resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
|
||||
|
||||
rollup-plugin-terser@7.0.2:
|
||||
resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
|
||||
deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
|
||||
peerDependencies:
|
||||
rollup: ^2.0.0
|
||||
|
||||
rollup-plugin-typescript2@0.34.1:
|
||||
resolution: {integrity: sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==}
|
||||
peerDependencies:
|
||||
rollup: '>=1.26.3'
|
||||
typescript: '>=2.4.0'
|
||||
|
||||
rollup-pluginutils@2.8.2:
|
||||
resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
|
||||
|
||||
rollup@4.40.2:
|
||||
resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
@ -2159,9 +1965,6 @@ packages:
|
||||
resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
serialize-javascript@4.0.0:
|
||||
resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
|
||||
|
||||
serve-static@2.2.0:
|
||||
resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==}
|
||||
engines: {node: '>= 18'}
|
||||
@ -2217,21 +2020,10 @@ packages:
|
||||
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
source-map-support@0.5.21:
|
||||
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
|
||||
|
||||
source-map@0.6.1:
|
||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
source-map@0.8.0-beta.0:
|
||||
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
sourcemap-codec@1.4.8:
|
||||
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
||||
deprecated: Please use @jridgewell/sourcemap-codec instead
|
||||
|
||||
statuses@2.0.1:
|
||||
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
||||
engines: {node: '>= 0.8'}
|
||||
@ -2289,11 +2081,6 @@ packages:
|
||||
resolution: {integrity: sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
|
||||
terser@5.39.0:
|
||||
resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
thenify-all@1.6.0:
|
||||
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
|
||||
engines: {node: '>=0.8'}
|
||||
@ -2410,10 +2197,6 @@ packages:
|
||||
undici-types@5.26.5:
|
||||
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
||||
|
||||
universalify@2.0.1:
|
||||
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
|
||||
unload@2.2.0:
|
||||
resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==}
|
||||
|
||||
@ -2861,11 +2644,6 @@ snapshots:
|
||||
|
||||
'@jridgewell/set-array@1.2.1': {}
|
||||
|
||||
'@jridgewell/source-map@0.3.6':
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.8
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
|
||||
'@jridgewell/sourcemap-codec@1.5.0': {}
|
||||
|
||||
'@jridgewell/trace-mapping@0.3.25':
|
||||
@ -2905,58 +2683,10 @@ snapshots:
|
||||
|
||||
'@pkgr/core@0.2.4': {}
|
||||
|
||||
'@redplanethq/sdk@0.1.0':
|
||||
'@redplanethq/sdk@0.1.1':
|
||||
dependencies:
|
||||
commander: 14.0.0
|
||||
|
||||
'@rollup/plugin-commonjs@28.0.3(rollup@4.40.2)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.40.2)
|
||||
commondir: 1.0.1
|
||||
estree-walker: 2.0.2
|
||||
fdir: 6.4.4(picomatch@4.0.2)
|
||||
is-reference: 1.2.1
|
||||
magic-string: 0.30.17
|
||||
picomatch: 4.0.2
|
||||
optionalDependencies:
|
||||
rollup: 4.40.2
|
||||
|
||||
'@rollup/plugin-json@6.1.0(rollup@4.40.2)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.40.2)
|
||||
optionalDependencies:
|
||||
rollup: 4.40.2
|
||||
|
||||
'@rollup/plugin-node-resolve@15.3.1(rollup@4.40.2)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.40.2)
|
||||
'@types/resolve': 1.20.2
|
||||
deepmerge: 4.3.1
|
||||
is-module: 1.0.0
|
||||
resolve: 1.22.10
|
||||
optionalDependencies:
|
||||
rollup: 4.40.2
|
||||
|
||||
'@rollup/plugin-replace@5.0.7(rollup@4.40.2)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.40.2)
|
||||
magic-string: 0.30.17
|
||||
optionalDependencies:
|
||||
rollup: 4.40.2
|
||||
|
||||
'@rollup/pluginutils@4.2.1':
|
||||
dependencies:
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 2.3.1
|
||||
|
||||
'@rollup/pluginutils@5.1.4(rollup@4.40.2)':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 4.0.2
|
||||
optionalDependencies:
|
||||
rollup: 4.40.2
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.40.2':
|
||||
optional: true
|
||||
|
||||
@ -3034,14 +2764,11 @@ snapshots:
|
||||
dependencies:
|
||||
undici-types: 5.26.5
|
||||
|
||||
'@types/resolve@1.20.2': {}
|
||||
|
||||
'@types/semver@7.7.0': {}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5)':
|
||||
'@typescript-eslint/eslint-plugin@5.62.0(eslint@9.26.0)(typescript@4.9.5)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@typescript-eslint/parser': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
'@typescript-eslint/scope-manager': 5.62.0
|
||||
'@typescript-eslint/type-utils': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
'@typescript-eslint/utils': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
@ -3058,19 +2785,6 @@ snapshots:
|
||||
- supports-color
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 5.62.0
|
||||
'@typescript-eslint/types': 5.62.0
|
||||
'@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5)
|
||||
debug: 4.4.0
|
||||
eslint: 9.26.0
|
||||
optionalDependencies:
|
||||
typescript: 4.9.5
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/scope-manager@5.62.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 5.62.0
|
||||
@ -3280,8 +2994,6 @@ snapshots:
|
||||
node-releases: 2.0.19
|
||||
update-browserslist-db: 1.1.3(browserslist@4.24.5)
|
||||
|
||||
buffer-from@1.1.2: {}
|
||||
|
||||
bundle-require@5.1.0(esbuild@0.25.4):
|
||||
dependencies:
|
||||
esbuild: 0.25.4
|
||||
@ -3337,12 +3049,8 @@ snapshots:
|
||||
|
||||
commander@14.0.0: {}
|
||||
|
||||
commander@2.20.3: {}
|
||||
|
||||
commander@4.1.1: {}
|
||||
|
||||
commondir@1.0.1: {}
|
||||
|
||||
concat-map@0.0.1: {}
|
||||
|
||||
consola@3.4.2: {}
|
||||
@ -3400,8 +3108,6 @@ snapshots:
|
||||
|
||||
deep-is@0.1.4: {}
|
||||
|
||||
deepmerge@4.3.1: {}
|
||||
|
||||
define-data-property@1.1.4:
|
||||
dependencies:
|
||||
es-define-property: 1.0.1
|
||||
@ -3563,9 +3269,9 @@ snapshots:
|
||||
dependencies:
|
||||
eslint: 9.26.0
|
||||
|
||||
eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)):
|
||||
eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(eslint@9.26.0)):
|
||||
dependencies:
|
||||
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)
|
||||
eslint-plugin-import: 2.31.0(eslint@9.26.0)
|
||||
|
||||
eslint-import-resolver-node@0.3.9:
|
||||
dependencies:
|
||||
@ -3575,17 +3281,16 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0):
|
||||
eslint-module-utils@2.12.0(eslint-import-resolver-node@0.3.9)(eslint@9.26.0):
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
eslint: 9.26.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0):
|
||||
eslint-plugin-import@2.31.0(eslint@9.26.0):
|
||||
dependencies:
|
||||
'@rtsao/scc': 1.1.0
|
||||
array-includes: 3.1.8
|
||||
@ -3596,7 +3301,7 @@ snapshots:
|
||||
doctrine: 2.1.0
|
||||
eslint: 9.26.0
|
||||
eslint-import-resolver-node: 0.3.9
|
||||
eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0)
|
||||
eslint-module-utils: 2.12.0(eslint-import-resolver-node@0.3.9)(eslint@9.26.0)
|
||||
hasown: 2.0.2
|
||||
is-core-module: 2.16.1
|
||||
is-glob: 4.0.3
|
||||
@ -3607,19 +3312,17 @@ snapshots:
|
||||
semver: 6.3.1
|
||||
string.prototype.trimend: 1.0.9
|
||||
tsconfig-paths: 3.15.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/parser': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
transitivePeerDependencies:
|
||||
- eslint-import-resolver-typescript
|
||||
- eslint-import-resolver-webpack
|
||||
- supports-color
|
||||
|
||||
eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5):
|
||||
eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5):
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
eslint: 9.26.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5)
|
||||
'@typescript-eslint/eslint-plugin': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
@ -3633,12 +3336,12 @@ snapshots:
|
||||
optionalDependencies:
|
||||
eslint-config-prettier: 10.1.3(eslint@9.26.0)
|
||||
|
||||
eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0):
|
||||
eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0):
|
||||
dependencies:
|
||||
eslint: 9.26.0
|
||||
eslint-rule-composer: 0.3.0
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@9.26.0)(typescript@4.9.5))(eslint@9.26.0)(typescript@4.9.5)
|
||||
'@typescript-eslint/eslint-plugin': 5.62.0(eslint@9.26.0)(typescript@4.9.5)
|
||||
|
||||
eslint-rule-composer@0.3.0: {}
|
||||
|
||||
@ -3716,10 +3419,6 @@ snapshots:
|
||||
|
||||
estraverse@5.3.0: {}
|
||||
|
||||
estree-walker@0.6.1: {}
|
||||
|
||||
estree-walker@2.0.2: {}
|
||||
|
||||
esutils@2.0.3: {}
|
||||
|
||||
etag@1.8.1: {}
|
||||
@ -3811,17 +3510,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
find-cache-dir@3.3.2:
|
||||
dependencies:
|
||||
commondir: 1.0.1
|
||||
make-dir: 3.1.0
|
||||
pkg-dir: 4.2.0
|
||||
|
||||
find-up@4.1.0:
|
||||
dependencies:
|
||||
locate-path: 5.0.0
|
||||
path-exists: 4.0.0
|
||||
|
||||
find-up@5.0.0:
|
||||
dependencies:
|
||||
locate-path: 6.0.0
|
||||
@ -3863,12 +3551,6 @@ snapshots:
|
||||
|
||||
fresh@2.0.0: {}
|
||||
|
||||
fs-extra@10.1.0:
|
||||
dependencies:
|
||||
graceful-fs: 4.2.11
|
||||
jsonfile: 6.1.0
|
||||
universalify: 2.0.1
|
||||
|
||||
fs.realpath@1.0.0: {}
|
||||
|
||||
fsevents@2.3.3:
|
||||
@ -3959,8 +3641,6 @@ snapshots:
|
||||
|
||||
gopd@1.2.0: {}
|
||||
|
||||
graceful-fs@4.2.11: {}
|
||||
|
||||
graphemer@1.4.0:
|
||||
optional: true
|
||||
|
||||
@ -4087,8 +3767,6 @@ snapshots:
|
||||
|
||||
is-map@2.0.3: {}
|
||||
|
||||
is-module@1.0.0: {}
|
||||
|
||||
is-number-object@1.1.1:
|
||||
dependencies:
|
||||
call-bound: 1.0.4
|
||||
@ -4098,10 +3776,6 @@ snapshots:
|
||||
|
||||
is-promise@4.0.0: {}
|
||||
|
||||
is-reference@1.2.1:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
|
||||
is-regex@1.2.1:
|
||||
dependencies:
|
||||
call-bound: 1.0.4
|
||||
@ -4151,12 +3825,6 @@ snapshots:
|
||||
optionalDependencies:
|
||||
'@pkgjs/parseargs': 0.11.0
|
||||
|
||||
jest-worker@26.6.2:
|
||||
dependencies:
|
||||
'@types/node': 18.19.100
|
||||
merge-stream: 2.0.0
|
||||
supports-color: 7.2.0
|
||||
|
||||
joycon@3.1.1: {}
|
||||
|
||||
js-sha3@0.8.0: {}
|
||||
@ -4181,12 +3849,6 @@ snapshots:
|
||||
|
||||
json5@2.2.3: {}
|
||||
|
||||
jsonfile@6.1.0:
|
||||
dependencies:
|
||||
universalify: 2.0.1
|
||||
optionalDependencies:
|
||||
graceful-fs: 4.2.11
|
||||
|
||||
keyv@4.5.4:
|
||||
dependencies:
|
||||
json-buffer: 3.0.1
|
||||
@ -4202,10 +3864,6 @@ snapshots:
|
||||
|
||||
load-tsconfig@0.2.5: {}
|
||||
|
||||
locate-path@5.0.0:
|
||||
dependencies:
|
||||
p-locate: 4.1.0
|
||||
|
||||
locate-path@6.0.0:
|
||||
dependencies:
|
||||
p-locate: 5.0.0
|
||||
@ -4224,18 +3882,6 @@ snapshots:
|
||||
dependencies:
|
||||
yallist: 3.1.1
|
||||
|
||||
magic-string@0.25.9:
|
||||
dependencies:
|
||||
sourcemap-codec: 1.4.8
|
||||
|
||||
magic-string@0.30.17:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
|
||||
make-dir@3.1.0:
|
||||
dependencies:
|
||||
semver: 6.3.1
|
||||
|
||||
match-sorter@6.3.4:
|
||||
dependencies:
|
||||
'@babel/runtime': 7.27.1
|
||||
@ -4247,8 +3893,6 @@ snapshots:
|
||||
|
||||
merge-descriptors@2.0.0: {}
|
||||
|
||||
merge-stream@2.0.0: {}
|
||||
|
||||
merge2@1.4.1: {}
|
||||
|
||||
micromatch@4.0.8:
|
||||
@ -4400,24 +4044,14 @@ snapshots:
|
||||
object-keys: 1.1.1
|
||||
safe-push-apply: 1.0.0
|
||||
|
||||
p-limit@2.3.0:
|
||||
dependencies:
|
||||
p-try: 2.2.0
|
||||
|
||||
p-limit@3.1.0:
|
||||
dependencies:
|
||||
yocto-queue: 0.1.0
|
||||
|
||||
p-locate@4.1.0:
|
||||
dependencies:
|
||||
p-limit: 2.3.0
|
||||
|
||||
p-locate@5.0.0:
|
||||
dependencies:
|
||||
p-limit: 3.1.0
|
||||
|
||||
p-try@2.2.0: {}
|
||||
|
||||
package-json-from-dist@1.0.1: {}
|
||||
|
||||
parent-module@1.0.1:
|
||||
@ -4453,10 +4087,6 @@ snapshots:
|
||||
|
||||
pkce-challenge@5.0.0: {}
|
||||
|
||||
pkg-dir@4.2.0:
|
||||
dependencies:
|
||||
find-up: 4.1.0
|
||||
|
||||
possible-typed-array-names@1.1.0: {}
|
||||
|
||||
postcss-load-config@6.0.1(postcss@8.5.3)(yaml@2.7.1):
|
||||
@ -4496,10 +4126,6 @@ snapshots:
|
||||
|
||||
queue-microtask@1.2.3: {}
|
||||
|
||||
randombytes@2.1.0:
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
|
||||
range-parser@1.2.1: {}
|
||||
|
||||
raw-body@3.0.0:
|
||||
@ -4572,38 +4198,6 @@ snapshots:
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
|
||||
rollup-plugin-inject@3.0.2:
|
||||
dependencies:
|
||||
estree-walker: 0.6.1
|
||||
magic-string: 0.25.9
|
||||
rollup-pluginutils: 2.8.2
|
||||
|
||||
rollup-plugin-node-polyfills@0.2.1:
|
||||
dependencies:
|
||||
rollup-plugin-inject: 3.0.2
|
||||
|
||||
rollup-plugin-terser@7.0.2(rollup@4.40.2):
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.27.1
|
||||
jest-worker: 26.6.2
|
||||
rollup: 4.40.2
|
||||
serialize-javascript: 4.0.0
|
||||
terser: 5.39.0
|
||||
|
||||
rollup-plugin-typescript2@0.34.1(rollup@4.40.2)(typescript@4.9.5):
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 4.2.1
|
||||
find-cache-dir: 3.3.2
|
||||
fs-extra: 10.1.0
|
||||
rollup: 4.40.2
|
||||
semver: 7.7.1
|
||||
tslib: 2.8.1
|
||||
typescript: 4.9.5
|
||||
|
||||
rollup-pluginutils@2.8.2:
|
||||
dependencies:
|
||||
estree-walker: 0.6.1
|
||||
|
||||
rollup@4.40.2:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
@ -4693,10 +4287,6 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
serialize-javascript@4.0.0:
|
||||
dependencies:
|
||||
randombytes: 2.1.0
|
||||
|
||||
serve-static@2.2.0:
|
||||
dependencies:
|
||||
encodeurl: 2.0.0
|
||||
@ -4771,19 +4361,10 @@ snapshots:
|
||||
source-map-js@1.2.1:
|
||||
optional: true
|
||||
|
||||
source-map-support@0.5.21:
|
||||
dependencies:
|
||||
buffer-from: 1.1.2
|
||||
source-map: 0.6.1
|
||||
|
||||
source-map@0.6.1: {}
|
||||
|
||||
source-map@0.8.0-beta.0:
|
||||
dependencies:
|
||||
whatwg-url: 7.1.0
|
||||
|
||||
sourcemap-codec@1.4.8: {}
|
||||
|
||||
statuses@2.0.1: {}
|
||||
|
||||
string-width@4.2.3:
|
||||
@ -4854,13 +4435,6 @@ snapshots:
|
||||
'@pkgr/core': 0.2.4
|
||||
tslib: 2.8.1
|
||||
|
||||
terser@5.39.0:
|
||||
dependencies:
|
||||
'@jridgewell/source-map': 0.3.6
|
||||
acorn: 8.14.1
|
||||
commander: 2.20.3
|
||||
source-map-support: 0.5.21
|
||||
|
||||
thenify-all@1.6.0:
|
||||
dependencies:
|
||||
thenify: 3.3.1
|
||||
@ -5000,8 +4574,6 @@ snapshots:
|
||||
|
||||
undici-types@5.26.5: {}
|
||||
|
||||
universalify@2.0.1: {}
|
||||
|
||||
unload@2.2.0:
|
||||
dependencies:
|
||||
'@babel/runtime': 7.27.1
|
||||
|
||||
@ -5,10 +5,11 @@
|
||||
"icon": "slack",
|
||||
"mcp": {
|
||||
"type": "stdio",
|
||||
"url": "",
|
||||
"args": [ ],
|
||||
"url": "https://integrations.heysol.ai/slack/mcp/slack-mcp-server",
|
||||
"args": [],
|
||||
"env": {
|
||||
"SLACK_MCP_XOXP_TOKEN": "${config:access_token}"
|
||||
"SLACK_MCP_XOXP_TOKEN": "${config:access_token}",
|
||||
"SLACK_MCP_ADD_MESSAGE_TOOL": true
|
||||
}
|
||||
},
|
||||
"auth": {
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
import axios from 'axios';
|
||||
|
||||
export async function integrationCreate(
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
data: any,
|
||||
integrationDefinition: any,
|
||||
) {
|
||||
const { oauthResponse } = data;
|
||||
const integrationConfiguration = {
|
||||
@ -14,14 +11,14 @@ export async function integrationCreate(
|
||||
scope: oauthResponse.authed_user.scope,
|
||||
};
|
||||
|
||||
const payload = {
|
||||
settings: {},
|
||||
accountId: integrationConfiguration.userId,
|
||||
config: integrationConfiguration,
|
||||
integrationDefinitionId: integrationDefinition.id,
|
||||
};
|
||||
|
||||
const integrationAccount = (await axios.post(`/api/v1/integration_account`, payload)).data;
|
||||
|
||||
return integrationAccount;
|
||||
return [
|
||||
{
|
||||
type: 'account',
|
||||
data: {
|
||||
settings: {},
|
||||
accountId: integrationConfiguration.userId,
|
||||
config: integrationConfiguration,
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@ -3,6 +3,23 @@ import axios from 'axios';
|
||||
|
||||
import { getUserDetails } from './utils';
|
||||
|
||||
interface SlackActivityCreateParams {
|
||||
text: string;
|
||||
sourceURL: string;
|
||||
}
|
||||
/**
|
||||
* Creates an activity message based on Linear data
|
||||
*/
|
||||
function createActivityMessage(params: SlackActivityCreateParams) {
|
||||
return {
|
||||
type: 'activity',
|
||||
data: {
|
||||
text: params.text,
|
||||
sourceURL: params.sourceURL,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
async function getMessage(accessToken: string, channel: string, ts: string) {
|
||||
const result = await axios.get('https://slack.com/api/conversations.history', {
|
||||
headers: {
|
||||
@ -64,7 +81,7 @@ export const createActivityEvent = async (
|
||||
taskId: null,
|
||||
};
|
||||
|
||||
await axios.post('/api/v1/activity', activity);
|
||||
return createActivityMessage(activity);
|
||||
}
|
||||
|
||||
if (eventData.event.type === 'reaction_added' && eventData.event.reaction === 'eyes') {
|
||||
@ -120,7 +137,7 @@ export const createActivityEvent = async (
|
||||
integrationAccountId: config.integrationAccountId,
|
||||
};
|
||||
|
||||
await axios.post('/api/v1/activity', activity);
|
||||
return createActivityMessage(activity);
|
||||
}
|
||||
return { message: `Processed activity from slack` };
|
||||
};
|
||||
|
||||
@ -10,7 +10,7 @@ import {
|
||||
export async function run(eventPayload: IntegrationEventPayload) {
|
||||
switch (eventPayload.event) {
|
||||
case IntegrationEventType.SETUP:
|
||||
return await integrationCreate(eventPayload.eventBody, eventPayload.integrationDefinition);
|
||||
return await integrationCreate(eventPayload.eventBody);
|
||||
|
||||
case IntegrationEventType.IDENTIFY:
|
||||
return eventPayload.eventBody.event.user;
|
||||
@ -40,12 +40,10 @@ class SlackCLI extends IntegrationCLI {
|
||||
description: 'Connect your workspace to Slack. Run your workflows from slack bookmarks',
|
||||
icon: 'slack',
|
||||
mcp: {
|
||||
command: 'npx',
|
||||
args: ['-y', '@modelcontextprotocol/server-slack'],
|
||||
command: 'slack-mcp-server',
|
||||
args: [],
|
||||
env: {
|
||||
SLACK_BOT_TOKEN: '${config:access_token}',
|
||||
SLACK_TEAM_ID: '${config:team_id}',
|
||||
SLACK_CHANNEL_IDS: '${config:channel_ids}',
|
||||
SLACK_MCP_XOXP_TOKEN: '${config:access_token}',
|
||||
},
|
||||
},
|
||||
auth: {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "core",
|
||||
"private": true,
|
||||
"version": "0.1.10",
|
||||
"version": "0.1.11",
|
||||
"workspaces": [
|
||||
"apps/*",
|
||||
"packages/*"
|
||||
|
||||
@ -569,6 +569,7 @@ export class MCPAuthenticationClient {
|
||||
// }
|
||||
// }
|
||||
|
||||
console.log("completeOAuthFlow", options);
|
||||
// Use the NodeOAuthClientProvider's completeAuth method
|
||||
await authProvider.completeAuth({
|
||||
authorizationCode: options.authorizationCode,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user