@wjarka/cezarion 0.11.0-pr34.57 → 0.11.0-pr37.59
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.
|
@@ -28,6 +28,20 @@ export interface ManifestLike {
|
|
|
28
28
|
* a package up is one line in ITS manifest and no change to the release code.
|
|
29
29
|
*/
|
|
30
30
|
export declare function isPublishable(pkg: ManifestLike): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Relative dirs of every manifest a release stamps, keyed as `ReleaseManifests`.
|
|
33
|
+
*
|
|
34
|
+
* The completeness test walks the workspace root's `workspaces` array against these values, so a
|
|
35
|
+
* new workspace that is not listed here fails CI rather than shipping a bump `npm ci` cannot
|
|
36
|
+
* install. `alias` is not a workspace (it lives next to `packages/`) and is the one extra entry.
|
|
37
|
+
*/
|
|
38
|
+
export declare const RELEASE_MANIFEST_DIRS: {
|
|
39
|
+
readonly contract: 'packages/contract';
|
|
40
|
+
readonly apiClient: 'packages/api-client';
|
|
41
|
+
readonly cezar: 'packages/cezar';
|
|
42
|
+
readonly web: 'packages/web';
|
|
43
|
+
readonly alias: 'alias-cezarion';
|
|
44
|
+
};
|
|
31
45
|
/**
|
|
32
46
|
* Every manifest a release stamps.
|
|
33
47
|
*
|
|
@@ -35,7 +49,8 @@ export declare function isPublishable(pkg: ManifestLike): boolean;
|
|
|
35
49
|
* the one before it: the alias is a bin-shim over the service, and the service (from the phase
|
|
36
50
|
* where it stops merely testing against the client and starts importing it) depends on the
|
|
37
51
|
* api-client. Publishing the dependent first would briefly advertise a version of its
|
|
38
|
-
* dependency that does not exist on the registry yet.
|
|
52
|
+
* dependency that does not exist on the registry yet. Private members of the set are still
|
|
53
|
+
* stamped — they are simply skipped at publish time.
|
|
39
54
|
*/
|
|
40
55
|
export interface ReleaseManifests {
|
|
41
56
|
/**
|
|
@@ -51,6 +66,12 @@ export interface ReleaseManifests {
|
|
|
51
66
|
apiClient: ManifestLike;
|
|
52
67
|
/** The published service + CLI. */
|
|
53
68
|
cezar: ManifestLike;
|
|
69
|
+
/**
|
|
70
|
+
* The cockpit SPA. `private`, so never published, but it consumes the api-client and the
|
|
71
|
+
* service, and a bump that leaves its ranges on the previous version makes `npm ci` on the
|
|
72
|
+
* version-bump branch fail the same way an unstamped contract does.
|
|
73
|
+
*/
|
|
74
|
+
web: ManifestLike;
|
|
54
75
|
/** The unscoped bin alias, so `npx cezarion` works. */
|
|
55
76
|
alias: ManifestLike;
|
|
56
77
|
}
|
|
@@ -68,10 +89,11 @@ export declare function pinDependency(pkg: ManifestLike, depName: string, range:
|
|
|
68
89
|
/**
|
|
69
90
|
* Stamp every manifest to `version` and re-pin the intra-release dependencies.
|
|
70
91
|
*
|
|
71
|
-
*
|
|
92
|
+
* Pins, all derived from the manifests rather than hardcoded:
|
|
72
93
|
* - the alias → the service, so `npx <alias>@<v>` runs the matching CLI;
|
|
73
|
-
* - the service → the api-client, so a published service can never resolve
|
|
74
|
-
* was not released with
|
|
94
|
+
* - the service → the api-client (and the contract), so a published service can never resolve
|
|
95
|
+
* a client build it was not released with;
|
|
96
|
+
* - the cockpit → the api-client and the service, so a bump branch stays `npm ci`-able.
|
|
75
97
|
*
|
|
76
98
|
* The alias also inherits `repository`/`homepage`/`bugs` from the service manifest: we publish
|
|
77
99
|
* with `--provenance`, and npm rejects (E422) any manifest whose `repository.url` does not
|
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
export function isPublishable(pkg) {
|
|
21
21
|
return pkg.private !== true;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Relative dirs of every manifest a release stamps, keyed as `ReleaseManifests`.
|
|
25
|
+
*
|
|
26
|
+
* The completeness test walks the workspace root's `workspaces` array against these values, so a
|
|
27
|
+
* new workspace that is not listed here fails CI rather than shipping a bump `npm ci` cannot
|
|
28
|
+
* install. `alias` is not a workspace (it lives next to `packages/`) and is the one extra entry.
|
|
29
|
+
*/
|
|
30
|
+
export const RELEASE_MANIFEST_DIRS = {
|
|
31
|
+
contract: 'packages/contract',
|
|
32
|
+
apiClient: 'packages/api-client',
|
|
33
|
+
cezar: 'packages/cezar',
|
|
34
|
+
web: 'packages/web',
|
|
35
|
+
alias: 'alias-cezarion',
|
|
36
|
+
};
|
|
23
37
|
/**
|
|
24
38
|
* Rewrite `pkg`'s range for `depName`, in whichever dependency section already declares it.
|
|
25
39
|
*
|
|
@@ -41,10 +55,11 @@ export function pinDependency(pkg, depName, range) {
|
|
|
41
55
|
/**
|
|
42
56
|
* Stamp every manifest to `version` and re-pin the intra-release dependencies.
|
|
43
57
|
*
|
|
44
|
-
*
|
|
58
|
+
* Pins, all derived from the manifests rather than hardcoded:
|
|
45
59
|
* - the alias → the service, so `npx <alias>@<v>` runs the matching CLI;
|
|
46
|
-
* - the service → the api-client, so a published service can never resolve
|
|
47
|
-
* was not released with
|
|
60
|
+
* - the service → the api-client (and the contract), so a published service can never resolve
|
|
61
|
+
* a client build it was not released with;
|
|
62
|
+
* - the cockpit → the api-client and the service, so a bump branch stays `npm ci`-able.
|
|
48
63
|
*
|
|
49
64
|
* The alias also inherits `repository`/`homepage`/`bugs` from the service manifest: we publish
|
|
50
65
|
* with `--provenance`, and npm rejects (E422) any manifest whose `repository.url` does not
|
|
@@ -52,7 +67,7 @@ export function pinDependency(pkg, depName, range) {
|
|
|
52
67
|
* service's — already correct, and being a git URL, unaffected by any npm-name rename.
|
|
53
68
|
*/
|
|
54
69
|
export function stampManifestSet(manifests, version, pin) {
|
|
55
|
-
const { contract, apiClient, cezar, alias } = manifests;
|
|
70
|
+
const { contract, apiClient, cezar, web, alias } = manifests;
|
|
56
71
|
const range = pin(version);
|
|
57
72
|
const inherited = {};
|
|
58
73
|
for (const field of ['repository', 'homepage', 'bugs']) {
|
|
@@ -63,6 +78,7 @@ export function stampManifestSet(manifests, version, pin) {
|
|
|
63
78
|
contract: { ...contract, version },
|
|
64
79
|
apiClient: pinDependency({ ...apiClient, version }, contract.name, range),
|
|
65
80
|
cezar: pinDependency(pinDependency({ ...cezar, version }, apiClient.name, range), contract.name, range),
|
|
81
|
+
web: pinDependency(pinDependency({ ...web, version }, apiClient.name, range), cezar.name, range),
|
|
66
82
|
alias: {
|
|
67
83
|
...pinDependency({ ...alias, ...inherited, version }, cezar.name, range),
|
|
68
84
|
// The alias exists only to depend on the service — an unpinned or missing entry would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../src/release/manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB;IAC7C,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;AAC9B,CAAC;
|
|
1
|
+
{"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../src/release/manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB;IAC7C,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,SAAS,EAAE,qBAAqB;IAChC,KAAK,EAAE,gBAAgB;IACvB,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,gBAAgB;CACf,CAAC;AAuCX;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,GAAiB,EAAE,OAAe,EAAE,KAAa;IAC7E,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAU,CAAC;IAClF,MAAM,GAAG,GAAiB,EAAE,GAAG,GAAG,EAAE,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAuC,CAAC;QAChE,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI;YAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA2B,EAC3B,OAAe,EACf,GAAa;IAEb,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAE3B,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAU,EAAE,CAAC;QAChE,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE;QAClC,SAAS,EAAE,aAAa,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;QACzE,KAAK,EAAE,aAAa,CAClB,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAC3D,QAAQ,CAAC,IAAI,EACb,KAAK,CACN;QACD,GAAG,EAAE,aAAa,CAChB,aAAa,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EACzD,KAAK,CAAC,IAAI,EACV,KAAK,CACN;QACD,KAAK,EAAE;YACL,GAAG,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;YACxE,sFAAsF;YACtF,kFAAkF;YAClF,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE;SAC7D;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wjarka/cezarion",
|
|
3
|
-
"version": "0.11.0-
|
|
3
|
+
"version": "0.11.0-pr37.59",
|
|
4
4
|
"description": "Local cockpit for running and tracking AI agent tasks in your repo. Uses your logged-in `claude` CLI and `gh` — zero config, zero database.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"zod": "^4.4.3"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@open-mercato/cezar-api-client": "0.11.0-
|
|
54
|
-
"@open-mercato/cezar-contract": "0.11.0-
|
|
53
|
+
"@open-mercato/cezar-api-client": "0.11.0-pr37.59",
|
|
54
|
+
"@open-mercato/cezar-contract": "0.11.0-pr37.59",
|
|
55
55
|
"@types/node": "^20.14.0",
|
|
56
56
|
"@types/ws": "^8.18.1",
|
|
57
57
|
"esbuild": "^0.28.1",
|