arkgate 3.2.0 → 3.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 +37 -0
- package/README.md +3 -3
- package/bin/lib/analysis-engine.mjs +6 -5
- package/dist/configTypes-CVWWhBoe.d.cts +54 -0
- package/dist/configTypes-CVWWhBoe.d.ts +54 -0
- package/dist/eslint/index.cjs +3 -3
- package/dist/eslint/index.d.cts +1 -1
- package/dist/eslint/index.d.ts +1 -1
- package/dist/eslint/index.js +3 -3
- package/dist/index.cjs +7 -6
- package/dist/index.d.cts +314 -82
- package/dist/index.d.ts +314 -82
- package/dist/index.js +6 -5
- package/docs/agent-guide.md +8 -0
- package/docs/package-surface.md +2 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/dist/configContract-BxSIwVRo.d.cts +0 -259
- package/dist/configContract-BxSIwVRo.d.ts +0 -259
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical, pure contract for ark.config.json.
|
|
3
|
-
*
|
|
4
|
-
* Tooling adapters own filesystem I/O; this module owns JSON parsing, deterministic
|
|
5
|
-
* migration, defaults, validation, diagnostics, and the published JSON Schema.
|
|
6
|
-
* The standalone CLI artifact is generated into bin/lib/config-contract.mjs.
|
|
7
|
-
*/
|
|
8
|
-
declare const ARK_CONFIG_SCHEMA_VERSION: "1.0";
|
|
9
|
-
type ArkConfigCyclePolicy = 'strict' | 'soft' | 'framework-soft' | 'off';
|
|
10
|
-
type ArkConfigLayer = {
|
|
11
|
-
name: string;
|
|
12
|
-
patterns: string[];
|
|
13
|
-
exclude?: string[];
|
|
14
|
-
intentPrefixes?: string[];
|
|
15
|
-
description?: string;
|
|
16
|
-
forbiddenGlobals?: string[];
|
|
17
|
-
mayImportInfrastructure?: boolean;
|
|
18
|
-
optional?: boolean;
|
|
19
|
-
};
|
|
20
|
-
type ArkConfigRule = {
|
|
21
|
-
from: string;
|
|
22
|
-
to: string;
|
|
23
|
-
allowed: boolean;
|
|
24
|
-
message?: string;
|
|
25
|
-
peerIsolation?: boolean;
|
|
26
|
-
sliceFolders?: string[];
|
|
27
|
-
};
|
|
28
|
-
type ArkConfigSafety = {
|
|
29
|
-
maxTsSuppressions?: number;
|
|
30
|
-
maxAnyCasts?: number;
|
|
31
|
-
allowInMemory?: boolean;
|
|
32
|
-
allowDisabledPeerIsolation?: boolean;
|
|
33
|
-
};
|
|
34
|
-
type ArkConfig = {
|
|
35
|
-
$schema: string;
|
|
36
|
-
schemaVersion: typeof ARK_CONFIG_SCHEMA_VERSION;
|
|
37
|
-
name?: string;
|
|
38
|
-
include: string[];
|
|
39
|
-
exclude?: string[];
|
|
40
|
-
excludeGenerated?: boolean;
|
|
41
|
-
frameworkOverlay?: string;
|
|
42
|
-
layers: ArkConfigLayer[];
|
|
43
|
-
rules: ArkConfigRule[];
|
|
44
|
-
cyclePolicy?: ArkConfigCyclePolicy;
|
|
45
|
-
dynamicImportAllowlist?: string[];
|
|
46
|
-
safety?: ArkConfigSafety;
|
|
47
|
-
};
|
|
48
|
-
declare const ARK_CONFIG_SCHEMA: {
|
|
49
|
-
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
50
|
-
readonly $id: "https://unpkg.com/arkgate@2/schemas/ark.config.schema.json";
|
|
51
|
-
readonly title: "ArkGate architecture contract";
|
|
52
|
-
readonly description: "Versioned contract consumed identically by ArkGate CLI, MCP, and ESLint surfaces.";
|
|
53
|
-
readonly type: "object";
|
|
54
|
-
readonly additionalProperties: false;
|
|
55
|
-
readonly required: readonly ["$schema", "schemaVersion", "include", "layers", "rules"];
|
|
56
|
-
readonly properties: {
|
|
57
|
-
readonly $schema: {
|
|
58
|
-
readonly type: "string";
|
|
59
|
-
readonly minLength: 1;
|
|
60
|
-
readonly default: "https://unpkg.com/arkgate@2/schemas/ark.config.schema.json";
|
|
61
|
-
readonly description: "Editor-facing URL or local path for this JSON Schema.";
|
|
62
|
-
};
|
|
63
|
-
readonly schemaVersion: {
|
|
64
|
-
readonly type: "string";
|
|
65
|
-
readonly const: "1.0";
|
|
66
|
-
readonly default: "1.0";
|
|
67
|
-
};
|
|
68
|
-
readonly name: {
|
|
69
|
-
readonly type: "string";
|
|
70
|
-
readonly minLength: 1;
|
|
71
|
-
};
|
|
72
|
-
readonly include: {
|
|
73
|
-
readonly minItems: 1;
|
|
74
|
-
readonly default: readonly ["src"];
|
|
75
|
-
readonly type: "array";
|
|
76
|
-
readonly items: {
|
|
77
|
-
readonly type: "string";
|
|
78
|
-
readonly minLength: 1;
|
|
79
|
-
};
|
|
80
|
-
readonly uniqueItems: true;
|
|
81
|
-
};
|
|
82
|
-
readonly exclude: {
|
|
83
|
-
readonly default: readonly [];
|
|
84
|
-
readonly type: "array";
|
|
85
|
-
readonly items: {
|
|
86
|
-
readonly type: "string";
|
|
87
|
-
readonly minLength: 1;
|
|
88
|
-
};
|
|
89
|
-
readonly uniqueItems: true;
|
|
90
|
-
};
|
|
91
|
-
readonly excludeGenerated: {
|
|
92
|
-
readonly type: "boolean";
|
|
93
|
-
readonly default: true;
|
|
94
|
-
};
|
|
95
|
-
readonly frameworkOverlay: {
|
|
96
|
-
readonly type: "string";
|
|
97
|
-
readonly minLength: 1;
|
|
98
|
-
};
|
|
99
|
-
readonly layers: {
|
|
100
|
-
readonly type: "array";
|
|
101
|
-
readonly default: readonly [];
|
|
102
|
-
readonly items: {
|
|
103
|
-
readonly $ref: "#/$defs/layer";
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
readonly rules: {
|
|
107
|
-
readonly type: "array";
|
|
108
|
-
readonly default: ArkConfigRule[];
|
|
109
|
-
readonly items: {
|
|
110
|
-
readonly $ref: "#/$defs/rule";
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
readonly cyclePolicy: {
|
|
114
|
-
readonly type: "string";
|
|
115
|
-
readonly enum: readonly ["strict", "soft", "framework-soft", "off"];
|
|
116
|
-
readonly default: "strict";
|
|
117
|
-
};
|
|
118
|
-
readonly dynamicImportAllowlist: {
|
|
119
|
-
readonly default: readonly [];
|
|
120
|
-
readonly type: "array";
|
|
121
|
-
readonly items: {
|
|
122
|
-
readonly type: "string";
|
|
123
|
-
readonly minLength: 1;
|
|
124
|
-
};
|
|
125
|
-
readonly uniqueItems: true;
|
|
126
|
-
};
|
|
127
|
-
readonly safety: {
|
|
128
|
-
readonly $ref: "#/$defs/safety";
|
|
129
|
-
readonly default: {
|
|
130
|
-
readonly maxTsSuppressions: 0;
|
|
131
|
-
readonly maxAnyCasts: 0;
|
|
132
|
-
readonly allowInMemory: false;
|
|
133
|
-
readonly allowDisabledPeerIsolation: false;
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
|
-
readonly $defs: {
|
|
138
|
-
readonly layer: {
|
|
139
|
-
readonly type: "object";
|
|
140
|
-
readonly additionalProperties: false;
|
|
141
|
-
readonly required: readonly ["name", "patterns"];
|
|
142
|
-
readonly properties: {
|
|
143
|
-
readonly name: {
|
|
144
|
-
readonly type: "string";
|
|
145
|
-
readonly minLength: 1;
|
|
146
|
-
};
|
|
147
|
-
readonly patterns: {
|
|
148
|
-
readonly minItems: 1;
|
|
149
|
-
readonly type: "array";
|
|
150
|
-
readonly items: {
|
|
151
|
-
readonly type: "string";
|
|
152
|
-
readonly minLength: 1;
|
|
153
|
-
};
|
|
154
|
-
readonly uniqueItems: true;
|
|
155
|
-
};
|
|
156
|
-
readonly exclude: {
|
|
157
|
-
readonly type: "array";
|
|
158
|
-
readonly items: {
|
|
159
|
-
readonly type: "string";
|
|
160
|
-
readonly minLength: 1;
|
|
161
|
-
};
|
|
162
|
-
readonly uniqueItems: true;
|
|
163
|
-
};
|
|
164
|
-
readonly intentPrefixes: {
|
|
165
|
-
readonly type: "array";
|
|
166
|
-
readonly items: {
|
|
167
|
-
readonly type: "string";
|
|
168
|
-
readonly minLength: 1;
|
|
169
|
-
};
|
|
170
|
-
readonly uniqueItems: true;
|
|
171
|
-
};
|
|
172
|
-
readonly description: {
|
|
173
|
-
readonly type: "string";
|
|
174
|
-
readonly minLength: 1;
|
|
175
|
-
};
|
|
176
|
-
readonly forbiddenGlobals: {
|
|
177
|
-
readonly type: "array";
|
|
178
|
-
readonly items: {
|
|
179
|
-
readonly type: "string";
|
|
180
|
-
readonly minLength: 1;
|
|
181
|
-
};
|
|
182
|
-
readonly uniqueItems: true;
|
|
183
|
-
};
|
|
184
|
-
readonly mayImportInfrastructure: {
|
|
185
|
-
readonly type: "boolean";
|
|
186
|
-
};
|
|
187
|
-
readonly optional: {
|
|
188
|
-
readonly type: "boolean";
|
|
189
|
-
};
|
|
190
|
-
};
|
|
191
|
-
};
|
|
192
|
-
readonly rule: {
|
|
193
|
-
readonly type: "object";
|
|
194
|
-
readonly additionalProperties: false;
|
|
195
|
-
readonly required: readonly ["from", "to", "allowed"];
|
|
196
|
-
readonly properties: {
|
|
197
|
-
readonly from: {
|
|
198
|
-
readonly type: "string";
|
|
199
|
-
readonly minLength: 1;
|
|
200
|
-
};
|
|
201
|
-
readonly to: {
|
|
202
|
-
readonly type: "string";
|
|
203
|
-
readonly minLength: 1;
|
|
204
|
-
};
|
|
205
|
-
readonly allowed: {
|
|
206
|
-
readonly type: "boolean";
|
|
207
|
-
};
|
|
208
|
-
readonly message: {
|
|
209
|
-
readonly type: "string";
|
|
210
|
-
readonly minLength: 1;
|
|
211
|
-
};
|
|
212
|
-
readonly peerIsolation: {
|
|
213
|
-
readonly type: "boolean";
|
|
214
|
-
};
|
|
215
|
-
readonly sliceFolders: {
|
|
216
|
-
readonly minItems: 1;
|
|
217
|
-
readonly type: "array";
|
|
218
|
-
readonly items: {
|
|
219
|
-
readonly type: "string";
|
|
220
|
-
readonly minLength: 1;
|
|
221
|
-
};
|
|
222
|
-
readonly uniqueItems: true;
|
|
223
|
-
};
|
|
224
|
-
};
|
|
225
|
-
};
|
|
226
|
-
readonly safety: {
|
|
227
|
-
readonly type: "object";
|
|
228
|
-
readonly additionalProperties: false;
|
|
229
|
-
readonly properties: {
|
|
230
|
-
readonly maxTsSuppressions: {
|
|
231
|
-
readonly type: "integer";
|
|
232
|
-
readonly minimum: 0;
|
|
233
|
-
readonly default: 0;
|
|
234
|
-
};
|
|
235
|
-
readonly maxAnyCasts: {
|
|
236
|
-
readonly type: "integer";
|
|
237
|
-
readonly minimum: 0;
|
|
238
|
-
readonly default: 0;
|
|
239
|
-
};
|
|
240
|
-
readonly allowInMemory: {
|
|
241
|
-
readonly type: "boolean";
|
|
242
|
-
readonly default: false;
|
|
243
|
-
};
|
|
244
|
-
readonly allowDisabledPeerIsolation: {
|
|
245
|
-
readonly type: "boolean";
|
|
246
|
-
readonly default: false;
|
|
247
|
-
};
|
|
248
|
-
};
|
|
249
|
-
};
|
|
250
|
-
};
|
|
251
|
-
};
|
|
252
|
-
type ArkConfigLoadResult = {
|
|
253
|
-
config: ArkConfig;
|
|
254
|
-
migratedFrom: 'unversioned' | null;
|
|
255
|
-
};
|
|
256
|
-
declare function loadArkConfigContract(input: unknown, source?: string): ArkConfigLoadResult;
|
|
257
|
-
declare function parseArkConfigJson(json: string, source?: string): ArkConfigLoadResult;
|
|
258
|
-
|
|
259
|
-
export { type ArkConfig as A, type ArkConfigRule as a, type ArkConfigLayer as b, type ArkConfigLoadResult as c, ARK_CONFIG_SCHEMA as d, ARK_CONFIG_SCHEMA_VERSION as e, loadArkConfigContract as l, parseArkConfigJson as p };
|