@lssm/example.analytics-dashboard 0.0.0-canary-20251217063201 → 0.0.0-canary-20251217073102
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/dist/dashboard/dashboard.contracts.d.ts +131 -131
- package/dist/dashboard/dashboard.contracts.js +5 -5
- package/dist/dashboard/dashboard.enum.d.ts +4 -4
- package/dist/dashboard/dashboard.enum.js +4 -4
- package/dist/dashboard/dashboard.schema.d.ts +79 -79
- package/dist/dashboard/dashboard.schema.js +43 -43
- package/dist/docs/analytics-dashboard.docblock.js +2 -2
- package/dist/events.d.ts +40 -40
- package/dist/events.js +25 -25
- package/dist/libs/contracts/dist/capabilities/openbanking.js +53 -49
- package/dist/libs/contracts/dist/client/index.js +1 -1
- package/dist/libs/contracts/dist/client/react/index.js +1 -1
- package/dist/libs/contracts/dist/contract-registry/index.js +1 -1
- package/dist/libs/contracts/dist/contract-registry/schemas.js +52 -49
- package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +11 -86
- package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +11 -360
- package/dist/libs/contracts/dist/docs/index.js +2 -2
- package/dist/libs/contracts/dist/docs/presentations.js +48 -44
- package/dist/libs/contracts/dist/docs/registry.js +27 -25
- package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +11 -393
- package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +11 -78
- package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +11 -150
- package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +11 -96
- package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +10 -10
- package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +15 -15
- package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +12 -12
- package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +11 -223
- package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +44 -44
- package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +30 -14
- package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +10 -10
- package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +13 -274
- package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +41 -15
- package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +15 -15
- package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +14 -14
- package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +16 -28
- package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +60 -15
- package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +13 -13
- package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +31 -48
- package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +40 -15
- package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +14 -14
- package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +22 -22
- package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +12 -12
- package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +22 -22
- package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +11 -11
- package/dist/libs/contracts/dist/events.js +4 -3
- package/dist/libs/contracts/dist/index.js +14 -14
- package/dist/libs/contracts/dist/integrations/contracts.js +205 -199
- package/dist/libs/contracts/dist/integrations/index.js +5 -5
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +133 -130
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +95 -93
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +3 -3
- package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +120 -118
- package/dist/libs/contracts/dist/integrations/openbanking/models.js +122 -120
- package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +9 -20
- package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +25 -25
- package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +36 -36
- package/dist/libs/contracts/dist/integrations/providers/gmail.js +40 -40
- package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/mistral.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/postmark.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/powens.js +51 -51
- package/dist/libs/contracts/dist/integrations/providers/qdrant.js +31 -31
- package/dist/libs/contracts/dist/integrations/providers/stripe.js +35 -35
- package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +28 -28
- package/dist/libs/contracts/dist/jsonschema.js +1 -1
- package/dist/libs/contracts/dist/knowledge/contracts.js +170 -163
- package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +19 -19
- package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +17 -17
- package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +17 -17
- package/dist/libs/contracts/dist/llm/exporters.js +13 -12
- package/dist/libs/contracts/dist/onboarding-base.js +116 -99
- package/dist/libs/contracts/dist/ownership.js +18 -33
- package/dist/libs/contracts/dist/presentations.js +1 -1
- package/dist/libs/contracts/dist/presentations.v2.js +6 -2
- package/dist/libs/contracts/dist/regenerator/service.js +5 -0
- package/dist/libs/contracts/dist/registry.js +1 -1
- package/dist/libs/contracts/dist/schema/dist/FieldType.js +24 -14
- package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +180 -166
- package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +20 -9
- package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -1
- package/dist/libs/contracts/dist/spec.js +22 -13
- package/dist/libs/schema/dist/EnumType.js +25 -9
- package/dist/libs/schema/dist/FieldType.js +24 -14
- package/dist/libs/schema/dist/ScalarTypeEnum.js +180 -166
- package/dist/libs/schema/dist/SchemaModel.js +25 -10
- package/dist/libs/schema/dist/index.js +4 -4
- package/dist/query/query.contracts.js +3 -3
- package/dist/query/query.enum.d.ts +2 -2
- package/dist/query/query.enum.js +2 -2
- package/dist/query/query.schema.d.ts +34 -34
- package/dist/query/query.schema.js +33 -33
- package/package.json +10 -10
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/knowledge/spaces/product-canon.js
|
|
4
|
-
const
|
|
4
|
+
const productCanonKnowledgeSpace = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "knowledge.product-canon",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
14
|
-
tags: [
|
|
15
|
-
stability:
|
|
8
|
+
category: "canonical",
|
|
9
|
+
displayName: "Product Canon",
|
|
10
|
+
title: "Product Canon Knowledge Space",
|
|
11
|
+
description: "Authoritative product knowledge covering strategy, roadmap, and delivery canon.",
|
|
12
|
+
domain: "product",
|
|
13
|
+
owners: ["platform.product"],
|
|
14
|
+
tags: ["knowledge", "product"],
|
|
15
|
+
stability: StabilityEnum.Stable
|
|
16
16
|
},
|
|
17
17
|
retention: { ttlDays: null },
|
|
18
18
|
access: {
|
|
19
19
|
policy: {
|
|
20
|
-
name:
|
|
20
|
+
name: "knowledge.access.product-canon",
|
|
21
21
|
version: 1
|
|
22
22
|
},
|
|
23
|
-
trustLevel:
|
|
24
|
-
automationWritable:
|
|
23
|
+
trustLevel: "high",
|
|
24
|
+
automationWritable: false
|
|
25
25
|
},
|
|
26
26
|
indexing: {
|
|
27
|
-
embeddingModel:
|
|
27
|
+
embeddingModel: "text-embedding-3-large",
|
|
28
28
|
chunkSize: 800,
|
|
29
|
-
vectorDbIntegration:
|
|
29
|
+
vectorDbIntegration: "vectordb.qdrant"
|
|
30
30
|
},
|
|
31
|
-
description:
|
|
31
|
+
description: "Single source of truth for product canon, principles, and strategic narratives."
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
//#endregion
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/knowledge/spaces/support-faq.js
|
|
4
|
-
const
|
|
4
|
+
const supportFaqKnowledgeSpace = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "knowledge.support-faq",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
14
|
-
tags: [
|
|
15
|
-
stability:
|
|
8
|
+
category: "operational",
|
|
9
|
+
displayName: "Support FAQ",
|
|
10
|
+
title: "Support & Success FAQ",
|
|
11
|
+
description: "Operational knowledge base for customer support and success.",
|
|
12
|
+
domain: "support",
|
|
13
|
+
owners: ["platform.support"],
|
|
14
|
+
tags: ["knowledge", "support"],
|
|
15
|
+
stability: StabilityEnum.Beta
|
|
16
16
|
},
|
|
17
17
|
retention: {
|
|
18
18
|
ttlDays: 365,
|
|
@@ -20,18 +20,18 @@ const t = {
|
|
|
20
20
|
},
|
|
21
21
|
access: {
|
|
22
22
|
policy: {
|
|
23
|
-
name:
|
|
23
|
+
name: "knowledge.access.support",
|
|
24
24
|
version: 1
|
|
25
25
|
},
|
|
26
|
-
trustLevel:
|
|
27
|
-
automationWritable:
|
|
26
|
+
trustLevel: "medium",
|
|
27
|
+
automationWritable: true
|
|
28
28
|
},
|
|
29
29
|
indexing: {
|
|
30
|
-
embeddingModel:
|
|
30
|
+
embeddingModel: "text-embedding-3-small",
|
|
31
31
|
chunkSize: 700,
|
|
32
|
-
vectorDbIntegration:
|
|
32
|
+
vectorDbIntegration: "vectordb.qdrant"
|
|
33
33
|
},
|
|
34
|
-
description:
|
|
34
|
+
description: "Operational FAQs, runbooks, and customer success playbooks augmented with automation updates."
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
//#endregion
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StabilityEnum } from "../../ownership.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/knowledge/spaces/uploaded-docs.js
|
|
4
|
-
const
|
|
4
|
+
const uploadedDocsKnowledgeSpace = {
|
|
5
5
|
meta: {
|
|
6
|
-
key:
|
|
6
|
+
key: "knowledge.uploaded-docs",
|
|
7
7
|
version: 1,
|
|
8
|
-
category:
|
|
9
|
-
displayName:
|
|
10
|
-
title:
|
|
11
|
-
description:
|
|
12
|
-
domain:
|
|
13
|
-
owners: [
|
|
14
|
-
tags: [
|
|
15
|
-
stability:
|
|
8
|
+
category: "external",
|
|
9
|
+
displayName: "Uploaded Documents",
|
|
10
|
+
title: "Uploaded Knowledge Assets",
|
|
11
|
+
description: "Documents uploaded by households, including invoices, contracts, and reference files.",
|
|
12
|
+
domain: "operations",
|
|
13
|
+
owners: ["platform.operations"],
|
|
14
|
+
tags: ["documents", "storage"],
|
|
15
|
+
stability: StabilityEnum.Beta
|
|
16
16
|
},
|
|
17
17
|
retention: { ttlDays: null },
|
|
18
18
|
access: {
|
|
19
19
|
policy: {
|
|
20
|
-
name:
|
|
20
|
+
name: "knowledge.access.uploaded-docs",
|
|
21
21
|
version: 1
|
|
22
22
|
},
|
|
23
|
-
trustLevel:
|
|
24
|
-
automationWritable:
|
|
23
|
+
trustLevel: "medium",
|
|
24
|
+
automationWritable: true
|
|
25
25
|
},
|
|
26
26
|
indexing: {
|
|
27
|
-
embeddingModel:
|
|
27
|
+
embeddingModel: "mistral-embed",
|
|
28
28
|
chunkSize: 900,
|
|
29
|
-
vectorDbIntegration:
|
|
29
|
+
vectorDbIntegration: "vectordb.qdrant"
|
|
30
30
|
},
|
|
31
|
-
description:
|
|
31
|
+
description: "User-provided documents normalized and embedded for retrieval augmented workflows."
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
//#endregion
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import "../jsonschema.js";
|
|
2
2
|
|
|
3
3
|
//#region ../../libs/contracts/dist/llm/exporters.js
|
|
4
|
-
const
|
|
5
|
-
format:
|
|
6
|
-
includeSchemas:
|
|
7
|
-
includeScenarios:
|
|
8
|
-
includeExamples:
|
|
9
|
-
includePolicy:
|
|
10
|
-
includeSideEffects:
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
const DEFAULT_SPEC_OPTIONS = {
|
|
5
|
+
format: "full",
|
|
6
|
+
includeSchemas: true,
|
|
7
|
+
includeScenarios: true,
|
|
8
|
+
includeExamples: true,
|
|
9
|
+
includePolicy: true,
|
|
10
|
+
includeSideEffects: true
|
|
11
|
+
};
|
|
12
|
+
const DEFAULT_FEATURE_OPTIONS = {
|
|
13
|
+
...DEFAULT_SPEC_OPTIONS,
|
|
14
|
+
includeRelatedSpecs: true,
|
|
15
|
+
includeRelatedEvents: true,
|
|
16
|
+
includeRelatedPresentations: true
|
|
16
17
|
};
|
|
17
18
|
|
|
18
19
|
//#endregion
|
|
@@ -1,179 +1,196 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { SchemaModel } from "./schema/dist/SchemaModel.js";
|
|
2
|
+
import { ScalarTypeEnum } from "./schema/dist/ScalarTypeEnum.js";
|
|
3
3
|
import "./schema/dist/index.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { defineCommand, defineQuery } from "./spec.js";
|
|
5
|
+
import { OwnersEnum, StabilityEnum } from "./ownership.js";
|
|
6
6
|
|
|
7
7
|
//#region ../../libs/contracts/dist/onboarding-base.js
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Shared base contracts for onboarding flows across verticals.
|
|
10
|
+
* These operations are reusable for any app that needs multi-step onboarding with draft persistence.
|
|
11
|
+
*/
|
|
12
|
+
/** Save/update onboarding draft (auto-save during flow) */
|
|
13
|
+
const SaveOnboardingDraftInput = new SchemaModel({
|
|
14
|
+
name: "SaveOnboardingDraftInput",
|
|
15
|
+
description: "Input for saving onboarding draft",
|
|
11
16
|
fields: { data: {
|
|
12
|
-
type:
|
|
13
|
-
isOptional:
|
|
17
|
+
type: ScalarTypeEnum.JSON(),
|
|
18
|
+
isOptional: false
|
|
14
19
|
} }
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
});
|
|
21
|
+
const SaveOnboardingDraftOutput = new SchemaModel({
|
|
22
|
+
name: "SaveOnboardingDraftOutput",
|
|
23
|
+
description: "Output for saving onboarding draft",
|
|
18
24
|
fields: {
|
|
19
25
|
id: {
|
|
20
|
-
type:
|
|
21
|
-
isOptional:
|
|
26
|
+
type: ScalarTypeEnum.ID(),
|
|
27
|
+
isOptional: false
|
|
22
28
|
},
|
|
23
29
|
organizationId: {
|
|
24
|
-
type:
|
|
25
|
-
isOptional:
|
|
30
|
+
type: ScalarTypeEnum.ID(),
|
|
31
|
+
isOptional: false
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
|
-
})
|
|
34
|
+
});
|
|
35
|
+
const SaveOnboardingDraftBaseSpec = defineCommand({
|
|
29
36
|
meta: {
|
|
30
|
-
name:
|
|
37
|
+
name: "base.onboarding.saveDraft",
|
|
31
38
|
version: 1,
|
|
32
|
-
stability:
|
|
33
|
-
owners: [
|
|
34
|
-
tags: [
|
|
35
|
-
description:
|
|
36
|
-
goal:
|
|
37
|
-
context:
|
|
39
|
+
stability: StabilityEnum.Beta,
|
|
40
|
+
owners: [OwnersEnum.PlatformSigil],
|
|
41
|
+
tags: ["onboarding", "draft"],
|
|
42
|
+
description: "Save or update onboarding draft for active organization",
|
|
43
|
+
goal: "Persist onboarding progress incrementally for resumption and safety",
|
|
44
|
+
context: "Auto-saves every few seconds during onboarding; enables users to leave and resume"
|
|
38
45
|
},
|
|
39
46
|
io: {
|
|
40
|
-
input:
|
|
41
|
-
output:
|
|
47
|
+
input: SaveOnboardingDraftInput,
|
|
48
|
+
output: SaveOnboardingDraftOutput
|
|
42
49
|
},
|
|
43
50
|
policy: {
|
|
44
|
-
auth:
|
|
51
|
+
auth: "user",
|
|
45
52
|
escalate: null
|
|
46
53
|
},
|
|
47
54
|
transport: {
|
|
48
|
-
gql: { field:
|
|
49
|
-
rest: { method:
|
|
55
|
+
gql: { field: "saveOnboardingDraft" },
|
|
56
|
+
rest: { method: "POST" }
|
|
50
57
|
}
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
});
|
|
59
|
+
/** Get current onboarding draft (on mount/restore) */
|
|
60
|
+
const GetOnboardingDraftOutput = new SchemaModel({
|
|
61
|
+
name: "GetOnboardingDraftOutput",
|
|
62
|
+
description: "Onboarding draft payload",
|
|
54
63
|
fields: {
|
|
55
64
|
id: {
|
|
56
|
-
type:
|
|
57
|
-
isOptional:
|
|
65
|
+
type: ScalarTypeEnum.ID(),
|
|
66
|
+
isOptional: true
|
|
58
67
|
},
|
|
59
68
|
organizationId: {
|
|
60
|
-
type:
|
|
61
|
-
isOptional:
|
|
69
|
+
type: ScalarTypeEnum.ID(),
|
|
70
|
+
isOptional: true
|
|
62
71
|
},
|
|
63
72
|
data: {
|
|
64
|
-
type:
|
|
65
|
-
isOptional:
|
|
73
|
+
type: ScalarTypeEnum.JSON(),
|
|
74
|
+
isOptional: true
|
|
66
75
|
},
|
|
67
76
|
createdAt: {
|
|
68
|
-
type:
|
|
69
|
-
isOptional:
|
|
77
|
+
type: ScalarTypeEnum.DateTime(),
|
|
78
|
+
isOptional: true
|
|
70
79
|
},
|
|
71
80
|
updatedAt: {
|
|
72
|
-
type:
|
|
73
|
-
isOptional:
|
|
81
|
+
type: ScalarTypeEnum.DateTime(),
|
|
82
|
+
isOptional: true
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
|
-
})
|
|
85
|
+
});
|
|
86
|
+
const GetOnboardingDraftBaseSpec = defineQuery({
|
|
77
87
|
meta: {
|
|
78
|
-
name:
|
|
88
|
+
name: "base.onboarding.getDraft",
|
|
79
89
|
version: 1,
|
|
80
|
-
stability:
|
|
81
|
-
owners: [
|
|
82
|
-
tags: [
|
|
83
|
-
description:
|
|
84
|
-
goal:
|
|
85
|
-
context:
|
|
90
|
+
stability: StabilityEnum.Beta,
|
|
91
|
+
owners: [OwnersEnum.PlatformSigil],
|
|
92
|
+
tags: ["onboarding", "draft"],
|
|
93
|
+
description: "Get onboarding draft for active organization",
|
|
94
|
+
goal: "Retrieve saved onboarding progress",
|
|
95
|
+
context: "Called on mount to restore in-progress onboarding"
|
|
86
96
|
},
|
|
87
97
|
io: {
|
|
88
98
|
input: null,
|
|
89
|
-
output:
|
|
99
|
+
output: GetOnboardingDraftOutput
|
|
90
100
|
},
|
|
91
101
|
policy: {
|
|
92
|
-
auth:
|
|
102
|
+
auth: "user",
|
|
93
103
|
escalate: null
|
|
94
104
|
},
|
|
95
105
|
transport: {
|
|
96
|
-
gql: { field:
|
|
97
|
-
rest: { method:
|
|
106
|
+
gql: { field: "getOnboardingDraft" },
|
|
107
|
+
rest: { method: "GET" }
|
|
98
108
|
}
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
});
|
|
110
|
+
/** Delete onboarding draft (cleanup after completion or cancel) */
|
|
111
|
+
const DeleteOnboardingDraftOutput = new SchemaModel({
|
|
112
|
+
name: "DeleteOnboardingDraftOutput",
|
|
113
|
+
description: "Result of delete operation",
|
|
102
114
|
fields: { ok: {
|
|
103
|
-
type:
|
|
104
|
-
isOptional:
|
|
115
|
+
type: ScalarTypeEnum.Boolean(),
|
|
116
|
+
isOptional: false
|
|
105
117
|
} }
|
|
106
|
-
})
|
|
118
|
+
});
|
|
119
|
+
const DeleteOnboardingDraftBaseSpec = defineCommand({
|
|
107
120
|
meta: {
|
|
108
|
-
name:
|
|
121
|
+
name: "base.onboarding.deleteDraft",
|
|
109
122
|
version: 1,
|
|
110
|
-
stability:
|
|
111
|
-
owners: [
|
|
112
|
-
tags: [
|
|
113
|
-
description:
|
|
114
|
-
goal:
|
|
115
|
-
context:
|
|
123
|
+
stability: StabilityEnum.Beta,
|
|
124
|
+
owners: [OwnersEnum.PlatformSigil],
|
|
125
|
+
tags: ["onboarding", "draft"],
|
|
126
|
+
description: "Delete onboarding draft for active organization",
|
|
127
|
+
goal: "Clear draft after completion or if user wants to restart",
|
|
128
|
+
context: "Called after successful onboarding or explicit user reset"
|
|
116
129
|
},
|
|
117
130
|
io: {
|
|
118
131
|
input: null,
|
|
119
|
-
output:
|
|
132
|
+
output: DeleteOnboardingDraftOutput
|
|
120
133
|
},
|
|
121
134
|
policy: {
|
|
122
|
-
auth:
|
|
135
|
+
auth: "user",
|
|
123
136
|
escalate: null
|
|
124
137
|
},
|
|
125
138
|
transport: {
|
|
126
|
-
gql: { field:
|
|
127
|
-
rest: { method:
|
|
139
|
+
gql: { field: "deleteOnboardingDraft" },
|
|
140
|
+
rest: { method: "POST" }
|
|
128
141
|
}
|
|
129
|
-
})
|
|
130
|
-
|
|
131
|
-
|
|
142
|
+
});
|
|
143
|
+
/** Complete onboarding (final submit, creates entities) */
|
|
144
|
+
const CompleteOnboardingBaseInput = new SchemaModel({
|
|
145
|
+
name: "CompleteOnboardingBaseInput",
|
|
146
|
+
description: "Input for completing onboarding",
|
|
132
147
|
fields: { data: {
|
|
133
|
-
type:
|
|
134
|
-
isOptional:
|
|
148
|
+
type: ScalarTypeEnum.JSON(),
|
|
149
|
+
isOptional: false
|
|
135
150
|
} }
|
|
136
|
-
})
|
|
137
|
-
|
|
138
|
-
|
|
151
|
+
});
|
|
152
|
+
const CompleteOnboardingBaseOutput = new SchemaModel({
|
|
153
|
+
name: "CompleteOnboardingBaseOutput",
|
|
154
|
+
description: "Result of onboarding completion",
|
|
139
155
|
fields: {
|
|
140
156
|
success: {
|
|
141
|
-
type:
|
|
142
|
-
isOptional:
|
|
157
|
+
type: ScalarTypeEnum.Boolean(),
|
|
158
|
+
isOptional: false
|
|
143
159
|
},
|
|
144
160
|
userId: {
|
|
145
|
-
type:
|
|
146
|
-
isOptional:
|
|
161
|
+
type: ScalarTypeEnum.ID(),
|
|
162
|
+
isOptional: true
|
|
147
163
|
},
|
|
148
164
|
organizationId: {
|
|
149
|
-
type:
|
|
150
|
-
isOptional:
|
|
165
|
+
type: ScalarTypeEnum.ID(),
|
|
166
|
+
isOptional: true
|
|
151
167
|
}
|
|
152
168
|
}
|
|
153
|
-
})
|
|
169
|
+
});
|
|
170
|
+
const CompleteOnboardingBaseSpec = defineCommand({
|
|
154
171
|
meta: {
|
|
155
|
-
name:
|
|
172
|
+
name: "base.onboarding.complete",
|
|
156
173
|
version: 1,
|
|
157
|
-
stability:
|
|
158
|
-
owners: [
|
|
159
|
-
tags: [
|
|
160
|
-
description:
|
|
161
|
-
goal:
|
|
162
|
-
context:
|
|
174
|
+
stability: StabilityEnum.Beta,
|
|
175
|
+
owners: [OwnersEnum.PlatformSigil],
|
|
176
|
+
tags: ["onboarding"],
|
|
177
|
+
description: "Complete onboarding and finalize user/organization setup",
|
|
178
|
+
goal: "Transition from draft to active profile",
|
|
179
|
+
context: "Validates all required fields, creates/updates entities, marks onboarding complete"
|
|
163
180
|
},
|
|
164
181
|
io: {
|
|
165
|
-
input:
|
|
166
|
-
output:
|
|
182
|
+
input: CompleteOnboardingBaseInput,
|
|
183
|
+
output: CompleteOnboardingBaseOutput
|
|
167
184
|
},
|
|
168
185
|
policy: {
|
|
169
|
-
auth:
|
|
186
|
+
auth: "user",
|
|
170
187
|
escalate: null
|
|
171
188
|
},
|
|
172
189
|
transport: {
|
|
173
|
-
gql: { field:
|
|
174
|
-
rest: { method:
|
|
190
|
+
gql: { field: "completeOnboarding" },
|
|
191
|
+
rest: { method: "POST" }
|
|
175
192
|
}
|
|
176
193
|
});
|
|
177
194
|
|
|
178
195
|
//#endregion
|
|
179
|
-
export {
|
|
196
|
+
export { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, DeleteOnboardingDraftOutput, GetOnboardingDraftOutput, SaveOnboardingDraftInput, SaveOnboardingDraftOutput };
|
|
@@ -1,36 +1,21 @@
|
|
|
1
1
|
//#region ../../libs/contracts/dist/ownership.js
|
|
2
|
-
const
|
|
3
|
-
Idea:
|
|
4
|
-
InCreation:
|
|
5
|
-
Experimental:
|
|
6
|
-
Beta:
|
|
7
|
-
Stable:
|
|
8
|
-
Deprecated:
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Collectivity: `collectivity`,
|
|
20
|
-
Marketplace: `marketplace`,
|
|
21
|
-
Sellers: `sellers`,
|
|
22
|
-
Auth: `auth`,
|
|
23
|
-
Login: `login`,
|
|
24
|
-
Signup: `signup`,
|
|
25
|
-
Guide: `guide`,
|
|
26
|
-
Docs: `docs`,
|
|
27
|
-
I18n: `i18n`,
|
|
28
|
-
AtomicPages: `atomic:pages`,
|
|
29
|
-
Incident: `incident`,
|
|
30
|
-
Hygiene: `hygiene`,
|
|
31
|
-
WeeklyPulse: `weekly_pulse`,
|
|
32
|
-
WebAuth: `webauth`
|
|
33
|
-
}, i = r;
|
|
2
|
+
const StabilityEnum = {
|
|
3
|
+
Idea: "idea",
|
|
4
|
+
InCreation: "in_creation",
|
|
5
|
+
Experimental: "experimental",
|
|
6
|
+
Beta: "beta",
|
|
7
|
+
Stable: "stable",
|
|
8
|
+
Deprecated: "deprecated"
|
|
9
|
+
};
|
|
10
|
+
const OwnersEnum = {
|
|
11
|
+
ProductColiving: "product.coliving",
|
|
12
|
+
ProductStrit: "product.strit",
|
|
13
|
+
ProductArtisanos: "product.artisanos",
|
|
14
|
+
PlatformSigil: "platform.sigil",
|
|
15
|
+
PlatformMarketplace: "platform.marketplace",
|
|
16
|
+
PlatformContent: "platform.content",
|
|
17
|
+
PlatformFeatureFlags: "platform.featureflags"
|
|
18
|
+
};
|
|
34
19
|
|
|
35
20
|
//#endregion
|
|
36
|
-
export {
|
|
21
|
+
export { OwnersEnum, StabilityEnum };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import z from "zod";
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import "react";
|
|
2
|
-
import
|
|
2
|
+
import TurndownService from "turndown";
|
|
3
3
|
|
|
4
4
|
//#region ../../libs/contracts/dist/presentations.v2.js
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Pluggable transform engine that renders descriptors to various targets
|
|
7
|
+
* and runs validators (e.g., basic metadata checks, PII redaction policies).
|
|
8
|
+
*/
|
|
9
|
+
const turndown = new TurndownService();
|
|
6
10
|
|
|
7
11
|
//#endregion
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import "./events.js";
|
|
2
|
-
import {
|
|
2
|
+
import { defaultDocRegistry, registerDocBlocks } from "./docs/registry.js";
|
|
@@ -2,38 +2,48 @@ import "zod";
|
|
|
2
2
|
import { GraphQLScalarType } from "graphql";
|
|
3
3
|
|
|
4
4
|
//#region ../../libs/contracts/dist/schema/dist/FieldType.js
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* GraphQL scalar wrapper that carries zod and JSON Schema metadata.
|
|
7
|
+
*
|
|
8
|
+
* TInternal is the runtime representation; TExternal is the GraphQL output.
|
|
9
|
+
*/
|
|
10
|
+
var FieldType = class extends GraphQLScalarType {
|
|
6
11
|
zodSchema;
|
|
7
12
|
jsonSchemaDef;
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
13
|
+
constructor(config) {
|
|
14
|
+
super(config);
|
|
15
|
+
this.zodSchema = config.zod;
|
|
16
|
+
this.jsonSchemaDef = config.jsonSchema;
|
|
10
17
|
}
|
|
18
|
+
/** Return the attached zod schema for validation. */
|
|
11
19
|
getZod() {
|
|
12
20
|
return this.zodSchema;
|
|
13
21
|
}
|
|
22
|
+
/** GraphQL scalar instance usable by Pothos or vanilla GraphQL. */
|
|
14
23
|
getPothos() {
|
|
15
24
|
return this;
|
|
16
25
|
}
|
|
26
|
+
/** Return the JSON Schema (evaluates factory if provided). */
|
|
17
27
|
getJson() {
|
|
18
|
-
return typeof this.jsonSchemaDef
|
|
28
|
+
return typeof this.jsonSchemaDef === "function" ? this.jsonSchemaDef() : this.jsonSchemaDef;
|
|
19
29
|
}
|
|
20
30
|
getJsonSchemaDef() {
|
|
21
31
|
return this.jsonSchemaDef;
|
|
22
32
|
}
|
|
23
33
|
getJsonSchema() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (Array.isArray(
|
|
27
|
-
if (
|
|
28
|
-
|
|
29
|
-
for (
|
|
30
|
-
return
|
|
34
|
+
const deepResolve = (v) => {
|
|
35
|
+
const value = typeof v === "function" ? v() : v;
|
|
36
|
+
if (Array.isArray(value)) return value.map((item) => deepResolve(item));
|
|
37
|
+
if (value && typeof value === "object") {
|
|
38
|
+
const obj = {};
|
|
39
|
+
for (const [k, val] of Object.entries(value)) obj[k] = deepResolve(val);
|
|
40
|
+
return obj;
|
|
31
41
|
}
|
|
32
|
-
return
|
|
42
|
+
return value;
|
|
33
43
|
};
|
|
34
|
-
return
|
|
44
|
+
return deepResolve(this.getJson());
|
|
35
45
|
}
|
|
36
46
|
};
|
|
37
47
|
|
|
38
48
|
//#endregion
|
|
39
|
-
export {
|
|
49
|
+
export { FieldType };
|