tryassay 0.22.0 → 0.22.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.
Files changed (130) hide show
  1. package/demo/css/style.css +495 -836
  2. package/demo/index.html +40 -184
  3. package/demo/js/chat.js +385 -142
  4. package/demo/js/preview.js +456 -0
  5. package/demo/js/sse-client.js +262 -135
  6. package/demo/js/state.js +11 -1
  7. package/demo/js/timeline.js +57 -371
  8. package/dist/api/server.d.ts +2 -0
  9. package/dist/api/server.js +63 -19
  10. package/dist/api/server.js.map +1 -1
  11. package/dist/cli.js +2 -0
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/assess.d.ts +2 -0
  14. package/dist/commands/assess.js +132 -164
  15. package/dist/commands/assess.js.map +1 -1
  16. package/dist/commands/demo.js +259 -9
  17. package/dist/commands/demo.js.map +1 -1
  18. package/dist/lib/__tests__/arithmetic-quick-test.d.ts +6 -0
  19. package/dist/lib/__tests__/arithmetic-quick-test.js +197 -0
  20. package/dist/lib/__tests__/arithmetic-quick-test.js.map +1 -0
  21. package/dist/lib/__tests__/arithmetic-real-llm-test.d.ts +13 -0
  22. package/dist/lib/__tests__/arithmetic-real-llm-test.js +284 -0
  23. package/dist/lib/__tests__/arithmetic-real-llm-test.js.map +1 -0
  24. package/dist/lib/__tests__/arithmetic-value-demo.d.ts +10 -0
  25. package/dist/lib/__tests__/arithmetic-value-demo.js +193 -0
  26. package/dist/lib/__tests__/arithmetic-value-demo.js.map +1 -0
  27. package/dist/lib/__tests__/flow-to-claims.test.d.ts +1 -0
  28. package/dist/lib/__tests__/flow-to-claims.test.js +91 -0
  29. package/dist/lib/__tests__/flow-to-claims.test.js.map +1 -0
  30. package/dist/lib/__tests__/formal-verifier-api-misuse.test.d.ts +9 -0
  31. package/dist/lib/__tests__/formal-verifier-api-misuse.test.js +391 -0
  32. package/dist/lib/__tests__/formal-verifier-api-misuse.test.js.map +1 -0
  33. package/dist/lib/__tests__/formal-verifier-arithmetic.test.d.ts +7 -0
  34. package/dist/lib/__tests__/formal-verifier-arithmetic.test.js +318 -0
  35. package/dist/lib/__tests__/formal-verifier-arithmetic.test.js.map +1 -0
  36. package/dist/lib/__tests__/intent-extractor.test.d.ts +1 -0
  37. package/dist/lib/__tests__/intent-extractor.test.js +97 -0
  38. package/dist/lib/__tests__/intent-extractor.test.js.map +1 -0
  39. package/dist/lib/__tests__/intent-reviewer.test.d.ts +1 -0
  40. package/dist/lib/__tests__/intent-reviewer.test.js +55 -0
  41. package/dist/lib/__tests__/intent-reviewer.test.js.map +1 -0
  42. package/dist/lib/__tests__/mr-gsm8k-benchmark.d.ts +11 -0
  43. package/dist/lib/__tests__/mr-gsm8k-benchmark.js +224 -0
  44. package/dist/lib/__tests__/mr-gsm8k-benchmark.js.map +1 -0
  45. package/dist/lib/anthropic.js +25 -33
  46. package/dist/lib/anthropic.js.map +1 -1
  47. package/dist/lib/assessment-reporter.js +9 -13
  48. package/dist/lib/assessment-reporter.js.map +1 -1
  49. package/dist/lib/claim-extractor.js +10 -19
  50. package/dist/lib/claim-extractor.js.map +1 -1
  51. package/dist/lib/code-verifier.js +16 -36
  52. package/dist/lib/code-verifier.js.map +1 -1
  53. package/dist/lib/constraint-engine.js +10 -19
  54. package/dist/lib/constraint-engine.js.map +1 -1
  55. package/dist/lib/formal-verifier.d.ts +1 -1
  56. package/dist/lib/formal-verifier.js +454 -0
  57. package/dist/lib/formal-verifier.js.map +1 -1
  58. package/dist/lib/guided-generator.js +19 -37
  59. package/dist/lib/guided-generator.js.map +1 -1
  60. package/dist/lib/intent-extractor.d.ts +47 -0
  61. package/dist/lib/intent-extractor.js +432 -0
  62. package/dist/lib/intent-extractor.js.map +1 -0
  63. package/dist/lib/intent-reviewer.d.ts +14 -0
  64. package/dist/lib/intent-reviewer.js +148 -0
  65. package/dist/lib/intent-reviewer.js.map +1 -0
  66. package/dist/lib/intent-types.d.ts +89 -0
  67. package/dist/lib/intent-types.js +5 -0
  68. package/dist/lib/intent-types.js.map +1 -0
  69. package/dist/lib/inventory-extractor.js +9 -22
  70. package/dist/lib/inventory-extractor.js.map +1 -1
  71. package/dist/lib/llm-provider.d.ts +23 -0
  72. package/dist/lib/llm-provider.js +130 -0
  73. package/dist/lib/llm-provider.js.map +1 -0
  74. package/dist/lib/remediator.js +20 -28
  75. package/dist/lib/remediator.js.map +1 -1
  76. package/dist/lib/requirements-generator.js +14 -19
  77. package/dist/lib/requirements-generator.js.map +1 -1
  78. package/dist/lib/spec-synthesizer.js +10 -19
  79. package/dist/lib/spec-synthesizer.js.map +1 -1
  80. package/dist/runtime/app-create-orchestrator.d.ts +5 -1
  81. package/dist/runtime/app-create-orchestrator.js +114 -39
  82. package/dist/runtime/app-create-orchestrator.js.map +1 -1
  83. package/dist/runtime/check-catalog.js +5 -3
  84. package/dist/runtime/check-catalog.js.map +1 -1
  85. package/dist/runtime/check-definitions.d.ts +10 -0
  86. package/dist/runtime/check-definitions.js +52 -2
  87. package/dist/runtime/check-definitions.js.map +1 -1
  88. package/dist/runtime/composition-verifier.js +8 -12
  89. package/dist/runtime/composition-verifier.js.map +1 -1
  90. package/dist/runtime/gap-detector.js +8 -10
  91. package/dist/runtime/gap-detector.js.map +1 -1
  92. package/dist/runtime/input-validator.d.ts +7 -0
  93. package/dist/runtime/input-validator.js +162 -0
  94. package/dist/runtime/input-validator.js.map +1 -0
  95. package/dist/runtime/model-router.d.ts +10 -0
  96. package/dist/runtime/model-router.js +42 -0
  97. package/dist/runtime/model-router.js.map +1 -0
  98. package/dist/runtime/pattern-extractor.js +8 -10
  99. package/dist/runtime/pattern-extractor.js.map +1 -1
  100. package/dist/runtime/planner.js +11 -16
  101. package/dist/runtime/planner.js.map +1 -1
  102. package/dist/runtime/prompt-guard.d.ts +2 -0
  103. package/dist/runtime/prompt-guard.js +180 -0
  104. package/dist/runtime/prompt-guard.js.map +1 -0
  105. package/dist/runtime/prompt-safety-analyzer.js +8 -13
  106. package/dist/runtime/prompt-safety-analyzer.js.map +1 -1
  107. package/dist/runtime/reasoner.js +19 -33
  108. package/dist/runtime/reasoner.js.map +1 -1
  109. package/dist/runtime/rule-meta-verifier.js +9 -11
  110. package/dist/runtime/rule-meta-verifier.js.map +1 -1
  111. package/dist/runtime/safe-executor.d.ts +23 -0
  112. package/dist/runtime/safe-executor.js +151 -0
  113. package/dist/runtime/safe-executor.js.map +1 -0
  114. package/dist/runtime/specialized-agent.js +10 -14
  115. package/dist/runtime/specialized-agent.js.map +1 -1
  116. package/dist/runtime/strategy-library.js +8 -10
  117. package/dist/runtime/strategy-library.js.map +1 -1
  118. package/dist/runtime/supabase-experience-store.js.map +1 -1
  119. package/dist/runtime/supabase-provisioner.d.ts +35 -0
  120. package/dist/runtime/supabase-provisioner.js +192 -0
  121. package/dist/runtime/supabase-provisioner.js.map +1 -0
  122. package/dist/runtime/types.d.ts +88 -0
  123. package/dist/sdk/forward-verify.js +16 -33
  124. package/dist/sdk/forward-verify.js.map +1 -1
  125. package/package.json +1 -1
  126. package/demo/data/demo-events.json +0 -103
  127. package/demo/js/demo-mode.js +0 -107
  128. package/demo/js/orb.js +0 -634
  129. package/demo/js/question-cards.js +0 -207
  130. package/demo/js/voice.js +0 -154
@@ -1 +1 @@
1
- {"version":3,"file":"formal-verifier.js","sourceRoot":"","sources":["../../src/lib/formal-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formal-verifier.js","sourceRoot":"","sources":["../../src/lib/formal-verifier.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { getClient, MODEL } from './anthropic.js';
1
+ import { MODEL } from './anthropic.js';
2
+ import { getProvider } from './llm-provider.js';
2
3
  const MAX_TOKENS = 16_000;
3
4
  function buildGenerationSystemPrompt(language, specs, constraints) {
4
5
  const specLines = specs.map((s) => {
@@ -128,53 +129,34 @@ function parseVerificationJson(rawText, specs, onProgress) {
128
129
  return results;
129
130
  }
130
131
  export async function generateWithConstraints(task, language, specs, constraints, onProgress) {
131
- const client = getClient();
132
132
  let totalInputTokens = 0;
133
133
  let totalOutputTokens = 0;
134
- // ── Step 1: Guided code generation (streaming) ──
135
- onProgress?.('Generating code with spec-aware constraints (streaming)...');
134
+ // ── Step 1: Guided code generation ──
135
+ onProgress?.('Generating code with spec-aware constraints...');
136
136
  const systemPrompt = buildGenerationSystemPrompt(language, specs, constraints);
137
- const stream = client.messages.stream({
137
+ const genResult = await getProvider().complete({
138
138
  model: MODEL,
139
- max_tokens: MAX_TOKENS,
140
- system: systemPrompt,
141
- messages: [
142
- {
143
- role: 'user',
144
- content: `Generate ${language} code for the following task:\n\n${task}`,
145
- },
146
- ],
139
+ maxTokens: MAX_TOKENS,
140
+ systemPrompt,
141
+ userPrompt: `Generate ${language} code for the following task:\n\n${task}`,
147
142
  });
148
- let rawCode = '';
149
- stream.on('text', (text) => {
150
- rawCode += text;
151
- });
152
- const genMessage = await stream.finalMessage();
153
- totalInputTokens += genMessage.usage.input_tokens;
154
- totalOutputTokens += genMessage.usage.output_tokens;
155
- const code = stripCodeFences(rawCode);
143
+ totalInputTokens += genResult.inputTokens ?? 0;
144
+ totalOutputTokens += genResult.outputTokens ?? 0;
145
+ const code = stripCodeFences(genResult.content);
156
146
  onProgress?.(`Code generated (${totalOutputTokens} tokens). Running self-verification...`);
157
- // ── Step 2: Self-verification (non-streaming) ──
147
+ // ── Step 2: Self-verification ──
158
148
  const specList = specs
159
149
  .map((s) => `[${s.id}] (${s.severity}/${s.category}): ${s.description}\n Assertion: ${s.assertion}`)
160
150
  .join('\n');
161
- const verifyResponse = await client.messages.create({
151
+ const verifyResult = await getProvider().complete({
162
152
  model: MODEL,
163
- max_tokens: 8_000,
164
- system: VERIFICATION_SYSTEM_PROMPT,
165
- messages: [
166
- {
167
- role: 'user',
168
- content: `Verify the following code against the specifications below.\n\nCODE:\n${code}\n\nSPECIFICATIONS:\n${specList}`,
169
- },
170
- ],
153
+ maxTokens: 8_000,
154
+ systemPrompt: VERIFICATION_SYSTEM_PROMPT,
155
+ userPrompt: `Verify the following code against the specifications below.\n\nCODE:\n${code}\n\nSPECIFICATIONS:\n${specList}`,
171
156
  });
172
- totalInputTokens += verifyResponse.usage.input_tokens;
173
- totalOutputTokens += verifyResponse.usage.output_tokens;
174
- const verifyText = verifyResponse.content
175
- .filter((block) => block.type === 'text')
176
- .map((block) => block.text)
177
- .join('');
157
+ totalInputTokens += verifyResult.inputTokens ?? 0;
158
+ totalOutputTokens += verifyResult.outputTokens ?? 0;
159
+ const verifyText = verifyResult.content;
178
160
  const selfVerification = parseVerificationJson(verifyText, specs, onProgress);
179
161
  const satisfiedCount = selfVerification.filter((v) => v.status === 'satisfied').length;
180
162
  onProgress?.(`Self-verification complete: ${satisfiedCount}/${specs.length} specs satisfied.`);
@@ -1 +1 @@
1
- {"version":3,"file":"guided-generator.js","sourceRoot":"","sources":["../../src/lib/guided-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guided-generator.js","sourceRoot":"","sources":["../../src/lib/guided-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { CodebaseIndex } from './codebase-indexer.js';
2
+ import type { Claim, ClaimSeverity } from '../types.js';
3
+ import type { IntentManifest, IntentFlow, DataEntity, AuthModel, FeatureGroup, IntentGap } from './intent-types.js';
4
+ /**
5
+ * Select files most relevant for intent extraction.
6
+ * Prioritizes routers, schemas, auth, middleware, entry points, and package.json.
7
+ * Broader than inventory-extractor's selection — we want the full picture.
8
+ */
9
+ export declare function selectIntentFiles(index: CodebaseIndex, maxFiles?: number): string[];
10
+ /**
11
+ * Parse the LLM response into a partial IntentManifest (without version/timestamps).
12
+ * Handles code fences, truncation, and type normalization.
13
+ * Exported for testing.
14
+ */
15
+ export declare function parseIntentResponse(rawText: string): {
16
+ flows: IntentFlow[];
17
+ dataModel: DataEntity[];
18
+ authModel: AuthModel;
19
+ featureMap: FeatureGroup[];
20
+ gaps: IntentGap[];
21
+ };
22
+ /**
23
+ * Assign severity based on keyword matching.
24
+ * First match wins; default is 'medium'.
25
+ */
26
+ export declare function assignSeverity(text: string): ClaimSeverity;
27
+ /**
28
+ * Convert an IntentFlow into Claim[].
29
+ * Replaces the old behaviorsToClaims() with flow-aware claim derivation.
30
+ *
31
+ * Produces claims from:
32
+ * 1. Each FlowStep (ID: {flow.id}-STEP-{order padded to 3})
33
+ * 2. successCriteria (ID: {flow.id}-SUCCESS)
34
+ * 3. Each errorPath (ID: {flow.id}-ERR-{index+1 padded to 3})
35
+ * 4. Each gap (ID: {flow.id}-GAP-{index+1 padded to 3}) — optional
36
+ */
37
+ export declare function flowToClaims(flow: IntentFlow, gaps?: IntentGap[]): Claim[];
38
+ /**
39
+ * Extract application intent from a codebase.
40
+ * Single LLM call that produces a raw IntentManifest.
41
+ */
42
+ export declare function extractIntent(index: CodebaseIndex, onProgress?: (msg: string) => void): Promise<{
43
+ manifest: IntentManifest;
44
+ rawResponse: string;
45
+ inputTokens: number;
46
+ outputTokens: number;
47
+ }>;