@inneranimalmedia/agentsam-sdk 2.6.0 → 2.6.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 (124) hide show
  1. package/docs/PLATFORM_RUNTIME_EVENTS.md +48 -0
  2. package/docs/RELEASES.md +7 -7
  3. package/docs/SOURCE_ARCHITECTURE.md +58 -0
  4. package/docs/TEST_TIERS.md +26 -0
  5. package/migrations/runtime/0001_cli_runtime.sql +298 -0
  6. package/package.json +28 -7
  7. package/packages/agentsam-repository/README.md +15 -0
  8. package/packages/agentsam-repository/package.json +25 -0
  9. package/packages/agentsam-repository/src/contracts.js +113 -0
  10. package/packages/agentsam-repository/src/index.js +3 -0
  11. package/{src/lib → packages/agentsam-repository/src}/merkle/cloudflare-persistence.js +14 -24
  12. package/{src/lib → packages/agentsam-repository/src}/merkle/index.js +1 -0
  13. package/{src/lib → packages/agentsam-repository/src}/merkle/persistence.js +6 -4
  14. package/{src/lib → packages/agentsam-repository/src}/merkle/policy.js +1 -0
  15. package/packages/agentsam-repository/test/contracts.test.mjs +40 -0
  16. package/packages/agentsam-repository/test/git-context.test.mjs +24 -0
  17. package/{test/merkle.test.mjs → packages/agentsam-repository/test/merkle-core.test.mjs} +2 -32
  18. package/{test → packages/agentsam-repository/test}/merkle-persistence.test.mjs +11 -6
  19. package/packages/identity/package.json +1 -1
  20. package/protocol/COMPANY_REPOSITORY_GRAPH_V1.md +91 -0
  21. package/protocol/MERKLE_PERSISTENCE_V1.md +2 -0
  22. package/protocol/MERKLE_PERSISTENCE_V2.md +40 -0
  23. package/protocol/repository/repository-contract.schema.json +24 -0
  24. package/protocol/repository/repository-dependency.schema.json +24 -0
  25. package/protocol/repository/repository-identity.schema.json +17 -0
  26. package/protocol/rpc/v1/common.proto +16 -0
  27. package/protocol/rpc/v1/errors.proto +35 -0
  28. package/protocol/rpc/v1/knowledge.proto +77 -0
  29. package/services/knowledge/package-lock.json +333 -0
  30. package/services/knowledge/package.json +5 -1
  31. package/src/agent/responses-runner.js +63 -35
  32. package/src/capabilities/repository-snapshot.js +3 -3
  33. package/src/cli.js +23 -6
  34. package/src/commands/context-economics.js +17 -2
  35. package/src/commands/context.js +1 -1
  36. package/src/commands/db.js +20 -3
  37. package/src/commands/env.js +90 -0
  38. package/src/commands/knowledge.js +12 -4
  39. package/src/commands/merkle-persist.js +30 -11
  40. package/src/commands/merkle.js +1 -1
  41. package/src/commands/models.js +123 -65
  42. package/src/commands/ollama.js +26 -0
  43. package/src/commands/preferences.js +53 -26
  44. package/src/commands/shell.js +236 -48
  45. package/src/errors/contract.js +236 -0
  46. package/src/errors/index.js +14 -0
  47. package/src/index.js +13 -1
  48. package/src/knowledge/service/auth.js +13 -0
  49. package/src/knowledge/service/grpc-client.js +115 -0
  50. package/src/knowledge/service/grpc-codec.js +237 -0
  51. package/src/knowledge/service/grpc-server.js +83 -0
  52. package/src/knowledge/service/job-engine.js +248 -0
  53. package/src/knowledge/service/server.js +87 -135
  54. package/src/knowledge/source.js +1 -1
  55. package/src/lib/cli-preferences.js +31 -4
  56. package/src/lib/deploy-receipt/index.js +2 -2
  57. package/src/lib/knowledge-docker.js +6 -3
  58. package/src/lib/local-sessions.js +23 -2
  59. package/src/lib/local-status.js +1 -1
  60. package/src/lib/project-config.js +1 -1
  61. package/src/lib/provider-credentials.js +105 -5
  62. package/src/lib/slash-commands.js +4 -3
  63. package/src/local/migrations.js +93 -0
  64. package/src/local/runtime-store.js +141 -0
  65. package/src/local/sqlite.js +2 -0
  66. package/src/local-pty/server.js +113 -51
  67. package/src/models/discovery.js +292 -0
  68. package/src/providers/anthropic-messages.js +192 -0
  69. package/src/providers/cloudflare-chat.js +183 -0
  70. package/src/providers/factory.js +69 -0
  71. package/src/providers/gemini-generate-content.js +208 -0
  72. package/src/providers/index.js +5 -0
  73. package/src/providers/ollama-chat.js +148 -0
  74. package/src/providers/openai-responses.js +226 -75
  75. package/src/repository/index.js +14 -2
  76. package/src/rpc/generated/common_grpc_pb.js +1 -0
  77. package/src/rpc/generated/common_pb.js +536 -0
  78. package/src/rpc/generated/errors_grpc_pb.js +1 -0
  79. package/src/rpc/generated/errors_pb.js +482 -0
  80. package/src/rpc/generated/knowledge_grpc_pb.js +135 -0
  81. package/src/rpc/generated/knowledge_pb.js +2168 -0
  82. package/src/rpc/generated/package.json +3 -0
  83. package/src/security/trust-boundary.js +2 -2
  84. package/src/telemetry/events.js +4 -1
  85. package/src/ui/cli/activity.js +76 -0
  86. package/src/ui/cli/compaction.js +15 -0
  87. package/src/ui/cli/footer.js +39 -0
  88. package/src/ui/cli/help.js +192 -0
  89. package/src/ui/cli/plan.js +20 -0
  90. package/src/ui/cli/runtime-events.js +110 -0
  91. package/src/ui/cli/waiting.js +16 -0
  92. package/src/ui/merkle/render.js +1 -1
  93. package/test/cli/preferences-runtime.test.mjs +11 -0
  94. package/test/cli/runtime-ui.test.mjs +74 -0
  95. package/test/error-diagnostics.test.mjs +57 -1
  96. package/test/fixtures/knowledge-rpc-worker.mjs +16 -0
  97. package/test/integration/cli-help.test.mjs +37 -0
  98. package/test/integration/knowledge-rpc.test.mjs +112 -0
  99. package/test/integration/merkle-cli.test.mjs +61 -0
  100. package/test/integration/merkle-persistence-identity.test.mjs +48 -0
  101. package/test/integration/provider-env-cli.test.mjs +49 -0
  102. package/test/integration/provider-factory.test.mjs +197 -0
  103. package/test/integration/repository-company-graph.test.mjs +90 -0
  104. package/test/integration/runtime-migrations.test.mjs +82 -0
  105. package/test/knowledge-service.test.mjs +5 -0
  106. package/test/knowledge.test.mjs +16 -0
  107. package/test/live/terminal-transport.live.test.mjs +24 -0
  108. package/test/local-sessions.test.mjs +7 -1
  109. package/test/models.test.mjs +101 -4
  110. package/test/ollama.test.mjs +21 -0
  111. package/test/portable-context.test.mjs +1 -1
  112. package/test/provider-credentials.test.mjs +45 -1
  113. package/test/release-hygiene.test.mjs +13 -5
  114. package/test/responses-runner.test.mjs +3 -1
  115. package/test/shell.test.mjs +50 -8
  116. package/test/terminal/local-pty.mock.test.mjs +151 -0
  117. /package/{src/lib → packages/agentsam-repository/src}/git-context.js +0 -0
  118. /package/{src/lib → packages/agentsam-repository/src}/merkle/diff.js +0 -0
  119. /package/{src/lib → packages/agentsam-repository/src}/merkle/filemeta.js +0 -0
  120. /package/{src/lib → packages/agentsam-repository/src}/merkle/git-ignore.js +0 -0
  121. /package/{src/lib → packages/agentsam-repository/src}/merkle/hash.js +0 -0
  122. /package/{src/lib → packages/agentsam-repository/src}/merkle/semantic.js +0 -0
  123. /package/{src/lib → packages/agentsam-repository/src}/merkle/snapshot.js +0 -0
  124. /package/{src/lib → packages/agentsam-repository/src}/merkle/tree.js +0 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/repository/repository-identity.schema.json",
4
+ "title": "AgentSam Repository Identity",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "repository_id", "full_name", "role", "default_branch", "status"],
8
+ "properties": {
9
+ "schema_version": { "const": 1 },
10
+ "repository_id": { "type": "string", "minLength": 1 },
11
+ "full_name": { "type": "string", "minLength": 1 },
12
+ "role": { "type": "string", "minLength": 1 },
13
+ "default_branch": { "type": "string", "minLength": 1 },
14
+ "canonical_url": { "type": ["string", "null"] },
15
+ "status": { "enum": ["active", "archived", "disabled"] }
16
+ }
17
+ }
@@ -0,0 +1,16 @@
1
+ syntax = "proto3";
2
+
3
+ package agentsam.knowledge.v1;
4
+
5
+ message JobId {
6
+ string value = 1;
7
+ }
8
+
9
+ message RepositoryRef {
10
+ string alias = 1;
11
+ string repository_id = 2;
12
+ }
13
+
14
+ message StringList {
15
+ repeated string values = 1;
16
+ }
@@ -0,0 +1,35 @@
1
+ syntax = "proto3";
2
+
3
+ package agentsam.knowledge.v1;
4
+
5
+ // Numeric values intentionally match google.rpc.Code / gRPC canonical status codes.
6
+ enum ErrorCode {
7
+ ERROR_CODE_OK = 0;
8
+ ERROR_CODE_CANCELLED = 1;
9
+ ERROR_CODE_UNKNOWN = 2;
10
+ ERROR_CODE_INVALID_ARGUMENT = 3;
11
+ ERROR_CODE_DEADLINE_EXCEEDED = 4;
12
+ ERROR_CODE_NOT_FOUND = 5;
13
+ ERROR_CODE_ALREADY_EXISTS = 6;
14
+ ERROR_CODE_PERMISSION_DENIED = 7;
15
+ ERROR_CODE_RESOURCE_EXHAUSTED = 8;
16
+ ERROR_CODE_FAILED_PRECONDITION = 9;
17
+ ERROR_CODE_ABORTED = 10;
18
+ ERROR_CODE_OUT_OF_RANGE = 11;
19
+ ERROR_CODE_UNIMPLEMENTED = 12;
20
+ ERROR_CODE_INTERNAL = 13;
21
+ ERROR_CODE_UNAVAILABLE = 14;
22
+ ERROR_CODE_DATA_LOSS = 15;
23
+ ERROR_CODE_UNAUTHENTICATED = 16;
24
+ }
25
+
26
+ message ErrorDetail {
27
+ ErrorCode code = 1;
28
+ string message = 2;
29
+ bool retryable = 3;
30
+ string reason = 4;
31
+ optional uint32 http_status = 5;
32
+ optional uint32 retry_after_ms = 6;
33
+ optional string provider = 7;
34
+ optional string provider_code = 8;
35
+ }
@@ -0,0 +1,77 @@
1
+ syntax = "proto3";
2
+
3
+ package agentsam.knowledge.v1;
4
+
5
+ import "google/protobuf/timestamp.proto";
6
+ import "common.proto";
7
+ import "errors.proto";
8
+
9
+ service KnowledgeService {
10
+ rpc ListRepositories(ListRepositoriesRequest) returns (ListRepositoriesResponse);
11
+ rpc SubmitJob(SubmitJobRequest) returns (Job);
12
+ rpc GetJob(GetJobRequest) returns (Job);
13
+ rpc WatchJob(WatchJobRequest) returns (stream JobEvent);
14
+ }
15
+
16
+ message ListRepositoriesRequest {}
17
+
18
+ message ListRepositoriesResponse {
19
+ repeated RepositoryRef repositories = 1;
20
+ bool embeddings_enabled = 2;
21
+ }
22
+
23
+ enum JobOperation {
24
+ JOB_OPERATION_UNSPECIFIED = 0;
25
+ JOB_OPERATION_INDEX = 1;
26
+ JOB_OPERATION_PLAN = 2;
27
+ JOB_OPERATION_SEARCH = 3;
28
+ }
29
+
30
+ enum JobStatus {
31
+ JOB_STATUS_UNSPECIFIED = 0;
32
+ JOB_STATUS_QUEUED = 1;
33
+ JOB_STATUS_RUNNING = 2;
34
+ JOB_STATUS_COMPLETED = 3;
35
+ JOB_STATUS_FAILED = 4;
36
+ }
37
+
38
+ message SubmitJobRequest {
39
+ string repository = 1;
40
+ JobOperation operation = 2;
41
+ optional string scope = 3;
42
+ StringList include = 4;
43
+ StringList exclude = 5;
44
+ optional bool embed = 6;
45
+ optional bool semantic = 7;
46
+ optional string query = 8;
47
+ optional uint32 top_k = 9;
48
+ optional uint32 token_budget = 10;
49
+ optional string generation_id = 11;
50
+ optional uint32 max_inputs = 12;
51
+ optional uint32 max_characters = 13;
52
+ optional string idempotency_key = 14;
53
+ }
54
+
55
+ message GetJobRequest {
56
+ JobId job_id = 1;
57
+ }
58
+
59
+ message WatchJobRequest {
60
+ JobId job_id = 1;
61
+ }
62
+
63
+ message Job {
64
+ JobId id = 1;
65
+ JobStatus status = 2;
66
+ uint32 attempts = 3;
67
+ google.protobuf.Timestamp created_at = 4;
68
+ google.protobuf.Timestamp updated_at = 5;
69
+ string result_json = 6;
70
+ ErrorDetail failure = 7;
71
+ }
72
+
73
+ message JobEvent {
74
+ Job job = 1;
75
+ google.protobuf.Timestamp observed_at = 2;
76
+ uint64 sequence = 3;
77
+ }
@@ -8,9 +8,283 @@
8
8
  "name": "agentsam-knowledge-service-runtime",
9
9
  "version": "1.0.0",
10
10
  "dependencies": {
11
+ "@grpc/grpc-js": "^1.14.4",
12
+ "google-protobuf": "^3.21.4",
11
13
  "typescript": "5.9.3"
12
14
  }
13
15
  },
16
+ "node_modules/@grpc/grpc-js": {
17
+ "version": "1.14.4",
18
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.14.4.tgz",
19
+ "integrity": "sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==",
20
+ "license": "Apache-2.0",
21
+ "dependencies": {
22
+ "@grpc/proto-loader": "^0.8.0",
23
+ "@js-sdsl/ordered-map": "^4.4.2"
24
+ },
25
+ "engines": {
26
+ "node": ">=12.10.0"
27
+ }
28
+ },
29
+ "node_modules/@grpc/proto-loader": {
30
+ "version": "0.8.1",
31
+ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.8.1.tgz",
32
+ "integrity": "sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==",
33
+ "license": "Apache-2.0",
34
+ "dependencies": {
35
+ "lodash.camelcase": "^4.3.0",
36
+ "long": "^5.0.0",
37
+ "protobufjs": "^7.5.5",
38
+ "yargs": "^17.7.2"
39
+ },
40
+ "bin": {
41
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
42
+ },
43
+ "engines": {
44
+ "node": ">=6"
45
+ }
46
+ },
47
+ "node_modules/@js-sdsl/ordered-map": {
48
+ "version": "4.4.2",
49
+ "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
50
+ "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
51
+ "license": "MIT",
52
+ "funding": {
53
+ "type": "opencollective",
54
+ "url": "https://opencollective.com/js-sdsl"
55
+ }
56
+ },
57
+ "node_modules/@protobufjs/aspromise": {
58
+ "version": "1.1.2",
59
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
60
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==",
61
+ "license": "BSD-3-Clause"
62
+ },
63
+ "node_modules/@protobufjs/base64": {
64
+ "version": "1.1.2",
65
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
66
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==",
67
+ "license": "BSD-3-Clause"
68
+ },
69
+ "node_modules/@protobufjs/codegen": {
70
+ "version": "2.0.5",
71
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.5.tgz",
72
+ "integrity": "sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==",
73
+ "license": "BSD-3-Clause"
74
+ },
75
+ "node_modules/@protobufjs/eventemitter": {
76
+ "version": "1.1.1",
77
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.1.tgz",
78
+ "integrity": "sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==",
79
+ "license": "BSD-3-Clause"
80
+ },
81
+ "node_modules/@protobufjs/fetch": {
82
+ "version": "1.1.1",
83
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.1.tgz",
84
+ "integrity": "sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==",
85
+ "license": "BSD-3-Clause",
86
+ "dependencies": {
87
+ "@protobufjs/aspromise": "^1.1.1"
88
+ }
89
+ },
90
+ "node_modules/@protobufjs/float": {
91
+ "version": "1.0.2",
92
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
93
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==",
94
+ "license": "BSD-3-Clause"
95
+ },
96
+ "node_modules/@protobufjs/path": {
97
+ "version": "1.1.2",
98
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
99
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==",
100
+ "license": "BSD-3-Clause"
101
+ },
102
+ "node_modules/@protobufjs/pool": {
103
+ "version": "1.1.0",
104
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
105
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==",
106
+ "license": "BSD-3-Clause"
107
+ },
108
+ "node_modules/@protobufjs/utf8": {
109
+ "version": "1.1.2",
110
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.2.tgz",
111
+ "integrity": "sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==",
112
+ "license": "BSD-3-Clause"
113
+ },
114
+ "node_modules/@types/node": {
115
+ "version": "22.20.3",
116
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.3.tgz",
117
+ "integrity": "sha512-DZmzkmwHzXrLPAXPyKNDzlIwMMUZCVacoD25ywdy5YTKGbOx/2ld+Q38Im2zJ0vBuZP5Prd3VZutKZyXwkOS8A==",
118
+ "license": "MIT",
119
+ "dependencies": {
120
+ "undici-types": "~6.21.0"
121
+ }
122
+ },
123
+ "node_modules/ansi-regex": {
124
+ "version": "5.0.1",
125
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
126
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
127
+ "license": "MIT",
128
+ "engines": {
129
+ "node": ">=8"
130
+ }
131
+ },
132
+ "node_modules/ansi-styles": {
133
+ "version": "4.3.0",
134
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
135
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
136
+ "license": "MIT",
137
+ "dependencies": {
138
+ "color-convert": "^2.0.1"
139
+ },
140
+ "engines": {
141
+ "node": ">=8"
142
+ },
143
+ "funding": {
144
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
145
+ }
146
+ },
147
+ "node_modules/cliui": {
148
+ "version": "8.0.1",
149
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
150
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
151
+ "license": "ISC",
152
+ "dependencies": {
153
+ "string-width": "^4.2.0",
154
+ "strip-ansi": "^6.0.1",
155
+ "wrap-ansi": "^7.0.0"
156
+ },
157
+ "engines": {
158
+ "node": ">=12"
159
+ }
160
+ },
161
+ "node_modules/color-convert": {
162
+ "version": "2.0.1",
163
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
164
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
165
+ "license": "MIT",
166
+ "dependencies": {
167
+ "color-name": "~1.1.4"
168
+ },
169
+ "engines": {
170
+ "node": ">=7.0.0"
171
+ }
172
+ },
173
+ "node_modules/color-name": {
174
+ "version": "1.1.4",
175
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
176
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
177
+ "license": "MIT"
178
+ },
179
+ "node_modules/emoji-regex": {
180
+ "version": "8.0.0",
181
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
182
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
183
+ "license": "MIT"
184
+ },
185
+ "node_modules/escalade": {
186
+ "version": "3.2.0",
187
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
188
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
189
+ "license": "MIT",
190
+ "engines": {
191
+ "node": ">=6"
192
+ }
193
+ },
194
+ "node_modules/get-caller-file": {
195
+ "version": "2.0.5",
196
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
197
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
198
+ "license": "ISC",
199
+ "engines": {
200
+ "node": "6.* || 8.* || >= 10.*"
201
+ }
202
+ },
203
+ "node_modules/google-protobuf": {
204
+ "version": "3.21.4",
205
+ "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz",
206
+ "integrity": "sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==",
207
+ "license": "(BSD-3-Clause AND Apache-2.0)"
208
+ },
209
+ "node_modules/is-fullwidth-code-point": {
210
+ "version": "3.0.0",
211
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
212
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
213
+ "license": "MIT",
214
+ "engines": {
215
+ "node": ">=8"
216
+ }
217
+ },
218
+ "node_modules/lodash.camelcase": {
219
+ "version": "4.3.0",
220
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
221
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
222
+ "license": "MIT"
223
+ },
224
+ "node_modules/long": {
225
+ "version": "5.3.2",
226
+ "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
227
+ "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
228
+ "license": "Apache-2.0"
229
+ },
230
+ "node_modules/protobufjs": {
231
+ "version": "7.6.6",
232
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.6.6.tgz",
233
+ "integrity": "sha512-dYDWdjSl5RNb7SgPxGQcRU+GtvP7s2fpkrY0r432PcOIaZ0/rBcxEZnQN67iJhFuQiVw754JDoPruPCNdGsbjg==",
234
+ "hasInstallScript": true,
235
+ "license": "BSD-3-Clause",
236
+ "dependencies": {
237
+ "@protobufjs/aspromise": "^1.1.2",
238
+ "@protobufjs/base64": "^1.1.2",
239
+ "@protobufjs/codegen": "^2.0.5",
240
+ "@protobufjs/eventemitter": "^1.1.1",
241
+ "@protobufjs/fetch": "^1.1.1",
242
+ "@protobufjs/float": "^1.0.2",
243
+ "@protobufjs/path": "^1.1.2",
244
+ "@protobufjs/pool": "^1.1.0",
245
+ "@protobufjs/utf8": "^1.1.1",
246
+ "@types/node": ">=13.7.0",
247
+ "long": "^5.3.2"
248
+ },
249
+ "engines": {
250
+ "node": ">=12.0.0"
251
+ }
252
+ },
253
+ "node_modules/require-directory": {
254
+ "version": "2.1.1",
255
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
256
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
257
+ "license": "MIT",
258
+ "engines": {
259
+ "node": ">=0.10.0"
260
+ }
261
+ },
262
+ "node_modules/string-width": {
263
+ "version": "4.2.3",
264
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
265
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
266
+ "license": "MIT",
267
+ "dependencies": {
268
+ "emoji-regex": "^8.0.0",
269
+ "is-fullwidth-code-point": "^3.0.0",
270
+ "strip-ansi": "^6.0.1"
271
+ },
272
+ "engines": {
273
+ "node": ">=8"
274
+ }
275
+ },
276
+ "node_modules/strip-ansi": {
277
+ "version": "6.0.1",
278
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
279
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
280
+ "license": "MIT",
281
+ "dependencies": {
282
+ "ansi-regex": "^5.0.1"
283
+ },
284
+ "engines": {
285
+ "node": ">=8"
286
+ }
287
+ },
14
288
  "node_modules/typescript": {
15
289
  "version": "5.9.3",
16
290
  "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
@@ -23,6 +297,65 @@
23
297
  "engines": {
24
298
  "node": ">=14.17"
25
299
  }
300
+ },
301
+ "node_modules/undici-types": {
302
+ "version": "6.21.0",
303
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
304
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
305
+ "license": "MIT"
306
+ },
307
+ "node_modules/wrap-ansi": {
308
+ "version": "7.0.0",
309
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
310
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
311
+ "license": "MIT",
312
+ "dependencies": {
313
+ "ansi-styles": "^4.0.0",
314
+ "string-width": "^4.1.0",
315
+ "strip-ansi": "^6.0.0"
316
+ },
317
+ "engines": {
318
+ "node": ">=10"
319
+ },
320
+ "funding": {
321
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
322
+ }
323
+ },
324
+ "node_modules/y18n": {
325
+ "version": "5.0.8",
326
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
327
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
328
+ "license": "ISC",
329
+ "engines": {
330
+ "node": ">=10"
331
+ }
332
+ },
333
+ "node_modules/yargs": {
334
+ "version": "17.7.3",
335
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz",
336
+ "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==",
337
+ "license": "MIT",
338
+ "dependencies": {
339
+ "cliui": "^8.0.1",
340
+ "escalade": "^3.1.1",
341
+ "get-caller-file": "^2.0.5",
342
+ "require-directory": "^2.1.1",
343
+ "string-width": "^4.2.3",
344
+ "y18n": "^5.0.5",
345
+ "yargs-parser": "^21.1.1"
346
+ },
347
+ "engines": {
348
+ "node": ">=12"
349
+ }
350
+ },
351
+ "node_modules/yargs-parser": {
352
+ "version": "21.1.1",
353
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
354
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
355
+ "license": "ISC",
356
+ "engines": {
357
+ "node": ">=12"
358
+ }
26
359
  }
27
360
  }
28
361
  }
@@ -3,5 +3,9 @@
3
3
  "private": true,
4
4
  "version": "1.0.0",
5
5
  "type": "module",
6
- "dependencies": { "typescript": "5.9.3" }
6
+ "dependencies": {
7
+ "@grpc/grpc-js": "^1.14.4",
8
+ "google-protobuf": "^3.21.4",
9
+ "typescript": "5.9.3"
10
+ }
7
11
  }