@amalgm/live 0.2.81-preview.34546319610 → 0.2.81-preview.35170403408
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/dist/apply/content-results.d.ts +5 -4
- package/dist/apply/content-results.d.ts.map +1 -1
- package/dist/apply/content-results.js +3 -2
- package/dist/apply/content-results.js.map +1 -1
- package/dist/apply/contracts.d.ts +10 -2
- package/dist/apply/contracts.d.ts.map +1 -1
- package/dist/apply/contracts.js +1 -1
- package/dist/apply/contracts.js.map +1 -1
- package/dist/apply/plans.d.ts.map +1 -1
- package/dist/apply/plans.js +10 -5
- package/dist/apply/plans.js.map +1 -1
- package/dist/detection/record-proposal.d.ts +40 -13
- package/dist/detection/record-proposal.d.ts.map +1 -1
- package/dist/detection/record-proposal.js +85 -44
- package/dist/detection/record-proposal.js.map +1 -1
- package/dist/entities/types.d.ts +14 -6
- package/dist/entities/types.d.ts.map +1 -1
- package/dist/entities/types.js +16 -7
- package/dist/entities/types.js.map +1 -1
- package/dist/records/contracts.d.ts.map +1 -1
- package/dist/records/contracts.js +17 -4
- package/dist/records/contracts.js.map +1 -1
- package/dist/records/index.d.ts +1 -0
- package/dist/records/index.d.ts.map +1 -1
- package/dist/records/index.js +1 -0
- package/dist/records/index.js.map +1 -1
- package/dist/records/intentional.d.ts +49 -0
- package/dist/records/intentional.d.ts.map +1 -0
- package/dist/records/intentional.js +58 -0
- package/dist/records/intentional.js.map +1 -0
- package/dist/records/rail.d.ts +27 -5
- package/dist/records/rail.d.ts.map +1 -1
- package/dist/records/rail.js +96 -11
- package/dist/records/rail.js.map +1 -1
- package/dist/records/wire.d.ts +13 -1
- package/dist/records/wire.d.ts.map +1 -1
- package/dist/records/wire.js +17 -1
- package/dist/records/wire.js.map +1 -1
- package/dist/sharing/access.d.ts +11 -10
- package/dist/sharing/access.d.ts.map +1 -1
- package/dist/sharing/access.js +44 -19
- package/dist/sharing/access.js.map +1 -1
- package/dist/sharing/cli.d.ts +9 -9
- package/dist/sharing/cli.d.ts.map +1 -1
- package/dist/sharing/cli.js +35 -41
- package/dist/sharing/cli.js.map +1 -1
- package/dist/sharing/command-input.d.ts +5 -7
- package/dist/sharing/command-input.d.ts.map +1 -1
- package/dist/sharing/command-input.js +7 -17
- package/dist/sharing/command-input.js.map +1 -1
- package/dist/sharing/commands.d.ts +37 -0
- package/dist/sharing/commands.d.ts.map +1 -0
- package/dist/sharing/commands.js +164 -0
- package/dist/sharing/commands.js.map +1 -0
- package/dist/sharing/construct.d.ts +21 -0
- package/dist/sharing/construct.d.ts.map +1 -0
- package/dist/sharing/construct.js +40 -0
- package/dist/sharing/construct.js.map +1 -0
- package/dist/sharing/download.d.ts +31 -0
- package/dist/sharing/download.d.ts.map +1 -0
- package/dist/sharing/download.js +45 -0
- package/dist/sharing/download.js.map +1 -0
- package/dist/sharing/entity.d.ts +34 -0
- package/dist/sharing/entity.d.ts.map +1 -0
- package/dist/sharing/entity.js +51 -0
- package/dist/sharing/entity.js.map +1 -0
- package/dist/sharing/errors.d.ts +1 -1
- package/dist/sharing/errors.d.ts.map +1 -1
- package/dist/sharing/grants.d.ts +29 -0
- package/dist/sharing/grants.d.ts.map +1 -0
- package/dist/sharing/grants.js +103 -0
- package/dist/sharing/grants.js.map +1 -0
- package/dist/sharing/index.d.ts +23 -14
- package/dist/sharing/index.d.ts.map +1 -1
- package/dist/sharing/index.js +12 -9
- package/dist/sharing/index.js.map +1 -1
- package/dist/sharing/mcp.d.ts +13 -13
- package/dist/sharing/mcp.d.ts.map +1 -1
- package/dist/sharing/mcp.js +8 -8
- package/dist/sharing/mcp.js.map +1 -1
- package/dist/sharing/permissions.d.ts +33 -0
- package/dist/sharing/permissions.d.ts.map +1 -0
- package/dist/sharing/permissions.js +45 -0
- package/dist/sharing/permissions.js.map +1 -0
- package/dist/sharing/publish.d.ts +21 -0
- package/dist/sharing/publish.d.ts.map +1 -0
- package/dist/sharing/publish.js +42 -0
- package/dist/sharing/publish.js.map +1 -0
- package/dist/sharing/share.d.ts +32 -0
- package/dist/sharing/share.d.ts.map +1 -0
- package/dist/sharing/share.js +31 -0
- package/dist/sharing/share.js.map +1 -0
- package/dist/sharing/sharing.d.ts +39 -60
- package/dist/sharing/sharing.d.ts.map +1 -1
- package/dist/sharing/sharing.js +18 -196
- package/dist/sharing/sharing.js.map +1 -1
- package/dist/sharing/types.d.ts +83 -106
- package/dist/sharing/types.d.ts.map +1 -1
- package/dist/sharing/types.js +10 -7
- package/dist/sharing/types.js.map +1 -1
- package/dist/transfer/artifacts.d.ts +4 -1
- package/dist/transfer/artifacts.d.ts.map +1 -1
- package/dist/transfer/artifacts.js +9 -2
- package/dist/transfer/artifacts.js.map +1 -1
- package/dist/transfer/upload.d.ts.map +1 -1
- package/dist/transfer/upload.js +7 -5
- package/dist/transfer/upload.js.map +1 -1
- package/dist-cjs/apply/content-results.js +3 -2
- package/dist-cjs/apply/content-results.js.map +1 -1
- package/dist-cjs/apply/contracts.js.map +1 -1
- package/dist-cjs/apply/plans.js +10 -5
- package/dist-cjs/apply/plans.js.map +1 -1
- package/dist-cjs/detection/record-proposal.js +85 -43
- package/dist-cjs/detection/record-proposal.js.map +1 -1
- package/dist-cjs/entities/types.js +18 -8
- package/dist-cjs/entities/types.js.map +1 -1
- package/dist-cjs/records/contracts.js +15 -2
- package/dist-cjs/records/contracts.js.map +1 -1
- package/dist-cjs/records/index.js +1 -0
- package/dist-cjs/records/index.js.map +1 -1
- package/dist-cjs/records/intentional.js +61 -0
- package/dist-cjs/records/intentional.js.map +1 -0
- package/dist-cjs/records/rail.js +96 -11
- package/dist-cjs/records/rail.js.map +1 -1
- package/dist-cjs/records/wire.js +17 -1
- package/dist-cjs/records/wire.js.map +1 -1
- package/dist-cjs/sharing/access.js +47 -22
- package/dist-cjs/sharing/access.js.map +1 -1
- package/dist-cjs/sharing/cli.js +38 -44
- package/dist-cjs/sharing/cli.js.map +1 -1
- package/dist-cjs/sharing/command-input.js +6 -18
- package/dist-cjs/sharing/command-input.js.map +1 -1
- package/dist-cjs/sharing/commands.js +169 -0
- package/dist-cjs/sharing/commands.js.map +1 -0
- package/dist-cjs/sharing/construct.js +46 -0
- package/dist-cjs/sharing/construct.js.map +1 -0
- package/dist-cjs/sharing/download.js +48 -0
- package/dist-cjs/sharing/download.js.map +1 -0
- package/dist-cjs/sharing/entity.js +57 -0
- package/dist-cjs/sharing/entity.js.map +1 -0
- package/dist-cjs/sharing/grants.js +108 -0
- package/dist-cjs/sharing/grants.js.map +1 -0
- package/dist-cjs/sharing/index.js +25 -23
- package/dist-cjs/sharing/index.js.map +1 -1
- package/dist-cjs/sharing/mcp.js +8 -8
- package/dist-cjs/sharing/mcp.js.map +1 -1
- package/dist-cjs/sharing/permissions.js +47 -0
- package/dist-cjs/sharing/permissions.js.map +1 -0
- package/dist-cjs/sharing/publish.js +45 -0
- package/dist-cjs/sharing/publish.js.map +1 -0
- package/dist-cjs/sharing/share.js +36 -0
- package/dist-cjs/sharing/share.js.map +1 -0
- package/dist-cjs/sharing/sharing.js +18 -197
- package/dist-cjs/sharing/sharing.js.map +1 -1
- package/dist-cjs/sharing/types.js +12 -6
- package/dist-cjs/sharing/types.js.map +1 -1
- package/dist-cjs/transfer/artifacts.js +9 -2
- package/dist-cjs/transfer/artifacts.js.map +1 -1
- package/dist-cjs/transfer/upload.js +7 -5
- package/dist-cjs/transfer/upload.js.map +1 -1
- package/package.json +4 -4
- package/dist/sharing/command-surface.d.ts +0 -37
- package/dist/sharing/command-surface.d.ts.map +0 -1
- package/dist/sharing/command-surface.js +0 -170
- package/dist/sharing/command-surface.js.map +0 -1
- package/dist/sharing/pack.d.ts +0 -21
- package/dist/sharing/pack.d.ts.map +0 -1
- package/dist/sharing/pack.js +0 -130
- package/dist/sharing/pack.js.map +0 -1
- package/dist-cjs/sharing/command-surface.js +0 -175
- package/dist-cjs/sharing/command-surface.js.map +0 -1
- package/dist-cjs/sharing/pack.js +0 -138
- package/dist-cjs/sharing/pack.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/** Portable private-result construction for file and
|
|
1
|
+
/** Portable private-result construction for file, link, and construct adapters. */
|
|
2
2
|
import type { Sha256Hex } from '../entities/types.js';
|
|
3
|
-
import type { BinaryApplyPlan, LinkApplyPlan, TextApplyPlan } from './contracts.js';
|
|
3
|
+
import type { BinaryApplyPlan, ConstructApplyPlan, LinkApplyPlan, TextApplyPlan } from './contracts.js';
|
|
4
4
|
/**
|
|
5
5
|
* Construct text privately. The snapshot is mandatory truth. A delta is only
|
|
6
6
|
* a shortcut over the exact immutable base; reproduceTextChange falls back to
|
|
@@ -19,8 +19,9 @@ export interface BinaryApplySink {
|
|
|
19
19
|
/** Fsync/close and verify the staged whole without returning its bytes. */
|
|
20
20
|
seal(): Promise<BinaryApplySinkReceipt>;
|
|
21
21
|
}
|
|
22
|
-
/** Verify reusable
|
|
23
|
-
|
|
22
|
+
/** Verify reusable blocks while streaming them into private staging. A
|
|
23
|
+
* construct payload stages exactly like a binary file. */
|
|
24
|
+
export declare function prepareBinaryResult(plan: BinaryApplyPlan | ConstructApplyPlan, read: (index: number) => Promise<Uint8Array>, sink: BinaryApplySink, sha256Hex: Sha256Hex): Promise<BinaryApplySinkReceipt>;
|
|
24
25
|
/** A link result is only its literal UTF-8 target bytes. */
|
|
25
26
|
export declare function prepareLinkResult(plan: LinkApplyPlan, sha256Hex: Sha256Hex): string;
|
|
26
27
|
//# sourceMappingURL=content-results.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-results.d.ts","sourceRoot":"","sources":["../../src/apply/content-results.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"content-results.d.ts","sourceRoot":"","sources":["../../src/apply/content-results.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAInF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,aAAa,EACd,MAAM,gBAAgB,CAAC;AAcxB;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,UAAU,GAAG,IAAI,EAC5B,SAAS,EAAE,SAAS,GACnB,UAAU,CAYZ;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,2EAA2E;IAC3E,IAAI,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACzC;AAED;0DAC0D;AAC1D,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,eAAe,GAAG,kBAAkB,EAC1C,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,EAC5C,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CAKnF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Portable private-result construction for file and
|
|
1
|
+
/** Portable private-result construction for file, link, and construct adapters. */
|
|
2
2
|
import { reproduceTextChange } from '../detection/content.js';
|
|
3
3
|
import { utf8Encode } from '../entities/bytes.js';
|
|
4
4
|
const exactResult = (bytes, expected, sha256Hex, label) => {
|
|
@@ -26,7 +26,8 @@ export function prepareTextResult(plan, snapshot, exactBase, sha256Hex) {
|
|
|
26
26
|
delta: plan.strategy.delta,
|
|
27
27
|
}, verifiedSnapshot, sha256Hex);
|
|
28
28
|
}
|
|
29
|
-
/** Verify reusable
|
|
29
|
+
/** Verify reusable blocks while streaming them into private staging. A
|
|
30
|
+
* construct payload stages exactly like a binary file. */
|
|
30
31
|
export async function prepareBinaryResult(plan, read, sink, sha256Hex) {
|
|
31
32
|
for (const [index, expected] of plan.manifest.chunks.entries()) {
|
|
32
33
|
const chunk = await read(index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-results.js","sourceRoot":"","sources":["../../src/apply/content-results.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"content-results.js","sourceRoot":"","sources":["../../src/apply/content-results.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AASlD,MAAM,WAAW,GAAG,CAClB,KAAiB,EACjB,QAAgB,EAChB,SAAoB,EACpB,KAAa,EACD,EAAE;IACd,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAmB,EACnB,QAAoB,EACpB,SAA4B,EAC5B,SAAoB;IAEpB,MAAM,gBAAgB,GAAG,WAAW,CAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,qBAAqB,CACtE,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,gBAAgB,CAAC;IAC/D,OAAO,mBAAmB,CAAC,SAAS,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO;QACb,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;QACpD,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QAC/C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;KAC3B,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAcD;0DAC0D;AAC1D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA0C,EAC1C,IAA4C,EAC5C,IAAqB,EACrB,SAAoB;IAEpB,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;eAC7B,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,KAAK;eACnC,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,sBAAsB,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK;WACpC,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,iBAAiB,CAAC,IAAmB,EAAE,SAAoB;IACzE,WAAW,CACT,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,mBAAmB,CACvF,CAAC;IACF,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Portable contracts at the Inbox -> Apply -> Verify boundary. */
|
|
2
2
|
import type { CloudEntityRecord } from '../entities/cloud.js';
|
|
3
|
-
import { type EntityType, type Sha256Hex } from '../entities/types.js';
|
|
3
|
+
import { type ConstructType, type EntityType, type Sha256Hex } from '../entities/types.js';
|
|
4
4
|
import type { ChangeFacet, TextSplice } from '../detection/record-proposal.js';
|
|
5
5
|
import type { AcceptedEntityRecord } from '../records/contracts.js';
|
|
6
6
|
import type { ContentManifest } from '../contracts/content.js';
|
|
@@ -99,7 +99,15 @@ export interface LifecycleApplyPlan extends ApplyPlanBase {
|
|
|
99
99
|
readonly kind: 'lifecycle';
|
|
100
100
|
readonly status: 'trashed' | 'deleted';
|
|
101
101
|
}
|
|
102
|
-
|
|
102
|
+
/** A construct payload stages exactly like a binary file. The product's
|
|
103
|
+
* adapter reports `dependency` from guard while a UUID the payload names is
|
|
104
|
+
* absent locally, and times the reveal: the switch to the received version. */
|
|
105
|
+
export interface ConstructApplyPlan extends ApplyPlanBase {
|
|
106
|
+
readonly kind: ConstructType;
|
|
107
|
+
readonly artifact: TransferArtifact;
|
|
108
|
+
readonly manifest: ContentManifest;
|
|
109
|
+
}
|
|
110
|
+
export type EntityApplyPlan = TextApplyPlan | BinaryApplyPlan | LinkApplyPlan | StructureApplyPlan | ReferenceApplyPlan | RepositoryApplyPlan | LifecycleApplyPlan | ConstructApplyPlan;
|
|
103
111
|
export type ApplyGuard = {
|
|
104
112
|
readonly kind: 'safe';
|
|
105
113
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpE,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,4BAA4B,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,kEAAkE;AAClE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC3C;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EACb;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;KAAE,GAC7B;QACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;KAC5B,CAAC;CACL;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CACxC;AAED;;+EAE+E;AAC/E,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,eAAe,GACf,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE;AACrC;;wEAEwE;GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAC7D;;;;;0DAK0D;GACxD;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AACjE;;;qDAGqD;GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC1D;;;oDAGoD;GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE;AAC5B;;;2DAG2D;GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD,MAAM,MAAM,eAAe,GACvB;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACjC;IAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE7C,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC;gFAC4E;IAC5E,aAAa,CACX,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACrC;oEACgE;IAChE,wBAAwB,CACtB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,YAAY,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAC5C;;qDAEiD;IACjD,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,YAAY,CAAC,OAAO,CAAC,CAAC;IACzB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3D,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5D;sCACkC;IAClC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CAC5F;AAED,qFAAqF;AACrF,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,iGAAiG;IACjG,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,oFAAoF;IACpF,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAAC;IAC5D;;;;yEAIqE;IACrE,YAAY,CACV,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,eAAe,GAAG,cAAc,GACzC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG;QAAE,MAAM,IAAI,IAAI,CAAA;KAAE,CAAC;IACpE,MAAM,IAAI,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAcjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GAAG,iBAAiB,CAepB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC3C,iBAAiB,CAOnB"}
|
package/dist/apply/contracts.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Portable contracts at the Inbox -> Apply -> Verify boundary. */
|
|
2
|
-
import { isEntityType, UUID_PATTERN } from '../entities/types.js';
|
|
2
|
+
import { isEntityType, UUID_PATTERN, } from '../entities/types.js';
|
|
3
3
|
export const ENTITY_APPLY_INTENT_CONTRACT = 'amalgm.entity-apply-intent@1';
|
|
4
4
|
const HASH = /^[0-9a-f]{64}$/;
|
|
5
5
|
const PHASES = new Set(['declared', 'prepared', 'revealed']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/apply/contracts.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EACL,YAAY,EACZ,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAM9B,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAA8B,CAAC;AA8P3E,MAAM,IAAI,GAAG,gBAAgB,CAAC;AAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/E,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,KAAK,EAAW,EAAE,CAC5D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,IAAI,MAAM,CAAC,QAAQ,KAAK,4BAA4B;WAC/C,CAAC,MAAM,CAAC,WAAW;WACnB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;WACnC,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;WAC9B,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;WACvC,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC;WAChD,CAAC,MAAM,CAAC,gBAAgB;WACxB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;WAC9B,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;WAChC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;WACzB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAMjC;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,4BAA4B;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAC5C,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QACzC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;QAC3C,KAAK,EAAE,UAAmB;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAyB,EACzB,KAA4C;IAE5C,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK;WAC/B,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC;WACrD,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,KAAK,OAAO,KAAK,EAAE,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/apply/plans.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAK9E,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/apply/plans.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAK9E,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AASpE,OAAO,KAAK,EAGV,eAAe,EACf,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AA6I7E;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,eAAe,CAE5F;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,SAAS,GACnB,eAAe,CAiEjB"}
|
package/dist/apply/plans.js
CHANGED
|
@@ -56,17 +56,18 @@ const textPlan = (base, replay, cargo) => {
|
|
|
56
56
|
: Object.freeze({ kind: 'snapshot' }),
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
/** Binary files and constructs both replay as one exact content manifest. */
|
|
60
|
+
const manifestPlan = (base, kind, replay, cargo) => {
|
|
60
61
|
const artifact = requireArtifact(base.target, cargo);
|
|
61
62
|
const manifest = checkContentManifest(replay.manifest, base.target.payloadVersion);
|
|
62
|
-
if (replay.kind !==
|
|
63
|
+
if (replay.kind !== kind
|
|
63
64
|
|| replay.resultPayloadVersion !== base.target.payloadVersion
|
|
64
65
|
|| !manifest.ok) {
|
|
65
|
-
throw new Error(
|
|
66
|
+
throw new Error(`${kind} Apply replay does not describe its complete result manifest`);
|
|
66
67
|
}
|
|
67
68
|
return Object.freeze({
|
|
68
69
|
...base,
|
|
69
|
-
kind
|
|
70
|
+
kind,
|
|
70
71
|
artifact,
|
|
71
72
|
manifest: Object.freeze({
|
|
72
73
|
...manifest.value,
|
|
@@ -167,7 +168,11 @@ export function planSelectedEntityApply(work, selected, sha256Hex) {
|
|
|
167
168
|
case 'file.text':
|
|
168
169
|
return textPlan(common, accepted.change.replay, accepted.change.cargo);
|
|
169
170
|
case 'file.binary':
|
|
170
|
-
|
|
171
|
+
case 'agent':
|
|
172
|
+
case 'automation':
|
|
173
|
+
case 'app':
|
|
174
|
+
case 'tool':
|
|
175
|
+
return manifestPlan(common, target.type, accepted.change.replay, accepted.change.cargo);
|
|
171
176
|
case 'link':
|
|
172
177
|
return linkPlan(common, accepted.change.replay, accepted.change.cargo, sha256Hex);
|
|
173
178
|
case 'repo.git':
|
package/dist/apply/plans.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/apply/plans.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/apply/plans.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The exact change proposal Record accepts, from either of its two authors.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* complete result and replay instruction so no later rail has to
|
|
7
|
-
*
|
|
4
|
+
* Detect authors one for files from settled filesystem truth. A product
|
|
5
|
+
* authors one for a construct from its own deliberate act. Both carry the
|
|
6
|
+
* complete result and the exact replay instruction so no later rail has to
|
|
7
|
+
* rediscover truth. A proposal is not yet a durable mutation: Record assigns
|
|
8
|
+
* one mutation id, appends it atomically, and then Send publishes that row.
|
|
8
9
|
*/
|
|
9
10
|
import { type CloudEntityRecord } from '../entities/cloud.js';
|
|
11
|
+
import { type ConstructType } from '../entities/types.js';
|
|
10
12
|
import { type ContentManifest } from '../contracts/content.js';
|
|
11
13
|
import { type TransferArtifact } from '../transfer/artifacts.js';
|
|
12
|
-
export declare const DETECTED_CHANGE_CONTRACT = "amalgm.detected-change-proposal@
|
|
13
|
-
|
|
14
|
+
export declare const DETECTED_CHANGE_CONTRACT = "amalgm.detected-change-proposal@3";
|
|
15
|
+
/** The predecessor contract, still accepted on read. It carries no `origin`
|
|
16
|
+
* because it predates constructs: every @2 change is a detected file change.
|
|
17
|
+
* Runtimes already in the field write @2 until they take the next release,
|
|
18
|
+
* so an authority that refuses it cannot accept their records at all. */
|
|
19
|
+
export declare const DETECTED_CHANGE_CONTRACT_V2 = "amalgm.detected-change-proposal@2";
|
|
20
|
+
export type ChangeOrigin = 'detected' | 'intentional';
|
|
21
|
+
export type ChangeFacet = 'create' | 'rename' | 'move' | 'retype' | 'content' | 'mode' | 'trash' | 'restore' | 'delete';
|
|
14
22
|
export interface StructureReplay {
|
|
15
23
|
readonly kind: 'structure';
|
|
16
24
|
}
|
|
@@ -47,12 +55,19 @@ export interface RepositoryReplay {
|
|
|
47
55
|
readonly parentTransportVersion: string | null;
|
|
48
56
|
readonly transportVersion: string;
|
|
49
57
|
}
|
|
50
|
-
|
|
58
|
+
/** A construct payload replays exactly like a binary file: one manifest. */
|
|
59
|
+
export interface ConstructReplay {
|
|
60
|
+
readonly kind: ConstructType;
|
|
61
|
+
readonly resultPayloadVersion: string;
|
|
62
|
+
readonly manifest: ContentManifest;
|
|
63
|
+
}
|
|
64
|
+
export type ReplayInstruction = StructureReplay | TextReplay | BinaryReplay | LinkReplay | RepositoryReplay | ConstructReplay;
|
|
51
65
|
export interface DetectedChangeProposal {
|
|
52
66
|
readonly contract: typeof DETECTED_CHANGE_CONTRACT;
|
|
67
|
+
readonly origin: ChangeOrigin;
|
|
53
68
|
/** The permanent UUID whose ordered rail carries this proposal. */
|
|
54
69
|
readonly entityId: string;
|
|
55
|
-
/** Exact logical state
|
|
70
|
+
/** Exact logical state the author read. Lineage only; never an acceptance gate. */
|
|
56
71
|
readonly basedOnState: string | null;
|
|
57
72
|
/** Complete exact result, not a partial update. */
|
|
58
73
|
readonly result: CloudEntityRecord;
|
|
@@ -68,11 +83,23 @@ export interface DetectedChangeInput {
|
|
|
68
83
|
/** Required when Detection is explicitly authorized to propose lifecycle. */
|
|
69
84
|
readonly lifecycleAuthorization?: 'trash' | 'restore';
|
|
70
85
|
}
|
|
86
|
+
/** A product's deliberate act on a construct: the complete result it now
|
|
87
|
+
* holds, and the replay for its payload when that payload changed. */
|
|
88
|
+
export interface IntentionalChangeInput {
|
|
89
|
+
readonly base: CloudEntityRecord | null;
|
|
90
|
+
readonly result: CloudEntityRecord;
|
|
91
|
+
readonly replay: ReplayInstruction;
|
|
92
|
+
}
|
|
71
93
|
/**
|
|
72
|
-
*
|
|
73
|
-
* version.
|
|
74
|
-
*
|
|
75
|
-
* Checkpoint IDs did not move.
|
|
94
|
+
* Detect's proposal for physical ground, or null when settled truth has the
|
|
95
|
+
* same logical version. Detect never proposes permanent deletion and never
|
|
96
|
+
* sees a construct: constructs bypass Watch and Detect by law.
|
|
76
97
|
*/
|
|
77
98
|
export declare function detectedChangeProposal(input: DetectedChangeInput): DetectedChangeProposal | null;
|
|
99
|
+
/**
|
|
100
|
+
* A product's proposal for a construct it changed on purpose. Create,
|
|
101
|
+
* content, rename, trash, restore, and delete are all deliberate acts here,
|
|
102
|
+
* so none needs a separate authorization. Returns null when nothing moved.
|
|
103
|
+
*/
|
|
104
|
+
export declare function intentionalChangeProposal(input: IntentionalChangeInput): DetectedChangeProposal | null;
|
|
78
105
|
//# sourceMappingURL=record-proposal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-proposal.d.ts","sourceRoot":"","sources":["../../src/detection/record-proposal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"record-proposal.d.ts","sourceRoot":"","sources":["../../src/detection/record-proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The exact change proposal Record accepts, from either of its two authors.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* complete result and replay instruction so no later rail has to
|
|
7
|
-
*
|
|
4
|
+
* Detect authors one for files from settled filesystem truth. A product
|
|
5
|
+
* authors one for a construct from its own deliberate act. Both carry the
|
|
6
|
+
* complete result and the exact replay instruction so no later rail has to
|
|
7
|
+
* rediscover truth. A proposal is not yet a durable mutation: Record assigns
|
|
8
|
+
* one mutation id, appends it atomically, and then Send publishes that row.
|
|
8
9
|
*/
|
|
9
10
|
import { assertRecord, } from '../entities/cloud.js';
|
|
10
|
-
import { DERIVED_PAYLOAD } from '../entities/types.js';
|
|
11
|
+
import { CONSTRUCT_TYPES, DERIVED_PAYLOAD } from '../entities/types.js';
|
|
11
12
|
import { checkContentManifest } from '../contracts/content.js';
|
|
12
|
-
import { artifactForRecord } from '../transfer/artifacts.js';
|
|
13
|
-
export const DETECTED_CHANGE_CONTRACT = 'amalgm.detected-change-proposal@
|
|
13
|
+
import { artifactForRecord, artifactKindForType } from '../transfer/artifacts.js';
|
|
14
|
+
export const DETECTED_CHANGE_CONTRACT = 'amalgm.detected-change-proposal@3';
|
|
15
|
+
/** The predecessor contract, still accepted on read. It carries no `origin`
|
|
16
|
+
* because it predates constructs: every @2 change is a detected file change.
|
|
17
|
+
* Runtimes already in the field write @2 until they take the next release,
|
|
18
|
+
* so an authority that refuses it cannot accept their records at all. */
|
|
19
|
+
export const DETECTED_CHANGE_CONTRACT_V2 = 'amalgm.detected-change-proposal@2';
|
|
14
20
|
const HASH = /^[0-9a-f]{64}$/;
|
|
15
21
|
const facetsOf = (base, result) => {
|
|
16
22
|
if (base === null)
|
|
@@ -30,7 +36,9 @@ const facetsOf = (base, result) => {
|
|
|
30
36
|
if (base.type === result.type && base.fileMode !== result.fileMode)
|
|
31
37
|
facets.push('mode');
|
|
32
38
|
if (base.status !== result.status) {
|
|
33
|
-
if (result.status === '
|
|
39
|
+
if (result.status === 'deleted')
|
|
40
|
+
facets.push('delete');
|
|
41
|
+
else if (result.status === 'trashed')
|
|
34
42
|
facets.push('trash');
|
|
35
43
|
else if (base.status === 'trashed' && result.status === 'active')
|
|
36
44
|
facets.push('restore');
|
|
@@ -39,20 +47,26 @@ const facetsOf = (base, result) => {
|
|
|
39
47
|
};
|
|
40
48
|
const contentRequired = (base, result, facets) => result.status === 'active'
|
|
41
49
|
&& (base === null || facets.includes('content') || facets.includes('retype'))
|
|
42
|
-
&&
|
|
50
|
+
&& artifactKindForType(result.type) !== null;
|
|
51
|
+
const validateManifestReplay = (replay, result) => {
|
|
52
|
+
const manifest = checkContentManifest(replay.manifest, result.payloadVersion);
|
|
53
|
+
if (!manifest.ok || replay.resultPayloadVersion !== result.payloadVersion) {
|
|
54
|
+
throw new Error(`${replay.kind} replay does not name its complete result manifest`);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
43
57
|
const validateReplay = (base, result, facets, replay) => {
|
|
44
58
|
const needsContent = contentRequired(base, result, facets);
|
|
45
59
|
if (!needsContent) {
|
|
46
60
|
if (replay.kind !== 'structure') {
|
|
47
|
-
throw new Error('a structural-only
|
|
61
|
+
throw new Error('a structural-only change must use structure replay');
|
|
48
62
|
}
|
|
49
63
|
return;
|
|
50
64
|
}
|
|
51
65
|
if (replay.kind !== result.type) {
|
|
52
|
-
throw new Error(
|
|
66
|
+
throw new Error(`${result.type} content cannot use ${replay.kind} replay`);
|
|
53
67
|
}
|
|
54
68
|
if (result.payloadVersion === null) {
|
|
55
|
-
throw new Error(
|
|
69
|
+
throw new Error(`${result.type} content has no result payload version`);
|
|
56
70
|
}
|
|
57
71
|
switch (replay.kind) {
|
|
58
72
|
case 'file.text':
|
|
@@ -75,13 +89,13 @@ const validateReplay = (base, result, facets, replay) => {
|
|
|
75
89
|
throw new Error('text replay has an invalid byte splice');
|
|
76
90
|
}
|
|
77
91
|
break;
|
|
78
|
-
case 'file.binary':
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
92
|
+
case 'file.binary':
|
|
93
|
+
case 'agent':
|
|
94
|
+
case 'automation':
|
|
95
|
+
case 'app':
|
|
96
|
+
case 'tool':
|
|
97
|
+
validateManifestReplay(replay, result);
|
|
83
98
|
break;
|
|
84
|
-
}
|
|
85
99
|
case 'link':
|
|
86
100
|
if (typeof replay.target !== 'string'
|
|
87
101
|
|| replay.resultPayloadVersion !== result.payloadVersion
|
|
@@ -104,25 +118,20 @@ const validateReplay = (base, result, facets, replay) => {
|
|
|
104
118
|
}
|
|
105
119
|
};
|
|
106
120
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
121
|
+
* The one validator behind both builders. Returns null when base and result
|
|
122
|
+
* name the same logical version, so an unchanged construct or file produces
|
|
123
|
+
* no record. Facet derivation, replay validation, and cargo selection are
|
|
124
|
+
* identical whichever author brought the transition.
|
|
111
125
|
*/
|
|
112
|
-
|
|
113
|
-
const result = assertRecord(input.result);
|
|
114
|
-
const base = input.base === null ? null : assertRecord(input.base);
|
|
126
|
+
const changeProposal = (origin, base, result, replay, authorizeLifecycle) => {
|
|
115
127
|
if (base !== null && base.uuid !== result.uuid) {
|
|
116
|
-
throw new Error('a
|
|
128
|
+
throw new Error('a transition cannot change entity UUID');
|
|
117
129
|
}
|
|
118
130
|
if (base === null && result.status !== 'active') {
|
|
119
|
-
throw new Error('
|
|
131
|
+
throw new Error('a new entity must begin active');
|
|
120
132
|
}
|
|
121
133
|
if (base?.status === 'deleted') {
|
|
122
|
-
throw new Error('
|
|
123
|
-
}
|
|
124
|
-
if (result.status === 'deleted') {
|
|
125
|
-
throw new Error('Detection cannot propose permanent deletion; deletion is an explicit lifecycle operation');
|
|
134
|
+
throw new Error('a change cannot resurrect a deleted tombstone');
|
|
126
135
|
}
|
|
127
136
|
if (base?.version === result.version && base.transportVersion === result.transportVersion) {
|
|
128
137
|
const sameState = base.type === result.type
|
|
@@ -143,27 +152,59 @@ export function detectedChangeProposal(input) {
|
|
|
143
152
|
// that could erase a sibling created by another machine.
|
|
144
153
|
return null;
|
|
145
154
|
}
|
|
146
|
-
throw new Error('
|
|
147
|
-
}
|
|
148
|
-
if (facets.includes('trash') && input.lifecycleAuthorization !== 'trash') {
|
|
149
|
-
throw new Error('filesystem absence is not authority to Trash an entity');
|
|
150
|
-
}
|
|
151
|
-
if (facets.includes('restore') && input.lifecycleAuthorization !== 'restore') {
|
|
152
|
-
throw new Error('restoring an entity requires explicit lifecycle authority');
|
|
155
|
+
throw new Error('records disagree without a named logical facet');
|
|
153
156
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
157
|
+
authorizeLifecycle(facets);
|
|
158
|
+
validateReplay(base, result, facets, replay);
|
|
159
|
+
const artifact = replay.kind === 'structure' ? null : artifactForRecord(result);
|
|
160
|
+
if (replay.kind !== 'structure' && artifact === null) {
|
|
161
|
+
throw new Error(`${result.type} replay has no transferable artifact`);
|
|
158
162
|
}
|
|
159
163
|
return Object.freeze({
|
|
160
164
|
contract: DETECTED_CHANGE_CONTRACT,
|
|
165
|
+
origin,
|
|
161
166
|
entityId: result.uuid,
|
|
162
167
|
basedOnState: base?.version ?? null,
|
|
163
168
|
result,
|
|
164
169
|
facets: Object.freeze(facets),
|
|
165
|
-
replay
|
|
170
|
+
replay,
|
|
166
171
|
cargo: Object.freeze(artifact === null ? [] : [artifact]),
|
|
167
172
|
});
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Detect's proposal for physical ground, or null when settled truth has the
|
|
176
|
+
* same logical version. Detect never proposes permanent deletion and never
|
|
177
|
+
* sees a construct: constructs bypass Watch and Detect by law.
|
|
178
|
+
*/
|
|
179
|
+
export function detectedChangeProposal(input) {
|
|
180
|
+
const result = assertRecord(input.result);
|
|
181
|
+
const base = input.base === null ? null : assertRecord(input.base);
|
|
182
|
+
if (CONSTRUCT_TYPES.has(result.type) || (base !== null && CONSTRUCT_TYPES.has(base.type))) {
|
|
183
|
+
throw new Error(`Detection cannot propose a ${result.type}; constructs bypass Detect`);
|
|
184
|
+
}
|
|
185
|
+
if (result.status === 'deleted') {
|
|
186
|
+
throw new Error('Detection cannot propose permanent deletion; deletion is an explicit lifecycle operation');
|
|
187
|
+
}
|
|
188
|
+
return changeProposal('detected', base, result, input.replay, (facets) => {
|
|
189
|
+
if (facets.includes('trash') && input.lifecycleAuthorization !== 'trash') {
|
|
190
|
+
throw new Error('filesystem absence is not authority to Trash an entity');
|
|
191
|
+
}
|
|
192
|
+
if (facets.includes('restore') && input.lifecycleAuthorization !== 'restore') {
|
|
193
|
+
throw new Error('restoring an entity requires explicit lifecycle authority');
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* A product's proposal for a construct it changed on purpose. Create,
|
|
199
|
+
* content, rename, trash, restore, and delete are all deliberate acts here,
|
|
200
|
+
* so none needs a separate authorization. Returns null when nothing moved.
|
|
201
|
+
*/
|
|
202
|
+
export function intentionalChangeProposal(input) {
|
|
203
|
+
const result = assertRecord(input.result);
|
|
204
|
+
const base = input.base === null ? null : assertRecord(input.base);
|
|
205
|
+
if (!CONSTRUCT_TYPES.has(result.type)) {
|
|
206
|
+
throw new Error(`an intentional change cannot propose a ${result.type}; files travel through Detect`);
|
|
207
|
+
}
|
|
208
|
+
return changeProposal('intentional', base, result, input.replay, () => undefined);
|
|
168
209
|
}
|
|
169
210
|
//# sourceMappingURL=record-proposal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-proposal.js","sourceRoot":"","sources":["../../src/detection/record-proposal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"record-proposal.js","sourceRoot":"","sources":["../../src/detection/record-proposal.ts"],"names":[],"mappings":"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"}
|