@vibesdotdev/integrations-pagerduty 0.0.0-stage → 1.0.0-rc.3
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/LICENSE +126 -0
- package/README.md +30 -2
- package/dist/client/helper.d.ts +20 -0
- package/dist/client/helper.d.ts.map +1 -0
- package/dist/client/helper.js +21 -0
- package/dist/client/helper.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/runtime-client.d.ts +29 -0
- package/dist/client/runtime-client.d.ts.map +1 -0
- package/dist/client/runtime-client.js +60 -0
- package/dist/client/runtime-client.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations-pagerduty.plugin.d.ts +18 -0
- package/dist/integrations-pagerduty.plugin.d.ts.map +1 -0
- package/dist/integrations-pagerduty.plugin.js +42 -0
- package/dist/integrations-pagerduty.plugin.js.map +1 -0
- package/dist/pagerduty/configuration.d.ts +6 -0
- package/dist/pagerduty/configuration.d.ts.map +1 -0
- package/dist/pagerduty/configuration.js +16 -0
- package/dist/pagerduty/configuration.js.map +1 -0
- package/dist/pagerduty/index.d.ts +9 -0
- package/dist/pagerduty/index.d.ts.map +1 -0
- package/dist/pagerduty/index.js +8 -0
- package/dist/pagerduty/index.js.map +1 -0
- package/dist/pagerduty/pagerduty-connector.d.ts +16 -0
- package/dist/pagerduty/pagerduty-connector.d.ts.map +1 -0
- package/dist/pagerduty/pagerduty-connector.js +80 -0
- package/dist/pagerduty/pagerduty-connector.js.map +1 -0
- package/dist/pagerduty/pagerduty-implementation.d.ts +8 -0
- package/dist/pagerduty/pagerduty-implementation.d.ts.map +1 -0
- package/dist/pagerduty/pagerduty-implementation.js +25 -0
- package/dist/pagerduty/pagerduty-implementation.js.map +1 -0
- package/dist/pagerduty/runtime-context.d.ts +7 -0
- package/dist/pagerduty/runtime-context.d.ts.map +1 -0
- package/dist/pagerduty/runtime-context.js +34 -0
- package/dist/pagerduty/runtime-context.js.map +1 -0
- package/dist/pagerduty/system.integration.pagerduty.descriptor.d.ts +69 -0
- package/dist/pagerduty/system.integration.pagerduty.descriptor.d.ts.map +1 -0
- package/dist/pagerduty/system.integration.pagerduty.descriptor.js +53 -0
- package/dist/pagerduty/system.integration.pagerduty.descriptor.js.map +1 -0
- package/dist/schemas/pagerduty.d.ts +146 -0
- package/dist/schemas/pagerduty.d.ts.map +1 -0
- package/dist/schemas/pagerduty.js +58 -0
- package/dist/schemas/pagerduty.js.map +1 -0
- package/package.json +111 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagerduty-connector.js","sourceRoot":"","sources":["../../src/pagerduty/pagerduty-connector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseIntegrationProvider } from '@vibesdotdev/integrations/kinds/integration';
|
|
2
|
+
import type { IntegrationOperationResult } from '@vibesdotdev/integrations/schemas/integration-descriptor';
|
|
3
|
+
import { type PagerDutyOperationArgs } from '../schemas/pagerduty.ts';
|
|
4
|
+
export declare class PagerDutyIntegrationProvider extends BaseIntegrationProvider {
|
|
5
|
+
invokeOperation<T = unknown>(opId: string, args?: PagerDutyOperationArgs): Promise<IntegrationOperationResult<T>>;
|
|
6
|
+
}
|
|
7
|
+
export type { PagerDutyEnqueueResult, PagerDutySeverity } from '../schemas/pagerduty.ts';
|
|
8
|
+
//# sourceMappingURL=pagerduty-implementation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagerduty-implementation.d.ts","sourceRoot":"","sources":["../../src/pagerduty/pagerduty-implementation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AAC3G,OAAO,EAA6B,KAAK,sBAAsB,EAA+B,MAAM,yBAAyB,CAAC;AAG9H,qBAAa,4BAA6B,SAAQ,uBAAuB;IAElE,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;CAkBvH;AACD,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
2
|
+
import { BaseIntegrationProvider } from '@vibesdotdev/integrations/kinds/integration';
|
|
3
|
+
import { PagerDutyInvocationSchema } from "../schemas/pagerduty.js";
|
|
4
|
+
import { connectorFromConfiguration } from "./configuration.js";
|
|
5
|
+
export class PagerDutyIntegrationProvider extends BaseIntegrationProvider {
|
|
6
|
+
async invokeOperation(opId, args) {
|
|
7
|
+
const invocation = PagerDutyInvocationSchema.safeParse({ operationId: opId, args });
|
|
8
|
+
if (!invocation.success) {
|
|
9
|
+
throw new CapabilityError('Invalid PagerDuty input.', 'INVALID_INPUT', { reason: 'pagerduty-input-invalid' });
|
|
10
|
+
}
|
|
11
|
+
const runtime = this.context.runtime;
|
|
12
|
+
if (!runtime)
|
|
13
|
+
throw new CapabilityError('PagerDuty requires a runtime.', 'UNAVAILABLE', { reason: 'pagerduty-runtime-unavailable' });
|
|
14
|
+
const connector = connectorFromConfiguration(runtime, await this.getCredentialUseConfiguration());
|
|
15
|
+
switch (invocation.data.operationId) {
|
|
16
|
+
case 'triggerIncident':
|
|
17
|
+
return { ok: true, data: await connector.triggerIncident(invocation.data.args) };
|
|
18
|
+
case 'acknowledgeIncident':
|
|
19
|
+
return { ok: true, data: await connector.acknowledgeIncident(invocation.data.args.dedupKey) };
|
|
20
|
+
case 'resolveIncident':
|
|
21
|
+
return { ok: true, data: await connector.resolveIncident(invocation.data.args.dedupKey) };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=pagerduty-implementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagerduty-implementation.js","sourceRoot":"","sources":["../../src/pagerduty/pagerduty-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAEtF,OAAO,EAAE,yBAAyB,EAA4D,MAAM,yBAAyB,CAAC;AAC9H,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IAGxE,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,IAA6B;QAChE,MAAM,UAAU,GAAG,yBAAyB,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;QACrI,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC;QAClG,QAAQ,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,iBAAiB;gBACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClF,KAAK,qBAAqB;gBACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/F,KAAK,iBAAiB;gBACrB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5F,CAAC;IACF,CAAC;CACD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type VibesRuntime } from '@vibesdotdev/kernel';
|
|
2
|
+
import type { IntegrationProviderImplementation } from '@vibesdotdev/integrations/schemas/integration-descriptor';
|
|
3
|
+
import type { PagerDutyEventsConnector } from './pagerduty-connector.ts';
|
|
4
|
+
export declare const PAGERDUTY_INTEGRATION_ID = "integration.pagerduty";
|
|
5
|
+
export declare function resolvePagerDutyIntegration(runtime: VibesRuntime): Promise<IntegrationProviderImplementation>;
|
|
6
|
+
export declare function resolvePagerDutyConnector(runtime: VibesRuntime): Promise<PagerDutyEventsConnector>;
|
|
7
|
+
//# sourceMappingURL=runtime-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../src/pagerduty/runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,0DAA0D,CAAC;AAElH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAGnH;AACD,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAoBxG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
2
|
+
import { getVibesSecretsClient } from '@vibesdotdev/secrets/client';
|
|
3
|
+
import { PagerDutyCredentialsSchema } from "../schemas/pagerduty.js";
|
|
4
|
+
import { connectorFromConfiguration } from "./configuration.js";
|
|
5
|
+
export const PAGERDUTY_INTEGRATION_ID = 'integration.pagerduty';
|
|
6
|
+
export async function resolvePagerDutyIntegration(runtime) {
|
|
7
|
+
return runtime.query('integration/provider')
|
|
8
|
+
.withId(PAGERDUTY_INTEGRATION_ID).resolve();
|
|
9
|
+
}
|
|
10
|
+
export async function resolvePagerDutyConnector(runtime) {
|
|
11
|
+
const integration = await resolvePagerDutyIntegration(runtime);
|
|
12
|
+
const getConfiguration = integration.getCredentialUseConfiguration;
|
|
13
|
+
if (!getConfiguration)
|
|
14
|
+
throw new CapabilityError('PagerDuty credential use is unavailable.', 'UNAVAILABLE', { reason: 'pagerduty-credential-use-unavailable' });
|
|
15
|
+
const configuration = await getConfiguration.call(integration);
|
|
16
|
+
const connector = connectorFromConfiguration(runtime, configuration);
|
|
17
|
+
const credentials = PagerDutyCredentialsSchema.parse({ routingKey: configuration.credentialReferences.routingKey ?? [] });
|
|
18
|
+
const secrets = await getVibesSecretsClient(runtime);
|
|
19
|
+
for (const { source: _source, ...reference } of credentials.routingKey) {
|
|
20
|
+
try {
|
|
21
|
+
await secrets.checkCredentialPresence(reference);
|
|
22
|
+
return connector;
|
|
23
|
+
}
|
|
24
|
+
catch (failure) {
|
|
25
|
+
if (failure instanceof CapabilityError && failure.code === 'NOT_FOUND' && failure.reason === 'credential-not-set')
|
|
26
|
+
continue;
|
|
27
|
+
throw failure;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
throw new CapabilityError('PagerDuty routing credential is unavailable.', 'UNAVAILABLE', {
|
|
31
|
+
reason: 'pagerduty-credential-missing', retryable: false
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=runtime-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-context.js","sourceRoot":"","sources":["../../src/pagerduty/runtime-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhE,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAqB;IACtE,OAAO,OAAO,CAAC,KAAK,CAAuD,sBAAsB,CAAC;SAChG,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9C,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAqB;IACpE,MAAM,WAAW,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,WAAW,CAAC,6BAA6B,CAAC;IACnE,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,eAAe,CAAC,0CAA0C,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAChK,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1H,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACrD,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QACxE,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC;QAClB,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YAClB,IAAI,OAAO,YAAY,eAAe,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,KAAK,oBAAoB;gBAAE,SAAS;YAC5H,MAAM,OAAO,CAAC;QACf,CAAC;IACF,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,8CAA8C,EAAE,aAAa,EAAE;QACxF,MAAM,EAAE,8BAA8B,EAAE,SAAS,EAAE,KAAK;KACxD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
id: string;
|
|
3
|
+
kind: "integration/provider";
|
|
4
|
+
name?: string | undefined;
|
|
5
|
+
description?: string | undefined;
|
|
6
|
+
tags?: string[] | undefined;
|
|
7
|
+
hardware?: string[] | undefined;
|
|
8
|
+
enabled?: boolean | undefined;
|
|
9
|
+
capabilityId?: string | undefined;
|
|
10
|
+
retention?: string | {
|
|
11
|
+
reason: string;
|
|
12
|
+
maxAgeDays?: number | undefined;
|
|
13
|
+
maxEntries?: number | undefined;
|
|
14
|
+
maxBytes?: number | undefined;
|
|
15
|
+
cascadeFrom?: string | undefined;
|
|
16
|
+
ageField?: string | undefined;
|
|
17
|
+
enforcedBy?: string | undefined;
|
|
18
|
+
} | undefined;
|
|
19
|
+
requiredContext?: string[] | undefined;
|
|
20
|
+
optionalContext?: string[] | undefined;
|
|
21
|
+
provider?: string | undefined;
|
|
22
|
+
category?: "webhook" | "accounting" | "vcs" | "issue-tracker" | "productivity" | "ocr" | "email" | "messaging" | "sms" | "push" | "storage" | "analytics" | "observability" | "crm" | "calendar" | "other" | undefined;
|
|
23
|
+
priority?: number | undefined;
|
|
24
|
+
baseUrl?: string | undefined;
|
|
25
|
+
config?: Record<string, import("@vibesdotdev/kernel/bootstrap").JsonValue> | undefined;
|
|
26
|
+
protectedConfigKeys?: string[] | undefined;
|
|
27
|
+
configurationSource?: "account" | "host" | undefined;
|
|
28
|
+
configSettingKey?: string | undefined;
|
|
29
|
+
credentials?: {
|
|
30
|
+
key: string;
|
|
31
|
+
source: "secret" | "setting";
|
|
32
|
+
reference?: {
|
|
33
|
+
source: "secret";
|
|
34
|
+
key: string;
|
|
35
|
+
store?: string | undefined;
|
|
36
|
+
operation?: object | undefined;
|
|
37
|
+
} | undefined;
|
|
38
|
+
providerType?: string | undefined;
|
|
39
|
+
scope?: "user" | "platform" | "project" | "org" | undefined;
|
|
40
|
+
scopeId?: string | undefined;
|
|
41
|
+
settingKey?: string | undefined;
|
|
42
|
+
required?: boolean | undefined;
|
|
43
|
+
}[] | undefined;
|
|
44
|
+
oauth?: {
|
|
45
|
+
authorizationEndpoint: string;
|
|
46
|
+
tokenEndpoint: string;
|
|
47
|
+
scopes?: string[] | undefined;
|
|
48
|
+
authorizationParams?: Record<string, string> | undefined;
|
|
49
|
+
configFromCallback?: string[] | undefined;
|
|
50
|
+
clientAuthentication?: "form" | "basic" | undefined;
|
|
51
|
+
bodyEncoding?: "form" | "json" | undefined;
|
|
52
|
+
headers?: Record<string, string> | undefined;
|
|
53
|
+
scopeIdCallbackParam?: string | undefined;
|
|
54
|
+
} | undefined;
|
|
55
|
+
operations?: {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
description?: string | undefined;
|
|
59
|
+
requiresOrg?: boolean | undefined;
|
|
60
|
+
}[] | undefined;
|
|
61
|
+
connection?: {
|
|
62
|
+
authMode?: "oauth" | "webhook" | "delegated" | "system-config" | undefined;
|
|
63
|
+
connectable?: boolean | undefined;
|
|
64
|
+
checkable?: boolean | undefined;
|
|
65
|
+
requiresProviderAdmin?: boolean | undefined;
|
|
66
|
+
} | undefined;
|
|
67
|
+
};
|
|
68
|
+
export default _default;
|
|
69
|
+
//# sourceMappingURL=system.integration.pagerduty.descriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.integration.pagerduty.descriptor.d.ts","sourceRoot":"","sources":["../../src/pagerduty/system.integration.pagerduty.descriptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wBAqDG"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { PAGERDUTY_DEFAULT_BASE_URL } from "../schemas/pagerduty.js";
|
|
2
|
+
import { createRuntimeAsset } from '@vibesdotdev/kernel/factory';
|
|
3
|
+
export default createRuntimeAsset({
|
|
4
|
+
kind: 'integration/provider',
|
|
5
|
+
id: 'integration.pagerduty',
|
|
6
|
+
name: 'PagerDuty',
|
|
7
|
+
description: 'PagerDuty incident-alerting integration — trigger, acknowledge, and resolve alerts via the Events API v2.',
|
|
8
|
+
provider: 'pagerduty',
|
|
9
|
+
category: 'observability',
|
|
10
|
+
enabled: true,
|
|
11
|
+
priority: 100,
|
|
12
|
+
baseUrl: PAGERDUTY_DEFAULT_BASE_URL,
|
|
13
|
+
configSettingKey: 'integrations.pagerduty.config',
|
|
14
|
+
config: {
|
|
15
|
+
baseUrl: PAGERDUTY_DEFAULT_BASE_URL
|
|
16
|
+
},
|
|
17
|
+
credentials: [
|
|
18
|
+
{
|
|
19
|
+
key: 'routingKey',
|
|
20
|
+
source: 'secret',
|
|
21
|
+
providerType: 'pagerduty',
|
|
22
|
+
required: false
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
key: 'routingKey',
|
|
26
|
+
source: 'secret',
|
|
27
|
+
reference: { source: 'secret', key: 'PAGERDUTY_ROUTING_KEY' },
|
|
28
|
+
required: false
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
operations: [
|
|
32
|
+
{
|
|
33
|
+
id: 'triggerIncident',
|
|
34
|
+
name: 'Trigger incident',
|
|
35
|
+
description: "Trigger a new alert via Events API v2 (event_action: 'trigger'). Args: `{ summary: string; source: string; severity: 'critical' | 'error' | 'warning' | 'info'; dedupKey?: string; customDetails?: object }`. Returns `{ status; message; dedupKey }`.",
|
|
36
|
+
requiresOrg: false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'acknowledgeIncident',
|
|
40
|
+
name: 'Acknowledge incident',
|
|
41
|
+
description: "Acknowledge an open alert by its dedup key (event_action: 'acknowledge'). Args: `{ dedupKey: string }`.",
|
|
42
|
+
requiresOrg: false
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'resolveIncident',
|
|
46
|
+
name: 'Resolve incident',
|
|
47
|
+
description: "Resolve an open alert by its dedup key (event_action: 'resolve'). Args: `{ dedupKey: string }`.",
|
|
48
|
+
requiresOrg: false
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
tags: ['system', 'integration', 'pagerduty', 'observability', 'incident-alerting']
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=system.integration.pagerduty.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.integration.pagerduty.descriptor.js","sourceRoot":"","sources":["../../src/pagerduty/system.integration.pagerduty.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,eAAe,kBAAkB,CAAqC;IACrE,IAAI,EAAE,sBAAsB;IAC5B,EAAE,EAAE,uBAAuB;IAC3B,IAAI,EAAE,WAAW;IACjB,WAAW,EACV,2GAA2G;IAC5G,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,0BAA0B;IACnC,gBAAgB,EAAE,+BAA+B;IACjD,MAAM,EAAE;QACP,OAAO,EAAE,0BAA0B;KACnC;IACD,WAAW,EAAE;QACZ;YACC,GAAG,EAAE,YAAY;YACjB,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,KAAK;SACf;QACD;YACC,GAAG,EAAE,YAAY;YACjB,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,uBAAuB,EAAE;YAC7D,QAAQ,EAAE,KAAK;SACf;KACD;IACD,UAAU,EAAE;QACX;YACC,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACV,wPAAwP;YACzP,WAAW,EAAE,KAAK;SAClB;QACD;YACC,EAAE,EAAE,qBAAqB;YACzB,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACV,yGAAyG;YAC1G,WAAW,EAAE,KAAK;SAClB;QACD;YACC,EAAE,EAAE,iBAAiB;YACrB,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACV,iGAAiG;YAClG,WAAW,EAAE,KAAK;SAClB;KACD;IACD,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,CAAC;CAClF,CAAC,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
export declare const PAGERDUTY_DEFAULT_BASE_URL = "https://events.pagerduty.com/v2";
|
|
3
|
+
export declare const PagerDutySeveritySchema: z.ZodEnum<{
|
|
4
|
+
critical: "critical";
|
|
5
|
+
error: "error";
|
|
6
|
+
warning: "warning";
|
|
7
|
+
info: "info";
|
|
8
|
+
}>;
|
|
9
|
+
export declare const PagerDutyCustomDetailsSchema: z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>;
|
|
10
|
+
export declare const TriggerIncidentOptionsSchema: z.ZodObject<{
|
|
11
|
+
summary: z.ZodString;
|
|
12
|
+
source: z.ZodString;
|
|
13
|
+
severity: z.ZodEnum<{
|
|
14
|
+
critical: "critical";
|
|
15
|
+
error: "error";
|
|
16
|
+
warning: "warning";
|
|
17
|
+
info: "info";
|
|
18
|
+
}>;
|
|
19
|
+
dedupKey: z.ZodOptional<z.ZodString>;
|
|
20
|
+
customDetails: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export declare const DedupKeyOptionsSchema: z.ZodObject<{
|
|
23
|
+
dedupKey: z.ZodString;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare const PagerDutyInvocationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
26
|
+
operationId: z.ZodLiteral<"triggerIncident">;
|
|
27
|
+
args: z.ZodObject<{
|
|
28
|
+
summary: z.ZodString;
|
|
29
|
+
source: z.ZodString;
|
|
30
|
+
severity: z.ZodEnum<{
|
|
31
|
+
critical: "critical";
|
|
32
|
+
error: "error";
|
|
33
|
+
warning: "warning";
|
|
34
|
+
info: "info";
|
|
35
|
+
}>;
|
|
36
|
+
dedupKey: z.ZodOptional<z.ZodString>;
|
|
37
|
+
customDetails: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
40
|
+
operationId: z.ZodLiteral<"acknowledgeIncident">;
|
|
41
|
+
args: z.ZodObject<{
|
|
42
|
+
dedupKey: z.ZodString;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
45
|
+
operationId: z.ZodLiteral<"resolveIncident">;
|
|
46
|
+
args: z.ZodObject<{
|
|
47
|
+
dedupKey: z.ZodString;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
}, z.core.$strip>], "operationId">;
|
|
50
|
+
export type PagerDutyOperationArgs = z.infer<typeof TriggerIncidentOptionsSchema> | z.infer<typeof DedupKeyOptionsSchema>;
|
|
51
|
+
export declare const PagerDutyOperationSchema: z.ZodEnum<{
|
|
52
|
+
triggerIncident: "triggerIncident";
|
|
53
|
+
acknowledgeIncident: "acknowledgeIncident";
|
|
54
|
+
resolveIncident: "resolveIncident";
|
|
55
|
+
}>;
|
|
56
|
+
export declare const PagerDutyConfigSchema: z.ZodObject<{
|
|
57
|
+
baseUrl: z.ZodURL;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export declare const PagerDutyConnectorInputSchema: z.ZodObject<{
|
|
60
|
+
baseUrl: z.ZodOptional<z.ZodURL>;
|
|
61
|
+
credentialReferences: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
62
|
+
source: z.ZodLiteral<"secret">;
|
|
63
|
+
key: z.ZodString;
|
|
64
|
+
store: z.ZodOptional<z.ZodString>;
|
|
65
|
+
operation: z.ZodOptional<z.ZodCustom<object, object>>;
|
|
66
|
+
}, z.core.$strict>], "source">>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
export declare const PagerDutyConnectorOptionsSchema: z.ZodPipe<z.ZodObject<{
|
|
69
|
+
baseUrl: z.ZodOptional<z.ZodURL>;
|
|
70
|
+
credentialReferences: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
71
|
+
source: z.ZodLiteral<"secret">;
|
|
72
|
+
key: z.ZodString;
|
|
73
|
+
store: z.ZodOptional<z.ZodString>;
|
|
74
|
+
operation: z.ZodOptional<z.ZodCustom<object, object>>;
|
|
75
|
+
}, z.core.$strict>], "source">>;
|
|
76
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
77
|
+
baseUrl: string;
|
|
78
|
+
credentialReferences: {
|
|
79
|
+
source: "secret";
|
|
80
|
+
key: string;
|
|
81
|
+
store?: string | undefined;
|
|
82
|
+
operation?: object | undefined;
|
|
83
|
+
}[];
|
|
84
|
+
}, {
|
|
85
|
+
credentialReferences: {
|
|
86
|
+
source: "secret";
|
|
87
|
+
key: string;
|
|
88
|
+
store?: string | undefined;
|
|
89
|
+
operation?: object | undefined;
|
|
90
|
+
}[];
|
|
91
|
+
baseUrl?: string | undefined;
|
|
92
|
+
}>>;
|
|
93
|
+
export declare const PagerDutyCredentialsSchema: z.ZodObject<{
|
|
94
|
+
routingKey: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
95
|
+
source: z.ZodLiteral<"secret">;
|
|
96
|
+
key: z.ZodString;
|
|
97
|
+
store: z.ZodOptional<z.ZodString>;
|
|
98
|
+
operation: z.ZodOptional<z.ZodCustom<object, object>>;
|
|
99
|
+
}, z.core.$strict>], "source">>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export declare const PagerDutyClientContextSchema: z.ZodObject<{
|
|
102
|
+
userId: z.ZodOptional<z.ZodString>;
|
|
103
|
+
orgId: z.ZodOptional<z.ZodString>;
|
|
104
|
+
organizationId: z.ZodOptional<z.ZodString>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
export declare const PagerDutyUserIdSchema: z.ZodString;
|
|
107
|
+
export declare const PagerDutyOrgIdSchema: z.ZodOptional<z.ZodString>;
|
|
108
|
+
export declare const PagerDutyVendorResponseSchema: z.ZodObject<{
|
|
109
|
+
status: z.ZodOptional<z.ZodString>;
|
|
110
|
+
message: z.ZodOptional<z.ZodString>;
|
|
111
|
+
dedup_key: z.ZodOptional<z.ZodString>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
export declare const PagerDutyEnqueueResultSchema: z.ZodObject<{
|
|
114
|
+
status: z.ZodString;
|
|
115
|
+
message: z.ZodString;
|
|
116
|
+
dedupKey: z.ZodString;
|
|
117
|
+
}, z.core.$strip>;
|
|
118
|
+
export declare const PagerDutyEventSchema: z.ZodObject<{
|
|
119
|
+
routing_key: z.ZodString;
|
|
120
|
+
event_action: z.ZodEnum<{
|
|
121
|
+
trigger: "trigger";
|
|
122
|
+
acknowledge: "acknowledge";
|
|
123
|
+
resolve: "resolve";
|
|
124
|
+
}>;
|
|
125
|
+
dedup_key: z.ZodOptional<z.ZodString>;
|
|
126
|
+
payload: z.ZodOptional<z.ZodObject<{
|
|
127
|
+
summary: z.ZodString;
|
|
128
|
+
source: z.ZodString;
|
|
129
|
+
severity: z.ZodEnum<{
|
|
130
|
+
critical: "critical";
|
|
131
|
+
error: "error";
|
|
132
|
+
warning: "warning";
|
|
133
|
+
info: "info";
|
|
134
|
+
}>;
|
|
135
|
+
custom_details: z.ZodOptional<z.ZodType<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject, z.core.$ZodTypeInternals<import("@vibesdotdev/kernel/schemas/json").JsonObject, import("@vibesdotdev/kernel/schemas/json").JsonObject>>>;
|
|
136
|
+
}, z.core.$strip>>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
export type PagerDutySeverity = z.infer<typeof PagerDutySeveritySchema>;
|
|
139
|
+
export type TriggerIncidentOptions = z.infer<typeof TriggerIncidentOptionsSchema>;
|
|
140
|
+
export type PagerDutyEnqueueResult = z.infer<typeof PagerDutyEnqueueResultSchema>;
|
|
141
|
+
export type PagerDutyClientContext = z.infer<typeof PagerDutyClientContextSchema>;
|
|
142
|
+
export type PagerDutyConnectorOptions = z.infer<typeof PagerDutyConnectorInputSchema>;
|
|
143
|
+
export type PagerDutyEvent = z.infer<typeof PagerDutyEventSchema>;
|
|
144
|
+
export type PagerDutyOperation = z.infer<typeof PagerDutyOperationSchema>;
|
|
145
|
+
export declare function admitPagerDutyInput<T>(schema: z.ZodType<T>, value: unknown): T;
|
|
146
|
+
//# sourceMappingURL=pagerduty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagerduty.d.ts","sourceRoot":"","sources":["../../src/schemas/pagerduty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B,eAAO,MAAM,0BAA0B,oCAAoC,CAAC;AAC5E,eAAO,MAAM,uBAAuB;;;;;EAAmD,CAAC;AACxF,eAAO,MAAM,4BAA4B,iQAAmB,CAAC;AAC7D,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAMvC,CAAC;AACH,eAAO,MAAM,qBAAqB;;iBAA4C,CAAC;AAC/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;kCAIpC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1H,eAAO,MAAM,wBAAwB;;;;EAAwE,CAAC;AAC9G,eAAO,MAAM,qBAAqB;;iBAAyD,CAAC;AAC5F,eAAO,MAAM,6BAA6B;;;;;;;;iBAAuG,CAAC;AAClJ,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;GAEzC,CAAC;AACJ,eAAO,MAAM,0BAA0B;;;;;;;iBAA+D,CAAC;AACvG,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AACH,eAAO,MAAM,qBAAqB,aAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,4BAA+B,CAAC;AACjE,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AACH,eAAO,MAAM,4BAA4B;;;;iBAEvC,CAAC;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;iBAQ/B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACtF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAI9E"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
3
|
+
import { JsonObjectSchema } from '@vibesdotdev/kernel/schemas/json';
|
|
4
|
+
import { CredentialReferenceSchema } from '@vibesdotdev/kernel/credentials';
|
|
5
|
+
export const PAGERDUTY_DEFAULT_BASE_URL = 'https://events.pagerduty.com/v2';
|
|
6
|
+
export const PagerDutySeveritySchema = z.enum(['critical', 'error', 'warning', 'info']);
|
|
7
|
+
export const PagerDutyCustomDetailsSchema = JsonObjectSchema;
|
|
8
|
+
export const TriggerIncidentOptionsSchema = z.object({
|
|
9
|
+
summary: z.string().min(1),
|
|
10
|
+
source: z.string().min(1),
|
|
11
|
+
severity: PagerDutySeveritySchema,
|
|
12
|
+
dedupKey: z.string().min(1).optional(),
|
|
13
|
+
customDetails: PagerDutyCustomDetailsSchema.optional()
|
|
14
|
+
});
|
|
15
|
+
export const DedupKeyOptionsSchema = z.object({ dedupKey: z.string().min(1) });
|
|
16
|
+
export const PagerDutyInvocationSchema = z.discriminatedUnion('operationId', [
|
|
17
|
+
z.object({ operationId: z.literal('triggerIncident'), args: TriggerIncidentOptionsSchema }),
|
|
18
|
+
z.object({ operationId: z.literal('acknowledgeIncident'), args: DedupKeyOptionsSchema }),
|
|
19
|
+
z.object({ operationId: z.literal('resolveIncident'), args: DedupKeyOptionsSchema })
|
|
20
|
+
]);
|
|
21
|
+
export const PagerDutyOperationSchema = z.enum(['triggerIncident', 'acknowledgeIncident', 'resolveIncident']);
|
|
22
|
+
export const PagerDutyConfigSchema = z.object({ baseUrl: z.url({ protocol: /^https?$/ }) });
|
|
23
|
+
export const PagerDutyConnectorInputSchema = PagerDutyConfigSchema.partial().extend({ credentialReferences: z.array(CredentialReferenceSchema) });
|
|
24
|
+
export const PagerDutyConnectorOptionsSchema = PagerDutyConnectorInputSchema.transform(options => ({
|
|
25
|
+
...options, baseUrl: options.baseUrl ?? PAGERDUTY_DEFAULT_BASE_URL
|
|
26
|
+
}));
|
|
27
|
+
export const PagerDutyCredentialsSchema = z.object({ routingKey: z.array(CredentialReferenceSchema) });
|
|
28
|
+
export const PagerDutyClientContextSchema = z.object({
|
|
29
|
+
userId: z.string().min(1).optional(),
|
|
30
|
+
orgId: z.string().min(1).optional(),
|
|
31
|
+
organizationId: z.string().min(1).optional()
|
|
32
|
+
});
|
|
33
|
+
export const PagerDutyUserIdSchema = z.string().min(1);
|
|
34
|
+
export const PagerDutyOrgIdSchema = z.string().min(1).optional();
|
|
35
|
+
export const PagerDutyVendorResponseSchema = z.object({
|
|
36
|
+
status: z.string().optional(),
|
|
37
|
+
message: z.string().optional(),
|
|
38
|
+
dedup_key: z.string().optional()
|
|
39
|
+
});
|
|
40
|
+
export const PagerDutyEnqueueResultSchema = z.object({
|
|
41
|
+
status: z.string(), message: z.string(), dedupKey: z.string()
|
|
42
|
+
});
|
|
43
|
+
export const PagerDutyEventSchema = z.object({
|
|
44
|
+
routing_key: z.string().min(1),
|
|
45
|
+
event_action: z.enum(['trigger', 'acknowledge', 'resolve']),
|
|
46
|
+
dedup_key: z.string().optional(),
|
|
47
|
+
payload: z.object({
|
|
48
|
+
summary: z.string(), source: z.string(), severity: PagerDutySeveritySchema,
|
|
49
|
+
custom_details: PagerDutyCustomDetailsSchema.optional()
|
|
50
|
+
}).optional()
|
|
51
|
+
});
|
|
52
|
+
export function admitPagerDutyInput(schema, value) {
|
|
53
|
+
const parsed = schema.safeParse(value);
|
|
54
|
+
if (parsed.success)
|
|
55
|
+
return parsed.data;
|
|
56
|
+
throw new CapabilityError('Invalid PagerDuty input.', 'INVALID_INPUT', { reason: 'pagerduty-input-invalid' });
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=pagerduty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagerduty.js","sourceRoot":"","sources":["../../src/schemas/pagerduty.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,113 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibesdotdev/integrations-pagerduty",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
"version": "1.0.0-rc.3",
|
|
4
|
+
"dependencies": {
|
|
5
|
+
"@vibesdotdev/secrets": "^1.0.0-rc.0",
|
|
6
|
+
"@vibesdotdev/integrations": "^1.0.0-rc.6",
|
|
7
|
+
"@vibesdotdev/platform": "^1.0.0-rc.0",
|
|
8
|
+
"@vibesdotdev/kernel": "^1.0.0-rc.0",
|
|
9
|
+
"zod": "^4.6.7"
|
|
10
|
+
},
|
|
11
|
+
"gitHead": "319e9e534fac11da0c374ab44efeed6c9722d3ec",
|
|
12
|
+
"_vibes_source": {
|
|
13
|
+
"repo": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
|
|
14
|
+
"sha": "319e9e534fac11da0c374ab44efeed6c9722d3ec",
|
|
15
|
+
"workspaceDigest": "sha256:18fa52fcb93cc8b062a4fd79d8fdfabbb4a46c5ba21e6c94cc826ad49572a308"
|
|
16
|
+
},
|
|
17
|
+
"main": "./dist/index.js",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"bun": "./dist/index.js",
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"import": "./dist/index.js",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./plugin": {
|
|
26
|
+
"bun": "./dist/integrations-pagerduty.plugin.js",
|
|
27
|
+
"types": "./dist/integrations-pagerduty.plugin.d.ts",
|
|
28
|
+
"import": "./dist/integrations-pagerduty.plugin.js",
|
|
29
|
+
"default": "./dist/integrations-pagerduty.plugin.js"
|
|
30
|
+
},
|
|
31
|
+
"./client": {
|
|
32
|
+
"bun": "./dist/client/index.js",
|
|
33
|
+
"types": "./dist/client/index.d.ts",
|
|
34
|
+
"import": "./dist/client/index.js",
|
|
35
|
+
"default": "./dist/client/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./pagerduty": {
|
|
38
|
+
"bun": "./dist/pagerduty/index.js",
|
|
39
|
+
"types": "./dist/pagerduty/index.d.ts",
|
|
40
|
+
"import": "./dist/pagerduty/index.js",
|
|
41
|
+
"default": "./dist/pagerduty/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./pagerduty/descriptor": {
|
|
44
|
+
"bun": "./dist/pagerduty/system.integration.pagerduty.descriptor.js",
|
|
45
|
+
"types": "./dist/pagerduty/system.integration.pagerduty.descriptor.d.ts",
|
|
46
|
+
"import": "./dist/pagerduty/system.integration.pagerduty.descriptor.js",
|
|
47
|
+
"default": "./dist/pagerduty/system.integration.pagerduty.descriptor.js"
|
|
48
|
+
},
|
|
49
|
+
"./schemas": {
|
|
50
|
+
"bun": "./dist/schemas/pagerduty.js",
|
|
51
|
+
"types": "./dist/schemas/pagerduty.d.ts",
|
|
52
|
+
"import": "./dist/schemas/pagerduty.js",
|
|
53
|
+
"default": "./dist/schemas/pagerduty.js"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"files": [
|
|
57
|
+
"dist",
|
|
58
|
+
"README.md",
|
|
59
|
+
"LICENSE",
|
|
60
|
+
"!**/.turbo/**",
|
|
61
|
+
"!**/.svelte-kit/**",
|
|
62
|
+
"!**/.vibes/**",
|
|
63
|
+
"!**/__tests__/**",
|
|
64
|
+
"!**/__stubs__/**",
|
|
65
|
+
"!**/*.test.js",
|
|
66
|
+
"!**/*.test.mjs",
|
|
67
|
+
"!**/*.test.cjs",
|
|
68
|
+
"!**/*.test.jsx",
|
|
69
|
+
"!**/*.test.ts",
|
|
70
|
+
"!**/*.test.mts",
|
|
71
|
+
"!**/*.test.cts",
|
|
72
|
+
"!**/*.test.tsx",
|
|
73
|
+
"!**/*.spec.js",
|
|
74
|
+
"!**/*.spec.mjs",
|
|
75
|
+
"!**/*.spec.cjs",
|
|
76
|
+
"!**/*.spec.jsx",
|
|
77
|
+
"!**/*.spec.ts",
|
|
78
|
+
"!**/*.spec.mts",
|
|
79
|
+
"!**/*.spec.cts",
|
|
80
|
+
"!**/*.spec.tsx",
|
|
81
|
+
"!**/SPEC.md",
|
|
82
|
+
"!**/tsconfig.json",
|
|
83
|
+
"!**/tsconfig.*.json",
|
|
84
|
+
"!**/*.tsbuildinfo",
|
|
85
|
+
"!**/.build-ok.json",
|
|
86
|
+
"!**/*.tgz"
|
|
87
|
+
],
|
|
88
|
+
"scripts": {
|
|
89
|
+
"lint": "node ../../node_modules/@vibesdotdev/internal-oxlint-toolchain/ratchet.mjs .",
|
|
90
|
+
"test": "${BUN:-bun} test",
|
|
91
|
+
"check": "${BUN:-bun} --bun tsc -p tsconfig.json --noEmit",
|
|
92
|
+
"build": "tsc -p tsconfig.build.json"
|
|
93
|
+
},
|
|
94
|
+
"repository": {
|
|
95
|
+
"type": "git",
|
|
96
|
+
"url": "ssh://git@git.vibes.dev/vibesdotdev/integrations.git",
|
|
97
|
+
"directory": "integrations/pagerduty"
|
|
98
|
+
},
|
|
99
|
+
"publishConfig": {
|
|
100
|
+
"registry": "https://packages.vibes.dev",
|
|
101
|
+
"access": "public"
|
|
102
|
+
},
|
|
103
|
+
"vibes": {
|
|
104
|
+
"visibility": "public",
|
|
105
|
+
"registry": {
|
|
106
|
+
"repositoryId": "70be51c9-5ab7-4d7e-9f47-801cb17720d8",
|
|
107
|
+
"directory": "integrations/pagerduty"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"type": "module",
|
|
111
|
+
"types": "./dist/index.d.ts",
|
|
112
|
+
"license": "BUSL-1.1"
|
|
113
|
+
}
|