@owlmeans/viable-common 0.0.27 → 0.0.29
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 +3 -3
- 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 +2 -2
- package/build/blueprint/case.js +8 -8
- package/build/blueprint/case.js.map +1 -1
- package/build/blueprint/types.d.ts +10 -0
- package/build/blueprint/types.d.ts.map +1 -1
- package/build/skills/catalogue.d.ts.map +1 -1
- package/build/skills/catalogue.js +46 -5
- package/build/skills/catalogue.js.map +1 -1
- package/build/skills/consts.d.ts +3 -0
- package/build/skills/consts.d.ts.map +1 -1
- package/build/skills/consts.js +7 -0
- package/build/skills/consts.js.map +1 -1
- package/package.json +8 -8
- package/src/blueprint/case.ts +8 -8
- package/src/blueprint/types.ts +10 -0
- package/src/skills/catalogue.ts +47 -5
- package/src/skills/consts.ts +8 -0
- package/tests/blueprint.spec.ts +1 -1
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.
|
|
24
|
+
bun add @owlmeans/viable-common@^0.0.29
|
|
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.
|
|
42
|
+
`npx -y @owlmeans/viable-mcp@^0.1.18-rc.25` 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.
|
|
62
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.33
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/viable-common",
|
|
4
|
-
"version": "0.0.
|
|
5
|
-
"generatedAt": "2026-09-
|
|
4
|
+
"version": "0.0.29",
|
|
5
|
+
"generatedAt": "2026-09-22T17:37:10.925Z",
|
|
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.
|
|
9
|
+
**Install:** `"@owlmeans/viable-common": "^0.0.29"` 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.
|
|
11
|
+
**Install:** `"@owlmeans/viable-common": "^0.0.29"` in `dependencies`
|
|
12
12
|
**Subpaths:** `.` · `./slot` · `./connect` · `./convert` · `./integrity`
|
|
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`,
|
|
@@ -253,7 +253,7 @@ code, never as `minItems`/`maxItems`. The descriptions are what the planning mod
|
|
|
253
253
|
state each field's purpose and bounds; `gate.target` is filled by code and described as such.
|
|
254
254
|
|
|
255
255
|
**A field that crosses a version skew carries no `enum`.** Users run
|
|
256
|
-
`npx -y @owlmeans/viable-mcp@^0.1.18-rc.
|
|
256
|
+
`npx -y @owlmeans/viable-mcp@^0.1.18-rc.25` (the moving prerelease tag) against a separately deployed
|
|
257
257
|
platform, so `ConnectCapabilitiesSchema.executors.items`
|
|
258
258
|
is a bare string: a newer executor kind must stay an unused capability on an older platform, never
|
|
259
259
|
a refused session. Apply the same reasoning to anything else a newer connector may send an older
|
package/build/blueprint/case.js
CHANGED
|
@@ -46,8 +46,8 @@ export var GameKind;
|
|
|
46
46
|
/** What every AI case installs. The langchain peers are declared here, at ONE range. */
|
|
47
47
|
const AI_DEPS = {
|
|
48
48
|
[SubProject.Backend]: {
|
|
49
|
-
'@owlmeans/llm': '^0.1.18-rc.
|
|
50
|
-
'@owlmeans/agent': '^0.1.18-rc.
|
|
49
|
+
'@owlmeans/llm': '^0.1.18-rc.32',
|
|
50
|
+
'@owlmeans/agent': '^0.1.18-rc.33',
|
|
51
51
|
'@langchain/core': '^1.2.9',
|
|
52
52
|
'@langchain/anthropic': '^1.5.8',
|
|
53
53
|
'@langchain/openai': '^1.5.10',
|
|
@@ -163,7 +163,7 @@ party, nothing walks an unbounded set, nothing is scheduled. Most products are t
|
|
|
163
163
|
`.trim(),
|
|
164
164
|
patch: {
|
|
165
165
|
packages: {
|
|
166
|
-
capabilities: { postgres: true, kv: false, queue: false, worker: false, agents: false, validation: true },
|
|
166
|
+
capabilities: { postgres: true, kv: false, queue: false, worker: false, agents: false, validation: true, marketingConsent: true },
|
|
167
167
|
personaSkills: LANDING_GATE_PERSONA_SKILLS,
|
|
168
168
|
},
|
|
169
169
|
experience: ENCOURAGE_GATE,
|
|
@@ -184,7 +184,7 @@ to call a model at all.
|
|
|
184
184
|
`.trim(),
|
|
185
185
|
patch: {
|
|
186
186
|
packages: {
|
|
187
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true },
|
|
187
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true, marketingConsent: true },
|
|
188
188
|
personaSkills: PRODUCER_PERSONA_SKILLS,
|
|
189
189
|
},
|
|
190
190
|
// Neutral: the named off-request part is usually operator-side work, and whether a guest
|
|
@@ -206,7 +206,7 @@ application, and never merely a scalable one.
|
|
|
206
206
|
`.trim(),
|
|
207
207
|
patch: {
|
|
208
208
|
packages: {
|
|
209
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true },
|
|
209
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true, marketingConsent: true },
|
|
210
210
|
deps: AI_DEPS,
|
|
211
211
|
libraries: AI_LIBRARIES,
|
|
212
212
|
skills: AI_SKILLS,
|
|
@@ -226,11 +226,11 @@ in advance.
|
|
|
226
226
|
`.trim(),
|
|
227
227
|
patch: {
|
|
228
228
|
packages: {
|
|
229
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true },
|
|
229
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true, marketingConsent: true },
|
|
230
230
|
deps: {
|
|
231
231
|
[SubProject.Backend]: {
|
|
232
232
|
...AI_DEPS[SubProject.Backend],
|
|
233
|
-
'@owlmeans/agent-skills': '^0.1.18-rc.
|
|
233
|
+
'@owlmeans/agent-skills': '^0.1.18-rc.32',
|
|
234
234
|
},
|
|
235
235
|
},
|
|
236
236
|
libraries: AI_LIBRARIES,
|
|
@@ -253,7 +253,7 @@ is not it.
|
|
|
253
253
|
`.trim(),
|
|
254
254
|
patch: {
|
|
255
255
|
packages: {
|
|
256
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true },
|
|
256
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true, marketingConsent: true },
|
|
257
257
|
deps: {
|
|
258
258
|
[SubProject.Web]: { three: '^0.186.0', '@types/three': '^0.185.4' },
|
|
259
259
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case.js","sourceRoot":"","sources":["../../src/blueprint/case.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"case.js","sourceRoot":"","sources":["../../src/blueprint/case.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,6 +200,16 @@ export interface BlueprintCapabilities {
|
|
|
200
200
|
agents: boolean;
|
|
201
201
|
/** Request-body validation from generated AJV schemas. */
|
|
202
202
|
validation: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* The marketing-consent ledger (`@owlmeans/marketing-consent` + `@owlmeans/web-marketing-consent`
|
|
205
|
+
* + `@owlmeans/server-marketing-consent` + a database extension) — the post-sign-in consent step,
|
|
206
|
+
* the settings control, and the server-side `isGranted` checks a story's sends and shares must
|
|
207
|
+
* honor. Required on every case today: a target that sends marketing communications, profiles
|
|
208
|
+
* behaviour, shares data with partners or loads a tracker needs this regardless of what kind of
|
|
209
|
+
* product it is: the case only decides HOW the target uses what the capability turns on, never
|
|
210
|
+
* whether the capability itself is reachable.
|
|
211
|
+
*/
|
|
212
|
+
marketingConsent: boolean;
|
|
203
213
|
}
|
|
204
214
|
/** A partial override of a blueprint, deep-merged over the resolved value. */
|
|
205
215
|
export type BlueprintPatch = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blueprint/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/blueprint/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../src/skills/catalogue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAe,WAAW,EAAE,MAAM,aAAa,CAAA;AAgBtD,2FAA2F;AAC3F,eAAO,MAAM,eAAe,SAAU,MAAM,EAAE,KAAG,MACuC,CAAA;AAKxF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,UAAU,CAAA;AACxC,eAAO,MAAM,kBAAkB,UAE9B,CAAA;AACD,eAAO,MAAM,sBAAsB,UAKlC,CAAA;AACD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,UAE9B,CAAA;AACD,eAAO,MAAM,iBAAiB,UAAmE,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,UAEzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAgD,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAUrB,CAAA;AAER,eAAO,MAAM,aAAa,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../src/skills/catalogue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAe,WAAW,EAAE,MAAM,aAAa,CAAA;AAgBtD,2FAA2F;AAC3F,eAAO,MAAM,eAAe,SAAU,MAAM,EAAE,KAAG,MACuC,CAAA;AAKxF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,UAAU,CAAA;AACxC,eAAO,MAAM,kBAAkB,UAE9B,CAAA;AACD,eAAO,MAAM,sBAAsB,UAKlC,CAAA;AACD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,UAE9B,CAAA;AACD,eAAO,MAAM,iBAAiB,UAAmE,CAAA;AAEjG;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,UAEzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAgD,CAAA;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAUrB,CAAA;AAER,eAAO,MAAM,aAAa,EAAE,eAAe,EA8rD1C,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,WAAW,UAAW,WAAW,KAAG,eACI,CAAA"}
|
|
@@ -801,11 +801,14 @@ would be, and it REPLACES them.
|
|
|
801
801
|
- in the \`user\` area — the signed-in END user's own workflow, never an operator's, an owner's or
|
|
802
802
|
one a guest already completes without signing in;
|
|
803
803
|
- a FIRST-VALUE step — something useful comes out of it the moment the guest acts;
|
|
804
|
-
-
|
|
805
|
-
address, an upload, contact details or anything else about the person
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
804
|
+
- BEGUN with NON-SENSITIVE input — a few picks, a filter, a short text. Its FIRST input is never a
|
|
805
|
+
payment, an address, an upload, contact details or anything else about the person; later steps
|
|
806
|
+
may need those, because they happen after signing in.
|
|
807
|
+
A pantry-to-recipe finder is gate-worthy: pick ingredients, see what you can bake. So is writing a
|
|
808
|
+
post with photos, begun by picking what it is about; checking out a basket, setting up a profile or
|
|
809
|
+
reviewing a queue of requests is not. Nearly every product whose end user acts for themselves has
|
|
810
|
+
such a step: when none of its stories is phrased that way, the analyst WRITES that story for the
|
|
811
|
+
gate, and a product without a gate is the exception.
|
|
809
812
|
|
|
810
813
|
**The card.** The sketch is \`@/components/home/gate\`; the implemented one is
|
|
811
814
|
\`@/components/home/landing-gate\` and exports the same \`LandingGate\` with the same props.
|
|
@@ -1712,6 +1715,44 @@ player, rebuilding a leaderboard — is a job. No realtime anything.
|
|
|
1712
1715
|
updates rather than snapped.
|
|
1713
1716
|
- Anything the outcome depends on — damage, scoring, currency, who won — is decided on the
|
|
1714
1717
|
server and nowhere else.
|
|
1718
|
+
`),
|
|
1719
|
+
skill(ViableSkill.MarketingConsent, 'Marketing consent — the eight standard keys', `
|
|
1720
|
+
This application ships \`@owlmeans/marketing-consent\` wired by \`@owlmeans/web-marketing-consent\`
|
|
1721
|
+
and \`@owlmeans/server-marketing-consent\`: a post-sign-in step, a "Privacy choices" settings
|
|
1722
|
+
screen, and a server-side ledger. Everything about consent already exists — never build a second
|
|
1723
|
+
one.
|
|
1724
|
+
|
|
1725
|
+
**The eight standard keys**, each independently opt-in and unchecked until the person says
|
|
1726
|
+
otherwise: \`marketing.email\`, \`marketing.sms\`, \`marketing.phone\`, \`marketing.push\` (which
|
|
1727
|
+
channel may send promotional messages), \`data.profiling\` (personalising from behaviour),
|
|
1728
|
+
\`data.partners\` (sharing with another company for ITS OWN marketing), \`trackers.analytics\` and
|
|
1729
|
+
\`trackers.advertising\` (already bridged to the cookie-consent categories — never build a second
|
|
1730
|
+
cookie banner or duplicate that bridge).
|
|
1731
|
+
|
|
1732
|
+
**Never build your own.** No new consent table, flag, checkbox, pre-ticked box, "I agree to
|
|
1733
|
+
marketing" toggle, or cookie dialog. No sign-in-time bundling of consent with the terms checkbox —
|
|
1734
|
+
they are two different questions with two different lawful bases, kept apart on purpose. Consent
|
|
1735
|
+
is never a condition of using the product: a person who declines everything still gets a working
|
|
1736
|
+
account.
|
|
1737
|
+
|
|
1738
|
+
**Every send and every share checks the RECIPIENT's grant, at the moment it acts — never the
|
|
1739
|
+
sender's, never a cached value from earlier in the request.** A campaign email checks
|
|
1740
|
+
\`marketing.email\`; an SMS reminder checks \`marketing.sms\`; handing a record to another company
|
|
1741
|
+
checks \`data.partners\`. An absent record reads as NOT granted — never assume consent because a
|
|
1742
|
+
person signed up, imported a contact, or has not yet been asked. A withdrawal takes effect on the
|
|
1743
|
+
very next send; nothing already queued is exempt.
|
|
1744
|
+
|
|
1745
|
+
**Service messages are never gated.** A password reset, a receipt, a delivery notice, an
|
|
1746
|
+
account-security alert, an invite the person themselves triggered — none of these are "marketing"
|
|
1747
|
+
and none of them ever consult this ledger. Gating a service message on marketing consent is itself
|
|
1748
|
+
a bug: it makes the product not work for someone who declined an unrelated choice.
|
|
1749
|
+
|
|
1750
|
+
**Every marketing message links to Privacy choices**, the standing control that changes a decision
|
|
1751
|
+
at any time — reference it as an alias, never write a fresh URL.
|
|
1752
|
+
|
|
1753
|
+
**A new channel or purpose the product genuinely needs** — a notification type this catalogue does
|
|
1754
|
+
not name — is one line in the target's marketing-consent config, above its own sentinel; it is
|
|
1755
|
+
never invented inline in a component or a handler.
|
|
1715
1756
|
`),
|
|
1716
1757
|
libraries(ViableSkill.LibrariesCommon, 'Libraries — shared code', commonLibraryList),
|
|
1717
1758
|
libraries(ViableSkill.LibrariesUiState, 'Libraries — UI state', uiStateLibraryList),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogue.js","sourceRoot":"","sources":["../../src/skills/catalogue.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"catalogue.js","sourceRoot":"","sources":["../../src/skills/catalogue.ts"],"names":[],"mappings":"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"}
|
package/build/skills/consts.d.ts
CHANGED
|
@@ -65,6 +65,9 @@ export declare enum ViableSkill {
|
|
|
65
65
|
GameNetworking = "game-networking",
|
|
66
66
|
LayoutDefinition = "layout-definition",
|
|
67
67
|
ScreenDefinition = "screen-definition",
|
|
68
|
+
/** The marketing-consent ledger: the 8 standard keys, never build a custom consent UI, check
|
|
69
|
+
* the RECIPIENT's grant server-side before a send or a share. */
|
|
70
|
+
MarketingConsent = "marketing-consent",
|
|
68
71
|
LibrariesCommon = "libraries-common",
|
|
69
72
|
LibrariesUiState = "libraries-ui-state",
|
|
70
73
|
LibrariesUi = "libraries-ui",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/skills/consts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB,gDAAgD;IAChD,gBAAgB,uBAAuB;IACvC,0CAA0C;IAC1C,cAAc,qBAAqB;IACnC,qCAAqC;IACrC,eAAe,qBAAqB;IACpC,kFAAkF;IAClF,aAAa,oBAAoB;IACjC,wEAAwE;IACxE,mBAAmB,0BAA0B;IAE7C,OAAO,aAAa;IACpB,SAAS,eAAe;IAExB,eAAe,qBAAqB;IACpC,mBAAmB,yBAAyB;IAC5C,WAAW,iBAAiB;IAC5B,uFAAuF;IACvF,eAAe,qBAAqB;IACpC,QAAQ,cAAc;IACtB,aAAa,mBAAmB;IAChC,iGAAiG;IACjG,YAAY,kBAAkB;IAC9B,WAAW,iBAAiB;IAC5B,eAAe,qBAAqB;IACpC;;;OAGG;IACH,WAAW,iBAAiB;IAE5B,aAAa,mBAAmB;IAChC,eAAe,qBAAqB;IACpC,kBAAkB,wBAAwB;IAC1C,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;IACpC,gBAAgB,sBAAsB;IACtC,eAAe,qBAAqB;IAEpC,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAE9B,sFAAsF;IACtF,eAAe,qBAAqB;IACpC,gFAAgF;IAChF,UAAU,gBAAgB;IAC1B,4EAA4E;IAC5E,YAAY,kBAAkB;IAE9B,uFAAuF;IACvF,aAAa,mBAAmB;IAChC,wEAAwE;IACxE,SAAS,eAAe;IACxB,iFAAiF;IACjF,gBAAgB,uBAAuB;IAEvC,wDAAwD;IACxD,UAAU,gBAAgB;IAC1B,uEAAuE;IACvE,SAAS,eAAe;IACxB,sFAAsF;IACtF,MAAM,YAAY;IAClB,kFAAkF;IAClF,cAAc,oBAAoB;IAElC,gBAAgB,sBAAsB;IACtC,gBAAgB,sBAAsB;IAEtC,eAAe,qBAAqB;IACpC,gBAAgB,uBAAuB;IACvC,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/skills/consts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB,gDAAgD;IAChD,gBAAgB,uBAAuB;IACvC,0CAA0C;IAC1C,cAAc,qBAAqB;IACnC,qCAAqC;IACrC,eAAe,qBAAqB;IACpC,kFAAkF;IAClF,aAAa,oBAAoB;IACjC,wEAAwE;IACxE,mBAAmB,0BAA0B;IAE7C,OAAO,aAAa;IACpB,SAAS,eAAe;IAExB,eAAe,qBAAqB;IACpC,mBAAmB,yBAAyB;IAC5C,WAAW,iBAAiB;IAC5B,uFAAuF;IACvF,eAAe,qBAAqB;IACpC,QAAQ,cAAc;IACtB,aAAa,mBAAmB;IAChC,iGAAiG;IACjG,YAAY,kBAAkB;IAC9B,WAAW,iBAAiB;IAC5B,eAAe,qBAAqB;IACpC;;;OAGG;IACH,WAAW,iBAAiB;IAE5B,aAAa,mBAAmB;IAChC,eAAe,qBAAqB;IACpC,kBAAkB,wBAAwB;IAC1C,cAAc,oBAAoB;IAClC,eAAe,qBAAqB;IACpC,gBAAgB,sBAAsB;IACtC,eAAe,qBAAqB;IAEpC,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAE9B,sFAAsF;IACtF,eAAe,qBAAqB;IACpC,gFAAgF;IAChF,UAAU,gBAAgB;IAC1B,4EAA4E;IAC5E,YAAY,kBAAkB;IAE9B,uFAAuF;IACvF,aAAa,mBAAmB;IAChC,wEAAwE;IACxE,SAAS,eAAe;IACxB,iFAAiF;IACjF,gBAAgB,uBAAuB;IAEvC,wDAAwD;IACxD,UAAU,gBAAgB;IAC1B,uEAAuE;IACvE,SAAS,eAAe;IACxB,sFAAsF;IACtF,MAAM,YAAY;IAClB,kFAAkF;IAClF,cAAc,oBAAoB;IAElC,gBAAgB,sBAAsB;IACtC,gBAAgB,sBAAsB;IAEtC;qEACiE;IACjE,gBAAgB,sBAAsB;IAEtC,eAAe,qBAAqB;IACpC,gBAAgB,uBAAuB;IACvC,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAmDnD,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,EAe/C,CAAA;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,WACrB,WAAW,EAAE,YAAY,WAAW,EAAE,KAC7C,WAAW,EAKb,CAAA"}
|
package/build/skills/consts.js
CHANGED
|
@@ -66,6 +66,9 @@ export var ViableSkill;
|
|
|
66
66
|
ViableSkill["GameNetworking"] = "game-networking";
|
|
67
67
|
ViableSkill["LayoutDefinition"] = "layout-definition";
|
|
68
68
|
ViableSkill["ScreenDefinition"] = "screen-definition";
|
|
69
|
+
/** The marketing-consent ledger: the 8 standard keys, never build a custom consent UI, check
|
|
70
|
+
* the RECIPIENT's grant server-side before a send or a share. */
|
|
71
|
+
ViableSkill["MarketingConsent"] = "marketing-consent";
|
|
69
72
|
ViableSkill["LibrariesCommon"] = "libraries-common";
|
|
70
73
|
ViableSkill["LibrariesUiState"] = "libraries-ui-state";
|
|
71
74
|
ViableSkill["LibrariesUi"] = "libraries-ui";
|
|
@@ -98,6 +101,10 @@ export const SKILL_ORDER = {
|
|
|
98
101
|
// After the frontend rules it builds on (entrypoints, nav, shadcn, form feedback, the store), and
|
|
99
102
|
// before the backend block — it is only ever carried by analysis and frontend personas.
|
|
100
103
|
[ViableSkill.LandingGate]: 56,
|
|
104
|
+
// Analysis and frontend read it the same way LandingGate is read — after the frontend rules it
|
|
105
|
+
// references (nav, shadcn) — and a backend coder reads it as a server-side check, so it sits
|
|
106
|
+
// just ahead of the backend block for either audience.
|
|
107
|
+
[ViableSkill.MarketingConsent]: 57,
|
|
101
108
|
[ViableSkill.ResourceLayer]: 60,
|
|
102
109
|
[ViableSkill.ResourceResults]: 62,
|
|
103
110
|
[ViableSkill.ResourceMigrations]: 64,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/skills/consts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/skills/consts.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.29",
|
|
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",
|
|
@@ -59,13 +59,13 @@
|
|
|
59
59
|
"typescript": "^7.0.2"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@owlmeans/agent-common": "^0.1.18-rc.
|
|
63
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
64
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
65
|
-
"@owlmeans/llm-common": "^0.1.18-rc.
|
|
66
|
-
"@owlmeans/planning": "^0.1.18-rc.
|
|
67
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
68
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
62
|
+
"@owlmeans/agent-common": "^0.1.18-rc.36",
|
|
63
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.32",
|
|
64
|
+
"@owlmeans/error": "^0.1.18-rc.31",
|
|
65
|
+
"@owlmeans/llm-common": "^0.1.18-rc.32",
|
|
66
|
+
"@owlmeans/planning": "^0.1.18-rc.5",
|
|
67
|
+
"@owlmeans/resource": "^0.1.18-rc.31",
|
|
68
|
+
"@owlmeans/route": "^0.1.18-rc.30"
|
|
69
69
|
},
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
package/src/blueprint/case.ts
CHANGED
|
@@ -62,8 +62,8 @@ export interface BlueprintCaseDefinition {
|
|
|
62
62
|
/** What every AI case installs. The langchain peers are declared here, at ONE range. */
|
|
63
63
|
const AI_DEPS = {
|
|
64
64
|
[SubProject.Backend]: {
|
|
65
|
-
'@owlmeans/llm': '^0.1.18-rc.
|
|
66
|
-
'@owlmeans/agent': '^0.1.18-rc.
|
|
65
|
+
'@owlmeans/llm': '^0.1.18-rc.32',
|
|
66
|
+
'@owlmeans/agent': '^0.1.18-rc.33',
|
|
67
67
|
'@langchain/core': '^1.2.9',
|
|
68
68
|
'@langchain/anthropic': '^1.5.8',
|
|
69
69
|
'@langchain/openai': '^1.5.10',
|
|
@@ -191,7 +191,7 @@ party, nothing walks an unbounded set, nothing is scheduled. Most products are t
|
|
|
191
191
|
`.trim(),
|
|
192
192
|
patch: {
|
|
193
193
|
packages: {
|
|
194
|
-
capabilities: { postgres: true, kv: false, queue: false, worker: false, agents: false, validation: true },
|
|
194
|
+
capabilities: { postgres: true, kv: false, queue: false, worker: false, agents: false, validation: true, marketingConsent: true },
|
|
195
195
|
personaSkills: LANDING_GATE_PERSONA_SKILLS,
|
|
196
196
|
},
|
|
197
197
|
experience: ENCOURAGE_GATE,
|
|
@@ -213,7 +213,7 @@ to call a model at all.
|
|
|
213
213
|
`.trim(),
|
|
214
214
|
patch: {
|
|
215
215
|
packages: {
|
|
216
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true },
|
|
216
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true, marketingConsent: true },
|
|
217
217
|
personaSkills: PRODUCER_PERSONA_SKILLS,
|
|
218
218
|
},
|
|
219
219
|
// Neutral: the named off-request part is usually operator-side work, and whether a guest
|
|
@@ -236,7 +236,7 @@ application, and never merely a scalable one.
|
|
|
236
236
|
`.trim(),
|
|
237
237
|
patch: {
|
|
238
238
|
packages: {
|
|
239
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true },
|
|
239
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true, marketingConsent: true },
|
|
240
240
|
deps: AI_DEPS,
|
|
241
241
|
libraries: AI_LIBRARIES,
|
|
242
242
|
skills: AI_SKILLS,
|
|
@@ -257,11 +257,11 @@ in advance.
|
|
|
257
257
|
`.trim(),
|
|
258
258
|
patch: {
|
|
259
259
|
packages: {
|
|
260
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true },
|
|
260
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: true, validation: true, marketingConsent: true },
|
|
261
261
|
deps: {
|
|
262
262
|
[SubProject.Backend]: {
|
|
263
263
|
...AI_DEPS[SubProject.Backend],
|
|
264
|
-
'@owlmeans/agent-skills': '^0.1.18-rc.
|
|
264
|
+
'@owlmeans/agent-skills': '^0.1.18-rc.32',
|
|
265
265
|
},
|
|
266
266
|
},
|
|
267
267
|
libraries: AI_LIBRARIES,
|
|
@@ -285,7 +285,7 @@ is not it.
|
|
|
285
285
|
`.trim(),
|
|
286
286
|
patch: {
|
|
287
287
|
packages: {
|
|
288
|
-
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true },
|
|
288
|
+
capabilities: { postgres: true, kv: true, queue: true, worker: true, agents: false, validation: true, marketingConsent: true },
|
|
289
289
|
deps: {
|
|
290
290
|
[SubProject.Web]: { three: '^0.186.0', '@types/three': '^0.185.4' },
|
|
291
291
|
},
|
package/src/blueprint/types.ts
CHANGED
|
@@ -231,6 +231,16 @@ export interface BlueprintCapabilities {
|
|
|
231
231
|
agents: boolean
|
|
232
232
|
/** Request-body validation from generated AJV schemas. */
|
|
233
233
|
validation: boolean
|
|
234
|
+
/**
|
|
235
|
+
* The marketing-consent ledger (`@owlmeans/marketing-consent` + `@owlmeans/web-marketing-consent`
|
|
236
|
+
* + `@owlmeans/server-marketing-consent` + a database extension) — the post-sign-in consent step,
|
|
237
|
+
* the settings control, and the server-side `isGranted` checks a story's sends and shares must
|
|
238
|
+
* honor. Required on every case today: a target that sends marketing communications, profiles
|
|
239
|
+
* behaviour, shares data with partners or loads a tracker needs this regardless of what kind of
|
|
240
|
+
* product it is: the case only decides HOW the target uses what the capability turns on, never
|
|
241
|
+
* whether the capability itself is reachable.
|
|
242
|
+
*/
|
|
243
|
+
marketingConsent: boolean
|
|
234
244
|
}
|
|
235
245
|
|
|
236
246
|
/** A partial override of a blueprint, deep-merged over the resolved value. */
|
package/src/skills/catalogue.ts
CHANGED
|
@@ -832,11 +832,14 @@ would be, and it REPLACES them.
|
|
|
832
832
|
- in the \`user\` area — the signed-in END user's own workflow, never an operator's, an owner's or
|
|
833
833
|
one a guest already completes without signing in;
|
|
834
834
|
- a FIRST-VALUE step — something useful comes out of it the moment the guest acts;
|
|
835
|
-
-
|
|
836
|
-
address, an upload, contact details or anything else about the person
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
835
|
+
- BEGUN with NON-SENSITIVE input — a few picks, a filter, a short text. Its FIRST input is never a
|
|
836
|
+
payment, an address, an upload, contact details or anything else about the person; later steps
|
|
837
|
+
may need those, because they happen after signing in.
|
|
838
|
+
A pantry-to-recipe finder is gate-worthy: pick ingredients, see what you can bake. So is writing a
|
|
839
|
+
post with photos, begun by picking what it is about; checking out a basket, setting up a profile or
|
|
840
|
+
reviewing a queue of requests is not. Nearly every product whose end user acts for themselves has
|
|
841
|
+
such a step: when none of its stories is phrased that way, the analyst WRITES that story for the
|
|
842
|
+
gate, and a product without a gate is the exception.
|
|
840
843
|
|
|
841
844
|
**The card.** The sketch is \`@/components/home/gate\`; the implemented one is
|
|
842
845
|
\`@/components/home/landing-gate\` and exports the same \`LandingGate\` with the same props.
|
|
@@ -1764,6 +1767,45 @@ player, rebuilding a leaderboard — is a job. No realtime anything.
|
|
|
1764
1767
|
server and nowhere else.
|
|
1765
1768
|
`),
|
|
1766
1769
|
|
|
1770
|
+
skill(ViableSkill.MarketingConsent, 'Marketing consent — the eight standard keys', `
|
|
1771
|
+
This application ships \`@owlmeans/marketing-consent\` wired by \`@owlmeans/web-marketing-consent\`
|
|
1772
|
+
and \`@owlmeans/server-marketing-consent\`: a post-sign-in step, a "Privacy choices" settings
|
|
1773
|
+
screen, and a server-side ledger. Everything about consent already exists — never build a second
|
|
1774
|
+
one.
|
|
1775
|
+
|
|
1776
|
+
**The eight standard keys**, each independently opt-in and unchecked until the person says
|
|
1777
|
+
otherwise: \`marketing.email\`, \`marketing.sms\`, \`marketing.phone\`, \`marketing.push\` (which
|
|
1778
|
+
channel may send promotional messages), \`data.profiling\` (personalising from behaviour),
|
|
1779
|
+
\`data.partners\` (sharing with another company for ITS OWN marketing), \`trackers.analytics\` and
|
|
1780
|
+
\`trackers.advertising\` (already bridged to the cookie-consent categories — never build a second
|
|
1781
|
+
cookie banner or duplicate that bridge).
|
|
1782
|
+
|
|
1783
|
+
**Never build your own.** No new consent table, flag, checkbox, pre-ticked box, "I agree to
|
|
1784
|
+
marketing" toggle, or cookie dialog. No sign-in-time bundling of consent with the terms checkbox —
|
|
1785
|
+
they are two different questions with two different lawful bases, kept apart on purpose. Consent
|
|
1786
|
+
is never a condition of using the product: a person who declines everything still gets a working
|
|
1787
|
+
account.
|
|
1788
|
+
|
|
1789
|
+
**Every send and every share checks the RECIPIENT's grant, at the moment it acts — never the
|
|
1790
|
+
sender's, never a cached value from earlier in the request.** A campaign email checks
|
|
1791
|
+
\`marketing.email\`; an SMS reminder checks \`marketing.sms\`; handing a record to another company
|
|
1792
|
+
checks \`data.partners\`. An absent record reads as NOT granted — never assume consent because a
|
|
1793
|
+
person signed up, imported a contact, or has not yet been asked. A withdrawal takes effect on the
|
|
1794
|
+
very next send; nothing already queued is exempt.
|
|
1795
|
+
|
|
1796
|
+
**Service messages are never gated.** A password reset, a receipt, a delivery notice, an
|
|
1797
|
+
account-security alert, an invite the person themselves triggered — none of these are "marketing"
|
|
1798
|
+
and none of them ever consult this ledger. Gating a service message on marketing consent is itself
|
|
1799
|
+
a bug: it makes the product not work for someone who declined an unrelated choice.
|
|
1800
|
+
|
|
1801
|
+
**Every marketing message links to Privacy choices**, the standing control that changes a decision
|
|
1802
|
+
at any time — reference it as an alias, never write a fresh URL.
|
|
1803
|
+
|
|
1804
|
+
**A new channel or purpose the product genuinely needs** — a notification type this catalogue does
|
|
1805
|
+
not name — is one line in the target's marketing-consent config, above its own sentinel; it is
|
|
1806
|
+
never invented inline in a component or a handler.
|
|
1807
|
+
`),
|
|
1808
|
+
|
|
1767
1809
|
libraries(ViableSkill.LibrariesCommon, 'Libraries — shared code', commonLibraryList),
|
|
1768
1810
|
libraries(ViableSkill.LibrariesUiState, 'Libraries — UI state', uiStateLibraryList),
|
|
1769
1811
|
libraries(ViableSkill.LibrariesUi, 'Libraries — UI', fullUiLibraryList),
|
package/src/skills/consts.ts
CHANGED
|
@@ -74,6 +74,10 @@ export enum ViableSkill {
|
|
|
74
74
|
LayoutDefinition = 'layout-definition',
|
|
75
75
|
ScreenDefinition = 'screen-definition',
|
|
76
76
|
|
|
77
|
+
/** The marketing-consent ledger: the 8 standard keys, never build a custom consent UI, check
|
|
78
|
+
* the RECIPIENT's grant server-side before a send or a share. */
|
|
79
|
+
MarketingConsent = 'marketing-consent',
|
|
80
|
+
|
|
77
81
|
LibrariesCommon = 'libraries-common',
|
|
78
82
|
LibrariesUiState = 'libraries-ui-state',
|
|
79
83
|
LibrariesUi = 'libraries-ui',
|
|
@@ -107,6 +111,10 @@ export const SKILL_ORDER: Record<ViableSkill, number> = {
|
|
|
107
111
|
// After the frontend rules it builds on (entrypoints, nav, shadcn, form feedback, the store), and
|
|
108
112
|
// before the backend block — it is only ever carried by analysis and frontend personas.
|
|
109
113
|
[ViableSkill.LandingGate]: 56,
|
|
114
|
+
// Analysis and frontend read it the same way LandingGate is read — after the frontend rules it
|
|
115
|
+
// references (nav, shadcn) — and a backend coder reads it as a server-side check, so it sits
|
|
116
|
+
// just ahead of the backend block for either audience.
|
|
117
|
+
[ViableSkill.MarketingConsent]: 57,
|
|
110
118
|
[ViableSkill.ResourceLayer]: 60,
|
|
111
119
|
[ViableSkill.ResourceResults]: 62,
|
|
112
120
|
[ViableSkill.ResourceMigrations]: 64,
|
package/tests/blueprint.spec.ts
CHANGED
|
@@ -17,7 +17,7 @@ const base = (extra: Partial<Blueprint> = {}): Blueprint => ({
|
|
|
17
17
|
createApp: { id: 'create-app', package: '@owlmeans/create-app', bare: true, template: 'bare' },
|
|
18
18
|
packages: {
|
|
19
19
|
id: 'packages',
|
|
20
|
-
capabilities: { postgres: true, kv: false, queue: false, worker: false, agents: false, validation: true },
|
|
20
|
+
capabilities: { postgres: true, kv: false, queue: false, worker: false, agents: false, validation: true, marketingConsent: true },
|
|
21
21
|
libraries: {},
|
|
22
22
|
skills: [ViableSkill.ShadcnUi],
|
|
23
23
|
personaSkills: { [ViablePersona.BusinessAnalyst]: [ViableSkill.MainFlowFocus] },
|