@peers-app/peers-sdk 0.25.17 → 0.25.18

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.
Files changed (33) hide show
  1. package/dist/contracts/__tests__/contract-proxy.test.js +24 -1
  2. package/dist/contracts/__tests__/contract-resolvers.test.js +3 -0
  3. package/dist/contracts/contract-provider-router.d.ts +16 -2
  4. package/dist/contracts/contract-provider-router.js +4 -0
  5. package/dist/contracts/contract-providers.table.d.ts +2 -2
  6. package/dist/contracts/contract-proxy.d.ts +11 -0
  7. package/dist/contracts/contract-proxy.js +11 -3
  8. package/dist/contracts/contract-resolvers.js +12 -1
  9. package/dist/contracts/index.d.ts +3 -0
  10. package/dist/contracts/index.js +18 -2
  11. package/dist/contracts/system/contract-catalog-contract.d.ts +38 -0
  12. package/dist/contracts/system/contract-catalog-contract.js +51 -0
  13. package/dist/contracts/system/http-contract.d.ts +80 -0
  14. package/dist/contracts/system/http-contract.js +93 -0
  15. package/dist/contracts/system/index.d.ts +3 -0
  16. package/dist/contracts/system/index.js +3 -0
  17. package/dist/contracts/system/scheduler-contract.d.ts +54 -0
  18. package/dist/contracts/system/scheduler-contract.js +70 -0
  19. package/dist/data/tool-access-approvals.d.ts +3 -3
  20. package/dist/package-loader/index.d.ts +1 -0
  21. package/dist/package-loader/index.js +1 -0
  22. package/dist/package-loader/isolated-artifact.d.ts +37 -0
  23. package/dist/package-loader/isolated-artifact.js +79 -2
  24. package/dist/package-loader/isolated-artifact.test.js +25 -0
  25. package/dist/package-loader/isolated-persistent-var-gateway.js +19 -0
  26. package/dist/package-loader/isolated-runtime.d.ts +28 -1
  27. package/dist/package-loader/package-loader.js +4 -0
  28. package/dist/package-loader/package-loader.test.js +50 -2
  29. package/dist/package-loader/package-network-policy.d.ts +52 -0
  30. package/dist/package-loader/package-network-policy.js +62 -0
  31. package/dist/system-ids.d.ts +31 -0
  32. package/dist/system-ids.js +32 -1
  33. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /**
3
+ * Host-side record of an isolated package's declared outbound HTTP policy.
4
+ *
5
+ * Populated when the isolated runtime installs a manifest and read by System HTTP.
6
+ * Secrets are not stored here; {@link IPackageNetworkCredential.secretVar} is a
7
+ * logical name the host resolves at request time.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.setPackageNetworkPolicy = setPackageNetworkPolicy;
11
+ exports.getPackageNetworkPolicy = getPackageNetworkPolicy;
12
+ exports._clearPackageNetworkPoliciesForTests = _clearPackageNetworkPoliciesForTests;
13
+ const policies = new Map();
14
+ function policyKey(dataContextId, packageId) {
15
+ return `${dataContextId}:${packageId}`;
16
+ }
17
+ /**
18
+ * Record or clear the network policy for one package in one data context.
19
+ *
20
+ * Pass `undefined` when the package is uninstalled or declares no network block.
21
+ * The policy is process memory; install republishes it.
22
+ *
23
+ * @param dataContextId - Personal or group context that installed the package.
24
+ * @param packageId - Trusted package id from the manifest, not from a guest payload.
25
+ * @param policy - Declared allowlist and credential refs, or `undefined` to forget it.
26
+ */
27
+ function setPackageNetworkPolicy(dataContextId, packageId, policy) {
28
+ const key = policyKey(dataContextId, packageId);
29
+ if (!policy) {
30
+ policies.delete(key);
31
+ return;
32
+ }
33
+ policies.set(key, {
34
+ allowedHosts: [...policy.allowedHosts],
35
+ credentials: policy.credentials.map((credential) => ({ ...credential })),
36
+ });
37
+ }
38
+ /**
39
+ * Return the network policy installed for this package, if it declared one.
40
+ *
41
+ * @param dataContextId - Context whose runtime installed the package.
42
+ * @param packageId - Package that is calling System HTTP.
43
+ * @returns A copy of the policy, or `undefined` when HTTP is not declared.
44
+ */
45
+ function getPackageNetworkPolicy(dataContextId, packageId) {
46
+ const policy = policies.get(policyKey(dataContextId, packageId));
47
+ if (!policy) {
48
+ return undefined;
49
+ }
50
+ return {
51
+ allowedHosts: [...policy.allowedHosts],
52
+ credentials: policy.credentials.map((credential) => ({ ...credential })),
53
+ };
54
+ }
55
+ /**
56
+ * Drop every recorded network policy.
57
+ *
58
+ * @internal Test-only. Production install and uninstall update one package at a time.
59
+ */
60
+ function _clearPackageNetworkPoliciesForTests() {
61
+ policies.clear();
62
+ }
@@ -152,3 +152,34 @@ export declare const localFoldersToolIds: {
152
152
  readonly trash: "00mukk9dwejbuehqzszpyxefx";
153
153
  readonly purgeTrash: "00mukk9dwe6co8gvuy44kmuzd";
154
154
  };
155
+ /**
156
+ * Contract id for the local-only System HTTP surface.
157
+ * Host-mediated fetch for isolated packages. Not available over device-to-device connections.
158
+ */
159
+ export declare const httpContractId = "00muxgugn4tzd527r3cwnie2o";
160
+ /** Stable IDs for tools in System HTTP v1. */
161
+ export declare const httpToolIds: {
162
+ readonly request: "00muxgugn6e3dan5ej6dotzy5";
163
+ readonly cancel: "00muxgugn6scnni9563focivs";
164
+ readonly describePolicy: "00muxgugn6kouo2ocpun70q31";
165
+ };
166
+ /**
167
+ * Contract id for the local-only System Contract Catalog.
168
+ * Lists every registered provider of a contract version so a hub package can fan out.
169
+ */
170
+ export declare const contractCatalogContractId = "00muxgugn6ncjuunb8r28puae";
171
+ /** Stable IDs for tools in System Contract Catalog v1. */
172
+ export declare const contractCatalogToolIds: {
173
+ readonly listContractProviders: "00muxgugn6ek5apk8d5jtfavp";
174
+ };
175
+ /**
176
+ * Contract id for the local-only System Scheduler.
177
+ * Device-local timers that wake an isolated package's own tool. Not synced and not remote.
178
+ */
179
+ export declare const schedulerContractId = "00muxgugn6pj2o0lcu7kxkvrs";
180
+ /** Stable IDs for tools in System Scheduler v1. */
181
+ export declare const schedulerToolIds: {
182
+ readonly schedule: "00muxgugn6t0o5s7239zg6bf5";
183
+ readonly cancel: "00muxgugn6vqfxpppodqlgfhg";
184
+ readonly list: "00muxgugn661g0qmpuwafrmsi4";
185
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.localFoldersToolIds = exports.localFoldersContractId = exports.identityToolIds = exports.identityContractId = exports.invitesToolIds = exports.invitesContractId = exports.toolAccessControlToolIds = exports.toolAccessControlContractId = exports.networkControlContractId = exports.networkDiagnosticsContractId = exports.deviceOperationsContractId = exports.logsContractId = exports.peersSystemPackageId = exports.peersCoreRevokedPublishPublicKeys = exports.peersCorePublishPublicKey = exports.peersCorePackageRepoUrl = exports.peersCorePackageId = exports.createGroupToolId = exports.queryDatabaseToolId = exports.runWorkflowToolId = exports.defaultSendMessageToolId = exports.defaultAssistantRunnerToolId = exports.adminAssistantId = exports.openCodeAssistantId = exports.defaultAssistantId = exports.peersRootUserId = void 0;
3
+ exports.schedulerToolIds = exports.schedulerContractId = exports.contractCatalogToolIds = exports.contractCatalogContractId = exports.httpToolIds = exports.httpContractId = exports.localFoldersToolIds = exports.localFoldersContractId = exports.identityToolIds = exports.identityContractId = exports.invitesToolIds = exports.invitesContractId = exports.toolAccessControlToolIds = exports.toolAccessControlContractId = exports.networkControlContractId = exports.networkDiagnosticsContractId = exports.deviceOperationsContractId = exports.logsContractId = exports.peersSystemPackageId = exports.peersCoreRevokedPublishPublicKeys = exports.peersCorePublishPublicKey = exports.peersCorePackageRepoUrl = exports.peersCorePackageId = exports.createGroupToolId = exports.queryDatabaseToolId = exports.runWorkflowToolId = exports.defaultSendMessageToolId = exports.defaultAssistantRunnerToolId = exports.adminAssistantId = exports.openCodeAssistantId = exports.defaultAssistantId = exports.peersRootUserId = void 0;
4
4
  /** Stable user ID that owns built-in Peers system records. */
5
5
  exports.peersRootUserId = "000peers0user000000000001";
6
6
  /** Default assistant used when no user-selected assistant is available. */
@@ -159,3 +159,34 @@ exports.localFoldersToolIds = {
159
159
  trash: "00mukk9dwejbuehqzszpyxefx",
160
160
  purgeTrash: "00mukk9dwe6co8gvuy44kmuzd",
161
161
  };
162
+ /**
163
+ * Contract id for the local-only System HTTP surface.
164
+ * Host-mediated fetch for isolated packages. Not available over device-to-device connections.
165
+ */
166
+ exports.httpContractId = "00muxgugn4tzd527r3cwnie2o";
167
+ /** Stable IDs for tools in System HTTP v1. */
168
+ exports.httpToolIds = {
169
+ request: "00muxgugn6e3dan5ej6dotzy5",
170
+ cancel: "00muxgugn6scnni9563focivs",
171
+ describePolicy: "00muxgugn6kouo2ocpun70q31",
172
+ };
173
+ /**
174
+ * Contract id for the local-only System Contract Catalog.
175
+ * Lists every registered provider of a contract version so a hub package can fan out.
176
+ */
177
+ exports.contractCatalogContractId = "00muxgugn6ncjuunb8r28puae";
178
+ /** Stable IDs for tools in System Contract Catalog v1. */
179
+ exports.contractCatalogToolIds = {
180
+ listContractProviders: "00muxgugn6ek5apk8d5jtfavp",
181
+ };
182
+ /**
183
+ * Contract id for the local-only System Scheduler.
184
+ * Device-local timers that wake an isolated package's own tool. Not synced and not remote.
185
+ */
186
+ exports.schedulerContractId = "00muxgugn6pj2o0lcu7kxkvrs";
187
+ /** Stable IDs for tools in System Scheduler v1. */
188
+ exports.schedulerToolIds = {
189
+ schedule: "00muxgugn6t0o5s7239zg6bf5",
190
+ cancel: "00muxgugn6vqfxpppodqlgfhg",
191
+ list: "00muxgugn661g0qmpuwafrmsi4",
192
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peers-app/peers-sdk",
3
- "version": "0.25.17",
3
+ "version": "0.25.18",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/peers-app/peers-sdk.git"