@nativemason/contracts 0.0.0-stage → 0.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/LICENSE +202 -0
- package/README.md +4 -2
- package/dist/accessibility.d.ts +92 -0
- package/dist/accessibility.js +21 -0
- package/dist/constraints.d.ts +179 -0
- package/dist/constraints.js +16 -0
- package/dist/design.d.ts +304 -0
- package/dist/design.js +29 -0
- package/dist/diagnostics.d.ts +580 -0
- package/dist/diagnostics.js +35 -0
- package/dist/evidence.d.ts +854 -0
- package/dist/evidence.js +44 -0
- package/dist/geometry.d.ts +39 -0
- package/dist/geometry.js +4 -0
- package/dist/graph.d.ts +456 -0
- package/dist/graph.js +36 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +12 -0
- package/dist/native-protocol.d.ts +262 -0
- package/dist/native-protocol.js +13 -0
- package/dist/source.d.ts +119 -0
- package/dist/source.js +17 -0
- package/dist/styles.d.ts +105 -0
- package/dist/styles.js +3 -0
- package/dist/tools.d.ts +7411 -0
- package/dist/tools.js +55 -0
- package/dist/workflow.d.ts +688 -0
- package/dist/workflow.js +18 -0
- package/package.json +33 -3
package/dist/tools.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DesignIntentSchema, DesignIntentResultSchema } from './design.js';
|
|
2
|
+
import { AccessibilityFindingSchema } from './accessibility.js';
|
|
3
|
+
import { SuggestionProfilesSchema, SuggestionProfileEvidenceSchema, NativeSuggestionEvidenceSchema, InteractionRequirementSchema } from './diagnostics.js';
|
|
4
|
+
import { LayoutMutationSchema, EditScopeSchema, TransactionPlanSchema, ScenarioScriptSchema, MatrixCellSchema, RuleFindingSchema, InferenceOptionsSchema, NativeTargetSchema } from './workflow.js';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { NativeBindHostSchema } from './native-protocol.js';
|
|
7
|
+
import { DeviceProfileSchema, RectSchema } from './geometry.js';
|
|
8
|
+
import { WireframeSpecSchema, ConstraintResultSchema } from './constraints.js';
|
|
9
|
+
import { RnStylePatchSchema } from './styles.js';
|
|
10
|
+
import { SpatialSnapshotSchema, SpatialDeltaSchema, SpatialNodeSchema, ProfileOverridesSchema, WebDiagnosticsSchema } from './graph.js';
|
|
11
|
+
import { CommitReceiptSchema, EditPlanSchema, BridgeErrorSchema } from './source.js';
|
|
12
|
+
const session = { sessionId: z.string().min(1) };
|
|
13
|
+
export const ToolSchemas = {
|
|
14
|
+
open_session: z.object({ projectRoot: z.string().min(1), webUrl: z.string().url(), scenarioId: z.string().min(1), profile: DeviceProfileSchema, nativeTarget: NativeTargetSchema.optional(), nativeScenario: z.object({ appId: z.string().min(1), adbSerial: z.string().optional(), maestroPath: z.string().optional(), ssh: z.object({ destination: z.string(), identityFile: z.string().optional() }).strict().optional() }).strict().optional(), nativeHost: NativeBindHostSchema.optional(), nativePort: z.number().int().min(1024).max(65535).optional(), nativeToken: z.string().min(16).optional() }).strict(),
|
|
15
|
+
import_design_intent: z.object({ ...session, design: DesignIntentSchema }).strict(),
|
|
16
|
+
inspect_accessibility: z.object({ ...session, target: z.enum(['web', 'native']).default('web') }).strict(),
|
|
17
|
+
load_wireframe_spec: z.object({ ...session, spec: WireframeSpecSchema }).strict(),
|
|
18
|
+
inspect_ui_spatial_graph: z.object({ ...session, profileOverrides: ProfileOverridesSchema.optional() }).strict(),
|
|
19
|
+
capture_annotated_overlay: z.object({ ...session, snapshotId: z.string() }).strict(),
|
|
20
|
+
simulate_layout_mutation: z.object({ ...session, baselineSnapshotId: z.string(), elementId: z.string().optional(), patch: RnStylePatchSchema.nullable().optional(), mutations: z.array(LayoutMutationSchema).min(1).optional(), profileOverrides: ProfileOverridesSchema.optional() }).strict(),
|
|
21
|
+
commit_rn_ast_patch: z.object({ ...session, trialId: z.string(), expectedSourceHash: z.string().optional(), expectedRevisions: z.record(z.string(), z.string()).optional(), scope: EditScopeSchema.optional(), allowNativePending: z.boolean().default(false), mode: z.enum(['preview', 'apply']) }).strict(),
|
|
22
|
+
verify_native_layout: z.object({ ...session, commitId: z.string() }).strict(),
|
|
23
|
+
revert_commit: z.object({ ...session, commitId: z.string() }).strict(),
|
|
24
|
+
find_elements: z.object({ ...session, query: z.string().default('') }).strict(),
|
|
25
|
+
infer_constraints: z.object({ ...session, snapshotId: z.string(), options: InferenceOptionsSchema.optional() }).strict(),
|
|
26
|
+
suggest_fix: z.object({ ...session, baselineSnapshotId: z.string(), limit: z.number().int().min(1).max(24).default(8), profiles: SuggestionProfilesSchema.optional(), includeNativeEvidence: z.boolean().default(false) }).strict(),
|
|
27
|
+
run_scenario: z.object({ ...session, script: ScenarioScriptSchema, target: z.enum(['web', 'native']).default('web') }).strict(),
|
|
28
|
+
run_profile_matrix: z.object({ ...session, script: ScenarioScriptSchema, profiles: z.array(ProfileOverridesSchema).min(1), target: z.enum(['web', 'native']).default('web') }).strict(),
|
|
29
|
+
close_session: z.object(session).strict()
|
|
30
|
+
};
|
|
31
|
+
export const TrialSchema = z.object({ trialId: z.string(), baselineSnapshotId: z.string(), elementId: z.string(), patch: RnStylePatchSchema, mutations: z.array(LayoutMutationSchema).optional(), snapshot: SpatialSnapshotSchema, delta: SpatialDeltaSchema, results: z.array(ConstraintResultSchema) }).strict();
|
|
32
|
+
export const NativeVerificationSchema = z.object({ receipt: CommitReceiptSchema, snapshot: SpatialSnapshotSchema, results: z.array(ConstraintResultSchema), delta: SpatialDeltaSchema, passed: z.boolean() }).strict();
|
|
33
|
+
const CommitRnAstPatchOutputBaseSchema = z.object({ plan: EditPlanSchema.optional(), transactionPlan: TransactionPlanSchema.optional(), receipt: CommitReceiptSchema.optional(), snapshot: SpatialSnapshotSchema.nullable().optional(), results: z.array(ConstraintResultSchema).optional(), webStatus: z.enum(['passed', 'failed', 'reload-timeout', 'capture-failed', 'native-checks-pending', 'interaction-pending']).optional(), nativeStatus: z.literal('pending').optional(), pendingNativeConstraints: z.array(z.string()).optional(), pendingInteractions: z.array(InteractionRequirementSchema).optional(), message: z.string().optional() }).strict();
|
|
34
|
+
/** Every JSON tool result is validated here before reaching an MCP client. */
|
|
35
|
+
export const ToolOutputSchemas = {
|
|
36
|
+
open_session: z.object({ sessionId: z.string(), native: z.object({ port: z.number().int(), token: z.string() }).strict(), capabilities: z.object({ trial: z.literal('rn-style-props'), sourceEdits: z.enum(['static-local-styles', 'scoped-transactions']), batchTrials: z.boolean().optional(), nativePlatforms: z.array(z.enum(['android', 'ios'])).optional(), nativeScenario: z.boolean().optional(), nativeVerification: z.literal('required') }).strict() }).strict(),
|
|
37
|
+
import_design_intent: DesignIntentResultSchema,
|
|
38
|
+
inspect_accessibility: z.object({ snapshot: SpatialSnapshotSchema, findings: z.array(AccessibilityFindingSchema) }).strict(),
|
|
39
|
+
load_wireframe_spec: z.object({ specId: z.string() }).strict(),
|
|
40
|
+
inspect_ui_spatial_graph: z.object({ snapshot: SpatialSnapshotSchema, results: z.array(ConstraintResultSchema), webDiagnostics: WebDiagnosticsSchema.optional() }).strict(),
|
|
41
|
+
capture_annotated_overlay: z.object({ image: z.string(), mimeType: z.literal('image/png'), artifact: z.string(), marks: z.array(z.object({ label: z.number(), id: z.string(), rect: RectSchema }).strict()) }).strict(),
|
|
42
|
+
simulate_layout_mutation: z.union([TrialSchema.extend({ webDiagnostics: WebDiagnosticsSchema.optional() }), z.object({ snapshot: SpatialSnapshotSchema, results: z.array(ConstraintResultSchema), webDiagnostics: WebDiagnosticsSchema.optional() }).strict()]),
|
|
43
|
+
commit_rn_ast_patch: CommitRnAstPatchOutputBaseSchema.refine(o => (o.plan !== undefined) !== (o.receipt !== undefined), 'Result must contain either a preview plan or an applied receipt'),
|
|
44
|
+
verify_native_layout: NativeVerificationSchema,
|
|
45
|
+
revert_commit: z.object({ receipt: CommitReceiptSchema, snapshot: SpatialSnapshotSchema.nullable(), nativeStatus: z.literal('pending') }).strict(),
|
|
46
|
+
find_elements: z.object({ nodes: z.array(SpatialNodeSchema) }).strict(),
|
|
47
|
+
infer_constraints: z.object({ spec: WireframeSpecSchema, findings: z.array(RuleFindingSchema) }).strict(),
|
|
48
|
+
suggest_fix: z.object({ candidates: z.array(z.object({ mutations: z.array(LayoutMutationSchema), reason: z.string(), constraintIds: z.array(z.string()), results: z.array(ConstraintResultSchema), score: z.number(), warnings: z.number(), profiles: z.array(SuggestionProfileEvidenceSchema).optional(), error: BridgeErrorSchema.optional() })), baselineSnapshotId: z.string(), baselines: z.array(SuggestionProfileEvidenceSchema).optional(), nativeBaseline: NativeSuggestionEvidenceSchema.optional() }).strict(),
|
|
49
|
+
run_scenario: z.object({ snapshot: SpatialSnapshotSchema, results: z.array(ConstraintResultSchema) }).strict(),
|
|
50
|
+
run_profile_matrix: z.object({ cells: z.array(MatrixCellSchema) }).strict(),
|
|
51
|
+
close_session: z.object({ closed: z.literal(true) }).strict(),
|
|
52
|
+
};
|
|
53
|
+
/** MCP's object-root output schema describes both existing trial and reset wire shapes.
|
|
54
|
+
* ToolOutputSchemas still enforces the complete union before any response is sent. */
|
|
55
|
+
export const ToolMcpOutputSchemas = { ...ToolOutputSchemas, commit_rn_ast_patch: CommitRnAstPatchOutputBaseSchema, simulate_layout_mutation: TrialSchema.partial().extend({ snapshot: SpatialSnapshotSchema, results: z.array(ConstraintResultSchema), webDiagnostics: WebDiagnosticsSchema.optional() }).strict() };
|