Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: merge staging to master #474

Merged
merged 333 commits into from
Aug 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
333 commits
Select commit Hold shift + click to select a range
3471bfc
fix: small fix to claim utils
tegefaulkes Oct 13, 2022
86e38a2
fix: removed old `KeyManager` and keys utils
tegefaulkes Oct 13, 2022
7c0b02e
fix: mem locking error for nodes domain
tegefaulkes Oct 13, 2022
84c8ce9
fix: adding `keyRingConfig` overrides to tests across the board
tegefaulkes Oct 13, 2022
b7281f9
feat: `CertManager` changes
CMCDragonkai Oct 14, 2022
10b39cb
fix: renamed `memoryLocked` to `strictMemoryLock`
tegefaulkes Oct 14, 2022
589f70d
fix: nodes domain getting `PublicKey` from `NodeId` and not through c…
tegefaulkes Oct 14, 2022
314951a
feat: `keys encrypt` and `keys verify` bin commands now take a public…
tegefaulkes Oct 14, 2022
735931e
feat: updating `keys privateKey`, `keys publicKey` and `keys keyPair`
tegefaulkes Oct 14, 2022
013f0e5
test: updating `CertManager` tests
CMCDragonkai Oct 14, 2022
73b9262
fix: split `keys root` into `keys private`, `keys public` and `keys p…
tegefaulkes Oct 17, 2022
0102c74
fix: updated client `keysKeyPair.test.ts` and added `keysPublicKey.te…
tegefaulkes Oct 17, 2022
dde2620
fix: no need to change the name of `keysKeyPairRenew` and `keysKeyPai…
tegefaulkes Oct 17, 2022
3b5a26c
fix: updated `agent start` and `bootstrap` bin commands
tegefaulkes Oct 17, 2022
f48b430
fix: removing old parameters and apply `KeyRing` config overrides for…
tegefaulkes Oct 17, 2022
fad9a6f
fix: updating `AgentChildProcessInput` type
tegefaulkes Oct 17, 2022
9b65a1d
fix: fixed up `keys private` and `keys keypair` to take a new passwor…
tegefaulkes Oct 17, 2022
997d31d
tests: general test fixes
tegefaulkes Oct 17, 2022
5137cee
feat: general rework
CMCDragonkai Oct 15, 2022
7ab3b12
Feat: updating tokens and claims
CMCDragonkai Oct 26, 2022
47bfd04
fix: fixed up buffer locking/unlocking and tests for keys
CMCDragonkai Nov 2, 2022
25bdb60
tests: expanding tests for claims
CMCDragonkai Nov 2, 2022
c4a4ff4
fix: cleaning up claims errors
CMCDragonkai Nov 2, 2022
24000ce
feat: refactoring `gestaltGraph`
CMCDragonkai Nov 3, 2022
eb08bd6
tests: updating `GestaltGraph.test.ts`
tegefaulkes Nov 14, 2022
4bc0738
feat: refactoring `Discovery`
tegefaulkes Nov 14, 2022
b6dc66e
feat: fixing up build issues
tegefaulkes Nov 15, 2022
4285a3c
feat: refactoring claim processes
tegefaulkes Nov 15, 2022
652c5de
fix: fixing sessions tokens
tegefaulkes Nov 16, 2022
a78b4de
fix: notification fixes
tegefaulkes Nov 17, 2022
c70cd08
tests: small fixes for nodeManager tests
tegefaulkes Nov 21, 2022
4af0eee
fix: TLS verification
tegefaulkes Nov 21, 2022
4af9169
fix: session tokens are working now
tegefaulkes Nov 21, 2022
b399b1a
tests: fixing up tests and clean up
tegefaulkes Nov 21, 2022
d71f690
build: update `lint` and `lintfix` script
tegefaulkes Dec 7, 2022
48cefcd
dep: updating typescript versions
tegefaulkes Dec 7, 2022
644dbc1
fix: small type fix
tegefaulkes Dec 7, 2022
b84d634
dep: updated `@matrixai/errors`
tegefaulkes Dec 7, 2022
9321f6c
tests: disabled failing `Vaultmanager` test
tegefaulkes Dec 8, 2022
c68a01d
fix: removed unneeded copy from postbuild script
tegefaulkes Dec 8, 2022
fcc0779
Merge pull request #446 from MatrixAI/feature-crypto
tegefaulkes Dec 8, 2022
fae762b
fix: including `tsyringe` dependency in pkg assets
tegefaulkes Dec 8, 2022
9f7484d
fix: adding `tslib` and `tsyringe` as runtime dependencies
tegefaulkes Dec 8, 2022
10f5de4
fix: updated `deploy-service.sh` script
tegefaulkes Dec 8, 2022
64414c1
fix: removing `"importHelpers": true` from tsconfig.json
tegefaulkes Dec 8, 2022
cbb07b5
feat: password hashing limits can be applied with CLI parameters
tegefaulkes Dec 9, 2022
2b8f96e
fix: using jq to parse aws cli output in `deploy-service.sh`
tegefaulkes Dec 9, 2022
47cc3a9
fix: prompt twice for password when creating agent
tegefaulkes Feb 3, 2023
922f70c
fix: `polykey secrets get` command was not returning the secret's con…
tegefaulkes Feb 3, 2023
df09bbe
test: checking `polykey secrets get` contents in test
tegefaulkes Feb 3, 2023
a0bd3ec
fix: simplified invalid password output and error output
tegefaulkes Feb 3, 2023
54114c5
fix(keys): `decryptWithKey` has to catch verification exception from …
CMCDragonkai Feb 3, 2023
8684fbc
fix: added `raw` type to `outputFormatter` so that it is possible to …
CMCDragonkai Feb 3, 2023
6ddd9ed
fix: invalidate all sessions when password changes
tegefaulkes Feb 3, 2023
b6f75b0
fix: bug with network entry task when no seed nodes are provided
tegefaulkes Feb 3, 2023
f7359a0
fix(identities): claiming an identity that is not authenticated resul…
CMCDragonkai Feb 3, 2023
6b2e53d
fix: removed `identityId` parameter from `polykey identities authenti…
tegefaulkes Feb 3, 2023
6342221
Merge pull request #504 from MatrixAI/feature-demo
CMCDragonkai Feb 3, 2023
f3092dd
fix: agent start not exiting then stopping Polykey
tegefaulkes Feb 6, 2023
cb7a7d6
feat: message separation and parsing
tegefaulkes Jan 3, 2023
6418c58
tests: expanding message aritraries and testing parsers
tegefaulkes Jan 5, 2023
8cf279e
feat: rpc server
tegefaulkes Jan 6, 2023
6405186
fix: renaming Rpc to RPC
tegefaulkes Jan 10, 2023
1764e38
fix: fixing up stream parsing
tegefaulkes Jan 11, 2023
eb60e1f
fix: swapped client and server streaming logic, it was reversed
tegefaulkes Jan 11, 2023
abb6202
tests: creating tests for handlers
tegefaulkes Jan 11, 2023
74f10b8
feat: creating `RPCClient`
tegefaulkes Jan 12, 2023
d2a1aef
fix: updating parser path filtering
tegefaulkes Jan 16, 2023
28f7eba
feat: generic client callers
tegefaulkes Jan 16, 2023
ca524bc
feat: generic stream pair callback
tegefaulkes Jan 18, 2023
f170162
fix: enforcing RPC message size limit
tegefaulkes Jan 18, 2023
b26e86e
fix: switched client and server to `CreateDestroy`
tegefaulkes Jan 18, 2023
a401594
fix: fixing up message types and parsing
tegefaulkes Jan 19, 2023
cf13564
tests: client and server integration tests
tegefaulkes Jan 19, 2023
f20b342
feat: client error handling
tegefaulkes Jan 19, 2023
7cb9040
fix: small bug with uncaught promise
tegefaulkes Jan 20, 2023
c0c9920
fix: changed generic callers to use a ReadableWritablePair as the int…
tegefaulkes Jan 20, 2023
3f12ea8
feat: implementing withXCaller CO style methods
tegefaulkes Jan 23, 2023
e210e48
feat: fleshing out error handling
tegefaulkes Jan 23, 2023
260f23b
feat: updated streams to use `Uint8Array` instead of `Buffer`
tegefaulkes Jan 23, 2023
74450a9
feat: middleware
tegefaulkes Jan 24, 2023
586c990
feat: client handler usage examples
tegefaulkes Jan 27, 2023
fb198ff
fix: refactoring middleware
tegefaulkes Jan 27, 2023
29e61a9
feat: agentUnlock example
tegefaulkes Jan 30, 2023
a487fbb
tests: test fixes
tegefaulkes Jan 31, 2023
05e6c6b
feat: client-client websocket communication
tegefaulkes Jan 31, 2023
5426020
feat: raw handlers
tegefaulkes Feb 2, 2023
ceddf68
feat: client side manifest and typed callers
tegefaulkes Feb 6, 2023
c8ebd74
feat: static registering handlers using manifest
tegefaulkes Feb 7, 2023
fe0a0b7
feat: static middleware for server
tegefaulkes Feb 7, 2023
6cceeda
fix: general cleaning up
tegefaulkes Feb 8, 2023
282913e
feat: class based client and server manifests
tegefaulkes Feb 9, 2023
cad1d07
fix: updated metadata type usage
tegefaulkes Feb 10, 2023
b0cfc7a
feat: client methods refactor
tegefaulkes Feb 10, 2023
534038f
feat: client static middleware registration
tegefaulkes Feb 10, 2023
8210075
fix: converting generators to async iterables
tegefaulkes Feb 10, 2023
427adac
feat: handler class using abstract function
tegefaulkes Feb 10, 2023
632281c
feat: updating metadata wrapper type name
tegefaulkes Feb 10, 2023
ffb8b57
fix: changed client stream caller signature
tegefaulkes Feb 13, 2023
5b36049
tests: expanding error tests
tegefaulkes Feb 13, 2023
89c6c59
fix: removing old test files
tegefaulkes Feb 13, 2023
1d88f5d
fix: extracting middleware to its own files
tegefaulkes Feb 13, 2023
71833a0
feat: updated client caller interfaces
tegefaulkes Feb 14, 2023
dab5cd8
Merge pull request #498 from MatrixAI/feature-agnostic_rpc
tegefaulkes Feb 14, 2023
aaaae01
fix: workerManager related bugs
tegefaulkes Feb 14, 2023
c68d6f9
docs: updated README
CMCDragonkai Feb 15, 2023
8857ad3
docs: added CLI demo gif into README
CMCDragonkai Feb 15, 2023
36d518f
docs: centering cli demo image
CMCDragonkai Feb 15, 2023
eac6153
feat: creating `ClientServer` implementation
tegefaulkes Feb 14, 2023
c433d92
feat: `ClientServer` supports backpressure
tegefaulkes Feb 17, 2023
0ed77d6
fix: switched `ClientServer` to `StartStop` and other fixes
tegefaulkes Feb 20, 2023
485e4a8
feat: creating `ClientClient` implementation
tegefaulkes Feb 20, 2023
52500ca
feat: client authenticates server
tegefaulkes Feb 21, 2023
eba92b2
tests: re-ordering tests
tegefaulkes Feb 21, 2023
e092e64
tests: tests for abrupt connection ending
tegefaulkes Feb 21, 2023
17cb110
feat: client rejects normal HTTP requests
tegefaulkes Feb 21, 2023
c21ebd1
feat: `ClientClient` connection timeout
tegefaulkes Feb 22, 2023
4ceb657
tests: testing abruptly dropped connections
tegefaulkes Feb 22, 2023
d80ad80
feat: `ClientClient` keepalive and heartbeat
tegefaulkes Feb 23, 2023
2d01f27
feat: `ClientServer` keepalive and heartbeat
tegefaulkes Feb 23, 2023
5da726e
feat: `IPv6` support
tegefaulkes Feb 23, 2023
d096ce2
fix: cleaning up and errors
tegefaulkes Feb 23, 2023
1641c7e
tests: cleaning up and fixing tests
tegefaulkes Feb 24, 2023
d2eea49
feat: stream handler callback provided with `ConnectionInfo`
tegefaulkes Feb 24, 2023
00a2094
fix: changed names of `ClientClient` and `ClientServer` to `WebSocket…
tegefaulkes Feb 27, 2023
0f9cbcd
fix: `WebSocketServer` using protected arrow functions for the `uWebs…
tegefaulkes Feb 27, 2023
4a4427a
feat: `WebSocketClient` now extends the `WebSocketStream` class for i…
tegefaulkes Feb 27, 2023
bf3627b
feat: `WebSocketServer` now extends the `WebSocketStream` class for i…
tegefaulkes Feb 27, 2023
953efbc
fix: separating the `websockets` code to its own domain
tegefaulkes Feb 28, 2023
f260d73
fix: abstracting `uWebsocket` server creation to its own protected me…
tegefaulkes Feb 28, 2023
c6feceb
feat: `WebSocketServer` now extends `EventTarget` with `connection`, …
tegefaulkes Feb 28, 2023
1269570
Merge pull request #506 from MatrixAI/feature-websocket_client
tegefaulkes Mar 1, 2023
e373209
feat: migrating handlers to agnostic RPC
tegefaulkes Feb 24, 2023
ed608e2
tests: migrating handler tests
tegefaulkes Mar 6, 2023
7e050e8
feat: updating client RPC usage to use agnostic RPC
tegefaulkes Mar 7, 2023
cccc5c5
fix: fixing failing tests
tegefaulkes Mar 9, 2023
2a59a45
fix: updated error names, `Rpc` is now `RPC`
tegefaulkes Mar 17, 2023
63bf745
fix: added return types to utils functions
tegefaulkes Mar 17, 2023
db110c3
syntax: renamed `host_` to `_host` to match conventions
tegefaulkes Mar 17, 2023
7312f7c
fix: adding docblock documentation to middleware.ts
tegefaulkes Mar 17, 2023
4fa0d2d
fix: remove duplicate error
tegefaulkes Mar 17, 2023
57c2565
fix: making `PolykeyClient` transport agnostic
tegefaulkes Mar 17, 2023
d469d1f
fix: changing order of discovery message spam fix
tegefaulkes Mar 19, 2023
d18a1f5
fix: renaming `streamPairCreateCallback` to `streamFactory`
tegefaulkes Mar 19, 2023
dbe4b5c
fix: using transport agnostic `PolykeyClient`
tegefaulkes Mar 20, 2023
345930e
fix: removed placeholder error and fixed error message handling
tegefaulkes Mar 21, 2023
5acc202
syntax: renamed metadata `Authorization` to `authorization`
tegefaulkes Mar 21, 2023
2a59c35
syntax: updated client response and request data types
tegefaulkes Mar 21, 2023
119e73d
fix: fixing up directory structures of `client` and `rpc`
tegefaulkes Mar 21, 2023
b2d2697
fix(rpc): moved `ErrorPolykeyRemote` to the bottom of `rpc/errors` an…
CMCDragonkai Mar 21, 2023
8b3447e
fix: removed spurious mention of `ErrorPolykeyRemote`
CMCDragonkai Mar 21, 2023
95b772d
fix: `rpcServerClient` and `webSocketServerClient` are not dependency…
tegefaulkes Mar 22, 2023
b00b9c8
fix: `rpcClient` is now dependency injected into `PolykeyClient`
tegefaulkes Mar 22, 2023
da925ee
fix: changed `JsonRpc` to `JSONRPC`
CMCDragonkai Mar 22, 2023
95c00dc
style: spacing between handler types
CMCDragonkai Mar 22, 2023
9415794
fix: `clientManifest` avoids needless dependencies
tegefaulkes Mar 22, 2023
9df3302
fix: `outputFormatter` handles `ErrorPolykeyRemote` as well as the ol…
tegefaulkes Mar 22, 2023
bc1ee3f
fix: renamed `ErrorRPCClient` to `ErrorClient`
tegefaulkes Mar 22, 2023
86d1cb1
fix: removing a disabled test
tegefaulkes Mar 22, 2023
c253996
fix: updated docblocks and parameter names for `RPCServer` and `RPCCl…
tegefaulkes Mar 22, 2023
a709b91
chore: removed useless comments about XML RPC error codes
CMCDragonkai Mar 22, 2023
6a12022
fix(rpc): await the handler promises in the async generators, this is…
CMCDragonkai Mar 22, 2023
ae5816b
fix(rpc): moved `RPCErrorEvent` to `rpc/events`, collapsed `Error` to…
CMCDragonkai Mar 22, 2023
428c170
chore: expanding `RPCServer` commentary
CMCDragonkai Mar 22, 2023
7352f1f
fix: made `WebSocketServer` `host` and `port` into `getHost()` and `g…
tegefaulkes Mar 22, 2023
a2ae510
chore: updating doc comments for RPC message types
tegefaulkes Mar 23, 2023
8e19b76
fix: change of head, tail destructuring for raw handlers, head and ta…
CMCDragonkai Mar 23, 2023
b0876c8
fix: `RPCServer` handling output stream cancellation
tegefaulkes Mar 24, 2023
a6f69f2
fix: cleaning up temp errors in websocket domain
tegefaulkes Mar 24, 2023
60e3d13
fix: handler receives signal if output stream fails
tegefaulkes Mar 24, 2023
4e2ab40
Merge pull request #509 from MatrixAI/feature-client_migration
tegefaulkes Mar 24, 2023
642b269
dep: updating dependencies
tegefaulkes Mar 15, 2023
5ec59ce
fix: reduced some complexity with `handleStream`
tegefaulkes Mar 15, 2023
129e207
feat: `RPCServer` timeout support
tegefaulkes Mar 14, 2023
15e2d34
feat: `RPCClient` now handles timeouts and abort signals
tegefaulkes Mar 27, 2023
0307efe
feat: added cancellation logic to streaming handlers
tegefaulkes Mar 30, 2023
9a10fc0
feat: `WebSocketClient` supports stream abortion
tegefaulkes Mar 30, 2023
1f7d45b
fix: propagating `ctx` to websocket stream creation
tegefaulkes Mar 31, 2023
b310205
test: `RPCServer` test for updating timeout in middleware
tegefaulkes Mar 31, 2023
004ee08
feat: added timeout middleware to `client`
tegefaulkes Mar 31, 2023
596d048
fix: `RPCClient` cleans up `unary` and `server` streaming calls
tegefaulkes Apr 3, 2023
8354588
fix: small fix
tegefaulkes Apr 3, 2023
4cffc26
fix: server streaming caller cleans up reverse if forward has an error
tegefaulkes Apr 3, 2023
37ba461
fix: fixing up `_` usage
tegefaulkes Apr 4, 2023
ab4e869
fix: Updated abort signal usage in handlers
tegefaulkes Apr 4, 2023
2a45022
fix: added comments to unclear variables
tegefaulkes Apr 4, 2023
b5397f8
syntax: improved variable names and docs
tegefaulkes Apr 4, 2023
03c56f9
syntax: fixed error names
tegefaulkes Apr 4, 2023
ab4aec0
syntax: fixed middleware utils imports
tegefaulkes Apr 4, 2023
5be841a
syntax: fixes to test names
tegefaulkes Apr 4, 2023
21e2a6a
dep: updating `@streamparser/json` to `^0.0.13`
tegefaulkes Apr 5, 2023
70c20e0
feat: streams are now using a `RPCStream` interface that extends `Rea…
tegefaulkes Apr 5, 2023
efd3d2a
docs: adding commentary for `.catch()` usage for ignoring errors
tegefaulkes Apr 5, 2023
3c1d525
fix: adding and propagating config values
tegefaulkes Apr 6, 2023
f5030d6
fix: test fixes
tegefaulkes Apr 6, 2023
ea283dd
fix: changed WS close error code
tegefaulkes Apr 6, 2023
67289cd
Merge pull request #513 from MatrixAI/feature-agnostic_timeout
tegefaulkes Apr 6, 2023
1c65304
legal: added ADDITIONAL_TERMS to protect trademarks and branding assets
CMCDragonkai May 5, 2023
25b1bac
dep: removed bip39 as it is not used
CMCDragonkai May 5, 2023
78a9faa
fix: `npm bin` has been deprecated, replaced with `$(npm root)/.bin`
CMCDragonkai May 12, 2023
f25ef30
deps: updated `@matrixai/async-cancellable` to `^1.0.6` to fix for no…
CMCDragonkai May 28, 2023
b901d25
chore: extracted `contexts` to `@matrixai/contexts` and fixed some im…
CMCDragonkai May 29, 2023
69a40b9
test: swap from `ts-jest` and `babel-jest` for `@swc/jest`
CMCDragonkai Sep 26, 2022
ac6f4a0
ci: updating macos CI runner
tegefaulkes Jul 7, 2023
68da4b1
dep: updating `matrixai` dependencies
tegefaulkes Jul 7, 2023
e34fcd6
Merge pull request #529 from MatrixAI/feature-swc-jest
tegefaulkes Jul 7, 2023
48adbca
lint: not necessary to extend `prettier` when `plugin:prettier/recomm…
CMCDragonkai Jul 9, 2023
93bcab7
build: updated node.js to v18
tegefaulkes Jul 7, 2023
a60bcce
ci: updated to v2 of codesee and changed to using staging branch
CMCDragonkai Jul 11, 2023
045be37
refactor: converting agent handlers
tegefaulkes May 23, 2023
4c119d5
refactor: converting `NodeConnection`
tegefaulkes May 25, 2023
c9774e2
refactor: converting `NodeConnectionManager`
tegefaulkes May 25, 2023
06a92cd
feat: multi-connection logic
tegefaulkes May 26, 2023
dbbc880
tests: coverting and fixing nodes domain tests
tegefaulkes May 31, 2023
0457aeb
tests: converting tests
tegefaulkes Jun 5, 2023
79ee35c
refactor: removing un-needed `network` and `GRPC` domain code
tegefaulkes Jun 6, 2023
9a08208
tests: fixing up tests
tegefaulkes Jun 6, 2023
fbf6004
dep: running npm install after re-base
tegefaulkes Jul 7, 2023
1d6c6e5
tests: fixing up nodes tests
tegefaulkes Jul 7, 2023
b06ee1d
tests: fixing up tests
tegefaulkes Jul 11, 2023
e3d05f0
fix: Fixed up `NodeConnectionMap` deadlock
tegefaulkes Jul 14, 2023
fc63ca9
fix: propagating connection configs and clean up
tegefaulkes Jul 19, 2023
37842ec
refactor: fixes and clean up
tegefaulkes Jul 19, 2023
b5914b4
refactor: removing Protobuf and GRPC tools
tegefaulkes Jul 20, 2023
4d6d95e
docs: updated documentation
tegefaulkes Jul 20, 2023
adb8a31
fix: fixed imports
tegefaulkes Jul 21, 2023
b312bb8
fix: fixing up import
tegefaulkes Jul 21, 2023
b74cadb
fix: removing placeholder agent handler
tegefaulkes Jul 26, 2023
bbc6647
fix: fixing up errors relating to missing connection certificates
tegefaulkes Jul 26, 2023
4aef5db
fix: removing echo handler
tegefaulkes Jul 26, 2023
b1b2db9
fix: reverted changes to `Sigchain.ts`
tegefaulkes Jul 26, 2023
d649dbe
dep: removed `utp-native`
tegefaulkes Jul 26, 2023
c56d1e7
build: fixed `pkg` command
tegefaulkes Jul 26, 2023
408afe8
fix: updated `Polykeyclient` client manifest to be hard coded
tegefaulkes Jul 26, 2023
f971650
fix: fixed index import for RPC handlers
tegefaulkes Jul 26, 2023
abfb115
fix: renamed `nodesChainDataGet` to `nodesClaimsGet`
tegefaulkes Jul 26, 2023
972ef96
fix: fixed handler inputs
tegefaulkes Jul 27, 2023
8f07a75
fix: parameterized process vertex timeout and other fixes
tegefaulkes Jul 27, 2023
4b16010
fix: fixed network error name
tegefaulkes Jul 27, 2023
43599f6
fix: added comment to RPC response and result message types
tegefaulkes Jul 27, 2023
1ca6ea5
fix: fixed some types
tegefaulkes Jul 27, 2023
d36a9ac
fix: replaced `NoData` type with `ObjectEmpty`
tegefaulkes Jul 28, 2023
4f545d2
fix: fixed mentions of `GRPC`
tegefaulkes Jul 28, 2023
c68c955
fix: fixing usage of `Host` and `Port` types to be internal
tegefaulkes Jul 31, 2023
c5da3d4
fix: fixed `keepAliveIntervalTime` usage
tegefaulkes Jul 31, 2023
3427f5b
docs: added doc-blocks describing RPC manifests
tegefaulkes Aug 1, 2023
d72393e
fix: moved `nodeIdFromMeta` to agent domain
tegefaulkes Aug 1, 2023
e3db77b
fix: updating config names
tegefaulkes Aug 1, 2023
703ec5d
fix: fixing up RPC handler imports
tegefaulkes Aug 1, 2023
fc82a3d
Merge pull request #525 from MatrixAI/feature-agent_migration
tegefaulkes Aug 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended",
"prettier"
"plugin:prettier/recommended"
],
"plugins": [
"import"
Expand Down
86 changes: 11 additions & 75 deletions .github/workflows/codesee-arch-diagram.yml
Original file line number Diff line number Diff line change
@@ -1,87 +1,23 @@
# This workflow was added by CodeSee. Learn more at https://codesee.io/
# This is v2.0 of this workflow file
on:
push:
branches:
- master
- staging
pull_request_target:
types: [opened, synchronize, reopened]

name: CodeSee Map
name: CodeSee

permissions: read-all

jobs:
test_map_action:
codesee:
runs-on: ubuntu-latest
continue-on-error: true
name: Run CodeSee Map Analysis
name: Analyze the repo with CodeSee
steps:
- name: checkout
id: checkout
uses: actions/checkout@v2
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0

# codesee-detect-languages has an output with id languages.
- name: Detect Languages
id: detect-languages
uses: Codesee-io/codesee-detect-languages-action@latest

- name: Configure JDK 16
uses: actions/setup-java@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).java }}
with:
java-version: '16'
distribution: 'zulu'

# CodeSee Maps Go support uses a static binary so there's no setup step required.

- name: Configure Node.js 14
uses: actions/setup-node@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).javascript }}
with:
node-version: '14'

- name: Configure Python 3.x
uses: actions/setup-python@v2
if: ${{ fromJSON(steps.detect-languages.outputs.languages).python }}
with:
python-version: '3.10'
architecture: 'x64'

- name: Configure Ruby '3.x'
uses: ruby/setup-ruby@v1
if: ${{ fromJSON(steps.detect-languages.outputs.languages).ruby }}
with:
ruby-version: '3.0'

# We need the rust toolchain because it uses rustc and cargo to inspect the package
- name: Configure Rust 1.x stable
uses: actions-rs/toolchain@v1
if: ${{ fromJSON(steps.detect-languages.outputs.languages).rust }}
with:
toolchain: stable

- name: Generate Map
id: generate-map
uses: Codesee-io/codesee-map-action@latest
with:
step: map
api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
github_ref: ${{ github.ref }}
languages: ${{ steps.detect-languages.outputs.languages }}

- name: Upload Map
id: upload-map
uses: Codesee-io/codesee-map-action@latest
with:
step: mapUpload
api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
github_ref: ${{ github.ref }}

- name: Insights
id: insights
uses: Codesee-io/codesee-map-action@latest
- uses: Codesee-io/codesee-action@v2
with:
step: insights
api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
github_ref: ${{ github.ref }}
codesee-token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }}
codesee-url: https://app.codesee.io
6 changes: 3 additions & 3 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ integration:deployment:
- echo 'Deploying ECS service to testnet'
- >
nix-shell --run $'
./scripts/deploy-service.sh \'polykey-testnet\' \'polykey-testnet\';
./scripts/deploy-service.sh \'polykey-testnet\';
'
after_script:
- rm -f "$REGISTRY_AUTH_FILE"
Expand Down Expand Up @@ -402,8 +402,8 @@ integration:linux:
- job: integration:deployment
optional: true
tags:
- shared-macos-amd64
image: macos-11-xcode-12
- saas-macos-medium-m1
image: macos-12-xcode-14
script:
- for f in ./builds/*-macos-x64*; do "$f"; done
rules:
Expand Down
11 changes: 11 additions & 0 deletions ADDITIONAL_TERMS
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ADDITIONAL TERMS

This file contains additional terms and conditions that apply to the use of this project.

1. Trademark Use. The trademarks and branding assets associated with this project are the exclusive property of MATRIX AI PTY. LTD. ("Owner") and may not be used or displayed in any manner without Owner's express written permission.

2. Derivative Works. Users may not distribute derivative works based on this project that incorporate any of the Owner's trademarks or branding assets, except in the case of a complete, unmodified copy of the original work.

3. Enforcement. Owner reserves the right to enforce these additional terms and conditions, including through legal action if necessary.

4. Disclaimer. This file does not grant any additional rights or permissions beyond those granted by the GPL-3.0 license. Any conflict between the terms of this file and the GPL-3.0 license shall be resolved in favor of the GPL-3.0 license.
30 changes: 19 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,40 @@
staging:[![pipeline status](https://gitlab.com/MatrixAI/open-source/Polykey/badges/staging/pipeline.svg)](https://gitlab.com/MatrixAI/open-source/Polykey/commits/staging)
master:[![pipeline status](https://gitlab.com/MatrixAI/open-source/Polykey/badges/master/pipeline.svg)](https://gitlab.com/MatrixAI/open-source/Polykey/commits/master)

Secrets management for today's decentralized world of people, services and devices.
Polykey is an open-source decentralized secrets management and sharing system. It is made for today's decentralized world of people, services and devices.

Use Polykey to share secrets (passwords, keys, tokens and certificates) with people, between teams, and across machine infrastructure
* Decentralized Encrypted Storage - No storage of secrets on third parties, secrets are stored on your device and synchronised point-to-point between Polykey nodes.
* Secure Peer-to-Peer Communications - Polykey bootstraps TLS keys by federating trusted social identities (e.g. GitHub).
* Secure Computational Workflows - Share secrets (passwords, keys, tokens and certificates) with people, between teams, and across machine infrastructure.

Polykey is an open-source peer to peer decentralized application for secrets management. It is intended to be used by both humans and machines. It synthesizes a unified workflow between interactive password management and infrastructure key management.
<p align="center">
<img src="./images/cli_demo.gif" alt="Polykey CLI Demo"/>
</p>

Polykey synthesizes a unified workflow between interactive password management and infrastructure key management.

You have complete end-to-end control and privacy over your secrets, with no third-party data collection.

Polykey runs on distributed keynodes referred to as "nodes". Any computing system can run multiple keynodes. Each node manages one or more vaults which are encrypted filesystems with automatic version history. Vaults are shared between the nodes.
Polykey runs on distributed keynodes referred to as "nodes". Any computing system can run multiple keynodes. Each node manages one or more vaults which are encrypted filesystems with automatic version history. Vaults can be shared between the nodes.

This is the core library for running PolyKey. It provides a CLI `polykey` or `pk` for interacting with the PolyKey system.
This repository is the core library for Polykey.

For tutorials, how-to guides, reference and theory, see the [wiki](https://github.com/MatrixAI/Polykey/wiki).
The Polykey project is split up into these main repositories:

* [Polykey](https://github.com/MatrixAI/Polykey) - Polykey core library
* ~[Polykey-CLI](https://github.com/MatrixAI/Polykey-CLI) - CLI of Polykey~ - TBD
* [Polykey](https://github.com/MatrixAI/Polykey) - Polykey Core Library
* [Polykey-CLI](https://github.com/MatrixAI/Polykey-CLI) - CLI of Polykey
* [Polykey-Desktop](https://github.com/MatrixAI/Polykey-Desktop) - Polykey Desktop (Windows, Mac, Linux) application
* [Polykey-Mobile](https://github.com/MatrixAI/Polykey-Mobile) - Polykey Mobile (iOS & Android) Application

At the moment, the CLI is embedded in this Polykey Core Library repository. This means it provides the CLI `polykey` or `pk` for interacting with the Polykey system. In the future these will be moved to [Polykey-CLI](https://github.com/MatrixAI/Polykey-CLI).

Have a bug or a feature-request? Please submit it the issues of the relevant subproject above.

Have a question? Join our discussion board: https://github.com/MatrixAI/Polykey/discussions
For tutorials, how-to guides, reference and theory, see the [docs](https://polykey.io/docs).

Want to learn the theory of secret management? Or how to start using Polykey? Check out our wiki: https://github.com/MatrixAI/Polykey/wiki
Have a question? Join our [discussion board](https://github.com/MatrixAI/Polykey/discussions).

See our website https://polykey.io for more details!
Our main website is https://polykey.io

## Installation

Expand Down
3 changes: 0 additions & 3 deletions babel.config.js

This file was deleted.

45 changes: 25 additions & 20 deletions benches/index.ts
Original file line number Diff line number Diff line change
@@ -1,34 +1,39 @@
#!/usr/bin/env ts-node

import type { Summary } from 'benny/lib/internal/common-types';
import fs from 'fs';
import path from 'path';
import si from 'systeminformation';
import gitgc from './gitgc';
import { fsWalk, resultsPath, suitesPath } from './utils';

async function main(): Promise<void> {
await fs.promises.mkdir(path.join(__dirname, 'results'), { recursive: true });
await gitgc();
const resultFilenames = await fs.promises.readdir(
path.join(__dirname, 'results'),
);
const metricsFile = await fs.promises.open(
path.join(__dirname, 'results', 'metrics.txt'),
'w',
);
// Running all suites
for await (const suitePath of fsWalk(suitesPath)) {
// Skip over non-ts and non-js files
const ext = path.extname(suitePath);
if (ext !== '.ts' && ext !== '.js') {
continue;
}
const suite: () => Promise<Summary> = (await import(suitePath)).default;
await suite();
}
// Concatenating metrics
const metricsPath = path.join(resultsPath, 'metrics.txt');
await fs.promises.rm(metricsPath);
let concatenating = false;
for (const resultFilename of resultFilenames) {
if (/.+_metrics\.txt$/.test(resultFilename)) {
const metricsData = await fs.promises.readFile(
path.join(__dirname, 'results', resultFilename),
);
if (concatenating) {
await metricsFile.write('\n');
}
await metricsFile.write(metricsData);
concatenating = true;
for await (const metricPath of fsWalk(resultsPath)) {
// Skip over non-metrics files
if (!metricPath.endsWith('_metrics.txt')) {
continue;
}
const metricData = await fs.promises.readFile(metricPath);
if (concatenating) {
await fs.promises.appendFile(metricsPath, '\n');
}
await fs.promises.appendFile(metricsPath, metricData);
concatenating = true;
}
await metricsFile.close();
const systemData = await si.get({
cpu: '*',
osInfo: 'platform, distro, release, kernel, arch',
Expand Down
116 changes: 116 additions & 0 deletions benches/results/basic/buffer_encoding_decoding.chart.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.min.js"></script>
<title>basic.buffer_encoding_decoding</title>
<style>
body {
margin: 0;
padding: 0;
background: #ddd;
}

.container {
box-sizing: border-box;
height: 96vh;
width: 96vw;
margin: 2vh 2vw;
resize: both;
overflow: hidden;
padding: 20px;
background: white;
box-shadow: 0 0 15px #aaa;
}
</style>
</head>
<body>
<div class="container">
<canvas id="chart1666662556031" width="16" height="9"></canvas>
</div>
<script>
const format = (num) => {
const [whole, fraction] = String(num).split('.')
const chunked = []
whole
.split('')
.reverse()
.forEach((char, index) => {
if (index % 3 === 0) {
chunked.unshift([char])
} else {
chunked[0].unshift(char)
}
})

const fractionStr = fraction !== undefined ? '.' + fraction : ''

return (
chunked.map((chunk) => chunk.join('')).join(' ') + fractionStr
)
}
const ctx1666662556031 = document
.getElementById('chart1666662556031')
.getContext('2d')
const chart1666662556031 = new Chart(ctx1666662556031, {
type: 'bar',
data: {
labels: ["JSON stringify and parse buffer","Base64 encode and decode buffer","Base64url encode and decode buffer"],
datasets: [
{
data: [172634,1385074,1327362],
backgroundColor: ["hsl(14.951999999999991, 85%, 55%)","hsl(120, 85%, 55%)","hsl(114.996, 85%, 55%)"],
borderColor: ["hsl(14.951999999999991, 85%, 55%)","hsl(120, 85%, 55%)","hsl(114.996, 85%, 55%)"],
borderWidth: 2,
},
],
},
options: {
maintainAspectRatio: false,
plugins: {
title: {
display: true,
text: 'basic.buffer_encoding_decoding',
font: { size: 20 },
padding: 20,
},
legend: {
display: false,
},
tooltip: {
callbacks: {
label: (context) => {
return format(context.parsed.y) + ' ops/s'
},
},
displayColors: false,
backgroundColor: '#222222',
padding: 10,
cornerRadius: 5,
intersect: false,
},
},
scales: {
x: {
grid: {
color: '#888888',
},
},
y: {
title: {
display: true,
text: 'Operations per second',
padding: 10,
},
grid: {
color: '#888888',
},
},
},
},
})
</script>
</body>
</html>
Loading