human-to-code 0.0.1 → 0.1.2
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/Readme.md +368 -38
- package/SECURITY.md +175 -11
- package/dist/adapters/general.d.ts +30 -0
- package/dist/adapters/general.d.ts.map +1 -0
- package/dist/adapters/general.js +77 -0
- package/dist/adapters/general.js.map +1 -0
- package/dist/adapters/node.d.ts +8 -0
- package/dist/adapters/node.d.ts.map +1 -0
- package/dist/adapters/node.js +1071 -0
- package/dist/adapters/node.js.map +1 -0
- package/dist/adapters/python.d.ts +7 -0
- package/dist/adapters/python.d.ts.map +1 -0
- package/dist/adapters/python.js +540 -0
- package/dist/adapters/python.js.map +1 -0
- package/dist/adapters/rust.d.ts +7 -0
- package/dist/adapters/rust.d.ts.map +1 -0
- package/dist/adapters/rust.js +517 -0
- package/dist/adapters/rust.js.map +1 -0
- package/dist/analyzer-types.d.ts +161 -0
- package/dist/analyzer-types.d.ts.map +1 -0
- package/dist/analyzer-types.js +8 -0
- package/dist/analyzer-types.js.map +1 -0
- package/dist/analyzer-utils.d.ts +40 -0
- package/dist/analyzer-utils.d.ts.map +1 -0
- package/dist/analyzer-utils.js +591 -0
- package/dist/analyzer-utils.js.map +1 -0
- package/dist/analyzer.d.ts +21 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +111 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/certification.d.ts +102 -0
- package/dist/certification.d.ts.map +1 -0
- package/dist/certification.js +193 -0
- package/dist/certification.js.map +1 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +566 -0
- package/dist/cli.js.map +1 -0
- package/dist/compiler-skills.d.ts +25 -0
- package/dist/compiler-skills.d.ts.map +1 -0
- package/dist/compiler-skills.js +158 -0
- package/dist/compiler-skills.js.map +1 -0
- package/dist/compiler-tools.d.ts +29 -0
- package/dist/compiler-tools.d.ts.map +1 -0
- package/dist/compiler-tools.js +337 -0
- package/dist/compiler-tools.js.map +1 -0
- package/dist/config.d.ts +122 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +704 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +153 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +772 -0
- package/dist/context.js.map +1 -0
- package/dist/contracts.d.ts +196 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +721 -0
- package/dist/contracts.js.map +1 -0
- package/dist/discovery.d.ts +34 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +312 -0
- package/dist/discovery.js.map +1 -0
- package/dist/documentation.d.ts +44 -0
- package/dist/documentation.d.ts.map +1 -0
- package/dist/documentation.js +418 -0
- package/dist/documentation.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/patch.d.ts +71 -0
- package/dist/patch.d.ts.map +1 -0
- package/dist/patch.js +394 -0
- package/dist/patch.js.map +1 -0
- package/dist/pinned-http.d.ts +15 -0
- package/dist/pinned-http.d.ts.map +1 -0
- package/dist/pinned-http.js +170 -0
- package/dist/pinned-http.js.map +1 -0
- package/dist/planner.d.ts +30 -0
- package/dist/planner.d.ts.map +1 -0
- package/dist/planner.js +228 -0
- package/dist/planner.js.map +1 -0
- package/dist/provider.d.ts +168 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +512 -0
- package/dist/provider.js.map +1 -0
- package/dist/providers.d.ts +41 -0
- package/dist/providers.d.ts.map +1 -0
- package/dist/providers.js +954 -0
- package/dist/providers.js.map +1 -0
- package/dist/run-store.d.ts +24 -0
- package/dist/run-store.d.ts.map +1 -0
- package/dist/run-store.js +285 -0
- package/dist/run-store.js.map +1 -0
- package/dist/schemas.d.ts +18 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +228 -0
- package/dist/schemas.js.map +1 -0
- package/dist/secret-scan.d.ts +30 -0
- package/dist/secret-scan.d.ts.map +1 -0
- package/dist/secret-scan.js +122 -0
- package/dist/secret-scan.js.map +1 -0
- package/dist/snapshot.d.ts +33 -0
- package/dist/snapshot.d.ts.map +1 -0
- package/dist/snapshot.js +136 -0
- package/dist/snapshot.js.map +1 -0
- package/dist/support-matrix.d.ts +23 -0
- package/dist/support-matrix.d.ts.map +1 -0
- package/dist/support-matrix.js +199 -0
- package/dist/support-matrix.js.map +1 -0
- package/dist/types.d.ts +63 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +25 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +388 -0
- package/dist/validation.js.map +1 -0
- package/dist/workflow.d.ts +65 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +1636 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +36 -9
- package/.claude/settings.local.json +0 -12
- package/.github/workflows/ci.yml +0 -18
- package/CONTRIBUTING.md +0 -40
- package/src/cli.ts +0 -218
- package/src/config.ts +0 -186
- package/src/discovery.ts +0 -186
- package/src/index.ts +0 -22
- package/src/types.ts +0 -74
- package/test/config.test.ts +0 -97
- package/test/discovery.test.ts +0 -91
- package/tsconfig.json +0 -17
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strict, versioned configuration.
|
|
3
|
+
*
|
|
4
|
+
* Configuration is JSON and is never interpreted by a model. Unknown fields
|
|
5
|
+
* are rejected so misspellings and future/legacy semantics cannot silently
|
|
6
|
+
* weaken a run. Credentials are deliberately not part of the schema: provider
|
|
7
|
+
* adapters must read them from their provider-specific environment variables.
|
|
8
|
+
*/
|
|
9
|
+
import type { Config, ProviderConfig, ProviderName } from "./types.ts";
|
|
10
|
+
export declare const CONFIG_FILENAME = "human-to-code.config.json";
|
|
11
|
+
export declare const CONFIG_SCHEMA_VERSION: 1;
|
|
12
|
+
export type DocumentationMode = "local-first" | "offline";
|
|
13
|
+
export type SandboxEngine = "auto" | "docker" | "podman";
|
|
14
|
+
export interface ProviderConfigV1 extends ProviderConfig {
|
|
15
|
+
/** Required acknowledgement whenever a non-default endpoint is configured. */
|
|
16
|
+
trustCustomEndpoint?: true;
|
|
17
|
+
/** Name of an environment variable; never the credential value itself. */
|
|
18
|
+
apiKeyEnv?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Conservative model-specific API rates used to reserve a worst-case cost
|
|
21
|
+
* before every remote request. Remote adapters refuse to run without them.
|
|
22
|
+
*/
|
|
23
|
+
pricing?: ProviderPricingV1;
|
|
24
|
+
}
|
|
25
|
+
export interface ProviderPricingV1 {
|
|
26
|
+
inputUsdPerMillionTokens: number;
|
|
27
|
+
outputUsdPerMillionTokens: number;
|
|
28
|
+
/** Required when both rates are intentionally zero. */
|
|
29
|
+
unmetered?: true;
|
|
30
|
+
}
|
|
31
|
+
export interface DocumentationConfigV1 {
|
|
32
|
+
mode: DocumentationMode;
|
|
33
|
+
/** Repository-relative paths containing project/private documentation. */
|
|
34
|
+
privatePaths: string[];
|
|
35
|
+
/** Extra official domains approved by the operator, without schemes/paths. */
|
|
36
|
+
officialDomains: string[];
|
|
37
|
+
/** Exact dependency/version URL mappings used only after local evidence. */
|
|
38
|
+
officialSources: OfficialDocumentationSourceV1[];
|
|
39
|
+
}
|
|
40
|
+
export interface OfficialDocumentationSourceV1 {
|
|
41
|
+
ecosystem: "react" | "nestjs" | "fastapi" | "rust";
|
|
42
|
+
dependency: string;
|
|
43
|
+
version: string;
|
|
44
|
+
url: string;
|
|
45
|
+
}
|
|
46
|
+
export interface PrivacyConfigV1 {
|
|
47
|
+
/** Remote providers remain disabled until project-level consent is explicit. */
|
|
48
|
+
remoteProviderConsent: boolean;
|
|
49
|
+
/** Telemetry is opt-in and is also disabled by DO_NOT_TRACK. */
|
|
50
|
+
telemetry: boolean;
|
|
51
|
+
/** Repository-relative paths that must not enter a context manifest. */
|
|
52
|
+
excludedPaths: string[];
|
|
53
|
+
maxFileBytes: number;
|
|
54
|
+
maxContextTokens: number;
|
|
55
|
+
}
|
|
56
|
+
export interface SandboxConfigV1 {
|
|
57
|
+
required: boolean;
|
|
58
|
+
engine: SandboxEngine;
|
|
59
|
+
/** v1 never permits validation commands to access the network. */
|
|
60
|
+
network: "none";
|
|
61
|
+
}
|
|
62
|
+
export interface BudgetConfigV1 {
|
|
63
|
+
maxCostUsd: number;
|
|
64
|
+
maxInputTokens: number;
|
|
65
|
+
maxOutputTokens: number;
|
|
66
|
+
maxRequests: number;
|
|
67
|
+
maxRepairs: number;
|
|
68
|
+
timeoutMs: number;
|
|
69
|
+
}
|
|
70
|
+
export interface WorkspaceOverrideV1 {
|
|
71
|
+
root: string;
|
|
72
|
+
provider?: ProviderConfigV1;
|
|
73
|
+
documentation?: Partial<DocumentationConfigV1>;
|
|
74
|
+
privacy?: Partial<PrivacyConfigV1>;
|
|
75
|
+
budgets?: Partial<BudgetConfigV1>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* ConfigV1 extends the alpha fields to avoid breaking programmatic callers
|
|
79
|
+
* while adding the production safety policy. Project analysis, rather than
|
|
80
|
+
* `language`, is authoritative for mixed-language workspaces.
|
|
81
|
+
*/
|
|
82
|
+
export interface ConfigV1 extends Omit<Config, "provider"> {
|
|
83
|
+
schemaVersion: typeof CONFIG_SCHEMA_VERSION;
|
|
84
|
+
provider: ProviderConfigV1;
|
|
85
|
+
workspaces: WorkspaceOverrideV1[];
|
|
86
|
+
documentation: DocumentationConfigV1;
|
|
87
|
+
privacy: PrivacyConfigV1;
|
|
88
|
+
sandbox: SandboxConfigV1;
|
|
89
|
+
budgets: BudgetConfigV1;
|
|
90
|
+
}
|
|
91
|
+
type DeepReadonly<T> = T extends (...args: never[]) => unknown ? T : T extends readonly (infer U)[] ? readonly DeepReadonly<U>[] : T extends object ? {
|
|
92
|
+
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
93
|
+
} : T;
|
|
94
|
+
/** Frozen defaults. Callers receive a deep clone, never this object. */
|
|
95
|
+
export declare const DEFAULT_CONFIG: DeepReadonly<ConfigV1>;
|
|
96
|
+
/** Thrown for malformed or unsafe config; messages are safe to show users. */
|
|
97
|
+
export declare class ConfigError extends Error {
|
|
98
|
+
readonly name = "ConfigError";
|
|
99
|
+
}
|
|
100
|
+
/** The configured default model id for a provider in this package release. */
|
|
101
|
+
export declare function defaultModelFor(name: ProviderName): string;
|
|
102
|
+
/** Validate a custom endpoint without performing any network access. */
|
|
103
|
+
export declare function validateProviderBaseUrl(raw: string, provider: ProviderName, trusted: boolean): string;
|
|
104
|
+
/** Validate an already-parsed schema-v1 object into a fully defaulted config. */
|
|
105
|
+
export declare function validateConfig(raw: unknown): ConfigV1;
|
|
106
|
+
/**
|
|
107
|
+
* Explicitly migrate the dependency-free 0.0.1 shape. It intentionally accepts
|
|
108
|
+
* only the four known legacy keys and then validates the resulting v1 object.
|
|
109
|
+
*/
|
|
110
|
+
export declare function migrateLegacyConfig(raw: unknown): ConfigV1;
|
|
111
|
+
/**
|
|
112
|
+
* Load `<root>/human-to-code.config.json`. A missing file returns cloned
|
|
113
|
+
* defaults; unreadable, non-regular, symlinked, oversized, or legacy files fail.
|
|
114
|
+
*/
|
|
115
|
+
export declare function loadConfig(root: string): Promise<{
|
|
116
|
+
config: ConfigV1;
|
|
117
|
+
fromFile: boolean;
|
|
118
|
+
}>;
|
|
119
|
+
/** Serialize a fresh schema-v1 default config for initialization. */
|
|
120
|
+
export declare function defaultConfigJson(): string;
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|