@guuey/config 0.8.1 → 0.9.0
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/loader.d.ts +3 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +7 -2
- package/dist/schema.d.ts +79 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +82 -1
- package/package.json +1 -1
package/dist/loader.d.ts
CHANGED
|
@@ -13,7 +13,9 @@ export declare const DEFAULT_FIND_MAX_DEPTH = 8;
|
|
|
13
13
|
export declare function findGuueyJson(startDir?: string, maxDepth?: number): string | null;
|
|
14
14
|
/**
|
|
15
15
|
* Read + parse `guuey.json` from `path`. Throws if the file is missing,
|
|
16
|
-
* unreadable, malformed JSON,
|
|
16
|
+
* unreadable, malformed JSON, declares a `schema` version this package
|
|
17
|
+
* cannot honor (`GuueyJsonSchemaError` — `SCHEMA_TOO_NEW` / `SCHEMA_UNSUPPORTED`,
|
|
18
|
+
* see `assertSupportedGuueyJsonSchema`), or fails schema validation.
|
|
17
19
|
*
|
|
18
20
|
* Does NOT resolve `agent.systemPrompt.file` references. Use
|
|
19
21
|
* {@link loadGuueyJson} for file resolution.
|
package/dist/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAuBA,OAAO,EAEL,WAAW,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAuBA,OAAO,EAEL,WAAW,EAGZ,MAAM,aAAa,CAAC;AAErB,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,GAAE,MAAsB,EAChC,QAAQ,GAAE,MAA+B,GACxC,MAAM,GAAG,IAAI,CAUf;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAgB3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAIvE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,GAAG,EAAE,WAAW,CAAC;IACjB;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAI7D;AAyCD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAM1E"}
|
package/dist/loader.js
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
23
23
|
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
24
|
-
import { GUUEY_JSON_FILENAME, parseGuueyJson, } from './schema.js';
|
|
24
|
+
import { GUUEY_JSON_FILENAME, assertSupportedGuueyJsonSchema, parseGuueyJson, } from './schema.js';
|
|
25
25
|
/** How many parent directories `findGuueyJson` will walk by default. */
|
|
26
26
|
export const DEFAULT_FIND_MAX_DEPTH = 8;
|
|
27
27
|
/**
|
|
@@ -48,7 +48,9 @@ export function findGuueyJson(startDir = process.cwd(), maxDepth = DEFAULT_FIND_
|
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* Read + parse `guuey.json` from `path`. Throws if the file is missing,
|
|
51
|
-
* unreadable, malformed JSON,
|
|
51
|
+
* unreadable, malformed JSON, declares a `schema` version this package
|
|
52
|
+
* cannot honor (`GuueyJsonSchemaError` — `SCHEMA_TOO_NEW` / `SCHEMA_UNSUPPORTED`,
|
|
53
|
+
* see `assertSupportedGuueyJsonSchema`), or fails schema validation.
|
|
52
54
|
*
|
|
53
55
|
* Does NOT resolve `agent.systemPrompt.file` references. Use
|
|
54
56
|
* {@link loadGuueyJson} for file resolution.
|
|
@@ -66,6 +68,9 @@ export function readGuueyJsonFile(path) {
|
|
|
66
68
|
const msg = err instanceof Error ? err.message : String(err);
|
|
67
69
|
throw new Error(`guuey.json at ${path} is not valid JSON: ${msg}`);
|
|
68
70
|
}
|
|
71
|
+
// Version gate BEFORE the shape parse: a too-new document must say
|
|
72
|
+
// "upgrade", not `at "schema": expected "1"` (guuey#248 b2).
|
|
73
|
+
assertSupportedGuueyJsonSchema(json);
|
|
69
74
|
return parseGuueyJson(json);
|
|
70
75
|
}
|
|
71
76
|
/**
|
package/dist/schema.d.ts
CHANGED
|
@@ -41,6 +41,85 @@ import { z } from 'zod';
|
|
|
41
41
|
import { type GuueyAgent } from './agent.js';
|
|
42
42
|
import { type GuueyApp } from './app.js';
|
|
43
43
|
import { type GuueyGguiSection } from './ggui.js';
|
|
44
|
+
/**
|
|
45
|
+
* The ONE `guuey.json` `schema` value this package understands — the
|
|
46
|
+
* schema-version stance (guuey#248 b2):
|
|
47
|
+
*
|
|
48
|
+
* - The root `schema` is a decimal integer string (`"1"`, `"2"`, …), bumped
|
|
49
|
+
* only on a change that an older reader cannot interpret correctly.
|
|
50
|
+
* - A document declaring a NEWER schema than this constant is refused
|
|
51
|
+
* everywhere: the CLI (`SCHEMA_TOO_NEW` — upgrade `@guuey/cli`) and the
|
|
52
|
+
* reconcile / deploy-trigger APIs (`400 SCHEMA_UNSUPPORTED`). Never
|
|
53
|
+
* "best-effort parse what we recognize" — the unknown half is precisely
|
|
54
|
+
* the half that matters.
|
|
55
|
+
* - A document declaring an OLDER schema is accepted only when a migration
|
|
56
|
+
* to this version exists. Today there is exactly one version and no
|
|
57
|
+
* migrations, so the rule collapses to equal-or-refuse; when `"2"` ships,
|
|
58
|
+
* the `1 → 2` migration lands in this package and BOTH sides (CLI + API)
|
|
59
|
+
* pick it up through {@link classifyGuueyJsonSchema}.
|
|
60
|
+
*
|
|
61
|
+
* The CLI and the platform API compare against the SAME constant (both
|
|
62
|
+
* consume this package), so "the CLI accepted it but the API refused it"
|
|
63
|
+
* can only ever mean a version skew between the two — which is exactly the
|
|
64
|
+
* message the API's refusal names.
|
|
65
|
+
*/
|
|
66
|
+
export declare const SUPPORTED_GUUEY_JSON_SCHEMA = "1";
|
|
67
|
+
/**
|
|
68
|
+
* Where a raw `guuey.json` document's `schema` sits relative to
|
|
69
|
+
* {@link SUPPORTED_GUUEY_JSON_SCHEMA}:
|
|
70
|
+
*
|
|
71
|
+
* - `supported` — equal (or an older version a migration exists for; none
|
|
72
|
+
* today).
|
|
73
|
+
* - `newer` — a later version than this reader knows: refuse + upgrade.
|
|
74
|
+
* - `older` — an earlier version with NO migration: refuse.
|
|
75
|
+
* - `invalid` — absent, not a string, or not a decimal integer string; the
|
|
76
|
+
* full schema parse reports the precise issue, this verdict only says the
|
|
77
|
+
* version-gate cannot even compare.
|
|
78
|
+
*/
|
|
79
|
+
export type GuueyJsonSchemaVerdict = {
|
|
80
|
+
kind: 'supported';
|
|
81
|
+
found: string;
|
|
82
|
+
} | {
|
|
83
|
+
kind: 'newer';
|
|
84
|
+
found: string;
|
|
85
|
+
} | {
|
|
86
|
+
kind: 'older';
|
|
87
|
+
found: string;
|
|
88
|
+
} | {
|
|
89
|
+
kind: 'invalid';
|
|
90
|
+
found: string | undefined;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Classify a raw (JSON-decoded, NOT yet schema-parsed) document's root
|
|
94
|
+
* `schema` against {@link SUPPORTED_GUUEY_JSON_SCHEMA}. Pure; never throws.
|
|
95
|
+
* Run it BEFORE `parseGuueyJson` so a too-new document gets the "upgrade
|
|
96
|
+
* your CLI" face instead of zod's `expected "1"` at the first field.
|
|
97
|
+
*/
|
|
98
|
+
export declare function classifyGuueyJsonSchema(raw: unknown): GuueyJsonSchemaVerdict;
|
|
99
|
+
/**
|
|
100
|
+
* Thrown by {@link assertSupportedGuueyJsonSchema} — carries the code the
|
|
101
|
+
* CLI prints and the API maps to its 400 (`SCHEMA_TOO_NEW` = upgrade the
|
|
102
|
+
* reader; `SCHEMA_UNSUPPORTED` = an older version no migration exists for).
|
|
103
|
+
* The message already names the found + supported versions and the remedy.
|
|
104
|
+
*/
|
|
105
|
+
export declare class GuueyJsonSchemaError extends Error {
|
|
106
|
+
readonly code: 'SCHEMA_TOO_NEW' | 'SCHEMA_UNSUPPORTED';
|
|
107
|
+
readonly found: string;
|
|
108
|
+
constructor(code: 'SCHEMA_TOO_NEW' | 'SCHEMA_UNSUPPORTED', found: string, message: string);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Refuse a document whose `schema` this reader cannot honor. `invalid`
|
|
112
|
+
* verdicts pass through untouched — the schema parse that follows reports
|
|
113
|
+
* the precise issue (`at "schema": expected "1"`), which is the right face
|
|
114
|
+
* for a typo; this gate exists for the version SKEW cases only.
|
|
115
|
+
*
|
|
116
|
+
* Runs inside `readGuueyJsonFile` / `loadGuueyJson` (every CLI read of a
|
|
117
|
+
* checked-in file — `deploy`, `dev`, `agent apply`, …) and in the platform's
|
|
118
|
+
* reconcile + deploy-trigger handlers, so both ends of the wire refuse the
|
|
119
|
+
* same documents for the same reason. The message names the remedy for the
|
|
120
|
+
* only reader outside the platform: the CLI.
|
|
121
|
+
*/
|
|
122
|
+
export declare function assertSupportedGuueyJsonSchema(raw: unknown): void;
|
|
44
123
|
/**
|
|
45
124
|
* Top-level guuey.json v1 schema.
|
|
46
125
|
*
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDtB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAE1C"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAY5E;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,IAAI,EAAE,gBAAgB,GAAG,oBAAoB;aAC7C,KAAK,EAAE,MAAM;gBADb,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,EAC7C,KAAK,EAAE,MAAM,EAC7B,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAkBjE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDtB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAE1C"}
|
package/dist/schema.js
CHANGED
|
@@ -41,6 +41,87 @@ import { z } from 'zod';
|
|
|
41
41
|
import { AgentSectionV1 } from './agent.js';
|
|
42
42
|
import { AppSectionV1 } from './app.js';
|
|
43
43
|
import { GguiSectionV1 } from './ggui.js';
|
|
44
|
+
/**
|
|
45
|
+
* The ONE `guuey.json` `schema` value this package understands — the
|
|
46
|
+
* schema-version stance (guuey#248 b2):
|
|
47
|
+
*
|
|
48
|
+
* - The root `schema` is a decimal integer string (`"1"`, `"2"`, …), bumped
|
|
49
|
+
* only on a change that an older reader cannot interpret correctly.
|
|
50
|
+
* - A document declaring a NEWER schema than this constant is refused
|
|
51
|
+
* everywhere: the CLI (`SCHEMA_TOO_NEW` — upgrade `@guuey/cli`) and the
|
|
52
|
+
* reconcile / deploy-trigger APIs (`400 SCHEMA_UNSUPPORTED`). Never
|
|
53
|
+
* "best-effort parse what we recognize" — the unknown half is precisely
|
|
54
|
+
* the half that matters.
|
|
55
|
+
* - A document declaring an OLDER schema is accepted only when a migration
|
|
56
|
+
* to this version exists. Today there is exactly one version and no
|
|
57
|
+
* migrations, so the rule collapses to equal-or-refuse; when `"2"` ships,
|
|
58
|
+
* the `1 → 2` migration lands in this package and BOTH sides (CLI + API)
|
|
59
|
+
* pick it up through {@link classifyGuueyJsonSchema}.
|
|
60
|
+
*
|
|
61
|
+
* The CLI and the platform API compare against the SAME constant (both
|
|
62
|
+
* consume this package), so "the CLI accepted it but the API refused it"
|
|
63
|
+
* can only ever mean a version skew between the two — which is exactly the
|
|
64
|
+
* message the API's refusal names.
|
|
65
|
+
*/
|
|
66
|
+
export const SUPPORTED_GUUEY_JSON_SCHEMA = '1';
|
|
67
|
+
/**
|
|
68
|
+
* Classify a raw (JSON-decoded, NOT yet schema-parsed) document's root
|
|
69
|
+
* `schema` against {@link SUPPORTED_GUUEY_JSON_SCHEMA}. Pure; never throws.
|
|
70
|
+
* Run it BEFORE `parseGuueyJson` so a too-new document gets the "upgrade
|
|
71
|
+
* your CLI" face instead of zod's `expected "1"` at the first field.
|
|
72
|
+
*/
|
|
73
|
+
export function classifyGuueyJsonSchema(raw) {
|
|
74
|
+
const found = raw !== null && typeof raw === 'object' && 'schema' in raw
|
|
75
|
+
? raw.schema
|
|
76
|
+
: undefined;
|
|
77
|
+
if (typeof found !== 'string' || !/^[1-9][0-9]*$/.test(found)) {
|
|
78
|
+
return { kind: 'invalid', found: typeof found === 'string' ? found : undefined };
|
|
79
|
+
}
|
|
80
|
+
const have = Number.parseInt(SUPPORTED_GUUEY_JSON_SCHEMA, 10);
|
|
81
|
+
const got = Number.parseInt(found, 10);
|
|
82
|
+
if (got === have)
|
|
83
|
+
return { kind: 'supported', found };
|
|
84
|
+
return got > have ? { kind: 'newer', found } : { kind: 'older', found };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Thrown by {@link assertSupportedGuueyJsonSchema} — carries the code the
|
|
88
|
+
* CLI prints and the API maps to its 400 (`SCHEMA_TOO_NEW` = upgrade the
|
|
89
|
+
* reader; `SCHEMA_UNSUPPORTED` = an older version no migration exists for).
|
|
90
|
+
* The message already names the found + supported versions and the remedy.
|
|
91
|
+
*/
|
|
92
|
+
export class GuueyJsonSchemaError extends Error {
|
|
93
|
+
code;
|
|
94
|
+
found;
|
|
95
|
+
constructor(code, found, message) {
|
|
96
|
+
super(message);
|
|
97
|
+
this.code = code;
|
|
98
|
+
this.found = found;
|
|
99
|
+
this.name = 'GuueyJsonSchemaError';
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Refuse a document whose `schema` this reader cannot honor. `invalid`
|
|
104
|
+
* verdicts pass through untouched — the schema parse that follows reports
|
|
105
|
+
* the precise issue (`at "schema": expected "1"`), which is the right face
|
|
106
|
+
* for a typo; this gate exists for the version SKEW cases only.
|
|
107
|
+
*
|
|
108
|
+
* Runs inside `readGuueyJsonFile` / `loadGuueyJson` (every CLI read of a
|
|
109
|
+
* checked-in file — `deploy`, `dev`, `agent apply`, …) and in the platform's
|
|
110
|
+
* reconcile + deploy-trigger handlers, so both ends of the wire refuse the
|
|
111
|
+
* same documents for the same reason. The message names the remedy for the
|
|
112
|
+
* only reader outside the platform: the CLI.
|
|
113
|
+
*/
|
|
114
|
+
export function assertSupportedGuueyJsonSchema(raw) {
|
|
115
|
+
const verdict = classifyGuueyJsonSchema(raw);
|
|
116
|
+
if (verdict.kind === 'newer') {
|
|
117
|
+
throw new GuueyJsonSchemaError('SCHEMA_TOO_NEW', verdict.found, `guuey.json declares schema "${verdict.found}", but this reader understands schema "${SUPPORTED_GUUEY_JSON_SCHEMA}" only. ` +
|
|
118
|
+
'Upgrade the tool reading it — for the CLI: npm i -g @guuey/cli@latest — and re-run.');
|
|
119
|
+
}
|
|
120
|
+
if (verdict.kind === 'older') {
|
|
121
|
+
throw new GuueyJsonSchemaError('SCHEMA_UNSUPPORTED', verdict.found, `guuey.json declares schema "${verdict.found}", but no migration to schema "${SUPPORTED_GUUEY_JSON_SCHEMA}" exists — ` +
|
|
122
|
+
`set "schema": "${SUPPORTED_GUUEY_JSON_SCHEMA}" and update the document to the current shape.`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
44
125
|
/**
|
|
45
126
|
* Top-level guuey.json v1 schema.
|
|
46
127
|
*
|
|
@@ -54,7 +135,7 @@ import { GguiSectionV1 } from './ggui.js';
|
|
|
54
135
|
* Re-exports the sub-section types for consumer convenience.
|
|
55
136
|
*/
|
|
56
137
|
export const GuueyJsonV1 = z.strictObject({
|
|
57
|
-
schema: z.literal(
|
|
138
|
+
schema: z.literal(SUPPORTED_GUUEY_JSON_SCHEMA),
|
|
58
139
|
/** Stable agent identifier minted by the control plane on first `guuey create`. */
|
|
59
140
|
appId: z.string().min(1).max(128).optional(),
|
|
60
141
|
/** Workspace the project lives under. Optional — personal apps + freshly-linked apps. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guuey/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Open-source schemas + loaders for the three guuey config files: agent.json (declarative agent definition), guuey.json (hosted-deploy overlay), and the helper types around them. Consumed by @guuey/cli, the guuey backend, and devs writing their own agent or MCP server.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|