jevascript 0.1.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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +447 -0
  3. package/dist/cache.d.ts +18 -0
  4. package/dist/cache.d.ts.map +1 -0
  5. package/dist/cache.js +58 -0
  6. package/dist/cache.js.map +1 -0
  7. package/dist/collections.d.ts +52 -0
  8. package/dist/collections.d.ts.map +1 -0
  9. package/dist/collections.js +206 -0
  10. package/dist/collections.js.map +1 -0
  11. package/dist/config.d.ts +57 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +75 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/context.d.ts +73 -0
  16. package/dist/context.d.ts.map +1 -0
  17. package/dist/context.js +251 -0
  18. package/dist/context.js.map +1 -0
  19. package/dist/define.d.ts +52 -0
  20. package/dist/define.d.ts.map +1 -0
  21. package/dist/define.js +59 -0
  22. package/dist/define.js.map +1 -0
  23. package/dist/errors.d.ts +28 -0
  24. package/dist/errors.d.ts.map +1 -0
  25. package/dist/errors.js +56 -0
  26. package/dist/errors.js.map +1 -0
  27. package/dist/evaluate.d.ts +31 -0
  28. package/dist/evaluate.d.ts.map +1 -0
  29. package/dist/evaluate.js +142 -0
  30. package/dist/evaluate.js.map +1 -0
  31. package/dist/factory.d.ts +6 -0
  32. package/dist/factory.d.ts.map +1 -0
  33. package/dist/factory.js +7 -0
  34. package/dist/factory.js.map +1 -0
  35. package/dist/index.d.ts +68 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +53 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/internal.d.ts +3 -0
  40. package/dist/internal.d.ts.map +1 -0
  41. package/dist/internal.js +6 -0
  42. package/dist/internal.js.map +1 -0
  43. package/dist/outputs.d.ts +40 -0
  44. package/dist/outputs.d.ts.map +1 -0
  45. package/dist/outputs.js +20 -0
  46. package/dist/outputs.js.map +1 -0
  47. package/dist/providers/jev.d.ts +21 -0
  48. package/dist/providers/jev.d.ts.map +1 -0
  49. package/dist/providers/jev.js +175 -0
  50. package/dist/providers/jev.js.map +1 -0
  51. package/dist/questions.d.ts +98 -0
  52. package/dist/questions.d.ts.map +1 -0
  53. package/dist/questions.js +57 -0
  54. package/dist/questions.js.map +1 -0
  55. package/dist/runner.d.ts +52 -0
  56. package/dist/runner.d.ts.map +1 -0
  57. package/dist/runner.js +208 -0
  58. package/dist/runner.js.map +1 -0
  59. package/dist/schema.d.ts +49 -0
  60. package/dist/schema.d.ts.map +1 -0
  61. package/dist/schema.js +30 -0
  62. package/dist/schema.js.map +1 -0
  63. package/dist/testing.d.ts +34 -0
  64. package/dist/testing.d.ts.map +1 -0
  65. package/dist/testing.js +68 -0
  66. package/dist/testing.js.map +1 -0
  67. package/dist/types.d.ts +152 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/types.js +8 -0
  70. package/dist/types.js.map +1 -0
  71. package/package.json +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Provider-neutral vocabulary.
3
+ *
4
+ * Deliberately NOT named after any one provider (see design rule: no `jevNoul()`
5
+ * in the public API). Jev's `noul` is our `truth`, Jev's `score` is our `level`.
6
+ */
7
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
8
+ [key: string]: JsonValue;
9
+ };
10
+ /**
11
+ * What gets evaluated. Providers accept text only, so objects are serialised
12
+ * as JSON before they are sent.
13
+ *
14
+ * Typed as `object` rather than `Record<string, unknown>` on purpose: an
15
+ * `interface` has no implicit index signature, so the narrower type would
16
+ * reject exactly the case this library exists for — handing it the domain
17
+ * object you already have.
18
+ */
19
+ export type State = string | readonly string[] | object;
20
+ /**
21
+ * A yes/no proposition. The provider returns P(true), which carries both the
22
+ * answer and its uncertainty — there is no separate confidence for this kind.
23
+ */
24
+ export interface TruthQuestion {
25
+ readonly kind: "truth";
26
+ /** Written as a proposition, not a noun phrase. */
27
+ readonly instructions: string | JsonValue;
28
+ /** What clearly counts as true. Materially improves accuracy on edge cases. */
29
+ readonly trueWhen?: string | JsonValue;
30
+ /** What clearly does *not* count, even if it looks close. */
31
+ readonly falseWhen?: string | JsonValue;
32
+ }
33
+ export interface ChoiceOptionSpec {
34
+ readonly what: string;
35
+ readonly not_for?: string;
36
+ readonly examples?: readonly string[];
37
+ }
38
+ /** Pick exactly one of a fixed set. */
39
+ export interface ChoiceQuestion {
40
+ readonly kind: "choice";
41
+ readonly instructions: string | JsonValue;
42
+ readonly options: Readonly<Record<string, string | ChoiceOptionSpec>>;
43
+ }
44
+ export interface LevelSpec {
45
+ readonly summary: string;
46
+ readonly signals?: readonly string[];
47
+ }
48
+ /**
49
+ * Position on an ordered rubric. Levels describe *situations*, not degrees —
50
+ * "feature broken, workaround exists" rather than "moderately severe".
51
+ */
52
+ export interface LevelQuestion {
53
+ readonly kind: "level";
54
+ readonly instructions: string | JsonValue;
55
+ readonly levels: readonly (string | LevelSpec)[];
56
+ }
57
+ export type SemanticQuestion = TruthQuestion | ChoiceQuestion | LevelQuestion;
58
+ export interface TruthAnswer {
59
+ readonly kind: "truth";
60
+ /** P(the proposition is true), 0–1. */
61
+ readonly probability: number;
62
+ }
63
+ export interface ChoiceAnswer {
64
+ readonly kind: "choice";
65
+ readonly choice: string;
66
+ readonly probabilities: Readonly<Record<string, number>>;
67
+ /** How concentrated the distribution is, 0–1. */
68
+ readonly confidence: number;
69
+ }
70
+ export interface LevelAnswer {
71
+ readonly kind: "level";
72
+ /**
73
+ * Probability-weighted mean over levels, **0-indexed**: 0 is the first level
74
+ * and probabilities.length - 1 the last. Verified against the live API, which
75
+ * indexes from 0 even though the published example reads as 1-indexed.
76
+ * May land between levels.
77
+ */
78
+ readonly level: number;
79
+ readonly probabilities: readonly number[];
80
+ readonly confidence: number;
81
+ }
82
+ export type SemanticAnswer = TruthAnswer | ChoiceAnswer | LevelAnswer;
83
+ export interface Usage {
84
+ readonly inputTokens?: number;
85
+ readonly outputTokens?: number;
86
+ }
87
+ /**
88
+ * Multi-question by construction. A single-question shape would make batching
89
+ * impossible to express through the adapter, and batching is where nearly all
90
+ * of the cost and latency savings live.
91
+ */
92
+ export interface SemanticRequest {
93
+ readonly state: State;
94
+ readonly questions: Readonly<Record<string, SemanticQuestion>>;
95
+ readonly signal?: AbortSignal;
96
+ readonly timeoutMs?: number;
97
+ }
98
+ export interface SemanticProviderResponse {
99
+ readonly answers: Readonly<Record<string, SemanticAnswer>>;
100
+ readonly usage?: Usage;
101
+ readonly model?: string;
102
+ }
103
+ /**
104
+ * Providers differ sharply in what they can express. Stating capabilities up
105
+ * front lets the runtime reject impossible requests at configuration time
106
+ * rather than failing deep inside a production call path.
107
+ */
108
+ export interface ProviderCapabilities {
109
+ readonly maxChoiceOptions: number;
110
+ /** Inclusive [min, max] number of rubric levels. */
111
+ readonly levelRange: readonly [number, number];
112
+ readonly maxStateTokens?: number;
113
+ readonly maxTotalTokens?: number;
114
+ /** False for decision-only models: no generated rationale is possible. */
115
+ readonly generatesText: boolean;
116
+ /** Whether many questions in one request cost less than many requests. */
117
+ readonly batching: boolean;
118
+ }
119
+ export interface SemanticProvider {
120
+ readonly name: string;
121
+ /** Pinned model identity. Must be a concrete version, never a moving alias. */
122
+ readonly model: string;
123
+ readonly capabilities: ProviderCapabilities;
124
+ evaluate(request: SemanticRequest): Promise<SemanticProviderResponse>;
125
+ }
126
+ export interface EvaluationEvent {
127
+ readonly operation: "is" | "score" | "choose" | "batch" | "evaluate" | "rank" | "filter" | "find" | "compare";
128
+ readonly keys: readonly string[];
129
+ readonly provider: string;
130
+ readonly model: string;
131
+ readonly latencyMs: number;
132
+ readonly cached: boolean;
133
+ readonly batched: boolean;
134
+ readonly questionCount: number;
135
+ /** Requests actually issued. Greater than one when `samples` was in play. */
136
+ readonly requestCount: number;
137
+ readonly samples: number;
138
+ readonly usage?: Usage;
139
+ readonly metric?: {
140
+ name: string;
141
+ version?: string;
142
+ };
143
+ }
144
+ export interface Observability {
145
+ onEvaluation?(event: EvaluationEvent): void;
146
+ /** Fired when calls that could have shared a request did not. */
147
+ onUnbatched?(info: {
148
+ context: string;
149
+ flushCount: number;
150
+ }): void;
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Provider-neutral vocabulary.
3
+ *
4
+ * Deliberately NOT named after any one provider (see design rule: no `jevNoul()`
5
+ * in the public API). Jev's `noul` is our `truth`, Jev's `score` is our `level`.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "jevascript",
3
+ "version": "0.1.0",
4
+ "description": "Semantic values for deterministic TypeScript: is, score and choose as ordinary values, backed by a decision model.",
5
+ "license": "MIT",
6
+ "homepage": "https://jevascript.org",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
12
+ "./testing": { "types": "./dist/testing.d.ts", "default": "./dist/testing.js" }
13
+ },
14
+ "files": ["dist"],
15
+ "sideEffects": false,
16
+ "engines": { "node": ">=22.6" },
17
+ "keywords": ["llm", "semantic", "decision-model", "jev", "typescript", "classification", "scoring"],
18
+ "scripts": {
19
+ "build": "tsc -p tsconfig.json",
20
+ "typecheck": "npm run build && tsc -p tsconfig.test.json",
21
+ "test": "npm run typecheck && node --test test/*.test.ts",
22
+ "example": "node --env-file=.env --experimental-strip-types",
23
+ "prepublishOnly": "npm test"
24
+ },
25
+ "devDependencies": {
26
+ "@types/node": "^22.0.0",
27
+ "typescript": "^5.6.0"
28
+ }
29
+ }