@owlmeans/viable-common 0.0.19 → 0.0.20
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 +2 -2
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/agent-presentation/SKILL.md +1 -1
- package/agent-meta/skills/viable-common/SKILL.md +195 -10
- package/build/ba/consts.d.ts +2 -3
- package/build/ba/consts.d.ts.map +1 -1
- package/build/ba/consts.js +2 -3
- package/build/ba/consts.js.map +1 -1
- package/build/ba/helpers.d.ts +2 -1
- package/build/ba/helpers.d.ts.map +1 -1
- package/build/ba/helpers.js +3 -2
- package/build/ba/helpers.js.map +1 -1
- package/build/ba/types.d.ts +17 -2
- package/build/ba/types.d.ts.map +1 -1
- package/build/connect/consts.d.ts +5 -8
- package/build/connect/consts.d.ts.map +1 -1
- package/build/connect/consts.js +5 -8
- package/build/connect/consts.js.map +1 -1
- package/build/connect/entrypoints.d.ts +1 -43
- package/build/connect/entrypoints.d.ts.map +1 -1
- package/build/connect/entrypoints.js +1 -18
- package/build/connect/entrypoints.js.map +1 -1
- package/build/connect/index.d.ts +1 -0
- package/build/connect/index.d.ts.map +1 -1
- package/build/connect/index.js +1 -0
- package/build/connect/index.js.map +1 -1
- package/build/connect/jobs.d.ts +25 -0
- package/build/connect/jobs.d.ts.map +1 -0
- package/build/connect/jobs.js +29 -0
- package/build/connect/jobs.js.map +1 -0
- package/build/connect/references.d.ts +1 -40
- package/build/connect/references.d.ts.map +1 -1
- package/build/connect/references.js +0 -8
- package/build/connect/references.js.map +1 -1
- package/build/connect/schemas.d.ts +1 -7
- package/build/connect/schemas.d.ts.map +1 -1
- package/build/connect/schemas.js +1 -25
- package/build/connect/schemas.js.map +1 -1
- package/build/connect/types.d.ts +30 -45
- package/build/connect/types.d.ts.map +1 -1
- package/build/design/consts.d.ts +0 -2
- package/build/design/consts.d.ts.map +1 -1
- package/build/design/consts.js +0 -2
- package/build/design/consts.js.map +1 -1
- package/build/design/helpers.d.ts +6 -2
- package/build/design/helpers.d.ts.map +1 -1
- package/build/design/helpers.js +6 -2
- package/build/design/helpers.js.map +1 -1
- package/build/design/types.d.ts +12 -11
- package/build/design/types.d.ts.map +1 -1
- package/build/execution/types.d.ts +11 -0
- package/build/execution/types.d.ts.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/planning/consts.d.ts +141 -0
- package/build/planning/consts.d.ts.map +1 -0
- package/build/planning/consts.js +170 -0
- package/build/planning/consts.js.map +1 -0
- package/build/planning/errors.d.ts +64 -0
- package/build/planning/errors.d.ts.map +1 -0
- package/build/planning/errors.js +99 -0
- package/build/planning/errors.js.map +1 -0
- package/build/planning/flows.d.ts +34 -0
- package/build/planning/flows.d.ts.map +1 -0
- package/build/planning/flows.js +174 -0
- package/build/planning/flows.js.map +1 -0
- package/build/planning/helpers.d.ts +54 -0
- package/build/planning/helpers.d.ts.map +1 -0
- package/build/planning/helpers.js +101 -0
- package/build/planning/helpers.js.map +1 -0
- package/build/planning/index.d.ts +7 -0
- package/build/planning/index.d.ts.map +1 -0
- package/build/planning/index.js +6 -0
- package/build/planning/index.js.map +1 -0
- package/build/planning/schemas.d.ts +23 -0
- package/build/planning/schemas.d.ts.map +1 -0
- package/build/planning/schemas.js +65 -0
- package/build/planning/schemas.js.map +1 -0
- package/build/planning/types.d.ts +70 -0
- package/build/planning/types.d.ts.map +1 -0
- package/build/planning/types.js +2 -0
- package/build/planning/types.js.map +1 -0
- package/build/scaffold/schemas.d.ts.map +1 -1
- package/build/scaffold/schemas.js +7 -2
- package/build/scaffold/schemas.js.map +1 -1
- package/build/scaffold/types.d.ts +5 -1
- package/build/scaffold/types.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/ba/consts.ts +2 -3
- package/src/ba/helpers.ts +3 -2
- package/src/ba/types.ts +17 -2
- package/src/connect/consts.ts +5 -8
- package/src/connect/entrypoints.ts +2 -41
- package/src/connect/index.ts +1 -0
- package/src/connect/jobs.ts +40 -0
- package/src/connect/references.ts +1 -22
- package/src/connect/schemas.ts +2 -29
- package/src/connect/types.ts +30 -51
- package/src/design/consts.ts +0 -3
- package/src/design/helpers.ts +6 -2
- package/src/design/types.ts +12 -11
- package/src/execution/types.ts +11 -0
- package/src/index.ts +1 -0
- package/src/planning/consts.ts +182 -0
- package/src/planning/errors.ts +117 -0
- package/src/planning/flows.ts +204 -0
- package/src/planning/helpers.ts +133 -0
- package/src/planning/index.ts +6 -0
- package/src/planning/schemas.ts +70 -0
- package/src/planning/types.ts +75 -0
- package/src/scaffold/schemas.ts +7 -2
- package/src/scaffold/types.ts +10 -1
- package/tests/branding.spec.ts +37 -0
- package/tests/connect-entrypoints.spec.ts +35 -3
- package/tests/design.spec.ts +3 -3
- package/tests/planning.spec.ts +356 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { CODE_MAX } from '@owlmeans/planning';
|
|
2
|
+
import { ProjectArea } from '../areas/consts.js';
|
|
3
|
+
import { StoryKind } from '../ba/consts.js';
|
|
4
|
+
import { ConnectLlm, ConnectTarget } from '../connect/consts.js';
|
|
5
|
+
import { ProjectOriginSchema } from '../convert/schemas.js';
|
|
6
|
+
import { StoryActor } from '../design/runtime.js';
|
|
7
|
+
/**
|
|
8
|
+
* The `fields` schema of a `viable:project` card.
|
|
9
|
+
*
|
|
10
|
+
* A record-element schema: hand-written, cast, every optional key nullable with its type, every
|
|
11
|
+
* nullable enum listing `null`. Plain strings where the vocabulary grows in a library this record
|
|
12
|
+
* does not redeploy with (blueprint, case, game kind).
|
|
13
|
+
*/
|
|
14
|
+
export const ViableProjectFieldsSchema = {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
formerAliases: {
|
|
18
|
+
type: 'array', items: { type: 'string', minLength: 1, maxLength: CODE_MAX }, nullable: true,
|
|
19
|
+
},
|
|
20
|
+
language: { type: 'string', minLength: 2, maxLength: 16, nullable: true },
|
|
21
|
+
blueprint: { type: 'string', minLength: 1, maxLength: 64, nullable: true },
|
|
22
|
+
blueprintCase: { type: 'string', minLength: 1, maxLength: 64, nullable: true },
|
|
23
|
+
gameKind: { type: 'string', minLength: 1, maxLength: 64, nullable: true },
|
|
24
|
+
target: { type: 'string', enum: [...Object.values(ConnectTarget), null], nullable: true },
|
|
25
|
+
origin: { ...ProjectOriginSchema, nullable: true },
|
|
26
|
+
connectLlmMode: { type: 'string', enum: [...Object.values(ConnectLlm), null], nullable: true },
|
|
27
|
+
converterLlmMode: { type: 'string', enum: [...Object.values(ConnectLlm), null], nullable: true },
|
|
28
|
+
},
|
|
29
|
+
required: [],
|
|
30
|
+
additionalProperties: false,
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The `fields` schema of a `viable:user-story` card.
|
|
34
|
+
*
|
|
35
|
+
* `area` is required, and a create that carries none is still valid by the time it is checked:
|
|
36
|
+
* validation runs after the planning middlewares, and the viable plugin's re-format hook fills the
|
|
37
|
+
* area of a narrative a person wrote.
|
|
38
|
+
*/
|
|
39
|
+
export const ViableStoryFieldsSchema = {
|
|
40
|
+
type: 'object',
|
|
41
|
+
properties: {
|
|
42
|
+
area: { type: 'string', enum: Object.values(ProjectArea) },
|
|
43
|
+
primary: { type: 'boolean' },
|
|
44
|
+
actor: { type: 'string', enum: [...Object.values(StoryActor), null], nullable: true },
|
|
45
|
+
warning: { type: 'string', maxLength: 1024, nullable: true },
|
|
46
|
+
kind: { type: 'string', enum: [...Object.values(StoryKind), null], nullable: true },
|
|
47
|
+
},
|
|
48
|
+
required: ['area', 'primary'],
|
|
49
|
+
additionalProperties: false,
|
|
50
|
+
};
|
|
51
|
+
/** The open `fields` of a reserved card type — nothing is decided about them yet. */
|
|
52
|
+
export const ViableOpenFieldsSchema = {
|
|
53
|
+
type: 'object',
|
|
54
|
+
properties: {},
|
|
55
|
+
required: [],
|
|
56
|
+
additionalProperties: true,
|
|
57
|
+
};
|
|
58
|
+
/** A document carries nothing under `fields`: its payload is the specification body. */
|
|
59
|
+
export const ViableSpecFieldsSchema = {
|
|
60
|
+
type: 'object',
|
|
61
|
+
properties: {},
|
|
62
|
+
required: [],
|
|
63
|
+
additionalProperties: false,
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/planning/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Card, Project, Specification } from '@owlmeans/planning';
|
|
2
|
+
import type { ProjectArea } from '../areas/consts.js';
|
|
3
|
+
import type { StoryKind } from '../ba/consts.js';
|
|
4
|
+
import type { ConnectLlm, ConnectTarget } from '../connect/consts.js';
|
|
5
|
+
import type { ProjectOrigin } from '../convert/types.js';
|
|
6
|
+
import type { StoryActor } from '../design/runtime.js';
|
|
7
|
+
import type { StoryWriteInput } from '../metadata/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* What a `viable:project` card keeps under `fields`.
|
|
10
|
+
*
|
|
11
|
+
* The alias is the card's `code`, the name its `title`; the brief parts are specifications. Every
|
|
12
|
+
* key is optional: a project created before a field existed carries none, and an absent value
|
|
13
|
+
* means the platform default (inherit a mode, the default blueprint, a cloud slot).
|
|
14
|
+
*/
|
|
15
|
+
export type ViableProjectFields = {
|
|
16
|
+
/** Aliases this project gave up. Names are retired, never freed to a sibling project. */
|
|
17
|
+
formerAliases?: string[];
|
|
18
|
+
/** The IETF tag generated UI text is written in. */
|
|
19
|
+
language?: string;
|
|
20
|
+
/** The blueprint id the project was drawn with. */
|
|
21
|
+
blueprint?: string;
|
|
22
|
+
/** The blueprint case classified from the prompt. Absent applies no patch. */
|
|
23
|
+
blueprintCase?: string;
|
|
24
|
+
/** How a game is played; absent for every other case. */
|
|
25
|
+
gameKind?: string;
|
|
26
|
+
/** Where the tree lives; absent is the platform's own slot. */
|
|
27
|
+
target?: ConnectTarget;
|
|
28
|
+
/** Where converted code came from; present only on an import. */
|
|
29
|
+
origin?: ProjectOrigin;
|
|
30
|
+
/** Who performs a run's model calls on this project; absent inherits the owner's preference. */
|
|
31
|
+
connectLlmMode?: ConnectLlm;
|
|
32
|
+
/** Who performs a conversion's model calls on this project; absent inherits. */
|
|
33
|
+
converterLlmMode?: ConnectLlm;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* What a `viable:user-story` card keeps under `fields`.
|
|
37
|
+
*
|
|
38
|
+
* The narrative is the card's `title`, the flow ordinal its `order` (a double — a connective story
|
|
39
|
+
* sits between two flow steps), the status its primary flow status.
|
|
40
|
+
*/
|
|
41
|
+
export type ViableStoryFields = {
|
|
42
|
+
/** The audience acting in the story; its screens hang under this area. */
|
|
43
|
+
area: ProjectArea;
|
|
44
|
+
/** The story whose screen is the project's front door. Exactly one per project. */
|
|
45
|
+
primary: boolean;
|
|
46
|
+
/** Who acts; absent is a person. */
|
|
47
|
+
actor?: StoryActor;
|
|
48
|
+
/** Why the last development did not end cleanly. Written as `''` to clear. */
|
|
49
|
+
warning?: string;
|
|
50
|
+
/** Which half of the analysis the story came from. */
|
|
51
|
+
kind?: StoryKind;
|
|
52
|
+
};
|
|
53
|
+
export interface ViableProjectCard extends Project {
|
|
54
|
+
fields: ViableProjectFields;
|
|
55
|
+
}
|
|
56
|
+
export interface ViableStoryCard extends Card {
|
|
57
|
+
fields: ViableStoryFields;
|
|
58
|
+
}
|
|
59
|
+
/** A document under a Viable card — the brief parts, the scaffold plan, a story design. */
|
|
60
|
+
export type ViableSpecification = Specification;
|
|
61
|
+
/**
|
|
62
|
+
* What a develop run hands the metadata store beside the card.
|
|
63
|
+
*
|
|
64
|
+
* The code, the narrative and the primary flag are the CARD's and are never passed separately — a
|
|
65
|
+
* second copy is a second answer. `status` defaults to the card's own.
|
|
66
|
+
*/
|
|
67
|
+
export type StoryWriteContent = Omit<StoryWriteInput, 'code' | 'narrative' | 'primary' | 'status'> & {
|
|
68
|
+
status?: string;
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/planning/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,iEAAiE;IACjE,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,gGAAgG;IAChG,cAAc,CAAC,EAAE,UAAU,CAAA;IAC3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,UAAU,CAAA;CAC9B,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,0EAA0E;IAC1E,IAAI,EAAE,WAAW,CAAA;IACjB,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAA;IAChB,oCAAoC;IACpC,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,MAAM,WAAW,iBAAkB,SAAQ,OAAO;IAChD,MAAM,EAAE,mBAAmB,CAAA;CAC5B;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI;IAC3C,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,2FAA2F;AAC3F,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC,GAClE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/planning/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/scaffold/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAIzC,OAAO,KAAK,EACK,eAAe,EAAoB,YAAY,EAC/D,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/scaffold/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAIzC,OAAO,KAAK,EACK,eAAe,EAAoB,YAAY,EAC/D,MAAM,YAAY,CAAA;AA0OnB,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,eAAe,CAkBjE,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CA2B3D,CAAA"}
|
|
@@ -159,15 +159,20 @@ const GuestHomePlanSchema = {
|
|
|
159
159
|
hero: {
|
|
160
160
|
type: 'object',
|
|
161
161
|
properties: {
|
|
162
|
-
eyebrow: { type: 'string', description: 'A 2-4 word positioning phrase above the headline' },
|
|
163
162
|
headline: {
|
|
164
163
|
type: 'string',
|
|
165
164
|
description: 'The product\'s promise in one line, under 9 words. Never the product name alone'
|
|
166
165
|
},
|
|
167
166
|
sub: { type: 'string', description: 'One or two sentences: what it does and who it is for' },
|
|
168
167
|
cta: { type: 'string', description: 'The call-to-action label, 2-3 words' },
|
|
168
|
+
eyebrow: {
|
|
169
|
+
type: 'string', nullable: true,
|
|
170
|
+
description: 'OPTIONAL, normally omitted. A small badge above the headline - set it only when'
|
|
171
|
+
+ ' the specification explicitly asks for a label there. A landing page carries no badge by'
|
|
172
|
+
+ ' default: the headline is what positions the product'
|
|
173
|
+
},
|
|
169
174
|
},
|
|
170
|
-
required: ['
|
|
175
|
+
required: ['headline', 'sub', 'cta'],
|
|
171
176
|
additionalProperties: false,
|
|
172
177
|
},
|
|
173
178
|
problem: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/scaffold/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/scaffold/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,10 +100,14 @@ export interface ProductIdentity {
|
|
|
100
100
|
/** The guest area's landing page — the product's public face. */
|
|
101
101
|
export interface GuestHomePlan {
|
|
102
102
|
hero: {
|
|
103
|
-
eyebrow: string;
|
|
104
103
|
headline: string;
|
|
105
104
|
sub: string;
|
|
106
105
|
cta: string;
|
|
106
|
+
/**
|
|
107
|
+
* A badge above the headline — OPTIONAL and normally absent. A landing page carries no badge
|
|
108
|
+
* unless its specification asks for one; the headline is what positions the product.
|
|
109
|
+
*/
|
|
110
|
+
eyebrow?: string;
|
|
107
111
|
};
|
|
108
112
|
problem: {
|
|
109
113
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scaffold/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,wEAAwE;IACxE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3C,8BAA8B;IAC9B,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC3C;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAA;IACf,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,MAAM,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IAChE,iEAAiE;IACjE,MAAM,EAAE,aAAa,CAAA;IACrB,wFAAwF;IACxF,IAAI,EAAE,OAAO,CAAA;IACb;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAA;IACjB,yDAAyD;IACzD,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACtC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAA;IACZ,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/scaffold/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/viable-common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
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.",
|
|
6
6
|
"type": "module",
|
|
@@ -63,6 +63,8 @@
|
|
|
63
63
|
"@owlmeans/entrypoint": "^0.1.18-rc.27",
|
|
64
64
|
"@owlmeans/error": "^0.1.18-rc.26",
|
|
65
65
|
"@owlmeans/llm-common": "^0.1.18-rc.27",
|
|
66
|
+
"@owlmeans/planning": "^0.1.18-rc.0",
|
|
67
|
+
"@owlmeans/resource": "^0.1.18-rc.26",
|
|
66
68
|
"@owlmeans/route": "^0.1.18-rc.25"
|
|
67
69
|
},
|
|
68
70
|
"publishConfig": {
|
package/src/ba/consts.ts
CHANGED
|
@@ -30,9 +30,8 @@ export enum ConnectingStoryKind {
|
|
|
30
30
|
* Which half of the analysis a story came from.
|
|
31
31
|
*
|
|
32
32
|
* `flow` stories implement the numbered steps of the main flow — each adds value to one record.
|
|
33
|
-
* `connective` stories are what a person needs to get from one step to the next.
|
|
34
|
-
*
|
|
35
|
-
* knows at creation time.
|
|
33
|
+
* `connective` stories are what a person needs to get from one step to the next. Persisted on the
|
|
34
|
+
* story card as `fields.kind`, so the distinction survives the pipeline that drew it.
|
|
36
35
|
*/
|
|
37
36
|
export enum StoryKind {
|
|
38
37
|
Flow = 'flow',
|
package/src/ba/helpers.ts
CHANGED
|
@@ -28,7 +28,8 @@ const canonical = (story: string): string => story.trim().replace(/\s+/g, ' ').t
|
|
|
28
28
|
*
|
|
29
29
|
* This is the only place the anchor is interpreted. Both halves of the feature — the prompt that
|
|
30
30
|
* produces it and the pipeline that persists the result — read it through here, or the two drift
|
|
31
|
-
* and nothing fails loudly enough to notice.
|
|
31
|
+
* and nothing fails loudly enough to notice. The CLAMPED anchor is carried out on each connective
|
|
32
|
+
* entry as `after`, which is what the story card's `follows` relationship is written from.
|
|
32
33
|
*
|
|
33
34
|
* Four properties are deliberate:
|
|
34
35
|
*
|
|
@@ -87,7 +88,7 @@ export const mergeConnectingStories = (
|
|
|
87
88
|
return flow.flatMap(({ story, area }, index) => [
|
|
88
89
|
{ story, area, kind: StoryKind.Flow },
|
|
89
90
|
...buckets[index]!.map(draft => (
|
|
90
|
-
{ story: draft.story.trim(), area: draft.area, kind: StoryKind.Connective }
|
|
91
|
+
{ story: draft.story.trim(), area: draft.area, kind: StoryKind.Connective, after: index + 1 }
|
|
91
92
|
)),
|
|
92
93
|
])
|
|
93
94
|
}
|
package/src/ba/types.ts
CHANGED
|
@@ -35,11 +35,14 @@ export interface ConnectingStoryList {
|
|
|
35
35
|
* One entry of the single ordered story list init persists — the flow interleaved with the
|
|
36
36
|
* stories that connect it.
|
|
37
37
|
*
|
|
38
|
-
* `kind`
|
|
39
|
-
*
|
|
38
|
+
* `kind` is persisted on the story card (`fields.kind`). `after` is present on a connective entry
|
|
39
|
+
* only and becomes the card's `follows` relationship: the 1-based position, counted among the
|
|
40
|
+
* `flow` entries of the same list, of the flow story it follows — already clamped, so it always
|
|
41
|
+
* names a flow story that list contains.
|
|
40
42
|
*/
|
|
41
43
|
export interface MergedStoryDraft extends StoryDraft {
|
|
42
44
|
kind: StoryKind
|
|
45
|
+
after?: number
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
export interface UserStory {
|
|
@@ -97,8 +100,20 @@ export interface Attribute {
|
|
|
97
100
|
description: string
|
|
98
101
|
}
|
|
99
102
|
|
|
103
|
+
/**
|
|
104
|
+
* The project BRIEF a generator reads — assembled from the project card and its specifications
|
|
105
|
+
* (`projectBriefOf`), never stored in this shape.
|
|
106
|
+
*/
|
|
100
107
|
export interface AgentProject {
|
|
101
108
|
name: string
|
|
109
|
+
/**
|
|
110
|
+
* The project card's `code` — the slug the platform minted and every generated address is
|
|
111
|
+
* composed from.
|
|
112
|
+
*
|
|
113
|
+
* Optional because a brief is also assembled before a project has one. A reader that needs a
|
|
114
|
+
* slug prefers this over re-deriving one from `name`: a rename changes the name, never the code.
|
|
115
|
+
*/
|
|
116
|
+
alias?: string
|
|
102
117
|
description: string
|
|
103
118
|
specification: string
|
|
104
119
|
designSystem: string
|
package/src/connect/consts.ts
CHANGED
|
@@ -382,6 +382,11 @@ export const RES_CONNECT_SESSION = 'connect-session'
|
|
|
382
382
|
* the manager API all address the same aliases, and a client that had to be handed its own copy of
|
|
383
383
|
* the tree would be a second place for a name to drift. The platform spreads the declarations
|
|
384
384
|
* these produce into its own entrypoint list and binds handlers onto them.
|
|
385
|
+
*
|
|
386
|
+
* There is no story group. A user story is a planning CARD, read and written through the planning
|
|
387
|
+
* protocol tree the platform mounts beside this one (`makePlanningProtocols` in
|
|
388
|
+
* `@owlmeans/planning`) — one surface for the browser and a connector alike, so a story rule the
|
|
389
|
+
* platform enforces cannot be enforced on one of them only.
|
|
385
390
|
*/
|
|
386
391
|
export const connect = Object.freeze({
|
|
387
392
|
base: 'viable:manager-api:connect:base',
|
|
@@ -424,14 +429,6 @@ export const connect = Object.freeze({
|
|
|
424
429
|
inquiry: Object.freeze({
|
|
425
430
|
answer: 'viable:manager-api:connect:inquiry:answer',
|
|
426
431
|
}),
|
|
427
|
-
story: Object.freeze({
|
|
428
|
-
list: 'viable:manager-api:connect:story:list',
|
|
429
|
-
get: 'viable:manager-api:connect:story:get',
|
|
430
|
-
create: 'viable:manager-api:connect:story:create',
|
|
431
|
-
update: 'viable:manager-api:connect:story:update',
|
|
432
|
-
delete: 'viable:manager-api:connect:story:delete',
|
|
433
|
-
develop: 'viable:manager-api:connect:story:develop',
|
|
434
|
-
}),
|
|
435
432
|
files: Object.freeze({
|
|
436
433
|
list: 'viable:manager-api:connect:files:list',
|
|
437
434
|
}),
|
|
@@ -9,15 +9,13 @@ import {
|
|
|
9
9
|
ConnectJobParamsSchema, ConnectModifyBodySchema, ConnectOpParamsSchema, ConnectOpResultSchema,
|
|
10
10
|
ConnectPipelineParamsSchema, ConnectPipelineResumeBodySchema, ConnectProjectIdSchema,
|
|
11
11
|
ConnectProjectLlmBodySchema, ConnectSessionOpenSchema, ConnectSessionParamsSchema,
|
|
12
|
-
|
|
13
|
-
InquiryAnswerSchema,
|
|
12
|
+
ConnectWaitQuerySchema, InquiryAnswerSchema,
|
|
14
13
|
} from './schemas.js'
|
|
15
14
|
import type {
|
|
16
15
|
ConnectAttachBody, ConnectConfirmBody, ConnectConvertCreateBody, ConnectConvertProceedBody,
|
|
17
16
|
ConnectCreateBody, ConnectInquiryAnswerBody, ConnectJob, ConnectJobParams, ConnectModifyBody,
|
|
18
17
|
ConnectPipelineParams, ConnectPipelineResumeBody, ConnectProjectLlmBody, ConnectSessionOpen,
|
|
19
|
-
ConnectSessionParams,
|
|
20
|
-
ConvertCheck,
|
|
18
|
+
ConnectSessionParams, ConnectWaitQuery, ConversionStatusView, ConvertCheck,
|
|
21
19
|
} from './types.js'
|
|
22
20
|
import type { ConnectOpResult } from './ops.js'
|
|
23
21
|
import type { ConverterProjectLlmBody } from '../convert/types.js'
|
|
@@ -198,43 +196,6 @@ export const connectProtocols = (opts: ConnectEntrypointOptions) => {
|
|
|
198
196
|
|
|
199
197
|
},
|
|
200
198
|
|
|
201
|
-
// --- stories ---------------------------------------------------------------------------
|
|
202
|
-
story: {
|
|
203
|
-
list: protocol(
|
|
204
|
-
route(connect.story.list, '/story/:id', { parent: base, method: RouteMethod.GET }),
|
|
205
|
-
contract.request({ params: typed<{ id: string }>(ConnectProjectIdSchema), query: typed<ConnectStoryQuery>(ConnectStoryQuerySchema) }, typed())
|
|
206
|
-
),
|
|
207
|
-
create: protocol(
|
|
208
|
-
route(connect.story.create, '/story/:id', { parent: base, method: RouteMethod.POST }),
|
|
209
|
-
contract.request({ params: typed<{ id: string }>(ConnectProjectIdSchema), body: typed<ConnectStoryBody>(ConnectStoryBodySchema) }, typed())
|
|
210
|
-
),
|
|
211
|
-
get: protocol(
|
|
212
|
-
route(connect.story.get, '/story/:id/:storyId', {
|
|
213
|
-
parent: base, method: RouteMethod.GET
|
|
214
|
-
}),
|
|
215
|
-
contract.request({ params: typed<{ id: string, storyId: string }>(ConnectStoryParamsSchema) }, typed())
|
|
216
|
-
),
|
|
217
|
-
update: protocol(
|
|
218
|
-
route(connect.story.update, '/story/:id/:storyId', {
|
|
219
|
-
parent: base, method: RouteMethod.PUT
|
|
220
|
-
}),
|
|
221
|
-
contract.request({ params: typed<{ id: string, storyId: string }>(ConnectStoryParamsSchema), body: typed<ConnectStoryBody>(ConnectStoryBodySchema) }, typed())
|
|
222
|
-
),
|
|
223
|
-
delete: protocol(
|
|
224
|
-
route(connect.story.delete, '/story/:id/:storyId', {
|
|
225
|
-
parent: base, method: RouteMethod.DELETE
|
|
226
|
-
}),
|
|
227
|
-
contract.request({ params: typed<{ id: string, storyId: string }>(ConnectStoryParamsSchema) }, typed())
|
|
228
|
-
),
|
|
229
|
-
develop: protocol(
|
|
230
|
-
route(connect.story.develop, '/story/:id/:storyId/develop', {
|
|
231
|
-
parent: base, method: RouteMethod.POST
|
|
232
|
-
}),
|
|
233
|
-
contract.request({ params: typed<{ id: string, storyId: string }>(ConnectStoryParamsSchema) }, typed())
|
|
234
|
-
),
|
|
235
|
-
|
|
236
|
-
},
|
|
237
|
-
|
|
238
199
|
// --- generated files and conversion ----------------------------------------------------
|
|
239
200
|
files: {
|
|
240
201
|
list: protocol(
|
package/src/connect/index.ts
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ConnectJobKind } from './consts.js'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The separator a job id is joined with.
|
|
5
|
+
*
|
|
6
|
+
* `~`, because every other separator in play is already spoken for: a route alias is
|
|
7
|
+
* colon-delimited and so is every run id (`init:<projectId>`, `story:<storyId>`), so a job id
|
|
8
|
+
* built with one could not be split back apart.
|
|
9
|
+
*/
|
|
10
|
+
export const JOB_SEPARATOR = '~'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A job's id: its kind, the project card it belongs to, and the subject it is about.
|
|
14
|
+
*
|
|
15
|
+
* The suffix is a CARD id for a story job and a run id for a pipeline job — never a story code.
|
|
16
|
+
* Declared here rather than by whoever answers the job, because the SDK composes the id it then
|
|
17
|
+
* polls for: two spellings of one id is a job nobody can find.
|
|
18
|
+
*/
|
|
19
|
+
export const jobIdOf = (kind: ConnectJobKind, projectId: string, suffix?: string): string =>
|
|
20
|
+
[kind, projectId, ...(suffix != null ? [suffix] : [])].join(JOB_SEPARATOR)
|
|
21
|
+
|
|
22
|
+
export interface ParsedJobId {
|
|
23
|
+
kind: ConnectJobKind
|
|
24
|
+
projectId: string
|
|
25
|
+
suffix?: string
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Split a job id back into what {@link jobIdOf} composed it from. */
|
|
29
|
+
export const parseJobId = (jobId: string): ParsedJobId => {
|
|
30
|
+
const [kind, projectId, ...rest] = jobId.split(JOB_SEPARATOR)
|
|
31
|
+
// A suffix may carry the separator back if one ever ends up in a card or run id, so the tail is
|
|
32
|
+
// rejoined rather than taken as its first segment.
|
|
33
|
+
const suffix = rest.length > 0 ? rest.join(JOB_SEPARATOR) : undefined
|
|
34
|
+
|
|
35
|
+
return {
|
|
36
|
+
kind: kind as ConnectJobKind,
|
|
37
|
+
projectId: projectId ?? '',
|
|
38
|
+
...(suffix != null ? { suffix } : {}),
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -10,8 +10,7 @@ import type {
|
|
|
10
10
|
ConnectModifyBody, ConnectOpSubmission, ConnectPipelineParams, ConnectPipelineResumeBody,
|
|
11
11
|
ConnectPipelineState, ConnectProjectLlmBody, ConnectProjectSettings, ConnectProjectStatus,
|
|
12
12
|
ConnectProjectSummary, ConnectSessionOpen, ConnectSessionParams, ConnectSessionView,
|
|
13
|
-
|
|
14
|
-
ConnectStoryQuery, ConnectWaitQuery, ConversionStatusView, ConvertCheck,
|
|
13
|
+
ConnectWaitQuery, ConversionStatusView, ConvertCheck,
|
|
15
14
|
} from './types.js'
|
|
16
15
|
|
|
17
16
|
type ConnectReference<Request extends RequestShape, Response> =
|
|
@@ -47,16 +46,6 @@ export interface ConnectReferences {
|
|
|
47
46
|
}, ConnectProjectSettings>
|
|
48
47
|
job: ConnectReference<{ params: ConnectJobParams, query: ConnectWaitQuery }, ConnectJob>
|
|
49
48
|
}
|
|
50
|
-
story: {
|
|
51
|
-
list: ConnectReference<{ params: { id: string }, query: ConnectStoryQuery }, ConnectStoryList>
|
|
52
|
-
get: ConnectReference<{ params: { id: string, storyId: string } }, ConnectStoryItem>
|
|
53
|
-
create: ConnectReference<{ params: { id: string }, body: ConnectStoryBody }, ConnectStoryMutation>
|
|
54
|
-
update: ConnectReference<{
|
|
55
|
-
params: { id: string, storyId: string }, body: ConnectStoryBody
|
|
56
|
-
}, ConnectStoryMutation>
|
|
57
|
-
delete: ConnectReference<{ params: { id: string, storyId: string } }, ConnectStoryDeletion>
|
|
58
|
-
develop: ConnectReference<{ params: { id: string, storyId: string } }, ConnectJob>
|
|
59
|
-
}
|
|
60
49
|
files: {
|
|
61
50
|
list: ConnectReference<{ params: { id: string } }, string[]>
|
|
62
51
|
}
|
|
@@ -139,16 +128,6 @@ export const connectRef: ConnectReferences = {
|
|
|
139
128
|
params: { id: string, inquiryId: string }, body: ConnectInquiryAnswerBody
|
|
140
129
|
}, unknown>(connect.inquiry.answer),
|
|
141
130
|
},
|
|
142
|
-
story: {
|
|
143
|
-
list: entrypointRef<{ params: { id: string }, query: ConnectStoryQuery }, ConnectStoryList>(connect.story.list),
|
|
144
|
-
get: entrypointRef<{ params: { id: string, storyId: string } }, ConnectStoryItem>(connect.story.get),
|
|
145
|
-
create: entrypointRef<{ params: { id: string }, body: ConnectStoryBody }, ConnectStoryMutation>(connect.story.create),
|
|
146
|
-
update: entrypointRef<{
|
|
147
|
-
params: { id: string, storyId: string }, body: ConnectStoryBody
|
|
148
|
-
}, ConnectStoryMutation>(connect.story.update),
|
|
149
|
-
delete: entrypointRef<{ params: { id: string, storyId: string } }, ConnectStoryDeletion>(connect.story.delete),
|
|
150
|
-
develop: entrypointRef<{ params: { id: string, storyId: string } }, ConnectJob>(connect.story.develop),
|
|
151
|
-
},
|
|
152
131
|
files: {
|
|
153
132
|
list: entrypointRef<{ params: { id: string } }, string[]>(connect.files.list),
|
|
154
133
|
},
|
package/src/connect/schemas.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
ConnectAttachBody, ConnectConfirmBody, ConnectConvertCreateBody, ConnectConvertProceedBody,
|
|
10
10
|
ConnectCreateBody, ConnectJobParams, ConnectLlmBody, ConnectModifyBody, ConnectPipelineParams,
|
|
11
11
|
ConnectPipelineResumeBody, ConnectProjectLlmBody, ConnectSession, ConnectSessionOpen,
|
|
12
|
-
ConnectSessionParams,
|
|
12
|
+
ConnectSessionParams, ConnectWaitQuery
|
|
13
13
|
} from './types.js'
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -26,7 +26,6 @@ import type {
|
|
|
26
26
|
*/
|
|
27
27
|
|
|
28
28
|
const idValue = { type: 'string', minLength: 1, maxLength: 128 } as const
|
|
29
|
-
const textValue = { type: 'string', minLength: 1, maxLength: 65536 } as const
|
|
30
29
|
|
|
31
30
|
export const ConnectCapabilitiesSchema = {
|
|
32
31
|
type: 'object',
|
|
@@ -156,13 +155,6 @@ export const ConnectProjectIdSchema = {
|
|
|
156
155
|
additionalProperties: false,
|
|
157
156
|
} as JSONSchemaType<{ id: string }>
|
|
158
157
|
|
|
159
|
-
export const ConnectStoryParamsSchema = {
|
|
160
|
-
type: 'object',
|
|
161
|
-
properties: { id: idValue, storyId: idValue },
|
|
162
|
-
required: ['id', 'storyId'],
|
|
163
|
-
additionalProperties: false,
|
|
164
|
-
} as JSONSchemaType<{ id: string, storyId: string }>
|
|
165
|
-
|
|
166
158
|
export const ConnectOpParamsSchema = {
|
|
167
159
|
type: 'object',
|
|
168
160
|
properties: { sessionId: idValue, opId: idValue },
|
|
@@ -177,19 +169,6 @@ export const ConnectJobParamsSchema = {
|
|
|
177
169
|
additionalProperties: false,
|
|
178
170
|
} as JSONSchemaType<ConnectJobParams>
|
|
179
171
|
|
|
180
|
-
export const ConnectStoryQuerySchema = {
|
|
181
|
-
type: 'object',
|
|
182
|
-
properties: {
|
|
183
|
-
page: { type: 'integer', minimum: 0, nullable: true },
|
|
184
|
-
size: { type: 'integer', minimum: 1, maximum: 100, nullable: true },
|
|
185
|
-
status: { type: 'string', maxLength: 32, nullable: true },
|
|
186
|
-
area: { type: 'string', maxLength: 32, nullable: true },
|
|
187
|
-
q: { type: 'string', maxLength: 256, nullable: true },
|
|
188
|
-
},
|
|
189
|
-
required: [],
|
|
190
|
-
additionalProperties: false,
|
|
191
|
-
} as JSONSchemaType<ConnectStoryQuery>
|
|
192
|
-
|
|
193
172
|
export const ConnectCreateBodySchema = {
|
|
194
173
|
type: 'object',
|
|
195
174
|
properties: {
|
|
@@ -207,6 +186,7 @@ export const ConnectConfirmBodySchema = {
|
|
|
207
186
|
description: { type: 'string', maxLength: 16384, nullable: true },
|
|
208
187
|
specification: { type: 'string', maxLength: 262144, nullable: true },
|
|
209
188
|
vision: { type: 'string', maxLength: 16384, nullable: true },
|
|
189
|
+
designSystem: { type: 'string', maxLength: 262144, nullable: true },
|
|
210
190
|
target: { type: 'string', enum: [...Object.values(ConnectTarget), null], nullable: true },
|
|
211
191
|
},
|
|
212
192
|
required: [],
|
|
@@ -220,13 +200,6 @@ export const ConnectModifyBodySchema = {
|
|
|
220
200
|
additionalProperties: false,
|
|
221
201
|
} as JSONSchemaType<ConnectModifyBody>
|
|
222
202
|
|
|
223
|
-
export const ConnectStoryBodySchema = {
|
|
224
|
-
type: 'object',
|
|
225
|
-
properties: { story: textValue },
|
|
226
|
-
required: ['story'],
|
|
227
|
-
additionalProperties: false,
|
|
228
|
-
} as JSONSchemaType<ConnectStoryBody>
|
|
229
|
-
|
|
230
203
|
export const ConnectAttachBodySchema = {
|
|
231
204
|
type: 'object',
|
|
232
205
|
properties: {
|