@ductape/cli 0.2.22 → 0.3.0
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/CHANGELOG.md +7 -0
- package/README.md +7 -0
- package/dist/commands/generate.js +1 -1
- package/dist/commands/migrate-codebase.d.ts +176 -0
- package/dist/commands/migrate-codebase.js +753 -0
- package/dist/commands/migration-artifact.d.ts +32 -0
- package/dist/commands/migration-artifact.js +48 -0
- package/dist/commands/migration-assurance.d.ts +10 -0
- package/dist/commands/migration-assurance.js +120 -0
- package/dist/commands/migration-database.d.ts +21 -0
- package/dist/commands/migration-database.js +162 -0
- package/dist/commands/migration-e2e.d.ts +68 -0
- package/dist/commands/migration-e2e.js +189 -0
- package/dist/commands/migration-environments.d.ts +20 -0
- package/dist/commands/migration-environments.js +58 -0
- package/dist/commands/migration-generated.d.ts +68 -0
- package/dist/commands/migration-generated.js +217 -0
- package/dist/commands/migration-portfolio.d.ts +88 -0
- package/dist/commands/migration-portfolio.js +223 -0
- package/dist/commands/migration-products.d.ts +23 -0
- package/dist/commands/migration-products.js +88 -0
- package/dist/commands/migration-review.d.ts +248 -0
- package/dist/commands/migration-review.js +624 -0
- package/dist/commands/migration-secrets.d.ts +24 -0
- package/dist/commands/migration-secrets.js +93 -0
- package/dist/commands/migration-slice.d.ts +132 -0
- package/dist/commands/migration-slice.js +266 -0
- package/dist/commands/migration-verification.d.ts +12 -0
- package/dist/commands/migration-verification.js +194 -0
- package/dist/commands/products.d.ts +1 -0
- package/dist/commands/products.js +33 -1
- package/dist/commands/secrets.d.ts +8 -0
- package/dist/commands/secrets.js +44 -0
- package/dist/index.js +354 -2
- package/dist/lib/integrations.js +6 -1
- package/dist/lib/migration-artifact.d.ts +13 -0
- package/dist/lib/migration-artifact.js +103 -0
- package/package.json +8 -1
- package/API_PARITY.md +0 -58
- package/DB_MIGRATE_PLAN.md +0 -223
- package/ductape.example.ts +0 -18
- package/src/commands/apply.ts +0 -153
- package/src/commands/apps-import.ts +0 -43
- package/src/commands/apps.ts +0 -92
- package/src/commands/cloud.ts +0 -68
- package/src/commands/completion.ts +0 -119
- package/src/commands/db-migrate.ts +0 -209
- package/src/commands/db-schema.ts +0 -429
- package/src/commands/db.ts +0 -63
- package/src/commands/generate.ts +0 -74
- package/src/commands/graph.ts +0 -51
- package/src/commands/init.ts +0 -39
- package/src/commands/install.ts +0 -76
- package/src/commands/link.ts +0 -84
- package/src/commands/login.ts +0 -145
- package/src/commands/logout.ts +0 -7
- package/src/commands/platform.ts +0 -123
- package/src/commands/products.ts +0 -228
- package/src/commands/profiles.ts +0 -23
- package/src/commands/resources.ts +0 -213
- package/src/commands/secrets.ts +0 -46
- package/src/commands/unlink.ts +0 -15
- package/src/commands/whoami.ts +0 -27
- package/src/commands/workspaces.ts +0 -98
- package/src/index.ts +0 -523
- package/src/lib/api-client.ts +0 -88
- package/src/lib/app-import.ts +0 -82
- package/src/lib/apply-loaders.ts +0 -30
- package/src/lib/config.ts +0 -230
- package/src/lib/context-store.ts +0 -77
- package/src/lib/db-methods.ts +0 -56
- package/src/lib/db-types.ts +0 -104
- package/src/lib/encryption.ts +0 -12
- package/src/lib/forms/enums.ts +0 -52
- package/src/lib/forms/index.ts +0 -8
- package/src/lib/forms/prompt.ts +0 -209
- package/src/lib/forms/schemas.ts +0 -288
- package/src/lib/forms/types.ts +0 -27
- package/src/lib/http.ts +0 -76
- package/src/lib/integrations.ts +0 -105
- package/src/lib/interactive-opts.ts +0 -13
- package/src/lib/migration-files.ts +0 -58
- package/src/lib/output.ts +0 -39
- package/src/lib/platform-api.ts +0 -209
- package/src/lib/proxy/context.ts +0 -94
- package/src/lib/proxy/db-proxy.ts +0 -40
- package/src/lib/proxy/graph-proxy.ts +0 -64
- package/src/lib/proxy/sdk-proxy.ts +0 -58
- package/src/lib/read-body.ts +0 -57
- package/src/lib/resources.ts +0 -160
- package/src/lib/schema-loader.ts +0 -152
- package/src/lib/snippets.ts +0 -165
- package/src/lib/templates.ts +0 -157
- package/src/lib/workspace-context.ts +0 -43
- package/src/lib/workspaces.ts +0 -283
- package/test/apply-loaders.test.ts +0 -40
- package/test/encryption.test.ts +0 -20
- package/test/forms.test.ts +0 -25
- package/test/http.test.ts +0 -15
- package/test/platform-api.test.ts +0 -42
- package/test/resources.test.ts +0 -23
- package/test/workspace-resolve.test.ts +0 -29
- package/tsconfig.json +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0 - 2026-07-26
|
|
4
|
+
|
|
5
|
+
- Added AI-led migration planning with new-codebase defaults and immutable original E2E gates.
|
|
6
|
+
- Added review ledgers, parity slices, multi-repository verification, SCC partition proposals, and semantic database evidence.
|
|
7
|
+
- Added frontend, session, resilience, component, runtime, SDK, generated/vendor, and third-party assurance matrices.
|
|
8
|
+
- Added verified product-environment create/update commands, secured artifacts, Ed25519 signatures, and parallel-review merging.
|
|
9
|
+
|
|
3
10
|
## Unreleased
|
|
4
11
|
|
|
5
12
|
### Added
|
package/README.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @ductape/cli
|
|
2
2
|
|
|
3
|
+
## AI-led codebase migration
|
|
4
|
+
|
|
5
|
+
Create and pass project-level E2E tests against the original codebase first, then bind them with
|
|
6
|
+
`ductape migration-e2e init`. Run `ductape migrate-codebase --e2e-baseline <manifest>`; the default is a
|
|
7
|
+
separate new codebase. Migration commands record advisory or verification evidence and never generate
|
|
8
|
+
application source. Finish with the unchanged original suite through `migration-e2e final`.
|
|
9
|
+
|
|
3
10
|
Terminal interface for Ductape — **same transport as the Workbench** (encrypted sdk-proxy / db-proxy / graph-proxy).
|
|
4
11
|
|
|
5
12
|
## Install
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
type MigrationMode = 'in-place' | 'new-codebase';
|
|
2
|
+
type Language = 'typescript' | 'go' | 'java' | 'dotnet';
|
|
3
|
+
interface MigrationPlan {
|
|
4
|
+
version: 2;
|
|
5
|
+
artifact_kind: 'ai_review_bootstrap';
|
|
6
|
+
authority: 'advisory_only';
|
|
7
|
+
source: string;
|
|
8
|
+
mode: MigrationMode;
|
|
9
|
+
destination: string;
|
|
10
|
+
product: {
|
|
11
|
+
tag: string;
|
|
12
|
+
name: string;
|
|
13
|
+
exists?: boolean;
|
|
14
|
+
created?: boolean;
|
|
15
|
+
};
|
|
16
|
+
target_database: string;
|
|
17
|
+
languages: Language[];
|
|
18
|
+
frameworks: string[];
|
|
19
|
+
workspace_boundaries: Array<{
|
|
20
|
+
system: 'bazel' | 'buck' | 'pants' | 'nx' | 'turborepo' | 'maven' | 'gradle' | 'dotnet';
|
|
21
|
+
evidence: string[];
|
|
22
|
+
requires_ai_review: true;
|
|
23
|
+
}>;
|
|
24
|
+
workspace_units: Array<{
|
|
25
|
+
manifest: string;
|
|
26
|
+
kind: 'node' | 'go' | 'maven' | 'gradle' | 'dotnet' | 'nx';
|
|
27
|
+
nearest_boundary?: string;
|
|
28
|
+
ownership_status: 'contextual_review_required';
|
|
29
|
+
}>;
|
|
30
|
+
generated_source_hints: Array<{
|
|
31
|
+
file: string;
|
|
32
|
+
evidence: string;
|
|
33
|
+
confidence: 'low';
|
|
34
|
+
requires_ai_review: true;
|
|
35
|
+
}>;
|
|
36
|
+
scan_safety: {
|
|
37
|
+
symlinks_followed: false;
|
|
38
|
+
symlinks_skipped: string[];
|
|
39
|
+
git_submodules: Array<{
|
|
40
|
+
name: string;
|
|
41
|
+
path: string;
|
|
42
|
+
url?: string;
|
|
43
|
+
}>;
|
|
44
|
+
};
|
|
45
|
+
scan_policy: {
|
|
46
|
+
max_file_bytes: number;
|
|
47
|
+
binary_files: 'exclude';
|
|
48
|
+
include_patterns: string[];
|
|
49
|
+
exclude_patterns: string[];
|
|
50
|
+
exclusions: Array<{
|
|
51
|
+
file: string;
|
|
52
|
+
reason: string;
|
|
53
|
+
}>;
|
|
54
|
+
};
|
|
55
|
+
environments: string[];
|
|
56
|
+
secrets: Array<{
|
|
57
|
+
key: string;
|
|
58
|
+
source: string;
|
|
59
|
+
environment: string;
|
|
60
|
+
value: '[REDACTED]';
|
|
61
|
+
}>;
|
|
62
|
+
secret_references: Array<{
|
|
63
|
+
key: string;
|
|
64
|
+
source: string;
|
|
65
|
+
system: 'docker' | 'kubernetes' | 'github' | 'gitlab' | 'jenkins' | 'circleci' | 'azure_devops' | 'spring' | 'dotnet' | 'terraform' | 'aws' | 'gcp' | 'azure';
|
|
66
|
+
environment: string;
|
|
67
|
+
value: '[NOT_READ]';
|
|
68
|
+
requires_ai_review: true;
|
|
69
|
+
}>;
|
|
70
|
+
potential_secret_exposures: Array<{
|
|
71
|
+
source: string;
|
|
72
|
+
line: number;
|
|
73
|
+
kind: 'password' | 'token' | 'secret' | 'private_key' | 'connection_string';
|
|
74
|
+
fingerprint: string;
|
|
75
|
+
value: '[NOT_RETURNED]';
|
|
76
|
+
confidence: 'low';
|
|
77
|
+
requires_human_security_review: true;
|
|
78
|
+
}>;
|
|
79
|
+
deterministic_hints: {
|
|
80
|
+
databases: Array<{
|
|
81
|
+
evidence: string;
|
|
82
|
+
kind: string;
|
|
83
|
+
confidence: 'low';
|
|
84
|
+
requires_ai_review: true;
|
|
85
|
+
}>;
|
|
86
|
+
third_party_apis: Array<{
|
|
87
|
+
host: string;
|
|
88
|
+
occurrences: number;
|
|
89
|
+
methods: string[];
|
|
90
|
+
paths: string[];
|
|
91
|
+
recommended_app_tag: string;
|
|
92
|
+
confidence: 'low';
|
|
93
|
+
requires_ai_review: true;
|
|
94
|
+
}>;
|
|
95
|
+
};
|
|
96
|
+
existing_migrations: string[];
|
|
97
|
+
existing_schemas: string[];
|
|
98
|
+
migration_imports: Array<{
|
|
99
|
+
source: string;
|
|
100
|
+
checksum: string;
|
|
101
|
+
order: number;
|
|
102
|
+
status: 'manual_review_required';
|
|
103
|
+
reason: string;
|
|
104
|
+
}>;
|
|
105
|
+
conversion_warnings: string[];
|
|
106
|
+
review_queue: Array<{
|
|
107
|
+
file: string;
|
|
108
|
+
review_status: 'pending';
|
|
109
|
+
inspect_for: string[];
|
|
110
|
+
safety: 'names_only' | 'normal';
|
|
111
|
+
}>;
|
|
112
|
+
evidence_ledger_template: {
|
|
113
|
+
file: string;
|
|
114
|
+
purpose: string;
|
|
115
|
+
dependencies: string[];
|
|
116
|
+
interfaces: string[];
|
|
117
|
+
functional_parity_requirements: string[];
|
|
118
|
+
operational_parity_requirements: string[];
|
|
119
|
+
findings: Array<{
|
|
120
|
+
kind: string;
|
|
121
|
+
evidence: string;
|
|
122
|
+
location: {
|
|
123
|
+
start_line: number;
|
|
124
|
+
end_line: number;
|
|
125
|
+
};
|
|
126
|
+
symbol: {
|
|
127
|
+
kind: 'module' | 'class' | 'interface' | 'function' | 'method' | 'field' | 'route' | 'event' | 'schema' | 'other';
|
|
128
|
+
name: string;
|
|
129
|
+
qualified_name?: string;
|
|
130
|
+
};
|
|
131
|
+
classification: 'observed' | 'inferred' | 'proposed' | 'confirmed';
|
|
132
|
+
confidence: 'low' | 'medium' | 'high';
|
|
133
|
+
requires_followup: string[];
|
|
134
|
+
}>;
|
|
135
|
+
decision: 'pending';
|
|
136
|
+
};
|
|
137
|
+
ai_working_standards: {
|
|
138
|
+
global: string[];
|
|
139
|
+
languages: Record<Language, string[]>;
|
|
140
|
+
};
|
|
141
|
+
output_paths: {
|
|
142
|
+
plan: string;
|
|
143
|
+
migration_evidence: string;
|
|
144
|
+
review_ledger_template: string;
|
|
145
|
+
guide: string;
|
|
146
|
+
};
|
|
147
|
+
next_steps: string[];
|
|
148
|
+
}
|
|
149
|
+
export declare function writeMigrationGuidance(plan: MigrationPlan): void;
|
|
150
|
+
export declare function inspectMigrationCodebase(opts: {
|
|
151
|
+
source: string;
|
|
152
|
+
mode?: MigrationMode;
|
|
153
|
+
destination?: string;
|
|
154
|
+
product?: string;
|
|
155
|
+
name?: string;
|
|
156
|
+
database?: string;
|
|
157
|
+
maxFileBytes?: number;
|
|
158
|
+
include?: string[];
|
|
159
|
+
exclude?: string[];
|
|
160
|
+
}): MigrationPlan;
|
|
161
|
+
export declare function runMigrateCodebase(opts: {
|
|
162
|
+
source?: string;
|
|
163
|
+
e2eBaseline: string;
|
|
164
|
+
mode?: MigrationMode;
|
|
165
|
+
destination?: string;
|
|
166
|
+
product?: string;
|
|
167
|
+
name?: string;
|
|
168
|
+
database?: string;
|
|
169
|
+
maxFileBytes?: number;
|
|
170
|
+
include?: string[];
|
|
171
|
+
exclude?: string[];
|
|
172
|
+
ensureProduct?: boolean;
|
|
173
|
+
write?: boolean;
|
|
174
|
+
json?: boolean;
|
|
175
|
+
}): Promise<void>;
|
|
176
|
+
export {};
|