@owlmeans/viable-common 0.0.45 → 0.0.47

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.
Files changed (180) hide show
  1. package/README.md +163 -13
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/agent-presentation/SKILL.md +1 -1
  4. package/agent-meta/skills/viable-common/SKILL.md +132 -23
  5. package/build/connect/account/types.d.ts +81 -0
  6. package/build/connect/account/types.d.ts.map +1 -0
  7. package/build/connect/account/types.js +2 -0
  8. package/build/connect/account/types.js.map +1 -0
  9. package/build/connect/branding/types.d.ts +26 -4
  10. package/build/connect/branding/types.d.ts.map +1 -1
  11. package/build/connect/call/types.d.ts +28 -0
  12. package/build/connect/call/types.d.ts.map +1 -0
  13. package/build/connect/call/types.js +2 -0
  14. package/build/connect/call/types.js.map +1 -0
  15. package/build/connect/config/types.d.ts +45 -0
  16. package/build/connect/config/types.d.ts.map +1 -0
  17. package/build/connect/config/types.js +2 -0
  18. package/build/connect/config/types.js.map +1 -0
  19. package/build/connect/consts.d.ts +383 -1
  20. package/build/connect/consts.d.ts.map +1 -1
  21. package/build/connect/consts.js +387 -1
  22. package/build/connect/consts.js.map +1 -1
  23. package/build/connect/conversion/types.d.ts +24 -0
  24. package/build/connect/conversion/types.d.ts.map +1 -1
  25. package/build/connect/entrypoints/types.d.ts +22 -13
  26. package/build/connect/entrypoints/types.d.ts.map +1 -1
  27. package/build/connect/entrypoints.d.ts +441 -8
  28. package/build/connect/entrypoints.d.ts.map +1 -1
  29. package/build/connect/entrypoints.js +292 -9
  30. package/build/connect/entrypoints.js.map +1 -1
  31. package/build/connect/errors.d.ts +12 -0
  32. package/build/connect/errors.d.ts.map +1 -1
  33. package/build/connect/errors.js +16 -0
  34. package/build/connect/errors.js.map +1 -1
  35. package/build/connect/feed/types.d.ts +71 -0
  36. package/build/connect/feed/types.d.ts.map +1 -0
  37. package/build/connect/feed/types.js +2 -0
  38. package/build/connect/feed/types.js.map +1 -0
  39. package/build/connect/files/types.d.ts +34 -0
  40. package/build/connect/files/types.d.ts.map +1 -0
  41. package/build/connect/files/types.js +2 -0
  42. package/build/connect/files/types.js.map +1 -0
  43. package/build/connect/git/types.d.ts +170 -0
  44. package/build/connect/git/types.d.ts.map +1 -0
  45. package/build/connect/git/types.js +14 -0
  46. package/build/connect/git/types.js.map +1 -0
  47. package/build/connect/iam/types.d.ts +25 -0
  48. package/build/connect/iam/types.d.ts.map +1 -0
  49. package/build/connect/iam/types.js +8 -0
  50. package/build/connect/iam/types.js.map +1 -0
  51. package/build/connect/index.d.ts +9 -0
  52. package/build/connect/index.d.ts.map +1 -1
  53. package/build/connect/ops.d.ts +189 -0
  54. package/build/connect/ops.d.ts.map +1 -0
  55. package/build/connect/ops.js +2 -0
  56. package/build/connect/ops.js.map +1 -0
  57. package/build/connect/production/types.d.ts +65 -0
  58. package/build/connect/production/types.d.ts.map +1 -0
  59. package/build/connect/production/types.js +2 -0
  60. package/build/connect/production/types.js.map +1 -0
  61. package/build/connect/project/types.d.ts +23 -16
  62. package/build/connect/project/types.d.ts.map +1 -1
  63. package/build/connect/references/types.d.ts +424 -2
  64. package/build/connect/references/types.d.ts.map +1 -1
  65. package/build/connect/references.d.ts.map +1 -1
  66. package/build/connect/references.js +122 -0
  67. package/build/connect/references.js.map +1 -1
  68. package/build/connect/schemas.d.ts +65 -2
  69. package/build/connect/schemas.d.ts.map +1 -1
  70. package/build/connect/schemas.js +306 -1
  71. package/build/connect/schemas.js.map +1 -1
  72. package/build/connect/settings/types.d.ts +0 -25
  73. package/build/connect/settings/types.d.ts.map +1 -1
  74. package/build/connect/slot/types.d.ts +24 -0
  75. package/build/connect/slot/types.d.ts.map +1 -0
  76. package/build/connect/slot/types.js +2 -0
  77. package/build/connect/slot/types.js.map +1 -0
  78. package/build/connect/types.d.ts +453 -0
  79. package/build/connect/types.d.ts.map +1 -0
  80. package/build/connect/types.js +2 -0
  81. package/build/connect/types.js.map +1 -0
  82. package/build/convert/record/types.d.ts +0 -9
  83. package/build/convert/record/types.d.ts.map +1 -1
  84. package/build/convert/schemas.d.ts +2 -5
  85. package/build/convert/schemas.d.ts.map +1 -1
  86. package/build/convert/schemas.js +2 -15
  87. package/build/convert/schemas.js.map +1 -1
  88. package/build/iam-console/consts.d.ts +13 -0
  89. package/build/iam-console/consts.d.ts.map +1 -0
  90. package/build/iam-console/consts.js +13 -0
  91. package/build/iam-console/consts.js.map +1 -0
  92. package/build/iam-console/consts.local.d.ts +123 -0
  93. package/build/iam-console/consts.local.d.ts.map +1 -0
  94. package/build/iam-console/consts.local.js +50 -0
  95. package/build/iam-console/consts.local.js.map +1 -0
  96. package/build/iam-console/index.d.ts +4 -0
  97. package/build/iam-console/index.d.ts.map +1 -0
  98. package/build/iam-console/index.js +3 -0
  99. package/build/iam-console/index.js.map +1 -0
  100. package/build/iam-console/schemas.d.ts +38 -0
  101. package/build/iam-console/schemas.d.ts.map +1 -0
  102. package/build/iam-console/schemas.js +217 -0
  103. package/build/iam-console/schemas.js.map +1 -0
  104. package/build/iam-console/types.d.ts +140 -0
  105. package/build/iam-console/types.d.ts.map +1 -0
  106. package/build/iam-console/types.js +2 -0
  107. package/build/iam-console/types.js.map +1 -0
  108. package/build/index.d.ts +2 -0
  109. package/build/index.d.ts.map +1 -1
  110. package/build/index.js +2 -0
  111. package/build/index.js.map +1 -1
  112. package/build/intent/flow.d.ts +17 -0
  113. package/build/intent/flow.d.ts.map +1 -0
  114. package/build/intent/flow.js +65 -0
  115. package/build/intent/flow.js.map +1 -0
  116. package/build/legal/consts.d.ts +67 -0
  117. package/build/legal/consts.d.ts.map +1 -0
  118. package/build/legal/consts.js +24 -0
  119. package/build/legal/consts.js.map +1 -0
  120. package/build/legal/index.d.ts +3 -0
  121. package/build/legal/index.d.ts.map +1 -0
  122. package/build/legal/index.js +2 -0
  123. package/build/legal/index.js.map +1 -0
  124. package/build/legal/types.d.ts +17 -0
  125. package/build/legal/types.d.ts.map +1 -0
  126. package/build/legal/types.js +2 -0
  127. package/build/legal/types.js.map +1 -0
  128. package/build/planning/flows.d.ts +34 -0
  129. package/build/planning/flows.d.ts.map +1 -0
  130. package/build/planning/flows.js +174 -0
  131. package/build/planning/flows.js.map +1 -0
  132. package/build/planning/schemas.d.ts.map +1 -1
  133. package/build/planning/schemas.js +0 -1
  134. package/build/planning/schemas.js.map +1 -1
  135. package/build/planning/types.d.ts +0 -2
  136. package/build/planning/types.d.ts.map +1 -1
  137. package/build/skills/roles.d.ts +43 -0
  138. package/build/skills/roles.d.ts.map +1 -0
  139. package/build/skills/roles.js +44 -0
  140. package/build/skills/roles.js.map +1 -0
  141. package/package.json +19 -3
  142. package/src/connect/account/types.ts +91 -0
  143. package/src/connect/branding/types.ts +28 -4
  144. package/src/connect/call/types.ts +31 -0
  145. package/src/connect/config/types.ts +51 -0
  146. package/src/connect/consts.ts +400 -1
  147. package/src/connect/conversion/types.ts +25 -0
  148. package/src/connect/entrypoints/types.ts +22 -7
  149. package/src/connect/entrypoints.ts +592 -15
  150. package/src/connect/errors.ts +18 -0
  151. package/src/connect/feed/types.ts +76 -0
  152. package/src/connect/files/types.ts +38 -0
  153. package/src/connect/git/types.ts +187 -0
  154. package/src/connect/iam/types.ts +28 -0
  155. package/src/connect/index.ts +9 -0
  156. package/src/connect/production/types.ts +71 -0
  157. package/src/connect/project/types.ts +25 -12
  158. package/src/connect/references/types.ts +166 -5
  159. package/src/connect/references.ts +210 -5
  160. package/src/connect/schemas.ts +366 -5
  161. package/src/connect/settings/types.ts +0 -25
  162. package/src/connect/slot/types.ts +24 -0
  163. package/src/convert/record/types.ts +0 -11
  164. package/src/convert/schemas.ts +3 -19
  165. package/src/iam-console/consts.local.ts +64 -0
  166. package/src/iam-console/consts.ts +15 -0
  167. package/src/iam-console/index.ts +3 -0
  168. package/src/iam-console/schemas.ts +251 -0
  169. package/src/iam-console/types.ts +165 -0
  170. package/src/index.ts +2 -0
  171. package/src/legal/consts.ts +25 -0
  172. package/src/legal/index.ts +2 -0
  173. package/src/legal/types.ts +22 -0
  174. package/src/planning/schemas.ts +0 -1
  175. package/src/planning/types.ts +0 -2
  176. package/tests/connect-convert.spec.ts +6 -2
  177. package/tests/connect-entrypoints.spec.ts +554 -16
  178. package/tests/error-status.spec.ts +2 -1
  179. package/tests/iam-console.spec.ts +89 -0
  180. package/tests/planning.spec.ts +8 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Who the model is being asked to be.
3
+ *
4
+ * A persona is per HELPER, not per model role: `ModelRole` selects which model answers,
5
+ * this selects what it is told it does. Two helpers can share a model and need different
6
+ * personas, and the same persona can run on a cheap or an expensive model depending on
7
+ * the effort tier — keeping the two axes separate is what makes that possible.
8
+ */
9
+ export declare enum ViablePersona {
10
+ BusinessAnalyst = "business-analyst",
11
+ ProductNaming = "product-naming",
12
+ /** Decides what KIND of product a prompt describes — which blueprint case builds it. */
13
+ ProductArchitect = "product-architect",
14
+ UxDesigner = "ux-designer",
15
+ VisualDesigner = "visual-designer",
16
+ LayoutArchitect = "layout-architect",
17
+ ComponentArchitect = "component-architect",
18
+ StateArchitect = "state-architect",
19
+ NavigationArchitect = "navigation-architect",
20
+ DomainTypesArchitect = "domain-types-architect",
21
+ AccessArchitect = "access-architect",
22
+ ApiArchitect = "api-architect",
23
+ DatalayerArchitect = "datalayer-architect",
24
+ BackendDomainArchitect = "backend-domain-architect",
25
+ CommonCoder = "common-coder",
26
+ UiStateCoder = "ui-state-coder",
27
+ UiViewCoder = "ui-view-coder",
28
+ UiNavCoder = "ui-nav-coder",
29
+ DatalayerCoder = "datalayer-coder",
30
+ ApiCoder = "api-coder",
31
+ BackendModelCoder = "backend-model-coder",
32
+ /** Decides whether a story needs a queue, a worker or an agent — and usually decides it does not. */
33
+ RuntimeArchitect = "runtime-architect",
34
+ /** Writes queue declarations, job processors and the application's own agents. */
35
+ WorkerCoder = "worker-coder",
36
+ FreeFlightCoder = "free-flight-coder",
37
+ Fixer = "fixer",
38
+ Orchestrator = "orchestrator",
39
+ SourceExtractor = "source-extractor",
40
+ DeclarationLookup = "declaration-lookup",
41
+ FixAgent = "fix-agent"
42
+ }
43
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/skills/roles.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,oBAAY,aAAa;IACvB,eAAe,qBAAqB;IACpC,aAAa,mBAAmB;IAChC,wFAAwF;IACxF,gBAAgB,sBAAsB;IACtC,UAAU,gBAAgB;IAC1B,cAAc,oBAAoB;IAElC,eAAe,qBAAqB;IACpC,kBAAkB,wBAAwB;IAC1C,cAAc,oBAAoB;IAClC,mBAAmB,yBAAyB;IAC5C,oBAAoB,2BAA2B;IAC/C,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,kBAAkB,wBAAwB;IAC1C,sBAAsB,6BAA6B;IAEnD,WAAW,iBAAiB;IAC5B,YAAY,mBAAmB;IAC/B,WAAW,kBAAkB;IAC7B,UAAU,iBAAiB;IAC3B,cAAc,oBAAoB;IAClC,QAAQ,cAAc;IACtB,iBAAiB,wBAAwB;IACzC,qGAAqG;IACrG,gBAAgB,sBAAsB;IACtC,kFAAkF;IAClF,WAAW,iBAAiB;IAC5B,eAAe,sBAAsB;IAErC,KAAK,UAAU;IACf,YAAY,iBAAiB;IAC7B,eAAe,qBAAqB;IACpC,iBAAiB,uBAAuB;IACxC,QAAQ,cAAc;CACvB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Who the model is being asked to be.
3
+ *
4
+ * A persona is per HELPER, not per model role: `ModelRole` selects which model answers,
5
+ * this selects what it is told it does. Two helpers can share a model and need different
6
+ * personas, and the same persona can run on a cheap or an expensive model depending on
7
+ * the effort tier — keeping the two axes separate is what makes that possible.
8
+ */
9
+ export var ViablePersona;
10
+ (function (ViablePersona) {
11
+ ViablePersona["BusinessAnalyst"] = "business-analyst";
12
+ ViablePersona["ProductNaming"] = "product-naming";
13
+ /** Decides what KIND of product a prompt describes — which blueprint case builds it. */
14
+ ViablePersona["ProductArchitect"] = "product-architect";
15
+ ViablePersona["UxDesigner"] = "ux-designer";
16
+ ViablePersona["VisualDesigner"] = "visual-designer";
17
+ ViablePersona["LayoutArchitect"] = "layout-architect";
18
+ ViablePersona["ComponentArchitect"] = "component-architect";
19
+ ViablePersona["StateArchitect"] = "state-architect";
20
+ ViablePersona["NavigationArchitect"] = "navigation-architect";
21
+ ViablePersona["DomainTypesArchitect"] = "domain-types-architect";
22
+ ViablePersona["AccessArchitect"] = "access-architect";
23
+ ViablePersona["ApiArchitect"] = "api-architect";
24
+ ViablePersona["DatalayerArchitect"] = "datalayer-architect";
25
+ ViablePersona["BackendDomainArchitect"] = "backend-domain-architect";
26
+ ViablePersona["CommonCoder"] = "common-coder";
27
+ ViablePersona["UiStateCoder"] = "ui-state-coder";
28
+ ViablePersona["UiViewCoder"] = "ui-view-coder";
29
+ ViablePersona["UiNavCoder"] = "ui-nav-coder";
30
+ ViablePersona["DatalayerCoder"] = "datalayer-coder";
31
+ ViablePersona["ApiCoder"] = "api-coder";
32
+ ViablePersona["BackendModelCoder"] = "backend-model-coder";
33
+ /** Decides whether a story needs a queue, a worker or an agent — and usually decides it does not. */
34
+ ViablePersona["RuntimeArchitect"] = "runtime-architect";
35
+ /** Writes queue declarations, job processors and the application's own agents. */
36
+ ViablePersona["WorkerCoder"] = "worker-coder";
37
+ ViablePersona["FreeFlightCoder"] = "free-flight-coder";
38
+ ViablePersona["Fixer"] = "fixer";
39
+ ViablePersona["Orchestrator"] = "orchestrator";
40
+ ViablePersona["SourceExtractor"] = "source-extractor";
41
+ ViablePersona["DeclarationLookup"] = "declaration-lookup";
42
+ ViablePersona["FixAgent"] = "fix-agent";
43
+ })(ViablePersona || (ViablePersona = {}));
44
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/skills/roles.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,aAoCX;AApCD,WAAY,aAAa;IACvB,qDAAoC,CAAA;IACpC,iDAAgC,CAAA;IAChC,wFAAwF;IACxF,uDAAsC,CAAA;IACtC,2CAA0B,CAAA;IAC1B,mDAAkC,CAAA;IAElC,qDAAoC,CAAA;IACpC,2DAA0C,CAAA;IAC1C,mDAAkC,CAAA;IAClC,6DAA4C,CAAA;IAC5C,gEAA+C,CAAA;IAC/C,qDAAoC,CAAA;IACpC,+CAA8B,CAAA;IAC9B,2DAA0C,CAAA;IAC1C,oEAAmD,CAAA;IAEnD,6CAA4B,CAAA;IAC5B,gDAA+B,CAAA;IAC/B,8CAA6B,CAAA;IAC7B,4CAA2B,CAAA;IAC3B,mDAAkC,CAAA;IAClC,uCAAsB,CAAA;IACtB,0DAAyC,CAAA;IACzC,qGAAqG;IACrG,uDAAsC,CAAA;IACtC,kFAAkF;IAClF,6CAA4B,CAAA;IAC5B,sDAAqC,CAAA;IAErC,gCAAe,CAAA;IACf,8CAA6B,CAAA;IAC7B,qDAAoC,CAAA;IACpC,yDAAwC,CAAA;IACxC,uCAAsB,CAAA;AACxB,CAAC,EApCW,aAAa,KAAb,aAAa,QAoCxB"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@owlmeans/viable-common",
3
- "version": "0.0.45",
3
+ "version": "0.0.47",
4
4
  "license": "MIT",
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.",
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, the owner console's IAM contract and the conversion vocabulary, and the intent-first hand-off from the public site to the platform.",
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "build": "tsc -b",
@@ -49,12 +49,26 @@
49
49
  "module": "./build/integrity/index.js",
50
50
  "types": "./build/integrity/index.d.ts"
51
51
  },
52
+ "./legal": {
53
+ "import": "./build/legal/index.js",
54
+ "require": "./build/legal/index.js",
55
+ "default": "./build/legal/index.js",
56
+ "module": "./build/legal/index.js",
57
+ "types": "./build/legal/index.d.ts"
58
+ },
52
59
  "./intent": {
53
60
  "import": "./build/intent/index.js",
54
61
  "require": "./build/intent/index.js",
55
62
  "default": "./build/intent/index.js",
56
63
  "module": "./build/intent/index.js",
57
64
  "types": "./build/intent/index.d.ts"
65
+ },
66
+ "./iam-console": {
67
+ "import": "./build/iam-console/index.js",
68
+ "require": "./build/iam-console/index.js",
69
+ "default": "./build/iam-console/index.js",
70
+ "module": "./build/iam-console/index.js",
71
+ "types": "./build/iam-console/index.d.ts"
58
72
  }
59
73
  },
60
74
  "devDependencies": {
@@ -68,12 +82,14 @@
68
82
  "dependencies": {
69
83
  "@owlmeans/agent-common": "^0.1.18-rc.48",
70
84
  "@owlmeans/auth": "^0.1.18-rc.40",
85
+ "@owlmeans/auth-common": "^0.1.18-rc.48",
71
86
  "@owlmeans/context": "^0.1.18-rc.34",
72
87
  "@owlmeans/entrypoint": "^0.1.18-rc.41",
73
88
  "@owlmeans/error": "^0.1.18-rc.38",
74
89
  "@owlmeans/flow": "^0.1.18-rc.45",
90
+ "@owlmeans/iam": "^0.1.18-rc.51",
75
91
  "@owlmeans/llm-common": "^0.1.18-rc.39",
76
- "@owlmeans/planning": "^0.1.18-rc.19",
92
+ "@owlmeans/planning": "^0.1.18-rc.20",
77
93
  "@owlmeans/resource": "^0.1.18-rc.40",
78
94
  "@owlmeans/route": "^0.1.18-rc.35"
79
95
  },
@@ -0,0 +1,91 @@
1
+ /**
2
+ * The organization's branding defaults: the name and copyright line every new project starts with.
3
+ * A project keeps its own copy after creation; `copyDefaults` replaces a project's two values with
4
+ * these again.
5
+ */
6
+ export interface ConnectOrganizationBranding {
7
+ organizationName: string
8
+ copyright: string
9
+ }
10
+
11
+ /** A PATCH of the organization's defaults; a field left out keeps its value. Neither may be empty. */
12
+ export interface ConnectOrganizationBrandingSave extends Partial<ConnectOrganizationBranding> {}
13
+
14
+ /** What a backfill did: how many projects had blank branding rows filled from the defaults. */
15
+ export interface ConnectBrandingBackfill {
16
+ projects: number
17
+ }
18
+
19
+ /**
20
+ * One of the person's access tokens, as a connector sees it — never the secret, never its hash, and
21
+ * no record ids of the organization or the person: the token is the caller's own by construction.
22
+ */
23
+ export interface ConnectAccessToken {
24
+ id: string
25
+ /** What the owner called it. */
26
+ name: string
27
+ /** The prefix and the first characters of the secret — useless as a credential. */
28
+ display: string
29
+ scopes: string[]
30
+ createdAt: string
31
+ lastUsedAt?: string
32
+ expiresAt?: string
33
+ /** Set once a token is revoked; a revoked token stays listed so its name still resolves. */
34
+ revokedAt?: string
35
+ /** Issued through a browser sign-in (an OAuth grant) for one resource, rather than minted by hand. */
36
+ oauth: boolean
37
+ }
38
+
39
+ export interface ConnectAccessTokenList {
40
+ items: ConnectAccessToken[]
41
+ }
42
+
43
+ /** The token a revoke names — one of the caller's own. */
44
+ export interface ConnectAccessTokenParams {
45
+ id: string
46
+ }
47
+
48
+ /** What a revoke answers: the id it revoked. Revoking twice is what a retry looks like. */
49
+ export interface ConnectAccessTokenRevoked {
50
+ id: string
51
+ }
52
+
53
+ /** Whether a consent was ever answered at its current wording. */
54
+ export type ConnectPrivacyStatus = 'new' | 'revised' | 'current'
55
+
56
+ /** One marketing consent of the person, as the "Privacy choices" settings show it. */
57
+ export interface ConnectPrivacyChoice {
58
+ /** The consent's key — `marketing.email`, `data.profiling`, … */
59
+ key: string
60
+ group: string
61
+ mode: 'opt-in' | 'opt-out'
62
+ /**
63
+ * The person's SAVED, current answer — `false` for anything never answered at this wording,
64
+ * whatever the settings screen's opt-out display default says.
65
+ */
66
+ granted: boolean
67
+ status: ConnectPrivacyStatus
68
+ /** When the saved answer was given, if there is one. */
69
+ decidedAt?: string
70
+ }
71
+
72
+ export interface ConnectPrivacyChoices {
73
+ /** A consent still waits for the person's first or revised answer. */
74
+ pending: boolean
75
+ items: ConnectPrivacyChoice[]
76
+ }
77
+
78
+ /** The consents to withdraw — each written `granted: false`; nothing here can grant one. */
79
+ export interface ConnectPrivacyWithdrawBody {
80
+ keys: string[]
81
+ }
82
+
83
+ /** The reference of a stashed prompt — the `ref` of the `/start?ref=…` address the public site opened. */
84
+ export interface ConnectIntentPickupBody {
85
+ ref: string
86
+ }
87
+
88
+ /** The prompt a visitor typed on the public site. Collected once: the reference is spent. */
89
+ export interface ConnectIntentPickup {
90
+ prompt: string
91
+ }
@@ -4,9 +4,9 @@
4
4
  * A project's branding as a connector reads it — what the generated application says about who
5
5
  * made it, and the Google tag it loads.
6
6
  *
7
- * Every field is a string, `''` when unset, in the platform's own branding vocabulary. The
8
- * platform credit is absent on purpose: hiding it is a paid capability behind its own gated route,
9
- * and neither reading nor saving this record may reach it.
7
+ * Every text field is a string, `''` when unset, in the platform's own branding vocabulary. The
8
+ * platform credit is READ-ONLY here: hiding it is a paid capability behind its own gated route
9
+ * (`branding.credit`), and saving this record never reaches it.
10
10
  */
11
11
  export interface ConnectProjectBranding {
12
12
  /** The copyright line in the application's footer. Never empty once saved. */
@@ -19,11 +19,35 @@ export interface ConnectProjectBranding {
19
19
  privacyUrl: string
20
20
  /** `''`, or a Google tag id: `GTM-…`, `G-…`, `GT-…`, `AW-…`, `DC-…`. */
21
21
  googleTag: string
22
+ /** The platform credit as it stands — absent from a platform that predates it on this view. */
23
+ credit?: ConnectBrandingCredit
22
24
  }
23
25
 
26
+ /**
27
+ * The platform credit ("Built with OwlMeans"): what the owner asked for and what is delivered, which
28
+ * differ while the plan does not include hiding it — the request survives a lapsed plan and takes
29
+ * effect again on its own once the plan includes it.
30
+ */
31
+ export interface ConnectBrandingCredit {
32
+ /** The delivered value: the credit is hidden in the application. */
33
+ hidden: boolean
34
+ /** The owner asked to hide it. */
35
+ requested: boolean
36
+ /** The organization's plan includes hiding it (white label). */
37
+ entitled: boolean
38
+ }
39
+
40
+ /** The editable text settings — every field of the view but the read-only credit. */
41
+ export interface ConnectProjectBrandingFields extends Omit<ConnectProjectBranding, 'credit'> {}
42
+
24
43
  /**
25
44
  * A PATCH of a project's branding: every field optional, and an absent field keeps its current
26
45
  * value. The platform merges it over what is stored, validates the result as a whole with the
27
46
  * rules the web form uses, and answers the merged record.
28
47
  */
29
- export interface ConnectProjectBrandingSave extends Partial<ConnectProjectBranding> {}
48
+ export interface ConnectProjectBrandingSave extends Partial<ConnectProjectBrandingFields> {}
49
+
50
+ /** Hide (`true`) or show (`false`) the platform credit. */
51
+ export interface ConnectBrandingCreditBody {
52
+ hideCredit: boolean
53
+ }
@@ -0,0 +1,31 @@
1
+ import type { ConnectCallState } from '../consts.js'
2
+
3
+ /**
4
+ * The body of a delegated write answered EARLY (HTTP 202, `EntrypointOutcome.Accepted`): the call
5
+ * named by the `x-viable-call` header is still running, and its outcome is collected by that id.
6
+ */
7
+ export interface ConnectCallPending {
8
+ /** The call id the request carried in `x-viable-call`. */
9
+ pending: string
10
+ }
11
+
12
+ /** What one collect of a named call answers. */
13
+ export interface ConnectCallResult {
14
+ state: ConnectCallState
15
+ /** The entrypoint outcome the call would have answered with (`ok`, `created`, …); settled only. */
16
+ outcome?: string
17
+ /** The value the call would have answered with — any JSON; settled without `error` only. */
18
+ value?: unknown
19
+ /** The call's failure, marshalled (`ResilientError.marshal(error).message`); settled only. */
20
+ error?: string
21
+ }
22
+
23
+ /** The collect route's path parameters. */
24
+ export interface ConnectCallCollectParams {
25
+ callId: string
26
+ }
27
+
28
+ /** The collect route's query: how long to hold, in seconds — at most `CONNECT_CALL_COLLECT_WAIT_SEC`. */
29
+ export interface ConnectCallCollectQuery {
30
+ wait?: number
31
+ }
@@ -0,0 +1,51 @@
1
+ import type { WorkloadKind } from '../../slot/consts.js'
2
+
3
+ /**
4
+ * Which workload's set a configuration read or write addresses: the project's preview (the
5
+ * default) or its production workload, whose rows are its own and reach it only at a Publish.
6
+ */
7
+ export type ConnectConfigScope = WorkloadKind.Ephemeral | WorkloadKind.Production
8
+
9
+ /** `?scope=` — absent is the preview's set. */
10
+ export interface ConnectScopeQuery {
11
+ scope?: ConnectConfigScope
12
+ }
13
+
14
+ /** One backend variable as a connector reads it: its name and whether it holds a value — never the value. */
15
+ export interface ConnectConfigVariable {
16
+ name: string
17
+ /** A non-empty value is stored. The value itself is a secret and is never returned. */
18
+ set: boolean
19
+ }
20
+
21
+ /** One frontend variable: public by nature — it is baked into the bundle every visitor downloads. */
22
+ export interface ConnectFrontendVariable extends ConnectConfigVariable {
23
+ /** `''` when unset. */
24
+ value: string
25
+ }
26
+
27
+ /**
28
+ * A project's configuration requirements: the variables its generated application declares, per
29
+ * side, for one scope. A backend variable's value is never part of it.
30
+ */
31
+ export interface ConnectProjectConfig {
32
+ scope: ConnectConfigScope
33
+ backend: ConnectConfigVariable[]
34
+ frontend: ConnectFrontendVariable[]
35
+ }
36
+
37
+ /** One variable a save sets. A new name is declared on its side; an existing one keeps its side. */
38
+ export interface ConnectConfigValue {
39
+ name: string
40
+ value: string
41
+ }
42
+
43
+ /**
44
+ * A PATCH of a project's configuration: the variables named are set, every other one keeps its
45
+ * value. A name already declared on the OTHER side is refused — a backend secret written as a
46
+ * frontend variable would be published in the bundle.
47
+ */
48
+ export interface ConnectConfigSaveBody {
49
+ backend?: ConnectConfigValue[]
50
+ frontend?: ConnectConfigValue[]
51
+ }