@cavelang/core 0.5.0 → 0.12.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/src/context.d.ts +4 -0
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +4 -0
- package/dist/src/context.js.map +1 -1
- package/dist/src/uuidv7.d.ts +5 -0
- package/dist/src/uuidv7.d.ts.map +1 -1
- package/dist/src/uuidv7.js +5 -0
- package/dist/src/uuidv7.js.map +1 -1
- package/dist/src/verb.d.ts +4 -1
- package/dist/src/verb.d.ts.map +1 -1
- package/dist/src/verb.js +5 -2
- package/dist/src/verb.js.map +1 -1
- package/package.json +1 -1
- package/src/context.ts +8 -0
- package/src/uuidv7.ts +7 -0
- package/src/verb.ts +6 -2
- package/License.md +0 -6
package/dist/src/context.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export type Prefix = (typeof prefixes)[number];
|
|
|
18
18
|
export declare const prefix: (context: Context) => undefined | Prefix;
|
|
19
19
|
/** @returns canonical `@ctx` text. */
|
|
20
20
|
export declare const format: (context: Context) => string;
|
|
21
|
+
/** @returns `src:`-prefixed source context for an actor: `cli` → `src:cli`. */
|
|
22
|
+
export declare const source: (actor: string) => Context;
|
|
23
|
+
/** @returns whether any context is a `src:` source context (spec §9.5). */
|
|
24
|
+
export declare const hasSource: (contexts: readonly Context[]) => boolean;
|
|
21
25
|
/**
|
|
22
26
|
* @returns deduplicated contexts in original order. Claim keys use the
|
|
23
27
|
* sorted form (see `Key`); emission preserves author order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,MAAM,MAAM,CAAC,GAAG,OAAO,CAAA;AAEvB,gDAAgD;AAChD,eAAO,MAAM,QAAQ,0CAA2C,CAAA;AAEhE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAI9C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,KAAG,SAAS,GAAG,MAOrD,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,KAAG,MAC3B,CAAA;AAEf;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,UAAU,SAAS,OAAO,EAAE,KAAG,OAAO,EACrC,CAAA"}
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,MAAM,MAAM,CAAC,GAAG,OAAO,CAAA;AAEvB,gDAAgD;AAChD,eAAO,MAAM,QAAQ,0CAA2C,CAAA;AAEhE,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAI9C;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,KAAG,SAAS,GAAG,MAOrD,CAAA;AAED,sCAAsC;AACtC,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,KAAG,MAC3B,CAAA;AAEf,+EAA+E;AAC/E,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,KAAG,OACvB,CAAA;AAEhB,2EAA2E;AAC3E,eAAO,MAAM,SAAS,GAAI,UAAU,SAAS,OAAO,EAAE,KAAG,OACJ,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,UAAU,SAAS,OAAO,EAAE,KAAG,OAAO,EACrC,CAAA"}
|
package/dist/src/context.js
CHANGED
|
@@ -23,6 +23,10 @@ export const prefix = (context) => {
|
|
|
23
23
|
};
|
|
24
24
|
/** @returns canonical `@ctx` text. */
|
|
25
25
|
export const format = (context) => `@${context}`;
|
|
26
|
+
/** @returns `src:`-prefixed source context for an actor: `cli` → `src:cli`. */
|
|
27
|
+
export const source = (actor) => `src:${actor}`;
|
|
28
|
+
/** @returns whether any context is a `src:` source context (spec §9.5). */
|
|
29
|
+
export const hasSource = (contexts) => contexts.some(context => prefix(context) === 'src');
|
|
26
30
|
/**
|
|
27
31
|
* @returns deduplicated contexts in original order. Claim keys use the
|
|
28
32
|
* sorted form (see `Key`); emission preserves author order.
|
package/dist/src/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAU,CAAA;AAIhE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAsB,EAAE;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACtC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC,CAAA;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAU,EAAE,CACjD,IAAI,OAAO,EAAE,CAAA;AAEf;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAA4B,EAAa,EAAE,CAChE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAU,CAAA;AAIhE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAA;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAsB,EAAE;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACtC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC,CAAA;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAU,EAAE,CACjD,IAAI,OAAO,EAAE,CAAA;AAEf,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAW,EAAE,CAC/C,OAAO,KAAK,EAAE,CAAA;AAEhB,2EAA2E;AAC3E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAA4B,EAAW,EAAE,CACjE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAA4B,EAAa,EAAE,CAChE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA"}
|
package/dist/src/uuidv7.d.ts
CHANGED
|
@@ -23,6 +23,11 @@ export declare const at: (ms: number, seq: number, rand: Uint8Array) => string;
|
|
|
23
23
|
* within the process even across same-millisecond calls and clock skew.
|
|
24
24
|
*/
|
|
25
25
|
export declare const next: (now?: () => number) => string;
|
|
26
|
+
/**
|
|
27
|
+
* @returns the unix millisecond timestamp encoded in a UUIDv7's first
|
|
28
|
+
* 48 bits — how transaction ids answer *when* (spec §9.1, §20.2 staleness).
|
|
29
|
+
*/
|
|
30
|
+
export declare const msOf: (id: string) => number;
|
|
26
31
|
/** @returns `true` if `s` is a well-formed UUIDv7 string. */
|
|
27
32
|
export declare const is: (s: string) => boolean;
|
|
28
33
|
//# sourceMappingURL=uuidv7.d.ts.map
|
package/dist/src/uuidv7.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuidv7.d.ts","sourceRoot":"","sources":["../../src/uuidv7.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,GAAI,IAAI,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,KAAG,MAmB9D,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,MAAK,MAAM,MAAiB,KAAG,MAgBnD,CAAA;
|
|
1
|
+
{"version":3,"file":"uuidv7.d.ts","sourceRoot":"","sources":["../../src/uuidv7.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,GAAI,IAAI,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,KAAG,MAmB9D,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,MAAK,MAAM,MAAiB,KAAG,MAgBnD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,IAAI,MAAM,KAAG,MACqB,CAAA;AAIvD,6DAA6D;AAC7D,eAAO,MAAM,EAAE,GAAI,GAAG,MAAM,KAAG,OACf,CAAA"}
|
package/dist/src/uuidv7.js
CHANGED
|
@@ -63,6 +63,11 @@ export const next = (now = Date.now) => {
|
|
|
63
63
|
randomFillSync(rand);
|
|
64
64
|
return at(ms, lastSeq, rand);
|
|
65
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* @returns the unix millisecond timestamp encoded in a UUIDv7's first
|
|
68
|
+
* 48 bits — how transaction ids answer *when* (spec §9.1, §20.2 staleness).
|
|
69
|
+
*/
|
|
70
|
+
export const msOf = (id) => Number.parseInt(id.slice(0, 8) + id.slice(9, 13), 16);
|
|
66
71
|
const uuidRe = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
67
72
|
/** @returns `true` if `s` is a well-formed UUIDv7 string. */
|
|
68
73
|
export const is = (s) => uuidRe.test(s);
|
package/dist/src/uuidv7.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/uuidv7.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,MAAc,EAAU,EAAE,CAChD,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAU,EAAE,GAAW,EAAE,IAAgB,EAAU,EAAE;IACtE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,GAAG,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACxB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IAC5C,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;QACjB,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;QACtC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC,CAAA;AAED,IAAI,MAAM,GAAG,CAAC,CAAC,CAAA;AACf,IAAI,OAAO,GAAG,CAAC,CAAA;AAEf;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAoB,IAAI,CAAC,GAAG,EAAU,EAAE;IAC3D,IAAI,EAAE,GAAG,GAAG,EAAE,CAAA;IACd,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QACjB,EAAE,GAAG,MAAM,CAAA;QACX,OAAO,IAAI,CAAC,CAAA;QACZ,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;YACpB,EAAE,IAAI,CAAC,CAAA;YACP,OAAO,GAAG,CAAC,CAAA;QACb,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,CAAC,CAAA;IACb,CAAC;IACD,MAAM,GAAG,EAAE,CAAA;IACX,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;IAC9B,cAAc,CAAC,IAAI,CAAC,CAAA;IACpB,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,uEAAuE,CAAA;AAEtF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAS,EAAW,EAAE,CACvC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"uuidv7.js","sourceRoot":"","sources":["../../src/uuidv7.ts"],"names":[],"mappings":"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"}
|
package/dist/src/verb.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export declare const qualifiers: readonly ["WHEN", "UNLESS", "VIA", "BECAUSE"];
|
|
|
24
24
|
export type Qualifier = (typeof qualifiers)[number];
|
|
25
25
|
/** The inverse-declaration verb (spec §5.5). */
|
|
26
26
|
export declare const REVERSE = "REVERSE";
|
|
27
|
+
/** The shape-expectation meta-verb (spec §20.1). */
|
|
28
|
+
export declare const EXPECTS = "EXPECTS";
|
|
27
29
|
/** The standard inverse names (spec §5.5's declaration block). */
|
|
28
30
|
export declare const standardInverses: readonly ["PART-OF", "CAUSED-BY", "FOLLOWS", "USED-BY", "NEEDED-BY", "ENABLED-BY", "BLOCKED-BY", "EXTENDED-BY"];
|
|
29
31
|
/** All standard relational verbs (qualifiers excluded). */
|
|
@@ -39,7 +41,8 @@ export declare const isStandard: (v: string) => boolean;
|
|
|
39
41
|
export declare const isQualifier: (v: string) => v is Qualifier;
|
|
40
42
|
/**
|
|
41
43
|
* @returns `true` if `v` belongs to the known standard vocabulary —
|
|
42
|
-
* standard verbs, `HAS`, `REVERSE`, and the standard §5.5
|
|
44
|
+
* standard verbs, `HAS`, `REVERSE`, `EXPECTS`, and the standard §5.5
|
|
45
|
+
* inverse names.
|
|
43
46
|
* Used by the parser's indentation tiebreak: `USES JWT` is a continuation
|
|
44
47
|
* (JWT is not a known verb) while `API NEEDS auth` is a full triple.
|
|
45
48
|
*/
|
package/dist/src/verb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verb.d.ts","sourceRoot":"","sources":["../../src/verb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB,MAAM,MAAM,CAAC,GAAG,IAAI,CAAA;AAEpB,mCAAmC;AACnC,eAAO,MAAM,SAAS,wBAAyB,CAAA;AAE/C,yCAAyC;AACzC,eAAO,MAAM,QAAQ,uDAAwD,CAAA;AAE7E,wCAAwC;AACxC,eAAO,MAAM,SAAS,sCAAuC,CAAA;AAE7D,6CAA6C;AAC7C,eAAO,MAAM,UAAU,2DAA4D,CAAA;AAEnF,0CAA0C;AAC1C,eAAO,MAAM,SAAS,oDAAqD,CAAA;AAE3E,+EAA+E;AAC/E,eAAO,MAAM,UAAU,+CAAgD,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,gDAAgD;AAChD,eAAO,MAAM,OAAO,YAAY,CAAA;AAEhC,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,iHAGnB,CAAA;AAEV,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,EAAE,SAAS,IAAI,EAKnC,CAAA;AAMD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,OACJ,CAAA;AAEpC,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,OACnB,CAAA;AAEpB,uFAAuF;AACvF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,SACxB,CAAA;AAErB
|
|
1
|
+
{"version":3,"file":"verb.d.ts","sourceRoot":"","sources":["../../src/verb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB,MAAM,MAAM,CAAC,GAAG,IAAI,CAAA;AAEpB,mCAAmC;AACnC,eAAO,MAAM,SAAS,wBAAyB,CAAA;AAE/C,yCAAyC;AACzC,eAAO,MAAM,QAAQ,uDAAwD,CAAA;AAE7E,wCAAwC;AACxC,eAAO,MAAM,SAAS,sCAAuC,CAAA;AAE7D,6CAA6C;AAC7C,eAAO,MAAM,UAAU,2DAA4D,CAAA;AAEnF,0CAA0C;AAC1C,eAAO,MAAM,SAAS,oDAAqD,CAAA;AAE3E,+EAA+E;AAC/E,eAAO,MAAM,UAAU,+CAAgD,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnD,gDAAgD;AAChD,eAAO,MAAM,OAAO,YAAY,CAAA;AAEhC,oDAAoD;AACpD,eAAO,MAAM,OAAO,YAAY,CAAA;AAEhC,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,iHAGnB,CAAA;AAEV,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,EAAE,SAAS,IAAI,EAKnC,CAAA;AAMD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,OACJ,CAAA;AAEpC,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,OACnB,CAAA;AAEpB,uFAAuF;AACvF,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,SACxB,CAAA;AAErB;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,OACnB,CAAA"}
|
package/dist/src/verb.js
CHANGED
|
@@ -21,6 +21,8 @@ export const structure = ['CONTAINS', 'PRECEDES', 'EXCEEDS', 'VS'];
|
|
|
21
21
|
export const qualifiers = ['WHEN', 'UNLESS', 'VIA', 'BECAUSE'];
|
|
22
22
|
/** The inverse-declaration verb (spec §5.5). */
|
|
23
23
|
export const REVERSE = 'REVERSE';
|
|
24
|
+
/** The shape-expectation meta-verb (spec §20.1). */
|
|
25
|
+
export const EXPECTS = 'EXPECTS';
|
|
24
26
|
/** The standard inverse names (spec §5.5's declaration block). */
|
|
25
27
|
export const standardInverses = [
|
|
26
28
|
'PART-OF', 'CAUSED-BY', 'FOLLOWS', 'USED-BY',
|
|
@@ -35,7 +37,7 @@ export const standard = [
|
|
|
35
37
|
];
|
|
36
38
|
const standardSet = new Set(standard);
|
|
37
39
|
const qualifierSet = new Set(qualifiers);
|
|
38
|
-
const knownSet = new Set([...standard, 'HAS', REVERSE, ...standardInverses]);
|
|
40
|
+
const knownSet = new Set([...standard, 'HAS', REVERSE, EXPECTS, ...standardInverses]);
|
|
39
41
|
/**
|
|
40
42
|
* @returns `true` if `s` has the lexical shape of a verb — an uppercase atom:
|
|
41
43
|
* uppercase letters and internal `-` (spec §16 `uppercase_atom`).
|
|
@@ -47,7 +49,8 @@ export const isStandard = (v) => standardSet.has(v);
|
|
|
47
49
|
export const isQualifier = (v) => qualifierSet.has(v);
|
|
48
50
|
/**
|
|
49
51
|
* @returns `true` if `v` belongs to the known standard vocabulary —
|
|
50
|
-
* standard verbs, `HAS`, `REVERSE`, and the standard §5.5
|
|
52
|
+
* standard verbs, `HAS`, `REVERSE`, `EXPECTS`, and the standard §5.5
|
|
53
|
+
* inverse names.
|
|
51
54
|
* Used by the parser's indentation tiebreak: `USES JWT` is a continuation
|
|
52
55
|
* (JWT is not a known verb) while `API NEEDS auth` is a full triple.
|
|
53
56
|
*/
|
package/dist/src/verb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verb.js","sourceRoot":"","sources":["../../src/verb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,CAAU,CAAA;AAE/C,yCAAyC;AACzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAE7E,wCAAwC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAE7D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAEnF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAU,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAIvE,gDAAgD;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAEhC,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAC5C,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa;CAC9C,CAAA;AAEV,2DAA2D;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,GAAG,QAAQ;IACX,GAAG,SAAS;IACZ,GAAG,UAAU;IACb,GAAG,SAAS;CACb,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAA;AAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAA;AAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"verb.js","sourceRoot":"","sources":["../../src/verb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,mCAAmC;AACnC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,CAAU,CAAA;AAE/C,yCAAyC;AACzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAE7E,wCAAwC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAE7D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAEnF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAU,CAAA;AAE3E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAU,CAAA;AAIvE,gDAAgD;AAChD,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAEhC,oDAAoD;AACpD,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAEhC,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;IAC5C,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa;CAC9C,CAAA;AAEV,2DAA2D;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,GAAG,QAAQ;IACX,GAAG,SAAS;IACZ,GAAG,UAAU;IACb,GAAG,SAAS;CACb,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAA;AAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAA;AAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;AAE7F;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE,CAChD,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEpC,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAW,EAAE,CAC/C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAEpB,uFAAuF;AACvF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAkB,EAAE,CACvD,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAErB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAW,EAAE,CAC5C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
package/src/context.ts
CHANGED
|
@@ -35,6 +35,14 @@ export const prefix = (context: Context): undefined | Prefix => {
|
|
|
35
35
|
export const format = (context: Context): string =>
|
|
36
36
|
`@${context}`
|
|
37
37
|
|
|
38
|
+
/** @returns `src:`-prefixed source context for an actor: `cli` → `src:cli`. */
|
|
39
|
+
export const source = (actor: string): Context =>
|
|
40
|
+
`src:${actor}`
|
|
41
|
+
|
|
42
|
+
/** @returns whether any context is a `src:` source context (spec §9.5). */
|
|
43
|
+
export const hasSource = (contexts: readonly Context[]): boolean =>
|
|
44
|
+
contexts.some(context => prefix(context) === 'src')
|
|
45
|
+
|
|
38
46
|
/**
|
|
39
47
|
* @returns deduplicated contexts in original order. Claim keys use the
|
|
40
48
|
* sorted form (see `Key`); emission preserves author order.
|
package/src/uuidv7.ts
CHANGED
|
@@ -69,6 +69,13 @@ export const next = (now: () => number = Date.now): string => {
|
|
|
69
69
|
return at(ms, lastSeq, rand)
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* @returns the unix millisecond timestamp encoded in a UUIDv7's first
|
|
74
|
+
* 48 bits — how transaction ids answer *when* (spec §9.1, §20.2 staleness).
|
|
75
|
+
*/
|
|
76
|
+
export const msOf = (id: string): number =>
|
|
77
|
+
Number.parseInt(id.slice(0, 8) + id.slice(9, 13), 16)
|
|
78
|
+
|
|
72
79
|
const uuidRe = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/
|
|
73
80
|
|
|
74
81
|
/** @returns `true` if `s` is a well-formed UUIDv7 string. */
|
package/src/verb.ts
CHANGED
|
@@ -35,6 +35,9 @@ export type Qualifier = (typeof qualifiers)[number]
|
|
|
35
35
|
/** The inverse-declaration verb (spec §5.5). */
|
|
36
36
|
export const REVERSE = 'REVERSE'
|
|
37
37
|
|
|
38
|
+
/** The shape-expectation meta-verb (spec §20.1). */
|
|
39
|
+
export const EXPECTS = 'EXPECTS'
|
|
40
|
+
|
|
38
41
|
/** The standard inverse names (spec §5.5's declaration block). */
|
|
39
42
|
export const standardInverses = [
|
|
40
43
|
'PART-OF', 'CAUSED-BY', 'FOLLOWS', 'USED-BY',
|
|
@@ -51,7 +54,7 @@ export const standard: readonly Verb[] = [
|
|
|
51
54
|
|
|
52
55
|
const standardSet = new Set<string>(standard)
|
|
53
56
|
const qualifierSet = new Set<string>(qualifiers)
|
|
54
|
-
const knownSet = new Set<string>([...standard, 'HAS', REVERSE, ...standardInverses])
|
|
57
|
+
const knownSet = new Set<string>([...standard, 'HAS', REVERSE, EXPECTS, ...standardInverses])
|
|
55
58
|
|
|
56
59
|
/**
|
|
57
60
|
* @returns `true` if `s` has the lexical shape of a verb — an uppercase atom:
|
|
@@ -70,7 +73,8 @@ export const isQualifier = (v: string): v is Qualifier =>
|
|
|
70
73
|
|
|
71
74
|
/**
|
|
72
75
|
* @returns `true` if `v` belongs to the known standard vocabulary —
|
|
73
|
-
* standard verbs, `HAS`, `REVERSE`, and the standard §5.5
|
|
76
|
+
* standard verbs, `HAS`, `REVERSE`, `EXPECTS`, and the standard §5.5
|
|
77
|
+
* inverse names.
|
|
74
78
|
* Used by the parser's indentation tiebreak: `USES JWT` is a continuation
|
|
75
79
|
* (JWT is not a known verb) while `API NEEDS auth` is a full triple.
|
|
76
80
|
*/
|
package/License.md
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
# CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
|
|
2
|
-
|
|
3
|
-
To the extent possible under law, the authors listed in [Authors.md](./Authors.md) have waived all copyright and related or neighboring rights to this software and associated documentation files (the "Software").
|
|
4
|
-
|
|
5
|
-
For more information, please see:
|
|
6
|
-
https://creativecommons.org/publicdomain/zero/1.0/
|