@happyvertical/smrt-types 0.55.10 → 0.55.11
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/AGENTS.md +1 -0
- package/dist/cookbook.d.ts +120 -0
- package/dist/cookbook.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -12,6 +12,7 @@ Shared TypeScript type definitions. Prevents circular dependencies between packa
|
|
|
12
12
|
| `identity.ts` | `User`, `Tenant`, `Role`, `Membership`, `SmrtEntityFields` — cross-package identity data contracts (runtime classes live in smrt-users, which `implements` these) |
|
|
13
13
|
| `knowledge.ts` | Additive schema-version-1 domain knowledge contracts shared by core generation and development tooling |
|
|
14
14
|
| `data-query.ts` | Serializable bounded query request/result envelope, allowlisted schema, filters, paging, totals, freshness, and facets |
|
|
15
|
+
| `cookbook.ts` | `Cookbook` and parts — cookbook v1 document contract, type-only (parser in smrt-core `./cookbook`, see core `agents/cookbook.md`) |
|
|
15
16
|
| `capability.ts` | `CapabilityEffect`, `CapabilityClassification`, `CapabilityDeclaration` — the one classification contract (effect/idempotent/openWorld + fail-closed default) shared by generated model tools, view intents, and playbook steps (#2587) |
|
|
16
17
|
|
|
17
18
|
## Rules
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cookbook v1: the portable document that says what an app is made of
|
|
3
|
+
* (recipes, features, field policies, surface exposure, shell layout, theme,
|
|
4
|
+
* overview pages). Type-only; the parser/validator is
|
|
5
|
+
* `@happyvertical/smrt-core/cookbook` and the JSON Schema ships as
|
|
6
|
+
* `@happyvertical/smrt-core/cookbook/v1.schema.json`. The `$schema`
|
|
7
|
+
* URL constants live there too (this package holds no runtime code).
|
|
8
|
+
*
|
|
9
|
+
* Layout, theme and overview values are typed structurally so this package
|
|
10
|
+
* never depends on smrt-svelte or smrt-ui. smrt-svelte's `ShellLayout` and
|
|
11
|
+
* `OverviewOverride` are identical to {@link CookbookLayout} and
|
|
12
|
+
* {@link CookbookOverviewOverride} (a type test in smrt-svelte enforces it);
|
|
13
|
+
* those packages own deep validation.
|
|
14
|
+
*
|
|
15
|
+
* Versioning: new optional fields are added within `version: 1`; readers
|
|
16
|
+
* ignore keys they do not know. A breaking change means `version: 2`.
|
|
17
|
+
*/
|
|
18
|
+
import type { RecipeShellSlot } from './recipe.js';
|
|
19
|
+
export type CookbookExposureSurface = 'api' | 'mcp' | 'cli';
|
|
20
|
+
export type CookbookFieldVisibility = 'basic' | 'advanced' | 'hidden';
|
|
21
|
+
/** One app-scope smrt-fields policy row. Only changed keys are present. */
|
|
22
|
+
export interface CookbookPolicyRow {
|
|
23
|
+
/** Qualified class name, `@scope/pkg:Class`. */
|
|
24
|
+
objectRef: string;
|
|
25
|
+
fieldName: string;
|
|
26
|
+
scopeType: 'app';
|
|
27
|
+
/** Encoded channel: JSON text as the column stores it (`'"Net 30"'`). */
|
|
28
|
+
defaultValue?: string | null;
|
|
29
|
+
visibility?: CookbookFieldVisibility | null;
|
|
30
|
+
help?: string | null;
|
|
31
|
+
label?: string | null;
|
|
32
|
+
displayOrder?: number | null;
|
|
33
|
+
locked?: boolean | null;
|
|
34
|
+
}
|
|
35
|
+
/** Structural copy of smrt-svelte's `ShellLayoutSection`. */
|
|
36
|
+
export interface CookbookLayoutSection {
|
|
37
|
+
label?: string;
|
|
38
|
+
showTitle?: boolean;
|
|
39
|
+
icon?: string;
|
|
40
|
+
}
|
|
41
|
+
/** Structural copy of smrt-svelte's `ShellLayoutItem`. */
|
|
42
|
+
export interface CookbookLayoutItem {
|
|
43
|
+
label?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
}
|
|
46
|
+
/** Structural copy of smrt-svelte's `ShellLayoutPanel`. */
|
|
47
|
+
export interface CookbookLayoutPanel {
|
|
48
|
+
visible?: boolean;
|
|
49
|
+
initial?: 'collapsed' | 'expanded';
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Structural copy of smrt-svelte's `ShellLayout` (version 1). A type-level test
|
|
53
|
+
* in smrt-svelte (`cookbook/__tests__/contract-types.test.ts`) requires the two
|
|
54
|
+
* to be identical, so a field added on either side fails typecheck.
|
|
55
|
+
*/
|
|
56
|
+
export interface CookbookLayout {
|
|
57
|
+
version: 1;
|
|
58
|
+
sectionOrder?: string[];
|
|
59
|
+
itemOrder?: Record<string, string[]>;
|
|
60
|
+
hidden?: string[];
|
|
61
|
+
moved?: Record<string, string>;
|
|
62
|
+
sections?: Record<string, CookbookLayoutSection>;
|
|
63
|
+
items?: Record<string, CookbookLayoutItem>;
|
|
64
|
+
customSections?: Array<{
|
|
65
|
+
id: string;
|
|
66
|
+
label: string;
|
|
67
|
+
}>;
|
|
68
|
+
panels?: Partial<Record<'top' | 'left' | 'right' | 'bottom', CookbookLayoutPanel>>;
|
|
69
|
+
/** Shell item id to the slot it was moved to. */
|
|
70
|
+
placements?: Record<string, RecipeShellSlot>;
|
|
71
|
+
}
|
|
72
|
+
/** A widget on an overview page (structural copy of smrt-svelte's `OverviewWidget`). */
|
|
73
|
+
export interface CookbookOverviewWidget {
|
|
74
|
+
id: string;
|
|
75
|
+
type: string;
|
|
76
|
+
span: number;
|
|
77
|
+
options: Record<string, string | number | boolean | null>;
|
|
78
|
+
version?: number;
|
|
79
|
+
}
|
|
80
|
+
/** Structural copy of smrt-svelte's `OverviewOverride` (version 1), checked the same way. */
|
|
81
|
+
export interface CookbookOverviewOverride {
|
|
82
|
+
version: 1;
|
|
83
|
+
order?: string[];
|
|
84
|
+
removed?: string[];
|
|
85
|
+
added?: CookbookOverviewWidget[];
|
|
86
|
+
changed?: Record<string, {
|
|
87
|
+
span?: number;
|
|
88
|
+
options?: Record<string, string | number | boolean | null>;
|
|
89
|
+
version?: number;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
export interface CookbookTheme {
|
|
93
|
+
/** A built-in smrt-ui preset name. */
|
|
94
|
+
preset?: string;
|
|
95
|
+
colorScheme?: 'light' | 'dark' | 'system';
|
|
96
|
+
/** A brand colour theme; wins over `preset` while present. */
|
|
97
|
+
custom?: {
|
|
98
|
+
primary: string;
|
|
99
|
+
fontFamily?: string;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export interface Cookbook {
|
|
103
|
+
$schema: string;
|
|
104
|
+
version: 1;
|
|
105
|
+
/** Optional human name (e.g. for the project `apply` creates). */
|
|
106
|
+
name?: string;
|
|
107
|
+
description?: string;
|
|
108
|
+
/** Recipe ids; requirements already included, sorted. */
|
|
109
|
+
recipes: string[];
|
|
110
|
+
/** Extra models (qualified names) no recipe covers. Absent reads as `[]`. */
|
|
111
|
+
features: string[];
|
|
112
|
+
policies: CookbookPolicyRow[];
|
|
113
|
+
/** Surfaces switched off per qualified model name. */
|
|
114
|
+
exposure?: Record<string, CookbookExposureSurface[]>;
|
|
115
|
+
layout?: CookbookLayout;
|
|
116
|
+
theme?: CookbookTheme;
|
|
117
|
+
/** Customised overview pages keyed by overview id. */
|
|
118
|
+
overviews?: Record<string, CookbookOverviewOverride>;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=cookbook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookbook.d.ts","sourceRoot":"","sources":["../src/cookbook.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export type { AiTokenUsage, AiUsageGroupBy, AiUsageHandler, AiUsageListOptions, AiUsageSnapshot, AiUsageStats, AiUsageSummaryOptions, SmrtAiUsageEvent, SmrtAiUsageRecord, } from './ai-usage.js';
|
|
8
8
|
export type { CapabilityClassification, CapabilityDeclaration, CapabilityEffect, } from './capability.js';
|
|
9
|
+
export type { Cookbook, CookbookExposureSurface, CookbookFieldVisibility, CookbookLayout, CookbookLayoutItem, CookbookLayoutPanel, CookbookLayoutSection, CookbookOverviewOverride, CookbookOverviewWidget, CookbookPolicyRow, CookbookTheme, } from './cookbook.js';
|
|
9
10
|
export type { DataQueryCondition, DataQueryConsistency, DataQueryConsistencyMode, DataQueryCursorPage, DataQueryFacetRequest, DataQueryFacetResult, DataQueryFacetValue, DataQueryFieldDescriptor, DataQueryFieldId, DataQueryFilter, DataQueryFilterOperator, DataQueryFreshness, DataQueryOffsetPage, DataQueryPage, DataQueryRequest, DataQueryResult, DataQueryRow, DataQueryScalar, DataQuerySchema, DataQuerySort, DataQuerySortDirection, DataQueryTotal, } from './data-query.js';
|
|
10
11
|
export type { DataSurfaceActionDescriptor, DataSurfaceActionRequest, DataSurfaceActionResult, DataSurfaceActionRowOutcome, DataSurfaceActionWireRequest, DataSurfaceColumnCapability, DataSurfaceColumnDescriptor, DataSurfaceColumnOperators, DataSurfaceColumnRole, DataSurfaceColumnVisibility, DataSurfaceCommandExecution, DataSurfaceCommandFailureReason, DataSurfaceCommandResult, DataSurfaceDescriptor, DataSurfaceIdentity, DataSurfaceJsonObject, DataSurfaceJsonPrimitive, DataSurfaceJsonValue, DataSurfaceKind, DataSurfaceLimits, DataSurfaceQueryCapabilities, DataSurfaceQueryMode, DataSurfaceQueryRequest, DataSurfaceQueryResult, DataSurfaceRegistration, DataSurfaceRegistry, DataSurfaceRegistryEvent, DataSurfaceRowId, DataSurfaceSelectionReference, DataSurfaceSelectionScope, DataSurfaceSensitivity, DataSurfaceSnapshot, DataSurfaceSnapshotState, DataSurfaceSubject, DataSurfaceValidationReason, DataSurfaceValidationResult, DataSurfaceVisibleCommand, DataSurfaceVisibleControl, } from './data-surface.js';
|
|
11
12
|
export type { Membership, Role, SmrtEntityFields, Tenant, User, } from './identity.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,YAAY,EACZ,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|