@singbox-iac/cli 0.1.6 → 0.1.8

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.
Files changed (82) hide show
  1. package/README-en.md +24 -1
  2. package/README.md +24 -1
  3. package/dist/cli/commands/apply.js +21 -9
  4. package/dist/cli/commands/apply.js.map +1 -1
  5. package/dist/cli/commands/author.d.ts +3 -0
  6. package/dist/cli/commands/author.js +25 -3
  7. package/dist/cli/commands/author.js.map +1 -1
  8. package/dist/cli/commands/history.d.ts +2 -0
  9. package/dist/cli/commands/history.js +21 -0
  10. package/dist/cli/commands/history.js.map +1 -0
  11. package/dist/cli/commands/proxifier.js +60 -5
  12. package/dist/cli/commands/proxifier.js.map +1 -1
  13. package/dist/cli/commands/rollback.d.ts +2 -0
  14. package/dist/cli/commands/rollback.js +38 -0
  15. package/dist/cli/commands/rollback.js.map +1 -0
  16. package/dist/cli/commands/setup.js +24 -4
  17. package/dist/cli/commands/setup.js.map +1 -1
  18. package/dist/cli/commands/update.js +8 -0
  19. package/dist/cli/commands/update.js.map +1 -1
  20. package/dist/cli/commands/use.js +7 -0
  21. package/dist/cli/commands/use.js.map +1 -1
  22. package/dist/cli/commands/verify.js +72 -20
  23. package/dist/cli/commands/verify.js.map +1 -1
  24. package/dist/cli/index.js +6 -0
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/domain/dns-plan.d.ts +27 -0
  27. package/dist/domain/dns-plan.js +2 -0
  28. package/dist/domain/dns-plan.js.map +1 -0
  29. package/dist/domain/intent.d.ts +61 -0
  30. package/dist/domain/intent.js +2 -0
  31. package/dist/domain/intent.js.map +1 -0
  32. package/dist/domain/runtime-mode.d.ts +8 -0
  33. package/dist/domain/runtime-mode.js +2 -0
  34. package/dist/domain/runtime-mode.js.map +1 -0
  35. package/dist/domain/transaction.d.ts +12 -0
  36. package/dist/domain/transaction.js +2 -0
  37. package/dist/domain/transaction.js.map +1 -0
  38. package/dist/domain/verification-plan.d.ts +34 -0
  39. package/dist/domain/verification-plan.js +2 -0
  40. package/dist/domain/verification-plan.js.map +1 -0
  41. package/dist/modules/authoring/index.d.ts +4 -0
  42. package/dist/modules/authoring/index.js +50 -21
  43. package/dist/modules/authoring/index.js.map +1 -1
  44. package/dist/modules/build/index.d.ts +3 -0
  45. package/dist/modules/build/index.js +8 -1
  46. package/dist/modules/build/index.js.map +1 -1
  47. package/dist/modules/compiler/index.d.ts +2 -2
  48. package/dist/modules/compiler/index.js +38 -53
  49. package/dist/modules/compiler/index.js.map +1 -1
  50. package/dist/modules/dns-plan/index.d.ts +10 -0
  51. package/dist/modules/dns-plan/index.js +104 -0
  52. package/dist/modules/dns-plan/index.js.map +1 -0
  53. package/dist/modules/intent/index.d.ts +7 -0
  54. package/dist/modules/intent/index.js +101 -0
  55. package/dist/modules/intent/index.js.map +1 -0
  56. package/dist/modules/natural-language/index.d.ts +5 -0
  57. package/dist/modules/natural-language/index.js +52 -9
  58. package/dist/modules/natural-language/index.js.map +1 -1
  59. package/dist/modules/preview/index.d.ts +4 -0
  60. package/dist/modules/preview/index.js +3 -0
  61. package/dist/modules/preview/index.js.map +1 -1
  62. package/dist/modules/proxifier/index.d.ts +15 -4
  63. package/dist/modules/proxifier/index.js +146 -40
  64. package/dist/modules/proxifier/index.js.map +1 -1
  65. package/dist/modules/runtime-mode/index.d.ts +18 -0
  66. package/dist/modules/runtime-mode/index.js +72 -0
  67. package/dist/modules/runtime-mode/index.js.map +1 -0
  68. package/dist/modules/transactions/index.d.ts +20 -0
  69. package/dist/modules/transactions/index.js +150 -0
  70. package/dist/modules/transactions/index.js.map +1 -0
  71. package/dist/modules/update/index.d.ts +1 -0
  72. package/dist/modules/update/index.js +22 -6
  73. package/dist/modules/update/index.js.map +1 -1
  74. package/dist/modules/verification/index.d.ts +42 -0
  75. package/dist/modules/verification/index.js +274 -0
  76. package/dist/modules/verification/index.js.map +1 -1
  77. package/dist/modules/verification-plan/index.d.ts +9 -0
  78. package/dist/modules/verification-plan/index.js +117 -0
  79. package/dist/modules/verification-plan/index.js.map +1 -0
  80. package/docs/natural-language-authoring.md +36 -0
  81. package/docs/proxifier-onboarding.md +14 -0
  82. package/package.json +2 -1
@@ -0,0 +1,104 @@
1
+ const defaultLocalServerTag = "dns-local-default";
2
+ const defaultProxyServerTag = "dns-remote-primary";
3
+ const defaultDirectServerTag = "dns-remote-cn";
4
+ export function buildDnsPlan(input) {
5
+ const servers = [
6
+ {
7
+ type: "local",
8
+ tag: defaultLocalServerTag,
9
+ preferGo: true,
10
+ },
11
+ {
12
+ type: "tcp",
13
+ tag: defaultProxyServerTag,
14
+ server: "1.1.1.1",
15
+ serverPort: 53,
16
+ },
17
+ {
18
+ type: "tcp",
19
+ tag: defaultDirectServerTag,
20
+ server: "223.5.5.5",
21
+ serverPort: 53,
22
+ },
23
+ ];
24
+ const nameserverPolicy = [];
25
+ const activeRuleSetTags = new Set(input.activeRuleSetTags);
26
+ if (activeRuleSetTags.has("geosite-cn") || activeRuleSetTags.has("geoip-cn")) {
27
+ nameserverPolicy.push({
28
+ match: {
29
+ ruleSet: [...["geosite-cn", "geoip-cn"].filter((tag) => activeRuleSetTags.has(tag))],
30
+ },
31
+ resolvers: [defaultDirectServerTag],
32
+ });
33
+ }
34
+ for (const policy of input.intent.sitePolicies) {
35
+ const hasDnsRelevantMatch = policy.match.domain || policy.match.domainSuffix || policy.match.ruleSet;
36
+ if (!hasDnsRelevantMatch) {
37
+ continue;
38
+ }
39
+ nameserverPolicy.push({
40
+ match: {
41
+ ...(policy.match.domain ? { domain: policy.match.domain } : {}),
42
+ ...(policy.match.domainSuffix ? { domainSuffix: policy.match.domainSuffix } : {}),
43
+ ...(policy.match.ruleSet
44
+ ? {
45
+ ruleSet: policy.match.ruleSet.filter((tag) => activeRuleSetTags.has(tag)),
46
+ }
47
+ : {}),
48
+ },
49
+ resolvers: policy.action.type === "route" && policy.action.outboundGroup === "direct"
50
+ ? [defaultDirectServerTag]
51
+ : [defaultProxyServerTag],
52
+ });
53
+ }
54
+ for (const override of input.intent.localOverrides.dnsPolicy ?? []) {
55
+ nameserverPolicy.push({
56
+ match: {
57
+ domainSuffix: override.domainSuffix,
58
+ },
59
+ resolvers: override.server,
60
+ });
61
+ }
62
+ return {
63
+ mode: "real-ip",
64
+ defaultResolvers: [defaultLocalServerTag],
65
+ directResolvers: [defaultDirectServerTag],
66
+ proxyResolvers: [defaultProxyServerTag],
67
+ fallbackResolvers: [defaultProxyServerTag],
68
+ servers,
69
+ nameserverPolicy,
70
+ fakeIpFilter: [],
71
+ ...(input.intent.localOverrides.hosts
72
+ ? {
73
+ localHosts: input.intent.localOverrides.hosts,
74
+ }
75
+ : {}),
76
+ strategy: input.intent.globals.preferIPv6 ? "prefer_ipv6" : "prefer_ipv4",
77
+ };
78
+ }
79
+ export function compileDnsPlan(plan) {
80
+ return {
81
+ servers: plan.servers.map((server) => ({
82
+ type: server.type,
83
+ tag: server.tag,
84
+ ...(server.preferGo ? { prefer_go: true } : {}),
85
+ ...(server.server ? { server: server.server } : {}),
86
+ ...(server.serverPort ? { server_port: server.serverPort } : {}),
87
+ })),
88
+ rules: plan.nameserverPolicy.map((rule) => ({
89
+ ...(rule.match.domain ? { domain: [...rule.match.domain] } : {}),
90
+ ...(rule.match.domainSuffix ? { domain_suffix: [...rule.match.domainSuffix] } : {}),
91
+ ...(rule.match.ruleSet && rule.match.ruleSet.length > 0
92
+ ? { rule_set: [...rule.match.ruleSet] }
93
+ : {}),
94
+ server: rule.resolvers[0],
95
+ })),
96
+ final: plan.defaultResolvers[0],
97
+ strategy: plan.strategy,
98
+ ...(plan.localHosts ? { hosts: plan.localHosts } : {}),
99
+ };
100
+ }
101
+ export function getDefaultDnsServerTag() {
102
+ return defaultLocalServerTag;
103
+ }
104
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/dns-plan/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { IntentIR } from "../../domain/intent.js";
2
+ import type { NaturalLanguagePlan } from "../natural-language/index.js";
3
+ import type { LoadedUserRules } from "../user-rules/index.js";
4
+ export declare function createEmptyIntent(): IntentIR;
5
+ export declare function intentFromUserRules(userRules: LoadedUserRules): IntentIR;
6
+ export declare function intentFromNaturalLanguagePlan(plan: NaturalLanguagePlan): IntentIR;
7
+ export declare function mergeIntents(intents: readonly IntentIR[]): IntentIR;
@@ -0,0 +1,101 @@
1
+ export function createEmptyIntent() {
2
+ return {
3
+ version: "v1",
4
+ globals: {},
5
+ sitePolicies: [],
6
+ processPolicies: [],
7
+ localOverrides: {},
8
+ };
9
+ }
10
+ export function intentFromUserRules(userRules) {
11
+ return {
12
+ ...createEmptyIntent(),
13
+ sitePolicies: [
14
+ ...userRules.beforeBuiltins.map((rule) => sitePolicyFromRule(rule, "beforeBuiltins")),
15
+ ...userRules.afterBuiltins.map((rule) => sitePolicyFromRule(rule, "afterBuiltins")),
16
+ ],
17
+ };
18
+ }
19
+ export function intentFromNaturalLanguagePlan(plan) {
20
+ const processPolicies = [];
21
+ if (plan.groupDefaults?.processProxy?.defaultTarget) {
22
+ processPolicies.push({
23
+ name: "Prompt-directed proxifier routing",
24
+ match: {
25
+ processName: ["Antigravity", "Antigravity.app", "Cursor", "cursor", "claude", "gemini"],
26
+ },
27
+ inbound: "in-proxifier",
28
+ outboundGroup: plan.groupDefaults.processProxy.defaultTarget,
29
+ verify: {
30
+ expectProxyHit: true,
31
+ },
32
+ });
33
+ }
34
+ return {
35
+ version: "v1",
36
+ globals: {
37
+ ...(plan.scheduleIntervalMinutes
38
+ ? { updateIntervalMinutes: plan.scheduleIntervalMinutes }
39
+ : {}),
40
+ },
41
+ sitePolicies: [
42
+ ...plan.beforeBuiltins.map((rule) => sitePolicyFromRule(rule, "beforeBuiltins")),
43
+ ...plan.afterBuiltins.map((rule) => sitePolicyFromRule(rule, "afterBuiltins")),
44
+ ],
45
+ processPolicies,
46
+ localOverrides: {},
47
+ };
48
+ }
49
+ export function mergeIntents(intents) {
50
+ return intents.reduce((merged, current) => ({
51
+ version: "v1",
52
+ globals: {
53
+ ...merged.globals,
54
+ ...current.globals,
55
+ },
56
+ sitePolicies: [...merged.sitePolicies, ...current.sitePolicies],
57
+ processPolicies: [...merged.processPolicies, ...current.processPolicies],
58
+ localOverrides: {
59
+ ...(merged.localOverrides.hosts || current.localOverrides.hosts
60
+ ? {
61
+ hosts: {
62
+ ...(merged.localOverrides.hosts ?? {}),
63
+ ...(current.localOverrides.hosts ?? {}),
64
+ },
65
+ }
66
+ : {}),
67
+ ...(merged.localOverrides.dnsPolicy || current.localOverrides.dnsPolicy
68
+ ? {
69
+ dnsPolicy: [
70
+ ...(merged.localOverrides.dnsPolicy ?? []),
71
+ ...(current.localOverrides.dnsPolicy ?? []),
72
+ ],
73
+ }
74
+ : {}),
75
+ },
76
+ }), createEmptyIntent());
77
+ }
78
+ function sitePolicyFromRule(rule, placement) {
79
+ return {
80
+ placement,
81
+ ...(rule.name ? { name: rule.name } : {}),
82
+ match: {
83
+ ...(rule.inbound ? { inbound: rule.inbound } : {}),
84
+ ...(rule.protocol ? { protocol: rule.protocol } : {}),
85
+ ...(rule.network ? { network: rule.network } : {}),
86
+ ...(rule.port ? { port: rule.port } : {}),
87
+ ...(rule.domain ? { domain: rule.domain } : {}),
88
+ ...(rule.domainSuffix ? { domainSuffix: rule.domainSuffix } : {}),
89
+ ...(rule.ruleSet ? { ruleSet: rule.ruleSet } : {}),
90
+ },
91
+ action: rule.route
92
+ ? {
93
+ type: "route",
94
+ outboundGroup: rule.route,
95
+ }
96
+ : {
97
+ type: "reject",
98
+ },
99
+ };
100
+ }
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/intent/index.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ export interface NaturalLanguagePlan {
24
24
  }>;
25
25
  readonly verificationOverrides?: readonly NaturalLanguageVerificationOverride[];
26
26
  }
27
+ export interface NaturalLanguagePromptAnalysis {
28
+ readonly plan: NaturalLanguagePlan;
29
+ readonly ambiguities: readonly string[];
30
+ }
27
31
  export interface PromptSelectableVerificationScenario {
28
32
  readonly id: string;
29
33
  readonly name: string;
@@ -32,6 +36,7 @@ export interface PromptSelectableVerificationScenario {
32
36
  readonly expectedOutbound: string;
33
37
  }
34
38
  export declare function generateRulesFromPrompt(prompt: string): NaturalLanguagePlan;
39
+ export declare function analyzePrompt(prompt: string): NaturalLanguagePromptAnalysis;
35
40
  export declare function selectVerificationScenariosForPrompt(prompt: string, scenarios: readonly PromptSelectableVerificationScenario[]): readonly PromptSelectableVerificationScenario[];
36
41
  export declare function writeGeneratedRules(input: {
37
42
  readonly filePath: string;
@@ -94,7 +94,28 @@ const processAliasDefinitions = [
94
94
  "antigravity",
95
95
  "google antigravity",
96
96
  ];
97
+ const ambiguousPhraseDefinitions = [
98
+ "快一点",
99
+ "快点",
100
+ "大部分",
101
+ "差不多",
102
+ "好一点",
103
+ "好点",
104
+ "更好的节点",
105
+ "更好一点的节点",
106
+ "最好节点",
107
+ "好的节点",
108
+ "好一点的节点",
109
+ "better node",
110
+ "good node",
111
+ "faster",
112
+ "mostly",
113
+ "approximately",
114
+ ];
97
115
  export function generateRulesFromPrompt(prompt) {
116
+ return analyzePrompt(prompt).plan;
117
+ }
118
+ export function analyzePrompt(prompt) {
98
119
  const text = normalizePrompt(prompt);
99
120
  const clauses = splitClauses(text);
100
121
  const templateIds = new Set();
@@ -103,6 +124,7 @@ export function generateRulesFromPrompt(prompt) {
103
124
  const notes = [];
104
125
  const verificationOverrides = [];
105
126
  const groupDefaults = {};
127
+ const ambiguities = new Set();
106
128
  const parsedInterval = parseScheduleIntervalMinutes(text);
107
129
  for (const clause of clauses) {
108
130
  const route = extractRouteTarget(clause);
@@ -111,6 +133,13 @@ export function generateRulesFromPrompt(prompt) {
111
133
  const hasAiCategory = hasTemplateAlias(clause, "developer-ai-sites");
112
134
  const hasDeveloperCategory = hasTemplateAlias(clause, "developer-common-sites");
113
135
  const hasStitchIntent = ["google stitch", "stitch"].some((alias) => clause.includes(alias));
136
+ const matchedDomains = new Set();
137
+ const explicitDomains = extractExplicitDomains(clause);
138
+ for (const ambiguousPhrase of ambiguousPhraseDefinitions) {
139
+ if (clause.includes(ambiguousPhrase)) {
140
+ ambiguities.add(`Prompt clause "${clause}" is ambiguous because it uses "${ambiguousPhrase}".`);
141
+ }
142
+ }
114
143
  for (const { aliases, templateId } of categoryTemplateDefinitions) {
115
144
  if (aliases.some((alias) => clause.includes(alias))) {
116
145
  templateIds.add(resolveTemplateForRoute(templateId, route));
@@ -149,7 +178,6 @@ export function generateRulesFromPrompt(prompt) {
149
178
  };
150
179
  }
151
180
  }
152
- const matchedDomains = new Set();
153
181
  for (const definition of siteAliasDefinitions) {
154
182
  if (definition.aliases.some((alias) => clause.includes(alias))) {
155
183
  for (const domain of definition.domains) {
@@ -157,9 +185,21 @@ export function generateRulesFromPrompt(prompt) {
157
185
  }
158
186
  }
159
187
  }
160
- for (const domain of extractExplicitDomains(clause)) {
188
+ for (const domain of explicitDomains) {
161
189
  matchedDomains.add(domain);
162
190
  }
191
+ const referencesKnownIntent = hasProcessIntent ||
192
+ hasAiCategory ||
193
+ hasDeveloperCategory ||
194
+ hasStitchIntent ||
195
+ matchedDomains.size > 0 ||
196
+ categoryTemplateDefinitions.some(({ aliases }) => aliases.some((alias) => clause.includes(alias)));
197
+ if (referencesKnownIntent &&
198
+ !route &&
199
+ parseScheduleIntervalMinutes(clause) === undefined &&
200
+ !clause.includes("更新")) {
201
+ ambiguities.add(`Prompt clause "${clause}" references a target or category but does not say where it should route.`);
202
+ }
163
203
  if (matchedDomains.size > 0 && route && !hasStitchIntent) {
164
204
  const rule = {
165
205
  name: `Generated from prompt: ${Array.from(matchedDomains).join(", ")}`,
@@ -185,13 +225,16 @@ export function generateRulesFromPrompt(prompt) {
185
225
  }
186
226
  const mergedTemplates = mergeRuleTemplates([...templateIds]);
187
227
  return {
188
- beforeBuiltins: dedupeRules([...mergedTemplates.beforeBuiltins, ...beforeBuiltins]),
189
- afterBuiltins: dedupeRules([...mergedTemplates.afterBuiltins, ...afterBuiltins]),
190
- templateIds: [...templateIds],
191
- notes,
192
- ...(parsedInterval ? { scheduleIntervalMinutes: parsedInterval } : {}),
193
- ...(Object.keys(groupDefaults).length > 0 ? { groupDefaults } : {}),
194
- ...(verificationOverrides.length > 0 ? { verificationOverrides } : {}),
228
+ plan: {
229
+ beforeBuiltins: dedupeRules([...mergedTemplates.beforeBuiltins, ...beforeBuiltins]),
230
+ afterBuiltins: dedupeRules([...mergedTemplates.afterBuiltins, ...afterBuiltins]),
231
+ templateIds: [...templateIds],
232
+ notes,
233
+ ...(parsedInterval ? { scheduleIntervalMinutes: parsedInterval } : {}),
234
+ ...(Object.keys(groupDefaults).length > 0 ? { groupDefaults } : {}),
235
+ ...(verificationOverrides.length > 0 ? { verificationOverrides } : {}),
236
+ },
237
+ ambiguities: [...ambiguities],
195
238
  };
196
239
  }
197
240
  export function selectVerificationScenariosForPrompt(prompt, scenarios) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/natural-language/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/natural-language/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AA2ChE,MAAM,oBAAoB,GAAG;IAC3B,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;IACvD,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE;IACvD,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,EAAE;IAChE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE;IAChD,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAC,EAAE;IACvD,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE;IAC7E,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,uBAAuB,CAAC,EAAE;IACzE;QACE,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC;QACnD,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,CAAC;KAC5E;IACD;QACE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,CAAC;QAC1D,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC;KACrE;IACD,EAAE,OAAO,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,uBAAuB,CAAC,EAAE;IAC5E,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE;IACvD,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE;IAC9D,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;IACnE;QACE,OAAO,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC;QACtE,OAAO,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC/C;IACD;QACE,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC;QACjD,OAAO,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KAC/C;IACD,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE;IACzE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE;IAC/D,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;IACpD,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;CAC3D,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAClC;QACE,OAAO,EAAE;YACP,MAAM;YACN,OAAO;YACP,KAAK;YACL,MAAM;YACN,UAAU;YACV,gBAAgB;YAChB,cAAc;YACd,OAAO;YACP,QAAQ;SACT;QACD,UAAU,EAAE,oBAAoB;KACjC;IACD;QACE,OAAO,EAAE;YACP,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,iBAAiB;YACjB,iBAAiB;YACjB,WAAW;SACZ;QACD,UAAU,EAAE,wBAAwB;KACrC;IACD;QACE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;QAChC,UAAU,EAAE,wBAAwB;KACrC;IACD;QACE,OAAO,EAAE;YACP,MAAM;YACN,aAAa;YACb,WAAW;YACX,WAAW;YACX,SAAS;YACT,cAAc;YACd,aAAa;YACb,SAAS;YACT,UAAU;SACX;QACD,UAAU,EAAE,UAAU;KACvB;IACD,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE;IAC3D,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE;CACnE,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,WAAW;IACX,KAAK;IACL,MAAM;IACN,OAAO;IACP,eAAe;IACf,eAAe;IACf,KAAK;IACL,aAAa;IACb,oBAAoB;CACrB,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,OAAO;IACP,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,aAAa;IACb,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,qBAAqB,GAA0C,EAAE,CAAC;IACxE,MAAM,aAAa,GAAsD,EAAE,CAAC;IAC5E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,MAAM,cAAc,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAE1D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACtE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAChF,MAAM,eAAe,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEvD,KAAK,MAAM,eAAe,IAAI,0BAA0B,EAAE,CAAC;YACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACrC,WAAW,CAAC,GAAG,CACb,kBAAkB,MAAM,mCAAmC,eAAe,IAAI,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,2BAA2B,EAAE,CAAC;YAClE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpD,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,IAAI,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,CAAC,KAAK,GAAG;oBACpB,GAAG,aAAa,CAAC,KAAK;oBACtB,aAAa,EAAE,KAAK;iBACrB,CAAC;YACJ,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,aAAa,CAAC,YAAY,GAAG;oBAC3B,GAAG,aAAa,CAAC,YAAY;oBAC7B,aAAa,EAAE,KAAK;iBACrB,CAAC;YACJ,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,SAAS,GAAG;oBACxB,GAAG,aAAa,CAAC,SAAS;oBAC1B,aAAa,EAAE,KAAK;iBACrB,CAAC;YACJ,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,aAAa,CAAC,YAAY,GAAG;oBAC3B,GAAG,aAAa,CAAC,YAAY;oBAC7B,aAAa,EAAE,KAAK;oBACpB,GAAG,CAAC,KAAK,KAAK,IAAI;wBAClB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAC1B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACvB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACtB,CAAC,CAAC,EAAE,kBAAkB,EAAE,QAAQ,EAAE;wBAClC,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/D,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,qBAAqB,GACzB,gBAAgB;YAChB,aAAa;YACb,oBAAoB;YACpB,eAAe;YACf,cAAc,CAAC,IAAI,GAAG,CAAC;YACvB,2BAA2B,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAChD,CAAC;QAEJ,IACE,qBAAqB;YACrB,CAAC,KAAK;YACN,4BAA4B,CAAC,MAAM,CAAC,KAAK,SAAS;YAClD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EACtB,CAAC;YACD,WAAW,CAAC,GAAG,CACb,kBAAkB,MAAM,2EAA2E,CACpG,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACzD,MAAM,IAAI,GAAkB;gBAC1B,IAAI,EAAE,0BAA0B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvE,YAAY,EAAE,CAAC,GAAG,cAAc,CAAC;gBACjC,KAAK;aACN,CAAC;YACF,IAAI,KAAK,KAAK,gBAAgB,EAAE,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,qBAAqB,CAAC,IAAI,CACxB,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtC,OAAO,EAAE,UAAmB;gBAC5B,YAAY,EAAE,MAAM;gBACpB,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC,CACJ,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CACR,kBAAkB,MAAM,+FAA+F,CACxH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAE7D,OAAO;QACL,IAAI,EAAE;YACJ,cAAc,EAAE,WAAW,CAAC,CAAC,GAAG,eAAe,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;YACnF,aAAa,EAAE,WAAW,CAAC,CAAC,GAAG,eAAe,CAAC,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC;YAChF,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;YAC7B,KAAK;YACL,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE;QACD,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,MAAc,EACd,SAA0D;IAE1D,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgD,CAAC;IAEzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/D,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACrF,MAAM,gBAAgB,GACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACvE,MAAM,sBAAsB,GAC1B,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,qBAAqB,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CACtD,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAC1F,CAAC;YACF,MAAM,cAAc,GAAG,YAAY,IAAI,QAAQ,CAAC,OAAO,KAAK,cAAc,CAAC;YAC3E,MAAM,YAAY,GAChB,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9E,MAAM,iBAAiB,GACrB,eAAe;gBACf;oBACE,aAAa;oBACb,YAAY;oBACZ,mBAAmB;oBACnB,eAAe;oBACf,WAAW;oBACX,eAAe;oBACf,eAAe;iBAChB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,wBAAwB,GAC5B,sBAAsB;gBACtB,CAAC,YAAY,EAAE,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC,IAAI,CACzF,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAC3D,CAAC;YAEJ,IACE,qBAAqB;gBACrB,cAAc;gBACd,YAAY;gBACZ,iBAAiB;gBACjB,wBAAwB,EACxB,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAGzC;IACC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAyB;IAC5D,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,CAAC;QACV,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QACtD,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC;KACrD,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAG3C;IACC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAO5C;IACC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC;QAC1C,SAAS,EAAE,GAAG;QACd,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/F,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAO1C;IACC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAA4C,CAAC;IAEtF,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,GAAG;YACb,GAAG,MAAM,CAAC,KAAK;YACf,aAAa,EAAE,KAAK,CAAC,SAAS;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,CAAC,YAAY,GAAG;YACpB,GAAG,MAAM,CAAC,YAAY;YACtB,GAAG,EAAE,KAAK,CAAC,eAAe;SAC3B,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,MAAM,CAAC,QAAQ;YAClB,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,YAAY,GAAG;YACpB,GAAG,MAAM,CAAC,YAAY;YACtB,SAAS,EAAE,0BAA0B,CACnC,MAAM,CAAC,YAAY,CAAC,SAAS,EAC7B,KAAK,CAAC,qBAAqB,CAC5B;SACF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAqB,EACrB,KAGC;IAED,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE;YACL,GAAG,MAAM,CAAC,KAAK;YACf,aAAa,EAAE,KAAK,CAAC,SAAS;SAC/B;QACD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB;YACpC,CAAC,CAAC;gBACE,QAAQ,EAAE;oBACR,GAAG,MAAM,CAAC,QAAQ;oBAClB,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB;iBACpD;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa;YAC1B,CAAC,CAAC;gBACE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;aACpE;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;YACjF,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,GAAG,MAAM,CAAC,YAAY;oBACtB,SAAS,EAAE,0BAA0B,CACnC,MAAM,CAAC,YAAY,CAAC,SAAS,EAC7B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CACjC;iBACF;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB;IACxC,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAAyB;IAC9C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,OAAO,MAAM;SACV,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAc;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7E,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACzE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9E,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB,EAAE,KAAyB;IAC5E,IAAI,UAAU,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,KAA+B;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAAkB;IAC1D,OAAO,2BAA2B;SAC/B,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC;SAC5D,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CACzB,MAA+B,EAC/B,SAA4D;IAE5D,OAAO;QACL,GAAG,MAAM;QACT,GAAG,CAAC,SAAS,CAAC,YAAY;YACxB,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,GAAG,MAAM,CAAC,YAAY;oBACtB,GAAG,SAAS,CAAC,YAAY;iBAC1B;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC;gBACE,KAAK,EAAE;oBACL,GAAG,MAAM,CAAC,KAAK;oBACf,GAAG,SAAS,CAAC,KAAK;iBACnB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,YAAY;YACxB,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,GAAG,MAAM,CAAC,YAAY;oBACtB,GAAG,SAAS,CAAC,YAAY;iBAC1B;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,SAAS;YACrB,CAAC,CAAC;gBACE,SAAS,EAAE;oBACT,GAAG,MAAM,CAAC,SAAS;oBACnB,GAAG,SAAS,CAAC,SAAS;iBACvB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,SAAqD,EACrD,SAAyD;IAEzD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBACnD,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAuB,EAAE,eAAuB;IAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE;QACvB,OAAO,EAAE,IAAI;QACb,eAAe;KAChB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,IAAI,KAAK;QACd,OAAQ,KAA2B,CAAC,GAAG,KAAK,UAAU,CACvD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { BuilderConfig } from "../../config/schema.js";
2
+ import type { IntentIR } from "../../domain/intent.js";
2
3
  import type { NaturalLanguagePlan } from "../natural-language/index.js";
3
4
  export interface PreviewDiff {
4
5
  readonly label: string;
@@ -10,11 +11,14 @@ export interface GenerateAuthoringPreviewInput {
10
11
  readonly config: BuilderConfig;
11
12
  readonly plan: NaturalLanguagePlan;
12
13
  readonly rulesPath: string;
14
+ readonly currentIntent: IntentIR;
15
+ readonly proposedIntent: IntentIR;
13
16
  readonly subscriptionFile?: string;
14
17
  readonly subscriptionUrl?: string;
15
18
  readonly buildStaging?: boolean;
16
19
  }
17
20
  export interface AuthoringPreviewReport {
21
+ readonly intentDiff: PreviewDiff;
18
22
  readonly rulesDiff: PreviewDiff;
19
23
  readonly configDiff: PreviewDiff;
20
24
  readonly stagingDiff?: PreviewDiff;
@@ -26,10 +26,12 @@ export async function generateAuthoringPreview(input) {
26
26
  rulesPath: input.rulesPath,
27
27
  plan: input.plan,
28
28
  });
29
+ const intentDiff = await createUnifiedDiff("intent-ir", JSON.stringify(input.currentIntent, null, 2), JSON.stringify(input.proposedIntent, null, 2));
29
30
  const rulesDiff = await createUnifiedDiff("rules", currentRulesRaw ?? "", proposedRules);
30
31
  const configDiff = await createUnifiedDiff("builder-config", currentConfigRaw, proposedConfig);
31
32
  if (input.buildStaging === false) {
32
33
  return {
34
+ intentDiff,
33
35
  rulesDiff,
34
36
  configDiff,
35
37
  };
@@ -59,6 +61,7 @@ export async function generateAuthoringPreview(input) {
59
61
  readFile(tempStagingPath, "utf8"),
60
62
  ]);
61
63
  return {
64
+ intentDiff,
62
65
  rulesDiff,
63
66
  configDiff,
64
67
  stagingDiff: await createUnifiedDiff("staging-config", currentStagingRaw ?? "", proposedStagingRaw),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAwBtC,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5D,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC;QAClC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;KAClC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,0BAA0B,CAAC;QAChD,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB;YACpC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB;YAClC,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,EAAE;QAC7D,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;IACzF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAE/F,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO;YACL,SAAS;YACT,UAAU;SACX,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACjE,MAAM,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEtD,MAAM,mBAAmB,CAAC;YACxB,MAAM,EAAE;gBACN,GAAG,eAAe;gBAClB,MAAM,EAAE;oBACN,GAAG,eAAe,CAAC,MAAM;oBACzB,WAAW,EAAE,eAAe;iBAC7B;gBACD,KAAK,EAAE;oBACL,GAAG,eAAe,CAAC,KAAK;oBACxB,aAAa,EAAE,aAAa;iBAC7B;aACF;YACD,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QAEH,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,OAAO;YACL,SAAS;YACT,UAAU;YACV,WAAW,EAAE,MAAM,iBAAiB,CAClC,gBAAgB,EAChB,iBAAiB,IAAI,EAAE,EACvB,kBAAkB,CACnB;SACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAa,EACb,cAAsB,EACtB,WAAmB;IAEnB,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,iBAAiB,KAAK,cAAc,EAAE,CAAC;QACzC,OAAO;YACL,KAAK;YACL,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,kBAAkB,KAAK,GAAG;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,SAAS,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC;YAChD,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO;YACL,KAAK;YACL,OAAO,EAAE,IAAI;YACb,IAAI;SACL,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,KAAa,EAAE,UAAkB,EAAE,SAAiB;IACzE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,EAAE;YACnC,IAAI;YACJ,IAAI;YACJ,WAAW,KAAK,EAAE;YAClB,IAAI;YACJ,YAAY,KAAK,EAAE;YACnB,UAAU;YACV,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,mBAAmB,KAAK,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/preview/index.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,19 @@ export interface ProxifierListenerConfig {
2
2
  readonly host: string;
3
3
  readonly port: number;
4
4
  }
5
- export interface ProxifierBundle {
5
+ export interface ProxifierProcessMatcher {
6
+ readonly processName?: string;
7
+ readonly bundleId?: string;
8
+ readonly pathRegex?: string;
9
+ }
10
+ export interface ProxifierBundleSpec {
6
11
  readonly id: string;
7
12
  readonly name: string;
8
13
  readonly description: string;
9
- readonly processes: readonly string[];
14
+ readonly processMatchers: readonly ProxifierProcessMatcher[];
15
+ readonly targetInbound: "in-proxifier";
16
+ readonly targetOutboundGroup: string;
17
+ readonly notes?: readonly string[];
10
18
  }
11
19
  export interface ProxifierScaffoldInput {
12
20
  readonly listener: ProxifierListenerConfig;
@@ -20,8 +28,11 @@ export interface ProxifierScaffoldResult {
20
28
  readonly customProcessesPath: string;
21
29
  readonly combinedProcessesPath?: string;
22
30
  readonly bundlePaths: readonly string[];
23
- readonly bundles: readonly ProxifierBundle[];
31
+ readonly bundleSpecPaths: readonly string[];
32
+ readonly bundles: readonly ProxifierBundleSpec[];
24
33
  }
25
- export declare function listProxifierBundles(): readonly ProxifierBundle[];
34
+ export declare function listProxifierBundles(): readonly ProxifierBundleSpec[];
35
+ export declare function getProxifierBundle(id: string): ProxifierBundleSpec | undefined;
36
+ export declare function renderProxifierBundleSpec(bundle: ProxifierBundleSpec): string;
26
37
  export declare function selectProxifierBundlesFromPrompt(prompt: string): readonly string[];
27
38
  export declare function writeProxifierScaffold(input: ProxifierScaffoldInput): Promise<ProxifierScaffoldResult>;