intentdna 1.0.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/LICENSE +69 -0
- package/README.md +251 -0
- package/dist/audit/index.d.ts +109 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +144 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/cli/commands/compile.d.ts +14 -0
- package/dist/cli/commands/compile.d.ts.map +1 -0
- package/dist/cli/commands/compile.js +89 -0
- package/dist/cli/commands/compile.js.map +1 -0
- package/dist/cli/commands/epigenetic.d.ts +20 -0
- package/dist/cli/commands/epigenetic.d.ts.map +1 -0
- package/dist/cli/commands/epigenetic.js +112 -0
- package/dist/cli/commands/epigenetic.js.map +1 -0
- package/dist/cli/commands/evolve.d.ts +12 -0
- package/dist/cli/commands/evolve.d.ts.map +1 -0
- package/dist/cli/commands/evolve.js +52 -0
- package/dist/cli/commands/evolve.js.map +1 -0
- package/dist/cli/commands/guard.d.ts +22 -0
- package/dist/cli/commands/guard.d.ts.map +1 -0
- package/dist/cli/commands/guard.js +257 -0
- package/dist/cli/commands/guard.js.map +1 -0
- package/dist/cli/commands/import.d.ts +71 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +428 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/init.d.ts +13 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +171 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/run.d.ts +59 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +350 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/show.d.ts +12 -0
- package/dist/cli/commands/show.d.ts.map +1 -0
- package/dist/cli/commands/show.js +78 -0
- package/dist/cli/commands/show.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +31 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +307 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +11 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +30 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/verify.d.ts +33 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +102 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +358 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/util/format.d.ts +24 -0
- package/dist/cli/util/format.d.ts.map +1 -0
- package/dist/cli/util/format.js +67 -0
- package/dist/cli/util/format.js.map +1 -0
- package/dist/cli/util/prompt.d.ts +11 -0
- package/dist/cli/util/prompt.d.ts.map +1 -0
- package/dist/cli/util/prompt.js +51 -0
- package/dist/cli/util/prompt.js.map +1 -0
- package/dist/compiler/activate.d.ts +29 -0
- package/dist/compiler/activate.d.ts.map +1 -0
- package/dist/compiler/activate.js +141 -0
- package/dist/compiler/activate.js.map +1 -0
- package/dist/compiler/cascade.d.ts +27 -0
- package/dist/compiler/cascade.d.ts.map +1 -0
- package/dist/compiler/cascade.js +124 -0
- package/dist/compiler/cascade.js.map +1 -0
- package/dist/compiler/compile.d.ts +17 -0
- package/dist/compiler/compile.d.ts.map +1 -0
- package/dist/compiler/compile.js +219 -0
- package/dist/compiler/compile.js.map +1 -0
- package/dist/compiler/index.d.ts +28 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +51 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/workflow.d.ts +37 -0
- package/dist/compiler/workflow.d.ts.map +1 -0
- package/dist/compiler/workflow.js +274 -0
- package/dist/compiler/workflow.js.map +1 -0
- package/dist/evolution/collector.d.ts +52 -0
- package/dist/evolution/collector.d.ts.map +1 -0
- package/dist/evolution/collector.js +72 -0
- package/dist/evolution/collector.js.map +1 -0
- package/dist/evolution/fitness.d.ts +33 -0
- package/dist/evolution/fitness.d.ts.map +1 -0
- package/dist/evolution/fitness.js +96 -0
- package/dist/evolution/fitness.js.map +1 -0
- package/dist/evolution/index.d.ts +53 -0
- package/dist/evolution/index.d.ts.map +1 -0
- package/dist/evolution/index.js +69 -0
- package/dist/evolution/index.js.map +1 -0
- package/dist/evolution/marker-gen.d.ts +31 -0
- package/dist/evolution/marker-gen.d.ts.map +1 -0
- package/dist/evolution/marker-gen.js +141 -0
- package/dist/evolution/marker-gen.js.map +1 -0
- package/dist/evolution/store.d.ts +24 -0
- package/dist/evolution/store.d.ts.map +1 -0
- package/dist/evolution/store.js +78 -0
- package/dist/evolution/store.js.map +1 -0
- package/dist/evolution/types.d.ts +73 -0
- package/dist/evolution/types.d.ts.map +1 -0
- package/dist/evolution/types.js +14 -0
- package/dist/evolution/types.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/log/logger.d.ts +15 -0
- package/dist/log/logger.d.ts.map +1 -0
- package/dist/log/logger.js +36 -0
- package/dist/log/logger.js.map +1 -0
- package/dist/runtime/agent-md.d.ts +56 -0
- package/dist/runtime/agent-md.d.ts.map +1 -0
- package/dist/runtime/agent-md.js +257 -0
- package/dist/runtime/agent-md.js.map +1 -0
- package/dist/runtime/claude-sdk.d.ts +51 -0
- package/dist/runtime/claude-sdk.d.ts.map +1 -0
- package/dist/runtime/claude-sdk.js +78 -0
- package/dist/runtime/claude-sdk.js.map +1 -0
- package/dist/runtime/hooks.d.ts +67 -0
- package/dist/runtime/hooks.d.ts.map +1 -0
- package/dist/runtime/hooks.js +645 -0
- package/dist/runtime/hooks.js.map +1 -0
- package/dist/runtime/index.d.ts +9 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +5 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/markdown.d.ts +36 -0
- package/dist/runtime/markdown.d.ts.map +1 -0
- package/dist/runtime/markdown.js +214 -0
- package/dist/runtime/markdown.js.map +1 -0
- package/dist/runtime/settings-adapter.d.ts +33 -0
- package/dist/runtime/settings-adapter.d.ts.map +1 -0
- package/dist/runtime/settings-adapter.js +78 -0
- package/dist/runtime/settings-adapter.js.map +1 -0
- package/dist/runtime/skill-adapter.d.ts +22 -0
- package/dist/runtime/skill-adapter.d.ts.map +1 -0
- package/dist/runtime/skill-adapter.js +170 -0
- package/dist/runtime/skill-adapter.js.map +1 -0
- package/dist/runtime/workflow-runner.d.ts +53 -0
- package/dist/runtime/workflow-runner.d.ts.map +1 -0
- package/dist/runtime/workflow-runner.js +420 -0
- package/dist/runtime/workflow-runner.js.map +1 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/types.d.ts +275 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +11 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/schema/validate.d.ts +20 -0
- package/dist/schema/validate.d.ts.map +1 -0
- package/dist/schema/validate.js +379 -0
- package/dist/schema/validate.js.map +1 -0
- package/dist/schema/yaml-parser.d.ts +12 -0
- package/dist/schema/yaml-parser.d.ts.map +1 -0
- package/dist/schema/yaml-parser.js +298 -0
- package/dist/schema/yaml-parser.js.map +1 -0
- package/dist/species/default.dna.json +62 -0
- package/dist/templates/api-backend.dna.yaml +77 -0
- package/dist/templates/brainstorming-first.dna.yaml +71 -0
- package/dist/templates/branch-finishing.dna.yaml +54 -0
- package/dist/templates/code-review-pipeline.dna.yaml +91 -0
- package/dist/templates/devops-cicd.dna.yaml +67 -0
- package/dist/templates/documentation-writer.dna.yaml +71 -0
- package/dist/templates/enterprise-baseline.dna.yaml +66 -0
- package/dist/templates/frontend-quality.dna.yaml +88 -0
- package/dist/templates/full-pipeline.dna.yaml +129 -0
- package/dist/templates/mobile-dev.dna.yaml +68 -0
- package/dist/templates/monorepo-governance.dna.yaml +60 -0
- package/dist/templates/multi-perspective-review.dna.yaml +109 -0
- package/dist/templates/pr-submitter.dna.yaml +55 -0
- package/dist/templates/safe-refactoring.dna.yaml +65 -0
- package/dist/templates/secure-dev.dna.yaml +90 -0
- package/dist/templates/subagent-parallel.dna.yaml +98 -0
- package/dist/templates/systematic-debugging.dna.yaml +55 -0
- package/dist/templates/tdd-strict.dna.yaml +69 -0
- package/dist/templates/verification-loop.dna.yaml +53 -0
- package/dist/templates/yolo-with-guardrails.dna.yaml +56 -0
- package/package.json +43 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Intent DNA — CLI Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Usage: dna <command> [options]
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* init Create a new DNA file interactively
|
|
9
|
+
* compile Compile DNA files to framework configuration
|
|
10
|
+
* validate Validate DNA files
|
|
11
|
+
* show Show gene expression state
|
|
12
|
+
* help Show this help message
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Intent DNA — CLI Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Usage: dna <command> [options]
|
|
6
|
+
*
|
|
7
|
+
* Commands:
|
|
8
|
+
* init Create a new DNA file interactively
|
|
9
|
+
* compile Compile DNA files to framework configuration
|
|
10
|
+
* validate Validate DNA files
|
|
11
|
+
* show Show gene expression state
|
|
12
|
+
* help Show this help message
|
|
13
|
+
*/
|
|
14
|
+
import { parseArgs } from "node:util";
|
|
15
|
+
const HELP = `Intent DNA CLI v0.3.0
|
|
16
|
+
|
|
17
|
+
Usage: dna <command> [options]
|
|
18
|
+
|
|
19
|
+
Commands:
|
|
20
|
+
guard Zero-config guardrails — detect environment, apply safety rules
|
|
21
|
+
sync Compile + inject DNA into target file (CLAUDE.md, SOUL.md, etc.)
|
|
22
|
+
verify Verify synced files match .dna.lock checksums (drift detection)
|
|
23
|
+
run Execute a workflow directly (TypeScript runtime)
|
|
24
|
+
init Create a new DNA file interactively
|
|
25
|
+
compile Compile DNA files to framework configuration
|
|
26
|
+
validate Validate DNA files for correctness
|
|
27
|
+
show Show gene expression state
|
|
28
|
+
evolve Generate epigenetic markers from outcomes
|
|
29
|
+
epigenetic Record outcomes, view markers and summaries
|
|
30
|
+
|
|
31
|
+
Options:
|
|
32
|
+
--help, -h Show help for a command
|
|
33
|
+
|
|
34
|
+
Examples:
|
|
35
|
+
dna guard Apply standard guardrails (auto-detect environment)
|
|
36
|
+
dna guard --level yolo YOLO mode with safety net
|
|
37
|
+
dna guard --level strict Enterprise-grade guardrails
|
|
38
|
+
dna guard --audit Show last 7 days of violation logs
|
|
39
|
+
dna guard --remove Remove all guardrails
|
|
40
|
+
dna sync my.dna.json --target claude-md --inject CLAUDE.md --context work
|
|
41
|
+
dna sync my.dna.json --target claude-md --inject CLAUDE.md --hooks .claude/hooks
|
|
42
|
+
dna sync my.dna.json --hooks .claude/hooks --context work
|
|
43
|
+
dna sync my.dna.json --hooks .claude/hooks --role reviewer
|
|
44
|
+
dna sync my.dna.json --agents .claude/agents
|
|
45
|
+
dna sync my.dna.json --workflow ./scripts
|
|
46
|
+
dna sync my.dna.json --target claude-md --inject CLAUDE.md --hooks .claude/hooks --agents .claude/agents --workflow ./scripts
|
|
47
|
+
dna sync my.dna.json --target soul-md --inject SOUL.md --evolve
|
|
48
|
+
dna sync --remove --inject CLAUDE.md --hooks .claude/hooks --agents .claude/agents
|
|
49
|
+
dna verify Verify synced files against .dna.lock
|
|
50
|
+
dna verify --lock /path/to/.dna.lock
|
|
51
|
+
dna import . Import existing harness configs into DNA format
|
|
52
|
+
dna run --dna my.dna.json --workflow dev-pipeline --task P5.8
|
|
53
|
+
dna run --dna my.dna.json --workflow dev-pipeline --task P5.8 --dry-run
|
|
54
|
+
dna compile my.dna.json --context work
|
|
55
|
+
dna show my.dna.json --context work
|
|
56
|
+
dna evolve my_dna_id --preview
|
|
57
|
+
`;
|
|
58
|
+
async function main() {
|
|
59
|
+
const args = process.argv.slice(2);
|
|
60
|
+
const command = args[0];
|
|
61
|
+
if (!command || command === "help" || command === "--help" || command === "-h") {
|
|
62
|
+
process.stderr.write(HELP);
|
|
63
|
+
process.exit(0);
|
|
64
|
+
}
|
|
65
|
+
// Parse remaining args (after command)
|
|
66
|
+
const rest = args.slice(1);
|
|
67
|
+
switch (command) {
|
|
68
|
+
case "sync": {
|
|
69
|
+
const { values, positionals } = parseArgs({
|
|
70
|
+
args: rest,
|
|
71
|
+
options: {
|
|
72
|
+
target: { type: "string", short: "t", default: "claude-md" },
|
|
73
|
+
inject: { type: "string", short: "i" },
|
|
74
|
+
context: { type: "string", short: "c" },
|
|
75
|
+
role: { type: "string", short: "r" },
|
|
76
|
+
evolve: { type: "boolean", default: false },
|
|
77
|
+
"store-dir": { type: "string" },
|
|
78
|
+
hooks: { type: "string" },
|
|
79
|
+
agents: { type: "string" },
|
|
80
|
+
workflow: { type: "string" },
|
|
81
|
+
"workflow-name": { type: "string" },
|
|
82
|
+
skills: { type: "string" },
|
|
83
|
+
settings: { type: "string" },
|
|
84
|
+
lock: { type: "string", default: ".dna.lock" },
|
|
85
|
+
remove: { type: "boolean", default: false },
|
|
86
|
+
},
|
|
87
|
+
allowPositionals: true,
|
|
88
|
+
strict: false,
|
|
89
|
+
});
|
|
90
|
+
const { runSync } = await import("./commands/sync.js");
|
|
91
|
+
const code = await runSync({
|
|
92
|
+
files: positionals,
|
|
93
|
+
target: values.target,
|
|
94
|
+
inject: values.inject,
|
|
95
|
+
context: values.context,
|
|
96
|
+
role: values.role,
|
|
97
|
+
evolve: values.evolve,
|
|
98
|
+
storeDir: values["store-dir"],
|
|
99
|
+
hooksDir: values.hooks,
|
|
100
|
+
agentsDir: values.agents,
|
|
101
|
+
workflowDir: values.workflow,
|
|
102
|
+
workflowName: values["workflow-name"],
|
|
103
|
+
skillsDir: values.skills,
|
|
104
|
+
settingsPath: values.settings,
|
|
105
|
+
lockFile: values.lock,
|
|
106
|
+
remove: values.remove,
|
|
107
|
+
});
|
|
108
|
+
process.exit(code);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
case "verify": {
|
|
112
|
+
const { values: verifyValues } = parseArgs({
|
|
113
|
+
args: rest,
|
|
114
|
+
options: {
|
|
115
|
+
lock: { type: "string", default: ".dna.lock" },
|
|
116
|
+
},
|
|
117
|
+
allowPositionals: true,
|
|
118
|
+
strict: false,
|
|
119
|
+
});
|
|
120
|
+
const { runVerify } = await import("./commands/verify.js");
|
|
121
|
+
const code = await runVerify({
|
|
122
|
+
lockFile: verifyValues.lock,
|
|
123
|
+
});
|
|
124
|
+
process.exit(code);
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
case "run": {
|
|
128
|
+
const { values: runValues, positionals: runPositionals } = parseArgs({
|
|
129
|
+
args: rest,
|
|
130
|
+
options: {
|
|
131
|
+
dna: { type: "string", multiple: true },
|
|
132
|
+
workflow: { type: "string", short: "w" },
|
|
133
|
+
task: { type: "string", short: "t" },
|
|
134
|
+
context: { type: "string", short: "c" },
|
|
135
|
+
var: { type: "string", multiple: true },
|
|
136
|
+
"dry-run": { type: "boolean", default: false },
|
|
137
|
+
"max-budget": { type: "string" },
|
|
138
|
+
"log-dir": { type: "string" },
|
|
139
|
+
"permission-mode": { type: "string" },
|
|
140
|
+
agents: { type: "string" },
|
|
141
|
+
hooks: { type: "string" },
|
|
142
|
+
},
|
|
143
|
+
allowPositionals: true,
|
|
144
|
+
strict: false,
|
|
145
|
+
});
|
|
146
|
+
// Parse --var key=value pairs
|
|
147
|
+
const varEntries = runValues.var ?? [];
|
|
148
|
+
const vars = {};
|
|
149
|
+
for (const v of varEntries) {
|
|
150
|
+
const eqIdx = v.indexOf("=");
|
|
151
|
+
if (eqIdx > 0) {
|
|
152
|
+
vars[v.slice(0, eqIdx)] = v.slice(eqIdx + 1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const { runRun } = await import("./commands/run.js");
|
|
156
|
+
const code = await runRun({
|
|
157
|
+
dnaFiles: runValues.dna ?? runPositionals,
|
|
158
|
+
workflowName: runValues.workflow,
|
|
159
|
+
taskId: runValues.task,
|
|
160
|
+
context: runValues.context,
|
|
161
|
+
vars: Object.keys(vars).length > 0 ? vars : undefined,
|
|
162
|
+
dryRun: runValues["dry-run"],
|
|
163
|
+
maxBudget: runValues["max-budget"]
|
|
164
|
+
? parseFloat(runValues["max-budget"])
|
|
165
|
+
: undefined,
|
|
166
|
+
logDir: runValues["log-dir"],
|
|
167
|
+
permissionMode: runValues["permission-mode"],
|
|
168
|
+
agentsDir: runValues.agents,
|
|
169
|
+
hooksDir: runValues.hooks,
|
|
170
|
+
});
|
|
171
|
+
process.exit(code);
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
case "import": {
|
|
175
|
+
const { values: importValues, positionals: importPositionals } = parseArgs({
|
|
176
|
+
args: rest,
|
|
177
|
+
options: {
|
|
178
|
+
output: { type: "string", short: "o" },
|
|
179
|
+
format: { type: "string", short: "f", default: "yaml" },
|
|
180
|
+
},
|
|
181
|
+
allowPositionals: true,
|
|
182
|
+
strict: false,
|
|
183
|
+
});
|
|
184
|
+
const { runImport } = await import("./commands/import.js");
|
|
185
|
+
const code = await runImport({
|
|
186
|
+
dir: importPositionals[0] ?? ".",
|
|
187
|
+
output: importValues.output,
|
|
188
|
+
format: importValues.format ?? "yaml",
|
|
189
|
+
});
|
|
190
|
+
process.exit(code);
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case "validate": {
|
|
194
|
+
const { values, positionals } = parseArgs({
|
|
195
|
+
args: rest,
|
|
196
|
+
options: {
|
|
197
|
+
quiet: { type: "boolean", short: "q", default: false },
|
|
198
|
+
},
|
|
199
|
+
allowPositionals: true,
|
|
200
|
+
strict: false,
|
|
201
|
+
});
|
|
202
|
+
const { runValidate } = await import("./commands/validate.js");
|
|
203
|
+
const code = await runValidate({
|
|
204
|
+
files: positionals,
|
|
205
|
+
quiet: values.quiet,
|
|
206
|
+
});
|
|
207
|
+
process.exit(code);
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
case "compile": {
|
|
211
|
+
const { values, positionals } = parseArgs({
|
|
212
|
+
args: rest,
|
|
213
|
+
options: {
|
|
214
|
+
target: { type: "string", short: "t", default: "claude-sdk" },
|
|
215
|
+
context: { type: "string", short: "c" },
|
|
216
|
+
output: { type: "string", short: "o" },
|
|
217
|
+
ir: { type: "boolean", default: false },
|
|
218
|
+
},
|
|
219
|
+
allowPositionals: true,
|
|
220
|
+
strict: false,
|
|
221
|
+
});
|
|
222
|
+
const { runCompile } = await import("./commands/compile.js");
|
|
223
|
+
const code = await runCompile({
|
|
224
|
+
files: positionals,
|
|
225
|
+
target: values.target,
|
|
226
|
+
context: values.context,
|
|
227
|
+
output: values.output,
|
|
228
|
+
ir: values.ir,
|
|
229
|
+
});
|
|
230
|
+
process.exit(code);
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
case "show": {
|
|
234
|
+
const { values, positionals } = parseArgs({
|
|
235
|
+
args: rest,
|
|
236
|
+
options: {
|
|
237
|
+
context: { type: "string", short: "c" },
|
|
238
|
+
json: { type: "boolean", default: false },
|
|
239
|
+
},
|
|
240
|
+
allowPositionals: true,
|
|
241
|
+
strict: false,
|
|
242
|
+
});
|
|
243
|
+
const { runShow } = await import("./commands/show.js");
|
|
244
|
+
const code = await runShow({
|
|
245
|
+
files: positionals,
|
|
246
|
+
context: values.context,
|
|
247
|
+
json: values.json,
|
|
248
|
+
});
|
|
249
|
+
process.exit(code);
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
case "init": {
|
|
253
|
+
const { values } = parseArgs({
|
|
254
|
+
args: rest,
|
|
255
|
+
options: {
|
|
256
|
+
type: { type: "string", short: "t" },
|
|
257
|
+
name: { type: "string", short: "n" },
|
|
258
|
+
output: { type: "string", short: "o" },
|
|
259
|
+
template: { type: "string" },
|
|
260
|
+
},
|
|
261
|
+
allowPositionals: true,
|
|
262
|
+
strict: false,
|
|
263
|
+
});
|
|
264
|
+
const { runInit } = await import("./commands/init.js");
|
|
265
|
+
const code = await runInit({
|
|
266
|
+
type: values.type,
|
|
267
|
+
name: values.name,
|
|
268
|
+
output: values.output,
|
|
269
|
+
template: values.template,
|
|
270
|
+
});
|
|
271
|
+
process.exit(code);
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
case "evolve": {
|
|
275
|
+
const { values, positionals } = parseArgs({
|
|
276
|
+
args: rest,
|
|
277
|
+
options: {
|
|
278
|
+
preview: { type: "boolean", default: false },
|
|
279
|
+
"store-dir": { type: "string" },
|
|
280
|
+
},
|
|
281
|
+
allowPositionals: true,
|
|
282
|
+
strict: false,
|
|
283
|
+
});
|
|
284
|
+
const { runEvolve } = await import("./commands/evolve.js");
|
|
285
|
+
const code = await runEvolve({
|
|
286
|
+
dnaId: positionals[0] ?? "",
|
|
287
|
+
preview: values.preview,
|
|
288
|
+
storeDir: values["store-dir"],
|
|
289
|
+
});
|
|
290
|
+
process.exit(code);
|
|
291
|
+
break;
|
|
292
|
+
}
|
|
293
|
+
case "epigenetic": {
|
|
294
|
+
const subcommand = rest[0] ?? "";
|
|
295
|
+
const epiRest = rest.slice(1);
|
|
296
|
+
const { values: epiValues, positionals: epiPositionals } = parseArgs({
|
|
297
|
+
args: epiRest,
|
|
298
|
+
options: {
|
|
299
|
+
"store-dir": { type: "string" },
|
|
300
|
+
action: { type: "string" },
|
|
301
|
+
success: { type: "boolean", default: true },
|
|
302
|
+
genes: { type: "string" },
|
|
303
|
+
feedback: { type: "string" },
|
|
304
|
+
json: { type: "boolean", default: false },
|
|
305
|
+
},
|
|
306
|
+
allowPositionals: true,
|
|
307
|
+
strict: false,
|
|
308
|
+
});
|
|
309
|
+
const { runEpigenetic } = await import("./commands/epigenetic.js");
|
|
310
|
+
const genesStr = epiValues.genes;
|
|
311
|
+
const code = await runEpigenetic({
|
|
312
|
+
subcommand,
|
|
313
|
+
dnaId: epiPositionals[0] ?? "",
|
|
314
|
+
storeDir: epiValues["store-dir"],
|
|
315
|
+
action: epiValues.action,
|
|
316
|
+
success: epiValues.success,
|
|
317
|
+
genes: genesStr ? genesStr.split(",") : undefined,
|
|
318
|
+
feedback: epiValues.feedback,
|
|
319
|
+
json: epiValues.json,
|
|
320
|
+
});
|
|
321
|
+
process.exit(code);
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
case "guard": {
|
|
325
|
+
const { values: guardValues } = parseArgs({
|
|
326
|
+
args: rest,
|
|
327
|
+
options: {
|
|
328
|
+
level: { type: "string", short: "l", default: "standard" },
|
|
329
|
+
audit: { type: "boolean", default: false },
|
|
330
|
+
remove: { type: "boolean", default: false },
|
|
331
|
+
},
|
|
332
|
+
strict: false,
|
|
333
|
+
});
|
|
334
|
+
const { runGuard } = await import("./commands/guard.js");
|
|
335
|
+
const guardLevel = guardValues.level;
|
|
336
|
+
if (!["standard", "yolo", "strict"].includes(guardLevel)) {
|
|
337
|
+
process.stderr.write(`Error: unknown level '${guardLevel}'. Available: standard, yolo, strict\n`);
|
|
338
|
+
process.exit(2);
|
|
339
|
+
}
|
|
340
|
+
const code = await runGuard({
|
|
341
|
+
level: guardLevel,
|
|
342
|
+
audit: guardValues.audit,
|
|
343
|
+
remove: guardValues.remove,
|
|
344
|
+
});
|
|
345
|
+
process.exit(code);
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
default:
|
|
349
|
+
process.stderr.write(`Unknown command: ${command}\n\n`);
|
|
350
|
+
process.stderr.write(HELP);
|
|
351
|
+
process.exit(2);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
main().catch((err) => {
|
|
355
|
+
process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
356
|
+
process.exit(1);
|
|
357
|
+
});
|
|
358
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent DNA — CLI Terminal Formatting Utilities
|
|
3
|
+
*/
|
|
4
|
+
import type { ActivatedGene } from "../../compiler/activate.js";
|
|
5
|
+
import type { Codon } from "../../schema/types.js";
|
|
6
|
+
export declare function bold(s: string): string;
|
|
7
|
+
export declare function dim(s: string): string;
|
|
8
|
+
export declare function green(s: string): string;
|
|
9
|
+
export declare function yellow(s: string): string;
|
|
10
|
+
export declare function red(s: string): string;
|
|
11
|
+
export declare function cyan(s: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Map expression level to a human-readable label with color.
|
|
14
|
+
*/
|
|
15
|
+
export declare function expressionLabel(level: number): string;
|
|
16
|
+
/**
|
|
17
|
+
* Format a single codon for display.
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatCodon(codon: Codon): string;
|
|
20
|
+
/**
|
|
21
|
+
* Format a gene with its expression state for display.
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatGene(name: string, gene: ActivatedGene): string;
|
|
24
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/cli/util/format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAUnD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAkC;AACzE,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAiC;AACvE,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAmC;AAC3E,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAoC;AAC7E,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAiC;AACvE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAkC;AAEzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAahD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAiBpE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent DNA — CLI Terminal Formatting Utilities
|
|
3
|
+
*/
|
|
4
|
+
const BOLD = "\x1b[1m";
|
|
5
|
+
const DIM = "\x1b[2m";
|
|
6
|
+
const RESET = "\x1b[0m";
|
|
7
|
+
const GREEN = "\x1b[32m";
|
|
8
|
+
const YELLOW = "\x1b[33m";
|
|
9
|
+
const RED = "\x1b[31m";
|
|
10
|
+
const CYAN = "\x1b[36m";
|
|
11
|
+
export function bold(s) { return `${BOLD}${s}${RESET}`; }
|
|
12
|
+
export function dim(s) { return `${DIM}${s}${RESET}`; }
|
|
13
|
+
export function green(s) { return `${GREEN}${s}${RESET}`; }
|
|
14
|
+
export function yellow(s) { return `${YELLOW}${s}${RESET}`; }
|
|
15
|
+
export function red(s) { return `${RED}${s}${RESET}`; }
|
|
16
|
+
export function cyan(s) { return `${CYAN}${s}${RESET}`; }
|
|
17
|
+
/**
|
|
18
|
+
* Map expression level to a human-readable label with color.
|
|
19
|
+
*/
|
|
20
|
+
export function expressionLabel(level) {
|
|
21
|
+
if (level === 0)
|
|
22
|
+
return dim("OFF");
|
|
23
|
+
if (level >= 2.0)
|
|
24
|
+
return red("VERY HIGH");
|
|
25
|
+
if (level >= 1.5)
|
|
26
|
+
return yellow("HIGH");
|
|
27
|
+
if (level >= 1.0)
|
|
28
|
+
return green("NORMAL");
|
|
29
|
+
if (level >= 0.5)
|
|
30
|
+
return dim("LOW");
|
|
31
|
+
return dim("VERY LOW");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Format a single codon for display.
|
|
35
|
+
*/
|
|
36
|
+
export function formatCodon(codon) {
|
|
37
|
+
switch (codon.type) {
|
|
38
|
+
case "attract":
|
|
39
|
+
return ` + attract ${cyan(codon.target)}`;
|
|
40
|
+
case "repel":
|
|
41
|
+
return ` - repel ${cyan(codon.target)}`;
|
|
42
|
+
case "threshold":
|
|
43
|
+
return ` ! threshold ${cyan(codon.condition)}`;
|
|
44
|
+
case "weight":
|
|
45
|
+
return ` ~ weight ${cyan(codon.a)}(${Math.round(codon.ratio * 100)}%) vs ${cyan(codon.b)}(${Math.round((1 - codon.ratio) * 100)}%)`;
|
|
46
|
+
case "sense":
|
|
47
|
+
return ` ? sense ${cyan(codon.signal)} -> ${codon.response}`;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Format a gene with its expression state for display.
|
|
52
|
+
*/
|
|
53
|
+
export function formatGene(name, gene) {
|
|
54
|
+
const lines = [];
|
|
55
|
+
const label = expressionLabel(gene.expression_level);
|
|
56
|
+
const levelStr = gene.expression_level.toFixed(2);
|
|
57
|
+
lines.push(`${bold(name)} ${dim(`(${levelStr})`)} ${label}`);
|
|
58
|
+
lines.push(` ${dim(gene.description)}`);
|
|
59
|
+
for (const codon of gene.codons) {
|
|
60
|
+
lines.push(formatCodon(codon));
|
|
61
|
+
}
|
|
62
|
+
if (gene.tags.length > 0) {
|
|
63
|
+
lines.push(` ${dim(`tags: ${gene.tags.join(", ")}`)}`);
|
|
64
|
+
}
|
|
65
|
+
return lines.join("\n");
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/cli/util/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent DNA — CLI Interactive Prompt Utilities
|
|
3
|
+
*
|
|
4
|
+
* Wraps node:readline/promises for simple interactive input.
|
|
5
|
+
*/
|
|
6
|
+
export declare function closePrompt(): void;
|
|
7
|
+
export declare function askString(question: string, defaultVal?: string): Promise<string>;
|
|
8
|
+
export declare function askNumber(question: string, defaultVal: number): Promise<number>;
|
|
9
|
+
export declare function askChoice(question: string, choices: string[], defaultVal?: string): Promise<string>;
|
|
10
|
+
export declare function askYesNo(question: string, defaultVal: boolean): Promise<boolean>;
|
|
11
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/util/prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAItF;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrF;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzG;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAKtF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent DNA — CLI Interactive Prompt Utilities
|
|
3
|
+
*
|
|
4
|
+
* Wraps node:readline/promises for simple interactive input.
|
|
5
|
+
*/
|
|
6
|
+
import { createInterface } from "node:readline/promises";
|
|
7
|
+
import { stdin, stderr } from "node:process";
|
|
8
|
+
let rl = null;
|
|
9
|
+
function getRL() {
|
|
10
|
+
if (!rl) {
|
|
11
|
+
rl = createInterface({ input: stdin, output: stderr });
|
|
12
|
+
}
|
|
13
|
+
return rl;
|
|
14
|
+
}
|
|
15
|
+
export function closePrompt() {
|
|
16
|
+
if (rl) {
|
|
17
|
+
rl.close();
|
|
18
|
+
rl = null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function askString(question, defaultVal) {
|
|
22
|
+
const suffix = defaultVal ? ` [${defaultVal}]` : "";
|
|
23
|
+
const answer = await getRL().question(`${question}${suffix}: `);
|
|
24
|
+
return answer.trim() || defaultVal || "";
|
|
25
|
+
}
|
|
26
|
+
export async function askNumber(question, defaultVal) {
|
|
27
|
+
const answer = await askString(question, String(defaultVal));
|
|
28
|
+
const num = Number(answer);
|
|
29
|
+
return isNaN(num) ? defaultVal : num;
|
|
30
|
+
}
|
|
31
|
+
export async function askChoice(question, choices, defaultVal) {
|
|
32
|
+
const choiceStr = choices
|
|
33
|
+
.map((c, i) => ` ${i + 1}) ${c}${c === defaultVal ? " (default)" : ""}`)
|
|
34
|
+
.join("\n");
|
|
35
|
+
stderr.write(`${question}\n${choiceStr}\n`);
|
|
36
|
+
const answer = await askString("Choose");
|
|
37
|
+
const num = Number(answer);
|
|
38
|
+
if (num >= 1 && num <= choices.length)
|
|
39
|
+
return choices[num - 1];
|
|
40
|
+
if (choices.includes(answer))
|
|
41
|
+
return answer;
|
|
42
|
+
return defaultVal || choices[0];
|
|
43
|
+
}
|
|
44
|
+
export async function askYesNo(question, defaultVal) {
|
|
45
|
+
const suffix = defaultVal ? "[Y/n]" : "[y/N]";
|
|
46
|
+
const answer = await askString(`${question} ${suffix}`);
|
|
47
|
+
if (!answer)
|
|
48
|
+
return defaultVal;
|
|
49
|
+
return answer.toLowerCase().startsWith("y");
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/cli/util/prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAU,MAAM,EAAE,MAAM,cAAc,CAAC;AAErD,IAAI,EAAE,GAA8C,IAAI,CAAC;AAEzD,SAAS,KAAK;IACZ,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,EAAE,EAAE,CAAC;QACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,EAAE,GAAG,IAAI,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,UAAmB;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,IAAI,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,UAAU,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,UAAkB;IAClE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAiB,EAAE,UAAmB;IACtF,MAAM,SAAS,GAAG,OAAO;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACxE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,UAAmB;IAClE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent DNA — Context Activator
|
|
3
|
+
*
|
|
4
|
+
* Given a cascaded DNA and an active context name, applies Regulatory Regions:
|
|
5
|
+
* - amplify/suppress gene codons by factor
|
|
6
|
+
* - activate/deactivate genes
|
|
7
|
+
* - apply threshold overrides
|
|
8
|
+
* - apply epigenetic markers with decay
|
|
9
|
+
*/
|
|
10
|
+
import type { Codon } from "../schema/types.js";
|
|
11
|
+
import type { CascadedDNA } from "./cascade.js";
|
|
12
|
+
export interface ActivatedDNA {
|
|
13
|
+
genes: Record<string, ActivatedGene>;
|
|
14
|
+
active_context: string | null;
|
|
15
|
+
active_role: string | null;
|
|
16
|
+
source_ids: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface ActivatedGene {
|
|
19
|
+
description: string;
|
|
20
|
+
codons: Codon[];
|
|
21
|
+
tags: string[];
|
|
22
|
+
expression_level: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Activate a cascaded DNA for a given context and role.
|
|
26
|
+
* Returns the final gene expression state ready for compilation to IR.
|
|
27
|
+
*/
|
|
28
|
+
export declare function activateDNA(cascaded: CascadedDNA, contextName?: string | null, activeRole?: string | null): ActivatedDNA;
|
|
29
|
+
//# sourceMappingURL=activate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activate.d.ts","sourceRoot":"","sources":["../../src/compiler/activate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,KAAK,EAKN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAkED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,WAAW,EACrB,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,UAAU,GAAE,MAAM,GAAG,IAAW,GAC/B,YAAY,CAsFd"}
|