@agenticprimitives/ontology 1.0.0-alpha.22 → 1.0.0-alpha.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +11 -0
  2. package/cbox/card-projection-shapes.shacl.ttl +216 -0
  3. package/cbox/controlled-vocabularies.ttl +172 -4
  4. package/cbox/naming-registry-shapes.shacl.ttl +272 -0
  5. package/cbox/org-team-shapes.shacl.ttl +184 -0
  6. package/cbox/registry-vocabulary.ttl +86 -0
  7. package/cbox/run-provenance-shapes.shacl.ttl +172 -0
  8. package/context.jsonld +7 -1
  9. package/dist/arg-types.d.ts +60 -0
  10. package/dist/arg-types.d.ts.map +1 -0
  11. package/dist/arg-types.js +143 -0
  12. package/dist/arg-types.js.map +1 -0
  13. package/dist/artifacts.d.ts +4 -2
  14. package/dist/artifacts.d.ts.map +1 -1
  15. package/dist/artifacts.js +22 -0
  16. package/dist/artifacts.js.map +1 -1
  17. package/dist/contact-fields.d.ts +28 -0
  18. package/dist/contact-fields.d.ts.map +1 -0
  19. package/dist/contact-fields.js +38 -0
  20. package/dist/contact-fields.js.map +1 -0
  21. package/dist/decisions.d.ts +69 -0
  22. package/dist/decisions.d.ts.map +1 -0
  23. package/dist/decisions.js +98 -0
  24. package/dist/decisions.js.map +1 -0
  25. package/dist/household.d.ts +19 -0
  26. package/dist/household.d.ts.map +1 -0
  27. package/dist/household.js +41 -0
  28. package/dist/household.js.map +1 -0
  29. package/dist/index.d.ts +230 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +275 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/party-roles.d.ts +106 -0
  34. package/dist/party-roles.d.ts.map +1 -0
  35. package/dist/party-roles.js +305 -0
  36. package/dist/party-roles.js.map +1 -0
  37. package/dist/plan-shapes.d.ts +18 -0
  38. package/dist/plan-shapes.d.ts.map +1 -0
  39. package/dist/plan-shapes.js +38 -0
  40. package/dist/plan-shapes.js.map +1 -0
  41. package/dist/relations.d.ts +44 -0
  42. package/dist/relations.d.ts.map +1 -0
  43. package/dist/relations.js +104 -0
  44. package/dist/relations.js.map +1 -0
  45. package/dist/run-provenance-context.d.ts +211 -0
  46. package/dist/run-provenance-context.d.ts.map +1 -0
  47. package/dist/run-provenance-context.js +219 -0
  48. package/dist/run-provenance-context.js.map +1 -0
  49. package/dist/vault-records.d.ts +74 -0
  50. package/dist/vault-records.d.ts.map +1 -0
  51. package/dist/vault-records.js +330 -0
  52. package/dist/vault-records.js.map +1 -0
  53. package/mappings/agent-discovery-standards.ttl +24 -3
  54. package/mappings/collaboration-crosswalk-organization.ttl +22 -0
  55. package/mappings/collaboration-crosswalk-skills.ttl +5 -0
  56. package/package.json +4 -2
  57. package/run-provenance.jsonld +106 -0
  58. package/tbox/actor-context.ttl +11 -0
  59. package/tbox/agent-resolution.ttl +6 -6
  60. package/tbox/card-projection.ttl +350 -0
  61. package/tbox/contact.ttl +61 -0
  62. package/tbox/context.ttl +114 -0
  63. package/tbox/coordination.ttl +17 -0
  64. package/tbox/core.ttl +232 -12
  65. package/tbox/execution.ttl +168 -0
  66. package/tbox/household.ttl +142 -0
  67. package/tbox/interaction.ttl +13 -0
  68. package/tbox/naming.ttl +114 -0
  69. package/tbox/org.ttl +188 -4
  70. package/tbox/profile.ttl +7 -0
  71. package/tbox/prov-imports.ttl +65 -0
  72. package/tbox/registry.ttl +159 -4
  73. package/tbox/skills.ttl +62 -0
  74. package/tbox/values.ttl +81 -0
@@ -0,0 +1,69 @@
1
+ /** A T-box property IRI. A string, checked by `check:ontology-bindings` rather than by the type system. */
2
+ export type PropertyIri = string;
3
+ /** How many facts of the basis must hold for the rule to answer. `exactly-one` is the honest default:
4
+ * two marked accounts is ambiguity, and answering it by picking one is the failure this prevents. */
5
+ export type BasisCardinality = 'exactly-one' | 'at-least-one';
6
+ export interface DecisionRuleV1 {
7
+ /** Stable id — appears in the receipt, so a run can be audited for its DECISIONS. */
8
+ id: string;
9
+ /** The modelled fact this rule reads. Checked against the T-box by `check:ontology-bindings`. */
10
+ basis: {
11
+ property: PropertyIri;
12
+ cardinality: BasisCardinality;
13
+ };
14
+ /** What the person is told when this rule decided — RENDERED, never composed by a model. */
15
+ because: string;
16
+ /** Whether saying otherwise in the same request wins. Always true today, and stated rather than
17
+ * assumed: a preference that cannot be overridden in the moment is a constraint, and this is not one. */
18
+ overridable: true;
19
+ }
20
+ export interface DecisionPointV1 {
21
+ /** What is being decided. */
22
+ id: string;
23
+ /** The question a person is asked when no rule answers — their words, not ours. */
24
+ question: string;
25
+ /** Ordered. The FIRST rule whose basis holds answers; none ⇒ ask. */
26
+ rules: readonly DecisionRuleV1[];
27
+ /** Fail-closed, always. There is no `guess`, and there will not be one. */
28
+ fallback: 'ask';
29
+ }
30
+ /**
31
+ * WHICH ACCOUNT PAYS.
32
+ *
33
+ * The incident: a person holding eighteen treasuries was offered all eighteen as a list of addresses,
34
+ * every time, because the ontology could say which account should RECEIVE (`ap:primaryPayee`, so a
35
+ * stranger's agent stops asking) and nothing at all about which one SPENDS. The owner — the only person
36
+ * who knows — was asked most often.
37
+ */
38
+ export declare const PAYMENT_SOURCE_ACCOUNT: DecisionPointV1;
39
+ /**
40
+ * WHO A BARE NAME MEANS.
41
+ *
42
+ * "Send sarah 20" — the directory holds four Sarahs and the person meant the one they live with. A
43
+ * household is the asker's OWN private record (ADR-0025), so consulting it first is both the better
44
+ * answer and the more private one: nothing leaves their tier, and no directory learns who they asked
45
+ * about. A person outside the household is not excluded — they are simply not the first reading of a
46
+ * first name, which is how first names work.
47
+ */
48
+ export declare const PAYMENT_RECIPIENT: DecisionPointV1;
49
+ export declare const DECISION_POINTS: readonly DecisionPointV1[];
50
+ /** The decision point for an id, or undefined. A caller with no point defined ASKS — absence is the
51
+ * fail-closed state, never a licence to decide unmodelled. */
52
+ export declare function decisionPoint(id: string): DecisionPointV1 | undefined;
53
+ /**
54
+ * Apply a decision point to candidates that carry which bases they satisfy.
55
+ *
56
+ * The caller does the READING (it knows where the facts live — a chain role, a vault record); this does
57
+ * the DECIDING, so the rule order and the fail-closed default live in one place and are the same for
58
+ * every caller. Returns the chosen candidate WITH the sentence that says why, or nothing — and nothing
59
+ * means ask, in the point's own words.
60
+ */
61
+ export declare function decide<T>(point: DecisionPointV1, candidates: ReadonlyArray<{
62
+ value: T;
63
+ satisfies: readonly PropertyIri[];
64
+ }>): {
65
+ value: T;
66
+ ruleId: string;
67
+ because: string;
68
+ } | null;
69
+ //# sourceMappingURL=decisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../src/decisions.ts"],"names":[],"mappings":"AA8BA,2GAA2G;AAC3G,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;sGACsG;AACtG,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,EAAE,EAAE,MAAM,CAAC;IACX,iGAAiG;IACjG,KAAK,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,WAAW,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChE,4FAA4F;IAC5F,OAAO,EAAE,MAAM,CAAC;IAChB;8GAC0G;IAC1G,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,EAAE,KAAK,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAYpC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAY/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,eAAe,EAAgD,CAAC;AAEvG;+DAC+D;AAC/D,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAErE;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAAC,GACzE;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQtD"}
@@ -0,0 +1,98 @@
1
+ // THE DECISION PLANE — spec 363 §2.
2
+ //
3
+ // The T-box says what things ARE. `party-roles` says what an argument's party MAY BE. Neither says what
4
+ // to DO when the world underdetermines the act: which of your six accounts pays, whether a first name
5
+ // means the person in your household or the one in the directory, when an agent may answer instead of
6
+ // asking. Those are DECISIONS, and there are about a hundred and eighty of them improvised across two
7
+ // files — defensible one at a time, unreadable together, and citable by nobody.
8
+ //
9
+ // WHY NOT OWL. "If exactly one of your accounts is marked, pay from it" is not an entailment: it is a
10
+ // default with exceptions, overridable in the same sentence. OWL is monotonic — asserting it there would
11
+ // make it a fact, and the first exception would make the ontology wrong. Why not SHACL rules: their home
12
+ // is a triple store, and a resolver runs inside a request (spec 355 §1).
13
+ //
14
+ // SO: a small typed table, grounded in T-box terms BY IRI (the same gate checks it), evaluated
15
+ // in-process, ORDERED and first-match, and fail-closed onto asking the person.
16
+ //
17
+ // THREE PROPERTIES ARE LOAD-BEARING:
18
+ // · Ordered, first-match, fail-closed — no scoring. A ranking function that picks between unmodelled
19
+ // options is the string-similarity heuristic spec 355 was written to end, wearing a percentage.
20
+ // · Every answer carries its citation. A decision that cannot say why is indistinguishable from a
21
+ // guess, and the person cannot correct it.
22
+ // · A rule NEVER grants. It narrows, orders, defaults and explains; the mandate decides what may
23
+ // happen, and no verifier reads this table (spec 353 §4 / spec 354 §1).
24
+ // The namespace is INLINED for the same reason `party-roles` inlines it: `index.ts` re-exports both, so
25
+ // importing the constant back reads it in TDZ and every IRI here becomes `undefined#primaryPayer`.
26
+ const AP_NS = 'https://agenticprimitives.dev/ns/core#';
27
+ const AP = (local) => `${AP_NS}${local}`;
28
+ const AP_HH_NS = 'https://agenticprimitives.dev/ns/household#';
29
+ const AP_HH = (local) => `${AP_HH_NS}${local}`;
30
+ /**
31
+ * WHICH ACCOUNT PAYS.
32
+ *
33
+ * The incident: a person holding eighteen treasuries was offered all eighteen as a list of addresses,
34
+ * every time, because the ontology could say which account should RECEIVE (`ap:primaryPayee`, so a
35
+ * stranger's agent stops asking) and nothing at all about which one SPENDS. The owner — the only person
36
+ * who knows — was asked most often.
37
+ */
38
+ export const PAYMENT_SOURCE_ACCOUNT = {
39
+ id: 'payment.sourceAccount',
40
+ question: 'Which of your accounts should pay?',
41
+ rules: [
42
+ {
43
+ id: 'marked-primary-payer',
44
+ basis: { property: AP('primaryPayer'), cardinality: 'exactly-one' },
45
+ because: 'you marked it as the account you pay from',
46
+ overridable: true,
47
+ },
48
+ ],
49
+ fallback: 'ask',
50
+ };
51
+ /**
52
+ * WHO A BARE NAME MEANS.
53
+ *
54
+ * "Send sarah 20" — the directory holds four Sarahs and the person meant the one they live with. A
55
+ * household is the asker's OWN private record (ADR-0025), so consulting it first is both the better
56
+ * answer and the more private one: nothing leaves their tier, and no directory learns who they asked
57
+ * about. A person outside the household is not excluded — they are simply not the first reading of a
58
+ * first name, which is how first names work.
59
+ */
60
+ export const PAYMENT_RECIPIENT = {
61
+ id: 'payment.recipient',
62
+ question: 'Who do you mean?',
63
+ rules: [
64
+ {
65
+ id: 'household-member',
66
+ basis: { property: AP_HH('householdMember'), cardinality: 'exactly-one' },
67
+ because: 'they are in your household',
68
+ overridable: true,
69
+ },
70
+ ],
71
+ fallback: 'ask',
72
+ };
73
+ export const DECISION_POINTS = [PAYMENT_SOURCE_ACCOUNT, PAYMENT_RECIPIENT];
74
+ /** The decision point for an id, or undefined. A caller with no point defined ASKS — absence is the
75
+ * fail-closed state, never a licence to decide unmodelled. */
76
+ export function decisionPoint(id) {
77
+ return DECISION_POINTS.find((d) => d.id === id);
78
+ }
79
+ /**
80
+ * Apply a decision point to candidates that carry which bases they satisfy.
81
+ *
82
+ * The caller does the READING (it knows where the facts live — a chain role, a vault record); this does
83
+ * the DECIDING, so the rule order and the fail-closed default live in one place and are the same for
84
+ * every caller. Returns the chosen candidate WITH the sentence that says why, or nothing — and nothing
85
+ * means ask, in the point's own words.
86
+ */
87
+ export function decide(point, candidates) {
88
+ for (const rule of point.rules) {
89
+ const hits = candidates.filter((c) => c.satisfies.includes(rule.basis.property));
90
+ if (rule.basis.cardinality === 'exactly-one' && hits.length !== 1)
91
+ continue;
92
+ if (rule.basis.cardinality === 'at-least-one' && hits.length === 0)
93
+ continue;
94
+ return { value: hits[0].value, ruleId: rule.id, because: rule.because };
95
+ }
96
+ return null;
97
+ }
98
+ //# sourceMappingURL=decisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../src/decisions.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,wGAAwG;AACxG,sGAAsG;AACtG,sGAAsG;AACtG,sGAAsG;AACtG,gFAAgF;AAChF,EAAE;AACF,sGAAsG;AACtG,yGAAyG;AACzG,yGAAyG;AACzG,yEAAyE;AACzE,EAAE;AACF,+FAA+F;AAC/F,+EAA+E;AAC/E,EAAE;AACF,qCAAqC;AACrC,uGAAuG;AACvG,oGAAoG;AACpG,oGAAoG;AACpG,+CAA+C;AAC/C,mGAAmG;AACnG,4EAA4E;AAC5E,wGAAwG;AACxG,mGAAmG;AACnG,MAAM,KAAK,GAAG,wCAAwC,CAAC;AACvD,MAAM,EAAE,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;AACzD,MAAM,QAAQ,GAAG,6CAA6C,CAAC;AAC/D,MAAM,KAAK,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,QAAQ,GAAG,KAAK,EAAE,CAAC;AAgC/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,EAAE,EAAE,uBAAuB;IAC3B,QAAQ,EAAE,oCAAoC;IAC9C,KAAK,EAAE;QACL;YACE,EAAE,EAAE,sBAAsB;YAC1B,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE;YACnE,OAAO,EAAE,2CAA2C;YACpD,WAAW,EAAE,IAAI;SAClB;KACF;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,kBAAkB;IAC5B,KAAK,EAAE;QACL;YACE,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE;YACzE,OAAO,EAAE,4BAA4B;YACrC,WAAW,EAAE,IAAI;SAClB;KACF;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA+B,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;AAEvG;+DAC+D;AAC/D,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,KAAsB,EACtB,UAA0E;IAE1E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC5E,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC7E,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,19 @@
1
+ /** The canonical kin terms (`aphh:*`), by local name. */
2
+ export declare const KIN_TERMS: readonly ["spouse", "child", "parent", "sibling"];
3
+ export type KinTerm = (typeof KIN_TERMS)[number];
4
+ /** The words people say → the term the T-box declares (its `skos:prefLabel` or an `skos:altLabel`). */
5
+ export declare const KIN_WORD_FOR: Readonly<Record<string, KinTerm>>;
6
+ /** The T-box term a said word names, or null — null means "keep their word", never "guess the nearest". */
7
+ export declare function kinTermFor(said: string): KinTerm | null;
8
+ /** The IRI of a kin term, for a record that wants to say which term it means. */
9
+ export declare function kinIri(term: KinTerm): string;
10
+ /** The household roles, in the order a person would read them. Bound to `aphh:HouseholdRole` members. */
11
+ export declare const HOUSEHOLD_ROLES: readonly ["member", "guardian", "dependent"];
12
+ export type HouseholdRole = (typeof HOUSEHOLD_ROLES)[number];
13
+ /**
14
+ * The role a said word names. `member` is the DEFAULT and the ordinary case — an adult with no
15
+ * dependency in either direction — and defaulting to it is safe precisely because the role grants
16
+ * nothing: a guardian's ability to act for a dependent is a delegation, never this word.
17
+ */
18
+ export declare function householdRoleFor(said: string | undefined): HouseholdRole;
19
+ //# sourceMappingURL=household.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"household.d.ts","sourceRoot":"","sources":["../src/household.ts"],"names":[],"mappings":"AAcA,yDAAyD;AACzD,eAAO,MAAM,SAAS,mDAAoD,CAAC;AAC3E,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,uGAAuG;AACvG,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK1D,CAAC;AAEF,2GAA2G;AAC3G,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAEvD;AAED,iFAAiF;AACjF,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAE5C;AAED,yGAAyG;AACzG,eAAO,MAAM,eAAe,8CAA+C,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAGxE"}
@@ -0,0 +1,41 @@
1
+ // THE HOUSEHOLD'S OWN VOCABULARY — spec 363 W4.
2
+ //
3
+ // The T-box declares the kin terms and their `skos:altLabel`s (`aphh:child` is also "daughter" and
4
+ // "son"). This is that list, compiled — the same arrangement `party-roles` has with the classes it
5
+ // binds, and for the same reason: a resolver runs inside a request and cannot query a triple store
6
+ // (spec 355 §1), while a second hand-kept synonym table in each caller is how "daughter" ended up
7
+ // recorded as `otherKin` in one place and matched as `child` in another.
8
+ //
9
+ // DELIBERATELY SMALL, and the T-box says why: kinship vocabularies are bottomless, and the only thing a
10
+ // resolver needs from this one is enough to understand "my daughter" when somebody says it. A word not
11
+ // here is kept VERBATIM as the household's own label rather than squeezed into the nearest term.
12
+ const AP_HH_NS = 'https://agenticprimitives.dev/ns/household#';
13
+ /** The canonical kin terms (`aphh:*`), by local name. */
14
+ export const KIN_TERMS = ['spouse', 'child', 'parent', 'sibling'];
15
+ /** The words people say → the term the T-box declares (its `skos:prefLabel` or an `skos:altLabel`). */
16
+ export const KIN_WORD_FOR = {
17
+ spouse: 'spouse', wife: 'spouse', husband: 'spouse', partner: 'spouse',
18
+ child: 'child', daughter: 'child', son: 'child', kid: 'child',
19
+ parent: 'parent', mother: 'parent', father: 'parent', mom: 'parent', mum: 'parent', dad: 'parent',
20
+ sibling: 'sibling', sister: 'sibling', brother: 'sibling',
21
+ };
22
+ /** The T-box term a said word names, or null — null means "keep their word", never "guess the nearest". */
23
+ export function kinTermFor(said) {
24
+ return KIN_WORD_FOR[said.trim().toLowerCase().replace(/^(my|our)\s+/, '')] ?? null;
25
+ }
26
+ /** The IRI of a kin term, for a record that wants to say which term it means. */
27
+ export function kinIri(term) {
28
+ return `${AP_HH_NS}${term}`;
29
+ }
30
+ /** The household roles, in the order a person would read them. Bound to `aphh:HouseholdRole` members. */
31
+ export const HOUSEHOLD_ROLES = ['member', 'guardian', 'dependent'];
32
+ /**
33
+ * The role a said word names. `member` is the DEFAULT and the ordinary case — an adult with no
34
+ * dependency in either direction — and defaulting to it is safe precisely because the role grants
35
+ * nothing: a guardian's ability to act for a dependent is a delegation, never this word.
36
+ */
37
+ export function householdRoleFor(said) {
38
+ const w = String(said ?? '').trim().toLowerCase();
39
+ return HOUSEHOLD_ROLES.includes(w) ? w : 'member';
40
+ }
41
+ //# sourceMappingURL=household.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"household.js","sourceRoot":"","sources":["../src/household.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,mGAAmG;AACnG,mGAAmG;AACnG,mGAAmG;AACnG,kGAAkG;AAClG,yEAAyE;AACzE,EAAE;AACF,wGAAwG;AACxG,uGAAuG;AACvG,iGAAiG;AAEjG,MAAM,QAAQ,GAAG,6CAA6C,CAAC;AAE/D,yDAAyD;AACzD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAG3E,uGAAuG;AACvG,MAAM,CAAC,MAAM,YAAY,GAAsC;IAC7D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;IACtE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;IAC7D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ;IACjG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;CAC1D,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;AACrF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,MAAM,CAAC,IAAa;IAClC,OAAO,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED,yGAAyG;AACzG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAG5E;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAwB;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,OAAQ,eAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9F,CAAC"}
package/dist/index.d.ts CHANGED
@@ -74,8 +74,20 @@ export declare const CLASS: {
74
74
  readonly OidcSubject: "https://agenticprimitives.dev/ns/identity#OidcSubject";
75
75
  readonly PersonAgent: "https://agenticprimitives.dev/ns/core#PersonAgent";
76
76
  readonly OrganizationAgent: "https://agenticprimitives.dev/ns/core#OrganizationAgent";
77
+ readonly ApplicationAgent: "https://agenticprimitives.dev/ns/core#ApplicationAgent";
78
+ /** Re-seated ⊑ ApplicationAgent (was ⊑ Agent). */
77
79
  readonly ServiceAgent: "https://agenticprimitives.dev/ns/core#ServiceAgent";
80
+ /** ⊑ OrganizationAgent — a CHARTERED team (spec 344 §1.1); named by `.team`. */
81
+ readonly TeamAgent: "https://agenticprimitives.dev/ns/core#TeamAgent";
82
+ /** ⊑ OrganizationAgent — organizations as members (spec 344 §1.4); `.alliance` reserved, inactive. */
83
+ readonly AllianceAgent: "https://agenticprimitives.dev/ns/core#AllianceAgent";
84
+ /** ⊑ ServiceAgent — the workspace's agentive face; named by `.workspace` (ADR-0061 §4). */
85
+ readonly WorkspaceAgent: "https://agenticprimitives.dev/ns/core#WorkspaceAgent";
78
86
  readonly Treasury: "https://agenticprimitives.dev/ns/core#Treasury";
87
+ /** ⊑ ServiceAgent — the SA that OPERATES an apreg:Registry; named by `.registry`. */
88
+ readonly RegistryAgent: "https://agenticprimitives.dev/ns/core#RegistryAgent";
89
+ readonly CircleAgent: "https://agenticprimitives.dev/ns/core#CircleAgent";
90
+ readonly ChurchAgent: "https://agenticprimitives.dev/ns/core#ChurchAgent";
79
91
  readonly Desire: "https://agenticprimitives.dev/ns/intent#Desire";
80
92
  readonly Intent: "https://agenticprimitives.dev/ns/intent#Intent";
81
93
  readonly GiveIntent: "https://agenticprimitives.dev/ns/intent#GiveIntent";
@@ -152,6 +164,12 @@ export declare const CLASS: {
152
164
  readonly RegistryClaimSlot: "https://agenticprimitives.dev/ns/registry#RegistryClaimSlot";
153
165
  readonly SignedAgentCard: "https://agenticprimitives.dev/ns/registry#SignedAgentCard";
154
166
  readonly ExternalRegistryFacet: "https://agenticprimitives.dev/ns/registry#ExternalRegistryFacet";
167
+ readonly Registry: "https://agenticprimitives.dev/ns/registry#Registry";
168
+ readonly RegistrationReceipt: "https://agenticprimitives.dev/ns/registry#RegistrationReceipt";
169
+ readonly RegistryLifecycleEvent: "https://agenticprimitives.dev/ns/registry#RegistryLifecycleEvent";
170
+ readonly LogCheckpoint: "https://agenticprimitives.dev/ns/registry#LogCheckpoint";
171
+ readonly ContextualNameIssuance: "https://agenticprimitives.dev/ns/naming#ContextualNameIssuance";
172
+ readonly ContextualAgentReference: "https://agenticprimitives.dev/ns/naming#ContextualAgentReference";
155
173
  readonly CandidateQuery: "https://agenticprimitives.dev/ns/discovery#CandidateQuery";
156
174
  readonly MatchCandidate: "https://agenticprimitives.dev/ns/discovery#MatchCandidate";
157
175
  readonly TrustDetermination: "https://agenticprimitives.dev/ns/discovery#TrustDetermination";
@@ -196,6 +214,16 @@ export declare const CLASS: {
196
214
  readonly EnrollmentDecision: "https://agenticprimitives.dev/ns/org#EnrollmentDecision";
197
215
  readonly MembershipTermination: "https://agenticprimitives.dev/ns/org#MembershipTermination";
198
216
  readonly AdmissionExclusion: "https://agenticprimitives.dev/ns/org#AdmissionExclusion";
217
+ readonly TeamAffiliation: "https://agenticprimitives.dev/ns/org#TeamAffiliation";
218
+ readonly AffiliationProposal: "https://agenticprimitives.dev/ns/org#AffiliationProposal";
219
+ readonly AffiliationDecision: "https://agenticprimitives.dev/ns/org#AffiliationDecision";
220
+ readonly AffiliationTermination: "https://agenticprimitives.dev/ns/org#AffiliationTermination";
221
+ readonly WorkingGroup: "https://agenticprimitives.dev/ns/org#WorkingGroup";
222
+ readonly InterorganizationalCollaborationArrangement: "https://agenticprimitives.dev/ns/org#InterorganizationalCollaborationArrangement";
223
+ readonly Workspace: "https://agenticprimitives.dev/ns/org#Workspace";
224
+ readonly WorkspaceParticipation: "https://agenticprimitives.dev/ns/org#WorkspaceParticipation";
225
+ readonly WorkspaceRepresentation: "https://agenticprimitives.dev/ns/org#WorkspaceRepresentation";
226
+ readonly ResponsibilityAssignment: "https://agenticprimitives.dev/ns/org#ResponsibilityAssignment";
199
227
  readonly Situation: "https://agenticprimitives.dev/ns/situation#Situation";
200
228
  readonly Description: "https://agenticprimitives.dev/ns/situation#Description";
201
229
  readonly SituationRole: "https://agenticprimitives.dev/ns/situation#SituationRole";
@@ -295,6 +323,9 @@ export declare const CLASS: {
295
323
  readonly CoordinationContextSnapshot: "https://agenticprimitives.dev/ns/coordination#CoordinationContextSnapshot";
296
324
  readonly ExternalObjectBinding: "https://agenticprimitives.dev/ns/coordination#ExternalObjectBinding";
297
325
  readonly Recommendation: "https://agenticprimitives.dev/ns/coordination#Recommendation";
326
+ readonly ApprovalRequirement: "https://agenticprimitives.dev/ns/coordination#ApprovalRequirement";
327
+ readonly DecisionRequest: "https://agenticprimitives.dev/ns/coordination#DecisionRequest";
328
+ readonly DecisionRecord: "https://agenticprimitives.dev/ns/coordination#DecisionRecord";
298
329
  readonly IntentProjection: "https://agenticprimitives.dev/ns/engagement#IntentProjection";
299
330
  readonly DiscoveryProjection: "https://agenticprimitives.dev/ns/engagement#DiscoveryProjection";
300
331
  readonly EngagementProjection: "https://agenticprimitives.dev/ns/engagement#EngagementProjection";
@@ -319,6 +350,26 @@ export declare const CLASS: {
319
350
  readonly Mandate: "https://agenticprimitives.dev/ns/engagement#Mandate";
320
351
  readonly ExecutionCredential: "https://agenticprimitives.dev/ns/engagement#ExecutionCredential";
321
352
  readonly FulfillmentReceipt: "https://agenticprimitives.dev/ns/engagement#FulfillmentReceipt";
353
+ readonly CanonicalAgentProfile: "https://agenticprimitives.dev/ns/core#CanonicalAgentProfile";
354
+ readonly CanonicalAgentProfileRelease: "https://agenticprimitives.dev/ns/core#CanonicalAgentProfileRelease";
355
+ readonly A2AAgentCard: "https://agenticprimitives.dev/ns/core#A2AAgentCard";
356
+ readonly A2AAgentCardRelease: "https://agenticprimitives.dev/ns/core#A2AAgentCardRelease";
357
+ readonly ProjectionDefinition: "https://agenticprimitives.dev/ns/core#ProjectionDefinition";
358
+ readonly ProjectionInstance: "https://agenticprimitives.dev/ns/core#ProjectionInstance";
359
+ readonly ProjectionArtifact: "https://agenticprimitives.dev/ns/core#ProjectionArtifact";
360
+ readonly ProjectionLoss: "https://agenticprimitives.dev/ns/core#ProjectionLoss";
361
+ readonly Publication: "https://agenticprimitives.dev/ns/core#Publication";
362
+ readonly StandardsLock: "https://agenticprimitives.dev/ns/core#StandardsLock";
363
+ readonly ExternalIdentityBinding: "https://agenticprimitives.dev/ns/core#ExternalIdentityBinding";
364
+ readonly NamingBinding: "https://agenticprimitives.dev/ns/core#NamingBinding";
365
+ /** ⊑ prov:Activity — the PURE projector run (no credential, no network). */
366
+ readonly ProjectionGeneration: "https://agenticprimitives.dev/ns/core#ProjectionGeneration";
367
+ /** ⊑ prov:Activity — the effectful, approval-gated deployment. */
368
+ readonly PublicationActivity: "https://agenticprimitives.dev/ns/core#PublicationActivity";
369
+ readonly ProjectionAdapter: "https://agenticprimitives.dev/ns/core#ProjectionAdapter";
370
+ readonly Publisher: "https://agenticprimitives.dev/ns/core#Publisher";
371
+ /** Reified AP capability → external taxon alignment; `taxonomyRelation` names the SKOS property (tbox/skills.ttl). */
372
+ readonly SkillTaxonomyMapping: "https://agenticprimitives.dev/ns/skill#SkillTaxonomyMapping";
322
373
  readonly PPlanPlan: "http://purl.org/net/p-plan#Plan";
323
374
  readonly PPlanStep: "http://purl.org/net/p-plan#Step";
324
375
  readonly PPlanVariable: "http://purl.org/net/p-plan#Variable";
@@ -338,6 +389,20 @@ export declare const PREDICATE: {
338
389
  readonly controlStatus: "https://agenticprimitives.dev/ns/core#controlStatus";
339
390
  readonly resolvesTo: "https://agenticprimitives.dev/ns/naming#resolvesTo";
340
391
  readonly memberOf: "https://agenticprimitives.dev/ns/org#memberOf";
392
+ readonly agentType: "https://agenticprimitives.dev/ns/core#agentType";
393
+ readonly serviceRole: "https://agenticprimitives.dev/ns/core#serviceRole";
394
+ readonly tld: "https://agenticprimitives.dev/ns/naming#tld";
395
+ readonly namesDerivedType: "https://agenticprimitives.dev/ns/naming#namesDerivedType";
396
+ /** apnam: — distinct from the apcnt: content `issuedBy` below. */
397
+ readonly nameIssuedBy: "https://agenticprimitives.dev/ns/naming#issuedBy";
398
+ readonly nameIssuedFor: "https://agenticprimitives.dev/ns/naming#issuedFor";
399
+ readonly issuanceBasis: "https://agenticprimitives.dev/ns/naming#issuanceBasis";
400
+ readonly issuanceKind: "https://agenticprimitives.dev/ns/naming#issuanceKind";
401
+ readonly issuedName: "https://agenticprimitives.dev/ns/naming#issuedName";
402
+ readonly referenceSubject: "https://agenticprimitives.dev/ns/naming#referenceSubject";
403
+ readonly referenceContext: "https://agenticprimitives.dev/ns/naming#referenceContext";
404
+ readonly referenceRoleAssignment: "https://agenticprimitives.dev/ns/naming#referenceRoleAssignment";
405
+ readonly referenceBasis: "https://agenticprimitives.dev/ns/naming#referenceBasis";
341
406
  readonly listingSubject: "https://agenticprimitives.dev/ns/org#listingSubject";
342
407
  readonly listingContext: "https://agenticprimitives.dev/ns/org#listingContext";
343
408
  readonly listingVisibility: "https://agenticprimitives.dev/ns/org#visibility";
@@ -456,6 +521,30 @@ export declare const PREDICATE: {
456
521
  readonly externalSurface: "https://agenticprimitives.dev/ns/registry#externalSurface";
457
522
  readonly externalIdentifier: "https://agenticprimitives.dev/ns/registry#externalIdentifier";
458
523
  readonly projectionOf: "https://agenticprimitives.dev/ns/registry#projectionOf";
524
+ readonly operatesRegistry: "https://agenticprimitives.dev/ns/registry#operatesRegistry";
525
+ readonly operatedBy: "https://agenticprimitives.dev/ns/registry#operatedBy";
526
+ readonly inRegistry: "https://agenticprimitives.dev/ns/registry#inRegistry";
527
+ readonly describedByProfile: "https://agenticprimitives.dev/ns/registry#describedByProfile";
528
+ readonly verifiedCheck: "https://agenticprimitives.dev/ns/registry#verifiedCheck";
529
+ readonly failedCheck: "https://agenticprimitives.dev/ns/registry#failedCheck";
530
+ readonly notVerifiedCheck: "https://agenticprimitives.dev/ns/registry#notVerifiedCheck";
531
+ readonly receiptFor: "https://agenticprimitives.dev/ns/registry#receiptFor";
532
+ readonly receiptSubjectType: "https://agenticprimitives.dev/ns/registry#subjectType";
533
+ readonly admittedAt: "https://agenticprimitives.dev/ns/registry#admittedAt";
534
+ readonly receiptSigner: "https://agenticprimitives.dev/ns/registry#receiptSigner";
535
+ readonly receiptSignature: "https://agenticprimitives.dev/ns/registry#receiptSignature";
536
+ readonly citesReceipt: "https://agenticprimitives.dev/ns/registry#citesReceipt";
537
+ readonly eventKind: "https://agenticprimitives.dev/ns/registry#eventKind";
538
+ readonly eventSequence: "https://agenticprimitives.dev/ns/registry#eventSequence";
539
+ readonly previousEventDigest: "https://agenticprimitives.dev/ns/registry#previousEventDigest";
540
+ readonly eventDigest: "https://agenticprimitives.dev/ns/registry#eventDigest";
541
+ readonly eventOccurredAt: "https://agenticprimitives.dev/ns/registry#occurredAt";
542
+ readonly merkleRoot: "https://agenticprimitives.dev/ns/registry#merkleRoot";
543
+ readonly checkpointFrom: "https://agenticprimitives.dev/ns/registry#checkpointFrom";
544
+ readonly checkpointTo: "https://agenticprimitives.dev/ns/registry#checkpointTo";
545
+ readonly anchorRef: "https://agenticprimitives.dev/ns/registry#anchorRef";
546
+ /** DERIVED by a pure fold over the log — never a hand-written flag. ≠ lifecycleStatus (on-chain). */
547
+ readonly entryStatus: "https://agenticprimitives.dev/ns/registry#entryStatus";
459
548
  readonly queryHash: "https://agenticprimitives.dev/ns/discovery#queryHash";
460
549
  readonly usesGraphSnapshot: "https://agenticprimitives.dev/ns/discovery#usesGraphSnapshot";
461
550
  readonly usesInferenceProfile: "https://agenticprimitives.dev/ns/discovery#usesInferenceProfile";
@@ -525,6 +614,42 @@ export declare const PREDICATE: {
525
614
  readonly materializedByDelegation: "https://agenticprimitives.dev/ns/org#materializedByDelegation";
526
615
  readonly supportedByEntitlement: "https://agenticprimitives.dev/ns/org#supportedByEntitlement";
527
616
  readonly expressesJoinIntent: "https://agenticprimitives.dev/ns/org#expressesJoinIntent";
617
+ readonly teamAgent: "https://agenticprimitives.dev/ns/org#teamAgent";
618
+ readonly affiliatedOrganization: "https://agenticprimitives.dev/ns/org#affiliatedOrganization";
619
+ readonly affiliationKind: "https://agenticprimitives.dev/ns/org#affiliationKind";
620
+ readonly mandatedByDelegation: "https://agenticprimitives.dev/ns/org#mandatedByDelegation";
621
+ readonly charteredBy: "https://agenticprimitives.dev/ns/org#charteredBy";
622
+ readonly engagedWith: "https://agenticprimitives.dev/ns/org#engagedWith";
623
+ readonly governedBy: "https://agenticprimitives.dev/ns/org#governedBy";
624
+ readonly workspacePurpose: "https://agenticprimitives.dev/ns/org#workspacePurpose";
625
+ readonly workspaceProfile: "https://agenticprimitives.dev/ns/org#workspaceProfile";
626
+ readonly focusedOn: "https://agenticprimitives.dev/ns/org#focusedOn";
627
+ readonly workspaceParticipationPolicy: "https://agenticprimitives.dev/ns/org#workspaceParticipationPolicy";
628
+ /** aporg: — distinct from the apmsg: topic `participantAgent` above. */
629
+ readonly workspaceParticipantAgent: "https://agenticprimitives.dev/ns/org#participantAgent";
630
+ readonly inWorkspace: "https://agenticprimitives.dev/ns/org#inWorkspace";
631
+ readonly coordinatedBy: "https://agenticprimitives.dev/ns/org#coordinatedBy";
632
+ /** owl:inverseOf coordinatedBy; at most one (spec 346 §2.2). */
633
+ readonly coordinatesWorkspace: "https://agenticprimitives.dev/ns/org#coordinatesWorkspace";
634
+ readonly boundAgent: "https://agenticprimitives.dev/ns/org#boundAgent";
635
+ readonly represents: "https://agenticprimitives.dev/ns/org#represents";
636
+ readonly representationOfWorkspace: "https://agenticprimitives.dev/ns/org#representationOfWorkspace";
637
+ readonly sourceCustodian: "https://agenticprimitives.dev/ns/org#sourceCustodian";
638
+ readonly localLabel: "https://agenticprimitives.dev/ns/org#localLabel";
639
+ /** Missing = a SHACL violation: absence of a policy is never public (spec 344 §4.6). */
640
+ readonly sharingPolicy: "https://agenticprimitives.dev/ns/org#sharingPolicy";
641
+ readonly representationValidUntil: "https://agenticprimitives.dev/ns/org#representationValidUntil";
642
+ readonly adoptedResource: "https://agenticprimitives.dev/ns/org#adoptedResource";
643
+ readonly boundApp: "https://agenticprimitives.dev/ns/org#boundApp";
644
+ readonly hostedInWorkspace: "https://agenticprimitives.dev/ns/messaging#hostedInWorkspace";
645
+ readonly responsibleAgent: "https://agenticprimitives.dev/ns/org#responsibleAgent";
646
+ readonly accountableAgent: "https://agenticprimitives.dev/ns/org#accountableAgent";
647
+ readonly responsibilityKind: "https://agenticprimitives.dev/ns/org#responsibilityKind";
648
+ readonly responsibilityScope: "https://agenticprimitives.dev/ns/org#responsibilityScope";
649
+ readonly underMandate: "https://agenticprimitives.dev/ns/org#underMandate";
650
+ /** aporg: — distinct from the apcoord: outcome term of the same local name. */
651
+ readonly responsibilityExpectedOutcome: "https://agenticprimitives.dev/ns/org#expectedOutcome";
652
+ readonly reviewCadenceDays: "https://agenticprimitives.dev/ns/org#reviewCadenceDays";
528
653
  readonly containsEnvelope: "https://agenticprimitives.dev/ns/interaction#containsEnvelope";
529
654
  readonly realizesAct: "https://agenticprimitives.dev/ns/interaction#realizesAct";
530
655
  readonly exchangeActor: "https://agenticprimitives.dev/ns/interaction#actor";
@@ -554,6 +679,8 @@ export declare const PREDICATE: {
554
679
  readonly actingAgent: "https://agenticprimitives.dev/ns/actor#actingAgent";
555
680
  readonly actorAgentInstance: "https://agenticprimitives.dev/ns/actor#agentInstance";
556
681
  readonly actorConfirmationKey: "https://agenticprimitives.dev/ns/actor#confirmationKey";
682
+ /** The Activities edge into the workspace plane (spec 344 §4.3) — an audit context, never authority. */
683
+ readonly withinWorkspace: "https://agenticprimitives.dev/ns/actor#withinWorkspace";
557
684
  readonly accountabilityRootOf: "https://agenticprimitives.dev/ns/actor#accountabilityRootOf";
558
685
  readonly representsPrincipal: "https://agenticprimitives.dev/ns/actor#representsPrincipal";
559
686
  readonly agentIdentityOf: "https://agenticprimitives.dev/ns/actor#agentIdentityOf";
@@ -579,6 +706,10 @@ export declare const PREDICATE: {
579
706
  readonly regions: "https://agenticprimitives.dev/ns/profile#regions";
580
707
  /** Subject-domain labels (apctx:KnowledgeDomain). fitScore boost ONLY — never a hard filter. */
581
708
  readonly focusAreas: "https://agenticprimitives.dev/ns/profile#focusAreas";
709
+ /** Spec 347 §8.5 — `atl:distribution`: the JCS JSON of an `AgentDistributionV1` (how to obtain + run the
710
+ * agent's software; mirrors the ACP registry agent.schema.json). Stored + projected as the plain string;
711
+ * parsed fail-closed by consumers. Distribution only — never a capability claim or trust signal. */
712
+ readonly distribution: "https://agenticprimitives.dev/ns/profile#distribution";
582
713
  readonly definesCapability: "https://agenticprimitives.dev/ns/skill#definesCapability";
583
714
  readonly classifiesCapability: "https://agenticprimitives.dev/ns/skill#classifiesCapability";
584
715
  readonly assertsCapability: "https://agenticprimitives.dev/ns/skill#assertsCapability";
@@ -682,6 +813,60 @@ export declare const PREDICATE: {
682
813
  readonly receiptForMandate: "https://agenticprimitives.dev/ns/engagement#receiptForMandate";
683
814
  readonly receiptForIntentDigest: "https://agenticprimitives.dev/ns/engagement#receiptForIntentDigest";
684
815
  readonly engagementRequestingPrincipal: "https://agenticprimitives.dev/ns/engagement#requestingPrincipal";
816
+ readonly describesAgent: "https://agenticprimitives.dev/ns/core#describesAgent";
817
+ readonly hasAgentCard: "https://agenticprimitives.dev/ns/core#hasAgentCard";
818
+ readonly primaryPublicCard: "https://agenticprimitives.dev/ns/core#primaryPublicCard";
819
+ readonly hasRelease: "https://agenticprimitives.dev/ns/core#hasRelease";
820
+ readonly releaseOf: "https://agenticprimitives.dev/ns/core#releaseOf";
821
+ readonly supersedesRelease: "https://agenticprimitives.dev/ns/core#supersedesRelease";
822
+ readonly derivedFromSnapshot: "https://agenticprimitives.dev/ns/core#derivedFromSnapshot";
823
+ readonly usesProjectionDefinition: "https://agenticprimitives.dev/ns/core#usesProjectionDefinition";
824
+ readonly usesCardRelease: "https://agenticprimitives.dev/ns/core#usesCardRelease";
825
+ readonly generatedArtifact: "https://agenticprimitives.dev/ns/core#generatedArtifact";
826
+ readonly projectsTo: "https://agenticprimitives.dev/ns/core#projectsTo";
827
+ readonly hasTargetSpecification: "https://agenticprimitives.dev/ns/core#hasTargetSpecification";
828
+ readonly hasAdapterVersion: "https://agenticprimitives.dev/ns/core#hasAdapterVersion";
829
+ readonly hasLoss: "https://agenticprimitives.dev/ns/core#hasLoss";
830
+ readonly lossCategory: "https://agenticprimitives.dev/ns/core#lossCategory";
831
+ readonly lossSeverity: "https://agenticprimitives.dev/ns/core#lossSeverity";
832
+ readonly lossExplanation: "https://agenticprimitives.dev/ns/core#lossExplanation";
833
+ readonly sourcePointer: "https://agenticprimitives.dev/ns/core#sourcePointer";
834
+ readonly targetPointer: "https://agenticprimitives.dev/ns/core#targetPointer";
835
+ readonly publishedAs: "https://agenticprimitives.dev/ns/core#publishedAs";
836
+ readonly publishedArtifact: "https://agenticprimitives.dev/ns/core#publishedArtifact";
837
+ readonly establishesBinding: "https://agenticprimitives.dev/ns/core#establishesBinding";
838
+ readonly bindsExternalIdentity: "https://agenticprimitives.dev/ns/core#bindsExternalIdentity";
839
+ readonly targetFamily: "https://agenticprimitives.dev/ns/core#targetFamily";
840
+ readonly targetRegistry: "https://agenticprimitives.dev/ns/core#targetRegistry";
841
+ readonly externalId: "https://agenticprimitives.dev/ns/core#externalId";
842
+ readonly verificationState: "https://agenticprimitives.dev/ns/core#verificationState";
843
+ readonly verificationMethod: "https://agenticprimitives.dev/ns/core#verificationMethod";
844
+ readonly verifiedAt: "https://agenticprimitives.dev/ns/core#verifiedAt";
845
+ readonly lifecycleState: "https://agenticprimitives.dev/ns/core#lifecycleState";
846
+ /** 'public' | 'private'; ABSENCE IS PRIVATE. */
847
+ readonly disclosureScope: "https://agenticprimitives.dev/ns/core#disclosureScope";
848
+ readonly cardDigest: "https://agenticprimitives.dev/ns/core#cardDigest";
849
+ readonly cardUri: "https://agenticprimitives.dev/ns/core#cardUri";
850
+ readonly cardName: "https://agenticprimitives.dev/ns/core#cardName";
851
+ readonly protocolVersion: "https://agenticprimitives.dev/ns/core#protocolVersion";
852
+ readonly interfaceUrl: "https://agenticprimitives.dev/ns/core#interfaceUrl";
853
+ readonly interfaceTransport: "https://agenticprimitives.dev/ns/core#interfaceTransport";
854
+ readonly hasDigest: "https://agenticprimitives.dev/ns/core#hasDigest";
855
+ readonly hasSourceDigest: "https://agenticprimitives.dev/ns/core#hasSourceDigest";
856
+ readonly hasDefinitionDigest: "https://agenticprimitives.dev/ns/core#hasDefinitionDigest";
857
+ readonly hasTargetSpecificationDigest: "https://agenticprimitives.dev/ns/core#hasTargetSpecificationDigest";
858
+ readonly hasAdapterDigest: "https://agenticprimitives.dev/ns/core#hasAdapterDigest";
859
+ readonly hasConfigurationDigest: "https://agenticprimitives.dev/ns/core#hasConfigurationDigest";
860
+ readonly hasArtifactDigest: "https://agenticprimitives.dev/ns/core#hasArtifactDigest";
861
+ readonly hasCanonicalProfileDigest: "https://agenticprimitives.dev/ns/core#hasCanonicalProfileDigest";
862
+ readonly hasSelectedCardDigest: "https://agenticprimitives.dev/ns/core#hasSelectedCardDigest";
863
+ readonly mapsCapability: "https://agenticprimitives.dev/ns/skill#mapsCapability";
864
+ readonly taxonomy: "https://agenticprimitives.dev/ns/skill#taxonomy";
865
+ readonly taxonomyVersion: "https://agenticprimitives.dev/ns/skill#taxonomyVersion";
866
+ readonly targetClassId: "https://agenticprimitives.dev/ns/skill#targetClassId";
867
+ readonly taxonomyRelation: "https://agenticprimitives.dev/ns/skill#taxonomyRelation";
868
+ readonly mappingAssertedBy: "https://agenticprimitives.dev/ns/skill#mappingAssertedBy";
869
+ readonly mappingAssertedAt: "https://agenticprimitives.dev/ns/skill#mappingAssertedAt";
685
870
  };
686
871
  /** SHACL shape IRIs (C-box).
687
872
  *
@@ -709,6 +894,30 @@ export declare const SHAPE: {
709
894
  readonly ChannelBoard: "https://agenticprimitives.dev/ns/messaging#ChannelBoardShape";
710
895
  readonly DirectoryListing: "https://agenticprimitives.dev/ns/org#DirectoryListingShape";
711
896
  readonly OrganizationMembership: "https://agenticprimitives.dev/ns/org#OrganizationMembershipShape";
897
+ readonly TeamAffiliation: "https://agenticprimitives.dev/ns/org#TeamAffiliationShape";
898
+ readonly WorkspaceParticipation: "https://agenticprimitives.dev/ns/org#WorkspaceParticipationShape";
899
+ readonly Workspace: "https://agenticprimitives.dev/ns/org#WorkspaceShape";
900
+ /** A missing sharingPolicy is a VIOLATION — absence of a policy is never public. */
901
+ readonly WorkspaceRepresentation: "https://agenticprimitives.dev/ns/org#WorkspaceRepresentationShape";
902
+ readonly Responsibility: "https://agenticprimitives.dev/ns/org#ResponsibilityShape";
903
+ /** Suffix ↔ target ap:agentType consistency; legacy (suffix-less) names are exempt. */
904
+ readonly TypedAgentName: "https://agenticprimitives.dev/ns/naming#TypedAgentNameShape";
905
+ readonly ContextualNameIssuance: "https://agenticprimitives.dev/ns/naming#ContextualNameIssuanceShape";
906
+ readonly WorkspaceAgent: "https://agenticprimitives.dev/ns/core#WorkspaceAgentShape";
907
+ readonly RegistryAgent: "https://agenticprimitives.dev/ns/core#RegistryAgentShape";
908
+ /** Every AdmissionCheck in exactly one of verified / failed / notVerified. */
909
+ readonly RegistrationReceipt: "https://agenticprimitives.dev/ns/registry#RegistrationReceiptShape";
910
+ /** previousEventDigest present for sequence > 0; kinds / digests / registry pinned. */
911
+ readonly RegistryLifecycleEvent: "https://agenticprimitives.dev/ns/registry#RegistryLifecycleEventShape";
912
+ /** eventSequence unique per registry (its own shape: one sh:sparql per NodeShape). */
913
+ readonly RegistryLogSequence: "https://agenticprimitives.dev/ns/registry#RegistryLogSequenceShape";
914
+ readonly ActivityTemporalOrder: "https://agenticprimitives.dev/ns/execution#ActivityTemporalOrderShape";
915
+ readonly RunTemporalOrder: "https://agenticprimitives.dev/ns/execution#RunTemporalOrderShape";
916
+ readonly StepUsageResolvable: "https://agenticprimitives.dev/ns/execution#StepUsageResolvableShape";
917
+ readonly CapabilityStepMandate: "https://agenticprimitives.dev/ns/execution#CapabilityStepMandateShape";
918
+ readonly CompletedStepReceipt: "https://agenticprimitives.dev/ns/execution#CompletedStepReceiptShape";
919
+ readonly ExecutionTraceBundleMembership: "https://agenticprimitives.dev/ns/execution#ExecutionTraceBundleMembershipShape";
920
+ readonly NoPlaintextInRunProvenance: "https://agenticprimitives.dev/ns/execution#NoPlaintextInRunProvenanceShape";
712
921
  readonly Interaction: "https://agenticprimitives.dev/ns/interaction#InteractionShape";
713
922
  readonly InteractionProfile: "https://agenticprimitives.dev/ns/interaction#InteractionProfileShape";
714
923
  readonly Exchange: "https://agenticprimitives.dev/ns/interaction#ExchangeShape";
@@ -750,7 +959,28 @@ export declare const SHAPE: {
750
959
  readonly SpouseRelation: "https://agenticprimitives.dev/ns/familyoffice#SpouseRelationShape";
751
960
  readonly ParentChildRelation: "https://agenticprimitives.dev/ns/familyoffice#ParentChildRelationShape";
752
961
  readonly SiblingRelation: "https://agenticprimitives.dev/ns/familyoffice#SiblingRelationShape";
962
+ /** A2AAgentCard: name, ≥1 interface URL, protocolVersion. */
963
+ readonly PublicCardMetadata: "https://agenticprimitives.dev/ns/core#PublicCardMetadataShape";
964
+ /** ProjectionArtifact: ALL eight digests, a loss report, and the agent it describes. */
965
+ readonly ProjectionProvenance: "https://agenticprimitives.dev/ns/core#ProjectionProvenanceShape";
966
+ /** ProjectionLoss: a category from ap:lossCategoryScheme and an explanation. */
967
+ readonly ProjectionLoss: "https://agenticprimitives.dev/ns/core#ProjectionLossShape";
968
+ /** ExternalIdentityBinding: canonical agent + target family + external id + verification state. */
969
+ readonly ExternalIdentityBinding: "https://agenticprimitives.dev/ns/core#ExternalIdentityBindingShape";
970
+ /** A PUBLIC artifact carries no loopback / private / link-local endpoint and no vault reference. */
971
+ readonly PublicDisclosureBoundary: "https://agenticprimitives.dev/ns/core#PublicDisclosureBoundaryShape";
972
+ /** Its own NodeShape (one sh:sparql per shape): no literal anywhere on a public artifact is a vault ref. */
973
+ readonly PublicArtifactNoVaultRef: "https://agenticprimitives.dev/ns/core#PublicArtifactNoVaultRefShape";
753
974
  };
754
975
  export type { GroundedTerm, StandardGrounding } from './grounded-vocabulary.js';
755
976
  export { GROUNDED_VOCABULARY, groundedTerm } from './grounded-vocabulary.js';
977
+ export * from './party-roles.js';
978
+ export * from './vault-records.js';
979
+ export * from './plan-shapes.js';
980
+ export * from './relations.js';
981
+ export * from './arg-types.js';
982
+ export * from './household.js';
983
+ export * from './decisions.js';
984
+ export { CONTACT_FIELDS, CONTACT_FIELD_ARGS, CONTACT_PROFILE_PROPERTIES, contactField, precisionOf, type ContactFieldV1 } from './contact-fields.js';
985
+ export { RUN_PROVENANCE_CONTEXT } from './run-provenance-context.js';
756
986
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EL,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;CASd,CAAC;AAEX,4DAA4D;AAC5D,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuMhB,2CAA2C;;;IAG3C,0CAA0C;;;IAG1C,mDAAmD;;;IAGnD,4CAA4C;;;;IAK5C,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2GhC,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwOpB,sGAAsG;;;IAGtG,kGAAkG;;;;;;;;;;;;;;;;;;;;;;;;;;IAmClG;;;;2GAIuG;;IAEvG;6EACyE;;IAEzE,+FAA+F;;IAE/F,+FAA+F;;IAE/F,gGAAgG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2HxF,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;IA2BhB,wFAAwF;;;;;;;;;;;;;;;;;;;;IAyBxF,+EAA+E;;IAE/E;0EACsE;;;IAGtE;;kGAE8F;;IAE9F,0FAA0F;;;;;;;;CAYlF,CAAC;AAQX,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EL,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;CASd,CAAC;AAEX,4DAA4D;AAC5D,eAAO,MAAM,KAAK;;;;;;;;;;;IAiBhB,kDAAkD;;IAElD,gFAAgF;;IAEhF,sGAAsG;;IAEtG,2FAA2F;;;IAG3F,qFAAqF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmNrF,2CAA2C;;;IAG3C,0CAA0C;;;IAG1C,mDAAmD;;;IAGnD,4CAA4C;;;;IAK5C,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoHxC,4EAA4E;;IAE5E,kEAAkE;;;;IAIlE,sHAAsH;;;;;;;;;;;CAa9G,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,SAAS;;;;;;;;;;;;IAgBpB,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmKlE,qGAAqG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiGrG,wEAAwE;;;;IAIxE,gEAAgE;;;;;;;IAOhE,wFAAwF;;;;;;;;;;;IAYxF,+EAA+E;;;;;;;;;;;;;IAc/E,sGAAsG;;;IAGtG,kGAAkG;;;;;;;;;;;;;;;;IAqBlG,wGAAwG;;;;;;;;;;;;IAgBxG;;;;2GAIuG;;IAEvG;6EACyE;;IAEzE,+FAA+F;;IAE/F,+FAA+F;;IAE/F,gGAAgG;;IAEhG;;yGAEqG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0JrG,gDAAgD;;;;;;;;;;;;;;;;;;;;;;;;CA0BxC,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;IA0BhB,oFAAoF;;;IAKpF,uFAAuF;;;;;IAKvF,8EAA8E;;IAE9E,uFAAuF;;IAEvF,sFAAsF;;;;;;;;;;;;IAiBtF,wFAAwF;;;;;;;;;;;;;;;;;;;;IAyBxF,+EAA+E;;IAE/E;0EACsE;;;IAGtE;;kGAE8F;;IAE9F,0FAA0F;;;;;;;;IAc1F,6DAA6D;;IAE7D,wFAAwF;;IAExF,gFAAgF;;IAEhF,mGAAmG;;IAEnG,oGAAoG;;IAEpG,4GAA4G;;CAEpG,CAAC;AAQX,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7E,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAI/B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}