narai-primitives 2.0.0 → 2.1.1

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 (145) hide show
  1. package/dist/config/index.d.ts +1 -0
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/index.js +1 -0
  4. package/dist/config/index.js.map +1 -1
  5. package/dist/config/policy_validation.d.ts +68 -0
  6. package/dist/config/policy_validation.d.ts.map +1 -0
  7. package/dist/config/policy_validation.js +58 -0
  8. package/dist/config/policy_validation.js.map +1 -0
  9. package/dist/config/types.d.ts +37 -19
  10. package/dist/config/types.d.ts.map +1 -1
  11. package/dist/connectors/aws/lib/aws_client.js +1 -1
  12. package/dist/connectors/aws/lib/aws_client.js.map +1 -1
  13. package/dist/connectors/confluence/index.js +1 -1
  14. package/dist/connectors/confluence/index.js.map +1 -1
  15. package/dist/connectors/confluence/lib/confluence_client.js +1 -1
  16. package/dist/connectors/confluence/lib/confluence_client.js.map +1 -1
  17. package/dist/connectors/db/connector.d.ts.map +1 -1
  18. package/dist/connectors/db/connector.js +4 -0
  19. package/dist/connectors/db/connector.js.map +1 -1
  20. package/dist/connectors/db/index.d.ts +1 -1
  21. package/dist/connectors/db/index.d.ts.map +1 -1
  22. package/dist/connectors/db/index.js +1 -1
  23. package/dist/connectors/db/index.js.map +1 -1
  24. package/dist/connectors/db/lib/connection.js +1 -1
  25. package/dist/connectors/db/lib/connection.js.map +1 -1
  26. package/dist/connectors/db/lib/credentials.d.ts +1 -1
  27. package/dist/connectors/db/lib/credentials.js +4 -4
  28. package/dist/connectors/db/lib/credentials.js.map +1 -1
  29. package/dist/connectors/db/lib/plugin_config.d.ts +28 -1
  30. package/dist/connectors/db/lib/plugin_config.d.ts.map +1 -1
  31. package/dist/connectors/db/lib/plugin_config.js +7 -1
  32. package/dist/connectors/db/lib/plugin_config.js.map +1 -1
  33. package/dist/connectors/db/lib/policy.d.ts +10 -2
  34. package/dist/connectors/db/lib/policy.d.ts.map +1 -1
  35. package/dist/connectors/db/lib/policy.js.map +1 -1
  36. package/dist/connectors/github/index.js +1 -1
  37. package/dist/connectors/github/index.js.map +1 -1
  38. package/dist/connectors/github/lib/github_client.js +1 -1
  39. package/dist/connectors/github/lib/github_client.js.map +1 -1
  40. package/dist/connectors/jira/index.js +1 -1
  41. package/dist/connectors/jira/index.js.map +1 -1
  42. package/dist/connectors/jira/lib/jira_client.js +1 -1
  43. package/dist/connectors/jira/lib/jira_client.js.map +1 -1
  44. package/dist/connectors/notion/index.js +1 -1
  45. package/dist/connectors/notion/index.js.map +1 -1
  46. package/dist/connectors/notion/lib/notion_client.js +1 -1
  47. package/dist/connectors/notion/lib/notion_client.js.map +1 -1
  48. package/dist/credentials/cloud_secrets.d.ts +57 -0
  49. package/dist/credentials/cloud_secrets.d.ts.map +1 -0
  50. package/dist/credentials/cloud_secrets.js +202 -0
  51. package/dist/credentials/cloud_secrets.js.map +1 -0
  52. package/dist/credentials/env_var.d.ts +24 -0
  53. package/dist/credentials/env_var.d.ts.map +1 -0
  54. package/dist/credentials/env_var.js +30 -0
  55. package/dist/credentials/env_var.js.map +1 -0
  56. package/dist/credentials/file.d.ts +73 -0
  57. package/dist/credentials/file.d.ts.map +1 -0
  58. package/dist/credentials/file.js +159 -0
  59. package/dist/credentials/file.js.map +1 -0
  60. package/dist/credentials/index.d.ts +114 -0
  61. package/dist/credentials/index.d.ts.map +1 -0
  62. package/dist/credentials/index.js +174 -0
  63. package/dist/credentials/index.js.map +1 -0
  64. package/dist/credentials/keychain.d.ts +31 -0
  65. package/dist/credentials/keychain.d.ts.map +1 -0
  66. package/dist/credentials/keychain.js +124 -0
  67. package/dist/credentials/keychain.js.map +1 -0
  68. package/dist/credentials/parse_ref.d.ts +57 -0
  69. package/dist/credentials/parse_ref.d.ts.map +1 -0
  70. package/dist/credentials/parse_ref.js +128 -0
  71. package/dist/credentials/parse_ref.js.map +1 -0
  72. package/dist/credentials/redact.d.ts +30 -0
  73. package/dist/credentials/redact.d.ts.map +1 -0
  74. package/dist/credentials/redact.js +51 -0
  75. package/dist/credentials/redact.js.map +1 -0
  76. package/dist/toolkit/agent_resolver.d.ts +22 -6
  77. package/dist/toolkit/agent_resolver.d.ts.map +1 -1
  78. package/dist/toolkit/agent_resolver.js +53 -8
  79. package/dist/toolkit/agent_resolver.js.map +1 -1
  80. package/dist/toolkit/connector.d.ts +11 -0
  81. package/dist/toolkit/connector.d.ts.map +1 -1
  82. package/dist/toolkit/connector.js.map +1 -1
  83. package/dist/toolkit/index.d.ts +1 -1
  84. package/dist/toolkit/index.js +1 -1
  85. package/dist/toolkit/policy/config.d.ts.map +1 -1
  86. package/dist/toolkit/policy/config.js +1 -2
  87. package/dist/toolkit/policy/config.js.map +1 -1
  88. package/dist/toolkit/policy/gate.d.ts +7 -5
  89. package/dist/toolkit/policy/gate.d.ts.map +1 -1
  90. package/dist/toolkit/policy/gate.js +2 -14
  91. package/dist/toolkit/policy/gate.js.map +1 -1
  92. package/dist/toolkit/policy/types.d.ts +30 -8
  93. package/dist/toolkit/policy/types.d.ts.map +1 -1
  94. package/dist/toolkit/policy/types.js +8 -2
  95. package/dist/toolkit/policy/types.js.map +1 -1
  96. package/package.json +21 -3
  97. package/plugins/aws-agent/.claude-plugin/plugin.json +2 -2
  98. package/plugins/aws-agent/README.md +2 -2
  99. package/plugins/aws-agent/bin/aws-agent +2 -2
  100. package/plugins/aws-agent/hooks/hooks.json +5 -5
  101. package/plugins/aws-agent/hooks/reminder.mjs +1 -1
  102. package/plugins/aws-agent/package.json +1 -1
  103. package/plugins/aws-agent/skills/aws-agent/SKILL.md +1 -1
  104. package/plugins/confluence-agent/.claude-plugin/plugin.json +2 -2
  105. package/plugins/confluence-agent/README.md +1 -1
  106. package/plugins/confluence-agent/bin/confluence-agent +1 -1
  107. package/plugins/confluence-agent/hooks/hooks.json +5 -5
  108. package/plugins/confluence-agent/hooks/reminder.mjs +1 -1
  109. package/plugins/confluence-agent/package.json +1 -1
  110. package/plugins/confluence-agent/skills/confluence-agent/SKILL.md +1 -1
  111. package/plugins/db-agent/.claude-plugin/plugin.json +4 -4
  112. package/plugins/db-agent/README.md +2 -2
  113. package/plugins/db-agent/bin/db-agent +1 -1
  114. package/plugins/db-agent/hooks/hooks.json +6 -6
  115. package/plugins/db-agent/hooks/reminder.mjs +1 -1
  116. package/plugins/db-agent/package.json +1 -1
  117. package/plugins/db-agent/skills/db-agent/SKILL.md +1 -1
  118. package/plugins/gcp-agent/.claude-plugin/plugin.json +2 -2
  119. package/plugins/gcp-agent/README.md +2 -2
  120. package/plugins/gcp-agent/bin/gcp-agent +2 -2
  121. package/plugins/gcp-agent/hooks/hooks.json +5 -5
  122. package/plugins/gcp-agent/hooks/reminder.mjs +1 -1
  123. package/plugins/gcp-agent/package.json +1 -1
  124. package/plugins/gcp-agent/skills/gcp-agent/SKILL.md +1 -1
  125. package/plugins/github-agent/.claude-plugin/plugin.json +2 -2
  126. package/plugins/github-agent/README.md +1 -1
  127. package/plugins/github-agent/bin/github-agent +1 -1
  128. package/plugins/github-agent/hooks/hooks.json +5 -5
  129. package/plugins/github-agent/hooks/reminder.mjs +1 -1
  130. package/plugins/github-agent/package.json +1 -1
  131. package/plugins/github-agent/skills/github-agent/SKILL.md +1 -1
  132. package/plugins/jira-agent/.claude-plugin/plugin.json +2 -2
  133. package/plugins/jira-agent/README.md +1 -1
  134. package/plugins/jira-agent/bin/jira-agent +1 -1
  135. package/plugins/jira-agent/hooks/hooks.json +5 -5
  136. package/plugins/jira-agent/hooks/reminder.mjs +1 -1
  137. package/plugins/jira-agent/package.json +1 -1
  138. package/plugins/jira-agent/skills/jira-agent/SKILL.md +1 -1
  139. package/plugins/notion-agent/.claude-plugin/plugin.json +2 -2
  140. package/plugins/notion-agent/README.md +2 -2
  141. package/plugins/notion-agent/bin/notion-agent +1 -1
  142. package/plugins/notion-agent/hooks/hooks.json +5 -5
  143. package/plugins/notion-agent/hooks/reminder.mjs +1 -1
  144. package/plugins/notion-agent/package.json +1 -1
  145. package/plugins/notion-agent/skills/notion-agent/SKILL.md +1 -1
@@ -19,7 +19,6 @@ import * as yaml from "js-yaml";
19
19
  import { DEFAULT_POLICY, } from "./types.js";
20
20
  const VALID_RULES = new Set([
21
21
  "success",
22
- "present",
23
22
  "escalate",
24
23
  "denied",
25
24
  ]);
@@ -79,7 +78,7 @@ function readYaml(filePath) {
79
78
  }
80
79
  function validateRule(field, value, restricted) {
81
80
  if (typeof value !== "string" || !VALID_RULES.has(value)) {
82
- throw new Error(`${field}: expected one of [success, present, escalate, denied], got: ${JSON.stringify(value)}`);
81
+ throw new Error(`${field}: expected one of [success, escalate, denied], got: ${JSON.stringify(value)}`);
83
82
  }
84
83
  const rule = value;
85
84
  if (restricted && rule === "success") {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/toolkit/policy/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/toolkit/policy/config.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,12 @@
3
3
  * `./approval.ts` (the factory wires it up per connector invocation).
4
4
  *
5
5
  * Rule combination: kind rule is the base; each aspect rule (if declared)
6
- * applies on top via Rule strictness (denied > escalate > present > success).
7
- * Note: Rule "present" collapses to Decision "escalate" extendDecision
8
- * hooks intercept escalate to emit ExtendedEnvelope.
9
- * Ties go to the first offender so the `reason` message is predictable.
6
+ * applies on top via Rule strictness (denied > escalate > success). Ties
7
+ * go to the first offender so the `reason` message is predictable.
8
+ *
9
+ * Connectors with custom rule values (e.g. db-agent's `"present"`) must
10
+ * translate them to base values before invoking `checkPolicy` — the gate
11
+ * is exhaustive over the base 3-rule set only.
10
12
  */
11
13
  import type { ApprovalMode, Classification, Decision, PolicyRules } from "./types.js";
12
14
  /** Minimal state needed for approval-mode resolution. Pure-data. */
@@ -19,7 +21,7 @@ export interface ApprovalState {
19
21
  * decision. No side effects — the caller is responsible for emitting audit
20
22
  * events (see `../audit/writer.ts`).
21
23
  */
22
- export declare function checkPolicy(classification: Classification, rules: PolicyRules, approvalMode: ApprovalMode, approvalState: ApprovalState): Decision;
24
+ export declare function checkPolicy(classification: Classification, rules: PolicyRules<never>, approvalMode: ApprovalMode, approvalState: ApprovalState): Decision;
23
25
  /**
24
26
  * Combine multiple per-call decisions (e.g., db-agent classifies each SQL
25
27
  * statement separately). Strictest decision wins; ties by first occurrence.
@@ -1 +1 @@
1
- {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/toolkit/policy/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,WAAW,EAEZ,MAAM,YAAY,CAAC;AAWpB,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC3B,QAAQ,CA0CV;AAuCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAYzE"}
1
+ {"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/toolkit/policy/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,WAAW,EAEZ,MAAM,YAAY,CAAC;AAUpB,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EACzB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC3B,QAAQ,CAqCV;AAuCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,CAYzE"}
@@ -2,9 +2,8 @@ import { DECISION_RANK } from "./types.js";
2
2
  /** Strictness rank for combining Rule values (same order as DECISION_RANK). */
3
3
  const RULE_RANK = {
4
4
  success: 0,
5
- present: 1,
6
- escalate: 2,
7
- denied: 3,
5
+ escalate: 1,
6
+ denied: 2,
8
7
  };
9
8
  /**
10
9
  * Evaluate a classification against rules + approval mode, returning a
@@ -39,11 +38,6 @@ export function checkPolicy(classification, rules, approvalMode, approvalState)
39
38
  status: "escalate",
40
39
  reason: escalateReason(kind, strictestReasonSource, offendingAspect),
41
40
  };
42
- // Rule "present" collapses to Decision "escalate" in toolkit 3.0;
43
- // extendDecision hooks (e.g. db-agent) intercept escalate to emit
44
- // a connector-specific ExtendedEnvelope.
45
- case "present":
46
- return { status: "escalate", reason: presentReason(kind, strictestReasonSource, offendingAspect) };
47
41
  case "success":
48
42
  // A "success" rule for reads still has to pass the approval mode gate.
49
43
  if (kind === "read") {
@@ -117,10 +111,4 @@ function escalateReason(kind, source, aspect) {
117
111
  }
118
112
  return `${kind} requires approval`;
119
113
  }
120
- function presentReason(kind, source, aspect) {
121
- if (source === "aspect" && aspect !== null) {
122
- return `${aspect} aspect is displayed but not executed`;
123
- }
124
- return `${kind} is displayed but not executed`;
125
- }
126
114
  //# sourceMappingURL=gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/toolkit/policy/gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/toolkit/policy/gate.ts"],"names":[],"mappings":"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"}
@@ -18,19 +18,41 @@ export interface Classification {
18
18
  kind: Kind;
19
19
  aspects?: readonly string[];
20
20
  }
21
- /** Wire rules operators set per classification. */
22
- export type Rule = "success" | "present" | "escalate" | "denied";
21
+ /**
22
+ * Wire rules operators set per classification. The toolkit-level base set
23
+ * holds only `success | escalate | denied`. Connectors that need a custom
24
+ * rule (e.g. db-agent's `"present"` rule, which means "displayed but not
25
+ * executed") declare it locally and translate to a base rule at their own
26
+ * boundary before invoking `checkPolicy`. The wire envelope (`status` is
27
+ * `string`) and the `extendDecision` hook still let those connectors emit
28
+ * connector-specific outcomes.
29
+ */
30
+ export type Rule = "success" | "escalate" | "denied";
23
31
  /** Rule without `"success"` — used for safety-floor slots (admin, ddl, privilege). */
24
32
  export type RestrictedRule = Exclude<Rule, "success">;
25
- export interface PolicyRules {
26
- read: Rule;
27
- write: Rule;
28
- admin: RestrictedRule;
33
+ /**
34
+ * The toolkit-level rules shape, keyed by classification kind. `TExtra`
35
+ * mirrors `PolicyMap`'s parameter, but the default is `never` (not `string`):
36
+ * the toolkit gate is the strict checkpoint, so unspecialized `PolicyRules`
37
+ * means "base rules only". Connectors with extra rule values declare them
38
+ * explicitly via `PolicyRules<"present">` etc., and translate to base
39
+ * before invoking `checkPolicy`.
40
+ */
41
+ export interface PolicyRules<TExtra extends string = never> {
42
+ read: Rule | TExtra;
43
+ write: Rule | TExtra;
44
+ admin: RestrictedRule | TExtra;
29
45
  /** Per-aspect rule map. Absent aspects fall through to the kind's rule. */
30
- aspects?: Record<string, Rule>;
46
+ aspects?: Record<string, Rule | TExtra>;
31
47
  }
32
48
  export type ApprovalMode = "auto" | "confirm_once" | "confirm_each" | "grant_required";
33
- /** Defaults matching db-agent's historical behavior, generalized to CRUD. */
49
+ /**
50
+ * Connector-agnostic default rules. Writes escalate by default (operators
51
+ * may downgrade to `success` per connector); admin is the safety-floor
52
+ * default-deny. Connectors that historically used `"present"` for write
53
+ * (e.g. db-agent's "displayed but not executed") declare it in their own
54
+ * defaults and translate to `"escalate"` before reaching the toolkit gate.
55
+ */
34
56
  export declare const DEFAULT_POLICY: PolicyRules;
35
57
  /**
36
58
  * A gate decision. `extendDecision` hooks (e.g., db-agent's `present_only`)
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/toolkit/policy/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/toolkit/policy/types.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,16 @@
6
6
  * | error`; connectors MAY extend with custom status values via the
7
7
  * `extendDecision` hook on `createConnector` (db-agent uses `present_only`).
8
8
  */
9
- /** Defaults matching db-agent's historical behavior, generalized to CRUD. */
9
+ /**
10
+ * Connector-agnostic default rules. Writes escalate by default (operators
11
+ * may downgrade to `success` per connector); admin is the safety-floor
12
+ * default-deny. Connectors that historically used `"present"` for write
13
+ * (e.g. db-agent's "displayed but not executed") declare it in their own
14
+ * defaults and translate to `"escalate"` before reaching the toolkit gate.
15
+ */
10
16
  export const DEFAULT_POLICY = {
11
17
  read: "success",
12
- write: "present",
18
+ write: "escalate",
13
19
  admin: "denied",
14
20
  aspects: {},
15
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/toolkit/policy/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4CH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,EAAE;CACZ,CAAC;AAgBF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAuC;IAC/D,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACV,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/toolkit/policy/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4DH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,EAAE;CACZ,CAAC;AAgBF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAuC;IAC/D,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACV,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "narai-primitives",
3
- "version": "2.0.0",
4
- "description": "Read-only connectors + planning hub + connector framework, in one package. Bundles what was @narai/connector-toolkit, @narai/connector-config, @narai/connector-hub, and the seven @narai/<svc>-agent-connector packages.",
3
+ "version": "2.1.1",
4
+ "description": "Read-only connectors + planning hub + connector framework + credential resolution, in one package. Bundles what was @narai/connector-toolkit, @narai/connector-config, @narai/connector-hub, the seven @narai/<svc>-agent-connector packages, and @narai/credential-providers.",
5
5
  "type": "module",
6
6
  "main": "./dist/hub/index.js",
7
7
  "types": "./dist/hub/index.d.ts",
@@ -22,6 +22,10 @@
22
22
  "types": "./dist/config/index.d.ts",
23
23
  "import": "./dist/config/index.js"
24
24
  },
25
+ "./credentials": {
26
+ "types": "./dist/credentials/index.d.ts",
27
+ "import": "./dist/credentials/index.js"
28
+ },
25
29
  "./aws": {
26
30
  "types": "./dist/connectors/aws/index.d.ts",
27
31
  "import": "./dist/connectors/aws/index.js"
@@ -34,6 +38,18 @@
34
38
  "types": "./dist/connectors/db/index.d.ts",
35
39
  "import": "./dist/connectors/db/index.js"
36
40
  },
41
+ "./db/policy": {
42
+ "types": "./dist/connectors/db/lib/policy.d.ts",
43
+ "import": "./dist/connectors/db/lib/policy.js"
44
+ },
45
+ "./db/schema": {
46
+ "types": "./dist/connectors/db/lib/schema.d.ts",
47
+ "import": "./dist/connectors/db/lib/schema.js"
48
+ },
49
+ "./db/plugin-config": {
50
+ "types": "./dist/connectors/db/lib/plugin_config.d.ts",
51
+ "import": "./dist/connectors/db/lib/plugin_config.js"
52
+ },
37
53
  "./gcp": {
38
54
  "types": "./dist/connectors/gcp/index.d.ts",
39
55
  "import": "./dist/connectors/gcp/index.js"
@@ -92,7 +108,6 @@
92
108
  },
93
109
  "dependencies": {
94
110
  "@anthropic-ai/claude-agent-sdk": "^0.2.119",
95
- "@narai/credential-providers": "^0.2.1",
96
111
  "better-sqlite3": "^12.9.0",
97
112
  "js-yaml": "^4.1.1",
98
113
  "zod": "^3.23.0"
@@ -103,7 +118,10 @@
103
118
  "@aws-sdk/client-lambda": "^3.1030.0",
104
119
  "@aws-sdk/client-rds": "^3.1030.0",
105
120
  "@aws-sdk/client-s3": "^3.1030.0",
121
+ "@aws-sdk/client-secrets-manager": "^3.1030.0",
106
122
  "@aws-sdk/client-sts": "^3.1030.0",
123
+ "@azure/keyvault-secrets": "^4.10.0",
124
+ "@google-cloud/secret-manager": "^6.0.0",
107
125
  "gpt-tokenizer": "^2.5.0",
108
126
  "mongodb": "^7.1.1",
109
127
  "mssql": "^12.2.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws-agent-plugin",
3
- "version": "1.0.0",
4
- "description": "Read-only AWS connector for Claude Code. Wraps @narai/aws-agent-connector. Lambda, RDS, S3, CloudWatch.",
3
+ "version": "1.1.0",
4
+ "description": "Read-only AWS connector for Claude Code. Built on narai-primitives (subpath ./aws). Lambda, RDS, S3, CloudWatch.",
5
5
  "author": "narai"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  # aws-agent-plugin
2
2
 
3
- Claude Code plugin that wraps [`@narai/aws-agent-connector`](https://www.npmjs.com/package/@narai/aws-agent-connector) as a read-only AWS skill and slash command.
3
+ Claude Code plugin that wraps [`narai-primitives/aws`](https://www.npmjs.com/package/narai-primitives) as a read-only AWS skill and slash command.
4
4
 
5
5
  ## What it adds
6
6
 
@@ -21,7 +21,7 @@ hook in `hooks/hooks.json`:
21
21
  next session.
22
22
 
23
23
  After a successful install,
24
- `${CLAUDE_PLUGIN_DATA}/node_modules/@narai/aws-agent-connector/dist/cli.js`
24
+ `${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/dist/connectors/aws/cli.js`
25
25
  exists and `bin/aws-agent` can exec it.
26
26
 
27
27
  ## Usage
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bash
2
- # aws-agent — thin shim over @narai/aws-agent-connector.
2
+ # aws-agent — thin shim over narai-primitives (CLI at dist/connectors/aws).
3
3
  #
4
4
  # The SessionStart hook in hooks/hooks.json installs the npm package into
5
5
  # ${CLAUDE_PLUGIN_DATA}/node_modules on first session. This shim exec's
@@ -11,7 +11,7 @@ if [ -z "${CLAUDE_PLUGIN_DATA:-}" ]; then
11
11
  exit 2
12
12
  fi
13
13
 
14
- CLI="${CLAUDE_PLUGIN_DATA}/node_modules/@narai/aws-agent-connector/dist/cli.js"
14
+ CLI="${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/dist/connectors/aws/cli.js"
15
15
 
16
16
  if [ ! -f "$CLI" ]; then
17
17
  echo "aws-agent: connector CLI not found at $CLI" >&2
@@ -9,11 +9,11 @@
9
9
  },
10
10
  {
11
11
  "type": "command",
12
- "command": "node \"${CLAUDE_PLUGIN_ROOT}/plugin/hooks/reminder.mjs\" 2>/dev/null || true"
12
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/reminder.mjs\" 2>/dev/null || true"
13
13
  },
14
14
  {
15
15
  "type": "command",
16
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/stale-summarize.mjs\" 2>/dev/null || true",
16
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/stale-summarize.mjs\" 2>/dev/null || true",
17
17
  "env": { "USAGE_CONNECTOR_NAME": "aws" }
18
18
  }
19
19
  ]
@@ -25,10 +25,10 @@
25
25
  "hooks": [
26
26
  {
27
27
  "type": "command",
28
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/usage-record.mjs\" 2>/dev/null || true",
28
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/usage-record.mjs\" 2>/dev/null || true",
29
29
  "env": {
30
30
  "USAGE_CONNECTOR_NAME": "aws",
31
- "USAGE_BIN_HINT": "@narai/aws-agent-connector"
31
+ "USAGE_BIN_HINT": "narai-primitives/dist/connectors/aws"
32
32
  }
33
33
  }
34
34
  ]
@@ -39,7 +39,7 @@
39
39
  "hooks": [
40
40
  {
41
41
  "type": "command",
42
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/session-summary.mjs\" 2>/dev/null || true",
42
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/session-summary.mjs\" 2>/dev/null || true",
43
43
  "env": { "USAGE_CONNECTOR_NAME": "aws" }
44
44
  }
45
45
  ]
@@ -5,7 +5,7 @@
5
5
  try {
6
6
  const data = process.env.CLAUDE_PLUGIN_DATA;
7
7
  if (!data) process.exit(0);
8
- const toolkitEntry = `${data}/node_modules/@narai/connector-toolkit/dist/plugin/reminder.js`;
8
+ const toolkitEntry = `${data}/node_modules/narai-primitives/dist/toolkit/plugin/reminder.js`;
9
9
  const mod = await import(toolkitEntry);
10
10
  const decision = mod.evaluateNudge({ connectors: ["aws"] });
11
11
  if (decision.nudge) {
@@ -4,6 +4,6 @@
4
4
  "private": true,
5
5
  "description": "Runtime manifest for aws-agent-plugin. The SessionStart hook runs `npm install` on this manifest into ${CLAUDE_PLUGIN_DATA}.",
6
6
  "dependencies": {
7
- "@narai/aws-agent-connector": "file:.."
7
+ "narai-primitives": "^2.0.0"
8
8
  }
9
9
  }
@@ -11,7 +11,7 @@ context: fork
11
11
  # AWS Agent
12
12
 
13
13
  Answer the user's question by invoking the `aws-agent` binary exposed by
14
- this plugin. It delegates to `@narai/aws-agent-connector`, which speaks to
14
+ this plugin. It delegates to `narai-primitives/aws`, which speaks to
15
15
  AWS via the read-only SDK v3 surface.
16
16
 
17
17
  ## Invocation
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "confluence-agent-plugin",
3
- "version": "1.0.0",
4
- "description": "Read-only Confluence connector for Claude Code. Wraps @narai/confluence-agent-connector.",
3
+ "version": "1.1.0",
4
+ "description": "Read-only Confluence connector for Claude Code. Built on narai-primitives (subpath ./confluence).",
5
5
  "author": "narai"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  # confluence-agent-plugin
2
2
 
3
- Claude Code plugin that wraps `@narai/confluence-agent-connector` as a read-only Confluence skill and slash command. Same layout as aws/gcp/notion-agent-plugin.
3
+ Claude Code plugin that wraps `narai-primitives/confluence` as a read-only Confluence skill and slash command. Same layout as aws/gcp/notion-agent-plugin.
4
4
 
5
5
  ## Credentials
6
6
 
@@ -6,7 +6,7 @@ if [ -z "${CLAUDE_PLUGIN_DATA:-}" ]; then
6
6
  exit 2
7
7
  fi
8
8
 
9
- CLI="${CLAUDE_PLUGIN_DATA}/node_modules/@narai/confluence-agent-connector/dist/cli.js"
9
+ CLI="${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/dist/connectors/confluence/cli.js"
10
10
 
11
11
  if [ ! -f "$CLI" ]; then
12
12
  echo "confluence-agent: connector CLI not found at $CLI" >&2
@@ -9,11 +9,11 @@
9
9
  },
10
10
  {
11
11
  "type": "command",
12
- "command": "node \"${CLAUDE_PLUGIN_ROOT}/plugin/hooks/reminder.mjs\" 2>/dev/null || true"
12
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/reminder.mjs\" 2>/dev/null || true"
13
13
  },
14
14
  {
15
15
  "type": "command",
16
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/stale-summarize.mjs\" 2>/dev/null || true",
16
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/stale-summarize.mjs\" 2>/dev/null || true",
17
17
  "env": { "USAGE_CONNECTOR_NAME": "confluence" }
18
18
  }
19
19
  ]
@@ -25,10 +25,10 @@
25
25
  "hooks": [
26
26
  {
27
27
  "type": "command",
28
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/usage-record.mjs\" 2>/dev/null || true",
28
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/usage-record.mjs\" 2>/dev/null || true",
29
29
  "env": {
30
30
  "USAGE_CONNECTOR_NAME": "confluence",
31
- "USAGE_BIN_HINT": "@narai/confluence-agent-connector"
31
+ "USAGE_BIN_HINT": "narai-primitives/dist/connectors/confluence"
32
32
  }
33
33
  }
34
34
  ]
@@ -39,7 +39,7 @@
39
39
  "hooks": [
40
40
  {
41
41
  "type": "command",
42
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/session-summary.mjs\" 2>/dev/null || true",
42
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/session-summary.mjs\" 2>/dev/null || true",
43
43
  "env": { "USAGE_CONNECTOR_NAME": "confluence" }
44
44
  }
45
45
  ]
@@ -14,7 +14,7 @@
14
14
  try {
15
15
  const data = process.env.CLAUDE_PLUGIN_DATA;
16
16
  if (!data) process.exit(0);
17
- const toolkitEntry = `${data}/node_modules/@narai/connector-toolkit/dist/plugin/reminder.js`;
17
+ const toolkitEntry = `${data}/node_modules/narai-primitives/dist/toolkit/plugin/reminder.js`;
18
18
  const mod = await import(toolkitEntry);
19
19
  const decision = mod.evaluateNudge({ connectors: ["confluence"] });
20
20
  if (decision.nudge) {
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
5
  "dependencies": {
6
- "@narai/confluence-agent-connector": "file:.."
6
+ "narai-primitives": "^2.0.0"
7
7
  }
8
8
  }
@@ -11,7 +11,7 @@ context: fork
11
11
 
12
12
  Answer the user's question by invoking the `confluence-agent` binary
13
13
  exposed by this plugin. It delegates to
14
- `@narai/confluence-agent-connector` via Atlassian's Confluence REST v1.
14
+ `narai-primitives/confluence` via Atlassian's Confluence REST v1.
15
15
 
16
16
  ## Invocation
17
17
 
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "db-agent-plugin",
3
- "version": "1.0.0",
4
- "description": "Safe, read-only database query agent for Claude Code. Wraps @narai/db-agent-connector. Every statement passes the policy gate before any driver loads or any connection is opened.",
3
+ "version": "1.1.0",
4
+ "description": "Safe, read-only database query agent for Claude Code. Built on narai-primitives (subpath ./db). Every statement passes the policy gate before any driver loads or any connection is opened.",
5
5
  "author": {
6
6
  "name": "Narai Labs",
7
7
  "url": "https://github.com/narailabs"
8
8
  },
9
- "homepage": "https://github.com/narailabs/db-agent-connector",
10
- "repository": "https://github.com/narailabs/db-agent-connector",
9
+ "homepage": "https://github.com/narailabs/narai-primitives/tree/main/plugins/db-agent",
10
+ "repository": "https://github.com/narailabs/narai-primitives",
11
11
  "license": "MIT",
12
12
  "keywords": ["database", "sql", "postgresql", "mysql", "sqlite", "policy-gate"],
13
13
  "userConfig": {
@@ -1,6 +1,6 @@
1
1
  # db-agent-plugin
2
2
 
3
- Claude Code plugin that wraps [`@narai/db-agent-connector`](https://www.npmjs.com/package/@narai/db-agent-connector).
3
+ Claude Code plugin that wraps [`narai-primitives/db`](https://www.npmjs.com/package/narai-primitives).
4
4
 
5
5
  Exposes the `db-agent` skill. Every query passes through the policy gate before any driver loads or any connection opens. V2.0 vocab and defaults:
6
6
 
@@ -10,4 +10,4 @@ Exposes the `db-agent` skill. Every query passes through the policy gate before
10
10
  - `admin` (CREATE/DROP/ALTER/RENAME) → returned as formatted SQL, never executed
11
11
  - `privilege` (GRANT/REVOKE) → hard-denied
12
12
 
13
- Install via Claude Code's plugin marketplace. The `SessionStart` hook installs `@narai/db-agent-connector` into the plugin's data directory on first use.
13
+ Install via Claude Code's plugin marketplace. The `SessionStart` hook installs `narai-primitives` into the plugin's data directory on first use.
@@ -6,7 +6,7 @@ if [ -z "${CLAUDE_PLUGIN_DATA:-}" ]; then
6
6
  exit 2
7
7
  fi
8
8
 
9
- CLI="${CLAUDE_PLUGIN_DATA}/node_modules/@narai/db-agent-connector/dist/cli.js"
9
+ CLI="${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/dist/connectors/db/cli.js"
10
10
 
11
11
  if [ ! -f "$CLI" ]; then
12
12
  echo "db-agent: connector CLI not found at $CLI" >&2
@@ -8,11 +8,11 @@
8
8
  },
9
9
  {
10
10
  "type": "command",
11
- "command": "node \"${CLAUDE_PLUGIN_ROOT}/plugin/hooks/reminder.mjs\" 2>/dev/null || true"
11
+ "command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/reminder.mjs\" 2>/dev/null || true"
12
12
  },
13
13
  {
14
14
  "type": "command",
15
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/stale-summarize.mjs\" 2>/dev/null || true",
15
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/stale-summarize.mjs\" 2>/dev/null || true",
16
16
  "env": { "USAGE_CONNECTOR_NAME": "db" }
17
17
  }
18
18
  ]
@@ -24,7 +24,7 @@
24
24
  "hooks": [
25
25
  {
26
26
  "type": "command",
27
- "command": "node ${CLAUDE_PLUGIN_ROOT}/plugin/hooks/db-guard.mjs",
27
+ "command": "node ${CLAUDE_PLUGIN_ROOT}/hooks/db-guard.mjs",
28
28
  "env": {
29
29
  "DB_AGENT_GUARDRAILS": "${user_config.install_guardrails}"
30
30
  }
@@ -38,10 +38,10 @@
38
38
  "hooks": [
39
39
  {
40
40
  "type": "command",
41
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/usage-record.mjs\" 2>/dev/null || true",
41
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/usage-record.mjs\" 2>/dev/null || true",
42
42
  "env": {
43
43
  "USAGE_CONNECTOR_NAME": "db",
44
- "USAGE_BIN_HINT": "@narai/db-agent-connector"
44
+ "USAGE_BIN_HINT": "narai-primitives/dist/connectors/db"
45
45
  }
46
46
  }
47
47
  ]
@@ -52,7 +52,7 @@
52
52
  "hooks": [
53
53
  {
54
54
  "type": "command",
55
- "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/@narai/connector-toolkit/plugin-hooks/session-summary.mjs\" 2>/dev/null || true",
55
+ "command": "node \"${CLAUDE_PLUGIN_DATA}/node_modules/narai-primitives/plugin-hooks/session-summary.mjs\" 2>/dev/null || true",
56
56
  "env": { "USAGE_CONNECTOR_NAME": "db" }
57
57
  }
58
58
  ]
@@ -5,7 +5,7 @@
5
5
  try {
6
6
  const data = process.env.CLAUDE_PLUGIN_DATA;
7
7
  if (!data) process.exit(0);
8
- const toolkitEntry = `${data}/node_modules/@narai/connector-toolkit/dist/plugin/reminder.js`;
8
+ const toolkitEntry = `${data}/node_modules/narai-primitives/dist/toolkit/plugin/reminder.js`;
9
9
  const mod = await import(toolkitEntry);
10
10
  const decision = mod.evaluateNudge({ connectors: ["db"] });
11
11
  if (decision.nudge) {
@@ -3,6 +3,6 @@
3
3
  "version": "1.0.0",
4
4
  "private": true,
5
5
  "dependencies": {
6
- "@narai/db-agent-connector": "file:.."
6
+ "narai-primitives": "^2.0.0"
7
7
  }
8
8
  }
@@ -14,7 +14,7 @@ context: fork
14
14
  # Database Agent
15
15
 
16
16
  Answer the user's question by invoking the `db-agent` binary exposed by this
17
- plugin. It delegates to `@narai/db-agent-connector`, which enforces the
17
+ plugin. It delegates to `narai-primitives/db`, which enforces the
18
18
  policy gate before any backend is touched.
19
19
 
20
20
  ## Invocation