@ceramicnetwork/stream-model 0.0.2-rc.4 → 0.2.0-rc.2

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/lib/model.d.ts CHANGED
@@ -1,28 +1,35 @@
1
- import type { Operation } from 'fast-json-patch';
2
- import { CreateOpts, LoadOpts, UpdateOpts, Stream, CeramicCommit, GenesisCommit, CeramicApi, CeramicSigner } from '@ceramicnetwork/common';
1
+ import { LoadOpts, Stream, CeramicApi } from '@ceramicnetwork/common';
3
2
  import { CommitID, StreamID } from '@ceramicnetwork/streamid';
4
- export interface ModelMetadataArgs {
5
- controllers?: Array<string>;
6
- family?: string;
7
- tags?: Array<string>;
8
- schema?: CommitID | string;
9
- deterministic?: boolean;
10
- forbidControllerChange?: boolean;
3
+ import type { JSONSchema } from 'json-schema-typed/draft-2020-12';
4
+ export interface ModelMetadata {
5
+ controller: string;
11
6
  }
12
- export declare class Model<T = Record<string, any>> extends Stream {
7
+ export declare enum ModelAccountRelation {
8
+ LIST = "list",
9
+ SINGLE = "single"
10
+ }
11
+ export interface ModelDefinition {
12
+ name: string;
13
+ description?: string;
14
+ schema: JSONSchema.Object;
15
+ accountRelation: ModelAccountRelation;
16
+ }
17
+ export declare class Model extends Stream {
13
18
  static STREAM_TYPE_NAME: string;
14
19
  static STREAM_TYPE_ID: number;
20
+ static readonly MODEL: StreamID;
15
21
  private _isReadOnly;
16
- get content(): T;
17
- static create<T>(ceramic: CeramicApi, content: T | null | undefined, metadata?: ModelMetadataArgs, opts?: CreateOpts): Promise<Model<T>>;
18
- static createFromGenesis<T>(ceramic: CeramicApi, genesisCommit: GenesisCommit, opts?: CreateOpts): Promise<Model<T>>;
19
- static deterministic<T>(ceramic: CeramicApi, metadata: ModelMetadataArgs, opts?: CreateOpts): Promise<Model<T>>;
20
- static load<T>(ceramic: CeramicApi, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model<T>>;
21
- update(content: T | null | undefined, metadata?: ModelMetadataArgs, opts?: UpdateOpts): Promise<void>;
22
- patch(jsonPatch: Operation[], opts?: UpdateOpts): Promise<void>;
22
+ get content(): ModelDefinition;
23
+ static create(ceramic: CeramicApi, content: ModelDefinition, metadata?: ModelMetadata): Promise<Model>;
24
+ static createPlaceholder(ceramic: CeramicApi, content: Partial<ModelDefinition>, metadata?: ModelMetadata): Promise<Model>;
25
+ replacePlaceholder(content: ModelDefinition): Promise<void>;
26
+ static assertComplete(content: ModelDefinition, streamId?: StreamID | CommitID | string): void;
27
+ static load(ceramic: CeramicApi, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model>;
28
+ private _makeCommit;
29
+ private _makeRawCommit;
30
+ private static _makeGenesis;
23
31
  makeReadOnly(): void;
24
32
  get isReadOnly(): boolean;
25
- makeCommit(signer: CeramicSigner, newContent: T | null | undefined, newMetadata?: ModelMetadataArgs): Promise<CeramicCommit>;
26
- static makeGenesis<T>(signer: CeramicSigner, content: T | null | undefined, metadata?: ModelMetadataArgs): Promise<CeramicCommit>;
33
+ private static _signDagJWS;
27
34
  }
28
35
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EACL,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EAIN,aAAa,EAEb,aAAa,EAEb,UAAU,EAGV,aAAa,EAEd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,0BAA0B,CAAA;AAKxE,MAAM,WAAW,iBAAiB;IAIhC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAK3B,MAAM,CAAC,EAAE,MAAM,CAAA;IAKf,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAMpB,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAQ1B,aAAa,CAAC,EAAE,OAAO,CAAA;IAUvB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAgGD,qBACa,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,SAAQ,MAAM;IACxD,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,cAAc,SAAI;IAEzB,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,OAAO,IAAI,CAAC,CAEf;WASY,MAAM,CAAC,CAAC,EACnB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC7B,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;WAkBP,iBAAiB,CAAC,CAAC,EAC9B,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;WAiBP,aAAa,CAAC,CAAC,EAC1B,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;WAmBP,IAAI,CAAC,CAAC,EACjB,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAoBd,MAAM,CACV,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC7B,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,IAAI,CAAC;IAcV,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzE,YAAY;IAOZ,IAAI,UAAU,IAAI,OAAO,CAExB;IAQK,UAAU,CACd,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAChC,WAAW,CAAC,EAAE,iBAAiB,GAC9B,OAAO,CAAC,aAAa,CAAC;WA2BZ,WAAW,CAAC,CAAC,EACxB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAC7B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,aAAa,CAAC;CAiC1B"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,QAAQ,EAER,MAAM,EAON,UAAU,EAIX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,0BAA0B,CAAA;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AASjE,MAAM,WAAW,aAAa;IAI5B,UAAU,EAAE,MAAM,CAAA;CACnB;AA4BD,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAA;IACzB,eAAe,EAAE,oBAAoB,CAAA;CACtC;AAKD,qBACa,KAAM,SAAQ,MAAM;IAC/B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,cAAc,SAAI;IAIzB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAM3B;IAEJ,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,OAAO,IAAI,eAAe,CAE7B;WAQY,MAAM,CACjB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,KAAK,CAAC;WAuBJ,iBAAiB,CAC5B,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,KAAK,CAAC;IAiBX,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;WAoCjF,IAAI,CACf,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,KAAK,CAAC;YA2BH,WAAW;IAYzB,OAAO,CAAC,cAAc;mBAmBD,YAAY;IAkCjC,YAAY;IAMZ,IAAI,UAAU,IAAI,OAAO,CAExB;mBAQoB,WAAW;CAOjC"}
package/lib/model.js CHANGED
@@ -6,53 +6,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var Model_1;
8
8
  import jsonpatch from 'fast-json-patch';
9
- import * as dagCbor from '@ipld/dag-cbor';
10
- import * as uint8arrays from 'uint8arrays';
11
9
  import { randomBytes } from '@stablelib/random';
12
10
  import { Stream, StreamStatic, SyncOptions, } from '@ceramicnetwork/common';
13
- import { CommitID, StreamRef } from '@ceramicnetwork/streamid';
14
- const DEFAULT_CREATE_OPTS = {
15
- anchor: true,
16
- publish: true,
17
- pin: true,
18
- sync: SyncOptions.PREFER_CACHE,
19
- };
11
+ import { StreamID, StreamRef } from '@ceramicnetwork/streamid';
12
+ import { CID } from 'multiformats/cid';
13
+ import { create } from 'multiformats/hashes/digest';
14
+ import { code, encode } from '@ipld/dag-cbor';
15
+ import multihashes from 'multihashes';
20
16
  const DEFAULT_LOAD_OPTS = { sync: SyncOptions.PREFER_CACHE };
21
- const DEFAULT_UPDATE_OPTS = { anchor: true, publish: true, throwOnInvalidCommit: true };
22
- function headerFromMetadata(metadata, genesis) {
23
- if (typeof metadata?.schema === 'string') {
24
- try {
25
- CommitID.fromString(metadata.schema);
26
- }
27
- catch {
28
- throw new Error('Schema must be a CommitID');
29
- }
30
- }
31
- const header = {
32
- controllers: metadata?.controllers,
33
- family: metadata?.family,
34
- schema: metadata?.schema?.toString(),
35
- tags: metadata?.tags,
36
- };
37
- if (genesis) {
38
- if (!metadata?.deterministic) {
39
- header.unique = uint8arrays.toString(randomBytes(12), 'base64');
40
- }
41
- if (metadata?.forbidControllerChange) {
42
- header.forbidControllerChange = true;
43
- }
44
- }
45
- else {
46
- if (metadata?.deterministic !== undefined || metadata?.unique !== undefined) {
47
- throw new Error("Cannot change 'deterministic' or 'unique' properties on existing Streams");
48
- }
49
- if (metadata?.forbidControllerChange !== undefined) {
50
- throw new Error("Cannot change 'forbidControllerChange' property on existing Streams");
51
- }
52
- }
53
- Object.keys(header).forEach((key) => header[key] === undefined && delete header[key]);
54
- return header;
55
- }
56
17
  async function _ensureAuthenticated(signer) {
57
18
  if (signer.did == null) {
58
19
  throw new Error('No DID provided');
@@ -64,13 +25,14 @@ async function _ensureAuthenticated(signer) {
64
25
  }
65
26
  }
66
27
  }
67
- async function _signDagJWS(signer, commit) {
68
- await _ensureAuthenticated(signer);
69
- return signer.did.createDagJWS(commit);
70
- }
71
28
  async function throwReadOnlyError() {
72
29
  throw new Error('Historical stream commits cannot be modified. Load the stream without specifying a commit to make updates.');
73
30
  }
31
+ export var ModelAccountRelation;
32
+ (function (ModelAccountRelation) {
33
+ ModelAccountRelation["LIST"] = "list";
34
+ ModelAccountRelation["SINGLE"] = "single";
35
+ })(ModelAccountRelation || (ModelAccountRelation = {}));
74
36
  let Model = Model_1 = class Model extends Stream {
75
37
  constructor() {
76
38
  super(...arguments);
@@ -79,31 +41,62 @@ let Model = Model_1 = class Model extends Stream {
79
41
  get content() {
80
42
  return super.content;
81
43
  }
82
- static async create(ceramic, content, metadata, opts = {}) {
83
- opts = { ...DEFAULT_CREATE_OPTS, ...opts };
84
- if (!metadata?.deterministic && opts.syncTimeoutSeconds == undefined) {
85
- opts.syncTimeoutSeconds = 0;
86
- }
87
- const signer = opts.asDID ? { did: opts.asDID } : ceramic;
88
- const commit = await Model_1.makeGenesis(signer, content, metadata);
44
+ static async create(ceramic, content, metadata) {
45
+ Model_1.assertComplete(content);
46
+ const opts = {
47
+ publish: true,
48
+ anchor: true,
49
+ pin: true,
50
+ sync: SyncOptions.NEVER_SYNC,
51
+ throwOnInvalidCommit: true,
52
+ };
53
+ const commit = await Model_1._makeGenesis(ceramic, content, metadata);
54
+ const model = await ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
55
+ return model;
56
+ }
57
+ static async createPlaceholder(ceramic, content, metadata) {
58
+ const opts = {
59
+ publish: false,
60
+ anchor: false,
61
+ pin: false,
62
+ sync: SyncOptions.NEVER_SYNC,
63
+ throwOnInvalidCommit: true,
64
+ };
65
+ const commit = await Model_1._makeGenesis(ceramic, content, metadata);
89
66
  return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
90
67
  }
91
- static async createFromGenesis(ceramic, genesisCommit, opts = {}) {
92
- opts = { ...DEFAULT_CREATE_OPTS, ...opts };
93
- if (genesisCommit.header?.unique && opts.syncTimeoutSeconds == undefined) {
94
- opts.syncTimeoutSeconds = 0;
95
- }
96
- const commit = genesisCommit.data ? await _signDagJWS(ceramic, genesisCommit) : genesisCommit;
97
- return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
68
+ async replacePlaceholder(content) {
69
+ Model_1.assertComplete(content, this.id);
70
+ const opts = { publish: true, anchor: true, pin: true, throwOnInvalidCommit: true };
71
+ const updateCommit = await this._makeCommit(this.api, content);
72
+ const updated = await this.api.applyCommit(this.id, updateCommit, opts);
73
+ this.state$.next(updated.state);
98
74
  }
99
- static async deterministic(ceramic, metadata, opts = {}) {
100
- opts = { ...DEFAULT_CREATE_OPTS, ...opts };
101
- metadata = { ...metadata, deterministic: true };
102
- if (metadata.family == null && metadata.tags == null) {
103
- throw new Error('Family and/or tags are required when creating a deterministic model document');
75
+ static assertComplete(content, streamId) {
76
+ if (!content.name) {
77
+ if (streamId) {
78
+ throw new Error(`Model with StreamID ${streamId.toString()} is missing a 'name' field`);
79
+ }
80
+ else {
81
+ throw new Error(`Model is missing a 'name' field`);
82
+ }
83
+ }
84
+ if (!content.schema) {
85
+ if (streamId) {
86
+ throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'schema' field`);
87
+ }
88
+ else {
89
+ throw new Error(`Model ${content.name} is missing a 'schema' field`);
90
+ }
91
+ }
92
+ if (!content.accountRelation) {
93
+ if (streamId) {
94
+ throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'accountRelation' field`);
95
+ }
96
+ else {
97
+ throw new Error(`Model ${content.name} is missing a 'accountRelation' field`);
98
+ }
104
99
  }
105
- const commit = await Model_1.makeGenesis(ceramic, null, metadata);
106
- return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
107
100
  }
108
101
  static async load(ceramic, streamId, opts = {}) {
109
102
  opts = { ...DEFAULT_LOAD_OPTS, ...opts };
@@ -111,85 +104,73 @@ let Model = Model_1 = class Model extends Stream {
111
104
  if (streamRef.type != Model_1.STREAM_TYPE_ID) {
112
105
  throw new Error(`StreamID ${streamRef.toString()} does not refer to a '${Model_1.STREAM_TYPE_NAME}' stream, but to a ${streamRef.typeName}`);
113
106
  }
114
- return ceramic.loadStream(streamRef, opts);
115
- }
116
- async update(content, metadata, opts = {}) {
117
- opts = { ...DEFAULT_UPDATE_OPTS, ...opts };
118
- const signer = opts.asDID ? { did: opts.asDID } : this.api;
119
- const updateCommit = await this.makeCommit(signer, content, metadata);
120
- const updated = await this.api.applyCommit(this.id, updateCommit, opts);
121
- this.state$.next(updated.state);
122
- }
123
- async patch(jsonPatch, opts = {}) {
124
- opts = { ...DEFAULT_UPDATE_OPTS, ...opts };
125
- const header = headerFromMetadata(this.metadata, false);
126
- const rawCommit = {
127
- header,
128
- data: jsonPatch,
129
- prev: this.tip,
130
- id: this.state$.id.cid,
131
- };
132
- const commit = await _signDagJWS(this.api, rawCommit);
133
- const updated = await this.api.applyCommit(this.id, commit, opts);
134
- this.state$.next(updated.state);
135
- }
136
- makeReadOnly() {
137
- this.update = throwReadOnlyError;
138
- this.patch = throwReadOnlyError;
139
- this.sync = throwReadOnlyError;
140
- this._isReadOnly = true;
107
+ const model = await ceramic.loadStream(streamRef, opts);
108
+ try {
109
+ Model_1.assertComplete(model.content, streamId);
110
+ }
111
+ catch (err) {
112
+ throw new Error(`Incomplete placeholder Models cannot be loaded: ${err.message}`);
113
+ }
114
+ return model;
141
115
  }
142
- get isReadOnly() {
143
- return this._isReadOnly;
116
+ async _makeCommit(signer, newContent) {
117
+ const commit = this._makeRawCommit(newContent);
118
+ return Model_1._signDagJWS(signer, commit);
144
119
  }
145
- async makeCommit(signer, newContent, newMetadata) {
146
- const header = headerFromMetadata(newMetadata, false);
120
+ _makeRawCommit(newContent) {
147
121
  if (newContent == null) {
148
- newContent = this.content;
149
- }
150
- if (header.controllers && header.controllers?.length !== 1) {
151
- throw new Error('Exactly one controller must be specified');
122
+ throw new Error(`Cannot set Model content to null`);
152
123
  }
153
124
  const patch = jsonpatch.compare(this.content, newContent);
154
- const commit = {
155
- header,
125
+ return {
156
126
  data: patch,
157
127
  prev: this.tip,
158
128
  id: this.state.log[0].cid,
159
129
  };
160
- return _signDagJWS(signer, commit);
161
130
  }
162
- static async makeGenesis(signer, content, metadata) {
163
- if (!metadata) {
164
- metadata = {};
131
+ static async _makeGenesis(signer, content, metadata) {
132
+ if (content == null) {
133
+ throw new Error(`Genesis content cannot be null`);
165
134
  }
166
- if (!metadata.controllers || metadata.controllers.length === 0) {
135
+ if (!metadata || !metadata.controller) {
167
136
  if (signer.did) {
168
137
  await _ensureAuthenticated(signer);
169
- metadata.controllers = [signer.did.hasParent ? signer.did.parent : signer.did.id];
138
+ metadata = { controller: signer.did.hasParent ? signer.did.parent : signer.did.id };
170
139
  }
171
140
  else {
172
- throw new Error('No controllers specified');
141
+ throw new Error('No controller specified');
173
142
  }
174
143
  }
175
- if (metadata.controllers?.length !== 1) {
176
- throw new Error('Exactly one controller must be specified');
177
- }
178
- const header = headerFromMetadata(metadata, true);
179
- if (metadata?.deterministic && content) {
180
- throw new Error('Initial content must be null when creating a deterministic Model');
181
- }
182
- if (content == null) {
183
- const result = { header };
184
- dagCbor.encode(result);
185
- return result;
186
- }
144
+ const header = {
145
+ controllers: [metadata.controller],
146
+ unique: randomBytes(12),
147
+ model: Model_1.MODEL.bytes,
148
+ };
187
149
  const commit = { data: content, header };
188
- return _signDagJWS(signer, commit);
150
+ return Model_1._signDagJWS(signer, commit);
151
+ }
152
+ makeReadOnly() {
153
+ this.replacePlaceholder = throwReadOnlyError;
154
+ this.sync = throwReadOnlyError;
155
+ this._isReadOnly = true;
156
+ }
157
+ get isReadOnly() {
158
+ return this._isReadOnly;
159
+ }
160
+ static async _signDagJWS(signer, commit) {
161
+ await _ensureAuthenticated(signer);
162
+ return signer.did.createDagJWS(commit);
189
163
  }
190
164
  };
191
165
  Model.STREAM_TYPE_NAME = 'model';
192
166
  Model.STREAM_TYPE_ID = 2;
167
+ Model.MODEL = (function () {
168
+ const data = encode('model-v1');
169
+ const multihash = multihashes.encode(data, 'identity');
170
+ const digest = create(code, multihash);
171
+ const cid = CID.createV1(code, digest);
172
+ return new StreamID(Model_1.STREAM_TYPE_ID, cid);
173
+ })();
193
174
  Model = Model_1 = __decorate([
194
175
  StreamStatic()
195
176
  ], Model);
package/lib/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceramicnetwork/stream-model",
3
- "version": "0.0.2-rc.4",
3
+ "version": "0.2.0-rc.2",
4
4
  "description": "Ceramic Model stream type",
5
5
  "keywords": [
6
6
  "ceramic",
@@ -30,12 +30,14 @@
30
30
  "clean": "npx rimraf ./lib"
31
31
  },
32
32
  "dependencies": {
33
- "@ceramicnetwork/common": "^2.0.4-rc.2",
34
- "@ceramicnetwork/streamid": "^2.0.4-rc.1",
33
+ "@ceramicnetwork/common": "^2.2.0-rc.2",
34
+ "@ceramicnetwork/streamid": "^2.1.0",
35
35
  "@ipld/dag-cbor": "^7.0.0",
36
36
  "@stablelib/random": "^1.0.1",
37
37
  "fast-json-patch": "^3.1.0",
38
+ "json-schema-typed": "^8.0.1",
39
+ "multihashes": "^4.0.3",
38
40
  "uint8arrays": "^3.0.0"
39
41
  },
40
- "gitHead": "2fe1218339693614dcd298025ac83b6c004dce24"
42
+ "gitHead": "2704a436897990737f854b3147d7508557b4dbf1"
41
43
  }