@contractspec/example.wealth-snapshot 1.44.1 → 1.45.0
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/events.js +4 -4
- package/dist/events.js.map +1 -1
- package/dist/example.d.ts +3 -36
- package/dist/example.d.ts.map +1 -1
- package/dist/example.js +15 -10
- package/dist/example.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/operations/index.js +6 -6
- package/dist/operations/index.js.map +1 -1
- package/dist/presentations.js +5 -5
- package/dist/presentations.js.map +1 -1
- package/dist/wealth-snapshot.feature.js +26 -26
- package/dist/wealth-snapshot.feature.js.map +1 -1
- package/package.json +9 -9
package/dist/events.js
CHANGED
|
@@ -99,7 +99,7 @@ const GoalEventPayload = defineSchemaModel({
|
|
|
99
99
|
const AssetAddedEvent = defineEvent({
|
|
100
100
|
meta: {
|
|
101
101
|
key: "wealth.asset.added",
|
|
102
|
-
version: 1,
|
|
102
|
+
version: "1.0.0",
|
|
103
103
|
description: "An asset was added or updated.",
|
|
104
104
|
stability: StabilityEnum.Experimental,
|
|
105
105
|
owners: [],
|
|
@@ -110,7 +110,7 @@ const AssetAddedEvent = defineEvent({
|
|
|
110
110
|
const LiabilityAddedEvent = defineEvent({
|
|
111
111
|
meta: {
|
|
112
112
|
key: "wealth.liability.added",
|
|
113
|
-
version: 1,
|
|
113
|
+
version: "1.0.0",
|
|
114
114
|
description: "A liability was added or updated.",
|
|
115
115
|
stability: StabilityEnum.Experimental,
|
|
116
116
|
owners: [],
|
|
@@ -121,7 +121,7 @@ const LiabilityAddedEvent = defineEvent({
|
|
|
121
121
|
const GoalUpdatedEvent = defineEvent({
|
|
122
122
|
meta: {
|
|
123
123
|
key: "wealth.goal.updated",
|
|
124
|
-
version: 1,
|
|
124
|
+
version: "1.0.0",
|
|
125
125
|
description: "A goal was updated.",
|
|
126
126
|
stability: StabilityEnum.Experimental,
|
|
127
127
|
owners: [],
|
|
@@ -132,7 +132,7 @@ const GoalUpdatedEvent = defineEvent({
|
|
|
132
132
|
const NetWorthSnapshotCreatedEvent = defineEvent({
|
|
133
133
|
meta: {
|
|
134
134
|
key: "wealth.networth.snapshot_created",
|
|
135
|
-
version: 1,
|
|
135
|
+
version: "1.0.0",
|
|
136
136
|
description: "A net worth snapshot was generated.",
|
|
137
137
|
stability: StabilityEnum.Experimental,
|
|
138
138
|
owners: [],
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineEvent, StabilityEnum } from '@contractspec/lib.contracts';\n\nconst AssetEventPayload = defineSchemaModel({\n name: 'AssetEventPayload',\n description: 'Payload for asset events',\n fields: {\n assetId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n value: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst LiabilityEventPayload = defineSchemaModel({\n name: 'LiabilityEventPayload',\n description: 'Payload for liability events',\n fields: {\n liabilityId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst GoalEventPayload = defineSchemaModel({\n name: 'GoalEventPayload',\n description: 'Payload for goal events',\n fields: {\n goalId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currentAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n targetAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const AssetAddedEvent = defineEvent({\n meta: {\n key: 'wealth.asset.added',\n version: 1,\n description: 'An asset was added or updated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: AssetEventPayload,\n});\n\nexport const LiabilityAddedEvent = defineEvent({\n meta: {\n key: 'wealth.liability.added',\n version: 1,\n description: 'A liability was added or updated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: LiabilityEventPayload,\n});\n\nexport const GoalUpdatedEvent = defineEvent({\n meta: {\n key: 'wealth.goal.updated',\n version: 1,\n description: 'A goal was updated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: GoalEventPayload,\n});\n\nexport const NetWorthSnapshotCreatedEvent = defineEvent({\n meta: {\n key: 'wealth.networth.snapshot_created',\n version: 1,\n description: 'A net worth snapshot was generated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: defineSchemaModel({\n name: 'NetWorthSnapshotEventPayload',\n description: 'Net worth snapshot payload',\n fields: {\n netWorth: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n totalAssets: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n totalLiabilities: {\n type: ScalarTypeEnum.Float_unsecure(),\n isOptional: false,\n },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n asOf: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n }),\n});\n\nexport const WealthSnapshotEvents = {\n AssetAddedEvent,\n LiabilityAddedEvent,\n GoalUpdatedEvent,\n NetWorthSnapshotCreatedEvent,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineEvent, StabilityEnum } from '@contractspec/lib.contracts';\n\nconst AssetEventPayload = defineSchemaModel({\n name: 'AssetEventPayload',\n description: 'Payload for asset events',\n fields: {\n assetId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n value: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst LiabilityEventPayload = defineSchemaModel({\n name: 'LiabilityEventPayload',\n description: 'Payload for liability events',\n fields: {\n liabilityId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst GoalEventPayload = defineSchemaModel({\n name: 'GoalEventPayload',\n description: 'Payload for goal events',\n fields: {\n goalId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currentAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n targetAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n timestamp: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nexport const AssetAddedEvent = defineEvent({\n meta: {\n key: 'wealth.asset.added',\n version: '1.0.0',\n description: 'An asset was added or updated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: AssetEventPayload,\n});\n\nexport const LiabilityAddedEvent = defineEvent({\n meta: {\n key: 'wealth.liability.added',\n version: '1.0.0',\n description: 'A liability was added or updated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: LiabilityEventPayload,\n});\n\nexport const GoalUpdatedEvent = defineEvent({\n meta: {\n key: 'wealth.goal.updated',\n version: '1.0.0',\n description: 'A goal was updated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: GoalEventPayload,\n});\n\nexport const NetWorthSnapshotCreatedEvent = defineEvent({\n meta: {\n key: 'wealth.networth.snapshot_created',\n version: '1.0.0',\n description: 'A net worth snapshot was generated.',\n stability: StabilityEnum.Experimental,\n owners: [],\n tags: [],\n },\n payload: defineSchemaModel({\n name: 'NetWorthSnapshotEventPayload',\n description: 'Net worth snapshot payload',\n fields: {\n netWorth: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n totalAssets: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n totalLiabilities: {\n type: ScalarTypeEnum.Float_unsecure(),\n isOptional: false,\n },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n asOf: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n }),\n});\n\nexport const WealthSnapshotEvents = {\n AssetAddedEvent,\n LiabilityAddedEvent,\n GoalUpdatedEvent,\n NetWorthSnapshotCreatedEvent,\n};\n"],"mappings":"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"}
|
package/dist/example.d.ts
CHANGED
|
@@ -1,40 +1,7 @@
|
|
|
1
|
+
import { ExampleSpec } from "@contractspec/lib.contracts";
|
|
2
|
+
|
|
1
3
|
//#region src/example.d.ts
|
|
2
|
-
declare const example:
|
|
3
|
-
readonly id: "wealth-snapshot";
|
|
4
|
-
readonly title: "Wealth Snapshot";
|
|
5
|
-
readonly summary: "Simple wealth overview with accounts, assets, liabilities, goals, and net-worth snapshots.";
|
|
6
|
-
readonly tags: readonly ["finance", "net-worth", "goals"];
|
|
7
|
-
readonly kind: "template";
|
|
8
|
-
readonly visibility: "public";
|
|
9
|
-
readonly docs: {
|
|
10
|
-
readonly rootDocId: "docs.examples.wealth-snapshot";
|
|
11
|
-
readonly goalDocId: "docs.examples.wealth-snapshot.goal";
|
|
12
|
-
readonly usageDocId: "docs.examples.wealth-snapshot.usage";
|
|
13
|
-
readonly constraintsDocId: "docs.examples.wealth-snapshot.constraints";
|
|
14
|
-
};
|
|
15
|
-
readonly entrypoints: {
|
|
16
|
-
readonly packageName: "@contractspec/example.wealth-snapshot";
|
|
17
|
-
readonly feature: "./feature";
|
|
18
|
-
readonly contracts: "./contracts";
|
|
19
|
-
readonly presentations: "./presentations";
|
|
20
|
-
readonly handlers: "./handlers";
|
|
21
|
-
readonly docs: "./docs";
|
|
22
|
-
};
|
|
23
|
-
readonly surfaces: {
|
|
24
|
-
readonly templates: true;
|
|
25
|
-
readonly sandbox: {
|
|
26
|
-
readonly enabled: true;
|
|
27
|
-
readonly modes: readonly ["playground", "specs", "builder", "markdown", "evolution"];
|
|
28
|
-
};
|
|
29
|
-
readonly studio: {
|
|
30
|
-
readonly enabled: true;
|
|
31
|
-
readonly installable: true;
|
|
32
|
-
};
|
|
33
|
-
readonly mcp: {
|
|
34
|
-
readonly enabled: true;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
};
|
|
4
|
+
declare const example: ExampleSpec;
|
|
38
5
|
//#endregion
|
|
39
6
|
export { example as default };
|
|
40
7
|
//# sourceMappingURL=example.d.ts.map
|
package/dist/example.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"example.d.ts","names":[],"sources":["../src/example.ts"],"sourcesContent":[],"mappings":";;;cAEM,SAAS"}
|
package/dist/example.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
//#region src/example.ts
|
|
2
2
|
const example = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
meta: {
|
|
4
|
+
key: "wealth-snapshot",
|
|
5
|
+
version: "1.0.0",
|
|
6
|
+
title: "Wealth Snapshot",
|
|
7
|
+
description: "Simple wealth overview with accounts, assets, liabilities, goals, and net-worth snapshots.",
|
|
8
|
+
kind: "template",
|
|
9
|
+
visibility: "public",
|
|
10
|
+
stability: "experimental",
|
|
11
|
+
owners: ["@platform.core"],
|
|
12
|
+
tags: [
|
|
13
|
+
"finance",
|
|
14
|
+
"net-worth",
|
|
15
|
+
"goals"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
13
18
|
docs: {
|
|
14
19
|
rootDocId: "docs.examples.wealth-snapshot",
|
|
15
20
|
goalDocId: "docs.examples.wealth-snapshot.goal",
|
package/dist/example.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","names":[],"sources":["../src/example.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"example.js","names":["example: ExampleSpec"],"sources":["../src/example.ts"],"sourcesContent":["import type { ExampleSpec } from '@contractspec/lib.contracts';\n\nconst example: ExampleSpec = {\n meta: {\n key: 'wealth-snapshot',\n version: '1.0.0',\n title: 'Wealth Snapshot',\n description:\n 'Simple wealth overview with accounts, assets, liabilities, goals, and net-worth snapshots.',\n kind: 'template',\n visibility: 'public',\n stability: 'experimental',\n owners: ['@platform.core'],\n tags: ['finance', 'net-worth', 'goals'],\n },\n docs: {\n rootDocId: 'docs.examples.wealth-snapshot',\n goalDocId: 'docs.examples.wealth-snapshot.goal',\n usageDocId: 'docs.examples.wealth-snapshot.usage',\n constraintsDocId: 'docs.examples.wealth-snapshot.constraints',\n },\n entrypoints: {\n packageName: '@contractspec/example.wealth-snapshot',\n feature: './feature',\n contracts: './contracts',\n presentations: './presentations',\n handlers: './handlers',\n docs: './docs',\n },\n surfaces: {\n templates: true,\n sandbox: {\n enabled: true,\n modes: ['playground', 'specs', 'builder', 'markdown', 'evolution'],\n },\n studio: { enabled: true, installable: true },\n mcp: { enabled: true },\n },\n};\n\nexport default example;\n"],"mappings":";AAEA,MAAMA,UAAuB;CAC3B,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,MAAM;EACN,YAAY;EACZ,WAAW;EACX,QAAQ,CAAC,iBAAiB;EAC1B,MAAM;GAAC;GAAW;GAAa;GAAQ;EACxC;CACD,MAAM;EACJ,WAAW;EACX,WAAW;EACX,YAAY;EACZ,kBAAkB;EACnB;CACD,aAAa;EACX,aAAa;EACb,SAAS;EACT,WAAW;EACX,eAAe;EACf,UAAU;EACV,MAAM;EACP;CACD,UAAU;EACR,WAAW;EACX,SAAS;GACP,SAAS;GACT,OAAO;IAAC;IAAc;IAAS;IAAW;IAAY;IAAY;GACnE;EACD,QAAQ;GAAE,SAAS;GAAM,aAAa;GAAM;EAC5C,KAAK,EAAE,SAAS,MAAM;EACvB;CACF;AAED,sBAAe"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ import { registerWealthSnapshotHandlers } from "./handlers/index.js";
|
|
|
5
5
|
import { AccountModel, AddAssetContract, AddLiabilityContract, AssetModel, CreateAccountContract, CreateGoalContract, GetNetWorthContract, GoalModel, LiabilityModel, NetWorthSnapshotModel, UpdateGoalContract } from "./operations/index.js";
|
|
6
6
|
import { AccountsListPresentation, AssetsListPresentation, GoalsListPresentation, LiabilitiesListPresentation, WealthDashboardPresentation } from "./presentations.js";
|
|
7
7
|
import { WealthSnapshotFeature } from "./wealth-snapshot.feature.js";
|
|
8
|
-
import * as
|
|
8
|
+
import * as _contractspec_lib_schema57 from "@contractspec/lib.schema";
|
|
9
9
|
|
|
10
10
|
//#region src/index.d.ts
|
|
11
11
|
declare const schemaComposition: {
|
|
12
|
-
modules:
|
|
12
|
+
modules: _contractspec_lib_schema57.ModuleSchemaContribution[];
|
|
13
13
|
provider: "postgresql";
|
|
14
14
|
outputPath: string;
|
|
15
15
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;cAca;WASZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;cAca;WASZ,0BAAA,CAAA,wBAAA;EATY,QAAA,EAAA,YASZ"}
|
package/dist/operations/index.js
CHANGED
|
@@ -288,7 +288,7 @@ const NetWorthQueryInput = defineSchemaModel({
|
|
|
288
288
|
const CreateAccountContract = defineCommand({
|
|
289
289
|
meta: {
|
|
290
290
|
key: "wealth.account.create",
|
|
291
|
-
version: 1,
|
|
291
|
+
version: "1.0.0",
|
|
292
292
|
stability: "stable",
|
|
293
293
|
owners: [...OWNERS],
|
|
294
294
|
tags: [
|
|
@@ -309,7 +309,7 @@ const CreateAccountContract = defineCommand({
|
|
|
309
309
|
const AddAssetContract = defineCommand({
|
|
310
310
|
meta: {
|
|
311
311
|
key: "wealth.asset.add",
|
|
312
|
-
version: 1,
|
|
312
|
+
version: "1.0.0",
|
|
313
313
|
stability: "stable",
|
|
314
314
|
owners: [...OWNERS],
|
|
315
315
|
tags: [
|
|
@@ -330,7 +330,7 @@ const AddAssetContract = defineCommand({
|
|
|
330
330
|
const AddLiabilityContract = defineCommand({
|
|
331
331
|
meta: {
|
|
332
332
|
key: "wealth.liability.add",
|
|
333
|
-
version: 1,
|
|
333
|
+
version: "1.0.0",
|
|
334
334
|
stability: "stable",
|
|
335
335
|
owners: [...OWNERS],
|
|
336
336
|
tags: [
|
|
@@ -351,7 +351,7 @@ const AddLiabilityContract = defineCommand({
|
|
|
351
351
|
const CreateGoalContract = defineCommand({
|
|
352
352
|
meta: {
|
|
353
353
|
key: "wealth.goal.create",
|
|
354
|
-
version: 1,
|
|
354
|
+
version: "1.0.0",
|
|
355
355
|
stability: "stable",
|
|
356
356
|
owners: [...OWNERS],
|
|
357
357
|
tags: [
|
|
@@ -372,7 +372,7 @@ const CreateGoalContract = defineCommand({
|
|
|
372
372
|
const UpdateGoalContract = defineCommand({
|
|
373
373
|
meta: {
|
|
374
374
|
key: "wealth.goal.update",
|
|
375
|
-
version: 1,
|
|
375
|
+
version: "1.0.0",
|
|
376
376
|
stability: "stable",
|
|
377
377
|
owners: [...OWNERS],
|
|
378
378
|
tags: [
|
|
@@ -393,7 +393,7 @@ const UpdateGoalContract = defineCommand({
|
|
|
393
393
|
const GetNetWorthContract = defineQuery({
|
|
394
394
|
meta: {
|
|
395
395
|
key: "wealth.networth.get",
|
|
396
|
-
version: 1,
|
|
396
|
+
version: "1.0.0",
|
|
397
397
|
stability: "stable",
|
|
398
398
|
owners: [...OWNERS],
|
|
399
399
|
tags: ["wealth", "networth"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/operations/index.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineCommand, defineQuery } from '@contractspec/lib.contracts';\n\nconst OWNERS = ['examples.wealth-snapshot'] as const;\n\nexport const AccountModel = defineSchemaModel({\n name: 'Account',\n description: 'Account model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n },\n});\n\nexport const AssetModel = defineSchemaModel({\n name: 'Asset',\n description: 'Asset model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n value: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const LiabilityModel = defineSchemaModel({\n name: 'Liability',\n description: 'Liability model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const GoalModel = defineSchemaModel({\n name: 'Goal',\n description: 'Goal model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currentAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const NetWorthSnapshotModel = defineSchemaModel({\n name: 'NetWorthSnapshot',\n description: 'Net worth snapshot model',\n fields: {\n asOf: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n totalAssets: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n totalLiabilities: {\n type: ScalarTypeEnum.Float_unsecure(),\n isOptional: false,\n },\n netWorth: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\n// Inputs\nconst CreateAccountInput = defineSchemaModel({\n name: 'CreateAccountInput',\n description: 'Create account input',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst AddAssetInput = defineSchemaModel({\n name: 'AddAssetInput',\n description: 'Add asset input',\n fields: {\n accountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n value: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst AddLiabilityInput = defineSchemaModel({\n name: 'AddLiabilityInput',\n description: 'Add liability input',\n fields: {\n accountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst UpdateGoalInput = defineSchemaModel({\n name: 'UpdateGoalInput',\n description: 'Update goal progress',\n fields: {\n goalId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currentAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst CreateGoalInput = defineSchemaModel({\n name: 'CreateGoalInput',\n description: 'Create goal input',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n targetDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst NetWorthQueryInput = defineSchemaModel({\n name: 'NetWorthQueryInput',\n description: 'Filter for net worth snapshots',\n fields: {\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n from: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n to: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\n// Commands\nexport const CreateAccountContract = defineCommand({\n meta: {\n key: 'wealth.account.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'account', 'create'],\n description: 'Create a financial account.',\n goal: 'Track account balances.',\n context: 'Onboarding/import.',\n },\n io: { input: CreateAccountInput, output: AccountModel },\n policy: { auth: 'user' },\n});\n\nexport const AddAssetContract = defineCommand({\n meta: {\n key: 'wealth.asset.add',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'asset', 'add'],\n description: 'Add an asset position.',\n goal: 'Track holdings.',\n context: 'Asset onboarding/update.',\n },\n io: { input: AddAssetInput, output: AssetModel },\n policy: { auth: 'user' },\n});\n\nexport const AddLiabilityContract = defineCommand({\n meta: {\n key: 'wealth.liability.add',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'liability', 'add'],\n description: 'Add a liability.',\n goal: 'Track debts.',\n context: 'Debt onboarding/update.',\n },\n io: { input: AddLiabilityInput, output: LiabilityModel },\n policy: { auth: 'user' },\n});\n\nexport const CreateGoalContract = defineCommand({\n meta: {\n key: 'wealth.goal.create',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'goal', 'create'],\n description: 'Create a financial goal.',\n goal: 'Track progress toward goals.',\n context: 'Planning.',\n },\n io: { input: CreateGoalInput, output: GoalModel },\n policy: { auth: 'user' },\n});\n\nexport const UpdateGoalContract = defineCommand({\n meta: {\n key: 'wealth.goal.update',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'goal', 'update'],\n description: 'Update goal progress.',\n goal: 'Keep progress current.',\n context: 'Periodic update.',\n },\n io: { input: UpdateGoalInput, output: GoalModel },\n policy: { auth: 'user' },\n});\n\n// Queries\nexport const GetNetWorthContract = defineQuery({\n meta: {\n key: 'wealth.networth.get',\n version: 1,\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'networth'],\n description: 'Get net worth snapshots for a period.',\n goal: 'Render charts and indicators.',\n context: 'Dashboard.',\n },\n io: {\n input: NetWorthQueryInput,\n output: defineSchemaModel({\n name: 'NetWorthQueryOutput',\n description: 'Snapshots + latest indicators',\n fields: {\n snapshots: {\n type: NetWorthSnapshotModel,\n isArray: true,\n isOptional: false,\n },\n latest: { type: NetWorthSnapshotModel, isOptional: true },\n },\n }),\n },\n policy: { auth: 'user' },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/operations/index.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@contractspec/lib.schema';\nimport { defineCommand, defineQuery } from '@contractspec/lib.contracts';\n\nconst OWNERS = ['examples.wealth-snapshot'] as const;\n\nexport const AccountModel = defineSchemaModel({\n name: 'Account',\n description: 'Account model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n },\n});\n\nexport const AssetModel = defineSchemaModel({\n name: 'Asset',\n description: 'Asset model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n value: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const LiabilityModel = defineSchemaModel({\n name: 'Liability',\n description: 'Liability model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const GoalModel = defineSchemaModel({\n name: 'Goal',\n description: 'Goal model',\n fields: {\n id: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currentAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nexport const NetWorthSnapshotModel = defineSchemaModel({\n name: 'NetWorthSnapshot',\n description: 'Net worth snapshot model',\n fields: {\n asOf: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n totalAssets: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n totalLiabilities: {\n type: ScalarTypeEnum.Float_unsecure(),\n isOptional: false,\n },\n netWorth: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\n// Inputs\nconst CreateAccountInput = defineSchemaModel({\n name: 'CreateAccountInput',\n description: 'Create account input',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n type: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst AddAssetInput = defineSchemaModel({\n name: 'AddAssetInput',\n description: 'Add asset input',\n fields: {\n accountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n value: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst AddLiabilityInput = defineSchemaModel({\n name: 'AddLiabilityInput',\n description: 'Add liability input',\n fields: {\n accountId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n category: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n balance: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst UpdateGoalInput = defineSchemaModel({\n name: 'UpdateGoalInput',\n description: 'Update goal progress',\n fields: {\n goalId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n currentAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n },\n});\n\nconst CreateGoalInput = defineSchemaModel({\n name: 'CreateGoalInput',\n description: 'Create goal input',\n fields: {\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n targetAmount: { type: ScalarTypeEnum.Float_unsecure(), isOptional: false },\n currency: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n targetDate: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n },\n});\n\nconst NetWorthQueryInput = defineSchemaModel({\n name: 'NetWorthQueryInput',\n description: 'Filter for net worth snapshots',\n fields: {\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n from: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n to: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\n// Commands\nexport const CreateAccountContract = defineCommand({\n meta: {\n key: 'wealth.account.create',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'account', 'create'],\n description: 'Create a financial account.',\n goal: 'Track account balances.',\n context: 'Onboarding/import.',\n },\n io: { input: CreateAccountInput, output: AccountModel },\n policy: { auth: 'user' },\n});\n\nexport const AddAssetContract = defineCommand({\n meta: {\n key: 'wealth.asset.add',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'asset', 'add'],\n description: 'Add an asset position.',\n goal: 'Track holdings.',\n context: 'Asset onboarding/update.',\n },\n io: { input: AddAssetInput, output: AssetModel },\n policy: { auth: 'user' },\n});\n\nexport const AddLiabilityContract = defineCommand({\n meta: {\n key: 'wealth.liability.add',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'liability', 'add'],\n description: 'Add a liability.',\n goal: 'Track debts.',\n context: 'Debt onboarding/update.',\n },\n io: { input: AddLiabilityInput, output: LiabilityModel },\n policy: { auth: 'user' },\n});\n\nexport const CreateGoalContract = defineCommand({\n meta: {\n key: 'wealth.goal.create',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'goal', 'create'],\n description: 'Create a financial goal.',\n goal: 'Track progress toward goals.',\n context: 'Planning.',\n },\n io: { input: CreateGoalInput, output: GoalModel },\n policy: { auth: 'user' },\n});\n\nexport const UpdateGoalContract = defineCommand({\n meta: {\n key: 'wealth.goal.update',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'goal', 'update'],\n description: 'Update goal progress.',\n goal: 'Keep progress current.',\n context: 'Periodic update.',\n },\n io: { input: UpdateGoalInput, output: GoalModel },\n policy: { auth: 'user' },\n});\n\n// Queries\nexport const GetNetWorthContract = defineQuery({\n meta: {\n key: 'wealth.networth.get',\n version: '1.0.0',\n stability: 'stable',\n owners: [...OWNERS],\n tags: ['wealth', 'networth'],\n description: 'Get net worth snapshots for a period.',\n goal: 'Render charts and indicators.',\n context: 'Dashboard.',\n },\n io: {\n input: NetWorthQueryInput,\n output: defineSchemaModel({\n name: 'NetWorthQueryOutput',\n description: 'Snapshots + latest indicators',\n fields: {\n snapshots: {\n type: NetWorthSnapshotModel,\n isArray: true,\n isOptional: false,\n },\n latest: { type: NetWorthSnapshotModel, isOptional: true },\n },\n }),\n },\n policy: { auth: 'user' },\n});\n"],"mappings":"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"}
|
package/dist/presentations.js
CHANGED
|
@@ -4,7 +4,7 @@ import { StabilityEnum } from "@contractspec/lib.contracts";
|
|
|
4
4
|
const WealthDashboardPresentation = {
|
|
5
5
|
meta: {
|
|
6
6
|
key: "wealth-snapshot.dashboard",
|
|
7
|
-
version: 1,
|
|
7
|
+
version: "1.0.0",
|
|
8
8
|
title: "Wealth Dashboard",
|
|
9
9
|
description: "Wealth snapshot dashboard with net worth overview",
|
|
10
10
|
domain: "finance",
|
|
@@ -29,7 +29,7 @@ const WealthDashboardPresentation = {
|
|
|
29
29
|
const AccountsListPresentation = {
|
|
30
30
|
meta: {
|
|
31
31
|
key: "wealth-snapshot.accounts.list",
|
|
32
|
-
version: 1,
|
|
32
|
+
version: "1.0.0",
|
|
33
33
|
title: "Accounts List",
|
|
34
34
|
description: "List of financial accounts",
|
|
35
35
|
domain: "finance",
|
|
@@ -54,7 +54,7 @@ const AccountsListPresentation = {
|
|
|
54
54
|
const AssetsListPresentation = {
|
|
55
55
|
meta: {
|
|
56
56
|
key: "wealth-snapshot.assets.list",
|
|
57
|
-
version: 1,
|
|
57
|
+
version: "1.0.0",
|
|
58
58
|
title: "Assets List",
|
|
59
59
|
description: "List of assets with valuations",
|
|
60
60
|
domain: "finance",
|
|
@@ -79,7 +79,7 @@ const AssetsListPresentation = {
|
|
|
79
79
|
const LiabilitiesListPresentation = {
|
|
80
80
|
meta: {
|
|
81
81
|
key: "wealth-snapshot.liabilities.list",
|
|
82
|
-
version: 1,
|
|
82
|
+
version: "1.0.0",
|
|
83
83
|
title: "Liabilities List",
|
|
84
84
|
description: "List of liabilities and debts",
|
|
85
85
|
domain: "finance",
|
|
@@ -104,7 +104,7 @@ const LiabilitiesListPresentation = {
|
|
|
104
104
|
const GoalsListPresentation = {
|
|
105
105
|
meta: {
|
|
106
106
|
key: "wealth-snapshot.goals.list",
|
|
107
|
-
version: 1,
|
|
107
|
+
version: "1.0.0",
|
|
108
108
|
title: "Goals List",
|
|
109
109
|
description: "List of financial goals with progress",
|
|
110
110
|
domain: "finance",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentations.js","names":["WealthDashboardPresentation: PresentationSpec","AccountsListPresentation: PresentationSpec","AssetsListPresentation: PresentationSpec","LiabilitiesListPresentation: PresentationSpec","GoalsListPresentation: PresentationSpec"],"sources":["../src/presentations.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const WealthDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.dashboard',\n version: 1,\n title: 'Wealth Dashboard',\n description: 'Wealth snapshot dashboard with net worth overview',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'wealth', 'dashboard'],\n stability: StabilityEnum.Experimental,\n goal: 'Overview of wealth',\n context: 'Dashboard',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'WealthDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.dashboard.enabled'],\n },\n};\n\nexport const AccountsListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.accounts.list',\n version: 1,\n title: 'Accounts List',\n description: 'List of financial accounts',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'accounts', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List accounts',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'AccountsList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.accounts.enabled'],\n },\n};\n\nexport const AssetsListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.assets.list',\n version: 1,\n title: 'Assets List',\n description: 'List of assets with valuations',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'assets', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List assets',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'AssetsList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.assets.enabled'],\n },\n};\n\nexport const LiabilitiesListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.liabilities.list',\n version: 1,\n title: 'Liabilities List',\n description: 'List of liabilities and debts',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'liabilities', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List liabilities',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'LiabilitiesList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.liabilities.enabled'],\n },\n};\n\nexport const GoalsListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.goals.list',\n version: 1,\n title: 'Goals List',\n description: 'List of financial goals with progress',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'goals', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List goals',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'GoalsList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.goals.enabled'],\n },\n};\n"],"mappings":";;;AAGA,MAAaA,8BAAgD;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAU;GAAY;EACxC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,2BAA2B,EACpC;CACF;AAED,MAAaC,2BAA6C;CACxD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAY;GAAO;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,0BAA0B,EACnC;CACF;AAED,MAAaC,yBAA2C;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAU;GAAO;EACnC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,wBAAwB,EACjC;CACF;AAED,MAAaC,8BAAgD;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAe;GAAO;EACxC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,6BAA6B,EACtC;CACF;AAED,MAAaC,wBAA0C;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAS;GAAO;EAClC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF"}
|
|
1
|
+
{"version":3,"file":"presentations.js","names":["WealthDashboardPresentation: PresentationSpec","AccountsListPresentation: PresentationSpec","AssetsListPresentation: PresentationSpec","LiabilitiesListPresentation: PresentationSpec","GoalsListPresentation: PresentationSpec"],"sources":["../src/presentations.ts"],"sourcesContent":["import type { PresentationSpec } from '@contractspec/lib.contracts';\nimport { StabilityEnum } from '@contractspec/lib.contracts';\n\nexport const WealthDashboardPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.dashboard',\n version: '1.0.0',\n title: 'Wealth Dashboard',\n description: 'Wealth snapshot dashboard with net worth overview',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'wealth', 'dashboard'],\n stability: StabilityEnum.Experimental,\n goal: 'Overview of wealth',\n context: 'Dashboard',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'WealthDashboard',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.dashboard.enabled'],\n },\n};\n\nexport const AccountsListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.accounts.list',\n version: '1.0.0',\n title: 'Accounts List',\n description: 'List of financial accounts',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'accounts', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List accounts',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'AccountsList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.accounts.enabled'],\n },\n};\n\nexport const AssetsListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.assets.list',\n version: '1.0.0',\n title: 'Assets List',\n description: 'List of assets with valuations',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'assets', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List assets',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'AssetsList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.assets.enabled'],\n },\n};\n\nexport const LiabilitiesListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.liabilities.list',\n version: '1.0.0',\n title: 'Liabilities List',\n description: 'List of liabilities and debts',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'liabilities', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List liabilities',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'LiabilitiesList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.liabilities.enabled'],\n },\n};\n\nexport const GoalsListPresentation: PresentationSpec = {\n meta: {\n key: 'wealth-snapshot.goals.list',\n version: '1.0.0',\n title: 'Goals List',\n description: 'List of financial goals with progress',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'goals', 'list'],\n stability: StabilityEnum.Experimental,\n goal: 'List goals',\n context: 'Overview',\n },\n source: {\n type: 'component',\n framework: 'react',\n componentKey: 'GoalsList',\n },\n targets: ['react', 'markdown'],\n policy: {\n flags: ['wealth.goals.enabled'],\n },\n};\n"],"mappings":";;;AAGA,MAAaA,8BAAgD;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAU;GAAY;EACxC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,2BAA2B,EACpC;CACF;AAED,MAAaC,2BAA6C;CACxD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAY;GAAO;EACrC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,0BAA0B,EACnC;CACF;AAED,MAAaC,yBAA2C;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAU;GAAO;EACnC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,wBAAwB,EACjC;CACF;AAED,MAAaC,8BAAgD;CAC3D,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAe;GAAO;EACxC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,6BAA6B,EACtC;CACF;AAED,MAAaC,wBAA0C;CACrD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAS;GAAO;EAClC,WAAW,cAAc;EACzB,MAAM;EACN,SAAS;EACV;CACD,QAAQ;EACN,MAAM;EACN,WAAW;EACX,cAAc;EACf;CACD,SAAS,CAAC,SAAS,WAAW;CAC9B,QAAQ,EACN,OAAO,CAAC,uBAAuB,EAChC;CACF"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const WealthSnapshotFeature = {
|
|
3
3
|
meta: {
|
|
4
4
|
key: "wealth-snapshot",
|
|
5
|
-
version: 1,
|
|
5
|
+
version: "1.0.0",
|
|
6
6
|
title: "Wealth Snapshot",
|
|
7
7
|
description: "Mini-app for accounts, assets, liabilities, goals, and net worth.",
|
|
8
8
|
domain: "finance",
|
|
@@ -17,88 +17,88 @@ const WealthSnapshotFeature = {
|
|
|
17
17
|
operations: [
|
|
18
18
|
{
|
|
19
19
|
key: "wealth.account.create",
|
|
20
|
-
version: 1
|
|
20
|
+
version: "1.0.0"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
key: "wealth.asset.add",
|
|
24
|
-
version: 1
|
|
24
|
+
version: "1.0.0"
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
key: "wealth.liability.add",
|
|
28
|
-
version: 1
|
|
28
|
+
version: "1.0.0"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
key: "wealth.goal.create",
|
|
32
|
-
version: 1
|
|
32
|
+
version: "1.0.0"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
key: "wealth.goal.update",
|
|
36
|
-
version: 1
|
|
36
|
+
version: "1.0.0"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
key: "wealth.networth.get",
|
|
40
|
-
version: 1
|
|
40
|
+
version: "1.0.0"
|
|
41
41
|
}
|
|
42
42
|
],
|
|
43
43
|
events: [
|
|
44
44
|
{
|
|
45
45
|
key: "wealth.asset.added",
|
|
46
|
-
version: 1
|
|
46
|
+
version: "1.0.0"
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
key: "wealth.liability.added",
|
|
50
|
-
version: 1
|
|
50
|
+
version: "1.0.0"
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
key: "wealth.goal.updated",
|
|
54
|
-
version: 1
|
|
54
|
+
version: "1.0.0"
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
key: "wealth.networth.snapshot_created",
|
|
58
|
-
version: 1
|
|
58
|
+
version: "1.0.0"
|
|
59
59
|
}
|
|
60
60
|
],
|
|
61
61
|
presentations: [
|
|
62
62
|
{
|
|
63
63
|
key: "wealth-snapshot.dashboard",
|
|
64
|
-
version: 1
|
|
64
|
+
version: "1.0.0"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
key: "wealth-snapshot.accounts.list",
|
|
68
|
-
version: 1
|
|
68
|
+
version: "1.0.0"
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
key: "wealth-snapshot.assets.list",
|
|
72
|
-
version: 1
|
|
72
|
+
version: "1.0.0"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
key: "wealth-snapshot.liabilities.list",
|
|
76
|
-
version: 1
|
|
76
|
+
version: "1.0.0"
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
key: "wealth-snapshot.goals.list",
|
|
80
|
-
version: 1
|
|
80
|
+
version: "1.0.0"
|
|
81
81
|
}
|
|
82
82
|
],
|
|
83
83
|
presentationsTargets: [
|
|
84
84
|
{
|
|
85
85
|
key: "wealth-snapshot.dashboard",
|
|
86
|
-
version: 1,
|
|
86
|
+
version: "1.0.0",
|
|
87
87
|
targets: ["react", "markdown"]
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
key: "wealth-snapshot.assets.list",
|
|
91
|
-
version: 1,
|
|
91
|
+
version: "1.0.0",
|
|
92
92
|
targets: ["react", "markdown"]
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
key: "wealth-snapshot.liabilities.list",
|
|
96
|
-
version: 1,
|
|
96
|
+
version: "1.0.0",
|
|
97
97
|
targets: ["react", "markdown"]
|
|
98
98
|
},
|
|
99
99
|
{
|
|
100
100
|
key: "wealth-snapshot.goals.list",
|
|
101
|
-
version: 1,
|
|
101
|
+
version: "1.0.0",
|
|
102
102
|
targets: ["react", "markdown"]
|
|
103
103
|
}
|
|
104
104
|
],
|
|
@@ -106,29 +106,29 @@ const WealthSnapshotFeature = {
|
|
|
106
106
|
requires: [
|
|
107
107
|
{
|
|
108
108
|
key: "identity",
|
|
109
|
-
version: 1
|
|
109
|
+
version: "1.0.0"
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
key: "audit-trail",
|
|
113
|
-
version: 1
|
|
113
|
+
version: "1.0.0"
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
116
|
key: "notifications",
|
|
117
|
-
version: 1
|
|
117
|
+
version: "1.0.0"
|
|
118
118
|
}
|
|
119
119
|
],
|
|
120
120
|
provides: [
|
|
121
121
|
{
|
|
122
122
|
key: "accounts",
|
|
123
|
-
version: 1
|
|
123
|
+
version: "1.0.0"
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
key: "net-worth",
|
|
127
|
-
version: 1
|
|
127
|
+
version: "1.0.0"
|
|
128
128
|
},
|
|
129
129
|
{
|
|
130
130
|
key: "goals",
|
|
131
|
-
version: 1
|
|
131
|
+
version: "1.0.0"
|
|
132
132
|
}
|
|
133
133
|
]
|
|
134
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wealth-snapshot.feature.js","names":["WealthSnapshotFeature: FeatureModuleSpec"],"sources":["../src/wealth-snapshot.feature.ts"],"sourcesContent":["import type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\nexport const WealthSnapshotFeature: FeatureModuleSpec = {\n meta: {\n key: 'wealth-snapshot',\n version: 1,\n title: 'Wealth Snapshot',\n description:\n 'Mini-app for accounts, assets, liabilities, goals, and net worth.',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'net-worth', 'goals'],\n stability: 'experimental',\n },\n operations: [\n { key: 'wealth.account.create', version: 1 },\n { key: 'wealth.asset.add', version: 1 },\n { key: 'wealth.liability.add', version: 1 },\n { key: 'wealth.goal.create', version: 1 },\n { key: 'wealth.goal.update', version: 1 },\n { key: 'wealth.networth.get', version: 1 },\n ],\n events: [\n { key: 'wealth.asset.added', version: 1 },\n { key: 'wealth.liability.added', version: 1 },\n { key: 'wealth.goal.updated', version: 1 },\n { key: 'wealth.networth.snapshot_created', version: 1 },\n ],\n presentations: [\n { key: 'wealth-snapshot.dashboard', version: 1 },\n { key: 'wealth-snapshot.accounts.list', version: 1 },\n { key: 'wealth-snapshot.assets.list', version: 1 },\n { key: 'wealth-snapshot.liabilities.list', version: 1 },\n { key: 'wealth-snapshot.goals.list', version: 1 },\n ],\n presentationsTargets: [\n {\n key: 'wealth-snapshot.dashboard',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'wealth-snapshot.assets.list',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'wealth-snapshot.liabilities.list',\n version: 1,\n targets: ['react', 'markdown'],\n },\n {\n key: 'wealth-snapshot.goals.list',\n version: 1,\n targets: ['react', 'markdown'],\n },\n ],\n capabilities: {\n requires: [\n { key: 'identity', version: 1 },\n { key: 'audit-trail', version: 1 },\n { key: 'notifications', version: 1 },\n ],\n provides: [\n { key: 'accounts', version: 1 },\n { key: 'net-worth', version: 1 },\n { key: 'goals', version: 1 },\n ],\n },\n};\n"],"mappings":";AAEA,MAAaA,wBAA2C;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAa;GAAQ;EACvC,WAAW;EACZ;CACD,YAAY;EACV;GAAE,KAAK;GAAyB,SAAS;
|
|
1
|
+
{"version":3,"file":"wealth-snapshot.feature.js","names":["WealthSnapshotFeature: FeatureModuleSpec"],"sources":["../src/wealth-snapshot.feature.ts"],"sourcesContent":["import type { FeatureModuleSpec } from '@contractspec/lib.contracts';\n\nexport const WealthSnapshotFeature: FeatureModuleSpec = {\n meta: {\n key: 'wealth-snapshot',\n version: '1.0.0',\n title: 'Wealth Snapshot',\n description:\n 'Mini-app for accounts, assets, liabilities, goals, and net worth.',\n domain: 'finance',\n owners: ['@wealth-snapshot'],\n tags: ['finance', 'net-worth', 'goals'],\n stability: 'experimental',\n },\n operations: [\n { key: 'wealth.account.create', version: '1.0.0' },\n { key: 'wealth.asset.add', version: '1.0.0' },\n { key: 'wealth.liability.add', version: '1.0.0' },\n { key: 'wealth.goal.create', version: '1.0.0' },\n { key: 'wealth.goal.update', version: '1.0.0' },\n { key: 'wealth.networth.get', version: '1.0.0' },\n ],\n events: [\n { key: 'wealth.asset.added', version: '1.0.0' },\n { key: 'wealth.liability.added', version: '1.0.0' },\n { key: 'wealth.goal.updated', version: '1.0.0' },\n { key: 'wealth.networth.snapshot_created', version: '1.0.0' },\n ],\n presentations: [\n { key: 'wealth-snapshot.dashboard', version: '1.0.0' },\n { key: 'wealth-snapshot.accounts.list', version: '1.0.0' },\n { key: 'wealth-snapshot.assets.list', version: '1.0.0' },\n { key: 'wealth-snapshot.liabilities.list', version: '1.0.0' },\n { key: 'wealth-snapshot.goals.list', version: '1.0.0' },\n ],\n presentationsTargets: [\n {\n key: 'wealth-snapshot.dashboard',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'wealth-snapshot.assets.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'wealth-snapshot.liabilities.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n {\n key: 'wealth-snapshot.goals.list',\n version: '1.0.0',\n targets: ['react', 'markdown'],\n },\n ],\n capabilities: {\n requires: [\n { key: 'identity', version: '1.0.0' },\n { key: 'audit-trail', version: '1.0.0' },\n { key: 'notifications', version: '1.0.0' },\n ],\n provides: [\n { key: 'accounts', version: '1.0.0' },\n { key: 'net-worth', version: '1.0.0' },\n { key: 'goals', version: '1.0.0' },\n ],\n },\n};\n"],"mappings":";AAEA,MAAaA,wBAA2C;CACtD,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GAAC;GAAW;GAAa;GAAQ;EACvC,WAAW;EACZ;CACD,YAAY;EACV;GAAE,KAAK;GAAyB,SAAS;GAAS;EAClD;GAAE,KAAK;GAAoB,SAAS;GAAS;EAC7C;GAAE,KAAK;GAAwB,SAAS;GAAS;EACjD;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAAuB,SAAS;GAAS;EACjD;CACD,QAAQ;EACN;GAAE,KAAK;GAAsB,SAAS;GAAS;EAC/C;GAAE,KAAK;GAA0B,SAAS;GAAS;EACnD;GAAE,KAAK;GAAuB,SAAS;GAAS;EAChD;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC9D;CACD,eAAe;EACb;GAAE,KAAK;GAA6B,SAAS;GAAS;EACtD;GAAE,KAAK;GAAiC,SAAS;GAAS;EAC1D;GAAE,KAAK;GAA+B,SAAS;GAAS;EACxD;GAAE,KAAK;GAAoC,SAAS;GAAS;EAC7D;GAAE,KAAK;GAA8B,SAAS;GAAS;EACxD;CACD,sBAAsB;EACpB;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACD;GACE,KAAK;GACL,SAAS;GACT,SAAS,CAAC,SAAS,WAAW;GAC/B;EACF;CACD,cAAc;EACZ,UAAU;GACR;IAAE,KAAK;IAAY,SAAS;IAAS;GACrC;IAAE,KAAK;IAAe,SAAS;IAAS;GACxC;IAAE,KAAK;IAAiB,SAAS;IAAS;GAC3C;EACD,UAAU;GACR;IAAE,KAAK;IAAY,SAAS;IAAS;GACrC;IAAE,KAAK;IAAa,SAAS;IAAS;GACtC;IAAE,KAAK;IAAS,SAAS;IAAS;GACnC;EACF;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contractspec/example.wealth-snapshot",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.45.0",
|
|
4
4
|
"description": "Wealth Snapshot mini-app for accounts, assets, liabilities, and goals",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
"lint:check": "eslint src"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@contractspec/lib.schema": "1.
|
|
22
|
-
"@contractspec/lib.contracts": "1.
|
|
23
|
-
"@contractspec/lib.bus": "1.
|
|
24
|
-
"@contractspec/lib.identity-rbac": "1.
|
|
25
|
-
"@contractspec/module.audit-trail": "1.
|
|
26
|
-
"@contractspec/module.notifications": "1.
|
|
21
|
+
"@contractspec/lib.schema": "1.45.0",
|
|
22
|
+
"@contractspec/lib.contracts": "1.45.0",
|
|
23
|
+
"@contractspec/lib.bus": "1.45.0",
|
|
24
|
+
"@contractspec/lib.identity-rbac": "1.45.0",
|
|
25
|
+
"@contractspec/module.audit-trail": "1.45.0",
|
|
26
|
+
"@contractspec/module.notifications": "1.45.0",
|
|
27
27
|
"zod": "^4.1.13"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@contractspec/tool.typescript": "1.
|
|
31
|
-
"@contractspec/tool.tsdown": "1.
|
|
30
|
+
"@contractspec/tool.typescript": "1.45.0",
|
|
31
|
+
"@contractspec/tool.tsdown": "1.45.0",
|
|
32
32
|
"typescript": "^5.9.3"
|
|
33
33
|
},
|
|
34
34
|
"exports": {
|