@owlmeans/viable-common 0.0.35 → 0.0.37

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/README.md CHANGED
@@ -21,7 +21,7 @@ filesystem, no inference SDK. It is safe to import from a browser bundle.
21
21
  ## Installation
22
22
 
23
23
  ```bash
24
- bun add @owlmeans/viable-common@^0.0.35
24
+ bun add @owlmeans/viable-common@^0.0.37
25
25
  ```
26
26
 
27
27
  ## Rules worth knowing before you change something
@@ -39,7 +39,7 @@ means "inherit" has no other spelling. `tests/convert.spec.ts` walks every expor
39
39
  both faults, and for draft-04 tuple `items`.
40
40
 
41
41
  **A field that crosses a version skew carries no `enum`.** A connector is installed with
42
- `npx -y @owlmeans/viable-mcp@^0.1.18-rc.32` and talks to a separately deployed platform, so an executor kind it
42
+ `npx -y @owlmeans/viable-mcp@^0.1.18-rc.34` and talks to a separately deployed platform, so an executor kind it
43
43
  sends must remain an unused capability on an older platform rather than a refused session.
44
44
 
45
45
  **A ceiling exists once.** The inquiry answer cap here equals `DEFAULT_INQUIRY_ANSWER_CHARS` in
@@ -59,7 +59,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
59
59
  your project's skill store (`.agents/skills/`):
60
60
 
61
61
  ```sh
62
- npx @owlmeans/agent-skills@^0.1.18-rc.39
62
+ npx @owlmeans/agent-skills@^0.1.18-rc.41
63
63
  ```
64
64
 
65
65
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/viable-common",
4
- "version": "0.0.35",
5
- "generatedAt": "2026-09-25T12:22:06.208Z",
4
+ "version": "0.0.37",
5
+ "generatedAt": "2026-09-28T02:06:37.888Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -6,7 +6,7 @@ description: Shared, runtime-free taxonomy for presenting OwlMeans Viable agent
6
6
 
7
7
  # Agent output presentation
8
8
 
9
- **Install:** `"@owlmeans/viable-common": "^0.0.35"` in `dependencies`
9
+ **Install:** `"@owlmeans/viable-common": "^0.0.37"` in `dependencies`
10
10
 
11
11
  `@owlmeans/viable-common`'s `agent/presentation.ts` owns the browser-safe vocabulary for agent
12
12
  output. Keep the server and every client on `classifyAgentMessage()`; consumers may refine a
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/viable-common
9
9
 
10
10
  **Layer:** Cross-cutting domain (contracts only)
11
- **Install:** `"@owlmeans/viable-common": "^0.0.35"` in `dependencies`
11
+ **Install:** `"@owlmeans/viable-common": "^0.0.37"` in `dependencies`
12
12
  **Subpaths:** `.` · `./slot` · `./connect` · `./convert` · `./integrity` · `./intent`
13
13
  **Runtime-free:** no `@langchain/*`, no filesystem, no Ajv at run time (a devDependency, for the
14
14
  tests that compile the schemas). It depends on `@owlmeans/planning`, `@owlmeans/resource`,
@@ -263,7 +263,7 @@ code, never as `minItems`/`maxItems`. The descriptions are what the planning mod
263
263
  state each field's purpose and bounds; `gate.target` is filled by code and described as such.
264
264
 
265
265
  **A field that crosses a version skew carries no `enum`.** Users run
266
- `npx -y @owlmeans/viable-mcp@^0.1.18-rc.32` (the moving prerelease tag) against a separately deployed
266
+ `npx -y @owlmeans/viable-mcp@^0.1.18-rc.34` (the moving prerelease tag) against a separately deployed
267
267
  platform, so `ConnectCapabilitiesSchema.executors.items`
268
268
  is a bare string: a newer executor kind must stay an unused capability on an older platform, never
269
269
  a refused session. Apply the same reasoning to anything else a newer connector may send an older
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/dev/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGnF,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,SAAS,CAqBrD,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAW7D,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAWzD,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAC,CA2B9E,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAgCzD,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAOvD,CAAA"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/dev/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGnF,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,SAAS,CAqBrD,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAW7D,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAWzD,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAC,CA2B9E,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,WAAW,CAqCzD,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAOvD,CAAA"}
@@ -101,6 +101,11 @@ export const AccessBlockSchema = {
101
101
  - admin - means the project owner only: authenticated and holding the admin marker
102
102
  `
103
103
  },
104
+ defaultEnabledPermissions: {
105
+ type: 'array', nullable: true, items: { type: 'string' },
106
+ description: 'Subset of permissions safe to grant to every signed-in end user by default. '
107
+ + 'Only include a permission when all matching routes enforce the intended public or own-record visibility.',
108
+ },
104
109
  },
105
110
  required: ["permissions", "level"],
106
111
  additionalProperties: false
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/dev/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/dev/schemas.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export interface AccessBlock {
27
27
  */
28
28
  permissions: string[];
29
29
  level: AccessLevel;
30
+ /** Gate params safe for every newly signed-in user; a subset of permissions. */
31
+ defaultEnabledPermissions?: string[];
30
32
  }
31
33
  /**
32
34
  * Access rules keyed by ENTRYPOINT ALIAS — never by URL or route path. The alias prefix decides
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dev/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9D;AAED,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/dev/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,gFAAgF;IAChF,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9D;AAED,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -36,6 +36,9 @@ export interface OwlMeansFetchErrorPayload {
36
36
  status: number;
37
37
  statusText: string;
38
38
  body: string;
39
+ /** Server-labelled auth/IAM refusal; absent for unrelated HTTP failures. */
40
+ denialKind?: string;
41
+ incidentId?: string;
39
42
  }
40
43
  /**
41
44
  * Specific message types for each event kind
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB;IACjG,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAA;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAC;IACxF,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAA;CAC7B;AAED,MAAM,WAAW,+BAAgC,SAAQ,sBAAsB,CAAC,+BAA+B,CAAC;IAC9G,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAA;CACxC;AAED,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB,CAAC,yBAAyB,CAAC;IAClG,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAA;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,CAAC,0BAA0B,CAAC;IACpG,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,+BAA+B,GAC/B,yBAAyB,GACzB,0BAA0B,CAAA;AAE9B,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,+BAA+B,GAC/B,yBAAyB,GACzB,0BAA0B,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/preview/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,uBAAuB,GAAG,uBAAuB;IACjG,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAA;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAC;IACxF,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAA;CAC7B;AAED,MAAM,WAAW,+BAAgC,SAAQ,sBAAsB,CAAC,+BAA+B,CAAC;IAC9G,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAA;CACxC;AAED,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB,CAAC,yBAAyB,CAAC;IAClG,IAAI,EAAE,gBAAgB,CAAC,UAAU,CAAA;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,CAAC,0BAA0B,CAAC;IACpG,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,+BAA+B,GAC/B,yBAAyB,GACzB,0BAA0B,CAAA;AAE9B,MAAM,MAAM,uBAAuB,GAC/B,oBAAoB,GACpB,+BAA+B,GAC/B,yBAAyB,GACzB,0BAA0B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/viable-common",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "license": "MIT",
5
5
  "description": "Runtime-free contracts of the OwlMeans Viable platform — the analysis, design and metadata shapes of a generated project, its target-shape manifest, the slot command vocabulary, the connector protocol and the conversion vocabulary, and the intent-first hand-off from the public site to the platform.",
6
6
  "type": "module",
@@ -66,14 +66,14 @@
66
66
  "typescript": "^7.0.2"
67
67
  },
68
68
  "dependencies": {
69
- "@owlmeans/agent-common": "^0.1.18-rc.41",
69
+ "@owlmeans/agent-common": "^0.1.18-rc.42",
70
70
  "@owlmeans/auth": "^0.1.18-rc.36",
71
71
  "@owlmeans/context": "^0.1.18-rc.32",
72
72
  "@owlmeans/entrypoint": "^0.1.18-rc.37",
73
73
  "@owlmeans/error": "^0.1.18-rc.36",
74
74
  "@owlmeans/flow": "^0.1.18-rc.39",
75
- "@owlmeans/llm-common": "^0.1.18-rc.36",
76
- "@owlmeans/planning": "^0.1.18-rc.10",
75
+ "@owlmeans/llm-common": "^0.1.18-rc.37",
76
+ "@owlmeans/planning": "^0.1.18-rc.11",
77
77
  "@owlmeans/resource": "^0.1.18-rc.36",
78
78
  "@owlmeans/route": "^0.1.18-rc.33"
79
79
  },
@@ -109,6 +109,11 @@ export const AccessBlockSchema: JSONSchemaType<AccessBlock> = {
109
109
  - admin - means the project owner only: authenticated and holding the admin marker
110
110
  `
111
111
  },
112
+ defaultEnabledPermissions: {
113
+ type: 'array', nullable: true, items: { type: 'string' },
114
+ description: 'Subset of permissions safe to grant to every signed-in end user by default. '
115
+ + 'Only include a permission when all matching routes enforce the intended public or own-record visibility.',
116
+ },
112
117
  },
113
118
  required: ["permissions", "level"],
114
119
  additionalProperties: false
package/src/dev/types.ts CHANGED
@@ -31,6 +31,8 @@ export interface AccessBlock {
31
31
  */
32
32
  permissions: string[]
33
33
  level: AccessLevel
34
+ /** Gate params safe for every newly signed-in user; a subset of permissions. */
35
+ defaultEnabledPermissions?: string[]
34
36
  }
35
37
 
36
38
  /**
@@ -41,6 +41,9 @@ export interface OwlMeansFetchErrorPayload {
41
41
  status: number
42
42
  statusText: string
43
43
  body: string
44
+ /** Server-labelled auth/IAM refusal; absent for unrelated HTTP failures. */
45
+ denialKind?: string
46
+ incidentId?: string
44
47
  }
45
48
 
46
49
  /**
@@ -76,4 +79,3 @@ export type OwlMenasPreviewPayloads =
76
79
  | OwlMeansPromiseRejectionPayload
77
80
  | OwlMeansFetchErrorPayload
78
81
  | OwlMeansCaughtErrorPayload
79
-
@@ -1,13 +0,0 @@
1
- import type { JSONSchemaType } from "ajv";
2
- import type { EntityList, StoryList, Entity, Attribute, MainStoryProbability, MainStoryCandidates, ConnectingStoryDraft, ConnectingStoryList } from "./types.js";
3
- import type { StoryDraft } from "../areas/types.js";
4
- export declare const StoryDraftSchema: JSONSchemaType<StoryDraft>;
5
- export declare const ConnectingStoryDraftSchema: JSONSchemaType<ConnectingStoryDraft>;
6
- export declare const ConnectingStoryListSchema: JSONSchemaType<ConnectingStoryList>;
7
- export declare const EntityListSchema: JSONSchemaType<EntityList>;
8
- export declare const StoryListSchema: JSONSchemaType<StoryList>;
9
- export declare const AttributeSchema: JSONSchemaType<Attribute>;
10
- export declare const EntitySchema: JSONSchemaType<Entity>;
11
- export declare const MainStoryProbabilitySchema: JSONSchemaType<MainStoryProbability>;
12
- export declare const MainStoryCandidatesSchema: JSONSchemaType<MainStoryCandidates>;
13
- //# sourceMappingURL=schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/ba/schemas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChK,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAsBnD,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAiBvD,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC,oBAAoB,CAiC3E,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,mBAAmB,CAYzE,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAevD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,SAAS,CAYrD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,SAAS,CAgBrD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,MAAM,CAqB/C,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC,oBAAoB,CAgB3E,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,mBAAmB,CAYzE,CAAA"}
@@ -1,181 +0,0 @@
1
- import { ProjectArea } from "../areas/consts.js";
2
- import { ConnectingStoryKind } from "./consts.js";
3
- /**
4
- * The one rendering of the area field's description.
5
- *
6
- * Every schema that carries an area points at this. Two copies drift, and the drift is invisible:
7
- * both schemas keep validating, and the two prompts that read them start classifying differently.
8
- * It is the same reason `AREA_CLASSIFICATION` is spelled once in the BA helper.
9
- */
10
- const AREA_FIELD_DESCRIPTION = `
11
- Which area of the application the acting user works in:
12
- - guest - the actor is NOT signed in (public visitors, prospects, anonymous readers)
13
- - user - the actor is a signed-in end user consuming the product's value (the front office)
14
- - operator - the actor is staff running the product's business process from the inside (the back office)
15
- - admin - the actor is the owner configuring or managing the application itself
16
- `;
17
- const STORY_BODY_DESCRIPTION = "User story body in format: As a [role], I want to [make something] so that [I get the following results]";
18
- export const StoryDraftSchema = {
19
- type: "object",
20
- title: "StoryDraft",
21
- description: "One user story and the area of the application its actor works in",
22
- properties: {
23
- story: {
24
- type: "string",
25
- description: STORY_BODY_DESCRIPTION
26
- },
27
- area: {
28
- type: "string",
29
- enum: Object.values(ProjectArea),
30
- description: AREA_FIELD_DESCRIPTION
31
- },
32
- },
33
- required: ["story", "area"],
34
- additionalProperties: false
35
- };
36
- export const ConnectingStoryDraftSchema = {
37
- type: "object",
38
- title: "ConnectingStoryDraft",
39
- description: "One user story that connects the numbered steps of the main flow to each other",
40
- properties: {
41
- story: {
42
- type: "string",
43
- description: STORY_BODY_DESCRIPTION
44
- },
45
- area: {
46
- type: "string",
47
- enum: Object.values(ProjectArea),
48
- description: AREA_FIELD_DESCRIPTION
49
- },
50
- kind: {
51
- type: "string",
52
- enum: Object.values(ConnectingStoryKind),
53
- description: `
54
- Which connecting screen this story is:
55
- - queue - the list of records waiting for THIS actor to perform their step on them
56
- - index - the directory of a kind of record, where the actor finds and opens the one they mean
57
- - record - the page of ONE record: everything that has happened to it, and the actions that start from it
58
- - tracker - the actor's own list of what they submitted, and what state each one has reached
59
- `
60
- },
61
- after: {
62
- type: "integer",
63
- minimum: 1,
64
- description: "The NUMBER of the flow user story whose result this story displays - this story belongs immediately after that one. Never 0, and never greater than the number of flow stories given"
65
- },
66
- },
67
- required: ["story", "area", "kind", "after"],
68
- additionalProperties: false
69
- };
70
- export const ConnectingStoryListSchema = {
71
- type: "object",
72
- title: "ConnectingStoryList",
73
- description: "User stories that connect the numbered steps of the main flow to each other",
74
- properties: {
75
- stories: {
76
- type: "array",
77
- items: ConnectingStoryDraftSchema,
78
- description: "The connecting stories, each anchored to the flow story it comes after"
79
- },
80
- },
81
- required: ["stories"]
82
- };
83
- export const EntityListSchema = {
84
- type: "object",
85
- title: "EntityList",
86
- description: "Domain entities",
87
- properties: {
88
- entities: {
89
- type: "array",
90
- items: {
91
- type: "string",
92
- description: "Domain entity name, only alphanumeric characters are allowed no more than 2 words"
93
- },
94
- description: "List of domain entities"
95
- },
96
- },
97
- required: ["entities"]
98
- };
99
- export const StoryListSchema = {
100
- type: "object",
101
- title: "StoryList",
102
- description: "User stories",
103
- properties: {
104
- stories: {
105
- type: "array",
106
- items: StoryDraftSchema,
107
- description: "List of user stories IN FLOW ORDER - the order of the numbered steps they were taken from"
108
- },
109
- },
110
- required: ["stories"]
111
- };
112
- export const AttributeSchema = {
113
- type: "object",
114
- title: "Attribute",
115
- description: "Entity attribute",
116
- properties: {
117
- name: {
118
- type: "string",
119
- description: "Attribute name, should be descriptive and use camelCase"
120
- },
121
- description: {
122
- type: "string",
123
- description: "Detailed description of the attribute in the domain entity"
124
- }
125
- },
126
- required: ["name", "description"],
127
- additionalProperties: false,
128
- };
129
- export const EntitySchema = {
130
- type: "object",
131
- title: "Entity",
132
- description: "Domain entity with attributes",
133
- properties: {
134
- name: {
135
- type: "string",
136
- description: "Entity name, should be descriptive and use PascalCase"
137
- },
138
- description: {
139
- type: "string",
140
- description: "Detailed description of the entity and its role in the domain"
141
- },
142
- attributes: {
143
- type: "array",
144
- items: AttributeSchema,
145
- description: "List of entity attributes"
146
- }
147
- },
148
- required: ["name", "description", "attributes"],
149
- additionalProperties: false,
150
- };
151
- export const MainStoryProbabilitySchema = {
152
- type: "object",
153
- title: "MainStoryProbability",
154
- description: "Probability that the user story describes main action on the home screen",
155
- properties: {
156
- story: {
157
- type: "string",
158
- description: "Exact user story text copied from input"
159
- },
160
- probability: {
161
- type: "number",
162
- description: "Probability scroe — from 0 to 10 — that the user story describes main action on the home screen if we compare with other stories"
163
- }
164
- },
165
- required: ["story", "probability"],
166
- additionalProperties: false,
167
- };
168
- export const MainStoryCandidatesSchema = {
169
- type: "object",
170
- title: "MainStoryCandidates",
171
- description: "List of main story candidates",
172
- properties: {
173
- candidates: {
174
- type: "array",
175
- items: MainStoryProbabilitySchema,
176
- }
177
- },
178
- required: ["candidates"],
179
- additionalProperties: false,
180
- };
181
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/ba/schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG;;;;;;OAMxB,CAAA;AAEP,MAAM,sBAAsB,GAC1B,0GAA0G,CAAA;AAE5G,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,mEAAmE;IAChF,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;SACpC;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAChC,WAAW,EAAE,sBAAsB;SACpC;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAyC;IAC9E,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,gFAAgF;IAC7F,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sBAAsB;SACpC;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAChC,WAAW,EAAE,sBAAsB;SACpC;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACxC,WAAW,EAAE;;;;;;OAMZ;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,sLAAsL;SACpM;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC5C,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAwC;IAC5E,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,6EAA6E;IAC1F,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,wEAAwE;SACtF;KACF;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAA+B;IAC1D,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mFAAmF;aACjG;YACD,WAAW,EAAE,yBAAyB;SACvC;KACF;IACD,QAAQ,EAAE,CAAC,UAAU,CAAC;CACvB,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAA8B;IACxD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,2FAA2F;SACzG;KACF;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAA8B;IACxD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,kBAAkB;IAC/B,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yDAAyD;SACvE;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4DAA4D;SAC1E;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;IACjC,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uDAAuD;SACrE;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,+DAA+D;SAC7E;QACD,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,2BAA2B;SACzC;KACF;IACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC;IAC/C,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAyC;IAC9E,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,0EAA0E;IACvF,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;SACvD;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kIAAkI;SAChJ;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAClC,oBAAoB,EAAE,KAAK;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAwC;IAC5E,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE;QACV,UAAU,EAAE;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,0BAA0B;SAClC;KACF;IACD,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,oBAAoB,EAAE,KAAK;CAC5B,CAAA"}
@@ -1,73 +0,0 @@
1
- import type { BlueprintPatch } from './types.js';
2
- /**
3
- * WHICH KIND of product is being built on a blueprint.
4
- *
5
- * A blueprint says what the STACK is — the language, the framework, the topology, the seeds. A
6
- * case says what is being built ON it, and that is a different question with different consumers:
7
- * the analyst framing the brief, the architect deciding whether a story needs a queue, the coder
8
- * choosing which packages it may import.
9
- *
10
- * Deliberately NOT a second blueprint. Everything a case has to say is already a blueprint field,
11
- * so a case is a PATCH and the resolution order stays base → case → per-run overrides. That is
12
- * also why adding one is a data change: nothing reads `BlueprintCase` except the table below and
13
- * the prompt that classifies a project into it.
14
- */
15
- export declare enum BlueprintCase {
16
- /** A web application whose every feature fits inside a request. No queue, no worker, no agents. */
17
- Web = "web",
18
- /** A web application with work that genuinely belongs off the request path. */
19
- Scalable = "scalable",
20
- /** The product's value comes from ordered, deterministic model-driven steps. */
21
- AiPipeline = "ai-pipeline",
22
- /** The product's value comes from an agent that decides its own path through tools. */
23
- AiAgent = "ai-agent",
24
- /** A browser game: a three.js scene with an ordinary React interface over it. */
25
- Game = "game"
26
- }
27
- /**
28
- * How a game is played, which decides who owns its state.
29
- *
30
- * Recorded beside the case rather than folded into it, because it changes nothing about the
31
- * dependencies and everything about where the logic goes. `OnlineTurn` is the default for
32
- * anything multiplayer unless the brief plainly asks for live play — it is the shape that
33
- * actually builds, and it needs no socket, no tick loop and no reconciliation.
34
- */
35
- export declare enum GameKind {
36
- Casual = "casual",
37
- OnlineTurn = "online-turn",
38
- OnlineLive = "online-live"
39
- }
40
- export interface BlueprintCaseDefinition {
41
- id: BlueprintCase;
42
- title: string;
43
- /**
44
- * What this case is FOR, as the classifier prompt reads it.
45
- *
46
- * A pure constant, like every skill body: it lands in a cached prompt region, and one
47
- * interpolated byte invalidates the prefix for every project classified after it.
48
- */
49
- when: string;
50
- /** Applied between the base blueprint and the run's own overrides. A case is nothing else. */
51
- patch: BlueprintPatch;
52
- }
53
- /**
54
- * The cases the platform ships.
55
- *
56
- * Read as a table: the left column is what a prompt has to look like, the right column is what
57
- * that costs the generated application. Nothing here turns a capability on without also
58
- * installing what makes it real — a blueprint that promises `agents` over a manifest with no
59
- * `@owlmeans/agent` in it produces a story that reports success and a library that will not
60
- * compile.
61
- */
62
- export declare const BLUEPRINT_CASES: Record<BlueprintCase, BlueprintCaseDefinition>;
63
- /**
64
- * The case a reference names, or `undefined`.
65
- *
66
- * Total over anything: an unknown name, a name from a deploy this one does not have, and an
67
- * absent one all read the same way — no patch, which is the base blueprint. That is the only
68
- * answer that cannot take a capability away from a project that already has it.
69
- */
70
- export declare const blueprintCaseOf: (name?: string) => BlueprintCaseDefinition | undefined;
71
- /** Every case the platform ships, in the order a classifier should weigh them. */
72
- export declare const BLUEPRINT_CASE_ORDER: BlueprintCase[];
73
- //# sourceMappingURL=case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../src/blueprint/case.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,oBAAY,aAAa;IACvB,mGAAmG;IACnG,GAAG,QAAQ;IACX,+EAA+E;IAC/E,QAAQ,aAAa;IACrB,gFAAgF;IAChF,UAAU,gBAAgB;IAC1B,uFAAuF;IACvF,OAAO,aAAa;IACpB,iFAAiF;IACjF,IAAI,SAAS;CACd;AAED;;;;;;;GAOG;AACH,oBAAY,QAAQ;IAClB,MAAM,WAAW;IACjB,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,aAAa,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,8FAA8F;IAC9F,KAAK,EAAE,cAAc,CAAA;CACtB;AAkHD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,uBAAuB,CAsH1E,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,uBAAuB,GAAG,SACqB,CAAA;AAE/F,kFAAkF;AAClF,eAAO,MAAM,oBAAoB,EAAE,aAAa,EAM/C,CAAA"}