@contractspec/module.workspace 1.45.5 → 1.46.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/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AppBlueprintSpecData, AppConfigFeatureFlagData, AppConfigMappingData, AppRouteConfigData, BaseSpecData, DataViewFieldData, DataViewKind, DataViewSpecData, EventSpecData, ExperimentAllocationData, ExperimentMetricData, ExperimentSpecData, ExperimentVariantData, ExperimentVariantOverrideData, FeatureSpecData, FormSpecData, IntegrationCapabilityRefData, IntegrationCapabilityRequirementData, IntegrationCategoryData, IntegrationConfigFieldData, IntegrationConfigFieldType, IntegrationHealthCheckMethod, IntegrationOwnershipModeData, IntegrationSecretFieldData, IntegrationSpecData, KnowledgeCategoryData, KnowledgeRetentionData, KnowledgeSpaceSpecData, KnowledgeTrustLevel, MigrationSpecData, MigrationStepData, MigrationStepKind, OperationSpecData, PresentationKind, PresentationSpecData, RandomAllocationData, SpecType, Stability, StepType, StickyAllocationData, TargetedAllocationData, TargetingRuleData, TelemetryAnomalyRuleData, TelemetryEventData, TelemetryPrivacy, TelemetryPropertyData, TelemetryProviderData, TelemetrySpecData, WorkflowSpecData, WorkflowStepData, WorkflowTransitionData } from "./types/spec-types.js";
2
2
  import { AnalyzedOperationKind, AnalyzedSpecType, ContractGraph, ContractNode, ExampleScanResult, ExtractedRef, FeatureScanResult, RefInfo, RefType, SemanticDiffItem, SemanticDiffOptions, SemanticDiffType, SpecScanResult, ValidationResult } from "./types/analysis-types.js";
3
+ import { RuleSyncConfig } from "./types/rulesync-types.js";
3
4
  import { AIGenerationOptions, CodeGenerationContext, DEFAULT_WORKSPACE_CONFIG, GenerationResult, GenerationTarget, SpecBuildType, SpecGenerationContext, TestTarget, WorkspaceConfig } from "./types/generation-types.js";
4
5
  import { AgentType, LLMExportFormat, LLMExportResult, ParsedSpec, ParsedSpecMeta, SpecRef, SpecToMarkdownOptions, VerificationIssue, VerificationResult, VerificationTier } from "./types/llm-types.js";
5
6
  import { extractEmittedEvents, extractPolicyRefs, extractTestRefs, inferSpecTypeFromFilePath, scanAllSpecsFromSource, scanSpecSource } from "./analysis/spec-scan.js";
@@ -37,4 +38,4 @@ import { buildComponentPrompt, buildFormPrompt, buildHandlerPrompt, buildTestPro
37
38
  import { FormatLogger, FormatResult, FormatterOptions, detectFormatter, formatFiles, formatFilesBatch } from "./formatter.js";
38
39
  import { combineSpecMarkdowns, generateSpecsSummaryHeader, specToMarkdown, specToMarkdownWithOptions } from "./formatters/spec-markdown.js";
39
40
  import { convertSpecToDocBlock } from "./formatters/spec-to-docblock.js";
40
- export { AIGenerationOptions, AgentType, AnalyzedOperationKind, AnalyzedSpecType, AppBlueprintSpecData, AppConfigFeatureFlagData, AppConfigMappingData, AppRouteConfigData, BREAKING_RULES, BaseSpecData, ClassifyOptions, CodeGenerationContext, ContractGraph, ContractNode, ContractSnapshot, DEFAULT_RULES, DEFAULT_WORKSPACE_CONFIG, DataViewFieldData, DataViewKind, DataViewSpecData, DeepDiffOptions, EventSnapshot, EventSpecData, ExampleScanResult, ExperimentAllocationData, ExperimentMetricData, ExperimentSpecData, ExperimentVariantData, ExperimentVariantOverrideData, ExtractedRef, FeatureScanResult, FeatureSpecData, FieldSnapshot, FieldType, FormSpecData, FormatLogger, FormatResult, FormatterOptions, GenerationResult, GenerationTarget, GroupKeyFn, GroupedItems, HttpBindingSnapshot, INFO_RULES, ImpactDelta, ImpactResult, ImpactRule, ImpactSeverity, ImpactStatus, ImpactSummary, IntegrationCapabilityRefData, IntegrationCapabilityRequirementData, IntegrationCategoryData, IntegrationConfigFieldData, IntegrationConfigFieldType, IntegrationHealthCheckMethod, IntegrationOwnershipModeData, IntegrationSecretFieldData, IntegrationSpecData, IoSnapshot, KnowledgeCategoryData, KnowledgeRetentionData, KnowledgeSpaceSpecData, KnowledgeTrustLevel, LLMExportFormat, LLMExportResult, MigrationSpecData, MigrationStepData, MigrationStepKind, NON_BREAKING_RULES, OperationSnapshot, OperationSpecData, ParsedSpec, ParsedSpecMeta, PresentationKind, PresentationSpecData, RandomAllocationData, RefInfo, RefType, RuleSeverity, RulesConfig, SemanticDiffItem, SemanticDiffOptions, SemanticDiffType, SnapshotOptions, SpecBuildType, SpecFilter, SpecGenerationContext, SpecGroupingStrategies, SpecKind, SpecRef, SpecScanResult, SpecSnapshot, SpecToMarkdownOptions, SpecType, Stability, StepType, StickyAllocationData, TargetedAllocationData, TargetingRuleData, TelemetryAnomalyRuleData, TelemetryEventData, TelemetryPrivacy, TelemetryPropertyData, TelemetryProviderData, TelemetrySpecData, TestTarget, ValidationResult, VerificationIssue, VerificationResult, VerificationTier, WorkflowSpecData, WorkflowStepData, WorkflowTransitionData, WorkspaceConfig, addContractNode, addExampleContext, buildComponentPrompt, buildEventSpecPrompt, buildFormPrompt, buildHandlerPrompt, buildOperationSpecPrompt, buildPresentationSpecPrompt, buildReverseEdges, buildTestPrompt, capitalize, classifyImpact, combineSpecMarkdowns, computeFieldDiff, computeFieldsDiff, computeHash, computeIoDiff, computeSemanticDiff, convertSpecToDocBlock, createContractGraph, detectCycles, detectFormatter, escapeString, extractEmittedEvents, extractPolicyRefs, extractTestRefs, filterFeatures, filterSpecs, findMatchingRule, findMissingDependencies, formatFiles, formatFilesBatch, generateAppBlueprintSpec, generateComponentTemplate, generateDataViewSpec, generateEventSpec, generateExperimentSpec, generateHandlerTemplate, generateIntegrationSpec, generateKnowledgeSpaceSpec, generateMigrationSpec, generateOperationSpec, generatePresentationSpec, generateSnapshot, generateSpecsSummaryHeader, generateTelemetrySpec, generateTestTemplate, generateWorkflowRunnerTemplate, generateWorkflowSpec, getCodeGenSystemPrompt, getRulesBySeverity, getSystemPrompt, getUniqueSpecDomains, getUniqueSpecOwners, getUniqueSpecTags, groupSpecs, groupSpecsToArray, inferSpecTypeFromFilePath, isBreakingChange, isExampleFile, isFeatureFile, loadSpecFromSource, normalizeValue, parseImportedSpecNames, scanAllSpecsFromSource, scanExampleSource, scanFeatureSource, scanSpecSource, sortFields, sortSpecs, specToMarkdown, specToMarkdownWithOptions, toCamelCase, toCanonicalJson, toDot, toKebabCase, toPascalCase, validateSpecStructure };
41
+ export { AIGenerationOptions, AgentType, AnalyzedOperationKind, AnalyzedSpecType, AppBlueprintSpecData, AppConfigFeatureFlagData, AppConfigMappingData, AppRouteConfigData, BREAKING_RULES, BaseSpecData, ClassifyOptions, CodeGenerationContext, ContractGraph, ContractNode, ContractSnapshot, DEFAULT_RULES, DEFAULT_WORKSPACE_CONFIG, DataViewFieldData, DataViewKind, DataViewSpecData, DeepDiffOptions, EventSnapshot, EventSpecData, ExampleScanResult, ExperimentAllocationData, ExperimentMetricData, ExperimentSpecData, ExperimentVariantData, ExperimentVariantOverrideData, ExtractedRef, FeatureScanResult, FeatureSpecData, FieldSnapshot, FieldType, FormSpecData, FormatLogger, FormatResult, FormatterOptions, GenerationResult, GenerationTarget, GroupKeyFn, GroupedItems, HttpBindingSnapshot, INFO_RULES, ImpactDelta, ImpactResult, ImpactRule, ImpactSeverity, ImpactStatus, ImpactSummary, IntegrationCapabilityRefData, IntegrationCapabilityRequirementData, IntegrationCategoryData, IntegrationConfigFieldData, IntegrationConfigFieldType, IntegrationHealthCheckMethod, IntegrationOwnershipModeData, IntegrationSecretFieldData, IntegrationSpecData, IoSnapshot, KnowledgeCategoryData, KnowledgeRetentionData, KnowledgeSpaceSpecData, KnowledgeTrustLevel, LLMExportFormat, LLMExportResult, MigrationSpecData, MigrationStepData, MigrationStepKind, NON_BREAKING_RULES, OperationSnapshot, OperationSpecData, ParsedSpec, ParsedSpecMeta, PresentationKind, PresentationSpecData, RandomAllocationData, RefInfo, RefType, RuleSeverity, RuleSyncConfig, RulesConfig, SemanticDiffItem, SemanticDiffOptions, SemanticDiffType, SnapshotOptions, SpecBuildType, SpecFilter, SpecGenerationContext, SpecGroupingStrategies, SpecKind, SpecRef, SpecScanResult, SpecSnapshot, SpecToMarkdownOptions, SpecType, Stability, StepType, StickyAllocationData, TargetedAllocationData, TargetingRuleData, TelemetryAnomalyRuleData, TelemetryEventData, TelemetryPrivacy, TelemetryPropertyData, TelemetryProviderData, TelemetrySpecData, TestTarget, ValidationResult, VerificationIssue, VerificationResult, VerificationTier, WorkflowSpecData, WorkflowStepData, WorkflowTransitionData, WorkspaceConfig, addContractNode, addExampleContext, buildComponentPrompt, buildEventSpecPrompt, buildFormPrompt, buildHandlerPrompt, buildOperationSpecPrompt, buildPresentationSpecPrompt, buildReverseEdges, buildTestPrompt, capitalize, classifyImpact, combineSpecMarkdowns, computeFieldDiff, computeFieldsDiff, computeHash, computeIoDiff, computeSemanticDiff, convertSpecToDocBlock, createContractGraph, detectCycles, detectFormatter, escapeString, extractEmittedEvents, extractPolicyRefs, extractTestRefs, filterFeatures, filterSpecs, findMatchingRule, findMissingDependencies, formatFiles, formatFilesBatch, generateAppBlueprintSpec, generateComponentTemplate, generateDataViewSpec, generateEventSpec, generateExperimentSpec, generateHandlerTemplate, generateIntegrationSpec, generateKnowledgeSpaceSpec, generateMigrationSpec, generateOperationSpec, generatePresentationSpec, generateSnapshot, generateSpecsSummaryHeader, generateTelemetrySpec, generateTestTemplate, generateWorkflowRunnerTemplate, generateWorkflowSpec, getCodeGenSystemPrompt, getRulesBySeverity, getSystemPrompt, getUniqueSpecDomains, getUniqueSpecOwners, getUniqueSpecTags, groupSpecs, groupSpecsToArray, inferSpecTypeFromFilePath, isBreakingChange, isExampleFile, isFeatureFile, loadSpecFromSource, normalizeValue, parseImportedSpecNames, scanAllSpecsFromSource, scanExampleSource, scanFeatureSource, scanSpecSource, sortFields, sortSpecs, specToMarkdown, specToMarkdownWithOptions, toCamelCase, toCanonicalJson, toDot, toKebabCase, toPascalCase, validateSpecStructure };
@@ -1,4 +1,5 @@
1
1
  import { PresentationKind, SpecType } from "./spec-types.js";
2
+ import { RuleSyncConfig } from "./rulesync-types.js";
2
3
  import { OpKind } from "@contractspec/lib.contracts";
3
4
 
4
5
  //#region src/types/generation-types.d.ts
@@ -59,6 +60,7 @@ interface WorkspaceConfig {
59
60
  };
60
61
  defaultOwners: string[];
61
62
  defaultTags: string[];
63
+ ruleSync?: RuleSyncConfig;
62
64
  }
63
65
  /**
64
66
  * Default workspace configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"generation-types.d.ts","names":[],"sources":["../../src/types/generation-types.ts"],"sourcesContent":[],"mappings":";;;;;AAoBA;AASA;AAKA;AAKY,UA7BK,mBAAA,CA6BQ;EAkBR,QAAA,EAAA,QAAe,GAAA,QAAA,GAAA,QAAA,GAAA,QAAA;EA6BnB,KAAA,CAAA,EAAA,MAAA;EAiBI,QAAA,CAAA,EAAA,MAAA;EASA,MAAA,CAAA,EAAA,OAAA;;;;;UA5FA,gBAAA;;;YAGL;;;;;KAMA,gBAAA;;;;KAKA,UAAA;;;;KAKA,aAAA;;;;UAkBK,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BJ,0BAA0B;;;;UAiBtB,qBAAA;;SAER;qBACY;;;;;UAMJ,qBAAA"}
1
+ {"version":3,"file":"generation-types.d.ts","names":[],"sources":["../../src/types/generation-types.ts"],"sourcesContent":[],"mappings":";;;;;;AAqBA;AASA;AAKA;AAKY,UA7BK,mBAAA,CA6BQ;EAkBR,QAAA,EAAA,QAAe,GAAA,QAAA,GAwBnB,QAAA,GAAA,QAAc;EAMd,KAAA,CAAA,EAAA,MAAA;EAiBI,QAAA,CAAA,EAAA,MAAA;EASA,MAAA,CAAA,EAAA,OAAA;;;;;UA7FA,gBAAA;;;YAGL;;;;;KAMA,gBAAA;;;;KAKA,UAAA;;;;KAKA,aAAA;;;;UAkBK,eAAA;;;;;;;;;;;;;;;;;;;;;;;;aAwBJ;;;;;cAMA,0BAA0B;;;;UAiBtB,qBAAA;;SAER;qBACY;;;;;UAMJ,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generation-types.js","names":["DEFAULT_WORKSPACE_CONFIG: WorkspaceConfig"],"sources":["../../src/types/generation-types.ts"],"sourcesContent":["/**\n * Code generation related type definitions.\n */\n\nimport type { OpKind } from '@contractspec/lib.contracts';\nimport type { SpecType, PresentationKind } from './spec-types';\n\n/**\n * AI provider options for generation.\n */\nexport interface AIGenerationOptions {\n provider: 'claude' | 'openai' | 'ollama' | 'custom';\n model?: string;\n endpoint?: string;\n stream?: boolean;\n}\n\n/**\n * Result of code generation.\n */\nexport interface GenerationResult {\n code: string;\n filePath: string;\n specType: SpecType;\n}\n\n/**\n * Build target types.\n */\nexport type GenerationTarget = 'handler' | 'component' | 'form';\n\n/**\n * Test target types.\n */\nexport type TestTarget = 'handler' | 'component';\n\n/**\n * Spec build type detected during build.\n */\nexport type SpecBuildType =\n | 'operation'\n | 'presentation'\n | 'form'\n | 'event'\n | 'workflow'\n | 'data-view'\n | 'telemetry'\n | 'migration'\n | 'experiment'\n | 'app-config'\n | 'integration'\n | 'knowledge'\n | 'unknown';\n\n/**\n * Configuration for workspace operations.\n */\nexport interface WorkspaceConfig {\n aiProvider: 'claude' | 'openai' | 'ollama' | 'custom';\n aiModel?: string;\n agentMode: 'simple' | 'cursor' | 'claude-code' | 'openai-codex';\n customEndpoint?: string | null;\n customApiKey?: string | null;\n outputDir: string;\n conventions: {\n operations: string;\n events: string;\n presentations: string;\n forms: string;\n workflows?: string;\n 'data-views'?: string;\n dataViews?: string;\n migrations?: string;\n telemetry?: string;\n experiments?: string;\n appConfig?: string;\n integrations?: string;\n knowledge?: string;\n };\n defaultOwners: string[];\n defaultTags: string[];\n}\n\n/**\n * Default workspace configuration.\n */\nexport const DEFAULT_WORKSPACE_CONFIG: WorkspaceConfig = {\n aiProvider: 'claude',\n agentMode: 'simple',\n outputDir: './src',\n conventions: {\n operations: 'interactions/commands|queries',\n events: 'events',\n presentations: 'presentations',\n forms: 'forms',\n },\n defaultOwners: [],\n defaultTags: [],\n};\n\n/**\n * AI prompt context for spec generation.\n */\nexport interface SpecGenerationContext {\n description: string;\n kind?: OpKind;\n presentationKind?: PresentationKind;\n}\n\n/**\n * AI prompt context for code generation.\n */\nexport interface CodeGenerationContext {\n specCode: string;\n targetPath?: string;\n existingCode?: string;\n}\n"],"mappings":";;;;AAsFA,MAAaA,2BAA4C;CACvD,YAAY;CACZ,WAAW;CACX,WAAW;CACX,aAAa;EACX,YAAY;EACZ,QAAQ;EACR,eAAe;EACf,OAAO;EACR;CACD,eAAe,EAAE;CACjB,aAAa,EAAE;CAChB"}
1
+ {"version":3,"file":"generation-types.js","names":["DEFAULT_WORKSPACE_CONFIG: WorkspaceConfig"],"sources":["../../src/types/generation-types.ts"],"sourcesContent":["/**\n * Code generation related type definitions.\n */\n\nimport type { OpKind } from '@contractspec/lib.contracts';\nimport type { SpecType, PresentationKind } from './spec-types';\nimport type { RuleSyncConfig } from './rulesync-types';\n\n/**\n * AI provider options for generation.\n */\nexport interface AIGenerationOptions {\n provider: 'claude' | 'openai' | 'ollama' | 'custom';\n model?: string;\n endpoint?: string;\n stream?: boolean;\n}\n\n/**\n * Result of code generation.\n */\nexport interface GenerationResult {\n code: string;\n filePath: string;\n specType: SpecType;\n}\n\n/**\n * Build target types.\n */\nexport type GenerationTarget = 'handler' | 'component' | 'form';\n\n/**\n * Test target types.\n */\nexport type TestTarget = 'handler' | 'component';\n\n/**\n * Spec build type detected during build.\n */\nexport type SpecBuildType =\n | 'operation'\n | 'presentation'\n | 'form'\n | 'event'\n | 'workflow'\n | 'data-view'\n | 'telemetry'\n | 'migration'\n | 'experiment'\n | 'app-config'\n | 'integration'\n | 'knowledge'\n | 'unknown';\n\n/**\n * Configuration for workspace operations.\n */\nexport interface WorkspaceConfig {\n aiProvider: 'claude' | 'openai' | 'ollama' | 'custom';\n aiModel?: string;\n agentMode: 'simple' | 'cursor' | 'claude-code' | 'openai-codex';\n customEndpoint?: string | null;\n customApiKey?: string | null;\n outputDir: string;\n conventions: {\n operations: string;\n events: string;\n presentations: string;\n forms: string;\n workflows?: string;\n 'data-views'?: string;\n dataViews?: string;\n migrations?: string;\n telemetry?: string;\n experiments?: string;\n appConfig?: string;\n integrations?: string;\n knowledge?: string;\n };\n defaultOwners: string[];\n defaultTags: string[];\n ruleSync?: RuleSyncConfig;\n}\n\n/**\n * Default workspace configuration.\n */\nexport const DEFAULT_WORKSPACE_CONFIG: WorkspaceConfig = {\n aiProvider: 'claude',\n agentMode: 'simple',\n outputDir: './src',\n conventions: {\n operations: 'interactions/commands|queries',\n events: 'events',\n presentations: 'presentations',\n forms: 'forms',\n },\n defaultOwners: [],\n defaultTags: [],\n};\n\n/**\n * AI prompt context for spec generation.\n */\nexport interface SpecGenerationContext {\n description: string;\n kind?: OpKind;\n presentationKind?: PresentationKind;\n}\n\n/**\n * AI prompt context for code generation.\n */\nexport interface CodeGenerationContext {\n specCode: string;\n targetPath?: string;\n existingCode?: string;\n}\n"],"mappings":";;;;AAwFA,MAAaA,2BAA4C;CACvD,YAAY;CACZ,WAAW;CACX,WAAW;CACX,aAAa;EACX,YAAY;EACZ,QAAQ;EACR,eAAe;EACf,OAAO;EACR;CACD,eAAe,EAAE;CACjB,aAAa,EAAE;CAChB"}
@@ -0,0 +1,24 @@
1
+ import { RuleSyncTarget } from "@contractspec/lib.contracts";
2
+
3
+ //#region src/types/rulesync-types.d.ts
4
+
5
+ /**
6
+ * Configuration for AI agent rules synchronization.
7
+ */
8
+ interface RuleSyncConfig {
9
+ /** Enable automated rule synchronization */
10
+ enabled: boolean;
11
+ /** Root directory for source rule files */
12
+ rulesDir: string;
13
+ /** Source rule files (glob patterns) */
14
+ rules: string[];
15
+ /** Synchronization targets (tools to generate rules for) */
16
+ targets: RuleSyncTarget[];
17
+ /** Automatically synchronize rules on workspace changes or builds */
18
+ autoSync: boolean;
19
+ /** Whether to eject/copy source rules instead of generating from Unified Rules */
20
+ ejectMode: boolean;
21
+ }
22
+ //#endregion
23
+ export { RuleSyncConfig };
24
+ //# sourceMappingURL=rulesync-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesync-types.d.ts","names":[],"sources":["../../src/types/rulesync-types.ts"],"sourcesContent":[],"mappings":";;;;;;;UASiB,cAAA;;;;;;;;WAQN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/module.workspace",
3
- "version": "1.45.5",
3
+ "version": "1.46.0",
4
4
  "description": "Workspace discovery and management module",
5
5
  "keywords": [
6
6
  "contractspec",
@@ -31,14 +31,14 @@
31
31
  "test": "bun run"
32
32
  },
33
33
  "dependencies": {
34
- "@contractspec/lib.contracts": "1.45.5",
35
- "@contractspec/lib.schema": "1.45.5",
34
+ "@contractspec/lib.contracts": "1.46.0",
35
+ "@contractspec/lib.schema": "1.46.0",
36
36
  "compare-versions": "^6.1.1",
37
37
  "zod": "^4.1.13"
38
38
  },
39
39
  "devDependencies": {
40
- "@contractspec/tool.tsdown": "1.45.5",
41
- "@contractspec/tool.typescript": "1.45.5",
40
+ "@contractspec/tool.tsdown": "1.46.0",
41
+ "@contractspec/tool.typescript": "1.46.0",
42
42
  "tsdown": "^0.18.3",
43
43
  "typescript": "^5.9.3"
44
44
  },