newo 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +475 -347
  2. package/README.md +111 -0
  3. package/dist/api.d.ts +20 -1
  4. package/dist/api.js +110 -0
  5. package/dist/auth.js +4 -0
  6. package/dist/cli/commands/help.js +30 -1
  7. package/dist/cli/commands/list-actions.d.ts +3 -0
  8. package/dist/cli/commands/list-actions.js +89 -0
  9. package/dist/cli/commands/profile.d.ts +3 -0
  10. package/dist/cli/commands/profile.js +62 -0
  11. package/dist/cli/commands/pull-akb.d.ts +3 -0
  12. package/dist/cli/commands/pull-akb.js +19 -0
  13. package/dist/cli/commands/pull-attributes.js +7 -0
  14. package/dist/cli/commands/pull-integrations.d.ts +3 -0
  15. package/dist/cli/commands/pull-integrations.js +19 -0
  16. package/dist/cli/commands/push-akb.d.ts +3 -0
  17. package/dist/cli/commands/push-akb.js +19 -0
  18. package/dist/cli/commands/push-integrations.d.ts +3 -0
  19. package/dist/cli/commands/push-integrations.js +19 -0
  20. package/dist/cli/commands/sandbox.d.ts +14 -0
  21. package/dist/cli/commands/sandbox.js +306 -0
  22. package/dist/cli.js +33 -0
  23. package/dist/sandbox/chat.d.ts +40 -0
  24. package/dist/sandbox/chat.js +280 -0
  25. package/dist/sync/akb.d.ts +14 -0
  26. package/dist/sync/akb.js +175 -0
  27. package/dist/sync/attributes.d.ts +19 -0
  28. package/dist/sync/attributes.js +221 -2
  29. package/dist/sync/integrations.d.ts +23 -0
  30. package/dist/sync/integrations.js +340 -0
  31. package/dist/sync/projects.js +171 -1
  32. package/dist/sync/push.js +15 -0
  33. package/dist/sync/skill-files.js +1 -1
  34. package/dist/sync/status.js +4 -2
  35. package/dist/types.d.ts +209 -0
  36. package/package.json +14 -3
  37. package/src/api.ts +186 -1
  38. package/src/auth.ts +7 -2
  39. package/src/cli/commands/help.ts +30 -1
  40. package/src/cli/commands/list-actions.ts +112 -0
  41. package/src/cli/commands/profile.ts +79 -0
  42. package/src/cli/commands/pull-akb.ts +27 -0
  43. package/src/cli/commands/pull-attributes.ts +8 -0
  44. package/src/cli/commands/pull-integrations.ts +27 -0
  45. package/src/cli/commands/push-akb.ts +27 -0
  46. package/src/cli/commands/push-integrations.ts +27 -0
  47. package/src/cli/commands/sandbox.ts +365 -0
  48. package/src/cli.ts +41 -0
  49. package/src/sandbox/chat.ts +339 -0
  50. package/src/sync/akb.ts +205 -0
  51. package/src/sync/attributes.ts +269 -2
  52. package/src/sync/integrations.ts +403 -0
  53. package/src/sync/projects.ts +207 -1
  54. package/src/sync/push.ts +17 -0
  55. package/src/sync/skill-files.ts +1 -1
  56. package/src/sync/status.ts +4 -2
  57. package/src/types.ts +248 -0
package/CHANGELOG.md CHANGED
@@ -2,429 +2,526 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [3.0.0] - 2025-01-30
9
-
10
- ### 🏗️ MAJOR FEATURE: Complete Entity Management System
11
-
12
- **Local-First Development Workflow:**
13
- - Create entities locally with full metadata
14
- - Edit in your preferred IDE with proper file extensions
15
- - Push to platform when ready - automatic detection and creation
16
- - Full lifecycle management for all NEWO entities
17
-
18
- ### New Entity Creation Commands (12 commands)
19
-
20
- **Project & Infrastructure:**
21
- - `newo create-project <idn>` - Create new projects on platform
22
- - `newo create-persona <name>` - Create agent personas
23
- - `newo create-attribute <idn>` - Create customer attributes
24
-
25
- **Agent Structure:**
26
- - `newo create-agent <idn> --project <pid>` - Create agents locally with metadata
27
- - `newo create-flow <idn> --agent <aid>` - Create flows with guidance/NSL runner selection
28
- - `newo create-skill <idn> --flow <fid>` - Create skills with script content initialization
29
-
30
- **NSL Components:**
31
- - `newo create-event <idn> --flow <fid>` - Create flow events for integrations
32
- - `newo create-state <idn> --flow <fid>` - Create flow state fields (user/flow/global scope)
33
- - `newo create-parameter <name> --skill <sid>` - Create skill parameters
34
-
35
- ### 🗑️ New Entity Deletion Commands (3 commands)
36
-
37
- **Safe Deletion with Confirmation:**
38
- - `newo delete-agent <aid> --confirm` - Delete agent locally (requires --confirm flag)
39
- - `newo delete-flow <fid> --confirm` - Delete flow locally (requires --confirm flag)
40
- - `newo delete-skill <sid> --confirm` - Delete skill locally (requires --confirm flag)
41
-
42
- **Push-to-Sync:** Run `newo push` after deletion to sync changes to platform
43
-
44
- ### 🔄 Enhanced Push Operation
45
-
46
- **Automatic Local-Only Entity Detection:**
47
- - Filesystem scanning for entities not yet in project map
48
- - Automatic detection of new agents, flows, and skills
49
- - Creates missing entities on platform in correct hierarchical order
50
- - Publishes flows after creation
51
- - Maintains proper agent → flow → skill relationships
52
- - Updates existing skills with changes
53
-
54
- ### 📊 Enhanced Status Command
55
-
56
- **Comprehensive Change Detection:**
57
- - Scans for local-only entities not yet on platform
58
- - Reports new agents/flows/skills awaiting sync
59
- - Shows full entity lifecycle status
60
- - Hierarchical display of project structure
61
-
62
- ### 🌐 New API Integrations (19 endpoints)
63
-
64
- **Entity Creation:**
65
- - `POST /api/v2/designer/{projectId}/agents` - Create agent
66
- - `POST /api/v1/designer/{agentId}/flows/empty` - Create flow
67
- - `POST /api/v1/designer/flows/{flowId}/skills` - Create skill
68
- - `POST /api/v1/designer/flows/{flowId}/events` - Create event
69
- - `POST /api/v1/designer/flows/{flowId}/states` - Create state
70
- - `POST /api/v1/designer/flows/skills/{skillId}/parameters` - Create parameter
71
- - `POST /api/v1/customer/attributes` - Create attribute
72
- - `POST /api/v1/designer/personas` - Create persona
73
- - `POST /api/v1/designer/projects` - Create project
74
- - `POST /api/v1/designer/flows/{flowId}/publish` - Publish flow
75
-
76
- **Entity Deletion:**
77
- - `DELETE /api/v1/designer/agents/{agentId}` - Delete agent
78
- - `DELETE /api/v1/designer/flows/{flowId}` - Delete flow
79
- - `DELETE /api/v1/designer/flows/skills/{skillId}` - Delete skill
80
- - `DELETE /api/v1/designer/flows/events/{eventId}` - Delete event
81
-
82
- ### 📚 Documentation Updates
83
-
84
- **README.md (+146 lines):**
85
- - New "Entity Management Commands" section with comprehensive command reference
86
- - "Entity Creation Workflows" section with end-to-end examples
87
- - Complete Weather System example demonstrating full lifecycle
88
- - Quick Agent Creation patterns
89
- - Local Development & Testing workflows
90
- - Entity Deletion procedures
91
- - Updated Key Features section highlighting entity management
92
- - Enhanced Quick Start with entity creation steps
93
- - Expanded API Reference with 19 new endpoints
94
-
95
- ### 🔧 Technical Improvements
96
-
97
- **TypeScript Enhancements:**
98
- - 19 new type definitions for entity creation/deletion requests and responses
99
- - Enhanced API client with new endpoint methods
100
- - Comprehensive error handling for entity operations
101
-
102
- **Architecture:**
103
- - 14 new command files in modular architecture (src/cli/commands/)
104
- - Enhanced push.ts with local-only entity scanning (~418 lines added)
105
- - Enhanced status.ts with entity detection (~184 lines added)
106
- - Type-safe entity creation with full metadata support
107
-
108
- ### 🎯 Use Cases Enabled
109
-
110
- **Complete Project Scaffolding:**
111
- - Bootstrap entire projects from CLI
112
- - Create full agent structures locally
113
- - Test locally before platform deployment
114
-
115
- **Rapid Development:**
116
- - Create agents, flows, and skills in seconds
117
- - No web UI context switching required
118
- - Full IDE integration with syntax highlighting
119
-
120
- **Safe Entity Management:**
121
- - Confirmation flags prevent accidental deletions
122
- - Local-first approach enables version control
123
- - Push-to-sync provides controlled deployment
124
-
125
- ### 📊 Statistics
126
- - **Commands Added**: 15 new commands (12 create, 3 delete)
127
- - **API Endpoints**: 19 new integrations
128
- - **Code Changes**: ~1,005 lines added across 7 modified files
129
- - **Documentation**: +146 lines in README.md
130
- - **Type Definitions**: 19 new interfaces and types
8
+ ## [Unreleased]
9
+
10
+ ## [3.2.0] - 2025-10-17
11
+
12
+ ### Added
13
+
14
+ - **Integration Management**: Complete integration and connector management system
15
+ - `newo pull-integrations` - Download all integrations, connectors, and webhooks to local YAML files
16
+ - `newo push-integrations` - Upload connector changes with full CRUD support (Create, Update, Delete)
17
+ - Combined integration files: `{integration_idn}.yaml` contains metadata + settings in single file
18
+ - Nested connector structure: Each connector in own subdirectory `connectors/{connector_idn}/{connector_idn}.yaml`
19
+ - Automatic webhook synchronization (outgoing + incoming webhooks)
20
+ - 15 integrations discovered and managed (api, sandbox, twilio, magic_browser, newo_chat, etc.)
21
+ - Full connector lifecycle: Create via YAML + push → Modify → Delete via YAML removal + push
22
+ - **AKB Knowledge Base Management**: Complete knowledge base synchronization
23
+ - `newo pull-akb` - Download AKB articles for all personas linked to agents
24
+ - `newo push-akb` - Upload AKB articles from local YAML files to platform
25
+ - YAML format matches backup structure exactly for compatibility
26
+ - Automatic persona-to-agent mapping via agent IDN
27
+ - Pagination support for large knowledge bases
28
+ - Articles stored in `akb/{agent_idn}.yaml` format
29
+ - **Project Attributes**: Full project-level attribute management
30
+ - Enhanced `newo pull-attributes` to pull both customer AND project attributes
31
+ - Project attributes saved to `projects/{project_idn}/attributes.yaml`
32
+ - Push integrated into main `newo push` command
33
+ - Automatic ID mapping for push operations
34
+ - Same YAML format as customer attributes with !enum tags
35
+ - Change detection and update mechanism
36
+ - **Developer Tools**: Reference and productivity features
37
+ - `newo list-actions` - List all 78 available NSL/Jinja script actions with categorization
38
+ - `newo profile` - Display customer profile information (organization, email, platform links)
39
+ - Action categorization into 12 groups (Gen, Get, Create, Delete, Update, etc.)
40
+ - Verbose mode shows complete parameter schemas for each action
41
+ - **API Integrations**: 17 new API endpoints
42
+ - Integration endpoints: GET integrations, connectors, settings
43
+ - Connector CRUD: POST, PUT, DELETE for connectors
44
+ - Webhook endpoints: GET outgoing/incoming webhooks
45
+ - AKB endpoints: GET personas, topics; POST import
46
+ - Project attribute endpoints: GET, PUT for project attributes
47
+ - Script actions endpoint: GET all NSL actions
48
+ - Customer profile endpoint: GET profile information
49
+ - **TypeScript Types**: 22 new interfaces for complete type safety
50
+ - Integration types: Integration, Connector, IntegrationSetting, CreateConnectorRequest, UpdateConnectorRequest
51
+ - Webhook types: OutgoingWebhook, IncomingWebhook
52
+ - AKB types: Persona, AkbTopic, AkbTopicItem, AkbYamlTopic
53
+ - Script action types: ScriptAction, ArgumentSchema
54
+ - Metadata types: IntegrationMetadata, ConnectorMetadata, IntegrationsYamlData
55
+
56
+ ### Changed
57
+
58
+ - **File Structure**: Enhanced directory hierarchy with new integration and AKB folders
59
+ - `newo_customers/{customer}/integrations/` - Integration configurations
60
+ - `newo_customers/{customer}/akb/` - AKB knowledge base articles
61
+ - `newo_customers/{customer}/projects/{project}/attributes.yaml` - Project attributes
62
+ - **Pull Attributes Command**: Now pulls both customer and project attributes in single command
63
+ - **Push Command**: Enhanced to push project attribute changes alongside skill changes
64
+ - **Help Documentation**: Comprehensive updates with all new commands and file structure
65
+ - **Integration Structure**: Nested connector directories with webhook subdirectories
66
+ - `integrations/{integration}/{integration}.yaml` - Combined metadata + settings
67
+ - `integrations/{integration}/connectors/{connector}/{connector}.yaml` - Connector config
68
+ - `integrations/{integration}/connectors/{connector}/webhooks/` - Webhook files
69
+
70
+ ### Technical Details
71
+
72
+ - **Modular Architecture**: 8 new modules created
73
+ - `src/sync/integrations.ts` (340+ lines) - Integration/connector/webhook sync
74
+ - `src/sync/akb.ts` (205 lines) - AKB knowledge base sync
75
+ - `src/cli/commands/pull-integrations.ts` - Integration pull handler
76
+ - `src/cli/commands/push-integrations.ts` - Integration push handler
77
+ - `src/cli/commands/pull-akb.ts` - AKB pull handler
78
+ - `src/cli/commands/push-akb.ts` - AKB push handler
79
+ - `src/cli/commands/list-actions.ts` - Script actions listing
80
+ - `src/cli/commands/profile.ts` - Profile viewer
81
+ - **Enhanced Modules**: 6 existing modules updated
82
+ - `src/types.ts` (+160 lines) - New type definitions
83
+ - `src/api.ts` (+110 lines) - New API functions
84
+ - `src/sync/attributes.ts` (+126 lines) - Project attribute support
85
+ - `src/sync/push.ts` (+15 lines) - Project attribute push integration
86
+ - `src/cli.ts` (+12 lines) - New command routing
87
+ - `src/cli/commands/help.ts` (+30 lines) - Documentation updates
88
+ - **Webhook Association**: Webhooks grouped by connector_idn and stored in connector subdirectories
89
+ - **Change Detection**: Smart comparison for connectors (title, status, settings)
90
+ - **Error Handling**: Graceful handling of missing settings endpoints (404 errors)
91
+ - **ID Mapping**: Separate JSON files for attribute ID mappings to enable push operations
92
+ - **YAML Parsing**: Custom !enum tag handling for AttributeValueTypes
93
+
94
+ ### Example Usage
95
+
96
+ ```bash
97
+ # Integration management
98
+ newo pull-integrations # Download all integrations + webhooks
99
+ newo push-integrations # Upload connector changes
100
+
101
+ # Knowledge base management
102
+ newo pull-akb # Download AKB for personas with agents
103
+ newo push-akb # Upload AKB articles
104
+
105
+ # Enhanced attributes
106
+ newo pull-attributes # Now pulls customer + project attributes
107
+ newo push # Now pushes project attributes too
108
+
109
+ # Developer tools
110
+ newo profile # View customer information
111
+ newo list-actions # Browse 78 NSL actions
112
+ newo list-actions --verbose # With parameter details
113
+ ```
114
+
115
+ ### Files Created
116
+
117
+ **Integration Structure:**
118
+ ```
119
+ newo_customers/{customer}/integrations/
120
+ ├── integrations.yaml
121
+ └── {integration_idn}/
122
+ ├── {integration_idn}.yaml # Combined metadata + settings
123
+ └── connectors/
124
+ └── {connector_idn}/
125
+ ├── {connector_idn}.yaml
126
+ └── webhooks/
127
+ ├── outgoing.yaml
128
+ └── incoming.yaml
129
+ ```
130
+
131
+ **AKB Structure:**
132
+ ```
133
+ newo_customers/{customer}/akb/
134
+ └── {agent_idn}.yaml # AKB articles per agent
135
+ ```
136
+
137
+ **Project Attributes:**
138
+ ```
139
+ newo_customers/{customer}/projects/{project}/
140
+ └── attributes.yaml # Project-specific attributes
141
+ ```
142
+
143
+ ### Breaking Changes
144
+
145
+ None. All changes are additive and backward compatible.
146
+
147
+ ## [3.1.0] - 2025-10-15
148
+
149
+ ### Added
150
+
151
+ - **Sandbox Chat Testing**: Real-time agent testing with interactive sandbox mode
152
+ - `newo sandbox "<message>"` - Single-command mode for automated testing workflows
153
+ - `newo sandbox --actor <id> "message"` - Multi-turn conversation continuation
154
+ - Automatic persona/actor creation with unique naming (`newo-cli-{guid}`)
155
+ - Chat History API polling with 1-second intervals, 60-second timeout
156
+ - Debug information extraction (flow_idn, skill_idn, session_id, runtime_context_id)
157
+ - Quiet mode (`--quiet`/`-q`) for script-friendly output with minimal logging
158
+ - Single newest message display to avoid overwhelming output
159
+ - **Sandbox API Integration**: 6 new endpoints for sandbox chat functionality
160
+ - `GET /api/v1/integrations` - List available integrations
161
+ - `GET /api/v1/integrations/{id}/connectors` - List integration connectors
162
+ - `POST /api/v1/customer/personas` - Create user persona for sandbox testing
163
+ - `POST /api/v1/customer/personas/{id}/actors` - Create actor (chat session)
164
+ - `POST /api/v1/chat/user/{actorId}` - Send chat message
165
+ - Reused `GET /api/v1/chat/history` - Poll for agent responses with timestamp filtering
166
+ - **Sandbox Utilities Module** (`src/sandbox/chat.ts`):
167
+ - `findSandboxConnector()` - Locate running sandbox connectors
168
+ - `createChatSession()` - Initialize new chat sessions with unique personas
169
+ - `sendMessage()` - Send messages with timestamp tracking for response filtering
170
+ - `pollForResponse()` - Intelligent polling with timestamp-based message filtering
171
+ - `extractAgentMessages()` - Filter and extract agent responses from chat history
172
+ - `formatDebugInfo()` - Format debug information for developer inspection
173
+ - **TypeScript Types**: Comprehensive type definitions for sandbox functionality
174
+ - `Integration`, `Connector` - Integration and connector management
175
+ - `SandboxChatSession` - Session state tracking with persona/actor IDs
176
+ - `ChatDebugInfo` - Debug information structure for agent development
177
+ - `CreateSandboxPersonaRequest/Response` - Persona creation types
178
+ - `CreateActorRequest/Response` - Actor creation types
179
+ - `SendChatMessageRequest` - Chat message sending types
180
+ - **Enhanced Authentication**: Quiet mode support to suppress logging during automated testing
181
+ - **Documentation**: Comprehensive sandbox testing section with usage examples and automation patterns
182
+
183
+ ### Changed
184
+
185
+ - **CLI Architecture**: Added sandbox command routing in main CLI module
186
+ - **API Module**: Extended with sandbox-specific endpoint integrations
187
+ - **Help Command**: Updated with sandbox command reference
188
+ - **README**: Added extensive sandbox testing documentation with multi-turn examples (+101 lines)
189
+
190
+ ### Technical Details
191
+
192
+ - **Message Filtering**: Timestamp-based filtering ensures only new messages shown after user sends message
193
+ - **Session Isolation**: Each sandbox test creates unique persona with GUID to prevent state interference
194
+ - **Polling Strategy**: 1-second intervals with 60-second max wait for agent responses
195
+ - **Error Handling**: Graceful degradation with timeout messages and continuation guidance
196
+ - **Debug Modes**: Standard (condensed) and verbose (detailed) debug information display
197
+ - **Quiet Mode**: Minimal output perfect for shell scripts and CI/CD integration
198
+
199
+ ### Example Usage
200
+
201
+ ```bash
202
+ # Start new conversation
203
+ newo sandbox "Hello, I want to order pizza"
204
+
205
+ # Continue conversation with actor ID from previous response
206
+ newo sandbox --actor abc123... "I want 2 large pepperoni pizzas"
207
+
208
+ # Verbose mode for debugging
209
+ newo sandbox "Test message" --verbose
210
+
211
+ # Quiet mode for automation
212
+ newo sandbox "Test query" --quiet
213
+ ```
214
+
215
+ ## [3.0.0] - 2025-09-29
216
+
217
+ ### Added
218
+
219
+ - **Entity Creation Commands**: 12 new commands for creating NEWO entities locally
220
+ - `newo create-project <idn>` - Create new projects on platform
221
+ - `newo create-persona <name>` - Create agent personas
222
+ - `newo create-attribute <idn>` - Create customer attributes
223
+ - `newo create-agent <idn> --project <pid>` - Create agents locally with metadata
224
+ - `newo create-flow <idn> --agent <aid>` - Create flows with guidance/NSL runner selection
225
+ - `newo create-skill <idn> --flow <fid>` - Create skills with script content initialization
226
+ - `newo create-event <idn> --flow <fid>` - Create flow events for integrations
227
+ - `newo create-state <idn> --flow <fid>` - Create flow state fields (user/flow/global scope)
228
+ - `newo create-parameter <name> --skill <sid>` - Create skill parameters
229
+ - **Entity Deletion Commands**: 3 new commands with confirmation flags
230
+ - `newo delete-agent <aid> --confirm` - Delete agent locally
231
+ - `newo delete-flow <fid> --confirm` - Delete flow locally
232
+ - `newo delete-skill <sid> --confirm` - Delete skill locally
233
+ - **API Integrations**: 19 new endpoints for entity creation, deletion, and publishing
234
+ - **Documentation**: Entity Management Commands section with workflows and examples (+146 lines)
235
+ - **TypeScript Types**: 19 new type definitions for entity operations
236
+
237
+ ### Changed
238
+
239
+ - **Push Command**: Now automatically detects and creates local-only entities on platform
240
+ - Filesystem scanning for entities not yet in project map
241
+ - Creates missing entities in correct hierarchical order (agent → flow → skill)
242
+ - Publishes flows after creation
243
+ - **Status Command**: Enhanced with comprehensive change detection
244
+ - Scans for local-only entities not yet on platform
245
+ - Reports new agents/flows/skills awaiting sync
246
+ - Hierarchical display of project structure
247
+ - **Architecture**: Added 14 new command modules in src/cli/commands/
248
+ - **Push Module**: Enhanced with local-only entity scanning (~418 lines)
249
+ - **Status Module**: Enhanced with entity detection (~184 lines)
250
+
251
+ ## [2.0.6] - 2025-09-18
252
+
253
+ ### Changed
254
+
255
+ - Implement proper LCS-based diff algorithm for accurate change detection
256
+ - Clean, accurate differences with proper line matching
257
+ - Improved algorithm eliminates false positives and shows precise modifications
258
+
259
+ ## [2.0.5] - 2025-09-18
260
+
261
+ ### Fixed
262
+
263
+ - Correct diff algorithm to show clean, accurate differences
264
+ - Improved change detection with proper context preservation
265
+
266
+ ## [2.0.4] - 2025-09-18
267
+
268
+ ### Changed
269
+
270
+ - Implement exact GitHub diff format with proper context lines
271
+ - GitHub-style diff with background colors and context
272
+ - Enhanced diff display with line numbers and clearer messaging
273
+
274
+ ## [2.0.3] - 2025-09-18
275
+
276
+ ### Changed
277
+
278
+ - Improve diff display with line numbers and clearer messaging
279
+ - Better visual distinction for changes with colored output
280
+
281
+ ## [2.0.2] - 2025-09-18
282
+
283
+ ### Added
284
+
285
+ - GitHub-style colored diff display for overwrite prompts
286
+ - Enhanced diff visualization with colors and formatting
287
+
288
+ ## [2.0.1] - 2025-09-18
289
+
290
+ ### Fixed
291
+
292
+ - Improve overwrite handling with proper 'all' option support
293
+ - Better handling of batch overwrite operations
131
294
 
132
295
  ## [1.9.3] - 2025-09-17
133
296
 
134
- ### 🏗️ Major Architecture Refactoring
297
+ ### Changed
135
298
 
136
- **CLI Module Restructuring:**
137
299
  - **BREAKING**: Main CLI entry point moved from `dist/cli.js` to `dist/cli/index.js`
138
- - Split monolithic 500+ line `cli.ts` into focused modules:
300
+ - Split monolithic 500+ line `cli.ts` into focused modules
139
301
  - `cli/index.ts` - Main entry point and command routing
140
- - `cli/errors.ts` - Centralized error handling with user-friendly messages
141
- - `cli/customer-selection.ts` - Customer management and selection logic
142
- - `cli/commands/` - Individual command handlers (pull, push, status, conversations, etc.)
143
-
144
- **Sync Module Restructuring:**
145
- - Extracted key functions from 1400+ line `sync.ts` into focused modules:
302
+ - `cli/errors.ts` - Centralized error handling
303
+ - `cli/customer-selection.ts` - Customer management logic
304
+ - `cli/commands/` - Individual command handlers
305
+ - Extracted key functions from 1400+ line `sync.ts` into focused modules
146
306
  - `sync/attributes.ts` - Customer attributes synchronization
147
307
  - `sync/conversations.ts` - Conversation history management
148
308
  - `sync/status.ts` - File status checking and change detection
149
309
  - `sync/index.ts` - Unified exports with backward compatibility
150
-
151
- **Testing Infrastructure:**
152
- - Fixed all test imports to use compiled JavaScript from `dist/` directory
153
- - Converted test utilities from CommonJS to ES modules
154
- - Improved test isolation and ES module compatibility
155
-
156
- ### 🔧 Technical Improvements
157
- - **Maintainability**: Single-responsibility modules with clear interfaces
158
- - **Testability**: Each module can be tested independently with clear dependencies
159
- - **Readability**: Focused modules replace hard-to-navigate monolithic files
160
- - **Extensibility**: Easy to add new commands and sync operations
161
- - **Type Safety**: Enhanced TypeScript compilation with zero errors
162
-
163
- ### 📚 Documentation Updates
164
310
  - Updated CLAUDE.md with new modular architecture documentation
165
- - Added comprehensive module descriptions and benefits
166
- - Updated development patterns for the new structure
167
-
168
- ## [2.0.0] - 2025-09-17
169
-
170
- ### 🚀 Major Release: Professional Modular Architecture
171
-
172
- **BREAKING CHANGES**
173
- - **IDN-Based File Naming**: Skills now saved as `{skillIdn}.jinja/.guidance` instead of `skill.jinja/.guidance`
174
- - **Automatic Migration**: Existing files automatically renamed to IDN format during pull
175
- - **Enhanced File Validation**: Multiple script files per skill now generate warnings and block push operations
176
311
 
177
- ### 🏗️ Complete Architecture Refactoring
312
+ ### Fixed
178
313
 
179
- **CLI Module Restructuring:**
180
- - **Entry Point**: `src/cli.ts` (124 lines) - Clean main entry using modular imports
181
- - **Error Handling**: `src/cli/errors.ts` - Centralized error management with user-friendly messages
182
- - **Customer Management**: `src/cli/customer-selection.ts` - Reusable customer selection logic
183
- - **Command Handlers**: `src/cli/commands/` - Individual handlers for all commands
314
+ - Test imports to use compiled JavaScript from `dist/` directory
315
+ - Test utilities converted from CommonJS to ES modules
316
+ - Improved test isolation and ES module compatibility
184
317
 
185
- **Sync Module Restructuring:**
186
- - **Entry Point**: `src/sync.ts` (13 lines) - Unified exports with re-exports
187
- - **Projects**: `src/sync/projects.ts` - Project sync with progress tracking and IDN naming
188
- - **Push Operations**: `src/sync/push.ts` - File validation and upload with multiple file detection
189
- - **Status Checking**: `src/sync/status.ts` - Change detection with file validation warnings
190
- - **Attributes**: `src/sync/attributes.ts` - Customer attributes synchronization
191
- - **Conversations**: `src/sync/conversations.ts` - Conversation history management
192
- - **Metadata**: `src/sync/metadata.ts` - flows.yaml generation (clean, no prompt_script)
193
- - **File Utilities**: `src/sync/skill-files.ts` - IDN-based naming and validation
318
+ ## [2.0.0] - 2025-09-17
194
319
 
195
- ### 🎯 Enhanced User Experience
320
+ ### Added
196
321
 
197
- **Progress Tracking:**
322
+ - IDN-based skill file naming for easy identification
198
323
  - Real-time progress display during large operations (966+ skills)
199
324
  - Percentage completion with skill counts
200
- - Clean progress updates every 10 processed skills
201
- - Clear completion confirmations
325
+ - Multiple file detection with clear warnings
326
+ - Force mode with `--force/-f` flag for silent operations
327
+ - Complete metadata.yaml hierarchy at all levels
328
+
329
+ ### Changed
202
330
 
203
- **IDN-Based File Management:**
204
- - Skills named after their IDN for easy identification
331
+ - **BREAKING**: Skills now saved as `{skillIdn}.jinja/.guidance` instead of `skill.jinja/.guidance`
332
+ - **BREAKING**: Existing files automatically renamed to IDN format during pull
333
+ - Refactored CLI module structure
334
+ - `src/cli.ts` (124 lines) - Clean main entry using modular imports
335
+ - `src/cli/errors.ts` - Centralized error management
336
+ - `src/cli/customer-selection.ts` - Reusable customer selection logic
337
+ - `src/cli/commands/` - Individual handlers for all commands
338
+ - Refactored sync module structure
339
+ - `src/sync.ts` (13 lines) - Unified exports with re-exports
340
+ - `src/sync/projects.ts` - Project sync with progress tracking
341
+ - `src/sync/push.ts` - File validation and upload
342
+ - `src/sync/status.ts` - Change detection with file validation
343
+ - `src/sync/attributes.ts` - Customer attributes synchronization
344
+ - `src/sync/conversations.ts` - Conversation history management
345
+ - `src/sync/metadata.ts` - flows.yaml generation (removed prompt_script)
346
+ - `src/sync/skill-files.ts` - IDN-based naming and validation
205
347
  - Flexible file discovery (any .jinja/.guidance/.nsl file)
206
348
  - Smart overwrite detection (content-based, not filename-based)
207
- - Force mode with `--force/-f` flag for silent operations
349
+ - Complete hash coverage for flows.yaml and attributes.yaml
350
+ - Zero TypeScript compilation errors with strict typing
351
+ - Modular loading with reduced memory footprint
208
352
 
209
- **Enhanced Validation:**
210
- - Multiple file detection with clear warnings
211
- - Safe push operations that skip problematic skills
212
- - Actionable error messages with resolution guidance
213
- - Clean status display with file-level change detection
353
+ ### Fixed
214
354
 
215
- ### 🔧 Technical Excellence
355
+ - False positive change detection
356
+ - Status now shows "Clean." immediately after pull operations
357
+ - Safe push operations that skip problematic skills with multiple files
216
358
 
217
- **Hash Consistency:**
218
- - Complete hash coverage for flows.yaml and attributes.yaml
219
- - No false positive change detection
220
- - Status shows "Clean." immediately after pull operations
221
- - Consistent hash tracking across all generated files
359
+ ## [1.9.2] - 2025-09-16
222
360
 
223
- **File Structure Optimization:**
224
- - flows.yaml cleanup (removed prompt_script content)
225
- - Automatic attributes.yaml generation during pull
226
- - Complete metadata.yaml hierarchy at all levels
227
- - IDN-based skill folder organization
361
+ ### Added
228
362
 
229
- **Performance & Quality:**
230
- - Zero TypeScript compilation errors with strict typing
231
- - Modular loading with reduced memory footprint
232
- - Efficient API calls and file operations
233
- - Professional error handling and user guidance
234
-
235
- ### 📚 Comprehensive Testing Results
236
-
237
- **All Functions Validated:**
238
- - ✅ Pull: 966/944 skills processed with perfect progress tracking
239
- - ✅ Status: Accurate change detection and clean state validation
240
- - ✅ Push: Successful uploads with smart file validation
241
- - ✅ Multi-customer: Independent customer operations working correctly
242
- - ✅ Attributes: Automatic 230KB+ attributes.yaml generation
243
- - ✅ Conversations: Working conversation history extraction
244
- - ✅ AKB Import: Proper parsing and validation (2 articles parsed)
245
- - ✅ Error Handling: Clear, actionable messages for all scenarios
246
- - ✅ File Validation: Multiple file warnings and safe skipping
363
+ - Max pages limit (50 pages = 5000 acts per persona) to prevent infinite pagination
364
+ - Verbose logging for pagination progress
247
365
 
248
- ## [1.9.2] - 2025-09-16
366
+ ### Changed
367
+
368
+ - Skip personas without newo_voice actors immediately for better performance
369
+ - Optimized control flow to prevent hanging during large conversation extraction
249
370
 
250
371
  ### Fixed
251
- - **Pagination Safety**: Prevent infinite loops and hanging during conversation processing
252
- - Added max pages limit (50 pages = 5000 acts per persona) to prevent infinite pagination
253
- - Improved persona filtering for voice actors to avoid unnecessary API calls
254
- - Better error handling and verbose logging for debugging conversation processing
255
- - Graceful handling of personas without voice actors (adds with empty acts array)
256
372
 
257
- ### Enhanced
258
- - **Performance Optimization**: Faster conversation processing with early exits
259
- - Skip personas without newo_voice actors immediately
260
- - Clear verbose logging for pagination progress
261
- - Optimized control flow to prevent hanging during large conversation extraction
373
+ - Infinite loops during conversation processing
374
+ - Improved persona filtering for voice actors
375
+ - Graceful handling of personas without voice actors
262
376
 
263
377
  ## [1.9.1] - 2025-09-16
264
378
 
265
- ### Fixed
266
- - **Clean Chat History Implementation**: Remove conversations acts API fallback entirely
267
- - Eliminates all 403 "Invalid token or account_id field missing" errors
268
- - Uses only `/api/v1/chat/history` endpoint which works with current API keys
269
- - Removed unused `getConversationActs()` function and related types
270
- - Clean implementation without permission-dependent fallbacks
271
-
272
379
  ### Removed
273
- - **Obsolete Code Cleanup**: Remove unused conversation acts API components
274
- - `getConversationActs()` function (unused after chat history integration)
275
- - `ConversationActsParams` and `ConversationActsResponse` interfaces
276
- - Fallback logic that caused 403 errors for personas without proper permissions
380
+
381
+ - Conversations acts API fallback (eliminates 403 errors)
382
+ - `getConversationActs()` function (unused after chat history integration)
383
+ - `ConversationActsParams` and `ConversationActsResponse` interfaces
384
+ - Fallback logic that caused 403 errors for personas without proper permissions
385
+
386
+ ### Changed
387
+
388
+ - Use only `/api/v1/chat/history` endpoint which works with current API keys
277
389
 
278
390
  ## [1.9.0] - 2025-09-16
279
391
 
280
392
  ### Added
281
- - **User Conversations Pull Functionality**: Complete conversation history extraction
282
- - New `newo conversations` command to download user conversations and personas
283
- - Multi-customer conversation support with `--customer <idn>` flag
284
- - Chat History API integration (`/api/v1/chat/history`) with fallback to conversations acts API
285
- - Automatic phone number extraction from persona actors
286
- - Comprehensive pagination handling for large conversation datasets
287
- - Clean YAML output format in `newo_customers/{customerIdn}/conversations.yaml`
288
393
 
289
- ### Enhanced
290
- - **Conversation Data Processing**: Optimized structure and chronological ordering
291
- - Acts sorted by datetime ascending (chronological conversation flow)
292
- - Personas sorted by most recent activity (descending)
293
- - Redundant fields removed (`is_agent`, `session_id: unknown`, etc.)
294
- - Clean persona structure: `id` `name` → `phone` → `act_count` → `acts`
295
- - Proper datetime extraction from chat history API responses
296
-
297
- ### Technical
298
- - **New API Functions**: Type-safe conversation API integration
394
+ - `newo conversations` command to download user conversations and personas
395
+ - Multi-customer conversation support with `--customer <idn>` flag
396
+ - Chat History API integration (`/api/v1/chat/history`) with fallback support
397
+ - Automatic phone number extraction from persona actors
398
+ - Comprehensive pagination handling for large conversation datasets
399
+ - Clean YAML output format in `newo_customers/{customerIdn}/conversations.yaml`
400
+ - Type-safe conversation API integration
299
401
  - `listUserPersonas()` - Get all user personas with pagination
300
402
  - `getChatHistory()` - Get conversation history for user actors
301
403
  - `getConversationActs()` - Fallback for accounts with proper permissions
302
404
  - `pullConversations()` - Complete conversation sync orchestration
303
- - **NPM Scripts**: Added convenient conversation commands
304
- - `npm run conversations` - Build and pull conversations
305
- - `npm run conversations:all` - Legacy alias for compatibility
405
+ - NPM scripts: `npm run conversations` and `npm run conversations:all`
406
+
407
+ ### Changed
408
+
409
+ - Acts sorted by datetime ascending (chronological conversation flow)
410
+ - Personas sorted by most recent activity (descending)
411
+ - Clean persona structure: `id` → `name` → `phone` → `act_count` → `acts`
412
+ - Parallel API calls with concurrency limiting (p-limit)
413
+ - Graceful error handling with persona-level fault tolerance
306
414
 
307
- ### Performance
308
- - **Concurrent Processing**: Efficient conversation data extraction
309
- - Parallel API calls with concurrency limiting (p-limit)
310
- - Graceful error handling with persona-level fault tolerance
311
- - No artificial limits on personas or acts (loads all available data)
312
- - Multi-customer support with authentication reuse
415
+ ### Removed
416
+
417
+ - Redundant fields (`is_agent`, `session_id: unknown`, etc.)
313
418
 
314
419
  ## [1.8.0] - 2025-09-15
315
420
 
316
421
  ### Added
317
- - **Complete Metadata Change Tracking**: Comprehensive metadata.yaml file synchronization
318
- - All metadata.yaml files now tracked with hash-based change detection
319
- - Status command shows detailed metadata changes (title, runner_type, model)
320
- - Push command automatically updates skills when metadata changes
321
- - flows.yaml automatically regenerated when metadata changes detected
322
- - Preserves flows.yaml format consistency with backup/comparison system
323
422
 
324
- ### Enhanced
325
- - **Comprehensive File Synchronization**: All NEWO workspace files fully tracked
326
- - Skills: .guidance and .jinja script files with hash tracking ✓
327
- - Metadata: metadata.yaml files with skill updates + flows.yaml regeneration ✓
328
- - Attributes: attributes.yaml with diff-based sync for 233 customer attributes ✓
329
- - Flows: flows.yaml with automatic regeneration and format preservation ✓
330
- - Multi-customer: All file types synchronized across multiple customer workspaces ✓
331
-
332
- ### Technical
333
- - **flows.yaml Regeneration**: Automatic regeneration pipeline when metadata changes
334
- - Creates backup before regeneration for format comparison
335
- - Re-fetches project data to ensure accuracy
336
- - Updates hash tracking for regenerated flows.yaml
337
- - Maintains consistent YAML format structure
423
+ - Complete metadata.yaml file synchronization with hash-based change detection
424
+ - Status command shows detailed metadata changes (title, runner_type, model)
425
+ - Push command automatically updates skills when metadata changes
426
+ - Automatic flows.yaml regeneration when metadata changes detected
427
+ - flows.yaml backup/comparison system for format preservation
428
+
429
+ ### Changed
430
+
431
+ - All NEWO workspace files fully tracked
432
+ - Skills: .guidance and .jinja script files with hash tracking
433
+ - Metadata: metadata.yaml files with skill updates + flows.yaml regeneration
434
+ - Attributes: attributes.yaml with diff-based sync for 233 customer attributes
435
+ - Flows: flows.yaml with automatic regeneration and format preservation
436
+ - Multi-customer: All file types synchronized across multiple customer workspaces
437
+ - Automatic regeneration pipeline creates backup before regeneration
438
+ - Re-fetches project data to ensure accuracy
439
+ - Maintains consistent YAML format structure
338
440
 
339
441
  ## [1.7.3] - 2025-09-15
340
442
 
341
443
  ### Added
342
- - **Complete Attributes Change Tracking**: Full hash-based change detection for customer attributes
343
- - Attributes.yaml files now included in hash tracking during pull operations
344
- - Status command detects and reports modifications to attributes.yaml files
345
- - Push command detects and handles attributes changes with proper synchronization
346
- - Comprehensive workflow: modify → status shows change → push applies change → status shows clean
347
444
 
348
- ### Enhanced
349
- - **File Synchronization Scope**: Extended to cover all file types in NEWO workspace
350
- - Skills: .guidance and .jinja files with full hash tracking ✓
351
- - Attributes: customer attributes.yaml with change detection ✓
352
- - Metadata: flows.yaml and metadata.yaml files tracked ✓
353
- - Multi-customer: all file types synchronized across multiple customers ✓
445
+ - Full hash-based change detection for customer attributes
446
+ - Attributes.yaml files included in hash tracking during pull operations
447
+ - Status command detects and reports modifications to attributes.yaml files
448
+ - Push command handles attributes changes with proper synchronization
449
+
450
+ ### Changed
451
+
452
+ - Extended file synchronization scope to all NEWO workspace file types
453
+ - Skills: .guidance and .jinja files with full hash tracking
454
+ - Attributes: customer attributes.yaml with change detection
455
+ - Metadata: flows.yaml and metadata.yaml files tracked
456
+ - Multi-customer: all file types synchronized across multiple customers
354
457
 
355
458
  ## [1.7.2] - 2025-09-15
356
459
 
460
+ ### Added
461
+
462
+ - `attributes.yaml` file tracking with modification times and sizes
463
+ - `flows.yaml` file tracking and statistics
464
+ - Comprehensive file monitoring across entire project structure
465
+
357
466
  ### Fixed
358
- - **YAML Enum Parsing**: Fixed attributes push check error with `!enum` format
359
- - Changed from YAML parsing to file stats for change detection
360
- - Prevents parsing errors with custom enum format in attributes.yaml
361
- - Maintains functionality while avoiding format conflicts
362
467
 
363
- ### Enhanced
364
- - **Status Command Scope**: Extended status checking to include all file types
365
- - Now tracks `attributes.yaml` files with modification times and sizes
366
- - Added `flows.yaml` file tracking and statistics
367
- - Comprehensive file monitoring across entire project structure
368
- - Better visibility into all managed files
468
+ - Attributes push check error with `!enum` format
469
+ - Changed from YAML parsing to file stats for change detection
470
+ - Prevents parsing errors with custom enum format in attributes.yaml
369
471
 
370
472
  ## [1.7.1] - 2025-09-15
371
473
 
372
- ### Enhanced
373
- - **Multi-Customer Commands**: Improved user experience for multi-customer operations
374
- - `newo status` now automatically checks all customers when no default is specified
375
- - `newo push` provides interactive customer selection dialog when multiple customers exist
376
- - No more error messages for commands that support multi-customer operations
377
- - Better user guidance with clear options for customer selection
474
+ ### Changed
475
+
476
+ - `newo status` now automatically checks all customers when no default is specified
477
+ - `newo push` provides interactive customer selection dialog when multiple customers exist
478
+ - Moved customer selection logic into command-specific handlers
479
+ - Each command now handles customer selection appropriately
378
480
 
379
481
  ### Fixed
380
- - **Command Flow**: Moved customer selection logic into command-specific handlers
381
- - Prevents early exit errors for multi-customer operations
382
- - Each command now handles customer selection appropriately
383
- - Maintains backward compatibility with single-customer setups
482
+
483
+ - Early exit errors for multi-customer operations
484
+ - Maintains backward compatibility with single-customer setups
384
485
 
385
486
  ## [1.7.0] - 2025-09-15
386
487
 
387
488
  ### Added
388
- - **Customer Attributes Synchronization**: Complete pull/push functionality for customer attributes
389
- - `GET /api/v1/bff/customer/attributes?include_hidden=true` - Fetches all 233 customer attributes including hidden system attributes
390
- - `PUT /api/v1/customer/attributes/{attributeId}` - Updates individual customer attributes
391
- - Saves to `newo_customers/{customerIdn}/attributes.yaml` in customer root directory
392
- - YAML format matches reference specification exactly with literal blocks, enum types, and proper multi-line formatting
393
- - Separate ID mapping stored in `.newo/{customerIdn}/attributes-map.json` for push operations
394
- - Integrated into existing `pull` and `push` commands seamlessly
395
- - Full TypeScript type safety with `CustomerAttribute` and `CustomerAttributesResponse` interfaces
396
489
 
397
- ### Enhanced
398
- - **YAML Format Compliance**: Perfect format matching with reference files
490
+ - Complete pull/push functionality for customer attributes
491
+ - `GET /api/v1/bff/customer/attributes?include_hidden=true` endpoint integration (fetches 233 attributes)
492
+ - `PUT /api/v1/customer/attributes/{attributeId}` endpoint integration
493
+ - Saves to `newo_customers/{customerIdn}/attributes.yaml` in customer root directory
494
+ - YAML format with literal blocks, enum types, and proper multi-line formatting
495
+ - Separate ID mapping in `.newo/{customerIdn}/attributes-map.json` for push operations
496
+ - Full TypeScript type safety with `CustomerAttribute` and `CustomerAttributesResponse` interfaces
497
+ - API layer functions: `updateCustomerAttribute()` and enhanced `getCustomerAttributes()`
498
+ - File system utilities: `customerAttributesPath()` and `customerAttributesMapPath()`
499
+
500
+ ### Changed
501
+
502
+ - Integrated attributes handling into existing `pull` and `push` commands
503
+ - YAML format compliance with reference specification
399
504
  - Literal block scalars (`|-`) for multi-line strings
400
505
  - Proper enum format (`!enum "AttributeValueTypes.string"`)
401
506
  - Complex JSON string formatting with proper line breaks
402
- - No escaped quotes in output for better readability
403
- - **Metadata Generation**: Removed legacy JSON metadata files, YAML-only approach
404
- - Eliminates redundant `metadata.json` files
405
- - Cleaner file structure with single source of truth
406
- - Improved performance with fewer file operations
407
-
408
- ### Technical
409
- - **API Layer**: Added `updateCustomerAttribute()` and enhanced `getCustomerAttributes()` with `includeHidden` parameter
410
- - **Sync Engine**: Integrated attributes handling into `pullAll()` and `pushChanged()` functions
411
- - **File System**: Added `customerAttributesPath()` and `customerAttributesMapPath()` utilities
412
- - **Type Safety**: Extended type definitions with proper customer attribute interfaces
413
- - **Error Handling**: Comprehensive error handling for attributes operations with graceful fallbacks
507
+ - No escaped quotes in output
508
+
509
+ ### Removed
510
+
511
+ - Legacy JSON metadata files (YAML-only approach)
512
+ - Redundant `metadata.json` files
414
513
 
415
514
  ## [1.6.1] - 2025-09-13
416
515
 
516
+ ### Added
517
+
518
+ - `"type": "module"` to package.json for proper ES module handling
519
+
417
520
  ### Fixed
418
- - **YAML Enum Formatting**: Fixed enum formatting in `flows.yaml` generation to properly handle NEWO enum types
419
- - Corrected enum value serialization from quoted strings to proper YAML enum format
420
- - Fixed issue where enum values like `!enum "RunnerType.guidance"` were incorrectly quoted
421
- - Ensures generated `flows.yaml` files are properly formatted for NEWO platform consumption
422
521
 
423
- ### Enhanced
424
- - **ES Module Support**: Added `"type": "module"` to package.json for proper ES module handling
425
- - Resolves Node.js warnings about module type detection
426
- - Improves performance by eliminating module type guessing
427
- - Ensures consistent ES module behavior across all environments
522
+ - Enum formatting in `flows.yaml` generation for NEWO enum types
523
+ - Enum value serialization from quoted strings to proper YAML enum format
524
+ - Issue where enum values like `!enum "RunnerType.guidance"` were incorrectly quoted
428
525
 
429
526
  ## [1.6.0] - 2025-09-13
430
527
 
@@ -476,7 +573,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
476
573
  - **Professional Infrastructure**: Industry-standard publishing pipeline with version management
477
574
  - **Quality Gates**: Automated validation before publishing (TypeScript, linting, building, package validation)
478
575
 
479
- ## [1.5.2] - 2025-01-15
576
+ ## [1.5.2] - 2025-09-04
480
577
 
481
578
  ### Enhanced
482
579
  - **Documentation Overhaul**: Complete README restructuring with professional presentation
@@ -506,7 +603,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
506
603
  - **Clear Navigation**: Improved documentation structure with proper sectioning and examples
507
604
  - **Enhanced Onboarding**: Comprehensive quick-start guide and configuration examples
508
605
 
509
- ## [1.5.1] - 2025-01-14
606
+ ## [1.5.1] - 2025-09-03
510
607
 
511
608
  ### Added
512
609
  - **Comprehensive Test Coverage**: Added extensive test suites for all major modules
@@ -729,10 +826,41 @@ Another Item: $Price [Modifiers: modifier3]
729
826
  ## [1.2.1] - Previous Release
730
827
 
731
828
  ### Added
829
+
732
830
  - Initial NEWO CLI functionality
733
831
  - Two-way sync between NEWO platform and local files
734
832
  - Support for .guidance and .jinja file types
735
833
  - SHA256-based change detection
736
834
  - Project structure export to flows.yaml
737
835
  - GitHub Actions CI/CD integration
738
- - Robust authentication with token refresh
836
+ - Robust authentication with token refresh
837
+
838
+ [Unreleased]: https://github.com/sabbah13/newo-cli/compare/v3.2.0...HEAD
839
+ [3.2.0]: https://github.com/sabbah13/newo-cli/compare/v3.1.0...v3.2.0
840
+ [3.1.0]: https://github.com/sabbah13/newo-cli/compare/v3.0.0...v3.1.0
841
+ [3.0.0]: https://github.com/sabbah13/newo-cli/compare/v2.0.6...v3.0.0
842
+ [2.0.6]: https://github.com/sabbah13/newo-cli/compare/v2.0.5...v2.0.6
843
+ [2.0.5]: https://github.com/sabbah13/newo-cli/compare/v2.0.4...v2.0.5
844
+ [2.0.4]: https://github.com/sabbah13/newo-cli/compare/v2.0.3...v2.0.4
845
+ [2.0.3]: https://github.com/sabbah13/newo-cli/compare/v2.0.2...v2.0.3
846
+ [2.0.2]: https://github.com/sabbah13/newo-cli/compare/v2.0.1...v2.0.2
847
+ [2.0.1]: https://github.com/sabbah13/newo-cli/compare/v2.0.0...v2.0.1
848
+ [2.0.0]: https://github.com/sabbah13/newo-cli/compare/v1.8.0...v2.0.0
849
+ [1.9.3]: https://github.com/sabbah13/newo-cli/compare/v1.9.2...v1.9.3
850
+ [1.9.2]: https://github.com/sabbah13/newo-cli/compare/v1.9.1...v1.9.2
851
+ [1.9.1]: https://github.com/sabbah13/newo-cli/compare/v1.9.0...v1.9.1
852
+ [1.9.0]: https://github.com/sabbah13/newo-cli/compare/v1.8.0...v1.9.0
853
+ [1.8.0]: https://github.com/sabbah13/newo-cli/compare/v1.7.0...v1.8.0
854
+ [1.7.3]: https://github.com/sabbah13/newo-cli/compare/v1.7.2...v1.7.3
855
+ [1.7.2]: https://github.com/sabbah13/newo-cli/compare/v1.7.1...v1.7.2
856
+ [1.7.1]: https://github.com/sabbah13/newo-cli/compare/v1.7.0...v1.7.1
857
+ [1.7.0]: https://github.com/sabbah13/newo-cli/compare/v1.6.1...v1.7.0
858
+ [1.6.1]: https://github.com/sabbah13/newo-cli/compare/v1.6.0...v1.6.1
859
+ [1.6.0]: https://github.com/sabbah13/newo-cli/compare/v1.5.1...v1.6.0
860
+ [1.5.2]: https://github.com/sabbah13/newo-cli/compare/v1.5.1...v1.5.2
861
+ [1.5.1]: https://github.com/sabbah13/newo-cli/compare/v1.5.0...v1.5.1
862
+ [1.5.0]: https://github.com/sabbah13/newo-cli/compare/v1.4.0...v1.5.0
863
+ [1.4.0]: https://github.com/sabbah13/newo-cli/compare/v1.2.1...v1.4.0
864
+ [1.3.0]: https://github.com/sabbah13/newo-cli/compare/v1.2.1...v1.3.0
865
+ [1.2.2]: https://github.com/sabbah13/newo-cli/compare/v1.2.1...v1.2.2
866
+ [1.2.1]: https://github.com/sabbah13/newo-cli/releases/tag/v1.2.1