@ceramicnetwork/stream-model 0.0.2-rc.3 → 0.1.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/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
+ LINK = "link"
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,IAAI,SAAS;CACd;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,15 @@ 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
9
  import * as uint8arrays from 'uint8arrays';
11
10
  import { randomBytes } from '@stablelib/random';
12
11
  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
- };
12
+ import { StreamID, StreamRef } from '@ceramicnetwork/streamid';
13
+ import { CID } from 'multiformats/cid';
14
+ import { create } from 'multiformats/hashes/digest';
15
+ import { code, encode } from '@ipld/dag-cbor';
16
+ import multihashes from 'multihashes';
20
17
  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
18
  async function _ensureAuthenticated(signer) {
57
19
  if (signer.did == null) {
58
20
  throw new Error('No DID provided');
@@ -64,13 +26,14 @@ async function _ensureAuthenticated(signer) {
64
26
  }
65
27
  }
66
28
  }
67
- async function _signDagJWS(signer, commit) {
68
- await _ensureAuthenticated(signer);
69
- return signer.did.createDagJWS(commit);
70
- }
71
29
  async function throwReadOnlyError() {
72
30
  throw new Error('Historical stream commits cannot be modified. Load the stream without specifying a commit to make updates.');
73
31
  }
32
+ export var ModelAccountRelation;
33
+ (function (ModelAccountRelation) {
34
+ ModelAccountRelation["LIST"] = "list";
35
+ ModelAccountRelation["LINK"] = "link";
36
+ })(ModelAccountRelation || (ModelAccountRelation = {}));
74
37
  let Model = Model_1 = class Model extends Stream {
75
38
  constructor() {
76
39
  super(...arguments);
@@ -79,31 +42,62 @@ let Model = Model_1 = class Model extends Stream {
79
42
  get content() {
80
43
  return super.content;
81
44
  }
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);
45
+ static async create(ceramic, content, metadata) {
46
+ Model_1.assertComplete(content);
47
+ const opts = {
48
+ publish: true,
49
+ anchor: true,
50
+ pin: true,
51
+ sync: SyncOptions.NEVER_SYNC,
52
+ throwOnInvalidCommit: true,
53
+ };
54
+ const commit = await Model_1._makeGenesis(ceramic, content, metadata);
55
+ const model = await ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
56
+ return model;
57
+ }
58
+ static async createPlaceholder(ceramic, content, metadata) {
59
+ const opts = {
60
+ publish: false,
61
+ anchor: false,
62
+ pin: false,
63
+ sync: SyncOptions.NEVER_SYNC,
64
+ throwOnInvalidCommit: true,
65
+ };
66
+ const commit = await Model_1._makeGenesis(ceramic, content, metadata);
89
67
  return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
90
68
  }
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);
69
+ async replacePlaceholder(content) {
70
+ Model_1.assertComplete(content, this.id);
71
+ const opts = { publish: true, anchor: true, pin: true, throwOnInvalidCommit: true };
72
+ const updateCommit = await this._makeCommit(this.api, content);
73
+ const updated = await this.api.applyCommit(this.id, updateCommit, opts);
74
+ this.state$.next(updated.state);
98
75
  }
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');
76
+ static assertComplete(content, streamId) {
77
+ if (!content.name) {
78
+ if (streamId) {
79
+ throw new Error(`Model with StreamID ${streamId.toString()} is missing a 'name' field`);
80
+ }
81
+ else {
82
+ throw new Error(`Model is missing a 'name' field`);
83
+ }
84
+ }
85
+ if (!content.schema) {
86
+ if (streamId) {
87
+ throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'schema' field`);
88
+ }
89
+ else {
90
+ throw new Error(`Model ${content.name} is missing a 'schema' field`);
91
+ }
92
+ }
93
+ if (!content.accountRelation) {
94
+ if (streamId) {
95
+ throw new Error(`Model ${content.name} (${streamId.toString()}) is missing a 'accountRelation' field`);
96
+ }
97
+ else {
98
+ throw new Error(`Model ${content.name} is missing a 'accountRelation' field`);
99
+ }
104
100
  }
105
- const commit = await Model_1.makeGenesis(ceramic, null, metadata);
106
- return ceramic.createStreamFromGenesis(Model_1.STREAM_TYPE_ID, commit, opts);
107
101
  }
108
102
  static async load(ceramic, streamId, opts = {}) {
109
103
  opts = { ...DEFAULT_LOAD_OPTS, ...opts };
@@ -111,85 +105,73 @@ let Model = Model_1 = class Model extends Stream {
111
105
  if (streamRef.type != Model_1.STREAM_TYPE_ID) {
112
106
  throw new Error(`StreamID ${streamRef.toString()} does not refer to a '${Model_1.STREAM_TYPE_NAME}' stream, but to a ${streamRef.typeName}`);
113
107
  }
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;
108
+ const model = await ceramic.loadStream(streamRef, opts);
109
+ try {
110
+ Model_1.assertComplete(model.content, streamId);
111
+ }
112
+ catch (err) {
113
+ throw new Error(`Incomplete placeholder Models cannot be loaded: ${err.message}`);
114
+ }
115
+ return model;
141
116
  }
142
- get isReadOnly() {
143
- return this._isReadOnly;
117
+ async _makeCommit(signer, newContent) {
118
+ const commit = this._makeRawCommit(newContent);
119
+ return Model_1._signDagJWS(signer, commit);
144
120
  }
145
- async makeCommit(signer, newContent, newMetadata) {
146
- const header = headerFromMetadata(newMetadata, false);
121
+ _makeRawCommit(newContent) {
147
122
  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');
123
+ throw new Error(`Cannot set Model content to null`);
152
124
  }
153
125
  const patch = jsonpatch.compare(this.content, newContent);
154
- const commit = {
155
- header,
126
+ return {
156
127
  data: patch,
157
128
  prev: this.tip,
158
129
  id: this.state.log[0].cid,
159
130
  };
160
- return _signDagJWS(signer, commit);
161
131
  }
162
- static async makeGenesis(signer, content, metadata) {
163
- if (!metadata) {
164
- metadata = {};
132
+ static async _makeGenesis(signer, content, metadata) {
133
+ if (content == null) {
134
+ throw new Error(`Genesis content cannot be null`);
165
135
  }
166
- if (!metadata.controllers || metadata.controllers.length === 0) {
136
+ if (!metadata || !metadata.controller) {
167
137
  if (signer.did) {
168
138
  await _ensureAuthenticated(signer);
169
- metadata.controllers = [signer.did.hasParent ? signer.did.parent : signer.did.id];
139
+ metadata = { controller: signer.did.hasParent ? signer.did.parent : signer.did.id };
170
140
  }
171
141
  else {
172
- throw new Error('No controllers specified');
142
+ throw new Error('No controller specified');
173
143
  }
174
144
  }
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
- }
145
+ const header = {
146
+ controllers: [metadata.controller],
147
+ unique: uint8arrays.toString(randomBytes(12), 'base64'),
148
+ model: Model_1.MODEL.bytes,
149
+ };
187
150
  const commit = { data: content, header };
188
- return _signDagJWS(signer, commit);
151
+ return Model_1._signDagJWS(signer, commit);
152
+ }
153
+ makeReadOnly() {
154
+ this.replacePlaceholder = throwReadOnlyError;
155
+ this.sync = throwReadOnlyError;
156
+ this._isReadOnly = true;
157
+ }
158
+ get isReadOnly() {
159
+ return this._isReadOnly;
160
+ }
161
+ static async _signDagJWS(signer, commit) {
162
+ await _ensureAuthenticated(signer);
163
+ return signer.did.createDagJWS(commit);
189
164
  }
190
165
  };
191
166
  Model.STREAM_TYPE_NAME = 'model';
192
167
  Model.STREAM_TYPE_ID = 2;
168
+ Model.MODEL = (function () {
169
+ const data = encode('model-v1');
170
+ const multihash = multihashes.encode(data, 'identity');
171
+ const digest = create(code, multihash);
172
+ const cid = CID.createV1(code, digest);
173
+ return new StreamID(Model_1.STREAM_TYPE_ID, cid);
174
+ })();
193
175
  Model = Model_1 = __decorate([
194
176
  StreamStatic()
195
177
  ], 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.3",
3
+ "version": "0.1.0",
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.2",
34
- "@ceramicnetwork/streamid": "^2.0.2",
33
+ "@ceramicnetwork/common": "^2.1.0",
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": "6cf408c94a890011b5a5f0af3aa7558c62f7a95b"
42
+ "gitHead": "7b7de4d055b9997cafcf8fd36b05290dbe88390a"
41
43
  }