@pipeline-builder/pipeline-manager 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +145 -0
- package/cdk.json +91 -0
- package/config.yml +94 -0
- package/dist/agent/ai.d.ts +48 -0
- package/dist/agent/ai.d.ts.map +1 -0
- package/dist/agent/ai.js +149 -0
- package/dist/agent/bootstrap.d.ts +39 -0
- package/dist/agent/bootstrap.d.ts.map +1 -0
- package/dist/agent/bootstrap.js +66 -0
- package/dist/agent/env-file.d.ts +17 -0
- package/dist/agent/env-file.d.ts.map +1 -0
- package/dist/agent/env-file.js +47 -0
- package/dist/agent/executor.d.ts +30 -0
- package/dist/agent/executor.d.ts.map +1 -0
- package/dist/agent/executor.js +60 -0
- package/dist/agent/health.d.ts +43 -0
- package/dist/agent/health.d.ts.map +1 -0
- package/dist/agent/health.js +109 -0
- package/dist/agent/ports.d.ts +26 -0
- package/dist/agent/ports.d.ts.map +1 -0
- package/dist/agent/ports.js +132 -0
- package/dist/agent/post-steps.d.ts +61 -0
- package/dist/agent/post-steps.d.ts.map +1 -0
- package/dist/agent/post-steps.js +131 -0
- package/dist/agent/prereqs.d.ts +26 -0
- package/dist/agent/prereqs.d.ts.map +1 -0
- package/dist/agent/prereqs.js +134 -0
- package/dist/agent/targets.d.ts +128 -0
- package/dist/agent/targets.d.ts.map +1 -0
- package/dist/agent/targets.js +265 -0
- package/dist/agent/tools.d.ts +13 -0
- package/dist/agent/tools.d.ts.map +1 -0
- package/dist/agent/tools.js +75 -0
- package/dist/agent/troubleshoot.d.ts +30 -0
- package/dist/agent/troubleshoot.d.ts.map +1 -0
- package/dist/agent/troubleshoot.js +87 -0
- package/dist/boilerplate.d.ts +3 -0
- package/dist/boilerplate.d.ts.map +1 -0
- package/dist/boilerplate.js +54 -0
- package/dist/cdk.json +91 -0
- package/dist/cli.d.ts +62 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +463 -0
- package/dist/commands/audit-stacks.d.ts +24 -0
- package/dist/commands/audit-stacks.d.ts.map +1 -0
- package/dist/commands/audit-stacks.js +182 -0
- package/dist/commands/audit-tokens.d.ts +21 -0
- package/dist/commands/audit-tokens.d.ts.map +1 -0
- package/dist/commands/audit-tokens.js +153 -0
- package/dist/commands/bootstrap.d.ts +11 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/bootstrap.js +159 -0
- package/dist/commands/create-pat.d.ts +27 -0
- package/dist/commands/create-pat.d.ts.map +1 -0
- package/dist/commands/create-pat.js +194 -0
- package/dist/commands/create-pipeline.d.ts +12 -0
- package/dist/commands/create-pipeline.d.ts.map +1 -0
- package/dist/commands/create-pipeline.js +315 -0
- package/dist/commands/deploy.d.ts +15 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +157 -0
- package/dist/commands/entity-get.d.ts +51 -0
- package/dist/commands/entity-get.d.ts.map +1 -0
- package/dist/commands/entity-get.js +69 -0
- package/dist/commands/entity-list.d.ts +39 -0
- package/dist/commands/entity-list.d.ts.map +1 -0
- package/dist/commands/entity-list.js +88 -0
- package/dist/commands/get-pipeline.d.ts +13 -0
- package/dist/commands/get-pipeline.d.ts.map +1 -0
- package/dist/commands/get-pipeline.js +49 -0
- package/dist/commands/get-plugin.d.ts +13 -0
- package/dist/commands/get-plugin.d.ts.map +1 -0
- package/dist/commands/get-plugin.js +51 -0
- package/dist/commands/instantiate-template.d.ts +20 -0
- package/dist/commands/instantiate-template.d.ts.map +1 -0
- package/dist/commands/instantiate-template.js +274 -0
- package/dist/commands/list-pipelines.d.ts +20 -0
- package/dist/commands/list-pipelines.d.ts.map +1 -0
- package/dist/commands/list-pipelines.js +99 -0
- package/dist/commands/list-plugins.d.ts +20 -0
- package/dist/commands/list-plugins.d.ts.map +1 -0
- package/dist/commands/list-plugins.js +92 -0
- package/dist/commands/login.d.ts +21 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +174 -0
- package/dist/commands/new-plugin.d.ts +12 -0
- package/dist/commands/new-plugin.d.ts.map +1 -0
- package/dist/commands/new-plugin.js +129 -0
- package/dist/commands/org-export.d.ts +25 -0
- package/dist/commands/org-export.d.ts.map +1 -0
- package/dist/commands/org-export.js +100 -0
- package/dist/commands/provision.d.ts +122 -0
- package/dist/commands/provision.d.ts.map +1 -0
- package/dist/commands/provision.js +867 -0
- package/dist/commands/redrive-events.d.ts +24 -0
- package/dist/commands/redrive-events.d.ts.map +1 -0
- package/dist/commands/redrive-events.js +127 -0
- package/dist/commands/register.d.ts +38 -0
- package/dist/commands/register.d.ts.map +1 -0
- package/dist/commands/register.js +160 -0
- package/dist/commands/setup-events.d.ts +15 -0
- package/dist/commands/setup-events.d.ts.map +1 -0
- package/dist/commands/setup-events.js +168 -0
- package/dist/commands/status.d.ts +11 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +81 -0
- package/dist/commands/store-token.d.ts +26 -0
- package/dist/commands/store-token.d.ts.map +1 -0
- package/dist/commands/store-token.js +305 -0
- package/dist/commands/synth.d.ts +21 -0
- package/dist/commands/synth.d.ts.map +1 -0
- package/dist/commands/synth.js +158 -0
- package/dist/commands/upload-plugin.d.ts +21 -0
- package/dist/commands/upload-plugin.d.ts.map +1 -0
- package/dist/commands/upload-plugin.js +275 -0
- package/dist/commands/validate-plugin.d.ts +12 -0
- package/dist/commands/validate-plugin.d.ts.map +1 -0
- package/dist/commands/validate-plugin.js +175 -0
- package/dist/commands/validate-templates.d.ts +11 -0
- package/dist/commands/validate-templates.d.ts.map +1 -0
- package/dist/commands/validate-templates.js +116 -0
- package/dist/commands/version.d.ts +12 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +216 -0
- package/dist/config/cli.constants.d.ts +116 -0
- package/dist/config/cli.constants.d.ts.map +1 -0
- package/dist/config/cli.constants.js +194 -0
- package/dist/config.yml +94 -0
- package/dist/lambda/token-renew-handler.d.ts +2 -0
- package/dist/lambda/token-renew-handler.d.ts.map +1 -0
- package/dist/lambda/token-renew-handler.js +125 -0
- package/dist/templates/events-stack.json +174 -0
- package/dist/templates/token-renew-stack.json +122 -0
- package/dist/types/config.d.ts +53 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +4 -0
- package/dist/types/error.d.ts +61 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +35 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/pipeline-template.d.ts +48 -0
- package/dist/types/pipeline-template.d.ts.map +1 -0
- package/dist/types/pipeline-template.js +4 -0
- package/dist/types/pipeline.d.ts +121 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +4 -0
- package/dist/types/plugin.d.ts +135 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +4 -0
- package/dist/utils/api-client.d.ts +26 -0
- package/dist/utils/api-client.d.ts.map +1 -0
- package/dist/utils/api-client.js +151 -0
- package/dist/utils/audit-log.d.ts +8 -0
- package/dist/utils/audit-log.d.ts.map +1 -0
- package/dist/utils/audit-log.js +57 -0
- package/dist/utils/auth-guard.d.ts +20 -0
- package/dist/utils/auth-guard.d.ts.map +1 -0
- package/dist/utils/auth-guard.js +22 -0
- package/dist/utils/auth-utils.d.ts +68 -0
- package/dist/utils/auth-utils.d.ts.map +1 -0
- package/dist/utils/auth-utils.js +77 -0
- package/dist/utils/aws-env.d.ts +21 -0
- package/dist/utils/aws-env.d.ts.map +1 -0
- package/dist/utils/aws-env.js +34 -0
- package/dist/utils/aws-secrets.d.ts +48 -0
- package/dist/utils/aws-secrets.d.ts.map +1 -0
- package/dist/utils/aws-secrets.js +115 -0
- package/dist/utils/banner.d.ts +19 -0
- package/dist/utils/banner.d.ts.map +1 -0
- package/dist/utils/banner.js +52 -0
- package/dist/utils/cdk-utils.d.ts +74 -0
- package/dist/utils/cdk-utils.d.ts.map +1 -0
- package/dist/utils/cdk-utils.js +152 -0
- package/dist/utils/command-utils.d.ts +75 -0
- package/dist/utils/command-utils.d.ts.map +1 -0
- package/dist/utils/command-utils.js +155 -0
- package/dist/utils/config-loader.d.ts +33 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +154 -0
- package/dist/utils/cron.d.ts +28 -0
- package/dist/utils/cron.d.ts.map +1 -0
- package/dist/utils/cron.js +119 -0
- package/dist/utils/deploy-runner.d.ts +38 -0
- package/dist/utils/deploy-runner.d.ts.map +1 -0
- package/dist/utils/deploy-runner.js +112 -0
- package/dist/utils/error-handler.d.ts +29 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +302 -0
- package/dist/utils/list-command-utils.d.ts +23 -0
- package/dist/utils/list-command-utils.d.ts.map +1 -0
- package/dist/utils/list-command-utils.js +57 -0
- package/dist/utils/output-utils.d.ts +40 -0
- package/dist/utils/output-utils.d.ts.map +1 -0
- package/dist/utils/output-utils.js +250 -0
- package/dist/utils/pipeline-config.d.ts +33 -0
- package/dist/utils/pipeline-config.d.ts.map +1 -0
- package/dist/utils/pipeline-config.js +55 -0
- package/dist/utils/platform-secret.d.ts +27 -0
- package/dist/utils/platform-secret.d.ts.map +1 -0
- package/dist/utils/platform-secret.js +92 -0
- package/dist/utils/plugin-resolver.d.ts +17 -0
- package/dist/utils/plugin-resolver.d.ts.map +1 -0
- package/dist/utils/plugin-resolver.js +101 -0
- package/dist/utils/preflight.d.ts +26 -0
- package/dist/utils/preflight.d.ts.map +1 -0
- package/dist/utils/preflight.js +59 -0
- package/dist/utils/rate-limiter.d.ts +15 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +164 -0
- package/dist/utils/registry.d.ts +86 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +140 -0
- package/dist/utils/response-utils.d.ts +21 -0
- package/dist/utils/response-utils.d.ts.map +1 -0
- package/dist/utils/response-utils.js +70 -0
- package/dist/utils/tls.d.ts +52 -0
- package/dist/utils/tls.d.ts.map +1 -0
- package/dist/utils/tls.js +88 -0
- package/package.json +181 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"AWSTemplateFormatVersion": "2010-09-09",
|
|
3
|
+
"Description": "Pipeline Builder platform-token renewal — a scheduled Lambda that re-mints the platform JWT in Secrets Manager before it expires, so CodeBuild/Lambda credentials never lapse. Lambda code is deployed separately via pipeline-manager infra store-token.",
|
|
4
|
+
"Parameters": {
|
|
5
|
+
"PlatformBaseUrl": {
|
|
6
|
+
"Type": "String",
|
|
7
|
+
"Description": "Base URL of the platform (e.g. https://app.example.com)"
|
|
8
|
+
},
|
|
9
|
+
"PlatformSecretName": {
|
|
10
|
+
"Type": "String",
|
|
11
|
+
"Description": "Secrets Manager secret name holding the platform JWT (e.g. pipeline-builder/{orgId}/platform)"
|
|
12
|
+
},
|
|
13
|
+
"RenewDays": {
|
|
14
|
+
"Type": "Number",
|
|
15
|
+
"Default": 30,
|
|
16
|
+
"MinValue": 1,
|
|
17
|
+
"MaxValue": 365,
|
|
18
|
+
"Description": "Lifetime in days requested for each renewed token"
|
|
19
|
+
},
|
|
20
|
+
"ScheduleExpression": {
|
|
21
|
+
"Type": "String",
|
|
22
|
+
"Default": "cron(0 0 * * ? *)",
|
|
23
|
+
"Description": "EventBridge schedule expression for the renewal (default: daily at 00:00 UTC)"
|
|
24
|
+
},
|
|
25
|
+
"PipelineManagerVersion": {
|
|
26
|
+
"Type": "String",
|
|
27
|
+
"Default": "latest",
|
|
28
|
+
"Description": "Version of @pipeline-builder/pipeline-manager the handler installs from npm at runtime (pin for reproducible renewals)"
|
|
29
|
+
},
|
|
30
|
+
"NameSuffix": {
|
|
31
|
+
"Type": "String",
|
|
32
|
+
"Default": "",
|
|
33
|
+
"Description": "Suffix appended to the renewal stack's resource names so a scoped-token renewal (e.g. '-reporting-ingest') coexists with the platform-token stack instead of clobbering its role/function/rule. Empty for the platform secret."
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"Resources": {
|
|
37
|
+
"LambdaRole": {
|
|
38
|
+
"Type": "AWS::IAM::Role",
|
|
39
|
+
"Properties": {
|
|
40
|
+
"RoleName": { "Fn::Sub": "pipeline-builder-token-renew${NameSuffix}" },
|
|
41
|
+
"AssumeRolePolicyDocument": {
|
|
42
|
+
"Version": "2012-10-17",
|
|
43
|
+
"Statement": [{
|
|
44
|
+
"Effect": "Allow",
|
|
45
|
+
"Principal": { "Service": "lambda.amazonaws.com" },
|
|
46
|
+
"Action": "sts:AssumeRole"
|
|
47
|
+
}]
|
|
48
|
+
},
|
|
49
|
+
"ManagedPolicyArns": [
|
|
50
|
+
"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
51
|
+
],
|
|
52
|
+
"Policies": [{
|
|
53
|
+
"PolicyName": "token-renew",
|
|
54
|
+
"PolicyDocument": {
|
|
55
|
+
"Statement": [{
|
|
56
|
+
"Effect": "Allow",
|
|
57
|
+
"Action": [
|
|
58
|
+
"secretsmanager:GetSecretValue",
|
|
59
|
+
"secretsmanager:PutSecretValue",
|
|
60
|
+
"secretsmanager:UpdateSecret",
|
|
61
|
+
"secretsmanager:DescribeSecret",
|
|
62
|
+
"secretsmanager:CreateSecret"
|
|
63
|
+
],
|
|
64
|
+
"Resource": { "Fn::Sub": "arn:aws:secretsmanager:${AWS::Region}:${AWS::AccountId}:secret:pipeline-builder/*" }
|
|
65
|
+
}]
|
|
66
|
+
}
|
|
67
|
+
}]
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"TokenRenewHandler": {
|
|
71
|
+
"Type": "AWS::Lambda::Function",
|
|
72
|
+
"Properties": {
|
|
73
|
+
"FunctionName": { "Fn::Sub": "pipeline-builder-token-renew${NameSuffix}" },
|
|
74
|
+
"Runtime": "nodejs24.x",
|
|
75
|
+
"Handler": "index.handler",
|
|
76
|
+
"Code": {
|
|
77
|
+
"ZipFile": "exports.handler=async()=>{console.log('Placeholder handler — run pipeline-manager infra store-token to deploy real code');return{statusCode:200}}"
|
|
78
|
+
},
|
|
79
|
+
"Role": { "Fn::GetAtt": ["LambdaRole", "Arn"] },
|
|
80
|
+
"Timeout": 300,
|
|
81
|
+
"MemorySize": 1024,
|
|
82
|
+
"EphemeralStorage": { "Size": 1024 },
|
|
83
|
+
"Environment": {
|
|
84
|
+
"Variables": {
|
|
85
|
+
"PLATFORM_BASE_URL": { "Ref": "PlatformBaseUrl" },
|
|
86
|
+
"PLATFORM_SECRET_NAME": { "Ref": "PlatformSecretName" },
|
|
87
|
+
"RENEW_DAYS": { "Ref": "RenewDays" },
|
|
88
|
+
"PIPELINE_MANAGER_VERSION": { "Ref": "PipelineManagerVersion" },
|
|
89
|
+
"NODE_ENV": "production"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"ScheduleRule": {
|
|
95
|
+
"Type": "AWS::Events::Rule",
|
|
96
|
+
"Properties": {
|
|
97
|
+
"Name": { "Fn::Sub": "pipeline-builder-token-renew${NameSuffix}" },
|
|
98
|
+
"Description": "Scheduled platform-token renewal",
|
|
99
|
+
"State": "ENABLED",
|
|
100
|
+
"ScheduleExpression": { "Ref": "ScheduleExpression" },
|
|
101
|
+
"Targets": [{
|
|
102
|
+
"Id": "token-renew-lambda",
|
|
103
|
+
"Arn": { "Fn::GetAtt": ["TokenRenewHandler", "Arn"] }
|
|
104
|
+
}]
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"InvokePermission": {
|
|
108
|
+
"Type": "AWS::Lambda::Permission",
|
|
109
|
+
"Properties": {
|
|
110
|
+
"FunctionName": { "Ref": "TokenRenewHandler" },
|
|
111
|
+
"Action": "lambda:InvokeFunction",
|
|
112
|
+
"Principal": "events.amazonaws.com",
|
|
113
|
+
"SourceArn": { "Fn::GetAtt": ["ScheduleRule", "Arn"] }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"Outputs": {
|
|
118
|
+
"LambdaFunctionArn": { "Value": { "Fn::GetAtt": ["TokenRenewHandler", "Arn"] } },
|
|
119
|
+
"ScheduleRuleName": { "Value": { "Ref": "ScheduleRule" } },
|
|
120
|
+
"ScheduleExpression": { "Value": { "Ref": "ScheduleExpression" } }
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform API connection settings.
|
|
3
|
+
*/
|
|
4
|
+
export interface ApiConfig {
|
|
5
|
+
/** Base URL of the platform API (e.g., `https://api.example.com`). */
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
/** Default request timeout in milliseconds. */
|
|
8
|
+
timeout?: number;
|
|
9
|
+
/** Extended timeout for plugin upload requests (large files). */
|
|
10
|
+
uploadTimeout?: number;
|
|
11
|
+
/** URL path for single-pipeline CRUD operations. */
|
|
12
|
+
pipelineUrl: string;
|
|
13
|
+
/** URL path for pipeline list/query operations. */
|
|
14
|
+
pipelineListUrl: string;
|
|
15
|
+
/** URL path for the golden-path pipeline-template catalog (list/get/instantiate). */
|
|
16
|
+
pipelineTemplateUrl: string;
|
|
17
|
+
/** URL path for single-plugin CRUD operations. */
|
|
18
|
+
pluginUrl: string;
|
|
19
|
+
/** URL path for plugin list/query operations. */
|
|
20
|
+
pluginListUrl: string;
|
|
21
|
+
/** URL path for plugin upload (multipart POST). */
|
|
22
|
+
pluginUploadUrl: string;
|
|
23
|
+
/** When `false`, disables TLS certificate verification. */
|
|
24
|
+
rejectUnauthorized?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Authentication credentials for platform API access.
|
|
28
|
+
*/
|
|
29
|
+
export interface AuthConfig {
|
|
30
|
+
/** JWT bearer token obtained from the platform. */
|
|
31
|
+
token: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Complete CLI application configuration combining API and auth settings.
|
|
35
|
+
*/
|
|
36
|
+
export interface Config {
|
|
37
|
+
/** Platform API connection settings. */
|
|
38
|
+
api: ApiConfig;
|
|
39
|
+
/** Authentication credentials. */
|
|
40
|
+
auth: AuthConfig;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The narrow slice of {@link Config} the deploy/registry paths read off
|
|
44
|
+
* `client.getConfig()` — the pipeline endpoint + platform base URL. Named so the
|
|
45
|
+
* `deploy` and `create --deploy` flows share one shape instead of re-casting it.
|
|
46
|
+
*/
|
|
47
|
+
export interface PlatformDeployConfig {
|
|
48
|
+
api: {
|
|
49
|
+
pipelineUrl: string;
|
|
50
|
+
baseUrl: string;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,wCAAwC;IACxC,GAAG,EAAE,SAAS,CAAC;IACf,kCAAkC;IAClC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogUGxhdGZvcm0gQVBJIGNvbm5lY3Rpb24gc2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpQ29uZmlnIHtcbiAgLyoqIEJhc2UgVVJMIG9mIHRoZSBwbGF0Zm9ybSBBUEkgKGUuZy4sIGBodHRwczovL2FwaS5leGFtcGxlLmNvbWApLiAqL1xuICBiYXNlVXJsOiBzdHJpbmc7XG4gIC8qKiBEZWZhdWx0IHJlcXVlc3QgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBFeHRlbmRlZCB0aW1lb3V0IGZvciBwbHVnaW4gdXBsb2FkIHJlcXVlc3RzIChsYXJnZSBmaWxlcykuICovXG4gIHVwbG9hZFRpbWVvdXQ/OiBudW1iZXI7XG4gIC8qKiBVUkwgcGF0aCBmb3Igc2luZ2xlLXBpcGVsaW5lIENSVUQgb3BlcmF0aW9ucy4gKi9cbiAgcGlwZWxpbmVVcmw6IHN0cmluZztcbiAgLyoqIFVSTCBwYXRoIGZvciBwaXBlbGluZSBsaXN0L3F1ZXJ5IG9wZXJhdGlvbnMuICovXG4gIHBpcGVsaW5lTGlzdFVybDogc3RyaW5nO1xuICAvKiogVVJMIHBhdGggZm9yIHRoZSBnb2xkZW4tcGF0aCBwaXBlbGluZS10ZW1wbGF0ZSBjYXRhbG9nIChsaXN0L2dldC9pbnN0YW50aWF0ZSkuICovXG4gIHBpcGVsaW5lVGVtcGxhdGVVcmw6IHN0cmluZztcbiAgLyoqIFVSTCBwYXRoIGZvciBzaW5nbGUtcGx1Z2luIENSVUQgb3BlcmF0aW9ucy4gKi9cbiAgcGx1Z2luVXJsOiBzdHJpbmc7XG4gIC8qKiBVUkwgcGF0aCBmb3IgcGx1Z2luIGxpc3QvcXVlcnkgb3BlcmF0aW9ucy4gKi9cbiAgcGx1Z2luTGlzdFVybDogc3RyaW5nO1xuICAvKiogVVJMIHBhdGggZm9yIHBsdWdpbiB1cGxvYWQgKG11bHRpcGFydCBQT1NUKS4gKi9cbiAgcGx1Z2luVXBsb2FkVXJsOiBzdHJpbmc7XG4gIC8qKiBXaGVuIGBmYWxzZWAsIGRpc2FibGVzIFRMUyBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24uICovXG4gIHJlamVjdFVuYXV0aG9yaXplZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgZm9yIHBsYXRmb3JtIEFQSSBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIC8qKiBKV1QgYmVhcmVyIHRva2VuIG9idGFpbmVkIGZyb20gdGhlIHBsYXRmb3JtLiAqL1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbXBsZXRlIENMSSBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIGNvbWJpbmluZyBBUEkgYW5kIGF1dGggc2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgLyoqIFBsYXRmb3JtIEFQSSBjb25uZWN0aW9uIHNldHRpbmdzLiAqL1xuICBhcGk6IEFwaUNvbmZpZztcbiAgLyoqIEF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzLiAqL1xuICBhdXRoOiBBdXRoQ29uZmlnO1xufVxuXG4vKipcbiAqIFRoZSBuYXJyb3cgc2xpY2Ugb2Yge0BsaW5rIENvbmZpZ30gdGhlIGRlcGxveS9yZWdpc3RyeSBwYXRocyByZWFkIG9mZlxuICogYGNsaWVudC5nZXRDb25maWcoKWAg4oCUIHRoZSBwaXBlbGluZSBlbmRwb2ludCArIHBsYXRmb3JtIGJhc2UgVVJMLiBOYW1lZCBzbyB0aGVcbiAqIGBkZXBsb3lgIGFuZCBgY3JlYXRlIC0tZGVwbG95YCBmbG93cyBzaGFyZSBvbmUgc2hhcGUgaW5zdGVhZCBvZiByZS1jYXN0aW5nIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYXRmb3JtRGVwbG95Q29uZmlnIHtcbiAgYXBpOiB7IHBpcGVsaW5lVXJsOiBzdHJpbmc7IGJhc2VVcmw6IHN0cmluZyB9O1xufVxuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Numeric exit-code constants mapped to error categories.
|
|
3
|
+
* Used by {@link handleError} to set the process exit code.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ERROR_CODES: {
|
|
6
|
+
readonly GENERAL: 1;
|
|
7
|
+
readonly VALIDATION: 2;
|
|
8
|
+
readonly API_REQUEST: 3;
|
|
9
|
+
readonly AUTHENTICATION: 4;
|
|
10
|
+
readonly AUTHORIZATION: 5;
|
|
11
|
+
readonly NOT_FOUND: 6;
|
|
12
|
+
readonly NETWORK: 7;
|
|
13
|
+
readonly CONFIGURATION: 8;
|
|
14
|
+
readonly FILE_SYSTEM: 9;
|
|
15
|
+
readonly TIMEOUT: 10;
|
|
16
|
+
};
|
|
17
|
+
/** Union of all valid error code values. */
|
|
18
|
+
export type ErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
|
|
19
|
+
/**
|
|
20
|
+
* Options controlling how {@link handleError} processes and reports an error.
|
|
21
|
+
*/
|
|
22
|
+
export interface ErrorHandlerOptions {
|
|
23
|
+
/** When `true`, prints full stack traces and internal details. */
|
|
24
|
+
debug?: boolean;
|
|
25
|
+
/** When `true`, calls `process.exit()` with the error code. */
|
|
26
|
+
exit?: boolean;
|
|
27
|
+
/** When `true`, logs the error to the console (defaults to `true`). */
|
|
28
|
+
logToConsole?: boolean;
|
|
29
|
+
/** Arbitrary key-value context attached to the error output for debugging. */
|
|
30
|
+
context?: Record<string, unknown>;
|
|
31
|
+
/** Request/execution correlation ID for log tracing. */
|
|
32
|
+
correlationId?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Minimal Axios-compatible error shape used for duck-typing in error handlers.
|
|
36
|
+
*/
|
|
37
|
+
export interface AxiosErrorLike {
|
|
38
|
+
response?: {
|
|
39
|
+
status?: number;
|
|
40
|
+
statusText?: string;
|
|
41
|
+
data?: unknown;
|
|
42
|
+
};
|
|
43
|
+
config?: {
|
|
44
|
+
url?: string;
|
|
45
|
+
method?: string;
|
|
46
|
+
timeout?: number;
|
|
47
|
+
};
|
|
48
|
+
request?: unknown;
|
|
49
|
+
isAxiosError: true;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Typed API error with status, response, and Axios compatibility flag.
|
|
53
|
+
* Replaces `as any` casts in api-client.ts error handling.
|
|
54
|
+
*/
|
|
55
|
+
export declare class ApiError extends Error implements AxiosErrorLike {
|
|
56
|
+
status: number;
|
|
57
|
+
response: AxiosErrorLike['response'];
|
|
58
|
+
readonly isAxiosError: true;
|
|
59
|
+
constructor(message: string, status: number, response: AxiosErrorLike['response']);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/types/error.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,WAAW;aACtB,OAAO,EAAE,CAAC;aACV,UAAU,EAAE,CAAC;aACb,WAAW,EAAE,CAAC;aACd,cAAc,EAAE,CAAC;aACjB,aAAa,EAAE,CAAC;aAChB,SAAS,EAAE,CAAC;aACZ,OAAO,EAAE,CAAC;aACV,aAAa,EAAE,CAAC;aAChB,WAAW,EAAE,CAAC;aACd,OAAO,EAAE,EAAE;CACH,CAAC;AAEX,4CAA4C;AAC5C,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAM,YAAW,cAAc;IAKlD,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC;IAL7C,SAAgB,YAAY,OAAiB;IAE7C,YACE,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EAK5C;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Numeric exit-code constants mapped to error categories.
|
|
5
|
+
* Used by {@link handleError} to set the process exit code.
|
|
6
|
+
*/
|
|
7
|
+
export const ERROR_CODES = {
|
|
8
|
+
GENERAL: 1,
|
|
9
|
+
VALIDATION: 2,
|
|
10
|
+
API_REQUEST: 3,
|
|
11
|
+
AUTHENTICATION: 4,
|
|
12
|
+
AUTHORIZATION: 5,
|
|
13
|
+
NOT_FOUND: 6,
|
|
14
|
+
NETWORK: 7,
|
|
15
|
+
CONFIGURATION: 8,
|
|
16
|
+
FILE_SYSTEM: 9,
|
|
17
|
+
TIMEOUT: 10,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Typed API error with status, response, and Axios compatibility flag.
|
|
21
|
+
* Replaces `as any` casts in api-client.ts error handling.
|
|
22
|
+
*/
|
|
23
|
+
export class ApiError extends Error {
|
|
24
|
+
status;
|
|
25
|
+
response;
|
|
26
|
+
isAxiosError = true;
|
|
27
|
+
constructor(message, status, response) {
|
|
28
|
+
super(message);
|
|
29
|
+
this.status = status;
|
|
30
|
+
this.response = response;
|
|
31
|
+
this.name = 'ApiError';
|
|
32
|
+
Error.captureStackTrace(this, this.constructor);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsQ0FBQztJQUNiLFdBQVcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxFQUFFLENBQUM7SUFDakIsYUFBYSxFQUFFLENBQUM7SUFDaEIsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsQ0FBQztJQUNWLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsT0FBTyxFQUFFLEVBQUU7Q0FDSCxDQUFDO0FBdUNYOzs7R0FHRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsS0FBSztJQUt4QixNQUFNO0lBQ04sUUFBUTtJQUxELFlBQVksR0FBRyxJQUFhLENBQUM7SUFFN0MsWUFDRSxPQUFlLEVBQ1IsTUFBYyxFQUNkLFFBQW9DO1FBRTNDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztzQkFIUixNQUFNO3dCQUNOLFFBQVE7UUFHZixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBOdW1lcmljIGV4aXQtY29kZSBjb25zdGFudHMgbWFwcGVkIHRvIGVycm9yIGNhdGVnb3JpZXMuXG4gKiBVc2VkIGJ5IHtAbGluayBoYW5kbGVFcnJvcn0gdG8gc2V0IHRoZSBwcm9jZXNzIGV4aXQgY29kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEVSUk9SX0NPREVTID0ge1xuICBHRU5FUkFMOiAxLFxuICBWQUxJREFUSU9OOiAyLFxuICBBUElfUkVRVUVTVDogMyxcbiAgQVVUSEVOVElDQVRJT046IDQsXG4gIEFVVEhPUklaQVRJT046IDUsXG4gIE5PVF9GT1VORDogNixcbiAgTkVUV09SSzogNyxcbiAgQ09ORklHVVJBVElPTjogOCxcbiAgRklMRV9TWVNURU06IDksXG4gIFRJTUVPVVQ6IDEwLFxufSBhcyBjb25zdDtcblxuLyoqIFVuaW9uIG9mIGFsbCB2YWxpZCBlcnJvciBjb2RlIHZhbHVlcy4gKi9cbmV4cG9ydCB0eXBlIEVycm9yQ29kZSA9ICh0eXBlb2YgRVJST1JfQ09ERVMpW2tleW9mIHR5cGVvZiBFUlJPUl9DT0RFU107XG5cbi8qKlxuICogT3B0aW9ucyBjb250cm9sbGluZyBob3cge0BsaW5rIGhhbmRsZUVycm9yfSBwcm9jZXNzZXMgYW5kIHJlcG9ydHMgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKiBXaGVuIGB0cnVlYCwgcHJpbnRzIGZ1bGwgc3RhY2sgdHJhY2VzIGFuZCBpbnRlcm5hbCBkZXRhaWxzLiAqL1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIC8qKiBXaGVuIGB0cnVlYCwgY2FsbHMgYHByb2Nlc3MuZXhpdCgpYCB3aXRoIHRoZSBlcnJvciBjb2RlLiAqL1xuICBleGl0PzogYm9vbGVhbjtcbiAgLyoqIFdoZW4gYHRydWVgLCBsb2dzIHRoZSBlcnJvciB0byB0aGUgY29uc29sZSAoZGVmYXVsdHMgdG8gYHRydWVgKS4gKi9cbiAgbG9nVG9Db25zb2xlPzogYm9vbGVhbjtcbiAgLyoqIEFyYml0cmFyeSBrZXktdmFsdWUgY29udGV4dCBhdHRhY2hlZCB0byB0aGUgZXJyb3Igb3V0cHV0IGZvciBkZWJ1Z2dpbmcuICovXG4gIGNvbnRleHQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqIFJlcXVlc3QvZXhlY3V0aW9uIGNvcnJlbGF0aW9uIElEIGZvciBsb2cgdHJhY2luZy4gKi9cbiAgY29ycmVsYXRpb25JZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBNaW5pbWFsIEF4aW9zLWNvbXBhdGlibGUgZXJyb3Igc2hhcGUgdXNlZCBmb3IgZHVjay10eXBpbmcgaW4gZXJyb3IgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXhpb3NFcnJvckxpa2Uge1xuICByZXNwb25zZT86IHtcbiAgICBzdGF0dXM/OiBudW1iZXI7XG4gICAgc3RhdHVzVGV4dD86IHN0cmluZztcbiAgICBkYXRhPzogdW5rbm93bjtcbiAgfTtcbiAgY29uZmlnPzoge1xuICAgIHVybD86IHN0cmluZztcbiAgICBtZXRob2Q/OiBzdHJpbmc7XG4gICAgdGltZW91dD86IG51bWJlcjtcbiAgfTtcbiAgcmVxdWVzdD86IHVua25vd247XG4gIGlzQXhpb3NFcnJvcjogdHJ1ZTtcbn1cblxuLyoqXG4gKiBUeXBlZCBBUEkgZXJyb3Igd2l0aCBzdGF0dXMsIHJlc3BvbnNlLCBhbmQgQXhpb3MgY29tcGF0aWJpbGl0eSBmbGFnLlxuICogUmVwbGFjZXMgYGFzIGFueWAgY2FzdHMgaW4gYXBpLWNsaWVudC50cyBlcnJvciBoYW5kbGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaUVycm9yIGV4dGVuZHMgRXJyb3IgaW1wbGVtZW50cyBBeGlvc0Vycm9yTGlrZSB7XG4gIHB1YmxpYyByZWFkb25seSBpc0F4aW9zRXJyb3IgPSB0cnVlIGFzIGNvbnN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBwdWJsaWMgc3RhdHVzOiBudW1iZXIsXG4gICAgcHVibGljIHJlc3BvbnNlOiBBeGlvc0Vycm9yTGlrZVsncmVzcG9uc2UnXSxcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0FwaUVycm9yJztcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Main type definitions export
|
|
5
|
+
*/
|
|
6
|
+
export * from './config.js';
|
|
7
|
+
export * from './pipeline.js';
|
|
8
|
+
export * from './pipeline-template.js';
|
|
9
|
+
export * from './plugin.js';
|
|
10
|
+
export * from './error.js';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7R0FFRztBQUVILGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBNYWluIHR5cGUgZGVmaW5pdGlvbnMgZXhwb3J0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jb25maWcuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lLXRlbXBsYXRlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3IuanMnO1xuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type PipelineProps, type PipelineVisibility } from './pipeline.js';
|
|
2
|
+
/**
|
|
3
|
+
* One declared template input. `name` is the `vars.<name>` key the template body
|
|
4
|
+
* references as `{{ pipeline.vars.<name> }}`.
|
|
5
|
+
*/
|
|
6
|
+
export interface TemplateInput {
|
|
7
|
+
name: string;
|
|
8
|
+
label?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
type: 'string' | 'number' | 'boolean';
|
|
11
|
+
required?: boolean;
|
|
12
|
+
default?: string | number | boolean;
|
|
13
|
+
options?: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A golden-path pipeline template — a parameterized starting point whose `props`
|
|
17
|
+
* carry `{{ pipeline.vars.* }}` placeholders backed by {@link TemplateInput}s.
|
|
18
|
+
*/
|
|
19
|
+
export interface PipelineTemplate {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
description?: string;
|
|
23
|
+
keywords?: string[];
|
|
24
|
+
category?: string;
|
|
25
|
+
visibility?: PipelineVisibility;
|
|
26
|
+
props: PipelineProps;
|
|
27
|
+
inputs?: TemplateInput[];
|
|
28
|
+
isActive?: boolean;
|
|
29
|
+
createdAt?: string;
|
|
30
|
+
updatedAt?: string;
|
|
31
|
+
}
|
|
32
|
+
/** Request payload for `POST /api/pipeline-templates/:id/instantiate`. */
|
|
33
|
+
export interface InstantiateTemplateRequest {
|
|
34
|
+
project: string;
|
|
35
|
+
organization: string;
|
|
36
|
+
pipelineName?: string;
|
|
37
|
+
inputs?: Record<string, string | number | boolean>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Instantiate response. `props` is a concrete `BuilderProps` ready to hand to
|
|
41
|
+
* `pipeline create --file` — the endpoint only renders, it creates nothing.
|
|
42
|
+
*/
|
|
43
|
+
export interface InstantiateTemplateResponse {
|
|
44
|
+
props: PipelineProps;
|
|
45
|
+
description?: string;
|
|
46
|
+
keywords?: string[];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=pipeline-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-template.d.ts","sourceRoot":"","sources":["../../src/types/pipeline-template.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0EAA0E;AAC1E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACpD;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import {} from './pipeline.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcGlwZWxpbmUtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQStDLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHR5cGUgUGlwZWxpbmVQcm9wcywgdHlwZSBQaXBlbGluZVZpc2liaWxpdHkgfSBmcm9tICcuL3BpcGVsaW5lLmpzJztcblxuLyoqXG4gKiBPbmUgZGVjbGFyZWQgdGVtcGxhdGUgaW5wdXQuIGBuYW1lYCBpcyB0aGUgYHZhcnMuPG5hbWU+YCBrZXkgdGhlIHRlbXBsYXRlIGJvZHlcbiAqIHJlZmVyZW5jZXMgYXMgYHt7IHBpcGVsaW5lLnZhcnMuPG5hbWU+IH19YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZUlucHV0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHR5cGU6ICdzdHJpbmcnIHwgJ251bWJlcicgfCAnYm9vbGVhbic7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgZGVmYXVsdD86IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG4gIG9wdGlvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBIGdvbGRlbi1wYXRoIHBpcGVsaW5lIHRlbXBsYXRlIOKAlCBhIHBhcmFtZXRlcml6ZWQgc3RhcnRpbmcgcG9pbnQgd2hvc2UgYHByb3BzYFxuICogY2FycnkgYHt7IHBpcGVsaW5lLnZhcnMuKiB9fWAgcGxhY2Vob2xkZXJzIGJhY2tlZCBieSB7QGxpbmsgVGVtcGxhdGVJbnB1dH1zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lVGVtcGxhdGUge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBrZXl3b3Jkcz86IHN0cmluZ1tdO1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgdmlzaWJpbGl0eT86IFBpcGVsaW5lVmlzaWJpbGl0eTtcbiAgcHJvcHM6IFBpcGVsaW5lUHJvcHM7XG4gIGlucHV0cz86IFRlbXBsYXRlSW5wdXRbXTtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuLyoqIFJlcXVlc3QgcGF5bG9hZCBmb3IgYFBPU1QgL2FwaS9waXBlbGluZS10ZW1wbGF0ZXMvOmlkL2luc3RhbnRpYXRlYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFudGlhdGVUZW1wbGF0ZVJlcXVlc3Qge1xuICBwcm9qZWN0OiBzdHJpbmc7XG4gIG9yZ2FuaXphdGlvbjogc3RyaW5nO1xuICBwaXBlbGluZU5hbWU/OiBzdHJpbmc7XG4gIGlucHV0cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xufVxuXG4vKipcbiAqIEluc3RhbnRpYXRlIHJlc3BvbnNlLiBgcHJvcHNgIGlzIGEgY29uY3JldGUgYEJ1aWxkZXJQcm9wc2AgcmVhZHkgdG8gaGFuZCB0b1xuICogYHBpcGVsaW5lIGNyZWF0ZSAtLWZpbGVgIOKAlCB0aGUgZW5kcG9pbnQgb25seSByZW5kZXJzLCBpdCBjcmVhdGVzIG5vdGhpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFudGlhdGVUZW1wbGF0ZVJlc3BvbnNlIHtcbiAgcHJvcHM6IFBpcGVsaW5lUHJvcHM7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBrZXl3b3Jkcz86IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arbitrary key-value pipeline configuration properties
|
|
3
|
+
* passed through to the CDK builder.
|
|
4
|
+
*/
|
|
5
|
+
export type PipelineProps = Record<string, unknown>;
|
|
6
|
+
/**
|
|
7
|
+
* Pipeline sharing rung — the platform-wide three-rung ladder.
|
|
8
|
+
* `private` is author-only, `org` is the whole owning org, `public` reaches the
|
|
9
|
+
* org's teams (and, from the system org, every org).
|
|
10
|
+
*/
|
|
11
|
+
export type PipelineVisibility = 'private' | 'org' | 'public';
|
|
12
|
+
/**
|
|
13
|
+
* Core pipeline fields required on every pipeline record.
|
|
14
|
+
*/
|
|
15
|
+
export interface PipelineBase {
|
|
16
|
+
/**
|
|
17
|
+
* Unique pipeline identifier
|
|
18
|
+
*/
|
|
19
|
+
id: string;
|
|
20
|
+
/**
|
|
21
|
+
* Project name
|
|
22
|
+
*/
|
|
23
|
+
project: string;
|
|
24
|
+
/**
|
|
25
|
+
* Organization name
|
|
26
|
+
*/
|
|
27
|
+
organization: string;
|
|
28
|
+
/**
|
|
29
|
+
* Tenant identifier (from API response, used for per-org secret resolution)
|
|
30
|
+
*/
|
|
31
|
+
orgId?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Pipeline properties/configuration
|
|
34
|
+
*/
|
|
35
|
+
props: PipelineProps;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Optional metadata fields attached to a pipeline record.
|
|
39
|
+
*/
|
|
40
|
+
export interface PipelineMetadata {
|
|
41
|
+
/**
|
|
42
|
+
* Human-readable pipeline name
|
|
43
|
+
*/
|
|
44
|
+
pipelineName?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Sharing rung: 'private' | 'org' | 'public'.
|
|
47
|
+
*/
|
|
48
|
+
visibility?: PipelineVisibility;
|
|
49
|
+
/**
|
|
50
|
+
* Whether this is the default pipeline
|
|
51
|
+
*/
|
|
52
|
+
isDefault?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether the pipeline is active
|
|
55
|
+
*/
|
|
56
|
+
isActive?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Pipeline creation timestamp
|
|
59
|
+
*/
|
|
60
|
+
createdAt?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Pipeline last update timestamp
|
|
63
|
+
*/
|
|
64
|
+
updatedAt?: string;
|
|
65
|
+
/**
|
|
66
|
+
* User who created the pipeline
|
|
67
|
+
*/
|
|
68
|
+
createdBy?: string;
|
|
69
|
+
/**
|
|
70
|
+
* User who last updated the pipeline
|
|
71
|
+
*/
|
|
72
|
+
updatedBy?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Complete pipeline entity combining core fields and metadata.
|
|
76
|
+
*/
|
|
77
|
+
export interface Pipeline extends PipelineBase, PipelineMetadata {
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Request payload for creating a new pipeline via the platform API.
|
|
81
|
+
*/
|
|
82
|
+
export interface CreatePipelineRequest {
|
|
83
|
+
/**
|
|
84
|
+
* Project name
|
|
85
|
+
*/
|
|
86
|
+
project: string;
|
|
87
|
+
/**
|
|
88
|
+
* Organization name
|
|
89
|
+
*/
|
|
90
|
+
organization: string;
|
|
91
|
+
/**
|
|
92
|
+
* Pipeline properties/configuration
|
|
93
|
+
*/
|
|
94
|
+
props: PipelineProps;
|
|
95
|
+
/**
|
|
96
|
+
* Human-readable pipeline name
|
|
97
|
+
*/
|
|
98
|
+
pipelineName?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Access modifier (public or private)
|
|
101
|
+
* @default 'private'
|
|
102
|
+
*/
|
|
103
|
+
visibility?: PipelineVisibility;
|
|
104
|
+
/**
|
|
105
|
+
* Whether this is the default pipeline
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
isDefault?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Whether the pipeline is active
|
|
111
|
+
* @default true
|
|
112
|
+
*/
|
|
113
|
+
isActive?: boolean;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Response returned by single-pipeline API endpoints (get, create).
|
|
117
|
+
*/
|
|
118
|
+
export interface PipelineResponse {
|
|
119
|
+
pipeline: Pipeline;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/types/pipeline.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,YAAY,EAAE,gBAAgB;CAAG;AAEnE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;CACpB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIEFyYml0cmFyeSBrZXktdmFsdWUgcGlwZWxpbmUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzXG4gKiBwYXNzZWQgdGhyb3VnaCB0byB0aGUgQ0RLIGJ1aWxkZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFBpcGVsaW5lUHJvcHMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLyoqXG4gKiBQaXBlbGluZSBzaGFyaW5nIHJ1bmcg4oCUIHRoZSBwbGF0Zm9ybS13aWRlIHRocmVlLXJ1bmcgbGFkZGVyLlxuICogYHByaXZhdGVgIGlzIGF1dGhvci1vbmx5LCBgb3JnYCBpcyB0aGUgd2hvbGUgb3duaW5nIG9yZywgYHB1YmxpY2AgcmVhY2hlcyB0aGVcbiAqIG9yZydzIHRlYW1zIChhbmQsIGZyb20gdGhlIHN5c3RlbSBvcmcsIGV2ZXJ5IG9yZykuXG4gKi9cbmV4cG9ydCB0eXBlIFBpcGVsaW5lVmlzaWJpbGl0eSA9ICdwcml2YXRlJyB8ICdvcmcnIHwgJ3B1YmxpYyc7XG5cbi8qKlxuICogQ29yZSBwaXBlbGluZSBmaWVsZHMgcmVxdWlyZWQgb24gZXZlcnkgcGlwZWxpbmUgcmVjb3JkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lQmFzZSB7XG4gIC8qKlxuICAgKiBVbmlxdWUgcGlwZWxpbmUgaWRlbnRpZmllclxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvamVjdCBuYW1lXG4gICAqL1xuICBwcm9qZWN0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9yZ2FuaXphdGlvbiBuYW1lXG4gICAqL1xuICBvcmdhbml6YXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGVuYW50IGlkZW50aWZpZXIgKGZyb20gQVBJIHJlc3BvbnNlLCB1c2VkIGZvciBwZXItb3JnIHNlY3JldCByZXNvbHV0aW9uKVxuICAgKi9cbiAgb3JnSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHByb3BlcnRpZXMvY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvcHM6IFBpcGVsaW5lUHJvcHM7XG59XG5cbi8qKlxuICogT3B0aW9uYWwgbWV0YWRhdGEgZmllbGRzIGF0dGFjaGVkIHRvIGEgcGlwZWxpbmUgcmVjb3JkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lTWV0YWRhdGEge1xuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgcGlwZWxpbmUgbmFtZVxuICAgKi9cbiAgcGlwZWxpbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaGFyaW5nIHJ1bmc6ICdwcml2YXRlJyB8ICdvcmcnIHwgJ3B1YmxpYycuXG4gICAqL1xuICB2aXNpYmlsaXR5PzogUGlwZWxpbmVWaXNpYmlsaXR5O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgcGlwZWxpbmVcbiAgICovXG4gIGlzRGVmYXVsdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBpcGVsaW5lIGlzIGFjdGl2ZVxuICAgKi9cbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQaXBlbGluZSBjcmVhdGlvbiB0aW1lc3RhbXBcbiAgICovXG4gIGNyZWF0ZWRBdD86IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgbGFzdCB1cGRhdGUgdGltZXN0YW1wXG4gICAqL1xuICB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZXIgd2hvIGNyZWF0ZWQgdGhlIHBpcGVsaW5lXG4gICAqL1xuICBjcmVhdGVkQnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzZXIgd2hvIGxhc3QgdXBkYXRlZCB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHVwZGF0ZWRCeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21wbGV0ZSBwaXBlbGluZSBlbnRpdHkgY29tYmluaW5nIGNvcmUgZmllbGRzIGFuZCBtZXRhZGF0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZSBleHRlbmRzIFBpcGVsaW5lQmFzZSwgUGlwZWxpbmVNZXRhZGF0YSB7fVxuXG4vKipcbiAqIFJlcXVlc3QgcGF5bG9hZCBmb3IgY3JlYXRpbmcgYSBuZXcgcGlwZWxpbmUgdmlhIHRoZSBwbGF0Zm9ybSBBUEkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUGlwZWxpbmVSZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFByb2plY3QgbmFtZVxuICAgKi9cbiAgcHJvamVjdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcmdhbml6YXRpb24gbmFtZVxuICAgKi9cbiAgb3JnYW5pemF0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBpcGVsaW5lIHByb3BlcnRpZXMvY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvcHM6IFBpcGVsaW5lUHJvcHM7XG5cbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIHBpcGVsaW5lIG5hbWVcbiAgICovXG4gIHBpcGVsaW5lTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWNjZXNzIG1vZGlmaWVyIChwdWJsaWMgb3IgcHJpdmF0ZSlcbiAgICogQGRlZmF1bHQgJ3ByaXZhdGUnXG4gICAqL1xuICB2aXNpYmlsaXR5PzogUGlwZWxpbmVWaXNpYmlsaXR5O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgcGlwZWxpbmVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGlzRGVmYXVsdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBpcGVsaW5lIGlzIGFjdGl2ZVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVzcG9uc2UgcmV0dXJuZWQgYnkgc2luZ2xlLXBpcGVsaW5lIEFQSSBlbmRwb2ludHMgKGdldCwgY3JlYXRlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVJlc3BvbnNlIHtcbiAgcGlwZWxpbmU6IFBpcGVsaW5lO1xufVxuIl19
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-level metadata extracted from the plugin archive.
|
|
3
|
+
*/
|
|
4
|
+
export interface PluginMetadata {
|
|
5
|
+
/**
|
|
6
|
+
* Plugin name
|
|
7
|
+
*/
|
|
8
|
+
name: string;
|
|
9
|
+
/**
|
|
10
|
+
* Plugin version
|
|
11
|
+
*/
|
|
12
|
+
version: string;
|
|
13
|
+
/**
|
|
14
|
+
* Plugin description
|
|
15
|
+
*/
|
|
16
|
+
description?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Plugin author
|
|
19
|
+
*/
|
|
20
|
+
author?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Plugin license
|
|
23
|
+
*/
|
|
24
|
+
license?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Plugin homepage URL
|
|
27
|
+
*/
|
|
28
|
+
homepage?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Plugin repository URL
|
|
31
|
+
*/
|
|
32
|
+
repository?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Plugin keywords/tags
|
|
35
|
+
*/
|
|
36
|
+
keywords?: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Plugin dependencies
|
|
39
|
+
*/
|
|
40
|
+
dependencies?: Record<string, string>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Runtime configuration for a plugin, including its entry point and schema.
|
|
44
|
+
*/
|
|
45
|
+
export interface PluginConfig {
|
|
46
|
+
/**
|
|
47
|
+
* Plugin entry point
|
|
48
|
+
*/
|
|
49
|
+
main?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Plugin configuration schema
|
|
52
|
+
*/
|
|
53
|
+
schema?: Record<string, unknown>;
|
|
54
|
+
/**
|
|
55
|
+
* Plugin default configuration
|
|
56
|
+
*/
|
|
57
|
+
defaults?: Record<string, unknown>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Core plugin fields required on every plugin record.
|
|
61
|
+
*/
|
|
62
|
+
export interface PluginBase {
|
|
63
|
+
/**
|
|
64
|
+
* Unique plugin identifier
|
|
65
|
+
*/
|
|
66
|
+
id: string;
|
|
67
|
+
/**
|
|
68
|
+
* Plugin name
|
|
69
|
+
*/
|
|
70
|
+
name: string;
|
|
71
|
+
/**
|
|
72
|
+
* Plugin version
|
|
73
|
+
*/
|
|
74
|
+
version: string;
|
|
75
|
+
/**
|
|
76
|
+
* Organization that owns the plugin
|
|
77
|
+
*/
|
|
78
|
+
organization: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Complete plugin entity combining core fields with optional detail fields.
|
|
82
|
+
*/
|
|
83
|
+
export interface Plugin extends PluginBase {
|
|
84
|
+
/**
|
|
85
|
+
* Plugin description
|
|
86
|
+
*/
|
|
87
|
+
description?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Plugin metadata
|
|
90
|
+
*/
|
|
91
|
+
metadata?: PluginMetadata;
|
|
92
|
+
/**
|
|
93
|
+
* Plugin configuration
|
|
94
|
+
*/
|
|
95
|
+
config?: PluginConfig;
|
|
96
|
+
/**
|
|
97
|
+
* Plugin file URL
|
|
98
|
+
*/
|
|
99
|
+
fileUrl?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Plugin file size in bytes
|
|
102
|
+
*/
|
|
103
|
+
fileSize?: number;
|
|
104
|
+
/**
|
|
105
|
+
* Plugin checksum (SHA256)
|
|
106
|
+
*/
|
|
107
|
+
checksum?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Whether the plugin is active
|
|
110
|
+
*/
|
|
111
|
+
isActive?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Whether the plugin is public
|
|
114
|
+
*/
|
|
115
|
+
isPublic?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Plugin creation timestamp
|
|
118
|
+
*/
|
|
119
|
+
createdAt?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Plugin last update timestamp
|
|
122
|
+
*/
|
|
123
|
+
updatedAt?: string;
|
|
124
|
+
/**
|
|
125
|
+
* User who uploaded the plugin
|
|
126
|
+
*/
|
|
127
|
+
uploadedBy?: string;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Response returned by single-plugin API endpoints (get, upload).
|
|
131
|
+
*/
|
|
132
|
+
export interface PluginResponse {
|
|
133
|
+
plugin: Plugin;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,MAAO,SAAQ,UAAU;IACxC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB"}
|