jazz-run 0.7.0-alpha.35 → 0.7.0-alpha.36

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # jazz-autosub
2
2
 
3
+ ## 0.7.0-alpha.36
4
+
5
+ ### Patch Changes
6
+
7
+ - Ensure accounts are synced after creation
8
+ - Updated dependencies [1a35307]
9
+ - Updated dependencies [1a35307]
10
+ - Updated dependencies [1a35307]
11
+ - Updated dependencies [6b0418f]
12
+ - Updated dependencies [1a35307]
13
+ - cojson@0.7.0-alpha.36
14
+ - jazz-tools@0.7.0-alpha.36
15
+ - cojson-transport-nodejs-ws@0.7.0-alpha.36
16
+
3
17
  ## 0.7.0-alpha.35
4
18
 
5
19
  ### Patch Changes
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { NodeContext, NodeRuntime } from "@effect/platform-node";
4
4
  import { Console, Effect } from "effect";
5
5
  import { websocketReadableStream, websocketWritableStream, } from "cojson-transport-nodejs-ws";
6
6
  import { WebSocket } from "ws";
7
- import { Account, jazzReady } from "jazz-tools";
7
+ import { Account, cojsonInternals, jazzReady } from "jazz-tools";
8
8
  import { webcrypto } from "node:crypto";
9
9
  const jazzTools = Command.make("jazz-tools");
10
10
  if (!("crypto" in globalThis)) {
@@ -18,7 +18,8 @@ const peer = Options.text("peer")
18
18
  const accountCreate = Command.make("create", { name, peer }, ({ name, peer }) => {
19
19
  return Effect.gen(function* () {
20
20
  const ws = new WebSocket(peer);
21
- const account = yield* Effect.promise(() => jazzReady.then(() => Account.create({
21
+ yield* Effect.promise(() => jazzReady);
22
+ const account = yield* Effect.promise(() => Account.create({
22
23
  creationProps: { name },
23
24
  peersToLoadFrom: [
24
25
  {
@@ -28,7 +29,23 @@ const accountCreate = Command.make("create", { name, peer }, ({ name, peer }) =>
28
29
  outgoing: websocketWritableStream(ws),
29
30
  },
30
31
  ],
31
- })));
32
+ }));
33
+ yield* Effect.promise(() => account._raw.core.node.syncManager.syncCoValue(account._raw.core));
34
+ yield* Effect.promise(() => account._raw.core.node.syncManager.syncCoValue(account.profile._raw.core));
35
+ const ws2 = new WebSocket(peer);
36
+ yield* Effect.promise(() => Account.become({
37
+ accountID: account.id,
38
+ accountSecret: account._raw.agentSecret,
39
+ sessionID: cojsonInternals.newRandomSessionID(account.id),
40
+ peersToLoadFrom: [
41
+ {
42
+ id: "upstream",
43
+ role: "server",
44
+ incoming: websocketReadableStream(ws2),
45
+ outgoing: websocketWritableStream(ws2),
46
+ },
47
+ ],
48
+ }));
32
49
  yield* Console.log(`# Credentials for Jazz account "${name}":
33
50
  JAZZ_WORKER_ACCOUNT=${account.id}
34
51
  JAZZ_WORKER_SECRET=${account._raw.agentSecret}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": "./dist/index.js",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
- "version": "0.7.0-alpha.35",
6
+ "version": "0.7.0-alpha.36",
7
7
  "dependencies": {
8
8
  "@effect/cli": "^0.36.21",
9
9
  "@effect/platform-node": "^0.49.2",
@@ -11,9 +11,9 @@
11
11
  "effect": "^3.1.3",
12
12
  "fast-check": "^3.17.2",
13
13
  "ws": "^8.14.2",
14
- "cojson": "0.7.0-alpha.35",
15
- "cojson-transport-nodejs-ws": "0.7.0-alpha.35",
16
- "jazz-tools": "0.7.0-alpha.35"
14
+ "cojson": "0.7.0-alpha.36",
15
+ "cojson-transport-nodejs-ws": "0.7.0-alpha.36",
16
+ "jazz-tools": "0.7.0-alpha.36"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/ws": "^8.5.5",
package/src/index.ts CHANGED
@@ -7,8 +7,10 @@ import {
7
7
  websocketWritableStream,
8
8
  } from "cojson-transport-nodejs-ws";
9
9
  import { WebSocket } from "ws";
10
- import { Account, jazzReady } from "jazz-tools";
10
+ import type { Me } from "jazz-tools";
11
+ import { Account, cojsonInternals, jazzReady } from "jazz-tools";
11
12
  import { webcrypto } from "node:crypto";
13
+ import type { AccountID } from "cojson";
12
14
 
13
15
  const jazzTools = Command.make("jazz-tools");
14
16
 
@@ -28,22 +30,53 @@ const accountCreate = Command.make(
28
30
  return Effect.gen(function* () {
29
31
  const ws = new WebSocket(peer);
30
32
 
31
- const account = yield* Effect.promise(() =>
32
- jazzReady.then(() =>
33
- Account.create({
34
- creationProps: { name },
35
- peersToLoadFrom: [
36
- {
37
- id: "upstream",
38
- role: "server",
39
- incoming: websocketReadableStream(ws),
40
- outgoing: websocketWritableStream(ws),
41
- },
42
- ],
43
- })
33
+ yield* Effect.promise(() => jazzReady);
34
+
35
+ const account: Account & Me = yield* Effect.promise(() =>
36
+ Account.create({
37
+ creationProps: { name },
38
+ peersToLoadFrom: [
39
+ {
40
+ id: "upstream",
41
+ role: "server",
42
+ incoming: websocketReadableStream(ws),
43
+ outgoing: websocketWritableStream(ws),
44
+ },
45
+ ],
46
+ })
47
+ );
48
+
49
+ yield* Effect.promise(() =>
50
+ account._raw.core.node.syncManager.syncCoValue(
51
+ account._raw.core
52
+ )
53
+ );
54
+ yield* Effect.promise(() =>
55
+ account._raw.core.node.syncManager.syncCoValue(
56
+ account.profile!._raw.core
44
57
  )
45
58
  );
46
59
 
60
+ const ws2 = new WebSocket(peer);
61
+
62
+ yield* Effect.promise(() =>
63
+ Account.become({
64
+ accountID: account.id,
65
+ accountSecret: account._raw.agentSecret,
66
+ sessionID: cojsonInternals.newRandomSessionID(
67
+ account.id as unknown as AccountID
68
+ ),
69
+ peersToLoadFrom: [
70
+ {
71
+ id: "upstream",
72
+ role: "server",
73
+ incoming: websocketReadableStream(ws2),
74
+ outgoing: websocketWritableStream(ws2),
75
+ },
76
+ ],
77
+ })
78
+ );
79
+
47
80
  yield* Console.log(`# Credentials for Jazz account "${name}":
48
81
  JAZZ_WORKER_ACCOUNT=${account.id}
49
82
  JAZZ_WORKER_SECRET=${account._raw.agentSecret}